CN103186438A - 一种提高磁盘阵列数据重构效率的方法 - Google Patents

一种提高磁盘阵列数据重构效率的方法 Download PDF

Info

Publication number
CN103186438A
CN103186438A CN2013101122694A CN201310112269A CN103186438A CN 103186438 A CN103186438 A CN 103186438A CN 2013101122694 A CN2013101122694 A CN 2013101122694A CN 201310112269 A CN201310112269 A CN 201310112269A CN 103186438 A CN103186438 A CN 103186438A
Authority
CN
China
Prior art keywords
data
disk
thread
buffer queue
read
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.)
Pending
Application number
CN2013101122694A
Other languages
English (en)
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.)
Inspur Electronic Information Industry Co Ltd
Original Assignee
Inspur Electronic Information Industry 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 Inspur Electronic Information Industry Co Ltd filed Critical Inspur Electronic Information Industry Co Ltd
Priority to CN2013101122694A priority Critical patent/CN103186438A/zh
Publication of CN103186438A publication Critical patent/CN103186438A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

本发明提供一种提高磁盘阵列数据重构效率的方法,是把重构过程对同一条带的处理分成两个线程进行,一个线程只进行读盘操作,另一个线程进行写盘操作对缓存队列的数据块数量进行了限制,但数量大于条带缓存的数量,从而可以让写数据异步进行,并对读盘操作不造成影响。读取原数据盘的数据,校验得到数据加入到该缓存队列;另一个写盘的线程则从该缓存队列取得数据。对于每次写数据的位置要进行标示记录,可以更新在超级块信息里,防止断电重启后从头开始进行重构。

Description

一种提高磁盘阵列数据重构效率的方法
技术领域
本发明涉及计算机系统及存储技术领域,具体地说是一种提高磁盘阵列数据重构效率的方法。
背景技术
目前内核中的软RAID对数据于重构是按照条带进行,读取所有数据盘经过校验再把得到的数据写到添加的热备盘上;这个过程必须包含读和写操作,分两步完成,读写操作要相互等待,属于串行操作,降低了效率(如图1)。
对于具有冗余校验信息的RAID5系统, RAID5新创建时各成员盘数据并不能保证条带数据是一致性的. 数据的不一致性使得系统无法按照正常流程处理主机IO 请求, 所得到的校验数据可能是错误的,因此这些级别的RAID5创建时必须先进行一致性初始化工作。RAID5是支持一块盘失效的情况,当一块盘失效,出现降级的情况,加入热备盘进行恢复,也相当于要进行一致性校验,任务必须遍历成员盘的所有数据, 这是一项非常耗时的工作, 并且随着磁盘的容量的增大,这个过程需要的时间就会更长。
在这个过程中,如果再出现另一块盘失效的话,那么由于RAID5的冗余机制,无法再进行恢复了,整个阵列就会失效。因此这个过程时间越长的话,再次有盘失效的概率就越大。因此有必要找到一种方法加快对失效盘的数据重构。
发明内容
本发明的目的是提供一种提高磁盘阵列数据重构效率的方法。
本发明的目的是按以下方式实现的,把传统的重构过程对同一条带的读和写处理线程分成A、B两个线程进行,只让条带处理线程A进行读取操作,读取阵列中除热备盘以外的数据并校验,此操作完成后立即释放占有的条带缓存;而另一个写盘操作由一个线程B单独进行;读和写的速度相互协调匹配,这样就把原来串行的操作改成并行的操作,从而提高重构的效率,具体步骤如下:
线程A读取阵列中除热备盘以外的数据,采用队列先进先出原则校验得到重构数据块加入到缓存队列中,为了控制内存的占用情况,系统对缓存队列的数据块数量进行了限制,但数量应大于条带缓存的数量,从而让写数据操作异步进行;
线程B不断从缓存队列按顺序取得数据,队列的先进先出原则使得先校验出来的数据先写入磁盘,对于每次写数据的热备盘的位置,要进行标示记录更新在超级块信息里,防止断电重启后从头开始进行重构,重新启动从这个标示记录开始重构即可;
当线程A发现缓存队列占满时就等待,当写盘线程B发现缓存队列为空的时候也要等待,其中,读取校验出来的数据,很快被写盘线程B写到磁盘,读写速度达到一个均衡,缓存队列也占不满,由于写盘操作的等待不会影响效率,从而整体效率得到提升;
如果写盘速度太慢,读盘速度大于写盘速度,但读盘的数量主要受制于条带缓存的数量,系统设置缓存队列数量大于条带缓存,一个数据块只相当于一个盘对应的数据块,相当于是数倍甚至几十倍于条带缓存,所以只要对缓存队列限制得当,不会影响读盘线程A的效率,反而能够明显提升整个数据重构流程的效率。
本发明的有益效果是:是把重构过程对同一条带的处理分成两个线程进行,一个线程只进行读盘操作,另一个线程进行写盘操作对缓存队列的数据块数量进行了限制,但数量大于条带缓存的数量,从而可以让写数据异步进行,并对读盘操作不造成影响。读取原数据盘的数据,校验得到数据加入到该缓存队列;另一个写盘的线程则从该缓存队列取得数据。对于每次写数据的位置要进行标示记录,可以更新在超级块信息里,防止断电重启后从头开始进行重构。
附图说明
图1现有技术的数据重构处理示意图;
图2改进后数据重构处理示意图;
图3 改进后读盘操作线程A流程;
图4 改进后读盘操作线程B流程图。
具体实施方式
参照说明书附图对本发明的方法作以下详细地说明。
目前内核中的软RAID对于重构是按照条带进行,读取所有数据盘经过校验再把得到的数据写到添加的热备盘上;这个过程必须包含读和写操作,分两步完成,读写操作要相互等待,属于串行操作,降低了效率(如图1)。本发明就是把读和写分开进行,只让条带处理线程A进行读取操作,读取阵列中除热备盘以外的数据并校验,此操作完成后立即释放占有的条带缓存;而另一个写盘操作由一个线程B单独进行;读和写的速度可以相互协调匹配(如图2 )。这样就把原来串行的操作改成并行的操作,从而提高重构的效率。
线程A的处理流程如图3,线程B的流程如图4。
线程A读取阵列中除热备盘以外的数据,校验得到重构数据块加入到缓存队列(先进先出原则)中,为了控制内存的占用情况,本发明对缓存队列的数据块数量(每个数据块4K )进行了限制,但数量应大于条带缓存的数量,从而可以让写数据操作异步进行。另一个线程B不断从缓存队列按顺序取得数据,队列的先进先出原则使得先校验出来的数据先写入磁盘,对于每次写数据的热备盘的位置要进行标示记录,可以更新在超级块信息里,防止断电重启后从头开始进行重构,重新启动从这个标示记录开始重构即可。
当线程A发现缓存队列占满时就等待,当写盘线程B发现缓存队列为空的时候也要等待。本发明的一种情况是读取校验出来的数据,很快被写盘线程B写到磁盘,读写速度达到一个均衡,缓存队列也占不满,从而相对目前的方法有很大的效率提升(写盘操作的等待不会影响效率);本发明的另一种情况可能是写盘速度太慢,读盘速度大于写盘速度,但读盘的数量主要受制于条带缓存的数量,本发明设置缓存队列数量大于条带缓存,一个数据块只相当于一个盘对应的数据块,可以是数倍甚至几十倍于条带缓存(具体要考虑到内存的大小),所以只要对缓存队列限制得当,不会影响读盘线程A的效率,反而能够明显提升整个数据重构流程的效率。
除说明书所述的技术特征外,均为本专业技术人员的已知技术。

Claims (1)

1.一种提高磁盘阵列数据重构效率的方法, 其特征在于,把传统的重构过程对同一条带的读和写处理线程分成A、B两个线程进行,只让条带处理线程A进行读取操作,读取阵列中除热备盘以外的数据并校验,此操作完成后立即释放占有的条带缓存;而另一个写盘操作由一个线程B单独进行;读和写的速度相互协调匹配,这样就把原来串行的操作改成并行的操作,从而提高重构的效率,具体步骤如下:
线程A读取阵列中除热备盘以外的数据,采用队列先进先出原则校验得到重构数据块加入到缓存队列中,为了控制内存的占用情况,系统对缓存队列的数据块数量进行了限制,但数量应大于条带缓存的数量,从而让写数据操作异步进行;
线程B不断从缓存队列按顺序取得数据,队列的先进先出原则使得先校验出来的数据先写入磁盘,对于每次写数据的热备盘的位置,要进行标示记录更新在超级块信息里,防止断电重启后从头开始进行重构,重新启动从这个标示记录开始重构即可;
当线程A发现缓存队列占满时就等待,当写盘线程B发现缓存队列为空的时候也要等待,其中,读取校验出来的数据,很快被写盘线程B写到磁盘,读写速度达到一个均衡,缓存队列也占不满,由于写盘操作的等待不会影响效率,从而整体效率得到提升;
如果写盘速度太慢,读盘速度大于写盘速度,但读盘的数量主要受制于条带缓存的数量,系统设置缓存队列数量大于条带缓存,一个数据块只相当于一个盘对应的数据块,相当于是数倍甚至几十倍于条带缓存,所以只要对缓存队列限制得当,不会影响读盘线程A的效率,反而能够明显提升整个数据重构流程的效率。
CN2013101122694A 2013-04-02 2013-04-02 一种提高磁盘阵列数据重构效率的方法 Pending CN103186438A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2013101122694A CN103186438A (zh) 2013-04-02 2013-04-02 一种提高磁盘阵列数据重构效率的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2013101122694A CN103186438A (zh) 2013-04-02 2013-04-02 一种提高磁盘阵列数据重构效率的方法

Publications (1)

Publication Number Publication Date
CN103186438A true CN103186438A (zh) 2013-07-03

Family

ID=48677616

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2013101122694A Pending CN103186438A (zh) 2013-04-02 2013-04-02 一种提高磁盘阵列数据重构效率的方法

Country Status (1)

Country Link
CN (1) CN103186438A (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104298609A (zh) * 2014-08-14 2015-01-21 浪潮(北京)电子信息产业有限公司 数据拷贝方法和装置
CN106484324A (zh) * 2016-09-13 2017-03-08 郑州云海信息技术有限公司 一种raid重建的方法、系统及raid
CN109783034A (zh) * 2019-02-12 2019-05-21 记忆科技(深圳)有限公司 一种提升磁盘阵列处理效率的方法及其系统
CN109992212A (zh) * 2019-04-10 2019-07-09 苏州浪潮智能科技有限公司 一种数据写入方法和一种数据读取方法
CN110134340A (zh) * 2019-05-23 2019-08-16 苏州浪潮智能科技有限公司 一种元数据更新的方法、装置、设备以及存储介质
CN110704248A (zh) * 2019-09-04 2020-01-17 苏州浪潮智能科技有限公司 一种可调速率的磁盘阵列重构方法、装置及电子设备
WO2020155930A1 (zh) * 2019-02-01 2020-08-06 杭州海康威视数字技术股份有限公司 磁盘阵列空间划分方法、装置、电子设备及存储介质
CN112667159A (zh) * 2020-12-25 2021-04-16 深圳创新科技术有限公司 一种基于纠删码的数据并行重构方法及系统
CN113391947A (zh) * 2021-06-22 2021-09-14 深圳忆联信息系统有限公司 Ssd raid条带掉电快速恢复方法、装置、计算机设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5671385A (en) * 1993-04-29 1997-09-23 Southwestern Bell Technology Resources, Inc. Memory subsystem with disk meshing, controller meshing, and efficient cache buffer lookup
CN1390323A (zh) * 1999-09-01 2003-01-08 英特尔公司 在多线程并行处理器结构中使用的寄存器组
CN101615146A (zh) * 2009-07-08 2009-12-30 中国科学院计算技术研究所 磁盘阵列在线重构系统及方法
US8132044B1 (en) * 2010-02-05 2012-03-06 Symantec Corporation Concurrent and incremental repair of a failed component in an object based storage system for high availability
CN102981936A (zh) * 2012-11-15 2013-03-20 浪潮电子信息产业股份有限公司 一种磁盘阵列数据重构的方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5671385A (en) * 1993-04-29 1997-09-23 Southwestern Bell Technology Resources, Inc. Memory subsystem with disk meshing, controller meshing, and efficient cache buffer lookup
CN1390323A (zh) * 1999-09-01 2003-01-08 英特尔公司 在多线程并行处理器结构中使用的寄存器组
CN101615146A (zh) * 2009-07-08 2009-12-30 中国科学院计算技术研究所 磁盘阵列在线重构系统及方法
US8132044B1 (en) * 2010-02-05 2012-03-06 Symantec Corporation Concurrent and incremental repair of a failed component in an object based storage system for high availability
CN102981936A (zh) * 2012-11-15 2013-03-20 浪潮电子信息产业股份有限公司 一种磁盘阵列数据重构的方法

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104298609A (zh) * 2014-08-14 2015-01-21 浪潮(北京)电子信息产业有限公司 数据拷贝方法和装置
CN104298609B (zh) * 2014-08-14 2017-11-10 浪潮(北京)电子信息产业有限公司 数据拷贝方法和装置
CN106484324A (zh) * 2016-09-13 2017-03-08 郑州云海信息技术有限公司 一种raid重建的方法、系统及raid
WO2020155930A1 (zh) * 2019-02-01 2020-08-06 杭州海康威视数字技术股份有限公司 磁盘阵列空间划分方法、装置、电子设备及存储介质
CN109783034A (zh) * 2019-02-12 2019-05-21 记忆科技(深圳)有限公司 一种提升磁盘阵列处理效率的方法及其系统
CN109783034B (zh) * 2019-02-12 2022-03-25 记忆科技(深圳)有限公司 一种提升磁盘阵列处理效率的方法及其系统
CN109992212A (zh) * 2019-04-10 2019-07-09 苏州浪潮智能科技有限公司 一种数据写入方法和一种数据读取方法
CN110134340A (zh) * 2019-05-23 2019-08-16 苏州浪潮智能科技有限公司 一种元数据更新的方法、装置、设备以及存储介质
CN110704248A (zh) * 2019-09-04 2020-01-17 苏州浪潮智能科技有限公司 一种可调速率的磁盘阵列重构方法、装置及电子设备
CN112667159A (zh) * 2020-12-25 2021-04-16 深圳创新科技术有限公司 一种基于纠删码的数据并行重构方法及系统
CN113391947A (zh) * 2021-06-22 2021-09-14 深圳忆联信息系统有限公司 Ssd raid条带掉电快速恢复方法、装置、计算机设备及存储介质

Similar Documents

Publication Publication Date Title
CN103186438A (zh) 一种提高磁盘阵列数据重构效率的方法
US9672245B2 (en) Memory storage apparatus, method of supporting transaction function for database, and memory system
CN107832237B (zh) 一种快速重建未映射表的方法及固态硬盘
US20140143476A1 (en) Usage of cache and write transaction information in a storage device
US20150058534A1 (en) Managing method for cache memory of solid state drive
CN101329641A (zh) 一种磁盘阵列的数据重建方法
US9639287B1 (en) Write command reporting
Kim et al. Reducing excessive journaling overhead with small-sized NVRAM for mobile devices
US9720770B2 (en) Method for calculating raids parity code on interleaving and out of order data streams, and a system using the same
US9785438B1 (en) Media cache cleaning based on workload
CN102981783A (zh) 一种基于Nand Flash的Cache加速方法
CN111290704A (zh) 用于控制储存在存储系统中的数据的装置和方法
US20160085445A1 (en) Method operating raid system and data storage systems using write command log
CN102023902B (zh) 一种磁盘阵列重建方法
Kadekodi et al. {Caveat-Scriptor}: Write Anywhere Shingled Disks
KR101374065B1 (ko) 칩 레벨 평행 플래시 메모리를 위한 정보 분별 방법 및 장치
US20140237172A1 (en) Imparting durability to a transactional memory system
CN102981936A (zh) 一种磁盘阵列数据重构的方法
US20170017405A1 (en) Systems and methods for improving flash-oriented file system garbage collection
CN105677508A (zh) 一种云存储中纠删码数据的修改方法及系统
US10339053B2 (en) Variable cache flushing
US9772782B2 (en) Non-volatile complement data cache
CN106469119B (zh) 一种基于nvdimm的数据写缓存方法及其装置
CN115756312A (zh) 数据访问系统、数据访问方法和存储介质
CN102789370B (zh) 一种raid阵列同步方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20130703