CN100535846C - 一种存储系统数据分布及互转换方法 - Google Patents

一种存储系统数据分布及互转换方法 Download PDF

Info

Publication number
CN100535846C
CN100535846C CNB2007101686865A CN200710168686A CN100535846C CN 100535846 C CN100535846 C CN 100535846C CN B2007101686865 A CNB2007101686865 A CN B2007101686865A CN 200710168686 A CN200710168686 A CN 200710168686A CN 100535846 C CN100535846 C CN 100535846C
Authority
CN
China
Prior art keywords
subarray
data
redundant rank
disk
data distribution
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.)
Expired - Fee Related
Application number
CNB2007101686865A
Other languages
English (en)
Other versions
CN101196797A (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.)
Huazhong University of Science and Technology
Original Assignee
Huazhong University of Science and Technology
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 Huazhong University of Science and Technology filed Critical Huazhong University of Science and Technology
Priority to CNB2007101686865A priority Critical patent/CN100535846C/zh
Publication of CN101196797A publication Critical patent/CN101196797A/zh
Application granted granted Critical
Publication of CN100535846C publication Critical patent/CN100535846C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明公开了一种存储系统数据分布及互转换方法,由多个磁盘构成一个连续的存储空间,并分条构成磁盘阵列,将磁盘阵列划分成连续的存储子空间,称为子阵列,并根据需要分别将子阵列的冗余级别设置成0、1或5;进行转换时,根据转换类型的不同,选择相应方式进行转换。本发明的主要思想是依据I/O请求具有局部性的特征,对不同访问特征的I/O请求采用适合的数据分布形式,使存储系统能够达到性能的最优化。本发明提出的存储系统数据分布转换方法使系统能动态的适应I/O请求特征的变化,减少不同冗余级别之间数据分布转换的代价并消除因数据迁移而产生的性能瓶颈,从而较大的提高存储子系统性能。

Description

一种存储系统数据分布及互转换方法
技术领域
本发明涉及存储领域,具体是指一种存储系统数据分布及互转换方法。
背景技术
磁盘阵列(RAID)作为改善计算机存储系统性能的一个主要手段为广泛应用。但由于在实际工作环境中工作负载变化的多样性和复杂性,所配置的RAID性能很难达到最优:不同级别RAID的数据分布形式有着不同的应用范围,只能对分布范围比较窄的工作负载提供较好的性能。且RAID的配置比较复杂,如配置数据块和校验块的布局、条带单元大小、缓存的大小及读写策略等等。在配置完成以后,RAID却不能自适应工作负载的变化。为解决这个问题,存储界提出了很多的解决方案:如Auto冗余级别(参见HP whitepaper,《HP Auto冗余级别:High-Performance Storage for theHigh-Availability NT Environment》,http://www.hp.com.cn/prodserv/server/pcserver/whitepaper/DOCS/autoraid.pdf)是在磁盘阵列中实现了RAID1和RAID5两级存储。利用RAID1高性能和RAID5的可靠性、高磁盘利用率达到存储系统的性能、可用性、可扩展性的最佳平衡。将最近使用的数据放在按RAID1形式分布的阵列中;对于使用频率低、只读或大量顺序写的数据放置在RAID5形式分布的阵列中。multi-partition冗余级别(参见《Multi-Partition RAID:A New Method for Improving Performance of DiskArrays under Failure》,http://comjnl.oxfordjournals.org/cgi/reprint/40/1/30)基本思想是将磁盘阵列分成一系列分区,每个分区对应一种冗余级别,并根据数据的活跃程度分布在不同的冗余级别上。它主要是针对当阵列出现单个失效盘时,尽量将磁盘阵列的性能下降减低到最小程度。但它有以下缺点:(1)升级困难。它不能同单独的阵列一样将访问频率高的阵列使用SCSI磁盘,访问频率低的阵列使用IDE磁盘。(2)维护困难。为了减少逻辑块到物理块的映射简单,要求所有的磁盘是一样的容量。当磁盘失效需要替换时,替换的磁盘必须同原来的磁盘一样的容量。现有的方法都有一个共同的问题,即数据在不同冗余级别之间需要不断的迁移,这会造成系统I/O瓶颈。数据不断的迁移,也会导致映射关系变得越来越复杂,这也是系统的一个瓶颈。
发明内容
本发明的目的在于提供一种存储系统数据分布及互转换方法,使用该方法的系统可改善存储子系统在不同工作负载情况下的I/O性能,消除因频繁的数据迁移而导致的瓶颈,进而提高存储系统的性能。
本发明提供的一种存储系统数据分布及互转换方法,设存储系统的存储空间由2K个磁盘组成,其中,K+1个磁盘构成一个连续的存储空间,并分条构成磁盘阵列,其中n表示子阵列的条带号;剩余的K-1个磁盘构成独立磁盘组;将磁盘阵列划分成连续的存储子空间,称为子阵列,并根据需要分别将子阵列的冗余级别设置成0、1或5;使得以冗余级别为0和5的子阵列上的数据分布在磁盘阵列的所有K+1个磁盘上,以冗余级别为1的子阵列上的数据分布在磁盘阵列和独立磁盘组的所有2K个磁盘上;
当用户需要对存储系统中的子阵列数据分布进行转换时,根据转换类型的不同,选择下述不同的方式进行转换:
(A)当子阵列中的数据分布由冗余级别1向冗余级别5转换时,由阵列控制器读取以冗余级别1分布的子阵列上的镜像条带单元,并进行异或处理,再将结果写到原子阵列的n×(K-1)+2号单元的镜像单元所处的位置,构成以冗余级别5的子阵列,并释放其在独立磁盘组上对应的镜像条带单元数据;
(B)当子阵列中的数据分布由冗余级别5向冗余级别1转换时,由阵列控制器读取以冗余级别5分布的子阵列上的数据条带单元,(n-1)×(K-1)+1号条带单元的数据块写到原子阵列的校验单元所在位置;同时在独立磁盘组中申请一块由K-1个磁盘组成连续的存储空间,其容量为原子阵列容量的
Figure C20071016868600061
将同一条带中的其它数据块写到独立磁盘组中对应的条带单元中,其数据分布与现有的冗余级别1的数据分布相同;
(C)当子阵列中的数据分布由冗余级别0向冗余级别1转换时,由阵列控制器读取冗余级别0的数据条带单元,(n-1)×(K-1)+1号条带单元的数据写到原冗余级别0条带单元中空块所在位置;同时在独立磁盘组申请一块由K-1个磁盘组成连续的存储空间,其容量为原子阵列容量的
Figure C20071016868600062
将同一条带中的其它数据块写到独立磁盘组中,其数据分布与现有的冗余级别1的数据分布相同;
(D)当子阵列中的数据分布由冗余级别0向冗余级别5转换时,由阵列控制器读冗余级别0阵列中条带单元的数据并异或后,写到原冗余级别0条带单元中空块所在位置,构造成冗余级别5的效验数据块;
(E)当子阵列中的数据分布由冗余级别1向冗余级别0转换时,释放其在独立磁盘组上相应的镜像条带单元数据,每当写操作时,不对子阵列中n×(K-1)+2号条带单元进行异或更新操作;
(F)当子阵列中的数据分布由冗余级别5向冗余级别0转换时,每当写操作时,不对子阵列中n×(K-1)+2号条带单元进行异或更新操作。
本发明的主要思想是依据I/O请求具有局部性的特征,对不同访问特征的I/O请求采用适合的数据分布形式,使存储系统能够达到性能的最优化。本发明提出的存储系统数据分布转换方法使系统能动态的适应I/O请求特征的变化,减少不同冗余级别之间数据分布转换的代价并消除因数据迁移而产生的性能瓶颈,从而较大的提高存储子系统性能。
附图说明
图1为存储子系统数据分布的结构示意图;
图2为冗余级别数据分布转换示意图;其中,(a)为冗余级别1到冗余级别5转换,(b)为冗余级别5到冗余级别1转换,(c)为冗余级别0到冗余级别1转换,(d)为冗余级别0到冗余级别5转换。
具体实施方式
下面结合附图和实例对本发明作进一步详细的说明。
本发明存储系统数据分布及互转换方法包括以下步骤:
设存储系统的存储空间由2K个磁盘组成,K≥2,其中,K+1个磁盘构成一个连续的存储空间,并分条构成磁盘阵列;剩余的K-1个磁盘构成独立磁盘组;将磁盘阵列划分成连续的存储子空间,称为子阵列,并根据需要分别将子阵列的冗余级别设置成0、1或5;冗余级别为0和5的子阵列上的数据分布在磁盘阵列的所有K+1个磁盘上,以冗余级别为1的子阵列上的数据分布在磁盘阵列和独立磁盘组所组成的所有2K个磁盘上。如图1所示,在图1中,1表示磁盘,2表示子阵列,3表示由多个子阵列所组成的磁盘阵列,4表示独立磁盘组,2a表示子阵列a,它的数据以冗余级别5形式分布,D代表数据块,P代表效验块;2b表示子阵列b,它的数据以冗余级别1形式分布,D’代表镜象块。磁盘阵列包含一个或多个具有不同冗余级别的子阵列。对子阵列a来说,效验块的分布与传统的冗余级别5效验块的分布一致;对子阵列b来说,原放置效验块的空间放置一个镜象块,而其余的K-1个镜象块放置在由K-1个磁盘组成的独立磁盘组上;
存储系统中的子阵列冗余级别可以根据需要而发生改变,其数据分布的转换方法如图2所示。其中D代表数据块,D’代表镜象块,P代表效验块,冗余级别0中的N表示空块,即无效数据块,XOR表示数据进行异或操作,n表示子阵列的条带号,K为数据的块号。转换步骤如下:
(1)当子阵列中的数据分布需要由冗余级别1形式向冗余级别5形式转换时,由阵列控制器读出以冗余级别1形式分布的子阵列上的镜像条带单元(数据块)并异或后,写到原子阵列的n×(K-1)+2号单元的镜像单元所处的位置,构成以冗余级别5形式的子阵列,并释放其在独立磁盘组上相应的镜像条带单元数据,转换方法如图2(a)所示;
(2)当子阵列中的数据分布需要由冗余级别5形式向冗余级别1形式转换时,由阵列控制器读以冗余级别5形式分布的子阵列上的数据条带单元,(n-1)×(K-1)+1号条带单元的数据块写到原子阵列的校验单元所在位置。同时在独立磁盘组申请一块由K-1个磁盘组成连续的存储空间,其容量为原子阵列容量的
Figure C20071016868600081
将同一条带中的其它数据块写到独立磁盘组中对应的条带单元中,其数据分布与传统的冗余级别1的数据分布相同,转换方法如图2(b)所示;
(3)当子阵列中的数据分布需要由冗余级别0形式向冗余级别1形式转换时,由阵列控制器读冗余级别0的数据条带单元,(n-1)×(K-1)+1号条带单元的数据写到原冗余级别0条带单元中空块所在位置。同时在独立磁盘组申请一块由K-1个磁盘组成连续的存储空间,其容量为原子阵列容量的
Figure C20071016868600082
将同一条带中的其它数据块写到独立磁盘组中,其数据分布与传统的冗余级别1的数据分布相同,转换方法如图2(c)所示;
(4)当子阵列中的数据分布需要由冗余级别0形式向冗余级别5形式转换时,由阵列控制器读冗余级别0中条带单元的数据并异或后,写到原冗余级别0条带单元中空块所在位置,构造成冗余级别5的效验数据块P,转换方法如图2(d)所示;
(5)当子阵列中的数据分布需要由冗余级别1形式向冗余级别0形式转换时,释放其在独立磁盘组上相应的镜像条带单元数据,每当写操作时,不对子阵列中n×(K-1)+2号条带单元进行更新操作;
(6)当子阵列中的数据分布需要由冗余级别5形式向冗余级别0形式转换时,每当写操作时,不对子阵列中n×(K-1)+2号条带单元进行异或更新操作。

Claims (1)

1、一种存储系统数据分布及互转换方法,设存储系统的存储空间由2K个磁盘组成,其中,K+1个磁盘构成一个连续的存储空间,并分条构成磁盘阵列;剩余的K-1个磁盘构成独立磁盘组;将磁盘阵列划分成连续的存储子空间,称为子阵列,并根据需要分别将子阵列的冗余级别设置成0、1或5;使得以冗余级别为0和5的子阵列上的数据分布在磁盘阵列的所有K+1个磁盘上,以冗余级别为1的子阵列上的数据分布在磁盘阵列和独立磁盘组的所有2K个磁盘上;
当用户需要对存储系统中的子阵列数据分布进行转换时,根据转换类型的不同,选择下述不同的方式进行转换:
(A)当子阵列中的数据分布由冗余级别1向冗余级别5转换时,由阵列控制器读取以冗余级别1分布的子阵列上的镜像条带单元,并进行异或处理,再将结果写到原子阵列的n×(K-1)+2号单元的镜像条带单元所处的位置,其中n为阵列控制器当前读取的子阵列的条带号,构成以冗余级别5的子阵列,并释放其在独立磁盘组上相应的镜像条带单元数据;
(B)当子阵列中的数据分布由冗余级别5向冗余级别1转换时,由阵列控制器读取以冗余级别5分布的子阵列上的数据条带单元,(n-1)×(K-1)+1号条带单元的数据块写到原子阵列的校验单元所在位置;同时在独立磁盘组中申请一块由K-1个磁盘组成连续的存储空间,其容量为原子阵列容量的将与(n-1)×(K-1)+1号条带单元的数据块位于同一条带中的其它数据块写到独立磁盘组中对应的条带单元中,其数据分布与现有的冗余级别1的数据分布相同;
(C)当子阵列中的数据分布由冗余级别0向冗余级别1转换时,由阵列控制器读取冗余级别0的数据条带单元,(n-1)×(K-1)+1号条带单元的数据写到原冗余级别0条带单元中空块所在位置;同时在独立磁盘组申请一块由K-1个磁盘组成连续的存储空间,其容量为原子阵列容量的
Figure C2007101686860003C1
将与(n-1)×(K-1)+1号条带单元的数据块位于同一条带中的其它数据块写到独立磁盘组中,其数据分布与现有的冗余级别1的数据分布相同;
(D)当子阵列中的数据分布由冗余级别0向冗余级别5转换时,由阵列控制器读冗余级别0阵列中条带单元的数据并异或后,写到原冗余级别0条带单元中空块所在位置,构造成冗余级别5的效验数据块;
(E)当子阵列中的数据分布由冗余级别1向冗余级别0转换时,释放其在独立磁盘组上相应的镜像条带单元数据,每当写操作时,不对子阵列中n×(K-1)+2号条带单元进行异或更新操作;
(F)当子阵列中的数据分布由冗余级别5向冗余级别0转换时,每当写操作时,不对子阵列中n×(K-1)+2号条带单元进行异或更新操作。
CNB2007101686865A 2007-12-07 2007-12-07 一种存储系统数据分布及互转换方法 Expired - Fee Related CN100535846C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2007101686865A CN100535846C (zh) 2007-12-07 2007-12-07 一种存储系统数据分布及互转换方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2007101686865A CN100535846C (zh) 2007-12-07 2007-12-07 一种存储系统数据分布及互转换方法

Publications (2)

Publication Number Publication Date
CN101196797A CN101196797A (zh) 2008-06-11
CN100535846C true CN100535846C (zh) 2009-09-02

Family

ID=39547237

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2007101686865A Expired - Fee Related CN100535846C (zh) 2007-12-07 2007-12-07 一种存储系统数据分布及互转换方法

Country Status (1)

Country Link
CN (1) CN100535846C (zh)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101763220B (zh) * 2008-12-25 2011-06-08 成都市华为赛门铁克科技有限公司 一种数据更新的方法、控制器及存储系统
CN101510145B (zh) * 2009-03-27 2010-08-25 杭州华三通信技术有限公司 一种存储系统管理方法和装置
CN101923501B (zh) * 2010-07-30 2012-01-25 华中科技大学 一种磁盘阵列多级容错方法
CN101997919B (zh) * 2010-11-16 2013-06-12 杭州宏杉科技有限公司 一种存储资源的管理方法及管理装置
CN102495902B (zh) * 2011-12-16 2013-07-24 方正国际软件有限公司 一种同时实现空间数据和属性数据etl过程的方法及系统
CN103370113B (zh) * 2012-12-12 2016-03-09 华为技术有限公司 数据存储方法及系统
US9317364B2 (en) * 2013-09-25 2016-04-19 Intel Corporation Memory controller with distribution transformer
CN103916467B (zh) * 2014-03-25 2017-02-08 中国科学院计算技术研究所 一种元数据集群中负载转移方法及系统
CN108153482B (zh) * 2016-12-05 2021-09-07 厦门旌存半导体技术有限公司 Io命令处理方法与介质接口控制器
WO2019071431A1 (zh) * 2017-10-10 2019-04-18 华为技术有限公司 处理i/o请求的方法、设备及主机
CN109725831B (zh) * 2017-10-27 2022-06-10 伊姆西Ip控股有限责任公司 管理存储系统的方法、系统和计算机可读介质
CN112988074B (zh) * 2021-04-07 2023-08-29 深圳市优服信息技术有限公司 一种存储系统管理软件适配方法及装置
CN114415968B (zh) * 2022-01-26 2023-04-07 南京晓庄学院 存储系统及其数据写入方法

Also Published As

Publication number Publication date
CN101196797A (zh) 2008-06-11

Similar Documents

Publication Publication Date Title
CN100535846C (zh) 一种存储系统数据分布及互转换方法
US8171217B2 (en) Storage apparatus and data storage method using the same
US6101615A (en) Method and apparatus for improving sequential writes to RAID-6 devices
CN105867840B (zh) 闪存组件及非易失性半导体存储器组件
CN101467122B (zh) 数据分级磁盘位置优化系统和方法
CN101907978B (zh) 基于固态硬盘和磁性硬盘的混合存储系统及存储方法
EP0586117B1 (en) Optimized stripe detection for redundant arrays of disk drives
EP1912122B1 (en) Storage apparatus and control method thereof
CN102511036B (zh) 数据存储
CN102122235B (zh) 一种raid4系统及其数据读写方法
US9542101B2 (en) System and methods for performing embedded full-stripe write operations to a data volume with data elements distributed across multiple modules
JP4429780B2 (ja) 記憶制御装置、制御方法、および制御プログラム。
US7890696B2 (en) Command queue ordering with directional and floating write bands
US20110035605A1 (en) Method for optimizing performance and power usage in an archival storage system by utilizing massive array of independent disks (MAID) techniques and controlled replication under scalable hashing (CRUSH)
CN104956312A (zh) 存储装置及存储装置的控制方法
JPH05257611A (ja) ディスクアレーの区分け方法
JP2006024024A (ja) 論理ディスク管理方法及び装置
JP2006024211A5 (zh)
TW200537310A (en) Integrated circuit capable of pre-fetching data
US20110185213A1 (en) Storage management apparatus, storage system, and storage management method
US20100115310A1 (en) Disk array apparatus
JP4261532B2 (ja) 論理ディスク管理方法及び仮想化装置
US8234457B2 (en) Dynamic adaptive flushing of cached data
CN100470507C (zh) 磁盘阵列结构中进行回写的方法
JP2003015826A (ja) ディスクアレイ制御装置における共有メモリコピー機能

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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20090902

Termination date: 20201207

CF01 Termination of patent right due to non-payment of annual fee