一种向磁盘阵列中写入数据的方法及系统的制作方法

文档序号:6469922阅读:154来源:国知局
专利名称:一种向磁盘阵列中写入数据的方法及系统的制作方法
技术领域
本发明属于数据存储领域,特别涉及一种向,兹盘阵列中写数据的方法及系统。
背景技术
磁盘是数据存储的重要介质,为了大容量的存储数据,可以采用磁盘阵列
RAID (Redundant Array of Independent Disks),即独立》兹盘冗余阵列,或简称石兹 盘阵列,它是一种把若干硬磁盘驱动器按照一定要求组成的一个整体,整个磁 盘阵列由阵列控制器管理的系统。这种技术1987年由加州大学伯克利分校提 出,最初的研制目的是为了组合小的廉价磁盘来代替大的昂贵磁盘,以降低大 批量数据存储的费用,同时也希望采用冗余信息的方式,使得磁盘失效时不会 使对数据的访问受损失,从而开发出 一定水平的数据保护技术。
对磁盘的写操作,特别是磁盘阵列的写操作涉及到对多个磁盘的大数据量 的写操作,因此,在进行写操作时效率是一个极其重要的问题,对磁盘阵列写 操作的常规处理方法是控制器接收在磁盘阵列中写入待写入数据A的起始位 置和待写入数据A的数据长度,以及待写入数据A,并设置一个緩存空间用于 緩存上述信息(起始位置、数据的长度和待写入数据),当接收到上述信息并 緩存后,就直接从緩存中将上述信息下发到磁盘阵列,磁盘阵列根据控制器下 发的信息进行写盘操作,导致写操作效率低下。

发明内容
为了解决现有技术中,进行磁盘阵列写盘操作,写操作效率低下的问题, 本发明实施例提供了 一种向磁盘阵列阵列中写数据的方法,包括
控制器接收并緩存多个写入信息,所述写入信息包括待写入数据、在磁 盘阵列中写入待写入数据的起始位置和待写入数据的数据长度;
若存在待写入凄t据在写入数据的位置上重叠或连续,则控制器将先接收的 待写入数据中和后接收的待写入数据在写入数据的位置上不重叠的部分,与后 接收的待写入数据合并;
控制器确定合并后的待写入数据对应的起始位置和合并后的待写入数据 的数据长度;
磁盘阵列根据合并后的待写入数据、合并后的待写入数据对应的起始位置 和合并后的待写入数据的数据长度,进行写操作。
同时本发明实施例还提供一种向磁盘阵列中写数据的系统,包括
控制器用于接收并緩存多个写入信息,所述写入信息包括待写入数据、 在磁盘阵列中写入待写入数据的起始位置和待写入数据的数据长度;
若存在待写入数据在写入数据的位置上重叠或连续,则将先接收的待写入 数据中和后接收的待写入数据在写入数据的位置上不重叠的部分,与后接收的 待写入数据合并;
确定合并后的待写入数据对应的起始位置和合并后的待写入数据的数据 长度;
磁盘阵列用于根据合并后的待写入数据、合并后的待写入数据对应的起 始位置和合并后的待写入数据的数据长度,进行写操作。
由上述本发明提供的具体实施方案可以看出,正是由于将位置上重叠或连 续的待写入数据合并后再进行写盘操作,减少了写盘的次数,导致写操作效率 提高。


图1为本发明提供的第一实施例方法流程图2为第 一 实施例中待写入信息写入数据的位置的关系图3为根据磁盘阵列应用的领域选择写入方法的处理流程图; 图4为本发明提供的第二实施例系统结构图。
具体实施例方式
本发明提供的第一实施例是一种向磁盘阵列中写入数据的方法,方法流程 如图1所示,包括
步骤102:控制器接收在磁盘阵列中写入待写入数据A的起始位置IO、待 写入数据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:控制器初始化过程 中通过读取配置文件中预存的一个变量,判断磁盘阵列使用的应用领域。若该 变量为l,即以写数据为主,执行步骤204:每次接收写入信息后,对待写入数 据进行合并处理后发送给磁盘阵列。若该变量为2,即以读数据为主,就执行 步骤206:接收写入信息后,不对待写入数据合并,直接发送给磁盘阵列,这 样来实现磁盘阵列进行写操作时效率与灵活性的统一。
在选择写入信息合并终止时,有如下三种终止方式釆用设置上限的方式, 如在控制器模块中设置写入信息合并的个数为3,当緩存的写入信息个数达到3 时,就立即开始合并这3个写入信息并执行;采用超时方式,即在控制器模块 中设置一个超时时间5秒,当超时时间一到5秒,不管緩存多少个写入信息,就 立即开始合并这几个写入信息并执行;采用立即合并一个写命令方式,当写入 信息緩存的两个写入信息可以合并,就立即开始合并,并执行。
在本实施例中涉及的磁盘阵列也可以是单个磁盘。
本发明提供的第三实施例是一种向磁盘阵列中写入数据的系统,其结构如 图4所示,包括
控制器302:用于接收并緩存多个写入信息,所述写入信息包括待写入 数据、在磁盘阵列302中写入待写入数据的起始位置和待写入数据的数据长度;
若存在待写入数据在写入数据的位置上重叠或连续,则将先接收的待写入 数据中和后接收的待写入数据在写入数据的位置上不重叠的部分,与后接收的 待写入数据合并;
确定合并后的待写入数据对应的起始位置和合并后的待写入数据的数据 长度;
磁盘阵列304:用于根据合并后的待写入数据、合并后的待写入数据对应
的起始位置和合并后的待写入数据的数据长度,进行写操作。
进一步,控制器302:还用于若存在两个待写入数据在写入数据的位置上 重叠或连续,则将先接收的待写入数据中和后接收的待写入数据在写入数据的 位置上不重叠的部分,与后接收的待写入数据合并。
进一步,控制器302:还用于当緩存接收写入信息的个数达到预定值时, 执行待写入数据合并。
进一步,控制器302:还用于当緩存接收写入信息的时间达到预定值时, 执行待写入数据合并。
进一步,控制器302:还用于确定磁盘阵列应用的领域是以写数据为主。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发 明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及 其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
权利要求
1、一种向磁盘阵列中写入数据的方法,其特征在于,包括控制器接收并缓存多个写入信息,所述写入信息包括待写入数据、在磁盘阵列中写入待写入数据的起始位置和待写入数据的数据长度;若存在待写入数据在写入数据的位置上重叠或连续,则控制器将先接收的待写入数据中和后接收的待写入数据在写入数据的位置上不重叠的部分,与后接收的待写入数据合并;控制器确定合并后的待写入数据对应的起始位置和合并后的待写入数据的数据长度;磁盘阵列根据合并后的待写入数据、合并后的待写入数据对应的起始位置和合并后的待写入数据的数据长度,进行写操作。
2、 如权利要求1所述的方法,其特征在于,所述待写入数据合并步骤具 体为若存在两个待写入数据在写入数据的位置上重叠或连续,则控制器将先 接收的待写入数据中和后接收的待写入数据在写入数据的位置上不重叠的部 分,与后接收的待写入数据合并。
3、 如权利要求1所述的方法,其特征在于,当控制器緩存接收写入信息 的个数达到预定值时,执行待写入数据合并。
4、 如权利要求1所述的方法,其特征在于,当控制器緩存接收写入信息 的时间达到预定值时,执行待写入数据合并。
5、 如权利要求1所述的方法,其特征在于,控制器接收写入信息前还包 括控制器确定磁盘阵列应用的领域是以写数据为主的步骤。
6、 一种向磁盘阵列中写入数据的系统,其特征在于,包括控制器用于接收并緩存多个写入信息,所述写入信息包括待写入数据、 在磁盘阵列中写入待写入数据的起始位置和待写入数据的数据长度;若存在待写入数据在写入数据的位置上重叠或连续,则将先接收的待写入数据中和后接收的待写入数据在写入数据的位置上不重叠的部分,与后接收的待写入数据合并;确定合并后的待写入数据对应的起始位置和合并后的待写入数据的数据 长度;磁盘阵列用于根据合并后的待写入数据、合并后的待写入数据对应的起 始位置和合并后的待写入数据的数据长度,进行写搡作。
7、 如权利要求6所述的系统,其特征在于,控制器还用于若存在两个 待写入数据在写入数据的位置上重叠或连续,则将先接收的待写入数据中和后 接收的待写入数据在写入数据的位置上不重叠的部分,与后接收的待写入数据 合并。
8、 如权利要求6所述的系统,其特征在于,控制器还用于当緩存接收 写入信息的个数达到预定值时,执行待写入数据合并。
9、 如权利要求6所述的系统,其特征在于,控制器还用于当緩存接收 写入信息的时间达到预定值时,执行待写入数据合并。
10、 如权利要求6所述的系统,其特征在于,控制器还用于确定磁盘阵 列应用的领域是以写数据为主。
全文摘要
公开了一种向磁盘阵列中写入数据的方法及系统,为了解决磁盘阵列进行写盘操作效率低下的问题,本发明公开的方法包括控制器接收并缓存多个写入信息,所述写入信息包括待写入数据、及其起始位置和数据长度;若存在待写入数据相互之间在写入数据的位置上重叠或连续,则将待写入数据合并;控制器确定合并后的待写入数据对应的起始位置和合并后的待写入数据的数据长度;控制器向磁盘阵列发送合并后的待写入数据、及其起始位置和数据长度;磁盘阵列据此进行写操作,正是由于将位置上重叠或连续的待写入数据合并后再进行写盘操作,使得写操作效率提高。
文档编号G06F3/06GK101354636SQ200810212330
公开日2009年1月28日 申请日期2008年9月8日 优先权日2008年9月8日
发明者贺永红 申请人:创新科存储技术(深圳)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1