TWI525430B - 快取記憶體裝置以及該裝置的資料處理方法 - Google Patents
快取記憶體裝置以及該裝置的資料處理方法 Download PDFInfo
- Publication number
- TWI525430B TWI525430B TW097126166A TW97126166A TWI525430B TW I525430 B TWI525430 B TW I525430B TW 097126166 A TW097126166 A TW 097126166A TW 97126166 A TW97126166 A TW 97126166A TW I525430 B TWI525430 B TW I525430B
- Authority
- TW
- Taiwan
- Prior art keywords
- data
- body portion
- processing method
- size
- data processing
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0893—Caches characterised by their organisation or structure
- G06F12/0895—Caches characterised by their organisation or structure of parts of caches, e.g. directory or tag array
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/0608—Saving storage space on storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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; CALCULATING OR 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; CALCULATING OR 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; CALCULATING OR 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/0683—Plurality of storage devices
- G06F3/0685—Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/0683—Plurality of storage devices
- G06F3/0688—Non-volatile semiconductor memory arrays
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/20—Employing a main memory using a specific memory technology
- G06F2212/202—Non-volatile memory
- G06F2212/2022—Flash memory
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Description
本發明是有關於半導體元件,以及特別是有關於能夠改善主機與非揮發性記憶體裝置之間的資料寫/讀效能的快取記憶體裝置(cache memory device)以及此快取記憶體裝置的資料處理方法。
包含串列先進技術附件(Serial Advanced Technology Attachment,SATA)導向的固態碟片(Solid State Disk,SSD)的系統中之主機(host)的資料傳輸速度可能高於使用其他記憶體裝置(例如,基於非揮發性記憶體裝置的NAND式電性可抹除可程式化唯讀記憶體(Electrically Erasable and Programmable Read Only Memory,EEPROM))的系統。因此,包含串列先進技術附件導向的固態碟片的系統可能需要大容量的緩衝器(buffer)來達成資料傳輸的流暢。
圖1是包含緩衝器的習知非揮發性記憶體系統的方塊圖。請參照圖1,此非揮發性記憶體系統10包括主機20、緩衝器30以及非揮發性記憶體裝置40。
非揮發性記憶體系統10中的緩衝器30具有大容量,能夠儲存從主機20傳輸到非揮發性記憶體裝置40的資料,因為主機20的資料處理速度遠遠快於非揮發性記憶體裝置40。緩衝器30是臨時儲存從主機20接收的資料以及從非揮發性記憶體裝置40前往主機20的資料。緩衝器30
可以揮發性記憶體裝置,例如,同步動態隨機存取記憶體(Synchronous Dynamic Random Access Memory,SDRAM),來實現。
非揮發性記憶體裝置40接收並儲存從緩衝器30輸出的資料。此非揮發性記憶體裝置40包括:記憶胞陣列(memory cell array)41,其具有像NAND式電性可抹除且可程式化的唯讀記憶體之類的非揮發性記憶胞;以及頁面緩衝器(page buffer)43。記憶胞陣列41藉由頁面緩衝器43來與緩衝器30交換資料。非揮發性記憶體10的效率不夠高,因為緩衝器30僅用來緩衝傳送至非揮發性記憶體裝置40的資料。
頁面緩衝器43是以頁面(page)為單位來讀或寫資料。每個頁面可包含n個磁區(sector),其中n是自然數,且等於8。例如,當緩衝器30與非揮發性記憶體裝置40之間有四個通道(channel),且資料穿過這些通道從緩衝器30傳輸至非揮發性記憶體裝置40時,非揮發性記憶體系統10需要具有32個磁區(=4×8個磁區)的頁面才能最佳地操作。
然而,當從緩衝器30傳輸至非揮發性記憶體裝置40的資料的大小小於32個磁區時,非揮發性記憶體系統10的效率就會降低,因為四個通道中的一些通道可能沒有使用。
因此,需要一種能夠改善主機與非揮發性記憶體裝置之間的資料寫/讀效能的快取記憶體裝置、此快取記憶體裝
置的操作方法以及包含此快取記憶體裝置的系統。
本發明的一個實施例包括快取記憶體裝置的一種資料處理方法。此資料處理方法包括:判斷欲接收的資料的類型;以及根據判斷出的資料類型來執行“傳送所接收的資料的頭部(head)到第一快取記憶區”、“傳送所接收的資料的主體(body)到第二快取記憶區”以及“傳送所接收的資料的尾部(tail)到第一快取記憶區”至少其中之一。
該判斷包括:接收邏輯塊位址(logical block address)值與磁區計數值,根據所接收的邏輯塊位址值與超頁面值(super page value)來計算偏移量(offset),以及根據計算出的偏移量以及所接收的磁區計數值相對於超頁面值的比率來判斷欲接收的資料的類型。
該執行可包括:根據計算出的偏移量與判斷出的資料類型,執行“傳送頭部或尾部到第一指標所指定的第一快取記憶區”與“傳送主體到第二指標所指定的第二快取記憶區”至少其中之一。
快取記憶體裝置的資料處理方法可更包括:藉由通道將儲存在第二快取記憶區中的主體傳送到外部非揮發性記憶體裝置。
偏移量可以是用所接收的邏輯塊位址值除以超頁面值而得出的餘數(remainder)。超頁面值可用快取記憶體裝置與外部非揮發性記憶體裝置之間的通道數量乘以磁區數量而得出,其中磁區數量可儲存在外部非揮發性記憶體裝
置的頁面緩衝器中。
本發明的一個實施例包括快取記憶體裝置的一種資料處理方法。此資料處理方法包括:判斷所接收的資料的資料類型,此資料類型表明所接收的資料是否包含主體;以及根據判斷出的所接收之資料的類型,將不包含主體的所接收的資料之一傳送至第一快取記憶區,或者將包含主體的所接收的資料傳送至第二快取記憶區。
資料類型的判斷包括:接收邏輯塊位址值與磁區計數值;根據所接收的邏輯塊位址值與超頁面值來計算偏移量;以及根據計算出的偏移量以及所接收的磁區計數值相對於超頁面值的比率來產生資料類型。快取記憶體的資料處理方法可更包括藉由通道來將儲存在第二快取記憶區中的包含主體的資料傳送至外部非揮發性記憶體裝置。
本發明的一個實施例包括一種快取記憶體裝置。此快取記憶體裝置包括:記憶體,包含第一快取記憶區與第二快取記憶區;以及控制方塊。此控制方塊判斷欲接收的資料的類型,並且根據欲接收的資料的類型來執行“傳送所接收的資料的頭部到第一快取記憶區”、“傳送所接收的資料的主體到第二快取記憶區”以及“傳送所接收的資料的尾部到第一快取記憶區”至少其中之一。
控制方塊可包括偏移量計算器、判斷單元以及控制器。偏移量計算器是根據邏輯塊位址值與超頁面值來計算偏移量。判斷單元是根據計算出的偏移量以及磁區計數值相對於超頁面值的比率來判斷欲接收的資料的類型。根據
偏移量計算器所計算出的偏移量以及從判斷單元輸出的判斷結果,控制器控制著“傳送頭部或尾部到第一指標所指定的第一快取記憶區”與“傳送主體到第二指標所指定的第二快取記憶區”至少其中之一。
本發明的一個實施例包括一種快取記憶體裝置。此快取記憶體裝置包括:記憶體,包含第一快取記憶區與第二快取記憶區;以及控制方塊。此控制方塊判斷欲接收的資料是否包含主體,以及根據此判斷來將不包含主體的所接收的資料傳送至第一快取記憶區,或者將包含主體的所接收的資料傳送至第二快取記憶區。
此控制方塊可包括偏移量計算器、判斷單元以及控制器。偏移量計算器是根據邏輯塊位址值與超頁面值來計算偏移量。判斷單元是根據計算出的偏移量以及磁區計數值相對於超頁面值的比率來判斷欲接收的資料是否包含主體。控制器接收資料,並且根據從判斷單元輸出的表明欲接收的資料是否包含主體的判斷結果,將不包含主體的所接收的資料傳送至第一指標所指定的第一快取記憶區,或者將包含主體的所接收的資料傳送至第二指標所指定的第二快取記憶區。
本發明的一個實施例包括一種系統,此系統包括快取記憶體裝置、非揮發性記憶體裝置以及連接在快取記憶體裝置與非揮發性記憶體裝置之間的多條通道。快取記憶體裝置包括:記憶體,包含第一快取記憶區與第二快取記憶區;以及控制方塊。
此控制方塊判斷欲接收的資料的類型,並且根據所接收的資料的類型來控制著“將所接收的資料的頭部傳送至第一快取記憶區”、“將所接收的資料的主體傳送至第二快取記憶區”或“將所接收的資料的尾部傳送至第一快取記憶區”至少其中之一。此控制方塊藉由多條通道中的至少一條通道來將儲存在第二快取記憶區中的主體傳送至非揮發性記憶體裝置。
本發明的一個實施例包括一種系統,此系統包括快取記憶體裝置、非揮發性記憶體裝置以及連接在快取記憶體裝置與非揮發性記憶體裝置之間的多條通道。快取記憶體裝置包括:記憶體,包含第一快取記憶區與第二快取記憶區;以及控制方塊。
此控制方塊判斷欲接收的資料是否包含主體,並且根據判斷的結果來將不包含主體的所接收的資料傳送至第一快取記憶區,或將包含主體的所接收的資料傳送至第二快取記憶區。此控制方塊藉由多條通道中的至少一條通道來將儲存在第二快取記憶區中的包含主體的資料傳送至非揮發性記憶體裝置。
為讓本發明之上述和其他目的、特徵和優點能更明顯易懂,下文特舉較佳實施例,並配合所附圖式,作詳細說明如下。
下面將參照所附圖式來詳細描述本發明,本發明的實施例繪示於這些圖式中。整個圖式中,相同的參考數字代
表相同的元件。
圖2是依據本發明之一實施例的包含快取記憶體裝置的非揮發性記憶體系統的方塊圖。請參照圖2,非揮發性記憶體系統100包括主機110、快取記憶體裝置120以及非揮發性記憶體裝置150。此非揮發性記憶體系統100可以是(例如)電腦系統、聲頻系統、家庭自動化(home automation)或移動式電子裝置。
主機110與快取記憶體裝置120可採用串列先進技術附件(SATA)協定(protocol)來交換資料。串列先進技術附件(SATA)協定導向的固態碟片包括快取記憶體裝置120與非揮發性記憶體裝置150。主機110是藉由快取記憶體裝置120來與非揮發性記憶體裝置150交換資料。主機110輸出邏輯塊位址(logical block address,LBA)值與磁區計數值至快取記憶體裝置120,且將一種寫資料DATA輸出至快取記憶體裝置120。
快取記憶體裝置120臨時儲存主機110與非揮發性記憶體裝置161至168之間傳輸的資料。快取記憶體裝置120包括控制方塊130與記憶體140。控制方塊130接收邏輯塊位址值與磁區計數值,根據所接收的邏輯塊位址值與超頁面值來計算偏移量,計算所接收的磁區計數值相對於超頁面值的比率,以及根據計算出的偏移量與計算出的比率來判斷欲接收的資料的類型(或組態)。
資料的類型可分為七種不同類型。例如,資料類型可包括:(1)只包含頭部的資料;(2)只包含主體的資料;
(3)只包含尾部的資料;(4)包含頭部與主體的資料;(5)包含頭部與尾部的資料;(6)包含主體與尾部的資料;以及(7)包含頭部、主體與尾部的資料。
判斷完將欲接收的資料的類型之後,控制方塊130可接收資料DATA。根據計算出的偏移量與計算出的比率,該控制方塊130將所接收的資料DATA中包含的頭部傳送到第一指標Pointer1所指定的第一快取記憶區141,將所接收的資料DATA中包含的主體傳送到第二指標Pointer2所指定的第二快取記憶區143,或者將所接收的資料DATA中包含的尾部傳送到第一指標Pointer1所指定的第一快取記憶區141。
記憶體140可以同步動態隨機存取記憶體(SDRAM)或雙倍資料速率(double data rate,DDR)同步動態隨機存取記憶體之類的揮發性記憶體來實現。記憶體140包括:第一快取記憶區141,儲存頭部與尾部至少其中之一;以及第二快取記憶區143,儲存至少一個主體。快取記憶體裝置120與非揮發性記憶體裝置150之間有n條通道151、153、155及157,其中n是自然數(例如,n可等於4)。快取記憶體裝置120與非揮發性記憶體裝置150是藉由這n條通道151、153、155及157中的至少一條通道來交換資料。
多個非揮發性記憶體161與165、162與166、163與167以及164與168連接到n條通道151、153、155及157中的每條通道。這些非揮發性記憶體161與165、162與
166、163與167以及164與168分別包括記憶胞陣列11與頁面緩衝器13。
記憶胞陣列11包括多個電性可抹除且可程式化的唯讀記憶體(EEPROM),且這些電性可抹除且可程式化的唯讀記憶體可分別以單層胞(Single Level Cell,SLC)或多層胞(Multi Level Cell,MLC)來實現。
頁面緩衝器13可儲存m個磁區,其中m是自然數(例如,m=8)。例如,磁區可以是k個位元組,其中k是自然數(例如,k=512或1024)。記憶胞陣列11與快取記憶體裝置120是藉由對應於頁面緩衝器13的通道來交換資料。第一快取記憶區141或第二快取記憶區143包括多個單元記憶區,且這些單元記憶區分別具有一超頁面尺寸。
例如,超頁面尺寸(=n×m)可用連接在快取記憶體裝置120與非揮發性記憶體裝置150之間的通道的數量(例如,n=4)乘以磁區的數量(例如,m=8)來確定,其中磁區的數量可儲存在非揮發性記憶體161~168之一的頁面緩衝器13中。依據本發明之一實施例的超頁面尺寸是32個磁區。關於32個磁區的超頁面尺寸,“32”是表示超頁面尺寸值。超頁面尺寸可與主體尺寸相同。
圖3是依據本發明之一實施例以用來說明資料分類方法的示意圖,圖4是圖2所示之包含控制方塊130的快取記憶體裝置120的方塊圖,以及圖5是依據本發明之一實施例的快取記憶體裝置之資料處理方法的流程圖。下面將參照圖2、圖3、圖4以及圖5來描述快取記憶體裝置120
的資料處理方法。
該控制方塊130包括一設定單元201、偏移量計算器203、判斷單元205以及控制器207。偏移量計算器203與判斷單元205接收從設定單元201輸出的超頁面尺寸值(例如,SPV=32)。該設定單元201可以如暫存器(register)之類的資料儲存元件來實現,且超頁面尺寸值(例如,SPV=32)可藉由硬體或軟體來設定。
快取記憶體裝置120接收從主機110輸出的邏輯塊位址值(例如,“6”)與磁區計數值(例如,“80”)(圖5中的步驟S10)。該控制方塊130中的偏移量計算器203用所接收的邏輯塊位址值(例如,6)除以超頁面尺寸值(例如,SPV=32)來計算出餘數(例如,6),也就是偏移量(圖5中的步驟S20)。
該控制方塊130中的判斷單元205計算出所接收的磁區計數值(例如,80)相對於超頁面尺寸值(例如,SPV=32)的比率,且根據偏移量計算器203所計算出的偏移量以及計算出的比率來判斷欲接收的資料DATA的類型(圖5中的步驟S20)。偏移量計算器203與判斷單元205可包括判斷方塊。
例如,當邏輯塊位址值(LBA)是6且磁區計數值是80時,根據偏移量計算器203計算出的偏移量(例如,6)以及計算出的比率,該判斷單元205可判斷出欲接收的資料是否包含頭部、主體與尾部。
圖3中的每個數字對應於可儲存每個磁區的記憶體儲
存區。在圖3中,為了界定頭部、主體與尾部,儲存頭部與尾部至少其中之一的第一快取記憶區不必和儲存主體的第二快取記憶區分開,這不同於圖2和圖4。
當邏輯塊位址值是6且磁區計數值是80時,偏移量計算器203所計算出的偏移量是6。然後,可以磁區為單位將對應於磁區計數值“80”的資料(即,包含80個磁區的資料)順序地儲存到數字“6”至“85”所標示的區域中。例如,數字“6”至“31”所標示的區域中儲存的磁區可界定為頭部(HEAD),數字“32”至“63”所標示的區域中儲存的磁區可界定為主體(BODY),以及數字“64”至“85”所標示的區域中儲存的磁區可界定為尾部(TAIL)。
在本發明的一個實施例中,頭部與尾部至少其中之一是儲存在第一指標Pointer1所指定的第一快取記憶區141中,且至少一個主體是儲存在第二指標Pointer2所指定的第二快取記憶區143中。
在本發明的另一實施例中,當所接收的邏輯塊位址值是0且所接收的磁區計數值是64時,根據偏移量計算器203所計算出的偏移量(例如,0)以及計算出的比率,該判斷單元205可判斷出欲接收的資料只包含兩個主體。
在本發明的另一實施例中,當所接收的邏輯塊位址值是38且所接收的磁區計數值是2時,根據偏移量計算器203所計算出的偏移量(例如,6)以及計算出的比率,判斷單元205可判斷出欲接收的資料只包含頭部。在本發明的又一個實施例中,當所接收的邏輯塊位址值是32且所接
收的磁區計數值是8時,根據偏移量計算器203所計算出的偏移量(例如,0)以及計算出的比率,該判斷單元205可判斷出欲接收的資料只包含尾部。
例如,頭部是指具有偏移量與所接收的資料且所接收的資料之資料尺寸小於超頁面尺寸的資料,主體是指具有所接收的資料而不具有偏移量且所接收的資料之資料尺寸是超頁面尺寸的倍數的資料,以及尾部是指具有所接收的資料而不具有偏移量且所接收的資料之資料尺寸小於超頁面尺寸的資料。
當接收到從主機110輸出的對應於磁區計數值(例如,80)的資料時,根據偏移量計算器203計算出的偏移量(例如,6)以及判斷單元205的判斷結果ITD,控制器207傳送頭部到第一指標Pointer1所指定的第一快取記憶區141,傳送主體到第二指標Pointer2所指定的第二快取記憶區143,以及傳送尾部到第一指標Pointer1所指定的第一快取記憶區141(圖5中的步驟S30)。判斷結果ITD可基於偏移量與所接收的磁區計數值相對於超頁面尺寸值的比率而得出。
例如,當偏移量存在時,先啟動(activate)頭部旗標(flag),再輸入頭部的第一個磁區。如此一來,根據啟動的頭部旗標以及從偏移量計算器203輸出的偏移量,控制器207將所輸入的頭部DATA的第一個磁區儲存到第一指標Pointer1所指定的第一快取記憶區141中的數字“6”所標示的區域中。
當頭部的第一個磁區被儲存到第一快取記憶區141的數字“6”所標示的區域中時,頭部旗標被停用(deactivate),且主體旗標被啟動。當頭部的最後一個磁區被儲存到第一快取記憶區141的數字“31”所標示的區域中時,控制器207判斷下一個要輸入的磁區是主體的第一個磁區,以回應於啟動的主體旗標。
在頭部的最後一個磁區被完全儲存以及主體的第一個磁區被輸入之前,控制器207將第一指標Pointer1變更為第二指標Pointer2,以回應於啟動的主體旗標。因此,主體的第一個磁區到最後一個磁區可順序地儲存到第二指標Pointer2所指定的第二快取記憶區143中的數字“32”至“63”所標示的區域中。當主體的第一個磁區被儲存到第二快取記憶區143中的數字“32”所標示的區域中時,主體旗標被停用,且尾部旗標被啟動。當主體的最後一個磁區被儲存到第二快取記憶區143中的數字“63”所標示的區域中時,控制器207判斷下一個要輸入的磁區是尾部的第一個磁區,以回應於啟動的尾部旗標。
在主體的最後一個磁區被完全儲存以及尾部的第一個磁區被輸入之前,控制器207將第二指標Pointer2變更為第一指標Pointer1,以回應於啟動的尾部旗標。
因此,尾部的第一個磁區到最後一個磁區可順序地儲存到第一指標Pointer1所指定的第一快取記憶區141中的數字“64”至“85”所標示的區域中。例如,該判斷單元205的判斷結果ITD可包括頭部旗標、主體旗標以及尾部旗
標。控制器207也可根據該判斷單元205的判斷結果ITD來產生頭部旗標、主體旗標以及尾部旗標。在此情形下,控制器207可包括例如暫存器之類的儲存元件,用來儲存頭部旗標、主體旗標以及尾部旗標。
當主體的第一個磁區到最後一個磁區全部都被儲存到第二快取記憶區143中之後,控制器207可將儲存在第二快取記憶區143中的主體(例如,32個磁區)傳送至非揮發性記憶體裝置150(圖5中的步驟S40)。控制方塊130可控制儲存在第二快取記憶區143中的主體(例如,32個磁區)被傳送至非揮發性記憶體裝置150的時序。
例如,控制方塊130可用通道數量(例如,4)來劃分儲存在第二快取記憶區143中的主體(例如,32個磁區),並且藉由多條通道151、153、155及157中的每條通道來傳送劃分後的每8個磁區到每個記憶體161、162、163及164。
圖6(a)至圖6(e)繪示為可用來解釋利用圖2所示之快取記憶體裝置來對非揮發性記憶體裝置執行資料讀寫操作的流程圖。請參照圖2、圖4及圖6,如果主機110依次輸出一種寫命令、邏輯塊位址值“0”與磁區計數值“64”,輸出一種讀命令、邏輯塊位址值“38”與磁區計數值“2”,以及輸出一種讀命令、邏輯塊位址值“32”與磁區計數值“8”,那麼依據本發明之一實施例的快取記憶體裝置120之操作可解釋如下。
該控制方塊130接收一種寫命令、邏輯塊位址值“0”
與磁區計數值“64”。根據邏輯塊位址值“0”、磁區計數值“64”與超頁面尺寸值“32”,該控制方塊130計算出偏移量(例如,0),且判斷出欲接收的資料DATA只包含兩個主體。
根據啟動的主體旗標,該控制方塊130將所接收的資料(即,包含64個磁區的兩個主體)儲存到第二指標Pointer2所指定的第二快取記憶區143中的從0到63的區域中(圖6(a))。該控制方塊130將這64個磁區中的16個磁區分別傳送至每條通道151、153、155及157(圖6(b))。被傳送至每條通道151、153、155及157的磁區數量是用整個主體尺寸(例如,64個磁區)除以通道數量(例如,4)而得來的。
該控制方塊130接收一種寫命令、邏輯塊位址值“38”與磁區計數值“2”。根據邏輯塊位址值“38”、磁區計數值“2”與超頁面尺寸值“32”,該控制方塊130計算出偏移量(例如,6),並且判斷出欲接收的資料DATA只包含頭部。
根據啟動的頭部旗標與偏移量(例如,6),該控制方塊130將所接收的頭部(例如,兩個磁區)分別儲存到第一指標Pointer1所指定的第一快取記憶區141的第七個記憶區38’與第八個記憶區39’(圖6(c))。在這裡,儲存在第一快取記憶區141的第七個記憶區38’與第八個記憶區39’中的磁區不被傳送至非揮發性記憶體裝置150。
在該控制方塊130的控制下,從記憶胞陣列11輸出的8個磁區被儲存到非揮發性記憶體裝置150的記憶體161
~168之一(例如,記憶體161)的頁面緩衝器13中(圖6(c))。
該控制方塊130接收一種讀命令、邏輯塊位址值“32”與磁區計數值“8”。根據邏輯塊位址值“32”、磁區計數值“8”以及超頁面尺寸值“32”,該控制方塊130計算出偏移量(例如,0),並且判斷出欲從非揮發性記憶體裝置150之記憶體161中讀出的資料只包含尾部。該控制方塊130可從頁面緩衝器13中只讀出數字“32”至“37”所標示之區域中儲存的磁區至第一快取記憶區141(圖6(d)和圖6(e))。
圖7是依據本發明之一實施例的包含快取記憶體裝置的非揮發性記憶體系統的方塊圖,圖8是圖7所示之包含控制方塊的快取記憶體裝置的方塊圖,以及圖9是依據本發明之一實施例的快取記憶體裝置之資料處理方法的流程圖。
請參照圖7、圖8及圖9,快取記憶體裝置121將不包含主體的第一資料傳送至第一指標Pointer1所指定的第一快取記憶區141’或將包含主體的第二資料傳送至第二指標Pointer2所指定的第二快取記憶區143’的過程可說明如下。
偏移量計算器203與判斷單元205接收從設定單元201輸出的超頁面尺寸值(SPV=32)。快取記憶體裝置121接收從主機110輸出的邏輯塊位址值(例如,6)與磁區計數值(例如,80)(圖9中的步驟S11)。偏移量計算器203計算出餘數(或偏移量),此餘數是用所接收的邏輯塊位址值(例如,6)除以超頁面尺寸值(SPV=32)而得
來的(圖9中的步驟S21)。
該判斷單元205計算出所接收的磁區計數值(例如,80)相對於超頁面尺寸值(SPV=32)的比率,並且根據偏移量計算器所計算出的偏移量以及計算出的比率來判斷欲接收的資料DATA是否包含主體(圖9中的步驟S21)。具有偏移量“6”與磁區計數值“80”的資料DATA包含頭部、主體以及尾部。
因此,控制器207’將具有偏移量“6”與磁區計數值“80”的資料DATA傳送至第二指標Pointer2所指定的第二快取記憶區143’(圖9中的步驟S31)。儲存在第二快取記憶區143’中的資料在控制方塊131之控制下被傳送至非揮發性記憶體裝置150(圖9中的步驟S41)。
然而,當控制方塊121從主機110接收邏輯塊位址值(例如,38)與磁區計數值(例如,2)時,此控制方塊121將具有偏移量“6”與磁區計數值“2”的資料傳送至第一指標Pointer1所指定的第一快取記憶區141’(圖9中的步驟S31)。
依據本發明的至少一個實施例的快取記憶體裝置包括儲存主體的儲存區與儲存頭部或尾部至少其中之一的另一儲存區,並且藉由單獨處理主體或包含主體的資料,可改善主機與非揮發性記憶體裝置之間的資料寫/讀效能。
依據本發明的至少一個實施例的快取記憶體裝置可將包含主體的資料儲存到記憶體的儲存區中,並且將所儲存的資料傳送至非揮發性記憶體裝置,藉此來改善主機與非
揮發性記憶體裝置之間的資料寫/讀效能。
雖然本發明已以較佳實施例揭露如上,然其並非用以限定本發明,任何熟習此技藝者,在不脫離本發明之精神和範圍內,當可作些許之更動與潤飾,因此本發明之保護範圍當視後附之申請專利範圍所界定者為準。
10、100‧‧‧非揮發性記憶體系統
11、41‧‧‧記憶胞陣列
13、43‧‧‧頁面緩衝器
20、110‧‧‧主機
30‧‧‧緩衝器
40、150、161~168‧‧‧非揮發性記憶體裝置
120、121‧‧‧快取記憶體裝置
130、131‧‧‧控制方塊
140、140’‧‧‧記憶體
141、143、141’、143’‧‧‧快取記憶區
151、153、155、157‧‧‧通道
201‧‧‧設定單元
203‧‧‧偏移量計算器
205‧‧‧判斷單元
207、207’‧‧‧控制器
DATA‧‧‧資料
BODY‧‧‧主體
HEAD‧‧‧頭部
TAIL‧‧‧尾部
Pointer1、Pointer2‧‧‧指標
SPV‧‧‧超頁面尺寸值
ITD‧‧‧判斷結果
OFFSET‧‧‧偏移量
S10‧‧‧接收邏輯塊位址值與磁區計數值
S20‧‧‧根據邏輯塊位址值與超頁面尺寸值來計算偏移量,根據計算出的偏移量以及磁區計數值相對於超頁面尺寸值的比率來判斷欲接收的資料的類型
S30‧‧‧接收資料,並且根據計算出的偏移量與判斷結果,傳送頭部至第一指標所指定的第一快取記憶區,傳送主體至第二指標所指定的第二快取記憶區,或者傳送尾部至第一指標所指定的第一快取記憶區
S40‧‧‧只將儲存在第二快取記憶區中的主體傳送至外部非揮發性記憶體裝置
S11‧‧‧接收邏輯塊位址值與磁區計數值
S21‧‧‧根據邏輯塊位址值與超頁面尺寸值來計算偏移量,根據計算出的偏移量以及磁區計數值相對超頁面尺寸值的比率來判斷欲接收的資料中是否包含主體
S31‧‧‧接收資料,並將不包含主體的所接收的資料傳送至第一指標所指定的第一快取記憶區,或者將包含主體的所接收的資料傳送至第二指標所指定的第二快取記憶區
S41‧‧‧只將儲存在第二快取記憶區中的主體傳送至外部非揮發性記憶體裝置
圖1是包含緩衝器的習知非揮發性記憶體系統的方塊圖。
圖2是依據本發明之一實施例的包含快取記憶體裝置的非揮發性記憶體系統的方塊圖。
圖3是依據本發明之一實施例用來說明資料分類方法的示意圖。
圖4是圖2所示之包含控制方塊的快取記憶體裝置的方塊圖。
圖5是依據本發明之一實施例的快取記憶體裝置之資料處理方法的流程圖。
圖6(a)至圖6(e)是用來解釋利用圖2所示之快取記憶體裝置來對非揮發性記憶體裝置執行資料讀寫操作的流程圖。
圖7是依據本發明之一實施例的包含快取記憶體裝置的非揮發性記憶體系統的方塊圖。
圖8是圖7所示之包含控制方塊的快取記憶體裝置的方塊圖。
圖9是依據本發明之一實施例的快取記憶體裝置之資
料處理方法的流程圖。
11‧‧‧記憶胞陣列
13‧‧‧頁面緩衝器
100‧‧‧非揮發性記憶體系統
110‧‧‧主機
120‧‧‧快取記憶體裝置
130‧‧‧控制方塊
140‧‧‧記憶體
141、143‧‧‧快取記憶區
150、161~168‧‧‧非揮發性記憶體裝置
151、153、155、157‧‧‧通道
DATA‧‧‧資料
BODY‧‧‧主體
HEAD‧‧‧頭部
TAIL‧‧‧尾部
Pointer1、Pointer2‧‧‧指標
Claims (20)
- 一種資料儲存裝置的資料處理方法,其中資料儲存裝置包括緩衝記憶體以及透過多個通道以各自地連接到該緩衝記憶體的多個非揮發性記憶體裝置,所述資料處理方法包括:從外部裝置接收寫命令、邏輯塊位址(LBA)值與磁區計數值;從該外部裝置接收對應該寫命令的資料;儲存已接收的該資料到該緩衝記憶體,其中已儲存的該資料包括至少一主體部分以及其他部分;以及透過該些通道以從該緩衝記憶體並行地傳送該至少一主體部分到該些非揮發性記憶體裝置,其中每個通道對應到該些非揮發性記憶體裝置的不同組,每組包括該些非揮發性記憶體裝置的至少其中之一,並且,其中該主體部分基於該邏輯塊位址值、該磁區計數值以及該資料儲存裝置的超頁面尺寸來決定。
- 如申請專利範圍第1項所述之資料處理方法,其中該超頁面尺寸是基於該些通道的數量以及包括在所述每個非揮發性裝置中的頁面尺寸來獲取。
- 如申請專利範圍第2項所述之資料處理方法,其中於該至少一主體部分被傳送至該些非揮發性記憶體裝置的時候,儲存在該緩衝記憶體的該其他部分在該緩衝記憶體中被維持。
- 如申請專利範圍第2項所述之資料處理方法,其中該頁面尺寸是在所述每個非揮發性記憶體裝置中用於該寫命令之操作的單位。
- 如申請專利範圍第2項所述之資料處理方法,其中該至少一個主體部分的尺寸是所述一個主體部分的尺寸的倍數。
- 如申請專利範圍第1項所述之資料處理方法,更包括:使用該邏輯塊位址值以及該磁區計數值以劃分已接收的該數據為該至少一主體部分以及該其他部分。
- 如申請專利範圍第2項所述之資料處理方法,傳送該至少一主體部分包括:藉由該些通道的數量來劃分儲存在該緩衝記憶體的該至少一主體部分;並且透過該些通道中的每個來同時地傳送每個被劃分主體部分到每個非揮發性記憶體裝置。
- 如申請專利範圍第2項所述之資料處理方法,其中該其他部分包括頭部,該頭部的尺寸小於所述一個主體部分的尺寸,且該頭部的邏輯塊位址小於所述一個主體部分的邏輯塊位址。
- 如申請專利範圍第8項所述之資料處理方法,其中該至少一主體部分儲存在該緩衝記憶體中的第一區,且該頭部儲存在第二區,該第二區不同於該緩衝記憶體中的第一區。
- 如申請專利範圍第9項所述之資料處理方法,其中於儲存在該第一區中的該至少一主體部分透過該些通道以被傳送至該些非揮發性記憶體裝置的時候,儲存在該第二區中該頭部的資料在該第二區中被維持。
- 如申請專利範圍第2項所述之資料處理方法,其中該其他部分包括尾部,該尾部的的尺寸小於所述一個主體部分的尺寸,且該頭部的邏輯塊位址大於所述一個主體部分的邏輯塊位址,其中該至少一主體部分儲存於該緩衝記憶體的第一區,且該尾部儲存在第二區,該第二區不同於該緩衝記憶體中的第一區。
- 如申請專利範圍第11項所述之資料處理方法,於儲存在該第一區中的該至少一主體部分透過該些通道以被傳送至該些非揮發性記憶體裝置的時候,儲存在該第二區中該頭部的資料或該尾部的資料被維持。
- 一種資料儲存裝置,包括:控制方塊,用於接收寫命令、邏輯塊位址值、磁區計數值以及用於該寫命令的資料;緩衝記憶體,用於暫時性地儲存對應於該寫命令的該資料;以及多個非揮發性記憶體裝置,透過多個通道以連接到該緩衝記憶體,其中該控制方塊用於劃分該資料為至少一主體部分以及其他部分, 其中該控制方塊用於透過該些通道來並行地傳送儲存在該緩衝記憶體中的該至少一主體部分到該些非揮發性記憶體裝置,其中該些主體部分其中之一的尺寸是藉由該些通道的數量以及頁面尺寸來決定,該頁面尺寸是包括在所述每個非揮發性記憶體裝置中用於寫入操作的單位,其中該些非揮發性記憶體裝置中的每個包括:包括多個記憶胞的胞陣列;以及頁面緩衝器,用於儲存多個磁區,其中所述一個主體部分的該尺寸更藉由該頁面緩衝器的尺寸來決定,該頁面緩衝器是用於該寫命令的操作的單位。
- 如申請專利範圍第13項所述之資料儲存裝置,其中該其他部分包括頭部,該頭部的尺寸小於所述一個主體部分的尺寸,並且於該至少一主體部分被傳送至該些非揮發性記憶體裝置的時候,該頭部的資料被維持在該緩衝記憶體中。
- 如申請專利範圍第13項所述之資料儲存裝置,其中該其他部分包括尾部,其中該尾部的的尺寸小於所述一個主體部分的尺寸,並且於該至少一主體部分被傳送至該些非揮發性記憶體裝置的時候,儲存在該緩衝記憶體中該尾部的資料在該緩衝記體體中被維持。
- 一種資料儲存裝置的資料處理方法,其中資料儲存 裝置包括緩衝記憶體以及透過多個通道以各自地連接到該緩衝記憶體的多個非揮發性記憶體裝置,所述資料處理方法包括:從外部裝置接收寫命令、邏輯塊位址(LBA)值與磁區計數值;接收對應該邏輯塊位址值與該磁區計數值的寫資料;儲存該寫資料到該緩衝記憶體,已儲存的該寫資料包括頭部部分以及主體部分;以及於該頭部部分在該緩衝記憶體中被維持的時候,傳送該主體部分到該些非揮發性記體裝置,其中在該緩衝記體中該頭部部分的資料被接收早於該主體部分的資料,且其中該主體部分是基於該邏輯塊位址值、該磁區計數值以及該資料儲存裝置的超頁面尺寸來決定。
- 如申請專利範圍第16項所述之資料處理方法,其中該超頁面尺寸是基於該些通道的數量以及包括在所述每個非揮發性裝置中的頁面尺寸來獲取。
- 如申請專利範圍第17項所述之資料處理方法,傳送該主體部分包括:藉由該些通道的數量來劃分儲存在該緩衝記憶體的該主體部分;以及透過該些通道中的每個來同時地傳送每個被劃分主體部分到每個非揮發性記憶體裝置。
- 如申請專利範圍第16項所述之資料處理方法,其 中該頭部部分包括頭部,該頭部的尺寸小於該主體部分的尺寸,且該頭部的邏輯塊位址小於所述主體部分的邏輯塊位址。
- 如申請專利範圍第19項所述之資料處理方法,其中該頭部部分儲存在該緩衝記憶體中的第一區,且該頭部在第二區,該第二區不同於該緩衝記憶體中的第一區。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020070070369A KR101431205B1 (ko) | 2007-07-13 | 2007-07-13 | 캐시 메모리 장치 및 캐시 메모리 장치의 데이터 처리 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW200903250A TW200903250A (en) | 2009-01-16 |
TWI525430B true TWI525430B (zh) | 2016-03-11 |
Family
ID=40254087
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW097126166A TWI525430B (zh) | 2007-07-13 | 2008-07-10 | 快取記憶體裝置以及該裝置的資料處理方法 |
Country Status (3)
Country | Link |
---|---|
US (3) | US20090019234A1 (zh) |
KR (1) | KR101431205B1 (zh) |
TW (1) | TWI525430B (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101431205B1 (ko) | 2007-07-13 | 2014-08-18 | 삼성전자주식회사 | 캐시 메모리 장치 및 캐시 메모리 장치의 데이터 처리 방법 |
WO2010089795A1 (en) * | 2009-02-03 | 2010-08-12 | Hitachi, Ltd. | Storage control device, and control method for cache memory |
US9898402B2 (en) * | 2011-07-01 | 2018-02-20 | Micron Technology, Inc. | Unaligned data coalescing |
KR101374065B1 (ko) * | 2012-05-23 | 2014-03-13 | 아주대학교산학협력단 | 칩 레벨 평행 플래시 메모리를 위한 정보 분별 방법 및 장치 |
CN104182701B (zh) * | 2014-08-15 | 2017-02-22 | 华为技术有限公司 | 一种阵列控制器、阵列和数据处理方法 |
CN105589919B (zh) * | 2015-09-18 | 2018-01-09 | 广州市动景计算机科技有限公司 | 网页资源处理方法及装置 |
JP6424330B2 (ja) * | 2015-10-13 | 2018-11-21 | 株式会社アクセル | 情報処理装置、及び情報処理方法 |
US10802712B2 (en) * | 2015-10-13 | 2020-10-13 | Axell Corporation | Information processing apparatus and method of processing information |
CN107015978B (zh) * | 2016-01-27 | 2020-07-07 | 阿里巴巴(中国)有限公司 | 一种网页资源处理方法以及装置 |
US20180292991A1 (en) * | 2017-04-11 | 2018-10-11 | Micron Technology, Inc. | Memory protocol with programmable buffer and cache size |
CN107122136B (zh) * | 2017-04-25 | 2021-02-02 | 浙江宇视科技有限公司 | 一种容量获取方法及装置 |
CN111176582A (zh) * | 2019-12-31 | 2020-05-19 | 北京百度网讯科技有限公司 | 矩阵存储方法、矩阵访问方法、装置和电子设备 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5574944A (en) * | 1993-12-15 | 1996-11-12 | Convex Computer Corporation | System for accessing distributed memory by breaking each accepted access request into series of instructions by using sets of parameters defined as logical channel context |
US5651136A (en) * | 1995-06-06 | 1997-07-22 | International Business Machines Corporation | System and method for increasing cache efficiency through optimized data allocation |
US5860091A (en) * | 1996-06-28 | 1999-01-12 | Symbios, Inc. | Method and apparatus for efficient management of non-aligned I/O write request in high bandwidth raid applications |
JPH11272551A (ja) | 1998-03-19 | 1999-10-08 | Hitachi Ltd | キャッシュメモリのフラッシュ制御方式およびキャッシュメモリ |
US6687158B2 (en) | 2001-12-21 | 2004-02-03 | Fujitsu Limited | Gapless programming for a NAND type flash memory |
US6711635B1 (en) * | 2002-09-30 | 2004-03-23 | Western Digital Technologies, Inc. | Disk drive employing thresholds for cache memory allocation |
US7173863B2 (en) | 2004-03-08 | 2007-02-06 | Sandisk Corporation | Flash controller cache architecture |
KR100562134B1 (ko) * | 2004-01-09 | 2006-03-21 | 주식회사 하이닉스반도체 | 플래시 메모리 소자의 페이지 버퍼 |
KR20060089108A (ko) | 2005-02-03 | 2006-08-08 | 엘지전자 주식회사 | Sdram을 이용한 캐시 버퍼 장치 |
KR100939333B1 (ko) | 2005-09-29 | 2010-01-28 | 한국전자통신연구원 | 카운터를 이용해 데이터를 임의의 크기로 분할하고재구성하는 방법 및 그 장치 |
US7660911B2 (en) * | 2006-12-20 | 2010-02-09 | Smart Modular Technologies, Inc. | Block-based data striping to flash memory |
KR101431205B1 (ko) * | 2007-07-13 | 2014-08-18 | 삼성전자주식회사 | 캐시 메모리 장치 및 캐시 메모리 장치의 데이터 처리 방법 |
US8924631B2 (en) * | 2011-09-15 | 2014-12-30 | Sandisk Technologies Inc. | Method and system for random write unalignment handling |
-
2007
- 2007-07-13 KR KR1020070070369A patent/KR101431205B1/ko active IP Right Grant
-
2008
- 2008-06-26 US US12/146,950 patent/US20090019234A1/en not_active Abandoned
- 2008-07-10 TW TW097126166A patent/TWI525430B/zh active
-
2014
- 2014-12-05 US US14/561,470 patent/US9262079B2/en active Active
-
2016
- 2016-01-27 US US15/007,584 patent/US10095436B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
KR20090006920A (ko) | 2009-01-16 |
US20160139814A1 (en) | 2016-05-19 |
US10095436B2 (en) | 2018-10-09 |
US20090019234A1 (en) | 2009-01-15 |
US20150081962A1 (en) | 2015-03-19 |
KR101431205B1 (ko) | 2014-08-18 |
US9262079B2 (en) | 2016-02-16 |
TW200903250A (en) | 2009-01-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI525430B (zh) | 快取記憶體裝置以及該裝置的資料處理方法 | |
US10628319B2 (en) | Methods for caching and reading data to be programmed into a storage unit and apparatuses using the same | |
TWI485563B (zh) | 快閃記憶裝置及其運作方法 | |
TWI425512B (zh) | 快閃記憶體控制電路及其儲存系統與資料傳輸方法 | |
KR101425957B1 (ko) | 이씨씨 제어 회로 및 그것을 포함하는 멀티채널 메모리시스템 | |
TWI473116B (zh) | 多通道記憶體儲存裝置及其控制方法 | |
US11630766B2 (en) | Memory system and operating method thereof | |
US8738842B2 (en) | Solid state disk controller and data processing method thereof | |
TWI438778B (zh) | 用來抑制資料錯誤之方法以及相關之記憶裝置及其控制器 | |
CN107179877B (zh) | 数据传输方法、存储器控制电路单元与存储器存储装置 | |
US20210365395A1 (en) | Direct memory access (dma) commands for noncontiguous source and destination memory addresses | |
CN113467704B (zh) | 通过智能阈值检测的命令优化 | |
US7310262B2 (en) | Ferroelectric memory capable of continuously fast transferring data words in a pipeline | |
US20180165032A1 (en) | Read write performance for nand flash for archival application | |
US11461238B2 (en) | Storage device, memory controller, and method for fetching write commands from submission queues to perform full page writes | |
US9990280B2 (en) | Methods for reading data from a storage unit of a flash memory and apparatuses using the same | |
TW202316270A (zh) | 儲存裝置、控制器以及操作方法 | |
CN114746942A (zh) | 用于存储器子系统的容量扩展 | |
US9146861B2 (en) | Memory address management method, memory controller and memory storage device | |
US9152348B2 (en) | Data transmitting method, memory controller and data transmitting system | |
EP2410434A1 (en) | Ssd controller, and method for operating an ssd controller | |
US11586379B2 (en) | Memory system and method of operating the same | |
KR20140067400A (ko) | 플래시 메모리, 제 1 버퍼 메모리, 메모리 컨트롤러를 포함하는 메모리 시스템 및 그것의 동작 방법 | |
TWI721660B (zh) | 控制資料讀寫裝置與方法 | |
US20240319897A1 (en) | Control method of flash memory controller and associated flash memory controller and storage device |