磁碟阵列中资料的乘法运算的方法及其控制器的制作方法

文档序号:3251773阅读:240来源:国知局

专利名称::磁碟阵列中资料的乘法运算的方法及其控制器的制作方法
技术领域
:本发明涉及一种磁碟阵列(RAID)中资料的乘法运算的方法及其控制器,特别是涉及一种可同时进行大量磁碟阵列中资料的乘法运算的方法及其控制器(MethodAndControllerForProcessingDataMultiplicationInRAIDSystem)。
背景技术
:冗余磁碟阵列(RedundantArrayofIndependentDisk,RAID)是一种磁碟子系统,其目的在于增进效能、提供容错能力或是同时提供以上两者的优点。冗余磁碟阵列借由磁碟机平行储存(diskstriping)技术提升存取效能,其将资料依位元组(bytes)或位元组群(groupsofbytes)交错储存于多个磁碟机中,使得读、写输出入需求可以同时在多个磁碟机平行进行;另一方面,借由磁碟机映射储存(mirroring)技术或具备分布式同位元检测资料(parity,以下简称同位资料)的磁碟机平行储存(diskstriping)技术,提供容错能力。容错能力的大小与RAID系统储存同位资料(parity)的数目有关。以RAID5为例,其设计为除了使用者资料(userdata)外再多储存一组同位资料(parity),通常称为“P值”,也有称为“互斥或同位资料”(XORParity),因为其是为所有对应的使用者资料经互斥或(XOR)运算的结果,其运算公式如下P=D0+D1+D2+...+Dn-1...............................(1)其中,“+”代表互斥或(XOR)运算,P代表同位资料序列的总称,D0,D1,D2,...,Dn-1代表使用者资料序列的总称,其中n表示使用者资料碟的数目。因RAID5只储存一组同位资料,因此在同一时间内只能容许一个使用者资料碟发生错误(损毁或故障)。发生错误的使用者资料碟上的资料,是利用其对应的“P值”与其他正常的使用者资料碟上的对应资料,运用同样的互斥或(XOR)运算恢复而得。举例来说,若D1发生错误,则D1可利用下式计算得知D1=D0+D2+...+Dn-1+P上式中的“+”亦代表XOR运算。考虑到两个以上资料碟的容错需求,有些系统设计为储存有多组同位资料(multi-parity)。此类RAID系统多半运用“Reed-SolomonCodes”的方式建置,可容许任意两个以上的磁碟发生错误。RAID6即属此类系统,它具有至少两组同位资料,可容许两个以上的磁碟同时发生错误。以具有两组同位资料的RAID6系统为例,一般习称其同位资料为P与Q。P值的计算方式与RAID5相同,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”为一般减法外,其余皆为GaloisField的代数运算。又g为此一GaloisField的产生元素(generator),通常选择g=2。GaloisField的加法运算实际上为XOR运算,而乘法运算与其场域(field)GF(2a)有关,其定义、特性及运算法则可参阅以下的参考文献(1)“ThemathematicsofRAID6”,H.PeterAnvin,December,2004;(2)“ATutorialonReed-SolomonCodingforFault-ToleranceinRAID-likeSystems”,JamesS.Plank,Software-Practice&Experience,27(9),pp995-1012,September,1997。上文中的(1)式至(8)式即出自于参考文献(1)。因GaloisField为一封闭场域(closedfield),且对任意数X,皆存在一数r,满足X=2r,故现有技术中处理GaloisField乘法运算的代表性作法为查表法,请参阅参考文献(2)。以GF(2a)为例,欲求任意两数X,Y的乘积,方法如下1.查对数表(logtable)得出r、s,满足X=2r,Y=2s。故X·Y=2r+s=2t2.若t≥2a-1,则t=t-(2a-1)3.再查反对数表(inverselogtable)得出2t的值由(2)式及(3)式可以看出,不论计算Q值或回复毁损的Dx值皆需大量的GaloisField乘法运算,尤其是一常数与大量不同数值的乘法运算。以现有的查表方式而言,系统必须以1位元组(byte)为单位,逐一计算,而每一GaloisField乘法运算需要3次查表,1次加(或减)法,1次测试及余数(modulo)运算。对照目前储存媒体动辄数十GigaByte或数百GigaByte的容量,此种计算速度极缺乏效率,易成为系统瓶颈。因此,如何改善及/或简化及/或加速磁碟阵列中资料的乘法运算,成为一个业界急需解决的课题。由此可见,上述现有的磁碟阵列中资料的乘法运算的方法及其控制器在方法、产品结构及使用上,显然仍存在有不便与缺陷,而亟待加以进一步改进。为了解决磁碟阵列中资料的乘法运算的方法及其控制器存在的问题,相关厂商莫不费尽心思来谋求解决之道,但长久以来一直未见适用的设计被发展完成,而一般方法及产品又没有适切的方法及结构能够解决上述问题,此显然是相关业者急欲解决的问题。因此如何能创设一种新的磁碟阵列中资料的乘法运算的方法及其控制器,便成了当前业界极需改进的目标。有鉴于上述现有的磁碟阵列中资料的乘法运算的方法及其控制器存在的缺陷,本发明人基于从事此类产品设计制造多年丰富的实务经验及专业知识,并配合学理的运用,积极加以研究创新,以期创设一种新的磁碟阵列中资料的乘法运算的方法及其控制器,能够改进一般现有的磁碟阵列中资料的乘法运算的方法及其控制器,使其更具有实用性。经过不断的研究、设计,并经反复试作及改进后,终于创设出确具实用价值的本发明。
发明内容本发明的主要目的在于,克服现有的磁碟阵列中资料的乘法运算的方法及其控制器存在的缺陷,而提供一种新的磁碟阵列中资料的乘法运算的方法及其控制器,所要解决的技术问题是使其可同时进行大量资料的乘法运算,进而改善磁碟阵列系统运算的效能,从而更加适于实用。本发明的目的及解决其技术问题是采用以下技术方案来实现的。依据本发明提出的一种磁碟阵列中资料的乘法运算的方法,其包括以下步骤产生一场域中至少一数值所对应的至少一乘法运算表;选择一互斥或运算单元的长度,复数个该互斥或运算单元形成一乘法运算单元;以及针对该乘法运算单元,并根据该至少一乘法运算表中的一乘法运算表,以该互斥或运算单元为单位,对一资料来源提供的资料进行至少一互斥或运算,并进行复数个该互斥或运算以求得该乘法运算的结果。本发明的目的及解决其技术问题还可采用以下技术措施进一步实现。前述的磁碟阵列中资料的乘法运算的方法及其控制器,其中所述的复数个该乘法运算的结果再经至少一互斥或运算后,可得一同位资料或一使用者资料。前述的磁碟阵列中资料的乘法运算的方法及其控制器,其中所述的同位资料是依照下列公式计算而得Q=g0·D0+g1·D1+g2·D2+...+gn-1·Dn-1其中,g为加罗瓦场的产生元素,令g=2;D0,D2,...,Dn-1分别代表n个该复数个使用者资料碟的使用者资料序列的总称;″+″代表一互斥或运算;″·″代表加罗瓦场乘法运算。前述的磁碟阵列中资料的乘法运算的方法及其控制器,其中所述的使用者资料是依照下列公式计算而得Dx=A·(P+Pxy)+B·(Q+Qxy)Dy=(P+Pxy)+Dx其中,x、y为发生错误的两资料碟序号;Dx、Dy为两资料碟x、y所对应的使用者资料;A、B为仅与x,y有关的常数A=gy-x·(gy-x+1)-1B=g-x·(gy-x+1)-1Pxy、Qxy为当Dx,Dy皆为0时的P值与Q值,即Pxy+Dx+Dy=PQxy+gx·Dx+gy·Dy=Q以上“+”皆代表一互斥或运算;“·”代表加罗瓦场乘法运算。前述的磁碟阵列中资料的乘法运算的方法及其控制器,其中所述的场域是为一加罗瓦场场域。前述的磁碟阵列中资料的乘法运算的方法及其控制器,其中所述的乘法运算表是在该加罗瓦场场域、依据一演算规则而产生。前述的磁碟阵列中资料的乘法运算的方法及其控制器,其中所述的演算规则是根据一加罗瓦场代数规则而产生。前述的磁碟阵列中资料的乘法运算的方法及其控制器,其中所述的当该加罗瓦场场域为GF(28),该演算规则为m′0,j=m7,j,0≤j≤7m′1,j=m0,j,0≤j≤7m′2,j=m1,j+m7,j,0≤j≤7m′3,j=m2,j+m7,j,0≤j≤7m′4,j=m3,j+m7,j,0≤j≤7m′5,j=m4,j,0≤j≤7m′6,j=m5,j,0≤j≤7m′7,j=m6,j,0≤j≤7其中,m0,j~m7,j以及m′0,j~m′7,j,0≤j≤7,分别为矩阵MK与MK′的元素,MK为一对应于K的已知矩阵,MK′为K′的对应矩阵,K′=2·K,K≠0。前述的磁碟阵列中资料的乘法运算的方法及其控制器,其中所述的当K=0时,该矩阵M0为一零矩阵;当K=20=1时,该矩阵M1为一单位矩阵。前述的磁碟阵列中资料的乘法运算的方法及其控制器,其中所述的至少一互斥或运算,是根据以下公式Y=y0y1y2Mya-1=MK·X=m0,0m0,1m0,2···m0,a-1m1,0m1,1m1,2···m1,a-1m2,0m2,1m2,2···m2,a-1MMMMma-1,0ma-1,1ma-1,2···ma-1,a-1K·x0x1x2Mxa-1]]>亦即,yi=Σj=0a-1(mij·xj)]]>其中,MK为一矩阵,代表该至少一数值中的一数值K所对应的该乘法运算表;mi,j表示为该矩阵MK中的元素,0≤i,j≤a-1,且mi,j·xj=xj,若mi,j=1mi,j·xj=0,若mi,j=0其中,x0、x1、x2、...、xa-1分别为长度是该互斥或运算单元的资料,X代表该乘法运算单元的资料;Y表示由该数值K乘以X计算所得的结果。前述的磁碟阵列中资料的乘法运算的方法及其控制器,其中所述的根据该复数个乘法运算表所做的互斥或运算,是为选择该矩阵M中同一行元素为1所对应的该互斥或运算单元的资料做互斥或运算。前述的磁碟阵列中资料的乘法运算的方法及其控制器,其中所述的该互斥或运算单元的长度是依据该磁碟阵列的一中央处理器或一专用互斥或运算单元的处理单位而定。前述的磁碟阵列中资料的乘法运算的方法及其控制器,其中所述的该互斥或运算单元的长度是为32位元或64位元;该乘法运算单元的长度是为32位元组或64位元组。前述的磁碟阵列中资料的乘法运算的方法及其控制器,其中所述的该互斥或运算单元的长度大于1位元。前述的磁碟阵列中资料的乘法运算的方法及其控制器,其中所述的资料来源是为一实体储存装置阵列或一电脑主机。本发明的目的及解决其技术问题还采用以下技术方案来实现。依据本发明提出的一种磁碟阵列控制器,其可应用于处理资料的乘法运算,是包括一记忆体,暂存一资料来源所提供的目标资料;以及一中央处理电路,产生一场域中至少一数值所对应的至少一乘法运算表,针对一乘法运算单元,并根据该至少一乘法运算表中的一乘法运算表,以一互斥或运算单元为单位,对该记忆体中的该目标资料进行至少一互斥或运算,并进行复数个该互斥或运算以求得该乘法运算的结果。本发明的目的及解决其技术问题还可采用以下技术措施进一步实现。前述的磁碟阵列中资料的乘法运算的方法及其控制器,其中所述的中央处理电路进行该乘法运算前,已知该互斥或运算单元的长度,复数个该互斥或运算单元形成该乘法运算单元。前述的磁碟阵列中资料的乘法运算的方法及其控制器,其中所述的中央处理电路更包括一中央处理器晶片组,该中央处理器晶片组更包括一同位引擎、一中央处理器,一唯读记忆体及一非挥发性随机存取记忆体。前述的磁碟阵列中资料的乘法运算的方法及其控制器,其中所述的资料来源是为一实体储存装置阵列或一电脑主机,以提供该目标资料做乘法运算。前述的磁碟阵列中资料的乘法运算的方法及其控制器,其更包括一装置端输出入装置连结控制器,连接于该实体储存装置阵列与该中央处理电路之间,用来作为一缓冲介面,以接收由该中央处理电路传入的一输出入请求及相关资料,并将其映射及/或传送至该实体储存装置阵列。前述的磁碟阵列中资料的乘法运算的方法及其控制器,其更包括一主机端输出入装置连结控制器,连接于该主机与该中央处理电路之间,用来作为一缓冲介面,接收由该主机传来的一输出入请求和相关资料,并且将其转换及/或映射至该中央处理电路。前述的磁碟阵列中资料的乘法运算的方法及其控制器,其中所述的场域是为一加罗瓦场场域,且该乘法运算表是在该加罗瓦场场域、依据一演算规则而产生。前述的磁碟阵列中资料的乘法运算的方法及其控制器,其中所述的当该加罗瓦场场域为GF(28),该演算规则为m′0,j=m7,j,0≤j≤7m′1,j=m0,j,0≤j≤7m′2,j=m1,j+m7,j,0≤j≤7m′3,j=m2,j+m7,j,0≤j≤7m′4,j=m3,j+m7,j,0≤j≤7m′5,j=m4,j,0≤j≤7m′6,j=m5,j,0≤j≤7m′7,j=m6,j,0≤j≤7其中,m0,j~m7,j以及m′0,j~m′7,j,0≤j≤7,分别为矩阵MK与MK′的元素,MK为一对应于K的已知矩阵,MK′为K′的对应矩阵,K′=2·K,K≠0。前述的磁碟阵列中资料的乘法运算的方法及其控制器,其中所述的当K=0时,该矩阵M0为一零矩阵;当K=20=1时,该矩阵M1为一单位矩阵。前述的磁碟阵列中资料的乘法运算的方法及其控制器,其中所述的至少一互斥或运算,是根据以下公式Y=y0y1y2Mya-1=MK·X=m0,0m0,1m0,2···m0,a-1m1,0m1,1m1,2···m1,a-1m2,0m2,1m2,2···m2,a-1MMMMma-1,0ma-1,1ma-1,2···ma-1,a-1K·x0x1x2Mxa-1]]>亦即,yi=Σj=0a-1(mij·xj)]]>其中,MK为一矩阵,代表该至少一数值中的一数值K所对应的该乘法运算表;mi,j表示为该矩阵MK中的元素,0≤i,j≤a-1,且mi,j·xj=xj,若mi,j=1mi,j·xj=0,若mi,j=0其中,x0、x1、x2、...、xa-1分别为长度是该互斥或运算单元的资料,X代表该乘法运算单元的资料;Y表示由该数值K乘以X计算所得的结果。前述的磁碟阵列中资料的乘法运算的方法及其控制器,其中所述的互斥或运算单元的长度是依据该磁碟阵列的一中央处理器或一专用互斥或运算单元的处理单位而定。前述的磁碟阵列中资料的乘法运算的方法及其控制器,其中所述的互斥或运算单元的长度是为32位元或64位元;该乘法运算单元的长度是为32位元组或64位元组。前述的磁碟阵列中资料的乘法运算的方法及其控制器,其中所述的互斥或运算单元的长度大于1位元。本发明的目的及解决其技术问题另外还采用以下技术方案来实现。依据本发明提出的一种磁碟阵列中资料的乘法运算的方法,其用以计算一数K与一资料序列X的乘法运算,是包括产生该数K所对应的一乘法运算表;选择一互斥或运算单元的长度,复数个该互斥或运算单元形成一乘法运算单元;分割该资料序列X为至少一该乘法运算单元;针对该乘法运算单元,及该数K所对应的该乘法运算表,根据该乘法运算表的规则,以该互斥或运算单元为单位,进行至少一互斥或运算;以及对所有组成该资料序列X的该乘法运算单元进行上一步骤的乘法运算,当所有该乘法运算皆完成时,即为该数K与该资料序列X的乘法运算结果。借由上述技术方案,本发明磁碟阵列中资料的乘法运算的方法及其控制器至少具有下列优点运用本发明方法所建置的磁碟阵列系统,不论计算同位资料或回复损毁的使用者资料,皆只需XOR运算,且一次可同时进行多组计算,因此可有效提升磁碟阵列系统的效能。综上所述,本发明新颖的磁碟阵列中资料的乘法运算的方法及其控制器,可同时进行大量资料的乘法运算,进而改善磁碟阵列系统运算的效能。本发明具有上述诸多优点及实用价值,其不论在方法、产品结构或功能上皆有较大的改进,在技术上有显著的进步,并产生了好用及实用的效果,且较现有的磁碟阵列中资料的乘法运算的方法及其控制器具有增进的功效,从而更加适于实用,诚为一新颖、进步、实用的新设计。上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其他目的、特征和优点能够更明显易懂,以下特举较佳实施例,并配合附图,详细说明如下。图1是本发明技术的主流程图。图2是本发明中产生乘法运算表(MapTable)的流程图。图3是依据本发明精神做资料采样的示意图。图4是依据现有技术做资料采样的示意图。图5是应用本发明方法的磁碟子系统的一实施例示意图。10电脑主机(Host)100储存虚拟化控制器(SVC)120主机端输出入装置连结控制器140中央处理电路142中央处理器(CPU)144CPU晶片组146唯读记忆体(ROM)148非挥发性随机存取记忆体(NVRAM)160同位引擎180记忆体500装置端输出入装置连结控制器550LCD模组560箱体管理服务电路600实体储存装置阵列(PSD阵列)具体实施方式为更进一步阐述本发明为达成预定发明目的所采取的技术手段及功效,以下结合附图及较佳实施例,对依据本发明提出的磁碟阵列中资料的乘法运算的方法及其控制器其具体实施方式、方法、步骤、结构、特征及其功效,详细说明如后。本发明的技术重点在于,适当定义磁碟阵列中资料的运算规则,以利于磁碟阵列中资料的运算。由于目前实务上,磁碟阵列中资料的运算规则多利用加罗瓦场(GaloisField)的代数规则为之,故本发明以下的实施例亦是以加罗瓦场(GaloisField)的代数规则为之。本发明的一实施例的技术是建立在加罗瓦场(GaloisField)的场域GF(2a)与其相关代数规则之上,由于目前实务上以a=8为较佳选择,因此以下有关本发明实施例的说明大多假设其GaloisField场域为GF(28),即所涵盖的数为0至255。此因28恰为电脑记忆体的基本单位1位元组(byte)的量,且据此所建置出来的RAID系统,最多可容纳255个使用者资料碟,已足以应付一般RAID系统之用。虽然本发明的说明皆以GF(28)为前题,然不代表本发明只能应用在此假设下。在其他实施例中,本发明的技术亦可能应用在不同的GaloisField场域。又,虽然本发明的实施例是以在GaloisField场域中的运算为例,但本发明亦可应用于其他场域或数系中的运算,只要能在该场域或数系中找到适合的运算规则即可。此外,本发明以下的举例大多以具有两组同位资料的RAID6系统为例,但不代表本发明只能应用在此假设下,其他具有两组以上同位资料的RAID6系统,亦可能利用本发明技术。在本发明中引用到的现有计算公式罗列如下P=D0+D1+D2+...+Dn-1........................................(1)Q=g0·D0+g1·D1+g2·D2+...+gn-1·Dn-1......................(2)Dx=A·(P+Pxy)+B·(Q+Qxy)...................................(3)Dy=(P+Pxy)+Dx..............................................(4)A=gy-x·(gy-x+1)-1.........................................(5)B=g-x·(gy-x+1)-1..........................................(6)其中,P、Q为RAID6系统中的两个同位资料;x、y为发生错误的两资料碟序号,Dx、Dy为两资料碟x、y所对应的使用者资料;A、B为仅与x、y有关的常数;Pxy、Qxy为当Dx、Dy皆为0时的P值与Q值,即Pxy+Dx+Dy=P................................................(7)Qxy+gx·Dx+gy·Dy=Q........................................(8)(1)式至(8)式中的代数运算,除幂次方“y-x”为一般减法外,其余皆为GaloisField的代数运算,又g为加罗瓦场(GaloisField)的产生元素(generator),通常选择g=2。■乘法运算表的定义乘法运算表(MapTable)为本发明的重要关键,本发明将其定义如下设Y、X、K皆为GF(2a)中的数,即Y、X、K皆由a个位元(bit)组成。若yi,xi分别表示Y,X的第i个位元,则Y,X可以向量(vector)表示为Y=y0y1y2Mya-1,]]>X=x0x1x2Mxa-1]]>令Y=K·X,即Y为K与任意数X的GaloisField乘法运算结果,K为已知常数,则K的乘法运算表(MapTable)定义为一a×a的矩阵MK,其元素mi,j(0<=i,j<=a-1)的值为0或1,且满足下式Y=y0y1y2Mya-1=MK·X=m0,0m0,1m0,2···m0,a-1m1,0m1,1m1,2···m1,a-1m2,0m2,1m2,2···m2,a-1MMMMma-1,0ma-1,1ma-1,2···ma-1,a-1K·x0x1x2Mxa-1---(9)]]>亦即,yi=Σj=0a-1(mij·xj),]]>0≤i≤a-1。.................................(10)其中,mi,j·xj=xj,若mi,j=1mi,j·xj=0,若mi,j=0运算中的加法定义为互斥或(XOR)运算。因矩阵MK的元素非0即1,故亦可将上述yi计算过程视为选择矩阵MK中同一行(row)的元素mi,j为1所对应的资料单元xj做互斥或(XOR)运算。■乘法运算表的产生乘法运算表(MapTable)的产生方法与GaloisField的代数法则息息相关。以GF(28)为例,若任意数X与2的乘积为X′,则X′可由下式得到(“+”表互斥或(XOR)运算)X′=x0′x1′x2′x3′x4′x5′x6′x7′=x7x0x1+x7x2+x7x3+x7x4x5x6;]]>其中,X=x0x1x2x3x4x5x6x7]]>假设K的乘法运算表(MapTable)为已知的矩阵MK,K′=2·K的MapTable为矩阵MK′,由上式出发,可推导得出,由矩阵MK产生MK′的演算规则A,表示如表1所示GaloisField的代数特性之一是若从K=1开始,依次将K值乘以2,所得的新K值在涵盖GaloisField场域的所有数目前,不会重复。以GF(28)为例,若从K=1开始,纪录K值,并依次将K值乘以2,经过255次纪录后,所得的K值将涵盖所有GF(28)之数(0为例外)。依据上述GaloisField代数特性与演算规则A,便能产生所有乘法运算表(MapTable),亦即矩阵MK。请参考第1图,依据本发明的一实施例,产生乘法运算表(步骤200)为本发明的第一关键部分,以下将先叙述其实施内容。请参阅图2所示,开始产生MapTable时(步骤201),需先依照选定的GaloisField场域GF(2a)及其代数法则,得出由矩阵MK产生矩阵MK′的演算规则A(步骤202),其中MK表示某一常数K所对应的MapTable,MK′表示2·K所对应的MapTable。当K=0时,定义其MapTable为零矩阵(步骤203)。当K=1时,定义其MapTable为单位矩阵(步骤204)。所产生的MapTable可储存于系统的记忆体中,此时须将已产生MapTable的K值纪录为“计算完成”(步骤205)。接着由K=1起始,依次将K值乘以2(步骤206),然后检查K值是否已被纪录为“计算完成”(步骤207)。若是,则结束此一流程(步骤209);若否,则根据演算规则A,产生新K值的MapTable矩阵MK(步骤208)。然后回到步骤205,纪录K为“计算完成”,继续产生下一个新K值(步骤206),如此一直重复步骤205~208,直到出现重复的K值后结束此一流程(步骤209)。以下列出数个GF(28)中的MapTable作为参考K=0K=20=1M0=0000000000000000000000000000000000000000000000000000000000000000]]>M1=1000000001000000001000000001000000001000000001000000001000000001]]>K=227=12K=255=160M12=1110001001110001110110101000111100100101000100101000100111000100]]>M160=0010101100010101001000010011101110110110010110111010110101010110]]>■乘法运算表的运用乘法运算表(MapTable)运用于GaloisField的乘法,其优点是可免去移位或查对数表/反对数表的运算,仅需要互斥或(XOR)运算。以GF(28)为例,若欲求常数20与任意数X的乘积Y,即Y=20·X。且已知20所对应的乘法运算表(矩阵M20)如下M20=0000101000000101100010000100111010101101010101100010101100010101---(11)]]>则依据定义可得Y=y0y1y2y3y4y5y6y7=0000101000000101100010000100111010101101010101100010101100010101=x4+x6x5+x7x0+x4x1+x4+x5+x6x0+x2+x4+x5+x7x1+x3+x5+x6x2+x4+x6+x7x3+x5+x7---(12)]]>例如X=83,则Y=8,如下所示x0x1x2x3x4x5x6x7=11001010,]]>y0y1y2y3y4y5y6y7=x4+x6x5+x7x0+x4x1+x4+x5+x6x0+x2+x4+x5+x7x1+x3+x5+x6x2+x4+x6+x7x3+x5+x7=1+10+01+11+1+0+11+0+1+0+01+0+0+10+1+1+00+0+0=00010000]]>若以现有的查对数表/反对数表的技术算Y值,则Y=20·83=2206·252=2206+52=2258=2258-255=23=8与本发明技术的计算结果相同。■演算法说明本发明所提出的演算法,可允许大量GaloisField乘法运算同时进行,尤其是一常数与大量不同数值的乘法运算,进而加速磁碟阵列(RAID)系统运算的速度。请参阅图1所示,依照本发明的一实施例,本发明技术包括三步骤第一、选定GaloisField的场域GF(2a),并根据GaloisField的代数原理,产生GF(2a)中所有数值所对应的乘法运算表,将之储存在记忆体中(步骤200);第二、将互斥或(XOR)运算单元扩大为适当的w位元,而乘法运算单元则因此扩大为w·a位元(步骤300);第三、系统线上计算GaloisField乘法时,依据所储存的乘法运算表及其运算规则,在以乘法运算单元为单位的资料区段中以w位元为XOR运算单位进行互斥或(XOR)运算(步骤400)。其中,第一步骤中的乘法运算表亦可在资料运算过程中临时产生,并不限于一定要在系统开机后即全部产生。系统开机后产生全部的乘法运算表,较方便于后续的计算作业;但若需产生的乘法运算表太多,而不适于一次产生并储存,则运算过程中即时产生是一可行的实施例。如何产生乘法运算表的部分(步骤200),已在前文中叙述。至于扩大XOR运算单元为w位元的部分(步骤300),说明如下。回顾乘法运算表的定义,即(9)式,其中yi、xi分别表示Y、X的第i个位元,而Y、X皆为GF(2a)中之数。亦即,利用乘法运算表做现有运算时,XOR运算单元为1位元(bit),乘法运算单元为一GF(2a)中之数。本发明技术在此将XOR运算单元扩大为w位元,乘法运算单元则因此扩大为w·a位元。以GF(28)为例,若设定w=32,则运用本发明技术时,XOR运算单元为32位元,乘法运算单元为32·8=256位元=32位元组(byte),即32个GF(28)数值的集合。选择XOR运算单元的长度w时,系统硬体环境为主要考虑因素之一。例如CPU或专用XOR运算单元的运算单位,或资料汇流排(databus)的宽度。若CPU或专用XOR运算单元的运算单位为32位元,则w=32为一合适的选择;若CPU或专用XOR运算单元的运算单位为64位元,则可设定w=64。当然,w的选择并不限于一定要与CPU或专用XOR运算单元的运算单位相同,在本发明的其他实施例中,亦可视需要选择不一样的w值。另一影响设定w值的考虑因素为,磁碟的基本储存单位(sector)最好是乘法运算单元的整倍数。以GF(28)为例,若设定w=20,则乘法运算单元为20·8=160位元=20位元组,而磁碟的基本储存单位通常为512位元组,因512不为20的整倍数,故在进行GaloisField乘法运算时,将遇到乘法运算单元不完整的状况,而需额外处理。设定w值之后,系统便可依据乘法运算表进行线上GaloisField乘法运算(步骤400),此乘法运算可能是为计算同位资料或已遗失的使用者资料。其运算规则仍依据(9)式,惟此时XOR运算单元扩大为适当的w位元,而乘法运算单元扩大为w·a位元,亦即yi、xi皆为w位元,而Y、X皆为w·a位元。以下举一实例说明本发明技术。在GF(28)中欲计算Y=20·X的乘积,X为一32位元组的资料区段,以16进制表示如下B0B4B8B12X=|252a1b33|526a1190|80467cab|6e215b44|B16B20B24B28|a5427803|77251964|01924786|22559a76|其中,X的第0位元组以B0表示、第1位元组以B1表示、第2位元组以B2表示,以此类推直到B31。运用本发明揭露的技术,在RAID系统启动时,会计算并储存所有乘法运算表,故20的乘法运算表为已知。假设系统CPU为32位元,故设定w=32。此时将Y、X视为由8个单元所组成的资料序列,如下Y=y0y1y2y3y4y5y6y7X=x0x1x2x3x4x5x6x7yi、xi代表32位元(4位元组)组成的一个运算单元,0≤i≤7。x0x1x2x3设X=|252a1b33|526a1190|80467cab|6e215b44|x4x5x6x7|a5427803|77251964|01924786|22559a76|已知常数20的乘法运算表如(11)式,故依据(9)及(12)式可得(以16进制表示)y0=x4+x6=(a5427803)+(01924786)=(a4d03f85)y1=x5+x7=(77251964)+(22559a76)=(55708312)y2=x0+x4=(252a1b33)+(a5427803)=(80686330)y3=x1+x4+x5+x6=(526a1190)+(a5427803)+(77251964)+(01924786)=(819f3771)y4=x0+x2+x4+x5+x7=(252a1b33)+(80467cab)+(a5427803)+(77251964)+(01924786)=(555e9c89)y5=x1+x3+x5+x6=(526a1190)+(6e215b44)+(77251964)+(01924786)=(4afc1436)y6=x2+x4+x6+x7=(80467cab)+(a5427803)+(01924786)+(22559a76)=(06c3d958)y7=x3+x5+x7=(6e215b44)+(77251964)+(22559a76)=(3b51d856)故Y=|a4d03f85|55708312|80686330|819f3771||555e9c89|4afc1436|06c3d958|3b51d856|上例为X长度等于32位元组(byte)的情形,若X长度大于32位元组,只需将X分割,每32位元组为一乘法运算单元,重复上述运算,即可求得最后的乘积Y。■演算法特点以本发明所揭露的演算法运用在RAID系统,所得出的同位资料(Parity)与现有技术计算所得的结果不同,但其运用方式与效果完全一致。举例来说,假设D0、D1、D2,为三个储存使用者资料的磁碟,其内容各为32位元组的资料序列,如下(以16进制表示)B0B4B8B12D0=|2a161036|50141866|5c010612|357e460a|B16B20B24B28|1a396f17|5975485d|2a075739|0f302130|B0B4B8B12D1=|19382526|0c495751|6a352765|23096228|B16B20B24B28|587f5d7e|12155d7a|3d484c6b|5b40744c|B0B4B8B12D2=|7c1c5d22|3d617d3c|752b3e70|144e4218|B16B20B24B28|6d0d6e05|31557847|3b726770|1f0b143e|其中B0表示第0位元组,B1表示第1位元组,以此类推直到B31。以此三个使用者资料磁碟所构成的RAID6,须要额外二个同位资料碟储存同位资料P及Q。根据(1)式与(2)式,其产生公式如下P=D0+D1+D2Q=20·D0+21·D1+22·D2以现有技术求解,在GF(28)下,P及Q的值如下B0B4B8B12P=|4f326832|613c320b|431f1f07|0239663a|B16B20B24B28|2f4b5c6c|7a356d60|2c3d7c22|4b7b4142|B0B4B8B12Q=|f51633f2|bc1f5f34|41c7b005|2349973a|B16B20B24B28|03f370ff|b9160fa8|bc424e32|c59c9950|以本发明技术求解,P值不变,Q值如下(假设w=32)B0B4B8B12Q=|4a24030a|5627297e|4c661f5d|1d131b51|B16B20B24B28|3322344d|0a4f4305|551f6446|032d151c|今若D0及D2的资料损毁,可借由D1、P及Q回复。依据(3)、(4)、(5)、(6)、(7)、及(8)式,推导得出x=0,y=2,A=166,B=167;D0=166·P+167·Q+245·D1D2=P+D1+D0..................................................(13)1.以现有技术,每个位元组逐一计算的方式,求解166·P=|fe9ad29a|2d309aae|05bebe55|513478c3||755cbb70|31cfd68b|8296c228|5c9754a3|167·Q=|31570f63|75a1135d|15998201|ad4489f9||f4c44933|74570371|75e116a8|ca2c2d10|245·D1=|e5dbcdcf|08859195|4c263a46|c90eb730||9ba19d54|1ced9da7|dd7083b9|998b5883|故,D0=|2a161036|50141866|5c010612|357e460a||1a396f17|5975485d|2a075739|0f302130|将D0代入(13)式,即可求得D2。2.以本发明技术求解166·P=|524b7813|0f5b577b|4f326832|33774a18||513d585d|3e157b59|7e760431|44201639|167·Q=|0872673c|36586522|06421c57|09625619||17490070|63525940|42566436|607f4c5c|245·D1=|702f0f19|69172a3f|15717277|0f6b5a0b||5c4d373a|04326a44|1627373e|2b6f7b55|故,D0=|2a161036|50141866|5c010612|357e460a||1a396f17|5975485d|2a075739|0f302130|同样将D0代入(13)式,可求得D2。上例显示利用本发明计算所得的Q值,虽与现有技术计算所得的Q值不同;但保护与回复使用者资料的功能,则毫无二致。■演算法的正确性及数学上的意涵以GF(28)为例,假设Y、X皆由8个XOR运算单元所组成,每个XOR运算单元长度为w位元,w为适当的数,如前例的32。则以向量表示Y=y0y1y2My7,]]>X=x0x1x2Mx7]]>yi、xi皆为w位元的数,0≤i≤7。令Y=K·X;K为常数,其MapTable为矩阵MK,则yi=Σj=07(mi,j·xj);]]>0≤i≤7即,y0=Σj=07(m0,j·xj)]]>y1=Σj=07(m1,j·xj)]]>y2=Σj=07(m2,j·xj)]]>y3=Σj=07(m3,j·xj)]]>y4=Σj=07(m4,j·xj)]]>y5=Σj=07(m5,j·xj)]]>y6=Σj=07(m6,j·xj)]]>y7=Σj=07(m7,j·xj)]]>因yi、xi皆为w位元,若以yi,j、xi,j分别表示yi与xi中第j位元,0≤i≤7,0≤j≤w-1,上式可拆解为y0,0=Σj=07(m0,j·xj,0)---(14)]]>y0,1=Σj=07(m0,j·xj,1),]]>...以此类推至y0,w-1=Σj=07(m0,j·xj,w-1)]]>y1,0=Σj=07(m1,j·xj,0)---(15)]]>y1,1=Σj=07(m1,j·xj,1),]]>...以此类推至y1,w-1=Σj=07(m1,j·xj,w-1)]]>y2,0=Σj=07(m2,j·xj,0)---(16)]]>y2,1=Σj=07(m2,j·xj,1),]]>...以此类推至y2,w-1=Σj=07(m2,j·xj,w-1)]]>y3,0=Σj=07(m3,j·xj,0)---(17)]]>y3,1=Σj=07(m3,j·xj,1),]]>...以此类推至y3,w-1=Σj=07(m3,j·xj,w-1)]]>y4,0=Σj=07(m4,j·xj,0)---(18)]]>y4,1=Σj=07(m4,j·xj,1),]]>...以此类推至y4,w-1=Σj=07(m4,j·xj,w-1)]]>y5,0=Σj=07(m5,j·xj,0)---(19)]]>y5,1=Σj=07(m5,j·xj,1),]]>...以此类推至y5,w-1=Σj=07(m5,j·xj,w-1)]]>y6,0=Σj=07(m6,j·xj,0)---(20)]]>y6,1=Σj=07(m6,j·xj,1),]]>...以此类推至y6,w-1=Σj=07(m6,j·xj,w-1)]]>y7,0=Σj=07(m7,j·xj,0)---(21)]]>y7,1=Σj=07(m7,j·xj,1),]]>...以此类推至y7,w-1=Σj=07(m7,j·xj,w-1)]]>分析(14)至(21)式,可发现y0,0y1,0y2,0My7,0=m0,0m0,1m0,2···m0,7m1,0m1,1m1,2···m1,7m2,0m2,1m2,2···m2,7MMMMm7,0m7,1m7,2···m7,7K·x0,0x1,0x2,0Mx7,0]]>亦即,(y0,0y1,0...y7,0)与(x0,0x1,0...x7,0)满足(9)式乘法运算表的定义,故前者即为K与后者的GaloisField乘积。同理,对所有j,0≤j≤w-1,(y0,jy1,j...y7,j)所构成的数,为K与(x0,jx1,j...x7,j)所构成的数的乘积。上述分析提供本发明技术一数学上的意涵,说明如下请参阅图3所示,以GF(28)为例,以本发明技术计算得出的GaloisField乘积,“等同于”以下述步骤所得的结果1.读取长度为(w·8)位元的资料区段,w为一适当值,如前所述。2.在资料区段中,由位元i启始,每隔w位元取一位元,直到构成一GF(28)的数xi,0≤i≤7。3.以现有技术,求得yi=K·xi,0≤i≤7。4.将yi置回存放最终乘积的记忆体,各个位元的位置须对应于原xi的位置,0≤i≤7。从上述”等效做法”的观点审视,本发明技术仍遵循GaloisField代数原理,惟在资料取样方式与现有技术有别。亦即,可视本发明技术“等效于”在资料区段中每隔w位元取一位元,直到构成一GF(2a)之数。举例来说,请参阅图3所示,若一个XOR运算单元为w位元的资料长度,且8个XOR运算单元组成一乘法运算单元,本发明的一实施例可视为“等效于”以下步骤的乘法运算结果Step1,取每个XOR运算单元的第一位元形成一个8位元的数(b0b1b2b3b4b5b6b7),将K乘以(b0b1b2b3b4b5b6b7),得到(b0’b1’b2’b3’b4’b5’b6’b7’),然后将(b0’b1’b2’b3’b4’b5’b6’b7’)中的每一位元放回原(b0b1b2b3b4b5b6b7)对应之处;Step2,以同样的K对每个XOR运算单元的第二个位元所组成的数(c0c1c2c3c4c5c6c7)运算,得到(c0’c1’c2’c3’c4’c5’c6’c7’)并将之分别置回原(c0c1c2c3c4c5c6c7)对应之处;以下以此类推,直到w·8位元皆计算完毕。反观现有技术,请参阅图4所示,则是顺序取样,须逐次计算每个位元组与K的乘积,因此难以扩大计算的资料量而加快运算速度。从上述等效观点来看,本发明技术此种有别于现有技术的取样方式,并不影响(2)式至(8)式的正确性,故保护与回复资料的功能不变。上述”等效做法”仅为说明本发明技术之用,实务上,本发明技术可同时进行多组GaloisField乘积的计算,进而加速RAID系统运算速度,而此优势亦是源自“等效做法”中的特殊资料取样方式。■应用本演算法的系统架构本发明方法,在一实施例,是应用于冗余磁碟阵列(RedundantArrayofIndependentDisk,以下简称RAID)子系统中。请参阅图5所示,是为应用本发明方法的磁碟子系统的一实施例示意图。对于此由多个磁碟机所组成的实体储存装置阵列(PhysicalStorageDeviceArray,以下简称PSD阵列)600,电脑主机(Host)10在存取此PSD阵列600时,仅视为一个单一逻辑磁碟机。储存虚拟化控制器(storagevirtualizationcontroller,以下简称SVC)100的主要目的是将磁碟机的各区段的组合映射(map)形成此主机系统可见的逻辑磁碟机。由该主机系统发出的输出入(IO)请求于控制器100接收之后会先被剖析并解译,且相关的操作及资料会被编译成磁碟机的输出入请求。此实施例中,SVC100包括有一主机端输出入装置连结控制器120、一中央处理电路(CPC、centralprocessingcircuit)140、一记忆体180以及一装置端输出入装置连结控制器500。此处虽以分开的功能方块描述,但在实际应用时,部份甚至全部的功能方块(functionalblock)皆可整合在一单一晶片上。主机端输出入装置连结控制器120连接至主机10及中央处理电路140,用来作为储存虚拟化控制器100及主机10之间的介面及缓冲,其可接收由主机10传来的输出入请求和相关资料,并且将其转换及/或映射至中央处理电路140。记忆体180是连接于中央处理电路140,其作为一缓冲器,用来缓冲传送于主机10及PSD阵列600之间通过中央处理电路140的资料。装置端输出入装置连结控制器500是为介于中央处理电路140及PSD阵列600间,用来作为储存虚拟化控制器100及PSD阵列600间的介面及缓冲。装置端输出入装置连结控制器500接收由中央处理电路140传入的输出入请求及相关资料,并将其映射及/或传送至PSD阵列600。中央处理电路140是包括有中央处理器晶片组(CPUchipset,以下简称为“CPU晶片组”)144,内合同位引擎(parityengine)160,一中央处理器142(CPU),一唯读记忆体146(ROM、readonlymemory)及一非挥发性随机存取记忆体148(NVRAM、non-volatilerandomaccessmemory)。其中该CPU142可为,例如,一PowerPCCPU,而ROM146可为一快闪记忆体,用来储存基本输入/输出系统(BIOS)及/或其他程式。中央处理器142是透过CPU晶片组144才得以与其他电子元件(如记忆体180等)相耦接。NVRAM148用来储存该实体储存装置阵列输出入操作执行状态的相关资讯,以备输出入操作尚未做完前发生不正常电源关闭时,作检验使用。ROM146、NVRAM148、LCD模组550及箱体管理服务电路560皆经由一X-汇流排(X-bus)连结至CPU晶片组144。又,该NVRAM148是为可选择项目,亦可省略不设。且CPU晶片组144此处虽以整合有同位引擎160的功能方块描述,但在实际应用时,CPU晶片组144与同位引擎160可分开设置于不同的晶片上。本发明的一实施例中,所处理的乘法运算的目标资料,可能来自PSD阵列600或主机10;乘法运算的结果可能储存在记忆体180、PSD阵列600的磁碟、或者是同位引擎160或中央处理器本身内建的缓冲区(buffer)中(图中没有标示)。本发明的演算法是以程式编码的方式实现,可将该程式储存于ROM146中或记忆体180中,以供中央处理电路140执行。换言之,中央处理电路140需负责,开机时或线上即时,产生一场域(如GF(28))中的数值所对应的乘法运算表(MapTable),产生的乘法运算表可储存在记忆体180中。在本发明的另一实施例,亦有可能事先将所有需要的乘法运算表计算出来,并储存于ROM146或记忆体180中,如此一来,开机后中央处理电路140只需要存取已存在的乘法运算表即可。在线上即时运算时,针对已知的乘法运算单元,根据乘法运算表(MapTable),以一XOR运算单元为单位,对暂存于记忆体中的目标资料进行互斥或(XOR)运算,并进行复数个该互斥或(XOR)运算以求得该乘法运算的结果。以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明,任何熟悉本专业的技术人员,在不脱离本发明技术方案范围内,当可利用上述揭示的技术内容作出些许更动或修饰为等同变化的等效实施例,但凡是未脱离本发明技术方案内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属于本发明技术方案的范围内。权利要求1.一种磁碟阵列中资料的乘法运算的方法,其特征在于其包括以下步骤产生一场域中至少一数值所对应的至少一乘法运算表;选择一互斥或运算单元的长度,复数个该互斥或运算单元形成一乘法运算单元;以及针对该乘法运算单元,并根据该至少一乘法运算表中的一乘法运算表,以该互斥或运算单元为单位,对一资料来源提供的资料进行至少一互斥或运算,并进行复数个该互斥或运算以求得该乘法运算的结果。2.根据权利要求1所述的磁碟阵列中资料的乘法运算的方法,其特征在于其中所述的复数个该乘法运算的结果再经至少一互斥或运算后,可得一同位资料或一使用者资料。3.根据权利要求2所述的磁碟阵列中资料的乘法运算的方法,其特征在于其中所述的同位资料是依照下列公式计算而得Q=g0·D0+g1·D1+g2·D2+…+gn-1·Dn-1其中,g为加罗瓦场的产生元素,令g=2;D0,D2,…,Dn-1分别代表n个该复数个使用者资料碟的使用者资料序列的总称;″+″代表一互斥或运算;″·″代表加罗瓦场乘法运算。4.根据权利要求2所述的磁碟阵列中资料的乘法运算的方法,其特征在于其中所述的使用者资料是依照下列公式计算而得Dx=A·(P+Pxy)+B·(Q+Qxy)Dy=(P+Pxy)+Dx其中,x、y为发生错误的两资料碟序号;Dx、Dy为两资料碟x、y所对应的使用者资料;A、B为仅与x,y有关的常数A=gy-x·(gy-x+1)-1B=g-x·(gy-x+1)-1Pxy、Qxy为当Dx,Dy皆为0时的P值与Q值,即Pxy+Dx+Dy=PQxy+gx·Dx+gy·Dy=Q以上″+″皆代表一互斥或运算;″·″代表加罗瓦场乘法运算。5.根据权利要求1所述的磁碟阵列中资料的乘法运算的方法,其特征在于其中所述的场域是为一加罗瓦场场域。6.根据权利要求5所述的磁碟阵列中资料的乘法运算的方法,其特征在于其中所述的乘法运算表是在该加罗瓦场场域、依据一演算规则而产生。7.根据权利要求6所述的磁碟阵列中资料的乘法运算的方法,其特征在于其中所述的演算规则是根据一加罗瓦场代数规则而产生。8.根据权利要求6所述的磁碟阵列中资料的乘法运算的方法,其特征在于其中所述的当该加罗瓦场场域为GF(28),该演算规则为m′0,j=m7,j,0≤j≤7m′1,j=m0,j,0≤j≤7m′2,j=m1,j+m7,j,0≤j≤7m′3,j=m2,j+m7,j,0≤j≤7m′4,j=m3,j+m7,j,0≤j≤7m′5,j=m4,j,0≤j≤7m′6,j=m5,j,0≤j≤7m′7,j=m6,j,0≤j≤7其中,m0,j~m7,j以及m′0,j~m′7,j,0≤j≤7,分别为矩阵MK与MK′的元素,MK为一对应于K的已知矩阵,MK′为K′的对应矩阵,K′=2·K,K≠0。9.根据权利要求8所述的磁碟阵列中资料的乘法运算的方法,其特征在于其中所述的当K=0时,该矩阵M0为一零矩阵;当K=20=1时,该矩阵M1为一单位矩阵。10.根据权利要求1所述的磁碟阵列中资料的乘法运算的方法,其特征在于其中所述的至少一互斥或运算,是根据以下公式Y=y0y1y2Mya-1=MK·X=m0,0m0,1m0,2···m0,a-1m1,0m1,1m1,2···m1,a-1m2,0m2,1m2,2···m2,a-1MMMMma-1,0ma-1,1ma-1,2···ma-1,a-1K·x0x1x2Mxa-1]]>亦即,yi=Σj=0a-1(mij·xj)]]>其中,MK为一矩阵,代表该至少一数值中的一数值K所对应的该乘法运算表;mi,j表示为该矩阵MK中的元素,0≤i,j≤a-1,且mi,j·xj=xj,若mi,j=1mi,j·xj=0,若mi,j=0其中,x0、x1、x2、…、xa-1分别为长度是该互斥或运算单元的资料,X代表该乘法运算单元的资料;Y表示由该数值K乘以X计算所得的结果。11.根据权利要求8所述的磁碟阵列中资料的乘法运算的方法,其特征在于其中所述的根据该复数个乘法运算表所做的互斥或运算,是为选择该矩阵M中同一行元素为1所对应的该互斥或运算单元的资料做互斥或运算。12.根据权利要求1所述的磁碟阵列中资料的乘法运算的方法,其特征在于其中所述的该互斥或运算单元的长度是依据该磁碟阵列的一中央处理器或一专用互斥或运算单元的处理单位而定。13.根据权利要求1所述的磁碟阵列中资料的乘法运算的方法,其特征在于其中所述的该互斥或运算单元的长度是为32位元或64位元;该乘法运算单元的长度是为32位元组或64位元组。14.根据权利要求1所述的磁碟阵列中资料的乘法运算的方法,其特征在于其中所述的该互斥或运算单元的长度大于1位元。15.根据权利要求1所述的磁碟阵列中资料的乘法运算的方法,其特征在于其中所述的资料来源是为一实体储存装置阵列或一电脑主机。16.一种磁碟阵列控制器,其特征在于其可应用于处理资料的乘法运算,是包括一记忆体,暂存一资料来源所提供的目标资料;以及一中央处理电路,产生一场域中至少一数值所对应的至少一乘法运算表,针对一乘法运算单元,并根据该至少一乘法运算表中的一乘法运算表,以一互斥或运算单元为单位,对该记忆体中的该目标资料进行至少一互斥或运算,并进行复数个该互斥或运算以求得该乘法运算的结果。17.根据权利要求16所述的磁碟阵列控制器,其特征在于其中所述的中央处理电路进行该乘法运算前,已知该互斥或运算单元的长度,复数个该互斥或运算单元形成该乘法运算单元。18.根据权利要求16所述的磁碟阵列控制器,其特征在于其中所述的中央处理电路更包括一中央处理器晶片组,该中央处理器晶片组更包括一同位引擎、一中央处理器,一唯读记忆体及一非挥发性随机存取记忆体。19.根据权利要求16所述的磁碟阵列控制器,其特征在于其中所述的资料来源是为一实体储存装置阵列或一电脑主机,以提供该目标资料做乘法运算。20.根据权利要求19所述的磁碟阵列控制器,其特征在于其更包括一装置端输出入装置连结控制器,连接于该实体储存装置阵列与该中央处理电路之间,用来作为一缓冲介面,以接收由该中央处理电路传入的一输出入请求及相关资料,并将其映射及/或传送至该实体储存装置阵列。21.根据权利要求19所述的磁碟阵列控制器,其特征在于其更包括一主机端输出入装置连结控制器,连接于该主机与该中央处理电路之间,用来作为一缓冲介面,接收由该主机传来的一输出入请求和相关资料,并且将其转换及/或映射至该中央处理电路。22.根据权利要求16所述的磁碟阵列控制器,其特征在于其中所述的场域是为一加罗瓦场场域,且该乘法运算表是在该加罗瓦场场域、依据一演算规则而产生。23.根据权利要求22所述的磁碟阵列控制器,其特征在于其中所述的当该加罗瓦场场域为GF(28),该演算规则为m′0,j=m7,j,0≤j≤7m′1,j=m0,j,0≤j≤7m′2,j=m1,j+m7,j,0≤j≤7m′3,j=m2,j+m7,j,0≤j≤7m′4,j=m3,j+m7,j,0≤j≤7m′5,j=m4,j,0≤j≤7m′6,j=m5,j,0≤j≤7m′7,j=m6,j,0≤j≤7其中,m0,j~m7,j以及m′0,j~m′7,j,0≤j≤7,分别为矩阵MK与MK′的元素,MK为一对应于K的已知矩阵,MK′为K′的对应矩阵,K′=2·K,K≠0。24.根据权利要求23所述的磁碟阵列控制器,其特征在于其中所述的当K=0时,该矩阵M0为一零矩阵;当K=20=1时,该矩阵M1为一单位矩阵。25.根据权利要求16所述的磁碟阵列控制器,其特征在于其中所述的至少一互斥或运算,是根据以下公式Y=y0y1y2Mya-1=MK·X=m0,0m0,1m0,2···m0,a-1m1,0m1,1m1,2···m1,a-1m2,0m2,1m2,2···m2,a-1MMMMma-1,0ma-1,1ma-1,2···ma-1,a-1K·x0x1x2Mxa-1]]>亦即,yi=Σj=0a-1(mij·xj)]]>其中,MK为一矩阵,代表该至少一数值中的一数值K所对应的该乘法运算表;mi,j表示为该矩阵MK中的元素,0≤i,j≤a-1,且mi,j·xj=xj,若mi,j=1mi,j·xj=0,若mi,j=0其中,x0、x1、x2、…、xa-1分别为长度是该互斥或运算单元的资料,X代表该乘法运算单元的资料;Y表示由该数值K乘以X计算所得的结果。26.根据权利要求16所述的磁碟阵列控制器,其特征在于其中所述的互斥或运算单元的长度是依据该磁碟阵列的一中央处理器或一专用互斥或运算单元的处理单位而定。27.根据权利要求16所述的磁碟阵列控制器,其特征在于其中所述的互斥或运算单元的长度是为32位元或64位元;该乘法运算单元的长度是为32位元组或64位元组。28.根据权利要求16所述的磁碟阵列控制器,其特征在于其中所述的互斥或运算单元的长度大于1位元。29.一种磁碟阵列中资料的乘法运算的方法,其特征在于用以计算一数K与一资料序列X的乘法运算,是包括产生该数K所对应的一乘法运算表;选择一互斥或运算单元的长度,复数个该互斥或运算单元形成一乘法运算单元;分割该资料序列X为至少一该乘法运算单元;针对该乘法运算单元,及该数K所对应的该乘法运算表,根据该乘法运算表的规则,以该互斥或运算单元为单位,进行至少一互斥或运算;以及对所有组成该资料序列X的该乘法运算单元进行上一步骤的乘法运算,当所有该乘法运算皆完成时,即为该数K与该资料序列X的乘法运算结果。全文摘要本发明是有关于一种磁碟阵列中资料的乘法运算的方法及其控制器,其是产生一场域(field)中所有数值所对应的乘法运算表(MapTable),选择一XOR运算单元的长度为任意适当的w位元(例如32位元或64位元),而一个或复数个XOR运算单元组成一个乘法运算单元的资料区段;在线上运算时,对于该磁碟阵列中一磁碟的资料,针对乘法运算单元,并根据乘法运算表(MapTable),以XOR运算单元为单位,进行互斥或(XOR)运算,以求得乘法运算的乘积。运用本发明方法所建置的磁碟阵列系统,不论计算同位资料或回复损毁的使用者资料,皆只需XOR运算,且一次可同时进行多组计算,因此可有效提升磁碟阵列系统的效能。文档编号G06F3/06GK1975681SQ200610103309公开日2007年6月6日申请日期2006年7月18日优先权日2005年9月2日发明者施明文,周庆浩申请人:普安科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1