CN110245093A - 固态存储驱动器阵列中的工作负荷自适应超额配置 - Google Patents

固态存储驱动器阵列中的工作负荷自适应超额配置 Download PDF

Info

Publication number
CN110245093A
CN110245093A CN201910176334.7A CN201910176334A CN110245093A CN 110245093 A CN110245093 A CN 110245093A CN 201910176334 A CN201910176334 A CN 201910176334A CN 110245093 A CN110245093 A CN 110245093A
Authority
CN
China
Prior art keywords
state storage
solid state
storage drive
data
prediction
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.)
Granted
Application number
CN201910176334.7A
Other languages
English (en)
Other versions
CN110245093B (zh
Inventor
J·H·戴德里克
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.)
Kioxia Corp
Original Assignee
Toshiba Memory 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 Toshiba Memory Corp filed Critical Toshiba Memory Corp
Priority to CN202310900231.7A priority Critical patent/CN116881177A/zh
Publication of CN110245093A publication Critical patent/CN110245093A/zh
Application granted granted Critical
Publication of CN110245093B publication Critical patent/CN110245093B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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; 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/0629Configuration or reconfiguration of storage systems
    • G06F3/0631Configuration or reconfiguration of storage systems by allocating resources to storage systems
    • 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/0653Monitoring storage devices or systems
    • 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/0688Non-volatile semiconductor memory arrays
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/349Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
    • G11C16/3495Circuits or methods to detect or delay wearout of nonvolatile EPROM or EEPROM memory devices, e.g. by counting numbers of erase or reprogram cycles, by using multiple memory areas serially or cyclically

Abstract

本发明涉及固态存储驱动器阵列中的工作负荷自适应超额配置。在一个实施例中,一种用于管理固态存储驱动器阵列中的超额配置的方法包括:从多个固态存储驱动器中的每一个接收使用数据;至少基于使用数据确定多个固态存储驱动器中的每一个的预测使用寿命值;将预测使用寿命值中的每一者与每个相应的固态存储驱动器的预定使用寿命值进行比较;以及基于比较步骤的结果,动态地调整多个固态存储驱动器中的至少一个的可用逻辑存储容量。在一个实施例中,动态地调整多个固态存储驱动器中的至少一个的可用逻辑存储容量包括:基于该固态存储驱动器的预测使用寿命值大于该固态存储驱动器的预定使用寿命值的结果,增加该固态存储驱动器的可用逻辑容量。

Description

固态存储驱动器阵列中的工作负荷自适应超额配置
技术领域
本发明一般地涉及固态存储驱动器,更具体地涉及固态存储驱动器阵列中的工作负荷自适应超额配置(overprovisioning)。
背景技术
固态存储驱动器(SSD)通常提供小于总可用物理存储器容量的逻辑地址空间。存储容量的这种超额配置(“OP”)主要有两个原因:首先,确保具有足够的物理存储器资源来存储尚未通过垃圾收集而被回收的无效数据。其次,由于物理闪存单元(flash cell)只能容忍有限数量的编程/擦除周期,因此在另外的物理介质上分配程序(写入)允许为驱动器指定的写耐力(write endurance)超过基础介质(underlying media)的写耐力。除了这些主要功能之外,超额配置的物理存储器容量可被用于存储元数据和纠错编码数据,并允许驱动器在出现存储器故障(坏块和/或坏管芯(die))的情况下保持完整的逻辑容量。给定SSD中的超额配置量可根据SSD的应用而变化,从适用于消费者应用(例如,针对1TB SSD,64GB)的单数位百分比到适用于企业应用(例如,针对1TB SSD,224GB)的明显更高的百分比,例如25%或更高。
SSD针对驱动器的逻辑容量的特定写入次数而被定额。该“写耐力”通常被表示为使用寿命(时间)乘以写入强度(一段时间内的写入数据量)。写入强度通常根据“每日的驱动器写入”(N-DWPD)来指定,这是在不出现故障的情况下,SSD的整个逻辑容量在其可用寿命的每天可被覆写的次数。特定产品线内的可用写耐力额定值的数量可能是有限的。例如,给定的产品线可以针对5年的使用寿命提供被额定为1-、3-或5-DWPD,或者1-、3-、或10-DWPD的SSD。
SSD中的OP量与其额定写耐力成指数关联,因此,额定为10-DWPD的SSD将具有比额定为1-DWPD的SSD明显更高的OP百分比。此外,在SSD中实现的OP百分比通常在驱动器的使用寿命期间假设驱动器的最坏情况使用(最高写入次数、最高温度操作等等)。
来自主机的数据写入次数和写入放大率影响SSD的磨损率。写入放大率是指必须被写入到物理介质的实际数据量超过从主机接收的逻辑数据量的因数。NAND闪存单元可能不被覆写,但在接受新数据之前必须首先被擦除。写入放大率的出现是因为在NAND闪存中,可被擦除的最小数据单位远大于可被写入的最小大小。因此,当主机在特定逻辑地址处覆写数据时,SSD将新数据存储在新的物理地址处,并将先前与该逻辑地址对应的数据标记为旧的或“无效的”。擦除以被称为块的单位执行。当选择准备要被擦除的块以接收新的主机数据时,可以忽略任何无效数据,但必须合并该块中的有效数据并将其移到其它位置。与该数据移动关联的写入是形成写入放大率的基础机制。写入放大率通常被表示为被写入到SSD的物理存储器位置的字节数与被写入到SSD中的逻辑存储器位置的字节数(即,主机写入次数)的比率。通常,小块数据的随机写入比大块数据的顺序写入产生更大的写入放大率,而且SSD的逻辑容量越满,其写入放大率越高。因此,写入放大因数很难估计,因为它取决于SSD的未来使用。
希望购买SSD的顾客必须估计其写入通信量(traffic),但是准确地估计写入通信量通常是困难的,对于在为大量和各种最终用户应用提供数据存储的数据中心中使用的SSD和基于SSD的网络设备的购买者来说尤其困难,这些最终用户应用的通信量模式是不可预测的。顾客通常会谨慎选择,因此,通常可能购买具有比实际需要的更高的DWPD额定值和因此更高的OP的SSD。因此,存在对基于SSD的实际工作负荷来实现SSD的最佳超额配置的需求。
发明内容
在一个实施例中,一种用于管理固态存储驱动器阵列中的超额配置的方法包括:从多个固态存储驱动器中的每一个接收使用数据;至少基于所述使用数据确定所述多个固态存储驱动器中的每一个的预测使用寿命值;将所述预测使用寿命值中的每一者与每个相应的固态存储驱动器的预定使用寿命值进行比较;以及基于比较步骤的结果,动态地调整所述多个固态存储驱动器中的至少一个的可用逻辑存储容量。在一个实施例中,动态地调整所述多个固态存储驱动器中的至少一个的可用逻辑存储容量包括:基于该固态存储驱动器的所述预测使用寿命值大于该固态存储驱动器的所述预定使用寿命值的结果,增加该固态存储驱动器的可用逻辑容量。在一个实施例中,所述方法进一步包括:基于所述多个固态存储驱动器中的至少一个的所述预测使用寿命值不大于该固态存储驱动器的所述预定使用寿命值的结果,在所述多个固态存储驱动器当中重新分配所述多个固态存储驱动器中的所述至少一个中的至少一个命名空间(namespace)。在一个实施例中,所述方法进一步包括:基于所述多个固态存储驱动器中的至少一个的所述预测使用寿命值不大于该固态存储驱动器的所述预定使用寿命值的结果,减少所述多个固态存储驱动器中的所述至少一个的可用逻辑存储容量。
在一个实施例中,确定所述多个固态存储驱动器中的每一个的所述预测使用寿命值包括:确定在一系列增加的时间索引值内该固态存储驱动器的预测原始误码率分布,直到所述预测原始误码率分布超过指示不可接受的性能的阈值;以及当所述预测原始误码率超过所述阈值时,将该固态存储驱动器的所述预测使用寿命值定义为该固态存储驱动器的当前龄值(age)加上所述时间索引的当前值。在一个实施例中,确定所述预测原始误码率分布是基于当前原始误码率分布和被预测在预定的未来时间在该固态存储驱动器中已发生的编程/擦除周期数。
在一个实施例中,一种用于管理固态存储驱动器阵列中的超额配置的系统包括:多个固态存储驱动器,每个固态存储驱动器被配置为记录使用数据;驱动状态监视器,其通信地耦接到所述多个固态存储驱动器中的每一个,所述驱动状态监视器被配置为从所述多个固态存储驱动器中的每一个请求所述使用数据;遥测数据库,其被配置为存储在一段时间内从所述驱动状态监视器接收的所述使用数据的一系列值;分析引擎,其通信地耦接到所述遥测数据库,所述分析引擎被配置为至少基于所述使用数据确定所述多个固态存储驱动器中的每一个的预测使用寿命值;以及虚拟器,其通信地耦接到所述分析引擎,所述虚拟器被配置为基于所述多个固态存储驱动器中的至少一个的所述预测使用寿命值与该固态存储驱动器的预定使用寿命值的比较结果,动态地调整该固态存储驱动器的可用逻辑存储容量。在一个实施例中,所述虚拟器被配置为基于所述多个固态存储驱动器中的所述至少一个的所述预测使用寿命值大于该固态存储驱动器的所述预定使用寿命值的结果,增加所述多个固态存储驱动器中的所述至少一个的可用逻辑存储容量。在一个实施例中,所述虚拟器被进一步配置为基于所述多个固态存储驱动器中的所述至少一个的所述预测使用寿命值不大于该固态存储驱动器的所述预定使用寿命值的结果,在所述多个固态存储驱动器当中重新分配所述多个固态存储驱动器中的所述至少一个中的至少一个命名空间。在一个实施例中,所述虚拟器被进一步配置为基于所述多个固态存储驱动器中的至少一个的所述预测使用寿命值不大于该固态存储驱动器的所述预定使用寿命值的结果,减少该固态存储驱动器的可用逻辑存储容量。
在一个实施例中,所述分析引擎被配置为通过以下方式确定所述多个固态存储驱动器中的每一个的所述预测使用寿命值:确定在一系列增加的时间索引值内该固态存储驱动器的预测原始误码率分布,直到所述预测原始误码率分布超过指示不可接受的性能的阈值;以及当所述预测原始误码率超过所述阈值时,将该固态存储驱动器的所述预测使用寿命值定义为该固态存储驱动器的当前龄值加上所述时间索引的当前值。在一个实施例中,所述分析引擎被配置为基于当前原始误码率分布和被预测为在预定的未来时间在该固态存储驱动器中已发生的编程/擦除周期数,确定所述预测原始误码率分布。
附图说明
图1A是根据本发明的包括固态存储驱动器阵列的网络设备的一个实施例的图。
图1B是根据本发明的包括固态存储驱动器阵列的网络设备的一个实施例的图。
图2是根据本发明的图1A的网络设备的固态存储驱动器的一个实施例的图。
图3是根据本发明的固态存储驱动器阵列遥测数据库的一个实施例的图。
图4是根据本发明的一个实施例的用于固态存储驱动器阵列中的工作负荷自适应超额配置的方法步骤的流程图。
图5是根据本发明的一个实施例的用于确定固态存储驱动器的预测使用寿命的方法步骤的流程图。
具体实施方式
图1A是根据本发明的包括固态存储驱动器阵列的网络设备100的一个实施例的图。网络设备100包括但不限于多个固态存储驱动器(SSD)110、映射层112、遥测数据库116、分析引擎120和虚拟器122。总线118在SSD 110、映射层112、SSD I/O监视器134和SSD状态监视器136之间提供合适的通信路径。非易失性存储器高速(NVMe)是用于总线118上通信的合适总线接口协议的一个示例。尽管图1A示出了四个SSD 110,但SSD的具体数量不限于此。网络设备100可以包括本发明范围内的一个或多个SSD 110。
映射层112通过接收和响应来自主机114的读写命令来在一个或多个主机114和SSD 110的阵列之间提供接口。组织上NVMe(NVMe over Fabrics)、iSCSI、光纤通道(FibreChannel)、周边元件互连高速上NVMe(NVMe over Peripheral Component InterconnectExpress(PCIe))、串行ATA(SATA)和串行连接SCSI(SAS)是用于网络设备100和主机114之间的通信的合适总线接口协议。映射层112向每个主机114提供虚拟化地址空间(“命名空间”或“体(volume)”),主机的I/O命令可以独立于其它虚拟化地址空间而被寻址到该虚拟化地址空间。映射层112通过将虚拟化地址空间中的地址映射(转换)到由一个或多个SSD 110提供的逻辑地址空间中的地址来实现虚拟化地址空间。在一个实施例中,映射层112是由网络设备100的控制器或处理器(未示出)执行的固件中的程序。虚拟器122响应于来自配置机构124(例如,管理员或用户接口)的请求而管理由映射层112执行的虚拟化地址空间的映射,以创建和删除命名空间、将这些命名空间暴露给主机114等。命名空间可以被完全映射到一个SSD 110中的物理存储器位置,或者可以被映射到两个或更多个SSD 110中的物理存储器位置。映射层112和虚拟器122一起在主机114和SSD 110的阵列之间提供抽象层,使得主机114不知道命名空间如何被映射到SSD 110的阵列。虚拟器122通过管理被映射的命名空间而控制SSD 110中的超额配置,使得每个SSD 110的逻辑容量的任何部分作为容量暴露给主机114。在一个实施例中,虚拟器122是由网络设备100的控制器或处理器执行的固件中的程序。
分析引擎120针对阵列中的每个SSD 110,使用遥测数据库116中的数据,以确定每个SSD 110的剩余使用寿命的估计。在一个实施例中,分析引擎120是由网络设备100的控制器或处理器执行的程序。下面结合图4和图5进一步描述分析引擎120和虚拟器122的功能。
SSD状态监视器136周期性地轮询每个SSD 110以检索内部记录的信息,其中包括但不限于主机和媒体通信量统计、磨损状态、物理容量的已使用部分、以及纠错统计。SSD状态监视器136可以在将内部状态信息提供给遥测数据库116之前可选地过滤或以其它方式预处理SSD 110的该内部状态信息。SSD状态监视器136将标识符与每个SSD 110进行关联,并且主动地或响应于被轮询,将标识符及其相关联的内部状态数据中继转发到遥测数据库116。SSD状态监视器136可以以任何合适的间隔,例如每小时一次或每天一次,轮询每个SSD110。网络设备100的用户或管理员配置SSD状态监视器136轮询SSD 110的阵列的频率。每个SSD 110响应于轮询而将其当前日志数据报告给SSD状态监视器136。
主机I/O监视器132记录主机114和网络设备100之间的I/O通信量的相关细节,其中包括但不限于被分配给每个主机的每个命名空间的容量、去往以及来自每个命名空间的I/O通信量的速率,以及每个命名空间的容量的已使用部分。SSD I/O监视器134记录映射层112和每个SSD 110之间的I/O通信量的相关细节,其中包括但不限于I/O通信量的速率和每个SSD 110的逻辑容量的已使用部分。主机I/O监视器132和SSD I/O监视器134中的每一者以合适的间隔,例如每小时一次或每天一次,将其收集的数据发送到遥测数据库116。
遥测数据库116存储来自主机I/O监视器132、SSD I/O监视器134和SSD状态监视器136的数据的时间序列值(按时间索引的信息)。该数据可以包括但不限于主机使用数据、介质使用数据和磨损数据,如下面进一步说明的。例如,遥测数据库116将主机I/O监视器132在一系列时间报告的被写入命名空间的主机数据的一系列字节数存储为主机使用数据。因此,遥测数据库116存储SSD 110的各种使用和磨损数据的历史记录。下面结合图3进一步讨论存储在遥测数据库116中的主机使用数据、介质使用数据和磨损数据。分析引擎120分析遥测数据库116中的历史时间序列数据,以估计每个SSD 110的未来磨损和剩余使用寿命。基于所估计的每个SSD 110的剩余使用寿命,虚拟器122可以在SSD 110当中重新映射命名空间,建议网络设备100的管理员需要额外的OP,或者通过暴露更多或更少的逻辑容量来动态地调整一个或多个SSD 110中的OP量。
图1B是根据本发明的包括固态存储驱动器阵列的网络设备的一个实施例的图。在图1B的实施例中,网络设备101包括但不限于SSD 110、映射层112、主机I/O监视器132、SSDI/O监视器134和SSD状态监视器136。遥测数据库116、分析引擎120和虚拟器122位于网络设备101的外部,并且可以在网络设备101之外的一个或多个网络设备中存储和处理SSD的遥测数据。
图2是根据本发明的图1A的网络设备100的固态存储驱动器(SSD)110的一个实施例的图。SSD 110包括总线接口210,总线接口210允许SSD 110通信地耦接到总线118以与其它设备通信。SSD 110包括与外部DRAM 214和NAND装置218的阵列通信的控制器212。控制器212管理存储在NAND装置218上的数据的写入(编程)、读取和擦除。控制器212包括但不限于固件中的闪存转换层(FTL)220,以将来自主机114的数据的逻辑地址映射到NAND装置218的物理页和块。控制器212实现监视功能230。控制器212可以使用DRAM 214作为缓冲器,以便临时存储主机数据(缓存)和临时存储地址映射元数据,以及用于其它目的。
NAND装置218被布置在与控制器212通信的四个通道242、244、246、248中。尽管在图2的SSD 110中示出了布置在四个通道中的十六个NAND装置218,但是NAND装置和通道的具体数量不限于此,并且SSD 110可以包括本发明范围内的布置在一个或多个通道中的一个或多个NAND装置218。在一个实施例中,NAND装置218是SLC NAND装置、MLC NAND装置、TLCNAND装置、QLC NAND装置、或其组合。
监视器230记录SSD 110的操作统计和介质磨损信息。所记录的日志数据可以包括但不限于主机使用数据、介质使用数据和磨损数据。主机使用数据包括但不限于从主机写入的数据的字节数。介质使用数据包括但不限于写入到NAND装置218的数据的字节数(包括与垃圾收集和刷新操作相关联的写入,其中刷新操作是涉及从页中读取数据、执行任何纠错、以及将数据页写入新的页位置的刷新周期)、已执行的编程/擦除周期数、以及被执行的刷新周期数。磨损数据包括但不限于原始误码率(纠错前的误码数除以所读取的总比特数),以及被标记为不可用的块(“坏块”)的数量。监视器230将所记录的日志数据存储在任何适当的存储器位置,包括但不限于控制器212、DRAM 214或NAND装置218的内部存储器。响应于来自SSD状态监视器136的请求,控制器212向SSD状态监视器136报告当前日志数据。
图3是根据本发明的固态存储驱动器阵列遥测数据库116的一个实施例的图。主机使用区域310针对映射到一个或多个SSD 110的每个命名空间存储主机使用数据。主机使用数据可以包括但不限于从主机写入到命名空间的数据字节数、命名空间的总逻辑容量、以及命名空间的已被编程(即,包含来自主机的数据)的容量部分。介质使用区域312针对每个SSD 110存储介质使用数据。介质使用数据可以包括但不限于被写入到每个SSD 110的总字节数(包括与垃圾收集和刷新操作相关的写入)、编程/擦除周期数、以及被执行的刷新周期数。磨损数据区域314存储磨损相关数据,磨损相关数据可以包括但不限于原始误码率(RBER)分布、坏块数量、以及有效OP。RBER分布是以百分比表示的误码数(在纠错之前)除以总读取比特数的每个SSD 110中的物理介质上的分布。RBER分布是物理存储器磨损状态的指示器,因为随着磨损增加,NAND存储器变得更容易出现误码。在一个实施例中,原始误码率分布是针对SSD 110中的闪存的所有页(或小于块的另一单位)的原始误码率的直方图。坏块数量表示已经被标记为“坏的”或不能被SSD的固件使用的内存块数量。有效OP是作为“备用区”的物理存储器的字节数加上未使用的SSD的逻辑容量字节数,然后除以SSD的逻辑容量的总字节数。该值是有效OP,因为除了被指定为OP的存储器之外,SSD还可以使用未分配给主机数据的逻辑容量作为“备用区”。
遥测数据库116中的每个条目与时间戳、以及报告数据的SSD 110或命名空间的标识符相关联。在一个实施例中,遥测数据库116在SSD 110的额定寿命内存储时间序列数据,该寿命时间通常为5年或无限期。存储在遥测数据库116中的时间序列数据表示每个SSD110的实际工作负荷以及最终的介质磨损率的历史记录。分析引擎120和虚拟器122使用每个SSD 110的该实际工作负荷数据来管理SSD 110的阵列当中的命名空间映射以及每个SSD110的超额配置量。
图4是根据本发明一个实施例的用于固态存储驱动器阵列中的工作负荷自适应超额配置的方法步骤的流程图。在步骤410,分析引擎120从遥测数据库116检索当前数据,遥测数据库116存储每个命名空间和每个SSD 110的遥测数据以及每个数据条目的时间戳。在步骤412,分析引擎120基于由遥测数据库116中的遥测数据表示的SSD的实际历史工作负荷,预测每个SSD 110的使用寿命。用于确定SSD 110的预测使用寿命的技术的一个实施例在下面结合图5描述。
在步骤414,分析引擎120将SSD 110的预测使用寿命与该SSD的使用寿命目标(例如5年的额定使用寿命)进行比较。如果SSD的预测使用寿命大于预定使用寿命目标,则在步骤418,虚拟器122增加SSD的暴露逻辑容量,这使得OP减小,由此允许SSD的用户或管理员从SSD获得更大价值。如果SSD的预测使用寿命不大于使用寿命目标,则在步骤416,虚拟器122在网络设备100中的SSD 110当中重新映射一个或多个命名空间,使得映射到该特定SSD的命名空间具有较低的总使用和磨损率,或建议网络设备100的管理员需要额外的OP来满足使用寿命目标。在另一实施例中,如果SSD的预测使用寿命不大于使用寿命目标,则虚拟器122减少SSD的暴露逻辑容量,这使得OP增加。
在一个实施例中,遥测数据库116以大约每小时一次或大约一天一次的频率更新,并且分析引擎120以大约每周一次或大约每两周一次的频率生成SSD 110的预测使用寿命。通过使用遥测数据库116中表示被映射到SSD 110中的命名空间的存储器的实际工作负荷和磨损的历史遥测数据,分析引擎120能够生成预测使用寿命,与根据SSD的传统磨损指示器的外推法相比,该预测使用寿命能够更准确地表示驱动器的使用寿命。
图5是根据本发明的一个实施例的用于确定固态存储驱动器的预测使用寿命的方法步骤的流程图。在步骤510,分析引擎120将时间索引“t”设定为等于零。时间索引表示时间单位数。在一个实施例中,时间单位是“小时”,因此时间索引的值表示小时数。在步骤512,分析引擎120更新预测的主机写入强度变量(WIH)。预测的主机写入强度是这样的变量:其值表示所估计的由SSD 110从每个主机或它们的某一集合体接收的写入率,其被表示为一段时间内的字节数。分析引擎120通过根据存储在遥测数据库116中的主机写数据分析历史主机写入率,来计算预测的主机写入强度。该计算可以对每(per)命名空间或每主机执行,或者对较粗略的命名空间或主机的集合体执行。在一个实施例中,分析引擎120识别一段时间内主机写入活动的局部最大值,并基于该最大值发生的时间回溯多远来加权它们的值。例如,如果最大主机写入率发生在过去很长一段时间(例如,两年前),则该值的加权小于最大主机写入率最近发生(例如,六小时前)情况下的加权。在步骤514,分析引擎120基于有效OP(OPeff)和写入放大因子常数(kWAF)确定写入放大因子(WAF(tn))。在一个实施例中,写入放大因子基于理论上的“最不利情况”写入放大因子来建模,该“最不利情况”写入放大因子由具有给定有效OP的命名空间的均匀分布随机写入模式产生,并且通过写入放大因子常数修正。写入放大因子常数是标量值,其基于历史介质写入和主机写入的比率凭经验确定。在一个实施例中,写入放大因子常数具有0和1之间的值,包括0和1。
在步骤516,分析引擎120基于预测的主机写入强度和写入放大因子确定预测的编程/擦除周期数(nPE(tn+1))。预测的编程/擦除周期数是表示在未来预定时间(例如距当前时间一小时)将已发生的编程/擦除周期数的预测的值。在一个实施例中,预测的主机写入强度和写入放大因子的乘积是SSD 110的预测写入介质强度。分析引擎120用预测的写入介质强度乘以从闪存介质的物理特性导出的常数来生成预测的编程/擦除周期数。该常数的值取决于闪存页的大小(以字节为单位)和块中的页数,对于所编程的每个page_bytes*pages_per_block(页字节数乘以每个块的页数)字节,必须执行块擦除。在步骤518,分析引擎120基于预测的编程/擦除周期数、当前原始误码率分布、以及观察到的原始误码率的变化率乘编程/擦除周期的变化率,确定SSD 110中的闪存上的预测原始误码率分布。在一个实施例中,针对SSD 110中的闪存的所有页(或小于块的另一单位),原始误码率分布是原始误码率的直方图。在该实施例中,分析引擎120预测该直方图的形状随时间将如何变化,因为直方图的“尾部”指示原始误码率已达到不可纠正的值的闪存量。通过跟踪跨SSD 110的闪存的原始误码率分布而不是假设原始误码率对于SSD 110中的所有闪存是恒定的,分析引擎120能够为SSD 110提供预测使用寿命,这比根据传统SSD磨损指示器的外推法更精确。
在步骤520,分析引擎120基于预测的编程/擦除周期数、预测的原始误码率分布、以及坏块经验常数(kBB)确定预测的坏块数(nBbad(tn+1))。在步骤522,分析引擎120基于预测的原始误码率分布和预测的坏块数确定预测的有效OP。在一个实施例中,分析引擎120确定预测的坏块数和对预测的原始误码率分布寻址所需的额外的纠错所消耗的物理容量,然后从当前有效OP中减去该物理容量。在步骤524,分析引擎120使时间索引增加1。例如,当时间索引反映小时数时,使时间索引增加1小时。
在步骤526,分析引擎120查找或计算与预测的原始误码率分布相关联的性能等级,其中原始误码率通常与性能成反比相关。原始误码率的增加将使得SSD中的纠错活动增加,这可能导致使用能够处理更多错误的增强纠错策略,其中包括使用闪存的读取重试和计算密集度增加的纠错编码方案,例如LDPC(低密度奇偶校验码)和QSBC(四重摆动码)。增强策略通常引入更大的延迟,特别是在解码期间,这会导致读取延迟增加和数据吞吐量降低。给定原始误码率的性能等级可以凭经验确定(例如通过收集有关在SSD的预期寿命期间受各种工作负荷影响的SSD的测量数据(可以通过加速老化模拟,例如使用高温)),或者可以基于使用中的纠错方案的已知延迟进行计算。在一个实施例中,分析引擎120使用查找表来识别与预测的原始误码率分布相关联的性能等级。在步骤528,分析引擎120确定与预测的原始误码率分布相关联的性能等级是否可接受。在一个实施例中,分析引擎120确定性能等级是否超过预定阈值。如果预测的性能等级是可接受的,则该方法返回到步骤512。如果预测的性能等级是不可接受的,即,如果性能等级指示SSD不再满足其保证的性能,则在步骤530,将SSD的当前龄值与t的值相加的和定义为SSD的预测使用寿命。
如上所述,图5的方法在时间间隔(例如1小时)内生成一系列预测的属性值,这些值反映基于SSD的实际使用和磨损的SSD的性能。当SSD的预测性能等级变得不可接受时,与该预测相关联的时间提供SSD的预测使用寿命。预测使用寿命允许随时间动态地调整SSD的超额配置量,以转而使从SSD的购买实现的价值最大化。
本发明的各个方面的其它目的、优点和实施例对于本发明领域的技术人员来说是显而易见的,并且在说明书和附图的范围内。例如但非限制地,可以重新排列结构或功能元件,或者重新排序方法步骤,与本发明一致。类似地,机器可以包括单个例元(instance)或多个机器,这样的多个机器可能包括多种类型的机器,它们一起提供所指示的功能。在各种实施例中描述的机器类型并不意味着限制可以在本发明的各方面的实施例中使用的可能类型的机器,也可以实现能够完成类似任务的其它机器。类似地,根据本发明的原理以及体现它们的方法和系统可以应用于其它示例,即使这里没有具体描述,其仍然在本发明的范围内。

Claims (22)

1.一种用于管理固态存储驱动器阵列中的超额配置的方法,包括:
从多个固态存储驱动器中的每一个接收使用数据;
至少基于所述使用数据确定所述多个固态存储驱动器中的每一个的预测使用寿命值;
将所述预测使用寿命值中的每一者与每个相应的固态存储驱动器的预定使用寿命值进行比较;以及
基于比较步骤的结果,动态地调整所述多个固态存储驱动器中的至少一个的可用逻辑存储容量。
2.根据权利要求1所述的方法,其中动态地调整所述多个固态存储驱动器中的至少一个的可用逻辑存储容量包括:基于该固态存储驱动器的所述预测使用寿命值大于该固态存储驱动器的所述预定使用寿命值的结果,增加该固态存储驱动器的可用逻辑容量。
3.根据权利要求1所述的方法,进一步包括:
基于所述多个固态存储驱动器中的至少一个的所述预测使用寿命值不大于该固态存储驱动器的所述预定使用寿命值的结果,在所述多个固态存储驱动器当中重新分配所述多个固态存储驱动器中的所述至少一个中的至少一个命名空间。
4.根据权利要求1所述的方法,进一步包括:
基于所述多个固态存储驱动器中的至少一个的所述预测使用寿命值不大于该固态存储驱动器的所述预定使用寿命值的结果,减少所述多个固态存储驱动器中的所述至少一个的可用逻辑存储容量。
5.根据权利要求1所述的方法,其中所述使用数据包括主机使用数据和介质使用数据。
6.根据权利要求5所述的方法,其中所述主机使用数据包括从主机写入的数据的字节数,所述介质使用数据包括被写入到物理存储器的数据的字节数。
7.根据权利要求1所述的方法,进一步包括从所述多个固态存储驱动器接收磨损数据,并且其中确定所述多个固态存储驱动器中的每一个的所述预测使用寿命值是基于所述使用数据和所述磨损数据。
8.根据权利要求1所述的方法,其中确定所述多个固态存储驱动器中的每一个的所述预测使用寿命值包括:
确定在一系列增加的时间索引值内该固态存储驱动器的预测原始误码率分布,直到所述预测原始误码率分布超过指示不可接受的性能的阈值;以及
当所述预测原始误码率超过所述阈值时,将该固态存储驱动器的所述预测使用寿命值定义为该固态存储驱动器的当前龄值加上所述时间索引的当前值。
9.根据权利要求8所述的方法,其中确定所述预测原始误码率分布是基于当前原始误码率分布和被预测在预定的未来时间在该固态存储驱动器中已发生的编程/擦除周期数。
10.根据权利要求9所述的方法,其中被预测在所述预定的未来时间已发生的编程/擦除周期数是基于该固态存储驱动器的预测写入放大因子。
11.根据权利要求10所述的方法,其中所述预测写入放大因子是基于该固态存储驱动器的有效超额配置值。
12.一种用于管理固态存储驱动器阵列中的超额配置的系统,包括:
多个固态存储驱动器,每个固态存储驱动器被配置为记录使用数据;
驱动状态监视器,其通信地耦接到所述多个固态存储驱动器中的每一个,所述驱动状态监视器被配置为从所述多个固态存储驱动器中的每一个请求使用数据;
遥测数据库,其被配置为存储在一段时间内从所述驱动状态监视器接收的所述使用数据的一系列值;
分析引擎,其通信地耦接到所述遥测数据库,所述分析引擎被配置为至少基于所述使用数据确定所述多个固态存储驱动器中的每一个的预测使用寿命值;以及
虚拟器,其通信地耦接到所述分析引擎,所述虚拟器被配置为基于所述多个固态存储驱动器中的至少一个的所述预测使用寿命值与该固态存储驱动器的预定使用寿命值的比较结果,动态地调整该固态存储驱动器的可用逻辑存储容量。
13.根据权利要求12所述的系统,其中所述虚拟器被配置为,基于所述多个固态存储驱动器中的所述至少一个的所述预测使用寿命值大于该固态存储驱动器的所述预定使用寿命值的结果,增加所述多个固态存储驱动器中的所述至少一个的可用逻辑存储容量。
14.根据权利要求12所述的系统,其中所述虚拟器被进一步配置为,基于所述多个固态存储驱动器中的所述至少一个的所述预测使用寿命值不大于该固态存储驱动器的所述预定使用寿命值的结果,在所述多个固态存储驱动器当中重新分配所述多个固态存储驱动器中的所述至少一个中的至少一个命名空间。
15.根据权利要求12所述的系统,其中所述虚拟器被进一步配置为,基于所述多个固态存储驱动器中的至少一个的所述预测使用寿命值不大于该固态存储驱动器的所述预定使用寿命值的结果,减少该固态存储驱动器的可用逻辑存储容量。
16.根据权利要求12所述的系统,其中所述使用数据包括主机使用数据和介质使用数据。
17.根据权利要求16所述的系统,其中所述主机使用数据包括从主机写入的数据的字节数,所述介质使用数据包括被写入到物理存储器的数据的字节数。
18.根据权利要求12所述的系统,其中所述驱动状态监测器被进一步配置为从所述多个固态存储驱动器请求磨损数据,并且其中所述分析引擎被配置为基于所述使用数据和所述磨损数据,确定所述多个固态存储驱动器中的每一个的所述预测使用寿命值。
19.根据权利要求12所述的系统,其中所述分析引擎被配置为通过以下方式确定所述多个固态存储驱动器中的每一个的所述预测使用寿命值:
确定在一系列增加的时间索引值内该固态存储驱动器的预测原始误码率分布,直到所述预测原始误码率分布超过指示不可接受的性能的阈值;以及
当所述预测原始误码率超过所述阈值时,将该固态存储驱动器的所述预测使用寿命值定义为该固态存储驱动器的当前龄值加上所述时间索引的当前值。
20.根据权利要求19所述的系统,其中所述分析引擎被配置为,基于当前原始误码率分布和被预测为在预定的未来时间在该固态存储驱动器中已发生的编程/擦除周期数,确定所述预测原始误码率分布。
21.根据权利要求20所述的系统,其中所述分析引擎被配置为基于该固态存储驱动器的预测写入放大因子,确定被预测为在所述预定的未来时间已发生的所述编程/擦除周期数。
22.根据权利要求21所述的系统,其中所述分析引擎被配置为基于该固态存储驱动器的有效超额配置值,确定所述预测写入放大因子。
CN201910176334.7A 2018-03-08 2019-03-08 固态存储驱动器阵列中的工作负荷自适应超额配置 Active CN110245093B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310900231.7A CN116881177A (zh) 2018-03-08 2019-03-08 固态存储驱动器阵列中的工作负荷自适应超额配置

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/915,716 US11132133B2 (en) 2018-03-08 2018-03-08 Workload-adaptive overprovisioning in solid state storage drive arrays
US15/915716 2018-03-08

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN202310900231.7A Division CN116881177A (zh) 2018-03-08 2019-03-08 固态存储驱动器阵列中的工作负荷自适应超额配置

Publications (2)

Publication Number Publication Date
CN110245093A true CN110245093A (zh) 2019-09-17
CN110245093B CN110245093B (zh) 2023-07-25

Family

ID=67843997

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201910176334.7A Active CN110245093B (zh) 2018-03-08 2019-03-08 固态存储驱动器阵列中的工作负荷自适应超额配置
CN202310900231.7A Pending CN116881177A (zh) 2018-03-08 2019-03-08 固态存储驱动器阵列中的工作负荷自适应超额配置

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN202310900231.7A Pending CN116881177A (zh) 2018-03-08 2019-03-08 固态存储驱动器阵列中的工作负荷自适应超额配置

Country Status (4)

Country Link
US (2) US11132133B2 (zh)
JP (1) JP7123833B2 (zh)
CN (2) CN110245093B (zh)
TW (2) TWI740110B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111142796A (zh) * 2019-12-20 2020-05-12 北京浪潮数据技术有限公司 一种ssd寿命预测方法、装置、设备及可读存储介质

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110010518A1 (en) 2005-12-19 2011-01-13 Srinivas Kavuri Systems and Methods for Migrating Components in a Hierarchical Storage Network
US10275320B2 (en) 2015-06-26 2019-04-30 Commvault Systems, Inc. Incrementally accumulating in-process performance data and hierarchical reporting thereof for a data stream in a secondary copy operation
US10831591B2 (en) 2018-01-11 2020-11-10 Commvault Systems, Inc. Remedial action based on maintaining process awareness in data storage management
US11099743B2 (en) * 2018-06-29 2021-08-24 International Business Machines Corporation Determining when to replace a storage device using a machine learning module
US11119662B2 (en) 2018-06-29 2021-09-14 International Business Machines Corporation Determining when to perform a data integrity check of copies of a data set using a machine learning module
US11119850B2 (en) 2018-06-29 2021-09-14 International Business Machines Corporation Determining when to perform error checking of a storage unit by using a machine learning module
US10847245B2 (en) * 2018-08-24 2020-11-24 Intel Corporation Failure indicator predictor (FIP)
US20200192572A1 (en) 2018-12-14 2020-06-18 Commvault Systems, Inc. Disk usage growth prediction system
US10930365B2 (en) 2019-02-21 2021-02-23 Intel Corporation Artificial intelligence based monitoring of solid state drives and dual in-line memory modules
CN114008580A (zh) * 2019-06-14 2022-02-01 华为技术有限公司 一种硬盘控制方法及相关设备
US11768613B2 (en) * 2019-06-25 2023-09-26 Micron Technology, Inc. Aggregation and virtualization of solid state drives
US10942846B2 (en) 2019-06-25 2021-03-09 Micron Technology, Inc. Aggregated and virtualized solid state drives accessed via multiple logical address spaces
US11573708B2 (en) 2019-06-25 2023-02-07 Micron Technology, Inc. Fail-safe redundancy in aggregated and virtualized solid state drives
US10942881B2 (en) * 2019-06-25 2021-03-09 Micron Technology, Inc. Parallel operations in aggregated and virtualized solid state drives
US11513923B2 (en) 2019-06-25 2022-11-29 Micron Technology, Inc. Dynamic fail-safe redundancy in aggregated and virtualized solid state drives
US11762798B2 (en) * 2019-06-25 2023-09-19 Micron Technology, Inc. Aggregated and virtualized solid state drives with multiple host interfaces
US11055249B2 (en) 2019-06-25 2021-07-06 Micron Technology, Inc. Access optimization in aggregated and virtualized solid state drives
US11163482B2 (en) 2019-06-26 2021-11-02 International Business Machines Corporation Dynamic performance-class adjustment for storage drives
US11049570B2 (en) * 2019-06-26 2021-06-29 International Business Machines Corporation Dynamic writes-per-day adjustment for storage drives
US11137915B2 (en) * 2019-06-27 2021-10-05 International Business Machines Corporation Dynamic logical storage capacity adjustment for storage drives
US11256595B2 (en) * 2019-07-11 2022-02-22 Dell Products L.P. Predictive storage management system
US11150812B2 (en) * 2019-08-20 2021-10-19 Micron Technology, Inc. Predictive memory management
US11042322B2 (en) 2019-09-13 2021-06-22 Toshiba Memory Corporation SSD supporting low latency operation
TWI774255B (zh) * 2020-05-04 2022-08-11 威盛電子股份有限公司 橋接電路與電腦系統
CN113051206A (zh) 2020-05-04 2021-06-29 威盛电子股份有限公司 桥接电路与计算机系统
CN112000497B (zh) * 2020-08-20 2022-03-08 苏州浪潮智能科技有限公司 固态硬盘的寿命预测方法、装置及计算机可读存储介质
US11947806B2 (en) 2020-11-03 2024-04-02 Micron Technology, Inc. Life expectancy monitoring for memory devices
CN115620793A (zh) * 2021-07-12 2023-01-17 长鑫存储技术有限公司 一种半导体存储器及其上存储块的容量配置方法
WO2023020783A1 (en) * 2021-07-30 2023-02-23 Robert Bosch Gmbh A method to extend lifespan of an electronic control unit (ecu) and the ecu thereof
US20230067208A1 (en) * 2021-08-30 2023-03-02 Kioxia Corporation Workload-Adaptive Overprovisioning in Solid State Storage Drive Arrays
US20230195354A1 (en) * 2021-12-22 2023-06-22 Micron Technology, Inc. Adaptive scans of memory devices of a memory sub-system
CN116610249A (zh) * 2022-02-09 2023-08-18 华为云计算技术有限公司 一种ssd的规格参数的调节方法及相关产品

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103688248A (zh) * 2013-06-29 2014-03-26 华为技术有限公司 一种存储阵列的管理方法、装置和控制器
CN105824576A (zh) * 2015-01-23 2016-08-03 国际商业机器公司 用于准确预测使用寿命的去重跟踪方法和系统
CN106504794A (zh) * 2015-09-04 2017-03-15 Hgst荷兰公司 用于闪存装置的操作参数
CN107003939A (zh) * 2014-09-02 2017-08-01 桑迪士克科技有限责任公司 用于通过有条件地修整而减小存储设备的声明容量的过程和装置
CN107710140A (zh) * 2015-11-27 2018-02-16 株式会社日立制作所 存储系统

Family Cites Families (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7653778B2 (en) 2006-05-08 2010-01-26 Siliconsystems, Inc. Systems and methods for measuring the useful life of solid-state storage devices
WO2009124320A1 (en) * 2008-04-05 2009-10-08 Fusion Multisystems, Inc. Apparatus, system, and method for bad block remapping
US9720616B2 (en) * 2008-06-18 2017-08-01 Super Talent Technology, Corp. Data-retention controller/driver for stand-alone or hosted card reader, solid-state-drive (SSD), or super-enhanced-endurance SSD (SEED)
JP2010061578A (ja) 2008-09-05 2010-03-18 Jds:Kk 半導体記憶装置の使用限界予想解析用プログラム又はシステム
US9274714B2 (en) 2008-10-27 2016-03-01 Netapp, Inc. Method and system for managing storage capacity in a storage network
US8479080B1 (en) * 2009-07-12 2013-07-02 Apple Inc. Adaptive over-provisioning in memory systems
US8489966B2 (en) * 2010-01-08 2013-07-16 Ocz Technology Group Inc. Solid-state mass storage device and method for failure anticipation
US8464106B2 (en) * 2009-08-24 2013-06-11 Ocz Technology Group, Inc. Computer system with backup function and method therefor
US8214580B2 (en) * 2009-10-23 2012-07-03 International Business Machines Corporation Solid state drive with adjustable drive life and capacity
EP2549482B1 (en) 2011-07-22 2018-05-23 SanDisk Technologies LLC Apparatus, system and method for determining a configuration parameter for solid-state storage media
CN103176752A (zh) * 2012-07-02 2013-06-26 晶天电子(深圳)有限公司 带有耐用转换层及临时文件转移功能从而实现闪速存储器磨损降低的超耐用固态驱动器
US9141532B2 (en) * 2012-12-26 2015-09-22 Western Digital Technologies, Inc. Dynamic overprovisioning for data storage systems
US9804960B2 (en) * 2013-03-14 2017-10-31 Western Digital Technologies, Inc. Overprovision capacity in a data storage device
US9317367B2 (en) * 2013-08-01 2016-04-19 Globalfoundries Inc. Re-distributing high usage data in a raid solid state drive array
US10073630B2 (en) 2013-11-08 2018-09-11 Sandisk Technologies Llc Systems and methods for log coordination
US9619381B2 (en) 2013-12-24 2017-04-11 International Business Machines Corporation Collaborative health management in a storage system
US20150261451A1 (en) 2014-03-13 2015-09-17 International Business Machines Corporation Lifecycle management of solid state memory adaptors
US9348761B1 (en) 2014-06-30 2016-05-24 Emc Corporation Weighted-value consistent hashing for balancing device wear
US9569120B2 (en) 2014-08-04 2017-02-14 Nvmdurance Limited Adaptive flash tuning
JP6368789B2 (ja) 2014-09-26 2018-08-01 株式会社日立製作所 ストレージ装置及びその保守運用方式
US9678677B2 (en) * 2014-12-09 2017-06-13 Intel Corporation Determining adjustments to the spare space in a storage device unavailable to a user based on a current consumption profile of a storage device
JP6216897B2 (ja) 2015-01-20 2017-10-18 株式会社日立製作所 ストレージシステム
US9696935B2 (en) 2015-04-24 2017-07-04 Kabushiki Kaisha Toshiba Storage device that secures a block for a stream or namespace and system having the storage device
JPWO2016175028A1 (ja) 2015-04-28 2018-02-22 日本電気株式会社 情報処理システム、記憶制御装置、記憶制御方法および記憶制御プログラム
JP6403162B2 (ja) 2015-07-23 2018-10-10 東芝メモリ株式会社 メモリシステム
JP6554990B2 (ja) 2015-08-11 2019-08-07 富士通株式会社 ストレージ制御装置およびストレージ制御プログラム
US20170131947A1 (en) 2015-11-06 2017-05-11 Pho Hoang Data and collection methods to analyze life acceleration of SSD with real usages
US20170131948A1 (en) 2015-11-06 2017-05-11 Virtium Llc Visualization of usage impacts on solid state drive life acceleration
US9946483B2 (en) 2015-12-03 2018-04-17 Sandisk Technologies Llc Efficiently managing unmapped blocks to extend life of solid state drive with low over-provisioning
JP6523193B2 (ja) 2016-03-08 2019-05-29 東芝メモリ株式会社 ストレージシステム、情報処理システムおよび制御方法
US10055159B2 (en) 2016-06-20 2018-08-21 Samsung Electronics Co., Ltd. Morphic storage device
US10474371B1 (en) * 2016-06-30 2019-11-12 EMC IP Holding Company LLC Method and apparatus for SSD/flash device replacement policy
US10372606B2 (en) * 2016-07-29 2019-08-06 Samsung Electronics Co., Ltd. System and method for integrating overprovisioned memory devices
US10032488B1 (en) * 2016-12-29 2018-07-24 Sandisk Technologies Llc System and method of managing data in a non-volatile memory having a staging sub-drive
US20180275922A1 (en) * 2017-03-27 2018-09-27 Siamack Nemazie Solid State Disk with Consistent Latency
US10452536B2 (en) * 2017-06-12 2019-10-22 Western Digital Technologies, Inc. Dynamic management of garbage collection and overprovisioning for host stream storage

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103688248A (zh) * 2013-06-29 2014-03-26 华为技术有限公司 一种存储阵列的管理方法、装置和控制器
CN107003939A (zh) * 2014-09-02 2017-08-01 桑迪士克科技有限责任公司 用于通过有条件地修整而减小存储设备的声明容量的过程和装置
CN105824576A (zh) * 2015-01-23 2016-08-03 国际商业机器公司 用于准确预测使用寿命的去重跟踪方法和系统
CN106504794A (zh) * 2015-09-04 2017-03-15 Hgst荷兰公司 用于闪存装置的操作参数
CN107710140A (zh) * 2015-11-27 2018-02-16 株式会社日立制作所 存储系统

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111142796A (zh) * 2019-12-20 2020-05-12 北京浪潮数据技术有限公司 一种ssd寿命预测方法、装置、设备及可读存储介质

Also Published As

Publication number Publication date
CN116881177A (zh) 2023-10-13
US20220004327A1 (en) 2022-01-06
US20190278498A1 (en) 2019-09-12
JP2019169141A (ja) 2019-10-03
TWI803940B (zh) 2023-06-01
US11132133B2 (en) 2021-09-28
TW202213067A (zh) 2022-04-01
US11693568B2 (en) 2023-07-04
TWI740110B (zh) 2021-09-21
JP7123833B2 (ja) 2022-08-23
TW201945921A (zh) 2019-12-01
CN110245093B (zh) 2023-07-25

Similar Documents

Publication Publication Date Title
CN110245093A (zh) 固态存储驱动器阵列中的工作负荷自适应超额配置
US9298534B2 (en) Memory system and constructing method of logical block
US9864525B2 (en) Variable bit encoding per NAND flash cell to extend life of flash-based storage devices and preserve over-provisioning
US10922235B2 (en) Method and system for address table eviction management
US20170220269A1 (en) Variable Bit Encoding Per NAND Flash Cell to Improve Device Endurance and Extend Life of Flash-Based Storage Devices
US9552288B2 (en) Multi-tiered memory with different metadata levels
JP6286622B2 (ja) ストレージシステム
US11899952B2 (en) Lossless namespace metadata management system
CN104050097A (zh) 在具有不同的最小可寻址数据单元大小的非易失性存储器单元之间进行选择
JPWO2015008375A1 (ja) ストレージ装置および記憶制御方法
US10126970B2 (en) Paired metablocks in non-volatile storage device
US10997080B1 (en) Method and system for address table cache management based on correlation metric of first logical address and second logical address, wherein the correlation metric is incremented and decremented based on receive order of the first logical address and the second logical address
JP6320439B2 (ja) メモリ制御装置、ストレージ装置、ストレージ装置の制御プログラム、及び、ストレージ装置の制御方法
CN113924546A (zh) 非易失性存储器中的磨损感知块模式转换
CN115237351B (zh) Nand块动态重映射、读写命令处理方法及存储设备
WO2018167890A1 (ja) 計算機システム及び管理方法
US20230067208A1 (en) Workload-Adaptive Overprovisioning in Solid State Storage Drive Arrays
US20240012580A1 (en) Systems, methods, and devices for reclaim unit formation and selection in a storage device
CN110688056A (zh) Nvm组的存储介质替换
CN117369718A (zh) 在存储装置中形成和选择回收单元的系统、方法和装置
CN117369717A (zh) 用于存储设备中的数据放置的系统、方法和装置
CN113485641A (zh) 处理io命令的方法及其控制部件
CN113485948A (zh) Nvm坏块管理方法与控制部件
JP2014085794A (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