CN106104491A - 具有数据保护机制的计算系统及其操作方法 - Google Patents
具有数据保护机制的计算系统及其操作方法 Download PDFInfo
- Publication number
- CN106104491A CN106104491A CN201580011315.9A CN201580011315A CN106104491A CN 106104491 A CN106104491 A CN 106104491A CN 201580011315 A CN201580011315 A CN 201580011315A CN 106104491 A CN106104491 A CN 106104491A
- Authority
- CN
- China
- Prior art keywords
- sector
- data
- protection
- page
- described data
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1012—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using codes or arrangements adapted for a specific type of error
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1076—Parity data used in redundant arrays of independent storages, e.g. in RAID systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
一种计算系统,包括:包括数据页的数据块,并且每个所述数据页包括数据扇区,并且每个数据扇区包括扇区数据和扇区冗余;耦连到所述数据块的存储引擎,配置为:在所述数据页上应用第一保护,在所述数据扇区上应用第二保护,以及当使用扇区冗余的扇区校正失效时使用第一保护和第二保护校正至少一个所述数据扇区。
Description
技术领域
本发明的实施例总地涉及计算系统,且更具体地涉及一种用于数据保护的系统。
发明背景
现代消费者和工业电子,特别是诸如图形计算系统、电视、投影仪、移动电话、便携式数字助理、以及组合装置之类的装置,正提供水平不断提高的功能以支持现代生活,包括三维显示服务。现有技术的研究和开发可采用大量不同的方向。随着数据变得更加普遍,现有的和新的系统需要交互操作和提供数据可靠性。
因此,仍然存在着对具有数据保护机制的计算系统的需要,以提供更高的数据可靠性和恢复。考虑到不断增长的商业竞争压力,以及增长的消费期望,以及市场中不断缩小的有意义的产品差异化的机会,找出这些问题的答案变得越来越重要。此外,降低成本、提高效率和性能,以及面对竞争压力的需要为找出这些问题的答案的关键的必要性增加了甚至更大的紧迫性。
这些问题的解决方案长期以来被寻求,但是之前的发展尚未教导或建议任何解决方案,并且因此,本领域的技术人员一直没找到这些问题的解决方案。
发明内容
本发明的一个实施例提供了一种装置,包括数据块,所述数据块包括数据页,并且每个所述数据页包括数据扇区,并且每个所述数据扇区包括扇区数据和扇区冗余;存储引擎,耦连到所述数据块,配置为:在所述数据页上应用第一保护,在所述数据扇区上应用第二保护,以及当使用扇区冗余的扇区校正失效时使用第一保护和第二保护校正至少一个所述数据扇区。
本发明的一个实施例提供了一种方法,包括提供包含数据页的数据块,并且每个数据页包括数据扇区,并且每个数据扇区包括扇区数据和扇区冗余;在所述数据页上应用第一保护;在所述数据扇区上应用第二保护;以及当使用扇区冗余的扇区校正失效时使用第一保护和第二保护校正至少一个所述数据扇区。
本发明的一个实施例提供了一种非暂时性的计算机可读介质,包括:提供包含数据页的数据块,并且每个数据页包括数据扇区,并且每个数据扇区包括扇区数据和扇区冗余;在所述数据页上应用第一保护;在所述数据扇区上应用第二保护;以及当使用扇区冗余的扇区校正失效时使用第一保护和第二保护校正至少一个所述数据扇区。
本发明的某些实施例还有其他的步骤或元件,其附加于或替代前文所提到的。通过参照附图阅读下面的详细描述,这些步骤或元件将是对本领域技术人员显而易见的。
附图说明
图1是本发明的一个实施例中具有数据保护机制的计算系统。
图2描述了在一个实施例中的数据保护机制的构架视图。
图3是本发明的一个实施例中的计算系统的流程图。
图4是描述本发明的一个实施例中示例改进的图表。
图5是本发明一个实施例中的计算系统的操作方法的流程图。
详细说明
下列实施例描述了充分的细节以使本领域的技术人员能够制造和使用本发明。需要被理解的是,基于本公开,其他实施例将是显而易见的,以及可做出系统、进程、或机械的改变,而不偏离本发明实施例的保护范围。
在下面的描述中,许多具体的细节被给出以提供本发明的彻底理解。然而显而易见的是,本发明可以在没有这些具体细节的情况下实行。为了避免模糊本发明的实施例,一些众所周知的电路、系统配置以及进程步骤并未详细披露。
显示本系统的实施例的附图是半图解式的,而且并不按比例,而且,特别地,为了清楚地展示,一些维度在附图中被夸大。同样地,尽管附图中的视图为了便于描述一般地展示了类似的方位,图表中的这一描述大多数情况下是任意的。通常地,本发明可被操作于任意方位。实施例被编号为第一实施例,第二实施例等,为了描述的方便而并不意味着有任何其他重要意义或为本发明的实施例提供限制。
本发明的实施例中,在本文被提及的术语“模块”可以根据术语所使用的上下文包括软件、硬件、或其结合。例如,所述软件可以是机器代码、固件、嵌入码或应用软件。还例如,所述硬件可以是电路、处理器、计算机、集成电路、集成电路核心、压力传感器、惯性传感器、微机电系统(MEMS)、无源器件、或其结合。
现在参照图1,其中示出了本发明一个实施例中具有数据保护机制的计算系统100。在图1中,计算系统100被描述为具有数据存储系统101的计算系统100的原理框图。该原理框图描述了数据存储系统101,其安装于主机102,例如包括下述项的服务器或工作站中:至少一个主中央处理单元104、耦连到主机中央处理单元104的主机内存106、以及主机总线控制器108。主机总线控制器108提供主机接口总线114,其允许主机102使用数据存储系统101。
可以理解的是,在一些实施例中主机总线控制器108的功能可以由主机中央处理单元104提供。主机中央处理单元104可以由硬件电路以许多方式来实现。例如,主机中央处理单元104可以是处理器、专用集成电路(ASIC)、嵌入式处理器、微处理器、硬件控制逻辑、硬件有限状态机(FSM)、数字信号处理器(DSP)、或其结合。
数据存储系统101可以耦连到固态盘110,例如基于非易失性存储器的具有外围接口系统的存储装置,或非易失性存储器112,例如用于扩展的或扩充的非易失性系统内存的内置存储卡。
数据存储系统101还可以耦连到硬盘驱动器(HDD)116,其能够安装于主机102内部、主机102外部、或其结合。作为一个例子,固态盘110、非易失性存储器112、以及硬盘驱动器116可以被看做是直接连接存储装置(DAS)。
数据存储系统101还可以支持网络连接(attach)端口118,用于耦连网络120。网络120的例子可以是局域网(LAN)以及存储区域网(SAN)。网络连接端口118能够提供对网络连接存储(NAS)装置122的访问。
虽然网络连接存储装置122显示为硬盘驱动器,但这只是一个例子。可以理解的是,网络连接存储装置122可以包括磁带存储器(未显示)、以及类似于固态盘110的存储装置、非易失性存储器112、或通过网络连接端口118访问的硬盘驱动器116。此外,网络连接存储装置122可以包括磁盘簇(JBOD)系统或智能磁盘冗余阵列(RAID)系统以及其他网络连接存储装置122。
数据存储系统101可被附于主机接口总线114,以通过线缆124为存储接口提供与多种直接连接存储(DAS)装置的接入和接口连接,例如串行高级技术附件(SATA)、串型SCSI(SAS)、或外围部件互连-专线(PCI-e)附加的存储装置。
数据存储系统101可以包括存储引擎115和内存装置117。存储引擎115可以由硬件电路、软件、或其结合以多种方式实现。例如,存储引擎115可以实现为处理器、专用集成电路(ASIC)、嵌入式处理器、微处理器、硬件控制逻辑、硬件有限状态机(FSM)、数字信号处理器(DSP)、或其结合。
存储引擎115可以控制去往和来自主机102、来自和去往直接连接存储(DAS)装置、网络连接存储装置122、或其结合的数据的流动和管理。存储引擎115还可以实施数据可靠性检查和校正,这将在稍后进一步讨论。存储引擎115还可以控制和管理在直接连接存储(DAS)装置和网络连接存储装置122之间以及它们自身之中的数据的流动。存储引擎115可以在硬件电路、运行软件的处理器、或其结合中实现。
为了阐释的目的,存储引擎115被示出为数据存储系统101的部分,但是存储引擎115可以不同地实现和划分。例如,存储引擎115可以实施为主机102的一部分、部分在软件中实现以及部分在硬件中实现、或其结合。存储引擎115可以在数据存储系统101的外部。例如,存储引擎115可以是上述的直接连接存储(DAS)装置、网络连接存储装置122、或其结合的一部分。存储引擎115的功能可以分布为主机102、直接连接存储(DAS)装置、网络连接存储装置122、或其结合的一部分。
内存装置117可以起到数据存储系统101、计算系统100、或其结合的本地缓存的作用。内存装置117可以是易失性存储器或非易失性存储器。易失性存储器的例子可以是静态随机存取存储器(SRAM)或动态随机存取存储器(DRAM)。
存储引擎115和内存装置117使数据存储系统101能够满足主机102提供的数据的性能要求以及将数据存储于固态盘110、非易失性存储器112、硬盘驱动116、或网络连接存储装置122之中。
为了阐释的目的,数据存储系统101被示出为主机102的一部分,但是数据存储系统101能够不同地实现和划分。例如,数据存储系统101可以被实现为主机102中的插卡、主机102中的芯片或芯片集的一部分、在主机102中部分实现于软件中以及部分实现于硬件中,或其结合。数据存储系统101可以在主机102外部。例如,数据存储系统101可以是上述的直接连接存储(DAS)装置、网络连接存储装置122、或其结合的一部分。数据存储系统101分布为主机102、直接连接存储(DAS)装置、网络连接存储装置122、或其结合的一部分。
现在参照图2,其中显示了一个实施例中的数据保护机制的构架视图。图2描述了数据保护机制的一个数字表示。该图描述了数据块202、第一保护204、第二保护206。左侧的图描述了在数据块202下的第一保护204,而第二保护206显示于数据块202的右侧。右侧的图依旧描述了涉及数据块202的第一保护204,但第二保护206被描述于数据块202上面,在第一保护204的相反一侧。
数据块202包括要被保护的数据,数据块202代表物理存储。数据块202可以包括来自主机102、网络连接存储装置122、DAS装置、或其结合的存储元件。作为一个更具体的例子,数据块202可以代表包括内存装置117、固态盘110、非易失性存储器112、硬盘驱动116或其结合的物理存储。数据块202还可以代表超级块,其代表了更大的存储子系统的分块。当存储装置过大以至于不能直接处理时,可以使用超级块来负责存储能力的一部分。例如,超级块可以包含高达最大可寻址空间(在4GB的32位地址中),超级块的数目可以构成全部的能力。一个利用了超级块的应用实例是在闪存中,其中为了数据保护和损耗均衡必须维持损耗期限的核算。
数据块202可以包括并组成数据页208。每个数据页208可以包括数据扇区210。例如,数据块202可以分布于多个装置,例如主机102、直接连接存储(DAS)装置、网络连接存储装置122、或其结合。
作为一个示例,用于数据块202的数据保护机制可以被实现为具有第一保护204、第二保护206、或其结合的2D RAID奇偶校验(parity)。在这个例子中,数据块202可以是RAID块。数据页208可以代表页面中组织的数据。每个数据页208可以包括数据扇区210。每个数据扇区210可以包括扇区数据212和扇区冗余214,其可以是错误校正扇区。扇区数据212和扇区冗余214可以组成代码字216。扇区冗余214提供错误检测、错误校正、或其结合的能力。
扇区冗余214的例子错误校正码(ECC)、循环冗余校检(CRC)、或其他类型的错误检测或校正方案。作为更具体的例子,扇区冗余214可以是系统码或非系统码、分组码、或卷积码。作为进一步的例子,扇区冗余可以是里德-所罗门(Reed-Solomon)码或低密度奇偶校验(LDPC)码。
为了阐释的目的,一个实施例被描述为具有用于具有第一保护204和第二保护206的数据块202的二维(2D)保护,但是可以理解的是不同的实施例并不限于2D保护。例如,其他的保护可以应用于同一数据块202、同一数据扇区210、或其结合,类似于用于N维保护的第一保护204、第二保护206、或其结合。例如,不同的实施例可以是应用于数据块202、数据扇区210、或其结合的进一步的3D、4D、5D等保护。
第一保护204还可以被认为是数据块202的一部分以及数据页208之一。在这一例子中,第一保护204可被认为是在数据块202中数据页208的其他实例的RAID奇偶校验页的一个扇区。第二保护206可以是每个数据页208中每个数据扇区210的保护,并且可以代表数据页208之一中的其余的数据扇区210的奇偶校验页扇区的一个扇区。
第一保护204作为RAID奇偶校验页的一个功能可以包括对作为RAID块的数据块202中的数据页208提供奇偶校验信息。至少有两种途径能够将其完成。
在一个实施例中,作为RAID奇偶校验页的第一保护204可以是作为RAID块的数据块202中所有数据页的总和。然而,这将意味着不存在采用扇区冗余214对这一页面进行的保护。
在这一方法中,作为RAID奇偶校验页的第一保护204可以被格式化,如数据页208,其中每个数据扇区210由扇区冗余214保护,例如ECC。此处,数据扇区210的有效载荷与数据页208的有效载荷相等。然而,作为示例,存在三种奇偶校验扇区的可能性。
第一,奇偶校验扇区可以被用于奇偶页,如同数据页208上的剩余的数据扇区210的奇偶校验扇区。然而,这意味着数据块202中的数据页208上的奇偶校验扇区将不被RAID奇偶校验保护。
第二,奇偶校验扇区可以被用于数据页208上的奇偶校验扇区的奇偶校验。在这种情况下,作为RAID奇偶校验页的第一保护204将不具有页面奇偶校验信息。
第三,可以存在两个奇偶校验扇区。一个实施例可以为RAID奇偶校验页中的扇区提供奇偶校验信息,作为第一保护204,并且其他的将采用第二保护206为数据块202中的所有奇偶校验扇区提供奇偶校验信息。
本发明的一个实施例提供了迭代的RAID辅助解码。对于这一实施例,第一保护204被描述为上述三个例子中的RAID奇偶校验页。在这种情况下作为数据扇区210一部分的所有的奇偶校验扇区都被RAID奇偶校验覆盖,且RAID奇偶校验页表现为类似数据页208。
现在参照图3,其中显示了本发明一个实施例中计算系统100的流程图。在这一实施例中,计算系统100可以将图2中全部的数据块202解码为RAID块。在块302,计算系统100可以首先尝试使用图2中的扇区冗余214作为扇区ECC来校正图2中每个数据扇区210。
进一步,图2的第一保护204可以利用与图2中数据页208相关的软信息218。图2中的软信息218从一个通道提供一些可靠性的测量。软信息的例子可以包括对数似然比(LLR),并且可被第一保护204利用。
作为进一步的例子,软信息218还可以为了图1中的非易失性存储器112而被获得。作为更具体的例子,非易失性存储器112可包括多级单元(MLC),由于可能导致非易失性存储器112的MLC类型的退化,其具有耦合的页面和错误转移概率。对于一个MLC非易失性随机存储器112的每单元2比特的例子来说,使用格雷码(Gray code)可能存在的错误为:
11->10
10->00
00->01
在这一例子中,上述转换是可能的错误转换状态。且在MLC非易失性存储器112中,最高有效位(MSB)页和最低有效位(LSB)页在不同的内存页中。通过读取错误页的耦合页,计算系统100可以确定MSB页和LSB页的当前状态。从当前状态,计算系统100能够指出正确状态的可能状态是什么。例如,如果错误数据单元在MSB页中且穿过XOR,计算系统100找出全部的可能错误位置,其可能是不止一个错误数据单元的总和。计算系统100能够读取错误数据单元的LSB页。而且我们可以指出如表中所显示的转换状态可能,如下:
如果当前错误数据单元是LSB页,则非易失性存储器112可以包括状态的可能的转换,如下表中所示:
通过回顾多重页面错误类型和耦合的页面当前状态的总和,假定不同的页将具有不同的当前状态值,计算系统100可以限制错误比特。示例性地,对于MSB比特页来说,计算系统100可以遮挡数据单元中平均75%的比特用以错误翻转。对于LSB比特页来说,计算系统100可以遮挡数据单元中平均25%的比特用以错误翻转。
返回到流程图的描述,如果块302被块304判定为成功的,则进程将继续处理数据扇区210。如果它在块304中被判定为不可修复的,则计算系统100可以应用RAID辅助解码。作为一个更具体的例子,图2中的代码字可以是Bose、Chaudhuri和Hocquenghem(BCH)代码字和作为如上所述的RAID奇偶校验的数据保护机制。
为了阐释的目的,代码字216被视为BCH代码字,但是可以理解的是代码字216可以是使用不同错误检测和校正代码的其他类型。例如,可以使用其他分组码来形成代码字216。作为一个更具体的例子,代码字216可以由里德-所罗门码或低密度奇偶校验(LDPC)码组成。
回到代码字216是BCH代码字的例子中,图2中的第一保护204和第二保护206可以分别表示为Q和R。让Q={qi,i=1,...,q}以及R={ri,i=1,...,r},其中qi和rj是长度n的二进制向量。特别地,qi,i=1,…,q-1和ri,i=1,…,r-1是BCH代码字向量,其中qq和rr奇偶校验检查向量定义为
假定c在块304中是不可修复的,则具有块306的计算系统100计算奇偶校验:
接着,块306针对pQ和pR生成矢量s比特式AND(^):
s=pQ^pR(方程式3)
其中s(i)=pQ(i)^pR(i)是s的第i比特.
计算系统100可以将BCH校正应用到结果词(例如s+c)。如果c是唯一错误的代码字并且s(i)=1,则c(i)是错误的且将被这一程序校正。
若c(i)是错误的,如果在位置i中存在错误的Q或R中存在奇数个错误类型,则程序不能将其校正。这是因为至少一个奇偶校验将会被满足,所以s(i)=0。此外,若c(i)是正确的,如果Q和R都包含奇数个错误类型,则s(i)=1。在这种情况下,程序强制使c(i)为错误的。另一方面,如果在位置i中Q有个错误且R有个错误,则c(i)将是正确的。
假设c具有e>t并且我们校正u个错误并引入v个错误。程序失败如果
e-u+v>t.(方程式4)
换句话说,计算系统100可以尝试首先通过翻转对应于s中的非零位置的在c中的图2中的比特220来校正c。其中计算系统100根据块308的判定,对应于非零比特220翻转不可修复扇区中的比特220,其中Q和R是页以及RAID奇偶校验,以及在块310使用扇区冗余214再次尝试校正,迭代回块302。如果被解码的数据扇区210之一仍然在块312中被判定为不可修复的,则一个实施例可以通过迭代回块302继续将RAID辅助解码应用到数据块202中的另外一个数据页208中。
作为一个更具体的例子,计算系统100可以从数据页208的第一页上图2的数据扇区210中选择第一扇区作为“目标”扇区,其可被用于衡量性能。计算系统100可以在数据块202中生成所有数据页208。在块302,计算系统100接着试图使用图2中的扇区冗余214,例如扇区ECC,为每个数据扇区210解码在数据页208的目标实例中的每个数据扇区210。如果目标扇区在块304中被判定为是可校正的,则一个实施例可以在块314完成或继续处理数据扇区,另外一个实施例可以在块306中为目标扇区应用RAID辅助。如果其在块312中被判定为是失败的,计算系统100继续将RAID辅助应用到数据页208的目标实例中的数据扇区210的每个不可修复实例。
每当RAID辅助在数据扇区210的预先的不可修复的实例上成功时,计算系统100可以为目标扇区再次应用RAID辅助。这被重复直到计算系统100能够校正目标扇区或计算系统100已经将RAID辅助应用到目标扇区中的数据扇区210的每个不可修复的实例上。如果计算系统100已经在目标页上的数据扇区210的每个不可修复扇区上尝试校正,计算系统100再对数据页208的下一个实例重复校正进程。这将继续直到计算系统100已经处理了所有数据页208或计算系统100能够正确地解码目标扇区。
在一个进一步的实施例中,第二保护206可以通过行-增强的汉明码来实施,其被表示为下列矩阵:
行-增强的汉明码,如矩阵1所示,为下述奇偶校验矩阵提供了一个全1的行:
矩阵2是奇偶校验矩阵的一个例子,其中可以通过选择列为长度m的所有非零二元向量来构建m位的汉明码。矩阵2是m=3的奇偶校验矩阵的一个例子。对于矩阵2的这一例子中的H来说,一个非零的校验子是错误位置的二进制表示法。例如,如果接收的词w在位置6发生错误,则
行-增强的汉明码包括奇偶校验行,条件是每个行-增强的汉明码的3行的组合都是线性无关的。因此,结果是汉明奇偶校验码的最小距离至少为4。此外,我们还注意到对于行-增强的汉明码的H的这一选择,我们仍可以通过将校验子左移一位(即移出奇偶校验位)来识别错误位置。
现在参照图3,其中显示了描述本发明的一个实施例中改进的例子的图表。图表沿y轴描述了扇区错误率以及沿x轴描述了误比特率。在该图上描绘了两个平面图。一张图描述了相较另外一张具有如本发明实施例所述的RAID奇偶校验方法的图而言,对于给定原始误比特率来说具有较差性能的扇区错误率。
为了阐释的目的,计算系统100被描述为不依赖位置运行于图2的数据块、图2的第一保护204、以及图2的第二保护206。可以理解的是图1的数据存储系统101、图1的存储引擎115、图1的DAS服务、图1的网络连接存储装置可以提供数据块202、第一保护204、第二保护206、或其结合。数据块202还可以代表非易失性存储器112、内存装置117、固态盘110、硬盘驱动116、或其结合。
本申请中所描述的功能可以被实现为存储于非暂时性计算机可读介质中的指令被图1中的主机中央处理单元104、数据存储系统101、存储引擎115、或其结合执行。非暂时性计算机介质可以包括图1的主机内存、图1的DAS装置、网络连接存储装置122、非易失性存储器112、内存装置117、固态盘110、硬盘驱动116、或其结合。非暂时性计算机可读介质可以包括光盘(CD)、数码影碟(DVD)、或通用串行总线(USB)闪存装置。非暂时性计算机可读介质可以被整合为计算系统100的一部分或作为计算系统100可移动的部分安装。
现在参照图5,其中展示了本发明的一个实施例中计算系统100的操作方法500的流程图。方法500包括:在块502,提供包括数据页的数据块,并且每个数据页包括数据扇区,并且每个数据扇区包括扇区数据和扇区冗余;在块504,在数据页上应用第一保护;在块506,在数据扇区上应用第二保护;以及在块508,在使用扇区冗余的扇区校正失败时使用第一保护和第二保护校正数据扇区中的至少一个。
所产生的方法、进程、装置、设备、产品、和/或系统直接、划算、不复杂、高度通用、精确、敏感且有效,并可以通过适配已知的组件来实现以用于迅速、高效、和经济的制造、应用和利用。本发明的实施例的其他重要方面是,它有价值地支持和服务降低成本、简化系统和提高性能的历史趋势。
本发明的实施例的这些和其他有价值的方面因此促进了技术的状态到至少下一个水平。
虽然已结合具体的最佳方式描述了本发明,但是,应该被理解的是,根据上述描述很多替代、修改和变化将对本领域技术人员显而易见。因此,意图是包括所有这些落在被包括的权利要求范围内的替代、修改和变化。此处列出的或附图中所示的所有事项都将被解释为说明性的和非限制性的。
Claims (30)
1.一种计算系统,包括:
包括数据页的数据块,并且每个所述数据页包括数据扇区,并且每个所述数据扇区包括扇区数据和扇区冗余;
耦连到所述数据块的存储引擎,配置为:
在所述数据页上应用第一保护,
在所述数据扇区上应用第二保护,以及
当使用所述扇区冗余的扇区校正失效时,使用所述第一保护和所述第二保护校正至少一个所述数据扇区。
2.根据权利要求1所述的系统,其中所述存储引擎配置为在使用所述第一保护和所述第二保护校正之后,使用所述扇区冗余校正所述扇区数据。
3.根据权利要求1所述的系统,其中所述存储引擎配置为在所述数据页上应用所述第一保护作为奇偶校验页。
4.根据权利要求1所述的系统,其中所述存储引擎配置为在所述数据扇区上应用所述第二保护作为奇偶校验扇区。
5.根据权利要求1所述的系统,其中所述存储引擎配置为通过翻转所述数据扇区中的比特来使用所述第一保护和所述第二保护校正至少一个所述数据扇区。
6.根据权利要求1所述的系统,其中所述存储引擎配置为将所述第二保护应用为行-增强的汉明码。
7.根据权利要求1所述的系统,其中所述存储引擎配置为使用所述扇区冗余校正所述扇区数据。
8.根据权利要求1所述的系统,其中所述数据块包括超级块。
9.根据权利要求1所述的系统,其中所述数据块包括硬盘驱动、固态盘驱动、存储装置、或其结合。
10.根据权利要求1所述的系统,其中所述存储引擎配置为将包含相关的软信息的所述第一保护应用到至少一个所述数据页。
11.一种计算系统的操作方法,包括:
提供包括数据页的数据块,并且每个所述数据页包括数据扇区,并且每个所述数据扇区包括扇区数据和扇区冗余;
在所述数据页上应用第一保护;
在所述数据扇区上应用第二保护;以及
当使用所述扇区冗余的扇区校正失效时,使用所述第一保护和所述第二保护校正至少一个所述数据扇区。
12.根据权利要求11所述的方法,进一步包括在使用所述第一保护和所述第二保护校正以后,使用所述扇区冗余校正所述扇区数据。
13.根据权利要求11所述的方法,其中应用所述第一保护包括在所述数据页上应用奇偶校验页。
14.根据权利要求11所述的方法,其中应用所述第二保护包括在所述数据扇区上应用奇偶校验扇区。
15.根据权利要求11所述的方法,其中使用所述第一保护和所述第二保护校正至少一个所述数据扇区包括翻转所述数据扇区中的比特。
16.根据权利要求11所述的方法,其中应用所述第二保护包括应用行增强的汉明码。
17.根据权利要求11所述的方法,进一步包括使用所述扇区冗余校正所述扇区数据。
18.根据权利要求11所述的方法,其中提供所述数据块包括提供超级块。
19.根据权利要求11所述的方法,其中提供所述数据块包括提供硬盘驱动、固态盘驱动、存储装置、或其结合。
20.根据权利要求11所述的方法,其中应用所述第一保护包括将相关的软信息应用到至少一个所述数据页。
21.一种非暂时性计算机可读介质,包括用于执行的指令,所述介质包括:
提供包括数据页的数据块,并且每个所述数据页包括数据扇区,并且每个所述数据扇区包括扇区数据和扇区冗余;
在所述数据页上应用第一保护:
在所述数据扇区上应用第二保护;以及
当使用所述扇区冗余的扇区校正失效时,使用所述第一保护和所述第二保护校正至少一个所述数据扇区。
22.根据权利要求21所述的介质,进一步包括在使用所述第一保护和所述第二保护校正以后,使用所述扇区冗余校正所述扇区数据。
23.根据权利要求21所述的介质,其中应用所述第一保护包括在所述数据页上应用奇偶校验页。
24.根据权利要求21所述的介质,其中应用所述第二保护包括在所述数据扇区上应用奇偶校验扇区。
25.根据权利要求21所述的介质,其中使用所述第一保护和所述第二保护校正至少一个所述数据扇区包括翻转所述数据扇区中的比特。
26.根据权利要求21所述的介质,其中应用所述第二保护包括应用行增强的汉明码。
27.根据权利要求21所述的介质,进一步包括使用所述扇区冗余校正所述扇区数据。
28.根据权利要求21所述的介质,其中提供所述数据块包括提供超级块。
29.根据权利要求21所述的介质,其中提供所述数据块包括提供硬盘驱动、固态盘驱动、存储装置、或其结合。
30.根据权利要求21所述的介质,其中应用所述第一保护包括将相关的软信息应用到至少一个所述数据页。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201461946710P | 2014-03-01 | 2014-03-01 | |
US61/946,710 | 2014-03-01 | ||
US14/328,770 US10417090B2 (en) | 2013-12-23 | 2014-07-11 | Computing system with data protection mechanism and method of operation thereof |
US14/328,770 | 2014-07-11 | ||
PCT/US2015/017698 WO2015134262A1 (en) | 2014-03-01 | 2015-02-26 | Computing system with data protection mechanism and method of operation thereof |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106104491A true CN106104491A (zh) | 2016-11-09 |
Family
ID=54055731
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201580011315.9A Pending CN106104491A (zh) | 2014-03-01 | 2015-02-26 | 具有数据保护机制的计算系统及其操作方法 |
Country Status (3)
Country | Link |
---|---|
CN (1) | CN106104491A (zh) |
TW (1) | TWI570549B (zh) |
WO (1) | WO2015134262A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109584945A (zh) * | 2017-09-28 | 2019-04-05 | 希耐克斯实验室公司 | 具有机器学习机制的存储系统及其操作方法 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI631456B (zh) | 2016-10-07 | 2018-08-01 | 慧榮科技股份有限公司 | 資料儲存裝置及資料維護方法 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1503225A (zh) * | 2002-08-23 | 2004-06-09 | ƽ | 将流式音频视频数据写入磁盘驱动器的方法 |
US20070150791A1 (en) * | 2005-12-27 | 2007-06-28 | Gross Stephen J | Storing downloadable firmware on bulk media |
CN101779194A (zh) * | 2007-07-09 | 2010-07-14 | 美光科技公司 | 用于存储器的错误校正 |
US20100313100A1 (en) * | 2009-06-04 | 2010-12-09 | Lsi Corporation | Flash Memory Organization |
CN102906712A (zh) * | 2010-03-17 | 2013-01-30 | 闪迪企业知识产权有限责任公司 | Mlc自raid闪速数据保护方案 |
US20130080862A1 (en) * | 2011-09-22 | 2013-03-28 | Jon C.R. Bennett | System and method for correcting errors in data using a compound code |
US20130104005A1 (en) * | 2007-12-05 | 2013-04-25 | Hanan Weingarten | Flash memory apparatus and methods using a plurality of decoding stages including optional use of concatenated bch codes and/or designation of "first below" cells |
CN103329104A (zh) * | 2011-02-08 | 2013-09-25 | 桑迪士克科技股份有限公司 | 使用另外的错误校正编码数据的数据恢复 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2004114307A2 (en) * | 2003-06-26 | 2004-12-29 | Koninklijke Philips Electronics N.V. | Record carrier with two ecc block sizes, and recording method and recorder for recording such record carrier |
-
2015
- 2015-02-26 WO PCT/US2015/017698 patent/WO2015134262A1/en active Application Filing
- 2015-02-26 TW TW104106251A patent/TWI570549B/zh active
- 2015-02-26 CN CN201580011315.9A patent/CN106104491A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1503225A (zh) * | 2002-08-23 | 2004-06-09 | ƽ | 将流式音频视频数据写入磁盘驱动器的方法 |
US20070150791A1 (en) * | 2005-12-27 | 2007-06-28 | Gross Stephen J | Storing downloadable firmware on bulk media |
CN101779194A (zh) * | 2007-07-09 | 2010-07-14 | 美光科技公司 | 用于存储器的错误校正 |
US20130104005A1 (en) * | 2007-12-05 | 2013-04-25 | Hanan Weingarten | Flash memory apparatus and methods using a plurality of decoding stages including optional use of concatenated bch codes and/or designation of "first below" cells |
US20100313100A1 (en) * | 2009-06-04 | 2010-12-09 | Lsi Corporation | Flash Memory Organization |
CN102906712A (zh) * | 2010-03-17 | 2013-01-30 | 闪迪企业知识产权有限责任公司 | Mlc自raid闪速数据保护方案 |
CN103329104A (zh) * | 2011-02-08 | 2013-09-25 | 桑迪士克科技股份有限公司 | 使用另外的错误校正编码数据的数据恢复 |
US20130080862A1 (en) * | 2011-09-22 | 2013-03-28 | Jon C.R. Bennett | System and method for correcting errors in data using a compound code |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109584945A (zh) * | 2017-09-28 | 2019-04-05 | 希耐克斯实验室公司 | 具有机器学习机制的存储系统及其操作方法 |
CN109584945B (zh) * | 2017-09-28 | 2024-01-23 | 希耐克斯实验室公司 | 具有机器学习机制的存储系统及其操作方法 |
Also Published As
Publication number | Publication date |
---|---|
TWI570549B (zh) | 2017-02-11 |
WO2015134262A1 (en) | 2015-09-11 |
TW201602775A (zh) | 2016-01-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2715550B1 (en) | Apparatus and methods for providing data integrity | |
KR101536853B1 (ko) | 데이터 무결성을 제공하기 위한 방법 및 장치 | |
US10218789B2 (en) | Erasure correcting coding using temporary erasure data | |
EP2972871B1 (en) | Methods and apparatus for error detection and correction in data storage systems | |
JP4668970B2 (ja) | フォールトトレラントデータストレージシステムにおけるブロックレベルのデータ破損の検出および訂正 | |
US8707122B1 (en) | Nonvolatile memory controller with two-stage error correction technique for enhanced reliability | |
US8812935B2 (en) | Using a data ECC to detect address corruption | |
US20140149826A1 (en) | Data reliability schemes for data storage systems | |
CN107436821B (zh) | 为包括多个数据位和地址位的块生成错误码的装置和方法 | |
US7836379B1 (en) | Method for computing buffer ECC | |
US20100037091A1 (en) | Logical drive bad block management of redundant array of independent disks | |
US8621290B2 (en) | Memory system that supports probalistic component-failure correction with partial-component sparing | |
CN104798047A (zh) | 错误检测和校正装置及方法 | |
CN103164298A (zh) | 产生用于奇偶校验扇区的数据通路保护的冗余的数据存储装置 | |
US10394651B2 (en) | Computing system with circular-shift recovery mechanism and method of operation thereof | |
US20100332944A1 (en) | Facilitating error detection and correction after a memory component failure | |
US10678662B2 (en) | Computing system with data protection mechanism with soft information and method of operation thereof | |
WO2016122515A1 (en) | Erasure multi-checksum error correction code | |
US10331515B2 (en) | Computing system with shift data protection mechanism and method of operation thereof | |
US20180203625A1 (en) | Storage system with multi-dimensional data protection mechanism and method of operation thereof | |
CN106104491A (zh) | 具有数据保护机制的计算系统及其操作方法 | |
CN105575439B (zh) | 一种存储单元失效纠错的方法及存储器 | |
US10417090B2 (en) | Computing system with data protection mechanism and method of operation thereof | |
US11880573B2 (en) | Disk array device, disk array control device, and disk array control method | |
KR20240039361A (ko) | 메모리 장치의 오류 정정 방법 및 장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20161109 |