首页 / 专利库 / 软件 / 后台任务 / 控制包括只读闪速数据存储设备的独立磁盘冗余阵列(RAID)

控制包括只读闪速数据存储设备的独立磁盘冗余阵列(RAID)

阅读:1024发布:2020-06-12

专利汇可以提供控制包括只读闪速数据存储设备的独立磁盘冗余阵列(RAID)专利检索,专利查询,专利分析的服务。并且本公开的 实施例 涉及控制包括只读闪速数据存储设备的独立磁盘冗余阵列(RAID)。提供了一种用于控制独立磁盘冗余阵列(RAID)的方法。该方法包括 计算机系统 将数据写到RAID和从RAID读取数据,其中RAID包括 控制器 和多个数据存储设备,其包括闪速数据存储设备。该方法还包括控制器检测闪速数据存储设备是否在只读模式中,并且控制器响应于检测闪速数据存储设备在只读模式中,阻止将数据写到闪速数据存储设备的尝试。可选地,当闪速数据存储设备在只读模式中时,控制器可以将旨在针对闪速数据存储设备的写重定向到另一数据存储设备或者高速缓存 存储器 上的空的数据存储空间,或者鉴于旨在被写入的数据, 修改 主条带的奇偶校验条带。还公开了一种计算机系统。,下面是控制包括只读闪速数据存储设备的独立磁盘冗余阵列(RAID)专利的具体信息内容。

1.一种方法,包括:
计算机系统将数据写入到独立磁盘冗余阵列并且从所述独立磁盘冗余阵列读取数据,其中所述独立磁盘冗余阵列包括控制器和多个数据存储设备,并且其中所述多个数据存储设备包括闪速数据存储设备;
所述控制器检测所述闪速数据存储设备是否在只读模式中;以及
所述控制器响应于检测到所述闪速数据存储设备在只读模式中,阻止将数据写入到所述闪速数据存储设备的尝试。
2.根据权利要求1所述的方法,还包括:
所述控制器响应于所述闪速数据存储设备在只读模式中,将旨在针对所述闪速数据存储设备的写入重定向到所述多个数据存储设备内的另一个数据存储设备上的空的数据存储空间。
3.根据权利要求1所述的方法,还包括:
所述控制器响应于所述闪速数据存储设备在只读模式中,将旨在针对所述闪速数据存储设备的写入重定向到对所述控制器可访问的高速缓存存储器
4.根据权利要求1所述的方法,还包括:
所述控制器修改主条带的奇偶校验条带,如同所述闪速数据存储设备只读驱动器能够接受写入;以及
所述控制器存储在所述闪速数据存储设备在只读模式中时由于旨在针对所述闪速数据存储设备的写入而被修改的每个奇偶校验条带的列表。
5.根据权利要求4所述的方法,还包括:
响应于所述控制器确定在所述闪速数据存储设备在所述只读模式中时所述数据没有被修改,直接从所述只读模式中的所述闪速数据存储设备读取数据;以及响应于所述控制器确定在所述闪速数据存储设备在所述只读模式中时所述数据被修改,使用相同主条带中的、被存储在其他数据存储设备上的经修改的所述奇偶校验和所述数据以重新生成针对所述闪速数据存储设备的相关联的次条带。
6.根据权利要求1所述的方法,还包括:
通过读取被存储在所述闪速数据存储设备上的未修改的数据和被存储在所述设备高速缓存、存储控制器高速缓存、所述阵列内的另一个数据存储设备上的经修改的数据的组合或者使用奇偶校验重新生成所述数据,创建一个或多个文件的备份。
7.根据权利要求1所述的方法,还包括:
通过读取被存储在所述闪速数据存储设备上的未修改的数据和被存储在所述设备高速缓存、存储控制器高速缓存、所述阵列内的另一个数据存储设备上的经修改的数据的组合或者使用奇偶校验重新生成所述数据,在第二数据存储设备上创建整个闪速数据存储设备的副本;以及
利用所述第二数据存储设备替换所述闪速数据存储设备。
8.根据权利要求1所述的方法,其中响应于在写入到所述闪速数据存储设备时的写入错误,执行所述控制器检测所述闪速数据存储设备是否在只读模式中的步骤。
9.根据权利要求8所述的方法,还包括:
响应于在写入到所述闪速数据存储设备时的写入错误并且检测到所述闪速数据存储设备不在只读模式中,所述控制器对在写入到所述闪速数据存储设备时发生的写入错误的数目进行计数;以及
所述控制器响应于写入错误的所述数目超过写入错误的设定点数目,将所述闪速数据存储设备标记为废止的。
10.根据权利要求1所述的方法,还包括:
仅当所述闪速数据存储设备不在只读模式中并且写入错误的数目超过写入错误的设定点数目,所述控制器才将所述闪速数据存储设备当作废止的。
11.根据权利要求1所述的方法,其中所述多个数据存储设备包括至少一个硬盘驱动器。
12.根据权利要求1所述的方法,其中所述闪速数据存储设备包括存储所述闪速存储设备是否在只读模式中的指示的寄存器集。
13.根据权利要求1所述的方法,还包括:
响应于所述闪速数据存储设备在只读模式中,关闭所述计算机系统的、将涉及将数据写入到所述闪速数据存储设备的后台任务
14.根据权利要求1所述的方法,其中所述独立磁盘冗余阵列存储由所述独立磁盘冗余阵列连接到的所述计算机系统使用的操作系统
15.一种计算机系统,包括:
计算机,所述计算机被配置为将数据写入到独立磁盘冗余阵列并且从所述独立磁盘冗余阵列读取数据,其中所述独立磁盘冗余阵列包括控制器和多个数据存储设备,并且其中所述多个数据存储设备包括闪速数据存储设备;
所述控制器,所述控制器被配置为检测所述闪速数据存储设备是否在只读模式中;以及
所述控制器被配置为响应于检测到所述闪速数据存储设备在只读模式中,阻止将数据写入到所述闪速数据存储设备的尝试。
16.根据权利要求15所述的计算机系统,其中所述控制器被配置为:
响应于所述闪速数据存储设备在只读模式中,将旨在针对所述闪速数据存储设备的写入重定向到所述多个数据存储设备内的另一个数据存储设备上的空的数据存储空间。
17.根据权利要求15所述的计算机系统,其中所述控制器被配置为响应于所述闪速数据存储设备在只读模式中,将旨在针对所述闪速数据存储设备的写入重定向到对所述控制器可访问的高速缓存存储器。
18.根据权利要求15所述的计算机系统,其中所述控制器被配置为:
修改主条带的奇偶校验条带,如同所述闪速数据存储设备只读驱动器能够接受写入;
以及
存储在所述闪速数据存储设备在只读模式中时由于旨在针对所述闪速数据存储设备的写入而被修改的每个奇偶校验条带的列表。
19.根据权利要求18所述的计算机系统,还被配置为:
响应于所述控制器确定在所述闪速数据存储设备在所述只读模式中时所述数据没有被修改,直接从所述只读模式中的所述闪速数据存储设备读取数据;以及响应于所述控制器确定在所述闪速数据存储设备在所述只读模式中时所述数据被修改,使用相同主条带中的、被存储在其他数据存储设备上的经修改的所述奇偶校验和所述数据以重新生成针对所述闪速数据存储设备的相关联的次条带。
20.根据权利要求15所述的计算机系统,还被配置为:
通过读取被存储在所述闪速数据存储设备上的未修改的数据和被存储在所述设备高速缓存、存储控制器高速缓存、所述阵列内的另一个数据存储设备上的经修改的数据的组合或者使用奇偶校验重新生成所述数据,创建一个或多个文件的备份。
21.根据权利要求15所述的计算机系统,还被配置为:
通过读取被存储在所述闪速数据存储设备上的未修改的数据和被存储在所述设备高速缓存、存储控制器高速缓存、所述阵列内的另一个数据存储设备上的经修改的数据的组合或者使用奇偶校验重新生成所述数据,在第二数据存储设备上创建整个闪速数据存储设备的副本;以及
利用所述第二数据存储设备替换所述闪速数据存储设备。
22.根据权利要求15所述的计算机系统,其中所述控制器被配置为响应于在写入到所述闪速数据存储设备时的写入错误,执行检测所述闪速数据存储设备是否在只读模式中。
23.根据权利要求22所述的计算机系统,其中所述控制器被配置为:
响应于在写入到所述闪速数据存储设备时的写入错误并且检测到所述闪速数据存储设备不在只读模式中,对在写入到所述闪速数据存储设备时发生的写入错误的数目进行计数;以及
响应于写入错误的所述数目超过写入错误的设定点数目,将所述闪速数据存储设备标记为废止的。
24.根据权利要求15所述的计算机系统,其中所述控制器被配置为:
仅当所述闪速数据存储设备不在只读模式中并且写入错误的数目超过写入错误的设定点数目,才将所述闪速数据存储设备当作废止的。
25.根据权利要求15所述的计算机系统,其中所述多个数据存储设备包括至少一个硬盘驱动器。
26.根据权利要求15所述的计算机系统,其中所述闪速数据存储设备包括存储所述闪速存储设备是否在只读模式中的指示的寄存器集。
27.根据权利要求15所述的计算机系统,被配置为:
响应于所述闪速数据存储设备在只读模式中,关闭所述计算机的、将涉及将数据写入到所述闪速数据存储设备的后台任务。
28.根据权利要求15所述的计算机系统,其中所述独立磁盘冗余阵列被配置为存储由所述独立磁盘冗余阵列连接到的所述计算机使用的操作系统。

说明书全文

控制包括只读闪速数据存储设备的独立磁盘冗余阵列(RAID)

技术领域

[0001] 本发明涉及数据存储的管理,特别地包括独立磁盘冗余阵列的使用。

背景技术

[0002] 在现代计算机系统中,对于数据可靠性和输入/输出性能的需求已经导致在多个数据存储设备中间划分和复制数据的一系列数据存储方案的开发。这样的存储方案通常被称为独立磁盘冗余阵列(RAID)。RAID系统通过使用专用硬件软件将诸如磁盘驱动器的物理数据存储设备组合为单个物理单元。硬件方案将通常被设计为将自身呈现给所附接的系统作为单个逻辑设备或者驱动器,使得操作系统不知道底层阵列的技术工作。备选地,软件方案可以实现在操作系统中,并且将类似地将RAID驱动器呈现给应用程序作为单个设备或者驱动器。驱动器的最小数目和数据可靠性的平取决于被实现的RAID方案的类型。
[0003] 最初,存在五个RAID级别,其中,不同的RAID级别使用被称为镜像、加条带(striping)和错误纠正的一个或多个技术。镜像包含将数据拷贝到超过一个磁盘,加条带涉及跨越超过一个磁盘散布数据,并且错误纠正涉及存储冗余数据(奇偶校验)以允许问题被检测并且可能固定。
[0004] RAID 0在没有奇偶校验的情况下跨越两个或两个以上磁盘均匀地散布数据。因此,可以说,RAID 0在没有任何冗余的情况下提供加条带。RAID 0适于其中存在很少或者没有关于数据完整性的关心的高性能。
[0005] RAID 1阵列提供两个或两个以上磁盘上的数据的完整并且精确 的拷贝。因此,RAID 1包括完整的冗余或者镜像。RAID 1的性能是好的,并且可以可选地包括使得磁盘的不同区段的独立读取能够进一步增加速度的双工。由于伙伴磁盘中所维持的完整复制,因而RAID 1的数据完整性也是好的。
[0006] 一般而言,RAID 3利用专用奇偶校验磁盘提供字节级加条带,RAID 4利用专用奇偶校验磁盘提供级加条带,并且RAID 5利用遍及所有成员磁盘分布的奇偶校验数据提供块级加条带。RAID 5已经实现由于其冗余的低成本的流行度。通常,利用用于奇偶校验计算的硬件支持实现RAID 5。针对完整RAID 5配置一般地要求最少三个磁盘。RAID 5提供针对大多数服务器工作量的价格与性能之间的平衡,并且通过实现被称为单个方程单个未知数(single equation single unknown)的技术提供单驱动故障容限。校验和信息均匀地分布在所有驱动器之上,并且校验和更新操作在阵列内均匀地平衡。
[0007] 在读操作期间,通常未读取奇偶校验块,这是因为这将是不必要的开销并且将降低性能。然而,当数据扇区的读取导致CRC错误时(每个扇区也由CRC保护),读取奇偶校验块。在这种情况下,条带中的剩余数据块中的每个数据块内与条带中的奇偶校验块内的相同相对位置中的扇区被用于重建错误扇区。因此,CRC错误对主计算机是隐藏的。同样地,如果磁盘在阵列中故障,则来自尚存磁盘的奇偶校验块与来自尚存磁盘的数据块数学地组合以重建“在飞行中”故障的驱动器上的数据。然而,在其中存在每条带的单个奇偶校验块的RAID 5中,第二个驱动器的故障导致全部数据丢失。RAID级别的前述讨论旨在提供包括在不同RAID级别中的特征的一般示例,并且不旨在是RAID级别的综合性列表或者描述。
[0008] 不管RAID级别如何,已经在机械硬盘驱动器的使用周围已经建立RAID栈。然而,闪速数据存储设备不断增长地使用在各种应用中。闪速数据存储设备更快并且可以提供利用机械硬盘驱动器不可能实现的响应时间。然而,闪速数据存储设备以可能导致操作问题的方式与机械硬盘驱动器不同地操作。例如,闪速数据存储设备具 有对设备可以写入的次数的非常可测量的限制。为了允许用户仍然访问其数据,闪速数据存储设备将进入只读模式,使得即使系统不再能够将数据写入到设备,计算机系统也仍然可以从设备读取数据。这在RAID阵列中是有问题的,因为RAID控制器将在所尝试的写入失败时使驱动器废止。而且,这样的写入可以发生在这样的情况中,诸如在用户甚至将不试图访问数据时清洗的后台数据的情况。此外,启动操作系统以便尝试救援来自设备的数据的动作可能触发将使得设备故障并且变得被标记为废止的写入。

发明内容

[0009] 本发明的一个实施例提供了一种控制独立磁盘冗余阵列(RAID)的方法。方法包括计算机系统将数据写入到独立磁盘冗余阵列并且从独立磁盘冗余阵列读取数据,其中独立磁盘冗余阵列包括控制器和多个数据存储设备,并且其中多个数据存储设备包括闪速数据存储设备。该方法还包括控制器检测闪速数据存储设备是否在只读模式中,并且控制器响应于检测闪速数据存储设备在只读模式中,阻止将数据写入到闪速数据存储设备的尝试。附图说明
[0010] 图1根据本发明的一个实施例的包括闪速数据存储设备的独立磁盘冗余阵列(RAID)的示图。
[0011] 图2是根据本发明的一个实施例的包括只读模式中的闪速数据存储设备的独立磁盘冗余阵列(RAID)的示图。
[0012] 图3是根据本发明的一个实施例的包括具有更新的数据的替换闪速数据存储设备的独立磁盘冗余阵列(RAID)的示图。
[0013] 图4A-B是处理涉及独立磁盘冗余阵列(RAID)中的闪速数据存储设备的读写操作的方法的流程图

具体实施方式

[0014] 本发明的一个实施例提供了一种控制独立磁盘冗余阵列(RAID)的方法。该方法包括计算机系统将数据写入到独立磁盘冗余阵列并且从独立磁盘冗余阵列读取数据,其中独立磁盘冗余阵列包括控制器和多个数据存储设备,并且其中多个数据存储设备包括闪速数据存储设备。该方法还包括控制器检测闪速数据存储设备是否在只读模式中,并且控制器响应于检测闪速数据存储设备在只读模式中,阻止将数据写入到闪速数据存储设备的尝试。然而,作为在只读模式中的结果,闪速数据存储设备被标记为废止的,并且RAID阵列能够继续跨越多个数据存储设备存储数据。闪速数据存储设备可以包括存储闪速存储设备是否在只读模式中的指示的寄存器集。可选地,多个数据存储设备可以包括至少一个硬盘驱动器。
[0015] 在一个选项中,控制器可以响应于闪速数据存储设备在只读模式中,将旨在针对闪速数据存储设备的写入重定向到多个数据存储设备内的另一个数据存储设备上的空的数据存储空间。当数据被写入到空的数据存储空间时,数据与写原始预期或者引导到的闪速数据存储设备的次条带相关联。
[0016] 在类似选项中,控制器可以响应于闪速数据存储设备在只读模式中,将旨在针对数据存储设备的写入重定向到对控制器可访问的高速缓存存储器。高速缓存存储器可以与控制器直接附接或相关联或者高速缓存存储器可以是闪速数据存储设备的一部分。
[0017] 在又一选项中,控制器可以修改主条带的奇偶校验条带,如若对闪速数据存储设备的写已经发生,并且控制器存储其中在闪速数据存储设备在只读模式中时由于旨在针对闪速数据存储设备的写入而修改的奇偶校验条带的每个主条带的列表。根据该选项,响应于控制器确定在闪速数据存储设备在只读模式中时数据尚未修改,可以直接从只读模式中的闪速数据存储设备读取数据。例如,控制器可以查看其中修改奇偶校验条带的主条带的列表,并且如果待从闪速数据存储设备读取的数据未定位在那些主条带中的任一个主条带中,那么可以在没有任何附加开销的情况下,直接从闪速数据存储 设备将数据读取为正常的。然而,响应于控制器确定在闪速数据存储设备在只读模式中时修改了数据,控制器可以使用相同主条带中的、被存储在其他数据存储设备上的经修改的奇偶校验条带和数据重新生成针对闪速数据存储设备的相关联的次条带。换句话说,如果控制器已经将主条带列出为已经修改,那么实际上存储在闪速数据存储设备的相关联的次条带上的数据被认为是失效或者坏的。但是由于修改奇偶校验条带以反映旨在写到闪速数据存储设备的该次条带的数据,可以在该次条带中引导的读取的满足中重新生成旨在写入的数据。虽然数据的重新生成要求附加的计算或者开销,但是即使闪速数据存储设备在只读模式中,前述操作也允许独立磁盘冗余阵列在不丢失数据的情况下继续执行读写功能。
[0018] 根据本发明的另一实施例,方法还可以包括通过读取被存储在闪速数据存储设备上的未修改数据和被存储在设备高速缓存、存储控制器高速缓存、阵列内的另一个数据存储设备上的经修改的数据或者使用奇偶校验重新生成数据,来创建一个或多个文件的备份。实际上,可以从设备高速缓存、存储控制器高速缓存、阵列内的另一个数据存储设备的任何组合或者使用奇偶校验重新生成数据,来读取经修改的数据。
[0019] 在又一实施例中,方法可以包括通过读取被存储在闪速数据存储设备上的未修改的数据和被存储在设备高速缓存、存储控制器高速缓存、阵列内的另一个数据存储设备上的经修改的数据或者使用奇偶校验重新生成所述数据,来在第二数据存储设备上创建将整个闪速数据存储设备的拷贝。实际上,可以从设备高速缓存、存储控制器高速缓存、阵列内的另一数据存储设备的任何组合或者使用奇偶校验重新生成数据,来读取经修改的数据。可选地,可以利用第二数据存储设备替换闪速数据存储设备。当第二数据存储设备已经替换闪速数据存储设备,那么可以删除存储与闪速数据存储设备相关联的数据的任何设备高速缓存、存储控制器高速缓存或者阵列内的数据存储设备。应当理解,第二数据存储设备还可以是第二闪速 数据存储设备或者其他类型的数据存储装置,诸如硬盘驱动器。
[0020] 在一个选项中,控制器响应于在写入到闪速数据存储设备时的写入错误,检测闪速数据存储设备是否在只读模式中。当控制器在任何写入尝试之前可以检测闪速数据存储设备是否在只读模式中时,等待写入错误阻止在闪速数据存储设备的每次写入之前执行该检测的开销。在另一选项中,控制器可以响应于在写入到闪速数据存储设备的写入错误并且检测闪速数据存储设备不在只读模式中,对在写入到闪速数据存储设备时所发生的写入错误的数目进行计数。随后,控制器可以响应于写入错误的数目超过写入错误的设定点数目,将闪速数据存储设备标记为废止的。
[0021] 在另一选项中,方法还可以包括响应于闪速数据存储设备在只读模式中,关闭计算机系统的、将涉及将数据写入到闪速数据存储设备的后台任务。关闭后台任务将具有减少将需要被写入到阵列的其他设备上的空的空间、被写入到高速缓存或者被反映在奇偶校验的修改中的数据量的效果。
[0022] 图1根据本发明的一个实施例的包括闪速数据存储设备的独立磁盘冗余阵列(RAID)10的示图。独立磁盘冗余阵列10包括控制器20和形成阵列的多个数据存储设备30。控制器20连接用于与计算机系统12通信并且还连接用于与阵列中的数据存储设备30中的每个数据存储设备通信。优选地,计算机系统12将独立磁盘冗余阵列10视为单个逻辑实体并且将读和写指令发送给控制器20。负责管理如何将数据存储在跨越阵列的主条带中的是控制器20。通过可用的数据存储设备30的数目和所实现的RAID级别来影响控制器的精确操作和阵列的配置。图1中所示的独立磁盘冗余阵列10的非限制性示例包括操作为RAID级别5的四个数据存储设备30,其利用分布的奇偶校验表征块级加条带。例如,在主条带1中,数据A被存储在数据存储设备1上的次条带中,数据B被存储在数据存储设备2上的次条带中,数据C被存储在数据存储设备3上的次条带中,并且奇偶校验P1(ABC)存储在数据存储设备4上的次条带中。使 用第一主条带中的数据A、数据B和数据C作为输入、使用预先确定的奇偶校验计算来计算奇偶校验P1(ABC)。奇偶校验计算的一个示例是跨条带的数据的异OR(XOR)。
其他RAID级别还可以包含本发明的特征。
[0023] 如所示,数据存储设备30之一是闪速数据存储设备40。闪速数据存储设备40可以包括指示闪速数据存储设备40是在正常模式还是在只读模式中的寄存器集42。在正常模式中,控制器20可以读取和写入设备上的任何地方的数据。在只读模式中,控制器20可以仍然读取设备上的任何地方的数据,但是将数据写入到设备的任何尝试将导致写入错误。在优选的实施方式中,控制器20读取寄存器42并且将设备模式的指示存储在与控制器20相关联的存储器中。如所示,控制器20存储指示闪速数据存储设备40当前在正常模式/状态、只读模式/状态还是废止状态中的表22。还示出了控制器20,其存储列出自从闪速数据存储设备40进入只读模式以来已经修改闪速数据存储设备40的那些次条带的第二表24。应当认识到,在只读模式中的闪速数据存储设备的上下文中,术语“经修改的”意指闪速数据存储设备上的数据是失效或者坏的。根据各种实施例,针对次条带的“经修改的”数据可以存储在其他数据存储设备30、设备高速缓存存储器44、控制器高速缓存存储器26之一上的空的空间中或者通过奇偶校验的重新计算,如本文所描述的。在数据存储在其他数据存储设备、设备高速缓存存储器或者控制器高速缓存存储器之一上的情况下,控制器将数据的位置和相关联的次条带的标识存储在存储器映射26中。虽然其他数据存储设备30(即,设备2、设备3和设备4)可以是硬盘驱动器或者其他类型的数据存储,但是本发明涵盖其中阵列10中的多个数据存储设备30全部是闪速数据存储设备的实施例。
[0024] 图2是根据本发明的一个实施例的包括只读模式中的闪速数据存储设备40的独立磁盘冗余阵列(RAID)10的示图。如所示,闪速数据存储设备40已经改变其状态寄存器集42以指示其现在在只 读模式中。控制器20已经读取状态寄存器集42并且存储具有闪速数据存储设备在只读临界状态中的指示的表22。“只读临界状态”指示闪速存储器设备在只读模式中并且控制器将采取步骤以对阵列10继续读取和写入数据,而没有实际上将数据写入到闪速数据存储设备40。
[0025] 在图2的示例中,控制器20需要将数据存储在主条带3中的次条带G。然而,由于闪速数据存储设备40在只读临界状态中,因而控制器20避免将数据写入到闪速数据存储设备40。相反,控制器20可以将数据存储在其他数据存储设备30、设备高速缓存存储器44、控制器高速缓存存储器26之一上的空的空间32中或者通过奇偶校验P3(GHI)到P3(G'H'I')的计算,如本文所描述的。当将数据存储到另一数据存储设备或者高速缓存存储器时,控制器20将该数据映射到闪速数据存储设备的预期的次条带G,使得在次条带G处引导的任何后续读指令将满足来自其他数据存储设备或者高速缓存存储器的相关部分的数据。当使用奇偶校验修改或者重新计算时,其他数据存储设备30(即,设备3和设备4)上的非奇偶校验次条带写入正常,并且使用设备3上的当前数据H'、设备4上的当前数据I'和旨在写在次条带G之上的数据(G')来计算奇偶校验次条带(即,设备2)。在P3(G'H'I')已经被计算并且存储在设备
2中之后,那么控制器可以清除旨在写到次条带G的数据G'的其存储器。
[0026] 注意,在主条带4中,闪速数据存储设备40上的次条带存储奇偶校验P4(JKL)。在其他数据存储设备之一将发生故障的情况下,控制器20可以仍然读取该奇偶校验P4(JKL)以便重建故障的设备。如果修改次条带J、K或者L中的任一个次条带中的数据,那么奇偶校验应当重新计算。在该实例中,由于经重新计算的奇偶校验不能写入到闪速数据存储设备40,因而控制器可以将经重新计算的奇偶校验存储在其他数据存储设备30、设备高速缓存存储器44或者控制器高速缓存存储器26之一上的空的空间32中。
[0027] 可以提供另一数据存储设备50(即,数据存储设备1A)以便备 份只读闪速数据存储设备40的内容,也许使得另一数据存储设备50可以替换在只读状态中的闪速数据存储设备40。为了进行备份,控制器20将使用其所存储的映射来标识映射到闪速数据存储设备40的任何数据的位置,并且将数据从那些位置拷贝到数据存储设备50的相关次条带。这可以涉及读取存储在其他数据存储设备30、设备高速缓存存储器44或者控制器高速缓存存储器26之一上的先前空的空间32中的数据。此外,当控制器20重新计算奇偶校验而不是将旨在针对闪速存储器的次条带数据写在另一位置中时,那么控制器20必须读取其他数据存储设备30(即,设备2、设备3和设备4)的次条带并且使用与奇偶校验计算(即,XOR)相同的功能确定什么数据旨在写到闪速数据存储设备40。因此,确定然后写到适当的次条带中的备份数据存储设备50的数据。
[0028] 图3是包括替换只读闪速数据存储设备40的具有更新的/当前的数据的新数据存储设备50的独立磁盘冗余阵列(RAID)10的示图。由于可以将数据写到新数据存储设备(即,其在正常模式而非只读模式中),因而控制器20改变其表22以指示新数据存储设备50在正常状态中。因此,控制器20可以将数据读取和写入到整个阵列作为正常的。注意,新数据存储设备50现在存储数据G'。而且,控制器可以删除或者重新使用先前被用于存储不能写到只读闪速数据存储设备40的数据的其他数据存储设备或者高速缓存存储器上的存储器位置。
[0029] 图4A-B提供了用于处理涉及独立磁盘冗余阵列(RAID)中的闪速数据存储设备的读和写操作的方法60的一个实施例的流程图。方法优选地允许只读闪速数据存储设备在不损害阵列的数据完整性的情况下保持阻止标记废止的。
[0030] 在步骤62中,方法确定闪速数据存储设备是否在“只读临界”状态中。如果闪速数据存储设备不在“只读临界”状态中,那么方法转到(即,跟随“否”分支)步骤64,在其中方法确定预期的操作是来自闪存设备的读取还是到闪存设备的写入。如果预期的操作 是来自闪存设备的读取,那么方法转到(即,跟随“读取”分支)步骤66,在其中方法正常读取来自闪存设备的次条带。由于读取功能完成,因而方法结束。如果请求另一读取或者写入,那么方法可以再次开始。
[0031] 如果步骤64确定预期的操作是到闪存设备的写入,那么方法转到(即,跟随“写入”分支)步骤68,在其中方法尝试写入到闪存设备。步骤70然后确定在所尝试的写入期间是否存在写入错误。如果不存在写入错误,那么方法结束。然而,如果步骤70确定存在写入错误,那么方法转到步骤72以确定闪存设备是否在“只读”模式中。如果闪存设备被确定为在只读模式中,那么在步骤74中,控制器存储闪存设备在“只读临界”状态中的指示,使得根据本发明执行附加的程序。在步骤74之后,方法转到图4B(参见连接点“B”)。
[0032] 如果步骤72确定闪存设备不在“只读”模式中,那么步骤76确定与当前写入指令相关联的写入错误的数目是否大于写入错误的设定点数目。如果步骤76实现肯定确定,那么步骤78将闪存设备标记为废止的。备选地,如果步骤76实现否定确定,那么步骤80在返回到步骤70之前执行正常写入错误过程以确定下一个所尝试的写入是否发生写入错误。
[0033] 返回参考步骤62,如果方法确定闪速数据存储设备在“只读临界”状态中,那么方法转到(即,跟随“是”分支)步骤82,在其中方法确定预期的操作是来自闪存设备的读取还是到闪存设备的写入。如果预期的操作是写入操作,那么方法转到图4B(参见连接点“B”)。然而,如果步骤82确定预期的操作是读取操作,那么步骤84确定次条带是否已经先前列出为经修改的。注意,“经修改的”次条带的列表仅包括在闪速数据存储设备进入只读模式之后“经修改的”次条带。因此,“经修改的”列表意指与次条带相关联的数据被存储在其他数据存储设备30、设备高速缓存存储器44或者控制器高速缓存存储器26之一上,或者控制器可以使用跨阵列的相同主条带内的数据和奇偶校验次条带来重新计算期望的数据。如果次条 带没有被列出为经修改的,那么步骤86正常读取来自闪存设备的次条带。如果次条带被列出为已经修改,那么步骤88使用其他数据存储设备上的奇偶校验和数据重新生成次条带,如先前所描述的。备选地或者与重新生成数据进行组合,方法可以使用映射标识其中与次条带相关联存储数据的另一位置。如果步骤82确定预期的操作是写入操作,那么方法转到图4B(参见连接点“B”)。
[0034] 从步骤74或者步骤82中的任一个步骤继续,图4B描述了用于处理在“只读”模式中的闪速数据存储设备上的次条带的写入操作的步骤。在步骤90中,方法确定是否存在阵列中的其他数据存储设备上可用的可用数据存储空间。如果是的话,步骤92将数据存储在另一数据存储设备上并且步骤94存储其中已经存储每个次条带的位置的列表。对于后续读取操作而言,需要位置的该列表。如果按照步骤90存在其他数据存储设备上可用的不足的数据存储空间,那么步骤96确定是否存在设备高速缓存或者控制器高速缓存中可用的足够的可用数据存储空间。如果是的话,那么步骤98将数据存储在可用的高速缓存中并且步骤94存储其中已经存储每个次条带的高速缓存位置的列表。如果按照步骤96存在高速缓存中可用的不足的数据存储空间,那么步骤100修改主条带奇偶校验,如若数据写入到闪存设备。步骤102存储主条带的列表,其中已经修改奇偶校验以反映旨在写到只读闪速数据存储设备的数据。
[0035] 如本领域的技术人员将理解到,本发明的方面可以实现为系统或者方法。因此,本发明的方面可以采取以下形式:完全硬件实施例、完全软件实施例(包括固件、常驻软件、微代码等等)或者可以在本文中全部一般地被称为“电路”、“模块”或者“系统”的组合软件和硬件方面的实施例。在不脱离本发明的范围和精神的情况下,许多修改和变型将对于本领域的技术人员是明显的。选择和描述实施例以便最好地解释本发明的原理和实际应用,并且使得本领域的普通技术人员能够理解针对具有如适于所预期的特定使用的各种修改的各种实施例的本发明。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈