存储虚拟化控制器的同位引擎及同位引擎产生数据的方法技术

技术编号:2844710 阅读:246 留言:0更新日期:2012-04-11 18:40
本发明专利技术有关于一种存储虚拟化控制器的同位引擎及同位引擎产生数据的方法,包含:一控制单元,为该同位引擎的控制核心;一控制单元缓冲器,作为该控制单元的数据暂存区,并存储有运算时所需的乘法运算表;至少一异或引擎,由该控制单元所启动,用以依据该控制单元缓冲器内的乘法运算表选取数据流内数据,进而进行异或运算;以及至少一数据缓冲器,作为该异或引擎运算过程中的数据暂存区。

【技术实现步骤摘要】

一种磁盘阵列控制器,特别指一种磁盘阵列控制器中同位引擎利用乘法运算表的对应产生数据的方法。
技术介绍
数据存储与数据安全在信息发达的今天越来越重要,也因此在存储媒体的技术上有许多的发展,如可通过改善磁盘I/O(输入/输出)的效率以能配合计算机系统与日渐增的性能需求、如除了大量存储能力的要求外,更要求有安全性(security)、可靠性(reliability)的考虑,以及在硬盘发生问题时仍能提供数据的存取服务。在以上的考虑下,RAID(Redundant Array of Inexpensive/IndependentDisks,磁盘阵列)的构想即因应而生,磁盘阵列的目的在于将数据存储在多个磁盘机中,用以改善存储性能,并配合多个磁盘相互备份的机制,提高存储数据的可靠性。磁盘阵列的优点为提供更好的数据存储性能与数据容错度(Fault Tolerant),通过将工作量平行分散到多个物理磁盘机中可以达到较好的性能,通过数据多重操作,当一个或多个磁盘机或磁区发生问题时,可以通过其他的磁盘机重建数据,达到容错度。磁盘阵列在操作系统中显示为一个单一的逻辑磁盘(logical disk),磁盘阵列控制器控制数据如何在物理及逻辑阵列之间被存储及存取,多个磁盘通过控制器结合成虚拟单台大容量的磁盘机使用。以下针对各种不同磁盘阵列的实施方案说明。磁盘阵列等级0(RAID-0)是较快的磁盘阵列,其中数据通过线性或不同的磁盘写入以获得较快的传输,此技术将数据切割,分别存于不同的磁盘机,以提供最佳的性能,但不具容错度,数据磁区的读写在多个磁盘机的间进行,当任何一个磁盘机发生问题时,整笔数据即损毁,如图1所示的示意图,完整的数据10通过磁盘阵列等级0的分割演算,举例来说,将数据10分割为数据区块1,2,3,4,5,6分开,数据1,3,5存于第一磁盘11,数据2,4,6存于第二磁盘12,两个磁盘机共同存取一笔数据,故可得近两倍存取速度。磁盘阵列等级1(RAID-1)则使用至少两个磁盘机,如图2的第一磁盘11与第二磁盘12,并且在两者中存储相同的信息区块,即数据10在存储时,同时建立两个相同的数据至不同的磁盘机,如第一磁盘11与第二磁盘12同时包含数据10,当有数据损毁,另一个磁盘机则能即时取代,故有高可靠度与容错度,但因为同时必须将数据复制到两个磁盘机中,其性能较低、且成本较高。磁盘阵列等级0+1(RAID-0+1)则为结合磁盘阵列等级0高存取效率与磁盘阵列等级1高可靠性的特点,如图3,数据10被切割为数据片段1,3,5与2,4,6,分别存储于第一磁盘11与第二磁盘12,然后,再将其镜射到另一磁盘组11’与12’,以得到容错度的功效。数据被切割到许多的磁盘机,每一个磁盘机都伴随着另一个拥有相同数据的磁盘机,因而可获得快速数据存取的效益与容错度。然而,进展到磁盘阵列等级5(RAID-5),其提供更有效率与容错能力的磁盘阵列方式。其设计为除了用户数据(user data)外再多存储一组同位数据(parity),通常称为“P值”,也有称为“异或同位数据”(XOR Parity),因为其为所有对应的用户数据经异或(XOR)运算的结果,其运算公式如下P=D0+D1+D2+...+Dn-1..............................(1)其中,“+”代表XOR运算,P代表同位数据,D0,D2,...,Dn-1代表用户数据,其中n表示用户数据盘的数目。如图4所示,利用四个磁盘机A,B,C,D形成一个磁盘阵列等级5的阵列。其中有多个数据区块(strip),如第一区块D0存储于磁盘机A、第二区块D1存储于磁盘机B、第三区块D2存储于磁盘机C,则于磁盘机D中存储有相对应数据区块D0、D1与D2的第一同位数据P1,其他数据区块D3、D4与D5则分别存储于磁盘机A、B、D中,而相对应的第二同位数据P2则位于磁盘机C,如此,数据分割后顺序安排于各磁盘机中。而因为RAID5只存储一组同位数据,因此在同一时间内只能容许一个用户数据盘发生错误。发生错误的用户数据盘上的数据,是利用其对应的“P值”与其他正常的用户数据盘上的对应数据,同样利用异或(XOR)运算,而恢复数据。举例来说,若D1发生错误,则D1可利用下式计算得知 D1=D0+D2+...+Dn-1+P...........................(1’)上式中的的“+”也代表XOR运算。请再续参阅图4,例如当磁盘机C的数据有损毁或是错误,可由磁盘机C’取代原有磁盘机C,此时,可通过磁盘机A,B,D重建磁盘机C’中的数据。如利用磁盘机A的数据区块D0、磁盘机B的数据区块D1与磁盘机D的数据区块P1经异或运算后产生磁盘机C’中的数据区块D2。由此达到磁盘阵列的容错能力与高存取效率。硬盘存储装置容错能力在数据量越大、可信赖性要求越高时就越重要,而磁盘阵列等级6(RAID6)为磁盘阵列等级5的延伸技术,此类RAID系统多半运用“Reed-Solomon Codes”的方式建置,为两个以上(含)同位数据的技术,在存储数据时,利用多个磁盘机存储的同位数据(multi-parity),来应付同时多个磁盘机损毁的状况。以具有两组同位数据的RAID6系统为例,假设RAID系统中有n个一般数据盘D0~Dn-1,以及两个存储同位数据(parity)的同位数据盘P、Q。其中,P值仍是依照(1)式,取用户数据盘中的相对应数据,以纯粹XOR运算的方式计算得知。Q值则利用下式计算而得Q=g0*D0+g1*D1+g2*D2+...+gn-1*Dn-1................(2)若有两数据盘Dx、Dy损毁,经由适当推导,可得Dx=A·(P+Pxy)+B·(Q+Qxy)...........................(3)Dy=(P+Pxy)+Dx.......................................(4)其中A、B为仅与x,y有关的常数A=gy-x·(gy-x+1)-1...................................(5)B=g-x·(gy-x+1)-1....................................(6)且Pxy、Qxy为当Dx,Dy皆为0时的P与Q值,即Pxy+Dx+Dy=P.........................................(7)Qxy+gx·Dx+gy·Dy=Q....................................(8)式(2)至式(8)中的代数运算,除幂次方“y-x”为一般减法外,其余皆为Galois Field的代数运算,其中“+”为XOR运算,“*”为乘法运算。又g须为一质数,通常选择g=2。Galois Field的乘法运算与其定义域GF(2n)有关,其定义、特性和运算法则可参阅以下的参考文献1.H.Peter Anvin的“The mathematics ofRAID6”;2.James S.Plank的“A Tutorial on Reed-Solomon Coding forFault-Tolerance in RAID-like Syst本文档来自技高网...

【技术保护点】
一种存储虚拟化控制器的同位引擎,其特征在于,包含:    一控制单元;    一控制单元缓冲器,作为该控制单元的数据暂存区,存储有运算时所需的乘法运算表;    至少一异或引擎,由该控制单元所启动,用以依据该控制单元缓冲器内的乘法运算表选取数据流内数据,进而进行异或运算;以及    至少一数据缓冲器,作为该异或引擎运算过程中的数据暂存区。

【技术特征摘要】
US 2005-9-2 60/596,1451.一种存储虚拟化控制器的同位引擎,其特征在于,包含一控制单元;一控制单元缓冲器,作为该控制单元的数据暂存区,存储有运算时所需的乘法运算表;至少一异或引擎,由该控制单元所启动,用以依据该控制单元缓冲器内的乘法运算表选取数据流内数据,进而进行异或运算;以及至少一数据缓冲器,作为该异或引擎运算过程中的数据暂存区。2.根据权利要求1所述的同位引擎,其特征在于所述的异或引擎包含一子单元,该子单元包括至少一基本电路单元,该基本电路单元包括多个与门,这些与门的一输入端分别对应于该数据流内数据的各位数据,另一输入端分别对应于该乘法运算表的各数值,借以达成该依据乘法运算表选取数据流内数据;以及多个异或门,用以对这些与门的输出进行异或运算,其运算结果输出至该数据缓冲器。3.根据权利要求2所述的同位引擎,其特征在于所述的异或门之一的一输入端对应于载自于该数据缓冲器的数据。4.根据权利要求3所述的同位引擎,其特征在于所述的异或门所输入的该数据缓冲器的数据为该数据缓冲器所存储的前一次该同位引擎运算结果。5.根据权利要求2所述的同位引擎,其特征在于所述的子单元内所设置的该基本电路单元的数量对应于该数据流中一运算单位的位数。6.根据权利要求2所述的同位引擎,其特征在于所述的基本电路单元的与门的数量对应于该乘法运算表的行数。7.根据权利要求2所述的同位引擎,其特征在于所述的异或引擎的该子单元的数量对应于该乘法运算表的列数。8.根据权利要求1所述的同位引擎,其特征在于还包含一乘法运算表缓冲器,与该控制单元及该控制单元缓冲器相连接,用以存储所选定加罗瓦场的定义域中所有数值所对应的乘法运算表。9.根据权利要求1所述的同位引擎,其特征在于还包含一寄存器,由该存储虚拟化控制器的一中央处理器对其填值而启动,继而触发启动该控制单元。10.根据权利要求1所述的同位引擎,其特征在于还包含一内部主要总线接口,为该同位引擎连外接口,与该控制单元、该控制单元缓冲器、该异或引擎以及该数据缓冲器相连接。11.一种存储虚拟化控制器,其特征在于,包含有一中央处理器;以及一同位引擎,响应该中央处理器的指示,执行一特定磁盘阵列型态的同位功能,包括有一控制单元;一控制单元缓冲器,作为该控制单元的数据暂存区,存储有运算时所需的乘法运算表;至少一异或引擎,由该控制单元所启动,用以依据该乘法运算表选取数据流内数据,进而进行异或运算;以及至少一数据缓冲器,作为该异或引擎运算过程中的数据暂存区。12.根据权利要求11所述的控制器,其特征在于还包含一中央处理器芯片组,其中该同位引擎设置于该中央处理器芯片组中,该中央处理器芯片组包括有一中央处理器接口,为该中央处理器与其他元件通信的接口;一存储器控制器,作为其他元件与一存储器通信的接口;以及一内部主要总线,连接至该中央处理器接口、该存储器控制器,用以于其间互联数据信号及控制信号;以及该同位引擎还包含一内部主要总线接口,作为该同位引擎连接至该内部主要总线的接口,并与内部的该控制单元、该控制单元缓冲器、该异或引擎及该数据缓冲器相连接。13.根据权利要求12所述的控制器,其特征在于所述的内部主要总线具有流水线操作技术能力。14.根据权利要求11所述的控制器,其特征在于还包含一寄存器,由该中央处理器对其填值而启动,继而触发启动该控制单元。15.一种存储虚拟化子系统,其特征在于,包含有一存储虚拟化控制器,用来连接至一主机,且执行输入输出操作以响应由该主机发出的输入输出请求;以及一物理存储装置阵列,耦接于该存储虚拟化控制器,用来通过该存储虚拟化控制器提供该主机存储空间;其中该存储虚拟化控制器包括有一同位引擎,用以响应一中央处理器的指示而执行一特定磁盘阵列型态的同位功能,该同位引擎包括有一控制单元;一控制单元缓冲器,作为该控制单元的数据暂存区,存储有运算时所需的乘法运算表;至少一异或引擎,由该控制单元所启动,用以依据该乘法运算表选取数据流内数据,进而进行异或运算;以及至少一数据缓冲器,作为该异或引擎运算过程中的数据暂存区。16.一种存储虚拟化计算机系统,其特征在于,包含有一主机,用来发出一输入输出请求;一存储虚拟化控制器,耦接至该主机,执行输入输出操作以响应由该主机发出的输入输出请求;以及一物理存储装置阵列,耦接于该存储虚拟化控制器,用来通过该存储虚拟化控制器提供该主机存储空间;其中该存储虚拟化控制器包括有一同位引擎,用以响应一中央处理器的指示而执行一特定磁盘阵列型态的同位功能,该同位引擎包括有一控制单元;一控制单元缓冲器,作为该控制单元的数据暂存区,存储有运算时所需的乘法运算表;至少一异或引擎,由该控制单元所启动,用以依据该乘法运算表选取数据流内数据,进而进行异或运算;以及至少一数据缓冲器,作为该异或引擎运算过程中的数据暂存区。17.一种存储虚拟拟化控制器的同位引擎产生数据的方法,其特征在于,包含以下步骤一控制单元启动至少一异或引擎;该异或引擎依据乘法运算表而对数据流内的数据进行选取与异或运算,并将运算结果存储于一数据缓冲器。18.根据权利要求17所述的方法,其特征在于,在该运算步骤后还包...

【专利技术属性】
技术研发人员:周德成黄威舜周庆浩
申请(专利权)人:普安科技股份有限公司
类型:发明
国别省市:71[中国|台湾]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1