TWI630540B - 資料儲存裝置及非揮發式記憶體操作方法 - Google Patents
資料儲存裝置及非揮發式記憶體操作方法 Download PDFInfo
- Publication number
- TWI630540B TWI630540B TW106123733A TW106123733A TWI630540B TW I630540 B TWI630540 B TW I630540B TW 106123733 A TW106123733 A TW 106123733A TW 106123733 A TW106123733 A TW 106123733A TW I630540 B TWI630540 B TW I630540B
- Authority
- TW
- Taiwan
- Prior art keywords
- volatile memory
- write mode
- data
- write
- host
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 21
- 238000013500 data storage Methods 0.000 title claims description 39
- 238000012546 transfer Methods 0.000 claims description 7
- 230000004044 response Effects 0.000 claims description 3
- 238000005457 optimization Methods 0.000 abstract description 2
- 238000005516 engineering process Methods 0.000 description 26
- 230000006399 behavior Effects 0.000 description 6
- 230000007423 decrease Effects 0.000 description 4
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 4
- 230000003247 decreasing effect Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000007774 longterm Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000003321 amplification Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003199 nucleic acid amplification method Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
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/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0613—Improving I/O performance in relation to throughput
-
- 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/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- 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/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0253—Garbage collection, i.e. reclamation of unreferenced memory
-
- 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
- G06F12/0646—Configuration or reconfiguration
-
- 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/0614—Improving the reliability of storage systems
- G06F3/0616—Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
-
- 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/0629—Configuration or reconfiguration of storage systems
- G06F3/0634—Configuration or reconfiguration of storage systems by changing the state or mode of one or more devices
-
- 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
- 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/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0652—Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
-
- 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/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- 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/72—Details relating to flash memory management
- G06F2212/7204—Capacity control, e.g. partitioning, end-of-life degradation
-
- 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/72—Details relating to flash memory management
- G06F2212/7205—Cleaning, compaction, garbage collection, erase control
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
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)
- Techniques For Improving Reliability Of Storages (AREA)
- Memory System (AREA)
Abstract
一種非揮發式記憶體最佳化操作方法。一微控制器配置該非揮發式記憶體儲存一主機要求的寫入數據。該微控制器包括動態調整一第一寫入模式關閉臨界。該微控制器係基於該第一寫入模式關閉臨界啟動以一第一寫入模式配置該非揮發式記憶體儲存該主機要求的寫入數據。一存儲單元於該第一寫入模式下儲存的位元數少於一第二寫入模式。
Description
本發明係有關於非揮發式記憶體的最佳化操作。
資料儲存裝置所採用的非揮發式記憶體有多種形式-例如,快閃記憶體(flash memory)、磁阻式隨機存取記憶體(Magnetoresistive RAM)、鐵電隨機存取記憶體(Ferroelectric RAM)、電阻式隨機存取記憶體(Resistive RAM)、自旋轉移力矩隨機存取記憶體(Spin Transfer Torque-RAM,STT-RAM)…等,用於長時間資料保存。
以上類型的非揮發式記憶體有其使用年限。例如,快閃記憶體各區塊(block)的抹除(erase)次數有其限制。達抹除上限的區塊不適合再被寫入數據。隨著超出抹除上限的區塊數量增加,快閃記憶體的使用壽命縮短。由於抹除需求取決於快閃記憶體的操作方式,如何最佳化操作非揮發式記憶體繼而延長裝置壽命為本技術領域一項重大課題。
根據本案一種實施方式所實現的一資料儲存裝置具有一非揮發式記憶體以及一微控制器。該微控制器配置該非揮發式記憶體儲存一主機要求的寫入數據。該微控制器包括動態調整一第一寫入模式關閉臨界。該微控制器係基於該第一寫
入模式關閉臨界啟動以一第一寫入模式配置該非揮發式記憶體儲存該主機要求的寫入數據。一存儲單元於該第一寫入模式下儲存的位元數少於一第二寫入模式。
一種實施方式中,隨著該非揮發式記憶體釋出曾使用過的空間,該微控制器動態調整該第一寫入模式關閉臨界。
一種實施方式中,進行前景操作使該非揮發式記憶體釋出曾使用過的空間時,該微控制器上拉該第一寫入模式關閉臨界。該微控制器係以上述前景操作回應該主機提出的要求。
一種實施方式中,進行背景操作使該非揮發式記憶體釋出曾使用過的空間時,該微控制器下拉該第一寫入模式關閉臨界。上述背景操作中,該主機無要求操作該非揮發式記憶體。
根據本案一種實施方式實現的一非揮發式記憶體操作方法包括:配置一非揮發式記憶體儲存一主機要求的寫入數據;動態調整一第一寫入模式關閉臨界;以及基於該第一寫入模式關閉臨界啟動以一第一寫入模式配置該非揮發式記憶體儲存該主機要求的寫入數據。一存儲單元於該第一寫入模式下儲存的位元數少於一第二寫入模式。
下文特舉實施例,並配合所附圖示,詳細說明本發明內容。
200‧‧‧資料儲存裝置
202‧‧‧快閃記憶體
204‧‧‧微控制器
206‧‧‧主機
502‧‧‧SLC關閉臨界SLC_Th初始值
504‧‧‧SLC關閉臨界SLC_Th下降量△後的水位
506‧‧‧快閃記憶體202總使用量
508‧‧‧SLC關閉臨界SLC_Th初始水位
512、514、516‧‧‧快閃記憶體202區塊使用狀況
518‧‧‧寫入行為
bad‧‧‧效能標號
S302…S308、SS402…S406‧‧‧步驟
TS‧‧‧快閃記憶體202最大儲存數據量
第1A圖與第1B圖分別對應SLC與TLC技術,圖解不同邏輯意義下,相對閘極浮動電子的存儲單元分布概率;第2圖為方塊圖,圖解根據本案一種實施方式所實現的一資料儲存裝置200;第3圖根據本案一種實施方式圖解一SLC關閉臨界SLC_Th之動態調整流程;第4圖為流程圖,根據本案一種實施方式圖解微控制器204對快閃記憶體202之操作,其中使用一判斷式決定所配置之區塊採用的儲存技術,該判斷式考量了該SLC關閉臨界SLC_Th;以及第5圖上半部為效能圖,下半部對應圖解快閃記憶體202空區塊消漲狀況。
以下敘述列舉本發明的多種實施例。以下敘述介紹本發明的基本概念,且並非意圖限制本發明內容。實際發明範圍應依照申請專利範圍界定之。
非揮發式記憶體可以是快閃記憶體(flash memory)、磁阻式隨機存取記憶體(Magnetoresistive RAM)、鐵電隨機存取記憶體(Ferroelectric RAM)、電阻式記憶體(Resistive RAM,RRAM)、自旋轉移力矩隨機存取記憶體(Spin Transfer Torque-RAM,STT-RAM)…等具有長時間資料保存之記憶體裝置。以下特別以快閃記憶體(flash memory)為例進行討論,但不限定應用於快閃記憶體領域。
現今資料儲存裝置常以快閃記憶體為儲存媒體,
常用來實現記憶卡(memory card)、通用序列匯流排閃存裝置(USB flash device)、固態硬碟(SSD)...等產品。另外,有一種應用是採多晶片封裝、將快閃記憶體與其控制器包裝在一起-稱為嵌入式快閃記憶體模組(如eMMC)。
以快閃記憶體為儲存媒體的資料儲存裝置可應用於多種電子裝置中。所述電子裝置包括智慧型手機、穿戴裝置、平板電腦、虛擬實境設備…等。電子裝置的中央處理單元(CPU)可視為操作所述資料儲存裝置的一主機。
快閃記憶體的儲存空間可以區塊(block)為單位做管理。各區塊可配置採用特定形式的儲存方式。例如,一區塊配置單階存儲單元(single level cell,簡稱SLC),稱為SLC區塊,或者,一區塊配置三階存儲單元(triple level cell,簡稱TLC),稱為TLC區塊。一個SLC係儲存一個位元的數據,一個TLC係儲存三個位元的數據。同尺寸物理空間,SLC區塊所儲存的數據僅是TLC區塊的三分之一。另外,TLC區塊可操作在TLC模式(例如:TLC寫入模式)或SLC模式(例如:SLC寫入模式)下。當操作在SLC模式下時,TLC區塊可模擬為SLC區塊,即TLC區塊的TLC僅儲存一個位元的數據(有效數據)。當操作在TLC模式下時,TLC區塊的TLC可儲存三個位元的數據。
第1A圖與第1B圖分別對應SLC與TLC技術,圖解不同邏輯意義下,相對閘極浮動電子的存儲單元分布概率。如圖所示,一存儲單元的邏輯定義是依照存儲單元的閘極浮動電子量劃分。SLC的邏輯分界較TLC明確;不僅可靠度較高、寫入速度也較快。TLC則是在儲存容量上有其優勢。然而,由於SLC
多半作為資料快取的媒體,導致資料搬移的頻率較高,因而存在寫入放大問題,亦存在高頻抹除的問題,而高頻抹除會導致快閃記憶體壽命縮短。或是,SLC中的數據在考量資料儲存裝置的資料儲存容量的前提下會伺機搬移至TLC儲存(如,垃圾回收garbage collection),此動作也會引發抹除需求。在考量快閃記憶體生命週期的前提下,如何最佳化配置區塊採SLC或TLC技術為以下討論重點。
第2圖為方塊圖,圖解根據本案一種實施方式所實現的一資料儲存裝置200。資料儲存裝置200以一快閃記憶體202為儲存媒體,並具有一微控制器204。在該微控制器204的操作下,一主機206得以對該快閃記憶體202進行存取。該微控制器204可載有程式碼且具有執行所述程式碼的運算硬件。該快閃記憶體202之儲存空間如前述以區塊(block)為單位進行管理,可個別配置以SLC或TLC方式儲存資料。
關於主機206要求的寫入數據,微控制器204在配置該快閃記憶體202提供區塊進行儲存時,更檢查一判斷式:SpareBlk_Num>SLC_Th SpareBlk_Num為快閃記憶體202的空區塊(free blocks)總數,SLC_Th為SLC關閉臨界。假設,快閃記憶體202的區塊總數為1024,SLC_Th為512,由於快閃記憶體202尚未儲存任何資料,所以SpareBlk_Num也為1024。微控制器204在配置該快閃記憶體202提供空間儲存主機206傳來數據時,會檢查該判斷式。該判斷式若滿足,代表快閃記憶體202空間充裕,尚不需追求儲存密度,因此,微控制器204係令配置的區塊以SLC技術接收數
據,善用SLC技術的高可靠度與高寫入效能。待儲存一定資料之後,SpareBlk_Num降為512,使得判斷式不再滿足,代表寫入數據量大,導致快閃記憶體202的區塊消耗量大。此時,微控制器204係令配置的區塊以TLC技術接收數據,善用TLC技術的高儲存密度,降低快閃記憶體202的區塊消耗量。
特別的是,微控制器204是動態調整該SLC關閉臨界SLC_Th,以符合使用者對資料儲存裝置200的使用習慣。大數據量的寫入習慣可對應較高的SLC關閉臨界SLC_Th,例如768。如此一來,前述判斷式不易滿足,微控制器204令配置的區塊以TLC技術應付大量寫入數據,使資料儲存裝置200提供小量的高寫入效能但是大量的資料儲存能力,滿足使用者的大數據量需求。此外,由於較少以單階存儲單元SLC儲存數據,單階存儲單元SLC至三階存儲單元TLC的數據搬移發生率降低,資料儲存裝置200運作效能也會顯著提升。相反的,如果使用者僅儲存小量數據至資料儲存裝置200時,則可降低SLC關閉臨界SLC_Th,例如128。如此一來,前述判斷式經常滿足,微控制器204令配置的區塊以SLC技術應付小量寫入數據,使資料儲存裝置200提供較高的寫入效能但是較低的資料儲存能力,滿足使用者的小數據量需求。
一種實施方式中,微控制器204隨著SpareBlk_Num數值的變化而動態調整該SLC關閉臨界SLC_Th。例如,SpareBlk_Num數值減4時,SLC關閉臨界SLC_Th數值減1,則SpareBlk_Num數值減至340時,SLC關閉臨界SLC_Th數值將減至341,導致前述判斷式不再滿足。之後,經過數據搬移或是
垃圾回收程序使得SpareBlk_Num數值增加後,前述判斷式才會被滿足。
一種實施方式中,微控制器204依據前述判斷式的滿足時間長度來動態調整該SLC關閉臨界SLC_Th。例如,前述判斷式的滿足時間超過1個小時,則SLC關閉臨界SLC_Th數值加1,反之則減1。
一種實施方式中,微控制器204是根據區塊空間釋出於前景模式(foreground)或背景模式來增減SLC關閉臨界SLC_Th。例如,大數據量的寫入要求會造成快閃記憶體202的空區塊量驟減,微控制器204需在前景操作中更進行垃圾回收(garbage collection)釋出區塊空間,以及時接收寫入數據。藉由垃圾回收,零散分布的有效數據自區塊中複製出,徒留無效數據的該區塊空間因而釋出。如此前景操作的區塊空間釋出行為可驅動該微控制器204上拉該SLC關閉臨界SLC_Th。例如,加1。對於大量寫入消耗空區塊的使用者行為,上拉的SLC關閉臨界SLC_Th會造成判斷式SpareBlk_Num>SLC_Th不易成立,微控制器204傾向配置該快閃記憶體202之區塊採TLC技術接收數據。TLC技術的高密度儲存優點利於大量數據寫入。特別是,由於不輕易以SLC接收數據,故不易有因應大容量需求而發生的SLC至TLC數據搬移。資料儲存裝置200的操作效能顯著提升。SLC至TLC數據搬移所附帶的抹除計數劇增現象也可避免。資料儲存裝置200保固期可更長。
反之,區塊空間釋出於背景模式時,則微控制器204下拉該SLC關閉臨界SLC_Th,例如,減1。例如,主機206
不要求操作(如,讀寫)該快閃記憶體202時,微控制器204可以此空檔進行SLC至TLC數據搬移(也是一種垃圾回收garbage collection)。如此背景操作的區塊空間釋出行為可驅動該微控制器204下拉該SLC關閉臨界SLC_Th,例如,減1。此為SLC關閉臨界SLC_Th回調機制。
第3圖根據本案一種實施方式圖解該SLC關閉臨界SLC_Th之動態調整流程。步驟S302,微控制器204進入SLC關閉臨界SLC_Th動態微調程序。步驟S304,微控制器204監控區塊釋出動作。若快閃記憶體202釋出的區塊空間是於前景操作(例如,為了應付主機206發出的寫入要求)進行,流程進入步驟S306,微控制器204上拉該SLC關閉臨界SLC_Th。例如,加1。若快閃記憶體202釋出的區塊空間是於背景操作(例如,主機206對快閃記憶體202沒有存取要求,微控制器204有餘裕進行快閃記憶體202空間整理)進行,流程進入步驟S308,微控制器204下拉該SLC關閉臨界SLC_Th。例如,減1。
第4圖為流程圖,根據本案一種實施方式圖解微控制器204對快閃記憶體202之操作,其中使用一判斷式決定所配置之區塊採用的儲存技術,該判斷式考量了上述SLC關閉臨界SLC_Th。此實施例以前述SpareBlk_Num>SLC_Th判斷式進行討論。步驟S402,微控制器204自主機206接收到寫入要求。步驟S404,微控制器204檢查判斷式,判斷快閃記憶體202的空區塊總數SpareBlk_Num是否多於SLC關閉臨界SLC_Th。判斷式不滿足時,代表快閃記憶體202空間不充裕,微控制器204根據步驟S406令所配置的區塊以TLC技術接收主機206寫入的數
據。判斷式滿足時,代表快閃記憶體202空間充裕,微控制器204根據步驟S408令所配置的區塊以SLC技術接收主機206寫入的數據,善用SLC寫入模式之高可靠度以及高寫入速度。第3圖對SLC關閉臨界SLC_Th之動態調整將使得SLC以及TLC區塊配置符合使用者操作習慣。資料儲存裝置200使用年限延長。
第5圖上半部為效能圖,下半部對應圖解快閃記憶體202空區塊消漲狀況。上半部的效能圖橫軸為累積的寫入數據量,縱軸為資料儲存裝置200的效能。下半部以空白區顯示空區塊量,斜線區顯示採SLC技術之區塊,點狀區顯示採TLC技術之區塊。圖例依循判斷式SpareBlk_Num>SLC_Th配置快閃記憶體202提供區塊接收寫入數據,其中包括動態調整SLC關閉臨界SLC_Th。
SLC關閉臨界SLC_Th初始值如標號502所示,設定為快閃記憶體202區塊總數的一半-對應快閃記憶體202總尺寸(最大儲存數據量,標號TS)的1/6。空卡至寫入1/6TS數據前,快閃記憶體202區塊使用狀況如標號512所指圖示,係配置區塊採SLC技術接收寫入數據,資料儲存裝置200高效運作。
待寫入數據超過1/6TS,快閃記憶體202區塊使用狀況如標號514所指圖示,係配置區塊採TLC技術接收寫入數據,資料儲存裝置200效能略降。
待寫入數據超過1/2TS,快閃記憶體202區塊使用狀況如標號516所指圖示。因應主機206持續的寫入要求,前景操作除了繼續配置區塊以TLC技術接收寫入數據,更將SLC數據搬移到TLC區塊,以騰出空間接收後續寫入數據。資料儲存
裝置200效能更差(效能標號bad)。所幸,如此前景操作的區塊釋出使得SLC關閉臨界SLC_Th上升量△,呈標號504所指水位。經調整後,縱然快閃記憶體202總使用量(標號506所指)低於SLC關閉臨界SLC_Th初始水位(標號508所指),微控制器204也不會觸發以不適合使用者行為的SLC技術接收寫入數據。標號518所指之後續寫入行為係配置區塊採TLC技術接收寫入數據,不再有SLC至TLC數據搬移發生,因而不再落入低效bad狀態。
其他實施例中,前述判斷式SpareBlk_Num>SLC_Th可有微調。凡是調整判斷式之臨界設定的技術,都涉及本案概念。
其他實施例中,微控制器204可以是操作快閃記憶體202在SLC寫入模式與其他階寫入模式間切換。例如,快閃記憶體202也可以是配置成一存儲單元儲存兩位元數據的多階存儲單元(multiple level cell,簡稱MLC)。微控制器204可以是操作快閃記憶體202在SLC寫入模式與MLC寫入模式間切換。或者,微控制器204可以是操作快閃記憶體202在三種以上寫入模式切換。例如,微控制器204可以是操作快閃記憶體202在SLC寫入模式、MLC寫入模式、以及TLC寫入模式間切換。此外,隨著技術發展,一存儲單元儲存更多位元數據的技術也都可以應用於本案。上述MLC以及TLC技術也可以其他數值的複數階存儲單元技術替換。
其他採用上述概念操作非揮發式記憶體的技術都屬於本案所欲保護的範圍。基於以上技術內容,本案更可發展
出非揮發式記憶體操作方法。
雖然本發明已以較佳實施例揭露如上,然其並非用以限定本發明,任何熟悉此項技藝者,在不脫離本發明之精神和範圍內,當可做些許更動與潤飾,因此本發明之保護範圍當視後附之申請專利範圍所界定者為準。
Claims (20)
- 一種資料儲存裝置,包括:一非揮發式記憶體;以及一微控制器,配置該非揮發式記憶體儲存一主機要求的寫入數據;其中:該微控制器包括動態調整一第一寫入模式關閉臨界;該微控制器係基於該第一寫入模式關閉臨界啟動以一第一寫入模式配置該非揮發式記憶體儲存該主機要求的寫入數據;且一存儲單元於該第一寫入模式下儲存的位元數少於一第二寫入模式。
- 如申請專利範圍第1項所述之資料儲存裝置,其中:隨著該非揮發式記憶體釋出曾使用過的空間,該微控制器動態調整該第一寫入模式關閉臨界。
- 如申請專利範圍第1項所述之資料儲存裝置,其中:進行前景操作使該非揮發式記憶體釋出曾使用過的空間時,該微控制器上拉該第一寫入模式關閉臨界;且該微控制器以上述前景操作回應該主機提出的要求。
- 如申請專利範圍第1項所述之資料儲存裝置,其中:進行背景操作使該非揮發式記憶體釋出曾使用過的空間時,該微控制器下拉該第一寫入模式關閉臨界;且上述背景操作中,該主機無要求操作該非揮發式記憶體。
- 如申請專利範圍第1項所述之資料儲存裝置,其中:該非揮發式記憶體為快閃記憶體,其中空間以區塊為單位進行管理;該第一寫入模式為單階存儲單元寫入模式,使所配置的區塊之各存儲單元儲存一位元的數據;且該第二寫入模式使所配置的區塊之各存儲單元儲存多於一位元的數據。
- 如申請專利範圍第5項所述之資料儲存裝置,其中:進行該第一寫入模式至該第二寫入模式之數據搬移而釋出區塊寫入該主機要求的寫入數據時,該微控制器上拉該第一寫入模式關閉臨界。
- 如申請專利範圍第5項所述之資料儲存裝置,其中:進行重複邏輯位址之數據更新而釋出區塊時,該微控制器上拉該第一寫入模式關閉臨界。
- 如申請專利範圍第5項所述之資料儲存裝置,其中:以背景操作進行垃圾回收而釋出區塊時,該微控制器下拉該第一寫入模式關閉臨界;上述背景操作中,該主機無要求操作該快閃記憶體。
- 如申請專利範圍第2項所述之資料儲存裝置,其中:該微控制器是在該非揮發式記憶體的可配置空間大於該第一寫入模式關閉臨界時,以該第一寫入模式配置該非揮發式記憶體儲存該主機要求的寫入數據。
- 如申請專利範圍第9項所述之資料儲存裝置,其中:該微控制器在該非揮發式記憶體的可配置空間不大於該第一寫入模式關閉臨界時,是以該第二寫入模式配置該非揮發式記憶體儲存該主機要求的寫入數據。
- 一種非揮發式記憶體操作方法,包括:配置一非揮發式記憶體儲存一主機要求的寫入數據;動態調整一第一寫入模式關閉臨界;以及基於該第一寫入模式關閉臨界啟動以一第一寫入模式配置該非揮發式記憶體儲存該主機要求的寫入數據;其中,一存儲單元於該第一寫入模式下儲存的位元數少於一第二寫入模式。
- 如申請專利範圍第11項所述之非揮發式記憶體操作方法,更包括:隨著該非揮發式記憶體釋出曾使用過的空間,動態調整該第一寫入模式關閉臨界。
- 如申請專利範圍第11項所述之非揮發式記憶體操作方法,更包括:進行前景操作使該非揮發式記憶體釋出曾使用過的空間時,上拉該第一寫入模式關閉臨界;其中,上述前景操作用於回應該主機提出的要求。
- 如申請專利範圍第11項所述之非揮發式記憶體操作方法,更包括:進行背景操作使該非揮發式記憶體釋出曾使用過的空間時,下拉該第一寫入模式關閉臨界;其中,上述背景操作中,該主機無要求操作該非揮發式記憶體。
- 如申請專利範圍第11項所述之非揮發式記憶體操作方法,其中:該非揮發式記憶體為快閃記憶體,其中空間以區塊為單位進行管理;該第一寫入模式為單階存儲單元寫入模式,使所配置的區塊之各存儲單元儲存一位元的數據;且該第二寫入模式使所配置的區塊之各存儲單元儲存多於一位元的數據。
- 如申請專利範圍第15項所述之非揮發式記憶體操作方法,更包括:進行該第一寫入模式至該第二寫入模式之數據搬移而釋出區塊寫入該主機要求的寫入數據時,上拉該第一寫入模式關閉臨界。
- 如申請專利範圍第15項所述之非揮發式記憶體操作方法,更包括:進行重複邏輯位址之數據更新而釋出區塊時,上拉該第一寫入模式關閉臨界。
- 如申請專利範圍第15項所述之非揮發式記憶體操作方法,更包括:以背景操作進行垃圾回收而釋出區塊時,下拉該第一寫入模式關閉臨界;其中,上述背景操作中,該主機無要求操作該快閃記憶體。
- 如申請專利範圍第12項所述之非揮發式記憶體操作方法,更包括:在該非揮發式記憶體的可配置空間大於該第一寫入模式關閉臨界時,以該第一寫入模式配置該非揮發式記憶體儲存該主機要求的寫入數據。
- 如申請專利範圍第19項所述之非揮發式記憶體操作方法,更包括:在該非揮發式記憶體的可配置空間不大於該第一寫入模式關閉臨界時,以該第二寫入模式配置該非揮發式記憶體儲存該主機要求的寫入數據。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW106123733A TWI630540B (zh) | 2017-07-13 | 2017-07-13 | 資料儲存裝置及非揮發式記憶體操作方法 |
CN201810007558.0A CN109254926B (zh) | 2017-07-13 | 2018-01-04 | 数据储存装置及非挥发式存储器操作方法 |
US15/954,223 US10503411B2 (en) | 2017-07-13 | 2018-04-16 | Data storage device and method for operating non-volatile memory |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW106123733A TWI630540B (zh) | 2017-07-13 | 2017-07-13 | 資料儲存裝置及非揮發式記憶體操作方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
TWI630540B true TWI630540B (zh) | 2018-07-21 |
TW201908956A TW201908956A (zh) | 2019-03-01 |
Family
ID=63640436
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW106123733A TWI630540B (zh) | 2017-07-13 | 2017-07-13 | 資料儲存裝置及非揮發式記憶體操作方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10503411B2 (zh) |
CN (1) | CN109254926B (zh) |
TW (1) | TWI630540B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111243654A (zh) * | 2018-11-28 | 2020-06-05 | 北京知存科技有限公司 | 一种闪存芯片及其校准方法和装置 |
CN111324281A (zh) * | 2018-12-14 | 2020-06-23 | 北京兆易创新科技股份有限公司 | 一种存储器及其控制方法和装置 |
TWI698749B (zh) * | 2019-03-13 | 2020-07-11 | 慧榮科技股份有限公司 | 資料儲存裝置與資料處理方法 |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI700635B (zh) * | 2018-04-26 | 2020-08-01 | 群聯電子股份有限公司 | 資料寫入方法、記憶體控制電路單元以及記憶體儲存裝置 |
TWI725416B (zh) * | 2019-04-23 | 2021-04-21 | 群聯電子股份有限公司 | 資料寫入方法、記憶體控制電路單元以及記憶體儲存裝置 |
EP3964939A4 (en) * | 2019-06-14 | 2022-05-11 | Huawei Technologies Co., Ltd. | HARD DISK CONTROL METHOD AND RELATED DEVICE |
CN111159058B (zh) * | 2019-12-27 | 2022-03-04 | 深圳大普微电子科技有限公司 | 一种磨损均衡方法、装置及非易失性的存储设备 |
CN113094292B (zh) | 2020-01-09 | 2022-12-02 | 上海宝存信息科技有限公司 | 数据存储装置以及非挥发式存储器控制方法 |
CN111400201B (zh) * | 2020-03-19 | 2022-08-16 | 合肥兆芯电子有限公司 | 快闪存储器的数据整理方法、存储装置及控制电路单元 |
CN113448492B (zh) * | 2020-03-27 | 2022-06-24 | 上海宝存信息科技有限公司 | 数据存储***以及非挥发式存储器控制方法 |
CN113360092A (zh) * | 2021-05-17 | 2021-09-07 | 维沃移动通信有限公司 | 数据存储方法、数据存储装置和电子设备 |
US11966626B2 (en) * | 2022-05-13 | 2024-04-23 | Western Digital Technologies, Inc. | Hybrid terabytes written (TBW) storage systems |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100149872A1 (en) * | 2008-12-11 | 2010-06-17 | Yousuke Aoyagi | Nonvolatile memory device and method for operating the same |
US20100229007A1 (en) * | 2009-03-04 | 2010-09-09 | Junghoon Park | Nonvolatile Memory Device and Operating Method Thereof |
US20110179322A1 (en) * | 2010-01-19 | 2011-07-21 | Samsung Electronics Co., Ltd. | Nonvolatile memory device and related program verification circuit |
US8203881B2 (en) * | 2009-02-17 | 2012-06-19 | Samsung Electronics Co., Ltd. | Nonvolatile memory device, method of operating nonvolatile memory device and memory system including nonvolatile memory device |
US20140003167A1 (en) * | 2012-06-27 | 2014-01-02 | SK Hynix Inc. | Nonvolatile memory device, operating method thereof, and data storage device having the same |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101656104B (zh) * | 2008-08-22 | 2012-07-04 | 群联电子股份有限公司 | 快闪存储器储存***及其数据写入方法 |
US8407400B2 (en) * | 2008-11-12 | 2013-03-26 | Micron Technology, Inc. | Dynamic SLC/MLC blocks allocations for non-volatile memory |
US8886911B2 (en) * | 2011-05-31 | 2014-11-11 | Micron Technology, Inc. | Dynamic memory cache size adjustment in a memory device |
CN103514096B (zh) * | 2012-06-18 | 2016-06-08 | 群联电子股份有限公司 | 数据储存方法、存储器控制器与存储器储存装置 |
KR20140033964A (ko) * | 2012-09-11 | 2014-03-19 | 삼성전자주식회사 | 단말기의 데이터 저장장치 및 방법 |
US9645896B2 (en) * | 2013-12-26 | 2017-05-09 | Silicon Motion, Inc. | Data storage device and flash memory control method |
US9946483B2 (en) * | 2015-12-03 | 2018-04-17 | Sandisk Technologies Llc | Efficiently managing unmapped blocks to extend life of solid state drive with low over-provisioning |
TWI652577B (zh) * | 2017-06-19 | 2019-03-01 | 慧榮科技股份有限公司 | 資料儲存裝置及非揮發式記憶體操作方法 |
-
2017
- 2017-07-13 TW TW106123733A patent/TWI630540B/zh not_active IP Right Cessation
-
2018
- 2018-01-04 CN CN201810007558.0A patent/CN109254926B/zh active Active
- 2018-04-16 US US15/954,223 patent/US10503411B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100149872A1 (en) * | 2008-12-11 | 2010-06-17 | Yousuke Aoyagi | Nonvolatile memory device and method for operating the same |
US8203881B2 (en) * | 2009-02-17 | 2012-06-19 | Samsung Electronics Co., Ltd. | Nonvolatile memory device, method of operating nonvolatile memory device and memory system including nonvolatile memory device |
US20100229007A1 (en) * | 2009-03-04 | 2010-09-09 | Junghoon Park | Nonvolatile Memory Device and Operating Method Thereof |
US20110179322A1 (en) * | 2010-01-19 | 2011-07-21 | Samsung Electronics Co., Ltd. | Nonvolatile memory device and related program verification circuit |
US20140003167A1 (en) * | 2012-06-27 | 2014-01-02 | SK Hynix Inc. | Nonvolatile memory device, operating method thereof, and data storage device having the same |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111243654A (zh) * | 2018-11-28 | 2020-06-05 | 北京知存科技有限公司 | 一种闪存芯片及其校准方法和装置 |
CN111324281A (zh) * | 2018-12-14 | 2020-06-23 | 北京兆易创新科技股份有限公司 | 一种存储器及其控制方法和装置 |
CN111324281B (zh) * | 2018-12-14 | 2024-02-06 | 兆易创新科技集团股份有限公司 | 一种存储器及其控制方法和装置 |
TWI698749B (zh) * | 2019-03-13 | 2020-07-11 | 慧榮科技股份有限公司 | 資料儲存裝置與資料處理方法 |
Also Published As
Publication number | Publication date |
---|---|
TW201908956A (zh) | 2019-03-01 |
US20190018598A1 (en) | 2019-01-17 |
US10503411B2 (en) | 2019-12-10 |
CN109254926B (zh) | 2022-11-11 |
CN109254926A (zh) | 2019-01-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI630540B (zh) | 資料儲存裝置及非揮發式記憶體操作方法 | |
US11593261B2 (en) | Memory device with dynamic cache management | |
US10346296B2 (en) | Data storage device | |
US9665481B2 (en) | Wear leveling method based on timestamps and erase counts, memory storage device and memory control circuit unit | |
US9880742B2 (en) | Valid data merging method, memory controller and memory storage apparatus | |
CN111158579B (zh) | 固态硬盘及其数据存取的方法 | |
CN112130749B (zh) | 数据储存装置以及非挥发式存储器控制方法 | |
KR102681181B1 (ko) | 메모리 시스템 및 그것의 동작방법 | |
US11763899B2 (en) | Balanced three-level read disturb management in a memory device | |
US20130332653A1 (en) | Memory management method, and memory controller and memory storage device using the same | |
CN110390985B (zh) | 存储器管理方法、存储器存储装置及存储器控制电路单元 | |
TWI517165B (zh) | 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置 | |
CN115904221A (zh) | 高速缓存块预算技术 | |
CN113867640A (zh) | 存储器轮询方法、存储器存储装置及存储器控制电路单元 | |
TW202036300A (zh) | 資料儲存裝置以及非揮發式記憶體控制方法 | |
US11036414B2 (en) | Data storage device and control method for non-volatile memory with high-efficiency garbage collection | |
US20100235563A1 (en) | Method for enhancing performance of a flash memory, and associated portable memory device and controller thereof | |
EP4231131A1 (en) | Data storage method and device | |
US20240241642A1 (en) | Storage device including non-volatile memory device and operating method of storage device | |
KR20230115196A (ko) | 메모리 블록을 할당 해제하는 스토리지 컨트롤러, 그것의 동작하는 방법, 및 그것을 포함하는 스토리지 장치의 동작하는 방법 | |
CN114664337A (zh) | 调整闪速存储器设备的写窗口大小的方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees |