TWI798034B - 記憶體控制器與資料處理方法 - Google Patents
記憶體控制器與資料處理方法 Download PDFInfo
- Publication number
- TWI798034B TWI798034B TW111110900A TW111110900A TWI798034B TW I798034 B TWI798034 B TW I798034B TW 111110900 A TW111110900 A TW 111110900A TW 111110900 A TW111110900 A TW 111110900A TW I798034 B TWI798034 B TW I798034B
- Authority
- TW
- Taiwan
- Prior art keywords
- data
- memory
- descriptor
- descriptors
- predetermined data
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0611—Improving I/O performance in relation to response time
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0613—Improving I/O performance in relation to throughput
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data buffering arrangements
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Bus Control (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Communication Control (AREA)
- Debugging And Monitoring (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
一種資料處理方法,包括:響應於一讀取指令讀取記憶體裝置,以分別讀出既定資料所包括之複數部分;將分別讀出之該等部分寫入緩衝記憶體,以完成既定資料之該等部分之資料傳輸;響應於既定資料之各部分之資料傳輸之完成依序提供各部分所對應之存取資訊;取得既定資料之存取資訊並按照取得存取資訊的時間先後順序對應地產生複數描述符;接收並暫存描述符;依序自描述符池中根據標籤值選擇出一最新的描述符並提供給直接記憶體存取引擎;以及由直接記憶體存取引擎根據最新的描述符讀取緩衝記憶體,以取得既定資料之至少一部份。
Description
本發明係關於一種資料處理方法,用以提升記憶體控制器的資料處理效率及讀取操作的效率。
隨著資料儲存裝置的科技在近幾年快速地成長,許多資料儲存裝置,如符合安全數位(Secure Digital,縮寫為SD)/多媒體卡(Multi Media Card,縮寫為MMC)規格、複合式快閃記憶體(Compact flash,縮寫為CF)規格、記憶條(Memory Stick,縮寫為MS)規格與極數位(Extreme Digital,縮寫為XD)規格的記憶卡、固態硬碟、嵌入式多媒體記憶卡(embedded Multi Media Card,縮寫為eMMC)以及通用快閃記憶體儲存(Universal Flash Storage,縮寫為UFS)已經廣泛地被應用在多種用途上。因此,各領域對於資料儲存裝置的需求也大幅成長。以其中的UFS為例,由於UFS可提供高傳輸速度與高穩定性,已廣泛用於數位相機、智慧型手機、筆記型電腦、桌上型電腦等消費電子產品。
有鑒於此,如何提升快閃記憶體的存取速度變成一個重要的議題。
本發明之一目的在於提升快閃記憶體的存取速度。
根據本發明之一實施例,一種記憶體控制器,耦接一記憶體裝置與
一主機裝置,用以控制該記憶體裝置的存取操作,包括一緩衝記憶體、一記憶體介面、一微處理器以及一主機介面。記憶體介面耦接緩衝記憶體與記憶體裝置,用以響應於一讀取指令讀取記憶體裝置,其中讀取指令係由主機裝置發出以讀取一既定資料,既定資料包括複數部分,該等部分被分配不同的標籤值,記憶體介面自記憶體裝置分別讀出既定資料之該等部分,將讀出之既定資料之該等部分寫入緩衝記憶體,以完成既定資料之該等部分之資料傳輸,並且響應於既定資料之各部分之資料傳輸之完成依序向微處理器提供各部分所對應之存取資訊。微處理器響應於既定資料之該等存取資訊之取得對應地產生複數描述符,其中微處理器直接按照取得該等存取資訊的時間先後順序產生並輸出各存取資訊所對應的一描述符作為該等描述符之其中一者。主機介面耦接主機裝置與緩衝記憶體,並且包括一描述符池、一路由管理裝置以及一直接記憶體存取引擎。描述符池用以接收並暫存該等描述符。路由管理裝置耦接描述符池,用以依序自描述符池所暫存之描述符中根據標籤值選擇出一描述符作為一最新的描述符,並將最新的描述符提供給直接記憶體存取引擎。直接記憶體存取引擎耦接路由管理裝置,用以根據最新的描述符讀取緩衝記憶體,以取得既定資料之至少一部份。
根據本發明之另一實施例,一種資料處理方法,包括:響應於一讀取指令讀取一記憶體裝置,以分別讀出一既定資料所包括之複數部分,其中該讀取指令係由一主機裝置發出以讀取既定資料,並且該等部分被分配不同的標籤值;將分別讀出之既定資料之該等部分寫入一記憶體控制器之一緩衝記憶體,以完成既定資料之該等部分之資料傳輸;響應於既定資料之各部分之資料傳輸之完成依序提供各部分所對應之一存取資訊;取得既定資料之該等存取資訊並按照取得該等存取資訊的時間先後順序對應地產生複數描述符;由一描述符池接收並暫存該等描述符;由一路由管理裝置依序自描述符池所暫存之該等
描述符中根據該等標籤值選擇出一描述符作為一最新的描述符,並將最新的描述符提供給一直接記憶體存取引擎;以及由直接記憶體存取引擎根據最新的描述符讀取緩衝記憶體,以取得既定資料之至少一部份。
100:資料儲存裝置
110:記憶體控制器
112:微處理器
112C:程式碼
112M:唯讀記憶體
114:記憶體介面
116:緩衝記憶體
118:主機介面
120:記憶體裝置
130:主機裝置
140:錯誤更正碼引擎
150,160,460:直接記憶體存取引擎
170,470:路由管理裝置
180,480:描述符池
200:存取資訊集合
220,520:觸發資料集合
461:直接記憶體存取管理裝置
462:直接記憶體存取裝置
471:描述符輸出裝置
472-1,472-2,472-(n):路由引擎
490:狀態緩存器
540:描述符集合
Slot_Num:儲存槽編號
T0~T7:時間點
Tag_Num:標籤值
第1圖係顯示根據本發明之一實施例所述之資料儲存裝置的方塊圖範例。
第2圖係顯示於本發明之一實施例中由微處理器根據取得之存取資訊觸發主機介面之資料傳輸操作的簡單示意圖。
第3圖係顯示根據本發明之一實施例所述之一資料處理方法之範例流程圖。
第4圖係顯示根據本發明之一實施例所述之配置於主機介面內之直接記憶體存取引擎、路由管理裝置與描述符池等裝置之範例方塊圖。
第5圖係顯示根據本發明之一實施例所述之於主機介面內的描述符處理流程示意圖。
在下文中,描述了許多具體細節以提供對本發明實施例的透徹理解。然而,本領域技術人員仍將理解如何在缺少一個或多個具體細節或依賴於其他方法、元件或材料的情況下實施本發明。在其他情況下,未詳細示出或描述公知的結構、材料或操作,以避免模糊本發明的主要概念。
在整個說明書中對「一實施例」或「一範例」的引用意味著結合該實施例或範例所描述的特定特徵、結構或特性係包括於本發明之多個實施例的至少一個實施例中。因此,貫穿本說明書在各個地方出現的短語「於本發明之一實施例中」、「根據本發明之一實施例」、「於一範例中」或「根據本發明之一
範例」不一定都指到相同的實施例或範例。此外,特定特徵、結構或特性可以在一個或多個實施例或範例中以任何合適的組合和/或子組合進行結合。
此外,為讓本發明之目的、特徵和優點能更明顯易懂,下文特舉出本發明之具體實施例,並配合所附圖式,作詳細說明如下。目的在於說明本發明之精神而非用以限定本發明之保護範圍,應理解下列實施例可經由軟體、硬體、韌體、或上述任意組合來實現。
第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提供儲存空間。
根據本發明之一實施例,主機裝置130可對資料儲存裝置100發出指令,例如,讀取指令或寫入指令,用以存取記憶體裝置120所儲存之資料,或者主機裝置130可對資料儲存裝置100發出指令以進一步控制、管理資料儲存裝置
100。
根據本發明之一實施例,記憶體控制器110可包括一微處理器112、一唯讀記憶體(Read Only Memory,縮寫為ROM)112M、一記憶體介面114、一緩衝記憶體116、與一主機介面118。唯讀記憶體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包含了一錯誤更正碼引擎140。錯誤更正碼引擎140內部可包含一資料緩衝器(圖未示),用以暫存資料,以輔助錯誤更正碼引擎140對資料執行編碼與解碼操作。於將資料寫入記憶體裝置120的寫入流程中,錯誤更正碼引擎140對需被寫入記憶體裝置120的資料進行編碼,例如執行錯誤更正碼(ECC)編碼,以產生額外的奇偶位元(parity bits)。而於將資料讀出記憶體裝置120的讀取流程中,錯誤更正碼引擎140對從記憶體裝置120所讀出的資料進行解
碼,用以檢測資料中的錯誤位元,並且於可更正的情況下(例如,資料中的錯誤位元數量不超過錯誤更正碼引擎140所能更正的錯誤位元數上限),修正錯誤位元的位元值。
於典型狀況下,記憶體裝置120包含了多個記憶元件,例如多個快閃記憶體晶粒或多個快閃記憶體晶片,各記憶元件可包含複數個記憶體區塊(Block)。記憶體控制器110對記憶體裝置120進行抹除資料運作係以區塊為單位來進行。另外,一記憶體區塊可記錄(包含)特定數量的資料頁(Page),例如,實體資料頁,其中記憶體控制器110對記憶體裝置120進行寫入資料之運作係以資料頁為單位來進行寫入。
實作上,記憶體控制器110可利用其本身內部之元件來進行諸多控制運作,例如:利用記憶體介面114來控制記憶體裝置120之存取運作(尤其是對至少一記憶體區塊或至少一資料頁之存取運作)、利用緩衝記憶體116進行所需之緩衝處理、以及利用主機介面118來與主機裝置130溝通。
在一實施例中,記憶體控制器110透過主機介面118並使用一標準通訊協定與主機裝置130溝通。舉例而言,上述之標準通訊協定包含(但不限於):通用序列匯流排(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,縮寫為PCI-E)標準、並列先進附件(Parallel Advanced Technology Attachment,縮寫為PATA)標準等。
在一實施例中,用以提供資料緩衝之緩衝記憶體116係以隨機存取記憶體來實施。例如,緩衝記憶體116可以是靜態隨機存取記憶體,但本發明亦不
限於此。於其他實施例中,緩衝記憶體116可以是動態隨機存取記憶體。
在一實施例中,資料儲存裝置100可以是可攜式記憶體裝置(例如:符合SD/MMC、CF、MS、XD標準之記憶卡、USB隨身碟等裝置),且主機裝置130為一可與資料儲存裝置連接的電子裝置,例如手機、筆記型電腦、桌上型電腦…等等。而在另一實施例中,資料儲存裝置100可以是固態硬碟或符合UFS或eMMC規格之嵌入式儲存裝置,並且可被設置在一電子裝置中,例如設置在手機、筆記型電腦、桌上型電腦之中,而此時主機裝置130可以是該電子裝置的一處理器。
根據本發明之一實施例,記憶體介面114可更包含一直接記憶體存取(Direct Memory Access,縮寫為DMA)引擎150,用以執行資料傳輸操作,例如,用以於緩衝記憶體116與記憶體裝置120之間傳輸資料,以輔助記憶體裝置120之存取操作。類似地,主機介面118也可包含一直接記憶體存取引擎160,用以於主機裝置130(或,對應之一資料緩衝器或一匯流排)與緩衝記憶體116之間傳輸資料。為圖示簡潔,於第1圖中將直接記憶體存取引擎150與160分別標記為DMA引擎150與DMA引擎160。
於一讀取操作中,記憶體介面114會根據讀取指令內所帶的位址資訊透過DMA引擎150自記憶體裝置120之對應位置讀取資料,並將自記憶體裝置120讀出的資料(以下稱為讀出資料Read-Out-Data)暫存於緩衝記憶體116中。於將讀出資料Read-Out-Data傳輸至緩衝記憶體116後,記憶體介面114會將緩衝記憶體116內所儲存之資料之相關資訊(以下稱存取資訊)提供給微處理器112,以觸發主機介面118之資料傳輸操作。例如,由主機介面118之DMA引擎160進一步將緩衝記憶體116內所儲存之資料傳輸至主機介面118內部之資料緩衝器或匯流排,接著透過主機介面118將資料提供給主機裝置130。
一般而言,記憶體介面114於完成一筆讀出資料Read-Out-Data之資料
傳輸,便會將該筆讀出資料Read-Out-Data所對應之存取資訊提供給微處理器112,使微處理器112可即時根據取得之存取資訊觸發主機介面118之資料傳輸操作。然而,記憶體介面114可能不按照資料的原始順序完成資料傳輸,其中資料的原始順序可根據資料的邏輯位址被定義,而邏輯位址則為主機裝置130識別記憶體裝置120內所儲存之資料所使用的位址。舉例而言,假設記憶體介面114於執行一次讀取操作時的最大處理資料量為4K位元組,若主機裝置130發出一個要讀取資料量為16K位元組的讀取指令,記憶體介面114會將此讀取指令所欲讀取之16K位元組之資料分割為4個資料量分別為4K位元組的部分,並對應地執行四次讀取操作。由於各讀取操作所耗費的時間未必相同,因此,沿著時間軸觀察,這4個部分未必會依照資料的原始順序被寫入緩衝記憶體116。舉例而言,記憶體介面114可能先完成前述16K位元組之資料的第四部分之寫入操作,再完成其第三部分之寫入操作,其中於16K位元組之資料中,第四部分係接續在第三部分之後,因此第四部分所對應之邏輯憶體位址會接續在第三部分之後。
此現象於記憶體介面114被設計為使用多通道的架構執行記憶體裝置120之存取操作時更容易發生。由於多個通道可被配置用以同時處理多個讀取指令所對應的讀取操作,因此,前述無秩序(disorder)的現象將更為明顯。
當讀出資料Read-Out-Data被無秩序地寫入緩衝記憶體116時,由記憶體介面114響應於資料傳輸之完成所依序提供之或者由微處理器112所依序收集之存取資訊從時間軸上來看也會是無秩序的,即,不按照資料的原始順序,其中資料的原始順序可根據資料的邏輯位址被定義。例如,對於數筆邏輯位址連續的資料,微處理器112可能無法依照其邏輯位址遞增(或遞減)的順序收集到對應之存取資訊。
第2圖係顯示於本發明之一實施例中由微處理器112根據取得之存取資訊觸發主機介面之資料傳輸操作的簡單示意圖。存取資訊集合200為前述由記
憶體介面114響應於資料傳輸之完成所依序提供之或者由微處理器112所依序收集到之存取資訊。存取資訊集合200可以是多筆存取資訊之一集合,例如,於第2圖中,一橫向的行(row)代表一筆存取資訊。一筆存取資訊係對應於緩衝記憶體116內所儲存之一筆資料,或者對應於執行一次緩衝記憶體116的寫入操作所寫入的資料,並且可至少包括一儲存槽編號Slot_Num與一標籤值Tag_Num之資訊。根據本發明之一實施例,由主機裝置130所發出之一讀取指令會被分配一儲存槽編號Slot_Num,例如,0、1、2、3...等整數值,而為了區隔一既定時間內自主機裝置130接收到的複數讀取指令,於該既定時間內所接收到的不同讀取指令會被分配不同的儲存槽編號Slot_Num,即,不同的讀取指令會對應於不同的儲存槽編號Slot_Num。
此外,如上所述,由於記憶體介面114可能將一讀取指令所欲讀取之資料分割為複數部分,並對應地執行複數次讀取操作,因此,不同的部分可被分配不同的標籤值Tag_Num,但對應於一既定讀取指令之既定資料所包含之複數部分會被分配相同的儲存槽編號。舉例而言,若主機裝置130如上所述發出一個要讀取資料量為16K位元組的讀取指令,記憶體介面114會將此讀取指令所欲讀取之16K位元組之資料被分配相同的儲存槽編號,並進一步將資料分割為4個資料量分別為4K位元組的部分,且這4個部分可依序被分配標籤值:0、1、2、Last(最末),或者其他連續或遞增的數列,其中的Last用來代表這筆資料的最後一個部分。舉另一例而言,若主機裝置130發出一個要讀取一既定資料的讀取指令,其中既定資料所對應的邏輯位址範圍為自邏輯區塊位址(Logical Block Address,縮寫LBA)LBA1到LBA16,記憶體介面114可將既定資料分割為複數部分,例如,2個、4個或8個部分。假設記憶體介面114於執行一次讀取操作時可處理兩個邏輯區塊位址的資料量,則可將既定資料分割為8個部分,且這8個部分可分別如上所述被分配相同的儲存槽編號,並依序被分配標籤值0、1、2、...
Last,或者可依序被分配標籤值0、2、4、6、8、10、12、14。換言之,於本發明之實施例中,標籤值Tag_Num可被設定為連續且遞增(或遞減)的整數,或被設定為DMA引擎160可識別的記憶體位址的偏移量,其可為一遞增(或遞減)的數列,或者一等量遞增(或遞減)的數列,使得DMA引擎160可根據標籤值Tag_Num及既定資料於緩衝記憶體116的起始位址推算出要從緩衝記憶體116的哪個記憶體位址取得各標籤值所對應的部分的資料。因此,於本發明之實施例中,分配給一既定資料之複數部分之標籤值具有一既定順序,而此既定順序可以是一數值遞增(或遞減)的順序,或者一數值連續的順序,或者其他足以辨別出既定資料之原始順序或其邏輯位址順序的特定順序。
第2圖最左側以由上而下的箭頭代表時間軸,包含時間點T0~T7,以表示取得存取資訊的時間先後順序,其中儲存槽編號Slot_Num標記為0與標籤值Tag_Num標記為0的存取資訊為存取資訊集合200中最早取得的存取資訊,並對應於時間點T0,儲存槽編號Slot_Num標記為0與標籤值Tag_Num標記為Last的存取資訊為存取資訊集合200中最晚取得的存取資訊,並對應於時間點T7。如上所述,由於各讀取操作所耗費的時間未必相同,因此,微處理器112未必會依照資料的原始順序收集到對應的存取資訊,甚至未必會依照多個讀取指令的接收順序收集到對應的存取資訊。
第2圖亦顯示出由微處理器112根據取得之存取資訊產生的觸發資料集合220。觸發資料集合220可以是多筆觸發資料之一集合,例如,於第2圖中,一橫向的行代表用以觸發一資料傳輸作業的一筆觸發資料,並且藉由圖中的儲存槽編號Slot_Num與標籤值Tag_Num顯示出各觸發資料所對應的存取資訊。由於主機介面118之資料傳輸操作必須以正確的順序(即,前述資料的原始順序或前述邏輯位址遞增(或遞減)的順序)被觸發,因此,於此實施例中,如圖所示,微處理器112於接收到儲存槽編號Slot_Num標記為0且標籤值Tag_Num標記為0的
第一筆存取資訊以及儲存槽編號Slot_Num標記為0且標籤值Tag_Num標記為2的第二筆存取資訊後,由於第二筆存取資訊並非順序正確的存取資訊(及,並非第一筆存取資訊所指之資料或部分的下一筆資料或部分所對應的存取資訊),因此,微處理器112僅能先根據第一筆存取資訊產生第一筆觸發資料,接著必須等待直到下一個順序正確的存取資訊,例如,儲存槽編號Slot_Num標記為0且標籤值Tag_Num標記為1的第三筆存取資訊,被收集到後,才能分別再根據第三筆存取資訊產生第二筆觸發資料以及根據第二筆存取資訊產生第三筆觸發資料,並以此類推。
由微處理器112產生的觸發資料會被提供給主機介面118的DMA引擎160,以觸發DMA引擎160的資料傳輸操作,用以進一步將緩衝記憶體116內所儲存之資料傳輸至主機介面118內部之資料緩衝器或匯流排,其中觸發資料可於被附加其他必須資訊(例如,來源起始地址和目標起始地址、要傳輸的資料大小等)後直接被提供給DMA引擎160、或者微處理器112可於觸發資料中再附加其他額外資訊(例如,狀態資訊等)後提供給DMA引擎160、或者微處理器112可根據觸發資料或觸發資料與其他必須資訊產生對應之一描述符(descriptor)後提供給DMA引擎160,而本發明並不限於任一種實施方式。需注意的是,雖本發明並不限於任一種實施方式,但為簡潔說明,以下將統一使用描述符(descriptor)一詞作為說明。
第2圖右側顯示出由微處理器112提供給DMA引擎160的複數描述符,其下方的由右而左的箭頭代表時間軸,以顯示出提供描述符的時間先後順序,方格內填入的數值(X,Y)代表儲存槽編號為X且標籤值為Y的觸發資料所對應的描述符,並且其中以斜線填滿的方格代表因微處理器112的等待操作而無法提供描述符的期間。如圖所示,由於DMA引擎160無法持續收到描述符,因而大幅影響讀取操作的效率。
為解決上述問題,於本發明之另一些實施例中,於主機介面118內更配置有一路由管理裝置170與一描述符池(descriptor pool)180,其中描述符池180用以接收並暫存由微處理器112提供的描述符,使得微處理器112可無需費時等待順序正確的存取資訊,而是直接可以根據取得或收集到存取資訊產生對應的描述符,並直接將描述符提供給主機介面118。即,於本發明之實施例中,微處理器可不理會或不考慮(或者,忽略或無視)存取資訊內所帶的標籤值的連續性或其應有的既定順序,而僅按照取得存取資訊的時間先後順序輸出各存取資訊所對應的描述符。如此一來,微處理器112可有效率地於更短的時間內完成觸發主機介面118執行資料傳輸的作業,並無須耗費時間等待存取資訊。當微處理器112完成觸發主機介面118的作業,便可執行記憶體控制器110的其他作業。因此可有效提升憶體控制器110的資料處理效率。
第3圖係顯示根據本發明之一實施例所述之一資料處理方法之範例流程圖,包含以下步驟:
步驟S302:響應於一讀取指令讀取記憶體裝置120,以分別讀出一既定資料所包括之複數部分,其中讀取指令係由主機裝置130發出以讀取既定資料,並且如上所述,既定資料的該等部分會被分配不同的標籤值,且分配給既定資料之該等部分之標籤值依照其應有的資料順序而具有一既定順序。
步驟S304:將分別讀出之既定資料的該等部分依序寫入記憶體控制器110之緩衝記憶體116,以完成既定資料之資料傳輸。
步驟S306:響應於既定資料之各部分之資料傳輸之完成依序提供各部分所對應之一存取資訊。
於本發明之一實施例中,記憶體控制器110的微處理器112可響應於接收到的讀取指令觸發記憶體介面114執行步驟S302與S304,以完成既定資料之第一階段資料傳輸。此外,於本發明之一些實施例中,步驟S306可由記憶體介
面114執行,而本發明之另一些實施例中,步驟S306也可改為由微處理器112響應於既定資料之各部分之資料傳輸之完成(例如,記憶體介面114可於資料傳輸完成後通知微處理器112)主動收集各部分所對應之一存取資訊。
步驟S308:取得既定資料之存取資訊並按照取得存取資訊的時間先後順序對應地產生複數描述符。於本發明之實施例中,步驟S308可由微處理器112執行,並且於產生描述符後,微處理器112可直接將描述符提供給主機介面118。此外,於本發明之實施例中,存取資訊可包括主機裝置130欲讀取之既定資料之各部分所對應之一儲存槽編號與一標籤值之資訊,而描述符(或者,前述之觸發資料)也可包括所述儲存槽編號與標籤值之資訊,以告知主機介面118目前儲存於緩衝記憶體116內之資料所對應之儲存槽編號與標籤值之相關資訊。接著,步驟S310~S314為主機介面118內部的操作,以完成既定資料之第二階段資料傳輸。
步驟S310:由主機介面118之描述符池180接收並暫存該等描述符。於本發明之一些實施例中,描述符池180可由一或多個暫存器實施。
步驟S312:由路由管理裝置170依序自描述符池180所暫存之描述符中根據儲存槽編號與標籤值選擇出一描述符作為一最新的描述符,並將最新的描述符提供給DMA引擎160。需注意的是,於本發明之實施例中,路由管理裝置170可包括複數路由引擎(顯示於第4圖),路由引擎會對應於不同的儲存槽編號,各路由引擎用以專門處理標記有其所對應之儲存槽編號之描述符,因此,步驟S312的操作也可以是由各路由引擎根據標籤值之既定順序自描述符池180所暫存之描述符中選擇出一描述符。
步驟S314:由直接記憶體存取引擎根據最新的描述符讀取緩衝記憶體116,以取得既定資料之至少一部份。
於取得既定資料或既定資料之至少一部份後,DMA引擎160可進一
步將取得之資料傳輸至主機介面118內部之資料緩衝器或匯流排。接著,透過主機介面118將既定資料之各部份以正確的順序(即,前述資料的原始順序)結合並依循前述標準通訊協定(例如,UFS介面標準)包裝後,將既定資料提供給主機裝置130。
第4圖係顯示根據本發明之一實施例所述之配置於主機介面內之直接記憶體存取引擎、路由管理裝置與描述符池等裝置之範例方塊圖。於本發明之實施例中,微處理器112可直接並持續將描述符提供給描述符池480。例如,微處理器112可直接響應於取得或收集到的存取資訊產生並輸出各存取資訊所對應的一描述符,因此,於本發明之實施例中,微處理器112可按照取得存取資訊的時間先後順序產生並輸出各存取資訊所對應的描述符,並直接將描述符提供給描述符池480。
路由管理裝置470可包括一描述符輸出裝置471以及複數路由引擎472-1、472-2...472-(n),其中n為一正整數。於本發明之實施例中,可將不同的儲存槽編號分配給不同的路由引擎,因此,路由引擎472-1、472-2...472-(n)可分別對應於不同的儲存槽編號,用以分別自描述符池480所暫存之複數描述符中根據標籤值的一既定順序檢索出具有對應之儲存槽編號之一描述符作為一目標描述符。描述符輸出裝置471耦接路由引擎472-1、472-2...472-(n),並且可扮演一仲裁者的角色,用以自路由引擎472-1、472-2...472-(n)接收各路由引擎所檢索出之目標描述符,並依序選擇這些目標描述符之一者作為要輸出的最新的描述符,用以依序將這些目標描述符輸出。例如,描述符輸出裝置471可以循環(round robin)的方式輪流輸出自路由引擎472-1、472-2...472-(n)所檢索出之目標描述符作為最新的描述符。於其他實施例中,路由引擎472-1、472-2...472-(n)也可被賦予不同的優先權,描述符輸出裝置471可根據優先權順序依序選擇對應的目標描述符輸出作為最新的描述符。
直接記憶體存取引擎460可包括一直接記憶體存取管理裝置461(以下稱DMA管理裝置461)與一直接記憶體存取裝置462(以下稱DMA裝置462)。DMA管理裝置461可自描述符輸出裝置471依序接收目前所取得之最新的描述符,並且將最新的描述符轉譯為DMA裝置462所需或者可識別的資訊後,將轉譯之資訊提供給DMA裝置462。DMA裝置462可根據DMA管理裝置461所提供之資訊讀取緩衝記憶體116,以取得主機裝置所欲讀取之資料之至少一部份。
於本發明之一些實施例中,DMA裝置462於完成資料傳輸後,可回報資料傳輸作業之一狀態,而主機介面118可更包括一狀態緩存器490,用以暫存由DMA裝置462回報之狀態。微處理器112可存取狀態緩存器490,以取得所需的狀態資訊。
第5圖係顯示根據本發明之一實施例所述之於主機介面內的描述符處理流程示意圖。延續第2圖所示之存取資訊集合200範例,觸發資料集合520為微處理器112根據取得之存取資訊集合200內之存取資訊所產生的觸發資料之一集合,或者,如上所述之也可以代表微處理器112根據存取資訊或觸發資料或其他必須資訊所對應產生之描述符之一集合。描述符集合540為描述符池480內所儲存之描述符之一集合。由第5圖中可看出,於本發明之實施例中,由於微處理器112可直接並持續將描述符提供給描述符池480,因此,沿著時間軸觀察,觸發資料集合520內所對應的資料順序與描述符集合540內所對應的資料順序相同。
如上所述,由主機裝置130所發出之一讀取指令會被分配一儲存槽編號Slot_Num,而路由引擎472-1、472-2...472-(n)可分別對應於不同的儲存槽編號,用以專門處理標記有其所對應之儲存槽編號之描述符。假設路由引擎472-1(於第5圖中標記為路由引擎1)對應於儲存槽編號0,路由引擎472-2(於第5圖中標記為路由引擎2)對應於儲存槽編號1,路由引擎472-3(於第5圖中標記為路由
引擎3)對應於儲存槽編號3,則路由引擎472-1會自描述符池480所暫存之複數描述符中根據標籤值的既定順序依序檢索出具有儲存槽編號0之描述符,路由引擎472-2會自描述符池480所暫存之複數描述符中根據標籤值的既定順序依序檢索出具有儲存槽編號1之描述符,並以此類推。
於本發明之實施例中,既定順序可為一連續順序或一遞增順序。路由引擎1、2、3可根據標籤值的既定順序設定要檢索的目標描述符(例如,設定目前要檢索的儲存槽編號及標籤值),使得目標描述符所指之資料或部分為接續先前檢索出的描述符所指之資料的下一筆資料或部分,並分別自描述符池480所暫存之複數描述符中檢索出目標描述符,此目標描述符具有路由引擎所對應之儲存槽編號及目前所設定的標籤值。由路由引擎1、2、3依序檢索出的目標描述符將提供給描述符輸出裝置471,由描述符輸出裝置471依序選擇其中一者輸出。
第5圖右側顯示出分別由路由引擎1、2、3依序檢索出的描述符,以及依序由描述符輸出裝置471輸出的描述符,其下方的由右而左的箭頭代表時間軸,以顯示出輸出描述符的時間先後順序,方格內填入的數值(X,Y)代表儲存槽編號為X且標籤值為Y的存取資料所對應的描述符。如圖所示,路由引擎1、2、3會依照標籤值的既定順序檢索出對應的描述符,而描述符輸出裝置471則會依照其自訂的仲裁機制依序將描述符提供給直接記憶體存取引擎。需注意的是,雖此範例中既定順序為一連續順序或一遞增順序,然而於本發明之另一些實施例中,既定順序也可以是一遞減順序。
於本發明之實施例中,一讀取指令所對應之既定資料的複數部分可以一既定順序被分配不同的標籤值,而不同於第2圖之實施範例,於第5圖之實施範例中,微處理器112不理會或不考慮標籤值的既定順序,而僅按照取得存取資訊的時間先後順序輸出各存取資訊所對應的描述符。即,微處理器112可響應於最新取得之存取資訊即時輸出對應的描述符。接著,再利用路由管理裝置內
的路由引擎依既定順序檢索出的排序正確的描述符,使得主機介面118之資料傳輸操作可以正確的順序(即,前述資料的原始順序或前述邏輯位址遞增(或遞減)的順序)被觸發。如此一來,微處理器112可有效率地於更短的時間內完成觸發主機介面118執行資料傳輸的作業,無須耗費時間等待存取資訊。此外,DMA引擎160也無需費時等待描述符的到來,而是可以連續執行資料傳輸操作,因此可有效提升記憶體控制器110的資料處理效率及讀取操作的效率。
以上所述僅為本發明之較佳實施例,凡依本發明申請專利範圍所做之均等變化與修飾,皆應屬本發明之涵蓋範圍。
100:資料儲存裝置
110:記憶體控制器
112:微處理器
112C:程式碼
112M:唯讀記憶體
114:記憶體介面
116:緩衝記憶體
118:主機介面
120:記憶體裝置
130:主機裝置
140:錯誤更正碼引擎
150,160:直接記憶體存取引擎
170:路由管理裝置
180:描述符池
Claims (15)
- 一種記憶體控制器,耦接一記憶體裝置與一主機裝置,用以控制該記憶體裝置的存取操作,包括:一緩衝記憶體;一記憶體介面,耦接該緩衝記憶體與該記憶體裝置,用以響應於一讀取指令讀取該記憶體裝置,其中該讀取指令係由該主機裝置發出以讀取一既定資料,該既定資料包括複數部分,該等部分被分配不同的標籤值,該記憶體介面自該記憶體裝置分別讀出該既定資料之該等部分,將讀出之該既定資料之該等部分寫入該緩衝記憶體,以完成該既定資料之該等部分之資料傳輸,並且響應於該既定資料之各部分之資料傳輸之完成依序向一微處理器提供各部分所對應之一存取資訊;該微處理器,響應於該既定資料之該等存取資訊之取得對應地產生複數描述符,其中該微處理器直接按照取得該等存取資訊的時間先後順序產生並依序輸出該等存取資訊所對應的該等描述符作為該等描述符之其中一者;以及一主機介面,耦接該主機裝置與該緩衝記憶體,包括:一描述符池,用以接收並暫存該等描述符;一路由管理裝置,耦接該描述符池,用以依序自該描述符池所暫存之該等描述符中根據該等標籤值選擇出該等描述符之其中一者作為一最新的描述符,並將該最新的描述符提供給一直接記憶體存取引擎;以及該直接記憶體存取引擎,耦接該路由管理裝置,用以根據該最新的描述符讀取該緩衝記憶體,以取得該既定資料之至少一部份。
- 如請求項1所述之記憶體控制器,其中該路由管理裝置包括:複數路由引擎,該等路由引擎對應於不同的儲存槽編號,用以分別自該描 述符池所暫存之該等描述符中根據該等標籤值的一既定順序檢索出具有對應之該儲存槽編號之該等描述符之其中一者作為一目標描述符;以及一描述符輸出裝置,耦接該等路由引擎,用以自該等路由引擎接收該等目標描述符,並依序選擇該等目標描述符之一者作為該最新的描述符。
- 如請求項2所述之記憶體控制器,其中該既定順序為一遞增順序。
- 如請求項2所述之記憶體控制器,其中該既定資料之該等部分被分配相同的儲存槽編號。
- 如請求項2所述之記憶體控制器,其中不同的讀取指令對應於不同的儲存槽編號。
- 如請求項4所述之記憶體控制器,其中由該記憶體介面所提供各部分所對應之該存取資訊包括各部分所對應之該儲存槽編號與該標籤值。
- 如請求項2所述之記憶體控制器,其中該既定資料之該等部分被分配不同但連續的標籤值,該微處理器不理會該等標籤值的該既定順序而僅按照取得該等存取資訊的時間先後順序輸出各存取資訊所對應的該描述符。
- 一種資料處理方法,包括:響應於一讀取指令讀取一記憶體裝置,以分別讀出一既定資料所包括之複數部分,其中該讀取指令係由一主機裝置發出以讀取該既定資料,並且該等部分被分配不同的標籤值; 將分別讀出之該既定資料之該等部分寫入一記憶體控制器之一緩衝記憶體,以完成該既定資料之該等部分之資料傳輸;響應於該既定資料之各部分之資料傳輸之完成依序提供各部分所對應之一存取資訊;取得該既定資料之該等存取資訊並按照取得該等存取資訊的時間先後順序對應地產生複數描述符;由一描述符池接收並暫存該等描述符;由一路由管理裝置依序自該描述符池所暫存之該等描述符中根據該等標籤值選擇出該等描述符之其中一者作為一最新的描述符,並將該最新的描述符提供給一直接記憶體存取引擎;以及由該直接記憶體存取引擎根據該最新的描述符讀取該緩衝記憶體,以取得該既定資料之至少一部份。
- 如請求項8所述之資料處理方法,其中該描述符池、該路由管理裝置以及該直接記憶體存取引擎係設置於該記憶體控制器之一主機介面內。
- 如請求項8所述之資料處理方法,更包括:將不同的儲存槽編號分配給該路由管理裝置之複數路由引擎;由該等路由引擎分別自該描述符池所暫存之該等描述符中根據該等標籤值的一既定順序檢索出具有對應之該儲存槽編號之該等描述符之其中一者作為一目標描述符;以及自該等路由引擎接收該等目標描述符,並依序選擇該等目標描述符之一者做為該最新的描述符。
- 如請求項10所述之資料處理方法,其中該既定順序為一遞增順序。
- 如請求項10所述之資料處理方法,其中該既定資料之該等部分被分配相同的儲存槽編號。
- 如請求項10所述之資料處理方法,其中不同的讀取指令對應於不同的儲存槽編號。
- 如請求項12所述之資料處理方法,其中各部分所對應之該存取資訊包括各部分所對應之該儲存槽編號與該標籤值。
- 如請求項8所述之資料處理方法,其中該既定資料之該等部分以一既定順序被分配不同的標籤值,並且於執行取得該既定資料之該等存取資訊並按照取得該等存取資訊的時間先後順序對應地產生該等描述符之步驟時,不考慮該等標籤值的該既定順序。
Priority Applications (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| TW111110900A TWI798034B (zh) | 2022-03-23 | 2022-03-23 | 記憶體控制器與資料處理方法 |
| CN202210380935.1A CN116841457A (zh) | 2022-03-23 | 2022-04-11 | 存储器控制器与数据处理方法 |
| US18/116,801 US12223173B2 (en) | 2022-03-23 | 2023-03-02 | Memory controller and data processing method for processing disordered read-out data |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| TW111110900A TWI798034B (zh) | 2022-03-23 | 2022-03-23 | 記憶體控制器與資料處理方法 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| TWI798034B true TWI798034B (zh) | 2023-04-01 |
| TW202338591A TW202338591A (zh) | 2023-10-01 |
Family
ID=86945101
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| TW111110900A TWI798034B (zh) | 2022-03-23 | 2022-03-23 | 記憶體控制器與資料處理方法 |
Country Status (3)
| Country | Link |
|---|---|
| US (1) | US12223173B2 (zh) |
| CN (1) | CN116841457A (zh) |
| TW (1) | TWI798034B (zh) |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN1612111A (zh) * | 2003-10-31 | 2005-05-04 | 原相科技股份有限公司 | 资料流转换方法及其缓冲装置 |
| TW201246083A (en) * | 2010-12-20 | 2012-11-16 | Marvell World Trade Ltd | Descriptor scheduler |
| TW201800931A (zh) * | 2016-06-17 | 2018-01-01 | 愛思開海力士有限公司 | 資料儲存裝置及其操作方法 |
| TW201911055A (zh) * | 2017-07-27 | 2019-03-16 | 群聯電子股份有限公司 | 資料儲存方法、記憶體控制電路單元及記憶體儲存裝置 |
Family Cites Families (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2010157129A (ja) * | 2008-12-27 | 2010-07-15 | Toshiba Information Systems (Japan) Corp | 半導体記憶装置 |
| US10657087B2 (en) * | 2018-05-31 | 2020-05-19 | Toshiba Memory Corporation | Method of out of order processing of scatter gather lists |
-
2022
- 2022-03-23 TW TW111110900A patent/TWI798034B/zh active
- 2022-04-11 CN CN202210380935.1A patent/CN116841457A/zh active Pending
-
2023
- 2023-03-02 US US18/116,801 patent/US12223173B2/en active Active
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN1612111A (zh) * | 2003-10-31 | 2005-05-04 | 原相科技股份有限公司 | 资料流转换方法及其缓冲装置 |
| TW201246083A (en) * | 2010-12-20 | 2012-11-16 | Marvell World Trade Ltd | Descriptor scheduler |
| TW201800931A (zh) * | 2016-06-17 | 2018-01-01 | 愛思開海力士有限公司 | 資料儲存裝置及其操作方法 |
| TW201911055A (zh) * | 2017-07-27 | 2019-03-16 | 群聯電子股份有限公司 | 資料儲存方法、記憶體控制電路單元及記憶體儲存裝置 |
Also Published As
| Publication number | Publication date |
|---|---|
| TW202338591A (zh) | 2023-10-01 |
| CN116841457A (zh) | 2023-10-03 |
| US20230305711A1 (en) | 2023-09-28 |
| US12223173B2 (en) | 2025-02-11 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US8812784B2 (en) | Command executing method, memory controller and memory storage apparatus | |
| TWI592865B (zh) | 資料讀取方法、資料寫入方法及使用所述方法的儲存控制器 | |
| TWI679537B (zh) | 資料移動方法及儲存控制器 | |
| US10120615B2 (en) | Memory management method and storage controller using the same | |
| US9176865B2 (en) | Data writing method, memory controller, and memory storage device | |
| US9164833B2 (en) | Data storage device, operating method thereof and data processing system including the same | |
| US9021218B2 (en) | Data writing method for writing updated data into rewritable non-volatile memory module, and memory controller, and memory storage apparatus using the same | |
| US20200057725A1 (en) | Data storage device and operating method thereof | |
| US9304900B2 (en) | Data reading method, memory controller, and memory storage device | |
| US10324651B2 (en) | Data transmission method, and storage controller and list management circuit using the same | |
| CN113900582B (zh) | 数据处理方法及对应的数据储存装置 | |
| US20180004413A1 (en) | Mapping table updating method, memory control circuit unit and memory storage device | |
| CN106775436B (zh) | 数据存取方法、存储器控制电路单元与存储器 | |
| US20210397364A1 (en) | Storage device and operating method thereof | |
| US11782638B2 (en) | Storage device with improved read latency and operating method thereof | |
| CN112540932B (zh) | 存储控制器以及写入辅助方法 | |
| US12277317B2 (en) | Memory controller, bridge device and method for transferring command and data between memory controllers | |
| TWI798034B (zh) | 記憶體控制器與資料處理方法 | |
| US12321297B2 (en) | Bridge device and method for transferring command and data between a host device and a data storage device | |
| TW201908957A (zh) | 資料寫入方法、記憶體控制電路單元及記憶體儲存裝置 | |
| US9009389B2 (en) | Memory management table processing method, memory controller, and memory storage apparatus | |
| TWI813362B (zh) | 部分抹除管理方法、記憶體儲存裝置及記憶體控制電路單元 | |
| TWI584292B (zh) | 記憶體抹除方法、記憶體控制電路單元及記憶體儲存裝置 | |
| TWI830660B (zh) | 資料儲存裝置與資料處理方法 | |
| CN110633224A (zh) | 逻辑转实体表更新方法及存储控制器 |