CN1258713C - 基于磁盘特征的数据分布动态映射的方法 - Google Patents
基于磁盘特征的数据分布动态映射的方法 Download PDFInfo
- Publication number
- CN1258713C CN1258713C CNB2003101135296A CN200310113529A CN1258713C CN 1258713 C CN1258713 C CN 1258713C CN B2003101135296 A CNB2003101135296 A CN B2003101135296A CN 200310113529 A CN200310113529 A CN 200310113529A CN 1258713 C CN1258713 C CN 1258713C
- Authority
- CN
- China
- Prior art keywords
- physical
- data
- disk
- address
- write
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 44
- 238000013507 mapping Methods 0.000 title claims abstract description 39
- 230000015572 biosynthetic process Effects 0.000 claims description 15
- 230000005540 biological transmission Effects 0.000 claims description 7
- 230000003068 static effect Effects 0.000 claims description 7
- 230000008901 benefit Effects 0.000 claims description 5
- 230000008859 change Effects 0.000 claims description 4
- 239000008187 granular material Substances 0.000 claims description 4
- 239000013307 optical fiber Substances 0.000 claims description 3
- 230000000717 retained effect Effects 0.000 claims description 3
- 239000000835 fiber Substances 0.000 abstract description 5
- 230000010076 replication Effects 0.000 abstract 1
- 238000007726 management method Methods 0.000 description 8
- 239000007858 starting material Substances 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 238000012360 testing method Methods 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 239000012141 concentrate Substances 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 230000003760 hair shine Effects 0.000 description 1
- 230000006386 memory function Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000007670 refining Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
基于磁盘特征的数据分部动态映射方法属于存储区域网络存储技术领域,其特征在于:它是一种由光纤通道-存储区域网络FC-SAN中的存储管理控制机来执行的,把数据块作为映射粒度,动态地在逻辑空间和物理空间映射地方法。在写请求中,它根据物理磁盘最近繁忙程度和数据复制数来选择负载最小地物理磁盘。为逻辑地址重分物理地址;在适度合并写请求后,再根据兼顾寻道时间和旋转延迟的最短访问时间优先法来寻找物理磁盘中的空闲数据块,把它的地址作为写请求的物理地址,来执行物理磁盘写请求,完成逻辑地址-物理地址的动态映射。它提高了单个磁盘时间利用率,平衡了磁盘之间的负载,提高了系统整体性能。
Description
技术领域
基于磁盘特征的数据分布动态映射的方法属于存储区域网络SAN存储技术领域。
背景技术
存储区域网络(SAN)等存储解决方案中,为了有效的管理和使用集中在一起的大批磁盘,采取了不同的存储空间管理方法。常用的方法是使用软件架构出虚拟的逻辑磁盘,通过逻辑地址和物理地址之间的映射,将物理磁盘的存储空间分配给逻辑磁盘,提供用户使用。这种方式在物理硬件上加入了韧性管理,使存储功能灵活、易扩展、易管理。目前,逻辑存储空间和物理磁盘之间的映射采用静态方法,映射粒度为单个物理磁盘或者物理磁盘分区。这种存储空间的映射方法存在一些不足:灵活性差,在使用之前,已经将物理空间静态的分配给逻辑空间,使用过程中无法改变;没有充分利用物理磁盘的带宽,经常出现某些磁盘过于繁忙,而另一些磁盘空闲的情况。
本发明针对这些不足,在构架逻辑磁盘的存储管理软件中,引入已有的动态写技术到地址映射,并对其进行改进,针对硬磁盘的物理特征,提出基于磁盘特征的数据分布动态映射(map)方法,将数据灵活的、有效的分布到SAN存储系统的磁盘系统上。逻辑空间和物理空间之间的映射采用动态方法,映射粒度是数据块。同时,使用动态MAP方法从造成I/O性能瓶颈的根本原因——磁盘自身的物理特征出发,通过减少写请求的执行延迟,提高存储系统的性能;计算各物理磁盘负载情况,通过物理存储空间的动态分配,达到各物理磁盘的负载平衡,最大限度的使用磁盘的总带宽。
发明内容
本发明的目的在于提供一种基于磁盘特征的数据分部动态映射方法,它可以灵活管理存储空间,减少I/O延迟,实现磁盘空间的负载平衡和系统整体性能的提高。
本发明所述的方法的特征在于:它是一种由FC-SAN中的存储管理控制机来执行的、把数据块作为映射粒度,动态地在逻辑空间和物理空间之间映射地方法,包括写请求和读请求,其中:
写请求依次含有以下步骤:
(1)生成动态映射即map表,以逻辑地址为索引,全部单元清零;
(2)存储节点控制机的存储管理模块从小型计算机系统接口即SCSI设备的中间层软件队列中获得写请求写数据到逻辑地址;
(3)从物理磁盘中读取当前空间使用情况和命令队列长度,按下式计算各物理磁盘最近繁忙程度Bi,再根据数据复制数的要求,选取负载最小的一个或多个物理磁盘,为上述逻辑地址重新分配物理地址,存储写命令中的数据;
其中,*为“乘”号,Ui为当前磁盘利用率,Umax为最大值,Ci为每个物理磁盘的容量,Cmax为最大值,Di为物理设备队列中等待传输的数据总长度,Dmax为最大值;第一项是磁盘中存储的数据与其中最大值的比值,是预计的磁盘繁忙程度;后一项是等待传输的数据总长度的比值,是当前磁盘繁忙程度,对预计磁盘繁忙程度进行修正;a和b是加权系数,对预计值和当前值进行加权,a+b=1,可取a=b=0.5。
(4)把数据分别存储到步骤(3)找到的一个或多个负载最小的物理磁盘中,数据复制分别在前、后台执行,即把一个写请求放在前台执行,剩下的复制并排入到设备单独的后台写队列,在系统空闲时在后台完成;
(5)在各物理设备队列中,对写请求进行适度合并;
(6)在读请求执行的间隙,采用同时兼顾了寻道时间和物理磁盘旋转延迟时间的最短访问时间优先方法,计算当前物理磁头最小访问时间的空闲数据块,把该数据块的地址作为写请求的物理地址,改变写请求中的数据地址信息,再用物理磁盘执行写请求:设:空闲块访问时间为ta:
ta=U*ts+(1-U)*tr,
其中,U为当前磁盘利用率,即稀疏度,它的值是已使用的数据块数/总数据块数,ts为寻道时间,tr为旋转延迟时间;
(7)用网络虚拟随机存取存储器NVRAM把逻辑地址一物理地址映射记录到map表中:
对map表的更新先保留在NVRAM上,当NVRAM已经写满,再把map更新的内容写回到物理磁盘,而map表采用静态数据方式,给每一个逻辑数据块分配一个map表单元,在单元中记录当前对应的物理地址,再把map表分成若干个分区,只要对物理磁盘中的map表更新时以这些分区为单位,便可实现逻辑地址到物理地址的映射;
读请求依次含有以下步骤:
(1)从SCSI设备中间层软件队列中获得读请求;
(2)在地址映射map表中,根据读请求中的逻辑地址得到物理地址,把物理地址写入到读请求中;
(3)使用上述最短访问时间优先读或已知的最短寻道时间优先法把新的读请求排入物理设备的读请求队列,访问时间包括寻道时间ts加上物理磁盘旋转延迟tr:
ts=L*v,tr=θ*ω
其中,L为当前物理磁头到读数据地址的距离,v为磁头移动的线速度;θ为当前磁头到读数据地址之间的角度,ω为磁盘转动的角速度;
(4)为读请求设置执行“死”期deadline期限,在满足读请求限期完成的前提下,为写请求保留执行间隙;
(5)物理磁盘执行读请求。
在写请求的步骤(5)中,适度合并即:通过查询空闲数据块表,找到距离最近的空闲块,计算以这个空闲块开头,连续空闲的数据块数量,再把这个数量乘以(30~50)%,作为可以连续存储的数据量的大小,再间隔地写入数据。
试验表明:对于随机写请求,单个磁盘利用率即实际的数据传输所占用的时间的百分比从8%提高到20%,磁盘之间的负载差异在10%以内,系统整体性能提高(15~20)%。
附图说明
图1:存储区域网络示意图。
图2:存储管理节点的硬件结构。
图3:使用动态映射方法的存储管理软件在SAN体系结构中的位置。
图4:动态映射方法中写请求完成的软件结构。
图5:系统启动及命令处理流程图。
具体实施方式
存储区域网络将存储设备与主机分离,对存储空间进行统一的管理和分配,其结构如图1。
服务器节点的硬件子系统包括INTEL CPU、标准的PCI总线、SCSI接口卡、标准的光纤网络接口卡(FC HBA)、以太网络接口卡、硬盘。服务器节点可以运行WINDOWS 2000等多种操作系统和WEB服务器软件系统。
光纤交换机采用Brocade 3200系列交换机。管理主机采用商用PC机,使用以太网络接口卡连接到以太网络,管理存储区域网络。
存储管理节点采用商业化商用PC机如联想天瑞3130,硬件子系统的模块结构如图2。
存储管理节点的主板采用商用的服务器主板,如Supermicro(超微)公司X5DA8、X5DAE主板等,所有的CPU采用INTEL公司XEON系列CPU。存储管理节点包括2个商用的光纤通道HBA,如QLOGIC公司的QLA2310F系列,它们之间可以实现容错备份或者捆绑功能。存储管理节点包括2-3个商用的SCSI接口卡,如ADAPTEC公司的7XXX系列接口卡,他们连接高密度的磁盘阵列子系统如ISD PinnacleRAID 500。电源子系统采用目前标准的、商用的N+1方式电源如山特公司的3C3系列,FLASH DISK负责存储各种软件,如M-SYSTEMS公司的DOC2000系列。Myrinet接口卡采用Myricom公司的LANai9系列接口卡。
本项发明动态映射方法在存储管理软件中实现,存储管理软件运行在存储管理节点上。存储区域网络的软件结构以及存储管理软件的位置如图3。
各软件模块的功能如下表:
软件模块 | 功能 | |
服务器 | 应用程序 | 用户使用应用程序,产生I/O请求 |
SCSI驱动 | 启动器模式,将I/O请求转化为SCSI命令 |
FCP驱动 | 启动器模式,将SCSI命令打包成FC格式,在光纤网络中传输。采用启动器方式与光纤网络目标器进行通信 | |
存储管理节点 | SCSI目标模拟器 | 模拟SCSI目标器模式,监控SCSI命令的执行,完成SCSI中间层目标器的工作 |
存储管理软件 | 使用动态MAP算法完成逻辑地址和物理地址之间的分配和转换,计算磁盘间的负载,实现负载平衡等功能 | |
SCSI子系统 | 管理SCSI磁盘,完成SCSI命令 | |
FCP驱动 | 目标器模式,接收启动器发送的FC帧,还原为SCSI命令。采用目标器方式与光纤网络启动器通信 |
存储管理软件(使用动态映射方法)作为内核模块,在存储管理节点的嵌入式操作系统中运行(操作系统在图3中没有给出,实际上所有软件部分包括的模块都运行在操作系统当中)。存储管理软件的动态映射方法主要针对写请求,其结构如图4所示。
图5是本发明所述方法的流程图。
其中,动态MAP方法主要通过对读写请求的操作完成方法功能,对写请求和读请求分别进行处理,过程如下:
写请求:
(1)从SCSI设备中间层软件队列中获得写请求。
(2)从物理设备中读取当前空间使用情况和命令队列长度,计算各物理设备的负载情况,根据数据复制数的需要,选取负载最小的一个或多个物理设备。
磁盘的负载平衡通过分流I/O实现,使用动态映射更有利于负载平衡的实现。物理磁盘之间的负载平衡,主要通过写命令完成,将数据写到负载最小的磁盘中,达到分流数据的目的。关键问题是如何度量磁盘的负载。结合多种因素,总结出写命令到来时磁盘选取算法:设一共有n个磁盘,每个磁盘的容量是Ci(i=0,1,...,n),当前磁盘利用率为Ui,设备队列中等待传输的数据总长度为Di,预计磁盘最近繁忙程度Bi
第一项是磁盘中存储的数据与其中最大值的比值,是预计的磁盘繁忙程度;后一项是等待传输的数据总长度的比值,是当前磁盘繁忙程度,对预计磁盘繁忙程度进行修正;a和b是加权系数,对预计值和当前值进行加权,a+b=1,可取a=b=0.5。另外,计算当前各个磁盘头访问最近空闲块需要的时间(公式I),与II式进行权衡。但是这个计算只能是不精确的,因为每个磁盘都在不间断地执行读请求,当写命令执行时,磁头位置已经改变。但这一计算可以粗略了解磁盘数据的分布情况。通过公式(II)计算各个磁盘的Bi,选取Bi值最小的磁盘i,将写命令排入其命令队列。
(3)对写请求根据数据复制数进行前后台执行分析,根据分析结果分别复制并排入前台执行或后台执行写请求队列。
在磁盘阵列中存储多个数据的拷贝,可以提高系统的读性能。一般对数据的复制数Dm=2,即一个数据存储在两个不同的地方。一个数据块的两个拷贝没有任何区别,可以存储到任意的两个不同的磁盘。通过(II)公式,找到最佳的两个物理磁盘,然后将数据分别存储到这两个磁盘中。数据复制分别在前、后台执行,将一个写请求放在前台执行,完成后认为所有的数据复制都完成,剩下的复制可以排入到设备单独的后台写队列,在系统空闲时,后台完成。尤其是复制数Dm大于2时,可以在前台执行1~2个复制,其余的在后台执行,可以减少写请求的响应时间。当读取数据时,根据上述公式(II),在存有数据备份的磁盘中找到繁忙程度Bi最小的磁盘读取数据。
(4)在各物理设备队列中,对写请求进行适度合并。
将写命令做适当的合并,减少命令执行的次数。但不是合并的数据越多越好。一次连续写入的数据过多会造成磁盘的局部拥挤,对于以后空闲块的寻找不利。最好的方法是找到距离最近的空闲块之后,计算以这个空闲块开头连续空闲的数据块的数量,这个数量乘上一定的百分比(例如30%~50%),作为可以连续存储的数据量的大小,间隔写数据。结合在一起的写命令称为写命令群。
(5)在读请求执行的间隙,计算当前物理磁头最小访问时间的空闲数据块,数据块的地址作为写请求的物理地址,改变写请求中的数据地址信息,物理磁盘执行写请求。
动态写方法是已经实现的一种不进行寻址的写请求实现方法,随时随处进行写操作,将需要写入磁盘的数据写在距离物理磁头最近的空闲块中。在动态写算法中,对于空闲块的选取使用的是最短寻道时间优先算法(SSTF),即选取离磁头最近的空闲块。我们根据磁盘特征,对动态写算法进行改进,对于空闲块的选取采用最短访问时间优先算法(SATF),即不仅考虑寻道时间,同时考虑了物理磁盘的旋转延迟。这样做的两个好处:(1)更加准确的计算了写命令的执行时间,提高写效率;(2)在使用一块空白磁盘时,避免磁盘上大片数据连接在一起,磁盘空间使用不均匀,SAFT方法在选取空闲块时考虑磁盘旋转延迟,数据不会连续存储,而是间隔存储,数据之间空出若干个空闲块,方便下一次空闲块的选取。设寻道时间为ts,旋转延迟为tr,则访问时间ta
ta=U*ts+(1-U)*tr (I)
其中,U是磁盘的稀疏度(已使用的数据块数/总数据块数),当磁盘上没有数据时,完全考虑tr,,随着数据的不断增多,ts的比重越来越大,一般磁盘最拥挤时U=50%(见上文中对磁盘空间冗余的分析),此时对ts和tr的考虑是均衡的。通过(I)计算出访问磁头周围的空闲块所需要的时间,找到访问时间最短的空闲块,作为写命令中逻辑地址对应的物理地址,将数据写入。
(6)将逻辑地址-物理地址映射记录到map表中。
由于采用了动态映射方法,一方面用于记录的地址映射单位为数据块大小(4K或8K),增加了map表的容量,另一方面动态映射频繁的改变逻辑地址和物理地址之间的对应关系,所以,map表的组织和存储更加重要。Map表的设计达到两个目的:尽量减少访问map带来的时间延迟,减少map表恢复的时间。采用NVRAM达到上述目的。对map的更新先保留在NVRAM上,当NVRAM已经写满,再将map更新的内容写回到磁盘。Map表采用静态数组的方式,给每一个逻辑数据块分配一个map表单元,在单元中记录当前对应的物理地址,这种方法需要存储的数据量虽然很大,占用了一定量的物理磁盘空间,但是使用上非常方便,只需要知道静态数组在磁盘上存储的起始位置,根据逻辑地址偏移量就可以定位所需要的map表单元。将map表分成若干个分区,对磁盘中的map表更新以这些分区为单位,类似于内存中页面的更新。
读请求:
(1)从SCSI设备中间层软件队列中获得读请求。
(2)在地址映射map表中,根据读请求中的逻辑地址得到物理地址,将物理地址写入到读请求中。
(3)使用最短寻道时间优先算法(SSTF)或者最短访问时间优先算法(SATF)将新的读请求排入物理设备的读请求队列。
(4)为读请求设置deadline限期,在满足读请求在限期内完成的前提下,为写请求保留执行间隙。
(5)物理磁盘执行读请求。
SCSI命令在管理软件中执行的实例
在存储管理节点中,将4块物理磁盘的一部分合并在一起,映射为一块逻辑磁盘,物理磁盘分别为sda、sdb、sdc、sdd,磁盘容量均为20G,逻辑磁盘号为1。生成map映射表,以逻辑地址为索引,全部单元清零。
存储管理软件接收到一条SCSI写命令,写数据到逻辑地址
LUN+logical_address=1+000087E3.
无论这个逻辑地址对应的物理数据块中原来有没有数据,都要为它重新分配物理地址。收集sda、sdb、sdc、sdd四块物理磁盘的信息,磁盘容量Ca=Cb=Cc=Cd=20G,使用率Ua=10%,Ub=20%,Uc=30%,Ud=15%,命令队列长度Da=200,Db=150,Dc=150,Dd=180。根据公式(II),取a=b=0.5,分别计算各磁盘的繁忙程度如下:
可知,四个磁盘的繁忙程度Ba<Bd<Bb<Bc。数据的重复度为2,即每个数据都有1个复制数据,因此选取两个磁盘sda和sdd同时存储写命令中的数据。
对磁盘sda和sdd,sda的写命令采取前台完成,sdd的写命令采取后台完成。则,sda的写命令排入到前台写命令队列中,sdd的写命令排入到后台写命令队列。
在磁盘sda执行读命令的间隙,将前台写命令队列中的若干写命令合并在一起,设数据块大小为16K,通过查询空闲数据块表,得到距离物理磁头最近的4个大小为16K的空闲数据块,距离物理磁头的距离分别为10、15、30、60,磁头移动时间延迟为ts1=lms,ts2=1.5ms,ts3=3ms,ts4=6ms,旋转延迟为tr1=5ms,tr2=6ms,tr3=8ms,tr4=1ms,根据公式(I),Ua=10%,有:
ta1=10%*1+(1-10%)*5=4.6ms
ta2=10%*1.5+(1-10%)*6=5.55ms
ta3=10%*3+(1-10%)*8=7.5ms
ta4=10%*6+(1-10%)*1=1.5ms
则物理空闲块4的访问时间最短,选取其存储写命令中的数据。物理数据块4的物理地址为sda+005201EF,所以逻辑地址1+000087E3对应的物理地址为sda+005201EF,将这个新的逻辑地址-物理地址映射对存入到map映射表中。
另外,sdd后台将数据写入到物理地址为sdd+01004503,则逻辑地址1+000087E3又对应物理地址sdd+01004503。
当存储管理软件接收到读取逻辑地址是1+000087E3的数据块时,查询map映射表,找到两个物理地址与其对应,按照公式(II)计算sda和sdd的繁忙度(略),得到繁忙度最小的磁盘,使用最短访问时间优先读或最短寻道时间优先法把新的读请求排入物理设备的读请求队列。为读请求设置执行deadline期限,在满足读请求限期完成的前提下,为写请求保留执行间隙。在期限之前读取数据。
对加入存储管理软件(使用动态MAP方法)的SAN系统与原系统进行了对比实验,采用的测试工具是iometer,并辅助软件获取系统时间的方法,使用随机读写命令流,其中读请求50%,写请求50%,数据块大小为4KB。
表1.单磁盘的完成写请求的时间利用
动态MAP算法 | 无存储管理 | |
数据传输时间 | 1.2ms/4KB | 1.2ms/4KB |
寻址时间 | 6.5ms | 2.7ms |
磁盘旋转延迟 | 5.7ms | 1.9ms |
平均响应时间 | 13.4ms | 5.8ms |
表2.磁盘之间的负载平衡
动态MAP算法 | 无存储管理 | |||
磁盘1 | 磁盘2 | 磁盘1 | 磁盘2 | |
吞吐率(MB) | 19.68 | 18.37 | 28.31 | 8.77 |
表3.使用8个物理磁盘的系统总性能
动态MAP算法 | 无存储管理 | |
吞吐率(MB) | 155.9MB/s | 137.7MB/s |
测试结果表明:对于随机写请求,单个磁盘的时间利用率(实际的数据传输所占用时间的百分比)从8%提高到20%左右;对于随机I/O读写负载,磁盘之间的负载差异在10%以内;系统整体性能提高15%-20%。测试数据证明了动态MAP方法的有效性。
基于磁盘特征的数据分布动态map方法,充分利用了物理磁盘的带宽,理顺了读-写命令之间、写-写命令之间的关系,有效的实现了磁盘之间的负载平衡,提高了系统的I/O性能,保证SAN系统为服务器节点提供快速、安全的存储服务。基于磁盘特征的数据分布动态MAP方法具有如下主要特点:
1、提高系统写性能。由于去掉了写命令中查找Map表获得物理地址时间以及物理地址寻址时间,减少了写命令延迟。
2、动态完成逻辑地址-物理地址映射,有效实现磁盘间的负载平衡。将逻辑地址-物理地址的使用前静态分配,改成使用过程中的动态分配,能够通过磁盘当前的负载情况,对I/O请求进行动态调整,达到磁盘间负载的真正平衡。与striping相比,动态MAP算法更有效、更灵活。
3、使用NVRAM解决动态MAP算法中map表频繁访问所带来的延迟。在软件上精炼map表的组织,在硬件上提供快速可靠的承载介质,减少由于动态分配物理空间、逻辑地址-物理地址映射频繁改变带来的延迟。
4、与提高读性能的data-duplication算法结合。通过MAP算法提高写性能的同时,不对读性能造成影响。同时与data-duplication结合,采取了前台-后台写操作,与提高读性能的优化算法共存,最大限度的提高系统的整体I/O性能。
Claims (2)
1、基于磁盘特征的数据分布动态映射的方法,含有在光纤通道—存储区域网络即FC-SAN内,通过逻辑地址和物理地址之间的映射,把物理磁盘的存储空间分配给逻辑磁盘的步骤,其特征在于:它是一种由FC-SAN中的存储管理控制机来执行的、把数据块作为映射粒度,动态地在逻辑空间和物理空间之间映射的方法,包括读请求和写请求,其中:
写请求依次含有以下步骤:
(1)生成动态映射即map表,以逻辑地址为索引,全部单元清零;
(2)存储节点控制机的存储管理模块从小型计算机系统接口即SCSI设备的中间层软件队列中获得写请求写数据到逻辑地址;
(3)从物理磁盘中读取当前空间使用情况和命令队列长度,按下式计算各物理磁盘最近繁忙程度Bi,再根据数据复制数的要求,选取负载最小的一个或多个物理磁盘,为上述逻辑地址重新分配物理地址,存储写命令中的数据;
其中,*为“乘”号,Ui为当前磁盘利用率,Umax为最大值,Ci为每个物理磁盘的容量,Cmax为最大值,Di为物理设备队列中等待传输的数据总长度,Dmax为最大值;第一项是磁盘中存储的数据与其中最大值的比值,是预计的磁盘繁忙程度;后一项是等待传输的数据总长度的比值,是当前磁盘繁忙程度,对预计磁盘繁忙程度进行修正;a和b是加权系数,对预计值和当前值进行加权,a+b=1,可取a=b=0.5
(4)把数据分别存储到步骤(3)找到的一个或多个负载最小的物理磁盘中,数据复制分别在前、后台执行,即把一个写请求放在前台执行,剩下的复制并排入到设备单独的后台写队列,在系统空闲时在后台完成;
(5)在各物理设备队列中,对写请求进行适度合并;
(6)在读请求执行的间隙,采用同时兼顾了寻道时间和物理磁盘旋转延迟时间的最短访问时间优先方法,计算当前物理磁头最小访问时间的空闲数据块,把该数据块的地址作为写请求的物理地址,改变写请求中的数据地址信息,再用物理磁盘执行写请求:
设:空闲块访问时间为ta:
ta=U*ts+(1-U)*tr,
其中,U为当前磁盘利用率,即稀疏度,它的值是已使用的数据块数/总数据块数,ts为寻道时间,tr为旋转延迟时间;
(7)用网络虚拟随机存取存储器NVRAM把逻辑地址—物理地址映射记录到map表中;
对map表的更新先保留在NVRAM上,当NVRAM已经写满,再把map更新的内容写回到物理磁盘,而map表采用静态数据方式,给每一个逻辑数据块分配一个map表单元,在单元中记录当前对应的物理地址,再把map表分成若干个分区,只要对物理磁盘中的map表更新时以这些分区为单位,便可实现逻辑地址到物理地址的映射;
读请求依次含有以下步骤:
(1)从SCSI设备中间层软件队列中获得读请求;
(2)在地址映射map表中,根据读请求中的逻辑地址得到物理地址,把物理地址写入到读请求中;
(3)使用上述最短访问时间优先读或已知的最短寻道时间优先法把新的读请求排入物理设备的读请求队列,访问时间包括寻道时间ts加上物理磁盘旋转延迟tr:
ts=L*v,tr=θ*ω
其中,L为当前物理磁头到读数据地址的距离,v为磁头移动的线速度;θ为当前磁头到读数据地址之间的角度,ω为磁盘转动的角速度;
(4)为读请求设置执行“死”期deadline期限,在满足读请求限期完成的前提下,为写请求保留执行间隙;
(5)物理磁盘执行读请求。
2、根据权利要求1所述的基于磁盘特征的数据分布动态映射的方法,其特征在于:在写请求的步骤(5)中,适度合并即:通过查询空闲数据块表,找到距离最近的空闲块,计算以这个空闲块开头,连续空闲的数据块数量,再把这个数量乘以(30~50)%,作为可以连续存储的数据量的大小,再间隔地写入数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2003101135296A CN1258713C (zh) | 2003-11-14 | 2003-11-14 | 基于磁盘特征的数据分布动态映射的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2003101135296A CN1258713C (zh) | 2003-11-14 | 2003-11-14 | 基于磁盘特征的数据分布动态映射的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1545030A CN1545030A (zh) | 2004-11-10 |
CN1258713C true CN1258713C (zh) | 2006-06-07 |
Family
ID=34336901
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2003101135296A Expired - Fee Related CN1258713C (zh) | 2003-11-14 | 2003-11-14 | 基于磁盘特征的数据分布动态映射的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1258713C (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103176913A (zh) * | 2011-12-26 | 2013-06-26 | 英业达股份有限公司 | 硬盘动态映射方法与应用其的服务器 |
Families Citing this family (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1299207C (zh) * | 2005-01-21 | 2007-02-07 | 清华大学 | San环境中基于网络的海量存储资源管理方法 |
JP4806556B2 (ja) * | 2005-10-04 | 2011-11-02 | 株式会社日立製作所 | ストレージシステム及び構成変更方法 |
CN100456264C (zh) * | 2006-03-02 | 2009-01-28 | 腾讯科技(深圳)有限公司 | 一种磁盘空间管理方法及系统 |
US7886111B2 (en) * | 2006-05-24 | 2011-02-08 | Compellent Technologies | System and method for raid management, reallocation, and restriping |
US7603392B2 (en) * | 2006-06-05 | 2009-10-13 | International Business Machines Corporation | System, method and computer program product for storing transient state information |
CN100405304C (zh) * | 2006-07-27 | 2008-07-23 | 清华大学 | 基于存储区域网络的高速固态存储设备的实现方法 |
CN100428131C (zh) * | 2006-10-13 | 2008-10-22 | 清华大学 | 海量存储系统中的资源分配方法 |
CN101521673B (zh) * | 2009-04-09 | 2012-05-02 | 杭州华三通信技术有限公司 | 一种资源分配方法和装置 |
CN102255962B (zh) * | 2011-07-01 | 2013-11-06 | 华为数字技术(成都)有限公司 | 一种分布式存储方法、装置和系统 |
CN103106041B (zh) * | 2011-11-09 | 2016-08-03 | 阿里巴巴集团控股有限公司 | 一种磁盘阵列资源的处理方法和装置 |
CN103714007B (zh) * | 2012-09-29 | 2017-02-08 | 联想(北京)有限公司 | 一种写数据的方法及电子设备 |
CN104243395B (zh) * | 2013-06-06 | 2019-02-01 | 腾讯科技(深圳)有限公司 | 一种高频次写操作方法、接口机及系统 |
CN103593302B (zh) * | 2013-11-22 | 2017-09-05 | 华为技术有限公司 | 一种超级块信息的处理方法、装置及服务器 |
CN103617136B (zh) * | 2013-12-04 | 2017-02-01 | 华为技术有限公司 | Scsi驱动侧及i/o请求的控制方法 |
KR20170085286A (ko) * | 2016-01-14 | 2017-07-24 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
CN107885667B (zh) * | 2016-09-29 | 2022-02-11 | 北京忆恒创源科技股份有限公司 | 降低读命令处理延迟的方法与装置 |
CN108733576B (zh) * | 2017-04-20 | 2022-12-09 | 得一微电子股份有限公司 | 一种固态硬盘及其内存转换层对映方法 |
CN107562380A (zh) * | 2017-08-28 | 2018-01-09 | 郑州云海信息技术有限公司 | 一种raid2.0的数据块分配方法及装置 |
CN112015668B (zh) * | 2019-05-31 | 2023-03-31 | 西安诺瓦星云科技股份有限公司 | 物理地址获取方法及装置和多媒体播放盒 |
CN111338580B (zh) * | 2020-02-29 | 2021-12-21 | 苏州浪潮智能科技有限公司 | 一种磁盘性能优化的方法和设备 |
CN113223598B (zh) * | 2021-05-31 | 2024-02-23 | 济南浪潮数据技术有限公司 | 一种基于io劫持的磁盘测试方法、装置、设备及介质 |
CN114063925B (zh) * | 2021-11-19 | 2024-09-17 | 研祥智慧物联科技有限公司 | 存储设备排序方法 |
CN116560587B (zh) * | 2023-07-10 | 2023-10-13 | 北京小米移动软件有限公司 | 数据管理系统及终端设备 |
-
2003
- 2003-11-14 CN CNB2003101135296A patent/CN1258713C/zh not_active Expired - Fee Related
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103176913A (zh) * | 2011-12-26 | 2013-06-26 | 英业达股份有限公司 | 硬盘动态映射方法与应用其的服务器 |
CN103176913B (zh) * | 2011-12-26 | 2015-11-25 | 英业达股份有限公司 | 硬盘动态映射方法与应用其的服务器 |
Also Published As
Publication number | Publication date |
---|---|
CN1545030A (zh) | 2004-11-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1258713C (zh) | 基于磁盘特征的数据分布动态映射的方法 | |
CN103186350B (zh) | 混合存储系统及热点数据块的迁移方法 | |
US10430084B2 (en) | Multi-tiered memory with different metadata levels | |
US8478731B1 (en) | Managing compression in data storage systems | |
US8234519B2 (en) | Fast data recovery from HDD failure | |
US8356126B2 (en) | Command-coalescing RAID controller | |
KR102318477B1 (ko) | Ssd 어레이 관리를 위한 스트림 식별자 기반 스토리지 시스템 | |
CN104407933B (zh) | 一种数据的备份方法及装置 | |
KR20120050891A (ko) | 스토리지 시스템에서 요청에 대한 응답과 연관된 지연의 감소 | |
CN101727293A (zh) | 一种固态硬盘ssd存储的设置方法、装置和系统 | |
CN103902475B (zh) | 一种基于队列管理机制的固态硬盘并行访问方法及装置 | |
KR20180086120A (ko) | 테일 레이턴시를 인식하는 포어그라운드 가비지 컬렉션 알고리즘 | |
KR101480424B1 (ko) | 하이브리드 플래시 메모리의 성능과 수명 최적화 장치 및 방법 | |
CN103076993A (zh) | 一种密集型系统中的存储系统及方法 | |
CN102508727A (zh) | 一种通过软件实现磁盘阵列中的缓存掉电保护方法 | |
CN109144885A (zh) | 固态存储设备的垃圾回收方法与固态存储设备 | |
Ma et al. | Alleviating hot data write back effect for shingled magnetic recording storage systems | |
CN100383721C (zh) | 一种异构双系统总线的对象存储控制器 | |
US10628045B2 (en) | Internal data transfer management in a hybrid data storage device | |
CN1205547C (zh) | 用普通scsi磁盘代替存储光纤网络中光纤磁盘阵列的方法 | |
CN111949222A (zh) | 一种全闪磁盘阵列中垃圾回收中数据迁移的方法 | |
Nijim et al. | Multi-layer prefetching for hybrid storage systems: algorithms, models, and evaluations | |
CN116483263A (zh) | 一种存储系统的存储设备、存储系统 | |
CN1946049A (zh) | 以太网存储区域网络中基于目标器内存设备的缓存方法 | |
Nijim | Modelling speculative prefetching for hybrid storage systems |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C19 | Lapse of patent right due to non-payment of the annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |