磁盘上数据的小随机更改的高效存储制造技术

技术编号:12885360 阅读:91 留言:0更新日期:2016-02-17 16:40
本文所描述的实施例提供了一种方法及系统,用于将数据的小随机修改或更改高效地存储到耦接至网络环境中的主计算机的存储服务器的一个或更多个存储设备中,比如存储在磁盘中。示意性地,数据被存储于主计算机的、可按字节寻址的持久性存储器的区域中并且按照该数据被修改时所采用的粒度被复制(即,拷贝)为磁盘上的区域中的已更改数据,所述粒度例如为可按字节寻址的粒度。为此,每个存储服务器使用这样的数据结构(例如,斐波纳契阵列):该数据结构被配置成将小随机数据更改高效地累积成一个或更多个大的已更改数据块以按照实现磁盘的流式传输带宽的方式存储在磁盘上。

【技术实现步骤摘要】
【国外来华专利技术】【专利说明】背景
本公开内容涉及数据存储,更具体地涉及网络环境中耦接至主计算机的一个或多个磁盘上的数据的小随机更改的高效存储。背景信息许多现代计算算法是基于分页的并且在运行在主计算机上的操作系统的内核中实现。分页是一种存储器管理功能,其有助于以块或“页面”的形式将数据存储到主存储器(如磁盘)中以及从主存储器(如磁盘)中检索数据。例如,假定主计算机上执行的应用程序利用基于分页的算法以例如将新结点插入双向链表。该算法的执行可能会产生第一已修改(“脏(dirtied)”)页面(即带有前指针的页面)、第二脏页面(S卩,带有下一指针的页面)以及包含新插入结点的第三脏页面。页面的修改需要大量(例如,三个)的随机搜索操作以从磁盘中检索这些页面,以及相同次数的附加搜索操作以将已修改页面写回磁盘。因此,期望在基于磁盘的系统上使用避免这样的随机且昂贵操作的数据结构。可按字节寻址的持久性存储器(如存储类存储器)的出现可以加速:对主存储器的采用以驻留在主计算机的存储器总线上以及对“存储器内”计算的接受。针对持久性(非易失性)可按字节寻址存储器所写的应用程序不会由于随机访问而产生性能损失并且因此表现不同,例如,它们作为上述的可直接按字节寻址的链表持续存在。持久性存储器可以被配置成使主计算机上执行的应用程序能够以可按字节寻址的粒度安全且持续地修改(更改)它们的数据以例如经受住故障。即,应用程序可以执行高频率、小随机存取以更改持久性存储器中的数据。然而,面临灾祸时,即使是持久性存储器中存储的安全且一致的数据也容易受损,因为主计算机中仅有该数据的单个副本。因此,在经济上有利的是:需要对通过网络连接至主计算机的远程机器的一个或更多个存储设备(如磁盘)上的已更改数据进行复制,从而使得该已更改数据能够在灾祸后得以恢复。然而,磁盘通常会提供良好的流式传输带宽性能(例如,大量顺序块的读/写或“跟踪读取”)却不能较好地执行小随机存取(即,在磁盘寻找之前读写单个磁盘扇区)。换句话说,磁盘可以按照顺序模式或流式传输带宽(streaming bandwidth)模式进行更高效的操作,然而小随机存取(如上述随机搜索操作)会大幅地降低磁盘的性能。因此,有必要对主计算机上的持久性存储器的随机存取、可按字节寻址能力与磁盘的基于块的流式传输带宽能力进行匹配。【附图说明】通过参考以下结合附图的描述将更好地理解本文中的实施例的上述及其他优点,其中,相同的附图标记表示相同的或功能上类似的元件,在附图中:图1是网络环境的框图;图2是网络环境中的主计算机的框图;图3是碎片的框图;图4是复制组的框图;图5是网络环境中的存储服务器的框图;图6是存储服务器的磁盘上阵列(on-disk array)的框图;以及图7是用于将数据的小随机修改或更改存储于存储服务器的一个或更多个磁盘上的示例性简化流程。【具体实施方式】本文所描述的实施例提供了一种系统及方法,用于数据的小随机修改或更改高效地存储到耦接接至网络环境中的主计算机的存储服务器的一个或更多个存储设备(如磁盘)中。示意性地,该数据被存储在主计算机的、可按字节寻址的持久性存储器的区域中并且按照该数据的被修改粒度时所采用的粒度(例如按照可按字节寻址的粒度)被复制(即,拷贝)为磁盘上的区域中的已更改数据。为此,每个存储服务器使用这种数据结构:该数据结构被配置成将小随机数据更改高效地累积成一个或更多个大的已更改数据块以按照实现磁盘的流式传输带宽的方式存储在磁盘上。在一个或更多个实施例中,数据结构示意性地为磁盘上阵列(例如,斐波纳契阵列),该磁盘上阵列存储于存储服务器上并且通过服务器上执行的用户级进程或代理进行维持。示意性地,阵列可以被组织为一系列的层;阵列由块大小B进行参数化以使得层的大小由该层内的块条目的数量确定。值得注意的是,每个层的条目的数量是该层前面两层的条目的数量之和,例如,第一层(和第二层)的长度为B,则接下来后续层的长度依次为2B、3B、5B、8B等等,即为斐波纳契数列。磁盘上阵列的逻辑表示在持久性存储器中被维持为内核存储阵列。内核存储阵列的一部分被组织成缓冲池,其中的每个缓冲区的大小也为B。缓冲区通过用户级代理示意性地维持为集结区(staging area),该集结区用于在小随机数据更改存储到磁盘之前将所述小随机数据更改累积成阵列的大块条目。用户级代理还维持多个磁盘指针,其中,每个磁盘指针引用(指向)阵列的与磁盘上的层的起始位置相对应的层。在实施例中,阵列的每层按照例如已更改数据的存储基地址进行内部排序,而层间排序是按时间进行的。换句话说,阵列的较高层表示较旧的块条目,例如第一个、最低层容纳内部排序的最新块条目,而最后的、最高层包含内部排序最旧条目。为了维持这些层内的内部排序,用户级代理示意性地执行了归并分类技术,该归并分类技术用于对所累积的(满的)缓冲区的内容以及阵列的升序层的条目的内容进行分类(即,排序)和周期性地归并从而删除重复的条目(例如,约束阵列的大小),同时也合并相邻的条目(例如,减小阵列的大小)。此外,对具有较大条目总数的升序层的周期性归并通过使得能够为磁盘分配大体上长游程的连续磁盘块以及通过实现磁盘的流式传输带宽能力(例如,针对区域的复制和恢复)改善了阵列的磁盘上布局。描述图1是可以有利地结合本文所描述的一个或更多个实施例一起使用的网络环境100的框图。环境100可以包括通过计算机网络150耦接至多个(例如,一群)存储服务器500的主计算机200。尽管实施例中的计算机网络150是示意性的以太网网络,但是计算机网络150也可以包括一个或更多个点对点链路、无线链路、共享局域网、广域网或通过公共网络(如公知的互联网)实现的虚拟专用网。环境100还可以包括被配置成管理一群存储服务器500的主服务器160。主服务器160可以位于网络150上的任何地方,如位于主计算机200或存储服务器500上;然而,在实施例中,主服务器160示意性地位于单独的管理计算机上。如本文中进一步描述的,每个存储服务器500可以体现为:被配置成为主计算机200提供存储服务的计算机(如存储系统)、体现为文件管理器的存储设备或者运行用户级进程的刀片服务器。因此,每个存储服务器500包括耦接至一个或更多个存储设备(如磁盘120)的计算与存储单元。主计算机200可以使用帧170(如以太网帧)内包含的离散消息或碎片300与存储服务器500进行通信,所述离散消息或碎片300使用除其他外包括无线协议和/或以太网协议的多种通信协议通过网络150进行传输。然而,在本文所描述的实施例中,帧170示意性地根据用户数据报协议/互联网协议(UDP/IP)消息传递协议进行封装。图2是可以有利地结合本文所描述的一个或更多个实施例一起使用的主计算机200的框图。主计算机200示意性地包括处理器210,该处理器210通过存储器总线250连接至持久性存储器220并且通过系统总线240连接至网络适配器230。网络适配器230可以包括通过计算机网络150将主计算机200连接至存储服务器500所需的机械线路、电路和信令线路。网络适配器230还可以包括被配置成按照一个或更多个操作模式通过网络150传输包含碎片300的帧170的逻辑电路,这些操作模式将碎片所包含的信本文档来自技高网...

【技术保护点】
一种系统,包括:存储适配器,所述存储适配器耦接至一个或更多个磁盘;网络适配器,所述网络适配器连接至网络并且被配置成通过所述网络接收数据的小随机更改;处理器,其被连接至所述存储适配器和所述网络适配器,所述处理器被配置成执行代理;以及所述一个或更多个磁盘的磁盘上阵列,所述磁盘上阵列被配置成将数据的所述小随机更改累积成一个或更多个大的已更改数据块以存储在所述一个或更多个磁盘上从而实现所述一个或更多个磁盘的流式传输带宽。

【技术特征摘要】
【国外来华专利技术】...

【专利技术属性】
技术研发人员:道格拉斯·约瑟夫·桑特里
申请(专利权)人:网络装置公司
类型:发明
国别省市:美国;US

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

1