跨具有不同分配尺寸的存储器迁移数据的制作方法_2

文档序号:9401918阅读:来源:国知局
就是说,为数据分配了两个最小分配单元。假设数据待迀移至的目标 使用的是具有21个柱的最小分配单元。那么采用30个柱的数据就超过了目标的一个最小 分配单元,因此,必须在目标中分配至少两个最小分配单元。因此,目标系统在21*2 = 42 个柱中容纳了同样的数据。
[0025] 该示例性的实施例认识到有42-30 = 12个额外的柱保持未用并且是浪费掉的存 储空间。除了浪费,当数据存储在源时,访问源数据存储器处的数据的应用,可能读到位于 30个柱的末端的文件尾(end-of-file),并可能读至目标处的第42个柱的末端。因此,该 应用可能读取这12个未用柱中的垃圾数据,而导致出错或故障。
[0026] 可替代地,为了阻止应用读取该42个柱的配置中的第30个柱以外的地方,可能就 要在未用的柱之前记录特殊的文件尾标记。示例性实施例认识到,这样做会增加数据迀移 的过程的复杂性和成本(cost)。
[0027] 作为另一个例子,当源跨几个卷存储数据时,每个卷可能被单独迀移至目标,这会 导致在数据中产生间隙(gaps)。例如,假设源的卷1使用15个柱的最小分配单元在90个 柱中存储数据的一部分,该源的卷2使用15个柱的最小分配单元在另60柱中存储该数据 的另一部分。当来自这两个卷的数据被迀移至使用21个柱的最小分配单元的目标时,来自 卷1的该第一部分数据被存储在105(21*5)个柱中,而第二部分则用63(21*3)个柱存储。
[0028] 该迀移在该数据之中留下15个未用块,在该数据的结尾留下3个未用块。从目标 读取数据的应用会因读取该中间的15个未用块、该3个拖尾的未用块中的垃圾数据或者读 取这两处的垃圾数据而遇到问题。
[0029] 用于描述本发明的示例性的实施例大体上涉及和解决上述问题以及有关数据处 理系统中迀移数据的其它问题。示例性的实施例提供了用于跨具有不同分配尺寸的存储器 迀移数据的方法、系统及计算机程序产品。
[0030] 示例性的实施例进一步认识到,有些数据存储设备能够使用多种最小分配单元以 及最小分配单元尺寸。例如,数据存储设备能够在一部分存储空间中使用具有1个轨道的 最小分配单元来分配空间,并在另一部分存储空间中使用具有21个柱的最小分配单元来 分配空间。
[0031] -个实施例利用了数据存储设备在该设备的不同部分中分配不同尺寸的最小分 配单元的能力来避免迀移的数据中的未用空间。例如,假设某目标数据存储设备能使用大 的最小分配单元尺寸和小的最小分配单元尺寸分配空间。仅作为举例,而非意味着对其的 限制,可以将具有单一轨道的块视为小的最小分配单元,将具有21个柱的块视为大的最小 分配单元。
[0032] -个实施例计算能被数据完全占据的大的最小分配单元的数目。该实施例将那个 数目的大的最小分配单元分配给数据。仅部分地占据大的最小分配单元的该数据的剩余部 分一无论位于该数据的开始、结尾还是中间,则使用一个或多个小的最小分配单元来分配 空间。
[0033] 示例性实施例是参考数据处理环境中特定的组件描述的,其中使用的各最小分配 单元尺寸仅是示例。这种组件的任何特定表现(诸如使用基于轨道类或柱类的基本数据组 织结构的最小分配单元的数据存储设备)并不是要限制本发明。在示例性实施例的范围 内,在数据存储设备的任何表现中,可以选择使用任何基本数据组织结构计算的任何合适 一种或多种最小分配单元尺寸。
[0034] 进一步的,示例性实施例可针对任何类型的数据、数据源或通过数据网路对数据 源地访问而实现。在本发明的范围内,任何类型的数据存储设备都可以者是在数据处理系 统本地,或者是通过数据网络,为本发明的实施例提供数据。
[0035] 示例性实施例是通过使用特定代码、设计、架构、协议、布局、图表及工具描述的, 它们仅作为举例,而不是对示例性实施例的限制。此外,示例性实施例在一些实例中采用特 殊的软件、工具及数据处理环境来描述,这些只是为了描述的清楚所举的例子。示例性实施 例可与其它同类的或类似目的的结构、系统、应用或架构一起使用。一个示例性的实施例可 以硬件、软件或硬件与软件的组合的方式实施。
[0036] 本公开中的例子仅用于描述的清楚而不是要限制示例性实施例。根据本公开容易 想到其它数据、操作、动作、任务、行为及操作,它们被认为落在示例性实施例的范围之内。
[0037] 本文列出的任何优点只是为了举例而不是对示例性实施例的限制。通过特定的示 例性实施例可实现额外的或不同的优点。此外,特定的实施例可具有上面列出的优点中的 一些、全部,或者没有所列出的优点。
[0038] 参看附图,特别是参看图1和图2,这些图是示例性实施例实现在其中的数据处理 环境的示例图。图1和图2只是例子,而不是为了对不同实施例可能实现在其中的环境施 加或暗示任何相关的限制。特定实现可能基于下列描述对所描绘的环境做出任意修改。
[0039] 图1描述了可在其中实现示例性实施例的数据处理系统的图形表示。数据处理环 境100是可在其中实现示例性实施例的计算机的网络。数据处理环境100包括网络102。 网络102是用于在不同设备和数据处理环境100中连接在一起的计算机之间提供通信连接 的媒介。网络102可包括诸如有线、无线通信连接或光纤电缆。服务器104及服务器106 连同存储单元108耦合至网络102。软件应用可以在数据处理环境100中的任何计算机上 执行。
[0040] 此外,客户机110、112以及114耦合至网络102。数据处理系统,例如服务器104 或106,或客户机110、112或114,可包含数据并且可以具有在其上执行的软件应用或软件 工具。
[0041] 仅作为一个例子,并且不对该架构暗示任何限制,图1描述了在实施例的示例性 实现可用的特定组件。例如,存储器108使用最小分配单元109分配空间,其具有一定的最 小分配单元尺寸。存储器118使用具有第一最小分配单元尺寸的最小分配单元119以及具 有第二最小分配单元尺寸的最小分配单元121来分配空间。在一个实施例中,存储器108作 为源,存储器118作为目标。在服务器104中的迀移应用105实现一个从源存储器108向 目标存储器118迀移数据的实施例。在一个实施例中,最小分配单元109以及最小分配单 元119的尺寸是1个轨道,最小分配单元121的尺寸是21个柱。
[0042] 服务器104和106,存储单元108、客户机110、112及114可使用有线连接、无线通 信协议或其它适合的数据连接耦合至网络102。客户机110、112及114例如可以是个人计 算机或网络计算机。
[0043] 在所示的例子中,服务器104可将与操作系统和其它软件应用相关的数据(例如 引导文件、操作系统镜像、文件)、以及应用特征提供给客户机110、112及114。在这个例子 中,客户机11〇、112及114可以是服务器104的客户机。客户机110、112及114或它们的 某种组合可包括它们自己数据、引导文件、操作系统镜像、与操作系统和其他软件应用有关 的文件。数据处理环境100可包括额外的服务器、客户机以及其它未示出的设备。
[0044] 在所示的例子中,数据处理环境110可是因特网。网络102可代表使用传输控制 协议/因特网协议(TCP/IP)以及其它协议相互通信的网络和网关的集合。因特网的中心 是在主节点或主机计算机之间连接的数据通信的主干网,包括数以千计的商业、政府、教育 以及其他路由数据和消息的计算机系统。当然,数据处理系统100还可以实现为大量不同 类型的网络,举例而言,例如内联网、局域网(LAN)或广域网(WAN)。图1的目的是举例,而 不是对不同示例性实施例的架构限制。
[0045] 除其它用途外,数据处理系统100还可被用来实施客户机-主机环境,其中可以实 现示例性实施例。客户机-服务器环境使得软件应用及数据能够跨网络分布,从而使软件 应用通过利用客户机数据处理系统和主机数据处理系统之间的交互性而作用。。数据处理 环境100还可采用面向服务的架构,其中,分布在网络上的彼此协作的软件组件可被打包 在一起作为协同商业应用(coherent business applications) 〇
[0046] 参看图2,该图描述了可在其中实施示例性实施例的数据处理系统的框图。数据处 理系统200是计算机的一个例子,例如图1中的服务器104或客户机112,或其它类型的设 备,其中具有用于示例性实施例的实现该流程的计算机可用的程序代码或指令。
[0047] 在所描述的例子中,数据处理系统200采用了集线器(hub)架构,包括北桥和内 存控制器集线器(NB/MCH)202和南桥及输
当前第2页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1