CN101354636A - 一种向磁盘阵列中写入数据的方法及系统 - Google Patents
一种向磁盘阵列中写入数据的方法及系统 Download PDFInfo
- Publication number
- CN101354636A CN101354636A CNA2008102123301A CN200810212330A CN101354636A CN 101354636 A CN101354636 A CN 101354636A CN A2008102123301 A CNA2008102123301 A CN A2008102123301A CN 200810212330 A CN200810212330 A CN 200810212330A CN 101354636 A CN101354636 A CN 101354636A
- Authority
- CN
- China
- Prior art keywords
- data
- written
- controller
- merging
- writing
- 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
Links
Images
Landscapes
- Signal Processing For Digital Recording And Reproducing (AREA)
Abstract
公开了一种向磁盘阵列中写入数据的方法及系统,为了解决磁盘阵列进行写盘操作效率低下的问题,本发明公开的方法包括:控制器接收并缓存多个写入信息,所述写入信息包括:待写入数据、及其起始位置和数据长度;若存在待写入数据相互之间在写入数据的位置上重叠或连续,则将待写入数据合并;控制器确定合并后的待写入数据对应的起始位置和合并后的待写入数据的数据长度;控制器向磁盘阵列发送合并后的待写入数据、及其起始位置和数据长度;磁盘阵列据此进行写操作,正是由于将位置上重叠或连续的待写入数据合并后再进行写盘操作,使得写操作效率提高。
Description
技术领域
本发明属于数据存储领域,特别涉及一种向磁盘阵列中写数据的方法及系统。
背景技术
磁盘是数据存储的重要介质,为了大容量的存储数据,可以采用磁盘阵列RAID(Redundant Array of Independent Disks),即独立磁盘冗余阵列,或简称磁盘阵列,它是一种把若干硬磁盘驱动器按照一定要求组成的一个整体,整个磁盘阵列由阵列控制器管理的系统。这种技术1987年由加州大学伯克利分校提出,最初的研制目的是为了组合小的廉价磁盘来代替大的昂贵磁盘,以降低大批量数据存储的费用,同时也希望采用冗余信息的方式,使得磁盘失效时不会使对数据的访问受损失,从而开发出一定水平的数据保护技术。
对磁盘的写操作,特别是磁盘阵列的写操作涉及到对多个磁盘的大数据量的写操作,因此,在进行写操作时效率是一个极其重要的问题,对磁盘阵列写操作的常规处理方法是:控制器接收在磁盘阵列中写入待写入数据A的起始位置和待写入数据A的数据长度,以及待写入数据A,并设置一个缓存空间用于缓存上述信息(起始位置、数据的长度和待写入数据),当接收到上述信息并缓存后,就直接从缓存中将上述信息下发到磁盘阵列,磁盘阵列根据控制器下发的信息进行写盘操作,导致写操作效率低下。
发明内容
为了解决现有技术中,进行磁盘阵列写盘操作,写操作效率低下的问题,本发明实施例提供了一种向磁盘阵列阵列中写数据的方法,包括:
控制器接收并缓存多个写入信息,所述写入信息包括:待写入数据、在磁盘阵列中写入待写入数据的起始位置和待写入数据的数据长度;
若存在待写入数据在写入数据的位置上重叠或连续,则控制器将先接收的待写入数据中和后接收的待写入数据在写入数据的位置上不重叠的部分,与后接收的待写入数据合并;
控制器确定合并后的待写入数据对应的起始位置和合并后的待写入数据的数据长度;
磁盘阵列根据合并后的待写入数据、合并后的待写入数据对应的起始位置和合并后的待写入数据的数据长度,进行写操作。
同时本发明实施例还提供一种向磁盘阵列中写数据的系统,包括:
控制器:用于接收并缓存多个写入信息,所述写入信息包括:待写入数据、在磁盘阵列中写入待写入数据的起始位置和待写入数据的数据长度;
若存在待写入数据在写入数据的位置上重叠或连续,则将先接收的待写入数据中和后接收的待写入数据在写入数据的位置上不重叠的部分,与后接收的待写入数据合并;
确定合并后的待写入数据对应的起始位置和合并后的待写入数据的数据长度;
磁盘阵列:用于根据合并后的待写入数据、合并后的待写入数据对应的起始位置和合并后的待写入数据的数据长度,进行写操作。
由上述本发明提供的具体实施方案可以看出,正是由于将位置上重叠或连续的待写入数据合并后再进行写盘操作,减少了写盘的次数,导致写操作效率提高。
附图说明
图1为本发明提供的第一实施例方法流程图;
图2为第一实施例中待写入信息写入数据的位置的关系图;
图3为根据磁盘阵列应用的领域选择写入方法的处理流程图;
图4为本发明提供的第二实施例系统结构图。
具体实施方式
本发明提供的第一实施例是一种向磁盘阵列中写入数据的方法,方法流程如图1所示,包括:
步骤102:控制器接收在磁盘阵列中写入待写入数据A的起始位置10、待写入数据A的长度20以、及待写入数据A,并作为第一个写入信息缓存。
控制器接收在磁盘阵列中写入待写入数据B的起始位置25、待写入数据的长度15以及待写入数据B,并作为第二个写入信息并缓存。
控制器接收在磁盘阵列中写入待写入数据C的起始位置5和待写入数据C的长度10以及待写入数据C并作为第三个写入信息并缓存。
待写入信息写入数据的位置的关系图如图2所示。
由第一个写入信息可知,从起始位置10开始写入长度20的待写入数据A,也就是在位置10-29之间写入待写入数据A,由第二个写入信息可知,从起始位置25开始写入长度15的待写入数据B,也就是在位置25-39之间写入待写入数据B,由第三个写入信息可知,从起始位置5开始写入长度10的待写入数据C,也就是在位置5-14之间写入待写入数据C。
步骤104:由于写入待写入数据A的位置为10-29,写入待写入数据B的位置为25-39,两者重叠,将待写入数据A写入到位置10-24的部分和待写入数据B合并,得到待写入数据AB。
步骤106:确定合并后的待写入数据AB对应的起始位置10和数据长度30。
步骤108:向磁盘阵列发送合并后的写入信息,即合并后的待写入数据AB、及其对应的起始位置10和数据长度30。
步骤110:磁盘阵列根据接收的合并后的写入信息进行写操作。
通过上述步骤可知,因为写入待写入数据A后再写入待写入数据B,两者写入位置有重叠部分,后写入的待写入数据B会覆盖部分待写入数据A(位置25-29),所以先将待写入数据A和待写入数据B合并,再进行写操作,可以减少一次写操作。
其中在步骤102中,控制器接收第一个写入信息并缓存,该写入信息包括:待写入数据A、在磁盘阵列中写入待写入数据A的起始位置10和待写入数据A的长度20。
控制器接收第二个写入信息并缓存,该写入信息包括的待写入数据B、在磁盘阵列中写入待写入数据B的起始位置30和待写入数据的长度15。
在步骤104中,待写入数据A写入数据的位置10-29和待写入数据B写入数据的位置30-44之间连续,则直接合并。
步骤106:获取合并后的待写入数据AB对应的起始位置10和数据长度35。
因为写入待写入数据A后再写入待写入数据B,两者写入位置连续,所以先将待写入数据A和待写入数据B合并,再进行写操作,可以减少一次写操作。
或者在步骤102中,控制器接收第一个写入信息并缓存,该写入信息包括:待写入数据A、在磁盘阵列中写入待写入数据A的起始位置10和待写入数据A的长度20。
控制器接收第二个写入信息并缓存,该写入信息包括:的待写入数据B、在磁盘阵列中写入待写入数据B的起始位置10和待写入数据的长度25。
在步骤104中,待写入数据A写入数据的位置10-29,被待写入数据B写入数据的位置10-34覆盖,直接采用待写入数据B作为合并的待写入数据AB。
步骤106:获取合并后的待写入数据AB对应的起始位置10和数据长度25。
根据需求可以将2个待写入数据合并,也可以将3个待写入数据合并。写入待写入数据C的位置为5-14和写入待写入数据AB(对应的起始位置10和数据长度30)10-39,两者重叠,将待写入数据AB写入到位置15-39的部分和待写入数据C合并,得到待写入数据ABC。待写入数据ABC对应的起始位置5和数据长度35。
磁盘阵列应用的领域分为是以写数据为主,例如视频监控应用(IPTV),还是以读数据为主,例如流媒体应用。因此需针对磁盘阵列具有不同的应用领域,建立一个对写入信息优化的处理框架:通过在配置文件中配置磁盘阵列使用的应用领域来实现对写入信息的处理。如图3所示,步骤202:控制器初始化过程中通过读取配置文件中预存的一个变量,判断磁盘阵列使用的应用领域。若该变量为1,即以写数据为主,执行步骤204:每次接收写入信息后,对待写入数据进行合并处理后发送给磁盘阵列。若该变量为2,即以读数据为主,就执行步骤206:接收写入信息后,不对待写入数据合并,直接发送给磁盘阵列,这样来实现磁盘阵列进行写操作时效率与灵活性的统一。
在选择写入信息合并终止时,有如下三种终止方式:采用设置上限的方式,如在控制器模块中设置写入信息合并的个数为3,当缓存的写入信息个数达到3时,就立即开始合并这3个写入信息并执行;采用超时方式,即在控制器模块中设置一个超时时间5秒,当超时时间一到5秒,不管缓存多少个写入信息,就立即开始合并这几个写入信息并执行;采用立即合并一个写命令方式,当写入信息缓存的两个写入信息可以合并,就立即开始合并,并执行。
在本实施例中涉及的磁盘阵列也可以是单个磁盘。
本发明提供的第三实施例是一种向磁盘阵列中写入数据的系统,其结构如图4所示,包括:
控制器302:用于接收并缓存多个写入信息,所述写入信息包括:待写入数据、在磁盘阵列302中写入待写入数据的起始位置和待写入数据的数据长度;
若存在待写入数据在写入数据的位置上重叠或连续,则将先接收的待写入数据中和后接收的待写入数据在写入数据的位置上不重叠的部分,与后接收的待写入数据合并;
确定合并后的待写入数据对应的起始位置和合并后的待写入数据的数据长度;
磁盘阵列304:用于根据合并后的待写入数据、合并后的待写入数据对应的起始位置和合并后的待写入数据的数据长度,进行写操作。
进一步,控制器302:还用于若存在两个待写入数据在写入数据的位置上重叠或连续,则将先接收的待写入数据中和后接收的待写入数据在写入数据的位置上不重叠的部分,与后接收的待写入数据合并。
进一步,控制器302:还用于当缓存接收写入信息的个数达到预定值时,执行待写入数据合并。
进一步,控制器302:还用于当缓存接收写入信息的时间达到预定值时,执行待写入数据合并。
进一步,控制器302:还用于确定磁盘阵列应用的领域是以写数据为主。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (10)
1、一种向磁盘阵列中写入数据的方法,其特征在于,包括:
控制器接收并缓存多个写入信息,所述写入信息包括:待写入数据、在磁盘阵列中写入待写入数据的起始位置和待写入数据的数据长度;
若存在待写入数据在写入数据的位置上重叠或连续,则控制器将先接收的待写入数据中和后接收的待写入数据在写入数据的位置上不重叠的部分,与后接收的待写入数据合并;
控制器确定合并后的待写入数据对应的起始位置和合并后的待写入数据的数据长度;
磁盘阵列根据合并后的待写入数据、合并后的待写入数据对应的起始位置和合并后的待写入数据的数据长度,进行写操作。
2、如权利要求1所述的方法,其特征在于,所述待写入数据合并步骤具体为:若存在两个待写入数据在写入数据的位置上重叠或连续,则控制器将先接收的待写入数据中和后接收的待写入数据在写入数据的位置上不重叠的部分,与后接收的待写入数据合并。
3、如权利要求1所述的方法,其特征在于,当控制器缓存接收写入信息的个数达到预定值时,执行待写入数据合并。
4、如权利要求1所述的方法,其特征在于,当控制器缓存接收写入信息的时间达到预定值时,执行待写入数据合并。
5、如权利要求1所述的方法,其特征在于,控制器接收写入信息前还包括:控制器确定磁盘阵列应用的领域是以写数据为主的步骤。
6、一种向磁盘阵列中写入数据的系统,其特征在于,包括:
控制器:用于接收并缓存多个写入信息,所述写入信息包括:待写入数据、在磁盘阵列中写入待写入数据的起始位置和待写入数据的数据长度;
若存在待写入数据在写入数据的位置上重叠或连续,则将先接收的待写入数据中和后接收的待写入数据在写入数据的位置上不重叠的部分,与后接收的待写入数据合并;
确定合并后的待写入数据对应的起始位置和合并后的待写入数据的数据长度;
磁盘阵列:用于根据合并后的待写入数据、合并后的待写入数据对应的起始位置和合并后的待写入数据的数据长度,进行写操作。
7、如权利要求6所述的系统,其特征在于,控制器:还用于若存在两个待写入数据在写入数据的位置上重叠或连续,则将先接收的待写入数据中和后接收的待写入数据在写入数据的位置上不重叠的部分,与后接收的待写入数据合并。
8、如权利要求6所述的系统,其特征在于,控制器:还用于当缓存接收写入信息的个数达到预定值时,执行待写入数据合并。
9、如权利要求6所述的系统,其特征在于,控制器:还用于当缓存接收写入信息的时间达到预定值时,执行待写入数据合并。
10、如权利要求6所述的系统,其特征在于,控制器:还用于确定磁盘阵列应用的领域是以写数据为主。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2008102123301A CN101354636A (zh) | 2008-09-08 | 2008-09-08 | 一种向磁盘阵列中写入数据的方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2008102123301A CN101354636A (zh) | 2008-09-08 | 2008-09-08 | 一种向磁盘阵列中写入数据的方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101354636A true CN101354636A (zh) | 2009-01-28 |
Family
ID=40307461
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2008102123301A Pending CN101354636A (zh) | 2008-09-08 | 2008-09-08 | 一种向磁盘阵列中写入数据的方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101354636A (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103729149A (zh) * | 2013-12-31 | 2014-04-16 | 创新科存储技术有限公司 | 一种存储数据的方法 |
CN104317656A (zh) * | 2014-10-14 | 2015-01-28 | 深圳市锐明视讯技术有限公司 | 一种块设备输入输出请求调度的方法及装置 |
CN106033324A (zh) * | 2015-03-09 | 2016-10-19 | 杭州海康威视数字技术股份有限公司 | 一种数据存储的方法和装置 |
CN107203330A (zh) * | 2016-03-17 | 2017-09-26 | 北京忆恒创源科技有限公司 | 一种面向读写数据流的闪存数据分布方法 |
CN108021333A (zh) * | 2016-11-03 | 2018-05-11 | 阿里巴巴集团控股有限公司 | 随机读写数据的系统、装置及方法 |
CN109062499A (zh) * | 2018-06-28 | 2018-12-21 | 平安科技(深圳)有限公司 | 写数据方法、装置、计算机装置及存储介质 |
CN109558073A (zh) * | 2018-10-25 | 2019-04-02 | 深圳点猫科技有限公司 | 一种基于教育系统的磁盘延长寿命的方法及电子设备 |
CN110275841A (zh) * | 2019-06-20 | 2019-09-24 | 上海燧原智能科技有限公司 | 访问请求处理方法、装置、计算机设备和存储介质 |
CN111984204A (zh) * | 2020-09-28 | 2020-11-24 | 苏州浪潮智能科技有限公司 | 一种数据读写方法、装置及电子设备和存储介质 |
-
2008
- 2008-09-08 CN CNA2008102123301A patent/CN101354636A/zh active Pending
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103729149A (zh) * | 2013-12-31 | 2014-04-16 | 创新科存储技术有限公司 | 一种存储数据的方法 |
CN104317656A (zh) * | 2014-10-14 | 2015-01-28 | 深圳市锐明视讯技术有限公司 | 一种块设备输入输出请求调度的方法及装置 |
CN104317656B (zh) * | 2014-10-14 | 2018-01-16 | 深圳市锐明技术股份有限公司 | 一种块设备输入输出请求调度的方法及装置 |
CN106033324A (zh) * | 2015-03-09 | 2016-10-19 | 杭州海康威视数字技术股份有限公司 | 一种数据存储的方法和装置 |
CN107203330A (zh) * | 2016-03-17 | 2017-09-26 | 北京忆恒创源科技有限公司 | 一种面向读写数据流的闪存数据分布方法 |
CN108021333A (zh) * | 2016-11-03 | 2018-05-11 | 阿里巴巴集团控股有限公司 | 随机读写数据的系统、装置及方法 |
CN109062499A (zh) * | 2018-06-28 | 2018-12-21 | 平安科技(深圳)有限公司 | 写数据方法、装置、计算机装置及存储介质 |
CN109558073A (zh) * | 2018-10-25 | 2019-04-02 | 深圳点猫科技有限公司 | 一种基于教育系统的磁盘延长寿命的方法及电子设备 |
CN110275841A (zh) * | 2019-06-20 | 2019-09-24 | 上海燧原智能科技有限公司 | 访问请求处理方法、装置、计算机设备和存储介质 |
CN110275841B (zh) * | 2019-06-20 | 2020-09-04 | 上海燧原智能科技有限公司 | 访问请求处理方法、装置、计算机设备和存储介质 |
CN111984204A (zh) * | 2020-09-28 | 2020-11-24 | 苏州浪潮智能科技有限公司 | 一种数据读写方法、装置及电子设备和存储介质 |
CN111984204B (zh) * | 2020-09-28 | 2023-01-10 | 苏州浪潮智能科技有限公司 | 一种数据读写方法、装置及电子设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101354636A (zh) | 一种向磁盘阵列中写入数据的方法及系统 | |
CN102576293B (zh) | 固态存储设备和分层存储系统中的数据管理 | |
CN101354633B (zh) | 提高虚拟存储系统写效率的方法及虚拟存储系统 | |
EP2778889B1 (en) | Dynamic storage device provisioning | |
US7653781B2 (en) | Automatic RAID disk performance profiling for creating optimal RAID sets | |
CN101727395A (zh) | 闪存设备的管理系统、方法及闪存设备 | |
US20100153347A1 (en) | Method and system for preventing corruption of hard disk drive file system | |
US20070168607A1 (en) | Storage device using nonvolatile cache memory and control method thereof | |
CN101118477A (zh) | 一种提高磁盘数据访问效率的方法 | |
CN101118460A (zh) | 具有高功率和低功率处理器以及线程转移的系统 | |
US20090217067A1 (en) | Systems and Methods for Reducing Power Consumption in a Redundant Storage Array | |
CN102945207A (zh) | 一种块级数据的缓存管理方法及系统 | |
US20080005463A1 (en) | Command queue ordering by flipping active write zones | |
CN101383190A (zh) | 应用于固态硬盘的闪存均衡损耗算法 | |
US20070168603A1 (en) | Information recording apparatus and control method thereof | |
CN103441948A (zh) | 一种数据访问方法、网卡及存储系统 | |
CN101174198B (zh) | 数据存储系统及其数据存取方法 | |
CN103076993A (zh) | 一种密集型系统中的存储系统及方法 | |
US8014093B2 (en) | Hard disk sector/track remapping for transparent wear leveling | |
CN100580669C (zh) | 在Flash存储介质上的关于文件分配表的缓存实现方法 | |
CN114036079B (zh) | 映射表压缩方法、系统、存储器控制器、固态硬盘及数据读取方法 | |
CN101365088A (zh) | 一种硬盘录像方法 | |
US20080005384A1 (en) | Hard disk drive progressive channel interface | |
US8954662B2 (en) | SSD controller, and method for operating an SSD controller | |
CN101807212B (zh) | 嵌入式文件系统的缓存方法及嵌入式文件系统的缓存装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Open date: 20090128 |