TWI859855B - 橋接裝置及指令與資料轉移方法 - Google Patents
橋接裝置及指令與資料轉移方法 Download PDFInfo
- Publication number
- TWI859855B TWI859855B TW112117768A TW112117768A TWI859855B TW I859855 B TWI859855 B TW I859855B TW 112117768 A TW112117768 A TW 112117768A TW 112117768 A TW112117768 A TW 112117768A TW I859855 B TWI859855 B TW I859855B
- Authority
- TW
- Taiwan
- Prior art keywords
- transmission interface
- data
- transfer
- memory
- bridge
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4027—Coupling between buses using bus bridges
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/382—Information transfer, e.g. on bus using universal interface adapter
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Information Transfer Systems (AREA)
- Bus Control (AREA)
Abstract
一種橋接裝置,用以橋接一主機裝置與一資料儲存裝置,包括一第一控制器與一第二控制器。第一控制器包括一第一傳輸介面。第二控制器耦接第一控制器,包括一第二傳輸介面。第二傳輸介面透過一匯流排耦接第一傳輸介面。第一傳輸介面運作於一從模式,第二傳輸介面運作於一主模式,第一傳輸介面與第二傳輸介面以一共同橋接轉移格式產生複數轉移資料組塊,以執行雙向之轉移操作,用以將一指令與資料傳遞於主機裝置與資料儲存裝置之間。
Description
本發明係關於一種記憶體控制器之間的指令與資料轉移方法,尤指一種結合多個記憶體控制器的橋接裝置,藉由記憶體控制器之間的指令與資料轉移輔助一主機裝置存取資料儲存裝置,且使橋接裝置具備向後相容(backward compatible)的特性。
隨著資料儲存裝置的科技在近幾年快速地成長,許多資料儲存裝置,如符合安全數位(Secure Digital,縮寫為SD)/多媒體卡(Multi Media Card,縮寫為MMC)規格、複合式快閃記憶體(Compact flash,縮寫為CF)規格、記憶條(Memory Stick,縮寫為MS)規格與極數位(Extreme Digital,縮寫為XD)規格的記憶卡、固態硬碟(Solid State Disk,縮寫SSD)、嵌入式多媒體記憶卡(embedded Multi Media Card,縮寫為eMMC)以及通用快閃記憶體儲存(Universal Flash Storage,縮寫為UFS)已經廣泛地被應用在多種用途上。
一般而言,一主機裝置需透過符合規格的傳輸介面才能存取資料儲存裝置。若主機裝置本身不具有可支援資料儲存裝置之規格的傳輸介面,則必須透過特定的橋接裝置才能存取資料儲存裝置。然而,為了提高效能並節省成本,資料儲存裝置通常會隨著製程或規格的演進而採用最新的製程或最新的規格開發,但於此同時,未必存在著可支援最新製程或最新規格的橋接裝置,因
而產生主機裝置無法透過既有的橋接裝置存取或驗證最新開發的資料儲存裝置的問題。
為解決此問題,需要一種可結合以不同製程或規格製作之高速傳輸介面的橋接裝置,以輔助主機裝置存取資料儲存裝置,並且使橋接裝置具備向後相容(backward compatible)的特性。
根據本發明之一實施例,一種橋接裝置,用以橋接一主機裝置與一資料儲存裝置,包括一第一控制器與一第二控制器。第一控制器包括一第一傳輸介面。第二控制器耦接第一控制器,包括一第二傳輸介面,透過一匯流排耦接第一傳輸介面。第一傳輸介面運作於一從模式,第二傳輸介面運作於一主模式,第一傳輸介面與第二傳輸介面以一共同橋接轉移格式產生複數轉移資料組塊,以執行雙向之轉移操作,用以將一指令與資料傳遞於主機裝置與資料儲存裝置之間。
根據本發明之一實施例,一種指令與資料轉移方法,用以於一主機裝置與一資料儲存裝置之間執行雙向之轉移操作,包括:於一第一傳輸介面與一第二傳輸介面之間傳送以一共同橋接轉移格式產生之複數轉移資料組塊,其中第一傳輸介面為一第一記憶體控制器之一傳輸介面,第二傳輸介面為一第二記憶體控制器之一傳輸介面,第一傳輸介面運作於一從模式,第二傳輸介面運作於一主模式,並且其中於第一傳輸介面與第二傳輸介面之間傳送以共同橋接轉移格式產生之複數轉移資料組塊之步驟更包括:由第一傳輸介面自第二傳輸介面接收一第一轉移資料組塊,其中第一轉移資料組塊之一資料部分包括複數指令封包,複數指令封包之其中一者為一第一橋接指令與一第一記憶體指令的一個組合;由第一傳輸介面解析第一橋接指令並且取得第一記憶體指令;以及
由第一傳輸介面將第一記憶體指令提供給資料儲存裝置。
100,200,300,400:資料儲存裝置
110,210:記憶體控制器
112:微處理器
112C:程式碼
112M:唯讀記憶體
114:記憶體介面
115,215,315,325,415,425:控制單元
116:緩衝記憶體
118:主機介面
120,220:記憶體裝置
130,330,430:主機裝置
132:編碼器
134:解碼器
214:快閃記憶體介面
218,413:UFS介面
310,320,410,420:控制器
350,450:橋接裝置
311,313,321,323,510,520:傳輸介面
360,370,460,470:匯流排
411,421,NFC:NAND型快閃記憶體控制器
423:PCIe介面
511:指令寄存器
512:位址寄存器
513:直接記憶體存取引擎
530:靜態隨機存取記憶體
1300:指令封包
ADD:位址訊號
ALE:位址鎖存致能訊號
Bridge_CMD:橋接指令
CLE:指令鎖存致能訊號
CMD,CMD[1],CMD[2],CMD[3],CMD[4],CMD[5],CMD[6],CMD[7],CMD[8]:指令
D0,D1,D2,Dn,DATA[1],DATA[2],DATA[3],DATA[4]:資料
DATA:資料部分
DC-1,DC-2,DC-3:轉移資料組塊
DQS:資料選通訊號
DQx:資料輸入/輸出訊號
Dummy:附加部分
RE#:讀取致能訊號
UFS_CMD:記憶體指令
WE:寫入致能訊號
第1圖係顯示根據本發明之一實施例所述之資料儲存裝置的方塊圖範例。
第2圖係顯示根據本發明之一實施例所述之資料儲存裝置的簡化方塊圖。
第3圖係顯示根據本發明之一實施例所述之資料儲存系統的範例方塊圖。
第4圖係顯示根據本發明之一實施例所述之資料儲存系統的一實施範例。
第5圖係顯示根據本發明之一實施例所述之於相互連接的兩個傳輸介面之間透過對應之匯流排所傳遞的控制訊號與資料的示意圖。
第6圖係顯示根據本發明之一實施例所述之於分屬於不同控制器之兩個傳輸介面之間執行的指令與資料轉移方法範例流程圖。
第7A圖係顯示出根據本發明之一實施例所述之於匯流排上的一個指令週期的訊號波形圖。
第7B圖係顯示出根據本發明之一實施例所述之於匯流排上的一個位址週期的訊號波形圖。
第8A圖係顯示出根據本發明之一實施例所述之於匯流排上的資料輸入週期的訊號波形圖。
第8B圖係顯示出根據本發明之一實施例所述之於匯流排上的資料輸出週期的訊號波形圖。
第9圖係顯示根據本發明之一實施例所述之利用橋接裝置於一主機裝置與一資料儲存裝置之間執行雙向之指令與資料轉移的方法流程圖。
第10圖係顯示根據本發明之一實施例所述之共同橋接轉移格式示意圖。
第11圖係顯示利用四個轉移資料組塊承載四筆資料的示意圖。
第12圖係顯示利用一個轉移資料組塊承載八筆指令的示意圖。
第13圖係顯示根據本發明之一實施例所述之一指令封包示意圖。
在下文中,描述了許多具體細節以提供對本發明實施例的透徹理解。然而,本領域技術人員仍將理解如何在缺少一個或多個具體細節或依賴於其他方法、元件或材料的情況下實施本發明。在其他情況下,未詳細示出或描述公知的結構、材料或操作,以避免模糊本發明的主要概念。
在整個說明書中對「一實施例」或「一範例」的引用意味著結合該實施例或範例所描述的特定特徵、結構或特性係包括於本發明之多個實施例的至少一個實施例中。因此,貫穿本說明書在各個地方出現的短語「於本發明之一實施例中」、「根據本發明之一實施例」、「於一範例中」或「根據本發明之一範例」不一定都指到相同的實施例或範例。此外,特定特徵、結構或特性可以在一個或多個實施例或範例中以任何合適的組合和/或子組合進行結合。
此外,為讓本發明之目的、特徵和優點能更明顯易懂,下文特舉出本發明之具體實施例,並配合所附圖式,作詳細說明如下。目的在於說明本發明之精神而非用以限定本發明之保護範圍,應理解下列實施例可經由軟體、硬體、韌體、或上述任意組合來實現。
第1圖係顯示根據本發明之一實施例所述之資料儲存裝置的方塊圖範例。資料儲存裝置100可包括一記憶體裝置120與一記憶體控制器110。記憶體控制器110用以存取(Access)記憶體裝置120及控制記憶體裝置120之運作。記憶體裝置120可為一非揮發性(non-volatile,縮寫為NV)記憶體裝置(例如,一快閃記憶體(flash memory)),並且可包括一或多個記憶元件(例如,一或多個快閃記憶體晶粒、一或多個快閃記憶體晶片、或其他類似元件)。
資料儲存裝置100可耦接至一主機裝置130。主機裝置130可至少包括一處理器、一電源電路、以及至少一隨機存取記憶體(Random Access Memory,縮寫為RAM),例如至少一動態隨機存取記憶體(Dynamic RAM,縮寫為DRAM)、至少一靜態隨機存取記憶體(Static RAM,縮寫為SRAM)等(以上未示於第1圖)。處理器與隨機存取記憶體可透過一匯流排彼此相互連接,並且可耦接至電源電路以取得電源。處理器可控制主機裝置130之運作。電源電路可將電源供應至處理器、隨機存取記憶體以及資料儲存裝置100,例如輸出一或多個驅動電壓至資料儲存裝置100。資料儲存裝置100可自主機裝置130取得所述驅動電壓作為資料儲存裝置100的電源,並且為主機裝置130提供儲存空間。
根據本發明之一實施例,記憶體控制器110可包括一微處理器112、一唯讀記憶體(Read Only Memory,縮寫為ROM)112M、一記憶體介面114、一緩衝記憶體116、與一主機介面118,其中微處理器112、唯讀記憶體112M以及緩衝記憶體116可組成記憶體控制器110的一控制單元115。唯讀記憶體112M係用以儲存程式碼112C。而微處理器112則用來執行程式碼112C以控制對記憶體裝置120之存取。程式碼112C可包括一或多個程式模組,例如啟動載入(boot loader)程式碼。當資料儲存裝置100自主機裝置130取得電源時,微處理器112可藉由執行程式碼112C執行資料儲存裝置100之一初始化程序。於初始化程序中,微處理器112可自記憶體裝置120載入一組系統內編程(In-System Programming,縮寫為ISP)程式碼(未示於第1圖)。微處理器112可執行該組系統內編程程式碼,使得資料儲存裝置100可具備各種功能。根據本發明之一實施例,該組系統內編程程式碼可包括,但不限於:一或多個與記憶體存取(例如,讀取、寫入與抹除)相關的程式模組,例如一讀取操作模組、一查找表格模組、一損耗均衡(wear leveling)模組、一讀取刷新(read refresh)模組、一讀取回收(read reclaim)模組、一垃圾回收模組、一非預期斷電恢復(Sudden Power Off Recovery,縮寫為SPOR)模組、以及一
不可更正錯誤更正碼(Uncorrectable Error Correction Code,縮寫為UECC)模組,其分別被提供用以執行對應之讀取、查找表格、損耗均衡、讀取刷新、讀取回收、垃圾回收、非預期斷電恢復以及對偵測到的UECC錯誤進行錯誤處理等操作。
記憶體介面114包含了一編碼器132以及一解碼器134,其中編碼器132用來對需被寫入記憶體裝置120的資料進行編碼,例如執行錯誤更正碼(ECC)編碼,而解碼器134用來對從記憶體裝置120所讀出的資料進行解碼。
於典型狀況下,記憶體裝置120包含了多個記憶元件,例如多個快閃記憶體晶粒或多個快閃記憶體晶片,各記憶元件可包含複數個記憶體區塊(Block)。記憶體控制器110對記憶體裝置120進行抹除資料運作係以區塊為單位來進行。另外,一記憶體區塊可記錄(包含)特定數量的資料頁(Page),例如,實體資料頁,其中記憶體控制器110對記憶體裝置120進行寫入資料之運作係以資料頁為單位來進行寫入。
實作上,記憶體控制器110可利用其本身內部之元件來進行諸多控制運作,例如:利用記憶體介面114來控制記憶體裝置120之存取運作(尤其是對至少一記憶體區塊或至少一資料頁之存取運作)、利用緩衝記憶體116進行所需之緩衝處理、以及利用主機介面118來與主機裝置130溝通。
在一實施例中,記憶體控制器110透過主機介面118並使用一標準通訊協定與主機裝置130溝通。舉例而言,上述之標準通訊協定包含(但不限於):通用序列匯流排(Universal Serial Bus,縮寫為USB)標準、SD介面標準、超高速一代(Ultra High Speed-I,縮寫為UHS-I)介面標準、超高速二代(Ultra High Speed-II,縮寫為UHS-II)介面標準、CF介面標準、MMC介面標準、eMMC介面標準、UFS介面標準、高技術組態(Advanced Technology Attachment,縮寫為ATA)標準、序列高技術組態(Serial ATA,縮寫為SATA)標準、快捷外設互聯標準(Peripheral Component Interconnect Express,縮寫為PCIe)標準、並列先進附件
(Parallel Advanced Technology Attachment,縮寫為PATA)標準等。
在一實施例中,緩衝記憶體116係以隨機存取記憶體來實施。例如,緩衝記憶體116可以是靜態隨機存取記憶體,但本發明亦不限於此。於其他實施例中,緩衝記憶體116可以是動態隨機存取記憶體。
在一實施例中,資料儲存裝置100可以是可攜式記憶體裝置(例如:符合SD/MMC、CF、MS、XD標準之記憶卡),且主機裝置130為一可與資料儲存裝置連接的電子裝置,例如手機、筆記型電腦、桌上型電腦...等等。而在另一實施例中,資料儲存裝置100可以是固態硬碟或符合UFS或eMMC規格之嵌入式儲存裝置,並且可被設置在一電子裝置中,例如設置在手機、筆記型電腦、桌上型電腦之中,而此時主機裝置130可以是該電子裝置的一處理器。
主機裝置130可對資料儲存裝置100發出指令,例如,讀取指令或寫入指令,用以存取記憶體裝置120所儲存之資料,或者主機裝置130可對資料儲存裝置100發出指令以進一步控制、管理資料儲存裝置100。
第2圖係顯示根據本發明之一實施例所述之資料儲存裝置的簡化方塊圖,其中記憶體控制器內部的元件可被簡化為主機介面、記憶體介面以及控制單元三個部分,以簡化後續段落之說明。如第2圖所示,資料儲存裝置200可包括一記憶體裝置220與一記憶體控制器210。記憶體控制器210用以存取(Access)記憶體裝置220及控制記憶體裝置220之運作。記憶體裝置220可為一非揮發性(NV)記憶體裝置,例如上述之快閃記憶體。
於本發明之一實施例中,記憶體裝置220為一NAND型快閃記憶體,且資料儲存裝置200可被實施為一UFS裝置。因此,於此實施例中,記憶體控制器210可包括一UFS介面218、一快閃記憶體介面214以及一控制單元215,其中UFS介面218為前述之主機介面,快閃記憶體介面214為前述之記憶體介面。控制單元215可如第1圖所示之包含微處理器、唯讀記憶體以及緩衝記憶體等元件。
控制單元215可透過UFS介面218並依循UFS通訊協定與一主機裝置(第2圖未示)溝通,並且控制單元215可透過快閃記憶體介面214存取記憶體裝置220。
如上所述,若一主機裝置配置了可支援資料儲存裝置100/200之規格(例如,上述之UFS通訊協定的規格)的傳輸介面,主機裝置可直接透過該傳輸介面存取資料儲存裝置100/200。若主機裝置本身未配置可支援資料儲存裝置100/200之規格的傳輸介面,則必須透過特定的橋接裝置才能存取資料儲存裝置100/200。
然而,當資料儲存裝置100/200隨著製程或規格的演進而採用最新的製程或最新的規格開發時,未必存在著可支援最新製程或最新規格的橋接裝置,或者橋接裝置可能無法同時包括以不同製程或規格製作之不同的高速傳輸介面,因而產生主機裝置無法透過既有的橋接裝置存取或驗證最新開發的資料儲存裝置100/200的問題。同樣地,當主機裝置配置了符合最新的規格傳輸介面時,未必能正確地存取未被配置符合最新規格傳輸介面的裝置。舉例而言,根據UFS規範的定義,UFS 3.1和UFS 3.0版本因為分別定義的描述符號(descriptor)的長度不同,所以無法互相相容,如果主機裝置是採用UFS 3.1規格的主機平台,對應的裝置就必須使用UFS3.1規格的韌體,否則會有相容性上的差異,導致主機裝置無法正確地對裝置做操作,反之亦然。
為解決此問題,本發明提出一種可結合以不同製程或規格製作之高速傳輸介面的橋接裝置,以輔助主機裝置存取資料儲存裝置,並且使橋接裝置具備向後相容(backward compatible)的特性。此外,本發明還提出一種應用於橋接裝置內部的指令與資料轉移方法,藉由結合於橋接裝置內部的記憶體控制器之間的指令與資料傳輸輔助一主機裝置存取資料儲存裝置。
第3圖係顯示根據本發明之一實施例所述之資料儲存系統的範例方塊圖。資料儲存系統可至少包括一資料儲存裝置300與一橋接裝置350,橋接裝
置350可耦接於資料儲存裝置300與主機裝置330之間,用以於資料儲存裝置300與主機裝置330之間執行雙向之轉移操作,用以將指令、資料與訊號傳遞於主機裝置330與資料儲存裝置300之間,以輔助主機裝置330存取資料儲存裝置300。
根據本發明之一實施例,橋接裝置350可包括控制器310與320。控制器310可包括傳輸介面311與313以及控制單元315。控制器320可包括傳輸介面321與323以及控制單元325。傳輸介面311、313、321與323分別依循對應之標準通訊協定與耦接的一裝置或一傳輸介面溝通,其中傳輸介面311耦接傳輸介面321,使控制器310與320可透過傳輸介面311與321溝通,而傳輸介面323用以與主機裝置330溝通,傳輸介面313用以與資料儲存裝置300溝通。控制單元315與325可藉由執行內建的程式碼使得控制器310與320可具備對應的功能,並且控制單元315與325可分別用以於兩傳輸介面311與313以及321與323之間依循對應之標準通訊協定控制訊號與封包的傳送與接收、處理欲傳送或接收到的訊號與封包、以及執行並控制訊號與封包的格式轉換,使得訊號與封包可以正確的資料格式透過對應的傳輸介面被傳送。
橋接裝置350可更包括匯流排360,匯流排360耦接於控制器310與320之間,用以連接傳輸介面311與321,使控制器310與320可透過傳輸介面311與321相互連接與溝通,並透過匯流排360傳遞訊號與封包,例如,傳遞控制訊號、指令訊號,以及資料封包。於本發明之實施例中,傳輸介面311與321會以一共同橋接轉移格式產生複數轉移資料組塊(chunk),其中的轉移資料組塊承載著需傳遞於主機裝置330與該資料儲存裝置300之間的指令與資料,包含前述之控制訊號、指令訊號,以及資料封包等。
根據本發明之一實施例,傳輸介面311與321可以是快閃記憶體介面。例如,傳輸介面311與321可以是NAND型快閃記憶體介面(或稱NAND型快閃記憶體控制器(NAND Flash Controller,縮寫為NFC))。此外,根據本發明之一
實施例,控制器310與320可以是記憶體控制器,例如以上所介紹之本發明之記憶體控制器110或210。於本發明之一實施例中,控制單元315與325可如控制單元115的方式實施,即,控制單元315與325可分別包括微處理器、唯讀記憶體以及緩衝記憶體等元件,用以於兩傳輸介面311與313以321與323之間依循對應之標準通訊協定執行對應之訊號處理。
根據本發明之一實施例,傳輸介面323可以是一快捷外設互聯標準(Peripheral Component Interconnect Express,縮寫PCIe)介面或者一通用序列匯流排(Universal Serial Bus,縮寫USB)介面,控制器320可依循對應之PCIe或USB通訊協定透過傳輸介面323與主機裝置330溝通。此外,根據本發明之一實施例,於資料儲存裝置300被實施為一UFS裝置時,傳輸介面313可以是UFS介面,控制器310可依循對應之UFS通訊協定透過傳輸介面313與資料儲存裝置300溝通,用以存取資料儲存裝置300。但需注意的是,本發明非限定為僅能由PCIe介面、USB介面或UFS介面實施。
根據本發明之一實施例,資料儲存裝置300可如資料儲存裝置100或200的方式實施,即,資料儲存裝置300可如第1圖或第2圖所示包括一記憶體裝置與一記憶體控制器,其中包含於資料儲存裝置300之記憶體控制器可耦接至橋接裝置350的控制器310。例如,資料儲存裝置300之記憶體控制器可透過對應之匯流排370耦接至控制器310。
更具體的說,當資料儲存裝置300被實施為一UFS裝置時,包含於資料儲存裝置300內之記憶體控制器的主機介面或UFS介面可透過對應之匯流排370耦接至控制器310的傳輸介面313,此時傳輸介面313也可以是UFS介面,使控制器310可透過對應之UFS介面與資料儲存裝置300內之記憶體控制器溝通。
因此,根據本發明之一實施例,資料儲存系統內可至少包含三個控制器,包括配置於橋接裝置350內的控制器310與320(以下亦稱為第一控制器與
第二控制器),以及配置於資料儲存裝置300內的記憶體控制器(以下亦稱為第三控制器)。於本發明之實施例中,第一控制器、第二控制器與第三控制器皆為記憶體控制器。此外,根據本發明之一實施例,第一控制器與第三控制器可以選擇為相同的記憶體控制器。例如,第一控制器與第三控制器可以是相同型號的控制器晶片,或者,第一控制器與第三控制器可以都是UFS記憶體控制器,但可以是相同或不同型號的UFS記憶體控制器,其中當第一控制器與第三控制器為不同型號的UFS記憶體控制器時,兩者所依循的UFS規範是彼此相容的,而第二控制器可以是SSD記憶體控制器。換言之,於本發明之一些實施例中,橋接裝置350可被配置有與資料儲存裝置300相同的記憶體控制器,其中這兩個記憶體控制器的主機介面(或者,當資料儲存裝置300被實施為一UFS裝置時可以是UFS介面)可透過對應之匯流排相互連接,使橋接裝置350內的第一控制器與資料儲存裝置300內的第三控制器可透過這兩個介面溝通。
此外,橋接裝置350內的控制器310與320的傳輸介面311與321可以是上述之記憶體介面,並且透過對應之匯流排360相互連接,此時匯流排360可以是用以與記憶體裝置溝通的匯流排,例如,NAND匯流排。
需注意的是,以上所介紹的僅為可實施本發明的一些方式,而本發明並不限於此。於本發明之其他實施例中,第一控制器與第三控制器也可被選擇為不同的記憶體控制器。
根據本發明之一實施例,第一控制器可被配置為運作於一主機模式(Host mode),第三控制器可被配置為運作於一裝置模式(Device mode)。因此,於第一控制器與第三控制器皆為記憶體控制器或第一控制器與第三控制器為相同的記憶體控制器的實施例中,第一控制器為運作於主機模式之記憶體控制器,而第三控制器為運作於裝置模式之記憶體控制器。
根據本發明之一實施例,記憶體控制器可被配置有用以執行主機模
式之操作的硬體裝置與對應之韌體與軟體結構,同時亦被配置有用以執行裝置模式之操作的硬體裝置與對應之韌體與軟體結構。如此一來,於本發明之實施例中,可藉由操作模式的設定使相同的記憶體控制器同時被應用於橋接裝置與資料儲存裝置中。
根據本發明之一實施例,記憶體控制器可透過軟體或硬體的方式被配置為運作於裝置模式或主機模式。舉例而言,記憶體控制器可包括一暫存器,用以儲存運作模式之設定值。記憶體控制器之控制單元可藉由執行對應的軟體程式碼,例如,前述之ISP程式碼,設定該暫存器所儲存之設定值。當該暫存器所儲存之設定值被設定為第一設定值時,控制單元可操作於一主機模式,進因而使記憶體控制器運作於主機模式。當該暫存器所儲存之設定值被設定為第二設定值時,控制單元可操作於一裝置模式,進而使記憶體控制器運作於裝置模式。舉另一例而言,記憶體控制器可包括一設定腳位,例如,一通用型之輸入輸出(General-purpose input/output,縮寫GPIO)腳位,記憶體控制器可根據此設定腳位之設定值決定運作於哪個模式。當此設定腳位被設定為第一設定值時,控制單元可操作於一主機模式,進因而使記憶體控制器運作於主機模式。當此設定腳位被設定為第二設定值或者未設定時,控制單元可操作於一裝置模式,進而使記憶體控制器運作於裝置模式。
根據本發明之一實施例,當記憶體控制器及/或其控制單元被配置為運作於主機模式時,其記憶體傳輸介面,例如,前述之快閃記憶體介面,運作於一從模式(slave mode),而當記憶體控制器及/或其控制單元被配置為運作於裝置模式時,其記憶體傳輸介面運作於一主模式(master mode)。
續上實施例所述,於本發明之一實施例中,第二控制器可被配置為運作於裝置模式,第一控制器可被配置為運作於主機模式,第三控制器可被配置為運作於一裝置模式。於此配置之下,傳輸介面321可運作於主模式,傳輸介
面311可運作於從模式,而配置於資料儲存裝置內的記憶體控制器(第三控制器)的記憶體傳輸介面(例如,前述之快閃記憶體介面114或快閃記憶體介面214)可運作於主模式。
根據本發明之一實施例,當記憶體控制器運作於主機模式時,記憶體控制器之控制單元可以是一主機控制器介面(Host Controller Interface,縮寫HCI),用以主控記憶體控制器整體的通訊協定。例如,當記憶體控制器運作於主機模式時,記憶體控制器之控制單元會主動設定對應之暫存器,記憶體控制器內用以執行主機模式之操作的硬體裝置與對應之韌體與軟體結構可依循暫存器的設定值運作,使得需透過各傳輸介面傳送之資料可具有符合對應之通訊協定的格式,如此各傳輸介面可直接將符合正確資料格式的訊號與封包傳送出去,並且可正確地解析訊號與封包的內容。當記憶體控制器運作於裝置模式時,記憶體控制器內用以執行裝置模式之操作的硬體裝置與對應之韌體與軟體結構則用以處理對應之通訊協定。例如,控制單元等元件依循對應之標準通訊協定接收並處理訊號與封包。
第4圖係顯示根據本發明之一實施例所述之資料儲存系統的一實施範例。資料儲存系統可至少包括一資料儲存裝置400與一橋接裝置450,橋接裝置450可耦接於資料儲存裝置400與主機裝置430之間,用以於資料儲存裝置400與主機裝置430之間執行雙向之轉移操作,用以將指令、資料與訊號傳遞於主機裝置430與資料儲存裝置400之間,以輔助主機裝置430存取資料儲存裝置400。
橋接裝置450可包括控制器410與420。於此範例中,控制器410可以是UFS記憶體控制器,控制器420可以是SSD記憶體控制器,並且資料儲存裝置400可以是UFS裝置。控制器420可包括運作於主模式之快閃記憶體介面,例如圖中所示之NAND型快閃記憶體控制器(以下簡稱NFC)421、PCIe介面423,以及控制單元425。控制器410可包括運作於從模式之快閃記憶體介面,例如圖中所示
之NFC 411、UFS介面413以及控制單元415。資料儲存裝置400可如上述包括一UFS記憶體控制器與一記憶體裝置。
NFC 411與NFC 421可透過匯流排460相互耦接,UFS介面413與資料儲存裝置400內部之UFS記憶體控制器的UFS介面可透過匯流排470相互耦接,且控制器420可透過PCIe介面423與主機裝置430溝通。
於此實施例中,控制器420可被配置為運作於裝置模式,控制器410可被配置為運作於主機模式,且資料儲存裝置400內部之UFS記憶體控制器可被配置為運作於裝置模式。
需注意的是,第4圖中所示的特定規格的介面,例如,UFS介面、NFC與PCIe介面等,僅為可應用本發明之多種實施範例的其中一者,而本發明並不限於僅能以這些特定規格實施。
此外,需注意的是,於本發明之實施例中,橋接裝置(例如,橋接裝置350、450)內的第一控制器與第二控制器可以是原本被開發用以連接對應之一記憶體裝置之記憶體控制器,例如第1圖或第2圖所示記憶體控制器與記憶體裝置的連接關係。然而,在本發明的實施例中,第一控制器與第二控制器並不直接連接記憶體裝置(例如,一NAND型快閃記憶體),而是改為以對稱的方式使第一控制器與第二控制器中原先用於連接記憶體裝置的記憶體介面透過對應之匯流排,例如,NAND匯流排,相互連接,藉由此架構以及對應的操作模式設定(例如,前述之主模式與從模式)實現出資料儲存裝置與主機裝置之間透過橋接裝置的雙向資料、訊號與指令轉移操作。
第5圖係顯示根據本發明之一實施例所述之於相互連接的兩個傳輸介面之間透過對應之匯流排所傳遞的控制訊號與資料的示意圖。於此範例中,傳輸介面510可以是運作於一從模式之快閃記憶體介面,例如,圖中所例示的UFS NFC,並且由於傳輸介面510被安排為記憶體存取指令接收的角色,故傳輸介面
510可至少包括一指令寄存器511、一位址寄存器512、一直接記憶體存取(Direct Memory Access,縮寫為DMA)引擎513。此外,傳輸介面510可更耦接或包括一靜態隨機存取記憶體(SRAM)530。另一方面,傳輸介面520可以是運作於一主模式之快閃記憶體介面,例如,圖中所例示的SSD NFC。
第6圖係顯示根據本發明之一實施例所述之於分屬於不同控制器之兩個傳輸介面之間執行的指令與資料轉移方法範例流程圖。根據本發明一實施例,由於橋接裝置係用以輔助一主機裝置存取資料儲存裝置,故以下流程係先說明橋接裝置在一寫入模式下的操作,所述的寫入模式係指被配置用以執行第一方向之記憶體指令轉移操作與第一方向之記憶體資料轉移操作的模式。
本發明之一實施例,所述第一方向為自運作於主模式之傳輸介面(或者,從橋接裝置中包含運作於主模式之傳輸介面的記憶體控制器)至運作於從模式之傳輸介面(或者,至橋接裝置中包含運作於從模式之傳輸介面的記憶體控制器)的傳輸方向。例如,第3圖中自傳輸介面321至傳輸介面311的方向、第4圖中自NFC 421至NFC 411的方向、或第5圖中自傳輸介面520至傳輸介面510的方向)。相對地,第二方向為自運作於從模式之傳輸介面(或者,從橋接裝置中包含運作於從模式之傳輸介面的記憶體控制器)至運作於主模式之傳輸介面(或者,至橋接裝置中包含運作於主模式之傳輸介面的記憶體控制器)的傳輸方向。例如,第3圖中自傳輸介面311至傳輸介面321的方向、第4圖中自NFC 411至NFC 421的方向、或第5圖中自傳輸介面510至傳輸介面520的方向)。
本發明所提出之複數記憶體控制器之間的指令與資料轉移方法包含以下步驟:
步驟S602:由第一傳輸介面自第二傳輸介面接收第一指令。如上所述,第一傳輸介面可以是第一記憶體控制器之記憶體介面,第二傳輸介面可以是第二記憶體控制器之記憶體介面,對於第一記憶體控制器而言,第二記憶體
控制器可以是一對等(peer)記憶體控制器。此外,根據本發明之一實施例,第一指令之一數值選擇性被設定為一第一數值或一第二數值,第一數值用以指示前述第一方向之記憶體指令轉移操作,第二數值用以指示前述第一方向之記憶體資料轉移操作。即,藉由所述指令之數值設定可區分出後續的轉移操作為指令或資料的轉移操作。
步驟S604:由第一傳輸介面響應於第一指令自匯流排取得第一轉移資料。如上所述,第一轉移資料可以是由對等記憶體控制器或由主機裝置所提供的記憶體存取指令或資料,並由對等記憶體控制器提供至匯流排。
步驟S606:由第一傳輸介面根據第一指令之數值處理第一轉移資料,以取得記憶體指令或寫入資料。
參考回第5圖,傳輸介面510與520之間可透過對應之匯流排傳送多個控制訊號。例如,晶片致能(Chip Enable)訊號CE用以致能目標裝置,例如一或多個快閃記憶體晶粒。指令鎖存致能(Command latch enable)訊號CLE用以指示指令之鎖存操作。位址鎖存致能(Address latch enable)訊號ALE用以指示位址之鎖存操作。讀取致能訊號RE#用以指示讀取操作。寫入致能訊號WE用以指示寫入操作。資料選通(Data strobe)訊號DQS用以提供作為取樣序列傳送之資料的參考。資料輸入/輸出訊號DQx用以提供雙向的指令、位址、及資料傳輸。
根據本發明之一實施例,於寫入模式中,傳輸介面520可發出指令鎖存致能訊號CLE與位址鎖存致能訊號ALE。傳輸介面510響應於指令鎖存致能訊號CLE將一指令(例如,前述第一指令)載入指令寄存器511,以及響應於位址鎖存致能訊號ALE將用以指示記憶體位址資訊的一位址訊號載入位址寄存器512。由於寫入模式所對應的指令為寫入指令,故傳輸介面510響應於第一指令自匯流排取得轉移資料。
類似地,於讀取模式中,傳輸介面520同樣可發出指令鎖存致能訊號
CLE與位址鎖存致能訊號ALE。傳輸介面510響應於指令鎖存致能訊號CLE將一指令(例如,第二指令或讀取指令)載入指令寄存器,以及響應於位址鎖存致能訊號ALE將用以指示記憶體位址資訊的一位址訊號載入位址寄存器512。接著,傳輸介面510響應於第二指令將轉移資料傳送至匯流排,於此的轉移資料可以是由資料儲存裝置提供之一回應指令或讀取自資料儲存裝置之記憶體裝置的讀取資料。同樣地,第二指令之數值選擇性被設定為一第三數值或一第四數值,第三數值用以指示第二方向之記憶體指令轉移操作,第四數值用以指示第二方向之記憶體資料轉移操作。
於本發明之實施例中,記憶體指令可以是透過傳輸介面520提供至資料儲存裝置用以存取資料儲存裝置之記憶體裝置之存取指令或者透過傳輸介面510提供至主機裝置用以回應存取操作結果的回應指令,記憶體資料可以是透過傳輸介面520提供至資料儲存裝置用以寫入記憶體裝置之寫入資料或者自記憶體裝置讀出並透過傳輸介面510提供至主機裝置之讀取資料。
第7A、7B、8A、8B圖係顯示於橋接裝置中耦接於兩控制器之傳輸介面之間之匯流排上的訊號波型圖,其中第7A圖顯示出一個指令週期的訊號波形圖,第7B圖顯示出一個位址週期的訊號波形圖,第8A圖顯示出資料輸入週期的訊號波形圖,第8B圖顯示出資料輸出週期的訊號波形圖。
於圖中以井字符號#標註的訊號為低位準致能訊號,且以斜線繪示的訊號區段表其狀態不在乎(don’t care)。如第7A圖所示,於指令週期,傳輸介面520藉由將指令鎖存致能訊號CLE之位準設定為高位準,以發出指令鎖存致能訊號CLE並同時指示當前資料匯流排DQ上傳送的是指令,並藉由設定寫入致能訊號WE#的位準自低位準轉態為高位準,使傳輸介面510響應於鎖存致能訊號CLE與致能訊號WE#自資料匯流排DQ上擷取指令CMD。
如第7B圖所示,於位址週期,傳輸介面520藉由將位址鎖存致能訊號
ALE之位準設定為高位準,以發出位址鎖存致能訊號ALE並同時指示當前資料匯流排DQ上傳送的是位址訊號,並藉由設定寫入致能訊號WE#的位準自低位準轉態為高位準,使傳輸介面510響應於位址鎖存致能訊號ALE與致能訊號WE#自資料匯流排DQ上擷取位址訊號ADD。
於資料輸入週期,傳輸介面510將資料提供至資料匯流排DQ上,傳輸介面520響應於資料選通訊號DQS依序讀取資料D0、D1、D2...Dn。如第8A圖所示,傳輸介面520可響應於由傳輸介面510發出的資料選通訊號DQS的上升緣與下降緣以兩倍資料速率取樣資料。傳輸介面520可於讀取結束後發出結束指令。於資料輸入週期,傳輸介面520不對晶片致能訊號CE、指令鎖存致能訊號CLE、位址鎖存致能訊號ALE、讀取致能訊號RE#與寫入致能訊號WE#進行操控。
於資料輸出週期,傳輸介面520將資料提供至資料匯流排DQ上,傳輸介面510響應於資料選通訊號DQS依序讀取資料D0、D1、D2...Dn。如第8B圖所示,傳輸介面510可響應於由傳輸介面520發出的資料選通訊號DQS的上升緣與下降緣以兩倍資料速率取樣資料。
根據本發明之一實施例,依照操作的內容的差異,位址訊號可利用一或多個時脈週期傳送。於本發明之一實施例中,對於指令及/或資料的讀取操作與寫入操作,傳輸介面520可利用5個時脈週期傳送位址訊號,其中前4個時脈週期用於傳送記憶體位址,例如,SRAM 530的記憶體位址,最後一個週期用於傳送轉移數量之資訊。對於特徵表格的讀取操作與寫入操作,傳輸介面520可利用1個時脈週期傳送位址訊號。於此,特徵表格係儲存於傳輸介面510端,用以紀錄硬體參數,例如,時脈訊號的工作週期與高位準/低位準的持續長度等,而對應於特徵表格的讀取操作與寫入操作所傳送的位址訊號用以指示其數值要被設定(寫入)或被讀取的特徵值被儲存在特徵表格的位址。
此外,根據本發明之一實施例,透過橋接裝置轉移之指令(例如,記
憶體指令)與資料(例如,寫入資料與讀取資料)之一轉移單位不同,而前述利用第5個週期於位址訊號內傳送的轉移數量之資訊可指示出轉移資料中有效指令(例如,有效記憶體指令)或有效資料(例如,有效寫入資料與有效讀取資料)之一數量或大小。舉例而言,透過橋接裝置轉移之指令之轉移單位可被設定為512位元組,而透過橋接裝置轉移之資料之轉移單位可被設定為4千位元組(KB),而位址訊號內傳送的轉移數量可指示出後續的轉移資料中有幾個有效的512位元組指令或4千位元組資料。
根據本發明之一實施例,寫入模式可進一步區分出指令(例如,記憶體指令)寫入操作與資料(例如,記憶體資料)寫入操作。如上所述,於寫入模式中傳輸介面520對傳輸介面510發出的一指令(例如,第一指令,其可以是開放式NAND快閃記憶體介面(ONFI)聯盟定義的指令)之數值選擇性被設定為第一數值(例如,88h)或第二數值(例如,80h)。此外,轉移資料結束後,傳輸介面520可再對傳輸介面510發出另一指令,且其數值可被設定為既定值(例如,10h),以指示資料輸入完成。
因此,在本發明之一實施例中,對於指令(例如,記憶體指令)寫入操作,匯流排上傳送的指令、資料與控制訊號可以依序是:ONFI指令(88h)->位址訊號(第1~4個時脈週期為記憶體位址,第5個脈週期為數值n)->指令->ONFI指令(10h)
此時,轉移資料中指令部分的有效指令大小為n*512B。
而對於資料(例如,記憶體資料)寫入操作,匯流排上傳送的指令、資料與控制訊號可以依序是:ONFI指令(80h)->位址訊號(第1~4個時脈週期為記憶體位址,第5個脈週期為數值n)->資料->ONFI指令(10h)
此時,轉移資料中資料部分的有效資料大小為n*4KB。例如,後續
的n個轉移資料組塊是包含須被轉移的(有效的)資料。
類似地,根據本發明之一實施例,讀取模式可進一步區分出指令(例如,記憶體指令)讀取操作與資料(例如,記憶體資料)讀取操作。如上所述,於讀取模式中,傳輸介面520對傳輸介面510發出的一指令(例如,第二指令,其可以是ONFI聯盟定義的指令)之數值選擇性被設定為第三數值(例如,08h)或第四數值(例如,00h)。此外,於發出位址訊號之後,傳輸介面520可再對傳輸介面510發出另一指令,且其數值可被設定為另一既定值(例如,30h),以指示傳輸介面520端的操作完成,後續將由傳輸介面510輸出轉移資料。
因此,在本發明之一實施例中,對於指令(例如,記憶體指令)讀取操作,匯流排上傳送的指令、資料與控制訊號可以依序是:ONFI指令(08h)->位址訊號(第1~4個時脈週期為記憶體位址,第5個脈週期為數值n)->ONFI指令(30h)->指令
此時,轉移資料中指令部分的有效指令大小為n*512B。
而對於資料(例如,記憶體資料)讀取操作,匯流排上傳送的指令、資料與控制訊號可以依序是:ONFI指令(00h)->位址訊號(第1~4個時脈週期為記憶體位址,第5個脈週期為數值n)->ONFI指令(30h)->資料
此時,轉移資料中資料部分的有效資料大小為n*4KB。例如,後續的n個轉移資料組塊是包含須被轉移的(有效的)資料。
此外,對於特徵表格的寫入(設定)操作,傳輸介面520對傳輸介面510發出的一指令(其可以是ONFI指令)之數值可被設定為,例如,EFh,對於特徵表格的讀取(取得)操作,傳輸介面520對傳輸介面510發出的一指令(其可以是ONFI指令)之數值可被設定為,例如,EEh。
因此,對於特徵表格的寫入(設定)/(取得)讀取操作,匯流排上傳送
的指令、資料與控制訊號可以依序是:ONFI指令(EFh/EFh)->位址訊號(僅1個時脈週期)->對應之特徵值被設定/取得的數值
根據本發明之一實施例,由位址訊號所指示之對應之特徵值所被設定的數值或者自位址訊號所指示之對應之特徵值欄位所取得的數值可包括複數位元。例如,於本發明之一實施例中,所述數值可包括4位元。
根據本發明之一實施例,橋接裝置中耦接於兩控制器之傳輸介面會以一共同橋接轉移格式產生複數轉移資料組塊(chunk),其中的轉移資料組塊承載著如上所述之需傳遞於主機裝置與該資料儲存裝置之間的指令與資料。
第9圖係顯示根據本發明之一實施例所述之利用橋接裝置於一主機裝置與一資料儲存裝置之間執行雙向之指令與資料轉移的方法流程圖,其為了說明的一致性接續以上實施例所使用之元件命名,並包括以下步驟:
步驟S902:於第一傳輸介面與第二傳輸介面之間傳送指令。
步驟S904:於第一傳輸介面與第二傳輸介面之間傳送位址訊號。
步驟S906:於第一傳輸介面與第二傳輸介面之間以一共同橋接轉移格式產生之複數轉移資料組塊,並執行雙向之轉移操作。
第10圖係顯示根據本發明之一實施例所述之共同橋接轉移格式示意圖。第10圖中顯示出複數具有共同橋接轉移格式的轉移資料組塊,例如,轉移資料組塊DC-1、DC-2與DC-3。各轉移資料組塊包括一資料部分DATA與一附加部分Dummy。資料部分DATA用以承載傳遞於主機裝置與資料儲存裝置之間之指令或資料,並且轉移資料組塊的資料部分是具有固定大小的,例如,圖中所示的4KB大小。因此,於本發明之實施例中,部分資料組塊是用以於主機裝置與資料儲存裝置之間傳遞指令,部分轉移資料組塊是用以於主機裝置與資料儲存裝置之間傳遞資料。附加部分Dummy用以承載附加資訊,例如但不限於,根據資
料部分DATA的內容所產生的低密度奇偶檢查碼(Low-density parity-check code,縮寫為LDPC)、奇偶校驗位元、錯誤更正碼等。
如上所述,由橋接裝置轉移之指令與資料之轉移單位不同,而於本發明之實施例中,由橋接裝置轉移之指令與資料皆會被承載於轉移資料組塊的資料部分DATA,因此,指令與資料的包裝方式便有所差異。
於本發明之實施例中,透過橋接裝置轉移之資料之轉移單位可被設定為等同於資料部分DATA的大小,例如,前述之4千位元組(KB),因此,傳輸介面510/520可將需透過橋接裝置轉移的每筆4KB資料放入一個轉移資料組塊的資料部分DATA,並且利用承載於位址訊號的第5個週期的轉移數量指示出轉移資料中的資料量,即,前述有效資料(例如,有效寫入資料與有效讀取資料)之一數量或大小。舉例而言,對於資料而言,位址訊號內傳送的轉移數量可指示出後續的轉移資料中有幾個轉移資料組塊帶有需轉移的資料。
第11圖係顯示利用四個轉移資料組塊承載四筆資料的示意圖。圖中的資料DATA[1]、DATA[2]、DATA[3]、DATA[4]為承載於轉移資料組塊之資料部分的四筆資料。根據本發明之一實施例,一轉移資料組塊之資料部分所承載的一筆資料可以是一資料封包。
於第一方向的轉移操作,承載於轉移資料組塊之資料部分的資料或資料封包為傳輸介面520提供給傳輸介面510並透過傳輸介面510進一步轉移至資料儲存裝置的資料。因此,傳輸介面510於接收到轉移資料組塊後,可將其中的資料或資料封包提供給資料儲存裝置。於第二方向的轉移操作,承載於轉移資料組塊之資料部分的資料或資料封包為傳輸介面510提供給傳輸介面520並透過傳輸介面520進一步轉移至主機裝置的資料。因此,傳輸介面520於接收到轉移資料組塊後,可將其中的資料或資料封包提供給主機裝置。
對於指令而言,由於透過橋接裝置轉移之指令之轉移單位,例如,
前述之512位元組,小於資料部分DATA的大小,因此,傳輸介面510/520可將需透過橋接裝置轉移的多筆指令放入一個轉移資料組塊的資料部分DATA,並且利用承載於位址訊號的第5個週期的轉移數量指示出轉移資料中的有效指令數量,即,前述有效記憶體指令之一數量或大小。
第12圖係顯示利用一個轉移資料組塊承載八筆指令的示意圖。圖中的指令CMD[1]、CMD[2]、CMD[3]、CMD[4]、CMD[5]、CMD[6]、CMD[7]、CMD[8]為承載於同一轉移資料組塊之資料部分的八筆指令,且其中的至少一者為有效指令。
根據本發明之一實施例,一轉移資料組塊之資料部分所承載的複數指令可以是複數指令封包,並且各指令封包可以是一橋接指令與一記憶體指令的一個組合,其中於第一方向的轉移操作,橋接指令為傳輸介面520提供給傳輸介面510的指令,記憶體指令為需進一步透過傳輸介面510轉移至資料儲存裝置的指令,即,指令封包中所包裝的記憶體指令的部分才是實際要提供給資料儲存裝置用以存取記憶體裝置的指令。傳輸介面510於接收到轉移資料組塊後,可解析橋接指令以取得由傳輸介面520指示的內容,並且取得記憶體指令,爾後傳輸介面510可將記憶體指令提供給資料儲存裝置。
於第二方向的轉移操作,橋接指令為傳輸介面510提供給傳輸介面520的指令,記憶體指令為需進一步透過傳輸介面520轉移至主機裝置的指令。即,指令封包中所包裝的記憶體指令的部分才是實際要提供給主機裝置的指令,例如,前述之回應指令。傳輸介面520於接收到轉移資料組塊後,可解析橋接指令以取得由傳輸介面510指示的內容,並且取得記憶體指令,爾後傳輸介面520可將記憶體指令提供給主機裝置。
第13圖係顯示根據本發明之一實施例所述之一指令封包示意圖。如圖所示,指令封包1300可包括橋接指令Bridge_CMD與記憶體指令UFS_CMD。
於本發明之一實施例中,指令封包的前256位元組可承載橋接指令Bridge_CMD,後256位元組可承載記憶體指令UFS_CMD。
需注意的是,於本發明之實施例中,傳輸介面510與傳輸介面520皆可以共同橋接轉移格式產生轉移資料組塊,例如,於前述第一方向之轉移操作中,是由傳輸介面520以共同橋接轉移格式產生轉移資料組塊,於前述第二方向之轉移操作中,是由傳輸介面510以共同橋接轉移格式產生轉移資料組塊。
於產生承載傳遞於主機裝置與資料儲存裝置之間之指令的轉移資料組塊時,傳輸介面510/520將橋接指令與記憶體指令包裝於轉移資料組塊之資料部分DATA,根據資料部分DATA的內容產生轉移資料組塊之附加部分Dummy的內容,並且將轉移資料組塊透過匯流排提供給傳輸介面520/510。
於本發明之實施例中,提出了由以對稱的方式相互連接的記憶體控制器組成橋接裝置,以結合以不同製程或規格製作之高速傳輸介面,解決既有技術的問題。此外,於本發明之實施例中,橋接裝置內的第一控制器與第二控制器可以是原本已被開發用以連接對應之一記憶體裝置之記憶體控制器,但不直接連接記憶體裝置,而是改為以對稱的方式透過對應之匯流排相互連接,如此一來,可有效節省橋接裝置的製作成本,無須額外針對各種不同的應用開發對應的橋接裝置。
此外,本發明提出了可應用於橋接裝置內部的指令與資料轉移方法,藉由結合於橋接裝置內部的記憶體控制器之間的指令與資料傳輸輔助主機裝置存取資料儲存裝置,以實際體現利用橋接裝置於存在以不同製程或規格製作之高速傳輸介面的資料儲存系統中有效存取記憶體裝置的各種操作。
以上所述僅為本發明之較佳實施例,凡依本發明申請專利範圍所做之均等變化與修飾,皆應屬本發明之涵蓋範圍。
300:資料儲存裝置
310,320:控制器
311,313,321,323:傳輸介面
315,325:控制單元
330:主機裝置
350:橋接裝置
360,370:匯流排
Claims (14)
- 一種橋接裝置,用以橋接一主機裝置與一資料儲存裝置,包括:一第一控制器,包括:一第一傳輸介面;以及一第二控制器,包括:一第二傳輸介面,透過一匯流排耦接該第一傳輸介面,其中該第一傳輸介面運作於一從模式,該第二傳輸介面運作於一主模式,該第一傳輸介面與該第二傳輸介面以一共同橋接轉移格式產生複數轉移資料組塊,以執行雙向之轉移操作,用以將一指令與資料傳遞於該主機裝置與該資料儲存裝置之間;其中該第一控制器與該第二控制器為記憶體控制器,並且該第一傳輸介面與該第二傳輸介面為快閃記憶體介面。
- 如申請專利範圍第1項所述之橋接裝置,其中該複數轉移資料組塊包括一第一轉移資料組塊與一第二轉移資料組塊,該第一轉移資料組塊用以於該主機裝置與該資料儲存裝置之間傳遞該指令,該第二轉移資料組塊用以於該主機裝置與該資料儲存裝置之間傳遞該資料,並且該指令之一轉移單位與該資料之一轉移單位不同。
- 如申請專利範圍第2項所述之橋接裝置,其中該第一轉移資料組塊之一資料部分包括複數指令封包,並且該第二傳輸介面更發出之一位址訊號以指示出該第一轉移資料組塊中有效指令封包之一數量。
- 如申請專利範圍第3項所述之橋接裝置,其中各指令封包為一橋接 指令與一記憶體指令的一個組合。
- 如申請專利範圍第4項所述之橋接裝置,其中響應於該第一轉移資料組塊之一接收,該第一傳輸介面解析該橋接指令,並且將該記憶體指令提供給該資料儲存裝置。
- 如申請專利範圍第4項所述之橋接裝置,其中響應於該第一轉移資料組塊之一傳送,該第一傳輸介面將該橋接指令與該記憶體指令包裝於該第一轉移資料組塊之該資料部分,並且將該第一轉移資料組塊提供給該第二傳輸介面。
- 如申請專利範圍第2項所述之橋接裝置,其中該第二轉移資料組塊之一資料部分包括一資料封包,並且該第二傳輸介面更發出之一位址訊號以指示出有效資料封包之一數量。
- 一種指令與資料轉移方法,用以於一主機裝置與一資料儲存裝置之間執行雙向之轉移操作,包括:於一第一傳輸介面與一第二傳輸介面之間傳送以一共同橋接轉移格式產生之複數轉移資料組塊,其中該第一傳輸介面為一第一記憶體控制器之一快閃記憶體介面,該第二傳輸介面為一第二記憶體控制器之一快閃記憶體介面,該第一傳輸介面運作於一從模式,該第二傳輸介面運作於一主模式,並且其中於該第一傳輸介面與該第二傳輸介面之間傳送以該共同橋接轉移格式產生之該複數轉移資料組塊之步驟更包括:由該第一傳輸介面自該第二傳輸介面接收一第一轉移資料組塊,其中該第 一轉移資料組塊之一資料部分包括複數指令封包,該複數指令封包之其中一者為一第一橋接指令與一第一記憶體指令的一個組合;由該第一傳輸介面解析該第一橋接指令並且取得該第一記憶體指令;以及由該第一傳輸介面將該第一記憶體指令提供給該資料儲存裝置。
- 如申請專利範圍第8項所述之指令與資料轉移方法,其中該複數轉移資料組塊用以該主機裝置與該資料儲存裝置之間傳遞一指令與資料,並且該指令之一轉移單位與該資料之一轉移單位不同。
- 如申請專利範圍第8項所述之指令與資料轉移方法,更包括:由該第一傳輸介面自該第二傳輸介面接收一位址訊號,其中該位址訊號指示出該第一轉移資料組塊中有效指令封包之一數量。
- 如申請專利範圍第8項所述之指令與資料轉移方法,其中於該第一傳輸介面與該第二傳輸介面之間傳送以該共同橋接轉移格式產生之該複數轉移資料組塊之步驟更包括:由該第一傳輸介面自該第二傳輸介面接收一第二轉移資料組塊,其中該第二轉移資料組塊之一資料部分包括一資料封包;以及由該第一傳輸介面將該資料封包提供給該資料儲存裝置。
- 如申請專利範圍第11項所述之指令與資料轉移方法,更包括:由該第一傳輸介面自該第二傳輸介面接收一位址訊號,其中該位址訊號指示出有效資料封包之一數量。
- 如申請專利範圍第8項所述之指令與資料轉移方法,其中於該第一傳輸介面與該第二傳輸介面之間傳送以該共同橋接轉移格式產生之該複數轉移資料組塊之步驟更包括:由該第一傳輸介面將一第二橋接指令與一第二記憶體指令包裝於一第二轉移資料組塊之一資料部分;以及將該第二轉移資料組塊提供給該第二傳輸介面。
- 如申請專利範圍第9項所述之指令與資料轉移方法,其中根據該共同橋接轉移格式產生之該複數轉移資料組塊包括該資料部分與一附加部分,各轉移資料組塊之該資料部分承載傳遞於該主機裝置與該資料儲存裝置之間之該指令與該資料之其中一者,並且該複數轉移資料組塊之該資料部分具有固定大小。
Priority Applications (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| TW112117768A TWI859855B (zh) | 2023-05-12 | 2023-05-12 | 橋接裝置及指令與資料轉移方法 |
| CN202310614148.3A CN118939581A (zh) | 2023-05-12 | 2023-05-29 | 桥接装置及指令与数据转移方法 |
| US18/226,274 US12321297B2 (en) | 2023-05-12 | 2023-07-26 | Bridge device and method for transferring command and data between a host device and a data storage device |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| TW112117768A TWI859855B (zh) | 2023-05-12 | 2023-05-12 | 橋接裝置及指令與資料轉移方法 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| TWI859855B true TWI859855B (zh) | 2024-10-21 |
| TW202445372A TW202445372A (zh) | 2024-11-16 |
Family
ID=93352757
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| TW112117768A TWI859855B (zh) | 2023-05-12 | 2023-05-12 | 橋接裝置及指令與資料轉移方法 |
Country Status (3)
| Country | Link |
|---|---|
| US (1) | US12321297B2 (zh) |
| CN (1) | CN118939581A (zh) |
| TW (1) | TWI859855B (zh) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| TWI806262B (zh) * | 2021-11-29 | 2023-06-21 | 慧榮科技股份有限公司 | 橋接裝置與資料儲存系統 |
Citations (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| TWI343529B (en) * | 2006-12-31 | 2011-06-11 | Sandisk Corp | Method and apparatus for performing full transfer automation in a usb controller |
| TW201235862A (en) * | 2011-02-16 | 2012-09-01 | Skymedi Corp | External bridge system |
| TW201512846A (zh) * | 2013-09-18 | 2015-04-01 | Realtek Semiconductor Corp | 記憶卡存取裝置、其控制方法與記憶卡存取系統 |
| TW201915749A (zh) * | 2017-09-20 | 2019-04-16 | 日商東芝記憶體股份有限公司 | 記憶體系統 |
| TW202036301A (zh) * | 2018-11-08 | 2020-10-01 | 慧榮科技股份有限公司 | 用來進行主裝置與記憶裝置之間的存取控制的方法以及設備 |
| TW202119226A (zh) * | 2019-10-31 | 2021-05-16 | 創惟科技股份有限公司 | 記憶卡的讀寫控制系統及其方法 |
| TW202209104A (zh) * | 2020-08-19 | 2022-03-01 | 創惟科技股份有限公司 | 記憶體儲存裝置的讀寫控制系統及方法 |
Family Cites Families (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8341332B2 (en) * | 2003-12-02 | 2012-12-25 | Super Talent Electronics, Inc. | Multi-level controller with smart storage transfer manager for interleaving multiple single-chip flash memory devices |
| US8176238B2 (en) * | 2003-12-02 | 2012-05-08 | Super Talent Electronics, Inc. | Command queuing smart storage transfer manager for striping data to raw-NAND flash modules |
| US8180931B2 (en) * | 2004-01-20 | 2012-05-15 | Super Talent Electronics, Inc. | USB-attached-SCSI flash-memory system with additional command, status, and control pipes to a smart-storage switch |
| TWI350451B (en) * | 2007-09-06 | 2011-10-11 | Ite Tech Inc | Integrated memory control apparatus |
| KR20100121215A (ko) * | 2009-05-08 | 2010-11-17 | 삼성전자주식회사 | 반도체 장치, 및 상기 반도체 장치의 os 이미지 라이트 방법 |
| US8713357B1 (en) * | 2011-09-06 | 2014-04-29 | Western Digital Technologies, Inc. | Systems and methods for detailed error reporting in data storage systems |
| JP2024000794A (ja) * | 2022-06-21 | 2024-01-09 | キオクシア株式会社 | 半導体記憶装置およびメモリシステム |
-
2023
- 2023-05-12 TW TW112117768A patent/TWI859855B/zh active
- 2023-05-29 CN CN202310614148.3A patent/CN118939581A/zh active Pending
- 2023-07-26 US US18/226,274 patent/US12321297B2/en active Active
Patent Citations (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| TWI343529B (en) * | 2006-12-31 | 2011-06-11 | Sandisk Corp | Method and apparatus for performing full transfer automation in a usb controller |
| TW201235862A (en) * | 2011-02-16 | 2012-09-01 | Skymedi Corp | External bridge system |
| TW201512846A (zh) * | 2013-09-18 | 2015-04-01 | Realtek Semiconductor Corp | 記憶卡存取裝置、其控制方法與記憶卡存取系統 |
| TW201915749A (zh) * | 2017-09-20 | 2019-04-16 | 日商東芝記憶體股份有限公司 | 記憶體系統 |
| TW202036301A (zh) * | 2018-11-08 | 2020-10-01 | 慧榮科技股份有限公司 | 用來進行主裝置與記憶裝置之間的存取控制的方法以及設備 |
| TW202119226A (zh) * | 2019-10-31 | 2021-05-16 | 創惟科技股份有限公司 | 記憶卡的讀寫控制系統及其方法 |
| TW202209104A (zh) * | 2020-08-19 | 2022-03-01 | 創惟科技股份有限公司 | 記憶體儲存裝置的讀寫控制系統及方法 |
Also Published As
| Publication number | Publication date |
|---|---|
| US20240378162A1 (en) | 2024-11-14 |
| US12321297B2 (en) | 2025-06-03 |
| TW202445372A (zh) | 2024-11-16 |
| CN118939581A (zh) | 2024-11-12 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| TWI806262B (zh) | 橋接裝置與資料儲存系統 | |
| TWI467379B (zh) | 系統運作方法、記憶體控制器與記憶體儲存裝置 | |
| CN113918081B (zh) | 计算机可读取存储介质、配置可靠命令的方法及装置 | |
| TWI591640B (zh) | 記憶體管理方法、記憶體控制電路單元與記憶體儲存裝置 | |
| TWI802113B (zh) | 用以借助通用非同步收發傳輸器連接來進行記憶體裝置之存取管理的方法、記憶體裝置、電子裝置以及記憶體裝置的控制器 | |
| TWI859855B (zh) | 橋接裝置及指令與資料轉移方法 | |
| US12067235B2 (en) | Data storage device and data storage system | |
| TWI847690B (zh) | 記憶體控制器、橋接裝置及指令與資料轉移方法 | |
| CN112463018B (zh) | 指令传送方法、存储器控制电路单元及存储器存储装置 | |
| CN115203099B (zh) | 包括pipe5到pipe4转换器的系统及其方法 | |
| CN103593255A (zh) | 数据管理方法、记忆存储存储器与记忆存储控制器 | |
| TWI658402B (zh) | 資料寫入方法、記憶體控制電路單元及記憶體儲存裝置 | |
| TWI771707B (zh) | 組態可靠命令的方法及裝置以及電腦程式產品 | |
| CN113918082B (zh) | 计算机可读取存储介质、配置可靠命令的方法及装置 | |
| TW202203014A (zh) | 組態可靠命令的方法及裝置以及電腦程式產品 | |
| CN106920572A (zh) | 内存管理方法、内存控制电路单元及内存储存装置 | |
| TWI615713B (zh) | 記憶體管理方法、記憶體控制電路單元及記憶體儲存裝置 | |
| TWI584292B (zh) | 記憶體抹除方法、記憶體控制電路單元及記憶體儲存裝置 | |
| TWI798034B (zh) | 記憶體控制器與資料處理方法 | |
| CN106970763B (zh) | 存储器管理方法、存储器控制电路单元与存储器存储装置 | |
| US11494263B2 (en) | Controller and method of operating the same | |
| TWI728448B (zh) | 指令傳送方法、記憶體控制電路單元及記憶體儲存裝置 | |
| CN103984653B (zh) | 控制方法、存储器控制器与数据传输系统 | |
| CN112764977A (zh) | 存储控制器以及测试数据产生方法 | |
| TW202103005A (zh) | 資料抹除方法、記憶體控制電路單元及記憶體儲存裝置 |