CN101615105B - Raid存储系统和可进行raid计算的存储器及控制方法 - Google Patents

Raid存储系统和可进行raid计算的存储器及控制方法 Download PDF

Info

Publication number
CN101615105B
CN101615105B CN2009100903642A CN200910090364A CN101615105B CN 101615105 B CN101615105 B CN 101615105B CN 2009100903642 A CN2009100903642 A CN 2009100903642A CN 200910090364 A CN200910090364 A CN 200910090364A CN 101615105 B CN101615105 B CN 101615105B
Authority
CN
China
Prior art keywords
raid
data
storage space
storer
stick
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.)
Active
Application number
CN2009100903642A
Other languages
English (en)
Other versions
CN101615105A (zh
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.)
New H3C Technologies Co Ltd
Original Assignee
Hangzhou H3C Technologies 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 Hangzhou H3C Technologies Co Ltd filed Critical Hangzhou H3C Technologies Co Ltd
Priority to CN2009100903642A priority Critical patent/CN101615105B/zh
Publication of CN101615105A publication Critical patent/CN101615105A/zh
Application granted granted Critical
Publication of CN101615105B publication Critical patent/CN101615105B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种磁盘冗余阵列(RAID)存储系统及该系统的控制方法、以及一种可进行RAID计算的存储器及该存储器的片内控制方法。本发明为每个存储器配备一RAID算法功能部件、或在每个存储器内增设可执行RAID算法的逻辑单元,并由RAID控制器或系统CPU,将RAID算法计算所需数据条块调度至待更新校验数据所在存储器处,即可由该存储器配备的RAID算法功能部件、或该存储器内增设的可执行RAID算法的逻辑单元实现RAID算法计算。如此一来,RAID控制器、系统CPU均不需要执行RAID算法计算,而仅仅负责读写操作即可,从而能够节省RAID存储系统中的CPU资源,进而提高RAID存储系统的性能。

Description

RAID存储系统和可进行RAID计算的存储器及控制方法
技术领域
本发明涉及磁盘冗余阵列(RAID)技术,特别涉及一种RAID存储系统及该系统的控制方法、以及一种可进行RAID计算的存储器及该存储器的片内控制方法。
背景技术
RAID技术已广泛应用于数据存储的各种场合。其中,RAID5、RAID6等具备冗余能力的RAID中,除了以条带方式存储数据之外,每一条带还具有可还原该条带内数据的校验数据。
RAID存储系统分为硬RAID和软RAID两种。硬RAID中,系统CPU和北桥(某些情况下可以不包含北桥)通过一个RAID控制器下挂有若干存储器,并由RAID控制器中的CPU计算(例如,RAID5所采用的RAID算法为异或“Xor”运算)若干存储器的存储空间中存储的各条带校验数据;软RAID中则不具有RAID控制器,而是由系统CPU和北桥(某些情况下可以不包含北桥)直接下挂存储器、该存储器中划分有若干存储空间,并由系统CPU计算存储器内划分的若干存储空间中各条带校验数据。
参见图1,以类型为硬RAID的RAID5为例,条带0的数据条块D1存储于存储器1的存储空间、数据条块D2存储于存储器2的存储空间、校验数据E1存储于存储器3的存储空间,E1=D1 Xor D2;条带1的数据条块D3存储于存储器1的存储空间、数据条块D4存储于存储器2的存储空间、校验数据E2存储于存储器3的存储空间,E2=D3 Xor D4。
当数据条块D1改变为D1’时,需要重新计算条带0的校验数据E1’:
步骤1,参见图2a,RAID控制器中的CPU从存储器1的存储空间中读取数据条块D1;
步骤2,参见图2b,RAID控制器中的CPU向存储器1的存储空间中写入改变后的数据条块D1’,实现数据条块的更新;
步骤3,参见图2c,由于数据条块D1改变为D1’,因而需要重新计算校验数据E1,RAID控制器中的CPU从存储器3的存储空间中读取校验数据E1;
步骤4,RAID控制器中的CPU计算得到E1’=D1’Xor D1 Xor E1;
步骤5,参见图2d,RAID控制器中的CPU再将计算得到的改变的校验数据E1’写入至存储器3的存储空间中,实现校验数据的更新。
由上述过程可见,为了完成RAID存储系统中的数据更改,RAID控制器中的CPU需要执行2次读、2次写、以及1次计算共5个步骤,占用了RAID控制器中的较多CPU资源,从而会影响RAID存储系统的性能。
同理,对于软RAID来说,为了实现RAID存储系统中的数据更新,系统CPU也需要针对存储空间执行上述5个步骤,即占用较多的CPU资源,也会影响RAID存储系统的性能。
可见,现有技术中,无论是硬RAID还是软RAID,RAID存储系统在更改数据时都会占用较多的CPU资源,从而使得RAID存储系统的性能不高。
发明内容
有鉴于此,本发明提供了一种RAID存储系统及该系统的控制方法、以及一种可进行RAID计算的存储器及该存储器的片内控制方法,能够提高RAID存储系统的存储性能。
本发明提供的一种RAID存储系统,包括RAID控制器和若干存储器;
每一存储器分别通过一对应的RAID算法功能部件与RAID控制器中的CPU连通,所述RAID算法功能部件为可执行异或运算的逻辑器件;
针对需要改变的数据条块,RAID控制器中的CPU通过对应RAID算法功能部件的透传从对应存储器读取该数据条块、并写回改变的该数据条块;
针对该数据条块改变后的校验数据更新,RAID控制器中的CPU将所述读取的该数据条块、所述改变的该数据条块,依次写入至对应校验数据所在存储器所对应的RAID算法功能部件中,由该RAID算法功能部件从对应存储器内读取所述对应校验数据,并利用RAID控制器中的CPU写入的该数据条块、所述改变的该数据条块、以及该RAID算法功能部件读取的校验数据,通过异或运算重新计算校验数据写回至对应存储器内。
可选地,所述RAID为RAID 5或RAID6。
本发明提供的一种RAID存储系统中的控制方法,设置每一存储器分别对应连通一个RAID算法功能部件,所述RAID算法功能部件为可执行异或运算的逻辑器件,且该控制方法包括如下步骤:
针对需要改变的数据条块,通过对应RAID算法功能部件的透传从对应存储器读取该数据条块、并写回改变的该数据条块;
针对该数据条块改变后的校验数据更新,将所述读取的该数据条块、所述改变的该数据条块,依次写入至对应校验数据所在存储器所对应的RAID算法功能部件中,由该RAID算法功能部件从对应存储器内读取所述对应校验数据,并利用写入该RAID算法功能部件的该数据条块、所述改变的该数据条块、以及该RAID算法功能部件读取的校验数据,通过异或运算重新计算校验数据写回至对应存储器内。
可选地,所述RAID为RAID 5或RAID6。
本发明提供的一种RAID存储系统,包括系统CPU和存储器,所述存储器中划分有若干存储空间;
每一存储空间分别通过一对应的RAID算法功能部件与系统CPU连通,所述RAID算法功能部件为可执行异或运算的逻辑器件;
针对需要改变的数据条块,系统CPU通过对应RAID算法功能部件的透传从存储空间读取该数据条块、并写回改变的该数据条块;
针对该数据条块改变后的校验数据更新,系统CPU将所述读取的该数据条块、所述改变的该数据条块,依次写入至对应校验数据所在存储空间所对应的RAID算法功能部件中,由该RAID算法功能部件从对应存储空间内读取所述对应校验数据,并利用系统CPU写入的该数据条块、所述改变的该数据条块、以及该RAID算法功能部件读取的校验数据,通过异或运算重新计算校验数据写回至对应存储空间。
可选地,所述RAID为RAID 5或RAID6。
本发明提供的一种RAID存储系统中的控制方法,设置存储器中的每一存储空间分别通过一个对应的RAID算法功能部件与系统CPU连通,所述RAID算法功能部件为可执行异或运算的逻辑器件,且该控制方法包括如下步骤:
针对需要改变的数据条块,通过对应RAID算法功能部件的透传,从存储空间读取数据条块、并写回改变的该数据条块;
针对该数据条块改变后的校验数据更新,将所述读取的数据条块、所述改变的该数据条块,依次写入至对应校验数据所在存储空间所对应的RAID算法功能部件中,由该RAID算法功能部件从对应存储空间内读取所述对应校验数据,并利用写入该RAID算法功能部件的所述数据条块、所述改变的该数据条块、以及该RAID算法功能部件读取的校验数据,通过异或运算重新计算校验数据写回至对应存储空间内。
可选地,所述RAID为RAID 5或RAID6。
本发明提供的一种RAID存储系统,包括RAID控制器和若干存储器,每一存储器中又包括:存储空间,以及与RAID控制器中的CPU连通、并通过读写总线与存储空间连通的控制单元;
每一存储器还包括RAID算法单元、以及切换单元;其中,切换单元的输入通过写总线与控制单元连通、一路输出通过写总线与存储空间连通、另一路输出通过串连有RAID算法单元的写总线与存储空间连通、控制端则通过一控制线与RAID控制器中的CPU连通;所述RAID算法单元为可执行异或运算的逻辑单元;
针对需要改变的数据条块,RAID控制器中的CPU通过对应控制线控制该存储器中的切换单元、使该存储器中的控制单元通过写总线直接与存储空间连通,然后请求对应存储器中的控制单元通过读总线从存储空间中读取该数据条块、再请求该存储器中的控制单元通过写总线将改变的该数据条块写入至存储空间;
针对该数据条块改变后的校验数据更新,RAID控制器中的CPU通过对应控制线控制该存储器中的切换单元、使该存储器中的控制单元通过串连有RAID算法单元的写总线与存储空间连通,并请求该存储器中的控制单元通过写总线将改变前和改变后的该数据条块写入至RAID算法单元,以供RAID算法单元从存储空间读取校验数据,并利用写入该RAID算法单元的改变前和改变后的对应数据条块、以及该RAID算法单元读取的校验数据,通过异或运算重新计算校验数据并写回存储空间。
可选地,所述RAID为RAID 5或RAID6。
本发明提供的一种RAID存储系统中的控制方法,在每一存储器中设置一RAID算法单元、以及一切换单元,其中,切换单元的输入通过写总线与控制单元连通、一路输出通过写总线与存储空间连通、另一路输出通过串连有RAID算法单元的写总线与存储空间连通、控制端则连接一控制线;所述RAID算法单元为可执行异或运算的逻辑单元;
该控制方法还包括如下步骤:
针对需要改变的数据条块,通过对应控制线控制该存储器中的切换单元、使该存储器中的控制单元通过写总线直接与存储空间连通,然后请求对应存储器中的控制单元通过读总线从存储空间中读取该数据条块、再请求该存储器中的控制单元通过写总线将改变的该数据条块写入至存储空间;
针对该数据条块改变后的校验数据更新,通过对应控制线控制该存储器中的切换单元、使该存储器中的控制单元通过串连有RAID算法单元的写总线与存储空间连通,并请求该存储器中的控制单元通过写总线将改变前和改变后的该数据条块写入至RAID算法单元,以供RAID算法单元从存储空间读取校验数据,并利用写入该RAID算法单元的改变前和改变后的对应数据条块、以及该RAID算法单元读取的校验数据,通过异或运算重新计算校验数据并写回存储空间。
可选地,所述RAID为RAID 5或RAID6。
本发明提供的一种可进行RAID计算的存储器,包括:存储空间,以及通过读写总线与存储空间连通的控制单元;
包括RAID算法单元、以及切换单元;其中,切换单元的输入通过写总线与控制单元连通、一路输出通过写总线与存储空间连通、另一路输出通过串连有RAID算法单元的写总线与存储空间连通、控制端则通过一控制线与外部连通;所述RAID算法单元为可执行异或运算的逻辑单元;
该存储器在其存储空间内存储的数据条块需要被改变时,切换单元根据外部通过控制线发送的控制信号进行切换、使控制单元通过写总线直接与存储空间连通;控制单元先根据外部读请求,通过读总线从存储空间中读取该数据条块,再根据外部写请求,通过写总线将改变的该数据条块写入至存储空间;
该存储器在其存储空间内存储的校验数据由于对应数据条块的改变而需要更新时,切换单元根据外部通过控制线发送的控制信号进行切换、使该存储器中的控制单元通过串连有RAID算法单元的写总线与存储空间连通;控制单元根据外部写请求,通过写总线将改变前和改变后的对应数据条块写入至RAID算法单元,由RAID算法单元从存储空间读取校验数据,并利用写入该RAID算法单元的改变前和改变后的对应数据条块、以及该RAID算法单元读取的校验数据,通过异或运算重新计算校验数据写回存储空间。
可选地,所述RAID为RAID 5或RAID6。
本发明提供的一种可进行RAID计算的存储器的片内控制方法,在每一存储器中设置一RAID算法单元、以及一切换单元,其中,切换单元的输入通过写总线与控制单元连通、一路输出通过写总线与存储空间连通、另一路输出通过串连有RAID算法单元的写总线与存储空间连通、控制端则通过一控制线与外部连通;所述RAID算法单元为可执行异或运算的逻辑单元;
该控制方法还包括如下步骤:
在该存储器的存储空间内存储的数据条块需要被改变时,切换单元根据外部通过控制线发送的控制信号进行切换、使控制单元通过写总线直接与存储空间连通;控制单元先根据外部读请求,通过读总线从存储空间中读取该数据条块,再根据外部写请求,通过写总线将改变的该数据条块写入至存储空间;
在该存储器的存储空间内存储的校验数据由于对应数据条块的改变而需要更新时,切换单元根据外部通过控制线发送的控制信号进行切换、使该存储器中的控制单元通过串连有RAID算法单元的写总线与存储空间连通;控制单元根据外部写请求,通过写总线将改变前和改变后的对应数据条块写入至RAID算法单元,由RAID算法单元从存储空间读取校验数据,并利用写入该RAID算法单元的改变前和改变后的对应数据条块、以及该RAID算法单元读取的校验数据,通过异或运算重新计算校验数据写回存储空间。
可选地,所述RAID为RAID 5或RAID6。
本发明提供的一种RAID存储系统,包括CPU和若干存储空间,每一存储空间分别通过一对应的RAID算法功能单元与CPU连通,所述RAID算法功能单元为可执行异或运算的逻辑器件或功能单元;
存储空间内改变的数据条块,由CPU通过对应RAID算法功能单元的透传先读取再写入;
存储空间内由于对应数据条块的改变而被更新的奇偶校验数据,由该存储空间对应的RAID算法功能单元根据CPU写入该RAID算法功能单元的改变前和改变后的对应数据条块、以及从存储空内读取的更新前的奇偶校验数据进行异或运算得到。
可选地,所述RAID为RAID 5或RAID6。
本发明提供的一种RAID存储系统的控制方法,其特征在于,为每一存储空间设置一对应的RAID算法功能单元,所述RAID算法功能单元为可执行异或运算的逻辑器件或功能单元,且该控制方法包括如下步骤:
通过对应RAID算法功能单元的透传先读取再写入,改变存储空间内的数据条块;
由对应存储空间对应的RAID算法功能单元根据写入该RAID算法功能单元的改变前和改变后的对应数据条块、以及从存储空内读取的更新前的奇偶校验数据,更新存储空间内由于对应数据条块的改变而需要更新的奇偶校验数据。
可选地,所述RAID为RAID 5或RAID6。
由上述技术方案可见,本发明为每个存储器配备一RAID算法功能部件、或在每个存储器内增设可执行RAID算法的逻辑单元,并由RAID控制器或系统CPU,将RAID算法计算所需数据条块调度至待更新校验数据所在存储器处,即可由该存储器配备的RAID算法功能部件、或该存储器内增设的可执行RAID算法的逻辑单元实现RAID算法计算。如此一来,RAID控制器、系统CPU均不需要执行RAID算法计算,而仅仅负责读写操作即可,从而能够节省RAID存储系统中的CPU资源,进而提高RAID存储系统的性能。
此外,本发明还可以在内部增设有可执行RAID算法的逻辑单元的存储器中,增设一切换开关和控制线,用以将实现该存储在具备RAID算法功能和普通存储功能之间切换,从而还能够提高该存储器的灵活性和通用性。
附图说明
图1为现有RAID存储系统的一实例示意图;
图2a~图2d为如图1所示RAID存储系统更改数据过程的示意图;
图3为本发明实施例一提供的RAID存储系统的一实例示意图;
图4a~图4d为本发明实施例一所提供的RAID存储系统更改数据过程的示意图;
图5为本发明实施例一提供的RAID存储系统控制方法的流程示意图;
图6为本发明实施例二提供的RAID存储系统的一实例示意图;
图7a~图7d为本发明实施例二所提供的RAID存储系统更改数据过程的示意图;
图8为本发明实施例二提供的RAID存储系统控制方法的流程示意图;
图9本发明实施例三提供的存储器的逻辑结构示意图;
图10为本发明实施例三提供的RAID存储系统的一实例示意图;
图11a~图11d为本发明实施例三所提供的RAID存储系统更改数据过程的示意图;
图12为本发明实施例三提供的RAID存储系统控制方法的流程示意图;
图13为本发明实施例三提供的存储器的片内控制方法流程示意图。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本发明进一步详细说明。
实施例一
本实施例提供了一种RAID存储系统,该RAID存储系统属于硬RAID,即包含系统CPU、北桥(某些情况下可以不包含北桥)、以及RAID控制器和若干存储器。
除此之外,本实施例的RAID存储系统中还包括与存储器数量相等的RAID算法功能部件,每一存储器内分别通过一对应的RAID算法功能部件与RAID控制器中的CPU连通。
基于上述RAID存储系统架构:
针对需要改变的数据条块,RAID控制器中的CPU可通过对应RAID算法功能部件的透传,从对应存储器读取原始的该数据条块、并写回改变的该数据条块,以实现数据条块的更新;
此后,针对该数据条块改变后的校验数据更新,RAID控制器中的CPU还将读取的原始的该数据条块、以及读取后写回的改变的该数据条块,依次写入至对应校验数据所在存储器所对应的RAID算法功能部件中,由该对应的RAID算法功能部件从对应存储器内读取对应校验数据,再利用RAID控制器中的CPU写入的原始数据条块、改变的数据条块、以及RAID算法功能部件读取的校验数据,重新计算出变化后的校验数据并写回至对应存储器内,以实现校验数据的更新。
参见图3,以RAID5为例,条带0的数据条块D1存储于存储器1、数据条块D2存储于存储器2、校验数据E1存储于存储器3,E1=D1 Xor D2;条带1的数据条块D3存储于存储器1、数据条块D4存储于存储器2、校验数据E2存储于存储器3,E2=D3 Xor D4。
且在图3中,存储器1通过RAID算法功能部件1与RAID控制器的CPU连通,存储器2通过RAID算法功能部件2与RAID控制器的CPU连通,存储器3通过RAID算法功能部件3与RAID控制器的CPU连通。
当数据条块D1改变为D1’时,需要重新计算条带0的校验数据E1’:
步骤1,参见图4a,RAID控制器中的CPU通过RAID算法功能部件1的透传,从存储器1中读取数据条块D1;
步骤2,参见图4b,RAID控制器中的CPU通过RAID算法功能部件1的透传,向存储器1中写入改变后的数据条块D1’,实现数据条块的更新;
步骤3,参见图4c,由于数据条块D1改变为D1’,因而需要重新计算校验数据E1,RAID控制器中的CPU将改变后的数据条块D1’,写入至对应校验数据E1所在存储器3所对应的RAID算法功能部件3中,并由RAID算法功能部件3从存储器3中读取校验数据E1,然后再由RAID算法功能部件3计算得到E1’=D1’Xor E1后,写回至存储器3中;
步骤4,参见图4d,RAID控制器中的CPU还将改变前的数据条块D1,写入至对应校验数据E1所在存储器3所对应的RAID算法功能部件3中,并由RAID算法功能部件3从存储器3中读取刚刚计算得到的校验数据E1’,然后再由RAID算法功能部件3计算得到E1”=D1 Xor E1’=D1 Xor D1’XorE1后,写回至存储器3中,实现校验数据的更新。
由上述过程可见,为了完成RAID存储系统中的数据更改,RAID控制器中的CPU只需要执行1次读、3次写共4个步骤,相比于现有技术,减少了1次计算、以及1次读写间的切换,从而减少了RAID控制器中占用的CPU资源,进而能够提高RAID存储系统的性能。
基于上述RAID存储系统,本实施例还提供了一种RAID存储系统中的控制方法,该控制方法可以由RAID控制器中的CPU来执行、或由RAID存储系统中可对存储器执行读写操作的任意硬件设备来执行。
具体说,以RAID控制器中的CPU来执行该控制方法为例,本实施例的控制方法中,首先需要设置与存储器数量相等的RAID算法功能部件,并设置每一存储器分别通过一对应的RAID算法功能部件与RAID控制器中的CPU连通,然后执行如下步骤:
针对需要改变的数据条块,RAID控制器中的CPU通过对应RAID算法功能部件的透传从对应存储器读取原始的该数据条块、并写回改变的该数据条块;
此后,针对该数据条块改变后的校验数据更新,RAID控制器中的CPU将之前读取的该数据条块、以及改变的该数据条块,依次写入至对应校验数据所在存储器所对应的RAID算法功能部件中,由该RAID算法功能部件从对应存储器内读取所述对应校验数据、并利用RAID控制器中的CPU写入的原始数据条块、改变的数据条块、以及RAID算法功能部件读取的校验数据,重新计算出变化后的校验数据并写回至对应存储器内,以实现校验数据的更新。
参见图5,以一完整的处理流程为例,本实施例中RAID存储系统的控制方法包括:
步骤501,RAID控制器中的CPU通过RAID算法功能部件的透传,从对应存储器中读取需要改变的数据条块;
步骤502,RAID控制器中的CPU将改变的该数据条块再通过RAID算法功能部件的透传写回至对应存储器,实现数据条块的更新;
步骤503,由于步骤501读取的数据条块已在步骤502改变,因而需要重新计算对应的校验数据,RAID控制器中的CPU将步骤502改变后的数据条块、以及步骤501中读取的原始数据条块写入至该数据条块对应校验数据所在存储器所对应的RAID算法功能部件中;
步骤504,RAID算法功能部件从对应存储器中读取对应校验数据,然后利用CPU写入的改变前和改变后的数据条块、以及RAID算法功能部件读取的对应校验数据,重新计算得到变化后的对应校验数据、并写回至对应存储器中,实现校验数据的更新。
至此,本流程结束。
由上述过程可见,为了完成RAID存储系统中的数据更改,RAID控制器中的CPU只需要执行1次读、3次写共4个步骤,相比于现有技术,减少了1次计算、以及1次读写间的切换,从而减少了RAID控制器中占用的CPU资源,进而能够提高RAID存储系统的性能。
实施例二
本实施例提供了一种RAID存储系统,该RAID存储系统属于软RAID,即包含系统CPU、北桥(某些情况下可以不包含北桥)和一个存储器,存储器中划分有若干存储空间。
除此之外,每一存储空间分别通过一对应的RAID算法功能部件与系统CPU连通。
基于上述RAID存储系统架构:
针对需要改变的数据条块,系统CPU可通过对应RAID算法功能部件的透传,从存储空间读取原始的该数据条块、并写回改变的该数据条块;
此后,针对该数据条块改变后的校验数据更新,系统CPU还可将读取的原始数据条块、改变的该数据条块,依次写入至对应校验数据所在存储空间所对应的RAID算法功能部件中,由该RAID算法功能部件从对应存储空间内读取对应校验数据,再利用系统CPU写入的原始数据条块、改变的数据条块、以及该RAID算法功能部件读取的校验数据,重新计算变化后的校验数据并写回至对应存储空间。
参见图6,以RAID5为例,条带0的数据条块D1存储于存储器的存储空间1、数据条块D2存储于存储器的存储空间2、校验数据E1存储于存储器的存储空间3,E1=D1 Xor D2;条带1的数据条块D3存储于存储器的存储空间1、数据条块D4存储于存储器的存储空间2、校验数据E2存储于存储器的存储空间3,E2=D3 Xor D4。
且在图6中,存储器的存储空间1通过RAID算法功能部件1与系统CPU连通,存储器的存储空间2通过RAID算法功能部件2与系统CPU连通,存储器3的存储空间通过RAID算法功能部件3与系统CPU连通。
当数据条块D1改变为D1’时,需要重新计算条带0的校验数据E1’:
步骤1,参见图7a,系统CPU通过RAID算法功能部件1的透传,从存储器的存储空间1中读取数据条块D1;
步骤2,参见图7b,系统CPU通过RAID算法功能部件1的透传,向存储器的存储空间1中写入改变后的数据条块D1’,实现数据条块的更新;
步骤3,参见图7c,由于数据条块D1改变为D1’,因而需要重新计算校验数据E1,系统CPU将改变后的数据条块D1’,写入至对应校验数据E1所在存储器的存储空间3所对应的RAID算法功能部件3中,并由RAID算法功能部件3从存储器的存储空间3中读取校验数据E1,然后再由RAID算法功能部件3计算得到E1’=D1’Xor E1后,写回至存储器的存储空间3中;
步骤4,参见图7d,系统CPU还将改变前的数据条块D1,写入至对应校验数据E1所在存储器的存储空间3所对应的RAID算法功能部件3中,并由RAID算法功能部件3从存储器的存储空间3中读取刚刚计算得到的校验数据E1’,然后再由RAID算法功能部件3计算得到E1”=D1 Xor E1’=D1Xor D1’Xor E1后,写回至存储器的存储空间3中,实现校验数据的更新。
由上述过程可见,为了完成RAID存储系统中的数据更改,系统CPU只需要执行1次读、3次写共4个步骤,相比于现有技术,减少了1次计算、以及1次读写间的切换,从而减少了RAID控制器中占用的CPU资源,进而能够提高RAID存储系统的性能。
基于上述RAID存储系统,本实施例还提供了一种RAID存储系统中的控制方法,该控制方法可以由系统CPU来执行、或由RAID存储系统中可对存储器执行读写操作的任意硬件设备来执行。
具体说,以系统CPU来执行该控制方法为例,该控制方法首先需要设置存储器中的每一存储空间分别通过一对应的RAID算法功能部件与系统CPU连通,并包括如下步骤:
针对需要改变的数据条块,系统CPU通过对应RAID算法功能部件的透传,从存储空间读取原始的该数据条块、并写回改变的该数据条块;
此后,针对该数据条块改变后的校验数据更新,系统CPU将所述读取的原始的该数据条块、所述改变的该数据条块,依次写入至对应校验数据所在存储空间所对应的RAID算法功能部件中,由该RAID算法功能部件从对应存储空间内读取所述对应校验数据,再利用系统CPU写入的原始数据条块、改变的数据条块、以及该RAID算法功能部件读取的校验数据,重新计算变化后的校验数据写回至对应存储空间内。
参见图8,以一完整的处理流程为例,本实施例中RAID存储系统的控制方法包括:
步骤801,系统CPU通过RAID算法功能部件的透传,从对应存储空间中读取需改变的原始数据条块;
步骤802,系统CPU将改变后的该数据条块再通过RAID算法功能部件的透传写回至对应存储空间,实现数据条块的更新;
步骤803,由于步骤801读取的数据条块已在步骤802发生改变,因而需要重新计算对应的校验数据,系统CPU将步骤802改变后的数据条块、以及步骤801中读取的原始数据条块写入至该数据条块对应校验数据所在存储空间所对应的RAID算法功能部件中;
步骤804,RAID算法功能部件从对应存储空间中读取对应校验数据,然后利用系统CPU写入的改变前和改变后的数据条块、以及读取的对应校验数据,计算得到变化后的对应校验数据、并写回至对应存储空间中,实现校验数据的更新。
至此,本流程结束。
由上述过程可见,为了完成RAID存储系统中的数据更改,系统CPU只需要执行1次读、3次写共4个步骤,相比于现有技术,减少了1次计算、以及1次读写间的切换,从而减少了RAID控制器中占用的CPU资源,进而能够提高RAID存储系统的性能。
实施例三
本实施例提供了一种RAID存储系统,该RAID存储系统属于硬RAID,即包含系统CPU、北桥(某些情况下可以不包含北桥)、以及RAID控制器和若干存储器。
除此之外,本实施例的RAID存储系统中,参见图9,每一存储器除了包括存储空间和承载于片内控制器的控制单元(与RAID控制器中的CPU连通、并通过读写总线与存储空间连通)之外,还包括承载于片内控制器的RAID算法单元、以及切换单元;其中,切换单元的输入通过写总线与控制单元连通、一路输出通过写总线与存储空间连通、另一路输出通过串连有RAID算法单元的写总线与存储空间连通、控制端则通过一控制线与RAID控制器中的CPU连通。当然,片内控制器还可包括例如译码单元等其他现有功能单元,在本文中不予一一赘述。
也就是说,相比于实施例一在存储器外部增加RAID算法功能部件,本实施例中的区别在于,将RAID计算功能增设在了存储器内部。
如此一来,基于上述可进行RAID计算的存储器:
针对需要改变的数据条块、即对于存储空间内存有需改变数据条块的存储器,RAID控制器中的CPU通过对应控制线控制该存储器中的切换单元、使该存储器中的控制单元通过写总线直接与存储空间连通,然后请求对应存储器中的控制单元通过读总线从存储空间中读取原始的该数据条块、再请求该存储器中的控制单元通过写总线将改变的该数据条块写入至存储空间;
相应地,存储器在其存储空间内存储的数据条块需要被改变时,切换单元根据外部通过控制线发送的控制信号进行切换、使控制单元通过写总线直接与存储空间连通;控制单元先根据外部读请求,通过读总线从存储空间中读取该数据条块,再根据外部写请求,通过写总线将改变的该数据条块写入至存储空间,实现数据条块的更新;
针对该数据条块改变后的校验数据更新、即对于存储空间内存有需更新校验数据的存储器,RAID控制器中的CPU通过对应控制线控制该存储器中的切换单元、使该存储器中的控制单元通过串连有RAID算法单元的写总线与存储空间连通,并请求该存储器中的控制单元通过写总线将改变前和改变后的该数据条块写入至RAID算法单元,以供RAID算法单元从存储空间读取校验数据、并重新计算校验数据并写回存储空间;
相应地,存储器在其存储空间内存储的校验数据由于对应数据条块的改变而需要更新时,切换单元根据外部通过控制线发送的控制信号进行切换、使该存储器中的控制单元通过串连有RAID算法单元的写总线与存储空间连通;控制单元根据外部写请求,通过写总线将改变前和改变后的对应数据条块写入至RAID算法单元,由RAID算法单元从存储空间读取校验数据,再利用该RAID算法单元从存储空间读取校验数据、以及RAID控制器中的CPU请求控制单元写入的改变前和改变后的对应数据条块,重新计算得到变化后的校验数据并写回存储空间,实现校验数据的更新。
参见图10,以RAID5为例,条带0的数据条块D1存储于存储器1的存储空间内、数据条块D2存储于存储器2的存储空间内、校验数据E1存储于存储器3的存储空间内,E1=D1 Xor D2;条带1的数据条块D3存储于存储器1的存储空间内、数据条块D4存储于存储器2的存储空间内、校验数据E2存储于存储器3的存储空间内,E2=D3 Xor D4。
且在图10中,存储器1、存储器2、存储器3中均包括承载于片内控制器的RAID算法单元、以及切换单元;其中,切换单元的输入通过写总线与控制单元连通、一路输出通过写总线与存储空间连通、另一路输出通过串连有RAID算法单元的写总线与存储空间连通、控制端则通过一控制线与RAID控制器中的CPU连通。
此外,由于存储器1和存储器2中仅存有数据条块,因而RAID控制器中的CPU通过对应控制线控制存储器1和存储器2中的切换单元、使存储器1和存储器2中的控制单元直接通过写总线与存储空间连通;而由于存储器3中仅存有校验数据,因而RAID控制器中的CPU通过对应控制线控制存储器3中的切换单元、使存储器3中的控制单元通过串连有RAID算法单元的写总线与存储空间连通。
当然,图10中仅仅是以存储器1和存储器2中仅存有数据条块、存储器3中仅存有校验数据为例,实际应用中,每一存储器中均可同时存放数据条块以及校验数据,这种情况下,就需要RAID控制器中的CPU根据实际操作反复通过控制线控制对应控制器中的切换单元进行切换即可。
当数据条块D1改变为D1’时,需要重新计算条带0的校验数据E1’:
步骤1,参见图11a,RAID控制器中的CPU请求存储器1中的控制单元通过读总线读取存储器1中存储空间内的数据条块D1;
步骤2,参见图11b,存储器1中的控制单元直接通过写总线与存储空间连通,因而RAID控制器中的CPU请求存储器1中的控制单元直接通过写总线将改变后的数据条块D1’写入至存储器1中的存储空间内,实现数据条块的更新;
步骤3,参见图11c,由于数据条块D1改变为D1’,因而需要重新计算校验数据E1,在图11c中,存储器3中的控制单元通过串连有RAID算法单元的写总线与存储空间连通,RAID控制器中的CPU请求存储器3中的控制单元,将改变后的数据条块D1’写入至存储器3中的RAID算法单元,并由存储器3中的RAID算法单元从存储器3的存储空间中读取校验数据E1,然后再由存储器3中的RAID算法单元计算得到E1’=D1’Xor E1后,写回至存储器3的存储空间中;
步骤4,参见图11d,RAID控制器中的CPU请求存储器3中的控制单元,将改变前的数据条块D1写入至存储器3中的RAID算法单元,并由存储器3中的RAID算法单元从存储器3中的存储空间内读取刚刚计算得到的校验数据E1’,然后再由存储器3中的RAID算法单元计算得到E1”=D1 XorE1’=D1 Xor D1’Xor E1后,写回至存储器3中的存储空间内,实现校验数据的更新。
由上述过程可见,为了完成RAID存储系统中的数据更改,RAID控制器中的CPU只需要执行1次读、3次写共4个步骤,相比于现有技术,减少了1次计算、以及1次读写间的切换,从而减少了RAID控制器中占用的CPU资源,进而能够提高RAID存储系统的性能。
基于上述包含有可进行RAID计算的存储器的RAID存储系统,本实施例还提供了一种RAID存储系统中的控制方法,该控制方法可以由RAID控制器中的CPU来执行、或由RAID存储系统中可对存储器执行读写操作的任意硬件设备来执行。
具体说,以RAID控制器中的CPU来执行该RAID存储系统中的控制方法为例,该控制方法首先在每一存储器中设置一RAID算法单元、以及一切换单元,其中,切换单元的输入通过写总线与控制单元连通、一路输出通过写总线与存储空间连通、另一路输出通过串连有RAID算法单元的写总线与存储空间连通、控制端则通过一控制线与RAID控制器中的CPU连通。此外,该RAID存储系统中的控制方法还包括如下步骤:
针对需要改变的数据条块、即对于存储空间内存有需改变数据条块的存储器,RAID控制器中的CPU通过对应控制线控制该存储器中的切换单元、使该存储器中的控制单元通过写总线直接与存储空间连通,然后请求对应存储器中的控制单元通过读总线从存储空间中读取原始的该数据条块、再请求该存储器中的控制单元通过写总线将改变的该数据条块写入至存储空间,以实现对数据条块的更新;
针对该数据条块改变后的校验数据更新、即对于存储空间内存有需更新校验数据的存储器,RAID控制器中的CPU通过对应控制线控制该存储器中的切换单元、使该存储器中的控制单元通过串连有RAID算法单元的写总线与存储空间连通,并请求该存储器中的控制单元通过写总线将改变前和改变后的该数据条块写入至RAID算法单元,以供RAID算法单元从存储空间读取校验数据、与改变前和改变后的对应数据条块一起重新计算得到变化后的校验数据并写回存储空间,以实现对校验数据的更新。
参见图12,以一完整的处理流程为例,本实施例中RAID存储系统的控制方法包括:
步骤1201,RAID控制器中的CPU请求对应存储器中的控制单元通过读总线从存储空间中读取需改变的原始数据条块;
步骤1202,RAID控制器中的CPU控制该存储器中的切换单元、使该存储器中的控制单元通过写总线直接与存储空间连通,并请求该存储器中的控制单元通过写总线将数据条块写入至存储空间;
步骤1203,由于步骤1201读取的数据条块已在步骤1202发生改变,因而需要重新计算对应的校验数据,RAID控制器中的CPU控制对应校验数据所在存储器中的切换单元、使该存储器中的控制单元通过串连有RAID算法单元的写总线与存储空间连通,并请求该存储器中的控制单元将步骤1202改变后的数据条块、以及步骤1201中读取的原始数据条块写入至该存储器中的RAID算法单元,以供RAID算法单元从存储空间读取校验数据、与改变前和改变后的对应数据条块一起计算得到变化后的校验数据并写回存储空间。
至此,本流程结束。
由上述过程可见,为了完成RAID存储系统中的数据更改,RAID控制器中的CPU只需要执行1次读、3次写共4个步骤,相比于现有技术,减少了1次计算、以及1次读写间的切换,从而减少了RAID控制器中占用的CPU资源,进而能够提高RAID存储系统的性能。
相应地,针对如前所述的可进行RAID计算的存储器,本实施例还提供了一种可进行RAID计算的存储器的片内控制方法,该片内控制方法可以由存储器中承载于片内控制器的控制单元、切换单元、以及RAID算法单元协同执行。
具体说,以存储器中承载于片内控制器的控制单元来执行该片内控制方法为例,该片内控制方法首先在存储器中设置一RAID算法单元、以及一切换单元,其中,切换单元的输入通过写总线与控制单元连通、一路输出通过写总线与存储空间连通、另一路输出通过串连有RAID算法单元的写总线与存储空间连通、控制端则通过一控制线与外部RAID控制器中的CPU、或其他可对该存储器进行读写的硬件设备连通。此外,该片内控制方法还包括如下步骤:
该存储器在其存储空间内存储的数据条块需要被改变时,切换单元根据外部通过控制线发送的控制信号进行切换、使控制单元通过写总线直接与存储空间连通;控制单元先根据外部读请求,通过读总线从存储空间中读取原始的该数据条块,再根据外部写请求,通过写总线将改变的该数据条块写入至存储空间,以实现对数据条块的更新;
该存储器在其存储空间内存储的校验数据由于对应数据条块的改变而需要更新时,切换单元根据外部通过控制线发送的控制信号进行切换、使该存储器中的控制单元通过串连有RAID算法单元的写总线与存储空间连通,且控制单元根据外部写请求,通过写总线将改变前和改变后的对应数据条块写入至RAID算法单元,由RAID算法单元从存储空间读取校验数据、与改变前和改变后的对应数据条块一起重新计算得到变化后的校验数据并写回存储空间,以实现对校验数据的更新。
参见图13,以一完整的处理流程为例,本实施例中可进行RAID计算的存储器的片内控制方法包括:
步骤1301,控制单元根据外部的读请求,通过读总线从存储空间中读取需改变的原始数据条块;
步骤1302,切换单元根据外部控制信号进行切换,使该存储器中的控制单元通过写总线直接与存储空间连通;
步骤1303,控制单元根据外部的写请求,通过写总线将改变的该数据条块写入至存储空间;
步骤1304,当存储空间内存储的校验数据对应的其他存储器中存储的数据条块发生变化,则需要重新计算存储空间内存储的该校验数据,切换单元根据外部控制信号进行切换、使该存储器中的控制单元通过串连有RAID算法单元的写总线与存储空间连通;
步骤1305,控制单元根据外部的读请求,将其他存储器中存储的改变前和改变后的对应数据条块写入至该存储器中的RAID算法单元;
步骤1306,RAID算法单元从存储空间读取校验数据、与控制单元写入的改变前和改变后的对应数据条块一起计算得到变化后的校验数据,然后写回存储空间。
至此,本流程结束。
以上三个实施例中,列举了硬RAID、软RAID、以及存储器内部或外部增加RAID计算功能的各种方案。实际应用中,还有可能存在其他软硬件环境,那么无论针对何种软硬件环境,均会存在一CPU和若干存储空间。
这样,本发明还提供了一种可通用于各种软硬件环境的RAID存储系统,包括CPU和若干存储空间、且每一存储空间分别通过一对应的RAID算法功能单元(既可以是硬件实现、也可以是软件实现,且既可以位于存储器内、也可以位于存储器外部)与CPU连通,其中,
存储空间内改变的数据条块,由CPU通过对应RAID算法功能单元的透传先读取再写入;
存储空间内由于对应数据条块的改变而被更新的奇偶校验数据,由该存储空间对应的RAID算法功能单元根据CPU写入该RAID算法功能单元的改变前和改变后的对应数据条块、以及从存储空内读取的更新前的奇偶校验数据计算得到。
此外,本发明还提供了一种可通用于各种软硬件环境的RAID存储系统控制方法,该方法可由RAID存储系统中的CPU(可以是任意硬件设备中的CPU)来执行,该方法首先为每一存储空间设置一对应的RAID算法功能单元(既可以是硬件实现、也可以是软件实现,且既可以位于存储器内、也可以位于存储器外部),且该控制方法包括如下步骤:
通过对应RAID算法功能单元的透传先读取再写入,改变存储空间内的数据条块;
由对应存储空间对应的RAID算法功能单元根据写入该RAID算法功能单元的改变前和改变后的对应数据条块、以及从存储空内读取的更新前的奇偶校验数据,更新存储空间内由于对应数据条块的改变而需要更新的奇偶校验数据。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换以及改进等,均应包含在本发明的保护范围之内。

Claims (20)

1.一种磁盘冗余阵列RAID存储系统,包括RAID控制器和若干存储器;
其特征在于,每一存储器分别通过一对应的RAID算法功能部件与RAID控制器中的CPU连通,所述RAID算法功能部件为可执行异或运算的逻辑器件;
针对需要改变的数据条块,RAID控制器中的CPU通过对应RAID算法功能部件的透传从对应存储器读取该数据条块、并写回改变的该数据条块;
针对该数据条块改变后的校验数据更新,RAID控制器中的CPU将所述读取的该数据条块、所述改变的该数据条块,依次写入至对应校验数据所在存储器所对应的RAID算法功能部件中,由该RAID算法功能部件从对应存储器内读取所述对应校验数据,并利用RAID控制器中的CPU写入的该数据条块、所述改变的该数据条块、以及该RAID算法功能部件读取的校验数据,通过异或运算重新计算校验数据写回至对应存储器内。
2.如权利要求1所述的RAID存储系统,其特征在于,所述RAID为RAID 5或RAID6。
3.一种磁盘冗余阵列RAID存储系统中的控制方法,其特征在于,设置每一存储器分别对应连通一个RAID算法功能部件,所述RAID算法功能部件为可执行异或运算的逻辑器件,且该控制方法包括如下步骤:
针对需要改变的数据条块,通过对应RAID算法功能部件的透传从对应存储器读取该数据条块、并写回改变的该数据条块;
针对该数据条块改变后的校验数据更新,将所述读取的该数据条块、所述改变的该数据条块,依次写入至对应校验数据所在存储器所对应的RAID算法功能部件中,由该RAID算法功能部件从对应存储器内读取所述对应校验数据,并利用写入该RAID算法功能部件的该数据条块、所述改变的该数据条块、以及该RAID算法功能部件读取的校验数据,通过异或运算重新计算校验数据写回至对应存储器内。
4.如权利要求3所述的控制方法,其特征在于,所述RAID为RAID 5或RAID6。
5.一种磁盘冗余阵列RAID存储系统,包括系统CPU和存储器,所述存储器中划分有若干存储空间;
其特征在于,每一存储空间分别通过一对应的RAID算法功能部件与系统CPU连通,所述RAID算法功能部件为可执行异或运算的逻辑器件;
针对需要改变的数据条块,系统CPU通过对应RAID算法功能部件的透传从存储空间读取该数据条块、并写回改变的该数据条块;
针对该数据条块改变后的校验数据更新,系统CPU将所述读取的该数据条块、所述改变的该数据条块,依次写入至对应校验数据所在存储空间所对应的RAID算法功能部件中,由该RAID算法功能部件从对应存储空间内读取所述对应校验数据,并利用系统CPU写入的该数据条块、所述改变的该数据条块、以及该RAID算法功能部件读取的校验数据,通过异或运算重新计算校验数据写回至对应存储空间。
6.如权利要求5所述的RAID存储系统,其特征在于,所述RAID为RAID 5或RAID6。
7.一种磁盘冗余阵列RAID存储系统中的控制方法,其特征在于,设置存储器中的每一存储空间分别通过一个对应的RAID算法功能部件与系统CPU连通,所述RAID算法功能部件为可执行异或运算的逻辑器件,且该控制方法包括如下步骤:
针对需要改变的数据条块,通过对应RAID算法功能部件的透传,从存储空间读取数据条块、并写回改变的该数据条块;
针对该数据条块改变后的校验数据更新,将所述读取的数据条块、所述改变的该数据条块,依次写入至对应校验数据所在存储空间所对应的RAID算法功能部件中,由该RAID算法功能部件从对应存储空间内读取所述对应校验数据,并利用写入该RAID算法功能部件的所述数据条块、所述改变的该数据条块、以及该RAID算法功能部件读取的校验数据,通过异或运算重新计算校验数据写回至对应存储空间内。
8.如权利要求7所述的控制方法,其特征在于,所述RAID为RAID 5或RAID6。
9.一种磁盘冗余阵列RAID存储系统,包括RAID控制器和若干存储器,每一存储器中又包括:存储空间,以及与RAID控制器中的CPU连通、并通过读写总线与存储空间连通的控制单元;
其特征在于,每一存储器还包括RAID算法单元、以及切换单元;其中,切换单元的输入通过写总线与控制单元连通、一路输出通过写总线与存储空间连通、另一路输出通过串连有RAID算法单元的写总线与存储空间连通、控制端则通过一控制线与RAID控制器中的CPU连通;所述RAID算法单元为可执行异或运算的逻辑单元;
针对需要改变的数据条块,RAID控制器中的CPU通过对应控制线控制该存储器中的切换单元、使该存储器中的控制单元通过写总线直接与存储空间连通,然后请求对应存储器中的控制单元通过读总线从存储空间中读取该数据条块、再请求该存储器中的控制单元通过写总线将改变的该数据条块写入至存储空间;
针对该数据条块改变后的校验数据更新,RAID控制器中的CPU通过对应控制线控制该存储器中的切换单元、使该存储器中的控制单元通过串连有RAID算法单元的写总线与存储空间连通,并请求该存储器中的控制单元通过写总线将改变前和改变后的该数据条块写入至RAID算法单元,以供RAID算法单元从存储空间读取校验数据,并利用写入该RAID算法单元的改变前和改变后的对应数据条块、以及该RAID算法单元读取的校验数据,通过异或运算重新计算校验数据并写回存储空间。
10.如权利要求9所述的RAID存储系统,其特征在于,所述RAID为RAID 5或RAID6。
11.一种磁盘冗余阵列RAID存储系统中的控制方法,其特征在于,在每一存储器中设置一RAID算法单元、以及一切换单元,其中,切换单元的输入通过写总线与控制单元连通、一路输出通过写总线与存储空间连通、另一路输出通过串连有RAID算法单元的写总线与存储空间连通、控制端则连接一控制线;所述RAID算法单元为可执行异或运算的逻辑单元;
该控制方法还包括如下步骤:
针对需要改变的数据条块,通过对应控制线控制该存储器中的切换单元、使该存储器中的控制单元通过写总线直接与存储空间连通,然后请求对应存储器中的控制单元通过读总线从存储空间中读取该数据条块、再请求该存储器中的控制单元通过写总线将改变的该数据条块写入至存储空间;
针对该数据条块改变后的校验数据更新,通过对应控制线控制该存储器中的切换单元、使该存储器中的控制单元通过串连有RAID算法单元的写总线与存储空间连通,并请求该存储器中的控制单元通过写总线将改变前和改变后的该数据条块写入至RAID算法单元,以供RAID算法单元从存储空间读取校验数据,并利用写入该RAID算法单元的改变前和改变后的对应数据条块、以及该RAID算法单元读取的校验数据,通过异或运算重新计算校验数据并写回存储空间。
12.如权利要求11所述的控制方法,其特征在于,所述RAID为RAID5或RAID6。
13.一种可进行磁盘冗余阵列RAID计算的存储器,包括:存储空间,以及通过读写总线与存储空间连通的控制单元;
其特征在于,包括RAID算法单元、以及切换单元;其中,切换单元的输入通过写总线与控制单元连通、一路输出通过写总线与存储空间连通、另一路输出通过串连有RAID算法单元的写总线与存储空间连通、控制端则通过一控制线与外部连通;所述RAID算法单元为可执行异或运算的逻辑单元;
该存储器在其存储空间内存储的数据条块需要被改变时,切换单元根据外部通过控制线发送的控制信号进行切换、使控制单元通过写总线直接与存储空间连通;控制单元先根据外部读请求,通过读总线从存储空间中读取该数据条块,再根据外部写请求,通过写总线将改变的该数据条块写入至存储空间;
该存储器在其存储空间内存储的校验数据由于对应数据条块的改变而需要更新时,切换单元根据外部通过控制线发送的控制信号进行切换、使该存储器中的控制单元通过串连有RAID算法单元的写总线与存储空间连通;控制单元根据外部写请求,通过写总线将改变前和改变后的对应数据条块写入至RAID算法单元,由RAID算法单元从存储空间读取校验数据,并利用写入该RAID算法单元的改变前和改变后的对应数据条块、以及该RAID算法单元读取的校验数据,通过异或运算重新计算校验数据写回存储空间。
14.如权利要求13所述的存储器,其特征在于,所述RAID为RAID 5或RAID6。
15.一种可进行磁盘冗余阵列计算的存储器的片内控制方法,其特征在于,在每一存储器中设置一RAID算法单元、以及一切换单元,其中,切换单元的输入通过写总线与控制单元连通、一路输出通过写总线与存储空间连通、另一路输出通过串连有RAID算法单元的写总线与存储空间连通、控制端则通过一控制线与外部连通;所述RAID算法单元为可执行异或运算的逻辑单元;
该控制方法还包括如下步骤:
在该存储器的存储空间内存储的数据条块需要被改变时,切换单元根据外部通过控制线发送的控制信号进行切换、使控制单元通过写总线直接与存储空间连通;控制单元先根据外部读请求,通过读总线从存储空间中读取该数据条块,再根据外部写请求,通过写总线将改变的该数据条块写入至存储空间;
在该存储器的存储空间内存储的校验数据由于对应数据条块的改变而需要更新时,切换单元根据外部通过控制线发送的控制信号进行切换、使该存储器中的控制单元通过串连有RAID算法单元的写总线与存储空间连通;控制单元根据外部写请求,通过写总线将改变前和改变后的对应数据条块写入至RAID算法单元,由RAID算法单元从存储空间读取校验数据,并利用写入该RAID算法单元的改变前和改变后的对应数据条块、以及该RAID算法单元读取的校验数据,通过异或运算重新计算校验数据写回存储空间。
16.如权利要求15所述的控制方法,其特征在于,所述RAID为RAID5或RAID6。
17.一种磁盘冗余阵列RAID存储系统,包括CPU和若干存储空间,其特征在于,每一存储空间分别通过一对应的RAID算法功能单元与CPU连通,所述RAID算法功能单元为可执行异或运算的逻辑器件或功能单元;
存储空间内改变的数据条块,由CPU通过对应RAID算法功能单元的透传先读取再写入;
存储空间内由于对应数据条块的改变而被更新的奇偶校验数据,由该存储空间对应的RAID算法功能单元根据CPU写入该RAID算法功能单元的改变前和改变后的对应数据条块、以及从存储空内读取的更新前的奇偶校验数据进行异或运算得到。
18.如权利要求17所述的RAID存储单元,其特征在于,所述RAID为RAID 5或RAID6。
19.一种磁盘冗余阵列RAID存储系统的控制方法,其特征在于,为每一存储空间设置一对应的RAID算法功能单元,所述RAID算法功能单元为可执行异或运算的逻辑器件或功能单元,且该控制方法包括如下步骤:
通过对应RAID算法功能单元的透传先读取再写入,改变存储空间内的数据条块;
由对应存储空间对应的RAID算法功能单元根据写入该RAID算法功能单元的改变前和改变后的对应数据条块、以及从存储空内读取的更新前的奇偶校验数据,更新存储空间内由于对应数据条块的改变而需要更新的奇偶校验数据。
20.如权利要求19所述的控制方法,其特征在于,所述RAID为RAID5或RAID6。
CN2009100903642A 2009-08-06 2009-08-06 Raid存储系统和可进行raid计算的存储器及控制方法 Active CN101615105B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2009100903642A CN101615105B (zh) 2009-08-06 2009-08-06 Raid存储系统和可进行raid计算的存储器及控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2009100903642A CN101615105B (zh) 2009-08-06 2009-08-06 Raid存储系统和可进行raid计算的存储器及控制方法

Publications (2)

Publication Number Publication Date
CN101615105A CN101615105A (zh) 2009-12-30
CN101615105B true CN101615105B (zh) 2010-12-08

Family

ID=41494768

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2009100903642A Active CN101615105B (zh) 2009-08-06 2009-08-06 Raid存储系统和可进行raid计算的存储器及控制方法

Country Status (1)

Country Link
CN (1) CN101615105B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109634771A (zh) * 2018-10-31 2019-04-16 华为技术有限公司 一种数据保护方法、装置及系统

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103823637B (zh) * 2013-11-29 2017-07-07 华为技术有限公司 一种数据处理方法及设备

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109634771A (zh) * 2018-10-31 2019-04-16 华为技术有限公司 一种数据保护方法、装置及系统
WO2020087930A1 (zh) * 2018-10-31 2020-05-07 华为技术有限公司 一种数据保护方法、装置及系统

Also Published As

Publication number Publication date
CN101615105A (zh) 2009-12-30

Similar Documents

Publication Publication Date Title
US8145985B2 (en) Error detection schemes for a unified cache in a data processing system
CN100414489C (zh) 存储虚拟化控制器的同位引擎及同位引擎产生数据的方法
US8645610B2 (en) Organizing and managing a memory blade with super pages and buffers
CN102520890B (zh) 基于gpu的rs-draid系统及存储设备数据控制方法
CN103927270B (zh) 一种面向多个粗粒度动态可重构阵列的共享数据缓存装置及控制方法
CN103793182A (zh) 可扩展存储保护
CN102279818B (zh) 支持有限共享的向量数据访存控制方法及向量存储器
CN103226519A (zh) 冗余缓存数据的弹性缓存
US8959420B1 (en) Data storage system and method for data migration between high-performance computing architectures and data storage devices using memory controller with embedded XOR capability
CN104915213B (zh) 一种可重构系统的局部重构控制器
KR20140040998A (ko) 로그기반 데이터 저장 시스템의 관리방법
CN102609221B (zh) 一种硬件raid5/6存储系统及数据处理方法
US9092152B1 (en) Data storage system employing a distributed compute engine memory controller with embedded logic and arithmetic functionality and method for data migration between high-performance computing architectures and data storage devices using the same
CN103019617A (zh) 高效实现ssd内部raid的构建方法、数据读写方法及装置
CN102200938B (zh) 无需使用奇偶校验建立优于6级raid的冗余和容错性的方法
CN101710270A (zh) 一种基于闪存的高速大容量存储器及芯片数据管理方法
CN107180001A (zh) 访问动态随机存储器dram的方法和总线
CN101836194A (zh) 控制数据信道的优化解决方案
CN109992525A (zh) 快闪存储器控制器
CN101615105B (zh) Raid存储系统和可进行raid计算的存储器及控制方法
US20060026328A1 (en) Apparatus And Related Method For Calculating Parity of Redundant Array Of Disks
CN101073066B (zh) 生成奇偶数据的方法、系统和程序
CN102200934A (zh) 不使用奇偶校验和镜像法在raid系统中建立高级别的冗余、容错性及性能的方法
US20110154165A1 (en) Storage apparatus and data transfer method
WO2012010930A2 (en) Integrated circuit device, data storage array system and method therefor

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CP03 Change of name, title or address

Address after: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No.

Patentee after: Xinhua three Technology Co., Ltd.

Address before: 310053 Hangzhou hi tech Industrial Development Zone, Zhejiang province science and Technology Industrial Park, No. 310 and No. six road, HUAWEI, Hangzhou production base

Patentee before: Huasan Communication Technology Co., Ltd.

CP03 Change of name, title or address