用于磁盘阵列的缓存屏障命令处理方法及用于其的装置制造方法及图纸

技术编号:30728550 阅读:24 留言:0更新日期:2021-11-10 11:30
公开一种磁盘阵列控制器控制方法,包括:磁盘阵列控制器生成命令序列的步骤;及所述磁盘阵列控制器在确定了所述命令序列中包括的第一缓存屏障命令的情况下,在将在所述命令序列内配置于所述第一缓存屏障命令之后的第一写入命令传输给构成磁盘阵列的任意磁盘之前,将至少一个缓存屏障命令传输给所述任意磁盘的步骤。的步骤。的步骤。

【技术实现步骤摘要】
【国外来华专利技术】用于磁盘阵列的缓存屏障命令处理方法及用于其的装置


[0001]本专利技术涉及计算机技术,特别是涉及磁盘阵列(RAID)的控制技术。

技术介绍

[0002]<磁盘阵列>
[0003]磁盘阵列(RAID)作为使多个磁盘并列连接而构成大容量磁盘的方法,用作增加读写操作性能的目的。
[0004]磁盘阵列控制器在服务于写入命令时,收集从主机传递的块后,按特定单位,例如按块单位或块的整数倍单位,将收集的块记录于构成磁盘阵列的多个磁盘。构成磁盘阵列的各个磁盘独立地运转,因而磁盘阵列控制器可以将收集的块并列地记录于多个磁盘。
[0005]将一次记录于构成磁盘阵列的磁盘的块的集合称为条带。
[0006]一个条带由多个数据块构成,或由具有多个数据块及关于他们的恢复信息的一个或其以上的代码块构成。代码块存储了当磁盘损伤时能够恢复损伤磁盘中存储的数据块的内容的信息。例如,可以具有一个条带中存在的数据块的奇偶校验位。
[0007]一个条带的大小为(一个条带使用的块的大小)*(块的个数)。假定由四个磁盘构成的磁盘阵列0(零)型的磁盘阵列。如果一个条带中每个磁盘记录的写入单位为一个块,则一个条带的大小为四个块。
[0008]例如,需将8个块写入磁盘阵列时,这些块按条带大小单位记录于4个磁盘。如果将块a、块b、块c、块d、块e、块f、块g及块h记录于四个磁盘,则{块a、块b、块c、块d}构成一个条带,{块e、块f、块g、块h}构成另一个条带。
[0009]如果在一个条带中每个磁盘记录的写入单位为两个块,则一个条带的大小为八个块。此时,如果将所述八个块记录于同一磁盘阵列0,则{a,b}、{c,d}、{e,f}、{g,h}记录于各个磁盘。
[0010]磁盘控制器在保障条带间的写入顺序的同时,将写入请求传递给各磁盘。
[0011]<条带的构成>
[0012]在基于奇偶校验位的磁盘阵列中,由N个块构成的一个条带由N

m个数据块和m个奇偶校验位块构成。磁盘阵列0为m=0。当是磁盘阵列4或磁盘阵列5时,m为1。当是磁盘阵列6时,m=2。
[0013]<条带的记录>
[0014]记录从主机传递的块的过程如下。
[0015]首先,磁盘阵列控制器构成条带。
[0016]然后,磁盘阵列控制器为了将属于一个条带的块分散记录于各磁盘,向各磁盘发送记录请求(write request)。各磁盘处理所接收的所述记录请求。即,将记录请求中标明的块接收到磁盘。此处的所谓“接收”,意思是传输到磁盘内部的缓存。
[0017]构成条带的所有块传递到构成磁盘阵列的磁盘后,磁盘阵列控制器以相同方式进行下一条带的记录。
[0018]当是磁盘阵列0时,一个条带只由数据块构成。在磁盘阵列5中,条带由数据块和一个奇偶校验位块构成。当是磁盘阵列6时,条带由数据块和两个奇偶校验位块构成。
[0019]<缓存屏障命令(cache barrier命令)>
[0020]缓存屏障命令是在单一磁盘中定义的存储装置用命令。在eMMC 5.0中,将该命令定义为标准。
[0021]到达一个磁盘的命令,以缓存屏障命令为基准,可以分为在缓存屏障命令到达前已经存在于磁盘的命令、在缓存屏障之后到达磁盘的命令。
[0022]满足(compatible)或支持缓存屏障命令的存储器控制器,保障在缓存屏障命令到达前已经存在于磁盘的写入命令将记录的块,先于在所述缓存屏障命令到达之后到达磁盘的写入命令需记录的块而被永久记录。
[0023]例如,假定命令按write(a)、write(b)、cache barrier、write(c)、write(D)按顺序到达磁盘。其中,write()是针对在()内的块的写入命令,所述cache barrier是所述缓存屏障命令。支持缓存屏障命令的磁盘控制器以接收所述缓存屏障命令的时间点为基准,保障在块A和块B安全地记录之后,块C和块D安全地记录。缓存屏障命令的目的是在写入命令间标明最终记录顺序。
[0024]相反,不支持缓存屏障命令的磁盘控制器,即使接收缓存屏障命令,也不会满足所述缓存屏障命令要求的条件。
[0025]<磁盘阵列与缓存屏障命令>
[0026]命令从主机到达磁盘阵列控制器后,磁盘阵列控制器处理相应命令。写入命令中标明的块从主机传输到磁盘阵列存储装置。磁盘阵列控制器接收的块,根据磁盘阵列控制器定义的规则而构成条带后,分布存储于构成磁盘阵列的磁盘。
[0027]在磁盘阵列0中,磁盘阵列控制器中存在的块按条带大小单位而存储到构成磁盘阵列0的磁盘。磁盘阵列0控制器向构成条带的磁盘,根据预先定义的大小(条带中的大小单位),向条带的数据块分配磁盘。
[0028]将磁盘阵列存储装置的存储器中存储的块存储于构成磁盘阵列的磁盘,这通过磁盘阵列控制器向各磁盘发送写入命令的方式实现。
[0029]磁盘阵列5控制器在生成针对属于一个条带的数据块的奇偶校验位后,将数据块和奇偶校验位块记录于构成磁盘阵列的各磁盘。
[0030]此外,还有多样磁盘阵列方式。他们均是单一条带由多个数据块和多个代码块(或奇偶校验位块)构成。写入是通过在将一个条带记录于磁盘后记录下个条带的方式实现。
[0031]所述缓存屏障命令是强制规定到达单一磁盘的一系列写入命令间的记录顺序的命令。即,缓存屏障命令在到达单一磁盘的命令的集合中具有意义。
[0032]当包含一个缓存屏障命令的多个写入命令分布记录于构成磁盘阵列的磁盘时,所述一个缓存屏障命令只传递给某个特定磁盘。在传递了缓存屏障命令的所述特定磁盘中,保持所述缓存屏障命令到达前到达的写入命令与所述缓存屏障命令到达后到达的写入命令间的记录顺序。
[0033]但存在的问题是,在除了传递缓存屏障命令的所述特定磁盘之外的其余磁盘中,无法进一步保障原来所述缓存屏障命令要强制规定的记录顺序。
[0034]在一个实施例中,可以假定从主机到达磁盘阵列控制器的一系列命令由多个写入
命令以及一个以上的缓存屏障命令构成。与这些多个写入命令相关的多个数据块分布配置于多个磁盘时,存在要通过所述一个以上的缓存屏障命令来保障的写入顺序条件会被破坏的问题。
[0035]作为这种示例,例如可以假定写入8个块的情形。例如,可以是一个应用程序要通过缓存屏障命令保障首先记录{a、b、c、d},再记录{e、f、g、h}。为此,可以假定主机依次向磁盘阵列控制器发送write(a)、write(b)、write(c)、write(d)、"cache barrier"、write(e)、write(f)、write(g)、write(h)命令。而且,此时可以假定磁盘阵列由4个磁盘构成。
[0036]此时,如以往技术所示,如果考虑在磁盘间轮转处本文档来自技高网
...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】1.一种磁盘阵列控制器控制方法,包括:磁盘阵列控制器生成命令序列的步骤;及所述磁盘阵列控制器在确定了所述命令序列中包括的第一缓存屏障命令的情况下,在将在所述命令序列内配置于所述第一缓存屏障命令之后的第一写入命令传输给构成磁盘阵列的任意磁盘之前,将至少一个缓存屏障命令传输给所述任意磁盘的步骤。2.根据权利要求1所述的磁盘阵列控制器控制方法,其中,所述命令序列是由所述磁盘阵列控制器将从外部的主机装置接收的第一命令序列(cs1)根据所述磁盘阵列控制器的磁盘阵列等级再构成而生成。3.根据权利要求1所述的磁盘阵列控制器控制方法,其中,所述命令序列包括所述磁盘阵列控制器从所述外部的主机装置接收的所述第一命令序列(cs1)中包括的数据块及以所述数据块为基础生成的多个代码块。4.根据权利要求1所述的磁盘阵列控制器控制方法,其中,所述命令序列是所述磁盘阵列控制器从外部的主机装置接收的。5.根据权利要求1所述的磁盘阵列控制器控制方法,其中,所述传输的步骤包括:所述磁盘阵列控制器在将所述第一写入命令传输给构成所述磁盘阵列的任意磁盘之前,构成缓存屏障条带,即由与构成所述磁盘阵列的所有磁盘的个数相同个数的缓存屏障命令构成的条带的步骤。6.根据权利要求1所述的磁盘阵列控制器控制方法,其中,构成所述磁盘阵列的磁盘共为N个(N为2以上的大自然数),在所述传输的步骤之前,还包括:所述磁盘阵列控制器在为了构成一个条带而从所述命令序列内获得在所述命令序列内连续配置的N个写入命令的过程中,在确认了在包括所述N个写入命令的第一命令排列内存在所述第一缓存屏障命令的情况下,构成第一类型的部分条带,即构成只由在所述第一命令排列内配置于所述第一缓存屏障命令之前的写入命令构成的条带的步骤。7.根据权利要求6所述的磁盘阵列控制器控制方法,其中,在所述构成第一类型的部分条带的步骤之后,还包括:将一个以上的缓存屏障命令传输给构成所述磁盘阵列的磁盘的步骤;及对未接收以所述第一类型的部分条带为基础的写入命令的至少一个磁盘,构成第二类型的部分条带,即构成只由包括在所述第一命令排列内配置于所述第一缓存屏障命令的紧下个的一个写入命令的不足N个的写入命令构成的条带的步骤。8.根据权利要求7所述的磁盘阵列控制器控制方法,其特征在于,所述磁盘阵列控制器使得将所述第一类型或所述第二类型的第一部分条带与所述第一类型或所述第二类型的第二部分条带相互合并而构成一个条带,即构成合并条带,如果利用所述第一部分条带与所述第二部分条带无法生成所述一...

【专利技术属性】
技术研发人员:元裕集
申请(专利权)人:韩国科学技术院
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1