CN1959620A - 芯片组、北桥芯片以及磁盘数据存取方法 - Google Patents

芯片组、北桥芯片以及磁盘数据存取方法 Download PDF

Info

Publication number
CN1959620A
CN1959620A CN 200610143536 CN200610143536A CN1959620A CN 1959620 A CN1959620 A CN 1959620A CN 200610143536 CN200610143536 CN 200610143536 CN 200610143536 A CN200610143536 A CN 200610143536A CN 1959620 A CN1959620 A CN 1959620A
Authority
CN
China
Prior art keywords
data
disk array
north bridge
working area
bridge chips
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.)
Granted
Application number
CN 200610143536
Other languages
English (en)
Other versions
CN100514271C (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 CNB2006101435364A priority Critical patent/CN100514271C/zh
Publication of CN1959620A publication Critical patent/CN1959620A/zh
Application granted granted Critical
Publication of CN100514271C publication Critical patent/CN100514271C/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

一种用于冗余磁盘阵列数据存取的芯片组,连结于中央处理器、系统存储器以及磁盘阵列间。北桥芯片连接于中央处理器以及系统存储器间,包含有磁盘阵列加速器,用以执行磁盘阵列数据存取的功能。南桥芯片连接于北桥芯片以及磁盘阵列间,用以存取磁盘阵列的数据。

Description

芯片组、北桥芯片以及磁盘数据存取方法
技术领域
本发明是有关于一种计算机系统,且特别是有关于一种冗余磁盘阵列的计算机系统。
背景技术
为了提供更大的容量、更高的读写效能,或是安全性,现代的计算机系统通常都支持冗余磁盘阵列(Redundant Array of Independent Disks,RAID)的功能。简单的来说,RAID就是将数个磁盘利用阵列的方式来作磁盘组,配合数据分散排列的设计,提升数据的安全性。同时储存数据的时候,可将数据切割成许多区段在分别储存于各个磁盘中,因此利用各磁盘分别提供数据的加成效果,可以提升整个计算机系统的效能。此外RAID还可以利用奇偶校验(parity check),使得再阵列中的任何一颗磁盘损坏时,仍可读出数据。
图1显示一冗余磁盘阵列的计算机系统100的示意图。计算机系统100包括有磁盘阵列130、南桥芯片108、北桥芯片104、系统存储器106以及中央处理器102。
在图1中,假设磁盘阵列130是由3个磁盘所组成,包括有磁盘132、134以及136。南桥芯片108中包含有一磁盘控制器110,用以分别控制磁盘132、134以及136的存储。而北桥芯片104耦接于南桥芯片108、系统存储器106以及中央处理器102之间。
图1中所示的磁盘控制器110可为集成驱动电子(Integrated DriverElectronic,IDE)或是高级主机控制器(Advanced Host Controller,AHC)。系统存储器106可为动态随机存取存储器(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)。
如上述的例子中可以发现到中央处理器106必需处理几乎所有的步骤,如此会使得计算机系统的整体效能变差。
发明内容
本发明提供一种用于冗余磁盘阵列数据存取的芯片组,该芯片组连结于一中央处理器,一系统存储器以及一磁盘阵列间,该芯片组包括:一北桥芯片,连接于该中央处理器以及该系统存储器间,包含有一磁盘阵列加速器用以执行磁盘阵列数据存取的功能;以及一南桥芯片,连接于该北桥芯片以及该磁盘阵列间,用以存取该磁盘阵列的数据。
再者,本发明提供一种用于冗余磁盘阵列数据存取的北桥芯片,该北桥芯片连结于一中央处理器,一系统存储器间,该北桥芯片透过一南桥芯片连结至一磁盘阵列,该北桥芯片包括:一磁盘阵列加速器,用以根据一磁盘阵列控制命令执行磁盘阵列数据存取的功能;以及一北桥芯片缓存器,用以储存该磁盘阵列控制命令。
再者,本发明提供一种磁盘阵列数据存取方法,包含有:将一磁盘阵列控制命令映像至一北桥芯片缓存器中;一磁盘阵列加速器根据该磁盘阵列控制命令存取储存于该系统存储器的一第一数据以及一第二数据;以及该磁盘阵列加速器根据该磁盘阵列控制命令对该第一数据以及该第二数据执行逻辑运算以得到一第三数据,并将该第三数据写入该系统存储器。
附图说明
图1是显示一支持RAID的计算机系统示意图。
图2是显示一执行RAID数据写入的流程图。
图3是显示本发明一支持RAID的计算机系统示意图。
图4是显示本发明一执行RAID数据写入的流程图。
图5是显示本发明另一支持RAID的计算机系统示意图。
图6是显示本发明另一执行RAID数据写入的流程图。
图7是显示本发明一执行RAID数据读取的流程图。
主要组件符号说明
100、300、500~计算机系统
102、302、502~中央处理器
104、304、504~北桥芯片
106、306、506~系统存储器
108、308、508~南桥芯片
110、310、510~磁盘控制器
130、330、530~磁盘阵列
350、550~磁盘阵列加速器
132、134、136、332、334、336、532、534、536~磁盘
512~南桥芯片缓存器
560~北桥芯片缓存器
562~存储器映像暂存区
564~影像暂存区
具体实施方式
为使本发明的上述和其它目的、特征、和优点能更明显易懂,下文特举出较佳实施例,并配合附图,作详细说明如下。
图3是显示本发明一计算机系统300的示意图。计算机系统300包括有:磁盘阵列330、南桥芯片308、北桥芯片304、系统存储器306以及中央处理器302。
在图3中,假设磁盘阵列330是由3个磁盘所组成,包括有磁盘332、334以及336。南桥芯片308中包含有一个磁盘控制器310用以控制磁盘332、334以及336的存储,以及一个磁盘阵列加速器(RAIDA)350用以执行磁盘阵列的功能。北桥芯片304耦接于南桥芯片308、系统存储器306以及中央处理器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)。
由上述可知在南桥芯片308中置入一个磁盘阵列加速器可使得中央处理器302的负载降低进而提升计算机系统300的效能。但由于数据不断透过北桥芯片304与南桥芯片306间的总线传送,因此也占用了其总线的频宽。
图5显示为本发明另一计算机系统500的示意图。计算机系统500包括有:磁盘阵列530、芯片组570、系统存储器506以及中央处理器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用以暂存相关的控制命令。
本发明图3中由于磁盘阵列加速器350位于南桥芯片308中,因此磁盘阵列加速器350可以很容易的根据储存于南桥芯片缓存器(图中未显示)中相关控制指令的设定而执行RAID的功能。
而在本发明图5中由于磁盘阵列加速器550置于北桥芯片504,因此在执行RAID功能之前必需先将磁盘阵列加速器550相关的控制命令由南桥芯片缓存器512复制到北桥芯片缓存器560,以提供给磁盘阵列加速器550使用。
为了复制相关的控制指令至北桥芯片缓存器560,北桥芯片504会窥视(snoop)北桥芯片缓存器560中储存关于磁盘控制器510相关控制命令的存储器映像暂存区562,当操作系统或其它外部指令对存储器映像暂存区562执行写入操作的时候,北桥芯片504将南桥芯片缓存器512中储存关于磁盘阵列加速器550的磁盘阵列控制命令映像(mapping)到北桥芯片缓存器560的影像暂存区(shadow register)564中。而影像暂存区564可以是北桥芯片暂存区560中的特定区域,例如可以使用存储器映像输出输入周期(MMIO cycle)的区域。
为了更具体的说明本发明,请参考图6,其所示为计算机系统500执行RAID数据写入示例的流程图600。
首先中央处理器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)。
图7所示为本发明另一实施例计算机系统500执行RAID数据读取示例的流程图700。
首先磁盘控制器510将储存于磁盘532中的数据D1经过南桥芯片508与北桥芯片504而储存至系统存储器506(步骤S701)。接着判断数据D1是否为正确的数据(步骤S702)。如果数据D1为正确的数据,则中央处理器502直接读取储存于系统存储器506中的数据D1(步骤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)。
由上述可以发现由于本发明将磁盘阵列加速器550置于北桥芯片504中,如此可以减少数据在北侨芯片504与南桥芯片506间的总线传送,使得总线的频宽可以释放,进而也减少了读取系统存储器数据506的等待时间(latency)。
本发明虽以较佳实施例公开如上,但其并非用以限定本发明的范围,任何本领域的技术人员,在不脱离本发明的精神和范围内,当可做些许的更动与润饰,因此本发明的保护范围当视后附的权利要求书所界定者为准。

Claims (14)

1.一种用于冗余磁盘阵列数据存取的芯片组,该芯片组连结于中央处理器、系统存储器以及磁盘阵列间,该芯片组包括:
北桥芯片,连接于该中央处理器以及该系统存储器间,包含有磁盘阵列加速器用以执行磁盘阵列数据存取的功能;以及
南桥芯片,连接于该北桥芯片以及该磁盘阵列间,用以存取该磁盘阵列的数据。
2.如权利要求1所述的芯片组,其中该北桥芯片还包含北桥芯片缓存器,包含有:存储器映像暂存区,用以储存磁盘控制器控制命令;以及影像暂存区,用以储存磁盘阵列控制命令,该磁盘阵列加速器根据该磁盘阵列控制命令执行磁盘阵列数据存取的功能。
3.如权利要求2所述的芯片组,其中该影像暂存区使用存储器映像输出输入周期,该北桥芯片窥视该存储器映像暂存区,当操作系统或外部指令对该存储器映像暂存区执行写入操作时,该北桥芯片将储存于该南桥芯片的该磁盘阵列加速器的控制命令映像到该影像暂存区。
4.如权利要求1所述的芯片组,其中该南桥芯片包含:磁盘控制器,用以控制该磁盘阵列的数据存取;以及南桥芯片缓存器,用以储存该磁盘阵列控制命令。
5.如权利要求1所述的芯片组,其中当执行磁盘阵列数据存取功能时,该磁盘阵列加速器存取储存于该系统存储器的第一数据以及第二数据,并对该第一数据以及该第二数据执行逻辑运算以得到奇偶数据。
6.一种用于冗余磁盘阵列数据存取的北桥芯片,该北桥芯片连结于中央处理器、系统存储器间,该北桥芯片透过南桥芯片连结至磁盘阵列,该北桥芯片包括:
磁盘阵列加速器,用以根据磁盘阵列控制命令执行磁盘阵列数据存取的功能;以及
北桥芯片缓存器,用以储存该磁盘阵列控制命令。
7.如权利要求6所述的北桥芯片,其中该北桥芯片缓存器包含有影像暂存区,用以储存该磁盘阵列控制命令;以及存储器映像暂存区,用以储存磁盘控制器控制命令。
8.如权利要求7所述的北桥芯片,其中该影像暂存区使用存储器映像输出输入周期;该北桥芯片窥视该存储器映像暂存区,当操作系统或外部指令对该存储器映像暂存区执行写入操作时,该北桥芯片将原本储存于南桥芯片缓存器的该磁盘阵列控制命令映像到该影像暂存区。
9.如权利要求6所述的北桥芯片,其中当执行磁盘阵列数据存取功能时,该磁盘阵列加速器存取储存于该系统存储器的第一数据以及第二数据,并对该第一数据以及该第二数据执行逻辑运算以得到奇偶数据。
10.一种磁盘阵列数据存取方法,包含有:
将磁盘阵列控制命令映像至北桥芯片缓存器中;
磁盘阵列加速器根据该磁盘阵列控制命令存取储存于该系统存储器的第一数据以及第二数据;以及
该磁盘阵列加速器根据该磁盘阵列控制命令对该第一数据以及该第二数据执行逻辑运算以得到第三数据,并将该第三数据写入该系统存储器。
11.如权利要求10所述的磁盘阵列数据存取方法,其中该北桥芯片缓存器包含有存储器映像暂存区以及影像暂存区,其中窥视该存储器映像暂存区,当操作系统或外部指令对该存储器映像暂存区执行写入操作时,将该磁盘阵列控制命令映像至该影像暂存区。
12.如权利要求11所述的磁盘阵列数据存取方法,还包括将该磁盘阵列控制命令自南桥芯片缓存器映像至该影像暂存区,其中该影像暂存区使用存储器映像输出输入周期。
13.如权利要求10所述的磁盘阵列数据存取方法,其中当执行磁盘阵列数据写入功能时,中央处理器将该第一数据写入该系统存储器,磁盘控制器将储存于磁盘阵列的该第二数据写入至该系统存储器,该磁盘阵列加速器将该第一数据以及该第二数据进行异或逻辑运算以得到奇偶数据,并使得该磁盘控制器使得该第一数据以及该奇偶数据写入该磁盘阵列中。
14.如权利要求10所述的磁盘阵列数据存取方法,其中当执行磁盘阵列数据读取功能时,磁盘控制器将储存于磁盘阵列的该第一数据以及该第二数据写入至该系统存储器,该磁盘阵列加速器将该第一数据以及该第二数据进行反异或逻辑运算以得到该第三数据,其中该第一数据为奇偶数据,其中中央处理器读取储存于该系统存储器的第三数据,而该磁盘控制器使得该第三数据写入该磁盘阵列中。
CNB2006101435364A 2006-11-10 2006-11-10 芯片组、北桥芯片以及磁盘数据存取方法 Active CN100514271C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2006101435364A CN100514271C (zh) 2006-11-10 2006-11-10 芯片组、北桥芯片以及磁盘数据存取方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2006101435364A CN100514271C (zh) 2006-11-10 2006-11-10 芯片组、北桥芯片以及磁盘数据存取方法

Publications (2)

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

Family

ID=38071336

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2006101435364A Active CN100514271C (zh) 2006-11-10 2006-11-10 芯片组、北桥芯片以及磁盘数据存取方法

Country Status (1)

Country Link
CN (1) CN100514271C (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102609221A (zh) * 2012-02-07 2012-07-25 无锡众志和达存储技术有限公司 一种硬件raid5/6存储系统的架构及数据处理方法
CN106873904A (zh) * 2016-12-30 2017-06-20 北京联想核芯科技有限公司 数据写入方法及固态硬盘
CN109189340A (zh) * 2018-08-29 2019-01-11 上海兆芯集成电路有限公司 用于存取独立硬盘冗余阵列的系统与方法
CN112785483A (zh) * 2019-11-07 2021-05-11 深南电路股份有限公司 一种数据处理加速的方法及设备

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102609221A (zh) * 2012-02-07 2012-07-25 无锡众志和达存储技术有限公司 一种硬件raid5/6存储系统的架构及数据处理方法
CN102609221B (zh) * 2012-02-07 2015-07-08 无锡众志和达数据计算股份有限公司 一种硬件raid5/6存储系统及数据处理方法
CN106873904A (zh) * 2016-12-30 2017-06-20 北京联想核芯科技有限公司 数据写入方法及固态硬盘
CN106873904B (zh) * 2016-12-30 2020-02-14 深圳忆联信息系统有限公司 数据写入方法及固态硬盘
CN109189340A (zh) * 2018-08-29 2019-01-11 上海兆芯集成电路有限公司 用于存取独立硬盘冗余阵列的系统与方法
CN109189340B (zh) * 2018-08-29 2021-11-09 上海兆芯集成电路有限公司 用于存取独立硬盘冗余阵列的系统与方法
CN112785483A (zh) * 2019-11-07 2021-05-11 深南电路股份有限公司 一种数据处理加速的方法及设备
CN112785483B (zh) * 2019-11-07 2024-01-05 深南电路股份有限公司 一种数据处理加速的方法及设备

Also Published As

Publication number Publication date
CN100514271C (zh) 2009-07-15

Similar Documents

Publication Publication Date Title
US10037158B2 (en) Vertically integrated storage
US8316178B2 (en) Buffering of data transfers for direct access block devices
US8166233B2 (en) Garbage collection for solid state disks
EP2382547B1 (en) Logical address offset
US8788876B2 (en) Stripe-based memory operation
CN110083545B (zh) 数据存储装置及其操作方法
US8250403B2 (en) Solid state disk device and related data storing and reading methods
CN110955610A (zh) 操作存储装置的方法、存储装置和存储系统
CN1959620A (zh) 芯片组、北桥芯片以及磁盘数据存取方法
CN1282067C (zh) 进行硬盘阵列同位运算的装置与相关方法
US20220058136A1 (en) Method and system for a solid state drive with on-chip memory integration
TWI747191B (zh) 資料儲存裝置與資料處理方法
CN112231240A (zh) 控制器、存储器系统及其操作方法
US7886310B2 (en) RAID control method and core logic device having RAID control function
US12038848B1 (en) Compression of logical-to-physical address indirection table on solid-state drives
US7805567B2 (en) Chipset and northbridge with raid access
KR20200125216A (ko) 데이터 저장 장치, 이를 포함하는 전자 장치 및 데이터 저장 장치의 동작 방법

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