用以提高读取效率的磁盘阵列1系统及读取方法

文档序号:6470129阅读:168来源:国知局
专利名称:用以提高读取效率的磁盘阵列1系统及读取方法
技术领域
本发明有关一种磁盘阵列系统及相关读取方法,尤指一种用以提高读取效率的磁盘阵列1系统及相关读取方法。
背景技术
随着数据处理量的日益增加以及数据数字化的趋势,如何建构一个高可用性
(HIGH AVAILABILITY)、高效能(HIGH PERFORMANCE)及大容量(HIGH VOLUME)的储存系统己成为一重要课题。目前,在电脑系统中,磁盘阵列(REDUND認T ARRAY OFINDEPENDENT DISKS, RAID)系统是常采用的储存系统之一,而磁盘阵列系统即用以提供高可用性、高效能及大容量的数据储存空间给主机端(HOST ENTITY)。
磁盘阵列系统根据其操作模式可分类为磁盘阵列等级0, 1, 2, 3, 4, 5, 6,或7等,目前大部分的电脑操作系统均有支持磁盘阵列等级0及1系统,其它等级的磁盘阵列系统往往需要额外的磁盘驱动器控制卡支持。因此,就低系统复杂度的应用而言,最为普罗大众所接受的即为磁盘阵列等级0及1系统。磁盘阵列0系统不提供容错能力,数据分散储存于磁盘阵列中,也就是说,数据的储存或读取操作是以平行处理模式进行,所以具有高速数据存取的优点,但没有提供任何数据储存安全机制,所以若任何一个硬盘机损毁,则数据也随之消失。
磁盘阵列1系统是将数据同时储存于二硬盘机,换句话说,二硬盘机储存相同的数据,当有一硬盘机损坏而无法读取数据时,可由另一硬盘机读取数据,而损坏的硬盘机更新后,新的硬盘机就可由另一硬盘机备份数据。虽然,磁盘阵列l系统将相同的数据储存在二个硬盘机内,使储存空间的实际利用率只有50%,但能在低系统复杂度的应用需求下,提供1:1的数据安全保护机制,所以是最为普罗大众所接受的磁盘阵列系统。
请参考图1,图1是显示己知的磁盘阵列1系统100的功能方块示意图。磁盘阵列1系统IOO包含耦接至一主机110的一磁盘阵列控制器(RAID CONTROLLER) 120以及连接至磁盘阵列控制器120的一磁盘阵列180,磁盘阵列180包含二硬盘机(HARD DISK DRIVE, HDD) 183、 186,磁盘阵列控制器120包含耦接至主机110的一 总线接口 130、耦接至总线接口 130的一中央处理单元140及耦接至中央处理单元 140的一数据暂存单元150。磁盘阵列1系统100必须先进行磁盘阵列建立(RAID CREATION)的过程以定义磁盘阵列180,完成后再呈现给主机110,此时可称为磁盘 阵列180相对于主机110存在(可使用,AVAILABLE),主机110也就可以开始存取 (ACCESS)数据于磁盘阵列180。
当主机110要将数据写入磁盘阵列180时,磁盘阵列控制器120接收来自主机 的数据后,会将数据依序写入二硬盘机183、 186。当主机110要从磁盘阵列180 读出数据时,磁盘阵列控制器120会先检测是否有失效硬盘机,若二硬盘机183 及186皆未失效,则可从任一硬盘机依序读出数据,若硬盘机183失效,则从硬盘 机186依序读出数据,若硬盘机186失效,则从硬盘机183依序读出数据。也就是 说,写入数据时,是将相同数据写入二硬盘机183、 186,读出数据时,是从其中 一未失效的硬盘机读出数据。所以,磁盘阵列1系统的数据存取速度远低于磁盘 阵列O系统的平行处理模式的数据存取速度。

发明内容
依据本发明一方面的一种用以提高读取效率的磁盘阵列l(RAIDl)系统,此系 统包含一磁盘阵列1控制器(RAID1 CONTROLLER)、 一第一储存装置及一第二储存装 置。第一储存装置耦合于磁盘阵列1控制器,第一储存装置包含一读取装置,用来 于接收到磁盘阵列1控制器传来的一奇数地址数据读取指令时,从第一储存装置的 数据内容中,略过储存于偶数地址的数据而循序地读取储存于奇数地址的数据。第 二储存装置耦合于磁盘阵列1控制器,第二储存装置包含一读取装置,用来于接收 到磁盘阵列1控制器传来的一偶数地址数据读取指令时,从第二储存装置的数据内 容中,略过储存于奇数地址的数据而循序地读取储存于偶数地址的数据。
依据本发明另一方面的一种用以提高磁盘阵列1读取效率的储存装置,此储存 装置包含一储存媒介及一读取装置。读取装置是用来于接收到一奇数地址数据读取 指令时,从储存媒介的数据内容中,略过储存于偶数地址的数据,而以数据区块为 基本读取单位循序地读取储存于奇数地址的数据,读取装置也可用来于接收到一偶
数地址数据读取指令时,从储存媒介的数据内容中,略过储存于奇数地址的数据, 而以数据区块为基本读取单位循序地读取储存于偶数地址的数据,读取装置另可用 来于接收到一循序地址数据读取指令时,从储存媒介的数据内容中,以数据区块为基本读取单位循序地读取数据,其中数据区块是预设切割储存空间的数据内容。
依据本发明又一方面的一种用以提高读取效率的磁盘阵列1读取方法,此方法 包含送一奇数地址数据读取指令至一第一储存装置,送一偶数地址数据读取指令至 一第二储存装置,于第一储存装置接收到奇数地址数据读取指令后,从第一储存装 置的数据内容中,以略过储存于偶数地址的数据的方式,循序地读取储存于奇数地 址的数据以产生一第一数据流,于第二储存装置接收到偶数地址数据读取指令后, 从第二储存装置的数据内容中,以略过储存于奇数地址的数据的方式,循序地读取 储存于偶数地址的数据以产生一第二数据流,以及执行第一数据流及第二数据流的 数据组合处理以产生一读出数据流。


图1显示已知的磁盘阵列1系统的功能方块示意图。
图2显示依本发明实施例的磁盘阵列1系统的功能方块示意图。 图3显示图2的磁盘阵列1系统的读取方法的流程图。
具体实施例方式
为让本发明的目的、特征和优点更显而易懂,下文依本发明的磁盘阵列l系统 及读取方法,特举实施例配合附图作详细说明,但所提供的实施例并不用以限制本 发明所涵盖的技术范围,而方法流程步骤编号更非用以限制其执行先后次序,任何 由方法步骤重新组合的执行流程,所产生的具有提高读取效率的磁盘阵列1读取方 法,均为本发明所涵盖的技术范围。
请参考图2,图2是显示依本发明实施例的磁盘阵列1系统200的功能方块示 意图。磁盘阵列1系统200包含一磁盘阵列控制器220,以及耦接至磁盘阵列控制 器220的一磁盘阵列280。磁盘阵列280包含一第一硬盘机283及一第二硬盘机286, 第一硬盘机283包含一读取装置284及一磁盘285,第二硬盘机286包含一读取装 置287及一磁盘288。
磁盘阵列控制器220包含一总线接口 230、耦接于总线接口 230的一中央处理 单元240、耦接于中央处理单元240的一数据暂存单元250、耦接于数据暂存单元 250的一数据组合单元260、耦接于中央处理单元240的一第一连接端口 265以及 耦接于中央处理单元240的一第二连接端口 270,在磁盘阵列l系统200中,第一 连接端口 265另耦接于第一硬盘机283,第二连接端口 270另耦接于第二硬盘机286,而总线接口 230则可耦接于一主机210。
总线接口 230可为一串行式ATA (SERIAL ADVANCED TECHNOLOGY ATTACHMENT, SATA)接口、 一通用串行总线(UNIVERSAL SERIAL BUS, USB)接口、 一 SAS (SERIAL ATTACHED SMALL COMPUTER SYSTEM INTERFACE, SERIAL ATTACHED SCSI)接口、一 IEEE-1394接口、或一ESATA接口。第一连接端口 265可为一 SATA接口连接端口 、 一USB连接端口、 一SAS接口连接端口、 一 IEEE-1394连接端口、或一 ESATA连接 端口,第二连接端口 270也可为一 SATA接口连接端口、 一USB连接端口、 一 SAS 接口连接端口、 一 IEEE-1394连接端口、或一 ESATA连接端口。第一硬盘机283 可为一 SATA硬盘机或一 SAS硬盘机,第二硬盘机286也可为一 SATA硬盘机或一 SAS硬盘机。
中央处理单元240可送出的读取指令包含一数据读取指令、一奇数地址数据读 取指令及一偶数地址数据读取指令,第一硬盘机283的读取装置284可执行的读取 指令包含数据读取指令、奇数地址数据读取指令及偶数地址数据读取指令,第二硬 盘机286的读取装置287可执行的读取指令也包含数据读取指令、奇数地址数据读 取指令及偶数地址数据读取指令。奇数地址数据读取指令及偶数地址数据读取指令 可为以数据区块为基本读取单位的读取指令。请注意,在本文叙述中,"数据区块" 是用以表示预设切割储存空间的数据内容。对图2以硬盘机作为储存装置的实施例 而言,当"数据区块"的储存空间为l个扇区(SECTOR)时,奇数地址数据是储存于 第l、 3、 5等扇区的数据,偶数地址数据是储存于第2、 4、 6等扇区的数据,当"数 据区块"的储存空间为2个扇区时,奇数地址数据是储存于第1-2、 5-6、 9-IO等 扇区的数据,偶数地址数据是储存于第3-4、 7-8、 11-12等扇区的数据。
当主机210要读取磁盘阵列280所储存的数据时,若第一硬盘机283被检测为 一失效硬盘机,则磁盘阵列控制器220送出一数据读取指令至第二硬盘机286的读 取装置287,读取装置287即从磁盘288的数据内容中,循序地读取数据。同理, 当主机210要读取磁盘阵列280所储存的数据时,若第二硬盘机286被检测为一失 效硬盘机,则磁盘阵列控制器220送出一数据读取指令至第一硬盘机283的读取装 置284,读取装置284即从磁盘285的数据内容中,循序地读取数据。
当第一硬盘机283的读取装置284接收到磁盘阵列控制器220传来的一奇数地 址数据读取指令时,读取装置284即从磁盘285的数据内容中,略过储存于偶数地 址的数据,而以数据区块为基本读取单位循序地读取储存于奇数地址的数据。当第 一硬盘机283的读取装置284接收到磁盘阵列控制器220传来的一偶数地址数据读取指令时,读取装置284即从磁盘285的数据内容中,略过储存于奇数地址的数据, 而以数据区块为基本读取单位循序地读取储存于偶数地址的数据。
同理,当第二硬盘机286的读取装置287接收到磁盘阵列控制器220传来的一 奇数地址数据读取指令时,读取装置287即从磁盘288的数据内容中,略过储存于 偶数地址的数据,而以数据区块为基本读取单位循序地读取储存于奇数地址的数 据。当第二硬盘机286的读取装置287接收到磁盘阵列控制器220传来的一偶数地 址数据读取指令时,读取装置287即从磁盘288的数据内容中,略过储存于奇数地 址的数据,而以数据区块为基本读取单位循序地读取储存于偶数地址的数据。
所以,当主机210要读取磁盘阵列280所储存的数据时,若第一硬盘机283 及第二硬盘机286均未失效,则磁盘阵列控制器220的中央处理单元240可送出一 奇数地址数据读取指令至第一硬盘机283的读取装置284,及送出一偶数地址数据 读取指令至第二硬盘机286的读取装置287,读取装置284即从磁盘285的数据内 容中,略过储存于偶数地址的数据,而以数据区块为基本读取单位循序地读取储存 于奇数地址的数据以形成一第一数据流,读取装置287即从磁盘288的数据内容中, 略过储存于奇数地址的数据,而以数据区块为基本读取单位循序地读取储存于偶数 地址的数据以形成一第二数据流,第一数据流及第二数据流可依序储存于数据暂存 单元250,再经数据组合单元260将第一数据流及第二数据流依序组合成一读出数 据流输出至主机210。
在另一实施例中,可利用中央处理单元240执行第一数据流及第二数据流的数 据组合处理以产生读出数据流,也就是说,数据组合单元260可省略。但,若在磁 盘阵列控制器220内包含数据组合单元260,用以专责执行数据组合处理,则可提 高数据处理效率,尤其在涉及大量数据读取或多任务处理时,利用数据组合单元 260以辅助中央处理单元240执行信号处理,可显著提高系统操作效能。此外,当 主机210要读取磁盘阵列280所储存的数据时,若第一硬盘机283及第二硬盘机 286均未失效,则中央处理单元240也可输出一偶数地址数据读取指令至第一硬盘 机283,及输出一奇数地址数据读取指令至第二硬盘机286,其余工作原理同上所 述。
请参考图3,图3是配合图2的磁盘阵列l系统,以显示依本发明的磁盘阵列 1读取方法300的流程图。磁盘阵列1读取方法300的流程包含下列步骤
步骤S310:磁盘阵列控制器220检测是否有来自主机210的指令,若是,则 执行步骤S315,否则,执行步骤S310;
10步骤S315:判断来自主机210的指令是否为一读取指令,若是,则执行步骤 S325,否则,执行步骤S320;
步骤S320:执行来自主机210的指令,执行步骤S310;
步骤S325:检测第一硬盘机283及第二硬盘机286是否有一失效硬盘机,若 是,则执行步骤S350,否则,执行步骤S330;
步骤S330:检测第一硬盘机283及第二硬盘机286是否均支持奇数地址数据 读取指令及偶数地址数据读取指令,若是,则执行步骤S335,否则,执行步骤S350;
步骤S335:磁盘阵列控制器220送出奇数地址数据读取指令至第一硬盘机283, 及送出偶数地址数据读取指令至第二硬盘机286;
步骤S340:第一硬盘机283的读取装置284从磁盘285中,循序地读出储存 于奇数地址的数据,以产生第一数据流传送至磁盘阵列控制器220,第二硬盘机286 的读取装置287从磁盘288中,循序地读出储存于偶数地址的数据,以产生第二数 据流传送至磁盘阵列控制器220;
步骤S345:磁盘阵列控制器220执行第一数据流及第二数据流的数据组合处 理以产生一读出数据流,执行步骤S360;
步骤S350:磁盘阵列控制器220送出数据读取指令至未失效的第一硬盘机283 或第二硬盘机286;
步骤S355:未失效的第一硬盘机283或第二硬盘机286的读取装置284或287 执行数据读取指令,从磁盘285或288循序地读取数据,用以输出一读出数据流至 磁盘阵列控制器220;以及
步骤S360:磁盘阵列控制器220将读出数据流传送至主机210,执行步骤S310。
在上述磁盘阵列1读取方法300的流程中,步骤S330所述的检测第一硬盘机 283及第二硬盘机286是否均支持奇数地址数据读取指令及偶数地址数据读取指 令,若是,则执行步骤S335,否则,执行步骤S350,是可变更为检测第一硬盘机 283是否支持奇数地址数据读取指令,及检测第二硬盘机286是否支持偶数地址数 据读取指令,若第一硬盘机283支持奇数地址数据读取指令且第二硬盘机286支持 偶数地址数据读取指令,则执行步骤S335,否则,执行步骤S350。
步骤S340所述的循序地读出储存于奇数地址的数据,是以数据区块为基本读 取单位,并以略过储存于偶数地址的数据的方式,循序地读出储存于奇数地址的数 据,而步骤S340所述的循序地读出储存于偶数地址的数据,是以数据区块为基本 读取单位,并以略过储存于奇数地址的数据的方式,循序地读出储存于偶数地址的数据。
步骤S350所述的磁盘阵列控制器220送出数据读取指令至未失效的第一硬盘 机283或第二硬盘机286,是当第一硬盘机283失效时,送出数据读取指令至未失 效的第二硬盘机286,当第二硬盘机286失效时,送出数据读取指令至未失效的第 一硬盘机283。
步骤S355所述的未失效的第一硬盘机283或第二硬盘机286的读取装置284 或287执行数据读取指令,是当第一硬盘机283失效时,未失效的第二硬盘机286 的读取装置287执行数据读取指令,当第二硬盘机286失效时,未失效的第一硬盘 机283的读取装置284执行数据读取指令。
请注意,在上述对本发明的用以提高读取效率的磁盘阵列1系统及读取方法的 实施方式说明中,虽然使用硬盘机作为磁盘阵列1系统的储存装置实施例,但本发 明的磁盘阵列1系统并不限于使用硬盘机,也适用于使用其它类型的储存装置,譬 如固态存储装置(SSD, SOLID STATE DRIVE)或基于倍数据传输率随机存取存储器 (DOUBLE DATA RATE RANDOM ACCESS MEMORY)的储存装置(I-RAM),而储存装置的储 存媒介则可为闪存(FLASH MEMORY)或倍数据传输率随机存取存储器。
由上述可知,依本发明的磁盘阵列1系统及读取方法,在执行数据读取时,于 二储存装置皆未失效状态下,并非以传统的磁盘阵列l读取方式,而是利用新引入 的奇数地址数据读取指令及偶数地址数据读取指令,分别从二储存装置以平行处理 模式进行数据读取,也就是说,具有磁盘阵列O系统的高读取效率。因此,依本发 明的磁盘阵列1系统,不但提供1:1的数据安全保护机制,也提供高效率的数据读 取机制,虽然数据写入机制并没有因系统改良而提高效率,但对一般电脑系统使用 者而言,执行数据读取比执行数据写入更常操作,所以,整体操作效率是有显著提 升。
虽然本发明已以实施例揭露如上,然而其并非用以限定本发明,任何具有本发 明所属技术领域的通常知识者,在不脱离本发明的精祌和范围内,当可作出各种等 同的改变或替换,因此本发明的保护范围当视后附的本申请权利要求范围所界定的 为准。
权利要求
1.一种用以提高读取效率的磁盘阵列1系统,包含一磁盘阵列1控制器;一第一储存装置,耦合于该磁盘阵列1控制器,该第一储存装置包含一读取装置,用来于接收到该磁盘阵列1控制器传来的一奇数地址数据读取指令时,从该第一储存装置的数据内容中,略过储存于偶数地址的数据而循序地读取储存于奇数地址的数据;以及一第二储存装置,耦合于该磁盘阵列1控制器,该第二储存装置包含一读取装置,用来于接收到该磁盘阵列1控制器传来的一偶数地址数据读取指令时,从该第二储存装置的数据内容中,略过储存于奇数地址的数据而循序地读取储存于偶数地址的数据。
2. 根据权利要求1所述的磁盘阵列1系统,其特征在于该奇数地址数据读取 指令及该偶数地址数据读取指令的基本读取单位,是为预设切割储存空间的数据内容。
3. 根据权利要求1所述的磁盘阵列1系统,其特征在于该磁盘阵列1控制器 包含一中央处理单元,耦合于该第一储存装置及该第二储存装置;以及一数据暂存单元,耦合于该中央处理单元。
4. 根据权利要求3所述的磁盘阵列1系统,其特征在于该磁盘阵列1控制器 另包含一数据组合单元,耦合于该数据暂存单元,用来组合由该第一储存装置及该 第二储存装置读取的数据。
5. 根据权利要求3所述的磁盘阵列1系统,其特征在于该磁盘阵列1控制器 另包含一总线接口,耦合于该中央处理单元。
6. 根据权利要求5所述的磁盘阵列1系统,其特征在于该总线接口是为一串行式ATA接口、 一通用串行总线接口、 一 SAS接口、 一 IEEE-1394接口、或一ESATA 接口。
7. 根据权利要求3所述的磁盘阵列1系统,其特征在于该磁盘阵列1控制器 另包含一第一连接端口,耦合于该第一储存装置及该中央处理单元之间,以及一第 二连接端口,耦合于该第二储存装置及该中央处理单元之间。
8. 根据权利要求7所述的磁盘阵列1系统,其特征在于该第一连接端口是一 SATA接口连接端口、 一USB连接端口、 一SAS接口连接端口、 一 IEEE-1394连接 端口、或一ESATA连接端口。
9. 根据权利要求7所述的磁盘阵列1系统,其特征在于该第二连接端口是一 SATA接口连接端口 、 一 USB连接端口 、 一 SAS接口连接端口 、 一 IEEE-1394连接 端口、或一ESATA连接端口。
10. 根据权利要求1所述的磁盘阵列1系统,其特征在于该第一储存装置是一 SATA硬盘机、一 SAS硬盘机、 一固态存储装置、或基于倍数据传输率随机存取存 储器的一储存装置。
11. 根据权利要求1所述的磁盘阵列1系统,其特征在于该第二储存装置是一 SATA硬盘机、一 SAS硬盘机、 一固态存储装置、或基于倍数据传输率随机存取存 储器的一储存装置。
12. —种用以提高磁盘阵列l读取效率的储存装置,包含 一储存媒介;以及一读取装置,用来于接收到一奇数地址数据读取指令时,从该储存媒介的数据 内容中,略过储存于偶数地址的数据,而以数据区块为基本读取单位循序地读取储 存于奇数地址的数据;其中该数据区块是预设切割储存空间的数据内容。
13. 根据权利要求12所述的储存装置,其特征在于该读取装置另可用来于接收到一数据读取指令时,从该储存媒介的数据内容中,循序地读取数据。
14. 根据权利要求12所述的储存装置,其特征在于该读取装置另可用来于接 收到一偶数地址数据读取指令时,从该储存媒介的数据内容中,略过储存于奇数地 址的数据,而以该数据区块为基本读取单位循序地读取储存于偶数地址的数据。
15. 根据权利要求12所述的储存装置,其特征在于该储存装置是一 SATA硬盘 机、一SAS硬盘机、 一固态存储装置、或基于倍数据传输率随机存取存储器的一储 存装置。
16. 根据权利要求12所述的储存装置,其特征在于该储存媒介是一磁盘、一 闪存、或一倍数据传输率随机存取存储器。
17. —种用以提高读取效率的磁盘阵列l读取方法,包含 送一奇数地址数据读取指令至一第一储存装置; 送一偶数地址数据读取指令至一第二储存装置;于该第一储存装置接收到该奇数地址数据读取指令后,从该第一储存装置的数 据内容中,以略过储存于偶数地址的数据的方式,循序地读取储存于奇数地址的数 据以产生一第一数据流;于该第二储存装置接收到该偶数地址数据读取指令后,从该第二储存装置的数 据内容中,以略过储存于奇数地址的数据的方式,循序地读取储存于偶数地址的数 据以产生一第二数据流;以及执行该第一数据流及该第二数据流的数据组合处理以产生一读出数据流。
18. 根据权利要求17所述的磁盘阵列l读取方法,其特征在于该奇数地址数 据读取指令及该偶数地址数据读取指令的基本读取单位,是预设切割储存空间的数 据内容。
19. 根据权利要求17所述的磁盘阵列l读取方法,其特征在于另包含在送该 奇数地址数据读取指令至该第一储存装置之前,检测该第一储存装置是否为一失效 储存装置。
20. 根据权利要求17所述的磁盘阵列l读取方法,其特征在于另包含在送该 奇数地址数据读取指令至该第一储存装置之前,检测该第一储存装置是否支持该奇 数地址数据读取指令。
21. 根据权利要求17所述的磁盘阵列l读取方法,其特征在于另包含在送该 偶数地址数据读取指令至该第二储存装置之前,检测该第二储存装置是否为一失效 储存装置。
22. 根据权利要求17所述的磁盘阵列1读取方法,其特征在于另包含在送该 偶数地址数据读取指令至该第二储存装置之前,检测该第二储存装置是否支持该偶 数地址数据读取指令。
23. 根据权利要求17所述的磁盘阵列l读取方法,其特征在于循序地读取储 存于奇数地址的数据以产生该第一数据流,是以一预定数据区块作为基本读取单位 循序地读取储存于奇数地址的数据以产生该第一数据流。
24. 根据权利要求17所述的磁盘阵列1读取方法,其特征在于循序地读取储 存于偶数地址的数据以产生该第二数据流,是以一预定数据区块作为基本读取单位 循序地读取储存于偶数地址的数据以产生该第二数据流。
全文摘要
在磁盘阵列1系统操作中,执行数据读取时,是从第一储存装置以略过偶数地址数据区块的方式,而循序地读取奇数地址数据区块的数据以产生一第一数据流,及从第二储存装置以略过奇数地址数据区块的方式,而循序地读取偶数地址数据区块的数据以产生一第二数据流,再组合第一数据流及第二数据流以输出一读出数据流。
文档编号G06F3/06GK101661378SQ20081021469
公开日2010年3月3日 申请日期2008年8月29日 优先权日2008年8月29日
发明者孙志铭 申请人:智微科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1