[go: up one dir, main page]

TWI759795B - 固態驅動器及用於固態驅動器的映射表的刷新方法 - Google Patents

固態驅動器及用於固態驅動器的映射表的刷新方法 Download PDF

Info

Publication number
TWI759795B
TWI759795B TW109123831A TW109123831A TWI759795B TW I759795 B TWI759795 B TW I759795B TW 109123831 A TW109123831 A TW 109123831A TW 109123831 A TW109123831 A TW 109123831A TW I759795 B TWI759795 B TW I759795B
Authority
TW
Taiwan
Prior art keywords
segments
optimized
value
count
count values
Prior art date
Application number
TW109123831A
Other languages
English (en)
Other versions
TW202145000A (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 大陸商長江存儲科技有限責任公司
Publication of TW202145000A publication Critical patent/TW202145000A/zh
Application granted granted Critical
Publication of TWI759795B publication Critical patent/TWI759795B/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/0292User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3037Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a memory, e.g. virtual memory, cache
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0631Configuration or reconfiguration of storage systems by allocating resources to storage systems
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/3004Arrangements for executing specific machine instructions to perform operations on memory
    • G06F9/30047Prefetch instructions; cache control instructions
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • G06F12/0868Data transfer between cache memory and other subsystems, e.g. storage devices or host systems
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/21Employing a record carrier using a specific recording technology
    • G06F2212/214Solid state disk
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/31Providing disk cache in a specific location of a storage system
    • G06F2212/313In storage device
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/46Caching storage objects of specific type in disk cache
    • G06F2212/466Metadata, control data
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7201Logical to physical mapping or translation of blocks or pages
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy 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)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Quality & Reliability (AREA)
  • Read Only Memory (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Dram (AREA)

Abstract

一種固態驅動器的刷新方法包括將一組資料映射到映射表的複數個段;生成記錄表,用於記錄總值和與複數個段相對應的複數個計數值;在寫入該資料中的一資料時,將複數個計數值中的、與資料中的一資料的複數個段中的一段相對應的一計數值增加一數量,並且將總值增加另一數量;確定複數個計數值中的一計數值是否大於複數個優化的閾值中的、與複數個計數值中的一計數值相對應的一個優化的閾值;以及如果複數個計數值中的一計數值大於複數個優化的閾值中的一優化的閾值,則執行刷新操作以將複數個段中的一段寫入記憶體中並且恢復映射表。

Description

固態驅動器及用於固態驅動器的映射表的刷新方法
本發明係指一種用於固態驅動器(solid state drive,SSD)的映射表的刷新(flush)方法,更具體而言,尤指一種能夠減少針對SSD的映射表的不必要的段(segment)刷新操作和恢復時間(restoring time)的刷新方法。
在固態驅動器(SSD)中,需要精確地維護映射表,該映射表用於將主機(host)的複數個邏輯塊位址(LBA)分別映射到NAND快閃記憶體的複數個物理位址。該映射表通常是一級的映射表,並且需要相當大的DRAM緩衝區來存儲每個邏輯索引的映射條目。在SSD的SSD固件被加電時,應當將大的映射表從NAND快閃記憶體恢復到DRAM緩衝區,用於下一個到來的位址映射。為了減少恢復時間,SSD的管理模組會將映射表切割成複數個段,並生成對應于複數個段的複數個計數值。在由主機更新LBA中的一個LBA時,會將與LBA中的一個LBA相對應的複數個計數值中的一個計數值增加1。然後,如果複數個計數值中的一個計數值達到閾值,則SSD固件會觸發刷新操作,以向NAND快閃記憶體中寫入與LBA中的一個LBA相對應的複數個段中的一個段。因此,SSD固件可以通過從NAND快閃記憶體讀取這些更新的段並且然後將新的更新打補丁(patch)來恢復整個映射表。
不過,在企業SSD固件中,存在熱(hot)資料和冷(cold)數據。根據JEDEC JESD219,企業耐力工作負載(workload)定義:50%的主機訪問在5%的使用者LBA範圍之內。傳統企業SSD固件可能不考慮由於熱資料和冷資料導致的影響。只要計數值達到閾值,SSD固件就會觸發刷新操作。熱資料的段會比冷資料的段更頻繁地被刷新到NAND快閃記憶體中。請參考第1圖,第1圖為現有技術中SSD的映射表的示意圖。假設總共有20000個LBA,前5%的LBA為最熱的資料,並且整個映射表被分成20個段,表示為Seg0~seg19。在JEDEC JESD219工作負載下,在NAND快閃記憶體中的一種可能刷新段分佈可以類似於第1圖。如第1圖所示,寫入NAND快閃記憶體中的大部分段是熱段,例如Seg0和Seg1。其他冷段很少被SSD固件寫入。通過這種方式,有兩個主要問題:浪費NAND快閃記憶體的寫入頻寬,以及導致NAND快閃記憶體的不必要的寫入放大因數(WAF)。因為熱段被頻繁寫入,所以寫入頻寬被熱段佔用。儘管熱段被寫入很多次,但僅最後寫入的段被SSD固件用於恢復映射表。因此,先前熱段的刷新操作會相應導致不必要的WAF。
因此,需要改進現有技術。
因此本發明的目的是提供一種刷新方法,其能夠減少不必要的段刷新操作並且減輕寫入頻寬和WAF問題。
本發明的實施例公開了一種固態驅動器(SSD)的刷新方法。該刷新方法包括:將一組資料映射到映射表的複數個段;生成記錄表,用於記錄總值和與複數個段相對應的複數個計數值;在寫入資料中的一個資料時,將複數個計數值中的、與資料中的一個資料的複數個段中的一個段相對應的一個計數值增加一數量,並且將總值增加另一數量;確定複數個計數值中的一個計數值 是否大於複數個優化的閾值中的、與複數個計數值中的一個計數值相對應的一個優化的閾值;以及如果複數個計數值中的一個計數值大於複數個優化的閾值中的一個優化的閾值,則執行刷新操作以將複數個段中的一個段寫入記憶體中,並且恢復映射表。
本發明的另一實施例公開了一種固態驅動器(SSD),包括:包括映射表的記憶體,以及被配置為執行刷新過程的控制電路,其中,刷新過程包括:將一組資料映射到映射表的複數個段;生成記錄表,用於記錄總值和與複數個段相對應的複數個計數值;在寫入資料中的一個資料時,將複數個計數值中的、與資料中的一個資料的複數個段中的一個段相對應的一個計數值增加一數量,並且將總值增加另一數量;確定複數個計數值中的一個計數值是否大於複數個優化的閾值中的、與複數個計數值中的一個計數值相對應的一個優化的閾值;以及如果複數個計數值中的一個計數值大於複數個優化的閾值中的一個優化的閾值,則執行刷新操作以將複數個段中的一個段寫入記憶體中,並且恢復映射表。
本領域的普通技術人員在閱讀各附圖和圖示中例示的優選實施例的以下詳細描述之後,本發明的這些和其他目的無疑將變得顯而易見。
Seg0~seg19:段
1:SSD
2:映射表
3:記錄表
4:主機
11:NAND快閃記憶體
12:控制電路
5:刷新過程
50~57:步驟
第1圖是現有技術中SSD的映射表的示意圖。
第2圖是根據本發明實施例的SSD的示意圖。
第3圖是根據本發明實施例的刷新過程的流程圖。
第4圖是根據本發明實施例的SSD的映射表的示意圖。
請參考第2圖,第2圖是根據本發明的實施例的SSD 1的示意圖。SSD 1耦合到主機4,並且包括NAND快閃記憶體11和控制電路12。NAND快閃記憶體11存儲映射表2和記錄表3。映射表2包括複數個段Seg0到Seg19;換言之,映射表2被分成複數個段Seg0到Seg19。SSD 1將主機4的一組資料,例如,複數個邏輯塊位址(LBA)映射到複數個段Seg0到Seg19。記錄表3記錄總值和與複數個段Seg0到Seg19相對應的複數個計數值。控制電路12耦合到NAND快閃記憶體11並在SSD 1加電之後從NAND快閃記憶體11獲取記錄表3。
為了刷新映射表2,控制電路12被配置為執行刷新操作,該刷新操作可以被總結為刷新過程5,如第3圖所示。刷新過程5包括以下步驟。
步驟50:開始。
步驟51:在主機4寫入資料(LBA)中的一個資料時,將複數個計數值中的、與資料中的一個資料的複數個段中的一個段相對應的一個計數值增加1,將總值增加1,並且計算複數個優化的閾值中的、與複數個計數值中的一個計數值相對應的一個優化的閾值。
步驟52:確定總值是否大於臨界值。如果是,進行到步驟53;否則,進行到步驟55。
步驟53:清空記錄表3並且允許複數個計數值、總值和複數個優化的閾值變為零。
步驟54:重新計算複數個優化的閾值中的、與複數個計數值中的一個計數值相對應的一個優化的閾值。
步驟55:確定複數個計數值中的一個計數值是否大於複數個優化的閾值中的、與複數個計數值中的一個計數值相對應的一個優化的閾值。如果是,進行到步驟56;否則,進行到步驟51。
步驟56:執行刷新操作,以向NAND快閃記憶體11中寫入複數個段中的一個段並且恢復映射表2。
步驟57:結束。
在步驟51中,通過如下等式確定複數個優化的閾值的任何一個優化的閾值:
Figure 109123831-A0305-02-0008-5
其中O被定義為複數個優化的閾值中的一個優化的閾值,B被定義為與複數個段相對應的複數個基礎閾值中的一個基礎閾值,C被定義為複數個計數值中的一個計數值,T被定義為總值。
因此,如從步驟55和步驟56所知,如果優化的閾值O更大,則寫入NAND快閃記憶體11中的段的刷新頻率更小。從該等式可以看出,在計數值C更大時,優化的閾值O也更大,因此段的刷新頻率會更小。亦即,複數個段Seg0到Seg19的刷新頻率與計數值C成反比。
通過這種方式,SSD 1可以令熱段(例如Seg0和Seg1)以較不頻繁地刷新,但令冷段更頻繁地刷新。例如,請參考第4圖,第4圖是針對根據本發明的實施例的SSD的映射表的示意圖。映射表2僅包括作為熱段的4個段Seg0和3個段Seg1。與第1圖相比,在第1圖中,傳統SSD的映射表包括作為熱段的25個段Seg0和9個段Seg1,該實施例的SSD1能夠減少不必要的段刷新操作和恢復時間。
值得指出的是,因為冷段被刷新得更頻繁,所以SSD 1可以降低由於長時間不更新冷段而導致資料丟失的可能性。
在步驟52和步驟53中,SSD 1可以由於不同的生命週期、不同的工作負載和不同的寫入情景而改變固有應用模式,因此之前記錄和累積的段Seg0到Seg19的刷新頻率可能不能反映當前的利用情形和習慣。因此,在總值達到臨界 值,例如,NAND快閃記憶體11的容量的範圍時,控制電路12清空記錄表3,這樣允許複數個計數值、總值和複數個優化的閾值變為零。
總之,本發明提供了一種SSD和一種刷新方法,其能夠減少不必要的段刷新操作和恢復時間,並且減輕寫入頻寬和WAF問題。 以上該僅為本發明之較佳實施例,凡依本發明申請專利範圍所做之均等變化與修飾,皆應屬本發明之涵蓋範圍。
5:刷新過程
50~57:步驟

Claims (10)

  1. 一種用於固態驅動器(SSD)的刷新方法,包括:將一組資料映射到映射表的複數個段;生成記錄表,用於記錄總值和與該複數個段相對應的複數個計數值;在寫入該資料中的一個資料時,將該複數個計數值中的、與該資料中的該一個資料的該複數個段中的一個段相對應的一個計數值增加一數量,並且將該總值增加另一數量;確定該複數個計數值中的該一個計數值增加該數量之後是否大於複數個優化的閾值中的、與該複數個計數值中的該一個計數值增加該數量之後相對應的一個優化的閾值;以及如果該複數個計數值中的該一個計數值增加該數量之後大於該複數個優化的閾值中的該一個優化的閾值,則執行刷新操作以將該複數個段中的該一個段寫入記憶體中,並且恢復該映射表;其中該資料為複數個邏輯塊位址(LBA);其中該一個計數值愈大,該一個計數值相對應的一個優化的閾值愈小。
  2. 如請求項1所述的刷新方法,還包括在該記憶體中存儲該記錄表。
  3. 如請求項1所述的刷新方法,其中,該複數個優化的閾值中的一個優化的閾值是通過以下等式確定的:
    Figure 109123831-A0305-02-0010-2
    其中,O被定義為該複數個優化的閾值中的一個優化的閾值,B被定義為與該複數個段相對應的複數個基礎閾值中的一個基礎閾值,C被定義為該 複數個計數值中的一個計數值,並且T被定義為該總值。
  4. 如請求項1所述的刷新方法,還包括在該總值達到臨界值時,清空該記錄表,這允許該複數個計數值、該總值和該複數個優化的閾值變為零。
  5. 如請求項1所述的刷新方法,還包括在該SSD加電之後從該記憶體獲取該記錄表。
  6. 一種固態驅動器(SSD),包括:包括映射表的記憶體;以及被配置為執行刷新過程的控制電路,其中,該刷新過程包括:將一組資料映射到該映射表的複數個段;生成記錄表,用於記錄總值和與該複數個段相對應的複數個計數值;在寫入該資料中的一個資料時,將該複數個計數值中的、與該資料中的該一個資料的該複數個段中的一個段相對應的一個計數值增加一數量,並且將該總值增加另一數量;確定該複數個計數值中的該一個計數值增加該數量之後是否大於複數個優化的閾值中的、與該複數個計數值中的該一個計數值增加該數量之後相對應的一個優化的閾值;以及如果該複數個計數值中的該一個計數值增加該數量之後大於該複數個優化的閾值中的該一個優化的閾值,則執行刷新操作以將該複數個段中的該一個段寫入記憶體中,並且恢復該映射表;其中該資料為複數個邏輯塊位址(LBA); 其中該一個計數值愈大,該一個計數值相對應的一個優化的閾值愈小。
  7. 如請求項6所述的固態驅動器,其中,由該控制電路執行的該刷新過程還包括:在該記憶體中存儲該記錄表。
  8. 如請求項6所述的固態驅動器,其中,該複數個優化的閾值中的一個優化的閾值是通過以下等式確定的:
    Figure 109123831-A0305-02-0012-4
    其中,O被定義為該複數個優化的閾值中的一個優化的閾值,B被定義為與該複數個段相對應的複數個基礎閾值中的一個基礎閾值,C被定義為該複數個計數值中的一個計數值,並且T被定義為該總值。
  9. 如請求項6所述的固態驅動器,其中,由該控制電路執行的該刷新過程還包括:在該總值達到臨界值時清空該記錄表,這允許該複數個計數值、該總值和該複數個優化的閾值變為零。
  10. 如請求項6所述的固態驅動器,其中,由該控制電路執行的該刷新過程還包括:在該SSD加電之後從該記憶體獲取該記錄表。
TW109123831A 2020-05-22 2020-07-15 固態驅動器及用於固態驅動器的映射表的刷新方法 TWI759795B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
WOPCT/CN2020/091895 2020-05-22
PCT/CN2020/091895 WO2021232427A1 (en) 2020-05-22 2020-05-22 Flush method for mapping table of ssd

Publications (2)

Publication Number Publication Date
TW202145000A TW202145000A (zh) 2021-12-01
TWI759795B true TWI759795B (zh) 2022-04-01

Family

ID=72713422

Family Applications (1)

Application Number Title Priority Date Filing Date
TW109123831A TWI759795B (zh) 2020-05-22 2020-07-15 固態驅動器及用於固態驅動器的映射表的刷新方法

Country Status (4)

Country Link
US (2) US11379361B2 (zh)
CN (2) CN111758086B (zh)
TW (1) TWI759795B (zh)
WO (1) WO2021232427A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111758086B (zh) * 2020-05-22 2021-06-22 长江存储科技有限责任公司 用于ssd的映射表的刷新方法
US12287874B2 (en) * 2021-11-23 2025-04-29 Cryptography Research, Inc. Efficient integrity monitoring of processing operations with multiple memory arrays
KR20240165114A (ko) * 2023-05-15 2024-11-22 에스케이하이닉스 주식회사 데이터를 마이그레이션하는 동작을 실행하는 스토리지 장치 및 그 동작 방법

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170083436A1 (en) * 2015-09-22 2017-03-23 Samsung Electronics Co., Ltd. Memory controller, non-volatile memory system, and method operating same
TW201729195A (zh) * 2016-02-05 2017-08-16 群聯電子股份有限公司 記憶體管理方法、記憶體控制電路單元與記憶體儲存裝置
TW201907311A (zh) * 2017-07-07 2019-02-16 群聯電子股份有限公司 記憶體管理方法、記憶體控制電路單元與記憶體儲存裝置
CN110275678A (zh) * 2019-05-30 2019-09-24 中电海康集团有限公司 一种基于stt-mram的固态存储器件随机访问性能提升方法
US20200151108A1 (en) * 2018-11-13 2020-05-14 Phison Electronics Corp. Mapping table updating method, memory controlling circuit unit and memory storage device

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101521995B1 (ko) * 2008-06-13 2015-05-22 삼성전자주식회사 불휘발성 메모리 시스템 및 불휘발성 메모리 장치의 액세스방법
JPWO2007007599A1 (ja) * 2005-07-11 2009-01-29 パナソニック株式会社 メモリ制御装置
CN101346703B (zh) * 2005-12-21 2012-11-21 Nxp股份有限公司 具有可块擦除单元的非易失性存储器
WO2009139109A1 (ja) * 2008-05-13 2009-11-19 パナソニック株式会社 メモリ制御装置、およびこれを備えた情報処理装置
US9213628B2 (en) * 2010-07-14 2015-12-15 Nimble Storage, Inc. Methods and systems for reducing churn in flash-based cache
KR102164630B1 (ko) * 2013-06-28 2020-10-12 삼성전자주식회사 메모리 컨트롤러 및 상기 메모리 컨트롤러의 동작 방법
US20150331624A1 (en) * 2014-05-19 2015-11-19 Kabushiki Kaisha Toshiba Host-controlled flash translation layer snapshot
CN105808156B (zh) * 2014-12-31 2020-04-28 华为技术有限公司 将数据写入固态硬盘的方法及固态硬盘
JP6443170B2 (ja) * 2015-03-26 2018-12-26 富士通株式会社 階層ストレージ装置,階層ストレージ制御装置,階層ストレージ制御プログラム及び階層ストレージ制御方法
TWI534618B (zh) * 2015-07-13 2016-05-21 群聯電子股份有限公司 映射表更新方法、記憶體控制電路單元及記憶體儲存裝置
US20170024140A1 (en) * 2015-07-20 2017-01-26 Samsung Electronics Co., Ltd. Storage system and method for metadata management in non-volatile memory
CN106775436B (zh) * 2015-11-24 2019-10-25 群联电子股份有限公司 数据存取方法、存储器控制电路单元与存储器
CN105677236B (zh) * 2015-12-29 2018-10-02 华为技术有限公司 一种存储设备及其存储数据的方法
CN106325974B (zh) * 2016-08-11 2020-02-07 浪潮(北京)电子信息产业有限公司 一种虚拟化io性能优化方法及系统
CN109509503B (zh) * 2017-09-14 2021-07-16 旺宏电子股份有限公司 编程非易失性存储器的方法及存储器系统
CN107656875B (zh) * 2017-09-15 2020-05-15 至誉科技(武汉)有限公司 作为系统盘的固态硬盘缩短上电时间的方法及系统
US10860474B2 (en) * 2017-12-14 2020-12-08 Micron Technology, Inc. Multilevel addressing
US20190294345A1 (en) * 2018-03-21 2019-09-26 Super Talent Technology Corp. Data-Retention Controller Using Mapping Tables in a Green Solid-State-Drive (GNSD) for Enhanced Flash Endurance
JP2019179455A (ja) * 2018-03-30 2019-10-17 東芝メモリ株式会社 記憶装置及びコンピュータシステム
KR20200006378A (ko) * 2018-07-10 2020-01-20 에스케이하이닉스 주식회사 컨트롤러 및 그것의 동작방법
KR102739745B1 (ko) * 2018-08-14 2024-12-09 에스케이하이닉스 주식회사 컨트롤러의 동작 방법, 메모리 시스템 및 그 동작 방법
KR102679967B1 (ko) * 2018-09-12 2024-07-02 에스케이하이닉스 주식회사 메모리 시스템에서의 유효 데이터 관리 방법 및 장치
CN109814811B (zh) * 2019-01-30 2022-04-29 哈尔滨工业大学 一种减小NVMe SSD响应延迟影响高速数据存储设备写入速度的方法
CN109992530A (zh) * 2019-03-01 2019-07-09 晶天电子(深圳)有限公司 一种固态驱动器设备及基于该固态驱动器的数据读写方法
CN110780821A (zh) * 2019-10-28 2020-02-11 柏科数据技术(深圳)股份有限公司 分布式存储系统的优化方法、装置、服务器和存储介质
CN111758086B (zh) * 2020-05-22 2021-06-22 长江存储科技有限责任公司 用于ssd的映射表的刷新方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170083436A1 (en) * 2015-09-22 2017-03-23 Samsung Electronics Co., Ltd. Memory controller, non-volatile memory system, and method operating same
TW201729195A (zh) * 2016-02-05 2017-08-16 群聯電子股份有限公司 記憶體管理方法、記憶體控制電路單元與記憶體儲存裝置
TW201907311A (zh) * 2017-07-07 2019-02-16 群聯電子股份有限公司 記憶體管理方法、記憶體控制電路單元與記憶體儲存裝置
US20200151108A1 (en) * 2018-11-13 2020-05-14 Phison Electronics Corp. Mapping table updating method, memory controlling circuit unit and memory storage device
CN110275678A (zh) * 2019-05-30 2019-09-24 中电海康集团有限公司 一种基于stt-mram的固态存储器件随机访问性能提升方法

Also Published As

Publication number Publication date
US11379361B2 (en) 2022-07-05
US20210365368A1 (en) 2021-11-25
US11789864B2 (en) 2023-10-17
CN111758086A (zh) 2020-10-09
CN113535089A (zh) 2021-10-22
US20220283937A1 (en) 2022-09-08
CN111758086B (zh) 2021-06-22
CN113535089B (zh) 2024-05-17
TW202145000A (zh) 2021-12-01
WO2021232427A1 (en) 2021-11-25

Similar Documents

Publication Publication Date Title
US11704239B2 (en) Garbage collection method for storage medium, storage medium, and program product
US8347180B2 (en) Data storage system and method
CN110989918B (zh) 写入控制方法以及数据存储装置及其控制器
US9092323B2 (en) Systems and methods for recovering addressing data
US20160179403A1 (en) Storage controller, storage device, storage system, and semiconductor storage device
CN105718530B (zh) 文件存储系统及其文件存储控制方法
WO2015185002A1 (zh) 一种数据写入方法及装置
TWI759795B (zh) 固態驅動器及用於固態驅動器的映射表的刷新方法
US9213646B1 (en) Cache data value tracking
WO2018033036A1 (zh) 固态硬盘和应用于固态硬盘的数据存取方法
CN106922188A (zh) 取消映射存储空间
CN115599578B (zh) 一种存储器及其控制方法与存储系统
WO2016203612A1 (ja) ストレージ装置
TWI709975B (zh) 寫入控制方法以及資料儲存裝置及其控制器
WO2015114829A1 (ja) 情報処理装置
CN108073359B (zh) 数据储存装置的操作方法
CN105389268B (zh) 资料储存系统及其运作方法
CN104834478A (zh) 一种基于异构混合存储设备的数据写入及读取方法
CN116243870A (zh) 一种数据迁移方法、系统、设备及存储介质
CN108054114A (zh) 一种提高闪存可利用率的方法
CN108255437B (zh) 数据贮存装置及方法
CN115080454B (zh) 一种ssd元数据快照保存与恢复方法、装置及设备
CN108334276B (zh) 快闪记忆体的动态对齐数据方法
CN119847438B (zh) 一种固态硬盘关键信息存储方法
CN103425586A (zh) 储存单元管理方法、存储器控制器与存储器储存装置