[go: up one dir, main page]

CN100514271C - chip set, north bridge chip and disk data access method - Google Patents

chip set, north bridge chip and disk data access method Download PDF

Info

Publication number
CN100514271C
CN100514271C CNB2006101435364A CN200610143536A CN100514271C CN 100514271 C CN100514271 C CN 100514271C CN B2006101435364 A CNB2006101435364 A CN B2006101435364A CN 200610143536 A CN200610143536 A CN 200610143536A CN 100514271 C CN100514271 C CN 100514271C
Authority
CN
China
Prior art keywords
data
disk array
bridge chip
storage area
temporary storage
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
CNB2006101435364A
Other languages
Chinese (zh)
Other versions
CN1959620A (en
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 CNB2006101435364A priority Critical patent/CN100514271C/en
Publication of CN1959620A publication Critical patent/CN1959620A/en
Application granted granted Critical
Publication of CN100514271C publication Critical patent/CN100514271C/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

A chip set for accessing data of redundant disk array is connected between CPU, system memory and disk array. The north bridge chip is connected between the central processing unit and the system memory, and comprises a disk array accelerator for executing the function of disk array data access. The south bridge chip is connected between the north bridge chip and the disk array and used for accessing data of the disk array.

Description

芯片组、北桥芯片以及磁盘数据存取方法 Chip set, north bridge chip and disk data access method

技术领域 technical field

本发明是有关于一种计算机系统,且特别是有关于一种冗余磁盘阵列的计算机系统。The present invention relates to a computer system, and in particular to a redundant disk array computer system.

背景技术 Background technique

为了提供更大的容量、更高的读写效能,或是安全性,现代的计算机系统通常都支持冗余磁盘阵列(Redundant Array of Independent Disks,RAID)的功能。简单的来说,RAID就是将数个磁盘利用阵列的方式来作磁盘组,配合数据分散排列的设计,提升数据的安全性。同时储存数据的时候,可将数据切割成许多区段在分别储存于各个磁盘中,因此利用各磁盘分别提供数据的加成效果,可以提升整个计算机系统的效能。此外RAID还可以利用奇偶校验(parity check),使得再阵列中的任何一颗磁盘损坏时,仍可读出数据。In order to provide greater capacity, higher read and write performance, or security, modern computer systems usually support the function of Redundant Array of Independent Disks (RAID). To put it simply, RAID is to use several disks as an array to form a disk group, and cooperate with the design of data scattered arrangement to improve data security. When storing data at the same time, the data can be divided into many sections and stored in each disk separately. Therefore, the performance of the entire computer system can be improved by using each disk to provide data bonus effects. In addition, RAID can also use parity check (parity check), so that when any disk in the array is damaged, data can still be read.

图1显示一冗余磁盘阵列的计算机系统100的示意图。计算机系统100包括有磁盘阵列130、南桥芯片108、北桥芯片104、系统存储器106以及中央处理器102。FIG. 1 shows a schematic diagram of a computer system 100 with a redundant disk array. The computer system 100 includes a disk array 130 , a south bridge chip 108 , a north bridge chip 104 , a system memory 106 and a CPU 102 .

在图1中,假设磁盘阵列130是由3个磁盘所组成,包括有磁盘132、134以及136。南桥芯片108中包含有一磁盘控制器110,用以分别控制磁盘132、134以及136的存储。而北桥芯片104耦接于南桥芯片108、系统存储器106以及中央处理器102之间。In FIG. 1 , it is assumed that the disk array 130 is composed of three disks, including disks 132 , 134 and 136 . The south bridge chip 108 includes a disk controller 110 for controlling the storage of the disks 132 , 134 and 136 respectively. The north bridge chip 104 is coupled between the south bridge chip 108 , the system memory 106 and the CPU 102 .

图1中所示的磁盘控制器110可为集成驱动电子(Integrated DriverElectronic,IDE)或是高级主机控制器(Advanced Host Controller,AHC)。系统存储器106可为动态随机存取存储器(Dynamic Random Access Memory,DRAM)。The disk controller 110 shown in FIG. 1 can be an Integrated Driver Electronics (Integrated Driver Electronics, IDE) or an Advanced Host Controller (Advanced Host Controller, AHC). The system memory 106 can be a dynamic random access memory (Dynamic Random Access Memory, DRAM).

图2所示为计算机系统100执行RAID数据写入示例的流程图。首先中央处理器102会先将数据D1写到系统存储器106中(步骤S201),接着磁盘控制器110从磁盘134中读出另一笔数据D2,并将数据D2写到系统存储器106中(步骤S202),之后,中央处理器102从系统存储器106中读取出数据D2(步骤S203),接着中央处理器102将数据D1以及D2做异或(XOR)的运算以得到奇偶数据DP(步骤S204),之后中央处理器102将奇偶数据DP写到系统存储器106中(步骤S205),最后磁盘控制器110使得数据D1写到磁盘132中(步骤S206),再接着磁盘控制器110使得奇偶数据DP写到磁盘136中(步骤S207)。FIG. 2 is a flow chart showing an example of writing RAID data by the computer system 100 . First, the central processing unit 102 will first write the data D1 into the system memory 106 (step S201), and then the disk controller 110 reads another data D2 from the disk 134, and writes the data D2 into the system memory 106 (step S201). S202), after that, the central processing unit 102 reads the data D2 from the system memory 106 (step S203), and then the central processing unit 102 performs an exclusive OR (XOR) operation on the data D1 and D2 to obtain the parity data DP (step S204 ), then the central processing unit 102 writes the parity data DP in the system memory 106 (step S205), and finally the disk controller 110 makes the data D1 write in the disk 132 (step S206), and then the disk controller 110 makes the parity data DP Write to the disk 136 (step S207).

如上述的例子中可以发现到中央处理器106必需处理几乎所有的步骤,如此会使得计算机系统的整体效能变差。As in the above example, it can be found that the CPU 106 has to handle almost all the steps, which will cause the overall performance of the computer system to deteriorate.

发明内容 Contents of the invention

本发明提供一种用于冗余磁盘阵列数据存取的芯片组,该芯片组连结于一中央处理器,一系统存储器以及一磁盘阵列间,该芯片组包括有:磁盘阵列加速器,根据磁盘阵列控制命令用以执行存取储存于系统存储器的第一数据以及第二数据,并对该第一数据以及该第二数据执行逻辑运算以得到奇偶数据的功能;北桥芯片缓存器,其包含有存储器映像暂存区,用以储存磁盘控制器控制命令;以及影像暂存区,用于储存磁盘阵列控制命令,和;以及南桥芯片,连接于该北桥芯片以及该磁盘阵列间,用以存取该磁盘阵列的数据;包含:磁盘控制器,用于控制该磁盘阵列的数据存取,以及南桥芯片缓存器,用于储存该磁盘阵列控制命令。The present invention provides a chip set for redundant disk array data access, the chip set is connected between a central processing unit, a system memory and a disk array, the chip set includes: a disk array accelerator, according to the disk array The control command is used to execute the function of accessing the first data and the second data stored in the system memory, and performing logical operations on the first data and the second data to obtain parity data; the north bridge chip buffer, which includes a memory The image temporary storage area is used to store the disk controller control command; and the image temporary storage area is used to store the disk array control command, and; and the south bridge chip is connected between the north bridge chip and the disk array for access The data of the disk array includes: a disk controller, used to control the data access of the disk array, and a south bridge chip register, used to store the disk array control command.

再者,本发明提供一种用于冗余磁盘阵列数据存取的北桥芯片,该北桥芯片连结于一中央处理器,一系统存储器间,该北桥芯片透过一南桥芯片连结至一磁盘阵列,该北桥芯片包括:一磁盘阵列加速器,其用以根据磁盘阵列控制命令执行存取储存于系统存储器的第一数据以及第二数据,并对该第一数据以及该第二数据执行逻辑运算以得到奇偶数据的功能;以及一北桥芯片缓存器,包含有北桥芯片缓存器,其包含有存储器映像暂存区,用以储存磁盘控制器控制命令;以及影像暂存区,用以储存该磁盘阵列控制命令。Furthermore, the present invention provides a Northbridge chip for redundant disk array data access, the Northbridge chip is connected between a central processing unit and a system memory, and the Northbridge chip is connected to a disk array through a Southbridge chip , the north bridge chip includes: a disk array accelerator, which is used to perform access to the first data and the second data stored in the system memory according to the disk array control command, and perform logical operations on the first data and the second data to The function of obtaining parity data; and a Northbridge chip register, including the Northbridge chip register, which includes a memory image temporary storage area, used to store disk controller control commands; and an image temporary storage area, used to store the disk array control commands.

再者,本发明提供一种磁盘阵列数据存取方法,包含有:将一磁盘阵列控制命令映像至一北桥芯片缓存器中;一磁盘阵列加速器根据该磁盘阵列控制命令存取储存于该系统存储器的一第一数据以及一第二数据;以及该磁盘阵列加速器根据该磁盘阵列控制命令对该第一数据以及该第二数据执行逻辑运算以得到一第三数据,并将该第三数据写入该系统存储器。Furthermore, the present invention provides a disk array data access method, including: mapping a disk array control command to a north bridge chip register; a disk array accelerator accessing and storing in the system memory according to the disk array control command a first data and a second data; and the disk array accelerator performs logic operations on the first data and the second data according to the disk array control command to obtain a third data, and writes the third data the system memory.

附图说明 Description of drawings

图1是显示一支持RAID的计算机系统示意图。FIG. 1 is a schematic diagram showing a computer system supporting RAID.

图2是显示一执行RAID数据写入的流程图。FIG. 2 is a flow chart showing a process for performing RAID data writing.

图3是显示本发明一支持RAID的计算机系统示意图。FIG. 3 is a schematic diagram showing a computer system supporting RAID of the present invention.

图4是显示本发明一执行RAID数据写入的流程图。FIG. 4 is a flow chart showing the implementation of RAID data writing according to the present invention.

图5是显示本发明另一支持RAID的计算机系统示意图。FIG. 5 is a schematic diagram showing another computer system supporting RAID of the present invention.

图6是显示本发明另一执行RAID数据写入的流程图。FIG. 6 is a flow chart showing another implementation of RAID data writing in the present invention.

图7是显示本发明一执行RAID数据读取的流程图。FIG. 7 is a flow chart showing the implementation of RAID data reading according to the present invention.

主要组件符号说明Explanation of main component symbols

100、300、500~计算机系统100, 300, 500~computer system

102、302、502~中央处理器102, 302, 502~central processing unit

104、304、504~北桥芯片104, 304, 504~Northbridge chip

106、306、506~系统存储器106, 306, 506 ~ system memory

108、308、508~南桥芯片108, 308, 508~South Bridge chip

110、310、510~磁盘控制器110, 310, 510~disk controller

130、330、530~磁盘阵列130, 330, 530~disk array

350、550~磁盘阵列加速器350, 550~disk array accelerator

132、134、136、332、334、336、532、534、536~磁盘132, 134, 136, 332, 334, 336, 532, 534, 536~disk

512~南桥芯片缓存器512~South bridge chip buffer

560~北桥芯片缓存器560~North bridge chip buffer

562~存储器映像暂存区562~memory image temporary storage area

564~影像暂存区564~Image Temporary Storage Area

具体实施方式 Detailed ways

为使本发明的上述和其它目的、特征、和优点能更明显易懂,下文特举出较佳实施例,并配合附图,作详细说明如下。In order to make the above and other objects, features, and advantages of the present invention more comprehensible, preferred embodiments are listed below and described in detail in conjunction with the accompanying drawings.

图3是显示本发明一计算机系统300的示意图。计算机系统300包括有:磁盘阵列330、南桥芯片308、北桥芯片304、系统存储器306以及中央处理器302。FIG. 3 is a schematic diagram showing a computer system 300 of the present invention. The computer system 300 includes: a disk array 330 , a south bridge chip 308 , a north bridge chip 304 , a system memory 306 and a CPU 302 .

在图3中,假设磁盘阵列330是由3个磁盘所组成,包括有磁盘332、334以及336。南桥芯片308中包含有一个磁盘控制器310用以控制磁盘332、334以及336的存储,以及一个磁盘阵列加速器(RAIDA)350用以执行磁盘阵列的功能。北桥芯片304耦接于南桥芯片308、系统存储器306以及中央处理器302之间。In FIG. 3 , it is assumed that the disk array 330 is composed of three disks, including disks 332 , 334 and 336 . The south bridge chip 308 includes a disk controller 310 for controlling the storage of the disks 332 , 334 and 336 , and a disk array accelerator (RAIDA) 350 for performing the functions of the disk array. The north bridge chip 304 is coupled between the south bridge chip 308 , the system memory 306 and the CPU 302 .

图4所示为计算机系统300执行RAID数据写入示例的流程图。首先中央处理器302会先将数据D1写到系统存储器306中(步骤S401),接着磁盘控制器310从磁盘334中读出另一笔数据D2并将数据D2经由北桥芯片304写到系统存储器306中(步骤S402)。之后,磁盘阵列加速器350经由北桥芯片304从系统存储器106中读取出数据D1以及D2(步骤S403),接着磁盘阵列加速器350将数据D1以及D2做异或(XOR)运算以得到奇偶数据DP(步骤S404),之后磁盘阵列加速器350将奇偶数据DP经由北桥芯片304写到系统存储器306中(步骤S405),最后磁盘控制器310使得奇偶数据DP从系统存储器306写到磁盘336中(步骤S406),再接着磁盘控制器310使得数据D1从系统存储器306写到磁盘332中(步骤S407)。FIG. 4 is a flow chart showing an example of computer system 300 executing RAID data writing. First, the central processing unit 302 will first write the data D1 into the system memory 306 (step S401), and then the disk controller 310 reads another data D2 from the disk 334 and writes the data D2 to the system memory 306 via the North Bridge chip 304 in (step S402). Afterwards, the disk array accelerator 350 reads the data D1 and D2 from the system memory 106 via the north bridge chip 304 (step S403), and then the disk array accelerator 350 performs an exclusive OR (XOR) operation on the data D1 and D2 to obtain the parity data DP( Step S404), then the disk array accelerator 350 writes the parity data DP into the system memory 306 via the north bridge chip 304 (step S405), and finally the disk controller 310 makes the parity data DP write into the disk 336 from the system memory 306 (step S406) , and then the disk controller 310 enables the data D1 to be written from the system memory 306 to the disk 332 (step S407).

由上述可知在南桥芯片308中置入一个磁盘阵列加速器可使得中央处理器302的负载降低进而提升计算机系统300的效能。但由于数据不断透过北桥芯片304与南桥芯片306间的总线传送,因此也占用了其总线的频宽。From the above, it can be known that embedding a disk array accelerator in the south bridge chip 308 can reduce the load of the CPU 302 and improve the performance of the computer system 300 . However, since data is continuously transmitted through the bus between the north bridge chip 304 and the south bridge chip 306, the bandwidth of the bus is also occupied.

图5显示为本发明另一计算机系统500的示意图。计算机系统500包括有:磁盘阵列530、芯片组570、系统存储器506以及中央处理器502。FIG. 5 is a schematic diagram of another computer system 500 of the present invention. The computer system 500 includes: a disk array 530 , a chipset 570 , a system memory 506 and a CPU 502 .

在图5中,芯片组570包含北桥芯片504以及南桥芯片508。假设磁盘阵列530是由3个磁盘所组成,包括有磁盘532、534以及536。南桥芯片508中包含有:磁盘控制器510用以控制磁盘532、534以及536的存储;以及南桥芯片缓存器512,用以暂存磁盘阵列加速器550的相关控制命令。北桥芯片504耦接于南桥芯片508、系统存储器506以及中央处理器502之间。在本实施例中,磁盘阵列加速器(RAIDA)550设置于北桥芯片504中,用以执行磁盘阵列(RAID)的功能。此外北桥芯片504还包含有一个北桥芯片缓存器560用以暂存相关的控制命令。In FIG. 5 , chipset 570 includes north bridge chip 504 and south bridge chip 508 . Assume that the disk array 530 is composed of three disks, including disks 532 , 534 and 536 . The south bridge chip 508 includes: a disk controller 510 for controlling the storage of the disks 532 , 534 and 536 ; and a south bridge chip register 512 for temporarily storing related control commands of the disk array accelerator 550 . The north bridge chip 504 is coupled between the south bridge chip 508 , the system memory 506 and the CPU 502 . In this embodiment, a disk array accelerator (RAIDA) 550 is disposed in the north bridge chip 504 for performing the function of a disk array (RAIDA). In addition, the north bridge chip 504 also includes a north bridge chip register 560 for temporarily storing related control commands.

本发明图3中由于磁盘阵列加速器350位于南桥芯片308中,因此磁盘阵列加速器350可以很容易的根据储存于南桥芯片缓存器(图中未显示)中相关控制指令的设定而执行RAID的功能。In Fig. 3 of the present invention, because the disk array accelerator 350 is located in the south bridge chip 308, so the disk array accelerator 350 can easily execute RAID according to the setting stored in the relevant control command in the south bridge chip register (not shown). function.

而在本发明图5中由于磁盘阵列加速器550置于北桥芯片504,因此在执行RAID功能之前必需先将磁盘阵列加速器550相关的控制命令由南桥芯片缓存器512复制到北桥芯片缓存器560,以提供给磁盘阵列加速器550使用。And in Fig. 5 of the present invention, because the disk array accelerator 550 is placed in the north bridge chip 504, so before executing the RAID function, the relevant control commands of the disk array accelerator 550 must be copied to the north bridge chip cache memory 560 by the south bridge chip register 512, It can be provided to the disk array accelerator 550 for use.

为了复制相关的控制指令至北桥芯片缓存器560,北桥芯片504会窥视(snoop)北桥芯片缓存器560中储存关于磁盘控制器510相关控制命令的存储器映像暂存区562,当操作系统或其它外部指令对存储器映像暂存区562执行写入操作的时候,北桥芯片504将南桥芯片缓存器512中储存关于磁盘阵列加速器550的磁盘阵列控制命令映像(mapping)到北桥芯片缓存器560的影像暂存区(shadow register)564中。而影像暂存区564可以是北桥芯片暂存区560中的特定区域,例如可以使用存储器映像输出输入周期(MMIO cycle)的区域。In order to copy the relevant control commands to the north bridge chip register 560, the north bridge chip 504 will peep (snoop) the memory image temporary storage area 562 storing the relevant control commands about the disk controller 510 in the north bridge chip register 560, when the operating system or other external When the instruction executes the write operation to the memory image temporary storage area 562, the north bridge chip 504 will store the disk array control command image (mapping) about the disk array accelerator 550 in the south bridge chip register 512 to the image temporary storage area 560 of the north bridge chip In the shadow register 564. The image temporary storage area 564 can be a specific area in the north bridge chip temporary storage area 560, for example, an area that can use a memory map output input cycle (MMIO cycle).

为了更具体的说明本发明,请参考图6,其所示为计算机系统500执行RAID数据写入示例的流程图600。In order to describe the present invention more specifically, please refer to FIG. 6 , which shows a flowchart 600 of an example of writing RAID data by the computer system 500 .

首先中央处理器502会先将数据D1写到系统存储器506中(步骤S601),接着磁盘控制器510从磁盘534中读出另一笔数据D2并将数据D2经由北桥芯片504写到系统存储器506中(步骤S602)。接着,北桥芯片504窥视存储器映像暂存区562(步骤S603)。若操作系统或其它外部指令对存储器映像暂存区562执行写入操作的时候,北桥芯片504将南桥芯片缓存器512中储存关于磁盘阵列加速器550的磁盘阵列控制命令映像(mapping)到北桥芯片缓存器560的影像暂存区(shadow register)564中(步骤S604)。之后,磁盘阵列加速器550根据影像暂存区564的磁盘阵列控制命令从系统存储器506中读取出数据D1以及D2(步骤S605),接着磁盘阵列加速器550将数据D1以及D2做异或(Exclusive-OR XOR)的运算以得到奇偶数据DP(步骤S606),之后磁盘阵列加速器550将奇偶数据DP写到系统存储器506中(步骤S607),最后磁盘控制器510使得数据D1以及奇偶数据DP从系统存储器506分别写到磁盘532以及磁盘536中(步骤S608)。First, the central processing unit 502 will first write the data D1 into the system memory 506 (step S601), and then the disk controller 510 reads another data D2 from the disk 534 and writes the data D2 to the system memory 506 via the north bridge chip 504 in (step S602). Next, the north bridge chip 504 peeps the memory image temporary storage area 562 (step S603 ). If the operating system or other external instructions execute the write operation to the memory image temporary storage area 562, the north bridge chip 504 will store the disk array control command mapping (mapping) about the disk array accelerator 550 in the south bridge chip register 512 to the north bridge chip in the shadow register 564 of the buffer 560 (step S604). Afterwards, the disk array accelerator 550 reads the data D1 and D2 from the system memory 506 according to the disk array control command of the image temporary storage area 564 (step S605), and then the disk array accelerator 550 performs exclusive-or (Exclusive- OR XOR) operation to obtain parity data DP (step S606), then disk array accelerator 550 writes parity data DP in system memory 506 (step S607), and finally disk controller 510 makes data D1 and parity data DP from system memory 506 are respectively written to the disk 532 and the disk 536 (step S608).

图7所示为本发明另一实施例计算机系统500执行RAID数据读取示例的流程图700。FIG. 7 is a flow chart 700 of an example of reading RAID data performed by the computer system 500 according to another embodiment of the present invention.

首先磁盘控制器510将储存于磁盘532中的数据D1经过南桥芯片508与北桥芯片504而储存至系统存储器506(步骤S701)。接着判断数据D1是否为正确的数据(步骤S702)。如果数据D1为正确的数据,则中央处理器502直接读取储存于系统存储器506中的数据D1(步骤S703)。Firstly, the disk controller 510 stores the data D1 stored in the disk 532 into the system memory 506 via the south bridge chip 508 and the north bridge chip 504 (step S701 ). Next, it is judged whether the data D1 is correct data (step S702). If the data D1 is correct, the CPU 502 directly reads the data D1 stored in the system memory 506 (step S703 ).

如果数据D1不正确,则计算机系统500必须根据另一笔数据D2与奇偶数据DP来还原正确的数据D1。因此磁盘控制器510会将储存于磁盘534中的数据D2以及储存于磁盘536中的奇偶数据DP分别透过南桥芯片508与北桥芯片504而储存到系统存储器506(步骤S704)。而北桥芯片504窥视储存磁盘控制器510相关控制指令的存储器映像暂存区562(步骤S705)。若操作系统对存储器映像暂存区562执行写入操作,则北桥芯片504会将南桥芯片缓存器512中储存关于磁盘阵列加速器550的磁盘阵列控制命令映像(mapping)到北桥芯片缓存器560的影像暂存区564中(步骤S706)。接着,磁盘阵列加速器550根据影像暂存区564的磁盘阵列控制命令读取储存于系统存储器506中的数据D2以及奇偶数据DP,并执行反异或(EXCLUSIVE-NOR,XNOR)逻辑运算以得到正确的数据D1(步骤S707)。最后,磁盘阵列加速器550将正确的数据D1写入系统存储器506(步骤S708),如此中央处理器502即可从系统存储器506中读取到正确的数据D1(步骤S709),而后磁盘控制器510将正确的数据D1写入磁盘532中(步骤S710)。If the data D1 is incorrect, the computer system 500 must restore the correct data D1 according to another piece of data D2 and the parity data DP. Therefore, the disk controller 510 stores the data D2 stored in the disk 534 and the parity data DP stored in the disk 536 into the system memory 506 through the south bridge chip 508 and the north bridge chip 504 respectively (step S704 ). And the north bridge chip 504 peeks at the memory image temporary storage area 562 storing related control commands of the disk controller 510 (step S705 ). If the operating system performs a write operation to the memory image temporary storage area 562, then the north bridge chip 504 will store the disk array control command image (mapping) about the disk array accelerator 550 in the south bridge chip register 512 to the north bridge chip register 560 image temporary storage area 564 (step S706). Next, the disk array accelerator 550 reads the data D2 and the parity data DP stored in the system memory 506 according to the disk array control command of the image temporary storage area 564, and performs an inverse exclusive-or (EXCLUSIVE-NOR, XNOR) logic operation to obtain the correct data D1 (step S707). Finally, the disk array accelerator 550 writes the correct data D1 into the system memory 506 (step S708), so that the central processing unit 502 can read the correct data D1 from the system memory 506 (step S709), and then the disk controller 510 Write the correct data D1 into the disk 532 (step S710).

由上述可以发现由于本发明将磁盘阵列加速器550置于北桥芯片504中,如此可以减少数据在北侨芯片504与南桥芯片506间的总线传送,使得总线的频宽可以释放,进而也减少了读取系统存储器数据506的等待时间(latency)。From the above, it can be found that because the present invention places the disk array accelerator 550 in the north bridge chip 504, the bus transmission of data between the north bridge chip 504 and the south bridge chip 506 can be reduced, so that the bandwidth of the bus can be released, and then also reduced Latency to read system memory data 506 .

本发明虽以较佳实施例公开如上,但其并非用以限定本发明的范围,任何本领域的技术人员,在不脱离本发明的精神和范围内,当可做些许的更动与润饰,因此本发明的保护范围当视后附的权利要求书所界定者为准。Although the present invention is disclosed above with preferred embodiments, it is not intended to limit the scope of the present invention. Any person skilled in the art may make some changes and modifications without departing from the spirit and scope of the present invention. Therefore, the scope of protection of the present invention should be defined by the appended claims.

Claims (9)

1.一种用于冗余磁盘阵列数据存取的芯片组,该芯片组连结于中央处理器、系统存储器以及磁盘阵列间,该芯片组包括:1. A chipset for redundant disk array data access, the chipset is connected between central processing unit, system memory and disk array, the chipset includes: 北桥芯片,连接于该中央处理器以及该系统存储器间,包含有:The north bridge chip, connected between the central processing unit and the system memory, includes: 磁盘阵列加速器,根据磁盘阵列控制命令用以执行存取储存于系统存储器的第一数据以及第二数据,并对该第一数据以及该第二数据执行逻辑运算以得到奇偶数据的功能;The disk array accelerator is used to perform the function of accessing the first data and the second data stored in the system memory according to the disk array control command, and performing logical operations on the first data and the second data to obtain parity data; 北桥芯片缓存器,其包含有存储器映像暂存区,用以储存磁盘控制器控制命令;以及影像暂存区,用于储存磁盘阵列控制命令;以及Northbridge chip register, which includes a memory image temporary storage area for storing disk controller control commands; and an image temporary storage area for storing disk array control commands; and 南桥芯片,连接于该北桥芯片以及该磁盘阵列间,用以存取该磁盘阵列的数据;包含:The south bridge chip is connected between the north bridge chip and the disk array, and is used to access the data of the disk array; including: 磁盘控制器,用于控制该磁盘阵列的数据存取,以及南桥芯片缓存器,用于储存该磁盘阵列控制命令。The disk controller is used to control the data access of the disk array, and the south bridge chip register is used to store the disk array control command. 2.如权利要求1所述的芯片组,其中该影像暂存区使用存储器映像输出输入周期,该北桥芯片窥视该存储器映像暂存区,当操作系统或外部指令对该存储器映像暂存区执行写入操作时,该北桥芯片将储存于该南桥芯片的该磁盘阵列加速器的控制命令映像到该影像暂存区。2. The chip set as claimed in claim 1, wherein the image temporary storage area uses a memory image output input cycle, and the north bridge chip peeks at the memory image temporary storage area, and when an operating system or an external command is executed on the memory image temporary storage area During writing operation, the north bridge chip maps the control command of the disk array accelerator stored in the south bridge chip to the image temporary storage area. 3.一种用于冗余磁盘阵列数据存取的北桥芯片,该北桥芯片连结于中央处理器、系统存储器间,该北桥芯片透过南桥芯片连结至磁盘阵列,该北桥芯片包括:3. A north bridge chip used for redundant disk array data access, the north bridge chip is connected between the central processing unit and the system memory, the north bridge chip is connected to the disk array through the south bridge chip, the north bridge chip includes: 磁盘阵列加速器,其用以根据磁盘阵列控制命令执行存取储存于系统存储器的第一数据以及第二数据,并对该第一数据以及该第二数据执行逻辑运算以得到奇偶数据的功能;以及A disk array accelerator, which is used to perform a function of accessing first data and second data stored in the system memory according to a disk array control command, and performing a logic operation on the first data and the second data to obtain parity data; and 北桥芯片缓存器,包含有北桥芯片缓存器,其包含有存储器映像暂存区,用以储存磁盘控制器控制命令;以及影像暂存区,用以储存该磁盘阵列控制命令。The north bridge chip register includes the north bridge chip register, which includes a memory image temporary storage area for storing the disk controller control command; and an image temporary storage area for storing the disk array control command. 4.如权利要求3所述的北桥芯片,其中该影像暂存区使用存储器映像输出输入周期;该北桥芯片窥视该存储器映像暂存区,当操作系统或外部指令对该存储器映像暂存区执行写入操作时,该北桥芯片将原本储存于南桥芯片缓存器的该磁盘阵列控制命令映像到该影像暂存区。4. The north bridge chip as claimed in claim 3, wherein the image temporary storage area uses a memory image output input cycle; the north bridge chip peeps at the memory image temporary storage area, and when the operating system or an external command executes the memory image temporary storage area During write operation, the north bridge chip maps the disk array control command originally stored in the register of the south bridge chip to the image temporary storage area. 5.一种磁盘阵列数据存取方法,包含有:5. A disk array data access method, comprising: 将磁盘阵列控制命令映像至北桥芯片缓存器中;Map the disk array control command to the north bridge chip buffer; 磁盘阵列加速器根据该磁盘阵列控制命令存取储存于系统存储器的第一数据以及第二数据;以及The disk array accelerator accesses the first data and the second data stored in the system memory according to the disk array control command; and 该磁盘阵列加速器根据该磁盘阵列控制命令对该第一数据以及该第二数据执行逻辑运算以得到第三数据,并将该第三数据写入该系统存储器。The disk array accelerator performs logic operations on the first data and the second data according to the disk array control command to obtain third data, and writes the third data into the system memory. 6.如权利要求5所述的磁盘阵列数据存取方法,其中该北桥芯片缓存器包含有存储器映像暂存区以及影像暂存区,其中窥视该存储器映像暂存区,当操作系统或外部指令对该存储器映像暂存区执行写入操作时,将该磁盘阵列控制命令自南桥芯片缓存器映像至该影像暂存区。6. The disk array data access method as claimed in claim 5, wherein the north bridge chip register includes a memory image temporary storage area and an image temporary storage area, wherein peeping at the memory image temporary storage area, when operating system or external command When performing a write operation on the memory image temporary storage area, the disk array control command is mapped from the south bridge chip buffer to the image temporary storage area. 7.如权利要求6所述的磁盘阵列数据存取方法,还包括将该磁盘阵列控制命令自南桥芯片缓存器映像至该影像暂存区,其中该影像暂存区使用存储器映像输出输入周期。7. The disk array data access method as claimed in claim 6, further comprising mapping the disk array control command from the south bridge chip buffer to the image temporary storage area, wherein the image temporary storage area uses a memory image output input cycle . 8.如权利要求5所述的磁盘阵列数据存取方法,其中当执行磁盘阵列数据写入功能时,中央处理器将该第一数据写入该系统存储器,利用一磁盘控制器将储存于磁盘阵列的该第二数据写入至该系统存储器,该磁盘阵列加速器将该第一数据以及该第二数据进行异或逻辑运算以得到奇偶数据,并使得该磁盘控制器使得该第一数据以及该奇偶数据写入该磁盘阵列中。8. The disk array data access method as claimed in claim 5, wherein when executing the disk array data writing function, the central processing unit writes the first data into the system memory, and utilizes a disk controller to store the data in the disk. The second data of the array is written into the system memory, and the disk array accelerator performs an XOR logical operation on the first data and the second data to obtain parity data, and makes the disk controller make the first data and the Parity data is written to the disk array. 9.如权利要求5所述的磁盘阵列数据存取方法,其中当执行磁盘阵列数据读取功能时,利用一磁盘控制器将储存于磁盘阵列的该第一数据以及该第二数据写入至该系统存储器,该磁盘阵列加速器将该第一数据以及该第二数据进行反异或逻辑运算以得到该第三数据,其中该第一数据为奇偶数据,其中中央处理器读取储存于该系统存储器的第三数据,而该磁盘控制器使得该第三数据写入该磁盘阵列中。9. The disk array data access method as claimed in claim 5, wherein when performing the disk array data read function, utilize a disk controller to write the first data and the second data stored in the disk array to The system memory, the disk array accelerator performs an inverse XOR logical operation on the first data and the second data to obtain the third data, wherein the first data is parity data, and the central processing unit reads and stores it in the system The third data of the memory, and the disk controller enables the third data to be written into the disk array.
CNB2006101435364A 2006-11-10 2006-11-10 chip set, north bridge chip and disk data access method Active CN100514271C (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2006101435364A CN100514271C (en) 2006-11-10 2006-11-10 chip set, north bridge chip and disk data access method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2006101435364A CN100514271C (en) 2006-11-10 2006-11-10 chip set, north bridge chip and disk data access method

Publications (2)

Publication Number Publication Date
CN1959620A CN1959620A (en) 2007-05-09
CN100514271C true CN100514271C (en) 2009-07-15

Family

ID=38071336

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2006101435364A Active CN100514271C (en) 2006-11-10 2006-11-10 chip set, north bridge chip and disk data access method

Country Status (1)

Country Link
CN (1) CN100514271C (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102609221B (en) * 2012-02-07 2015-07-08 无锡众志和达数据计算股份有限公司 Hardware RAID 5/6 memory system and data processing method
CN106873904B (en) * 2016-12-30 2020-02-14 深圳忆联信息系统有限公司 Data writing method and solid state disk
CN109189340B (en) * 2018-08-29 2021-11-09 上海兆芯集成电路有限公司 System and method for accessing redundant array of independent hard disks
CN112785483B (en) * 2019-11-07 2024-01-05 深南电路股份有限公司 Method and equipment for accelerating data processing

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5720025A (en) * 1996-01-18 1998-02-17 Hewlett-Packard Company Frequently-redundant array of independent disks
US6643822B1 (en) * 2000-05-23 2003-11-04 Hewlett-Packard Development Company, L.P. Computer system with greater than fifteen drive fault tolerance
CN1588300A (en) * 2004-08-09 2005-03-02 威盛电子股份有限公司 Device and related method for hard disk array parity operation

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5720025A (en) * 1996-01-18 1998-02-17 Hewlett-Packard Company Frequently-redundant array of independent disks
US6643822B1 (en) * 2000-05-23 2003-11-04 Hewlett-Packard Development Company, L.P. Computer system with greater than fifteen drive fault tolerance
CN1588300A (en) * 2004-08-09 2005-03-02 威盛电子股份有限公司 Device and related method for hard disk array parity operation

Also Published As

Publication number Publication date
CN1959620A (en) 2007-05-09

Similar Documents

Publication Publication Date Title
TWI566097B (en) Lba bitmap usage
TWI692690B (en) Method for accessing flash memory module and associated flash memory controller and electronic device
US8166233B2 (en) Garbage collection for solid state disks
US20210223979A1 (en) On-ssd-copy techniques using copy-on-write
KR102168193B1 (en) System and method for integrating overprovisioned memory devices
CN109697170B (en) Method for accessing flash memory module, related flash memory controller and electronic device
US11513689B2 (en) Dedicated interface for coupling flash memory and dynamic random access memory
CN109117383B (en) Method for managing flash memory module and flash memory controller
US11288183B2 (en) Operating method of memory system and host recovering data with write error
US20180089088A1 (en) Apparatus and method for persisting blocks of data and metadata in a non-volatile memory (nvm) cache
KR102835407B1 (en) Data storage device and operating method thereof
CN101246429B (en) Electronic systems using flash memory modules as main storage and related system booting methods
CN111338562A (en) Data storage device and data processing method
US12045163B2 (en) Storage device for classifying data based on stream class number, storage system, and operating method thereof
CN109840165B (en) Memory system and method of operating the same
TWI501244B (en) Data writing method, memory control circuit unit and memory storage apparatus
KR102815402B1 (en) Controller, operating method thereof and storage device including the same
US11526454B2 (en) Data storage device with an exclusive channel for flag checking of read data, and non-volatile memory control method
CN100514271C (en) chip set, north bridge chip and disk data access method
KR101629179B1 (en) Flash memory storage device and computing system including the same
TW202449616A (en) Memory device, flash memory controller and associated control method
TWI503841B (en) Writing method, memory controller and memory storage device
KR102836067B1 (en) Controller, memory system and operating method thereof
TW201337553A (en) Data writing method, memory controller and memory storage apparatus
CN100416484C (en) Core logic unit with disk array control function and disk array control method

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