TWI714975B - 資料儲存裝置以及非揮發式記憶體控制方法 - Google Patents
資料儲存裝置以及非揮發式記憶體控制方法 Download PDFInfo
- Publication number
- TWI714975B TWI714975B TW108107912A TW108107912A TWI714975B TW I714975 B TWI714975 B TW I714975B TW 108107912 A TW108107912 A TW 108107912A TW 108107912 A TW108107912 A TW 108107912A TW I714975 B TWI714975 B TW I714975B
- Authority
- TW
- Taiwan
- Prior art keywords
- block
- data
- active block
- source
- active
- Prior art date
Links
Images
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
- Memory System (AREA)
- Read Only Memory (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)陣列形成數據中心。伺服器即可視為主機,操作所連結之固態硬碟,以存取其中快閃記憶體。
第1圖根據本案一種實施方式圖解資料儲存裝置100。資料儲存裝置100包括快閃記憶體102以及控制器104。主機106透過控制器104而間接存取快閃記憶體102。控制器104除了接收及執行來自主機(Host)106的寫入命令,更主動搬移快閃記憶體102所儲存的使用者資料。
快閃記憶體有其特殊的儲存特性,以下敘述之。
主機106是以邏輯位址(例如,邏輯區塊位址LBA或全域主機頁編號GHP…等)區別使用者資料。快閃記憶體之物理空間則是劃分為複數個區塊(Blocks)配置使用。各區塊(Block)包括複數頁面(Pages)。各頁面包括N個區段(Sectors),N為大於一的整數,如:4。16KB空間的頁面可分為四個區段,各區段為4KB。一種實施方式中,一區塊係根據頁面編號,由低至高編號配置來儲存資料。
一種實施方式中,資料儲存裝置採用多通道技術,可將不同通道的多個區塊可以虛擬成一個超級區塊,多個頁面可以虛擬成一個超級頁面,並以超級區塊、超級頁面進行資料儲存空間的管理,可加快資料儲存裝置的資料吞吐量。
資料儲存裝置將使用者資料的邏輯位址與物理位址的對應關係記錄在邏輯-物理位址映射表(Logical-Physical Mapping Table,L2P Table)中。
快閃記憶體的儲存空間需先抹除方能再次使用,抹除(Erase)的最小單位為區塊。區塊可區分成資料區塊、主動區塊以及閒置區塊。閒置區塊可作為主動區塊以寫入使用者資料。當主動區塊寫滿使用者資料後,經過關閉處理(寫入EOB(End of Block)資訊),主動區塊變更為資料區塊。隨著使用者資料的更新,部份儲存在資料區塊的使用者資料會由有效資料變更為無效資料。當資料區塊所儲存的使用者資料皆為無效資料時,經抹除處理後則變更為閒置區塊。在另一種實施例中,充滿無效資料的資料區塊會變更為閒置區塊,而抹除處理乃等到閒置區塊作為主動區塊時再予以執行。
快閃記憶體的使用涉及資料搬移程序,可分成垃圾回收程序以及非垃圾回收程序。當閒置區塊數量不足時,可對儲存空間進行垃圾回收(Garbage Collection)處理。例如,當多個資料區塊(又稱來源區塊)僅儲存零星有效資料時,可進行垃圾回收處理而將有效資料集中到一個主動區塊(又稱目的區塊),以回收多個資料區塊,增加閒置區塊數量。
非垃圾回收程序的種類很多,是根據瀕損條件判斷。例如,產生錯誤更正失效(ECC failed)的資料區塊(來源區塊)也需要進行資料搬移以及時搶救其中尚可讀出的使用者資料。另外,過於頻繁讀取的資料區塊(來源區塊)也需要進行資料搬移,避免資料區塊的資料保存能力降低所導致的使用者資料損壞,此操作又稱預防性搬移(Early Move)。另外,資料搬移也可能因應區塊間的損耗平均(Wear Leveling)考量而啟動,例如,將讀取次數低的資料區塊(來源區塊)的使用者資料(包括有效資料及無效資料)全部搬移到抹除計數較高的主動區塊(目的區塊),以回收該資料區塊。另外,損耗平均程序亦可與垃圾回收程序予以結合,即損耗平均程序中搬移多個資料區塊(來源區塊)的有效資料至抹除計數較高的主動區塊(目的區塊)。
需注意的是,資料搬移較佳是以資料複製的方式來實現。
本案特別針對垃圾回收所進行的有效資料搬移提出一種高效能方案。本案提出一種高效能資料儲存的方法,可令同一塊主動區塊滿足不只一種的資料儲存的需求。除了儲存來自於主機106的使用者資料(主機106以寫入指令要求寫入快閃記憶體102)之外,低於一臨界資料量之有效資料搬移的垃圾回收也可存入同一塊主動區塊。
圖中將快閃記憶體102的閒置區塊歸屬至閒置區塊池108,資料區塊歸屬至資料區塊池110。控制器104是自閒置區塊池108中選擇閒置區塊作為主動區塊使用。相應之,閒置區塊池108的閒置區塊數量會減少。之後,使用者資料填入主動區塊。主動區塊關閉而成為資料區塊後,資料區塊數量會增加。
控制器104一般以一個主動區塊(標示為A0)接收來自主機106的使用者資料,此使用者資料通常由寫入命令所提供。本案是將該主動區塊A0更用來實現低數據量的垃圾回收。對於僅餘留少量有效資料(以一臨界資料量衡量)的一來源區塊,本案是將其有效資料收集至該主動區塊A0。相較於傳統技術特意另外配置一主動區塊(以下稱之A1)收集如此少量有效資料,本案設計有其效應。
首先,本案中主動區塊A0不只可以儲存來自主機106以寫入指令要求寫入的使用者資料,更可以儲存少量垃圾回收的使用者資料,因此,可降低閒置區塊的使用量。
因應突發斷電事件,突發斷電事件回復(Sudden Power Off Recovery,SPOR)程序須特別考量資料可靠度,會捨棄尚未關閉(Closed)的該主動區塊A1,仍以來源區塊上的使用者資料為準。因此,只要主動區塊A1尚未關閉,資料搬移程序中的所有來源區塊都必須留存,不能釋出。上述設計明顯地拖累來源區塊的回收,造成閒置區塊數量無法及時地增加,甚至導致不同種類的資料搬移程序的啟動。然而,突發斷電事件回復(SPOR)程序不會全然丟棄該主動區塊A0。若以主動區塊A0為來源區塊的資料搬移目的地,有效資料搬移完成後,資料搬移程序中的來源區塊即可釋出,無須為了SPOR程序而留存。閒置區塊數量隨即上升,利於快閃記憶體操作。
特別是,來源區塊若僅有少量有效資料(以一臨界資料量衡量),其搬移耗費時間甚少。待如此少量的有效資料完全自來源區塊搬移到主動區塊A0後,該來源區塊即可釋出,及時補足閒置區塊數量。其中,控制器104可記錄每一資料區塊的有效資料量,並即時性或週期性地更新每一資料區塊的有效資料量,或是在關閉一個主動區塊A0後再一次性地更新每一資料區塊的有效資料量。
此外,傳統技術為了令作為目的區塊的主動區塊A1及早關閉,可能會填入部份虛假資料(dummy data),這將降低資料區塊的資料儲存量,也增加區塊的抹寫頻率,縮短快閃記憶體壽命。相較之,彈性使用主動區塊A0作資料搬移程序的目的地,可以減少虛假資料的寫入,克服上述問題。
如前所述,資料搬移程序可區分成垃圾回收程序以及非垃圾回收程序。當閒置區塊數量少於一臨界數量TH1,控制器104啟動垃圾回收程序。控制器104自該資料區塊池110選出一來源區塊,並判斷該來源區塊的有效資料量。若該來源區塊的有效資料量低於一臨界資料量TH2,控制器104以該主動區塊A0作為該來源區塊之有效資料搬移的目的地,如箭頭GC_S所示。若該來源區塊的有效資料量不低於該臨界資料量,控制器104則是以另一主動區塊A1作為該來源區塊之有效資料搬移的目的地,如箭頭GC_B所示。另外,控制器104亦可直接選取具有最小有效資料量的資料區塊作為該來源區塊。該主動區塊A1也是從該閒置區塊池108選取,可能涉及複數個區塊之有效資料收集。主動區塊A1關閉後即歸納屬該資料區塊池110。該主動區塊A1不限定只做垃圾回收,也可應付前述錯誤更正失效搬移、預防性搬移、損耗平均搬移、或是其他。
一種實施方式中,控制器104限制該主動區塊A0所應付的來源區塊數量(例如,只應付單一個、或一特定數值內的來源區塊)。如此一來,以主動區塊A0為有效資料目的地的來源區塊數量有限,不會有過量區塊接連釋出。閒置區塊數量波動穩定。
一種實施方式係引入一旗標cleanflag決定垃圾回收採路徑GC_S或是路徑GC_B。
第2A圖以及第2B圖以流程圖圖解根據本案一種實施方式實現的高效能資料儲存方法,並使用旗標cleanflag決定垃圾回收採路徑GC_S或是路徑GC_B。
步驟S202:控制器104配置主動區塊A0。控制器104自閒置區塊池108配置其中之一閒置區塊作為主動區塊A0。
步驟S204:控制器104初始化旗標cleanflag為”DISABLE”。旗標cleanflag狀態”DISABLE”代表控制器104尚未將主動區塊A0當作任何來源區塊的有效資料之搬移目的地。
步驟S206:控制器104判斷閒置區塊之數量是否小於一臨界數量TH1。若否,控制器104判斷快閃記憶體102尚未有垃圾回收需求,流程進入步驟S208 ,反之,則更作步驟S210判斷。
步驟S208:控制器104判斷是否關閉主動區塊A0?如果是則執行步驟S214,如果否則執行步驟S212。假如主動區塊A0仍有閒置空間以儲存資料,則控制器104不關閉主動區塊A0。
步驟S212:控制器104將來自主機106的使用者資料寫入主動區塊A0,之後,回到步驟S206。在主動區塊A0接收主機106端資料之間,控制器104可能穿插快閃記憶體102多種操作,使得閒置區塊數量減少,衍生出垃圾回收需求。以步驟S206監控即是應付此狀況。
步驟S214:控制器104關閉主動區塊A0。假如主動區塊A0已無閒置空間以儲存資料,則控制器104關閉主動區塊A0,並將EOB資訊寫入主動區塊A0的最後一個頁面中,之後,將主動區塊A0變更成資料區塊。
步驟S210:控制器104在步驟S206確認有垃圾回收需求後,更以此判斷該來源區塊的有效資料量是否小於一臨界資料量TH2。控制器104以此步驟判斷是否為低資料量搬移之垃圾回收。若是,流程接續第2B圖。若否,流程進入步驟S216。
步驟S216:控制器104以主動區塊A1為來源區塊的有效資料量搬移目的地,實現高資料量的垃圾回收。一種實施方式中,控制器104可繼續回到步驟S206,監控是否有其他垃圾回收需求發生。
第2B圖之步驟S218~S224則是用於應付低資料量的垃圾回收。步驟S218:控制器104將旗標cleanflag設為”START”,其中,”START” 代表主動區塊A0作為資料搬移的目的區塊,並準備執行資料的搬移。
步驟S220:控制器104從來源區塊搬移使用者資料至主動區塊A0。另外,假設來源區塊中有效資料無法一次搬移完成,則控制器104可分批搬移來源區塊中有效資料至主動區塊A0,中間並穿插回應來自主機106的命令,例如,將來自主機106的使用者資料寫入主動區塊A0。
步驟S222:控制器104將旗標cleanflag設為”END”,其中,”END”表示主動區塊A0已用作某一來源區塊的有效資料搬移目的地,是用來與旗標cleanflag值”Disable”區別。倘若同一個主動區塊A0之使用中,又發生低資料量垃圾回收需求,”END”值的旗標可避免控制器104又再以主動區塊A0為目的區塊。新的低資料量垃圾回收可以待主動區塊A0關閉,另外又有閒置區塊配置為主動區塊A0後再進行。
步驟S224:控制器104將來源區塊變更為閒置區塊,此時,閒置區塊池的數量加1。步驟S224可無關主動區塊A0關閉與否。閒置區塊數量可及時被補上。相較之,步驟S216以主動區塊A1為目的地的來源區塊必須確定主動區塊A1關閉後方可釋出。以主動區塊A0為有效資料搬移目的地的技術顯然有其優勢。此外,由於來源區塊的有效資料量低,進行資料搬移所需的時間短,又能快速地將來源區塊變更成閒置區塊,因此,相較於步驟S216的作法,步驟S218~S224具有顯著的效益。
使用者操作習慣可能導致裝置反覆斷電、上電(稱為power cycle)。例如,手機使用者開蓋查看信息又蓋上。閒置區塊大量消耗,發生垃圾回收需求。本案技術使得過低的閒置區塊數量得以及時補足。
第3A圖以及第3B圖顯示不同技術如何變化快閃記憶體102的閒置區塊數量。
第3A圖統一都是以主動區塊A1(不同於接收主機106寫入資料用的主動區塊A0)為垃圾回收目的地。第3B圖則是將主動區塊A0也用來做部分垃圾回收。第3A圖中,閒置區塊數量會劇烈下降後再猛然補足。第3B圖中,閒置區塊數量一有不足立即補上,波動較小。
一種實施方式中,主動區塊A0限定收集的來源區塊數量多於單一個。
一種實施方式中,旗標cleanflag不被使用。主動區塊A0不限定所收集的來源區塊數量。
一種實施方式中,主動區塊A0是在完成寫入時遞減閒置區塊數量,以確立是否要設定一垃圾回收需求旗標。步驟S206是檢查該垃圾回收需求旗標。該旗標設立時,流程方進行步驟S210。
一種實施方式中,該臨界資料量TH2係設定為寫入單位。例如,臨界資料量TH2等於一頁16KB,或一超級頁64KB;避免過度佔用主動區塊A0做垃圾回收。
以上控制器104對快閃記憶體102之操作也可以由其他結構實現。凡是以主動區塊A0分擔低資料搬移量之垃圾回收的技術,都屬於本案欲保護範圍。本案更可以前述概念實現非揮發式記憶體的控制方法。
雖然本發明已以較佳實施例揭露如上,然其並非用以限定本發明,任何熟悉此項技藝者,在不脫離本發明之精神和範圍內,當可做些許更動與潤飾,因此本發明之保護範圍當視後附之申請專利範圍所界定者為準。
100:資料儲存裝置;102:快閃記憶體;104:控制器;106:主機;108:閒置區塊池;110:資料區塊池;A0:主動區塊;A1:收集區塊;GC_B、GC_S:垃圾回收之路徑;S202…S224:步驟。
第1圖根據本案一種實施方式圖解一資料儲存裝置100; 第2A圖以及第2B圖以流程圖圖解根據本案一種實施方式實現的高效能資料儲存方法,並使用旗標cleanflag決定垃圾回收採路徑GC_S或是路徑GC_B;以及 第3A圖以及第3B圖顯示不同技術如何變化快閃記憶體102的閒置區塊數量。
100:資料儲存裝置
102:快閃記憶體
104:控制器
106:主機
108:閒置區塊池
110:資料區塊池
A0:主動區塊
A1:收集區塊
GC_B、GC_S:垃圾回收之路徑
Claims (18)
- 一種資料儲存裝置,包括:一非揮發式記憶體;以及一控制器,根據一主機之要求操作該非揮發式記憶體,其中:該控制器自該非揮發式記憶體的複數個閒置區塊配置一第一主動區塊填寫該主機要求的寫入資料;且該控制器在該等閒置區塊之數量小於一臨界數量啟動垃圾回收、且一第一來源區塊的有效資料少於一臨界資料量屬低數據量搬移時,以該第一主動區塊為該第一來源區塊的有效資料的搬移目的地。
- 如申請專利範圍第1項所述之資料儲存裝置,其中:該控制器將該第一來源區塊的有效資料全數搬移到該第一主動區塊後,是在該第一主動區塊關閉前釋出該第一來源區塊為閒置區塊。
- 如申請專利範圍第2項所述之資料儲存裝置,其中:該控制器在該等閒置區塊之數量小於該臨界數量、但該第一來源區塊的有效資料不少於該臨界資料量時,以一第二主動區塊為該第一來源區塊的有效資料的搬移目的地;且該控制器係自該等閒置區塊配置該第二主動區塊,有別於該第一主動區塊。
- 如申請專利範圍第3項所述之資料儲存裝置,其中:該控制器將該第一來源區塊的有效資料全數搬移到該收集第二主動區塊後,保留該第一來源區塊,直至該第二主動區塊關閉方 釋出為閒置區塊。
- 如申請專利範圍第2項所述之資料儲存裝置,其中:該控制器操作一旗標;且該控制器在該第一來源區塊的有效資料全數搬移到該第一主動區塊後,以該旗標標示該第一主動區塊已負責該第一來源區塊之有效資料保存,禁制該第一主動區塊再用做一第二來源區塊的有效資料的搬移目的地。
- 如申請專利範圍第5項所述之資料儲存裝置,其中:該第二來源區塊的有效資料亦少於該臨界資料量;且該第二來源區塊的有效資料搬移需求源於該等閒置區塊的數量再次小於該臨界數量。
- 如申請專利範圍第6項所述之資料儲存裝置,其中:該控制器在該第一主動區塊關閉後,自該等閒置區塊配置一第三主動區塊填寫該主機要求的寫入資料,並重置該旗標,使該控制器得以將該第三主動區塊作為該第二來源區塊的有效資料的搬移目的地。
- 如申請專利範圍第2項所述之資料儲存裝置,其中:該控制器限制該第一主動區塊得以收集的來源區塊數量。
- 如申請專利範圍第2項所述之資料儲存裝置,其中:該臨界資料量係設定為寫入單位。
- 一種非揮發式記憶體控制方法,包括:根據一主機之要求操作一非揮發式記憶體;自該非揮發式記憶體的複數個閒置區塊配置一第一主動區塊填寫該主機要求的寫入資料;且 在該等閒置區塊之數量小於一臨界數量啟動垃圾回收、且一第一來源區塊的有效資料少於一臨界資料量屬低數據量搬移時,以該第一主動區塊為該第一來源區塊的有效資料的搬移目的地。
- 如申請專利範圍第10項所述之非揮發式記憶體控制方法,更包括:將該第一來源區塊的有效資料全數搬移到該第一主動區塊後,設定在該第一主動區塊關閉前,釋出該第一來源區塊為閒置區塊。
- 如申請專利範圍第11項所述之非揮發式記憶體控制方法,更包括:在該等閒置區塊之數量小於該臨界數量、但該第一來源區塊的有效資料不少於該臨界資料量時,以一第二主動區塊為該第一來源區塊的有效資料的搬移目的地,其中,該第二主動區塊係配置自該等閒置區塊,並有別於該第一主動區塊。
- 如申請專利範圍第12項所述之非揮發式記憶體控制方法,更包括:將該第一來源區塊的有效資料全數搬移到該第二主動區塊後,保留該第一來源區塊,直至該第二主動區塊關閉後方釋出為閒置區塊。
- 如申請專利範圍第13項所述之非揮發式記憶體控制方法,更包括:操作一旗標;且在該第一來源區塊的有效資料全數搬移到該第一主動區塊後,以該旗標標示該第一主動區塊已負責該第一來源區塊之有效資料 保存,禁制該第一主動區塊再用做一第二來源區塊的有效資料的搬移目的地。
- 如申請專利範圍第14項所述之非揮發式記憶體控制方法,其中:該第二來源區塊的有效資料亦少於該臨界資料量;且該第二來源區塊的有效資料搬移需求源於該等閒置區塊的數量再次小於該臨界數量。
- 如申請專利範圍第15項所述之非揮發式記憶體控制方法,更包括:在該第一主動區塊關閉後,自該等閒置區塊配置一第三主動區塊填寫該主機要求的寫入資料,並重置該旗標,使得以將該第三主動區塊作為該第二來源區塊的有效資料的搬移目的地。
- 如申請專利範圍第11項所述之非揮發式記憶體控制方法,更包括:限制該第一主動區塊得以收集的來源區塊數量。
- 如申請專利範圍第11項所述之非揮發式記憶體控制方法,其中:該臨界資料量係設定為寫入單位。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910376013.1A CN110888820B (zh) | 2018-09-07 | 2019-05-07 | 数据储存装置以及非挥发式存储器控制方法 |
US16/505,231 US11199982B2 (en) | 2018-09-07 | 2019-07-08 | Data storage device and control method for non-volatile memory |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201862728134P | 2018-09-07 | 2018-09-07 | |
US62/728,134 | 2018-09-07 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202011198A TW202011198A (zh) | 2020-03-16 |
TWI714975B true TWI714975B (zh) | 2021-01-01 |
Family
ID=70766513
Family Applications (4)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW109116356A TWI768346B (zh) | 2018-09-07 | 2019-02-26 | 資料儲存裝置以及非揮發式記憶體控制方法 |
TW108106466A TWI696916B (zh) | 2018-09-07 | 2019-02-26 | 資料儲存裝置以及非揮發式記憶體控制方法 |
TW108107913A TWI712882B (zh) | 2018-09-07 | 2019-03-08 | 資料儲存裝置以及非揮發式記憶體控制方法 |
TW108107912A TWI714975B (zh) | 2018-09-07 | 2019-03-08 | 資料儲存裝置以及非揮發式記憶體控制方法 |
Family Applications Before (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW109116356A TWI768346B (zh) | 2018-09-07 | 2019-02-26 | 資料儲存裝置以及非揮發式記憶體控制方法 |
TW108106466A TWI696916B (zh) | 2018-09-07 | 2019-02-26 | 資料儲存裝置以及非揮發式記憶體控制方法 |
TW108107913A TWI712882B (zh) | 2018-09-07 | 2019-03-08 | 資料儲存裝置以及非揮發式記憶體控制方法 |
Country Status (1)
Country | Link |
---|---|
TW (4) | TWI768346B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI748542B (zh) | 2020-07-01 | 2021-12-01 | 慧榮科技股份有限公司 | 電子裝置、快閃記憶體控制器及快閃記憶體模組進行垃圾收集操作的方法 |
TWI775143B (zh) * | 2020-09-09 | 2022-08-21 | 群聯電子股份有限公司 | 記憶體管理方法、記憶體儲存裝置及記憶體控制電路單元 |
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 (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120297121A1 (en) * | 2011-05-17 | 2012-11-22 | Sergey Anatolievich Gorobets | Non-Volatile Memory and Method with Small Logical Groups Distributed Among Active SLC and MLC Memory Partitions |
US8463983B2 (en) * | 2009-09-15 | 2013-06-11 | International Business Machines Corporation | Container marker scheme for reducing write amplification in solid state devices |
TWI524183B (zh) * | 2014-01-09 | 2016-03-01 | 群聯電子股份有限公司 | 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置 |
US20160283163A1 (en) * | 2015-03-26 | 2016-09-29 | Panasonic Intellectual Property Management Co., Ltd. | Memory controller, non-volatile storage device, non-volatile storage system, and memory control method |
TWI551989B (zh) * | 2009-09-03 | 2016-10-01 | 晶先鋒科技股份有限公司 | 快閃儲存系統之管理方法 |
US20170123972A1 (en) * | 2015-10-30 | 2017-05-04 | Sandisk Technologies Inc. | Garbage collection based on queued and/or selected write commands |
US20170177469A1 (en) * | 2015-12-17 | 2017-06-22 | Kabushiki Kaisha Toshiba | Storage system that performs host-initiated garbage collection |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7412560B2 (en) * | 2004-12-16 | 2008-08-12 | Sandisk Corporation | Non-volatile memory and method with multi-stream updating |
US8626936B2 (en) * | 2008-01-23 | 2014-01-07 | International Business Machines Corporation | Protocol independent server replacement and replication in a storage area network |
CN101645309B (zh) * | 2008-08-05 | 2013-05-22 | 威刚科技(苏州)有限公司 | 非挥发性存储装置及其控制方法 |
US8463826B2 (en) * | 2009-09-03 | 2013-06-11 | Apple Inc. | Incremental garbage collection for non-volatile memories |
KR101774496B1 (ko) * | 2010-12-08 | 2017-09-05 | 삼성전자주식회사 | 비휘발성 메모리 장치, 이를 포함하는 장치들, 및 이의 동작 방법 |
KR20130076429A (ko) * | 2011-12-28 | 2013-07-08 | 삼성전자주식회사 | 메모리 장치의 저장 영역 관리 방법 및 이를 이용한 저장 장치 |
TWI526830B (zh) * | 2013-11-14 | 2016-03-21 | 群聯電子股份有限公司 | 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置 |
CN104732153B (zh) * | 2013-12-18 | 2018-01-12 | 群联电子股份有限公司 | 数据抹除方法、存储器控制电路单元及存储器存储装置 |
TWI563507B (en) * | 2015-07-01 | 2016-12-21 | Phison Electronics Corp | Memory management method, memory control circuit unit and memry storage apparatus |
US9778855B2 (en) * | 2015-10-30 | 2017-10-03 | Sandisk Technologies Llc | System and method for precision interleaving of data writes in a non-volatile memory |
US20170123666A1 (en) * | 2015-10-30 | 2017-05-04 | Sandisk Technologies Inc. | System and method for managing maintenance scheduling in a non-volatile memory |
CN107025941A (zh) * | 2016-01-29 | 2017-08-08 | 瑞昱半导体股份有限公司 | 固态硬盘控制电路 |
CN107817943B (zh) * | 2016-09-13 | 2020-12-15 | 深圳大心电子科技有限公司 | 数据传输方法、存储器存储装置及存储器控制电路单元 |
TWI691839B (zh) * | 2016-11-28 | 2020-04-21 | 慧榮科技股份有限公司 | 資料管理方法 |
TWI615710B (zh) * | 2016-12-14 | 2018-02-21 | 群聯電子股份有限公司 | 記憶體管理方法、記憶體儲存裝置及記憶體控制電路單元 |
US10318423B2 (en) * | 2016-12-14 | 2019-06-11 | Macronix International Co., Ltd. | Methods and systems for managing physical information of memory units in a memory device |
TWI613652B (zh) * | 2017-03-27 | 2018-02-01 | 慧榮科技股份有限公司 | 資料儲存裝置以及其操作方法 |
-
2019
- 2019-02-26 TW TW109116356A patent/TWI768346B/zh active
- 2019-02-26 TW TW108106466A patent/TWI696916B/zh active
- 2019-03-08 TW TW108107913A patent/TWI712882B/zh active
- 2019-03-08 TW TW108107912A patent/TWI714975B/zh active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI551989B (zh) * | 2009-09-03 | 2016-10-01 | 晶先鋒科技股份有限公司 | 快閃儲存系統之管理方法 |
US8463983B2 (en) * | 2009-09-15 | 2013-06-11 | International Business Machines Corporation | Container marker scheme for reducing write amplification in solid state devices |
US20120297121A1 (en) * | 2011-05-17 | 2012-11-22 | Sergey Anatolievich Gorobets | Non-Volatile Memory and Method with Small Logical Groups Distributed Among Active SLC and MLC Memory Partitions |
TWI524183B (zh) * | 2014-01-09 | 2016-03-01 | 群聯電子股份有限公司 | 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置 |
US20160283163A1 (en) * | 2015-03-26 | 2016-09-29 | Panasonic Intellectual Property Management Co., Ltd. | Memory controller, non-volatile storage device, non-volatile storage system, and memory control method |
US20170123972A1 (en) * | 2015-10-30 | 2017-05-04 | Sandisk Technologies Inc. | Garbage collection based on queued and/or selected write commands |
US20170177469A1 (en) * | 2015-12-17 | 2017-06-22 | Kabushiki Kaisha Toshiba | Storage system that performs host-initiated garbage collection |
Also Published As
Publication number | Publication date |
---|---|
TWI768346B (zh) | 2022-06-21 |
TW202011199A (zh) | 2020-03-16 |
TW202036300A (zh) | 2020-10-01 |
TW202011198A (zh) | 2020-03-16 |
TWI712882B (zh) | 2020-12-11 |
TW202011196A (zh) | 2020-03-16 |
TWI696916B (zh) | 2020-06-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20130019057A1 (en) | Flash disk array and controller | |
US20150067415A1 (en) | Memory system and constructing method of logical block | |
JP6459644B2 (ja) | ストレージ制御装置、制御システム及び制御プログラム | |
JP2016506585A (ja) | データストレージのための方法及びシステム | |
KR20120030137A (ko) | 영구 가비지 컬렉션을 갖는 메모리 시스템 | |
TWI714975B (zh) | 資料儲存裝置以及非揮發式記憶體控制方法 | |
WO2020007030A1 (zh) | 一种系统控制器和系统垃圾回收方法 | |
US20120179863A1 (en) | Memory system | |
TWI718710B (zh) | 資料儲存裝置以及非揮發式記憶體控制方法 | |
CN114746834A (zh) | 基于分区状态的分区附加命令调度 | |
US11966618B2 (en) | Purposeful super device imbalance for ZNS SSD efficiency | |
US11960753B2 (en) | Solution for super device imbalance in ZNS SSD | |
CN110888820B (zh) | 数据储存装置以及非挥发式存储器控制方法 | |
US11537293B2 (en) | Wear leveling methods for zoned namespace solid state drive | |
WO2021211171A1 (en) | Weighting of read commands to zones in storage devices | |
KR102425470B1 (ko) | 데이터 저장 장치 및 그것의 동작 방법 | |
US11036414B2 (en) | Data storage device and control method for non-volatile memory with high-efficiency garbage collection | |
US10896004B2 (en) | Data storage device and control method for non-volatile memory, with shared active block for writing commands and internal data collection | |
KR20230094943A (ko) | 저장 단편화를 정량화하고 성능 저하를 예측하기 위한 저장 시스템 및 방법 | |
TWI726381B (zh) | 資料儲存裝置以及非揮發式記憶體控制方法 | |
CN110928482A (zh) | 部分页条带与使用部分页条带的存储设备及其方法 | |
WO2023196315A1 (en) | Controlled system management based on storage device thermal load | |
WO2023027784A1 (en) | Controlled imbalance in super block allocation in zns ssd |