CN113535089B - 用于ssd的映射表的刷新方法 - Google Patents
用于ssd的映射表的刷新方法 Download PDFInfo
- Publication number
- CN113535089B CN113535089B CN202110806073.XA CN202110806073A CN113535089B CN 113535089 B CN113535089 B CN 113535089B CN 202110806073 A CN202110806073 A CN 202110806073A CN 113535089 B CN113535089 B CN 113535089B
- Authority
- CN
- China
- Prior art keywords
- segments
- count values
- mapping table
- total value
- ssd
- Prior art date
- Legal status (The legal status 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 status listed.)
- Active
Links
- 238000013507 mapping Methods 0.000 title claims abstract description 42
- 238000000034 method Methods 0.000 title claims abstract description 19
- 239000007787 solid Substances 0.000 claims abstract description 11
- 238000010586 diagram Methods 0.000 description 6
- 238000011084 recovery Methods 0.000 description 4
- 101100045541 Homo sapiens TBCD gene Proteins 0.000 description 2
- 101150093640 SSD1 gene Proteins 0.000 description 2
- 101100111629 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) KAR2 gene Proteins 0.000 description 2
- 102100030290 Tubulin-specific chaperone D Human genes 0.000 description 2
- 230000003321 amplification Effects 0.000 description 1
- 230000000694 effects 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
Classifications
-
- 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/0292—User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means
-
- 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
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3037—Monitoring 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
-
- 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/0631—Configuration or reconfiguration of storage systems by allocating resources to storage systems
-
- 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
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/3004—Arrangements for executing specific machine instructions to perform operations on memory
- G06F9/30047—Prefetch instructions; cache control instructions
-
- 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/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing 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/0868—Data transfer between cache memory and other subsystems, e.g. storage devices or host systems
-
- 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/21—Employing a record carrier using a specific recording technology
- G06F2212/214—Solid state disk
-
- 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/31—Providing disk cache in a specific location of a storage system
- G06F2212/313—In storage device
-
- 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/46—Caching storage objects of specific type in disk cache
- G06F2212/466—Metadata, control data
-
- 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/7201—Logical to physical mapping or translation of blocks or pages
-
- 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)
- Software Systems (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Quality & Reliability (AREA)
- Read Only Memory (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Dram (AREA)
Abstract
一种固态驱动器(SSD)的刷新方法包括将一组数据映射到映射表的多个段;生成记录表,用于记录总值和与多个段相对应的多个计数值;在写入该数据中的一个数据时,将多个计数值中的、与数据中的一个数据的多个段中的一个段相对应的一个计数值增加一数量,并且将总值增加另一数量;确定多个计数值中的一个计数值是否大于多个优化的阈值中的、与多个计数值中的一个计数值相对应的一个优化的阈值;以及如果多个计数值中的一个计数值大于多个优化的阈值中的一个优化的阈值,则执行刷新操作以将多个段中的一个段写入存储器中并且恢复映射表。
Description
本申请是申请日为2020年5月22日、申请号为202080001153.1、名称为“用于SSD的映射表的刷新方法”的发明专利申请的分案申请。
技术领域
本发明涉及用于固态驱动器(SSD)的映射表的刷新(flush)方法,更具体而言,涉及能够减少针对SSD的映射表的不必要的段(segment)刷新操作和恢复时间(restoringtime)的刷新方法。
背景技术
在固态驱动器(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),包括:包括映射表的存储器,以及被配置为执行刷新过程的控制电路,其中,刷新过程包括:将一组数据映射到映射表的多个段;生成记录表,用于记录总值和与多个段相对应的多个计数值;在写入数据中的一个数据时,将多个计数值中的、与数据中的一个数据的多个段中的一个段相对应的一个计数值增加一数量,并且将总值增加另一数量;确定多个计数值中的一个计数值是否大于多个优化的阈值中的、与多个计数值中的一个计数值相对应的一个优化的阈值;以及如果多个计数值中的一个计数值大于多个优化的阈值中的一个优化的阈值,则执行刷新操作以将多个段中的一个段写入存储器中,并且恢复映射表。
本领域的普通技术人员在阅读各附图和图示中例示的优选实施例的以下详细描述之后,本发明的这些和其他目的无疑将变得显而易见。
附图说明
图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中,通过如下等式确定多个优化的阈值的任何一个优化的阈值:
其中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问题。
本领域的技术人员将容易发现,可以对装置和方法作出众多修改和更改,同时保持本发明的教导。因此,以上公开应当被解释为仅受所附权利要求的边界限制。
Claims (5)
1.一种固态驱动器,包括:
包括映射表和记录表的存储器,其中,所述映射表包括多个段,并且其中,所述记录表用于记录总值和与所述多个段相对应的多个计数值;
控制电路,其被配置为:
将一组逻辑块地址映射到所述映射表的所述多个段;以及
从所述存储器获取所述记录表;以及
其中,所述控制电路还被配置为通过以下操作来执行刷新过程:
在写入所述逻辑块地址中的一个逻辑块地址时,将所述多个计数值中的、与所述逻辑块地址中的所述一个逻辑块地址的所述多个段中的一个段相对应的一个计数值增加一数量,并且将所述总值增加另一数量;
确定所述多个计数值中的所述一个计数值是否大于多个优化的阈值中的、与所述多个计数值中的所述一个计数值相对应的一个优化的阈值;以及
如果所述多个计数值中的所述一个计数值大于所述多个优化的阈值中的所述一个优化的阈值,则将所述多个段中的所述一个段写入所述存储器中,并且恢复所述映射表。
2.根据权利要求1所述的固态驱动器,其中,所述总值对应于被写入的逻辑块地址的总数。
3.根据权利要求1所述的固态驱动器,其中,所述多个优化的阈值中的一个优化的阈值是通过以下等式确定的:
其中,O被定义为所述多个优化的阈值中的一个优化的阈值,B被定义为与所述多个段相对应的多个基础阈值中的一个基础阈值,C被定义为所述多个计数值中的一个计数值,并且T被定义为所述总值。
4.根据权利要求1所述的固态驱动器,其中,由所述控制电路执行的所述刷新过程还包括:在所述总值达到临界值时清空所述记录表,这允许所述多个计数值、所述总值和所述多个优化的阈值变为零。
5.根据权利要求1所述的固态驱动器,其中,由所述控制电路执行的所述刷新过程还包括:在所述固态驱动器加电之后从所述存储器获取所述记录表。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110806073.XA CN113535089B (zh) | 2020-05-22 | 2020-05-22 | 用于ssd的映射表的刷新方法 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202080001153.1A CN111758086B (zh) | 2020-05-22 | 2020-05-22 | 用于ssd的映射表的刷新方法 |
CN202110806073.XA CN113535089B (zh) | 2020-05-22 | 2020-05-22 | 用于ssd的映射表的刷新方法 |
PCT/CN2020/091895 WO2021232427A1 (en) | 2020-05-22 | 2020-05-22 | Flush method for mapping table of ssd |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080001153.1A Division CN111758086B (zh) | 2020-05-22 | 2020-05-22 | 用于ssd的映射表的刷新方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113535089A CN113535089A (zh) | 2021-10-22 |
CN113535089B true CN113535089B (zh) | 2024-05-17 |
Family
ID=72713422
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110806073.XA Active CN113535089B (zh) | 2020-05-22 | 2020-05-22 | 用于ssd的映射表的刷新方法 |
CN202080001153.1A Active CN111758086B (zh) | 2020-05-22 | 2020-05-22 | 用于ssd的映射表的刷新方法 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080001153.1A Active CN111758086B (zh) | 2020-05-22 | 2020-05-22 | 用于ssd的映射表的刷新方法 |
Country Status (4)
Country | Link |
---|---|
US (2) | US11379361B2 (zh) |
CN (2) | CN113535089B (zh) |
TW (1) | TWI759795B (zh) |
WO (1) | WO2021232427A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113535089B (zh) * | 2020-05-22 | 2024-05-17 | 长江存储科技有限责任公司 | 用于ssd的映射表的刷新方法 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101223605A (zh) * | 2005-07-11 | 2008-07-16 | 松下电器产业株式会社 | 存储器控制装置 |
KR20090129620A (ko) * | 2008-06-13 | 2009-12-17 | 삼성전자주식회사 | 불휘발성 메모리 시스템 및 불휘발성 메모리 장치의 액세스방법 |
KR20150002069A (ko) * | 2013-06-28 | 2015-01-07 | 삼성전자주식회사 | 메모리 컨트롤러 및 상기 메모리 컨트롤러의 동작 방법 |
CN109509503A (zh) * | 2017-09-14 | 2019-03-22 | 旺宏电子股份有限公司 | 编程非易失性存储器的方法及存储器系统 |
CN109814811A (zh) * | 2019-01-30 | 2019-05-28 | 哈尔滨工业大学 | 一种减小NVMe SSD响应延迟影响高速数据存储设备写入速度的方法 |
CN109992530A (zh) * | 2019-03-01 | 2019-07-09 | 晶天电子(深圳)有限公司 | 一种固态驱动器设备及基于该固态驱动器的数据读写方法 |
CN110275678A (zh) * | 2019-05-30 | 2019-09-24 | 中电海康集团有限公司 | 一种基于stt-mram的固态存储器件随机访问性能提升方法 |
CN110703983A (zh) * | 2018-07-10 | 2020-01-17 | 爱思开海力士有限公司 | 控制器及其操作方法 |
CN110825663A (zh) * | 2018-08-14 | 2020-02-21 | 爱思开海力士有限公司 | 控制器、存储器系统及其操作方法 |
CN111758086A (zh) * | 2020-05-22 | 2020-10-09 | 长江存储科技有限责任公司 | 用于ssd的映射表的刷新方法 |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1966700A2 (en) * | 2005-12-21 | 2008-09-10 | Nxp B.V. | Non-volatile memory with block erasable locations |
JPWO2009139109A1 (ja) * | 2008-05-13 | 2011-09-15 | パナソニック株式会社 | メモリ制御装置、およびこれを備えた情報処理装置 |
US9213628B2 (en) * | 2010-07-14 | 2015-12-15 | Nimble Storage, Inc. | Methods and systems for reducing churn in flash-based cache |
US20150331624A1 (en) * | 2014-05-19 | 2015-11-19 | Kabushiki Kaisha Toshiba | Host-controlled flash translation layer snapshot |
CN111638852A (zh) * | 2014-12-31 | 2020-09-08 | 华为技术有限公司 | 将数据写入固态硬盘的方法及固态硬盘 |
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 |
KR102501751B1 (ko) * | 2015-09-22 | 2023-02-20 | 삼성전자주식회사 | 메모리 콘트롤러, 불휘발성 메모리 시스템 및 그 동작방법 |
CN106775436B (zh) * | 2015-11-24 | 2019-10-25 | 群联电子股份有限公司 | 数据存取方法、存储器控制电路单元与存储器 |
CN105677236B (zh) * | 2015-12-29 | 2018-10-02 | 华为技术有限公司 | 一种存储设备及其存储数据的方法 |
TWI591635B (zh) | 2016-02-05 | 2017-07-11 | 群聯電子股份有限公司 | 記憶體管理方法、記憶體控制電路單元與記憶體儲存裝置 |
CN106325974B (zh) * | 2016-08-11 | 2020-02-07 | 浪潮(北京)电子信息产业有限公司 | 一种虚拟化io性能优化方法及系统 |
TWI681295B (zh) | 2017-07-07 | 2020-01-01 | 群聯電子股份有限公司 | 記憶體管理方法、記憶體控制電路單元與記憶體儲存裝置 |
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 | 東芝メモリ株式会社 | 記憶装置及びコンピュータシステム |
KR102679967B1 (ko) * | 2018-09-12 | 2024-07-02 | 에스케이하이닉스 주식회사 | 메모리 시스템에서의 유효 데이터 관리 방법 및 장치 |
TWI693516B (zh) * | 2018-11-13 | 2020-05-11 | 群聯電子股份有限公司 | 映射表更新方法、記憶體控制電路單元與記憶體儲存裝置 |
CN110780821A (zh) * | 2019-10-28 | 2020-02-11 | 柏科数据技术(深圳)股份有限公司 | 分布式存储系统的优化方法、装置、服务器和存储介质 |
-
2020
- 2020-05-22 CN CN202110806073.XA patent/CN113535089B/zh active Active
- 2020-05-22 CN CN202080001153.1A patent/CN111758086B/zh active Active
- 2020-05-22 WO PCT/CN2020/091895 patent/WO2021232427A1/en active Application Filing
- 2020-07-14 US US16/929,054 patent/US11379361B2/en active Active
- 2020-07-15 TW TW109123831A patent/TWI759795B/zh active
-
2022
- 2022-05-26 US US17/825,985 patent/US11789864B2/en active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101223605A (zh) * | 2005-07-11 | 2008-07-16 | 松下电器产业株式会社 | 存储器控制装置 |
KR20090129620A (ko) * | 2008-06-13 | 2009-12-17 | 삼성전자주식회사 | 불휘발성 메모리 시스템 및 불휘발성 메모리 장치의 액세스방법 |
KR20150002069A (ko) * | 2013-06-28 | 2015-01-07 | 삼성전자주식회사 | 메모리 컨트롤러 및 상기 메모리 컨트롤러의 동작 방법 |
CN109509503A (zh) * | 2017-09-14 | 2019-03-22 | 旺宏电子股份有限公司 | 编程非易失性存储器的方法及存储器系统 |
CN110703983A (zh) * | 2018-07-10 | 2020-01-17 | 爱思开海力士有限公司 | 控制器及其操作方法 |
CN110825663A (zh) * | 2018-08-14 | 2020-02-21 | 爱思开海力士有限公司 | 控制器、存储器系统及其操作方法 |
CN109814811A (zh) * | 2019-01-30 | 2019-05-28 | 哈尔滨工业大学 | 一种减小NVMe SSD响应延迟影响高速数据存储设备写入速度的方法 |
CN109992530A (zh) * | 2019-03-01 | 2019-07-09 | 晶天电子(深圳)有限公司 | 一种固态驱动器设备及基于该固态驱动器的数据读写方法 |
CN110275678A (zh) * | 2019-05-30 | 2019-09-24 | 中电海康集团有限公司 | 一种基于stt-mram的固态存储器件随机访问性能提升方法 |
CN111758086A (zh) * | 2020-05-22 | 2020-10-09 | 长江存储科技有限责任公司 | 用于ssd的映射表的刷新方法 |
Non-Patent Citations (1)
Title |
---|
大数据平台分布式存储资源自动部署研究;张磊;中国知网;20180131;全文 * |
Also Published As
Publication number | Publication date |
---|---|
US11379361B2 (en) | 2022-07-05 |
CN113535089A (zh) | 2021-10-22 |
US11789864B2 (en) | 2023-10-17 |
TWI759795B (zh) | 2022-04-01 |
US20210365368A1 (en) | 2021-11-25 |
WO2021232427A1 (en) | 2021-11-25 |
TW202145000A (zh) | 2021-12-01 |
US20220283937A1 (en) | 2022-09-08 |
CN111758086B (zh) | 2021-06-22 |
CN111758086A (zh) | 2020-10-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11789860B2 (en) | Logical to physical mapping management using low-latency non-volatile memory | |
US8347180B2 (en) | Data storage system and method | |
EP2735978B1 (en) | Storage system and management method used for metadata of cluster file system | |
WO2015185002A1 (zh) | 一种数据写入方法及装置 | |
CN105718530B (zh) | 文件存储系统及其文件存储控制方法 | |
TWI645404B (zh) | 資料儲存裝置以及非揮發式記憶體操作方法 | |
CN109416666A (zh) | 具有压缩数据和标签的缓存 | |
US8825946B2 (en) | Memory system and data writing method | |
US10877898B2 (en) | Method and system for enhancing flash translation layer mapping flexibility for performance and lifespan improvements | |
WO2018033036A1 (zh) | 固态硬盘和应用于固态硬盘的数据存取方法 | |
WO2023116346A1 (zh) | 异常掉电下Trim数据的恢复方法、系统及固态硬盘 | |
US20110004720A1 (en) | Method and apparatus for performing full range random writing on a non-volatile memory | |
US9009442B2 (en) | Data writing method, memory controller and memory storage apparatus | |
KR102530583B1 (ko) | 저장 장치 및 메모리 시스템 | |
CN110515550B (zh) | 一种sata固态硬盘冷热数据分离的方法及其装置 | |
US11176033B2 (en) | Data storage devices and data processing methods | |
CN113535089B (zh) | 用于ssd的映射表的刷新方法 | |
CN113590505B (zh) | 地址映射方法、固态硬盘控制器及固态硬盘 | |
US11126624B2 (en) | Trie search engine | |
EP2381354A2 (en) | Data recording device | |
JP2024043337A (ja) | メモリシステム | |
US8341378B2 (en) | Data storage device and data access method | |
US11055231B2 (en) | Data storage devices and data processing methods of skipping editing of fields in H2F table when consecutive addresses are present in F2H table | |
US20240289268A1 (en) | Efficient consolidation for two layer ftl | |
US20210263648A1 (en) | Method for managing performance of logical disk and storage array |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |