CN104881252A - 一种基于e码的磁盘阵列布局结构 - Google Patents
一种基于e码的磁盘阵列布局结构 Download PDFInfo
- Publication number
- CN104881252A CN104881252A CN201510264157.XA CN201510264157A CN104881252A CN 104881252 A CN104881252 A CN 104881252A CN 201510264157 A CN201510264157 A CN 201510264157A CN 104881252 A CN104881252 A CN 104881252A
- Authority
- CN
- China
- Prior art keywords
- code
- disk array
- disk
- block
- stripe
- 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
Landscapes
- Signal Processing For Digital Recording And Reproducing (AREA)
Abstract
本发明涉及计算机大容量存储领域,尤其是涉及一种不间断的高容错磁盘阵列系统。其技术方案为磁盘阵列中总的盘数为n,同一个条纹中包含n个条纹单元,每个条纹单元的深度为n,及有n个数据块,并且每个条纹单元中既有冗余数据块,也有源信息数据块;所述同一条纹中的条纹单元之间的关系由E码编码规则确定,所述E码的一个码字是磁盘阵列布局中的一个条纹。E码的二维码字列数没有具体限制,即可以是奇数,也可以是偶数;即可以是素数,也可以是合数。这样一个基于E码的磁盘阵列系统提供了极大的普适性。是一种具有高的吞吐量、较好的I/O性能以及简单的编码和解码算法的磁盘阵列数据布局方案。
Description
技术领域
本发明涉及计算机大容量存储领域,尤其是涉及一种不间断的高容错磁盘阵列系统。
背景技术
在磁盘阵列中,数据是按照块(Block)4、条纹单元(Strip)3、条纹(Stripe)2、区间(Extent)1的逻辑层次组织起来的,如图1所示。在确定数据存储的基本单元——磁盘数据块(Block)后,将存储在一个磁盘成员上若干相继的数据块组织为一个条纹单元(Strip),各个磁盘上相应的条纹单元组成一个完整的条纹(Stripe),每个磁盘上地址连续的条纹单元形成一个扩展区间(Extent),扩展区间也称为逻辑盘。每个条纹单元中包含的基本数据块(Block)的数量称为条纹的深度。若一个条纹单元的数据块全部为冗余数据,则此条纹单元为校验条纹单位,若全部为源数据,则称为数据条纹单元,每个数据条纹中包含的数据块相等。则每个条纹单元的深度及同一个条纹中的条纹单元的关系由采用的磁盘阵列数据布局的编码来确定。若采用编码为阵列码,则每个条纹对应一个二维阵列(码字),每个条纹单元对应每个码字的一列,每个Block对应每个码字的一个信息位或校验位,而同一个条纹中条纹单元的成员关系由码的编码规则决定。
发明技术方案
本发明的目的是实现一种基于E码的磁盘阵列布局结构,具有高的吞吐量、较好的I/O性能以及简单的编码和解码算法的磁盘阵列数据布局。
本发明的技术方案:一种基于E码的磁盘阵列布局结构,其特征在于磁盘阵列中总的盘数为n,同一个条纹中包含n个条纹单元,每个条纹单元的深度为n,及有n个数据块,并且每个条纹单元中既有冗余数据块,也有源信息数据块;所述同一条纹中的条纹单元之间的关系由E码编码规则确定,所述E码的一个码字是磁盘阵列布局中的一个条纹。
采用上述技术方案,E码的二维码字列数没有具体限制,即可以是奇数,也可以是偶数;即可以是素数,也可以是合数。这对于构造一个基于E码的磁盘阵列系统提供了极大的普适性。同时,E码的编码复杂度、更新复杂度虽然无法达到最优,但是都与冗余磁盘数t线性相关。并且E码的平衡特性好,数据块和校验块均匀分布,将I/O请求分散到不同的磁盘节点中,保证各个磁盘存储节点的负载平衡,避免少数磁盘存储节点超负荷上作而成为瓶颈,提高了系统的整体性能。因此基于E码磁盘阵列数据布局是一种具有高的吞吐量、较好的I/O性能以及简单的编码和解码算法的磁盘阵列数据布局方案。
附图说明
图1为磁盘阵列数据布局组织层次示意图。
图2为E码的磁盘阵列布局构成示意图。
图3为磁盘阵列系统的构成示意图。
具体实施方式
下面结合具体实施例作进一步详述:
如图2、图3所示,一种基于E码的磁盘阵列系统的设计。在系统中包括n个磁盘,其中n≥4;n个磁盘中容量最小的为C字节,在允许不多于t/2个磁盘出错的情况下仍然能够保证存储数据的安全性并正常提供服务,则所述磁盘阵列系统的有效存储空间为(n-t)×C字节;每个磁盘的存储空间划分为512字节或4k字节大小的扇区,各磁盘上相同编号的扇区编组为一个条带,所述磁盘阵列系统以条带为单位进行数据的读写操作;每个扇区的存储空间均匀分成n个块,前n-t块存储有效信息,作为信息块,后t块存储校验信息,作为校验块;对条带进行写操作时,通过容错编码方法生产校验信息,有效信息存入信息块,校验信息存入校验块;当所述磁盘阵列系统出现磁盘错误时,通过错误磁盘恢复方法在提供不间断服务的同时恢复错误磁盘上的数据。
如图3所示,本磁盘阵列系统可由一台PC机、若干硬磁盘和接口卡所构成。系统构造的具体方法如下:
硬盘分扇区条带化:对硬盘按照扇区为单位进行划分,每个扇区为512字节或4k字节。对系统中多块硬盘,以扇区为单位进行编组,将不同硬盘上对应位置的扇区编组为一个条带,系统以条带为单位进行数据的读写。
扇区分块:对每个扇区分为n个大小相同的块,其中n为磁盘阵列系统中的硬盘数目。如果扇区大小为512字节,那么当n取值为2m且m<9时才能被512整除,这时每个块的大小为29-m字节;当n取值不为2的整数次方时,每个块的大小为字节,另有字节空间无法被利用。
编码:如果我们希望系统能够容许小于等于t/2个硬盘错误,即在系统中有t/2个硬盘出错时仍然能够恢复出其中的全部信息,则在对硬盘扇区进行分块后,用每个扇区的前n-t个块存储有效信息,称为信息块,后t个块存储校验信息,称为校验块。每个条带内所有的信息块串联作为有效信息的存储空间,而校验信息则通过前述发明内容中的容错编码方法,由有效信息进行编码生成。一个条带内的有效存储空间为512×(n-t)字节,而存储校验信息的存储空间为512×t字节。
系统的服务提供如下:
无磁盘出错时的I/O读写:系统的I/O操作都是以条带为单位进行。当系统需要写入512×(n-t)字节信息时,将这些信息分为512/n大小的n×(n-t)块;在内存中请求设置512×n字节大小的存储空间,划分为n×n块,于一个条带中n×n块一一对应;分别依次将n×(n-t)块有效信息存储到内存空间中的块0,0,块0,1,块0,2……块0,n-1,块1,0……块n-t-1,0……块n-t-1,n-2,块n-t-1,n-1;按照前述内容中的容错编码方法生成校验信息,存入块n-t,0,块n-t,1,块n-t,2……块n-t,n-1,块n-t+1,0……块n-1,0……块n-1,n-2,块n-1,n-1;将块0,i,块1,i,块2,i……块n-1,i存入硬盘i中相应扇区,完成写入信息操作。当系统需要读取512×(n-t)字节信息时,则分别从各硬盘中读取相应的扇区,将其中的信息块串联,存入请求地址,完成信息读取操作。
有磁盘出错时的I/O读写:当有磁盘出错,系统收到写入请求时,操作与无磁盘出错时的写入操作基本相同,只是无须向错误磁盘写入数据。当有磁盘出错,系统收到读取请求时,将完好硬盘的对应扇区读入内存,按照前述发明内容中的容错译码得到出错磁盘上的信息块,再将所有的信息块串联,存入请求地址,完成信息读取操作。
错误磁盘恢复时的I/O读写:当系统中有硬盘出错,管理员用新硬盘替换出错硬盘,并启动错误恢复过程。当系统收到写入请求时,操作与无磁盘出错时的写入操作相同。当系统收到读取请求时,将完好硬盘的对应扇区读入内存,按照前述发明内容中的容错译码得到出错磁盘上的信息块,再将所有的信息块串联,存入请求地址;然后按照前述发明内容中的容错编码方法编码得到出错磁盘上的校验块,再将出错磁盘上的信息块和校验块一并写入替换该出错磁盘的新磁盘上。
在数据容错方面,本系统对条带内数据进行编码。对一个条带内的n个扇区,将每个扇区划分为n等份,每一份称为一个块;如果我们希望系统能够容许小于等于t/2个磁盘错误,则将每个扇区的前n-t块设置为信息块,存储有效信息,后t块设置为校验块,存储校验信息。校验信息由一种类似于阵列码的容错编码方法生成。当有部分硬盘出现故障时,系统可以使用余下的完好硬盘上对应扇区的数据译码恢复出故障硬盘扇区上的有效数据,并且在整个编译码过程中仅仅需要异或操作,使得系统复杂度较低。
在数据I/O方面,本系统能够提供较好的I/O性能。当需要读取一个条带的数据时,系统分别对各个硬盘发送读取相应扇区的命令,当有n-t/2个硬盘响应该请求并成功读取后,即可译码恢复出全部数据。相对于传统方法,本系统避免了由于等待少数硬盘完成I/O操作而造成的系统瓶颈。
在数据恢复和服务提供方面,本系统能够在恢复错误磁盘的同时提供不间断的读取服务。当系统中出现磁盘故障时,管理员用全新的硬盘替换错误的硬盘,并启动数据恢复过程。之后当系统接收到数据读取请求时,则仅读取未出错的旧硬盘上相应数据,进行译码恢复数据并提供服务之后,重新编码得到丢失的部分校验信息,并将存储于错误硬盘上的数据存储到新硬盘上,这样就可以在提供服务的同时进行出错数据的恢复。而当系统空闲一段时间之后,也可单独进行错误磁盘的恢复。
Claims (1)
1.一种基于E码的磁盘阵列布局结构,其特征在于磁盘阵列中总的盘数为n,同一个条纹中包含n个条纹单元,每个条纹单元的深度为n,及有n个数据块,并且每个条纹单元中既有冗余数据块,也有源信息数据块;所述同一条纹中的条纹单元之间的关系由E码编码规则确定,所述E码的一个码字是磁盘阵列布局中的一个条纹。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510264157.XA CN104881252A (zh) | 2015-05-21 | 2015-05-21 | 一种基于e码的磁盘阵列布局结构 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510264157.XA CN104881252A (zh) | 2015-05-21 | 2015-05-21 | 一种基于e码的磁盘阵列布局结构 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104881252A true CN104881252A (zh) | 2015-09-02 |
Family
ID=53948762
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510264157.XA Pending CN104881252A (zh) | 2015-05-21 | 2015-05-21 | 一种基于e码的磁盘阵列布局结构 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104881252A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115080303A (zh) * | 2022-07-26 | 2022-09-20 | 苏州浪潮智能科技有限公司 | Raid6磁盘阵列的编码方法、解码方法、装置及介质 |
-
2015
- 2015-05-21 CN CN201510264157.XA patent/CN104881252A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115080303A (zh) * | 2022-07-26 | 2022-09-20 | 苏州浪潮智能科技有限公司 | Raid6磁盘阵列的编码方法、解码方法、装置及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9891994B1 (en) | Updated raid 6 implementation | |
US9552258B2 (en) | Method and system for storing data in raid memory devices | |
US9063910B1 (en) | Data recovery after triple disk failure | |
CN101387975B (zh) | 一种磁盘阵列系统 | |
CA2532766C (en) | Data storage array | |
US20140372838A1 (en) | Bad disk block self-detection method and apparatus, and computer storage medium | |
JPH04310137A (ja) | データの修復方法およびシステム | |
CN101504623B (zh) | 独立磁盘冗余阵列构建方法及装置 | |
CN103761195B (zh) | 一种利用分布式数据编码的存储方法 | |
CN104035830A (zh) | 一种数据恢复方法和装置 | |
US20140164695A1 (en) | Method and system for storing and rebuilding data | |
US10467074B2 (en) | Conditional journal for storage class memory devices | |
CN106484559A (zh) | 一种校验矩阵的构造方法及水平阵列纠删码的构造方法 | |
CN101984400A (zh) | 一种raid控制方法、装置及系统 | |
CN116501553B (zh) | 数据恢复方法、装置、系统、电子设备及存储介质 | |
CN105808170A (zh) | 一种能够以最小磁盘读写修复单磁盘错误的raid6编码方法 | |
US7133965B2 (en) | Raid storage device | |
CN108228382A (zh) | 一种针对evenodd码单盘故障的数据恢复方法 | |
CN101901115B (zh) | 一种磁盘阵列raid6级别的构建方法 | |
EP2889751B1 (en) | Method and apparatus for determining redundant array of independent disks | |
JP6260193B2 (ja) | ストレージシステム、及びストレージプログラム | |
CN104866243A (zh) | 优化输入输出负载的raid-6横向斜向校验编码及解码方法 | |
US20200336157A1 (en) | Systematic and xor-based coding technique for distributed storage systems | |
CN104765660B (zh) | 一种基于ssd的raid6系统的单盘快速恢复方法器 | |
CN104881252A (zh) | 一种基于e码的磁盘阵列布局结构 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20150902 |