TWI718710B - 資料儲存裝置以及非揮發式記憶體控制方法 - Google Patents

資料儲存裝置以及非揮發式記憶體控制方法 Download PDF

Info

Publication number
TWI718710B
TWI718710B TW108137199A TW108137199A TWI718710B TW I718710 B TWI718710 B TW I718710B TW 108137199 A TW108137199 A TW 108137199A TW 108137199 A TW108137199 A TW 108137199A TW I718710 B TWI718710 B TW I718710B
Authority
TW
Taiwan
Prior art keywords
block
mode
data
volatile memory
controller
Prior art date
Application number
TW108137199A
Other languages
English (en)
Other versions
TW202101223A (zh
Inventor
李介豪
張逸康
林軒平
Original Assignee
慧榮科技股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 慧榮科技股份有限公司 filed Critical 慧榮科技股份有限公司
Priority to CN201911104601.6A priority Critical patent/CN112130749B/zh
Priority to US16/885,627 priority patent/US11334480B2/en
Publication of TW202101223A publication Critical patent/TW202101223A/zh
Application granted granted Critical
Publication of TWI718710B publication Critical patent/TWI718710B/zh

Links

Images

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),以下將以LBA為例進行說明。至於資料實際儲存在快閃記憶體何處,則是以映射方式管理。
快閃記憶體之物理空間是劃分為複數個區塊(Blocks)配置使用。第1圖圖解快閃記憶體一區塊Blk之結構。一區塊Blk包括複數頁面(Pages),例如,頁面0…頁面255。各頁面包括複數個區段(Sectors),例如32個區段,每一區段可儲存512B長度的使用者資料。一次寫入可能涉及多個區段。例如,在4KB資料管理模式下,可將8個區段視為一個資料單元,進行管理。一次寫入可能涵蓋8個區段(4KB)長度。16KB長度的頁面可由四個資料單元(32個區段)所組成。一種實施方式係根據頁編號─由低編號至高編號─循序使用一區塊的儲存空間。特別是,同樣LBA所對應的資料更新並非覆寫至舊資料的儲存空間,新版本的資料須寫入閒置空間(空白的區段)。舊空間的內容則標示為無效。一區塊可能僅零星留存有效資料。
由於資料不斷地寫入閒置空間,這導致閒置區塊逐漸消耗。閒置區塊數量不足時(如,低於閥值),垃圾回收(Garbage Collection)需求產生。資料區塊留存的零星有效資料經垃圾回收程序集中到其他區塊(例如:主動區塊)的儲存空間。徒留無效資料的資料區塊則抹除(Erase)而成為閒置區塊,閒置區塊數量因而拉升,確保資料儲存裝置之正常使用。
垃圾回收程序的一種實施方式是以有效頁數(Valid Page Count)低的資料區塊為來源區塊(Source Block)。如此一來,少量的有效資料完成搬移後,此資料區塊即可被抹除,進而釋出一個區塊(閒置區塊)的儲存空間。然而,以有效頁數作為來源區塊的判斷標準有其缺點。例如,第一來源區塊和第二來源區塊原本儲存的資料的LBA為連續的,之後,第一來源區塊和第二來源區塊剩下零星的有效資料。當垃圾回收程序執行並將零星有效資料複製至目的區塊(Destination Block)後,資料的LBA的連續性很可能會被破壞,這使的目的區塊所儲存的資料的LBA為不連續,且LBA亦可能失去順序性,此結果不利於資料儲存裝置執行連續LBA所對應的資料讀取,這將造成資料儲存裝置的資料讀取效能上的低落。
本案提出一種方案,改善前述資料零散問題。本案垃圾回收程序乃依照區塊的編程順序選取源區塊做。一種實施方式中,第一區塊編程後,接續編程的是第二區塊。第一回合的垃圾回收以第一區塊為源區塊,將資料收集至目的區塊後,第二回合的垃圾回收以第二區塊為源區塊,再將資料收集至目的區塊。如此一來,目的區塊所收集的內容維持LBA高度連續,利於連續LBA所對應的資料讀取。甚至,該段連續資料再次更新後,此目的區塊即完全無效;無須再執行垃圾回收即可回收目的區塊,大大節省系統資源。
一種實施方式中,快閃記憶體的儲存單元不限定為單階儲存單元(Single-Level Cells,SLCs),更有部分空間是提供多階儲存單元(multiple level cells),包括三階儲存單元 (Triple-Level Cells,TLCs)、或四階儲存單元 (Quad-level cells,QLCs)。一個單階儲存單元SLC儲存一個位元的資料,一個三階儲存單元TLC儲存三個位元的資料,以此類推。為了簡化說明,以下將以TLC為例。特別說明之,以下實施例提到應用在TLC的技術也可應用至其他階數的多階儲存單元。
第2A圖與第2B圖分別對應SLC與TLC的示意圖,其中以閘極浮動電子進行劃分,圖解不同邏輯意義下,存儲單元分布概率。如圖所示,存儲單元的邏輯定義與其閘極浮動電子量相關。SLC的邏輯分界較TLC明確;不僅可靠度較高、寫入速度也較快。TLC則是在儲存容量上有其優勢。若追求準確與速度,採用SLC的區塊(或稱SLC區塊)可提供理想的儲存空間,例如:可作為資料快取。考量到儲存密度,採用TLC的區塊(或稱TLC區塊)可提供理想的儲存空間,例如:可作為資料儲存。由於資料儲存量上的差異,SLC區塊的所收集的資料須伺機搬移到TLC區塊,以確保資料儲存裝置可提供適當的儲存容量。
一種實施方式中,在SLC模式下,TLC區塊可模擬SLC區塊的運作,例如:採用SLC模式進行資料編程(Data Program),或是採用SLC模式進行資料讀取。將來自主機的資料以SLC模式編程至TLC閒置區塊後,此TLC閒置區塊之後可稱為SLC資料區塊。當編程的資料量達一臨界資料量(例如,資料儲存裝置的儲存容量的三分之一)後,產生垃圾回收需求以將有效資料由SLC資料區塊搬移到TLC閒置區塊。
本案垃圾回收程序特別在SLC模式進行資料編程的資料量超過臨界值、或SLC閒置區塊數低於臨界值,依照編程順序(Program Order)來選擇SLC資料區塊作為來源區塊(Source Block),將來源區塊中的資料(有效資料)搬移到目的區塊(Destination Block),目的區塊為TLC閒置區塊。TLC閒置區塊不再寫入資料後則變更為TLC資料區塊。如此一來,來源區塊的選取乃依照編程順序,如果來源區塊的資料為連續資料,則搬移到目的區塊的資料亦為連續資料,在目的區塊的資料的LBA具有高度連續產性,利於LBA所對應的資料讀取。甚至,該段連續資料再次更新後,目的區塊的所有資料可能皆被無效化,因此,無須執行本案垃圾回收程序來回收TLC資料區塊的資料,可直接將TLC資料區塊變更為TLC閒置區塊,顯著節省系統資源。
第3圖為方塊圖,圖解根據本案一種實施方式實現的資料儲存裝置300。資料儲存裝置300以快閃記憶體302為儲存媒體,並為快閃記憶體302設計控制器304。主機306係經控制器304操作快閃記憶體302。
當收到來自主機306所下達的寫入指令及資料,控制器304以SLC模式將資料寫入至快閃記憶體302的SLC閒置區塊,SLC閒置區塊不再寫入資料後則變更為SLC資料區塊,控制器304更以記憶體(可為DRAM、SRAM…等)308紀錄SLC資料區塊的編程順序表310。隨著寫入量累積,SLC閒置區塊量不足或編程的資料量達一臨界資料量時,控制器304啟動本案垃圾回收程序。本案垃圾回收程序根據編程順序表310選擇來源區塊,將SLC資料區塊上的資料收集到目的區塊。當SLC資料區塊已無任何有效資料後,SLC資料區塊可被抹除(erase)或變更成SLC閒置區塊。
如圖所示,主機306下達寫入LBA#0~#39資料的寫入指令,控制器304依序將LBA#0~#39資料寫入至SLC資料區塊Blk0、Blk1、Blk2、Blk4、Blk5…。隨著以上編程動作,控制器304令編程順序表310記錄各區塊(BLK#)鏈結的下一個編程區塊(LinkBlk)為何。圖示表格(310)顯示SLC資料區塊的編程順序依序為SLC資料區塊Blk0、Blk1、Blk2、Blk4以及Blk5。
當啟動本案垃圾回收程序時,控制器304根據編程順序表310而依序選取SLC資料區塊Blk0、Blk1、Blk2以及Blk4作為來源區塊,將有效資料搬移到TLC資料區塊Blk100。如圖所示,即使部分資料在SLC資料區塊Blk0、Blk1、Blk2以及Blk4上已無效,沒有收集到TLC資料區塊Blk100,TLC資料區塊Blk100所收集到的資料在LBA上還是有高度連續性,達到本案的目的。
編程順序表310除了可暫存於記憶體308,亦可記錄在快閃記憶體302上,如此一來,可確保編程順序表310不會遺失。一種實施方式中,控制器306將,將下一個編程區塊(LinkBlk)整合於EOB(End Of Block,區塊結尾)資訊中,使資料區塊依序鏈接。一種實施方式中,控制器306將編程順序表310寫入至快閃記憶體302的系統區塊(System Information Blocks)中。
第4圖為流程圖,根據本案一種實施方式圖解寫入指令執行的步驟,較佳由控制器304所執行。
步驟S402,控制器304接收來自主機306的寫入指令,其中,寫入指令包括LBA以及LBA所對應的資料。
步驟S404,控制器304以SLC模式將LBA所對應的資料編程至SLC閒置區塊,其中,控制器304亦可以SLC模式將LBA編程至SLC閒置區塊。
步驟S406,控制器304將SLC閒置區塊的區塊編號記錄至編程順序表310,其中,編程順序表310暫存於記憶體308。
步驟S408,控制器304將編程順序表310寫入快閃記憶體302的系統區塊。
第5圖為流程圖,根據本案一種實施方式圖解寫入指令執行的步驟,較佳由控制器304所執行。
步驟S502,控制器304接收來自主機306的寫入指令,其中,寫入指令包括LBA以及LBA所對應的資料。
步驟S504,控制器304以SLC模式將LBA所對應的資料編程至SLC閒置區塊,其中,控制器304亦可以SLC模式將LBA編程至SLC閒置區塊。
步驟S506,控制器304判斷是否不再編程資料至SLC閒置區塊,如果是則執行步驟S508,如果否則執行步驟S502。如果SLC閒置區塊已寫滿資料,或突然發生掉電等突發事件,則控制器304不再編程資料至SLC閒置區塊。
步驟S508,控制器304將SLC閒置區塊變更為SLC資料區塊。
步驟S510,控制器304將SLC資料區塊的區塊編號記錄至編程順序表310,其中,編程順序表310暫存於記憶體308。
步驟S512,控制器304將編程順序表310寫入快閃記憶體302的系統區塊。
第6圖為流程圖,根據本案一種實施方式圖解垃圾回收程序的步驟,較佳由控制器304所執行。
步驟S602,控制器304判斷垃圾回收程序的觸發條件是否滿足,如果是則執行步驟S604,如果否則繼續執行步驟S602,其中,垃圾回收程序的觸發條件例如是SLC閒置區塊數量低於一閥值,或是SLC閒置區塊的資料編程量大於等於一臨界資料量。
步驟S604,控制器306根據編程順序表310選擇來源區塊,其中,來源區塊,例如,SLC資料區塊,的資料乃採用非預設編程模式,例如,SLC模式,對TLC區塊進行資料編程。
步驟S606,控制器306選擇目的區塊,其中,控制器306將採用預設編程模式,例如,TLC模式,而將資料編程至目的區塊,例如,TLC閒置區塊。
步驟S608,控制器306將來源區塊中的資料複製至目的區塊。
步驟S610,控制器306將來源區塊變更為閒置區塊。當來源區塊中的資料皆複製至目的區塊SLC後,來源區塊中的資料皆為無效資料,因此,控制器306可將SLC資料區塊變更為SLC閒置區塊以增加SLC閒置區塊數量,達到垃圾回收目的。
一種實施方式另外有一個垃圾回收設計,在TLC閒置區塊數量不足時啟動。此時即是以有效頁數為來源區塊選取標準,進行的是TLC來源區塊至TLC目的區塊的資料搬移。不同於前述考量到編成順序的SLC來源區塊至TLC目的區塊的第一型垃圾回收,基於有效頁數而進行的TLC來源區塊至TLC目的區塊的資料搬移稱為第二型垃圾回收。
一種實施方式中,非揮發式記憶體控制方法包括以下步驟:將一主機要求的寫入資料編程至一非揮發式記憶體時,更記錄該非揮發式記憶體的複數個區塊之編程順序;根據上述編程順序,將一第一源區塊的有效資料複製到一第一目的區塊後,將一第二源區塊的有效資料複製到該第一目的區塊,其中該第二源區塊乃接續該第一源區塊編程;且將該第一源區塊以及該第二源區塊的有效資料複製至該第一目的區塊後,釋出該第一源區塊以及該第二源區塊,實現第一型垃圾回收。此控制方法可如前述內容有多種變形。
以上控制器304對快閃記憶體302之操作設計也可以由其他結構實現。凡是在垃圾回收時,以編程順序作為源區塊選擇標準,都屬於本案欲保護範圍。本案更可以前述概念實現非揮發式記憶體的控制方法。
雖然本發明已以較佳實施例揭露如上,然其並非用以限定本發明,任何熟悉此項技藝者,在不脫離本發明之精神和範圍內,當可做些許更動與潤飾,因此本發明之保護範圍當視後附之申請專利範圍所界定者為準。
300~資料儲存裝置; 302~快閃記憶體; 304~控制器; 306~主機; 308~記憶體; 310~編程順序表; Blk、Blk0…Blk5、Blk100~區塊; Blk#~區塊編號; LinkBlk~區塊鏈結的下一個編程區塊; S402…S408、S502…S512、S602…S610~步驟。
第1圖圖解快閃記憶體一區塊Blk之結構; 第2A圖與第2B圖分別對應單階儲存單元SLC與三階儲存單元TLC,其中以閘極浮動電子進行劃分,圖解不同邏輯意義下,存儲單元分布概率; 第3圖為方塊圖,圖解根據本案一種實施方式實現的一資料儲存裝置300; 第4圖為流程圖,根據本案一種實施方式圖解寫入指令執行的步驟; 第5圖為流程圖,根據本案一種實施方式圖解寫入指令執行的步驟;且 第6圖為流程圖,根據本案一種實施方式圖解垃圾回收程序的步驟。
300~資料儲存裝置; 302~快閃記憶體; 304~控制器; 306~主機; 308~記憶體; 310~編程順序表; Blk0…Blk5、Blk100~區塊; Blk#~區塊編號; LinkBlk~區塊鏈結的下一個編程區塊。

Claims (18)

  1. 一種資料儲存裝置,包括:一非揮發式記憶體,其儲存空間劃分為複數個區塊;以及一控制器,控制該非揮發式記憶體,其中:將一主機要求的寫入資料編程至該非揮發式記憶體時,該控制器更記錄該等區塊之編程順序;根據上述編程順序,該控制器將一第一源區塊的有效資料複製到一第一目的區塊後,是將一第二源區塊的有效資料複製到該第一目的區塊,該第二源區塊乃接續該第一源區塊編程;該第一源區塊以及該第二源區塊的有效資料複製至該第一目的區塊後,該控制器釋出該第一源區塊以及該第二源區塊,實現第一型垃圾回收;該控制器是將該主機要求的寫入資料以一第一模式編程至該非揮發式記憶體,再經上述第一型垃圾回收轉為一第二模式儲存;該第一源區塊以及該第二源區塊採用該第一模式儲存資料;且該第一目的區塊採用該第二模式儲存資料。
  2. 如申請專利範圍第1項所述之資料儲存裝置,其中:該控制器是在供該第一模式操作之閒置區塊數量低於一第一閥值時,進行上述第一型垃圾回收。
  3. 如申請專利範圍第2項所述之資料儲存裝置,其中: 該控制器在供該第二模式操作之閒置區塊數量低於一第二閥值時,進行第二型垃圾回收;且經該第二型垃圾回收,該控制器根據有效頁數自該第二模式操作的區塊間選擇一第三源區塊,將該第三源區塊的有效資料複製到該第二模式操作的一第二目的區塊,並將該第三源區塊釋出。
  4. 如申請專利範圍第3項所述之資料儲存裝置,其中:該主機要求更新該第一目的區塊的資料時,該控制器經該第一模式將更新內容編程至該非揮發式記憶體,並令該第一目的區塊的內容無效,使該第一目的區塊不經上述第二型垃圾回收即釋出。
  5. 如申請專利範圍第4項所述之資料儲存裝置,其中:該第一模式為單階儲存模式;且該第二模式為三階儲存模式。
  6. 如申請專利範圍第1項所述之資料儲存裝置,其中:該控制器以一編程順序表紀錄該非揮發式記憶體採該第一模式的複數個區塊之編程順序。
  7. 如申請專利範圍第6項所述之資料儲存裝置,更包括:一記憶體,耦接該控制器,其中,該控制器在該記憶體上管理該區塊編程順序紀錄表。
  8. 如申請專利範圍第6項所述之資料儲存裝置,其中:該控制器將該編程順序表載於該非揮發式記憶體的系統資訊區塊。
  9. 如申請專利範圍第1項所述之資料儲存裝置,其中:關於該第一模式操作的區塊,該控制器以寫入區塊結尾資訊紀錄下一個編程的區塊;且該控制器將上述寫入區塊結尾資訊寫入所屬區塊的尾端。
  10. 一種非揮發式記憶體控制方法,包括:將一主機要求的寫入資料編程至一非揮發式記憶體時,更記錄該非揮發式記憶體的複數個區塊之編程順序;根據上述編程順序,將一第一源區塊的有效資料複製到一第一目的區塊後,將一第二源區塊的有效資料複製到該第一目的區塊,其中該第二源區塊乃接續該第一源區塊編程;且將該第一源區塊以及該第二源區塊的有效資料複製至該第一目的區塊後,釋出該第一源區塊以及該第二源區塊,實現第一型垃圾回收,其中,該主機要求的寫入資料以一第一模式編程至該非揮發式記憶體後,係經上述第一型垃圾回收轉為一第二模式儲存;且該第一源區塊以及該第二源區塊採用該第一模式儲存資料;且該第一目的區塊採用該第二模式儲存資料。
  11. 如申請專利範圍第10項所述之非揮發式記憶體控制方法,更包括: 在供該第一模式操作之閒置區塊數量低於一第一閥值時,進行上述第一型垃圾回收。
  12. 如申請專利範圍第11項所述之非揮發式記憶體控制方法,更包括:在供該第二模式操作之閒置區塊數量低於一第二閥值時,進行第二型垃圾回收;且經該第二型垃圾回收,根據有效頁數自該第二模式操作的區塊間選擇一第三源區塊,將該第三源區塊的有效資料複製到該第二模式操作的一第二目的區塊,並將該第三源區塊釋出。
  13. 如申請專利範圍第12項所述之非揮發式記憶體控制方法,更包括:在該主機要求更新該第一目的區塊的資料時,經該第一模式將更新內容編程至該非揮發式記憶體,並令該第一目的區塊的內容無效,使該第一目的區塊不經上述第二型垃圾回收即釋出。
  14. 如申請專利範圍第13項所述之非揮發式記憶體控制方法,其中:該第一模式為單階儲存模式;且該第二模式為三階儲存模式。
  15. 如申請專利範圍第10項所述之非揮發式記憶體控制方法,更包括: 以一編程順序表紀錄該非揮發式記憶體採該第一模式的複數個區塊之編程順序。
  16. 如申請專利範圍第15項所述之非揮發式記憶體控制方法,更包括:提供一記憶體;且在該記憶體上管理該區塊編程順序紀錄表。
  17. 如申請專利範圍第15項所述之非揮發式記憶體控制方法,更包括:將該編程順序表載於該非揮發式記憶體的系統資訊區塊。
  18. 如申請專利範圍第10項所述之非揮發式記憶體控制方法,更包括:關於該第一模式操作的區塊,以寫入區塊結尾資訊紀錄下一個編程的區塊;且將上述寫入區塊結尾資訊寫入所屬區塊的尾端。
TW108137199A 2019-06-25 2019-10-16 資料儲存裝置以及非揮發式記憶體控制方法 TWI718710B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201911104601.6A CN112130749B (zh) 2019-06-25 2019-11-13 数据储存装置以及非挥发式存储器控制方法
US16/885,627 US11334480B2 (en) 2019-06-25 2020-05-28 Data storage device and non-volatile memory control method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201962866051P 2019-06-25 2019-06-25
US62/866,051 2019-06-25

Publications (2)

Publication Number Publication Date
TW202101223A TW202101223A (zh) 2021-01-01
TWI718710B true TWI718710B (zh) 2021-02-11

Family

ID=75234664

Family Applications (2)

Application Number Title Priority Date Filing Date
TW108137199A TWI718710B (zh) 2019-06-25 2019-10-16 資料儲存裝置以及非揮發式記憶體控制方法
TW108137198A TWI718709B (zh) 2019-06-25 2019-10-16 資料儲存裝置以及非揮發式記憶體控制方法

Family Applications After (1)

Application Number Title Priority Date Filing Date
TW108137198A TWI718709B (zh) 2019-06-25 2019-10-16 資料儲存裝置以及非揮發式記憶體控制方法

Country Status (1)

Country Link
TW (2) TWI718710B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI813978B (zh) 2021-04-16 2023-09-01 群聯電子股份有限公司 快閃記憶體控制方法、快閃記憶體儲存裝置及快閃記憶體控制器
TWI805231B (zh) 2022-02-18 2023-06-11 慧榮科技股份有限公司 資料儲存裝置以及非揮發式記憶體控制方法
TW202334821A (zh) 2022-02-18 2023-09-01 慧榮科技股份有限公司 資料儲存裝置以及非揮發式記憶體控制方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8533384B2 (en) * 2007-12-27 2013-09-10 Sandisk Enterprise Ip Llc Flash memory controller garbage collection operations performed independently in multiple flash memory groups
US8904090B2 (en) * 2010-12-08 2014-12-02 Samsung Electronics Co., Ltd. Non-volatile memory device, devices having the same, and method of operating the same
TW201611007A (zh) * 2014-09-12 2016-03-16 Toshiba Kk 半導體記憶裝置
TWI661307B (zh) * 2017-12-06 2019-06-01 慧榮科技股份有限公司 資料儲存裝置、主機裝置、以及資料寫入方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5136592A (en) * 1989-06-28 1992-08-04 Digital Equipment Corporation Error detection and correction system for long burst errors
US9088303B2 (en) * 2013-02-28 2015-07-21 Micron Technology, Inc. Codewords that span pages of memory
US9772900B2 (en) * 2014-07-10 2017-09-26 Samsung Electronics Co., Ltd. Tiered ECC single-chip and double-chip Chipkill scheme
TWI658363B (zh) * 2017-10-20 2019-05-01 慧榮科技股份有限公司 儲存裝置以及其介面晶片

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8533384B2 (en) * 2007-12-27 2013-09-10 Sandisk Enterprise Ip Llc Flash memory controller garbage collection operations performed independently in multiple flash memory groups
US8904090B2 (en) * 2010-12-08 2014-12-02 Samsung Electronics Co., Ltd. Non-volatile memory device, devices having the same, and method of operating the same
TW201611007A (zh) * 2014-09-12 2016-03-16 Toshiba Kk 半導體記憶裝置
TWI661307B (zh) * 2017-12-06 2019-06-01 慧榮科技股份有限公司 資料儲存裝置、主機裝置、以及資料寫入方法

Also Published As

Publication number Publication date
TW202101222A (zh) 2021-01-01
TW202101223A (zh) 2021-01-01
TWI718709B (zh) 2021-02-11

Similar Documents

Publication Publication Date Title
US11967369B2 (en) Lifetime mixed level non-volatile memory system
KR101324688B1 (ko) 영구 가비지 컬렉션을 갖는 메모리 시스템
CN110955384B (zh) 数据储存装置以及非挥发式存储器控制方法
US20150309927A1 (en) Hybrid Non-Volatile Memory System
CN105718530B (zh) 文件存储系统及其文件存储控制方法
WO2014074449A2 (en) Wear leveling in flash memory devices with trim commands
KR101403922B1 (ko) 접근 빈도에 따라 데이터를 할당하는 저장장치 및 저장방법
TWI718710B (zh) 資料儲存裝置以及非揮發式記憶體控制方法
US11334480B2 (en) Data storage device and non-volatile memory control method
KR100963009B1 (ko) 파일 관리 시스템 및 방법
US11403011B1 (en) Host memory buffer allocation management
TW202036300A (zh) 資料儲存裝置以及非揮發式記憶體控制方法
US11556249B2 (en) Delaying random data relocation for reducing write amplification in storage devices
TWI754396B (zh) 快閃記憶體的資料儲存方法及裝置以及電腦程式產品
US11036414B2 (en) Data storage device and control method for non-volatile memory with high-efficiency garbage collection
TWI713032B (zh) 資料儲存裝置以及非揮發式記憶體控制方法
US10896004B2 (en) Data storage device and control method for non-volatile memory, with shared active block for writing commands and internal data collection
TWI724550B (zh) 資料儲存裝置以及非揮發式記憶體控制方法
TWI705328B (zh) 資料儲存裝置以及非揮發式記憶體控制方法
US11640254B2 (en) Controlled imbalance in super block allocation in ZNS SSD
KR20100055374A (ko) 파일 관리 시스템 및 방법
KR20230115196A (ko) 메모리 블록을 할당 해제하는 스토리지 컨트롤러, 그것의 동작하는 방법, 및 그것을 포함하는 스토리지 장치의 동작하는 방법
CN116501655A (zh) 将存储器块解除分配的存储控制器及其操作方法
CN110609817A (zh) 一种防止文件碎片化的文件存储系统