CN105824576B - 用于准确预测使用寿命的去重跟踪方法和系统 - Google Patents

用于准确预测使用寿命的去重跟踪方法和系统 Download PDF

Info

Publication number
CN105824576B
CN105824576B CN201610041898.6A CN201610041898A CN105824576B CN 105824576 B CN105824576 B CN 105824576B CN 201610041898 A CN201610041898 A CN 201610041898A CN 105824576 B CN105824576 B CN 105824576B
Authority
CN
China
Prior art keywords
duplicate removal
equipment
ssd
data
unit
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
Application number
CN201610041898.6A
Other languages
English (en)
Other versions
CN105824576A (zh
Inventor
冈萨雷斯 E·巴拉哈斯
S·E·哈灵顿
H·麦格雷戈
C·B·摩尔
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 CN105824576A publication Critical patent/CN105824576A/zh
Application granted granted Critical
Publication of CN105824576B publication Critical patent/CN105824576B/zh
Active 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/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
    • 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/0608Saving storage space on 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/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • 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/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • G06F3/0641De-duplication techniques
    • 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
    • G06F3/0649Lifecycle management
    • 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/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • 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

Landscapes

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

Abstract

本申请涉及用于准确预测使用寿命的去重跟踪方法和系统。对于配置有数据去重机制的固态驱动器(SSD)设备,通过在考虑被阻止的驱动器写入操作的情况下检查实际的驱动器写入操作来估计有用的剩余使用寿命,从而获得趋势信息以便将其应用于至少一个驱动器常量数据来预测所述SSD驱动器设备的有用的剩余使用寿命。

Description

用于准确预测使用寿命的去重跟踪方法和系统
技术领域
本发明一般涉及计算系统,并且更特别地涉及用于估计计算环境中的硬件使用寿命的各种实施例。
背景技术
现今,利用现代技术,大量的数据可存储在磁盘驱动器上;这些驱动器可以作为单独的实体存在,或者作为更大的存储环境内的更广泛的构成物的一部分而存在。很多时候,当向甚至是最小的环境(即单个驱动器)写入时,都会写入重复的数据。然后,只要满足特定度量,这些重复的内容就可以使用标准的去重技术来去重。另外,最近,固态驱动器(SSD)技术在现代存储领域中已经占据了相当多的立足点。
发明内容
各种去重技术可以用于对文件进行去重。例如,当在逐块的级别上分析时,文件可以对照另外的文件进行分析以确定该文件是否具有相同的大小、名称和内容。去重技术允许在较高的级别上消除存储环境中的重复信息,使得重复信息所占据的存储空间随后被释放,从而可能开放计算存储环境中的显著量的额外存储空间。在去重已经增加存储容量的同时,SSD技术已经提高了存储性能,因为减少了等待时间并且诸如写入和读取之类的存储操作花费更少量的时间来完成。
尽管SSD技术通常允许更快、更小、更安静和更耐用的设备,但是寿命的挑战是SSD技术内固有的;SSD设备基本上会随着使用时间而磨损。SSD设备的该挑战意味着,快闪存储体中的每个单元具有可对该存储体进行写入和擦除的有限次数。因此,如果把SSD部署到高写入量的输入/输出(I/O)环境(诸如较大的共享存储区域网(SAN))中,则驱动器将随着时间而开始磨损,并且在某些情况下迅速地磨损。
另外,SSD/NAND闪存技术中的每个进步已经用于减少各单元可忍耐的写入周期的数量。可以在诸如SSD之类的环境中采用数据去重,以便有效地限制SSD实际接收的写入的量。然而,当使用去重方法时,特定驱动器的写入计数或使用寿命可能会成为值得讨论的问题,因为准确地估计驱动器上究竟发生了什么样的物理操作变得更加困难。例如,可能会出现诸如下述的问题:“该驱动器接收了100%的它允许的写入、且应该准备更换吗?或者,因为实际的存储环境在技术上实现了5:1的数据去重,所以驱动器接收了20%的它允许的写入吗?”
随着NAND闪存技术的进步,数据去重变得越来越重要从而被结合使用;然而,由于跟踪SSD利用的传统方法变得更加复杂,所以引入了新的不确定性。这种不断增加的不确定性使得规划未来的费用以及管理例如具有数百或数千设备的大型数据中心成为更困难的尝试。因此,需要一种在实现有去重功能的情况下确定硬件使用寿命的准确方法。
因此,提供了用于预测硬件使用寿命的各种实施例。在一个实施例中,仅举例来说,提供了一种通过处理器预测这样的硬件使用寿命的方法。对于配置有数据去重机制的固态驱动器(SSD)设备,通过在考虑被阻止的驱动器写入操作的情况下检查实际的驱动器写入操作来估计有用的剩余使用寿命,从而获得趋势信息以便将其应用于至少一个驱动器常量数据来预测所述SSD驱动器设备的有用的剩余使用寿命。
提供了其他系统和计算机程序产品实施例,并且这些实施例提供了相关的优点。
附图说明
为了容易地理解本发明的优点,将参考附图中示出的具体实施例来提供上面简要描述的本发明的更具体的描述。应该理解的是,这些附图仅描绘本发明的典型实施例,因此不应被认为是对本发明的范围进行限制,将通过使用附图以额外的确切性和细节来描述和解释本发明,在附图中:
图1是示出用于执行数据去重和硬件使用寿命预测功能的硬件结构的示例性框图,本发明的各方面可以在所述硬件结构中得到实现。
图2是示出根据本发明的计算机系统中的数据存储系统的硬件结构的示例性框图,本发明的各方面可以在所述硬件结构中得到实现。
图3是示出用于预测硬件使用寿命的示例性方法的流程图,本发明的各方面同样可以在所述方法中得到实现;以及
图4是示出用于预测使用寿命的另一示例性方法的另一流程图,本发明的各方面同样可以在所述方法中得到实现。
具体实施方式
如先前提到的,尽管特别是当与去重技术相结合时,由于在各种存储环境中实现SSD设备而产生伴随的益处,诸如更快的存储操作、更小的占用面积、更安静的操作、更大的总带宽和更高的存储容量等,但是由于去重功能通过减少对设备执行的总存储操作而对硬件具有的物理影响,仍然存在着准确估计SSD硬件的使用寿命的挑战。
因为去重功能可以与经历去重的实际底层数据成正比地变化,所以在实现有去重功能的设备上产生的物理过程也可能会变化。此外,如本领域普通技术人员将理解的那样,一些种类的数据在本质上是高度地可去重的,而其他种类的数据不是这样。这些因素中的每一个、连同设备自身的物理约束、以及伴随着特定存储环境的其他因素会改变特定设备的使用寿命。
为了解决这些问题等挑战,在其他功能之中,所示出的实施例的机制定义和利用关键算法(key algorithm),其允许SSD设备在实现有数据去重机制时不仅使该设备到目前为止的总写入仍得到反映,而且使该设备的总使用寿命以高确定度得到估计。
当对数据进行去重时,对特定SSD设备的典型写入的大部分将不会发生。而是,插入指针来代替将要重写的数据,指向物理地存储有相同的数据的另一存储位置。从物理数据到指针的这种改变能够结合设备的平均使用而被考虑,以便根据所示出的实施例的机制来预测设备的实际使用寿命预期。
考虑以下实例。在实现有某种去重功能的特定设备中,达到了5:1的稳态去重比率。在这种情况下,一旦达到稳态,如果用户正在实现5:1的去重比率,则驱动器正在对该驱动器物理地进行写入操作的写入量是平均故障间隔时间(MTBF)当前正在预期的写入量的五分之一。为了补偿,所示出的实施例的机制引入这样的方法,在其他特征之中,该方法用于反映磁盘上的这种去重、并相应地调整使用寿命预测。
如将进一步描述的那样,所示出的实施例的机制实现了各种方法,以便准确地预测去重增强的SSD设备的使用寿命。首先,这些机制包括写入周期跟踪表格的使用。在一个实施例中,可以在每单元(per-cell)的基础上实现写入周期跟踪表格,使得每个单元(例如,4KB)的写入周期得到准确的反映。接着,对于跟踪表格中的每个分配的单位(allocatedunit,诸如额外的单元),相应地增大跟踪表格。此外,对于表格中所包括的每个单位(同样,例如,单元),包括相应的时间戳。
所示出的实施例的机制还实现了去重的跟踪表格。同样,在一个实施例中,可以在每单元的基础上实现去重的跟踪表格,使得每个单元的去重活动得到准确的反映。去重的跟踪表格用于存储去重的数据多少次与表格的特定单位(即,单元)相关联或者被识别为针对表格的特定单位(即,单元)。这样,去重的跟踪表格在每单位(per-unit)的基础上跟踪对该设备的去重的写入操作的频率。
对于跟踪表格的每个去重条目(deduplicated entry),可以包括相应的时间戳。此外,可以在逻辑上包括针对(由高度地可去重的和不可去重的数据产生的)不寻常的写入模式的尖峰检测(spike detection)。
在另一实施例中,可以使用援救单元(salvaged cell)跟踪操作,从而包括计数器系统以跟踪每个去重的单位写入(此处同样,例如,单元)。在又一实施例中,驱动器使用寿命的历史预测可以由该系统保留、并且与将进一步描述的当前预测信息进行比较。在一个实施例中,这种历史预测保留功能可以变化。预测活动可以是每小时获得且被保留例如最近的30天的信息,以及每日获得且被保留该设备的寿命的信息。另外,可以保留其他统计信息诸如设备已经被通电的小时数,以用于分析。
除了用于实际的和被阻止的写入(分别对应于有效的和去重的活动)的跟踪表格之外,还可以保留其他数据(诸如必要的驱动器常量,其描述设备自身的物理特性,以及可能地,该驱动器可应用于的环境的物理特性)。某些示例性驱动器常量可以包括制造商提供的单元耐久性评级,或者特定驱动器的总过度提供量(overprovision amount)。
使用先前描述的各个方面,所示出的实施例的机制具有不仅准确预测在所有时刻剩余的总写入量(即使去重功能处于活动状态),而且在实际使用情况的基于时间标准的数据分析中准确预测特定驱动器将持续多长时间的能力。通过将例如驱动器常量信息考虑在内,可以确定制造商从一开始保证多少驱动器写入。可以将实际驱动器写入表格与被阻止驱动器写入表格进行比较,以获得有关在任何给定的时间有多少实际的新驱动器单位(例如,单元)正在被分配到特定的驱动器上的清晰图像。
利用从比较各种跟踪表格获得的信息,趋势可以显现,该趋势现在可以应用于驱动器常量信息(可能连同其他信息)以确定驱动器的合理的剩余使用寿命。另外,可以在I/O活动时将过去的预测信息相互比较,以便帮助规划未来的活动。通过援救单元跟踪,用于损耗均衡的额外容量也可以被确定到准确的程度。
所示出的实施例的机制可以由操作系统级别的监测软件使用,或者可以构建到设备自身的固件中。如果在设备内被应用,这些机制还可以允许寿命信息和其他有用的计数器通过SMART数据而得到应用,所述SMART数据可以随后被应用在多种不同的环境中(包括被应用在数据中心级别的存储设备中)。
现在转向图1,其绘出计算系统环境的示例性架构10。在一个实施例中,架构10可以至少被实现为用于实现本发明的机制的系统的一部分。计算机系统10包括中央处理单元(CPU)12,其被连接到通信端口18和存储器件16。通信端口18与通信网络20通信。通信网络20和存储网络可以配置成与服务器(主机)24和存储系统通信,该存储系统可以包括存储设备14。存储系统可包括可以以独立磁盘冗余阵列(RAID)配置的硬盘驱动器(HDD)设备、固态设备(SSD)等。下面所描述的操作可以在位于系统10中或别处的存储设备14上执行,并且可以具有独立地工作和/或与其他CPU设备12相结合地工作的多个存储器件16。存储器件16可以包括诸如电可擦可编程只读存储器(EEPROM)之类的存储器或大量相关器件。存储器件16和存储设备14通过信号承载介质连接到CPU 12。另外,CPU 12通过通信端口18连接到通信网络20,该通信网络20具有附接的多个另外的计算机主机系统24。另外,存储器件16和CPU12可以被嵌入并包括在计算系统10的每个组件中。每个存储系统也可以包括单独和/或不同的存储器件16和CPU 12,它们结合在一起工作或者作为单独的存储器件16和/或CPU 12。
图2是示出可以在执行视频去重功能的总背景中使用的数据存储和去重系统的硬件结构的示例性框图200。其示出主机210、220、225,每个主机充当作为数据存储系统200的一部分的用于执行数据处理的中央处理单元。集群主机/节点(物理或虚拟设备)210、220和225可以是数据存储系统200中的用于实现本发明的目的的一个或多个新物理设备或逻辑设备。在一个实施例中,仅举例来说,数据存储系统200可以实现为 去重系统TS7650GTM,尽管本领域普通技术人员将认识到各种去重硬件和软件(单独地或组合起来)可以用于实现根据所示出的实施例的各方面的视频去重功能。此外,应注意的是,在期望把具有个体的(不同)编码解码器的两个视频流识别为相同视频的情况下,特定去重系统硬件和软件可在一个实施例中是有用的,并由此可被本领域普通技术人员选择。
网络连接260可以是光纤通道架构(fibre channel fabric)、光纤通道点对点链路、以太网架构或点对点链路上的光纤通道、FICON或ESCON I/O接口、任何其他I/O接口类型、无线网络、有线网络、LAN、WAN、异构网络、同构网络、公共网络(即,因特网)、私有网络、或上述的任何组合。主机210、220和225可以是本地的或者分布在一个或多个位置,且可以装备有针对存储控制器240的任何类型的光纤(或光纤通道)(图2中未示出)或网络适配器260,诸如光纤通道、FICON、ESCON、以太网、光纤、无线或同轴适配器。数据存储系统200相应地装备有适合的光纤(图2中未示出)或网络适配器260以进行通信。图2中绘出数据存储系统200包括存储控制器240以及集群主机210、220和225。集群主机210、220和225可以包括集群节点。
为了促进这里所描述的方法的更清晰的理解,存储控制器240在图2中被示为单个处理单元,包括微处理器242、系统存储器243和非易失性存储设备(“NVS”)216。应注意的是,在某些实施例中,存储控制器240由多个处理单元组成,每个处理单元具有其自己的处理器复合体和系统存储器,并且在数据存储系统200内通过专用网络互连。存储设备230(这里标记为230a、230b和230n)可以由(通过存储网络)连接到存储控制器240的一个或多个存储设备(诸如存储阵列)组成,其中一个或多个集群主机210、220和225通过网络260连接到每个存储控制器240。
在某些实施例中,存储设备230中所包括的设备可以以环形架构连接。存储控制器240管理存储设备230、并促进用于存储设备230的写入和读取请求的处理。存储控制器240的系统存储器243存储程序指令和数据,其中处理器242可以访问该程序指令和数据以用于执行本发明的功能和方法步骤,以便如这里所述执行和管理存储设备230。在一个实施例中,系统存储器243包括用于执行这里所描述的方法和操作的操作软件250、与该操作软件250相关联、或者与该操作软件250通信。如图2所示,系统存储器243还可以包括用于存储设备230的高速缓存245或与该高速缓存245通信,高速缓存245在这里也被称为“高速缓存存储器”、用于缓冲分别指代写入/读取请求及其相关联的数据的“写入数据”和“读取数据”。在一个实施例中,高速缓存245被分配到系统存储器243外部的设备中,而仍然保持可由微处理器242访问,并且可用于除了执行这里所描述的操作之外还提供针对数据损失的额外安全性。
在某些实施例中,高速缓存245利用易失性存储器和非易失性存储器实现,并且通过局部总线(图2中未示出)耦接到微处理器242以获得数据存储系统200的增强的性能。数据存储控制器中所包括的NVS 216可由微处理器242访问,并且用于为其他附图中所描述的本发明的操作和执行提供额外的支持。NVS 216也可以被称为“持久”高速缓存或“高速缓存存储器”,并且利用非易失性存储器实现,所述非易失性存储器可以或者可以不利用外部电源来保持存储在其中的数据。为了适合于完成本发明的目标的任何目的,NVS可以存储在高速缓存245中并与高速缓存245一起被存储。在某些实施例中,备用电源(图2中未示出)诸如电池向NVS 216供应充分的电力以便在数据存储系统200丢失电源的情况下保持存储在其中的数据。在某些实施例中,NVS 216的容量小于或等于高速缓存245的总容量。
存储设备230在物理上可以由一个或多个存储设备(诸如存储阵列)组成。存储阵列是逻辑上的一组个体存储设备诸如硬盘。在某些实施例中,存储设备230由JBOD(简单磁盘捆绑)阵列或RAID(独立磁盘冗余阵列)阵列组成。一批物理存储阵列可以被进一步组合以形成阵列组(rank),其将物理存储设备与逻辑配置分离。一阵列组中的存储空间可以被分配到多个逻辑卷中,其中逻辑卷定义写入/读取请求中指定的存储位置。
在一个实施例中,仅举例来说,图2中所示的存储系统可以包括逻辑卷或简称为“卷”,其可以具有不同种类的分配。存储设备230a、230b和230n被示为数据存储系统200中的阵列组,并且在这里被称为阵列组230a、230b和230n。阵列组可以在数据存储系统200的本地,或者可以位于物理上遥远的位置。换句话说,本地存储控制器可以与远程存储控制器连接并管理遥远位置处的存储设备。阵列组230a被示为配置有两个完整卷234和236,以及一个部分卷232a。阵列组230b被示为具有另一部分卷232b。因此,卷232被分配在阵列组230a和230b上。阵列组230n被示为完全分配给卷238—即,阵列组230n指的是用于卷238的整个物理存储设备。从上面的实例将理解的是,阵列组可以配置成包括一个或多个部分和/或完整的卷。卷和阵列组可以进一步被划分成所谓的“轨道”,其代表固定存储块。因此,轨道与给定的卷相关联、且可以被赋予给定的阵列组。
存储控制器240可以包括写入周期单元跟踪表格255、援救单元跟踪模块258、分析模块259、去重单元跟踪表格260和使用寿命跟踪模块270。如图所示,写入周期单元跟踪表格255可以包括条目262和264。类似地,去重单元跟踪表格260可以包括条目266和268,如图所示。
写入周期单元跟踪表格255、援救单元跟踪模块258、分析模块259、去重单元跟踪表格260和使用寿命跟踪模块270可以与存储控制器240、主机210、220、225和存储设备230中的每个组件相结合地工作。写入周期单元跟踪表格255、援救单元跟踪模块258、分析模块259、去重单元跟踪表格260和使用寿命跟踪模块270可以在结构上或逻辑上是一个完整的模块,或者可以与其他个体模块相关联和/或与其他个体模块一起被包括。写入周期单元跟踪表格255、援救单元跟踪模块258、分析模块259、去重单元跟踪表格260和使用寿命跟踪模块270也可以位于高速缓存245或其他组件中。
如将进一步描述的那样,写入周期跟踪表格255、援救单元跟踪模块258、分析模块259、去重单元跟踪表格260和使用寿命跟踪模块270可以单独地和/或共同地执行本发明的各个方面。例如,写入周期跟踪表格255可以执行与维护和跟踪表格255中的特定驱动器的条目262和264相关的各种任务,如前所述。去重单元跟踪表格260可以通过维护去重条目266和268,而按照与写入周期单元跟踪表格255相似的方式工作,从而跟踪被阻止的写入,同样如前所述。分析模块259可以应用分析,以识别趋势、并使得与特定驱动器或驱动器的环境有关的诊断、统计、环境、历史和其他信息相关联,以生成关于正在考虑的驱动器的预测信息。援救单元跟踪模块258可以实现援救单元跟踪操作,如前所述。最后,使用寿命跟踪模块270可以实现各种功能,诸如保留与特定驱动器有关的历史预测信息或者例如总通电小时数。
存储控制器240包括:用于控制针对主机210、220、225的光纤通道协议的控制开关241,用于控制所有存储控制器240的微处理器242,存储用于控制存储控制器240的操作的微程序(操作软件)250的非易失性控制存储器243,用于控制的数据,用于暂时存储(缓冲)数据的高速缓存245,以及用于辅助高速缓存245读取和写入数据的缓冲器244,对用于控制去往或来自存储设备230的数据传输的协议进行控制的控制开关241,数据去重模块255,基础块(base-block)生成模块257,音频波形模块258,以及可在其中设定信息的相似性搜索模块259。多个缓冲器244可以由本发明实现,以辅助此处描述的操作。在一个实施例中,集群主机/节点210、220、225和存储控制器240通过作为接口的网络适配器(这可以是光纤通道)260(即,通过至少一个被称为“架构(fabric)”的开关)被连接。
现在转向图3,其绘出说明用于生成计算环境中的硬件的使用寿命预测信息的示例性方法300的流程图。方法300开始(步骤302)。对于配置有数据去重机制的一个或多个SSD,通过在考虑被阻止的驱动器写入操作(通过检查去重单元跟踪表格而实现)的情况下检查实际的驱动器写入操作(类似地通过检查写入单元跟踪表格而实现),来估计有用的剩余使用寿命(步骤304)。在有用的剩余使用寿命的估计之后,方法300获得趋势信息以便将其应用于驱动器常量数据来准确地预测SSD驱动器设备的有用的剩余使用寿命(步骤306)。然后,方法300结束(步骤306)。
下面的图4是绘出用于预测计算环境中的各种硬件的有用的剩余使用寿命的示例性方法400的另一流程图,此处同样是根据所示出的实施例的各个方面。在所描绘的实施例中,方法400被描述为应用于特定SSD内的各个单独的单元单位(cell unit),尽管本领域普通技术人员将理解的是,方法400也可以修改成用于如在SSD设备和/或其他硬件中发现的其他存储单位。
方法400开始(步骤402)于实现用于反映SSD设备中的每个单位的写入周期的SSD单位(例如,单元)跟踪表格(步骤404)。作为随后的步骤,方法400对于每个分配的额外的单元,增加写入周期单元跟踪表格的大小(步骤406)。接着,对于跟踪表格中所包括的每个单元,实现相应的时间戳(步骤408)。
在随后的步骤410中,获得每单元写入周期跟踪信息。然后实现去重单元跟踪表格,其存储去重的数据被识别为针对SSD设备中的特定单元的次数(步骤412)。然后,保存在驱动器处测量的去重的写入操作的频率以对其进行跟踪(步骤414)。然后对于跟踪表格中所包括的每个单元,实现相应的时间戳(步骤416)。
移动到步骤418,对于不寻常的写入模式诸如尖峰,检测和记录所述写入模式(高度地和非高度地可去重的数据的两种情形,同样如前所述)。然后,获得去重的单元跟踪信息(步骤420)。然后,对照被阻止的写入来检查当前的实际写入(步骤422),如前所述。还检查任何先前的预测历史,并且可能地在考虑实际的写入与阻止的写入的对比情况的检查结果的情况下进行检查(步骤424),如前所述。最后,在考虑必要的驱动器常量的情况下分析所有获得的信息,以获得当前的预测信息(步骤426)。然后,方法400结束(步骤428)。
本发明可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本发明的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本发明操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本发明的各个方面。
这里参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

Claims (14)

1.一种用于通过处理器设备预测硬件使用寿命的方法,包括:
对于配置有数据去重机制的固态驱动器SSD设备,实现用于反映所述SSD设备中的每个单元的写入周期的跟踪表格,实现去重单元跟踪表格,其存储去重的数据被识别为针对所述SSD设备中的特定单元的次数,通过比较写入周期的跟踪表格和去重单元跟踪表格确定在给定的时间有多少新驱动器单元被分配到特定的驱动器上的方式来获得趋势信息,将趋势信息应用于至少一个驱动器常量数据来预测所述SSD驱动器设备的有用的剩余使用寿命。
2.如权利要求1所述的方法,还包括:检查在先前的时间获得的所述SSD驱动器设备的有用的剩余使用寿命的预测。
3.如权利要求2所述的方法,还包括:将所述SSD驱动器设备的有用的剩余使用寿命的先前预测与所述SSD驱动器设备的当前预测进行比较。
4.如权利要求1所述的方法,还包括:使用援救单元跟踪操作来预测用于所述SSD驱动器设备的损耗均衡的额外容量。
5.如权利要求1所述的方法,还包括执行下述中的至少一个:
对于每个分配的额外的单元,增加所述跟踪表格的大小,和
对于所述跟踪表格中所包括的每个单元,实现相应的时间戳。
6.如权利要求1所述的方法,还包括执行下述中的至少一个:
跟踪去重的写入操作的频率,
对于所述去重单元跟踪表格的每个去重条目,实现相应的时间戳,和
对于不寻常的写入模式,检测被确定为高度地可去重的数据和被确定为高度地不可去重的数据的尖峰。
7.如权利要求4所述的方法,还包括:依据所述援救单元跟踪操作的使用,实现用于跟踪所述SSD设备中的每个去重的单元写入的计数器系统。
8.一种用于预测硬件使用寿命的系统,包括:
处理器,其对于配置有数据去重机制的固态驱动器SSD设备,实现用于反映所述SSD设备中的每个单元的写入周期的跟踪表格,实现去重单元跟踪表格,其存储去重的数据被识别为针对所述SSD设备中的特定单元的次数,通过比较写入周期的跟踪表格和去重单元跟踪表格确定在给定的时间有多少新驱动器单元被分配到特定的驱动器上的方式来获得趋势信息,将所述趋势信息应用于至少一个驱动器常量数据来预测所述SSD驱动器设备的有用的剩余使用寿命。
9.如权利要求8所述的系统,其中所述处理器检查在先前的时间获得的所述SSD驱动器设备的有用的剩余使用寿命的预测。
10.如权利要求9所述的系统,其中所述处理器将所述SSD驱动器设备的有用的剩余使用寿命的先前预测与所述SSD驱动器设备的当前预测进行比较。
11.如权利要求8所述的系统,其中所述处理器使用援救单元跟踪操作来预测用于所述SSD驱动器设备的损耗均衡的额外容量。
12.如权利要求8所述的系统,其中所述处理器执行下述中的至少一个:
对于每个分配的额外的单元,增加所述跟踪表格的大小,和
对于所述跟踪表格中所包括的每个单元,实现相应的时间戳。
13.如权利要求8所述的系统,其中所述处理器执行下述中的至少一个:
跟踪去重的写入操作的频率,
对于所述去重单元跟踪表格的每个去重条目,实现相应的时间戳,和
对于不寻常的写入模式,检测被确定为高度地可去重的数据和被确定为高度地不可去重的数据的尖峰。
14.如权利要求11所述的系统,其中依据所述援救单元跟踪操作的使用,所述处理器实现用于跟踪所述SSD设备中的每个去重的单元写入的计数器系统。
CN201610041898.6A 2015-01-23 2016-01-21 用于准确预测使用寿命的去重跟踪方法和系统 Active CN105824576B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/603706 2015-01-23
US14/603,706 US9372628B1 (en) 2015-01-23 2015-01-23 Deduplication tracking for accurate lifespan prediction

Publications (2)

Publication Number Publication Date
CN105824576A CN105824576A (zh) 2016-08-03
CN105824576B true CN105824576B (zh) 2018-12-14

Family

ID=55445947

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610041898.6A Active CN105824576B (zh) 2015-01-23 2016-01-21 用于准确预测使用寿命的去重跟踪方法和系统

Country Status (3)

Country Link
US (2) US9372628B1 (zh)
CN (1) CN105824576B (zh)
GB (1) GB2535854B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106886485B (zh) * 2017-02-28 2020-10-09 深圳市华傲数据技术有限公司 系统容量分析预测方法及装置
CN107273061A (zh) * 2017-07-12 2017-10-20 郑州云海信息技术有限公司 一种固态硬盘创建多namespace的方法及系统
US11132133B2 (en) * 2018-03-08 2021-09-28 Toshiba Memory Corporation Workload-adaptive overprovisioning in solid state storage drive arrays
CN109799957B (zh) * 2019-01-08 2022-02-18 郑州云海信息技术有限公司 一种基于云计算平台的机械硬盘寿命预警方法和系统
CN109918283A (zh) * 2019-03-20 2019-06-21 浪潮商用机器有限公司 固态硬盘使用寿命可视化方法、装置、电子设备及介质
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

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103473266A (zh) * 2013-08-09 2013-12-25 记忆科技(深圳)有限公司 固态硬盘及其删除重复数据的方法
CN103559115A (zh) * 2013-09-29 2014-02-05 记忆科技(深圳)有限公司 基于smart的ssd智能监控系统

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7747813B2 (en) 2006-11-24 2010-06-29 Sandforce, Inc. Multi-memory device system and method for managing a lifetime thereof
US7903486B2 (en) 2007-11-19 2011-03-08 Sandforce, Inc. System, method, and computer program product for increasing a lifetime of a plurality of blocks of memory
US8463983B2 (en) 2009-09-15 2013-06-11 International Business Machines Corporation Container marker scheme for reducing write amplification in solid state devices
US8700841B2 (en) * 2010-04-19 2014-04-15 International Business Machines Corporation Sub-LUN input/output profiling for SSD devices
JP5445682B2 (ja) 2010-09-09 2014-03-19 日本電気株式会社 ストレージシステム
US9195588B2 (en) * 2010-11-02 2015-11-24 Hewlett-Packard Development Company, L.P. Solid-state disk (SSD) management
US9104326B2 (en) 2010-11-15 2015-08-11 Emc Corporation Scalable block data storage using content addressing
JP6136460B2 (ja) * 2013-03-28 2017-05-31 富士通株式会社 情報処理装置、情報処理装置の制御プログラムおよび情報処理装置の制御方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103473266A (zh) * 2013-08-09 2013-12-25 记忆科技(深圳)有限公司 固态硬盘及其删除重复数据的方法
CN103559115A (zh) * 2013-09-29 2014-02-05 记忆科技(深圳)有限公司 基于smart的ssd智能监控系统

Also Published As

Publication number Publication date
US9495106B2 (en) 2016-11-15
CN105824576A (zh) 2016-08-03
US9372628B1 (en) 2016-06-21
GB2535854A (en) 2016-08-31
GB201600598D0 (en) 2016-02-24
US20160266820A1 (en) 2016-09-15
GB2535854B (en) 2017-03-08

Similar Documents

Publication Publication Date Title
CN105824576B (zh) 用于准确预测使用寿命的去重跟踪方法和系统
US11287974B2 (en) Systems and methods for storage modeling and costing
US10061702B2 (en) Predictive analytics for storage tiering and caching
US11256595B2 (en) Predictive storage management system
US20150205528A1 (en) Enhancing tiering storage performance
US11138160B2 (en) Application performance using multidimensional predictive algorithm for automated tiering mechanisms
US11461242B2 (en) Integration of application indicated minimum time to cache and maximum time to cache to least recently used track demoting schemes in a cache management system of a storage controller
US8261018B2 (en) Managing data storage systems
US10977132B2 (en) Selective placement and adaptive backups for point-in-time database recovery
US11137926B1 (en) Systems and methods for automatic storage tiering
US9804993B1 (en) Data volume placement techniques
US10067704B2 (en) Method for optimizing storage configuration for future demand and system thereof
US10146449B1 (en) Purchase planning for data storage processing systems
US20210255964A1 (en) Integration of application indicated minimum time to cache for a two-tiered cache management mechanism
CN112748860B (zh) 用于存储管理的方法、电子设备和计算机程序产品
US11210237B2 (en) Integration of application indicated minimum and maximum time to cache for a two-tiered cache management mechanism
AU2021256526B2 (en) Determination of a type of destage to perform based on preference between performance of operations and preservation of drive life

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant