TWI830660B - 資料儲存裝置與資料處理方法 - Google Patents
資料儲存裝置與資料處理方法 Download PDFInfo
- Publication number
- TWI830660B TWI830660B TW112115775A TW112115775A TWI830660B TW I830660 B TWI830660 B TW I830660B TW 112115775 A TW112115775 A TW 112115775A TW 112115775 A TW112115775 A TW 112115775A TW I830660 B TWI830660 B TW I830660B
- Authority
- TW
- Taiwan
- Prior art keywords
- memory
- plane
- die
- page
- write operation
- Prior art date
Links
- 238000013500 data storage Methods 0.000 title claims abstract description 37
- 238000003672 processing method Methods 0.000 title claims description 23
- 230000015654 memory Effects 0.000 claims abstract description 313
- 230000004044 response Effects 0.000 claims abstract description 9
- 125000004122 cyclic group Chemical group 0.000 claims abstract description 7
- 238000000034 method Methods 0.000 claims description 9
- 230000005540 biological transmission Effects 0.000 claims description 6
- 238000012545 processing Methods 0.000 claims description 6
- 230000008569 process Effects 0.000 claims description 4
- 239000004065 semiconductor Substances 0.000 abstract 1
- 230000009977 dual effect Effects 0.000 description 15
- 238000005516 engineering process Methods 0.000 description 15
- 230000014759 maintenance of location Effects 0.000 description 14
- 230000000717 retained effect Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 230000003068 static effect Effects 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 230000007306 turnover Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 239000002131 composite material Substances 0.000 description 1
- 239000013078 crystal Substances 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000011982 device technology Methods 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000004064 recycling Methods 0.000 description 1
Images
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)已經廣泛地被應用在多種用途上。因此,在這些資料儲存裝置上,如何有效率的控制存取操作也變成一個重要的議題。
根據本發明之一實施例,一種資料儲存裝置,包括一記憶體裝置與一記憶體控制器。記憶體裝置包括複數記憶體晶粒,各記憶體晶粒包括複數平面,各記憶體晶粒之該等平面之一者對應於複數平面索引值之一者,並且各平面包括複數記憶體區塊,各記憶體區塊包括複數分頁,該等記憶體區塊形成複
數超區塊,各超區塊包括一既定數量之該等記憶體區塊,並且該既定數量之該等記憶體區塊分別位於不同記憶體晶粒之不同平面。記憶體控制器耦接記憶體裝置,用以存取記憶體裝置,響應於接收自一主機裝置之一寫入指令,記憶體控制器執行一寫入操作,用以將一既定資料寫入記憶體裝置,並且於寫入操作中,記憶體控制器自超區塊中選擇一者作為寫入操作之一第一目標超區塊,並且在記憶體晶粒之間以循環的方式將既定資料按照平面索引值的順序依序寫入屬於第一目標超區塊之複數分頁。各記憶體晶粒包括至少一第一平面與一第二平面,在既定資料所對應的寫入操作中,對第一目標超區塊中所有記憶體晶粒位於第一平面的一第一分頁所執行的寫入操作會早於對第一目標超區塊中所有記憶體晶粒位於第二平面的一第一分頁所執行的寫入操作。
根據本發明之一實施例,一種資料處理方法,適用於一記憶體裝置,該記憶體裝置包括複數記憶體晶粒,各記憶體晶粒包括複數平面,各記憶體晶粒之該等平面之一者對應於複數平面索引值之一者,並且各平面包括複數記憶體區塊,各記憶體區塊包括複數分頁,該等記憶體區塊形成複數超區塊,各超區塊包括一既定數量之該等記憶體區塊,並且該既定數量之該等記憶體區塊分別位於不同記憶體晶粒之不同平面,該方法包括:響應於接收自一主機裝置之一寫入指令執行一寫入操作,用以將一既定資料寫入記憶體裝置。其中執行寫入操作之步驟更包括:自超區塊中選擇一者作為寫入操作之一第一目標超區塊;以及在記憶體晶粒之間以循環的方式將既定資料按照平面索引值的順序依序寫入屬於第一目標超區塊之複數分頁。各記憶體晶粒包括至少一第一平面與一第二平面,並且在記憶體晶粒之間以循環的方式將既定資料按照平面索引值的順序依序寫入屬於第一目標超區塊之該等分頁之步驟更包括:依序對第一目標超區塊中所有記憶體晶粒位於第一平面的一第一分頁執行該寫入操作;以及依序對第一目標超區塊中所有記憶體晶粒位於第二平面的一第一分頁執行寫入
操作,其中對位於第一平面的該等第一分頁所執行的寫入操作會早於對位於第二平面的該等第一分頁所執行的寫入操作。
100:資料儲存裝置
110:記憶體控制器
112:微處理器
112C:程式碼
112M:唯讀記憶體
114:控制邏輯
116:緩衝記憶體
118:介面邏輯
120:記憶體裝置
130:主機裝置
132:編碼器
134:解碼器
Block[0],Block[1],Block[2],Block[3],Block[98],Block[99],Block[K-1],Block[K-2]:記憶體區塊
CE[0],CE[1]:晶片致能信號
CH[0],CH[1]:通道
Die[0],Die[1],Die[2],Die[3]:記憶體晶粒
GP[0],GP[1],GP[N-1]:超區塊
P[0]~P[15],Page[0],Page[1],Page[2],Page[M-2],Page[M-1]:分頁
Plane[0],Plane[1]:平面
RT1,RT2,RT3,RT4:保留時間
TIP:縮短的保留時間
第1圖係顯示根據本發明之一實施例所述之資料儲存裝置的方塊圖範例。
第2圖係顯示根據本發明之一實施例所述之記憶體裝置之一範例結構。
第3圖係顯示根據本發明之一實施例所述之資料處理方法的範例流程圖。
第4圖係顯示根據本發明之一實施例所述之一目標超區塊之複數分頁之一寫入順序範例。
第5圖係顯示根據本發明之一實施例所述之一目標超區塊之複數分頁之另一寫入順序範例。
第6圖係顯示根據本發明之一實施例所述之跨越複數超區塊之寫入順序範例。
第7圖係顯示根據本發明之一實施例所述之跨越複數超區塊之寫入順序範例。
第8圖係顯示出基於兩個記憶體晶粒與雙平面之記憶體裝置架構於傳統技術所採用的寫入順序範例。
第9圖係顯示出基於四個記憶體晶粒、雙通道、雙平面與雙晶片致能信號之記憶體裝置架構於傳統技術所採用的寫入順序範例。
第10圖係利用讀取操作時序圖顯示出基於傳統技術所採用的寫入順序而於讀取操作中對應產生的物理資料順序與邏輯資料順序。
第11圖係利用讀取操作時序圖顯示出基於本發明所提出資料處理方法將資料寫入後於讀取操作中對應產生的物理資料順序與邏輯資料順序。
在下文中,描述了許多具體細節以提供對本發明實施例的透徹理解。然而,本領域技術人員仍將理解如何在缺少一個或多個具體細節或依賴於其他方法、元件或材料的情況下實施本發明。在其他情況下,未詳細示出或描述公知的結構、材料或操作,以避免模糊本發明的主要概念。
在整個說明書中對「一實施例」或「一範例」的引用意味著結合該實施例或範例所描述的特定特徵、結構或特性係包括於本發明之多個實施例的至少一個實施例中。因此,貫穿本說明書在各個地方出現的短語「於本發明之一實施例中」、「根據本發明之一實施例」、「於一範例中」或「根據本發明之一範例」不一定都指到相同的實施例或範例。此外,特定特徵、結構或特性可以在一個或多個實施例或範例中以任何合適的組合和/或子組合進行結合。
此外,為讓本發明之目的、特徵和優點能更明顯易懂,下文特舉出本發明之具體實施例,並配合所附圖式,作詳細說明如下。目的在於說明本發明之精神而非用以限定本發明之保護範圍,應理解下列實施例可經由軟體、硬體、韌體、或上述任意組合來實現。
第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。唯讀記憶體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,縮寫為PCI-E)標準、並列先進附件(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。
根據本發明之一實施例,記憶體裝置120所包含之複數個記憶體區塊中可包括單層單元(Single-Level Cell,縮寫為SLC)(或稱單層式儲存)記憶體區塊、多層單元(Multiple-Level Cell,縮寫為MLC)(或稱多層式儲存)記憶體區塊、三層單元(Triple-Level Cell,縮寫為TLC)(或稱三層式儲存)記憶體區塊以及/或是四層單元(Quad-Level Cell,縮寫為QLC)(或稱四層式儲存)記憶體區塊。SLC記憶體區塊的每個記憶體單元(例如,浮閘電晶體或是其他電荷捕捉元件)中儲存一個位元資料,MLC記憶體區塊的每個記憶體單元中儲存兩個位元資料,TLC記憶體區塊的每個記憶體單元中儲存三個位元資料,QLC記憶體區塊的每個記憶體單元中儲存四個位元資料。
為了提升存取效率,記憶體裝置120之複數個記憶體晶片(chip)(或稱晶粒(die)、邏輯單元號(Logical Unit Number,縮寫為LUN),其依記憶體裝置所採用的封裝方式而定,可有不同的命名或者以不同的形式呈現)可共享資料匯流排。即,記憶體裝置120的複數個記憶體晶片可透過共用的資料匯流排耦接至記憶體控制器110。須注意的是,本發明並不限於配置複數個記憶體晶片透過共用的資料匯流排耦接至記憶體控制器110,也可以是如上述配置複數個晶粒或LUN透過共用的資料匯流排耦接至記憶體控制器110。然而,為簡化說明,以下將以
晶粒作為範例進行解說。此外,須注意的是,其中所述之共享資料匯流排的晶片、晶粒或LUN可分別擁有其內部緩存器,並且各自維護其操作狀態。
此外,為了更進一步提升存取效率,在本發明的一些實施例中,記憶體裝置120亦可為多通道的配置,其中一個通道可對應於一個資料匯流排。藉由多通道的配置,可在寫入與讀取時獲得更大平行處理效益。
在本發明的實施例中,無論記憶體裝置120為單通道或多通道的配置,藉由妥善安排資料寫入記憶體裝置120的寫入順序,將一超區塊(或者,一讀寫群組)內的資料排列成為使得記憶體控制器在未來需讀取該資料時,可直接按照一邏輯順序(或稱邏輯資料順序)讀取該資料的各部分,以解決傳統技術中,因為記憶體控制器110未能按照邏輯順序依序取得該資料的各部分而使得該資料的一些部分必須暫時被保留在緩存記憶體116(或者,記憶體控制器110內的其他緩存器)中而無法在被讀出後立刻被提供給主機裝置130的問題,而其中的邏輯順序(或稱邏輯資料順序)為記憶體控制器110與主機裝置130之間之一資料傳輸順序。如此一來,大幅降低資料必須被保留在緩存記憶體116(或其他緩存器)的保留時間,並有效提高緩存記憶體116(或其他緩存器)的資料周轉率(turnover rate)。
根據本發明之一實施例,記憶體裝置120可包括複數記憶體晶粒,各記憶體晶粒可包括複數平面。各記憶體晶粒之複數平面可分別被分配複數平面索引值之一者,以區別出不同的平面,因此,各記憶體晶粒之該等平面之一者會對應於該等平面索引值之一者。各平面可包括複數記憶體區塊,各記憶體區塊可包括複數分頁。記憶體區塊可形成複數超區塊,各超區塊可包括一既定數量之記憶體區塊,並且此既定數量之記憶體區塊分別位於不同記憶體晶粒之不同平面。
第2圖係顯示根據本發明之一實施例所述之記憶體裝置之一範例結構。於此範例中,記憶體裝置(例如,記憶體裝置120)可包括四個記憶體晶粒,
例如第2圖所示的記憶體晶粒Die[0],Die[1],Die[2],Die[3],各記憶體晶粒可對應於複數晶粒索引值(例如,0~3)之一者,以區別出不同的記憶體晶粒。
於本發明之一實施例中,為獲得平行處理效益,記憶體裝置可為多通道的配置,例如,包含兩個通道CH[0]與CH[1],記憶體晶粒Die[0]與Die[2]可耦接至通道CH[0],記憶體晶粒Die[1]與Die[3]可耦接至通道CH[1]。此外,由於記憶體晶粒Die[0]與Die[2]共同耦接至通道CH[0],故記憶體晶粒Die[0]與Die[2]可透過共用的資料匯流排耦接至記憶體控制器(例如,記憶體控制器110),同理,記憶體晶粒Die[1]與Die[3]可透過共用的資料匯流排耦接至記憶體控制器。記憶體控制器110可利用不同晶片致能信號致能對應的記憶體晶片。舉例而言,記憶體控制器110可藉由晶片致能信號CE[0]致能記憶體晶粒Die[0]與Die[1],以及藉由晶片致能信號CE[1]致能記憶體晶粒Die[2]與Die[3]。
於此範例中,各記憶體晶粒可包括兩平面,例如第2圖所示的平面Plane[0]與Plane[1],各記憶體晶粒的兩個平面可分別被分配兩個平面索引值(例如,0~1)之一者,以區別出不同的平面。各記憶體晶粒也可包括複數記憶體區塊,例如第2圖所示的記憶體區塊Block[0]~Block[K-1],其中K為正整數。各記憶體區塊可分別對應於複數區塊索引值(例如,0~(K-1))之一者,以區別出不同的記憶體區塊。各平面可包括對應之記憶體晶粒的複數記憶體區塊,例如,平面Plane[0](或稱第一平面)可包括記憶體區塊Block[0],Block[2]...Block[K-2],平面Plane[1](或稱第二平面)可包括記憶體區塊Block[1],Block[3]...Block[K-1]。此外,各記憶體區塊可包括複數分頁,例如第2圖所示的分頁Page[0],Page[1],Page[2],...Page[M-2],Page[M-1],其中M為正整數。
根據本發明之一實施例,記憶體區塊Block[0]~Block[K-1]可形成複數超區塊,例如第2圖所示的超區塊GP[0],GP[1],...GP[N-1],其中N為正整數,且所述的超區塊於本發明之實施例中也可被視為讀寫群組。各超區塊可包括一既
定數量之記憶體區塊,並且此既定數量之記憶體區塊分別位於不同記憶體晶粒之不同平面。例如,於第2圖所示的範例中,既定數量為8。
於本發明之實施例中,透過本發明所提出之資料處理方法,記憶體控制器110可藉由安排資料的寫入順序使一個超區塊(即,一讀寫群組)內的資料排列成為使得記憶體控制器在未來需讀取該資料時,可直接按照所需的邏輯順序讀取該資料的各部分,其中所需的邏輯順序即為前述記憶體控制器110與主機裝置130之間的資料傳輸順序。於一些實施例中,記憶體控制器110與主機裝置130之間的資料傳輸順序可為於主機裝置130識別該資料時所使用的邏輯位址的順序。舉例而言,假設一筆資料包含分別對應於連續邏輯位址LBA[0]~LBA[3]的四個部分Data_P[0]~Data_P[3],則透過本發明所提出之資料處理方法將資料寫入記憶體裝置120後,記憶體控制器110可自記憶體裝置120依序讀取Data_P[0]~Data_P[3],並且於完成任一部分之讀取操作後,無需等待其他部分的讀取操作完成而可直接將該部分提供給主機裝置130(因為記憶體控制器110是依照正確的順序取得這些部分),如此一來,大幅降低資料必須被保留在緩存記憶體116(或其他緩存器)的保留時間,並有效提高緩存記憶體116(或其他緩存器)的資料周轉率。
第3圖係顯示根據本發明之一實施例所述之資料處理方法的範例流程圖,包括由記憶體控制器110執行之以下步驟:
步驟S302:響應於接收自主機裝置130之一寫入指令執行一寫入操作,用以將一既定資料寫入記憶體裝置120。
步驟S304:自複數超區塊中選擇一者作為寫入操作之第一目標超區塊。
步驟S306:在複數記憶體晶粒之間以循環的方式將既定資料按照平面索引值的順序依序寫入屬於第一目標超區塊之複數分頁。
其中步驟S304與步驟S306也可被視為步驟S302所包含的詳細操作。
於本發明之一些實施例中,平面索引值的順序可以是數值遞增(或遞減)的順序,但本發明亦不限於此。於本發明之另一些實施例中,平面索引值的順序也可以是平面索引值被任意排列的順序,而步驟S306的精神在於在複數記憶體晶粒之間以循環的方式將資料按照固定的平面索引值順序依序寫入屬於第一目標超區塊的複數分頁。
更具體的說,根據本發明之一實施例,步驟S306可更包括以下詳細步驟/操作:依序對第一目標超區塊中所有記憶體晶粒位於第一平面的一第一分頁執行寫入操作;以及依序對第一目標超區塊中所有記憶體晶粒位於第二平面的一第一分頁執行寫入操作,其中對於一個分頁所執行的寫入操作,記憶體控制器110會根據該分頁可儲存的資料量將既定資料中尚未被寫入的同等大小的一部分寫入該分頁。於本發明之實施例中,所述的一個分頁可以是對應於一個實體分頁,但並不限於對應於一個實體分頁,也可對應於一個實體位址。例如,一實體位址可用以儲存4千位元組(KB)之資料,而一實體分頁的大小可為16KB。
根據本發明之一實施例,對位於第一平面的第一分頁所執行的寫入操作會早於對位於第二平面的第一分頁所執行的寫入操作。
此外,根據本發明之一實施例,在對第一目標超區塊中所有記憶體晶粒位於第一平面的第一分頁所執行的寫入操作與對第一目標超區塊中所有記憶體晶粒位於第二平面的第一分頁所執行的寫入操作完成後,步驟S306可更包括由記憶體控制器接續執行的以下詳細步驟/操作:依序對第一目標超區塊中所有記憶體晶粒位於第一平面的第二分頁
執行寫入操作;以及依序對第一目標超區塊中所有記憶體晶粒位於第二平面的第二分頁執行寫入操作。
根據本發明之一實施例,對位於第一平面的第二分頁所執行的寫入操作會早於對位於第二平面的第二分頁所執行的寫入操作。即,在對第一目標超區塊中所有記憶體晶粒位於第一平面的第二分頁所執行的寫入操作完成後,記憶體控制器110接續執行第一目標超區塊中所有記憶體晶粒位於第二平面的第二分頁所對應的寫入操作。
第4圖係顯示根據本發明之一實施例所述之一目標超區塊之複數分頁之一寫入順序範例,此範例係顯示出基於兩個記憶體晶粒(例如第4圖所示的記憶體晶粒Die[0]與Die[1])與雙平面(例如第4圖所示的平面Plane[0]與Plane[1])之記憶體裝置架構的寫入順序安排。
於第4圖中,填入以底線標註的數字,例如第4圖所示的數字0~11,的一個欄位可代表一分頁,而第一行(row)這樣的欄位可代表各記憶體晶粒在各平面的一個既定記憶體區塊的第一分頁,第二行這樣的欄位可代表各記憶體晶粒在各平面的該既定記憶體區塊的第二分頁,並以此類推。此外,於第4圖中,利用以底線標註的數字顯示出目標超區塊之複數分頁之寫入順序,而其中數字越小代表越早被寫入。例如,填入以底線標註的數字0的欄位為第一個(最早)被寫入的分頁,填入以底線標註的數字1的欄位為第二個被寫入的分頁,並以此類推。
以第4圖所示的內容為例,在既定資料所對應的寫入操作中,對屬於一目標超區塊之複數分頁所執行的寫入操作按時間先後順序依序為第一晶粒(例如,記憶體晶粒Die[0])位於第一平面(例如,Plane[0])的第一分頁的寫入操作、第二晶粒(例如,記憶體晶粒Die[1])位於第一平面的第一分頁的寫入操作、第一
晶粒位於第二平面(例如,Plane[1])的第一分頁的寫入操作、第二晶粒位於第二平面的第一分頁的寫入操作、第一晶粒位於第一平面的第二分頁的寫入操作、第二晶粒位於第一平面的第二分頁的寫入操作、第一晶粒位於第二平面的第二分頁的寫入操作、以及第二晶粒位於第二平面的第二分頁的寫入操作,並以此類推。而其中用於描述第一分頁、第二分頁等的序數詞可對應於依記憶體區塊的各分頁的實體位置或實體位址所分配的編號。例如,第一分頁為記憶體區塊的第一個(起始)分頁,第二分頁為接續在第一分頁的次一分頁,並以此類推。
於此範例中,第一晶粒(例如,記憶體晶粒Die[0])與第二晶粒(例如,記憶體晶粒Die[1])可耦接記憶體裝置120之相同或不同的通道,而本發明並不限於任一種實施方式。
第5圖係顯示根據本發明之一實施例所述之一目標超區塊之複數分頁之另一寫入順序範例,此範例係顯示出基於四個記憶體晶粒(例如第5圖所示的記憶體晶粒Die[0],Die[1],Die[2]與Die[3])、雙通道(例如第5圖所示的通道CH[0]與CH[1])、雙平面(例如第5圖所示的平面Plane[0]與Plane[1])與雙晶片致能信號(例如第5圖所示的晶片致能信號CE[0]與CE[1])之記憶體裝置架構的寫入順序安排。
類似地,於第5圖中,填入以底線標註的數字,例如第5圖所示的數字0~23,的一個欄位可代表一分頁,而第一行(row)這樣的欄位可代表各記憶體晶粒在各平面的一個既定記憶體區塊的第一分頁,第二行這樣的欄位可代表各記憶體晶粒在各平面的該既定記憶體區塊的第二分頁,並以此類推。此外,於第5圖中,利用以底線標註的數字顯示出目標超區塊之複數分頁之寫入順序,而其中數字越小代表越早被寫入。例如,填入以底線標註的數字0的欄位為第一個(最早)被寫入的分頁,填入以底線標註的數字1的欄位為第二個被寫入的分頁,並以此類推。
以第5圖所示的內容為例,在既定資料所對應的寫入操作中,對屬於一目標超區塊之複數分頁所執行的寫入操作按時間先後順序依序為第一晶粒(例如,記憶體晶粒Die[0])位於第一平面(例如,Plane[0])的第一分頁的寫入操作、第二晶粒(例如,記憶體晶粒Die[1])位於第一平面的第一分頁的寫入操作、第三晶粒(例如,記憶體晶粒Die[2])位於第一平面的第一分頁的寫入操作、第四晶粒(例如,記憶體晶粒Die[3])位於第一平面的第一分頁的寫入操作、第一晶粒位於第二平面(例如,Plane[1])的第一分頁的寫入操作、第二晶粒位於第二平面的第一分頁的寫入操作、第三晶粒位於第二平面的第一分頁的寫入操作、第四晶粒位於第二平面的第一分頁的寫入操作、第一晶粒位於第一平面的第二分頁的寫入操作、第二晶粒位於第一平面的第二分頁的寫入操作、第三晶粒位於第一平面的第二分頁的寫入操作、第四晶粒位於第一平面的第二分頁的寫入操作、第一晶粒位於第二平面的第二分頁的寫入操作、第二晶粒位於第二平面的第二分頁的寫入操作、第三晶粒位於第二平面的第二分頁的寫入操作、以及第四晶粒位於第二平面的第二分頁的寫入操作。而其中用於描述第一分頁、第二分頁、第三分頁、第四分頁等的序數詞可對應於依記憶體區塊的各分頁的實體位置或實體位址所分配的編號。例如,第一分頁為記憶體區塊的第一個(起始)分頁,第二分頁為接續在第一分頁的次一分頁,第三分頁為接續在第二分頁的次一分頁,並以此類推。
於此範例中,第一晶粒(例如,記憶體晶粒Die[0])與第三晶粒(例如,記憶體晶粒Die[2])可耦接記憶體裝置120之第一通道(例如,通道CH[0]),第二晶粒(例如,記憶體晶粒Die[1])與第四晶粒(例如,記憶體晶粒Die[3])可耦接記憶體裝置120之第二通道(例如,通道CH[1])。
根據本發明之一實施例,當步驟S304所選擇之第一目標超區塊之可用空間小於或等於一臨界值時,例如,當第一目標超區塊內的記憶體區塊均被
寫滿(即,可用空間為零或幾乎為零),或者當第一目標超區塊內的記憶體區塊的可用空間小於總容量的5%或3%等時,記憶體控制器110可在步驟S306之後接續執行以下步驟:按照超區塊索引值的順序自超區塊中選擇另一者作為寫入操作之第二目標超區塊;以及在複數記憶體晶粒之間以循環的方式將既定資料中尚未被寫入記憶體裝置的部分同樣地按照平面索引值的順序依序寫入屬於第二目標超區塊之複數分頁。
於本發明之中,超區塊索引值的順序可以是數值遞增(或遞減)的順序,但本發明亦不限於此。
第6圖係顯示根據本發明之一實施例所述之跨越複數超區塊(即,複數讀寫群組)之寫入順序範例。此範例亦顯示出基於四個記憶體晶粒、雙通道、雙平面與雙晶片致能信號之記憶體裝置架構的寫入順序安排,且不同於第5圖所示的範例,其中第5圖係顯示出複數分頁(例如,包含於對應記憶體區塊的多個分頁)的寫入順序,而第6圖之範例係顯示出複數記憶體區塊的寫入順序。
於第6圖中,填入以底線標註的符號A-B的一個欄位可代表一記憶體區塊,而第一行(row)這樣的欄位可代表在第一超區塊(第一讀寫群組)內所包含的記憶體區塊,第二行這樣的欄位可代表在第二超區塊(第二讀寫群組)內所包含的記憶體區塊,並以此類推。
此外,於第6圖所示的範例中,記憶體晶粒之間具相同索引值的記憶體區塊Block[0]~Block[99]可屬於同一個超區塊(即,讀寫群組),各記憶體晶粒包含100個記憶體區塊,且包含2個平面,因而第6圖顯示出50個超區塊。
第6圖利用以底線標註的符號A-B顯示出超區塊(即,讀寫群組)之寫入順序與一超區塊內之複數超區塊之寫入順序,其中數字越小代表越早被寫入
(為便於區隔,以下稱A-B中的A為第一個數字,稱A-B中的B為第二個數字)。例如,對於第一個數字A,填入以底線標註的0的欄位為第一個(最早)被寫入的超區塊(讀寫群組),填入以底線標註的數字1的欄位為第二個被寫入的超區塊(讀寫群組),並以此類推。對於第二個數字B,填入以底線標註的0的欄位為對應之超區塊(讀寫群組)內第一個(最早)被寫入的記憶體區塊,填入以底線標註的1的欄位為對應之超區塊(讀寫群組)內第二個被寫入的記憶體區塊,並以此類推,故填入以底線標註的7的欄位為對應之超區塊(讀寫群組)內最晚被寫入的記憶體區塊。
第7圖係顯示根據本發明之一實施例所述之跨越複數超區塊(即,複數讀寫群組)之寫入順序範例。此範例係對應於第2圖所示之結構顯示出各分頁所對應的寫入順序。於此範例中,各記憶體區塊包含3457分頁,因此圖中的數字0~27655顯示出各超區塊內的複數分頁的寫入順序。此外,於此範例中,記憶體控制器110可依循超區塊索引值遞增的順序依序對超區塊GP[0],GP[1],...GP[N-1]執行對應的寫入操作,即,先將資料寫入超區塊GP[0],當超區塊GP[0]之可用空間小於或等於一臨界值時,接續將資料寫入超區塊GP[1],並以此類推。
熟悉此技藝者當可根據第4-7圖的內容推導出其他記憶體裝置結構的寫入順序,故於此不再贅述。
於本發明之實施例中,假設既定資料包括複數部分,例如上述假設一筆資料可包含對應於連續邏輯位址的複數部分,則各部分會如上所示在對應的寫入操作中被寫入記憶體裝置之一個分頁,並且於既定資料中相鄰的部分(例如,邏輯位址連續的兩個或多於兩個部分)會被寫入不同的記憶體晶粒。
第8圖係,對應於第4圖,顯示出基於兩個記憶體晶粒與雙平面之記憶體裝置架構於傳統技術所採用的寫入順序範例。第9圖係,對應於第5圖,顯示出基於四個記憶體晶粒、雙通道、雙平面與雙晶片致能信號之記憶體裝置架
構於傳統技術所採用的寫入順序範例。於傳統技術中,會將資料接續寫入同一個記憶體晶粒的不同平面。待一個記憶體晶粒的所有平面都寫入資料後,才會改為將資料寫入下一個記憶體晶粒。因此,於傳統技術中,資料中相鄰的部分會被寫入相同的記憶體晶粒。
不同於傳統技術所採用的寫入順序,於本發明之實施例中,資料係按照平面索引值的順序依序被寫入,使得資料中相鄰的部分會被寫入不同的記憶體晶粒,因此,於讀取資料時,可直接按照所需的邏輯順序讀取資料的各部分。例如,響應於接收自主機裝置130欲讀取既定資料之一讀取指令,記憶體控制器110可按照一邏輯順序(或稱邏輯資料順序)自記憶體裝置讀取既定資料,其中讀取既定資料之邏輯順序相同於將既定資料寫入記憶體裝置120之寫入順序(或稱物理資料順序或實體資料順序),且讀出的資料可直接/立刻被提供給主機裝置130,而無須為了等待其他部分的讀取操作完成而暫時被保留在緩存記憶體116內。需注意的是,於本發明之實施例中,邏輯順序(或稱邏輯資料順序)係指記憶體控制器110與主機裝置130之間之一資料傳輸順序,物理資料順序係指記憶體控制器110與記憶體裝置120之間之一資料傳輸順序。
第10圖係利用讀取操作時序圖顯示出基於傳統技術所採用的寫入順序而於讀取操作中對應產生的物理資料順序與邏輯資料順序。於第10圖中,時間軸的上半部顯示出將資料自記憶體裝置讀出的時序,並利用分頁P[0]~P[15]的符號來代表讀取各分頁所對應的讀取操作,時間軸的下半部顯示出記憶體控制器將取得之資料提供給主機裝置的時序,並同樣利用分頁P[0]~P[15]的符號來代表讀取各分頁所對應的輸出操作,其中,中括號內的數字對應於第9圖中以底線標註的數字。即,對照第9圖可得知各分頁是被寫入哪個記憶體晶粒的哪個平面,且於此範例中的連續數字0~15也用於表示資料的連續性(邏輯資料順序)。
如圖所示,假設通道CH[0]的讀取操作略早於通道CH[1]的讀取操
作,傳統技術所對應的物理資料順序為P[0]、P[2]、P[1]、P[3]、P[4]、P[6]、P[5]、P[7],並依此類推(若通道CH[0]的讀取操作與通道CH[1]的讀取操作同時完成,則可表示為(P[0]& P[2])、(P[1]&P[3]),並依此類推)。可以看出分頁P[2]的讀取操作早於分頁P[1]的讀取操作,分頁P[6]的讀取操作早於分頁P[5]的讀取操作。然而,由於主機裝置130必須以邏輯資料順序P[0]、P[1]、P[2]、P[3]、P[4]、P[5]、P[6]、P[7]取得資料,記憶體控制器在取得分頁P[2]的資料後,必須暫時將之保留在緩存記憶體116內,而無法直接提供給主機裝置130,直到取得分頁P[1]的資料並將之提供給主機裝置後,才能輸出分頁P[2]的資料,因此產生保留時間RT1。同理,對於分頁P[6]的輸出也會產生保留時間RT2。第10圖中亦可看出於輸出分頁P[0]、P[4]、P[8]、P[12]的資料後,為使資料傳輸順序為所需的(正確的)邏輯資料順序,都會存在因無法接續輸出資料而產生的一段等待時間。
第11圖係利用讀取操作時序圖顯示出基於本發明所提出資料處理方法將資料寫入後於讀取操作中對應產生的物理資料順序與邏輯資料順序。同樣地,於第11圖中,時間軸的上半部顯示出將資料自記憶體裝置120讀出的時序,並利用分頁P[0]~P[15]的符號來代表讀取各分頁所對應的讀取操作,時間軸的下半部顯示出記憶體控制器110將取得之資料提供給主機裝置130的時序,並同樣利用分頁P[0]~P[15]的符號來代表讀取各分頁所對應的輸出操作。同樣地,中括號內的數字對應於第5圖中以底線標註的數字。即,對照第5圖可得知各分頁是被寫入哪個記憶體晶粒的哪個平面,且於此範例中的連續數字0~15也用於表示資料的連續性(邏輯資料順序)。
如圖所示,假設通道CH[0]的讀取操作略早於通道CH[1]的讀取操作,本發明所對應的物理資料順序為P[0]、P[1]、P[2]、P[3]、P[4]、P[5]、P[6]、P[7],並依此類推(若通道CH[0]的讀取操作與通道CH[1]的讀取操作同時完成,則可表示為(P[0]&P[1])、(P[2]&P[3]),並依此類推)。可以看出分頁P[1]的讀取
操作早於分頁P[2]的讀取操作,分頁P[5]的讀取操作早於分頁P[6]的讀取操作,且分頁的讀取順序即為可直接將資料輸出給主機裝置130的正確的邏輯資料順序。因此,記憶體控制器110在依序取得各分頁的資料後,可直接依相同順序將資料提供給主機裝置130。
於此範例中,因雙通道的平行處理而須被暫時保留在緩存記憶體116內的資料為分頁P[1]、分頁P[5]、分頁P[9]等的分頁,例如圖中所示,對於分頁P[1]的輸出仍可能產生保留時間RT3,以及對於分頁P[5]的輸出仍可能產生保留時間RT4。但相較於第10圖中的保留時間RT1與RT2,保留時間RT3與RT4明顯較短。如圖所示,對照第10圖所示的內容,保留時間RT1減去保留時間RT3的差值即為改善的(即,縮短的)保留時間TIP。
因此,於本發明的實施例中,藉由妥善安排資料寫入記憶體裝置120的寫入順序,將一超區塊內的資料排列成為使得記憶體控制器在未來需讀取該資料時,可直接按照主機裝置130所需的邏輯資料順序依序讀取該資料的各部分,以解決傳統技術中,因為記憶體控制器110未能按照主機裝置130所需的邏輯資料順序依序取得資料的各部分而使得該資料的一些部分(通常是一半或一半以上的部分)必須暫時被保留在緩存記憶體116(或者,記憶體控制器110內的其他緩存器)中而無法在被讀出後立刻被提供給主機裝置130的問題。如此一來,大幅降低資料必須被保留在緩存記憶體116(或其他緩存器)的保留時間,並有效提高緩存記憶體116(或其他緩存器)的資料周轉率。
以上所述僅為本發明之較佳實施例,凡依本發明申請專利範圍所做之均等變化與修飾,皆應屬本發明之涵蓋範圍。
100:資料儲存裝置
110:記憶體控制器
112:微處理器
112C:程式碼
112M:唯讀記憶體
114:控制邏輯
116:緩衝記憶體
118:介面邏輯
120:記憶體裝置
130:主機裝置
132:編碼器
134:解碼器
Claims (22)
- 一種資料儲存裝置,包括:一記憶體裝置,包括複數記憶體晶粒,各記憶體晶粒包括複數平面,各記憶體晶粒之該等平面之一者對應於複數平面索引值之一者,並且各平面包括複數記憶體區塊,各記憶體區塊包括複數分頁,該等記憶體區塊形成複數超區塊,各超區塊包括一既定數量之該等記憶體區塊,並且該既定數量之該等記憶體區塊分別位於不同記憶體晶粒之不同平面;以及一記憶體控制器,耦接該記憶體裝置,用以存取該記憶體裝置,響應於接收自一主機裝置之一寫入指令,該記憶體控制器執行一寫入操作,用以將一既定資料寫入該記憶體裝置,並且於該寫入操作中,該記憶體控制器自該等超區塊中選擇一者作為該寫入操作之一第一目標超區塊,並且在該等記憶體晶粒之間以循環的方式將該既定資料按照該等平面索引值的順序依序寫入屬於該第一目標超區塊之複數分頁,其中各記憶體晶粒包括至少一第一平面與一第二平面,在該既定資料所對應的該寫入操作中,對該第一目標超區塊中所有記憶體晶粒位於該第一平面的一第一分頁所執行的該寫入操作會早於對該第一目標超區塊中所有記憶體晶粒位於該第二平面的一第一分頁所執行的該寫入操作;以及於寫入過程中,所述各記憶體晶粒之該等平面還沒完整地使用一個循環之前,該記憶體控制器避免增加所述各記憶體晶粒內之一預定儲存單位的索引,以完整地將所述各記憶體晶粒之該等平面使用過一次。
- 如申請專利範圍第1項所述之資料儲存裝置,其中在對該第一目標超區塊中所有記憶體晶粒位於該第一平面的該第一分頁所執行的該寫入操作與對該第一目標超區塊中所有記憶體晶粒位於該第二平面的該第一分頁所執行的 該寫入操作完成後,該記憶體控制器接續執行該第一目標超區塊中所有記憶體晶粒位於該第一平面的一第二分頁所對應的該寫入操作,並且在對該第一目標超區塊中所有記憶體晶粒位於該第一平面的該第二分頁所執行的該寫入操作完成後,該記憶體控制器接續執行該第一目標超區塊中所有記憶體晶粒位於該第二平面的一第二分頁所對應的該寫入操作。
- 如申請專利範圍第1項所述之資料儲存裝置,其中該等超區塊之一者對應於複數超區塊索引值之一者,並且當該第一目標超區塊之可用空間小於或等於一臨界值時,該記憶體控制器按照該等超區塊索引值的順序自該等超區塊中選擇另一者作為該寫入操作之一第二目標超區塊,並且接續在該等記憶體晶粒之間以循環的方式將該既定資料中尚未被寫入該記憶體裝置的部分按照該等平面索引值的順序依序寫入屬於該第二目標超區塊之複數分頁。
- 如申請專利範圍第1項所述之資料儲存裝置,其中該等記憶體晶粒包括至少一第一晶粒與一第二晶粒,並且在該既定資料所對應的該寫入操作中,由該記憶體控制器對屬於該第一目標超區塊之該等分頁所執行的該寫入操作按時間先後順序依序為該第一晶粒位於該第一平面的該第一分頁的該寫入操作、該第二晶粒位於該第一平面的該第一分頁的該寫入操作、該第一晶粒位於該第二平面的該第一分頁的該寫入操作、該第二晶粒位於該第二平面的該第一分頁的該寫入操作、該第一晶粒位於該第一平面的一第二分頁的該寫入操作、該第二晶粒位於該第一平面的一第二分頁的該寫入操作、該第一晶粒位於該第二平面的一第二分頁的該寫入操作、以及該第二晶粒位於該第二平面的一第二分頁的該寫入操作。
- 如申請專利範圍第4項所述之資料儲存裝置,其中該第一晶粒與該第二晶粒耦接該記憶體裝置之相同或不同的通道。
- 如申請專利範圍第1項所述之資料儲存裝置,其中該等記憶體晶粒包括一第一晶粒、一第二晶粒、一第三晶粒與一第四晶粒,並且在該既定資料所對應的該寫入操作中,由該記憶體控制器對屬於該第一目標超區塊之該等分頁所執行的該寫入操作按時間先後順序依序為該第一晶粒位於該第一平面的該第一分頁的該寫入操作、該第二晶粒位於該第一平面的該第一分頁的該寫入操作、該第三晶粒位於該第一平面的該第一分頁的該寫入操作、該第四晶粒位於該第一平面的該第一分頁的該寫入操作、該第一晶粒位於該第二平面的該第一分頁的該寫入操作、該第二晶粒位於該第二平面的該第一分頁的該寫入操作、該第三晶粒位於該第二平面的該第一分頁的該寫入操作、該第四晶粒位於該第二平面的該第一分頁的該寫入操作、該第一晶粒位於該第一平面的一第二分頁的該寫入操作、該第二晶粒位於該第一平面的一第二分頁的該寫入操作、該第三晶粒位於該第一平面的一第二分頁的該寫入操作、該第四晶粒位於該第一平面的一第二分頁的該寫入操作、該第一晶粒位於該第二平面的一第二分頁的該寫入操作、該第二晶粒位於該第二平面的一第二分頁的該寫入操作、該第三晶粒位於該第二平面的一第二分頁的該寫入操作、以及該第四晶粒位於該第二平面的一第二分頁的該寫入操作。
- 如申請專利範圍第6項所述之資料儲存裝置,其中該第一晶粒與該第三晶粒耦接該記憶體裝置之一第一通道,該第二晶粒與該第四晶粒耦接該記憶體裝置之一第二通道。
- 如申請專利範圍第1項所述之資料儲存裝置,其中響應於接收自該主機裝置欲讀取該既定資料之一讀取指令,該記憶體控制器按照一邏輯順序自該記憶體裝置讀取該既定資料,其中讀取該既定資料之該邏輯順序相同於將該既定資料寫入屬於該第一目標超區塊之該等分頁之一寫入順序。
- 如申請專利範圍第8項所述之資料儲存裝置,其中該邏輯順序為該記憶體控制器與該主機裝置之間之一資料傳輸順序。
- 如申請專利範圍第1項所述之資料儲存裝置,其中該既定資料包括複數部分,各部分被寫入該記憶體裝置之一分頁,並且於該既定資料中相鄰的部分被寫入不同的記憶體晶粒。
- 如申請專利範圍第1項所述之資料儲存裝置,其中該預定儲存單位代表所述各記憶體晶粒內之多種預定儲存單位的任一種,並且該多種預定儲存單位包含所述複數記憶體區塊以及所述複數分頁。
- 一種資料處理方法,適用於一記憶體裝置,該記憶體裝置包括複數記憶體晶粒,各記憶體晶粒包括複數平面,各記憶體晶粒之該等平面之一者對應於複數平面索引值之一者,並且各平面包括複數記憶體區塊,各記憶體區塊包括複數分頁,該等記憶體區塊形成複數超區塊,各超區塊包括一既定數量之該等記憶體區塊,並且該既定數量之該等記憶體區塊分別位於不同記憶體晶粒之不同平面,該方法包括:響應於接收自一主機裝置之一寫入指令執行一寫入操作,用以將一既定資料寫入該記憶體裝置,其中執行該寫入操作之步驟更包括: 自該等超區塊中選擇一者作為該寫入操作之一第一目標超區塊;以及在該等記憶體晶粒之間以循環的方式將該既定資料按照該等平面索引值的順序依序寫入屬於該第一目標超區塊之複數分頁,其中各記憶體晶粒包括至少一第一平面與一第二平面,並且在該等記憶體晶粒之間以循環的方式將該既定資料按照該等平面索引值的順序依序寫入屬於該第一目標超區塊之該等分頁之步驟更包括:依序對該第一目標超區塊中所有記憶體晶粒位於該第一平面的一第一分頁執行該寫入操作;以及依序對該第一目標超區塊中所有記憶體晶粒位於該第二平面的一第一分頁執行該寫入操作,其中對位於該第一平面的該等第一分頁所執行的該寫入操作會早於對位於該第二平面的該等第一分頁所執行的該寫入操作;以及於寫入過程中,所述各記憶體晶粒之該等平面還沒完整地使用一個循環之前,避免增加所述各記憶體晶粒內之一預定儲存單位的索引,以完整地將所述各記憶體晶粒之該等平面使用過一次。
- 如申請專利範圍第12項所述之資料處理方法,其中在對該第一目標超區塊中所有記憶體晶粒位於該第一平面的該第一分頁所執行的該寫入操作與對該第一目標超區塊中所有記憶體晶粒位於該第二平面的該第一分頁所執行的該寫入操作完成後,該資料處理方法更包括:依序對該第一目標超區塊中所有記憶體晶粒位於該第一平面的一第二分頁執行該寫入操作;以及依序對該第一目標超區塊中所有記憶體晶粒位於該第二平面的一第二分頁執行該寫入操作, 其中對位於該第一平面的該等第二分頁所執行的該寫入操作會早於對位於該第二平面的該等第二分頁所執行的該寫入操作。
- 如申請專利範圍第12項所述之資料處理方法,其中該等超區塊之一者對應於複數超區塊索引值之一者,並且當該第一目標超區塊之可用空間小於或等於一臨界值時,該資料處理方法更包括:按照該等超區塊索引值的順序自該等超區塊中選擇另一者作為該寫入操作之一第二目標超區塊;以及在該等記憶體晶粒之間以循環的方式將該既定資料中尚未被寫入該記憶體裝置的部分按照該等平面索引值的順序依序寫入屬於該第二目標超區塊之複數分頁。
- 如申請專利範圍第13項所述之資料處理方法,其中該等記憶體晶粒包括至少一第一晶粒與一第二晶粒,並且在該既定資料所對應的該寫入操作中,對屬於該第一目標超區塊之該等分頁所執行的該寫入操作按時間先後順序依序為該第一晶粒位於該第一平面的該第一分頁的該寫入操作、該第二晶粒位於該第一平面的該第一分頁的該寫入操作、該第一晶粒位於該第二平面的該第一分頁的該寫入操作、該第二晶粒位於該第二平面的該第一分頁的該寫入操作、該第一晶粒位於該第一平面的該第二分頁的該寫入操作、該第二晶粒位於該第一平面的該第二分頁的該寫入操作、該第一晶粒位於該第二平面的該第二分頁的該寫入操作、以及該第二晶粒位於該第二平面的該第二分頁的該寫入操作。
- 如申請專利範圍第15項所述之資料處理方法,其中該第一晶粒與 該第二晶粒耦接該記憶體裝置之相同或不同的通道。
- 如申請專利範圍第13項所述之資料處理方法,其中該等記憶體晶粒包括一第一晶粒、一第二晶粒、一第三晶粒與一第四晶粒,並且在該既定資料所對應的該寫入操作中,對屬於該第一目標超區塊之該等分頁所執行的該寫入操作按時間先後順序依序為該第一晶粒位於該第一平面的該第一分頁的該寫入操作、該第二晶粒位於該第一平面的該第一分頁的該寫入操作、該第三晶粒位於該第一平面的該第一分頁的該寫入操作、該第四晶粒位於該第一平面的該第一分頁的該寫入操作、該第一晶粒位於該第二平面的該第一分頁的該寫入操作、該第二晶粒位於該第二平面的該第一分頁的該寫入操作、該第三晶粒位於該第二平面的該第一分頁的該寫入操作、該第四晶粒位於該第二平面的該第一分頁的該寫入操作、該第一晶粒位於該第一平面的該第二分頁的該寫入操作、該第二晶粒位於該第一平面的該第二分頁的該寫入操作、該第三晶粒位於該第一平面的該第二分頁的該寫入操作、該第四晶粒位於該第一平面的該第二分頁的該寫入操作、該第一晶粒位於該第二平面的該第二分頁的該寫入操作、該第二晶粒位於該第二平面的該第二分頁的該寫入操作、該第三晶粒位於該第二平面的該第二分頁的該寫入操作、以及該第四晶粒位於該第二平面的該第二分頁的該寫入操作。
- 如申請專利範圍第17項所述之資料處理方法,其中該第一晶粒與該第三晶粒耦接該記憶體裝置之一第一通道,該第二晶粒與該第四晶粒耦接該記憶體裝置之一第二通道。
- 如申請專利範圍第12項所述之資料處理方法,更包括: 響應於接收自該主機裝置欲讀取該既定資料之一讀取指令,按照一邏輯順序自該記憶體裝置讀取該既定資料,其中讀取該既定資料之該邏輯順序相同於將該既定資料寫入屬於該第一目標超區塊之該等分頁之一寫入順序。
- 如申請專利範圍第19項所述之資料處理方法,其中該邏輯順序為耦接該記憶體裝置之一記憶體控制器與該主機裝置之間之一資料傳輸順序。
- 如申請專利範圍第12項所述之資料處理方法,其中該既定資料包括複數部分,各部分被寫入該記憶體裝置之一分頁,並且於該既定資料中相鄰的部分被寫入不同的記憶體晶粒。
- 如申請專利範圍第12項所述之資料處理方法,其中該預定儲存單位代表所述各記憶體晶粒內之多種預定儲存單位的任一種,並且該多種預定儲存單位包含所述複數記憶體區塊以及所述複數分頁。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW112115775A TWI830660B (zh) | 2023-04-27 | 2023-04-27 | 資料儲存裝置與資料處理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW112115775A TWI830660B (zh) | 2023-04-27 | 2023-04-27 | 資料儲存裝置與資料處理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
TWI830660B true TWI830660B (zh) | 2024-01-21 |
Family
ID=90459338
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW112115775A TWI830660B (zh) | 2023-04-27 | 2023-04-27 | 資料儲存裝置與資料處理方法 |
Country Status (1)
Country | Link |
---|---|
TW (1) | TWI830660B (zh) |
-
2023
- 2023-04-27 TW TW112115775A patent/TWI830660B/zh active
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8812784B2 (en) | Command executing method, memory controller and memory storage apparatus | |
CN110858180B (zh) | 数据处理系统及其操作方法 | |
US8898375B2 (en) | Memory controlling method, memory controller and memory storage apparatus | |
TW201826133A (zh) | 記憶體系統及其操作方法 | |
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 | |
US9582224B2 (en) | Memory control circuit unit, memory storage apparatus and data accessing method | |
US20210271409A1 (en) | Data Storage With Improved Suspend Resume Performance | |
TWI554885B (zh) | 記憶體管理方法、記憶體控制電路單元及記憶體儲存裝置 | |
CN110570894A (zh) | 存储器系统及该存储器系统的操作方法 | |
US11347640B2 (en) | Data storage device and data processing method | |
CN110825316A (zh) | 控制器及该控制器的操作方法 | |
US8943289B2 (en) | Data moving method for flash memory module, and memory controller and memory storage apparatus using the same | |
US20180165032A1 (en) | Read write performance for nand flash for archival application | |
CN110837339A (zh) | 数据整并方法、存储器存储装置及存储器控制电路单元 | |
US11056162B2 (en) | Memory device and method of operating the same | |
CN112860194A (zh) | 存储器控制方法、存储器存储装置及存储器控制电路单元 | |
US20130067141A1 (en) | Data writing method, and memory controller and memory storage apparatus using the same | |
CN108108122B (zh) | 控制器和存储器系统及其操作方法 | |
TWI830660B (zh) | 資料儲存裝置與資料處理方法 | |
US11625182B2 (en) | Storage device and operating method thereof | |
CN111309247B (zh) | 存储器系统及其操作方法 | |
CN114968079A (zh) | 包括存储器系统和主机的电子系统 | |
CN110609658B (zh) | 存储器系统以及该存储器系统的操作方法 | |
CN114333930B (zh) | 多通道存储器存储装置、控制电路单元及其数据读取方法 | |
CN114527941B (zh) | 存储器控制方法、存储器存储装置及存储器控制电路单元 |