CN112068770B - 一种基于raid条带写优化方法 - Google Patents

一种基于raid条带写优化方法 Download PDF

Info

Publication number
CN112068770B
CN112068770B CN202010816369.5A CN202010816369A CN112068770B CN 112068770 B CN112068770 B CN 112068770B CN 202010816369 A CN202010816369 A CN 202010816369A CN 112068770 B CN112068770 B CN 112068770B
Authority
CN
China
Prior art keywords
writing
executing
disk array
transaction
cache
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
Application number
CN202010816369.5A
Other languages
English (en)
Other versions
CN112068770A (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.)
Suzhou Inspur Intelligent Technology Co Ltd
Original Assignee
Suzhou Inspur Intelligent Technology Co Ltd
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 Suzhou Inspur Intelligent Technology Co Ltd filed Critical Suzhou Inspur Intelligent Technology Co Ltd
Priority to CN202010816369.5A priority Critical patent/CN112068770B/zh
Publication of CN112068770A publication Critical patent/CN112068770A/zh
Application granted granted Critical
Publication of CN112068770B publication Critical patent/CN112068770B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本发明公开了一种基于RAID条带写优化方法,包括准备步骤和写数据步骤;所述准备步骤包括对磁盘阵列按照条带进行划分,对划分后的条带再按照磁盘分块划分,以条带为单位建立写缓存;所述写数据步骤包括判断当前磁盘阵列状态,根据磁盘阵列状态执行相应步骤;如磁盘阵列状态正常则执行写入步骤,否则返回磁盘阵列状态异常;如执行写入步骤时写入成功则结束流程,执行写入步骤时写入不成功,则执行写入不成功步骤。通过上述方式,本发明提高了写的速率,缩小了io时延,又保证了数据的一致性,大大提高了存储系统的性能和数据安全性。

Description

一种基于RAID条带写优化方法
技术领域
本发明涉及数据存储技术领域,特别是涉及一种基于RAID条带写优化方法。
背景技术
RAID,全称Redundant Arrays of Independent Disks,中文名磁盘阵列,是独立磁盘构成的具有冗余能力的阵列。磁盘阵列是由很多块独立的磁盘,组合成一个容量巨大的磁盘组,利用个别磁盘提供数据所产生加成效果提升整个磁盘系统效能。利用这项技术,将数据切割成许多区段,分别存放在各个硬盘上。磁盘阵列还能利用同位检查(ParityCheck)的观念,在数组中任意一个硬盘故障时,仍可读出数据,在数据重构时,将数据经计算后重新置入新硬盘中。
在云计算数据中心中,数据存储的性能和数据的一致性是重要指标。为了保证写数据的一致性,写条带时各分块互相等待,等所有分块都成功才结束条带的写操作;如果有分块出错则该分块进行重试操作等。由于数据的一致性和正确性是存储系统的核心问题,存储系统使用大量资源和方法来保证写数据的一致性,甚至牺牲存储系统得性能,而要提高写数据性能,可能又无法更好的保证数据一致性。写数据一致性的复杂度以及与提高写性能之间互相影响,无法兼顾。
发明内容
本发明主要解决的技术问题是提供一种基于RAID条带写优化方法,能够在保证数据一致性的同时,优化系统读io的时延和速度,大大提高存储系统的性能。
为解决上述技术问题,本发明采用的一个技术方案是:提供一种基于RAID条带写优化方法,包括准备步骤和写数据步骤;所述准备步骤包括对磁盘阵列按照条带进行划分,对划分后的条带再按照磁盘分块划分,以条带为单位建立写缓存,将条带缓存以条带号进行散列,存储在散列表里,此缓存为非易失性缓存;所述写数据步骤包括判断当前磁盘阵列状态,根据磁盘阵列状态执行相应步骤;如磁盘阵列状态正常则执行写入步骤,否则返回磁盘阵列状态异常;如执行写入步骤时写入成功则结束流程,执行写入步骤时写入不成功,则执行写入不成功步骤。
进一步,所述写数据步骤中判断当前磁盘阵列状态,根据磁盘阵列状态执行相应步骤具体包括以下步骤:
A1、查询磁盘阵列是否处于降级、离线故障状态,磁盘阵列是否处于重构状态,如果均否执行A2,否则执行A4;
A2、判断成员盘是否有慢盘、坏盘,条带是否有坏块,如果均否执行A3,否则执行A4;
A3、执行写入步骤,将数据放入缓存并返回写成功,流程结束;
A4、根据相应的写条带处理流程处理,返回磁盘阵列状态异常。
进一步,所述写入步骤包括将数据写入到写缓存,以条带为事务组各磁盘分块为子事务进行写入,具体包括以下步骤:
B1、对每个条带建立事务组,条带中每个磁盘分块是一个子事务;
B2、执行条带的事务组,并同时执行各子事务;
B3、如果所有事务执行成功,则事务组执行成功,结束子事务及事务组,删除写缓存中该条带缓存;
B4、如果事务执行不成功,则记录下该事务组以及执行失败的子事务。
进一步,所述执行写入不成功步骤前判断写入不成功原因,若写入不成功原因为坏盘、磁盘离线、系统重启故障,等待故障恢复后,根据记录重新执行此写条带事务组以及事务组中未完成的和失败的子事务,具体包括以下步骤:
C1、执行该条带的事务组,并同时执行之前未成功的各子事务;
C2、如果所有事务执行成功,则事务组执行成功,结束子事务及事务组,删除写缓存中该条带的缓存;
C3、否则记录下该事务组以及执行失败的子事务。
本发明的有益效果是:本发明基于RAID条带的写缓存及事务组处理方法,可以在保证数据一致性的同时,优化系统读IO的时延和速度,大大提高了存储系统的性能。
附图说明
图1是本发明一种基于RAID条带写优化方法的流程图;
图2是所示一种基于RAID条带写优化方法一实施例中条带与磁盘分块的示意图;
图3是所示一种基于RAID条带写优化方法一实施例中散列表及条带缓存示意图。
具体实施方式
下面结合附图对本发明的较佳实施例进行详细阐述,以使本发明的优点和特征能更易于被本领域技术人员理解,从而对本发明的保护范围做出更为清楚明确的界定。
参阅图1至图3,本发明实施例包括:
一种基于RAID条带写优化方法的流程包括准备步骤和写数据步骤;所述准备步骤包括对raid(磁盘阵列)按照stripe(条带)进行划分,对磁盘阵列条带再按照各strip(磁盘分块)划分,见图2;以条带为单位建立写缓存,并将条带缓存以stripe number(条带号)进行hash然后存储在hash表里,见图3;该缓存为非易失性缓存;所述写数据步骤包括判断当前磁盘阵列状态,根据磁盘阵列状态执行相应步骤;如磁盘阵列状态正常则执行写入步骤,否则返回磁盘阵列状态异常;如执行写入步骤时写入成功则结束流程,执行写入步骤时写入不成功,则执行写入不成功步骤。
所述写数据步骤中判断当前磁盘阵列状态,根据磁盘阵列状态执行相应步骤具体包括以下步骤:
A1、查询磁盘阵列是否处于降级、离线故障状态,磁盘阵列是否处于重构状态,如果均否执行A2,否则执行A4;
A2、判断成员盘是否有慢盘、坏盘,条带是否有坏块,如果均否执行A3,否则执行A4;
A3、执行写入步骤,将数据放入缓存并返回写成功,流程结束;
A4、根据相应的写条带处理流程处理,返回磁盘阵列状态异常。
所述写入步骤包括将数据写入到写缓存,以条带为事务组各磁盘分块为子事务进行写入,具体包括以下步骤:
B1、对每个条带建立事务组,条带中每个磁盘分块是一个子事务;
B2、执行条带的事务组,并同时执行各子事务;
B3、如果所有事务执行成功,则事务组执行成功,结束子事务及事务组,删除写缓存中该条带缓存;
B4、如果事务执行不成功,则记录下该事务组以及执行失败的子事务。
所述执行写入不成功步骤前判断写入不成功原因,若写入不成功原因为坏盘、磁盘离线、系统重启故障,等待故障恢复后,根据记录重新执行此写条带事务组以及事务组中未完成的和失败的子事务,具体包括以下步骤:
C1、执行该条带的事务组,并同时执行之前未成功的各子事务;
C2、如果所有事务执行成功,则事务组执行成功,结束子事务及事务组,删除写缓存中该条带的缓存;
C3、否则记录下该事务组以及执行失败的子事务。
本发明即提高了写的速率,缩小了io时延,又保证了数据的一致性。大大提高了存储系统的性能和数据安全性。
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (6)

1.一种基于RAID条带写优化方法,其特征在于,包括准备步骤和写数据步骤;所述准备步骤包括对磁盘阵列按照条带进行划分,对划分后的条带再按照磁盘分块划分,以条带为单位建立写缓存;所述写数据步骤包括判断当前磁盘阵列状态,根据磁盘阵列状态执行相应步骤;如磁盘阵列状态正常则执行写入步骤,否则返回磁盘阵列状态异常;如执行写入步骤时写入成功则结束流程,执行写入步骤时写入不成功,则执行写入不成功步骤;
所述写数据步骤中判断当前磁盘阵列状态,根据磁盘阵列状态执行相应步骤具体包括以下步骤:
A1、查询磁盘阵列是否处于降级、离线故障状态,磁盘阵列是否处于重构状态,如果均否执行A2,否则执行A4;
A2、判断成员盘是否有慢盘、坏盘,条带是否有坏块,如果均否执行A3,否则执行A4;
A3、执行写入步骤,将数据放入缓存并返回写成功,流程结束;
A4、根据相应的写条带处理流程处理,返回磁盘阵列状态异常;
所述写入步骤包括将数据写入到写缓存,以条带为事务组各磁盘分块为子事务进行写入;
所述执行写入步骤具体包括以下步骤:
B1、对每个条带建立事务组,条带中每个磁盘分块是一个子事务;
B2、执行条带的事务组,并同时执行各子事务;
B3、如果所有事务执行成功,则事务组执行成功,结束子事务及事务组,删除写缓存中该条带缓存;
B4、如果事务执行不成功,则记录下该事务组以及执行失败的子事务。
2.根据权利要求1所述的一种基于RAID条带写优化方法,其特征在于:所述准备步骤中以条带为单位建立写缓存之后将条带缓存以条带号进行散列,存储在散列表里。
3.根据权利要求2所述的一种基于RAID条带写优化方法,其特征在于:所述条带缓存为非易失性缓存。
4.根据权利要求1所述的一种基于RAID条带写优化方法,其特征在于:所述执行写入不成功步骤前判断写入不成功原因,若写入不成功原因为坏盘、磁盘离线、系统重启故障,则执行写入不成功步骤。
5.根据权利要求4所述的一种基于RAID条带写优化方法,其特征在于:所述执行写入不成功步骤包括等待故障恢复后,根据记录重新执行此写条带事务组以及事务组中未完成的和失败的子事务。
6.根据权利要求5所述的一种基于RAID条带写优化方法,其特征在于:所述执行此写条带事务组以及事务组中未完成的和失败的子事务包括以下步骤:
C1、执行该条带的事务组,并同时执行之前未成功的各子事务;
C2、如果所有事务执行成功,则事务组执行成功,结束子事务及事务组,删除写缓存中该条带的缓存;
C3、否则记录下该事务组以及执行失败的子事务。
CN202010816369.5A 2020-08-14 2020-08-14 一种基于raid条带写优化方法 Active CN112068770B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010816369.5A CN112068770B (zh) 2020-08-14 2020-08-14 一种基于raid条带写优化方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010816369.5A CN112068770B (zh) 2020-08-14 2020-08-14 一种基于raid条带写优化方法

Publications (2)

Publication Number Publication Date
CN112068770A CN112068770A (zh) 2020-12-11
CN112068770B true CN112068770B (zh) 2023-01-10

Family

ID=73661533

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010816369.5A Active CN112068770B (zh) 2020-08-14 2020-08-14 一种基于raid条带写优化方法

Country Status (1)

Country Link
CN (1) CN112068770B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114237500A (zh) * 2021-12-09 2022-03-25 北京美信时代科技有限公司 一种通过缓存事务提高写入效率的方法及系统
CN115629714B (zh) * 2022-12-06 2023-03-17 苏州浪潮智能科技有限公司 Raid卡的写方法、raid卡的写系统及相关装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101196799A (zh) * 2008-01-09 2008-06-11 杭州华三通信技术有限公司 磁盘冗余阵列的同步方法和磁盘冗余阵列及其控制器
CN101566924A (zh) * 2008-04-23 2009-10-28 中兴通讯股份有限公司 一种磁盘阵列的数据读写方法
CN102184079A (zh) * 2011-04-29 2011-09-14 华中科技大学 一种raid5级别磁盘阵列的写性能优化方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101196799A (zh) * 2008-01-09 2008-06-11 杭州华三通信技术有限公司 磁盘冗余阵列的同步方法和磁盘冗余阵列及其控制器
CN101566924A (zh) * 2008-04-23 2009-10-28 中兴通讯股份有限公司 一种磁盘阵列的数据读写方法
CN102184079A (zh) * 2011-04-29 2011-09-14 华中科技大学 一种raid5级别磁盘阵列的写性能优化方法

Also Published As

Publication number Publication date
CN112068770A (zh) 2020-12-11

Similar Documents

Publication Publication Date Title
US7640452B2 (en) Method for reconstructing data in case of two disk drives of RAID failure and system therefor
KR100701563B1 (ko) 스토리지 제어 장치 및 방법
CN101276302B (zh) 一种磁盘阵列系统中磁盘故障处理和数据重构方法
CN102184129B (zh) 磁盘阵列的容错方法和装置
CN112068770B (zh) 一种基于raid条带写优化方法
CN101436149B (zh) 磁盘阵列数据重建方法
CN103019623B (zh) 存储盘处理方法及装置
CN110187830A (zh) 一种加速磁盘阵列重建的方法及系统
CN110795273B (zh) 一种raid的写洞保护方法、系统及存储介质
CN108228382B (zh) 一种针对evenodd码单盘故障的数据恢复方法
CN107885620B (zh) 一种提高固态盘阵列性能和可靠性的方法及系统
WO2024113685A1 (zh) 一种raid阵列的数据恢复方法及相关装置
CN106527983B (zh) 一种数据存储方法以及磁盘阵列
US20190286374A1 (en) Selectively improving raid operations latency
CN114064346B (zh) 一种纠删码数据一致性保障方法及系统
CN113849123B (zh) 一种慢盘的数据处理方法、系统、设备以及介质
CN111427516A (zh) Raid重建方法及装置
CN111897676A (zh) 一种基于数据库索引的文件备份方法及装置
CN111857573A (zh) 一种基于raid故障成员盘的智能更换方法及系统
CN109885263B (zh) 面向可重组raid的多目标快速重构方法
CN111930552B (zh) 坏块数据的恢复方法、装置、存储介质及电子设备
CN111522505B (zh) Raid重建过程中的数据处理方法及装置
CN114428592B (zh) Ssd硬盘的块信息存储方法和系统、ssd硬盘
CN117008845B (zh) 读写指令的划分方法、装置、存储介质及电子装置
CN110351386B (zh) 一种不同副本间的增量同步方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant