CN100514271C - chip set, north bridge chip and disk data access method - Google Patents
chip set, north bridge chip and disk data access method Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims description 9
- 238000012545 processing Methods 0.000 claims abstract description 16
- 230000006870 function Effects 0.000 claims abstract description 12
- 238000013507 mapping Methods 0.000 claims description 6
- 244000144985 peep Species 0.000 claims description 3
- 208000008918 voyeurism Diseases 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Images
Landscapes
- Signal Processing For Digital Recording And Reproducing (AREA)
Abstract
Description
技术领域 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
在图1中,假设磁盘阵列130是由3个磁盘所组成,包括有磁盘132、134以及136。南桥芯片108中包含有一磁盘控制器110,用以分别控制磁盘132、134以及136的存储。而北桥芯片104耦接于南桥芯片108、系统存储器106以及中央处理器102之间。In FIG. 1 , it is assumed that the
图1中所示的磁盘控制器110可为集成驱动电子(Integrated DriverElectronic,IDE)或是高级主机控制器(Advanced Host Controller,AHC)。系统存储器106可为动态随机存取存储器(Dynamic Random Access Memory,DRAM)。The
图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
如上述的例子中可以发现到中央处理器106必需处理几乎所有的步骤,如此会使得计算机系统的整体效能变差。As in the above example, it can be found that the
发明内容 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
在图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
图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
由上述可知在南桥芯片308中置入一个磁盘阵列加速器可使得中央处理器302的负载降低进而提升计算机系统300的效能。但由于数据不断透过北桥芯片304与南桥芯片306间的总线传送,因此也占用了其总线的频宽。From the above, it can be known that embedding a disk array accelerator in the
图5显示为本发明另一计算机系统500的示意图。计算机系统500包括有:磁盘阵列530、芯片组570、系统存储器506以及中央处理器502。FIG. 5 is a schematic diagram of another
在图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 ,
本发明图3中由于磁盘阵列加速器350位于南桥芯片308中,因此磁盘阵列加速器350可以很容易的根据储存于南桥芯片缓存器(图中未显示)中相关控制指令的设定而执行RAID的功能。In Fig. 3 of the present invention, because the
而在本发明图5中由于磁盘阵列加速器550置于北桥芯片504,因此在执行RAID功能之前必需先将磁盘阵列加速器550相关的控制命令由南桥芯片缓存器512复制到北桥芯片缓存器560,以提供给磁盘阵列加速器550使用。And in Fig. 5 of the present invention, because the
为了复制相关的控制指令至北桥芯片缓存器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
为了更具体的说明本发明,请参考图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
首先中央处理器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
图7所示为本发明另一实施例计算机系统500执行RAID数据读取示例的流程图700。FIG. 7 is a
首先磁盘控制器510将储存于磁盘532中的数据D1经过南桥芯片508与北桥芯片504而储存至系统存储器506(步骤S701)。接着判断数据D1是否为正确的数据(步骤S702)。如果数据D1为正确的数据,则中央处理器502直接读取储存于系统存储器506中的数据D1(步骤S703)。Firstly, the
如果数据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
由上述可以发现由于本发明将磁盘阵列加速器550置于北桥芯片504中,如此可以减少数据在北侨芯片504与南桥芯片506间的总线传送,使得总线的频宽可以释放,进而也减少了读取系统存储器数据506的等待时间(latency)。From the above, it can be found that because the present invention places the
本发明虽以较佳实施例公开如上,但其并非用以限定本发明的范围,任何本领域的技术人员,在不脱离本发明的精神和范围内,当可做些许的更动与润饰,因此本发明的保护范围当视后附的权利要求书所界定者为准。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)
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)
| 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)
| 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 |
-
2006
- 2006-11-10 CN CNB2006101435364A patent/CN100514271C/en active Active
Patent Citations (3)
| 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 |