CN1282067C - 进行硬盘阵列同位运算的装置与相关方法 - Google Patents

进行硬盘阵列同位运算的装置与相关方法 Download PDF

Info

Publication number
CN1282067C
CN1282067C CN 200410056440 CN200410056440A CN1282067C CN 1282067 C CN1282067 C CN 1282067C CN 200410056440 CN200410056440 CN 200410056440 CN 200410056440 A CN200410056440 A CN 200410056440A CN 1282067 C CN1282067 C CN 1282067C
Authority
CN
China
Prior art keywords
storer
list index
descriptor table
data
symbol list
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
CN 200410056440
Other languages
English (en)
Other versions
CN1588300A (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.)
Via Technologies Inc
Original Assignee
Via Technologies Inc
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 Via Technologies Inc filed Critical Via Technologies Inc
Priority to CN 200410056440 priority Critical patent/CN1282067C/zh
Publication of CN1588300A publication Critical patent/CN1588300A/zh
Application granted granted Critical
Publication of CN1282067C publication Critical patent/CN1282067C/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

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

Abstract

本发明提供一种进行硬盘阵列同位运算的装置与相关方法。在可容错的硬盘阵列中,要以硬盘阵列存取各硬盘中的数据时,有需要根据各批数据计算出一对应的同位数据;而在本发明中,即是在硬盘阵列控制器中设置同位运算的硬件,再配合硬盘阵列控制器的直接存储器存取机制,于系统存储器中直接存取各批数据及运算后的同位数据,以运用系统存储器来支援同位运算所需的存储资源,并减少同位运算对中央处理器的负担。

Description

进行硬盘阵列同位运算的装置与相关方法
技术领域
本发明提供一种进行硬盘阵列同位运算的装置与相关方法,特别指一种以硬件运算模块配合直接存储器存取(memory access)机制来进行硬盘阵列同位运算的装置与相关方法。
背景技术
计算机系统是现代信息社会不可或缺的硬件基础之一。为了要运算、管理各种各样的电子信号与数据、资料,计算机系统中都设有硬盘作为存储装置,用来以非易失的方式存储电子信息、文件及多媒体文档。随着数据量的增加,如何快速、安全地由硬盘中存取大量的资料数据,也成为现代信息厂商研发的重点。
随着硬盘容量增加、价格降低,现代的计算机系统中已经能以多个硬盘来组合成硬盘阵列(RAID),以多个硬盘合并运作的方式,使数据的存取效率增加,还具备有容错能力,能在数据存取过程中容忍相当的错误。如熟知技术者所知,依运作方式不同,现行的硬盘阵列结构也分为许多种类,如RAID0、RAID 1、RAID 0+1、RAID 2至RAID 5等种类。其中,RAID 3至RAID 5的硬盘阵列皆使用异或(XOR,exclusive OR)来产生同位检查码,并利用同位检查的方式来实现硬盘阵列的容错能力。举例来说,在以二个硬盘所组成的RAID 5硬盘阵列中,当有一批数据要存储入该硬盘阵列中时,该批数据会被划分(stripe)为两组不同的成分数据,分别被存储至不同的硬盘;此外,还要根据这两组成份数据进行异或(XOR)的逻辑运算,以产生对应的同位检查数据;该同位检查数据也会被存储至硬盘阵列中。当有一个硬盘故障时,根据另一硬盘上的同位检查数据及该硬盘上剩下的成分数据,还是能复原出原来那批数据,达到容错的目的。
由以上描述可知,在存取硬盘阵列(尤其是RAID3至5的硬盘阵列)时,需要频繁地进行异或的同位运算,才能顺利地实现硬盘阵列的容错功能。而在常规的技术中,这种同位运算会以硬件或软件技术来实现。在硬件的实现技术方面,现有的常规技术除了会在硬盘阵列控制器设置同位运算的处理硬件,还会附加上专用的存储器来支援同位运算所需的存储资源。由于这种常规的硬盘阵列控制器具有专用的存储器,连带地,控制器中也要有对应的硬件来管理该存储器的存取,如地址解码器(decoder)等。而这也使得该类硬盘阵列控制器的构造复杂,成本高昂,耗能、发热量均较高,电路的体积也较大,不适合内建于主机板或芯片组中,只适合以附插卡的形式安装于计算机系统中。
另一方面,在以软件来实现同位运算的常规技术中,则需要以中央处理器执行软件来进行异或运算。明显地,这种常规技术将会增加中央处理器的运算负担,降低计算机系统整体的运作效能。
发明内容
因此,本发明的主要目的,即是提出一种利用直接存储器存取机制实现的硬件同位运算技术,以克服前述常规技术的各种缺点。
本发明主要是以硬盘阵列控制器中的硬件来进行同位运算,但本发明还进一步地利用硬盘阵列控制器的直接存储器存取机制,使硬盘阵列控制器能直接利用计算机系统本身的系统存储器来支援同位运算所需的存储资源。如此一来,本发明就能在不占用中央处理器的情形下,快速、高效能地进行硬件同位运算,却不必在硬盘阵列控制器中设置专用的存储器及相关电路。因此,本发明的硬盘阵列控制器具有精简的结构、低廉的成本、较低的耗能与发热量,不仅能以附插卡的形式安装于计算机系统中,也能综合于主机板或芯片组中。
一般来说,在现行的计算机系统结构下,是以芯片组电连接在中央处理器与系统存储器之间,而各种周边装置的控制器,如硬盘控制器(IDEcontroller,IDE即integrated device electronics)或是硬盘阵列控制器等则可综合于芯片组内,或是通过总线(如PCI总线,peripheral componentinterconnect bus)连接到芯片组。为了减轻中央处理器的工作负担,这些控制器可启动总线主控(bus master)事件而进行直接存储器存取,经由芯片组中的北桥电路直接存取系统存储器中的数据。为了协调控制器的直接存储器存取作业,控制器中会设有一些暂存器,用来暂存直接存储器存取所需的指针及状态等数据。
举例来说,控制器中的暂存器可包括有符表指针(descriptor tablepointer)的暂存器以及一个代表直接存储器存取作业情形的状态暂存器。当控制器要开始总线主控(bus master)而直接存取系统存储器中的数据时,这些数据于系统存储器中的地址会被记录于一描述符表(PRDT,physicalregion descriptor table)中,而中央处理器可执行对应的软件(如驱动程序)来将一符表指针(PRDT pointer)存储至控制器的对应暂存器,该符表指针就是用来记录描述符表于系统存储器中的地址。而在控制器进行直接存储器存取时,就可根据符表指针而在系统存储器中找到描述符表,再根据描述符表存取到对应的数据。
除了符表指针与描述符表的机制外,直接存储器存取中控制器的状态暂存器则能响应控制器对直接存储器存取的进行状况。为了实现数据同步(datasynchronization),在现行的直接存储器存取结构下,只要中央处理器依软件执行情形而读取该状态暂存器中暂存的状态数据,控制器就会在响应状态数据之前,完成对系统存储器的存取。换句话说,只要中央处理器在读取状态暂存器后取得控制器响应的状态数据,就代表控制器已经完成直接存储器存取;而这种机制就可成为控制器响应软件层控制的管道。
利用直接存储器存取中各种相关的机制,就可实现本发明的技术。在本发明中,会在硬盘阵列的控制器内设置同位运算的硬件,再利用符表指针-描述符表的机制,使控制器可取得各批要进行同位运算的数据。在进行硬件的同位运算后,本发明同样也可利用符表指针-描述符表的机制,将同位运算的结果直接回存至系统存储器。换句话说,在本发明中,硬盘阵列控制器中的同位运算硬件可直接利用系统存储器来支援同位运算所需的存储资源,故本发明能以精简的结构在硬盘阵列控制器中实现硬件同位运算。在本发明中,可利用三种不同的方式来利用符表指针-描述符表的机制,让控制器能存取到需要进行同位运算的各批数据,并将同位运算的结果回存至系统存储器。
另一方面,本发明也可利用硬盘阵列控制器中的状态暂存器机制,来提供硬件同位运算对软件层响应的管道。当中央处理器在执行硬盘阵列控制器的软件驱动程序而要利用控制器中的硬件来进行同位运算时,中央处理器只要读取控制器中的状态暂存器,控制器就可开始进行硬件的同位运算处理,并在将状态暂存器的状态数据响应给中央处理器之前,完成同位运算,将结果回存至系统存储器。换句话说,只要中央处理器在驱动程序的软件层得到控制器响应的状态数据,就代表硬盘阵列控制器已经完成硬件同位运算。
利用直接存储器存取,本发明在进行硬件同位运算时就不需占用中央处理器的效能,硬盘阵列控制器也能以精简、低成本、低耗能的结构实现硬件同位运算,快速、有效率地支援硬盘阵列的各种相关运作。
附图说明
图1为本发明计算机系统的功能方块示意图。
图2为图1中计算机系统进行同位运算的第一实施例的示意图。
图3为图1中计算机系统进行同位运算的第二实施例的示意图。
图4为图1中计算机系统进行同位运算的第三实施例的示意图。
图5为图1中计算机系统进行同位运算时的流程示意图。
附图符号说明
10:计算机系统               12:中央处理器
14:北桥电路                 16:接口电路
18:存取模块                 20:控制器
22:运算模块                 24:暂存模块
28:驱动程序                 30:存储器
102-108:步骤                HD(1)-HD(M):硬盘
T(1)-T(N)、Tr:描述符表      P(1)-P(N)、Pr:符表指针
D(1)-D(N)、Dr:数据          S:状态数据
P0:总符表指针
具体实施方式
请参考图1。图1为本发明计算机系统10一实施例的示意图。计算机系统10中设有一中央处理器12、一北桥电路14、一接口电路16、一存储器30以及一控制器20。中央处理器12用来主控计算机系统10,作为系统存储器的存储器30可以是一动态随机存取存储器,用来支援中央处理器12运作所需的存储资源;北桥电路14则电连接在中央处理器12与存储器30之间,管理对存储器30的数据存取。本发明的控制器20可以是一硬盘阵列控制器,其可经由总线(如ATA/ATAPI、serial ATA或是SCSI规格的总线,其中ATA/ATAPI为Advanced Technology Attachment/ATA packet interface,SCSI为Small Computer System Interface)通道电连接到多个存储装置(图1中以硬盘HD(1)至HD(M)做为代表),以将这多个存储装置综合为一硬盘阵列,并管理其数据存取。而控制器20本身则通过接口电路16电连接到北桥电路14。举例来说,若控制器20是综合于南桥电路中的,接口电路16就可以是南桥电路中的其他电路,与北桥电路14、控制器20综合为一芯片组。若控制器20是以附插卡形式安装于计算机系统10中,则接口电路16可以是南桥电路,而控制器20则通过总线(如PCI总线)电连接到接口电路16。
为了实现硬盘阵列运作中所需的同位运算,本发明的控制器20中还设有一存取模块18、一运算模块22以及一暂存模块24。存取模块18可经由北桥电路14来存取存储器30,运算模块22即用来以硬件进行同位运算,如对多批输入数据进行异或(XOR)的逻辑运算后,算出对应的同位数据。而暂存模块24用来提供控制器20所需的暂存空间,如用来暂存状态数据的状态暂存器以及暂存符表指针的符表指针暂存器,皆可由暂存模块24来提供。另外,在硬盘阵列运作期间,中央处理器12则可通过对驱动程序28的执行,来操作管理控制器20,进而通过控制器20来控制硬盘阵列。
如前面提到过的,本发明可利用三种不同的方式来运用直接存储器存取的符表指针-描述符表机制以及状态暂存器机制,以支援硬盘阵列运作期间所需的同位运算。以下就以三个实施例来分别加以说明。首先,请参考图2(并一并参考图1);图2即为图1的计算机系统10在本发明的第一实施例中进行硬件同位运算的示意图。假设在硬盘阵列运作期间,控制器20有需要对数据D(1)、D(2)至D(N)进行硬件同位运算以产生一对应的同位数据Dr;此时,中央处理器12除了在存储器30中准备好各批同位运算的输入数据D(1)至D(N),还能通过对驱动程序28的执行,在存储器30中准备好各个描述符表T(1)至T(N)及Tr,并将各个符表指针P(1)至P(N)以及Pr填入至控制器20的暂存模块24中。
在存储器30中,每一描述符表T(n)对应于一批数据D(n),用来记录数据D(n)在存储器30中的地址区域。更具体地说,各个描述符表T(n)中可另外包含有多个描述符(physical region descriptor,未示于图2),各个描述符用来描述数据D(n)一部份的数据于存储器30中的地址区域。集合各个描述符中记录的信息,描述符表T(n)就能描述整批数据D(n)于存储器30中所占用的地址区域。描述符表Tr则用来记录数据Dr于存储器30中的地址区域。而在暂存模块24中,符表指针P(1)至P(N)则分别对应于描述符表T(1)至T(N),各符表指针P(n)用来记录描述符表T(n)于存储器30中所占用的地址区域;符表指针Pr则记录有描述符表Tr于存储器30中的地址区域。
当控制器20由暂存模块24中得到各个符表指针P(1)至P(N)后,控制器20中的存取模块18就能根据各符表指针P(1)至P(N)中所记录的地址区域而在存储器30中存取到各个描述符表T(1)至T(N)。根据这些描述符表T(1)至T(N),控制器20就能进一步由存储器30中存取到数据D(1)至D(N)。然后,硬件的运算模块22就能对数据D(1)至D(N)进行同位运算,算出对应的同位数据Dr。根据符表指针Pr,存取模块18能存取到描述符表Tr,进而将运算模块22算出来的同位数据Dr存入描述符表Tr所记录的地址区域,完成整个同位运算的过程。
至于上述同位运算进行的时机,中央处理器12可以利用对状态暂存器的读取来加以控制。如图2所示,控制器20可另外在暂存模块24中暂存一状态数据S,由暂存模块24来实现一状态暂存器的功能。中央处理器12在准备好各个描述符表T(1)至T(N)、Tr以及各个符表指针P(1)至P(N)、Pr后,就可由状态暂存器中读取状态数据S。而控制器20就会开始取得数据D(1)至D(N),进行硬件同位运算以计算出对应的同位数据Dr,并在将同位数据Dr回存至存储器30后,才将状态数据S回传给中央处理器12。换句话说,当中央处理器12进行读取并得到控制器20响应的状态数据,就代表控制器20已经完成硬件同位运算,并将运算结果的同位数据Dr回存至存储器30。
在本发明于图2的实施例中,要完成一次硬件同位运算,控制器20中的暂存模块24要暂存N+1个符表指针(也就是符表指针Tr及T(1)至T(N))及一个状态数据S,相当于要实现N+1个符表指针暂存器与一个状态暂存器;而中央处理器12则要从控制器20的暂存模块24中存取这N+1个符表指针暂存器。举例来说,若控制器20是将两个硬盘综合为一个RAID 5硬盘阵列,当要存取该硬盘阵列时,控制器20会需要对两批数据(即N=2)进行同位运算而得到一批同位数据,在该情况下,控制器20中的暂存模块24就要实现出3个符表指针暂存器及一个状态暂存器。不过,在现行的技术中,管理多硬盘的控制器本来就需要为每一个硬盘设置一个对应的符表指针暂存器,故本发明于图2的实施例其实并不会比现行技术的控制器需要更多的符表指针暂存器。
请参考图3(并一并参考图1)。图3为计算机系统10于本发明的第二实施例中进行硬件同位运算的示意图。类似于图2中的实施例,在图3的实施例中,当硬盘阵列控制器20在硬盘阵列运作期间要对数据D(1)、D(2)至D(N)做硬件同位运算时,中央处理器12仍会配合驱动程序28的执行而在存储器30中准备好各个对应的描述符表T(1)至T(N)及Tr,以及各个对应的符表指针P(1)至P(N)以及Pr。较为不同的是,在图3的实施例中,控制器20中的暂存模块24仅需实现一个符表指针暂存器及一个状态暂存器,而各个符表指针P(1)至P(N)、Pr则是依序被一一填入至符表指针暂存器中,让控制器20能依序存取到各批数据D(1)至D(N)。举例来说,符表指针P(1)会先被填入至控制器20中的符表指针暂存器中,让控制器20能根据符表指针P(1)存取到存储器30中的描述符表T(1),并进一步根据描述符表T(1)存取到数据D(1)。然后符表指针P(2)会被填入至符表指针暂存器中,让控制器20能经由描述符表T(2)存取到数据D(2);以此类推。存取到各批数据D(1)至D(N)后,控制器20中的硬件运算模块22就能进行同位运算而得出对应的同位数据Dr;而且,符表指针Pr也会被填入至符表指针暂存器中,让控制器20能根据描述符表Tr知道要将该同位数据Dr存入至存储器30中的哪些地址区域。
类似于图2中的实施例,本发明于图3中的实施例仍可沿用状态暂存器的机制来作为控制器20与软件层沟通的管道。也就是说,中央处理器12可向控制器20要求读取状态暂存器中的状态数据S,而当控制器20将状态数据S响应给中央处理器12时,就代表控制器20已经完成硬件的同位运算了。
对本发明于图3的实施例来说,在对N批数据D(1)至D(N)进行同位运算时,控制器20中仅需实现出一个符表指针暂存器及一个状态暂存器,不过要对此一符表指针暂存器进行N+1次存取,以依序填入符表指针P(1)至P(N)以及Pr。举例来说,当要对两批数据进行同位运算时,控制器20中仅需一个符表指针暂存器及一个状态暂存器,但要对该单一符表指针暂存器进行3次存取。由于现代的计算机系统所能支援的存储空间越来越大,用来定址数据的地址本身也会更长(具有更多位),也使得符表指针的数据量增加。因此,现行的计算机系统也已经可以运用多次填入的方式来利用单一的符表指针暂存器,如可支援ATA 48位规格的直接存储器存取,就会利用符表指针暂存器的多次填入,来将一个较长的符表指针分成不同的片段依序填入至符表指针暂存器。因此,本发明于图3中的实施例,不论是电路结构或是控制时序,都不会逾越现行计算机系统的规格,也不会增加计算机系统运作的复杂程度。
请参考图4。图4为本发明计算机系统10以直接存储器存取实现硬件同位运算的第三实施例的示意图。类似于前两个实施例,在图4的实施例中,当控制器20要对数据D(1)至D(N)进行同位运算时,中央处理器12会配合驱动程序28的执行而在存储器30中准备好数据D(1)至D(N),以及对应的描述符表T(1)至T(N)及Tr。同样地,中央处理器12还是要准备符表指针P(1)至P(N)及Pr来指示各个描述符表于存储器30中的地址。比较不同的是,在图4的实施例中,符表指针P(1)至P(N)及Pr会被存入至存储器30,而这些符表指针P(1)至P(N)于存储器30中的地址,则会被纪录至一总符表指针P0。而该总符表指针P0会被填入至控制器20的暂存模块24中。因此,在图4的实施例中,控制器20的暂存模块24也只需要实现出一个符表指针暂存器及一个状态暂存器,该符表指针暂存器暂存的就是总符表指针P0。
整体来说,当控制器20要对数据D(1)至D(N)进行硬件同位运算时,控制器20会先根据符表指针暂存器中的总符表指针P0存取到存储器30中的各个符表指针P(1)至P(N)以及Pr,再根据这些符表指针存取到描述符表T(1)至T(N)及Tr。根据描述符表T(1)至T(N),控制器20就能在存储器30中存取到数据D(1)至D(N)来进行硬件同位运算,并根据描述符表Tr,将算出来的同位数据Dr存入存储器30中,完成硬件同位运算。同样地,上述运作过程的时机可以用状态暂存器的读取来控制;当中央处理器12读取状态暂存器中的状态数据S时,控制器20就会以直接存储器存取进行硬件同位运算;当中央处理器12在软件层得到控制器20响应的状态数据S时,就代表控制器20已经完成硬件同位运算,并已将算出的同位数据Dr回存至存储器30。
由以上描述可知,在本发明于图4的实施例中,当要对N批数据D(1)至D(N)进行同位运算时,仅需在控制器20中实现一个符表指针暂存器以及一个状态暂存器,也仅需对该符表指针暂存器进行一次存取(也就是填入总符表指针P0);相对地,各个符表指针P(1)至P(N)、Pr则要被填入(存储至)存储器30中。等效上来说,存储器30中的各个符表指针P(1)至P(N)及Pr可视为一个描述符表中的各个符表单元(table entry),而总符表指针P0就可指引控制器20来存取到这个包含有各个符表指针的等效描述符表。因此,本发明于图4的实施例还是可沿用现行直接存储器存取下的符表指针-描述符表机制来加以实现,并不会增加实现上的复杂程度。
与本发明于图2、图3的实施例相比,本发明于图4的实施例应会有较高的效能,因为在图4的实施例中,对暂存模块24的存取最少。同样要对N批数据D(1)至D(N)进行同位运算,图2的实施例需要对暂存模块24进行N+1次的符表指针存取(也就是在N+1个符表指针暂存器中填入各个符表指针),图3的实施例也要对暂存模块24进行N+1次的符表指针存取(对单一符表指针暂存器依序进行N+1次存取)。而在图4的实施例中,则仅需对控制器20的暂存模块24进行一次的符表指针存取(填入总符表指针P0);虽然,在图4的实施例进行同位运算期间,还要额外在存储器30中存取各个符表指针P(1)至P(N)及Pr,但由于对存储器30的存取会比对暂存模块24的存取来得更快、更有效率,因此,可减少对暂存模块24存取的图4实施例会具有较高的效能,其硬件同位运算所花的时间应会较短。
本发明于上述各实施例中进行硬件同位运算的过程可归纳于图5。请参考图5(并一并参考图1);图5即为本发明计算机系统10藉由直接存储器存取机制进行硬件同位运算的流程示意图,其具有下列步骤:
步骤102:在硬盘阵列运作期间,当要各批输入数据D(1)至D(N)进行同位运算时,中央处理器12可配合软件驱动程序28的执行而为各批数据准备好对应的描述符表,并将这些描述符表存储在存储器30中。当然,也要将相关的符表指针(或图4实施例中的总符表指针)填入至控制器20的暂存模块24。
步骤104:利用直接存储器存取中符表指针-描述符表的机制,直接由存储器30中取得同位运算所需的数据D(1)至D(N)。
步骤106:由控制器20中的运算模块22进行硬件的同位运算。
步骤108:利用直接存储器存取中状态暂存器的机制,使控制器20将同位运算的结果(也就是同位数据Dr)回存至存储器30中。当中央处理器12在驱动程序28的软件层面取得控制器20响应的状态数据时,就代表控制器20已经完成硬件同位运算,并已将同位运算的结果回存至系统存储器(也就是存储器30)
总结来说,本发明可利用直接存储器存取的机制而在硬盘阵列控制器中实现结构精简的硬件同位运算,以便在硬盘阵列运作期间服务其所需的同位运算需求。与常规技术中以软件来实现的同位运算相比较,本发明的同位运算可减轻中央处理器的运作负担,使整个计算机系统具有更高的效能。与常规技术中以硬件来实现的同位运算相比较,本发明则可利用计算机系统中原本已设置的系统存储器及相关电路(如北桥电路)来支援同位运算期间所需要的存储资源,故本发明控制器的硬件结构精简,不需设置专用存储器,成本较低,体积较小,耗能发热均较少,不仅可利用附插卡的形式安装于计算机系统中,还可综合设置于主机板或芯片组内,符合现代计算机力求轻薄短小的需求。另外,本发明利用直接存储器存取中的状态暂存器机制来沟通控制器与软件层,也能减少对中央处理器效能的干扰。在常规技术中,不论是用硬件或软件来实现同位运算,都要在同位运算完成后对中央处理器发出中断(interrupt)信号,通知中央处理器;此时,中央处理器就需要耗用相当的效能来处理中断信号。相较之下,本发明以状态暂存器机制来做为中央处理器与控制器间的沟通管道,中央处理器就不需要像处理中断信号那样耗用较多效能。
另外,除了在硬盘阵列所需的同位运算之外,只要改变运算模块22的硬件功能,本发明就可以利用直接存储器存取来进行其他种类的硬件运算。举例来说,在RAID 2的硬盘阵列中,会需要将数据进行汉明码(hamming code)的编码;若将运算模块22的硬件运算功能扩充为汉明码的编码,本发明就能利用系统存储器来支援硬件汉明码编码所需的存储资源,在硬盘阵列控制器中以精简的结构来实现硬件汉明码编码。
以上所述仅为本发明的较佳实施例,凡依本发明权利要求所进行的等效变化与修改,皆应属本发明的涵盖范围。

Claims (11)

1.一种计算机系统,其包含有:
一中央处理器;
一存储器;
一北桥电路,电连接到该中央处理器及该存储器之间;以及
一控制器,电连接到该北桥电路;该控制器中包含有:
一存取模块,其可经由该北桥电路由该存储器中读取至少两批输入数据;以及
一运算模块,用来对该存取模块读取的各批输入数据进行逻辑运算以提供一对应的同位数据,而该存取模块还可将该同位数据经由该北桥电路存储至该存储器。
2.如权利要求1所述的计算机系统,其中该控制器还包含有:一暂存模块,其可暂存一状态数据;而该运算模块于该中央处理器读取该状态数据时进行逻辑运算,且该存取模块可在该中央处理器取得该状态数据之前,将该运算模块提供的同位数据经由该北桥电路存储至该存储器。
3.如权利要求2所述的计算机系统,其中该中央处理器还可将至少一符表指针存储至该暂存模块,而该存取模块根据该符表指针由该存储器中读取该各批输入数据。
4.如权利要求3所述的计算机系统,其中该存储器存储有至少一描述符表,各描述符表用来记录一对应的输入数据于该存储器中的地址区域;而各符表指针用来记录一对应的描述符表于该存储器中的地址;当该存取模块由该存储器中读取该各批输入数据时,先根据该符表指针由该存储器中读取各描述符表,再根据各描述符表由该存储器中读取该各批输入数据。
5.如权利要求2所述的计算机系统,其中该中央处理器可依序于不同时间在该暂存模块中分别存储一符表指针,各符表指针用来记录一对应的描述符表于该存储器中的地址,而各描述符表用来记录一对应的输入数据于该存储器中的地址区域;而当该存取模块由该存储器中读取该各批输入数据时,在该中央处理器将每一符表指针存储于该暂存模块后,依据该符表指针及对应的描述符表而由该存储器中读取对应的输入数据。
6.如权利要求2所述的计算机系统,其中该存储器中存储有多个符表指针及多个描述符表,各描述符表用来记录一对应的输入数据于该存储器中的地址区域,各符表指针用来记录一对应的描述符表于该存储器中的地址;且该中央处理器可将一总符表指针存储至该暂存模块,该总符表指针用来记录各符表指针于该存储器中的地址;而当该存取模块由该存储器中读取该各批输入数据时,先根据该总符表指针由该存储器中读取各符表指针,再根据各符表指针读取各描述符表,并根据各描述符表由该存储器中读取该各批输入数据。
7.如权利要求1所述的计算机系统,其还包含有至少一存储装置,电连接到该控制器;而该控制器还可将各输入数据及对应的同位数据传输至各存储装置。
8.一种于一计算机系统中进行同位运算的方法,该计算机系统中设有一存储器及一暂存模块,而该方法包含有:
由该存储器中读取至少两批输入数据;
于该暂存模块中暂存一状态数据;
在读取该状态数据时,对该各批输入数据进行逻辑运算以提供一对应的同位数据;以及
在由该暂存模块取得该状态数据前,将该同位数据存储至该存储器。
9.如权利要求8所述的方法,其还包含有:
将至少一描述符表存储至该存储器,其中各描述符表分别用来记录一对应的输入数据于该存储器中的地址区域;以及
将至少一符表指针存储于该暂存模块,其中各符表指针用来记录一对应的描述符表于该存储器中的地址;
而当要由该存储器中读取该各批输入数据时,先根据该符表指针由该存储器中读取各描述符表,再根据各描述符表由该存储器中读取该各批输入数据。
10.如权利要求8所述的方法,其还包含有:
将多个符表指针及多个描述符表存储至该存储器,其中各描述符表分别用来记录一对应的输入数据于该存储器中的地址区域,各符表指针用来记录一对应的描述符表于该存储器中的地址;以及
将一总符表指针存储至该暂存模块,该总符表指针用来记录各符表指针于该存储器中的地址;
而当要由该存储器中读取该各批输入数据时,先根据该总符表指针由该存储器中读取各符表指针,再根据各符表指针读取各描述符表,并根据各描述符表由该存储器中读取该各批输入数据。
11.如权利要求8所述的方法,其还包含有:
依序于不同时间在该暂存模块中分别存储一符表指针,各符表指针用来记录一对应的描述符表于该存储器中的地址,而各描述符表用来记录一对应的输入数据于该存储器中的地址区域;
而当要由该存储器中读取该各批输入数据时,在将每一符表指针存储于该暂存模块后,依据该符表指针及对应的描述符表而由该存储器中读取对应的输入数据。
CN 200410056440 2004-08-09 2004-08-09 进行硬盘阵列同位运算的装置与相关方法 Active CN1282067C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 200410056440 CN1282067C (zh) 2004-08-09 2004-08-09 进行硬盘阵列同位运算的装置与相关方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 200410056440 CN1282067C (zh) 2004-08-09 2004-08-09 进行硬盘阵列同位运算的装置与相关方法

Publications (2)

Publication Number Publication Date
CN1588300A CN1588300A (zh) 2005-03-02
CN1282067C true CN1282067C (zh) 2006-10-25

Family

ID=34603217

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 200410056440 Active CN1282067C (zh) 2004-08-09 2004-08-09 进行硬盘阵列同位运算的装置与相关方法

Country Status (1)

Country Link
CN (1) CN1282067C (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100416484C (zh) * 2006-09-06 2008-09-03 威盛电子股份有限公司 具磁盘阵列控制功能的核心逻辑单元及磁盘阵列控制方法
CN101763221B (zh) * 2008-12-24 2013-01-30 成都市华为赛门铁克科技有限公司 一种存储方法、存储系统及控制器
CN111857829A (zh) * 2019-04-25 2020-10-30 安徽寒武纪信息科技有限公司 处理器操作方法及装置以及相关产品
CN111857828B (zh) * 2019-04-25 2023-03-14 安徽寒武纪信息科技有限公司 处理器操作方法及装置以及相关产品
CN111782267B (zh) * 2019-04-04 2022-12-09 安徽寒武纪信息科技有限公司 数据处理方法及装置以及相关产品
CN111782577B (zh) 2019-04-04 2023-03-24 安徽寒武纪信息科技有限公司 数据处理装置及方法以及相关产品
CN111831329B (zh) * 2019-04-19 2022-12-09 安徽寒武纪信息科技有限公司 数据处理方法及装置以及相关产品
CN111782133A (zh) * 2019-04-04 2020-10-16 安徽寒武纪信息科技有限公司 数据处理方法及装置以及相关产品
CN111831337B (zh) * 2019-04-19 2022-11-29 安徽寒武纪信息科技有限公司 数据同步方法及装置以及相关产品
CN110213145B (zh) * 2019-06-03 2021-04-23 成都海光集成电路设计有限公司 北桥设备、总线互联网络以及数据传输方法

Also Published As

Publication number Publication date
CN1588300A (zh) 2005-03-02

Similar Documents

Publication Publication Date Title
CN1234071C (zh) 对不完全raid盘写进行可靠故障转移的方法和设备
US9940261B2 (en) Zoning of logical to physical data address translation tables with parallelized log list replay
US8788755B2 (en) Mass data storage system and method of operating thereof
US8131969B2 (en) Updating system configuration information
US8316178B2 (en) Buffering of data transfers for direct access block devices
US7464221B2 (en) Storage system, storage device, and control method thereof
JP5347061B2 (ja) フラッシュメモリデータストレージデバイスにデータを格納するための方法及び装置
US6647460B2 (en) Storage device with I/O counter for partial data reallocation
EP2646919B1 (en) Transaction log recovery
EP2483782B1 (en) Power interrupt management
US20040024963A1 (en) Method and system for striping data to accommodate integrity metadata
CN100351767C (zh) 适配器读取和写入系统存储器的方法和系统
WO2008021993A1 (en) On-disk caching for raid systems
CN1290890A (zh) 利用高速缓存器管理raid存储系统的方法和系统
CN1282067C (zh) 进行硬盘阵列同位运算的装置与相关方法
US11989452B2 (en) Read-disturb-based logical storage read temperature information identification system
Chang et al. A management strategy for the reliability and performance improvement of MLC-based flash-memory storage systems
CN112204515A (zh) 逻辑到物理数据结构
US11379326B2 (en) Data access method, apparatus and computer program product
Chang et al. An adaptive file-system-oriented FTL mechanism for flash-memory storage systems
CN112612639A (zh) 操作存储器系统的方法、操作主机的方法和计算系统
US20060026328A1 (en) Apparatus And Related Method For Calculating Parity of Redundant Array Of Disks
Chiueh et al. Software orchestrated flash array
CN1959620A (zh) 芯片组、北桥芯片以及磁盘数据存取方法
US20230236759A1 (en) Scanning pages of shared memory

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