CN101196797A - 一种存储系统数据分布及互转换方法 - Google Patents
一种存储系统数据分布及互转换方法 Download PDFInfo
- Publication number
- CN101196797A CN101196797A CNA2007101686865A CN200710168686A CN101196797A CN 101196797 A CN101196797 A CN 101196797A CN A2007101686865 A CNA2007101686865 A CN A2007101686865A CN 200710168686 A CN200710168686 A CN 200710168686A CN 101196797 A CN101196797 A CN 101196797A
- Authority
- CN
- China
- Prior art keywords
- subarray
- redundant rank
- data
- 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.)
- Granted
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
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个磁盘组成连续的存储空间,其容量为原子阵列容量的将同一条带中的其它数据块写到独立磁盘组中对应的条带单元中,其数据分布与现有的冗余级别1的数据分布相同;
(C)当子阵列中的数据分布由冗余级别0向冗余级别1转换时,由阵列控制器读取冗余级别0的数据条带单元,(n-1)×(K-1)+1号条带单元的数据写到原冗余级别0条带单元中空块所在位置;同时在独立磁盘组申请一块由K-1个磁盘组成连续的存储空间,其容量为原子阵列容量的将同一条带中的其它数据块写到独立磁盘组中,其数据分布与现有的冗余级别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个磁盘组成连续的存储空间,其容量为原子阵列容量的将同一条带中的其它数据块写到独立磁盘组中对应的条带单元中,其数据分布与传统的冗余级别1的数据分布相同,转换方法如图2(b)所示;
(3)当子阵列中的数据分布需要由冗余级别0形式向冗余级别1形式转换时,由阵列控制器读冗余级别0的数据条带单元,(n-1)×(K-1)+1号条带单元的数据写到原冗余级别0条带单元中空块所在位置。同时在独立磁盘组申请一块由K-1个磁盘组成连续的存储空间,其容量为原子阵列容量的将同一条带中的其它数据块写到独立磁盘组中,其数据分布与传统的冗余级别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个磁盘构成一个连续的存储空间,并分条构成磁盘阵列,其中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个磁盘组成连续的存储空间,其容量为原子阵列容量的将同一条带中的其它数据块写到独立磁盘组中对应的条带单元中,其数据分布与现有的冗余级别1的数据分布相同;
(C)当子阵列中的数据分布由冗余级别0向冗余级别1转换时,由阵列控制器读取冗余级别0的数据条带单元,(n-1)×(K-1)+1号条带单元的数据写到原冗余级别0条带单元中空块所在位置;同时在独立磁盘组申请一块由K-1个磁盘组成连续的存储空间,其容量为原子阵列容量的将同一条带中的其它数据块写到独立磁盘组中,其数据分布与现有的冗余级别1的数据分布相同;
(D)当子阵列中的数据分布由冗余级别0向冗余级别5转换时,由阵列控制器读冗余级别0阵列中条带单元的数据并异或后,写到原冗余级别0条带单元中空块所在位置,构造成冗余级别5的效验数据块;
(E)当子阵列中的数据分布由冗余级别1向冗余级别0转换时,释放其在独立磁盘组上相应的镜像条带单元数据,每当写操作时,不对子阵列中n×(K-1)+2号条带单元进行异或更新操作;
(F)当子阵列中的数据分布由冗余级别5向冗余级别0转换时,每当写操作时,不对子阵列中n×(K-1)+2号条带单元进行异或更新操作。
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 true CN101196797A (zh) | 2008-06-11 |
CN100535846C 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) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101510145B (zh) * | 2009-03-27 | 2010-08-25 | 杭州华三通信技术有限公司 | 一种存储系统管理方法和装置 |
CN101923501A (zh) * | 2010-07-30 | 2010-12-22 | 华中科技大学 | 一种磁盘阵列多级容错方法 |
CN101997919A (zh) * | 2010-11-16 | 2011-03-30 | 杭州宏杉科技有限公司 | 一种存储资源的管理方法及管理装置 |
CN101763220B (zh) * | 2008-12-25 | 2011-06-08 | 成都市华为赛门铁克科技有限公司 | 一种数据更新的方法、控制器及存储系统 |
CN102495902A (zh) * | 2011-12-16 | 2012-06-13 | 方正国际软件有限公司 | 一种同时实现空间数据和属性数据etl过程的方法及系统 |
CN103370113A (zh) * | 2012-12-12 | 2013-10-23 | 华为技术有限公司 | 数据存储方法及系统 |
CN103916467A (zh) * | 2014-03-25 | 2014-07-09 | 中国科学院计算技术研究所 | 一种元数据集群中负载转移方法及系统 |
CN105474179A (zh) * | 2013-09-25 | 2016-04-06 | 英特尔公司 | 具有分布变换器的存储器控制器 |
CN108153482A (zh) * | 2016-12-05 | 2018-06-12 | 厦门鑫忆讯科技有限公司 | Io命令处理方法与介质接口控制器 |
WO2019071699A1 (zh) * | 2017-10-10 | 2019-04-18 | 华为技术有限公司 | 处理i/o请求的方法、存储阵列及主机 |
CN109725831A (zh) * | 2017-10-27 | 2019-05-07 | 伊姆西Ip控股有限责任公司 | 管理存储系统的方法、系统和计算机程序产品 |
CN112988074A (zh) * | 2021-04-07 | 2021-06-18 | 深圳市优服信息技术有限公司 | 一种存储系统管理软件适配方法及装置 |
CN114415968A (zh) * | 2022-01-26 | 2022-04-29 | 南京晓庄学院 | 存储系统及其数据写入方法 |
-
2007
- 2007-12-07 CN CNB2007101686865A patent/CN100535846C/zh not_active Expired - Fee Related
Cited By (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101763220B (zh) * | 2008-12-25 | 2011-06-08 | 成都市华为赛门铁克科技有限公司 | 一种数据更新的方法、控制器及存储系统 |
CN101510145B (zh) * | 2009-03-27 | 2010-08-25 | 杭州华三通信技术有限公司 | 一种存储系统管理方法和装置 |
CN101923501A (zh) * | 2010-07-30 | 2010-12-22 | 华中科技大学 | 一种磁盘阵列多级容错方法 |
CN101997919B (zh) * | 2010-11-16 | 2013-06-12 | 杭州宏杉科技有限公司 | 一种存储资源的管理方法及管理装置 |
CN101997919A (zh) * | 2010-11-16 | 2011-03-30 | 杭州宏杉科技有限公司 | 一种存储资源的管理方法及管理装置 |
CN102495902B (zh) * | 2011-12-16 | 2013-07-24 | 方正国际软件有限公司 | 一种同时实现空间数据和属性数据etl过程的方法及系统 |
CN102495902A (zh) * | 2011-12-16 | 2012-06-13 | 方正国际软件有限公司 | 一种同时实现空间数据和属性数据etl过程的方法及系统 |
CN103370113A (zh) * | 2012-12-12 | 2013-10-23 | 华为技术有限公司 | 数据存储方法及系统 |
CN103370113B (zh) * | 2012-12-12 | 2016-03-09 | 华为技术有限公司 | 数据存储方法及系统 |
CN105474179B (zh) * | 2013-09-25 | 2018-09-18 | 英特尔公司 | 具有分布变换器的存储器控制器 |
CN105474179A (zh) * | 2013-09-25 | 2016-04-06 | 英特尔公司 | 具有分布变换器的存储器控制器 |
CN103916467A (zh) * | 2014-03-25 | 2014-07-09 | 中国科学院计算技术研究所 | 一种元数据集群中负载转移方法及系统 |
CN103916467B (zh) * | 2014-03-25 | 2017-02-08 | 中国科学院计算技术研究所 | 一种元数据集群中负载转移方法及系统 |
CN108153482A (zh) * | 2016-12-05 | 2018-06-12 | 厦门鑫忆讯科技有限公司 | Io命令处理方法与介质接口控制器 |
CN108153482B (zh) * | 2016-12-05 | 2021-09-07 | 厦门旌存半导体技术有限公司 | Io命令处理方法与介质接口控制器 |
CN109906438A (zh) * | 2017-10-10 | 2019-06-18 | 华为技术有限公司 | 处理i/o请求的方法、存储阵列及主机 |
WO2019071699A1 (zh) * | 2017-10-10 | 2019-04-18 | 华为技术有限公司 | 处理i/o请求的方法、存储阵列及主机 |
CN109906438B (zh) * | 2017-10-10 | 2021-02-09 | 华为技术有限公司 | 处理i/o请求的方法、存储阵列及主机 |
WO2019071431A1 (zh) * | 2017-10-10 | 2019-04-18 | 华为技术有限公司 | 处理i/o请求的方法、设备及主机 |
US11209983B2 (en) | 2017-10-10 | 2021-12-28 | Huawei Technologies Co., Ltd. | I/O request processing method, storage array, and host |
US11762555B2 (en) | 2017-10-10 | 2023-09-19 | Huawei Technologies Co., Ltd. | I/O request processing method, storage array, and host |
CN109725831A (zh) * | 2017-10-27 | 2019-05-07 | 伊姆西Ip控股有限责任公司 | 管理存储系统的方法、系统和计算机程序产品 |
CN109725831B (zh) * | 2017-10-27 | 2022-06-10 | 伊姆西Ip控股有限责任公司 | 管理存储系统的方法、系统和计算机可读介质 |
CN112988074A (zh) * | 2021-04-07 | 2021-06-18 | 深圳市优服信息技术有限公司 | 一种存储系统管理软件适配方法及装置 |
CN112988074B (zh) * | 2021-04-07 | 2023-08-29 | 深圳市优服信息技术有限公司 | 一种存储系统管理软件适配方法及装置 |
CN114415968A (zh) * | 2022-01-26 | 2022-04-29 | 南京晓庄学院 | 存储系统及其数据写入方法 |
CN114415968B (zh) * | 2022-01-26 | 2023-04-07 | 南京晓庄学院 | 存储系统及其数据写入方法 |
Also Published As
Publication number | Publication date |
---|---|
CN100535846C (zh) | 2009-09-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100535846C (zh) | 一种存储系统数据分布及互转换方法 | |
US8171217B2 (en) | Storage apparatus and data storage method using the same | |
US7032125B2 (en) | Method for loosely coupling metadata and data in a storage array | |
US6101615A (en) | Method and apparatus for improving sequential writes to RAID-6 devices | |
CN105867840B (zh) | 闪存组件及非易失性半导体存储器组件 | |
US5315602A (en) | Optimized stripe detection for redundant arrays of disk drives | |
CN101467122B (zh) | 数据分级磁盘位置优化系统和方法 | |
CN101907978B (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 | |
US8244975B2 (en) | Command queue ordering by flipping active write zones | |
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) | 存储装置及存储装置的控制方法 | |
JP2006024024A (ja) | 論理ディスク管理方法及び装置 | |
US8516289B2 (en) | Storage management apparatus for controlling power supply to storages, storage system including the same, and method for controlling power supply to storages | |
US20200341873A1 (en) | Data access method, apparatus and computer program product | |
US7644206B2 (en) | Command queue ordering by positionally pushing access commands | |
JP2007079787A (ja) | 論理ディスク管理方法及び仮想化装置 | |
US8234457B2 (en) | Dynamic adaptive flushing of cached data | |
CN100470507C (zh) | 磁盘阵列结构中进行回写的方法 | |
CN101997919A (zh) | 一种存储资源的管理方法及管理装置 | |
CN102541472A (zh) | 一种raid阵列重建的方法及装置 | |
US20030225794A1 (en) | Methods and structure for multi-drive mirroring in a resource constrained raid controller | |
US11194489B2 (en) | Zone-based device with control level selected by the host |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20090902 Termination date: 20201207 |