CN113535072A - 一种多维冗余纠错的光盘库集群及多维冗余纠错方法 - Google Patents

一种多维冗余纠错的光盘库集群及多维冗余纠错方法 Download PDF

Info

Publication number
CN113535072A
CN113535072A CN202010323375.7A CN202010323375A CN113535072A CN 113535072 A CN113535072 A CN 113535072A CN 202010323375 A CN202010323375 A CN 202010323375A CN 113535072 A CN113535072 A CN 113535072A
Authority
CN
China
Prior art keywords
data
optical
disc
library
check
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
Application number
CN202010323375.7A
Other languages
English (en)
Inventor
朱明�
宋林峰
沈俊
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.)
Suzhou Netzon Information Storage Technology Co Ltd
Original Assignee
Suzhou Netzon Information Storage Technology Co Ltd
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 Suzhou Netzon Information Storage Technology Co Ltd filed Critical Suzhou Netzon Information Storage Technology Co Ltd
Priority to CN202010323375.7A priority Critical patent/CN113535072A/zh
Publication of CN113535072A publication Critical patent/CN113535072A/zh
Pending legal-status Critical Current

Links

Images

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/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2094Redundant storage or storage space
    • 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/0629Configuration or reconfiguration of storage systems
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B17/00Guiding record carriers not specifically of filamentary or web form, or of supports therefor
    • G11B17/02Details
    • G11B17/04Feeding or guiding single record carrier to or from transducer unit
    • G11B17/05Feeding or guiding single record carrier to or from transducer unit specially adapted for discs not contained within cartridges
    • G11B17/053Indirect insertion, i.e. with external loading means

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)
  • Quality & Reliability (AREA)
  • Optical Recording Or Reproduction (AREA)

Abstract

本发明提供了多维冗余纠错的光盘库集群及多维冗余纠错方法。该光盘库集群包括阵列式布置的多台光盘库,多台光盘库包括多台数据光盘库以及至少一台校验光盘库,所有数据光盘库和校验光盘库均具有相同的阵列式布置结构;校验光盘库中每个校验光盘的校验数据由同一光盘库集群中所有数据光盘库中与该校验光盘位置相同或相应的数据光盘内的独立数据按照异或运算获得;和/或校验光盘匣中每个校验光盘的校验数据由同一数据光盘库中所有数据光盘匣中与该校验光盘位置相同或相应的数据光盘内的独立数据按照异或运算获得;和/或校验光盘中的校验数据由同一数据光盘匣中所有数据光盘内与该校验数据位置相同或相应的独立数据按照异或运算获得。

Description

一种多维冗余纠错的光盘库集群及多维冗余纠错方法
技术领域
本发明涉及数据存储技术领域,尤其涉及一种多维冗余纠错的光盘库集群及多维冗余纠错方法。
背景技术
随着数字化进程的日益深入,所需要存储的数据也正在高速增长,由此正带来数据的安全性、所需的能耗和二氧化碳排放量等方面的挑战。为此,人们将数据分为热数据和冷数据并分别处理。冷数据是指那些使用频度低但又必须长久保存的数据。整体数据中绝大部分是冷数据。光盘作为数据存储介质具有保存寿命长、成本低、耗电省等优点,因此其非常适合用于冷数据的存储。
光盘作为数据存储介质,需要读写操作装置将所要记录的数据刻录到光盘上,刻录好的光盘上数据可以在需要的时刻读出。这种光盘的读写操作装置被称为光盘驱动器,简称为光驱。对于大量数据的冷存储,记录数据的光盘介质数量通常远大于光盘操作装置,即光驱的数量。如此,光盘只有在需要读写操作时才会被放入光驱。可以根据需要挑选出正确光盘并将其放入光驱的自动化设备通常被称为光盘库。
一个典型的光盘库由光盘匣仓、光盘匣、机械手和光驱组构成。一个光盘匣内可以容置若干张光盘,光盘匣作为一个整体可以方便地标识、取出和放入。光盘匣仓容置了多个光盘匣,便于光盘的批量调度。通过光盘匣和光盘匣仓,可以将光盘库内的光盘有效地组织起来,同时也为光盘介质提供了防尘避光的长期保存环境。机械手用于自动化光盘的搬运,机械手将所选光盘放入所选光驱的操作称为光盘加载,将操作完毕的光盘从所选光驱中取出放回指定保管位置的操作称为光盘卸载。
当数据的存储规模远超过一台光盘库可以管理的范围时,存储系统需要有一个多台光盘库的集群,此时要考虑的因素是光盘库内光盘介质的可容错纠错性以及光盘库本身的高可用性,光盘库本身的高可用性为在某台光盘库出现故障时,存储系统仍然能够正常提供数据的性能。
发明内容
本发明的一个目的是要提供一种可以实现光盘库之间、光盘匣之间和/或多张光盘之间多维冗余纠错的光盘库集群。
本发明的另一个目的是要提供一种可以实现光盘库之间、光盘匣之间和/或多张光盘之间的多维度冗余纠错的方法。
特别地,本发明提供了一种多维冗余纠错的光盘库集群,所述光盘库集群包括阵列式布置的多台光盘库,所述多台光盘库包括多台数据光盘库以及至少一台校验光盘库,所有所述数据光盘库和所述校验光盘库均具有相同的阵列式布置结构;
所述数据光盘库内的所有光盘为数据光盘,所述校验光盘库内的所有光盘为校验光盘,所述校验光盘库中每个校验光盘的校验数据由同一光盘库集群中所有所述数据光盘库中与该校验光盘位置相同或相应的数据光盘内的独立数据按照异或运算获得;和/或
所述数据光盘库包括用于容置多张数据光盘的多个相互独立的数据光盘匣,以及用于容置多张校验光盘的至少一个校验光盘匣,所述校验光盘匣中每个校验光盘的校验数据由同一数据光盘库中所有数据光盘匣中与该校验光盘位置相同或相应的数据光盘内的独立数据按照异或运算获得;和/或
所述数据光盘匣包括多张数据光盘以及至少一张校验光盘,所述校验光盘中的校验数据由同一数据光盘匣中所有数据光盘内与该校验数据位置相同或相应的独立数据按照异或运算获得。
可选地,同一光盘库集群中包括M-1台数据光盘库和一台校验光盘库时,位于所述光盘库集群的第x位的校验光盘库中位置为(i,j)的校验光盘的校验数据
Figure BDA0002462269480000021
计算公式为:
Figure BDA0002462269480000022
其中,
Figure BDA0002462269480000023
表示在所述光盘库集群中位于第k位的数据光盘库中第j个数据光盘匣第i个数据光盘的独立数据;
其中,1≤k≤M,1≤i≤C,1≤j≤D,C为每个光盘匣中的所述光盘的数量,D为所述光盘匣仓中的所述光盘匣的数量。
可选地,同一个光盘库中包括多个数据光盘匣和一个校验光盘匣时,该校验光盘匣位于该光盘库的第y位,该校验光盘匣中位置为i的校验光盘的校验数据di,y计算公式为:
Figure BDA0002462269480000031
其中,di,j表示在一个光盘库中位于第j位的数据光盘匣中第i个数据光盘的独立数据。
可选地,同一个数据光盘匣包括多张数据光盘和一张校验光盘时,该校验光盘位于该数据光盘匣的第z位,该校验光盘中的校验数据dz计算公式为:
Figure BDA0002462269480000032
其中,di表示位于一个数据光盘匣中第i位的数据光盘内的独立数据。
可选地,所述数据光盘内的独立数据为包含多个二进制数据的独立数据块,所述校验光盘内的校验数据为包含多个二进制数据的校验数据块;
所述校验数据块中任一二进制数据是由所有数据光盘对应的各自独立数据块中与该校验数据块中该二进制数据位置相同的位置处的二进制数据进行异或运算所得;或者
所述校验数据块中任一二进制数据是由所有数据光盘对应的各自独立数据块中对该校验数据块中该二进制数据位置进行循环位移后错位对应的二进制数据进行异或运算所得。
特别地,本发明还提供了一种如前述的光盘库集群的多维冗余纠错方法,包括如下步骤:
从光盘库集群中确定数据缺损的缺损数据光盘库;
从同一光盘库集群中调用校验光盘库;
在位于同一光盘库集群的所述校验光盘库和除所述缺损数据光盘库的所有数据光盘库中,获得与所述缺损数据光盘库位置相同或相应的所有光盘内的所有数据,并将该所有数据按照异或运算获得所述缺损数据光盘库中对应位置的光盘内的缺损数据;和/或
在一个数据光盘库中确定数据缺损的缺损光盘匣;
从同一数据光盘库中调用校验光盘匣;
在位于同一数据光盘库的所述校验光盘匣和除所述缺损光盘匣的所有数据光盘匣中,获得与所述缺损光盘匣位置相同或相应的所有光盘内的所有数据,并将该所有数据按照异或运算获得所述缺损光盘匣中对应位置的光盘内的缺损数据;和/或
在一个数据光盘匣中确定数据缺损的缺损光盘;
从同一数据光盘匣中调用校验光盘;
在位于同一数据光盘匣的所述校验光盘和除所述缺损光盘的所有数据光盘中,获得与所述缺损光盘位置相同或相应的所有光盘内的所有数据,并将该所有数据按照异或运算获得所述缺损光盘中对应位置的缺损数据。
可选地,所述缺损光盘库位于光盘库集群第h位,且所述缺损光盘库中位置为(i,j)的数据光盘的独立数据
Figure BDA0002462269480000041
由以下公式计算获得:
Figure BDA0002462269480000042
其中,
Figure BDA0002462269480000043
表示所述光盘库集群中位于第k位的光盘库中第j个光盘匣第i个光盘的数据。
可选地,所述缺损光盘匣位于所述数据光盘库中第g位,所述缺损光盘匣中位置为i的缺损光盘的缺损数据di,g由以下公式计算获得:
Figure BDA0002462269480000044
其中,di,j表示所述数据光盘库中位于第j位的光盘匣中第i个光盘的数据。
可选地,所述缺损光盘位于所述光盘匣中第f位,所述缺损光盘的缺损数据df由以下公式计算获得:
Figure BDA0002462269480000045
其中,di表示所述光盘匣中位于第i位的光盘内的数据。
可选地,在同一数据光盘匣或同一数据光盘库或整个光盘库集群中包括Q张数据光盘和一张校验光盘时,所述Q张数据光盘中任意一张数据光盘均包括R个二进制数据组成的独立数据块,表示为:
Figure BDA0002462269480000046
其中,Di为所述数据光盘匣中第i张数据光盘的独立数据,所述校验光盘包括由R个二进制数据组成的校验数据块:
Figure BDA0002462269480000047
其中,Dp为在同一数据光盘匣或同一数据光盘库或整个光盘库集群中所述校验光盘的校验数据,所述Q张数据光盘的所有独立数据与所述校验光盘的校验数据一起组成的数据阵列为:
Figure BDA0002462269480000051
所述数据阵列中同一行数据代表不同光盘在同一位置处的二进制数据,所述数据阵列中同一行仅允许一个位置的二进制数据出现缺损或错误;
可选地,所述数据阵列中每一行均允许有任意位置的数据出现缺损或错误;
可选地,在同一数据光盘匣或同一数据光盘库或整个光盘库集群中,所述Q张数据光盘和所述校验光盘中任意一张或多张光盘出现数据缺损时,根据其余数据光盘及校验光盘的同一二进制数据位置的二进制数据对缺损的数据进行异或运算,从而恢复缺损数据。
可选地,在同一数据光盘匣或同一数据光盘库或整个光盘库集群中,第X张数据光盘的第Y位二进制数据出现缺损或错误,则所述第X张数据光盘的第Y位二进制数据按照以下公式进行恢复:
Figure BDA0002462269480000052
其中,1≤X≤Q,1≤Y≤R。
根据本发明方案,该方法包括了光盘库内和光盘库间的冗余纠错算法。用本发明实施例的方法实现的光盘库集群,在应用于大量冷数据存储时,可以显著地提高整体的长期数据安全性和可用性。
本发明实施例在光盘、光驱以及光盘库的不同层面上,实现了冗余纠错。基于本发明实施例的基本方法,在工程实现上还可以有很多灵活的变通和配置。根据不同的可靠性要求,也可以在经济性和冗余度两个因素上做出相应的折衷。例如,在光盘、光盘盒、光盘仓、光盘库的层面上,都可以置入更高的冗余度,如一个光盘盒中设置两张校验光盘,或在光盘库集群中设置两个或更多的校验光盘库等。当然还可以在多个光盘库集群,甚至在不同地理位置之间设置相应的校验维度。
此外,本发明实施例不仅可以允许同一个集群中某一台光盘库、同一光盘库中某一个光盘匣或同一光盘匣中某一张光盘的冗余纠错,还可以允许同一个集群中多台光盘库、同一光盘库中多个光盘匣或同一光盘匣中多张光盘的冗余纠错。
根据下文结合附图对本发明具体实施例的详细描述,本领域技术人员将会更加明了本发明的上述以及其他目的、优点和特征。
附图说明
后文将参照附图以示例性而非限制性的方式详细描述本发明的一些具体实施例。附图中相同的附图标记标示了相同或类似的部件或部分。本领域技术人员应该理解,这些附图未必是按比例绘制的。附图中:
图1示出了根据本发明第一个实施例的光盘介质异或运算的数据对应关系图;
图2示出了根据本发明第一个实施例的基于光盘库集群的多维冗余纠错方法的示意性流程图。
具体实施方式
本发明实施例提供了一种多维冗余纠错的光盘库集群,该光盘库集群包括阵列式布置的多台光盘库,例如包含有多行多列的矩阵式布置的多台光盘库。每台光盘库均包括光盘匣仓、光盘匣、机械手和光驱组。每个光盘匣内可以容置若干张光盘,光盘匣作为一个整体可以方便地标识、取出和放入。
设有N张数据光盘{di},1≤i≤N,分别被M个光盘库管理,其中,数据光盘是指已写入数据的光盘。为描述简单起见,假设每个光盘库的光盘容量相同,则光盘按光盘库分组为:
Figure BDA0002462269480000061
1≤i≤K,K=N/M,1≤j≤M。其中i是给定光盘库中的光盘编号,j为光盘库编号,N张光盘被分成M等份,每份的数量为K=N/M,K是每个光盘库所管理的光盘数。为简单起见,假设每个光盘库中的光驱数相等且为L个。如此,一个含有大量光盘的光盘库集群可表达为:
Figure BDA0002462269480000062
其中,
Figure BDA0002462269480000063
1≤p≤L,1≤j≤M,p为给定光盘中的光驱编号。由于每个光盘库内设有L个独立光驱
Figure BDA0002462269480000071
1≤p≤L,1≤j≤M,因此出现若干光驱损坏时,也不会影响光盘库内数据的可提供性。
光盘库内冗余纠错原理基于标准RAID5、RAID6或纠删码的数学原理。为简单起见,本发明实施例以类似RAID5的计算方法为例,其他的冗余纠错算法也可以应用到本发明实施例中,仍然可以达到相同效果。采用RAID5算法,并不像在线磁盘阵列那样对所需存储的数据进行条带化,更加适合光盘的冷数据存储。这样做的好处是,每张光盘上的数据保持了独立可读性,同时也减少了光盘介质与光驱之间的相互关联性。
为了实现上述冗余纠错,首先提供一光盘库集群,该光盘库集群具有多维冗余纠错的功能。其中,多维是指多个维度,其中维度包括光盘内、光盘匣内、光盘仓内、光盘仓之间、光盘库之间、光盘库集群之间的冗余纠错方法。每个维度的校验单元与该维度的存储单元结构相同。
具体地,设每个维度单元为{Ei},维度单元可以是光盘匣、光盘仓和光盘库等。单元的定义可以是光盘、光盘匣、光盘仓、光盘库、光驱、光盘库机械手、弹出器以及内置打印机等。以下把光盘的各种分组形式称为介质单元,如此单张光盘、光盘匣、光盘匣仓、光盘库都是不同组织形式的介质单元。每种分组形式可以看作一个维度。
其中,检验单元Ep按照如下公式生成
Figure BDA0002462269480000072
其中
Figure BDA0002462269480000073
代表介质单元中相应位置上数据的二进制逻辑异或运算,即
Figure BDA0002462269480000074
以光盘匣举例,一个典型的光盘匣含有12张光盘,设定前11张为数据光盘{d1,d2,…,d11},第12张为校验光盘d12,则
Figure BDA0002462269480000075
其中,
Figure BDA0002462269480000076
代表光盘相应位置的二进制异或逻辑运算。
更具体地,设每张光盘上的数据为一个二进制数组,则光盘di上顺序读出的是
Figure BDA0002462269480000077
如展开可表述为:
Figure BDA0002462269480000078
以上为简单起见,假设各光盘上的数组是等长为N的。实际情况下,不同光盘上的数组可能为不等长的,对于不同光盘上数组长度不同时可以补“0”向最长的数组对齐,这并不影响以上公式的正确性。
同理,当光盘匣中的某张光盘dk出现坏损或缺失时,其恢复的方法为:
Figure BDA0002462269480000081
其中1≤i≤12,且i≠k。
举具体例,当第5张光盘损缺时,其上的数据可以通过下列公式恢复:
Figure BDA0002462269480000082
即,将剩余的光盘相应位置异或起来,可以得到损缺盘上的数据。
以上方法适用于含有多台光盘库的光盘库集群的多维度冗余纠错方法,这种方法包括了光盘库内和光盘库间的冗余纠错算法。用本发明实施例的方法实现的光盘库集群,在应用于大量冷数据存储时,可以显著地提高整体的长期数据安全性和可用性。
本发明实施例在光盘、光驱以及光盘库的不同层面上,实现了冗余纠错。基于本发明实施例的基本方法,在工程实现上还可以有很多灵活的变通和配置。根据不同的可靠性要求,也可以在经济性和冗余度两个因素上做出相应的折衷。例如,在光盘、光盘盒、光盘仓、光盘库的层面上,都可以置入更高的冗余度,如一个光盘盒中设置两张校验光盘,或在光盘库集群中设置两个或更多的校验光盘库等。当然还可以在多个光盘库集群,甚至在不同地理位置之间设置相应的校验维度。
其中,光盘介质异或运算的数据对应关系如图1所示,将每个介质{Di},1≤i≤N上的数据展开为一个一维二进制数组,在对它们进行异或运算时,其对应关系如图1所示,它们之间的关系可以是原数组中的位置一一对应,也可以是其中一些进行了循环位移后错位对应。重要的是,这些对应关系一旦确定,则应恒定不变。
此外,本发明实施例不仅可以允许同一个集群中某一台光盘库、同一光盘库中某一个光盘匣或同一光盘匣中某一张光盘的冗余纠错,还可以允许同一个集群中多台光盘库、同一光盘库中多个光盘匣或同一光盘匣中多张光盘的冗余纠错,原理如下:
在同一数据光盘匣或同一数据光盘库或整个光盘库集群中包括Q张数据光盘和一张校验光盘时,Q张数据光盘中任意一张数据光盘均包括R个二进制数据组成的独立数据块,表示为:
Figure BDA0002462269480000091
其中,Di为数据光盘匣中第i张数据光盘的独立数据,校验光盘包括由R个二进制数据组成的校验数据块:
Figure BDA0002462269480000092
其中,Dp为在同一数据光盘匣或同一数据光盘库或整个光盘库集群中校验光盘的校验数据,Q张数据光盘的所有独立数据与校验光盘的校验数据一起组成的数据阵列为:
Figure BDA0002462269480000093
数据阵列中同一行数据代表不同光盘在同一位置处的二进制数据,数据阵列中同一行仅允许一个位置的二进制数据出现缺损或错误。数据阵列中每一行均允许有任意位置的数据出现缺损或错误。也就是说,最大允许出错点个数为R个,即以上数据矩阵的R行中每行允许有一个位置的数据出错。
在同一数据光盘匣或同一数据光盘库或整个光盘库集群中,Q张数据光盘和校验光盘中任意一张或多张光盘出现数据缺损时,根据其余数据光盘及校验光盘的同一二进制数据位置的二进制数据对缺损的数据进行异或运算,从而恢复缺损数据。
具体地,在同一数据光盘匣或同一数据光盘库或整个光盘库集群中,第X张数据光盘的第Y位二进制数据出现缺损或错误,则第X张数据光盘的第Y位二进制数据按照以下公式进行恢复:
Figure BDA0002462269480000094
其中,1≤X≤Q,1≤Y≤R。
因此,在同一数据光盘匣或同一数据光盘库或整个光盘库集群中,可以是所有光盘都出现数据缺损或错误,只要满足如前述所述数据阵列中同一行仅允许一个位置的二进制数据出现缺损或错误即可。
以下以利用上述原理进行实施时的几个典型的例子进行详细说明:
实施例一:
对于一个由多台光盘库组成的大型冷数据存储集群而言,要解决光盘库之间的冗余纠错问题,即当集群中一台或多台光盘库出现故障时,例如机械手损坏时,如何能保证系统能否提供全部数据中的任何一部分。因此,该实施例中,是在一个光盘库集群中实现光盘库之间的冗余纠错。
该实施例中,该光盘库集群中包括阵列式布置的多台光盘库,该多台光盘库包括多台数据光盘库以及一台校验光盘库。所有数据光盘库和校验光盘库均具有相同的阵列式布置结构,即均具有按照相同结构类型布置的光盘匣、光盘、光驱以及机械手。
以下为了对数据光盘库中的所有光盘与校验光盘库中的所有光盘进行区别,将该数据光盘库内的所有光盘称为数据光盘,校验光盘库内的所有光盘称为校验光盘。并且,将数据光盘内的二进制数据称为独立数据,将校验光盘内二进制数据称为校验数据。其中,该校验光盘库中每个校验光盘的校验数据由同一光盘库集群中所有数据光盘库中与该校验光盘位置相同或相应的数据光盘内的独立数据按照异或运算获得。
即,设一个有M台光盘库的集群,其中的光盘可表达为
Figure BDA0002462269480000101
其中1≤i≤C,1≤j≤D,1≤k≤M,C为光盘匣中的光盘数,D为光盘匣仓中的光盘匣数,M为光盘库集群中光盘库的个数。
如果将第M台光盘库设置为校验光盘库,则该光盘库集群的总有效光盘容量,即用于存储数据的光盘数量为(C-1)×(D-1)×(M-1)。则该光盘库集群可以表达为:
Figure BDA0002462269480000102
其中,前M-1台光盘库为数据光盘库。即,同一光盘库集群中包括M-1台数据光盘库和一台校验光盘库时,位于光盘库集群的第M位的校验光盘库中位置为(i,j)的校验光盘的校验数据
Figure BDA0002462269480000111
计算公式为:
Figure BDA0002462269480000112
其中,
Figure BDA0002462269480000113
表示在光盘库集群中位于第k位的数据光盘库中第j个数据光盘匣第i个数据光盘的独立数据;
其中,1≤k≤M-1,1≤i≤C,1≤j≤D,C为每个光盘匣中的光盘的数量,D为光盘匣仓中的光盘匣的数量。
图2示出了根据本发明第一个实施例的基于光盘库集群的多维冗余纠错方法的示意性流程图。如图2所示,该多维冗余纠错方法,包括:
步骤S100,从光盘库集群中确定数据缺损的缺损数据光盘库;
步骤S200,从同一光盘库集群中调用校验光盘库;
步骤S300,在位于同一光盘库集群的校验光盘库和除缺损数据光盘库的所有数据光盘库中,获得与缺损数据光盘库位置相同或相应的所有光盘内的所有数据,并将该所有数据按照异或运算获得缺损数据光盘库中对应位置的光盘内的缺损数据。
具体地,如果M个光盘库(包括校验光盘库)中有一个缺损,其中的数据可以用剩余的M-1个光盘库中相应位置的光盘进行异或运算得出。根据这一原理,系统既可以把整个缺损的光盘库中的数据恢复到一个新的光盘库中,也可以在系统中缺损光盘库没有修好之前,对其中所需调用的光盘进行恢复。恢复的方法是将剩余M-1个光盘库中相应位置的光盘进行异或得出,即缺损光盘库位于光盘库集群第h位,且处于缺损光盘库中位置(i,j)的光盘的数据
Figure BDA0002462269480000114
由以下公式计算获得:
Figure BDA0002462269480000115
其中,
Figure BDA0002462269480000116
表示所述光盘库集群中位于第k位的光盘库中第j个光盘匣第i个光盘的数据。
上述方案可以在集群中一台或多台光盘库出现故障时如机械手损坏时,保证系统能提供全部数据中的任何一部分。
实施例二:
在该实施例中,是要在光盘库内实现冗余纠错。数据光盘库包括用于容置多张数据光盘的多个相互独立的数据光盘匣,以及用于容置多张校验光盘的至少一个校验光盘匣,所述校验光盘匣中每个校验光盘的校验数据由同一数据光盘库中所有数据光盘匣中与该校验光盘位置相同或相应的数据光盘内的独立数据按照异或运算获得。并且,数据光盘匣包括多张数据光盘以及至少一张校验光盘,该校验光盘中的校验数据由同一数据光盘匣中所有数据光盘内与该校验数据位置相同或相应的独立数据按照异或运算获得。
具体地,在一个光盘库中容置有一个光盘匣仓,每一个光盘匣中容置了C张光盘,每个光盘匣仓中容置了D个光盘匣,因此,该光盘库的容量为C×D,设定光盘冗余度为1,即每个光盘匣仓中含一个校验光盘匣,每个光盘匣中含有一张校验光盘。D个光盘匣中的任一个光盘匣表示为:
Figure BDA0002462269480000121
Disx为光盘库中第x个光盘匣,dij为光盘库中的第j个光盘匣中的第i个光盘。如此可形成一个二维冗余介质矩阵:
Figure BDA0002462269480000122
设以上二维冗余介质矩阵中最后一行和最后一列,即每个光盘匣中的最后一张{dC1,dC2,…,dCD}和光盘匣仓中的最后一个光盘匣{d1D,d2D,…,dCD}为校验介质,则这台光盘库的总有效容量为(C-1)×(D-1),用于冗余校验的光盘数为C+D-1。在上述二维冗余介质矩阵中,在行和列各设置了一个冗余度为1的校验位置,因此,这种设置下的光盘库中的光盘允许缺损的程度可以描述为:“每个光盘匣中可以容许有一张光盘缺损,且每个光盘匣仓中可以容许有一个光盘匣缺损”,或者,也可以描述为:“每个光盘匣中可以最多坏一张,每个光盘匣仓中允许有一个光盘匣中的光盘可以任意坏”。
基于该光盘库集群,其中多维冗余纠错方法包括如下步骤:在一个数据光盘库中确定数据缺损的缺损光盘匣;从同一数据光盘库中调用校验光盘匣;在位于同一数据光盘库的校验光盘匣和除缺损光盘匣的所有数据光盘匣中,获得与缺损光盘匣位置相同或相应的所有光盘内的所有数据,并将该所有数据按照异或运算获得缺损光盘匣中对应位置的光盘内的缺损数据。多维冗余纠错方法还包括如下步骤:在一个数据光盘匣中确定数据缺损的缺损光盘;从同一数据光盘匣中调用校验光盘;在位于同一数据光盘匣的校验光盘和除缺损光盘的所有数据光盘中,获得与缺损光盘位置相同或相应的所有光盘内的所有数据,并将该所有数据按照异或运算获得缺损光盘中对应位置的缺损数据。
具体地,若缺损光盘匣位于数据光盘库中第g位,则缺损光盘匣中位置为i的缺损光盘的缺损数据di,g由以下公式计算获得:
Figure BDA0002462269480000131
其中,di,j表示所述数据光盘库中位于第j位的光盘匣中第i个光盘的数据。
若缺损光盘位于光盘匣中第f位,则缺损光盘的缺损数据df由以下公式计算获得:
Figure BDA0002462269480000132
其中,di表示光盘匣中位于第i位的光盘内的数据。
实施例三:
该实施例与实施例二的区别在于,一个光盘库中容置有E个光盘匣仓,该光盘库的容量为C×D×E,在该E个光盘匣仓中,最后一个为校验光盘匣仓,则这台光盘库的总有效容量为(C-1)×(D-1)×(E-1)。有E个光盘匣仓,冗余维度比实施例二中的一个光盘匣仓的情况多了一个维度。
实施例四:
该实施例中,可以在光盘匣内实现冗余纠错。该实施例与实施例二的区别在于,每个光盘匣仓中含有一个校验光盘匣,每个光盘匣中全部为数据光盘。
设二维冗余介质矩阵与实施例二相同,该二维冗余介质矩阵中最后一列,即光盘匣仓中的最后一个光盘匣{d1D,d2D,…,dCD}为校验介质,则这台光盘库的总有效容量为C×(D-1),用于冗余校验的光盘数为C。
若缺损光盘位于光盘匣中第f位,则缺损光盘的缺损数据df由以下公式计算获得:
Figure BDA0002462269480000133
其中,di表示光盘匣中位于第i位的光盘内的数据。
以上的实施例当然还可以有很多种变通的设置,总体上是一种冗余介质开销的综合考虑。但总体上讲,本发明方案可以有效地提高一个光盘库内的介质安全性与可用性。由于每个光盘库内设有L个独立光驱{ri},1≤i≤L,因此,出现若干光驱损坏时,也不会影响光盘库内数据的可提供性。
至此,本领域技术人员应认识到,虽然本文已详尽示出和描述了本发明的多个示例性实施例,但是,在不脱离本发明精神和范围的情况下,仍可根据本发明公开的内容直接确定或推导出符合本发明原理的许多其他变型或修改。因此,本发明的范围应被理解和认定为覆盖了所有这些其他变型或修改。

Claims (10)

1.一种多维冗余纠错的光盘库集群,其特征在于,所述光盘库集群包括阵列式布置的多台光盘库,所述多台光盘库包括多台数据光盘库以及至少一台校验光盘库,所有所述数据光盘库和所述校验光盘库均具有相同的阵列式布置结构;
所述数据光盘库内的所有光盘为数据光盘,所述校验光盘库内的所有光盘为校验光盘,所述校验光盘库中每个校验光盘的校验数据由同一光盘库集群中所有所述数据光盘库中与该校验光盘位置相同或相应的数据光盘内的独立数据按照异或运算获得;和/或
所述数据光盘库包括用于容置多张数据光盘的多个相互独立的数据光盘匣,以及用于容置多张校验光盘的至少一个校验光盘匣,所述校验光盘匣中每个校验光盘的校验数据由同一数据光盘库中所有数据光盘匣中与该校验光盘位置相同或相应的数据光盘内的独立数据按照异或运算获得;和/或
所述数据光盘匣包括多张数据光盘以及至少一张校验光盘,所述校验光盘中的校验数据由同一数据光盘匣中所有数据光盘内与该校验数据位置相同或相应的独立数据按照异或运算获得。
2.根据权利要求1所述的光盘库集群,其特征在于,同一光盘库集群中包括M-1台数据光盘库和一台校验光盘库时,位于所述光盘库集群的第x位的校验光盘库中位置为(i,j)的校验光盘的校验数据
Figure FDA0002462269470000011
计算公式为:
Figure FDA0002462269470000012
其中,
Figure FDA0002462269470000013
表示在所述光盘库集群中位于第k位的数据光盘库中第j个数据光盘匣第i个数据光盘的独立数据;
其中,1≤k≤M,1≤i≤C,1≤j≤D,C为每个光盘匣中的所述光盘的数量,D为所述光盘匣仓中的所述光盘匣的数量。
3.根据权利要求2所述的光盘库集群,其特征在于,同一个光盘库中包括多个数据光盘匣和一个校验光盘匣时,该校验光盘匣位于该光盘库的第y位,该校验光盘匣中位置为i的校验光盘的校验数据di,y计算公式为:
Figure FDA0002462269470000014
其中,di,j表示在一个光盘库中位于第j位的数据光盘匣中第i个数据光盘的独立数据。
4.根据权利要求2或3所述的光盘库集群,其特征在于,同一个数据光盘匣包括多张数据光盘和一张校验光盘时,该校验光盘位于该数据光盘匣的第z位,该校验光盘中的校验数据dz计算公式为:
Figure FDA0002462269470000021
其中,di表示位于一个数据光盘匣中第i位的数据光盘内的独立数据。
5.根据权利要求1-4中任一项所述的光盘库集群,其特征在于,所述数据光盘内的独立数据为包含多个二进制数据的独立数据块,所述校验光盘内的校验数据为包含多个二进制数据的校验数据块;
所述校验数据块中任一二进制数据是由所有数据光盘对应的各自独立数据块中与该校验数据块中该二进制数据位置相同的位置处的二进制数据进行异或运算所得;或者
所述校验数据块中任一二进制数据是由所有数据光盘对应的各自独立数据块中对该校验数据块中该二进制数据位置进行循环位移后错位对应的二进制数据进行异或运算所得。
6.一种如权利要求1-5中任一项所述的光盘库集群的多维冗余纠错方法,其特征在于,包括如下步骤:
从光盘库集群中确定数据缺损的缺损数据光盘库;
从同一光盘库集群中调用校验光盘库;
在位于同一光盘库集群的所述校验光盘库和除所述缺损数据光盘库的所有数据光盘库中,获得与所述缺损数据光盘库位置相同或相应的所有光盘内的所有数据,并将该所有数据按照异或运算获得所述缺损数据光盘库中对应位置的光盘内的缺损数据;和/或
在一个数据光盘库中确定数据缺损的缺损光盘匣;
从同一数据光盘库中调用校验光盘匣;
在位于同一数据光盘库的所述校验光盘匣和除所述缺损光盘匣的所有数据光盘匣中,获得与所述缺损光盘匣位置相同或相应的所有光盘内的所有数据,并将该所有数据按照异或运算获得所述缺损光盘匣中对应位置的光盘内的缺损数据;和/或
在一个数据光盘匣中确定数据缺损的缺损光盘;
从同一数据光盘匣中调用校验光盘;
在位于同一数据光盘匣的所述校验光盘和除所述缺损光盘的所有数据光盘中,获得与所述缺损光盘位置相同或相应的所有光盘内的所有数据,并将该所有数据按照异或运算获得所述缺损光盘中对应位置的缺损数据。
7.根据权利要求6所述的多维冗余纠错方法,其特征在于,所述缺损光盘库位于光盘库集群第h位,且所述缺损光盘库中位置为(i,j)的数据光盘的独立数据
Figure FDA0002462269470000031
由以下公式计算获得:
Figure FDA0002462269470000032
其中,
Figure FDA0002462269470000033
表示所述光盘库集群中位于第k位的光盘库中第j个光盘匣第i个光盘的数据。
8.根据权利要求7所述的多维冗余纠错方法,其特征在于,所述缺损光盘匣位于所述数据光盘库中第g位,所述缺损光盘匣中位置为i的缺损光盘的缺损数据di,g由以下公式计算获得:
Figure FDA0002462269470000034
其中,di,j表示所述数据光盘库中位于第j位的光盘匣中第i个光盘的数据。
9.根据权利要求7或8所述的多维冗余纠错方法,其特征在于,所述缺损光盘位于所述光盘匣中第f位,所述缺损光盘的缺损数据df由以下公式计算获得:
Figure FDA0002462269470000035
其中,di表示所述光盘匣中位于第i位的光盘内的数据。
10.根据权利要求6-9中任一项所述的多维冗余纠错方法,其特征在于,在同一数据光盘匣或同一数据光盘库或整个光盘库集群中包括Q张数据光盘和一张校验光盘时,所述Q张数据光盘中任意一张数据光盘均包括R个二进制数据组成的独立数据块,表示为:
Figure FDA0002462269470000036
其中,Di为所述数据光盘匣中第i张数据光盘的独立数据,所述校验光盘包括由R个二进制数据组成的校验数据块:
Figure FDA0002462269470000041
其中,Dp为在同一数据光盘匣或同一数据光盘库或整个光盘库集群中所述校验光盘的校验数据,所述Q张数据光盘的所有独立数据与所述校验光盘的校验数据一起组成的数据阵列为:
Figure FDA0002462269470000042
所述数据阵列中同一行数据代表不同光盘在同一位置处的二进制数据,所述数据阵列中同一行仅允许一个位置的二进制数据出现缺损或错误;
可选地,所述数据阵列中每一行均允许有任意位置的数据出现缺损或错误;
可选地,在同一数据光盘匣或同一数据光盘库或整个光盘库集群中,所述Q张数据光盘和所述校验光盘中任意一张或多张光盘出现数据缺损时,根据其余数据光盘及校验光盘的同一二进制数据位置的二进制数据对缺损的数据进行异或运算,从而恢复缺损数据。
可选地,在同一数据光盘匣或同一数据光盘库或整个光盘库集群中,第X张数据光盘的第Y位二进制数据出现缺损或错误,则所述第X张数据光盘的第Y位二进制数据按照以下公式进行恢复:
Figure FDA0002462269470000043
其中,1≤X≤Q,1≤Y≤R。
CN202010323375.7A 2020-04-22 2020-04-22 一种多维冗余纠错的光盘库集群及多维冗余纠错方法 Pending CN113535072A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010323375.7A CN113535072A (zh) 2020-04-22 2020-04-22 一种多维冗余纠错的光盘库集群及多维冗余纠错方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010323375.7A CN113535072A (zh) 2020-04-22 2020-04-22 一种多维冗余纠错的光盘库集群及多维冗余纠错方法

Publications (1)

Publication Number Publication Date
CN113535072A true CN113535072A (zh) 2021-10-22

Family

ID=78124106

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010323375.7A Pending CN113535072A (zh) 2020-04-22 2020-04-22 一种多维冗余纠错的光盘库集群及多维冗余纠错方法

Country Status (1)

Country Link
CN (1) CN113535072A (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1228582A (zh) * 1999-03-12 1999-09-15 清华大学 光盘阵列塔结构
CN103971711A (zh) * 2013-01-30 2014-08-06 日立乐金资料储存股份有限公司 记录再现装置和光盘库装置
CN110727541A (zh) * 2019-09-02 2020-01-24 广东紫晶信息存储技术股份有限公司 一种光盘分块存储校验方法及系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1228582A (zh) * 1999-03-12 1999-09-15 清华大学 光盘阵列塔结构
CN103971711A (zh) * 2013-01-30 2014-08-06 日立乐金资料储存股份有限公司 记录再现装置和光盘库装置
CN110727541A (zh) * 2019-09-02 2020-01-24 广东紫晶信息存储技术股份有限公司 一种光盘分块存储校验方法及系统

Similar Documents

Publication Publication Date Title
JP2769435B2 (ja) 補助データ記憶システム及びデータ・ファイルを記憶及び回復させる方法
US7546515B2 (en) Method of storing downloadable firmware on bulk media
US5471478A (en) Flash EEPROM array data and header file structure
US7536627B2 (en) Storing downloadable firmware on bulk media
US9213604B2 (en) Semiconductor memory controlling device which writes data and error correction codes into different semiconductor storage drives
US6529997B1 (en) Apparatus and method for writing and reading data to and from a virtual volume of redundant storage devices
CN102708019B (zh) 一种硬盘数据恢复方法、装置及系统
US8725944B2 (en) Implementing raid in solid state memory
US7149948B2 (en) Manufacturing test for a fault tolerant magnetoresistive solid-state storage device
EP0466296B1 (en) A data recovery channel in a fault tolerant disk drive array and a method of correcting errors therein
US20170293527A1 (en) Data recovery in memory having multiple failure modes
US20130036340A1 (en) Method for improving performance in raid systems
GB2404830A (en) Data with multiple sets of error correction codes
US20130166945A1 (en) Storage device
US8402213B2 (en) Data redundancy using two distributed mirror sets
US7653829B2 (en) Method of data placement and control in block-divided distributed parity disk array
US20060259812A1 (en) Data protection method
US8924814B2 (en) Write management using partial parity codes
CN113535072A (zh) 一种多维冗余纠错的光盘库集群及多维冗余纠错方法
CN105027084A (zh) 在移动通信系统中控制存储器的装置和方法
CN110727541A (zh) 一种光盘分块存储校验方法及系统
CN102385544B (zh) 一种磁盘重建方法和装置
US9262264B2 (en) Error correction code seeding
CN113535070B (zh) 一种个人数据中心及数据存储修复方法
US11907047B2 (en) Data storage device and error tolerance selecting method thereof

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination