用于将数据写入镜像存储组件的装置和方法

文档序号:6760131阅读:157来源:国知局
专利名称:用于将数据写入镜像存储组件的装置和方法
技术领域
本发明涉及控制冗余数据存储中的数据,更具体地说,涉及控制将数据写入存储设备。
背景技术
目前,在数据均匀地分布到驱动器的情况下将数据写入RAID-10阵列。进一步的改进(如美国专利No.6,484,235中描述的)允许驱动器通过定位LBA以使用磁盘的最快部分进行读取来以其最佳性能返回数据。随着目前在企业级存储中使用较慢的SATA驱动器的趋势,驱动器读取I/O的最优化变得从未如此重要,特别是在SATA驱动器具有比现有SCSI驱动器更长的寻道时间时。
美国专利6,484,235披露了从一个驱动器读取50%的LBA,而从另一个驱动器读取另外50%的LBA以减少磁头移动并因此还尽可能地减少寻道时间。这通过以下方式来实现将每个驱动器逻辑地分成两个同心排列的部分,使得任何给定的将从一个驱动器读取的LBA都更接近另一个驱动器的外部,而其相应的镜像数据LBA都更接近另一个驱动器的内部。
此技术利用了就性能而言,驱动器具有最佳盘片区域这一事实。这通常是外边缘,因为其转动速度与内边缘的转动速度相同,并且尽管面积增加,而数据密度仍保持不变。这提供了更高的I/O速度。
目前,在整个驱动器中镜像数据,以便两个驱动器是彼此的精确副本。相比之下,根据美国专利6,484,235,主驱动器如以前那样包含数据,而次驱动器使其逻辑LBA相反。这意味着每个驱动器都能够以其最佳速度读取其数据部分。磁头仅在写入(其通常只代表大约30%的数据传输)时才必须离开最佳区域。统计上地,这些写入中的一半应落入最佳区域内,所以只有大约15%的传输将用于最佳区域之外的数据。
在进一步的改进中,LBA边界可以为了负载平衡而被动态地移动。从主磁盘读取边界之前的所有LBA,而从次磁盘读取边界之后的LBA。如果主磁盘的负载大于次磁盘的负载,则会降低边界。这意味着从主磁盘的读取将更少,从更小的区域(较短的寻道)并且仍从磁盘的最佳部分,而从次驱动器的读取将仍从其最佳(虽然较大)区域。
但是,上述过程仍存在由那些迫使磁头位于最佳区域之外的写入所导致的问题。因此,需要一种将改进的读取I/O技术的优点与更有效的写入I/O技术相结合的装置和逻辑方法。

发明内容
本发明因此在第一方面中提供了一种用于将数据写入镜像存储组件的装置,所述镜像存储组件被配置成将数据项放置在第一介质的最小寻道时间区域中,并且被配置成将所述数据项的镜像副本放置在第二介质的非最小寻道时间区域中;所述装置包括接收将被写入的所述数据项的数据接收组件;存储所述数据项的数据存储组件;导致将所述数据项立即写入所述第一介质的所述最小寻道时间区域的第一写入组件;以及导致从所述数据存储组件推迟读取所述数据项和将所述镜像副本推迟写入所述第二介质的所述非最小寻道时间区域的第二写入组件。
优选地,所述第一介质和所述第二介质中的至少一个介质包括盘存储装置。
优选地,所述最小寻道时间区域包括盘片的外部区域。
优选地,所述非最小寻道时间区域包括盘片的内部区域。
优选地,所述数据存储组件包括非易失性存储装置。
优选地,所述非易失性存储装置包括非易失性随机存取存储器。
优选地,所述数据存储组件在所述推迟写入完成后被清空。
优选地,所述数据存储组件可以对多个数据项进行批处理操作。
优选地,所述推迟写入所述镜像副本可以在减少活动期间操作。
优选地,所述推迟写入所述镜像副本可以被更高优先级的工作中断。
在第二方面中,提供了一种用于操作用于将数据写入镜像存储组件的装置的方法,所述镜像存储组件被配置成将数据项放置在第一介质的最小寻道时间区域中,并且被配置成将所述数据项的镜像副本放置在第二介质的非最小寻道时间区域中;所述方法包括以下步骤由数据接收组件接收将被写入的所述数据项;由数据存储组件存储所述数据项;由第一写入组件导致将所述数据项立即写入所述第一介质的所述最小寻道时间区域;以及由第二写入组件导致从所述数据存储组件推迟读取所述数据项和将所述镜像副本推迟写入所述第二介质的所述非最小寻道时间区域。
优选地,所述第一介质和所述第二介质中的至少一个介质包括盘存储装置。
优选地,所述最小寻道时间区域包括盘片的外部区域。
优选地,所述非最小寻道时间区域包括盘片的内部区域。
优选地,所述数据存储组件包括非易失性存储装置。
优选地,所述非易失性存储装置包括非易失性随机存取存储器。
优选地,所述数据存储组件在所述推迟写入完成后被清空。
优选地,所述数据存储组件可以对多个数据项进行批处理操作。
优选地,所述推迟写入所述镜像副本可以在减少活动期间操作。
优选地,所述推迟写入所述镜像副本可以被更高优先级的工作中断。
在第三方面中,提供了一种包括计算机程序代码的计算机程序,当所述计算机程序代码被加载到计算机系统中并在其上执行时,导致所述计算机系统执行根据所述第二方面的方法的所有步骤。所述第二方面的优选方法步骤特征反映在所述第三方面的优选计算机程序特征中。
因此,本发明的优选实施例优选地仅将数据立即写入在其最佳区域中具有相关LBA的驱动器(其是快速的),并且缓冲并优选地批处理对另一个驱动器的写入,以便其磁头很少偏离到其最佳区域之外。


现在将参考附图仅通过实例的方式来描述本发明的优选实施例,这些附图是图1以示意图的形式示出了根据本发明的优选实施例的装置;图2以流程图的形式示出了其中可以实现根据本发明的优选实施例的操作方法的逻辑排列或方法。
具体实施例方式
转至图1,其中示出了根据本发明的优选实施例的装置的布置。
装置100被布置为将数据写入示为盘110、120的镜像存储装置。由盘110、120表示的镜像存储装置被配置成将数据项放置在第一介质一盘110一的最小寻道时间区域140中,并被配置成将同一数据项的镜像副本放置在第二介质一盘120一的非最小寻道时间区域170中。装置100包括接收将被写入的数据项的数据接收组件105。可以是非易失性随机存取存储器(NVRAM)的非易失性数据存储组件160被用来存储所述数据项。第一写入组件130导致将数据项立即写入盘110的最小寻道时间区域140。第二写入组件150导致从非易失性存储组件160推迟读取所述数据项并导致将所述数据的镜像副本推迟写入盘120的非最小寻道时间区域170。有利地,可以在低活动期间执行所述数据项镜像副本的推迟读取和写入,并且可以作为可以被其他具有更高优先级的任务抢先的后台任务来执行,当峰值活动结束时再次恢复。尽管在此示出了使用盘110、120来实现本发明的优选实施例,但是任何具有用于数据存储和检索的类似布置的等同数据存储介质都可以被构想为用于本发明其他实现的合适环境。有利地,非易失性存储组件160可以被布置成保留多个数据项,使得可以批处理所述数据项以更有效地写入,更进一步地减少重新定位驱动器磁头的需要。此写入的批处理将从最佳区域的偏离限于成批的,因此当将数据写入盘时,减少了驱动器必须在最佳区域之外执行的寻道的数量。此类技术是本领域中公知的,并且通常包括将数据或奇偶校验标记为“不确定”,直到批量写入被完成。对数据的风险将高于不执行此操作的情况,但这是对提高的性能的权衡,并且可以借助公知的数据完整性技术来降低所述风险。通过例如在NVRAM中使用原子奇偶校验,同时发生适配器故障和来自未完成写入的数据损坏才会导致数据丢失。
实际上,可能的修改将是在驱动器自身中维护优选实施例的非易失性存储组件160并相应地以这样的方式修改盘固件如正常的RAID那样,I/O可以被同时发送到驱动器110和120。然后,所述驱动器的老化算法将被修改为更加缓慢地老化对盘的非最小寻道区域的写入。控制非最小寻道区域的驱动器将因此形成写入数据的更大缓冲区,并由此更有效地自动地批处理在最佳区域外的写入。
在任何情况下,只要是确保对第一盘110的最小寻道区域140和第二盘120的非最小寻道区域170的写入已达到成功完成所必需的,就会保存非易失性存储组件中的数据项。然后,非易失性存储组件160可以被清空,以准备用于与下一个写入请求关联的一个或多个数据项。
现在转至图2,其中以流程图的形式示出了根据本发明的优选实施例的方法或逻辑排列的步骤。
在操作用于将数据写入图2中所示的镜像存储的装置的方法中,所述镜像存储被配置成将数据项放置在第一介质的最小寻道时间区域中,并将所述数据项的镜像副本放置在第二介质的非最小寻道时间区域中。所述方法开始于开始步骤200,并且在步骤202,数据接收组件接收将被写入的数据项。通常,作为主机写入I/O的结果来接收数据项,但是构想了替代形式,例如来自数据存储网络(例如存储区域网络(SAN))中的对等控制器、适配器或存储虚拟化引擎的非主机复制服务请求。在步骤204,非易失性数据存储组件存储所述数据项。所述非易失性存储组件可以利用例如NVRAM来存储所述数据,以便改善数据完整性和可恢复性。在步骤206,第一写入组件导致将所述数据项立即写入第一介质的最小寻道时间区域。此写入可以使用来自所述非易失性数据存储组件的数据。在可替代形式中,可以直接写入所述数据项,而无需被写入所述非易失性数据存储组件并随后从其读取。
流程图中的点线在此表示在立即写入步骤206与相继的步骤(步骤208)之间可能存在不确定长度的延迟,其中第二写入组件导致从非易失性存储装置推迟读取所述数据项以及将所述数据项的镜像副本推迟写入所述第二介质的非最小寻道区域。在步骤208之后不再需要所述非易失性存储装置的内容,并且因此在步骤210,可以清空所述非易失性存储装置以准备接收用于任何其他写入请求的一个或多个数据项。在结束步骤212,结束所述方法步骤。
对本领域的技术人员将显而易见的是,本发明的方法可以被合适地包括在逻辑设备中,所述逻辑设备包括执行所述方法的诸步骤的逻辑装置,并且此类逻辑装置可以包括硬件组件或固件组件。
对本领域的技术人员将同样显而易见的是,本发明的逻辑排列可以被合适地包括在逻辑设备中,所述逻辑设备包括执行所述方法的诸步骤的逻辑装置,并且此类逻辑装置可以包括诸如例如可编程逻辑阵列中的逻辑门之类的组件。此类逻辑排列还可以被包括在用于使用例如虚拟硬件描述符语言(其可以使用固定的或可传输的载波介质来存储)在此类阵列中临时或永久地建立逻辑结构的启用装置中。
可以理解,上述方法还可以被合适地在运行在一个或多个处理器(未示出)上的软件中完全或部分地执行,并且可以作为诸如磁或光计算机盘之类的任何适合数据载体(也未示出)上承载的计算机程序元素来提供所述软件。用于数据传输的通道同样可以包括所有描述的存储介质以及诸如有线或无线信号介质之类的信号承载介质。
本发明可以被合适地包括为用于与计算机系统一起使用的计算机程序产品。此类实现可以包括固定在诸如计算机可读介质(例如,软盘、CD-ROM、ROM或硬盘)之类的有形介质上,或经过调制解调器或其他接口设备通过有形介质(包括但不限于光或模拟通讯线路)或使用无线技术(包括但不限于微波、红外线或其他传输技术)无形地传输到计算机系统的一系列计算机可读指令。所述计算机可读指令系列包括所有或部分先前在此描述的功能。
本领域的技术人员将理解,可以以多种用于与许多计算机体系结构或操作系统一起使用的编程语言来编写此类计算机可读指令。此外,可以使用任何当前或未来的存储器技术(包括但不限于半导体、磁或光)来存储此类指令,或使用任何当前或未来的通信技术(包括但不限于光、红外线或微波)来传输此类指令。构想了此类计算机程序产品可以作为附带有印刷或电子文档的可移动介质(例如,紧缩套装软件)来发布、被预加载到计算机系统(例如,加载到系统ROM或固定盘上),或者通过网络(例如,因特网或万维网)从服务器或电子公告版来发布。
将进一步理解,可以以代表客户部署以便按需提供服务的服务的形式来提供本发明的实施例。
还将理解,对上述优选实施例的各种进一步修改对本领域的技术人员将是显而易见的。
权利要求
1.一种用于将数据写入镜像存储组件的装置,所述镜像存储组件被配置成将数据项放置在第一介质的最小寻道时间区域中,并且被配置成将所述数据项的镜像副本放置在第二介质的非最小寻道时间区域中;所述装置包括接收将被写入的所述数据项的数据接收组件;存储所述数据项的数据存储组件;导致将所述数据项立即写入所述第一介质的所述最小寻道时间区域的第一写入组件;以及导致从所述数据存储组件推迟读取所述数据项和将所述镜像副本推迟写入所述第二介质的所述非最小寻道时间区域的第二写入组件。
2.如权利要求1中所述的装置,其中所述第一介质和所述第二介质中的至少一个介质包括盘存储装置。
3.如权利要求2中所述的装置,其中所述最小寻道时间区域包括盘片的外部区域。
4.如权利要求2或3中所述的装置,其中所述非最小寻道时间区域包括盘片的内部区域。
5.如上述任一权利要求中所述的装置,其中所述数据存储组件包括非易失性存储装置。
6.如权利要求5中所述的装置,其中所述非易失性存储装置包括非易失性随机存取存储器。
7.如上述任一权利要求中所述的装置,其中所述数据存储组件在所述推迟写入完成后被清空。
8.如上述任一权利要求中所述的装置,其中所述数据存储组件可以对多个数据项进行批处理操作。
9.如上述任一权利要求中所述的装置,其中所述推迟写入所述镜像副本可以在减少活动期间操作。
10.如上述任一权利要求中所述的装置,其中所述推迟写入所述镜像副本可以被更高优先级的工作中断。
11.一种用于操作用于将数据写入镜像存储组件的装置的方法,所述镜像存储组件被配置成将数据项放置在第一介质的最小寻道时间区域中,并且被配置成将所述数据项的镜像副本放置在第二介质的非最小寻道时间区域中;所述方法包括以下步骤由数据接收组件接收将被写入的所述数据项;由数据存储组件存储所述数据项;由第一写入组件导致将所述数据项立即写入所述第一介质的所述最小寻道时间区域;以及由第二写入组件导致从所述数据存储组件推迟读取所述数据项和将所述镜像副本推迟写入所述第二介质的所述非最小寻道时间区域。
12.如权利要求11中所述的方法,其中所述第一介质和所述第二介质中的至少一个介质包括盘存储装置。
13.如权利要求12中所述的方法,其中所述最小寻道时间区域包括盘片的外部区域。
14.如权利要求12或13中所述的方法,其中所述非最小寻道时间区域包括盘片的内部区域。
15.如权利要求11到14中的任一权利要求所述的方法,其中所述数据存储组件包括非易失性存储装置。
16.如权利要求15中所述的方法,其中所述非易失性存储装置包括非易失性随机存取存储器。
17.如权利要求11到16中的任一权利要求所述的方法,其中所述数据存储组件在所述推迟写入完成后被清空。
18.如权利要求11到17中的任一权利要求所述的方法,其中所述数据存储组件可以对多个数据项进行批处理操作。
19.如权利要求11到18中的任一权利要求所述的方法,其中所述推迟写入所述镜像副本可以在减少活动期间操作。
20.如权利要求11到19中的任一权利要求所述的方法,其中所述推迟写入所述镜像副本可以被更高优先级的工作中断。
21.一种包括计算机程序代码的计算机程序,当所述计算机程序代码被加载到计算机系统中并在其上执行时,导致所述计算机系统执行如权利要求11到20中的任一权利要求所述的方法的所有步骤。
全文摘要
一种可用于将数据写入镜像存储组件的装置,所述镜像存储组件被配置成将数据项放置在第一介质的最小寻道时间区域中,并且被配置成将所述数据项的镜像副本放置在第二介质的非最小寻道时间区域中。所述装置包括接收将被写入的所述数据项的数据接收组件;存储所述数据项的数据存储组件;导致将所述数据项立即写入所述第一介质的所述最小寻道时间区域的第一写入组件;以及导致从所述数据存储组件推迟读取所述数据项和将所述镜像副本推迟写入所述第二介质的所述非最小寻道时间区域的第二写入组件。
文档编号G11B20/12GK1912821SQ200610072699
公开日2007年2月14日 申请日期2006年4月11日 优先权日2005年8月10日
发明者J·I·塞特尔, D·D·克里奇利, R·H·霍普金斯 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1