从存储器系统中的硬故障进行CRCRAID恢复的制作方法

未命名 08-03 阅读:68 评论:0

从存储器系统中的硬故障进行crc raid恢复
1.相关申请案的交叉参考
2.本技术案主张在2022年1月27日申请的题为“硬故障之后的crc raid行为(crc raid behavior after a hard failure)”的第63/303,911号美国临时申请案的优先权,所述美国申请案特此以其全文引用的方式并入本文中。
技术领域
3.本公开大体上涉及用于存储器的一或多个系统及方法,特定来说,涉及从存储器系统中的硬故障恢复数据。


背景技术:

4.存储器装置广泛用于在各种电子装置中存储信息,所述电子装置例如计算机、用户装置、无线通信装置、相机、数字显示器及类似者。信息通过将存储器装置内的存储器单元编程到各种状态来存储。举例来说,二进制存储器单元可经编程到通常对应于逻辑1或逻辑0的两种支持状态中的一者。在一些实例中,单个存储器单元可支持多于两种可能状态,其中的任一者可由存储器单元存储。为了存取由存储器装置存储的信息,组件可读取或感测存储器装置内的一或多个存储器单元的状态。为了存储信息,组件可将存储器装置内的一或多个存储器单元写入或编程到对应状态。
5.存在各种类型的存储器装置,包含磁性硬盘、随机存取存储器(ram)、只读存储器(rom)、动态ram(dram)、同步动态ram(sdram)、静态ram(sram)、铁电ram(feram)、磁性ram(mram)、电阻ram(rram)、快闪存储器、相变存储器(pcm)、3到20维交叉点存储器(3d交叉点)、“或非”(nor)及“与非”(nand)存储器装置及其它。存储器装置可为易失性或非易非失性的。易失性存储器单元(例如dram单元)可随着时间丢弃其经编程状态,除非其被外部电源周期性地刷新。即使外部电源不存在时,非易失性存储器单元(例如nand存储器单元)也可维持其经编程状态达延长时间段。
6.一些存储器可经配置以支持计算高速链路(cxl),其是用于高速处理器与装置或存储器之间的连接的开放标准。在存储器装置(包含使用cxl标准的存储器装置)中,在读取或写入期间可能发生错误,其中此类错误由于组件或装置故障而发生。此类装置故障可在芯片级下发生。在此类例子中,错误恢复技术可用于补偿或校正由故障组件引起的错误。


技术实现要素:

7.一方面,本公开涉及一种设备,其包括:独立装置冗余阵列(raid)存储器控制器,其包括多个存储器通道;及多个存储器阵列,其中每一存储器阵列耦合到所述多个存储器通道中的存储器通道,且其中每一存储器阵列包括多个存储器组件,且其中每一存储器阵列经配置有多个条带;其中,在用户数据到存储器阵列的特定条带内的位置的写入操作中,其中所述特定条带包括故障存储器组件,所述raid存储器控制器经配置以确定并补偿所述故障存储器组件以允许所述故障存储器组件中的所述用户数据的恢复。
8.另一方面,本公开涉及一种用于存储器错误恢复的方法,其包括:确定在循环冗余校验-独立装置冗余阵列(crc-raid)机制中存储器组件已遭受硬故障;确定所述存储器组件故障的位置,其中所述crc-raid机制包括经配置为多个条带的多个存储器组件;启动用户数据到特定条带内的位置的写入操作,其中所述特定条带含有故障存储器组件;及补偿所述故障存储器组件,其中所述补偿包括在所述用户数据的写入之前的多个读取操作。
附图说明
9.并入本文中且形成说明书的部分的附图说明本公开,且与描述一起进一步用于解释本公开的原理且使相关领域的技术人员能制作及使用本公开。
10.另外,参考数字的最左数字识别其中参考数字第一次出现的图(例如,参考数字“310”指示如此编号的元件在图3中首先被标记或首先出现)。另外,具有相同参考数字(后接字母表的不同字母或其它区分标记(例如省略符号))的元件指示可在结构、操作或形式上相同但可被识别为处于不同状态、空间位置或在不同时间点处再次出现的元件(例如,参考数字“110a”及“110b”可指示可在功能上相同但可定位于方法中的不同点处的两种不同输入装置,或“210
′”
及“210
″”
可指示不同时间点中的装置)。
11.图1说明根据本公开的实施例的crc raid架构控制器的功能框图。
12.图2a说明根据本公开的实施例的raid存储器阵列内的条带的功能框图。
13.图2b说明根据本公开的实施例的raid存储器阵列中的条带上的用户数据块映射的功能框图。
14.图3说明根据本公开的实施例的利用raid的循环冗余校验及恢复的流程及框图。
15.图4是根据本公开的实施例的raid存储器阵列中的读取操作的说明。
16.图5是根据本公开的实施例的对raid存储器阵列中的故障组件进行的写入操作的说明。
17.图6是根据本公开的实施例的对组件进行的写入操作的说明,其中raid条带含有故障组件。
18.图7是根据本公开的实施例的对组件进行的写入操作的说明,其中raid条带在奇偶校验位置中含有故障组件。
19.图8是根据本公开的实施例的cxl架构中的处理量的图形说明。
20.图9是根据本公开的实施例的由只读操作组成的cxl架构中的处理量的图形说明。
21.图10是根据本公开的实施例的由含有故障组件的条带中的写入操作组成的cxl架构中的处理量的图形说明。
22.图11是根据本公开的实施例的用于raid存储器阵列中的恢复的实例方法的流程图。
23.下文参考附图描述本公开的另外实施例、特征及优势以及本公开的各个实施例的操作。
具体实施方式
24.虽然本文中描述的实施例是特定应用的说明性实施例,但应理解,本公开不限于此。能够得到本文中提供的教示的所属领域的技术人员将认识到其范围内的额外修改、应
用及实施例及本公开将在其中具有显著效用的额外领域。
25.本文中描述的实施例在说明书中称为“一个实施例”、“实施例”、“实例实施例”等。这些参考指示所描述的实施例可包含特定特征、结构或特性,但每个实施例不一定包含每个所描述的特征、结构或特性。此外,当特定特征、结构或特性结合实施例描述时,应理解,所属领域的技术人员知晓结合无论是否明确描述的其它实施例来实现此特征、结构或特性。
26.一些接口(例如计算高速链路(“cxl”)接口)经设计以在主机系统与一或多个存储器系统之间使用。举例来说,存储器系统可跨主机系统及存储器系统一致地使用存储器。在存储器芯片发生故障的情况下,其它系统组件可用于恢复从计算机存储器系统的任何数据丢失,这也可被称为cxl装置中的芯片删除保护。
27.系统及方法的各个实施例在下文参考图1到11进行论述。然而,所属领域的技术人员将容易地了解,本文中关于这些图给出的详细描述仅用于解释目的且不应理解为具限制性。
28.图1说明根据实施例的crc-raid系统架构100。术语“crc”是指循环冗余校验。术语“raid”通常是指廉价磁盘冗余阵列或独立磁盘冗余阵列。然而,出于本技术案的目的,由于本技术案是针对存储器系统,因此raid将表示独立装置冗余阵列但维持相同功能性。举例来说,raid 4可由具有专用奇偶校验的块级条带化组成。raid 5可由具有分布式奇偶校验的块级条带化组成,其中奇偶校验信息分布于多个存储器装置当中,其中在单个存储器装置的故障之后,可根据分布式奇偶校验计算后续读取使得数据不会丢失。
29.如图1中展示,存储器控制器110可包含前端102、中央控制器107及后端116。前端102还可包含:接口103,接口103可包含多个i/o通路104-1及104-2(个别地或共同地称为i/o通路104且可包含任何数目个此类通路);以及用于管理接口103的电路系统,例如cxl控制器105。接口103可为耦合到i/o通路104的外围组件互连高速(pcie)5.0接口。在一些实施例中,crc-raid系统架构100可根据cxl协议经由接口103接收涉及高速缓存存储器109、存储器装置中的至少一者的存取请求。接口103可通过i/o通路104从主机(未展示)接收数据。cxl控制器105可使用cxl协议管理接口103。
30.中央控制器107可经配置以致使存储器操作的性能提高。中央控制器107可包含高速缓存存储器109以存储与存储器操作的性能相关联的数据。
31.如图1中进一步展示,存储器控制器110可包含中央控制器107,中央控制器107进一步可包含辅助安全组件,例如用于在将数据存储于存储器面(rank)130中之前将数据加密的加密111,存储器面可定位于各种存储器装置内。在一些实施例中,加密111可在其未被使用时被旁通,例如当数据被写入存储器面130时。在一些实施例中,加密111可被启用或停用。举例来说,加密111可在将存储器写入持久存储器装置(例如feram存储器装置)时被启用。
32.如图1中进一步展示,中央控制器107可包含raid控制器113及循环冗余校验(crc)电路115,其中如展示,可存在单独crc电路115-1到crc电路115-n,其中每一单独crc电路与对应媒体控制器117相关联。crc电路115可由crc编码及解码电路组成。
33.如图1中展示,后端116可包含包括多个媒体控制器117-1、117-2到117-n的媒体控制器117。后端116还可包含物理(phy)层119,其包括多个phy层119-1、119-2到119-n(个别
地或共同地称为phy层119)。在一些实施例中,后端116经配置以将phy层部分119耦合到多个存储器面130-1到130-n(个别地或共同地称为存储器面130)。存储器面130可经由多个通道120连接到存储器控制器110。
34.多个媒体控制器中的每一者可接收相同命令及地址并基本上同时驱动多个通道120。通过针对多个媒体控制器使用相同命令及地址,多个媒体控制器中的每一者可利用多个通道120对相同多个存储器单元执行相同存储器操作。每一媒体控制器117可对应于相关联raid控制器113组件以及crc电路系统115。
35.每一媒体控制器117还可对应于多个phy层119中的一者。在一些实施例中,每一媒体控制器可独立于其它媒体控制器执行命令。因此,数据可独立于其它phy层119及通道120通过通道120从phy层119传送到存储器面130。
36.存储器控制器110可包含经配置以辨识及管理侧带通信的管理单元140。在一些实施例中,管理单元140包含:i/o总线,其用于管理带外数据;管理单元控制器,其用于执行固件,固件的功能性包含(但不限于)监测及配置存储器控制器110的特性;及管理单元存储器,其用于存储与存储器控制器110的功能性相关联的数据。管理单元140的端点可暴露于主机系统以使用i/o总线通过通信通道管理数据。管理单元140的第二端点可暴露于主机系统以通过通信通道管理数据。在一些实施例中,由管理单元140监测的特性可包含供应到存储器控制器110的电压或由外部传感器测量的温度或两者。此外,管理单元140可包含用于耦合存储器控制器110的不同组件的本地总线互连件。在一些实施例中,本地总线互连件可为先进高性能总线(ahb)。此外,管理单元140可包含用于管理带内数据的电路系统。如本文中使用,术语“带内数据”通常是指在网络(例如局域网(lan))内通过主传输媒体传送的数据。
37.管理单元140可包含管理单元控制器。管理单元控制器可将额外加密或解密层应用到侧带消息。在一些实施例中,管理单元控制器可为满足联合测试行动组(jtag)标准的控制器且根据集成电路间(i2c)协议及辅助i/o电路系统操作。如本文中使用,术语“jtag”通常是指用于在制造之后验证设计及测试印刷电路板的行业标准。如本文中使用,术语“i2c”通常是指用于连接低速装置(如嵌入式系统中的微控制器、i/o接口及其它类似外围设备)的双线接口的串行协议。然而,实施例不限于此,且电路协议可包含多个线接口。在一些实施例中,辅助i/o电路系统可将管理单元140耦合到存储器控制器110。此外,用于操作管理单元的固件可存储于管理单元存储器中。在一些实施例中,管理单元存储器可为快闪存储器,例如快闪nor存储器或其它持久快闪存储器装置。
38.图2a说明根据实施例的raid存储器阵列200内的数据条带的功能框图。条带210可包含多个条带,例如如用条带250-1、250-2到250-n(统称为条带250)说明。每一条带250具有一长度,展示为位长度220。每一条带250还具有一宽度,展示为宽度230。在一些实施例中,位长度220可为32个位且宽度230可为16个位。通常,主机所需的数据量是用户数据块,展示为通常可为64个字节那么大的“udb”。此外,每一udb可为条带210内的条带250。此外,由控制器(例如存储器控制器110)与组件在单个存取中交换的数据流称为组件传送块,展示为“ctb”。此外,ctb对应于整个udb。此外,存储器阵列可含有多个条带,其中存储器控制器可通过通道240存取特定udb,例如条带210可包括通道240-1、240-2到240-n,其中通道240-2可用于存取条带250-2。
39.图2b说明根据实施例的raid存储器阵列200’中的条带上的用户数据块映射的功能框图。如在图2a中,图2b说明不同udb在每一位置中的存储。raid存储器阵列200’说明可用于存取条带210-1到210-n(个别地或共同地称为条带210)中的数据及奇偶校验信息的通道240-1到240-16(个别地或共同地称为通道240)的实例。而且,如实施例中展示,奇偶校验信息分布于通道上使得没有一个通道包含所有奇偶校验信息。
40.相同raid条带的udb存储于不同组件及不同通道中。以此方式,如果特定组件发生故障,那么条带的仅一个udb(条带)被损坏且因此可通过raid来恢复。此外,由于条带中的奇偶校验条带均匀分布于通道上,因此避免了在存取奇偶校验通道方面的性能瓶颈。然而,每当条带中的udb更新时,奇偶校验条带必须被更新。
41.图3说明根据实施例的涉及错误的crc-raid操作的实例。实例说明raid条带310,类似于图2b中的raid条带210-5。raid条带310说明具有总共16个通道中的通道#12中的奇偶校验数据。图3中说明的流程由存取通道中的一者中的数据组成,其中通道由j的值指示。当存取数据时,在步骤330处关于数据计算crc值且将其与如由ci指示的经存储crc值进行比较,ci是每一通道位置i处的crc值。如果crc经存储值与计算得到的值不匹配,那么经存取数据被认为已损坏,且在步骤340处启动raid恢复过程。
42.因此,作为实例,raid条带310的通道#7被存取,其中crc经存储值与计算得到的crc值不匹配。在此实例中,raid恢复将通过读取剩余通道(例如通道#1到#6及#8到#16),将值加总以恢复通道#7的正确数据来启动。此过程的额外细节在下图7到11中进行论述。
43.图4是根据实施例的raid存储器阵列中的读取(read)操作的说明。raid存储器阵列可包含多个存储器装置,例如存储器组件410-1、410-2到410-16(个别地或共同地称为存储器组件410)。图4说明其中存储器组件410-5已发生故障的实例。存储器组件的故障可因多种原因而发生,所述原因包含物理故障,例如由于温度或物理故障而发生故障的存储器芯片裸片。在此故障的情况下,尝试从存储器组件410-5读取(如由读取向量405展示)将不会传回可包含于存储器组件410-5中的任何数据。
44.在尝试从故障存储器组件进行读取操作的情况下,数据可通过使用条带中的剩余数据来恢复。raid恢复背后的概念是:数据位di通过以下等式借助于奇偶校验位p在码字中绑定:
45.d0+d1+

+d
i-1
+di+d
i+1
+

+d
k-1
+p=0
46.因此,如果di表示故障存储器组件中的数据,那么数据可使用以下约束条件来恢复,其中:
47.di=p+d0+d1+

+d
i-1
+d
i+1
+

+d
k-1
48.所展示的“加”运算可简单地为逻辑xor。结果是来自raid条带中的单个组件故障的数据可通过读取并加总条带中的剩余数据(包含奇偶校验数据)来恢复。
49.因此,如图4中展示,为了恢复存储于存储器组件410-5中的数据,来自存储器组件410-1、410-2、410-3、410-4的数据及来自存储器组件410-6、410-7、410-8、410-9、410-10、410-11、410-12、410-13、410-14、410-15及410-16的数据被读取且如所展示那样由加总单元420加总在一起。加总的结果是经恢复数据430。在实施例中,一旦确定特定存储器组件已遭受硬故障,就可将那个故障存储器组件的位置或地址存储例如于存储器控制器110中。因此,不同于尝试对存储器组件执行读取或写入操作以确定先前是否已遭受硬故障(即芯片
删除事件),可将操作的地址与已知故障存储器组件地址的表进行比较。如果存在匹配,那么存储器控制器可跳过尝试对那个存储器组件执行存储器操作并直接继续到raid恢复操作。
50.图5是根据实施例的对raid存储器阵列中的故障存储器组件进行的写入(write)操作的说明。存在将被论述的三种相异类型的写入操作。如图5中展示的第一类型是其中写入操作正尝试将数据写入故障组件的类型。如将在图6中展示的第二类型是其中写入操作正尝试将数据写入包含故障存储器组件的条带中的可操作存储器组件的类型。如将在图7中展示的第三类型是其中写操作正尝试将数据写入包含被识别为包含raid奇偶校验数据的存储器组件的故障存储器组件的条带中的可操作存储器组件的类型。
51.图5说明尝试对已经历硬故障的存储器组件510-5执行如由写入向量530展示的写入操作的实例。注意,raid奇偶校验值必须被更新以反映尝试被写入存储器组件510-5中的数据。确定那个raid奇偶校验值的过程通过从除了故障存储器组件外的所有存储器组件位置执行读取操作,将它们(包含正尝试被写入故障存储器组件的数据)加总并产生新raid奇偶校验值来完成。因此,在其中存储器组件510-5已遭受硬故障的此实例中,代替对存储器组件510-5执行写入操作,可对存储器组件510-1、510-2、510-3、510-4、510-6、510-7、510-8、510-9、510-10、510-11、510-12、510-13、510-14及510-15执行读取操作。这14(n-2)个存储器组件中的值将与希望被写入存储器组件510-5中的数据加总(如由路径540展示)且在520处加总。所述加总的结果将是接着将被写入存储器组件510-16(如由向量550展示)的新raid奇偶校验值。在实施例中,如果尝试从存储器组件510-5进行后续读取操作且故障表已将存储器组件510-5记录为是故障位置,那么与其尝试对存储器组件510-5进行读取操作,将启动raid恢复,所述raid恢复包含对存储器组件510-1到510-4及510-6到510-15以及存储器组件510-16中的raid奇偶校验值的读取操作,借此允许计算本应存储于故障存储器组件510-5中的数据。
52.图6是根据实施例的对raid存储器阵列中的可操作存储器组件进行的写入操作的说明,但在相同raid条带中存在故障存储器组件。这是如先前论述的第二类型的写入操作。在实例中,存储器组件610-5已发生故障,但预期写入操作是针对(如由写入向量630展示)存储器组件610-4。在写入操作中的新数据可被写入存储器组件610-4中之前,必须既在raid奇偶校验位置(在此实例中,存储器组件610-16)处又从希望被写入的存储器组件位置执行读取操作。因此,在由写入向量630表示的新数据可被写入存储器组件610-4中之前,存储器组件610-4、raid奇偶校验存储器组件610-16中现存的数据的加总及由向量640表示的新数据在加总620处被加总,从而产生随后被写入raid奇偶校验存储器组件610-16中的经更新raid奇偶校验值且还允许新数据被写入存储器组件610-4中。
53.图7是根据实施例的对raid存储器阵列中的可操作存储器组件进行的写入操作的说明,但在相同raid条带中的raid奇偶校验存储器组件处存在故障存储器组件。这是如先前论述的第三类型的写入操作。虽然图7作为实例将raid奇偶校验位置说明为条带中的最后位置,但如先前论述,raid奇偶校验位置可分布于所有通道当中。在图7中展示的实例中,正尝试对存储器组件710-4进行写入操作,如由写入向量730说明。由于raid奇偶校验存储器组件是故障位置,所以无法存储新raid值。因此,在此情况下,如果第二存储器组件在相同raid条带中遭受硬故障,那么可不执行raid恢复。然而,如先前论述,被写入存储器组件
或从存储器组件读取的每一组数据还可包含可用于检测及/或校正数据块内的软错误(例如,举例来说先前说明的umb)的crc数据。
54.图8是根据实施例的cxl装置中的处理量的理论上限的说明。有效处理量可取决于asic的架构及与cxl协议不相关的其它带宽瓶颈而小于此界限。图表的x轴说明读取操作的百分比。y轴表示以gb/sec为单位的处理量。因此,在x轴的零点处,绘图810表示100%写入操作,且针对与此图表相关联的装置,将具有大约24gb/sec的最大处理量。此外,在x轴上将表示没有写入操作及100%读取操作的100%点处,处理量将是大约27gb/sec。
55.总cxl处理量可表示为:
56.t=tr+tw(总cxl处理量t=总处理量;tr=读取处理器;tw=写入处理量)
57.因为:
58.tr→
αrtr读取及βrtr写入
59.tw→
αwtw写入及βwtw读取
60.所以:
61.br=αrtr+βwtw≤b(b=单个方向上可用的最大cxl带宽)
62.bw=αwtw+βrtr≤b
63.但是:
64.tr=ρt(ρ=读取操作的百分比)
65.tw=(1-ρ)t
66.因此:
[0067][0068][0069]
因此:
[0070][0071]
因此,处理量绘图810可由以下表示:
[0072][0073]
因此,处理量绘图820可由以下表示:
[0074][0075]
图9是根据实施例的仅利用读取操作的cxl装置中的处理量的理论上限的说明。如在图8中,有效处理量可取决于asic的架构及与cxl协议不相关的其它带宽瓶颈而小于此界限。而且,如在图8中,图表的x轴说明读取操作的百分比,而y轴表示以gb/sec为单位的处理量。绘图930表示在对已经历硬故障的存储器组件执行读取操作的情况下的处理量。
[0076]
给定:
[0077]
取决于cxl类型,a
crc
=1或1.5(“a”表示数据读取或写入的放大因数)
[0078]araid
=4
[0079]ar
=a
crc
(读取放大)
[0080]aw
=a
crcaraid
(写入放大)
[0081]
由于:
[0082]ar
ρt+aw(1-ρ)t≤m(m表示最大可用媒体带宽)
[0083]
因此,如由绘图930表示:
[0084][0085]
图10是根据实施例的在不同写入操作状态下的cxl装置中的理论处理量的说明。如图8中论述,绘图810及绘图820表示cxl存储器装置的理论最大处理量。如图9中论述,绘图930表示cxl存储器装置的最大处理量,其中读取操作尝试存取故障存储器组件。图10说明两种额外案例。绘图1040表示与故障存储器组件中的读取操作及对功能存储器组件进行的写入操作(但在相同条带中具有故障存储器组件)相关联的最大处理量。绘图1050表示与故障存储器组件中的读取操作及对故障存储器组件进行的写入操作相关联的最大处理量。
[0086]
给定:
[0087]
取决于cxl类型,a
crc
=1或1.5(“a”表示数据读取或写入的放大因数)
[0088]araid
=4
[0089]ar
=a
crc
(n
ch-1)
[0090]
(n
ch
表示存储器装置中的通道的数目)
[0091][0092]
因为:
[0093]ar
ρt+aw(1-ρ)t≤m(m表示最大可用媒体带宽)
[0094]
所以,如由绘图1040表示:
[0095][0096]
图10以绘图1050说明cxl装置中的处理量,其中读取操作是在故障存储器组件中,且写入操作是对故障存储器组件进行。
[0097]
图11展示用于存储器错误恢复的方法1100的示范性实施例。方法1100在步骤1105处以确定在循环冗余校验-独立装置冗余阵列(crc-raid)机制中存储器组件已遭受硬故障开始。举例来说,如图3中论述,进行对特定存储器组件的存取。在此实例中,通过存取其中展示为ci的经存储crc值与存储器组件中的数据的计算得到的crc值不匹配的存储器组件(例如,步骤330处的crc检查)来确定存储器组件已遭受硬故障。在另一实例中,可确定存储器组件由于不响应(例如其中存储器芯片停止运行)而已遭受硬故障。确定步骤还可采用在执行读取或写入操作之前存取已知存储器组件故障的表的形式。表可包含硬故障区域的地址,例如哪一装置、存储体或其它子结构,例如区段或行。接着,在每次存取时,将操作的地址与经存储地址进行比较,且在匹配情况下,操作可以raid恢复开始。在这种情况下,在减少读取/写入放大或读取或写入数据的额外步骤且因此缓解与raid恢复相关联的性能降低方面存在益处。
[0098]
步骤1110包含确定存储器组件故障的位置,其中crc-raid机制包括经配置为多个条带的多个存储器组件。如步骤1105中推断,存储器组件可通过识别特定装置或组件的地址或位置来关联,如图1中论述,存储器面130可定位于多个通道120中的一者上。因此,识别存储器组件的位置的方法可为通过地址。
[0099]
步骤1115包含启动用户数据到特定条带内的位置的写入操作,其中特定条带含有故障存储器组件。如图5、图6及图7中论述,写入操作可遇到存储器组件的不同硬故障情况。图5论述对raid存储器阵列中的故障存储器组件进行的写入操作。如果对在条带中没有故障存储器组件的全功能存储器组件执行写入操作,那么无需执行任何额外恢复步骤。然而,如果尝试对确实含有硬故障区域的条带进行写入操作,那么写入操作实际上通过执行多个读取操作来开始,如步骤1120中论述。
[0100]
步骤1120包含补偿故障存储器组件,其中补偿包括在用户数据的写入之前的多个读取操作。如图5、图6及图7中论述,读取操作基于故障的位置而改变。明确来说,必须确定故障区域是否在正被写入的存储器组件处或故障区域是否在相同条带中的不同存储器组件中,包含确定故障区域是否是在raid奇偶校验地址处。
[0101]
步骤1125包含当故障的地址是在正被写入且图5中先前论述的位置处时必要的补偿步骤。在此案例中,在确定用户数据的写入操作是对特定条带内的作为故障存储器组件的位置的位置进行之后,对故障存储器组件的补偿包括从特定条带中的非故障存储器组件中的剩余者读取用户数据及对从非故障存储器组件中的剩余者读取的现存数据与将写入故障存储器组件的用户数据执行逻辑xor运算。逻辑xor运算的结果是产生接着被存储于特定条带中的新raid奇偶校验值。
[0102]
图5说明raid奇偶校验值必须被更新以反映正尝试被写入存储器组件510-5中的数据,其中确定新raid奇偶校验值的过程通过从除了故障存储器组件外的所有存储器组件位置执行读取操作,将它们(包含正尝试被写入故障存储器组件的数据)加总并产生接着被写入条带的raid奇偶校验地址的新raid奇偶校验值来完成。
[0103]
步骤1130包含当故障的地址并非是在正被写入的位置处而是在相同条带内的不同位置处(如先前在图6中论述)时必要的补偿步骤。在此案例中,在确定用户数据到特定条带内的第一位置的写入操作(其中故障存储器组件处于特定条带内的第二位置处)之后,对故障存储器组件的补偿包括:从第一位置读取现存用户数据;读取现存raid奇偶校验数据;及基于对来自第一位置的现存用户数据、现存raid奇偶校验数据及新用户数据执行逻辑xor来产生新raid奇偶校验值。接着,步骤引导将新用户数据及新raid奇偶校验值存储于特定条带中。
[0104]
如图6中论述,在写入操作中的新数据可被写入可操作存储器组件中之前,必须既在raid奇偶校验位置处又从希望被写入的存储器组件位置执行读取操作。因此,在新数据可被写入可操作存储器组件之前,将存储器组件、raid奇偶校验存储器组件中现存的数据的加总(例如逻辑xor)与所表示的新数据进行加总。加总的结果是随后被写入raid奇偶校验存储器组件的经更新raid奇偶校验值且还允许新数据被写入存储器组件中。
[0105]
如图7中论述,如果故障存储器组件是保持raid奇偶校验值的组件,那么写入操作正常继续,从而确认raid奇偶校验值是不存在的且因此如果那个条带中的另一存储器组件发生故障,那么恢复将是不可能的。
[0106]
描述及摘要章节可陈述如由发明人考虑的本公开的一或多个但并非全部示范性实施例,且因此,不希望以任何方式限制本公开及所附权利要求书。
[0107]
本公开的实施例已在上文在说明指定功能及其关系的实施方案的功能构建块的帮助下进行描述。这些功能构建块的边界在本文中为了方便描述而任意定义。只要可适当执行指定功能及其关系,就可定义替代边界。
[0108]
特定实施例的前述描述将因此完全揭示本公开的一般性质,使得其他人可通过在所属领域内应用知识来在无过度实验情况下针对各种应用容易地修改及/或调适此类特定实施例,而不会背离本公开的一般概念。因此,基于本文中呈现的教示及指导,此类调适及修改希望在所公开实施例的等效物的意义及范围内。应理解,本文中的用词或术语是用于描述而非限制目的,使得本说明书的术语或用词将由所属领域的技术人员依据教示及指导来解译。
[0109]
本公开的广度及范围不应受上述示范性实施例中的任一者限制。
[0110]
已呈现本公开的示范性实施例。本公开不限于这些实例。本文中呈现这些实例用于说明目的而非限制。相关领域的技术人员基于本文中包含的教示将明白替代物(包含本文中描述的那些等效物、扩展、变化、导出物等)。此类替代物落于本公开的范围及精神内。
[0111]
本文中包含的公开内容包含例如,实例1是一种设备,其与存储器错误恢复相关且包含包括多个存储器通道的独立装置冗余阵列(raid)存储器控制器。所述设备可包含多个存储器阵列,其中每一存储器阵列可耦合到所述多个存储器通道中的存储器通道,其中每一存储器阵列包括多个存储器组件,且其中每一存储器阵列经配置有多个条带。所述设备可经配置使得在用户数据到存储器阵列的特定条带内的位置的写入操作中,所述特定条带包括故障存储器组件。在此情况下,所述raid存储器控制器经配置以确定并补偿所述故障存储器组件以允许所述故障存储器组件中的所述用户数据的恢复。
[0112]
实例2是根据任何先前条款所述的设备,其中所述raid存储器控制器的每一存储器通道包括经配置以检测用户数据块(udb)内的存储器错误的循环冗余校验逻辑。实例3是根据任何先前条款所述的设备,所述故障存储器组件的地址被记录。实例4是根据任何先前条款所述的设备,其中在启动写入操作之前,将所述写入操作的地址与所述故障存储器组件的所述经记录地址进行比较以确定将用于所述故障存储器组件中的所述用户数据的恢复的补偿类型。实例5是根据任何先前条款所述的设备,其进一步包括用户数据从包括故障存储器组件的所述存储器阵列的特定条带的读取操作,所述raid存储器控制器经配置以从所述存储器阵列的所述特定条带中的非故障存储器组件中的剩余者读取所述用户数据,对所述读取数据执行逻辑xor运算及获得与所述故障存储器组件相关联的所述用户数据。实例6是根据任何先前条款所述的设备,其中在用户数据到所述存储器阵列的所述特定条带内的位置的所述写入操作中,其中所述特定条带包括所述条带的所述位置处的故障存储器组件,所述raid存储器控制器经配置以补偿所述故障存储器组件包括:从所述存储器阵列的所述特定条带中的非故障存储器组件中的剩余者读取用户数据;对从非故障存储器组件中的所述剩余者读取的现存数据与将写入所述故障存储器组件的所述用户数据执行逻辑xor运算;及产生将存储于所述特定条带中的raid奇偶校验值。实例7是根据任何先前条款所述的设备,其中在新用户数据到所述存储器阵列的所述特定条带内的第一位置的所述写入操作中,其中所述特定条带包括所述条带的第二用户数据位置处的故障存储器组件,所
述raid存储器控制器经配置以补偿所述故障存储器组件包括:从所述第一位置读取现存用户数据;读取现存raid奇偶校验数据;对来自所述第一位置的所述现存用户数据、所述现存raid奇偶校验数据及所述新用户数据执行逻辑xor,及获得新raid奇偶校验值,其中所述新用户数据及新raid奇偶校验值被存储于所述特定条带中。实例8是根据任何先前条款所述的设备,其中在新用户数据到所述特定条带内的位置的所述写入操作中,其中所述特定条带包括所述条带的raid奇偶校验位置处的故障存储器组件,其中对所述故障存储器组件的所述补偿包括将所述新用户数据写入所述位置及确定所述raid奇偶校验值已损坏。实例9是根据任何先前条款所述的设备,其中每一存储器阵列包括raid奇偶校验旋转。实例10是根据任何先前条款所述的设备,其中所述raid存储器控制器经实施为raid-5单故障恢复。
[0113]
本文中包含的公开内容可包含一种方法,例如,用于存储器错误恢复的实例11包括:确定在循环冗余校验-独立装置冗余阵列(crc-raid)机制中存储器组件已遭受硬故障。所述方法包含:确定所述存储器组件故障的位置,其中所述crc-raid机制包括经配置为多个条带的多个存储器组件;及启动用户数据到特定条带内的位置的写入操作,其中所述特定条带含有故障存储器组件。所述方法进一步包含补偿所述故障存储器组件,其中所述补偿包括在所述用户数据的写入之前的多个读取操作。
[0114]
实例12是根据任何先前条款所述的方法,其中所述crc-raid机制包括经配置以检测用户数据块(udb)内的存储器错误的循环冗余校验逻辑。实例13是根据任何先前条款所述的方法,其进一步包括记录所述故障存储器组件的所述位置。实例14是根据任何先前条款所述的方法,其中所述确定存储器组件故障的位置是基于所述记录所述故障存储器组件的所述位置。实例15是根据任何先前条款所述的方法,其进一步包括启动用户数据从包括故障存储器组件的特定条带的读取操作,其中所述读取操作包括:从所述特定条带中的非故障存储器组件中的剩余者读取数据;对所述读取数据执行逻辑xor运算;及获得与所述故障存储器组件相关联的所述用户数据。实例16是根据任何先前条款所述的方法,其进一步包括确定用户数据到特定条带内的位置的所述写入操作是所述故障存储器组件的所述位置,其中对所述故障存储器组件的所述补偿包括:从所述特定条带中的非故障存储器组件中的剩余者读取用户数据;对从非故障存储器组件中的所述剩余者的读取的现存数据与将写入所述故障存储器组件的所述用户数据执行逻辑xor运算;及产生将存储于所述特定条带中的raid奇偶校验值。实例17是根据任何先前条款所述的方法,其进一步包括确定用户数据到特定条带内的第一位置的所述写入操作,其中所述故障存储器组件在所述特定条带内的第二位置处,其中对所述故障存储器组件的所述补偿包括从所述第一位置读取现存用户数据;读取现存raid奇偶校验数据;基于对来自所述第一位置的所述现存用户数据、所述现存raid奇偶校验数据及新用户数据执行逻辑xor产生来新raid奇偶校验值;及将所述新用户数据及新raid奇偶校验值存储于所述特定条带中。实例18是根据任何先前条款所述的方法,其进一步包括确定用户数据到特定条带内的位置的所述写入操作,其中所述故障存储器组件在所述特定条带内的第二位置处。实例19是根据任何先前条款所述的方法,其中所述crc-raid机制实施raid奇偶校验旋转。实例20是根据任何先前条款所述的方法,其中所述crc-raid机制经实施为raid-5单故障恢复。
[0115]
提供本文中的描述以使所属领域的技术人员能制作或使用本公开。所属领域的技术人员将明白对本公开的各种修改,且本文中定义的通用原理可应用于其它变化,而不背
离本公开的范围。因此,本公开不限于本文中描述的实例及设计,而是应符合与本文中公开的原理及新颖特征一致的最广范围。

技术特征:
1.一种设备,其包括:独立装置冗余阵列raid存储器控制器,其包括多个存储器通道;及多个存储器阵列,其中每一存储器阵列耦合到所述多个存储器通道中的存储器通道,且其中每一存储器阵列包括多个存储器组件,且其中每一存储器阵列经配置有多个条带;其中,在用户数据到存储器阵列的特定条带内的位置的写入操作中,其中所述特定条带包括故障存储器组件,所述raid存储器控制器经配置以确定并补偿所述故障存储器组件以允许所述故障存储器组件中的所述用户数据的恢复。2.根据权利要求1所述的设备,其中所述raid存储器控制器的每一存储器通道包括经配置以检测用户数据块udb内的存储器错误的循环冗余校验逻辑。3.根据权利要求1所述的设备,其中所述故障存储器组件的地址被记录。4.根据权利要求3所述的设备,其中在启动写入操作之前,将所述写入操作的地址与所述故障存储器组件的所述经记录地址进行比较以确定将用于所述故障存储器组件中的所述用户数据的恢复的补偿类型。5.根据权利要求1所述的设备,其进一步包括用户数据从包括故障存储器组件的所述存储器阵列的特定条带的读取操作,所述raid存储器控制器经配置以从所述存储器阵列的所述特定条带中的非故障存储器组件中的剩余者读取所述用户数据,对所述读取数据执行逻辑xor运算及获得与所述故障存储器组件相关联的所述用户数据。6.根据权利要求1所述的设备,其中在用户数据到所述存储器阵列的所述特定条带内的位置的所述写入操作中,其中所述特定条带包括所述条带的所述位置处的故障存储器组件,所述raid存储器控制器经配置以补偿所述故障存储器组件包括:从所述存储器阵列的所述特定条带中的非故障存储器组件中的剩余者读取用户数据;对从非故障存储器组件中的所述剩余者读取的现存数据与将写入所述故障存储器组件的所述用户数据执行逻辑xor运算;及产生将存储于所述特定条带中的raid奇偶校验值。7.根据权利要求1所述的设备,其中在新用户数据到所述存储器阵列的所述特定条带内的第一位置的所述写入操作中,其中所述特定条带包括所述条带的第二用户数据位置处的故障存储器组件,所述raid存储器控制器经配置以补偿所述故障存储器组件包括:从所述第一位置读取现存用户数据;读取现存raid奇偶校验数据;对来自所述第一位置的所述现存用户数据、所述现存raid奇偶校验数据及所述新用户数据执行逻辑xor,及获得新raid奇偶校验值,其中所述新用户数据及新raid奇偶校验值被存储于所述特定条带中。8.根据权利要求1所述的设备,其中在新用户数据到所述特定条带内的位置的所述写入操作中,其中所述特定条带包括所述条带的raid奇偶校验位置处的故障存储器组件,其中对所述故障存储器组件的所述补偿包括将所述新用户数据写入所述位置及确定所述raid奇偶校验值已损坏。9.根据权利要求1所述的设备,其中每一存储器阵列包括raid奇偶校验旋转。10.根据权利要求1所述的设备,其中所述raid存储器控制器经实施为raid-5单故障恢复。11.一种用于存储器错误恢复的方法,其包括:确定在循环冗余校验-独立装置冗余阵列crc-raid机制中存储器组件已遭受硬故障;
确定所述存储器组件故障的位置,其中所述crc-raid机制包括经配置为多个条带的多个存储器组件;启动用户数据到特定条带内的位置的写入操作,其中所述特定条带含有故障存储器组件;及补偿所述故障存储器组件,其中所述补偿包括在所述用户数据的写入之前的多个读取操作。12.根据权利要求11所述的方法,其中所述crc-raid机制包括经配置以检测用户数据块udb内的存储器错误的循环冗余校验逻辑。13.根据权利要求11所述的方法,其进一步包括记录所述故障存储器组件的所述位置。14.根据权利要求13所述的方法,其中所述确定存储器组件故障的位置是基于所述记录所述故障存储器组件的所述位置。15.根据权利要求11所述的方法,其进一步包括启动用户数据从包括故障存储器组件的特定条带的读取操作,其中所述读取操作包括:从所述特定条带中的非故障存储器组件中的剩余者读取数据;对所述读取数据执行逻辑xor运算;及获得与所述故障存储器组件相关联的所述用户数据。16.根据权利要求11所述的方法,其进一步包括确定用户数据到特定条带内的位置的所述写入操作是所述故障存储器组件的所述位置,其中对所述故障存储器组件的所述补偿包括:从所述特定条带中的非故障存储器组件中的剩余者读取用户数据;对从非故障存储器组件中的所述剩余者读取的现存数据与将写入所述故障存储器组件的所述用户数据执行逻辑xor运算;及产生将存储于所述特定条带中的raid奇偶校验值。17.根据权利要求11所述的方法,其进一步包括确定用户数据到特定条带内的第一位置的所述写入操作,其中所述故障存储器组件在所述特定条带内的第二位置处,其中对所述故障存储器组件的所述补偿包括:从所述第一位置读取现存用户数据;读取现存raid奇偶校验数据;基于对来自所述第一位置的所述现存用户数据、所述现存raid奇偶校验数据及新用户数据执行逻辑xor来产生新raid奇偶校验值;及将所述新用户数据及新raid奇偶校验值存储于所述特定条带中。18.根据权利要求11所述的方法,其进一步包括确定用户数据到特定条带内的位置的所述写入操作,其中所述故障存储器组件在所述特定条带内的第二位置处。19.根据权利要求11所述的方法,其中所述crc-raid机制实施raid奇偶校验旋转。20.根据权利要求11所述的方法,其中所述crc-raid机制经实施为raid-5单故障恢复。

技术总结
本公开涉及从存储器系统中的硬故障进行CRC RAID恢复。呈现一种用于CXL组件中的存储器错误恢复的系统及方法。所述方法包含确定在循环冗余校验-独立装置冗余阵列CRC-RAID机制中存储器组件已遭受硬故障。所述方法进一步包含确定所述存储器组件故障的位置,其中所述CRC-RAID机制包括经配置为多个条带的多个存储器组件且启动用户数据到特定条带内的位置的写入操作,其中所述特定条带含有故障存储器组件。所述方法包含补偿所述故障存储器组件,其中所述补偿包括在所述用户数据的写入之前的多个读取操作。的多个读取操作。的多个读取操作。


技术研发人员:M
受保护的技术使用者:美光科技公司
技术研发日:2023.01.18
技术公布日:2023/8/1
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐