TWI766194B - 資料儲存裝置以及非揮發式記憶體控制方法 - Google Patents
資料儲存裝置以及非揮發式記憶體控制方法 Download PDFInfo
- Publication number
- TWI766194B TWI766194B TW108136997A TW108136997A TWI766194B TW I766194 B TWI766194 B TW I766194B TW 108136997 A TW108136997 A TW 108136997A TW 108136997 A TW108136997 A TW 108136997A TW I766194 B TWI766194 B TW I766194B
- Authority
- TW
- Taiwan
- Prior art keywords
- data
- mapping information
- volatile memory
- field
- mapping
- Prior art date
Links
Images
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
資料儲存之映射資訊管理。一控制器將一主機下達的寫入資料快取於一暫存記憶體,再自該暫存記憶體程式化至該非揮發式記憶體。該控制器以一映射資訊格式維護該主機辨識的邏輯位址之映射資訊。該映射資訊格式下,不高於一第一閥值而對應該非揮發式記憶體之組態資訊儲存空間的數值,至少局部用於指向該暫存記憶體。指向該非揮發式記憶體的數值則高於該第一閥值。
Description
本發明係有關於非揮發式記憶體之控制。
非揮發式記憶體有多種形式─例如,快閃記憶體(flash memory)、磁阻式隨機存取記憶體(Magnetoresistive RAM)、鐵電隨機存取記憶體(Ferroelectric RAM)、電阻式隨機存取記憶體(Resistive RAM)、自旋轉移力矩隨機存取記憶體(Spin Transfer Torque-RAM, STT-RAM)…等,用於長時間資料保存,可做為儲存媒體實現一資料儲存裝置。
隨著科技進步,資料儲存裝置的儲存能力越發強大。本技術領域需要足以應付大尺寸儲存的映射資訊管理技術。
本案揭露資料儲存之映射資訊管理。
根據本案一種實施方式實現的一種資料儲存裝置,包括:一非揮發式記憶體;以及一控制器,控制該非揮發式記憶體。該控制器將一主機下達的寫入資料快取於一暫存記憶體,再自該暫存記憶體程式化至該非揮發式記憶體。該控制器以一映射資訊格式維護該主機辨識的邏輯位址之映射資訊。該映射資訊格式下,不高於一第一閥值而對應該非揮發式記憶體之組態資訊儲存空間的數值,至少局部用於指向該暫存記憶體。該映射資訊格式下,指向該非揮發式記憶體的數值高於該第一閥值。
一種實施方式中,該映射資訊格式不具有映射資訊模式位元。
一種實施方式中,一第二閥值低於該第一閥值,且相依於該暫存記憶體提供的資料快取空間之尺寸。該映射資訊格式下,低於該第二閥值的數值指向該暫存記憶體的上述資料快取空間。
一種實施方式中,一預設數值不高於該第一閥值,且不低於該第二閥值。該映射資訊格式所呈現的該預設數值,示意虛置之映射資訊。
一種實施方式中,該映射資訊格式的一數值高於該第一閥值時,該控制器更以一數量對該數值進行除法運算以及餘數運算,計算一商值以及一餘數。該非揮發式記憶體劃分為複數個大單元,各大單元包括該數量的小單元。該商值為大單元編號。該餘數為小單元編號。
一種實施方式中,該控制器在該暫存記憶體上維護一映射歷程表,相應上述資料快取空間的複數個快取欄位,以該映射資訊格式條列各快取資料前一版本的實體位址。
一種實施方式中,相應上述資料快取空間所快取的一邏輯位址之資料,該控制器在該暫存記憶體上以該映射資訊格式維護一最新映射資訊。
一種實施方式中,該邏輯位址在上述資料快取空間的一第一欄位以及一第二欄位都有快取資料,且該最新映射資訊指向上述資料快取空間的該第二欄位。相應上述資料快取空間的該第一欄位,該映射歷程表的一第一欄位指向該非揮發式記憶體。相應上述資料快取空間的該第二欄位,該映射歷程表的一第二欄位指向上述資料快取空間的該第一欄位。該控制器根據該最新映射資訊,查詢該映射歷程表的該第二欄位,據以回溯該映射歷程表的該第一欄位。基於該映射歷程表的該第一欄位指向該非揮發式記憶體,該控制器視上述資料快取空間的該第一欄位為該邏輯位址之最舊版本快取資料。該控制器將該邏輯位址之最舊版本快取資料程式化至該非揮發式記憶體,並更新該映射歷程表的該第二欄位指向該非揮發式記憶體。
一種實施方式中,該控制器根據該最新映射資訊,查詢該映射歷程表的該第二欄位,辨識出係指向該非揮發式記憶體時,視上述資料快取空間的該第二欄位為該邏輯位址之最舊版本快取資料。確定上述資料快取空間的該第二欄位為該邏輯位址之最舊版本快取資料後,該控制器將上述資料快取空間的該第二欄位的快取資料程式化至該非揮發式記憶體,並更新該最新映射資訊指向該非揮發式記憶體。
以上記憶體控制器對非揮發式記憶體之操作也可以由其他結構實現。本案更可以前述概念實現非揮發式記憶體的控制方法。
下文特舉實施例,並配合所附圖示,詳細說明本發明內容。
以下敘述列舉本發明的多種實施例。以下敘述介紹本發明的基本概念,且並非意圖限制本發明內容。實際發明範圍應依照申請專利範圍界定之。
非揮發式記憶體可以是快閃記憶體(Flash Memory)、磁阻式隨機存取記憶體(Magnetoresistive RAM)、鐵電隨機存取記憶體(Ferroelectric RAM)、電阻式記憶體(Resistive RAM,RRAM)、自旋轉移力矩隨機存取記憶體(Spin Transfer Torque-RAM, STT-RAM)…等,提供長時間資料保存之儲存媒體。以下特別以快閃記憶體為例進行討論。
現今資料儲存裝置常以快閃記憶體為儲存媒體,實現記憶卡(Memory Card)、通用序列匯流排閃存裝置(USB Flash Device)、固態硬碟(SSD) …等產品。有一種應用是採多晶片封裝、將快閃記憶體與其控制器包裝在一起─稱為嵌入式快閃記憶體模組(如eMMC)。
以快閃記憶體為儲存媒體的資料儲存裝置可應用於多種電子裝置中。所述電子裝置包括智慧型手機、穿戴裝置、平板電腦、虛擬實境設備…等。電子裝置的運算模塊可視為主機(Host),操作所使用的資料儲存裝置,以存取其中快閃記憶體。
以快閃記憶體為儲存媒體的資料儲存裝置也可用於建構資料中心。例如,伺服器可操作固態硬碟(SSD)陣列形成資料中心。伺服器即可視為主機,操作所連結之固態硬碟,以存取其中快閃記憶體。
快閃記憶體有其特殊的儲存特性,以下敘述之。
主機(Host)端是以邏輯位址(例如,邏輯區塊位址LBA或全域主機頁編號GHP…等)來區別資料。至於資料實際儲存在快閃記憶體何處,則是以映射資訊管理。
快閃記憶體之物理空間是劃分為複數個區塊(Blocks)配置使用。第1圖圖解快閃記憶體一區塊Blk之結構。區塊Blk包括複數頁面(Pages),例如,頁面0…頁面255。一種實施方式係根據頁面編號─由低編號至高編號─循序使用區塊的儲存空間。各頁面包括複數個區段(Sectors),例如32個區段,每一區段可儲存512B長度的使用者資料。一次寫入可能涉及多個區段。例如,在4KB資料管理模式下,可將8個區段視為一個資料單元(Unit),進行管理。一次寫入可能涵蓋8個區段(4KB)長度。16KB長度的頁面可由四個資料單元(32個區段)所組成;四個資料單元的邏輯關係可能不連續。
特別是,同樣邏輯位址的資料更新並非覆寫至舊資料的儲存空間,新版本的資料須寫入空白的區段。舊空間的內容無效。區塊可能僅零星留存有效資料。由於快閃記憶體的儲存空間需抹除(Erase)後方能再次使用,備用區塊逐漸消耗。備用區塊數量不足時(如,低於閥值),垃圾回收(Garbage Collection)需求產生。區塊留存的零星有效資料經垃圾回收集中到其他空間。徒留無效資料的區塊則抹除釋出,拉升備用區塊數量,確保快閃記憶體之正常使用。垃圾回收也可能使得同區塊內容的邏輯關係更零散。
由前述內容可知,快閃記憶體的空間配置相當複雜。一種實施方式是建立邏輯-實體位址映射表(Logical-to-Physical Addresses Mapping Table,L2P映射表),顯示主機以邏輯位址辨識的資料儲存在快閃記憶體哪些實體位址 。
一種實施方式中,主機要求寫入快閃記憶體的資料是先快取在暫存記憶體。待程式化條件滿足(如,快取達一定量、或定時封存),資料才從暫存記憶體移至快閃記憶體。因此,邏輯位址也有可能是映射到暫存記憶體。映射資訊模式(pattern mode)顯示映射資訊是指向暫存記憶體、或是快閃記憶體。傳統的映射資訊格式會為映射資訊模式設立專屬位元。本案映射資訊格式則省去映射資訊模式位元。
第2A圖圖解傳統技術所使用的一種映射資訊格式200,包括32位元(四位元組)。各位元規劃如下:
l 位元[31]:UNC位元,供非揮發式記憶體高速通訊介面(NVMe)的UNC指令使用。
l 位元[30:29]:映射資訊模式(Pattern Mode)位元,00/01代表後續位元[28:0]標示快閃記憶體的實體位址,10代表後續位元[28:0]標示暫存記憶體的實體位址,11代表後續位元[28:0]為無意義的虛置(Dummy)數據。
l 位元[28:0]:快閃記憶體或暫存記憶體的實體位址,或虛置數據。
映射資訊格式200設有映射資訊模式位元[30:29],再扣掉位元UNC,僅有29位元可用於標示實體位址。所幸傳統資料儲存裝置尺寸有限,29位元相當足夠。甚至,區塊資訊的標示位元[28:16]與頁面以及資料單元資訊的標示位元[15:0]不重疊。
採映射資訊格式200的數值u32H2F,可進行以下運算以及判斷:
l u32H2F&0x60000000=0x60000000,則u32H2F為虛置數據;
l u32H2F&0x60000000=0x40000000,則u32H2F指向暫存記憶體;
l u32H2F&0x60000000=0,則u32H2F指向快閃記憶體。
指向快閃記憶體時,還可以做以下判斷:
l ((u32H2F & 0x1FFFFFFF)>>18),經過邏輯及(”AND”)運算以及位移(“Shift”)運算,得區塊資訊Blk#。
l (u32H2F & 0x3FFF),經過邏輯及(”AND”)運算,得頁面資訊Page#以及資料單元資訊Unit#,可為某編號頁面的某編號資料單元,或採偏移量(offset)方式呈現。
第2B圖圖解本案一種實施方式所使用的一種映射資訊格式210,包括32位元(四位元組),不含專屬的位元UNC以及映射資訊模式位元。以下詳細描述其運作方式。
第3圖為方塊圖,根據本案一種實施方式圖解資料儲存裝置300,包括快閃記憶體302、控制器304以及暫存記憶體306。主機308透過控制器304操作快閃記憶體302。資料儲存裝置300內部也可經控制器304發動快閃記憶體302之最佳化操作;例如,整理快閃記憶體302空間,使其發揮最大儲存效能。控制器304進行運算時是以暫存記憶體306暫存資料。暫存記憶體306可為動態隨機存取記憶體(DRAM)或SRAM。
快閃記憶體302包括複數個區塊。取自備用區塊池310的主動區塊312用於程式化主機308要求的寫入資料。主動區塊312程式化完成後即推入資料區塊池314。後續若經垃圾回收釋出,則重新歸類至備用區塊池310。
特別是,快閃記憶體302有至少一組態區塊Blk0儲存快閃記憶體302的組態資訊,不會被動態配置儲存使用者數據。系統上電後,主機308即要求邏輯區塊LBA0的資料,使控制器304讀取該組態區塊Blk0。控制器304將根據該組態區塊Blk0讀取狀況,得知操作該快閃記憶體302所需的組態資訊。控制器304是根據獲得的組態資訊操作該快閃記憶體302。
由於組態區塊Blk0無須維護映射關係,本案特別將該組態區塊Blk0的實體位址用於標示暫存記憶體306空間。
如圖所示,控制器304是先將資料快取於該暫存記憶體306的資料快取空間316,再自資料快取空間316程式化至該主動區塊312。暫存記憶體306也負責映射資訊的動態維護(空間318),其中採用省去映射資訊模式位元的映射資訊格式210。
第4圖以表格400條列映射資訊格式210各種數值的意義。
所述實施方式中,資料儲存裝置300採用多通道技術,將不同通道之間的區塊視為一個超級區塊(Super Block),將不同通道之間的頁面視為超級頁面(Super Page),再以超級區塊或超級頁面作為資料抺除(Erase)或資料寫入的單位。此架構可提升資料儲存裝置300的數據吞吐量。各超級區塊含括的資料單元數量UnitPerSuperBlk為0x300000。超級區塊SuperBlk0包括所有通道上的區塊Blk0,都為組態區塊,其32位元實體位址0x00000000~0x0002FFFF被挪用來指向資料快取空間316或用作虛置(Dummy)。一種實施方式中,資料快取空間316的尺寸為64M(=4K*214
)。以4K管理時,需要14位元標示空間。如,以0x0000~0x3FFF標示。因此,小於0x4000的數值所指為資料快取空間316,例如,暫存記憶體306之實體位址。數值0x5000(或其他未利用的值)標示虛置數據。
0x00030000起的數值即快閃記憶體302實體位址。例如,0x00030000~0x0005FFFF指向超級區塊SuperBlk1。例如,0x00060000~0x0008FFFF指向超級區塊SuperBlk2。以此類推。
一種實施方式中,快閃記憶體302的容量為16TB(4KB*232
),且是採4KB為資料單元進行管理。快閃記憶體302所有的資料單元需要32位元區別。映射資訊格式210完全能應付如此需求。以上數值都可視裝置實際的儲存能力、以及儲存空間架構有所調整。
第5圖為流程圖,根據本案一種實施方式圖解控制器304之運作。
步驟S502,控制器304接收主機308指示的邏輯位址。
步驟S504,控制器304查詢對應該邏輯位址的映射資訊,例如,獲得32位元長的數值u32H2F。
步驟S506,控制器304判讀映射資訊。映射資訊若高於0x8000(第一閥值),控制器304視該映射資訊為快閃記憶體302的實體位址,流程進入步驟S508。映射資訊若低於0x4000(第二閥值),控制器304視該映射資訊為暫存記憶體306的實體位址,流程進入步驟S510。若映射資訊等於0x5000(預設數值),控制器304視該映射資訊為虛置數據,流程進入步驟S512。其中,第一閥值與組態資料尺寸相關,第二閥值與資料快取空間316的尺寸相關,第一閥值大於第二閥值,預設數值(0x5000)可替代為介於第一閥值與第二閥值之間的任何數值。
步驟S508,控制器304依據映射資訊以存取快閃記憶體302。控制器304可對映射資訊(u32H2F)進行除法或取餘數運算以取得超級區塊編號SuperBlk#、通道編號CH#、頁面編號Page#以及資料單元編號Unit#等資訊,例如:
l u32H2F/UnitPerSuperBlk,經過除法運算,商值為超級區塊編號SuperBlk#;
l u32H2F%UnitPerSuperBlk,經過取餘值,得為通道編號CH#、頁面編號Page#以及資料單元編號Unit#。有了上述資訊,控制器304可正確地存取快閃記憶體302。
步驟S510,控制器304依據映射資訊以存取暫存記憶體306。例如,控制器304解讀數值u32H2F為暫存記憶體306位址,指向資料快取空間316。
步驟S512,控制器304回傳預設訊息。由於映射資訊(u32H2F)為虛置數據,因此,控制器304向主機308回報其所要求的邏輯位址尚未記錄,或此邏輯位址已被清除等預設訊息。
基於映射資訊格式210,控制器304更設計特殊流程在暫存記憶體306的空間318上維護映射資訊。第6A圖~第6D圖舉例說明暫存記憶體306所動態維護的內容,其中以邏輯位址LBA10的資料更新為例。尚未程式化至快閃記憶體302的資料快取於該資料快取空間316。空間318上動態維護的映射資訊則包括映射歷程表602以及最新映射資訊604。
映射歷程表602對應資料快取空間316複數個快取欄位,以該映射資訊格式210條列各快取資料前一版本的實體位址。相應邏輯位址LBA10,該控制器在空間318更以該映射資訊格式210維護該最新映射資訊604
參閱第6A圖,時間點T0的最新映射資訊604顯示邏輯位址LBA10的資料該時刻乃非揮發式儲存在快閃記憶體302的實體位址(區塊Blk10,頁面Page2)。時間點T1、T2、T3,邏輯位址LBA10管理的資料多次更新,依序快取於資料快取空間316索引2、3、4。相應時間點T1、T2、T3,最新映射資訊604三次更新,且映射歷程填入該映射歷程表602索引2、3、4。
對應時間點T1的LBA10快取(316上,索引2),其前一版本(T0)資料的實體位置(區塊Blk10,頁面Page2)由最新映射資訊604複製到映射歷程表602索引2。最新映射資訊604改為Cache2,指向資料快取空間316於時間點T1的LBA10快取版本(316上,索引2)。
對應時間點T2的LBA10快取(316,索引3),其前一版本(T1)資料的實體位置Cache2由最新映射資訊604複製到映射歷程表602索引3。最新映射資訊604改為Cache3,指向資料快取空間316於時間點T2的LBA10快取版本(316上,索引3)。
對應時間點T3的LBA10快取(316,索引4),其前一版本(T2)資料的實體位置Cache3由最新映射資訊604複製到映射歷程表602索引4。最新映射資訊604改為Cache4,指向資料快取空間316於時間點T3的LBA10快取版本(316上,索引4)。
第6B圖~第6D圖,控制器304將快取資料程式化至快閃記憶體302。
參閱第6B圖,控制器304將資料快取空間316索引2的LBA10資料程式化至快閃記憶體302時,會做幾個步驟。控制器304由最新映射資訊604(Cache4)得知LBA10最新版本資料在資料快取空間316的索引4。相應之,控制器304在映射歷程表602的索引4取得實體位址Cache3。根據索引對應的特性,控制器304回溯到映射歷程表602的索引3取得實體位址Cache2。根據索引對應的特性,控制器304回溯到映射歷程表602的索引2取得實體位址(Blk10,Page2)。控制器304因而得知資料快取空間316索引2前一版本資料早已程式化至快閃記憶體302,故確定資料快取空間316索引2的內容就是LBA10最舊的快取版本,並將之程式化至快閃記憶體302的實體位址(Blk11,Page3)。控制器304將區塊Blk10的有效頁數減一,並將區塊Blk11的有效頁數增1。控制器304更將指向索引2的映射歷程表602的索引3內容,自Cache2更新為(Blk11,Page3)。
參閱第6C圖,控制器304將資料快取空間316索引3的LBA10資料程式化至快閃記憶體302時,會做幾個步驟。控制器304由最新映射資訊604(Cache4)得知LBA10最新版本資料在資料快取空間316的索引4。相應之,控制器304在映射歷程表602的索引4取得實體位址Cache3。根據索引對應的特性,控制器304回溯到映射歷程表602的索引3取得實體位址(Blk11,Page3)。控制器304因而得知資料快取空間316索引3前一版本資料早已程式化至快閃記憶體302,故確定資料快取空間316索引3的內容就是LBA10最舊的快取版本,並將之程式化至快閃記憶體302的實體位址(Blk11,Page4)。控制器304將區塊Blk11的有效頁數減1後又增1。控制器304更將指向索引3的映射歷程表602的索引4內容,自Cache3更新為(Blk11,Page4)。
參閱第6D圖,控制器304將資料快取空間316索引4的LBA10資料程式化至快閃記憶體302時,會做幾個步驟。控制器304由最新映射資訊604(Cache4)得知LBA10最新版本資料在資料快取空間316的索引4。相應之,控制器304在映射歷程表602的索引4取得實體位址(Blk11,Page4)。控制器304因而得知資料快取空間316索引4前一版本資料早已程式化至快閃記憶體302,故確定資料快取空間316索引4的內容就是LBA10最舊的快取版本,並將之程式化至快閃記憶體302的實體位址(Blk11,Page5)。控制器304將區塊Blk11的有效頁數減1後又增1。控制器304將最新映射資訊604自實體位址Cache4更新為(Blk11,Page5)。
以上例子顯示,無論是資料快取空間316的實體位址、或是快閃記憶體302的實體位址,都可以映射資料格式210清楚載明。特別是,關於資料快取空間316的快取資料,傳統技術不只需要紀錄最新版本位置,還要記錄最舊版本位置。本案最新映射資訊604只需要紀錄最新版本位置,再以邏輯運算即可判斷出最舊版本位置。
以上記憶體控制器304對快閃記憶體302之操作設計也可以由其他結構實現。凡是根據前述概念維護映射資訊、使省略映射資料模式專屬位元的技術,都屬於本案欲保護範圍。本案更可以前述概念實現非揮發式記憶體的控制方法。
一種實施方式中,所述非揮發式記憶體的控制方法,包括:將一主機308下達的寫入資料快取於一暫存記憶體306,再自該暫存記憶體306程式化至一非揮發式記憶體(302);且以一映射資訊格式210維護該主機308辨識的邏輯位址之映射資訊。該映射資訊格式210下,不高於一第一閥值0x8000而對應該非揮發式記憶體(302)之組態資訊儲存空間(SuperBlk0)的數值,至少局部用於指向該暫存記憶體306。該映射資訊格式210下,指向該非揮發式記憶體302的數值高於該第一閥值0x8000。
雖然本發明已以較佳實施例揭露如上,然其並非用以限定本發明,任何熟悉此項技藝者,在不脫離本發明之精神和範圍內,當可做些許更動與潤飾,因此本發明之保護範圍當視後附之申請專利範圍所界定者為準。
200、210:映射資訊格式
300:資料儲存裝置
302:快閃記憶體
304:控制器
306:暫存記憶體
308:主機
310:備用區塊池
312:主動區塊
314:資料區塊池
316:資料快取空間
318:空間,動態維護映射資訊
400:表格
602:映射歷程表
604:最新映射資訊
Blk:區塊
Blk0:組態區塊
(Blk10,Page2)、(Blk11,Page3)…(Blk11,Page5):實體位址,指向快閃記憶體302
Cache2…Chace4:實體位址,指向資料快取空間316的索引2…4
LBA10:邏輯位址
S502…S512:步驟
T0…T3:時間點
UNC:UNC指令的專屬位元
第1圖圖解快閃記憶體一區塊Blk之結構;
第2A圖圖解傳統技術所使用的一種映射資訊格式200;
第2B圖圖解本案一種實施方式所使用的一種映射資訊格式210;
第3圖為方塊圖,根據本案一種實施方式圖解一資料儲存裝置300;
第4圖以表格400條列映射資訊格式210各種數值的意義;
第5圖為流程圖,根據本案一種實施方式圖解控制器304之運作;以及
第6A圖~第6D圖舉例說明暫存記憶體306所動態維護的內容,其中以邏輯位址LBA10的資料更新為例。
300:資料儲存裝置
302:快閃記憶體
304:控制器
306:暫存記憶體
308:主機
310:備用區塊池
312:主動區塊
314:資料區塊池
316:資料快取空間
318:空間,動態維護映射資訊
Blk0:組態區塊
Claims (19)
- 一種資料儲存裝置,包括: 一非揮發式記憶體;以及 一控制器,控制該非揮發式記憶體, 其中: 該控制器將一主機下達的寫入資料快取於一暫存記憶體,再自該暫存記憶體程式化至該非揮發式記憶體; 該控制器以一映射資訊格式維護該主機辨識的邏輯位址之映射資訊; 該映射資訊格式下,不高於一第一閥值而對應該非揮發式記憶體之組態資訊儲存空間的數值,至少局部用於指向該暫存記憶體;且 該映射資訊格式下,指向該非揮發式記憶體的數值高於該第一閥值。
- 如申請專利範圍第1項所述之資料儲存裝置,其中: 該映射資訊格式不具有映射資訊模式位元。
- 如申請專利範圍第2項所述之資料儲存裝置,其中: 一第二閥值低於該第一閥值,且相依於該暫存記憶體提供的資料快取空間之尺寸;且 該映射資訊格式下,低於該第二閥值的數值指向該暫存記憶體的上述資料快取空間。
- 如申請專利範圍第3項所述之資料儲存裝置,其中: 一預設數值不高於該第一閥值,且不低於該第二閥值;且 該映射資訊格式所呈現的該預設數值,示意虛置之映射資訊。
- 如申請專利範圍第4項所述之資料儲存裝置,其中: 該映射資訊格式的一數值高於該第一閥值時,該控制器更以一數量對該數值進行除法運算以及餘數運算,計算一商值以及一餘數; 該非揮發式記憶體劃分為複數個大單元,各大單元包括該數量的小單元; 該商值為大單元編號;且 該餘數為小單元編號。
- 如申請專利範圍第4項所述之資料儲存裝置,其中: 該控制器在該暫存記憶體上維護一映射歷程表,相應上述資料快取空間的複數個快取欄位,以該映射資訊格式條列各快取資料前一版本的實體位址。
- 如申請專利範圍第6項所述之資料儲存裝置,其中: 相應上述資料快取空間所快取的一邏輯位址之資料,該控制器在該暫存記憶體上以該映射資訊格式維護一最新映射資訊。
- 如申請專利範圍第7項所述之資料儲存裝置,其中: 該邏輯位址在上述資料快取空間的一第一欄位以及一第二欄位都有快取資料,且該最新映射資訊指向上述資料快取空間的該第二欄位; 相應上述資料快取空間的該第一欄位,該映射歷程表的一第一欄位指向該非揮發式記憶體; 相應上述資料快取空間的該第二欄位,該映射歷程表的一第二欄位指向上述資料快取空間的該第一欄位; 該控制器根據該最新映射資訊,查詢該映射歷程表的該第二欄位,據以回溯該映射歷程表的該第一欄位; 基於該映射歷程表的該第一欄位指向該非揮發式記憶體,該控制器視上述資料快取空間的該第一欄位為該邏輯位址之最舊版本快取資料;且 該控制器將該邏輯位址之最舊版本快取資料程式化至該非揮發式記憶體,並更新該映射歷程表的該第二欄位指向該非揮發式記憶體。
- 如申請專利範圍第8項所述之資料儲存裝置,其中: 該控制器根據該最新映射資訊,查詢該映射歷程表的該第二欄位,辨識出係指向該非揮發式記憶體時,視上述資料快取空間的該第二欄位為該邏輯位址之最舊版本快取資料;且 確定上述資料快取空間的該第二欄位為該邏輯位址之最舊版本快取資料後,該控制器將上述資料快取空間的該第二欄位的快取資料程式化至該非揮發式記憶體,並更新該最新映射資訊指向該非揮發式記憶體。
- 一種非揮發式記憶體控制方法,包括: 將一主機下達的寫入資料快取於一暫存記憶體,再自該暫存記憶體程式化至一非揮發式記憶體;且 以一映射資訊格式維護該主機辨識的邏輯位址之映射資訊, 其中: 該映射資訊格式下,不高於一第一閥值而對應該非揮發式記憶體之組態資訊儲存空間的數值,至少局部用於指向該暫存記憶體;且 該映射資訊格式下,指向該非揮發式記憶體的數值高於該第一閥值。
- 如申請專利範圍第10項所述之非揮發式記憶體控制方法,其中: 該映射資訊格式不具有映射資訊模式位元。
- 如申請專利範圍第11項所述之非揮發式記憶體控制方法,其中: 一第二閥值低於該第一閥值,且相依於該暫存記憶體提供的資料快取空間之尺寸;且 該映射資訊格式下,低於該第二閥值的數值指向該暫存記憶體的上述資料快取空間。
- 如申請專利範圍第12項所述之非揮發式記憶體控制方法,其中: 一預設數值不高於該第一閥值,且不低於該第二閥值;且 該映射資訊格式所呈現的該預設數值,示意虛置之映射資訊。
- 如申請專利範圍第13項所述之非揮發式記憶體控制方法,更包括: 該映射資訊格式的一數值高於該第一閥值時,以一數量對該數值進行除法運算以及餘數運算,計算一商值以及一餘數, 其中: 該非揮發式記憶體劃分為複數個大單元,各大單元包括該數量的小單元; 該商值為大單元編號;且 該餘數為小單元編號。
- 如申請專利範圍第13項所述之非揮發式記憶體控制方法,更包括: 在該暫存記憶體上維護一映射歷程表,相應上述資料快取空間的複數個快取欄位,以該映射資訊格式條列各快取資料前一版本的實體位址。
- 如申請專利範圍第15項所述之非揮發式記憶體控制方法,更包括: 相應上述資料快取空間所快取的一邏輯位址之資料,在該暫存記憶體上以該映射資訊格式維護一最新映射資訊。
- 如申請專利範圍第16項所述之非揮發式記憶體控制方法,其中: 該邏輯位址在上述資料快取空間的一第一欄位以及一第二欄位都有快取資料,且該最新映射資訊指向上述資料快取空間的該第二欄位; 相應上述資料快取空間的該第一欄位,該映射歷程表的一第一欄位指向該非揮發式記憶體;且 相應上述資料快取空間的該第二欄位,該映射歷程表的一第二欄位指向上述資料快取空間的該第一欄位。
- 如申請專利範圍第17項所述之非揮發式記憶體控制方法,更包括: 根據該最新映射資訊,查詢該映射歷程表的該第二欄位,據以回溯該映射歷程表的該第一欄位; 基於該映射歷程表的該第一欄位指向該非揮發式記憶體,視上述資料快取空間的該第一欄位為該邏輯位址之最舊版本快取資料;且 將該邏輯位址之最舊版本快取資料程式化至該非揮發式記憶體,並更新該映射歷程表的該第二欄位指向該非揮發式記憶體。
- 如申請專利範圍第18項所述之非揮發式記憶體控制方法,更包括: 根據該最新映射資訊,查詢該映射歷程表的該第二欄位,辨識出係指向該非揮發式記憶體時,視上述資料快取空間的該第二欄位為該邏輯位址之最舊版本快取資料;且 確定上述資料快取空間的該第二欄位為該邏輯位址之最舊版本快取資料後,將上述資料快取空間的該第二欄位的快取資料程式化至該非揮發式記憶體,並更新該最新映射資訊指向該非揮發式記憶體。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911233647.8A CN112100087B (zh) | 2019-06-17 | 2019-12-05 | 数据储存装置以及非挥发式存储器控制方法 |
US16/774,207 US11392489B2 (en) | 2019-06-17 | 2020-01-28 | Data storage device and non-volatile memory control method |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201962862196P | 2019-06-17 | 2019-06-17 | |
US62/862,196 | 2019-06-17 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202101220A TW202101220A (zh) | 2021-01-01 |
TWI766194B true TWI766194B (zh) | 2022-06-01 |
Family
ID=75234646
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW108136997A TWI766194B (zh) | 2019-06-17 | 2019-10-15 | 資料儲存裝置以及非揮發式記憶體控制方法 |
TW108136998A TWI723581B (zh) | 2019-06-17 | 2019-10-15 | 資料儲存裝置以及非揮發式記憶體控制方法 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW108136998A TWI723581B (zh) | 2019-06-17 | 2019-10-15 | 資料儲存裝置以及非揮發式記憶體控制方法 |
Country Status (1)
Country | Link |
---|---|
TW (2) | TWI766194B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11809314B2 (en) | 2021-11-21 | 2023-11-07 | Silicon Motion, Inc. | Method and apparatus for performing access control of memory device with aid of multi-stage garbage collection management |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190004960A1 (en) * | 2017-06-28 | 2019-01-03 | Arm Limited | Apparatus and method of handling caching of persistent data |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8443263B2 (en) * | 2009-12-30 | 2013-05-14 | Sandisk Technologies Inc. | Method and controller for performing a copy-back operation |
BR112014017543A2 (pt) * | 2012-01-17 | 2017-06-27 | Intel Corp | técnicas de validação de comando para o acesso a um dispositivo de armazenamento por um cliente remoto |
US9329948B2 (en) * | 2012-09-15 | 2016-05-03 | Seagate Technology Llc | Measuring cell damage for wear leveling in a non-volatile memory |
TWI680374B (zh) * | 2017-10-20 | 2019-12-21 | 慧榮科技股份有限公司 | 儲存裝置以及其介面晶片 |
TWI658363B (zh) * | 2017-10-20 | 2019-05-01 | 慧榮科技股份有限公司 | 儲存裝置以及其介面晶片 |
TWI646543B (zh) * | 2017-11-03 | 2019-01-01 | 大陸商深圳大心電子科技有限公司 | 資料編碼方法、資料解碼方法以及儲存控制器 |
-
2019
- 2019-10-15 TW TW108136997A patent/TWI766194B/zh active
- 2019-10-15 TW TW108136998A patent/TWI723581B/zh active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190004960A1 (en) * | 2017-06-28 | 2019-01-03 | Arm Limited | Apparatus and method of handling caching of persistent data |
Also Published As
Publication number | Publication date |
---|---|
TW202101220A (zh) | 2021-01-01 |
TW202101221A (zh) | 2021-01-01 |
TWI723581B (zh) | 2021-04-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8341340B2 (en) | Multi-tier address mapping in flash memory | |
US11232041B2 (en) | Memory addressing | |
US8321652B2 (en) | Process and method for logical-to-physical address mapping using a volatile memory device in solid state disks | |
CN110955384B (zh) | 数据储存装置以及非挥发式存储器控制方法 | |
US10496334B2 (en) | Solid state drive using two-level indirection architecture | |
US20190114272A1 (en) | Methods and apparatus for variable size logical page management based on hot and cold data | |
US10296250B2 (en) | Method and apparatus for improving performance of sequential logging in a storage device | |
US20190303299A1 (en) | Control unit for data storage system and method for updating logical-to-physical mapping table | |
US11307979B2 (en) | Data storage device and non-volatile memory control method | |
US11334480B2 (en) | Data storage device and non-volatile memory control method | |
TWI718709B (zh) | 資料儲存裝置以及非揮發式記憶體控制方法 | |
CN112100087B (zh) | 数据储存装置以及非挥发式存储器控制方法 | |
CN111737160A (zh) | 存储管理中多个副本的优化处理 | |
TWI766194B (zh) | 資料儲存裝置以及非揮發式記憶體控制方法 | |
CN112130750A (zh) | 数据储存装置以及非挥发式存储器控制方法 | |
US11416151B2 (en) | Data storage device with hierarchical mapping information management, and non-volatile memory control method | |
TWI724483B (zh) | 資料儲存裝置以及非揮發式記憶體控制方法 | |
CN111610929B (zh) | 数据储存装置以及非挥发式存储器控制方法 | |
Lee et al. | Accelerating In-Page Logging with Non-Volatile Memory. | |
US11080203B2 (en) | Data storage device and control method for non-volatile memory | |
TWI705328B (zh) | 資料儲存裝置以及非揮發式記憶體控制方法 | |
KR101373613B1 (ko) | 환형 구조의 비휘발성 메모리 캐쉬를 포함하는 하이브리드 스토리지 장치 |