CN111194438B - 扩展ssd长久性 - Google Patents
扩展ssd长久性 Download PDFInfo
- Publication number
- CN111194438B CN111194438B CN201880063449.9A CN201880063449A CN111194438B CN 111194438 B CN111194438 B CN 111194438B CN 201880063449 A CN201880063449 A CN 201880063449A CN 111194438 B CN111194438 B CN 111194438B
- Authority
- CN
- China
- Prior art keywords
- ssd
- data
- controller
- utilization parameter
- threshold
- 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
- 238000003860 storage Methods 0.000 claims abstract description 65
- 238000013507 mapping Methods 0.000 claims description 33
- 238000000034 method Methods 0.000 claims description 32
- 230000003321 amplification Effects 0.000 claims description 7
- 238000003199 nucleic acid amplification method Methods 0.000 claims description 7
- 239000007787 solid Substances 0.000 claims description 6
- 238000012546 transfer Methods 0.000 claims description 2
- 238000013403 standard screening design Methods 0.000 claims 65
- 238000013508 migration Methods 0.000 description 17
- 230000005012 migration Effects 0.000 description 17
- 238000010586 diagram Methods 0.000 description 9
- 210000003127 knee Anatomy 0.000 description 8
- 230000008569 process Effects 0.000 description 8
- 238000012005 ligant binding assay Methods 0.000 description 7
- 230000001960 triggered effect Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 230000002411 adverse Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000013506 data mapping Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000013519 translation Methods 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/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/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0608—Saving storage space on 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/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/0647—Migration mechanisms
-
- 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
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)
- Memory System (AREA)
Abstract
本发明提供一种存储设备,其包含第一SSD、第二SSD和控制器。所述控制器能够计算所述第一SSD的第一利用率参数和所述第二SSD的第二利用率参数。如果所述第一利用率参数小于阈值且所述第二利用率参数超过所述阈值,那么所述控制器识别存储于所述第一SSD上的待移除的数据范围。所述数据范围从所述第一SSD的所述移除致使所述第一利用率参数超过所述阈值。所述控制器接着将所述数据范围从所述第一SSD迁移到所述第二SSD。
Description
相关申请案的交叉参考
本申请案主张2017年8月2日申请的标题为“扩展SSD长久性(Extending SSDLongevity)”的美国实用申请案15/667,109的优先权,其内容以全文引用的方式并入本文中。
技术领域
本发明大体上涉及增加SSD存储装置的长久性的系统和方法。
背景技术
固态驱动器(SSD)中采用的基于闪存的存储媒体(例如存储器装置)包括布置成平面单元、块单元和页单元的快闪单元。每一平面含有数个块,其为可擦除的最小单元。每一块含有数个页,其为可用数据写入的最小单元。对于SSD,存储器控制器负责映射将写入物理快闪页或将从物理快闪页读取的应用数据的逻辑块地址。
存储媒体磁盘具有期间可操作的有限使用寿命。硬盘驱动器(HDD)是使用会产生磨损的机械装置,且可能会意外且灾难性地失效。SSD通常具有大于HDD的长久性的两倍的长久性,但与HDD相比磨损方式不同。归因于NAND闪存的特性,SSD的使用寿命由NAND闪存可承受的写入操作的数目决定。写入操作也被称作编程/擦除(P/E)循环,这是因为可仅在使用擦除存储器命令移除先前存储器内容之后,使用程序存储器命令写入数据。
由于可能仅在首先擦除快闪存储器中的先前数据之后覆写数据,因此常见的做法是在SSD中提供额外工作空间来充当刚擦除的快闪存储器块的其中可写入新数据的区域。此做法被称为超量配给(Over Provisioning,OP)。在写入新数据之后,将先前数据标记为无效。最后,在系统的快闪存储器块中存在其数目足以开始被称为垃圾收集(GC)的过程的无效数据页。在GC过程期间,将剩余的有效数据页写入到刚擦除的块,并且擦除现在其所有页被标记为无效的原始块。接着可在可将数据写入到的刚擦除的块的集区中包含经擦除的块。除用于新数据的原始写入之外,GC过程还涉及额外数据写入。此边副效应(sideeffect)被称为写入放大(WA),其中WA因子是额外NAND闪存数据写入与原始写入的平均数目的比。WA通过有效地使快闪装置的P/E循环限值除以WA因子,致使SSD的寿命减小。举例来说,WA因子为10的SSD的使用寿命是由P/E循环限值预测的使用寿命的十分之一。
WA与OP成反比,其中减小OP产生增加WA的效应。图1示出说明OP和WA之间的相关性的现有技术绘图100。绘图100包含表示OP的x轴102和表示WA的y轴104。OP和WA之间的相关性由在108处具有膝部的迹线106表示。绘图100是OP和WA的相关性的众所周知的模型。在X-Y Hu等人的论文“基于闪存的固态驱动器中的写入放大分析(Write AmplificationAnalysis in Flash-based Solid State Drives)”(以色列海法,IBM苏黎士研究实验室,SYSTOR 2009(IBM Zurich Research Laboratory,SYSTOR 2009,Haifa,Israel))中展示和描述了将OP和WA的相关性建模的类似绘图,所述论文以引用的方式并入本文中。
从绘图100可见,减小OP会减小所述装置的耐久性水平,这是因为增加WA会增加每个应用数据写入的NAND闪存写入的数目并且会减小具有指定P/E循环限值的装置的使用寿命。所述关系并非线性的,其中当OP在108处的膝部以下减小时,WA的增加速率会变得越来越显著。
对增加SSD装置的容量并且减小OP以减低成本的要求会造成磁盘使用寿命减小且磁盘提早失效的风险增加,这会严重影响所存储的数据的成本和可用性/存取。因此,长期以来一直需要校正如今SSD系统中固有的问题。
发明内容
在一方面中,一种存储设备包含第一SSD、第二SSD和控制器。所述控制器能够计算所述第一SSD的第一利用率参数和所述第二SSD的第二利用率参数。如果所述第一利用率参数小于阈值且所述第二利用率参数超过所述阈值,那么所述控制器识别存储于所述第一SSD上的待移除的数据范围。所述数据范围从所述第一SSD的所述移除致使所述第一利用率参数超过所述阈值。所述控制器接着将所述数据范围从所述第一SSD迁移到所述第二SSD。
在另一方面中,一种平衡存储设备中的多个SSD当中的利用率的方法包含在控制器处,计算至少一个第一SSD的第一利用率参数;确定所述至少一个第一SSD的所述第一利用率参数小于阈值;和选择具有超过所述阈值的第二利用率参数的第二SSD。所述方法另外包含确定存储于所述第一SSD上的数据范围,其中所述数据范围具有一利用水平以使得在从所述第一SSD移除所述数据范围的情况下,所述第一SSD的所述第一利用率参数超过所述阈值;和将所述数据范围从所述第一SSD迁移到所述第二SSD。
附图说明
图1示出说明超量配给和写入放大之间的相关性的现有技术中的绘图;
图2示出根据一或多个实施例的具有多个SSD和多个虚拟磁盘的存储设备的框图;
图3示出说明根据一或多个实施例的在存储设备中使用的虚拟映射的框图;
图4A示出根据一或多个实施例的用以提取SSD的利用水平的各个SSD的框图;
图4B示出根据一或多个实施例的用以提取SSD的利用水平的扩展应用程序编程接口(API);
图5示出说明根据一或多个实施例的SSD的集区上的超量配给平衡的机制的框图;
图6示出根据一或多个实施例的平衡SSD的集区上的超量配给的决策流;
图7示出展示根据一或多个实施例的平衡协议的第二阶段的决策流;和
图8示出根据一或多个实施例的用于平衡SSD的集区上的利用率参数的方法。
具体实施方式
图2示出包含具有多个SSD和多个虚拟磁盘的存储设备200的系统201的框图。存储设备200包含多个SSD 210-215、控制器222、存储器221和适配器223。系统201另外包含多个主机260-263,和多个虚拟磁盘231-235。主机260-263通过交换机250连接到存储设备200。
为了清楚起见,图2示出为具有六个SSD 210-215和五个虚拟磁盘231-235。然而,应理解,存储设备200可包含任何数目个SSD,和任何数目个虚拟磁盘。类似地,虽然图2示出四个主机260-263,但存储设备200可包含任何数目个主机装置。术语SSD、SSD驱动器和固态装置可互换使用。
控制器222运行虚拟化软件,其通过适配器223将多个虚拟磁盘231-235暴露给多个主机260-263。SSD 210-215用作后端存储装置。控制器222是可以为任何标准SSD存储设备的存储设备100上的本地控制器。
适配器223提供远程主机260-263对存储设备200的存取。具有适当的连接性的远程主机可通过物理交换机250和例如iSCSI、光纤通道(FC)、经由NVME的网状架构(NVMEover Fabric)、SCSI的传输协议或传输协议和经由主机中的驱动器软件的物理连接性的任何组合来存取存储设备200。适配器223可为以太网端口、光纤通道(FC)端口、SAS、PCIe、无限频带(IB)端口,或任何其它适当端口。
因此,为远程主机(例如,主机260-263中的一个)提供通过控制器222中的软件暴露的虚拟磁盘231-235。举例来说,为主机260提供虚拟磁盘231,并且为主机261提供虚拟磁盘232和233。主机260和261通过交换机250和适配器223根据控制器222的软件与具有多个SSD 210-215的存储设备200交互,但主机260-263“看到”设备上的虚拟磁盘231-2135而非物理SSD 210-215。每一主机看到虚拟磁盘231-235含有数据,但所述数据实际上存储来存储设备中的物理SSD 210-215上并且受控制器222管理,可由主机260-263通过交换机250和适配器223进行存取。
图3示出说明存储设备中使用的虚拟映射方案300的框图。图3包含具有第一虚拟映射表328的第一虚拟磁盘321、具有第二虚拟映射表327的第二虚拟磁盘322、第一SSD311、第二SSD 312、第三SSD 313和第四SSD 314。
虚拟映射方案300说明通过使用第一映射表328将第一虚拟磁盘321映射到第一SSD 311中展示的第一虚拟化方案,所述第一映射表328使用虚拟地址到物理地址空间上的一对一映射。第一虚拟磁盘321映射到第一SSD 311中的第一物理范围331中。第一虚拟磁盘321中的数据的大小设定为使得数据可连续放置于第一SSD 311中。来自第一虚拟磁盘321或来自其它虚拟磁盘的额外数据也可连续放置于第一SSD 311中直到第一SSD 311不再具有空间。第一虚拟映射表328存储映射信息、SSD识别、用于起始逻辑块地址(LBA)的指示符和置于第一SSD 311中的数据范围的长度。
在第二个更复杂的实例中,虚拟映射方案300说明指向多个物理装置上的多个范围的虚拟地址空间。这由根据第二映射表328将第二虚拟磁盘322映射到多个SSD(包含第一SSD 311、第二SSD 312、第三SSD 313和第四SSD 314)中的范围上来展示。如可见,第二虚拟磁盘322位于第一SSD 311中的范围332、第二SSD 312中的范围334和335、第三SSD 313中的范围335和第四SSD 314中的范围336中。第二虚拟磁盘321的第二映射表328是其中存储虚拟磁盘数据的范围的分散集合列表(SGL),包含其方位、起始LBA和范围的长度。
来自第二虚拟磁盘321的数据从虚拟空间映射到多个SSD上的物理空间中。来自第二虚拟磁盘321的数据分隔成范围或组块(chunk)并放置在存储设备中的多个物理SSD上。
如果虚拟磁盘中的数据对于放置在单个物理SSD上的数据来说太大,那么更可能遇到此包含来自第二虚拟磁盘321的虚拟磁盘数据映射成多种SSD上的范围的第二实例,数据可拆分成组块或范围并且放置在多个SSD上。第二虚拟磁盘321到多个SSD上的映射也可在碎片化虚拟地址空间中,或已处于使用中一段时间的存储设备中发生。举例来说,在存储设备已使用一段时间且已经创建并删除虚拟磁盘之后,需要虚拟磁盘到物理SSD存储装置的多范围映射以将虚拟磁盘数据分配于物理存储装置上。
由于数据存储于SSD上,因此SSD的经分配部分以及SSD的利用水平提高。当SSD具有高利用水平时,有效OP可降到最低且WA可以是高的。并且,由于WA与SSD长久性负相关,因此具有高利用率的SSD发生磁盘失效的风险可能增加。
图4A和4B分别示出用以提取SSD的利用水平的SSD和扩展API的存储器表示。图4A示出SSD 400和典型SSD参数的存储器表示401。SSD 400由NAND页组成,且通常含有被利用的含有数据的页422、不良块420,以及包含在有效OP 421中的自由或脏NAND页。为了清楚起见,将不良块420放大展示,但在大多数情况下,不良块420占用SSD 400的小得多的部分。SSD 400具有如所示的总容量410。然而,SSD 400的总容量410的仅一部分可供主机使用。SSD 400的可供数据写入到的部分是导出容量416。为了使得闪存转换层(FTL)能够存储新数据并且将新数据有效地写入到经擦除页(具有低WA)中并且通过在背景中独立地执行GC来管理无效数据,总容量410的一部分保持为OP 415,或备用空间。
相比于其中通过从逻辑到物理地址空间的固定映射来维持存储且可自由地重新写入物理方位而无需首先擦除先前数据的HDD,SSD含有NAND页且并非所有物理地址都映射到逻辑地址。在SSD中,逻辑到物理映射并非固定,而是确切地说,映射随着重新写入数据而发生改变。SSD在填充有数据量的情况下被利用,且仅当数据写入到SSD时分配SSD物理页地址。写入到SSD的数据量是利用水平,且SSD的尚未分配和写入数据的剩余部分是有效OP区域。如果SSD不完全利用,那么未分配的部分要大得多且有效OP高得多。
举例来说,在1太字节(TB)存储磁盘中,在10%OP的情况下,100千兆字节(GB)的OP存储区域不可供用户使用,且900GB的存储可用。900GB的可用存储可暴露给用户。100GB的OP区域保持为备用页,允许SSD在背景中执行GC协议或一SSD的所需或指定写入数据传送速度接受新数据写入命令。虽然用户可以利用900GB,但如果用户仅将400GB的数据写入到磁盘,那么有效OP区域是剩余的500GB的可存取存储空间加100GB的预留OP区域。
OP区域提供如下能力:SSD立即将新数据覆写到备用的先前经擦除数据块和页中,以便在背景中对已通过覆写变成无效的旧数据执行GC协议。在无OP的情况下,GC协议必须与覆写数据同步执行以便产生经擦除页空间来放置新数据,因此使SSD的写入执行减缓。虽然OP通常是在SSD的制造期间确定并且是已知的,但SSD的有效OP在将数据写入到SSD、覆写现有数据以及移除数据(使用所谓的针对SSD专门设计和定义的‘削减(Trim)’命令以解除分配在主机文件系统中擦除数据之后释放的LBA)的SSD使用期间发生改变。SSD的当前有效OP对用户或常规存储装置中的存储设备中的本地控制器不可用,这是由于逻辑到物理地址映射的管理和NAND闪存页的分配和解除分配都保持在SSD的闪存控制器的私密域内。
在操作阶段,SSD 400含有有效数据页、无效或脏数据页(例如数据已经覆写或削减),以及自由页。在执行GC处理之后,脏数据页可变成可用作自由页。此外,在操作期间,数据块可归因于超过P/E循环限值或其它NAND失效机制而失效并且变成不可操作。这些标示为不良块420,其会随存储设备的使用时间而增加,从而降低存储磁盘的总容量。
SSD 400中的OP定义为SSD 400的未分配或未利用的数据页与可用的总数据页之间的比。在一情境中,SSD完全用数据填充,即,完全填充到其导出容量416,且未分配的数据页是剩余的备用页415。在这类情境中,假设在SSD 400中不存在不良块,OP通过以下方程式(方程式1)表达为一比。
(方程式1)
然而,在大多数情况下,SSD 400不全部用数据填充到总导出容量416。用户实际上仅利用可供在SSD 400上写入的空间的一部分(已利用数据422)(总容量410减去不良块420或为导出容量416)。因此,SSD 400的更逼真参数是有效OP,由以下方程式(方程式2)表达。
(方程式2)有效
如方程式2中所示,通过总容量410减去已利用数据422和不良块420确定有效OP421。当有效OP为低时,SSD经高度利用且可能不稳定并更倾向于失效。在常规存储设备中,关于SSD的有效OP和利用率的信息对用户来说不可用。然而,如果所述信息可用,那么存储设备中的软件可利用所述信息提供所述装置的更大稳定性和更长使用期限。
根据本发明的一个实施例,SSD 400提供扩展API,其提供有关SSD 400的呈展示已利用数据422的量和不良块420的数目的数据形式的信息。API确定SSD 400的利用率数据信息,包含有效OP,且主机或客户端计算机可使用这类数据平衡存储设备中的SSD的利用率。替代地或另外,主机可将所述信息提供给用户。通过平衡SSD上的利用率,改进存储装置的总寿命和操作,这是因为与未充分利用的SSD的WA的对应增加相比,使过度利用的装置的WA降低了更大量。
在一些实施方案中,SSD 400提供扩展API,其提供有关SSD 400的地址空间的特定范围430的数据利用率431的信息,如图4B中所示。举例来说,用户可提供起始LBA和长度,且SSD通过API返回所提供的范围的数据利用率431。
在一些实施方案中,通过用户指定范围430。在一些实施方案中,通过制造商在API中指定范围430。
举例来说,如方程式1和2所描述,通过SSD上的已利用空间与可用空间的比较来提供OP。WA是SSD中其中物理上写入到存储器的实际数据量大于意图写入的数据量(所述差异是归因于有效数据页从部分有效的数据块移动到新数据块中,以便使接着可擦除的数据块完全无效,其为在GC操作中发生的过程)的现象。举例来说,如果用户意图将1千字节(kB)的数据写入到磁盘并且WA为10,那么写入到磁盘的数据量实际上可为10kB。OP和WA预测存储磁盘的耐久性和性能特征。在以上实例中,WA为10的磁盘以比WA为1的磁盘快10×的速度达到其耐久性限值,并且将具有比WA为1的磁盘慢大约10×的降级性能。在Luojie等人的公开案“用于NAND闪存中的写入放大的经改进的分析表达(An Improved Analytic Expressionfor Write Amplification in NAND Flash)”(arXiv:1110.4245v1)中以完整细节描述从有效OP导出WA,所述公开案以引用的方式并入本文中。
如图1中示出的现有技术绘图100中所见,WA与OP成反比,且所述关系是非线性的。小OP与非常高的WA相关,而在约20%OP处的膝部108之后,随着OP增加,WA发生极小改变。在膝部108之前,举例来说,在5%的有效OP处,WA是11。在膝部108之后,在35%的有效OP处,WA是2。磁盘的有效OP对磁盘的WA具有很大影响,且因此对磁盘的性能、稳定性和耐久性具有很大影响。在较高有效OP处,磁盘的耐久性和性能与在较低有效OP处相比要好得多。
SSD中的OP通常降到最低以便降低顾客的每一可用数据存储单元的成本。然而,供应商在操作时间周期内提供保修并且优化OP,因此产品在保修的操作时间周期之前不会失效。
可基于WA和与P/E计数相关的每天磁盘写入(DWPD)来估算操作时间周期内的保修。归因于高利用率或不良块而具有较低有效OP的SSD可在其它SSD之前达到其耐久性限值且可较早失效。因此,用于降低顾客的成本的OP最小化可不利地影响产品的寿命且可实际上引起消费者或供应商的较高成本。
为了使存储设备的操作寿命达到最大,可在SSD的使用期限期间优化SSD的OP,并且应在每个时间点选择OP以便提供SSD资源的优化。举例来说,可选择OP的膝部值108或其它值作为一阈值,应维持有效OP高于所述阈值以便保持WA为低。在一些实施方案中,阈值用作向FTL通知SSD中的备用空间的量正接近可将SSD带到非功能或只读状态的最小值的警报。
虽然当随着SSD存储变得更多被利用而引起OP值减小并且接近膝部值108时,在单个SSD的控制器中可存在用于FTL来调整OP的有限范围,但在其中存在受存储设备控制器管理的多个个别SSD的存储设备中,可存在通过使数据在SSD之间迁移来调整和平衡个别SSD的OP的更大灵活性。在一些实施例中,存储设备控制器使用SSD提供的扩展API来存取OP、不良块和数据映射信息。使用此信息,控制器可将来自一个SSD的数据迁移到另一SSD并且进而修改源SSD和目的地SSD的有效OP。
在一些实施例中,阈值可为单个阈值。在一些实施方案中,阈值可为多个阈值。在一些实施方案中,阈值可以是任何其它OP相关阈值。在一些实施方案中,当OP超过特定SSD中的阈值时,存储设备的控制器执行用于将SSD的OP带回到阈值内以优化SSD的操作并且防止失效的平衡协议。在一些实施方案中,阈值是对应于目标WA为2或3的有效OP,例如20-40%的有效OP。在WA为2或3时,与较高WA相比显著降低耐久性并且增加SSD的性能。
图5示出SSD的集区上的OP平衡的框图500,其说明由控制器的扩展API定义的平衡协议。所述框图包含第一SSD 510、第二SSD 511、第三SSD 512和第四SSD 513。第一SSD 510包含第一范围530,其包含从虚拟磁盘写入的数据,且第二范围531还包含从相同或不同虚拟磁盘写入的数据。第一SSD 510还具有由箭头的竖直高度指示的第一有效OP 520。第一有效OP可如下文解释由控制器(例如图2中的控制器222)确定。类似地,第二SSD 511具有第二有效OP 521,第三SSD 512具有第三有效OP 522,且第四SSD具有第四有效OP 523,其各自由每一相应箭头的竖直高度指示,且同样地由控制器确定。
如上文所描述,有效OP与SSD的利用率有关并且预测SSD的耐久性和性能。与具有较高有效OP的SSD相比,具有极低有效OP的SSD更靠近其耐久性限值并且具有不佳性能。通过平衡SSD集区中的SSD上的利用率,存储设备具有更好总性能并且减小SSD的失效机率。如由不同高度的竖直箭头指示,图5中的SSD中的每一个的有效OP不处于平衡中。通过使用控制器上的扩展API确定每一SSD的利用率并且根据预先确定的选择启发式平衡SSD,可优化存储设备的性能和稳定性。
控制器(例如,图2的控制器222)确定每一SSD的有效OP作为SSD的利用率的量度。控制器通过查询表中的两个LBA值之间的利用率,从映射表确定每一SSD的利用率。控制器可存取映射表并且可通过查询映射表来确定利用水平或有效OP,以确定已经写入到每一SSD上的哪些LBA以及没有写入到每一SSD上的哪些LBA。控制器可查询映射表以确定SSD或SSD的一部分的利用率。也可根据方程式2,计算利用水平或有效OP,其为第一SSD上的已利用空间与总可用空间之间的比。
当特定SSD的有效OP低于阈值时,控制器执行对另一SSD中的可用空间的检查。如果控制器识别具有可用空间的SSD,那么控制器将一系列LBA迁移到具有足够可用(即,未分配的)空间的新SSD。举例来说,如果控制器确定第一有效OP 520低于阈值,那么控制器检查剩余的SSD(第二SSD 511、第三SSD 512和第四SSD 513)的利用率以确定SSD中的任一个是否具有可用空间。在此实例中,控制器确定第三SSD 512具有用于第二范围531的足够可用空间,且第三SSD 512具有高于阈值的有效OP。控制器接着将第二范围531从第一SSD 510迁移到第三SSD 512。第一SSD 510的有效OP 520应在第二范围531从第一SSD迁移到第三SSD512的资源之后增加。
控制器可通过存取虚拟映射表确定数据可迁移到的目的地SSD。控制器中的扩展API可存取映射表并且可提取LBA到SSD中的物理页的映射。使用此信息,扩展API计算SSD的多少区或页映射到虚拟空间以及SSD的多少区或页目前不映射到虚拟空间(且因而未经分配并且可用)。控制器因此可确定潜在目的地SSD的各个区的利用率。
虽然图5中的实例说明单个范围(第二范围531)从第一SSD 510到第三SSD 512的迁移,但在其它实施方案中,控制器可将多个范围从SSD偏移迁移到多个其它SSD。控制器也可通过将单个范围拆分成多个较小范围以放置在其它SSD上,将单个范围(例如第二范围531)迁移到各个SSD上的多个目标范围。
控制器可经由用于范围利用率的扩展API的参数选择待迁移的范围。控制器计算必须从第一SSD 510传送的已利用数据的量,以便将有效OP 520带到高于阈值。控制器接着选择符合所需数据挂载(mount)的至少一个数据范围。在一些实施方案中,如果第一SSD510上的多个数据范围满足所需数据量,那么控制器选择迁移符合要求的最小范围以便使任何迁移损失降到最低。在一些实施方案中,如果第一SSD 510上的多个数据范围满足所需数据量,那么控制器选择符合要求的最少存取的范围。在一些实施方案中,如果第一SSD510上的多个数据范围满足所需数据量,那么控制器选择符合要求的最多存取的范围。
控制器执行平衡协议,使得SSD的集区均匀承载且SSD可以低WA操作以增加SSD的长久性并且减小失效的可能性。控制器执行平衡协议以便通过在迁移之后预计算SSD的最终结果OP并且选择SSD上的最优方位以在剩余的SSD上放置迁移的一或多个范围,在SSD集区上均匀地分配有效OP。在一些实施方案中,所述优化是基于将迁移后OP的标准偏差减到最小。在一些实施方案中,如果控制器确定特定SSD中的不良块或写入错误的数目已增加到超过阈值,那么控制器可停止写入数据到SSD并且将来自SSD的剩余数据重新平衡到剩余的SSD。在其中SSD为完整的情境中,例如当SSD中的不良块的量达到阻止SSD进行操作时,由控制器执行的平衡协议通过利用所述装置中的其它SSD上的可用空间来防止SSD失效。
使用数据范围的迁移优化和均衡SSD集区上的OP的SSD集区平衡协议使用经由扩展API提供给控制器的详细数据利用率信息。如上文所论述,可确定每一SSD的数据利用率信息,或甚至可确定SSD上的每一虚拟映射范围的更详细数据利用率信息。
在一些实施方案中,除了对物理SSD上的现有数据执行集区平衡协议之外,控制器不将虚拟磁盘映射到SSD上,造成违反可操作有效OP阈值。以此方式,即使当不良块归因于耐久性或裸片失效而累积时,装置仍始终维持于可操作状态中。
用于控制器的逻辑可随不同实施情况而改变,以便平衡SSD的利用率,从而增加存储设备的性能。控制器可具有扩展API,其使用上文所论述的原理以便优化性能、耐久性或导出容量。在一些实施方案中,控制器可具有扩展API,其将关于SSD的利用率的信息提供给外部用户而不是实际上使数据在SSD之间移动。
图6示出用于控制SSD的集区上的OP的平衡的决策流600。决策流600可供控制器(例如图2中的控制器222)用于平衡SSD的集区中的有效OP。
在步骤602处,触发控制器以在每个预定义时间段,例如每小时或一天一次执行平衡协议。控制器可检测基于时间的触发或被事件发生触发。在一些实施方案中,由制造商指定触发平衡协议的时间段。在一些实施方案中,由用户指定触发平衡协议的时间段。在一些实施方案中,平衡协议通过预定义时间段被触发并且另外通过事件(例如用户发出的命令)触发。
在步骤604中,在已经触发平衡协议触发之后,控制器检查SSD以检索每一SSD的有效OP水平。控制器可使用扩展API通过存取映射表并从映射表中的LBA确定每一SSD的第一LBA和第二LBA之间的SSD的区段的利用率,确定有效OP。在一些实施方案中,控制器通过使用方程式2,从SSD的利用率和SSD上的不良块的量相对于SSD的总容量计算SSD的有效OP,从而确定有效OP。
在一些实施方案中,控制器检索与SSD的利用率有关,或与SSD的一部分的利用率有关的不同参数。在步骤606中,控制器将每一SSD的有效OP水平与存储的阈值进行比较并且确定是否存在具有不满足阈值的有效OP水平的任何SSD。阈值是由制造商设置的预先确定的有效OP值。在一些实施方案中,阈值处于或低于WA对比OP(如图1中所示,例如约15%)的“膝部”值。
如果不存在具有低于阈值的有效OP水平的SSD,那么控制器不执行SSD的任何平衡,且控制器等待路径607上的下一平衡协议触发。如果控制器确定存在具有低于阈值的有效OP水平的SSD,那么所有这类所识别的SSD经历平衡。
举例来说,参考图5中的图式,控制器已确定第一有效OP 520、第二有效OP 521、第三有效OP 522和第四有效OP 524,并且已确定第一SSD 510具有低于阈值的有效OP。
在图6的步骤608中,控制器确定平衡具有低于阈值的有效OP水平的SSD的OP水平的次序。在一些实施方案中,控制器按有效OP将SSD排序并且确定将首先平衡具有最小有效OP值的SSD。在一些实施方案中,控制器按有效OP将SSD排序并且基于例如SSD上的数据的存取速率的另一参数来确定平衡的次序。在一些实施方案中,控制器按有效OP将SSD排序并且选择具有最小有效OP的SSD进行平衡,并且忽略剩余的SSD的次序。在一些实施方案中,控制器将SSD排序并且选择具有最小有效OP的SSD,而且还在最小有效OP列表的平衡之后,记录未被选择进行平衡的剩余的SSD的次序。
举例来说,再次参考图5,控制器确定第三SSD 512可接受第一SSD 510的数据的一部分,同时在迁移之后将有效OP维持在阈值内。
在图6的步骤610处,控制器确定是否存在在保持于有效OP阈值内的同时可容纳额外利用率的SSD。控制器确定哪些SSD可具有额外利用率并且选择确定的SSD中的一个作为平衡协议的目的地SSD。控制器可在迁移之后预计算每一可能的目的地SSD的有效OP值以便确定目的地SSD。预计算有效OP可以是合乎需要的,这是由于数据范围的迁移增加SSD的利用率。控制器可基于各个参数选择目的地SSD,例如,选择具有最高有效OP的SSD,选择可容纳额外利用率的第一所识别的SSD,从具有在包含最高有效OP的范围内的有效OP的一组SSD随机选择SSD,或从具有在包含最高有效OP的范围内的有效OP的所述组SSD选择为最近最少存取的SSD的SSD,等等。.
如果不存在在维持高于阈值的有效OP的同时可容纳额外利用率的SSD,那么控制器沿着路径611移动到平衡协议的第二阶段以开始图7中描述的过程。
图7示出其中不存在可容纳额外利用率并且维持超过阈值的有效OP的单个目的地SSD的情境的决策流700。决策流700在控制器已从图6发起路径611上的协议的第二阶段之后开始于步骤702。在步骤704处,控制器确定是否存在具有超过阈值的有效OP的任何SSD。如果不存在具有超过阈值的有效OP的SSD,那么控制器结束步骤706处的程序并且返回到等待状态。如果存在具有超过阈值的有效OP的SSD,那么控制器移动到步骤708。在步骤708处,控制器按有效OP将SSD排序并且选择具有最大OP的目标SSD。在步骤710处,控制器确定在仍维持目标SSD的有效OP高于阈值的同时可迁移到所述目标SSD的数据大小或数据量。在步骤712处,控制器来所确定的量迁移到目标SSD。
在步骤714处,控制器确定源SSD的有效OP是否保持低于阈值。如果源SSD的有效OP现在超过阈值,那么控制器在步骤716处结束程序。如果源SSD的有效OP保持低于阈值,那么控制器沿着通路718返回以重复从步骤704处的确定开始的程序,以便确定是否存在具有大于阈值的有效OP的任何SSD。控制器可根据流程700遍历集区中的SSD重复以在集区中的SSD当中分配剩余的额外利用率,使得目的地SSD和源SSD在具有超过阈值的有效OP的情况下结束过程。
再次参考图6,替代地,如果控制器在图6中的610步骤处确定不存在可容纳额外利用率的单个目的地SSD,那么控制器仍可选择与源SSD相比具有较高有效OP的目的地SSD并且迁移所计算的数据量以将源SSD和目的地SSD两者的有效OP带到相等值。在替代实施例中,如果不存在在维持高于阈值的有效OP的同时可容纳额外利用率的SSD,那么控制器结束平衡协议并且返回到等待状态。
如果在图6的步骤610中,控制器确定存在可容纳额外利用率的SSD,那么控制器移动到图6中的步骤612上。在选择源SSD和目的地SSD之后,控制器确定哪个数据从源SSD迁移到目的地SSD。在步骤612处,控制器确定将有效OP带到阈值内的源SSD中的数据范围。控制器确定源SSD上的具有高利用率并且大小设定为使得迁移来自源SSD的数据范围会将有效OP带到阈值内的一或多个数据范围。如果识别了大于一个适当数据范围,那么控制器根据在API中指定的参数确定将迁移哪个数据范围。
控制器可通过使用映射表确定各个数据范围的利用率,确定源SSD上的适当的数据范围。举例来说,控制器存取映射表并且可从映射表中的LBA确定多少个数据范围映射到每一SSD。
可选择选择启发式以使得控制器将确定具有最小容量和最高利用率的数据范围或片段以便具有最小迁移损失和最高影响。然而,在一些实施方案中,其它选择启发式可为优选的。可选择满足源SSD和目的地SSD两者的有效OP的阈值要求的任何数据范围。在一些实施方案中,控制器可基于源SSD上的数据范围的存取速率或目的地SSD上的可用空间来确定将迁移哪个数据范围。
在一些实施方案中,控制器可将单个源数据范围拆分成多个较小数据范围以放置在多个目的地SSD上。在一些实施方案中,控制器可如此做以便在SSD集区上更均匀地平衡OP。在一些实施方案中,控制器可当在将有效OP维持于所需阈值内的同时无单个目的地SSD可接受完整源数据范围的情况下如此做。
在步骤614处,控制器将所识别的数据范围从源SSD迁移到目的地SSD。数据范围从源SSD到目的地SSD的迁移应平衡SSD,使得源SSD和目的地SSD两者均具有符合阈值的有效OP。控制器可在迁移数据之前确定存在目的地SSD的上面可放置数据的可接受部分。控制器接着可更新映射表以反映迁移的数据。
在数据范围已从源SSD迁移到目的地SSD之后,控制器可遍历任何剩余的经识别的需要平衡的SSD进行循环,执行相同步骤。继续用于平衡SSD上的有效OP的数据范围迁移,直到集区中的所有SSD具有高于阈值的有效OP或直到数据迁移不再可行为止。
替代地,控制器可在步骤604处,一次确定一个SSD的有效OP,使得一旦识别了具有低于阈值的有效OP的SSD,控制器便开始平衡协议,而非在步骤604处确定所有SSD的有效OP并且绕过步骤608。
作为另一替代方案,控制器可在步骤610处,最优地选择多个目的地和通到每一目的地的数据组块的大小,使得迁移之后的所有SSD的有效OP在维持有效OP小于每一SSD的阈值的同时具有最小标准偏差。
图8示出用于平衡SSD的集区上的利用率参数的方法800。方法800示出控制器(例如图2中的控制器222)识别用于平衡协议的适当目的地驱动器所借助的可操作流。
在步骤802中,计算第一SSD的第一利用率参数和第二SSD的第二利用率参数。第一SSD的第一利用率参数低于第一阈值。第一利用率参数和第二利用率参数可为有效超量配给的量度,或与SSD的利用率有关的任何其它合适的参数。
在步骤804中,将第二利用率参数与第一阈值进行比较。如果第二利用率参数小于第一阈值,那么所述方法前进到步骤806,其中识别第三SSD并且计算第三SSD的第三利用率参数。接着在步骤804处,将第三利用率参数与第一阈值进行比较,且所述方法继续。
如果在步骤804处,第二利用率参数大于第一阈值,那么所述方法转到步骤808。在步骤808处,识别第一SSD上的待移除的数据的数据范围。所述数据范围经识别以使得从第一SSD移除所述数据范围中的数据将与第一SSD相关联的利用率参数带到第一阈值内。在步骤810处,计算包含来自第一SSD的所识别的数据范围的数据的第二SSD的第四利用率参数。在步骤812处,计算不包含第一SSD的所识别的数据范围中的数据的第一SSD的第五利用率参数。步骤810和812使得控制器能够在数据从第一SSD迁移到第二SSD之后计算第一SSD和第二SSD的利用率。通过预计算两个SSD的利用率参数,控制器可确定所选择的目的地SSD是否是可接受的并且可优化数据迁移和可用SSD上的利用率的平衡。
在步骤814处,计算多个可用SSD上的多个利用率参数的标准偏差,所述多个利用率参数包含第四利用率参数和第五利用率参数。标准偏差的计算使得控制器能够在数据从第一SSD迁移到第二SSD之后确定多个可用SSD上利用率的平衡程度。在步骤816处,将标准偏差与第二阈值进行比较。如果标准偏差大于第二阈值,那么所述方法返回到步骤806并且确定新目的地SSD。如果标准偏差小于第二阈值,那么所述方法转到步骤818并且将对应于来自第一SSD的数据范围的数据迁移到第二SSD。
在一些实施方案中,如果在步骤816处,标准偏差大于第二阈值,那么代替使所述方法返回到步骤806以确定新目的地SSD,可计算包含来自所识别的数据范围的数据的一部分的第二SSD的利用率参数,并且选择第二目的地SSD作为来自所识别的数据范围的数据的剩余部分的目的地。接着可重新计算标准偏差以确定当数据范围中的数据的一部分散布在两个目的地SSD之间时是否平衡了利用率。在一些实施方案中,所述方法可确定用于对应于第一SSD的所识别的数据范围的数据的大于两个目的地SSD。
计算SSD的集区中的多个SSD的利用率参数的标准偏差使得控制器能够优化SSD的集区上的利用率。SSD的集区上的利用率的最优平衡会增加装置的长久性并且将SSD或装置失效的风险降到最低。
本发明的各个方面的其它目标、优势和实施例对于所属领域的技术人员来说将是显而易见的,且在本描述内容和附图的范围内。举例来说(而非限制),结构或功能元件可根据本发明重新布置。类似地,根据本发明的原理可应用到即使本文中没有具体地详细描述但仍在本发明的范围内的其它实例。
Claims (21)
1.一种存储设备,其包括:
第一固态驱动器SSD和第二SSD,其经配置以存储数据;和
控制器;
其中所述控制器经配置以:
计算基于所述第一SSD上的已利用数据的总量的第一利用率参数和基于所述第二SSD上的已利用数据的总量的第二利用率参数;
如果所述第一利用率参数小于阈值且所述第二利用率参数超过所述阈值,那么:
识别存储于第一SSD上的待移除的数据的数据范围,其中所识别的所述数据范围从所述第一SSD的移除致使基于所述第一SSD上的已利用数据的所述总量的所述第一利用率参数超过所述阈值,和
通过将对应于所识别的所述数据范围的所述数据从所述第一SSD迁移到所述第二SSD来增加所述第一SSD中的备用区域。
2.根据权利要求1所述的存储设备,其中,
所述第一利用率参数是第一有效超量配给值,且
所述阈值是与目标写入放大值相关联的第二有效超量配给值。
3.根据权利要求1所述的存储设备,所述控制器进一步经配置以:
在对应于所识别的所述数据范围的所述数据从所述第一SSD迁移到所述第二SSD之前,计算包含来自所述第一SSD的所识别的所述数据范围的所述第二SSD的第三利用率参数;
将所述第三利用率参数与所述阈值进行比较;和
如果所述第三利用率参数超过所述阈值,那么继续进行到将对应于所识别的所述数据范围的所述数据从所述第一SSD迁移到所述第二SSD。
4.根据权利要求3所述的存储设备,其中如果所述第三利用率参数不超过所述阈值,那么所述控制器进一步经配置以:
在维持所述第三利用率参数高于所述阈值的同时,确定所述第二SSD能够接受的第一数据量;
将所述所确定的第一数据量迁移到所述第二SSD;
选择具有超过所述阈值的第四利用率参数的第三SSD;
在维持所述第四利用率参数高于所述阈值的同时,确定所述第三SSD能够接受的小于或等于来自所述第一SSD的所识别的所述数据范围减去所述所确定的第一数据量的第二数据量;和
将所述所确定的第二数据量迁移到所述第三SSD。
5.根据权利要求3所述的存储设备,其中在计算包含对应于来自所述第一SSD的所识别的所述数据范围的所述数据的所述第二SSD的所述第三利用率参数之后,所述控制器进一步经配置以:
计算不包含对应于所识别的所述数据范围的所述数据的所述第一SSD的第四利用率参数;
计算包含所述第三利用率参数和所述第四利用率参数的多个可用SSD上的多个利用率参数的标准偏差;和
如果所述标准偏差低于预定值,那么将对应于所识别的所述数据范围的所述数据从所述第一SSD迁移到所述第二SSD。
6.根据权利要求3所述的存储设备,其中如果所述第三利用率参数小于所述阈值,那么所述控制器进一步经配置以识别具有超过所述阈值的第四利用率参数的第三SSD。
7.根据权利要求1所述的存储设备,其另外包括适配器,所述适配器经配置以允许主机暴露虚拟磁盘以将数据传送到所述第一SSD和所述第二SSD。
8.根据权利要求1所述的存储设备,其另外包括映射表,所述映射表经配置以记录所述所存储的数据的方位。
9.根据权利要求8所述的存储设备,其中所述控制器进一步经配置以使用所述映射表,确定对应于待从第一SSD移除的所识别的所述数据范围的所述数据的所述方位。
10.根据权利要求9所述的存储设备,其中所述控制器进一步经配置以通过查询所述映射表来计算所述第一利用率参数和第二利用率参数。
11.根据权利要求10所述的存储设备,其中所述控制器经配置以用对应于迁移到所述第二SSD的所识别的所述数据范围的所述数据的新方位来更新所述映射表。
12.根据权利要求1所述的存储设备,其中所述控制器经配置以将对应于所识别的所述数据范围的所述数据从所述第一SSD迁移到所述第二SSD的不被利用的区。
13.根据权利要求1所述的存储设备,其中所述控制器经配置以将对应于所识别的所述数据范围的所述数据从所述第一SSD迁移到所述第二SSD的不被利用的两个或更多个区。
14.根据权利要求1所述的存储设备,其中所述控制器经配置以确定能够迁移到所述第二SSD以致使所述第一利用率参数超过所述阈值的数据的最小数据范围。
15.一种平衡存储设备中的多个固态驱动器SSD当中的利用率的方法,所述方法包括:在控制器处,计算基于至少一个第一SSD上的已利用数据的总量的第一利用率参数;
确定所述至少一个第一SSD的所述第一利用率参数小于阈值;
选择第二SSD,所述第二SSD具有基于所述第二SSD上的已利用数据的总量的第二利用率参数,所述第二利用率参数超过所述阈值;
识别存储于所述第一SSD上的数据的数据范围,所识别的所述数据范围具有一利用水平以使得在从所述第一SSD移除所识别的所述数据范围的情况下,基于所述第一SSD上的已利用数据的所述总量的所述第一利用率参数超过所述阈值;和
通过将对应于所识别的所述数据范围的所述数据从所述第一SSD迁移到所述第二SSD来增加所述第一SSD中的备用区域。
16.根据权利要求15所述的方法,其中计算所述第一利用率参数包括计算有效超量配给值。
17.根据权利要求16所述的方法,其中计算所述第一利用率参数包括查阅映射表以确定与所述第一SSD对应的第一逻辑块定址LBA和第二LBA之间的所述利用率。
18.根据权利要求17所述的方法,其中计算至少一个第一SSD的所述第一利用率参数包括计算多个SSD中的每一个的利用率参数。
19.根据权利要求18所述的方法,所述方法另外包括:
将所述多个SSD中的每一个的所述利用率参数与所述阈值进行比较;
将来自所述多个SSD的小于所述阈值的SSD的子集排序;和
从所述SSD子集选择具有最小利用率参数的SSD。
20.根据权利要求19所述的方法,所述方法另外包括确定所述第二SSD是否能够接受对应于所识别的所述数据范围的所述数据并且继续到超过所述阈值。
21.根据权利要求20所述的方法,其中如果确定所述第二SSD无法接受对应于所识别的所述数据范围的所述数据并且继续到超过所述阈值,那么所述方法另外包括:在维持所述第二利用率参数高于所述阈值的同时,确定所述第二SSD能够接受的第一数据量;
将所述所确定的第一数据量迁移到所述第二SSD;
选择具有超过所述阈值的第三利用率参数的第三SSD;
在维持所述第三利用率参数高于所述阈值的同时,确定所述第三SSD能够接受的小于或等于来自所述第一SSD的所识别的所述数据范围减去所述所确定的第一数据量的第二数据量;和
将所述所确定的第二数据量迁移到所述第三SSD。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/667,109 US10866741B2 (en) | 2017-08-02 | 2017-08-02 | Extending SSD longevity |
US15/667,109 | 2017-08-02 | ||
PCT/IB2018/000989 WO2019025861A1 (en) | 2017-08-02 | 2018-08-01 | EXTENSION OF LONGEVITY OF SSD |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111194438A CN111194438A (zh) | 2020-05-22 |
CN111194438B true CN111194438B (zh) | 2023-11-21 |
Family
ID=63857971
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710799740.XA Withdrawn CN109388337A (zh) | 2017-08-02 | 2017-09-07 | 存储设备,以及对存储设备中的多个固态驱动器之间的利用率进行平衡的方法 |
CN201880063449.9A Active CN111194438B (zh) | 2017-08-02 | 2018-08-01 | 扩展ssd长久性 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710799740.XA Withdrawn CN109388337A (zh) | 2017-08-02 | 2017-09-07 | 存储设备,以及对存储设备中的多个固态驱动器之间的利用率进行平衡的方法 |
Country Status (5)
Country | Link |
---|---|
US (3) | US10866741B2 (zh) |
EP (1) | EP3662359A1 (zh) |
JP (1) | JP7263316B2 (zh) |
CN (2) | CN109388337A (zh) |
WO (1) | WO2019025861A1 (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110389905B (zh) * | 2018-04-20 | 2023-12-19 | 伊姆西Ip控股有限责任公司 | 资源释放方法、资源分配方法、设备和计算机程序产品 |
JP2020046840A (ja) * | 2018-09-18 | 2020-03-26 | キヤノン株式会社 | 画像処理装置、情報処理方法及びプログラム |
KR20200085513A (ko) | 2019-01-07 | 2020-07-15 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 동작 방법, 이를 포함하는 스토리지 시스템 |
KR20200114009A (ko) * | 2019-03-27 | 2020-10-07 | 에스케이하이닉스 주식회사 | 메모리 컨트롤러 및 그 동작 방법 |
US11049570B2 (en) * | 2019-06-26 | 2021-06-29 | International Business Machines Corporation | Dynamic writes-per-day adjustment for storage drives |
US11010091B2 (en) | 2019-08-29 | 2021-05-18 | International Business Machines Corporation | Multi-tier storage |
US11543987B2 (en) * | 2020-06-04 | 2023-01-03 | Western Digital Technologies, Inc. | Storage system and method for retention-based zone determination |
KR20230032610A (ko) * | 2021-08-31 | 2023-03-07 | 에스케이하이닉스 주식회사 | 데이터 처리 시스템 및 데이터 처리 시스템의 동작 방법 |
US20230305721A1 (en) * | 2022-03-25 | 2023-09-28 | Electronics And Telecommunications Research Institute | Method and apparatus for memory management in memory disaggregation environment |
US20230342071A1 (en) * | 2022-04-22 | 2023-10-26 | EMC IP Holding Company, LLC | Storage Management System and Method |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102696009A (zh) * | 2010-02-01 | 2012-09-26 | 国际商业机器公司 | 存储介质之间的数据迁移 |
CN103558991A (zh) * | 2011-12-31 | 2014-02-05 | 华为数字技术(成都)有限公司 | 数据分层存储处理方法、装置和存储设备 |
CN103885719A (zh) * | 2012-12-21 | 2014-06-25 | 中国电信股份有限公司 | 虚拟机系统在线存储迁移的方法、系统与装置 |
CN104662518A (zh) * | 2013-09-24 | 2015-05-27 | 华为技术有限公司 | 数据迁移方法、数据迁移装置和存储设备 |
WO2016117026A1 (ja) * | 2015-01-20 | 2016-07-28 | 株式会社日立製作所 | ストレージシステム |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8533711B2 (en) * | 2009-11-30 | 2013-09-10 | Red Hat Israel, Ltd. | Method and system for adjusting a selection algorithm for selecting a candidate host with a highest memory sharing history value with a target virtual machine from amongst a set of host machines that have a standard deviation of memory sharing history with the virtual machine below a threshold amount |
US9411718B2 (en) * | 2012-12-21 | 2016-08-09 | Seagate Technology Llc | Method to apply fine grain wear leveling and garbage collection |
WO2014141411A1 (ja) * | 2013-03-13 | 2014-09-18 | 株式会社日立製作所 | ストレージシステムおよびストレージシステム制御方法 |
US9727255B2 (en) * | 2013-07-19 | 2017-08-08 | Hitachi, Ltd. | Storage apparatus and storage control method |
US9442670B2 (en) * | 2013-09-03 | 2016-09-13 | Sandisk Technologies Llc | Method and system for rebalancing data stored in flash memory devices |
US10031673B2 (en) * | 2014-09-26 | 2018-07-24 | SK Hynix Inc. | Techniques for selecting amounts of over-provisioning |
WO2016174729A1 (ja) | 2015-04-28 | 2016-11-03 | 株式会社日立製作所 | ストレージ装置 |
US10140034B2 (en) * | 2015-11-24 | 2018-11-27 | International Business Machines Corporation | Solid-state drive assignment based on solid-state drive write endurance |
US9946473B2 (en) | 2015-12-03 | 2018-04-17 | Sandisk Technologies Llc | Efficiently managing unmapped blocks to extend life of solid state drive |
US10324959B2 (en) * | 2016-09-20 | 2019-06-18 | Futurewei Technologies, Inc. | Garbage collection in storage system |
-
2017
- 2017-08-02 US US15/667,109 patent/US10866741B2/en active Active
- 2017-09-07 CN CN201710799740.XA patent/CN109388337A/zh not_active Withdrawn
-
2018
- 2018-08-01 EP EP18786385.7A patent/EP3662359A1/en active Pending
- 2018-08-01 WO PCT/IB2018/000989 patent/WO2019025861A1/en unknown
- 2018-08-01 CN CN201880063449.9A patent/CN111194438B/zh active Active
- 2018-08-01 JP JP2020505882A patent/JP7263316B2/ja active Active
-
2020
- 2020-11-24 US US17/103,129 patent/US20210081116A1/en not_active Abandoned
-
2022
- 2022-06-30 US US17/855,549 patent/US20230028183A1/en not_active Abandoned
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102696009A (zh) * | 2010-02-01 | 2012-09-26 | 国际商业机器公司 | 存储介质之间的数据迁移 |
CN103558991A (zh) * | 2011-12-31 | 2014-02-05 | 华为数字技术(成都)有限公司 | 数据分层存储处理方法、装置和存储设备 |
CN103885719A (zh) * | 2012-12-21 | 2014-06-25 | 中国电信股份有限公司 | 虚拟机系统在线存储迁移的方法、系统与装置 |
CN104662518A (zh) * | 2013-09-24 | 2015-05-27 | 华为技术有限公司 | 数据迁移方法、数据迁移装置和存储设备 |
WO2016117026A1 (ja) * | 2015-01-20 | 2016-07-28 | 株式会社日立製作所 | ストレージシステム |
Non-Patent Citations (2)
Title |
---|
Jidong ZHAI ; Feng ZHANG ; Qingwen LI ; Wenguang CHEN ; Weimin ZHENG."Characterizing and optimizing TPC-C workloads on large-scale systems using SSD arrays".《Science China(Information Sciences)》.2016,摘要. * |
姚英彪 ; 王发宽 ; .具有磨损均衡意识的混合固态硬盘FTL算法.《计算机学报》.2017,(第10期),全文. * |
Also Published As
Publication number | Publication date |
---|---|
JP7263316B2 (ja) | 2023-04-24 |
US20230028183A1 (en) | 2023-01-26 |
EP3662359A1 (en) | 2020-06-10 |
CN111194438A (zh) | 2020-05-22 |
US20210081116A1 (en) | 2021-03-18 |
US10866741B2 (en) | 2020-12-15 |
JP2020529679A (ja) | 2020-10-08 |
US20190042106A1 (en) | 2019-02-07 |
WO2019025861A1 (en) | 2019-02-07 |
CN109388337A (zh) | 2019-02-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111194438B (zh) | 扩展ssd长久性 | |
US10162536B2 (en) | Storage apparatus and storage control method | |
US20240311293A1 (en) | Namespace mapping optimization in non-volatile memory devices | |
US10275162B2 (en) | Methods and systems for managing data migration in solid state non-volatile memory | |
US9244618B1 (en) | Techniques for storing data on disk drives partitioned into two regions | |
US10095425B1 (en) | Techniques for storing data | |
US9575668B1 (en) | Techniques for selecting write endurance classification of flash storage based on read-write mixture of I/O workload | |
JP5844473B2 (ja) | 複数の不揮発性の半導体記憶媒体を有し、ホットデータを長寿命記憶媒体に配置しコールドデータを短寿命記憶媒体に配置するストレージ装置、及び、記憶制御方法 | |
US10222984B1 (en) | Managing multi-granularity flash translation layers in solid state drives | |
US8832371B2 (en) | Storage system with multiple flash memory packages and data control method therefor | |
US8838931B1 (en) | Techniques for automated discovery and performing storage optimizations on a component external to a data storage system | |
US9047017B1 (en) | Techniques for automated evaluation and movement of data between storage tiers | |
US10318163B2 (en) | Balancing SSD wear in data storage systems | |
US9323459B1 (en) | Techniques for dynamic data storage configuration in accordance with an allocation policy | |
US20110246701A1 (en) | Storage apparatus and its data control method | |
US20170285973A1 (en) | Managing ssd wear rate in hybrid storage arrays | |
US10521124B1 (en) | Application-specific workload-based I/O performance management | |
US20180196755A1 (en) | Storage apparatus, recording medium, and storage control method | |
US11093134B2 (en) | Storage device, management method, and program in tiered storage system | |
CN113924546A (zh) | 非易失性存储器中的磨损感知块模式转换 | |
US11061814B1 (en) | Managing data storage caching and tiering | |
US10891057B1 (en) | Optimizing flash device write operations | |
JP5768118B2 (ja) | 複数のフラッシュパッケージを有するストレージシステム | |
US20200192573A1 (en) | System including non-volatile memory drive | |
JP2016192213A (ja) | 複数のフラッシュパッケージを有するストレージシステム |
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 |