[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

CN102576293B - 固态存储设备和分层存储系统中的数据管理 - Google Patents

固态存储设备和分层存储系统中的数据管理 Download PDF

Info

Publication number
CN102576293B
CN102576293B CN201080039762.2A CN201080039762A CN102576293B CN 102576293 B CN102576293 B CN 102576293B CN 201080039762 A CN201080039762 A CN 201080039762A CN 102576293 B CN102576293 B CN 102576293B
Authority
CN
China
Prior art keywords
data
storage
solid
moved
write
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.)
Expired - Fee Related
Application number
CN201080039762.2A
Other languages
English (en)
Other versions
CN102576293A (zh
Inventor
E·S·埃勒夫瑟里奥
R·哈斯
胡晓宇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN102576293A publication Critical patent/CN102576293A/zh
Application granted granted Critical
Publication of CN102576293B publication Critical patent/CN102576293B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/0614Improving the reliability of storage systems
    • G06F3/0616Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0652Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/0683Plurality of storage devices
    • G06F3/0685Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

提供了用于管理具有固态存储设备(11)和备选存储(12,13)的数据存储系统(10)中数据的方法和装置。在固态存储设备(11)中执行的诸如垃圾收集或者均衡损耗的内部管理过程中,标识需要在设备(11)中被移动以用于固态存储(14)内部管理的数据。这样标识的数据的至少一些被移动到备选存储(12,13)而非固态存储(14)。维护指示数据在固态存储设备(11)和备选存储(12,13)中位置的元数据以跟踪数据移动。

Description

固态存储设备和分层存储系统中的数据管理
技术领域
本发明总体上涉及固态存储设备和分层数据存储系统中的数据管理。提供了用于管理包括固态存储设备的分层数据存储系统中的数据的方法和设备。还提供了采用此类方法的固态存储设备和数据存储系统也被提供。
背景技术
固态存储是通常在电路(IC)中采用电子电路以用于存储数据的非易失性存储器,而不是盘和带之类的传统磁性或光学介质像。固态存储设备(SSD),特别是闪存存储设备,当前从根本上改变了数据存储前景。这是因为他们提供的预期带宽以及随机I/O(输入/输出)性能比硬盘驱动器(HDD)高出数个量级。此外,由于没有移动部分,SSD提供了显著的功耗节约并且比传统存储设备更加耐用。
在例如闪存存储设备的固态存储设备中,需要执行某种内部管理过程,包括在固态存储器内移动数据。这种内部管理的需求由于固态存储的某些操作特性而产生。为了解释内部管理的需求,下述将集中描述基于NAND的闪存存储器的特定特征,但是将会理解,类似的考虑适用于其他类型的固态存储。
闪存存储器以页和块为单元进行组织。典型的闪存页是4kB大小,典型的闪存块包括64个闪存页(因而是256kB)。读和写操作可以在页的基础上被执行,然而擦除操作只能在块的基础上被执行。通常需要15到25μs将一个页从闪存单元读取到闪存管芯(die)中的数据缓冲器。将一页写到闪存单元中需要200μs,而擦除一个闪存块通常需要2ms左右。由于擦除一个块的用时比页的读或写要长,因此通常使用一种称为“离位写”(write-out-of-place)的写策略来改进写入吞吐量和延迟。已存储的数据页不是在存储器中就地更新。相反,更新的页被写到另一空闲闪存页中,并且相关联的旧闪存页被标记为无效。继而需要一个内部管理过程通过选择被占用的闪存块、将所有仍然有效的数据页拷贝到存储器的另一位置、继而擦除该块来准备空闲闪存块。上述内部管理过程通常称为“垃圾收集”。
垃圾收集过程通常由附随于闪存存储器的称为“闪存控制器”的专用控制装置执行。闪存控制器管理在闪存存储器中的数据,并且控制所有内部管理操作。特别地,闪存控制器运行称为“LBS-PBA(逻辑块地址-物理块地址)映射”(也称为“闪存翻译层”(FTL)或“LPN-FPN”(逻辑页号码-闪存页号码)地址匹配)的中间软件层。它维护地址映射形式的元数据,其将与来自上层(例如,存储系统中的文件系统或者主机)的数据页相关联的逻辑地址映射至在闪存上的物理地址(闪存页号)。软件层隐藏闪存中的写前擦除复杂性,并且支持在无擦除干扰情况下的透明数据写入和更新。
均衡损耗(wear-levelling)是由闪存控制器执行的另一内部管理过程。该过程应对闪存存储器的损耗特性。特别地,在存储完整性开始恶化之前,闪存存储器具有特定数目的写入-擦除周期。均衡消耗包括各种数据放置和移动,其旨在将写入-擦除周期均衡地分布在所有可用的闪存块之间,以避免不均匀的损耗,从而延长整体生命期。特别地,均衡消耗功能根据写入-擦除周期计数来控制选择新数据应被写入的块,并且利用低周期计数以及均匀的损耗在闪存存储器内移动已存储的数据。
刚刚描述的内部管理功能以及通常由SSD控制器执行的其他过程导致所谓“写放大”。这归因于数据在存储器内部被移动,因此与设备接收到的数据写请求的原始数目相比,数据写操作的总数被放大。写放大是固态存储设备中限制随机写性能以及写持久性生命期的最为关键问题之一。为了减少上述影响,SSD通常使用一种称为“过供应”(over-provisioning)的技术,由此使用比实际显现给外部系统的更多的存储器。这使得SSD相对较为昂贵。
不同数据存储设备之间的性价比权衡存在于分层数据存储系统的核心。分层存储也被称为层级式存储管理(HSM),它是一种数据存储技术,其中数据在较高成本和较低成本的存储层或者类别的不同存储设备之间被自动地移动。分层存储系统之所以存在是因为例如SSD和FC/SCSI(光纤信道/小型计算机系统接口)盘驱动器等高速存储设备比例如SATA(串行高级技术附件)盘驱动器、光盘驱动器以及磁带驱动器等较慢设备更为昂贵(每字节存储)。关键的思想是将经常访问的数据(或者说“热数据”)放置在高速存储设备上,并且将不经常访问的数据(或者说“冷数据”)放置在低速存储设备中。如果数据的访问模式改变,数据也可以从一个设备被移动(迁移)到另一设备。写请求中的顺序写数据是具有连续逻辑块地址(LBA)的一长串数据,它可以优选地被写入到盘或带之类的较低成本介质。根据数据放置和迁移的粒度,分层存储可以被分类为LUN(逻辑单元号)层、文件层以及块层系统。粒度越精细,每单元成本性能越好。
先前提出的块水平的分层存储系统的总体架构如附图的图1所示。系统1包括闪存存储器SSD2以及备选的低成本存储。在此示例中,备选存储包括HDD阵列3,以及可选地还有带驱动器4。SSD 2包括闪存存储器管芯5的阵列,以及执行上述不同闪存管理操作的闪存控制器6。存储模块2到4通过通信链路7连接至存储控制器8,存储控制器8接收系统的所有数据读取和写入请求。存储控制器8总体上管理系统中的数据,执行自动数据放置和数据迁移操作,例如识别热数据和冷数据并且在不同的存储介质之间放置或迁移数据。存储控制器8维护全局地址映射,以跟踪系统中数据的位置以及数据块在不同存储设备之的批量移动。在此架构中,之前说明的闪存控制器6的活动对于存储控制器8而言是透明的。
发明内容
本发明的一方面提供一种用于管理具有固态存储设备和备选存储的数据存储系统中的数据的方法。该方法包括:
标识固态存储设备中将被移动以用于该固态存储的内部管理的数据;
将所标识的数据的至少一些移动到备选存储器而不是固态存储器;以及
维护指示数据在固态存储设备以及备选存储器中位置的元数据。
本发明的实施例提供了在具有固态存储设备和备选存储的数据存储系统(例如上文讨论的分层数据存储系统)中使用的数据管理方法。在实现本发明的方法中,固态存储设备中的重要内部管理过程被用作管理不同存储介质之间的数据移动管理的基础。特别地,如前所述,此类过程标识出于内部管理目的而需要在固态存储中被移动的数据。在本发明的实施例中,此数据的至少一些被移动到备选存储而非固态存储。指示数据在SSD和备选存储中位置的某些形式的元数据(例如LBA/PBA地址映射)被相应地维护,以跟踪这样被移动的数据。
本发明的提出基于这样的认识,即,SSD中的例行内部管理过程的操作在本质上与数据访问模式相关。本发明的实施例可以利用隐藏在内部管理过程中的数据访问模式信息,将其用作在系统级管理数据移动(即,在存储介质之间)的基础。特别地,SSD中的内部管理过程本质上包括标识存储器中的其他数据相比相对静态(即,更新不频繁)的数据。这可以被用作选择将被移动到备选存储的数据的基础,从而得到一个更为简单、更为有效的数据管理系统。在层级式数据存储系统中,例如,本发明的实施例为简单、有效的系统级数据迁移策略提供了基础,与现有系统相比,这降低了实现复杂性并且提供了改进的性能和降低的成本。此外,借助于内部SSD管理操作的本质,相对静态数据的标识适用于固态存储器中的所有数据访问模式,特别是所存储数据的总量以及不同数据的相对更新频率。系统级数据管理由此可以相应地适配,从而提供更好的总体性能。此外,将相对静态数据迁移出固态存储器在固态存储器本身的性能和生命期方面具有显著的好处,提供了相对于现有系统的进一步改进。因此总体上,本发明的实施例提供了极大改进的数据存储以及管理系统。
总体上,不同的SSD可以使用包括在固态存储器中移动数据的各种不同内部管理过程。然而,在采用垃圾收集过程的情况下,这如上所述地被优选地使用。因此,实现本发明的方法可以包括:标识将在固态存储器中的垃圾收集过程中被移动的数据,以及将该数据的至少一些移动到备选存储设备而非固态存储。类似地,在SSD中采用均衡损耗的情况下,数据管理过程可以包括:标识将在数据均衡损耗过程中被移动的数据,以及将该数据的至少一些移动到备选存储器而非固态存储。
在特别简单的实施例中,在给定内部管理过程中被标识为将被移动的所有数据可被移动到备选存储器而非固态存储。在其他实施例中,仅该数据中的一些可以被选择以移动到备选存储器,例如,这取决于关于数据的某些附加信息,例如系统中维护的指示访问模式的附加元数据。这将在下文讨论。
本发明的第二方面提供用于具有备选存储的数据存储系统中的固态存储设备的控制装置。该装置包括存储器以及控制逻辑,控制逻辑适于:
标识固态存储中将被移动以用于固态存储中的内部管理的数据;
控制所表示的数据的至少一些向备选存储而非固态存储的移动;以及
在所述存储器中维护指示数据在固态存储设备和备选存储中位置的元数据;
控制逻辑优选地包括适于执行固态存储的内部管理的集成逻辑。由此,上文描述的控制将数据移动到备选存储的附加功能可以与本地SSD控制器中的基本SSD控制功能完全集成。
控制装置可以优选地管理各种其他系统级数据放置和迁移功能。例如,在特别优选的实施例中,控制逻辑可以控制数据从备选存储迁移回固态存储器,并且可以控制将顺序数据向备选存储而非SS存储器的写入。这将在下文详细描述。
总体系统级数据放置和迁移功能与本地SSD控制器中的集成程度可以随不同实施例而变化。然而,在优选实施例中,控制装置可以实现在本地SSD控制器中,其提供用于本地SSD和系统级数据放置和迁移管理的自洽的全功能数据管理系统。
尽管可以预见到备选方案,控制装置所维护的元数据优选地包括至少一个地址映射,其指示与相应数据块关联的逻辑地址和指示数据在固态存储设备和附加存储中位置的物理地址之间的映射。至少针对由上文描述的过程在存储介质之间移动的所有数据而维护元数据,但是通常也包含其他数据,这取决于控制装置与基本SSD控制逻辑的集成水平以及控制装置所提供的系统级控制的程度。然而在优选的高度集成的实施例中,控制装置可以维护在整个存储系统中跟踪数据的全局地址映射。
本发明的第三方面提供了一种计算机程序,包括使得计算机执行根据本发明第一方面的方法或者实现根据本发明第二方面的控制装置的程序代码装置。将会理解,术语“计算机”在最普通的意义上使用,并且包括具有实现计算机程序的数据处理能力的任何设备、组件或系统。此外,实现本发明的计算机程序可以构成单机程序或者可以是较大程序的组成部分,并且可以被提供和包含在诸如盘或者电子传输的计算机可读介质中,以用于加载在计算机中。计算机程序的程序代码装置可能包括任意语言、代码或者符号的指令集的任意表示,其意在使得计算机直接或者在以下(a)和(b)任一情况或二者兼备之后执行所讨论的方法:(a)转换成另一语言、代码或者符号,以及(b)以不同的材料形式复制。
本发明的第四方面提供一种用于具有备选存储的数据存储系统的固态存储设备,该设备包括根据本发明第二方面的固态存储以及控制装置。
本发明的第五方面提供一种数据存储系统,包括根据本发明第四方面的固态存储设备以及备选存储,以及用于数据在固态存储设备和备选存储之间通信的通信链路。
一般而言,当在此参考本发明一个方面的实施例而描述特征时,相应的特征可以在本发明其他方面的其他实施例中被提供。
附图说明
现在将以示例方式参考附图来描述本发明的优选实施例,其中:
图1示出先前提出的数据存储系统的架构;
图2示出实现本发明的数据存储系统的架构;
图3示出图2系统中的闪存控制器的示意框图;
图4示出图3的闪存控制器的数据放置功能;
图5示出作为闪存控制器中的内部管理操作的一部分而被执行的数据管理过程;
图6示出对图5过程的修改;
图7示出响应于读请求的闪存控制器操作;以及
图8示出闪存控制器所维护的元数据的示例。
具体实施方式
图2示出了实现本发明的数据存储系统的一个示例的总体架构。系统10是一个分层存储系统,其具有与图1的系统1大体类似的存储结构,具有SSD 11以由HDD阵列12和带驱动器模块13提供的备选存储。SSD 11具有闪存存储器管芯1 4的阵列以及闪存控制器15。HDD阵列12包括多个硬盘驱动器。除了个体HDD中的常见内部控制功能以外,HDD阵列可以可选地包括阵列控制器16,如图中虚线所示。这类阵列控制器可以在阵列12中以已知的方式执行阵列级控制功能,例如RAID(独立设备的冗余阵列)管理。互连17提供层级式存储模块11到13之间的数据链路。
不同于现有架构,来自使用系统10的主机的所有数据读/写请求被直接提供给SSD 11并且由闪存控制器15接收。闪存控制器15在图3中详述。这个示意性框图示出了将要描述的数据管理过程中所包括的闪存控制器15的主要元件。闪存控制器15包括控制逻辑20,用于与系统主机进行数据通信的主机接口(I/F)21,以及用于通过去往闪存管芯14阵列的链路进行通信的闪存链路接口22。闪存控制器15还包括接口电路23,用于经由互连17与备选存储设备(此处为HDD阵列12和带驱动器13)进行数据通信。控制逻辑20控制SSD 11的操作,执行用于读/写的常规控制功能以及内部管理操作,但具有对上文描述过程的修改,如下详述。特别地,控制逻辑20执行改进的垃圾收集和均衡损耗过程以及系统级数据放置和迁移操作,这将在下文中描述。例如闪存链路管理,写缩减以及坏块管理等其他例行闪存控制功能可以按照常规方式执行,无需再次描述。一般地,控制逻辑20可以通过硬件、软件或其组合来实现。然而,在此示例中,控制逻辑由软件实现,其配置控制器15的处理器以执行所描述的功能。根据此处的描述,适当的软件对于本领域技术人员而言将是清楚的。闪存控制器15还包括存储器24,用于存储在下文详述的控制器操作中使用的各种元数据。
在系统10的操作中,来自主机的读/写请求经由主机I/F 21被闪存控制器15接收。响应于主机请求,控制逻辑20控制本地闪存存储器14中数据的存储和检索,并且经由存储I/F 23控制备选存储设备12、13中数据的存储和检索。另外,为了系统资源的有效使用,控制逻辑执行系统范围的数据放置和迁移策略,控制系统中数据的初始存储以及数据随后在存储介质之间的移动。为了跟踪数据在系统中的位置,存储在存储器24中的元数据包括地址映射,其指示与相应数据块关联的逻辑地址和指示数据在闪存存储器1 4和备选存储12、13中位置的物理地址之间的映射。特别地,跟踪数据在闪存存储器14中位置的常规日志结构的LBA/PBA映射被扩展到系统级,以便在整个存储模块11到13中跟踪数据。该系统级映射由存储器24中的控制逻辑20维护,作为总体数据管理过程的一部分。此映射的日志结构形式表示:共存于存储系统中的旧数据版本和更新数据版本被关联在映射中,从而允许适当的内部管理过程根据需要跟进和擦除旧数据。用于此系统的地址映射的具体示例将在下文详述。在此示例中,控制逻辑20还管理系统中数据的备份或者存档拷贝的存储。此类拷贝可以根据主机指令而被要求,和/或根据控制逻辑20所实现的某些一般性策略而被维护。因此,在此实施例中,控制逻辑20所维护的元数据包括备份/存档映射,其指示备份和归档数据在系统10中的位置。
图4的流程中示出了闪存控制器15响应于来自主机的写请求的操作。该图示出了控制逻辑20执行的数据放置过程的关键步骤。响应于在步骤30接收写请求,控制逻辑20首先检查该请求是否指示用于写数据的特定存储指令。例如,主机可指示:数据硬被存储在特定介质上,或者数据应被存档或者备份在系统中。如果针对写数据而指定了数据放置,如决策块31的“是”所示,则操作进行到步骤32。此处,控制逻辑20实现写请求,控制数据经由闪存I/F 22或者存储I/F 23向适当介质14、12、13的写入。接下来,控制逻辑在步骤33确定主机指令或者预定的策略是否需要数据的备份拷贝,如果需要,操作回到步骤32以实现备份写。此处选择的介质可由下文详述的策略确定。在实现备份写后,操作返回到步骤33并且这次进行到(通过步骤33的分支“否”)步骤34。此处,控制逻辑20更新存储器24中的元数据,来适当地在地址映射中记录已写入数据的位置。
返回步骤31,如果没有针对写数据而指定特定放置(此决策块中的“否”),则操作进行到步骤35,在此控制逻辑20检查该写请求是否是用于顺序数据。顺序数据可以通过不同方法被检测到,这对于本领域技术人员来说是清楚的。然而,在此示例中,控制逻辑20针对预定阈值Tseq而检查顺序寻址的写数据的请求大小。也即,对于具有连续系列的逻辑块地址(LBAs)的写数据而言,如果数据量超过Tseq则数据被认为是顺序的。在这种情况下(决策块35中的“是”),操作进行到步骤36,在此逻辑20控制顺序数据向HDD阵列12中的盘的写入。操作然后继续至步骤33。返回到决策块35,对于非顺序写数据(此步骤的“否”),操作进行到步骤37,在此控制逻辑将数据写入闪存存储器14,并且操作再次进行到步骤33。当在步骤36或37中将数据写入盘或闪存存储器后,如果在步骤33需要则可以写入备份拷贝,并且元数据继而在步骤43如前更新,以反映所有写入数据的位置。数据放置操作继而完成。
可以从图4中看到:闪存控制器15实现了系统级数据放置策略。特别地,在该示例中,除非主机指令或其他策略另行指示,顺序数据被写入盘而非顺序数据被写入闪存存储器。除该数据放置功能之外,闪存控制器15还管理数据在介质之间的迁移。将数据从闪存存储器14向备选存储迁移的过程与闪存控制器15所执行的关键内部管理操作密切相关。这在图5所示的流程图中被示出,其示出了闪存控制器15针对闪存存储器4的内部管理而执行的垃圾收集过程的关键步骤。当垃圾收集在图5的步骤40被发起时,控制逻辑20首先选择用于擦除的闪存块,如步骤41所示。该选择以常规方式被执行,通常是通过标识具有最多无效页的块。接下来,在步骤42,控制逻辑29确定是否该块中的第一页是否有效。如果不是,则操作进行步骤43,在此控制逻辑确定该块中是否存在任何其他页。假设存在,操作将返回步骤42以处理下一页。当在步骤42检测到有效页时,操作进行到步骤44。此处,控制逻辑20将页移动到盘,而不是将该页拷贝到闪存存储器14中的另一位置。因此在步骤44中,控制逻辑20经由I/F 23发送页,以用于写入HDD阵列12。在步骤45,控制逻辑继而更新存储器24中的元数据以记录所移动页的新位置。操作继而进行到步骤43并且针对下一闪存页而继续。当块中的所有闪存页已被处理时(步骤43的“否”),针对当前块的垃圾收集过程完成。此过程继而可以根据需要而针对其他块重复。一旦已经针对一个块而执行了垃圾收集,此块随后可以根据需要被擦除以允许新数据的再次写入。擦除可以被立即执行,或者随后在需要释放闪存存储器以用于新数据时在任意时间执行。在任意情况中,当一个块被擦除时,控制逻辑20通过删除被移动到盘的页的旧闪存存储器地址来更新存储器24中的元数据。
通过使用垃圾收集作为数据从闪存存储器向盘迁移的基础,闪存控制器15利用了垃圾收集过程中固有的关于数据访问模式的信息。特别地,该过程的特性是这样的:被标识为将要在过程中被移动的数据(有效页)相比于闪存存储器中的其他数据(例如,相同块中的无效页的较新版本)而言倾向于是相对静态的(更新不频繁)。闪存控制器15利用上述事实,将所标识的(相对)静态的数据移动到盘而不是闪存存储器。而且,由这一过程标识的静态数据本质上适于闪存存储器中的总体数据访问模式,因为随着存储负载的增加和减少,垃圾收集迟早将被执行。由此,数据页有效地彼此竞争以留在闪存存储器中,此过程适用于总体使用模式。
在图5的简单过程中,被标识在垃圾收集过程中移动的所有数据被移动到盘而非闪存存储器14。然而,图6示出了对此过程的可能修改。该图示出了对图5中步骤44的备选方案。在修改的过程中,在步骤42中标识的有效数据页最初将在闪存存储器14中被移动,控制逻辑20维护给定数据页已被移动的次数的计数。此移动计数可被维持为存储器24中的附加元数据。参考图6,在图4的步骤42中对有效页的标识之后,控制逻辑20将针对该页的移动计数与预先设置的阈值计数Tc进行比较。如果移动计数并未超过阈值(决策步骤50的“否”),该页在步骤51仅被拷贝到闪存存储器14中的另一位置。继而在步骤52更新针对该页的移动计数,并且操作继续到图5中的步骤45。返回步骤50,如果移动计数超过了阈值(是),则该页在步骤53被拷贝到盘。控制逻辑继而在步骤54将针对该页的移动计数归零,并且操作如前继续。尽管这一修改的过程包括将移动计数维护为附加元数据,计数阈值Tc允许将迁移限制到数据已经被重复移动的情形,这在使用模式较繁重时将更为可能,并且可以通过迁移静态数据来改善闪存存储器效率。阈值Tc甚至可以在操作中响应于例如由控制逻辑20中的某些较高级性能监视所评估的使用模式而动态地调整。
闪存控制器15还可以与SSD 11中的内部均衡损耗过程相结合地执行图5所示的数据迁移过程。特别地,控制逻辑20的常规均衡损耗功能可以包括标识具有相对较低写-擦除周期计数的闪存块,并且移动这样标识的数据从而释放块以用于重写,由此平摊周期计数并且改善损耗特性。再次,由此内部管理过程标识以供移动的数据相比于其他数据而言是相对静态的,并且这被用于由闪存控制器15执行的系统级数据迁移。因此,在步骤40所示的均衡损耗期间同样可以执行图5的过程,其中步骤41的块选择通常选择具有最低周期计数的块。再次,此过程中对相对静态数据的标识和移动适用于闪存存储器14中的总体使用模式。此外,图6的修改也可用于均衡损耗,尽管图5的过程由于简易性而是优选的。
除了上文描述的对静态数据和动态数据进行区分,闪存控制器15所实现的数据迁移策略还可以根据读取访问频率来区别热数据和冷数据。特别地,静态数据是系统中相对较少被更新的数据,而这里所说的冷数据是(相对)较少被读取或者更新的数据。这一区别体现在闪存控制器15对读请求的处理中。图7的流程图中示出了此过程的关键步骤。响应于在步骤60接收读请求,控制逻辑20首先根据存储器24中的地址映射检查所请求的数据目前是否被存储在闪存存储器14中。如果是(决策步骤61的“是”),则数据在步骤62被简单地读出,并且过程终止。如果在步骤61所请求的数据不在闪存存储器中,则在步骤63,控制逻辑控制数据从盘阵列12或者带驱动器13的适当地址位置的读取。接下来,在决策步骤64,控制逻辑确定读请求是否针对顺序数据。再次,这例如可以如前所述通过将请求大小与阈值Tseq进行比较来实现。如果在此被标识为顺序数据(步骤64的“是”),则不需要进一步的动作。然而,如果读取的数据被认为不是顺序的,则在步骤65,控制逻辑20将读取的数据拷贝回闪存存储器14中。在步骤66,在存储器24中更新地址映射以反映新数据位置,并且读取过程完成。
刚刚描述的读取过程的效果是:由先前描述的内部管理过程从闪存迁移到盘的数据将响应于针对该数据的读请求而被移动回闪存存储器。因此,静态、只读数据将被循环回闪存存储器,而未被读取的真正的冷数据将留在备选存储中。由于在将数据页写入闪存之后通常需要一段时间才能将其确定为静态的,因此频繁只读的页在被迁移到盘之前将留在闪存中一段时间。顺序数据倾向于留在盘或者带上,而不考虑其读取频率。以此方式,针对不同数据类别的不同存储介质的不同属性构成了有效的使用。
图8是此示例中由控制逻辑20作为元数据而维护的地址映射的示意性表示。此图中左手边的表代表工作LBA/PBA映射70,右手边的表代表备份/存档映射71。出于此示例之目的,假设带驱动器13主要用于存档数据,以及用于存储在盘或者带上别处的数据的备份拷贝。在需要闪存存储器中数据的备份拷贝的情况下,这些备份拷贝被存储在HDD阵列12中。考虑该地址映射的第一行,工作映射70指示:具有逻辑块地址0x0000...0000的数据目前被存储在闪存存储器中的地址F5-B7-P45处(其中此格式指示在第5个闪存管芯(F)上的第7个块(B)中的第45页(P))。此数据的旧版本也被保持在闪存中,在地址F56-B4-P12处。映射71指示:此数据的备份拷贝被存储在地址D5-LBN00000处(其中此格式指示盘阵列12的第5个HDD(D)中的第00000个逻辑块编号(LBN))。第二行指示:具有LBA 0x0000...0001的数据被存储在闪存存储器中的地址F9-B0-P63处,其具有盘上D5-LBN0001处的备份。第四行指示:LBA0x0000...0003目前在盘上的D5-LBN34789处,该数据的较旧版本仍在盘上的D0-LBN389处(例如,在以常规方式按照附加模式对盘上的该数据更新之后)。下一行示出:LBA 0x0000...0004目前存储在带上的T5-C6-LBN57683处(其中此格式指示第5个带驱动器(T)的第6个盒(C)中的第57683个逻辑块编号)。备份拷贝被存储在T7-C0-LBN00000处。LBA 0x0000...0005被存档,而在T7-C0-LBN0001处无备份。在倒数第二行,LBA 0xFFFF...FFFE目前被存在闪存中,较旧的版本存储在盘上,例如,在图7的步骤65中回到闪存的迁移数据的拷贝之后。
将会看到,日志结构的地址映射表70、71允许在整个存储系统10中跟踪数据移动,其中相同数据的旧版本和新版本在工作映射70中被关联,以支持例如垃圾收集之类的跟进内部管理过程。然而,将会理解,控制逻辑可以维护各种其他元数据。例如,元数据可以包括其他映射,例如复制映射,其用于在存储多个拷贝的情况下记录所复制数据的位置以用于例如安全目的。还可以维护其他元数据,例如访问模式、次数、所有者、访问控制列表(ACL)等等,这对于本领域技术人员而言是清楚的。
将会看到,闪存控制器15提供了用于本地SSD的全集成控制器以及系统级数据管理。系统级数据迁移策略利用固有的内部闪存管理过程,创造了闪存管理与系统级数据管理功能之间的协作。这提供了一个高效的系统架构以及整体数据管理过程,与现有系统相比,它更为简单、快速并且更为成本有效。系统可以通过一种适用于总体数据访问模式的简单、高效的方式来管理热数据/冷数据,静态数据/动态数据以及顺序数据/随机数据。另外,将静态数据自动迁移出闪存显著改善了闪存存储器本身的性能和生命期。另一优势在于,备份和存档可以在块级别上被处理,这不同于在文件级别上进行处理的常规过程。这提供了更快的执行以及更快的恢复。
当然可以对上文描述的优选实施例做出各种改变和修改。下面描述一些示例。
尽管闪存控制器15提供全功能的、自恰的、系统级数据管理控制器,但是区别热数据/冷数据和/或静态数据/动态数据以及相应放置/迁移数据的其他技术可以与所描述的系统相结合。此功能可以集成在闪存控制器15中,或者在图1架构中的存储控制器8这一级别实现。例如,初始热数据/冷数据检测可以在存储器8中实现,其中冷数据被写入到盘或者带而无需首先被写入闪存。热数据/冷数据检测的准确度对于此处的任意改进而言当然将是关键的。
数据放置/迁移策略以最精细的粒度实现,在所描述系统的块(闪存页)级。然而,本领域的技术人员可以理解,系统可以容易地被修改以处理最大为文件级别的不同块大小,其中地址映射反映粒度基本的地址映射。
一般地,可由一个或多个存储设备来提供备选存储。这些存储设备可以不同于上文描述的具体示例,并且可以包括其他固态存储设备。
尽管SSD 11在上文被假设为NAND闪存存储器设备,但是也可以使用其他类型的S SD来实现本发明的技术。此类备选设备可以使用与上文描述不同的内部管理过程,但是一般而言,可以按照上文描述的方式使用包括固态存储器中数据移动的任何内部管理过程。注意,尽管在上文中SSD 11提供了存储的顶层,但是系统也可以包括一个或多个的更高存储层。
将会理解,在不脱离本发明范围的情况下,可以对所描述的示例性实施方式进行多种其他的改变和修改。

Claims (13)

1.一种用于管理具有固态存储设备(11)和备选存储(12,13)的数据存储系统(10)中的数据的方法,所述备选存储(12,13)为非固态存储设备,所述方法包括:
标识将在所述固态存储设备(11)中被移动以用于固态存储(14)的内部管理的数据;
判断是否针对标识的所述数据指定了特定放置;
判断写请求是否用于顺序数据;
响应于所述判断确定没有针对标识的所述数据指定特定放置并且写请求是用于顺序数据,将标识的所述数据的至少一些移动到所述备选存储(12,13)而非所述固态存储(14);以及
维护指示数据在所述固态存储设备(11)和所述备选存储(12,13)中位置的元数据。
2.根据权利要求1所述的方法,包括:标识将在所述固态存储设备(11)的垃圾收集过程中被移动的数据;以及将该数据的至少一些移动到所述备选存储(12,13)而非所述固态存储(14)。
3.根据权利要求1所述的方法,包括:标识将在所述固态存储设备(11)的均衡损耗过程中被移动的数据;以及将该数据的至少一些移动到所述备选存储(12,13)而非所述固态存储(14)。
4.一种用于管理具有固态存储设备(11)和备选存储(12,13)的数据存储系统(10)中的数据的系统,所述备选存储(12,13)为非固态存储设备,所述系统包括:
用于标识将在所述固态存储设备(11)中被移动以用于固态存储(14)的内部管理的数据的装置;
用于判断是否针对标识的所述数据指定了特定放置的装置;
用于判断写请求是否用于顺序数据的装置;
用于响应于所述判断确定没有针对标识的所述数据指定特定放置并且写请求是用于顺序数据,控制标识的所述数据的至少一些向所述备选存储(12,13)而非所述固态存储(14)的移动;以及
用于维护指示数据在所述固态存储设备(11)和所述备选存储(12,13)中位置的元数据。
5.根据权利要求4所述的系统,进一步包括:
用于标识将在所述固态存储设备(11)的垃圾收集过程中被移动的数据的装置;以及
用于控制该数据的至少一些向所述备选存储(12,13)而非所述固态存储(14)的移动的装置。
6.根据权利要求5所述的系统,进一步包括:
用于控制将在所述垃圾收集过程中被移动的所有数据向所述备选存储(12,13)而非所述固态存储(14)的移动的装置。
7.根据权利要求5所述的系统,其中:
对于在所述垃圾收集过程中在所述固态存储设备(11)中被移动的数据,所述控制系统进一步包括:
用于维护该数据已被这样移动的次数的计数的装置;以及
用于在标识将在所述垃圾收集过程中被移动的数据时,在针对该数据的所述计数超出阈值的情况下,控制该数据向所述备选存储(12,13)的移动的装置。
8.根据权利要求4所述的系统,进一步包括:
用于标识将在所述固态存储设备(11)中的均衡损耗过程中被移动的数据的装置;以及
用于控制该数据的至少一些向所述备选存储(12,13)而非所述固态存储(14)的移动的装置。
9.根据权利要求4所述的系统,进一步包括:
用于执行所述固态存储(14)的所述内部管理的集成逻辑的装置。
10.根据权利要求4所述的系统,进一步包括:
用于接收读数据的读请求的装置;以及
用于响应于所述读请求针对从所述固态存储(14)被移动到所述备选存储(12,13)的数据,控制该数据向所述固态存储(14)的写回的装置。
11.根据权利要求4所述的系统,进一步包括:
用于接收针对写数据的写请求的装置;
用于如果写请求不是用于写入顺序数据的,则控制所述数据向所述固态存储(14)的写入,如果是则控制所述数据向所述备选存储(12,13)的写入的装置。
12.根据权利要求4所述的系统,其中:
所述固态存储包括闪存存储器(14),所述备选存储包括盘存储(12)和带存储(13)的至少一个。
13.根据权利要求4所述的系统,其中所述元数据包括至少一个地址映射,其指示与相应数据块关联的逻辑地址与指示所述固态存储设备(11)和所述备选存储(12,13)中的数据位置的物理地址之间的映射。
CN201080039762.2A 2009-09-08 2010-09-07 固态存储设备和分层存储系统中的数据管理 Expired - Fee Related CN102576293B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP09169726 2009-09-08
EP09169726.8 2009-09-08
PCT/IB2010/054028 WO2011030290A1 (en) 2009-09-08 2010-09-07 Data management in solid-state storage devices and tiered storage systems

Publications (2)

Publication Number Publication Date
CN102576293A CN102576293A (zh) 2012-07-11
CN102576293B true CN102576293B (zh) 2015-08-26

Family

ID=43088076

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201080039762.2A Expired - Fee Related CN102576293B (zh) 2009-09-08 2010-09-07 固态存储设备和分层存储系统中的数据管理

Country Status (4)

Country Link
US (2) US20120166749A1 (zh)
CN (1) CN102576293B (zh)
DE (1) DE112010003577T5 (zh)
WO (1) WO2011030290A1 (zh)

Families Citing this family (94)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8671265B2 (en) 2010-03-05 2014-03-11 Solidfire, Inc. Distributed data storage system providing de-duplication of data using block identifiers
US8959284B1 (en) 2010-06-28 2015-02-17 Western Digital Technologies, Inc. Disk drive steering write data to write cache based on workload
US9058280B1 (en) 2010-08-13 2015-06-16 Western Digital Technologies, Inc. Hybrid drive migrating data from disk to non-volatile semiconductor memory based on accumulated access time
US9268499B1 (en) 2010-08-13 2016-02-23 Western Digital Technologies, Inc. Hybrid drive migrating high workload data from disk to non-volatile semiconductor memory
US9336139B2 (en) * 2010-11-29 2016-05-10 Cleversafe, Inc. Selecting a memory for storage of an encoded data slice in a dispersed storage network
US20130111104A1 (en) * 2011-10-31 2013-05-02 Moon J. Kim Asynchronous data shift and backup between asymmetric data sources
US8892828B2 (en) 2011-11-18 2014-11-18 Micron Technology, Inc. Apparatuses and methods for storing validity masks and operating apparatuses
US9054992B2 (en) 2011-12-27 2015-06-09 Solidfire, Inc. Quality of service policy sets
US9838269B2 (en) 2011-12-27 2017-12-05 Netapp, Inc. Proportional quality of service based on client usage and system metrics
KR20130102816A (ko) * 2012-03-08 2013-09-23 삼성전자주식회사 데이터 액세스 메모리 및 그것의 데이터 손실 방지 방법
US8639665B2 (en) * 2012-04-04 2014-01-28 International Business Machines Corporation Hybrid backup and restore of very large file system using metadata image backup and traditional backup
US9703500B2 (en) * 2012-04-25 2017-07-11 International Business Machines Corporation Reducing power consumption by migration of data within a tiered storage system
CN102831088A (zh) * 2012-07-27 2012-12-19 国家超级计算深圳中心(深圳云计算中心) 基于混合存储器的数据迁移方法和装置
US9015413B2 (en) 2012-10-02 2015-04-21 International Business Machines Corporation Management of data using inheritable attributes
US8959281B1 (en) * 2012-11-09 2015-02-17 Western Digital Technologies, Inc. Data management for a storage device
CN103049349B (zh) * 2012-11-29 2016-02-24 记忆科技(深圳)有限公司 基于分层存储的快照方法及系统
CN103927265B (zh) * 2013-01-04 2017-09-01 深圳市龙视传媒有限公司 一种内容分级存储装置、内容获取方法及内容获取装置
US10073851B2 (en) * 2013-01-08 2018-09-11 Apple Inc. Fast new file creation cache
US20140229654A1 (en) * 2013-02-08 2014-08-14 Seagate Technology Llc Garbage Collection with Demotion of Valid Data to a Lower Memory Tier
US9478271B2 (en) * 2013-03-14 2016-10-25 Seagate Technology Llc Nonvolatile memory data recovery after power failure
US9952969B1 (en) * 2013-03-14 2018-04-24 EMC IP Holding Company LLC Managing data storage
US9262313B2 (en) 2013-03-14 2016-02-16 Microsoft Technology Licensing, Llc Provisioning in heterogenic volume of multiple tiers
US9524300B2 (en) 2013-03-14 2016-12-20 Microsoft Technology Licensing, Llc Heterogenic volume generation and use system
US9141626B2 (en) 2013-03-14 2015-09-22 Microsoft Technology Licensing, Llc Volume having tiers of different storage traits
US9116904B2 (en) 2013-03-14 2015-08-25 Microsoft Technology Licensing, Llc File system operation on multi-tiered volume
US9971796B2 (en) * 2013-04-25 2018-05-15 Amazon Technologies, Inc. Object storage using multiple dimensions of object information
US9092159B1 (en) * 2013-04-30 2015-07-28 Emc Corporation Object classification and identification from raw data
JP2014235677A (ja) 2013-06-05 2014-12-15 株式会社東芝 データ記憶装置およびデータ記憶制御方法
US20190042405A1 (en) * 2013-06-21 2019-02-07 Western Digital Technologies, Inc. Storing data based on writing frequency in data storage systems
CN105493051B (zh) * 2013-06-25 2019-03-08 马维尔国际贸易有限公司 自适应高速缓冲存储器控制器
US9141176B1 (en) 2013-07-29 2015-09-22 Western Digital Technologies, Inc. Power management for data storage device
US20150039825A1 (en) * 2013-08-02 2015-02-05 Seagate Technology Llc Federated Tiering Management
US9311252B2 (en) 2013-08-26 2016-04-12 Globalfoundries Inc. Hierarchical storage for LSM-based NoSQL stores
US9070379B2 (en) 2013-08-28 2015-06-30 Western Digital Technologies, Inc. Data migration for data storage device
CN104516678B (zh) 2013-09-29 2017-09-26 国际商业机器公司 用于数据存储的方法和设备
US9298389B2 (en) 2013-10-28 2016-03-29 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Operating a memory management controller
US8917471B1 (en) 2013-10-29 2014-12-23 Western Digital Technologies, Inc. Power management for data storage device
DE102013112368A1 (de) * 2013-11-11 2015-05-13 Fujitsu Technology Solutions Intellectual Property Gmbh Bandspeicherlaufwerk
US9229640B2 (en) * 2013-11-15 2016-01-05 Microsoft Technology Licensing, Llc Inexpensive solid-state storage by throttling write speed in accordance with empirically derived write policy table
CN110825324B (zh) * 2013-11-27 2023-05-30 北京奥星贝斯科技有限公司 混合存储的控制方法及混合存储系统
CN103631538B (zh) 2013-12-05 2017-04-05 华为技术有限公司 冷热数据识别门限值计算方法、装置和系统
US9928166B2 (en) 2013-12-24 2018-03-27 International Business Machines Corporation Detecting hot spots through flash memory management table snapshots
WO2015109128A1 (en) * 2014-01-16 2015-07-23 Pure Storage, Inc. Data replacement based on data properties and data retention in a tiered storage device system
US8874835B1 (en) 2014-01-16 2014-10-28 Pure Storage, Inc. Data placement based on data properties in a tiered storage device system
JP2015135620A (ja) * 2014-01-17 2015-07-27 株式会社東芝 記憶装置、及びデータの記憶方法
US10331457B2 (en) * 2014-01-22 2019-06-25 Hewlett-Packard Development Company, L.P. Byte-addressable non-volatile read-write main memory partitioned into regions including metadata region
US20150244795A1 (en) 2014-02-21 2015-08-27 Solidfire, Inc. Data syncing in a distributed system
US9448742B2 (en) * 2014-03-27 2016-09-20 Western Digital Technologies, Inc. Communication between a host and a secondary storage device
CN104951242B (zh) * 2014-03-28 2018-05-01 伊姆西公司 用于在存储阵列之间自动重定位数据的方法和装置
EP3125124B1 (en) * 2014-04-22 2021-01-13 Huawei Technologies Co., Ltd. File management method and file system
US9798728B2 (en) 2014-07-24 2017-10-24 Netapp, Inc. System performing data deduplication using a dense tree data structure
US9766972B2 (en) 2014-08-07 2017-09-19 Pure Storage, Inc. Masking defective bits in a storage array
US9558069B2 (en) 2014-08-07 2017-01-31 Pure Storage, Inc. Failure mapping in a storage array
US10133511B2 (en) * 2014-09-12 2018-11-20 Netapp, Inc Optimized segment cleaning technique
US9671960B2 (en) 2014-09-12 2017-06-06 Netapp, Inc. Rate matching technique for balancing segment cleaning and I/O workload
US9836229B2 (en) 2014-11-18 2017-12-05 Netapp, Inc. N-way merge technique for updating volume metadata in a storage I/O stack
US9658781B2 (en) 2014-11-19 2017-05-23 International Business Machines Corporation Tier based data file management
US9720601B2 (en) 2015-02-11 2017-08-01 Netapp, Inc. Load balancing technique for a storage array
US9762460B2 (en) 2015-03-24 2017-09-12 Netapp, Inc. Providing continuous context for operational information of a storage system
US9710317B2 (en) 2015-03-30 2017-07-18 Netapp, Inc. Methods to identify, handle and recover from suspect SSDS in a clustered flash array
US9696913B1 (en) * 2015-04-13 2017-07-04 Cohesity, Inc. Tier-optimized write scheme
KR102397582B1 (ko) * 2015-06-22 2022-05-13 삼성전자주식회사 데이터 저장 장치, 이를 포함하는 데이터 처리 시스템, 및 이의 작동 방법
US9740566B2 (en) 2015-07-31 2017-08-22 Netapp, Inc. Snapshot creation workflow
US10496277B1 (en) * 2015-12-30 2019-12-03 EMC IP Holding Company LLC Method, apparatus and computer program product for storing data storage metrics
KR102652293B1 (ko) * 2016-03-03 2024-03-29 에스케이하이닉스 주식회사 메모리 관리방법
US10929022B2 (en) 2016-04-25 2021-02-23 Netapp. Inc. Space savings reporting for storage system supporting snapshot and clones
CN105959720B (zh) * 2016-04-28 2018-08-31 东莞市华睿电子科技有限公司 一种视频流数据处理方法
US10942844B2 (en) 2016-06-10 2021-03-09 Apple Inc. Reserved memory in memory management system
US10628045B2 (en) * 2016-06-23 2020-04-21 Seagate Technology Llc Internal data transfer management in a hybrid data storage device
US10459658B2 (en) * 2016-06-23 2019-10-29 Seagate Technology Llc Hybrid data storage device with embedded command queuing
US9672905B1 (en) 2016-07-22 2017-06-06 Pure Storage, Inc. Optimize data protection layouts based on distributed flash wear leveling
US10540095B1 (en) * 2016-08-12 2020-01-21 Pure Storage, Inc. Efficient garbage collection for stable data
US10642763B2 (en) 2016-09-20 2020-05-05 Netapp, Inc. Quality of service policy sets
US10437800B2 (en) * 2016-12-02 2019-10-08 International Business Machines Corporation Data migration using a migration data placement tool between storage systems based on data access
US10437799B2 (en) * 2016-12-02 2019-10-08 International Business Machines Corporation Data migration using a migration data placement tool between storage systems based on data access
US11126544B2 (en) * 2016-12-14 2021-09-21 Via Technologies, Inc. Method and apparatus for efficient garbage collection based on access probability of data
US9747158B1 (en) 2017-01-13 2017-08-29 Pure Storage, Inc. Intelligent refresh of 3D NAND
US10891201B1 (en) * 2017-04-27 2021-01-12 EMC IP Holding Company LLC Dynamic rule based model for long term retention
US11321402B2 (en) * 2017-05-05 2022-05-03 Microsoft Technology Licensing, Llc. Index storage across heterogenous storage devices
US10705767B2 (en) * 2017-07-20 2020-07-07 International Business Machines Corporation Optimizing user satisfaction when training a cognitive hierarchical storage-management system
US10572407B2 (en) * 2017-08-11 2020-02-25 Western Digital Technologies, Inc. Hybrid data storage array
US10908940B1 (en) 2018-02-26 2021-02-02 Amazon Technologies, Inc. Dynamically managed virtual server system
CN110471788B (zh) * 2018-05-08 2024-03-15 美光科技公司 异步功率损耗影响的数据结构
CN108984124B (zh) * 2018-07-13 2022-03-25 深圳忆联信息系统有限公司 减少写放大的方法、装置、计算机设备及存储介质
CN108920107B (zh) * 2018-07-13 2022-02-01 深圳忆联信息系统有限公司 筛选冷数据的方法、装置、计算机设备及存储介质
US10809934B2 (en) * 2018-12-11 2020-10-20 Intel Corporation NAND direct access horizontal queue
TWI692955B (zh) * 2019-01-16 2020-05-01 香港商希瑞科技股份有限公司 伺服器及相關的電腦程式產品
US10877683B2 (en) 2019-04-09 2020-12-29 International Business Machines Corporation Tiered storage optimization and migration
CN110531927B (zh) * 2019-08-06 2023-05-09 深圳大普微电子科技有限公司 一种基于块分级的垃圾回收方法及非易失性的存储设备
CN112799585B (zh) * 2019-11-14 2024-05-24 百度在线网络技术(北京)有限公司 数据处理方法、装置、电子设备及可读存储介质
US11106580B2 (en) 2020-01-27 2021-08-31 Hewlett Packard Enterprise Development Lp Deduplication system threshold based on an amount of wear of a storage device
US20220171713A1 (en) * 2020-11-30 2022-06-02 Micron Technology, Inc. Temperature-aware data management in memory sub-systems
WO2023061569A1 (en) * 2021-10-13 2023-04-20 Huawei Technologies Co., Ltd. Smart defragmentation of a data storage system
CN115951846B (zh) * 2023-03-15 2023-06-13 苏州浪潮智能科技有限公司 数据写入方法、装置、设备及介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101369451A (zh) * 2007-08-14 2009-02-18 三星电子株式会社 固态存储器、包含其的计算机系统和操作其的方法
CN101436152A (zh) * 2008-12-02 2009-05-20 成都市华为赛门铁克科技有限公司 一种数据备份的方法和装置

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7136973B2 (en) * 2004-02-04 2006-11-14 Sandisk Corporation Dual media storage device
US7788427B1 (en) * 2005-05-05 2010-08-31 Marvell International Ltd. Flash memory interface for disk drive
JP2008511929A (ja) * 2004-08-30 2008-04-17 シリコン ストレージ テクノロジー、 インク. 携帯電話の不揮発性メモリを管理するシステムおよび方法
US7568075B2 (en) * 2005-09-22 2009-07-28 Hitachi, Ltd. Apparatus, system and method for making endurance of storage media
KR100801015B1 (ko) * 2006-08-30 2008-02-04 삼성전자주식회사 하이브리드 하드 디스크 드라이브와 데이터 저장 방법
US8099554B1 (en) * 2007-12-31 2012-01-17 Emc Corporation System and method for flash-based data caching
US8271515B2 (en) * 2008-01-29 2012-09-18 Cadence Design Systems, Inc. System and method for providing copyback data integrity in a non-volatile memory system
JP2011515727A (ja) * 2008-02-12 2011-05-19 ネットアップ,インコーポレイテッド ハイブリッド媒体ストレージシステムアーキテクチャ
US8402242B2 (en) * 2009-07-29 2013-03-19 International Business Machines Corporation Write-erase endurance lifetime of memory storage devices

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101369451A (zh) * 2007-08-14 2009-02-18 三星电子株式会社 固态存储器、包含其的计算机系统和操作其的方法
CN101436152A (zh) * 2008-12-02 2009-05-20 成都市华为赛门铁克科技有限公司 一种数据备份的方法和装置

Also Published As

Publication number Publication date
WO2011030290A1 (en) 2011-03-17
CN102576293A (zh) 2012-07-11
US20120290779A1 (en) 2012-11-15
US20120166749A1 (en) 2012-06-28
DE112010003577T5 (de) 2012-06-21

Similar Documents

Publication Publication Date Title
CN102576293B (zh) 固态存储设备和分层存储系统中的数据管理
US8706985B1 (en) System and method for optimizing garbage collection in data storage
US10282130B2 (en) Coherency of data in data relocation
US7975095B2 (en) Device and method for using a flash memory as a hard disk cache
JP6870246B2 (ja) ストレージ装置、及びストレージ制御装置
KR101894625B1 (ko) 데이터 저장 시스템들에 대한 우선순위 기반 가비지 수집
JP4988215B2 (ja) 複数のマッピング技法を採用した適応型フラッシュメモリ制御装置及びそれを含むフラッシュメモリシステム
CN102150144B (zh) 使用写入配置快照的动态存储分层的方法和系统
US20090193182A1 (en) Information storage device and control method thereof
US10394493B2 (en) Managing shingled magnetic recording (SMR) zones in a hybrid storage device
US20100293337A1 (en) Systems and methods of tiered caching
US20150127889A1 (en) Nonvolatile memory system
US9864529B1 (en) Host compatibility for host managed storage media
CN106612619B (zh) 分级存储系统、利用分级存储装置的计算机及校正对文件的访问计数的计算机
US10152236B2 (en) Hybrid data storage device with partitioned local memory
US20100169556A1 (en) Nonvolatile storage device, information recording system, and information recording method
KR101017067B1 (ko) 낸드 플래시 메모리를 위한 지역성 기반의 가비지 컬렉션기법
US8862819B2 (en) Log structure array
CN109710541B (zh) 针对NAND Flash主控芯片Greedy垃圾回收的优化方法
CN110674056B (zh) 一种垃圾回收方法及装置
US9189392B1 (en) Opportunistic defragmentation during garbage collection
US20100318726A1 (en) Memory system and memory system managing method
JP2019028954A (ja) ストレージ制御装置、プログラム、及び重複排除方法
US11003580B1 (en) Managing overlapping reads and writes in a data cache
KR101191650B1 (ko) 낸드 플래시 메모리에서 데이터의 주소를 사상시키는 장치 및 방법

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20150826

Termination date: 20200907