基于设备群体数据完整性共享的系统级纠错编码分配技术方案

技术编号:24694029 阅读:63 留言:0更新日期:2020-06-27 12:50
数据存储系统的动态可扩展纠错编码(ECC)方案涉及系统控制器,该系统控制器基于从数据存储设备阵列访问的操作数据完整性信息来预测重建要存储在特定数据存储设备上的数据所需的ECC的类型和/或量。因此,除非需要,否则不需要分配冗余。可根据共同特征将设备逻辑上分组为子集,由此针对子集中的设备进行的预测可基于来自该子集以及来自其他相关子集的数据完整性信息。

System level error correction code allocation based on data integrity sharing of device group

【技术实现步骤摘要】
【国外来华专利技术】基于设备群体数据完整性共享的系统级纠错编码分配
本专利技术的实施方案可整体涉及数据存储系统,并且更具体地讲,涉及基于来自系统存储设备的数据完整性信息的纠错编码(ECC)。
技术介绍
存在对高容量数字数据存储系统的商业需求,其中多个数据存储设备(DSD)容纳在共同的壳体中。数据存储系统通常包括容纳多个搁架的大型壳体,DSD的行安装在该搁架上。历史上,存储系统具有严格自主独立设计的错误冗余方案。这导致整个系统中的重叠和效率降低。例如,设备可以分配奇偶校验以保护来自任何数据的任何成分的任何错误,而不管这是否是需要的或者主机是否可能需要那些数据。因此,设备上的这种纠错编码会增加系统的故障占用面积(即,最小错误事件)、调用的延迟和成本。本节中描述的任何方法是可以实行的方法,但不一定是先前已经设想到或实行过的方法。因此,除非另有说明,否则不应认为本节所述的任何方法仅仅因为包含在本节中而成为现有技术。附图说明实施方案通过示例而非限制的方式在附图中示出,在附图中相同的附图标记指代相似的元件并且其中:图1A是根据一个实施方案的示出硬盘驱动器(HDD)的平面图;图1B是根据一个实施方案的示出固态驱动器(SSD)的框图;图2为根据一个实施方案的示出数据存储系统的透视图;图3是根据一个实施方案的示出数据存储系统架构的框图;并且图4是根据一个实施方案的示出用于基于设备数据完整性信息来分配系统级纠错编码(ECC)的方法的流程图。具体实施方式本专利技术描述了基于来自系统存储设备的数据完整性信息的纠错编码(ECC)的方法。在以下描述中,出于解释的目的,阐述了许多具体细节,以便提供对本文所述的本专利技术实施方案的透彻理解。然而,将显而易见的是,本文所述的本专利技术的实施方案可以在没有这些具体细节的情况下实践。在其他情况下,熟知的结构和装置以框图的形式示出,以便避免不必要地模糊本文所述的本专利技术的实施方案。数据存储系统存在对高容量数字数据存储系统的商业需求,其中多个数据存储设备(DSD)容纳在共同的壳体中。数据存储系统通常包括容纳多个搁架的大型壳体,DSD的行安装在该搁架上。图2为根据实施方案的示出数据存储系统的透视图。数据存储系统200包括系统壳体202(或“支架202”),多个数据存储系统托盘204容纳在该系统壳体中。每个托盘204可被放置或滑动到支架202内的对应狭槽中。支架202还容纳系统控制器,并且还可容纳开关、存储服务器、应用服务器、电源、冷却风扇等。图3是根据一个实施方案的示出数据存储系统架构的框图。示例性架构300示出了包括多个数据存储设备(DSD)304a(DSD1)、304b(DSD2)和304n(DSDn)的数据存储系统200,其中n表示可因具体实施而异的任意数量的DSD。每个DSD304a-304n根据对应的通信协议323经由通信接口322处于系统控制器312的控制下并与该系统控制器通信。每个DSD304a、304b、304n包括由包括DSDECC模块310的相应DSD控制器308控制的对应非易失性存储器(NVM)306。每个DSDECC模块310(其可以是例如对应片上系统(SoC)的组成部分,诸如HDD上下文中的数据信道或硬盘控制器的一部分)能够使用诸如本领域已知的那些程序在数据磁道级执行“磁道ECC”处理,即ECC编码/解码。系统控制器312包括存储器313、系统ECC模块314,该模块包括ECC编码器316、ECC解码器318和ECC规则引擎320,其中每一个表示涉及ECC奇偶校验编码和解码的过程功能,如本文其他地方更详细描述的。在本文中被描述为由系统控制器312或DSD304a-304n执行或可执行的处理、功能、过程、动作、方法步骤等可包括通过执行存储在一个或多个存储器单元中的一个或多个指令序列来执行,并且当由一个或多个处理器执行时,导致此类性能。系统控制器312可以硬件、软件和固件的任何形式和/或组合来实施。例如,并且根据一个实施方案,系统控制器312包括专用集成电路(ASIC),该专用集成电路包括用于存储此类指令的至少一个存储器单元(诸如固件、作为非限制性示例)和用于执行此类指令的至少一个处理器,使得ECC奇偶校验分配、编码、解码和应用程序能够通过将损坏或丢失的数据转换为其原始形式作为写入请求来恢复损坏的存储数据。数据存储系统200可与主机350通信地耦接,主机350可实施在可执行代码可在其上执行的硬件机器(对于非限制性示例,计算机或硬件服务器,等等),或作为可由一个或多个处理器(对于非限制性示例,软件服务器诸如数据库服务器、应用程序服务器、媒体服务器等)执行的软件指令。主机350通常表示数据存储系统200的客户端,并且具有向数据存储系统200提出读取和写入请求的能力。需注意,系统控制器312也可被称为“主机”,因为该术语通常参考对数据存储设备或设备阵列进行I/O调用的任何设备来使用。引言如本文所使用的,术语“基本上”应当理解为描述大部分或差不多被结构化、配置、定尺寸等的特征,但在实践中制造公差等引起结构、构型、尺寸等并不总是或一定如所述的那样精确的情形。例如,将结构描述为“基本上竖直的”将为该术语赋予其普通含义,使得侧壁对于所有实用目的均为竖直的,但可能并不精确地处于90度。纠错编码(ECC)(或“纠错码”、“纠错码”等)通常是指用于校正(即,重建或“恢复”)损坏数据的方案、技术、过程、编码/解码等。损坏数据可能是数据的不正确传输、或在数据存储(即,写入)到非易失性存储器中之后发生的不需要的位翻转(位错误)、或在数据存储到非易失性存储器诸如DSD304a、304b、304n的NVM306(图3)之后发生的不需要的位擦除的结果。ECC通常通过向相关联的数据添加或追加额外的编码数据(有时通常称为“奇偶校验”、“奇偶校验数据”、“奇偶校验信息”、“奇偶校验位”等)来实现,使得即使在数据中引入多个错误(直到使用奇偶校验的能力)时,也可以恢复数据。例如,“写入验证”功能可用于某些数据存储上下文中以确保数据可靠性(所谓的“数据完整性”),但可通过降低写入命令吞吐量而不利地影响系统性能。因此,保持数据完整性具有其自己的权衡和挑战,并且可以考虑提交资源到增强ECC方案,以恢复损坏的数据,而不是在存储设备提交资源到数据完整性。换句话讲,人们可能愿意在存储设备处(例如,在DSD304a-304n(图3)的非易失性存储器306处)接受较少的数据完整性,以便提高性能,同时进一步依赖于经由更独立、智能和特定场景的ECC方案恢复损坏数据。智能系统级纠错编码如所讨论的,历史存储系统具有严格自主独立设计的错误冗余方案,这可导致整个系统的重叠和效率降低。相比之下,分布在整个存储系统中的不同存储设备处和之间的数据完整性的扩展整体视图可导致更有效和更可靠的整体存储系统。数据存储设备,诸如构成数据存储系统200(图2和图3)的DSD304a-304n(图3),可以被认为是可能影响与每个DSD相关联的数据本文档来自技高网...

【技术保护点】
1.一种方法,包括:/n构成数据存储系统的多个数据存储设备向所述数据存储系统的控制器电路提供对相应数据完整性信息的访问;/n所述控制器电路至少部分地基于来自所述多个数据存储设备的至少一个子集的所述数据完整性信息,确定对应于要存储在所述多个数据存储设备中的一个或多个数据存储设备上的数据的纠错编码(ECC)的类型和/或量,以抑制读取操作失败;/n所述控制器电路计算所确定的ECC;以及/n存储数据并且将所述对应计算的ECC存储在所述多个数据存储设备中的一个或多个数据存储设备上。/n

【技术特征摘要】
【国外来华专利技术】20180627 US 16/020,8531.一种方法,包括:
构成数据存储系统的多个数据存储设备向所述数据存储系统的控制器电路提供对相应数据完整性信息的访问;
所述控制器电路至少部分地基于来自所述多个数据存储设备的至少一个子集的所述数据完整性信息,确定对应于要存储在所述多个数据存储设备中的一个或多个数据存储设备上的数据的纠错编码(ECC)的类型和/或量,以抑制读取操作失败;
所述控制器电路计算所确定的ECC;以及
存储数据并且将所述对应计算的ECC存储在所述多个数据存储设备中的一个或多个数据存储设备上。


2.根据权利要求1所述的方法,其中响应于来自客户端的写入请求来执行所述确定。


3.根据权利要求1所述的方法,其中所述确定作为后台进程来执行。


4.根据权利要求1所述的方法,还包括:
响应于来自客户端的数据读取请求,所述控制器电路请求来自所述请求数据存储在其上的所述数据存储设备中的一者或多者的读取操作;
所述一个或多个数据存储设备向所述控制器电路返回所述请求数据和所述对应ECC;以及
所述控制器电路解码所述ECC。


5.根据权利要求1所述的方法,其中:
所述多个数据存储设备根据一个或多个共同特征在逻辑上被分组为子集;并且
数据存储设备的特定子集的确定基于来自所述特定子集的数据完整性信息。


6.根据权利要求1所述的方法,其中:
所述多个数据存储设备根据一个或多个共同特征在逻辑上被分组为子集;并且
数据存储设备的特定子集的所述确定基于来自所述特定子集和来自数据存储设备的一个或多个附加的子集的数据完整性信息。


7.根据权利要求1所述的方法,其中来自数据存储设备的所述数据完整性信息表征对应于所述数据存储设备的信号完整性。


8.根据权利要求7所述的方法,其中来自数据存储设备的所述数据完整性信息包括对应于所述数据存储设备的存储介质的至少一部分的本地迭代计数器。


9.根据权利要求7所述的方法,其中来自数据存储设备的所述数据完整性信息包括表征与所述数据存储设备的存储介质的至少一部分相对应的相邻磁道干扰的度量。


10.根据权利要求1所述的方法,其中所述确定还基于要存储在所述一个或多个数据存储设备上的所述数据的时间关键性。


11.根据权利要求1所述的方法,其中所述确定还基于对应于要存储在所述一个或多个数据存储设备上的所述数据的其他纠错编码的可用性。


12.根据权利要求1所述的方法,其中所述确定还基于确保所述数据存储系统在其指定寿命周期期间的操作可用性。


13.根据权利要求1所述的方法,其中:
所述ECC的存储存储在逻辑上与较大数据扇区组的特定数量的硬盘驱动器数据扇区相关联的ECC磁道上;并且
所述ECC磁道是与存储对应数据的磁道不同的磁道。


14.根据权利要求1所述的方法,其中所述提供对所述相应数据完整性信息的访问包括所述多个数据存储设备中的一个或多个向所述控制器电路报告相应数据完整性信息。


15.根据权利要求1所述的方法,其中所述提供对所述相应数据完整性信息的访问包括所述控制器电路读取存储在所述多个数据存储设备中的一个或多个数据存储设备上的数据完整性信息。


16.根据权利要求1所述的方法,其中所述存储包括将所计算的ECC存储在其上存储有所述对应数据的所述数据存储设备上。


17.根据权利要求1所述的方法,其中所述存储包括将所述数据存储在第一数据存储设备上以及将所述对应的计算EC...

【专利技术属性】
技术研发人员:B·兰贝茨R·皮特T·利伯R·M·莱斯特Z·波波夫
申请(专利权)人:西部数据技术公司
类型:发明
国别省市:美国;US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1