一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

将大盘区存储池适当地转换为小盘区存储池的制作方法

2022-04-14 05:16:11 来源:中国专利 TAG:


1.本发明涉及数据迁移和/或转换,更具体地,本发明涉及将数据从大盘区存储池适当地转换到小盘区存储池。


背景技术:

2.存储产品中的盘区池可以实现不同的盘区大小。例如,1gb的盘区大小可以被实现用于大盘区池,并且16mb的盘区大小可以被实现用于小盘区池。当与大盘区池比较时,一些工作负荷可以在小盘区池中执行得更好。于是,在一些情形下,由客户端针对给定存储池选择特定盘区大小,但是随着时间的推移,因素改变,从而期望不同的盘区大小。例如,在一些情形下,存储系统可能经历对物理存储的需求的增加,使得较小的盘区大小的存储池被转换为较大的盘区大小的存储池。
3.然而,由给定池实现的用于转换盘区大小的现有过程是耗时且低效的。例如,用于转换存储池中的盘区的大小的常规过程需要在可以对盘区大小进行任何改变之前,首先将数据迁移到另一个物理存储池。这种迁移数据的过程是不期望的,这是由于它需要附加的存储资源、处理带宽、时间来将所有数据物理地复制到另一存储介质等。因此,需要能够有效地转换存储池中的盘区的大小的过程。


技术实现要素:

4.根据一种方法,一种计算机实现的方法用于将现有存储池适当地转换成预期存储池。该计算机实现的方法包括:标识将具有第一盘区大小的现有存储池转换为具有第二盘区大小的预期存储池的请求,其中第一盘区大小大于第二盘区大小。针对现有存储池中的每个卷:对对应于给定卷的卷区段表(vst)条目执行临时暂停/锁定,并且将新结构应用于vst项。新结构将与vst条目相关联的现有物理盘区分成两个或更多个较小的物理盘区。此外,针对现有存储池中的区块,将给定区块从第一盘区大小转换到第二盘区大小。
5.还应当注意,在将现有存储池转换成预期存储池时,卷中的数据不被迁移到现有存储池外部。于是,本文中所包括的方法中的一些方法能够在适当地保持数据的同时转换数据存储池中的区块的盘区大小。虽然该过程确实包括在区块盘区大小的实际改变可能发生之前对数据的某种重新排序,但是在执行转换的同时数据仍然位于给定存储池中,从而显著地提高操作效率、降低数据存储消耗、降低性能延迟、降低网络流量(例如,其否则将由迁移数据而导致)等。这些改进是(至少部分地)由于卷的属性允许这些各种过程和子过程将卷和区块的布局转换成更大的盘区大小的事实而实现的。
6.rst和/或vst的属性允许实现这些改进,使得不涉及数据到其它存储池或机器的迁移。新结构还把与vst条目相关联的现有物理盘区分成两个或更多个较小的物理盘区,使得这些较小的物理盘区与预期存储池的盘区之间的边界对准而没有任何填充。这进一步提高了存储空间利用的效率,从而总体上改进了总体数据存储系统的性能。
7.根据另一种方法,一种计算机程序产品用于将现有存储池适当地转换为预期存储
池。该计算机程序产品包括计算机可读存储介质,该计算机可读存储介质具有随其具体实施的程序指令。该程序指令由处理器可读和/或可执行以使处理器执行前述方法。
8.根据又一种方法,一种系统,包括:处理器,以及与处理器集成的、由处理器可执行的、或者与处理器集成且由处理器可执行的逻辑。该逻辑被配置为执行前述方法。
9.通过以下具体实施方式,本发明的其它方面和实施例将变得清楚明白,该具体实施方式在与附图结合时通过示例的方式图示了本发明的原理。
附图说明
10.图1是根据一种方法的网络架构的代表性视图。
11.图2是根据一种方法的可以与图1的服务器和/或客户端相关联的代表性硬件环境。
12.图3是根据一种方法的分层数据存储系统的代表性视图。
13.图4a是根据一种方法的用于将现有小盘区存储池适当地转换为预期大盘区存储池的方法的流程图。
14.图4b是根据一种方法的图4a的方法中的操作之一的子过程的流程图。
15.图4c是根据一种方法的图4a的方法中的操作之一的子过程的流程图。
16.图5图示了根据一种方法的存储环境的代表性视图。
17.图6a是根据一种方法的用于将现有大盘区存储池适当地转换为预期小盘区存储池的方法的流程图。
18.图6b是根据一种方法的图6a的方法中的操作之一的子过程的流程图。
具体实施方式
19.以下描述公开了用于将数据从大盘区池迁移到小盘区池的系统、方法和计算机程序产品的若干优选方法。各种方法提供了一种方法,用于创建卷的逻辑卷盘区与源存储池的区块盘区内的物理偏移位置之间的对应关系,并且利用该对应关系将数据从源存储池的一个或多个区块迁移到目的地存储池的一个或多个区块。
20.以下描述是出于说明本发明的一般原理,而不是意在限制本文中所要求保护的发明概念。此外,本文中所描述的特定特征可以与其它所描述的特征以各种可能的排列组合中的每一种使用。
21.除非本文中另有明确定义,否则所有术语将被给予其最广泛的可能解释,包括通过说明书所暗示的含义以及本领域技术人员所理解的和/或词典、论文等中所定义的含义。
22.还必须注意,如在说明书和所附权利要求中所使用的,单数形式“一”、“一个”和“该”包括复数参照对象,除非另有说明。还将理解,术语“包括”和/或“包含”当在本说明书中使用时,指定所陈述的特征、整数、步骤、操作、元件和/或组件的存在,但是不排除一个或多个其它特征、整数、步骤、操作、元件、组件和/或其群组的存在或添加。
23.以下描述公开了用于在数据保持在位的同时转换数据存储池中的区块的盘区大小的系统、方法和计算机程序产品的若干优选方法。通过在执行转换的同时保持数据位于给定存储池中,本文所包括的各种方法能够显著提高系统的操作效率,例如,如将在下面进一步详细描述的。
24.在一种一般的方法中,计算机实现的方法用于将现有存储池适当地转换成预期存储池。该计算机实现的方法包括:标识将具有第一盘区大小的现有存储池转换为具有第二盘区大小的预期存储池的请求,其中第一盘区大小大于第二盘区大小。针对现有存储池中的每个卷:对与给定卷对应的卷段表(vst)条目执行临时暂停/锁定,并将新结构应用于vst项。该新结构将与vst条目相关联的现有物理盘区分成两个或多个更小的物理盘区。此外,针对现有存储池中的区块中的每个区块,将给定区块从第一盘区大小转换为第二盘区大小。
25.在另一种一般方法中,一种计算机程序产品用于将现有存储池适当地转换成预期存储池。该计算机程序产品包括计算机可读存储介质,该计算机可读存储介质具有随其具体实施的程序指令。程序指令由处理器可读和/或由处理器可执行以使处理器:执行前述方法。
26.在又一种一般方法中,一种系统包括:处理器,以及与处理器集成的、由处理器可执行的、或者与处理器集成并由处理器可执行的逻辑。该逻辑被配置为:执行前述方法。
27.图1图示了根据一种方法的架构100。如图1所示,提供了多个远程网络102,包括第一远程网络104和第二远程网络106。网关101可以耦接在远程网络102与邻近网络108之间。在本架构100的上下文中,网络104、106可以各自采取任何形式,包括但不限于lan、诸如因特网的wan、公共交换电话网(pstn)、内部电话网等。
28.在用例中,网关101作为从远程网络102到邻近网络108的入口点。这样,网关101可以用作能够引导到达网关101处的给定分组的路由器以及为给定分组提供进出网关101的实际路径的交换机。
29.还包括耦接到邻近网络108的至少一个数据服务器114,并且其可经由网关101从远程网络102访问。应注意,数据服务器114可以包括任何类型的计算设备/群件。多个用户设备116被耦接到每个数据服务器114。用户设备116还可以通过网络104、106、108中的一个网络直接连接。这样的用户设备116可以包括台式计算机、膝上型计算机、手持式计算机、打印机或任何其他类型的逻辑。应注意,在一种方法中,用户设备111也可以直接耦接到网络中的任何网络。
30.外围设备120或一系列外围设备120(例如,传真机、打印机、联网和/或本地存储单元或系统等)可以耦接到网络104、106、108中的一个或多个网络。应注意,数据库和/或附加组件可以与耦接到网络104、106、108的任何类型的网络元件一起使用或集成到其中。在本说明书的上下文中,网络元件可以指网络的任何组件。
31.根据一些方法,本文中所描述的方法和系统可以用和/或在虚拟系统和/或仿真一个或多个其他系统的系统上实现,该一个或多个其他系统诸如仿真ibm z/os环境的unix系统、虚拟地托管microsoft windows环境的unix系统、仿真ibm z/os环境的microsoft windows系统等。在一些方法中,可以通过使用vmware软件来增强这种虚拟化和/或仿真。
32.在更多方法中,一个或多个网络104、106、108可以表示通常被称为“云”的系统集群。在云计算中,诸如处理能力、外围设备、软件、数据、服务器等的共享资源以按需关系被提供给云中的任何系统,从而允许服务跨许多计算系统的访问和分布。云计算通常涉及在云中操作的系统之间的因特网连接,但是也可以使用连接系统的其他技术。
33.图2示出了根据一种方法的与图1的用户设备116和/或服务器114相关联的代表性
硬件环境。这样的图图示了工作站的典型硬件配置,该工作站具有中央处理单元210(诸如,微处理器)和经由系统总线212互连的多个其它单元。
34.图2所示的工作站包括随机存取存储器(ram)214、只读存储器(rom)216、用于将诸如盘存储单元220的外围设备连接到总线212的i/o适配器218、用于将键盘224、鼠标226、扬声器228、麦克风232和/或诸如触摸屏和数码相机(未示出)之类的其它用户接口设备连接到总线212的用户接口适配器222、用于将工作站连接到通信网络235(例如,数据处理网络)的通信适配器234、以及用于将总线212连接到显示设备238的显示适配器236。
35.工作站其上可以驻留有操作系统,诸如microsoft 操作系统(os)、mac os、unix os等。将理解,优选方法也可以在除了所提及的那些以外的平台和操作系统上实现。可以使用xml、c和/或c 语言或其它编程语言,连同面向对象的编程方法一起,来编写优选方法。可以使用已变得越来越多地用于开发复杂应用的面向对象编程(oop)。
36.现在参考图3,示出了根据一种方法的存储系统300。注意,根据各种方法,图3所示的元件中的一些元件可以被实现为硬件和/或软件。存储系统300可以包括用于与至少一个较高存储层302和至少一个较低存储层306上的多个介质通信的存储系统管理器312。(多个)较高存储层302优选地可以包括一个或多个随机存取和/或直接存取介质304,诸如硬盘驱动器(hdd)中的硬盘、非易失性存储器(nvm)、固态驱动器(ssd)中的固态存储器、闪存、ssd阵列、闪存阵列等和/或本文中所提到的或本领域已知的其它介质。(多个)较低存储层306可以优选地包括一个或多个较低性能存储介质308,包括顺序存取介质,诸如磁带驱动器中的磁带和/或光学介质、较慢存取hdd、较慢存取ssd等和/或本文中所述或本领域已知的其它介质。一个或多个附加存储层316可以包括系统300的设计者所期望的存储存储器介质的任意组合。而且,较高存储层302和/或较低存储层306中的任一存储层可以包括存储设备和/或存储介质的某种组合。
37.存储系统管理器312可以通过网络310(诸如,如图3所示的存储区域网络(san))或一些其它合适的网络类型与较高存储层302和较低存储层306上的存储介质304、308通信。存储系统管理器312还可以通过主机接口314与一个或多个主机系统(未示出)通信,该主机接口可以是或可以不是存储系统管理器312的一部分。存储系统管理器312和/或存储系统300的任何其它组件可以以硬件和/或软件实现,并且可以利用用于执行本领域已知的类型的命令的处理器(未示出),诸如中央处理单元(cpu)、现场可编程门阵列(fpga)、专用集成电路(asic)等。当然,可以使用存储系统的任何布置,如本领域技术人员在阅读本说明书时将清楚明白的。
38.在更多的方法中,存储系统300可以包括任意数量的数据存储层,并且可以在每个存储层内包括相同或不同的存储存储器介质。例如,每个数据存储层可以包括相同类型的存储存储器介质,诸如hdd、ssd、顺序存取介质(磁带驱动器中的磁带、光盘驱动器中的光盘等)、直接存取介质(cd-rom、dvd-rom等)、或者介质存储类型的任何组合。在一个这样的配置中,较高存储层302可以包括用于在较高性能存储环境中存储数据的ssd存储介质的大部分,并且包括较低存储层306和附加存储层316的剩余存储层可以包括用于在较低性能存储环境中存储数据的ssd、hdd、磁带驱动器等的任何组合。这样,更频繁访问的数据、具有更高优先级的数据、需要更快访问的数据等可以存储到更高存储层302,而不具有这些属性之一的数据可以存储到附加存储层316,包括较低存储层306。当然,本领域技术人员在阅读本说
明书时可以根据本文中所呈现的方法来构思存储介质类型的许多其他组合以被现成不同的存储方案。
39.根据一些方法,存储系统(诸如,300)可以包括被配置为接收打开数据集的请求的逻辑、被配置为确定所请求的数据集是否在多个相关联的部分中被存储到分层数据存储系统300的较低存储层306的逻辑、被配置为将所请求的数据集的每个相关联的部分移动到分层数据存储系统300的较高存储层302的逻辑、以及被配置为从相关联的部分将所请求的数据集组合到分层数据存储系统300的较高存储层302上的逻辑。
40.当然,根据各种方法,该逻辑可以被实现为任何设备和/或系统上的方法或被实现为计算机程序产品。
41.如前所述,存储产品中的盘区池可实现不同的盘区大小。此外,当与在大盘区存储池中执行相比,一些工作负荷可以在小盘区存储池中更好地(例如,更有效地)执行。于是,虽然客户端可以为给定存储池选择指定盘区大小,但是因素随时间改变,使得在性能效率方面更需要不同的盘区大小。例如,在一些情形下,存储系统可能经历对物理存储的需求的增加,使得期望较小的盘区大小的存储池被转换为较大的盘区大小的存储池。
42.然而,由给定存储池实现的用于转换盘区大小的现有处理是耗时且低效的。例如,用于转换存储池中的盘区的大小的常规过程需要在可以对盘区大小进行任何改变之前,首先将数据从现有存储池完全迁移到另一物理存储池。这种迁移数据的过程是特别不期望的,因为它需要附加的存储资源、处理带宽、时间来将所有数据物理地复制到备选存储介质等。因此,需要能够有效地转换存储池中的盘区的大小的过程。
43.与常规过程所经历的前述缺点形成鲜明对比,包括在本文中的各种方法期望能够在数据适当地保持的同时转换数据存储池中的区块的盘区大小。虽然该过程确实包括在区块盘区大小的实际改变可能发生之前对数据的某种重新排序,但是在执行转换的同时数据仍然位于给定存储池中,从而显著提高操作效率,例如,如将在下面进一步详细描述的。
44.现在参考图4a,根据一种方法示出了用于将现有小盘区存储池适当地转换成预期大盘区存储池的方法400的流程图。在各种方法中,方法400可以根据本发明在图1-3中所描绘的任何环境中执行。当然,如本领域技术人员在阅读本说明书时将理解的,可以在方法400中包括比图4a中具体描述的操作更多或更少的操作。
45.方法400的每个步骤可以由操作环境的任何合适的组件来执行。例如,在各种方法中,方法400可以部分地或完全地由控制器、处理器、计算机等或其中具有一个或多个处理器的一些其他的设备来执行。因此,在一些方法中,方法400可以是计算机实现的方法。此外,关于本文的任何方法,术语计算机、处理器和控制器可以互换地使用,这样的组件被认为是本发明的许多各种置换中的等同物。
46.此外,针对具有处理器(处理器,例如,以硬件和/或软件实现的(多个)处理电路、(多个)芯片和/或(多个)模块)并优选地具有至少一个硬件组件的那些方法可以用于任何设备来执行方法400的一个或多个步骤。说明性处理器包括但不限于中央处理单元(cpu)、专用集成电路(asic)、现场可编程门阵列(fpga)等、其组合、或者本领域已知的任何其它合适的计算设备。
47.如图4a所示,方法400的操作402包括标识将具有第一区块盘区大小的现有存储池转换成具有第二区块盘区大小的预期存储池的请求。如上所述,方法400涉及将小盘区存储
池转换成大盘区存储池。因此,针对本说明书,“第一区块盘区大小”相对地小于“第二区块的盘区大小”。例如,现有存储池配置可以具有如下区块盘区,该区块盘区各自具有约16mb的大小,而预期存储池配置具有如下区块盘区,区块盘区各自具有约1gb的大小。同样,一些工作负荷在实现给定盘区大小的环境中可以明显更好地执行。例如,当与使用大盘区存储池执行相比时,一些工作负荷使用小盘区存储池执行更有效。因此,可以响应于新发起的工作负荷从正在运行的应用、接收转换给定存储池的盘区大小的请求,响应于相对于盘区大小评估系统性能从用户接收转换给定存储池的盘区大小的请求,等等。
48.还应注意,术语“现有存储池”和“预期存储池”实际上是指同一存储池的不同配置。换言之,术语“现有存储池”旨在指代存储池的现有状态(例如,较小的区块盘区大小),而“预期存储池”旨在指代同一存储池的计划目标状态(例如,较大的区块盘区大小)。
49.如本领域技术人员将清楚明白的,示例性存储池的逻辑配置包括包含物理存储的区块(raid阵列)以及将物理存储映射到逻辑上连续的存储的主机可寻址范围(例如,诸如逻辑单元编号)的卷。区块还包括区块区段(盘区)表(rst),而卷包括卷区段(盘区)表(vst)。这些表至少部分地控制区块上的不同物理盘区到对应于相应卷的盘区的映射,例如,如以下将进一步详细描述的(例如,参见图5)。
50.仍然参考图4a,操作404还包括对现有存储池中的卷盘区重新排序,使得卷的物理区块盘区基本上与预期存储池的区块盘区之间的边界对准。在适当地保持数据的同时增加在给定存储池中实现的盘区大小涉及对卷盘区的布置重新平衡,使得卷物理区块盘区沿较大的盘区边界对准。换言之,如所描述的对卷盘区重新平衡允许连续的小盘区对准并映射到用于较大的预期(例如,计划)盘区大小的连续空间,例如,如本领域技术人员在阅读本描述之后将理解的。
51.根据优选方法,对现有存储池中的卷盘区重新排序,使得卷的物理区块盘区基本上与具有较大的区块盘区的预期存储池的区块盘区之间的边界对准。针对本说明书,应注意,“基本对准”旨在指代其中卷盘区被重新排序使得在卷盘区与区块盘区之间的边界之间不存在填充的情形。换言之,优选地,卷盘区填有较大的预期区块事件而不形成任何间隙。结果是,提高了存储空间利用的效率,从而总体上改进了总体数据存储系统的性能。然而,在其他方法中,可以实现有效地预定义可能存在于卷盘区与区块盘区之间的边界之间的填充的可接受量的容限。
52.如上所述适当地对卷盘区重新排序也是期望的,这是由于当现有存储池被转换成具有较大的区块盘区大小的预期存储池时,它防止实际包括在卷中的数据被迁移到现有存储池外部。具体地,包括在本文中的方法能够显著地减少附加存储资源的量、所消耗的处理带宽、性能延迟等,特别是与常规过程相比。
53.继续参考图4a,应注意,在一些方法中,对现有存储池中的卷盘区重新排序的过程涉及基于包括在卷盘区中的每个卷盘区中的数据的温度来对卷盘区重新排序。换言之,在一些方法中,操作404包括使用数据热分离,以便确定卷盘区应如何被布置在存储池中。结果是,包括热数据的现有存储池中的卷盘区被分组在一起,而包括冷数据的现有存储池中的卷盘区被分组在一起。这进一步提高了存储池能够操作的效率。然而,还应注意,在操作404中已对卷盘区重新排序之后,可以有意地禁用数据热分离,以避免对其对准的连续改变。此外,在给定卷上的新盘区分配优选地涉及分配与连续的大盘区范围对准的连续的小
盘区。
54.在其他方法中,对现有存储池中的卷盘区重新排序的过程涉及仅基于由卷盘区逻辑表示的数据的总大小对卷盘区重新排序,然而,在其他方法中,可以随机地、顺序地、非顺序地等执行重新排序。在另一些其他方法中,对卷盘区重新排序的过程可以基于一个或多个标准,例如,诸如相应区块的数据检索速度。例如,可以以数据检索速度递减的顺序列出区块中的每个区块,并且可以根据列表在区块中分配卷盘区(例如,从具有最快数据检索速度的区块开始等)。
55.响应于将存储池中的卷中的每个卷与较大的预期盘区大小对准,下一步骤是将区块转换为新盘区大小。因此,操作406还包括将现有存储池中的区块中的每个区块从第一区块盘区大小转换为第二区块盘区大小。换言之,操作406包括将现有存储池中的区块中的每个区块的大小增加到与预期存储池相关联的预期区块大小。在优选方法中,通过从一个区块前进到下一个区块来顺序地转换现有存储池中的区块中的每个区块,但是决不旨在限制本发明。例如,在一些方法中,可以并行地增加两个或更多个区块的大小。
56.如前所述,增加给定区块的大小而不执行任何数据迁移的过程是期望的。暂时参考图4b,根据说明性方法示出了将现有存储池中的区块中的每个区块从较小的第一区块盘区大小转换为较大的第二区块盘区大小的示例性子过程。于是,包括在图4b中的子过程中的任何一个或多个子过程可以用于执行图4a的操作406。然而,应注意,图4b的子过程是根据一种方法来说明的,该方法决不旨在限制本发明。
57.如图所示,子操作450涉及前进到现有存储池中的区块。例如,图4b中的子过程的第一次迭代可以涉及前进到存储池中的第一区块,而图4b中的子过程的后续迭代可以涉及前进到存储池中的后续区块。如上所述,可以以迭代的方式针对存储池中的区块中的每个区块重复图4b中的子过程。
58.为了在适当地保持数据的同时转换区块,生成新表以映射到卷已经包含的较小的现有区块盘区布局。因此,子操作452包括针对子过程450中标识的给定区块分配新rst空间和/或条目。如上所述,这个新分配的rst空间和/或条目对应于较大的预期区块盘区大小,因此可用于转换给定区块的大小,而不必迁移其中存储的数据。例如,可以用卷中的数据的逻辑位置填入新分配的rst空间和/或条目,该逻辑位置已被重新排序以与给定区块的边界基本对准。根据一些方法,这可以通过标识卷和该卷内逻辑存储数据的卷盘区来实现。
59.还应注意,在优选方法中,rst以基于一对一的盘区明智地配置。换言之,每个rst条目对应于给定大小的区块盘区,并且指向对应的卷盘区。例如,在一些方法中,给定区块中的盘区被表示为该区块的rst条目,其中每个区块盘区表示用于在存储池内存储数据的预定存储量。此外,分配新rst空间的过程可使用本领域技术人员在阅读本说明书之后将清楚明白的任何过程来执行。
60.继续参考图4b,子操作454包括针对给定区块静止所有盘区改变活动。这允许给定区块被转换,同时强制包括在其中的盘区暂时保持停滞,从而避免任何错误,例如,如本领域技术人员将清楚明白的。然而,尽管针对给定区块,盘区改变活动是静止的,但是应注意,在一些方法中,存储池中的剩余区块可以不受影响。除了避免必须从池迁移数据以便实现转换之外,这期望地允许整个存储池保持操作,同时系统地转换其中的区块中的每个区块的盘区大小。
61.流程图进一步进行到子操作456,其包括用对应于第二区块盘区大小的新条目填入新分配的rst空间和/或条目。换言之,子操作456包括填入在子操作452中形成的新rst条目,以指向更小的卷盘区,该更小的卷盘区根据预期较大的区块盘区大小被重新排序以与给定区块的边界对准。根据一些方法,引用相关卷盘区(例如,使用引用编号)的一个或多个指针可以用于填入新分配的rst空间。然而,例如,取决于所期望的方法,可以实现任何期望的过程。
62.子操作458还包括对对应于给定区块的现有rst条目执行临时暂停/锁定,而子操作460包括激活对应于(例如,点)第二区块盘区大小的新rst条目。子操作458和460由此能够从现有(例如,先前)rst条目转变为新分配的rst条目。根据一些方法,对现有rst条目执行临时暂停/锁定可以涉及在流程图能够实际转变为使用新分配的rst条目之前检查所有可能的线程。
63.响应于激活新分配的rst条目,子操作462包括针对给定区块恢复盘区改变活动。子操作464另外包括释放现有(例如,先前)rst条目,使得其可以根据需要重新使用。例如,在一些方法中,释放现有rst条目涉及释放表中的空间,使得其可以关于其他区块使用。此外,可以删除存储在现有rst条目中的任何信息(例如,数据、元数据等)。
64.进行到判定466,在这里,流程图包括确定是否已转换现有存储池中的所有的区块以实现较大的区块盘区大小。换言之,判定466包括确定是否已评估了现有存储池中的所有的区块。响应于确定现有存储池中的区块中的至少一个区块还没有被转换以实现较大的区块盘区大小,流程图返回到子操作450。在那里,子操作450包括前进到尚未被转换的下一区块,例如,使得图4b中所图示的子过程可以针对该区块重复。然而,响应于确定现有存储池中的所有的区块已被转换以实现较大的区块盘区大小,流程图进行到图4a的操作408。
65.返回图4a,操作408包括实际转换卷,使得它们映射到新转换的区块。换言之,在已经转换每个区块以实现较大的区块盘区大小之后,还转换卷本身。暂时参考图4c,根据说明性方法示出了转换卷以使得它们映射到新转换的区块的示例性子过程。与,包括在图4c中的子过程中的任何一个或多个子过程可以用于执行图4a的操作408。然而,应注意,图4c的子过程是根据一种方法来说明的,该方法决不旨在限制本发明。
66.如图所示,子操作470包括前进到存储池中的卷。例如,图4c中的子过程的第一迭代可以涉及前进到存储池中的第一卷,而图4c中的子过程的后续迭代可以涉及前进到存储池中的后续卷。如上所述,可以以迭代的方式针对存储池中的卷中的每个卷重复图4c中的子过程。
67.前进到子操作472,对对应于给定卷的vst条目执行临时暂停/锁定。根据一些方法,执行临时暂停/锁定包括检查与所讨论的vst条目相关联的可能的线程中的每个线程。
68.此外,子操作474包括移除与vst条目相关联的现有结构,该vst条目对应于(例如,指向)第一区块盘区大小。如上所述,优选地转换卷中的每个卷,使得它们映射到具有较大的区块盘区大小的新转换的区块。为了这样做,优选地移除将给定卷映射到具有较小的区块盘区大小的区块的原始配置的任何现有结构。这有效地一处了形成较小的区块盘区大小的现有vst结构,从而允许实现较大的区块盘区大小。
69.响应于去除现有结构,子操作476还包括用对应于较大的区块盘区大小的新结构填入vst条目。结果是,vst条目将指向具有较大的区块盘区大小的物理区块盘区(例如,物
理盘区的开始盘区编号)。在优选方法中,vst条目能够指向物理盘区的开始盘区编号,因为卷盘区编号使用最小盘区单元。此外,如上所述,在一些方法中,盘区被物理地封装在一起而没有填充,例如,如本领域技术人员在阅读本说明书之后将清楚明白的。
70.根据一些方法(其决不旨在限制本发明),通过创建卷的逻辑卷盘区与存储池的(多个)相应区块盘区中的物理偏移位置之间的对应关系,可以用对应于较大的区块盘区大小的新结构填入vst条目。创建对应关系可以包括标识卷中的对应于已被转换为较大大小的(多个)相应区块盘区的vst条目。例如,vst可以存储存储在卷中的数据的逻辑表示,其中vst包括多个条目。这些条目的子集可以在vst内被标识,其对应于(多个)相应区块盘区。
71.在其他方法中,创建对应关系可以包括针对每个所标识的vst条目创建补充vst。例如,针对所标识的vst条目子集中的每一个,可以创建补充vst。在另一示例中,补充vst中的每个补充vst可以用于以较高的粒度表示在它们对应的vst条目内的所有的逻辑卷盘区。在另一些其他方法中,创建对应关系可以包括设置补充vst内的逻辑卷盘区以指向转换后的区块盘区内的对应的偏移位置。这样,可以在卷的补充vst的逻辑卷盘区和区块盘区内的偏移位置之间建立直接对应。
72.进行到判决478,在这里,流程图包括确定是否已转换了现有存储池中的所有的卷。换言之,判定478包括确定现有存储池中的所有的卷是否已被转换,使得它们映射到新转换的区块。响应于确定卷中的至少一个卷还没有被转换,流程图返回到子操作470。在那里,子操作470包括前进到尚未转换的下一个卷,例如,使得可以针对该卷重复图4c所示的子过程。然而,响应于确定现有存储池中的所有的卷已根据较大的区块盘区大小进行了转换,流程图进行到图4a的操作410。
73.再次返回图4a,在所有的区块和卷都被转换之后,流程图前进到操作410,由此方法400可以结束。因此,可以得出结论,响应于到达操作410,存储池已有效地从现有小盘区存储池转换成预期大盘区存储池。然而,应注意,尽管方法400可以在到达操作410时结束,但是可以重复包括在方法400中的任何一个或多个过程,以便转换另一存储池。换言之,可以重复包括在方法400中的任何一个或多个过程,以便将另一现有小盘区存储池适当地转换成预期大盘区存储池。
74.于是,包括在图4a-图4c中的各种过程和子过程能够在适当地保持数据的同时转换数据存储池中的区块的盘区大小。虽然该过程确实包括在区块盘区大小的实际改变可能发生之前对数据的某种重新排序,但是在执行转换的同时数据仍然位于给定存储池中,从而显著地提高操作效率、降低数据存储消耗、降低性能延迟、降低网络流量(例如,其否则将由迁移数据而导致)等。这些改进是(至少部分地)由于卷的属性允许这些各种过程和子过程将卷和区块的布局转换成较大的盘区大小的事实而实现的。如上所述,rst和vst表的属性允许实现这一点,使得不涉及数据到其它存储池或机器的迁移。
75.现在暂时参考图5,根据一种方法图示了示例性存储环境500。作为选项,本存储环境500可以与来自本文中所列出的任何其它方法的特征结合来实现,例如参考其它附图,例如图4a-图4c所描述的那些特征。然而,这样的存储环境500和本文中所呈现的其他环境可以在各种应用中使用和/或以可以或可以不在本文中所列出的说明性方法中具体描述的排列使用。此外,本文中所呈现的存储环境500可以用于任何期望的环境中。因此,图5(和其它图)可以被认为包括任何可能的置换。
76.如图所示,vst 502存储存储在卷0 504内的数据的逻辑表示。另外,一个或多个rst存储如现有存储池0 526的区块3 524内所存储的数据的物理表示。还应注意,根据本方法,现有存储池0 526的区块粒度是16mb。例如,现有存储池0 526内的每个区块盘区具有约16mb的大小。然而,这些区块盘区可以例如使用包括在本文中的方法中的任何一个或多个方法(例如,参见上面的图4a-图4c)从约16mb的大小转换为约1gb。
77.仍然参考图5,全卷盘区vst条目532和534指代rst内的位置530a-530b,其中数据被物理地存储在现有存储池0 526中。例如,现有存储池0 526的区块3 524的区块盘区0 530a包括到卷0 504内的vst条目0 532的链接。相反,卷0 504内的vst条目0 532包括到现有存储池0 526的区块3 524的区块盘区0 530a的链接。
78.同样,现有存储池0 526的区块3 524的区块盘区64 530b包括到卷0 504内的vst条目2 534的链接。相反,卷0 504内的vst条目2 534包括到现有存储池0 526的区块3 524的区块盘区64 530b的链接。以这种方式,卷0 504中的数据的逻辑表示之间的连接被映射到现有存储池0 526中的数据的物理表示。
79.同样,存储产品中的盘区池可具有不同的盘区大小。例如,ds8000数据存储平台可以针对较大大小的池实现1gb的盘区大小,并且对较小大小的池实现16mb的盘区大小。此外,如前所述,一些工作负荷使用小池执行得更好,而其他工作负荷在大盘区池中执行得更好。于是,包括在本文中的各种方法可以用于通过调整在给定池中实现的盘区大小来改进性能。
80.根据使用中的示例,其决不旨在限制本发明,rst被用作描述区块盘区的状态和物理区块盘区所属的逻辑卷盘区的区块(阵列)的映射表。例如,假设区块“ro”是1t,并且盘区大小是1g,则该rst表将具有1024个条目,其中每个条目表示一个物理盘区。如果将区块盘区0分配给卷0x1010的逻辑盘区1,则rst中的条目将具有指示物理盘区状态被分配的信息,并且其被分配给卷0x1010的逻辑盘区1。
81.此外,vst被用作卷的映射表,其将卷的逻辑盘区映射到区块的物理盘区,从而当在卷lba边界上的主机i/o到达时,可以容易地标识物理位置,例如,如本领域技术人员在阅读本说明书之后将清楚明白的。
82.此外,在说明性方法中,小vst(smvst)可以用作包含64个条目的卷的映射表,其中每个条目将小逻辑盘区(16mb)映射到区块的物理盘区,从而当位于卷lba边界上的主机i/o到达时,可以标识物理位置。此外,在一种方法中,在盘中仅rst是持久的,并且基于rst来建立vst并在需要时将其加载到存储器中。
83.虽然本文中所包括的许多方法能够将具有较小的盘区大小的存储池转换成具有较大的盘区大小的存储池(至少与较小的盘区大小相比),但是本文中的方法中的其他方法能够将具有较大的盘区大小的存储池转换成具有较小盘区大小的存储池。如上所述,由给定存储池实现的转换盘区大小的常规处理已被证明在性能延迟、资源消耗等方面是低效的。例如,用于转换存储池中的盘区的大小的常规过程需要在盘区大小可以进行任何改变之前,首先将数据从现有存储池完全迁移到另一物理存储池。这种迁移数据的常规过程是特别不期望的,这是由于它需要附加的存储资源、处理带宽、时间来将所有数据物理地复制到备选存储介质等。
84.与这些常规缺点形成鲜明对比的是,本文中所包括的方法中的各种方法期望能够
在适当地保持数据的同时转换数据存储池中的区块的盘区大小。具体地,本文中所包括的方法中的一些方法能够增加由给定存储池实现的盘区大小,从而显著地提高操作效率,例如,如将在下面进一步详细描述的。
85.现在参考图6a,根据一种方法示出了用于将具有较大的盘区大小的现有存储池转换为具有较小的盘区大小的预期存储池的方法600的流程图。根据本发明,方法600可以在图1-5中所描述的环境中的任何环境中执行,其中可以以各种方法执行。当然,如本领域技术人员在阅读本说明书时将理解的,在方法600中可以包括比图6a中具体描述的操作更多或更少的操作。
86.方法600的步骤中的每个步骤可以由操作环境的任何合适的组件执行。例如,在各种方法中,方法600可以部分地或完全地由控制器、处理器、计算机等或其中具有一个或多个处理器的一些其他的设备执行。因此,在一些方法中,方法600可以是计算机实现的方法。此外,关于本文中的方法中的任何方法,术语计算机、处理器和控制器可以互换使用,这样的组件被认为是本发明的许多不同排列中的等价物。
87.此外,针对具有处理器(处理器,例如,以硬件和/或软件实现的处理电路、芯片和/或模块)且优选地具有至少一个硬件组件的那些方法可以在任何设备中使用来执行方法600的一个或多个步骤。说明性处理器包括但不限于中央处理单元(cpu)、专用集成电路(asic)、现场可编程门阵列(fpga)等、其组合、或者本领域已知的任何其它合适的计算设备。
88.如图6a所示,方法600的操作602包括标识将具有第一盘区大小的现有存储池转换成具有第二盘区大小的预期存储池的请求。如上所述,在本方法中,对应于现有存储池的第一盘区大小大于对应于预期存储池的第二盘区大小。因此针对本说明书,“第一盘区大小”大于“第二盘区大小”。例如,现有存储池配置可以具有如下盘区,该盘区各自具有约1gb的大小,而预期存储池配置具有如下盘区,该盘区各自具有约16mb的大小。同样,一些工作负荷在实现给定盘区大小的环境中可以明显更好地执行。例如,与使用具有较大盘区的存储池执行相比,一些工作负荷使用具有较小盘区的存储池执行更有效。因此,可以响应于新发起的工作负荷从正在运行的应用、接收转换给定存储池的盘区大小的请求,响应于相对于盘区大小评估系统性能从用户接收转换给定存储池的盘区大小的请求,等等。
89.还应当注意,术语“现有存储池”和“预期存储池”实际上是指同一存储池的不同配置。换言之,术语“现有存储池”旨在指代存储池的现有状态(例如,较大的盘区大小),而“预期存储池”旨在指代同一存储池的计划目标状态(例如,较小的盘区大小)。
90.如本领域技术人员将清楚明白的,示例性存储池的逻辑配置包括包含物理存储的区块(raid阵列)以及将物理存储映射到逻辑上连续的存储的主机可寻址范围(例如,诸如逻辑单元编号)的卷。区块还包括区块区段(盘区)表(rst),而卷包括卷区段(盘区)表(vst)。这些表至少部分地控制区块上的不同物理盘区到对应于相应卷的盘区的映射(例如,参见上面的图5)。
91.仍然参考图6a,操作604包括前进到现有存储池中的第一卷,而操作606包括对对应于给定卷的卷区段表(vst)条目执行临时暂停/锁定。根据本说明书,“第一卷”可以包括现有存储池中的卷中任何卷。例如,取决于该方法,可以基于现有存储池中的卷之间的比较、由用户预先确定等,随机地标识第一卷。很快将变得清楚明白的,优选地评估现有存储
池中的卷中的每个卷,因此方法600在卷中进行的顺序在一些方法中不影响所得到的存储池。
92.对vst条目执行临时暂停/锁定有效地防止了对给定vst和/或相关联的卷的访问,从而可以在不经历任何错误的情况下进行调整。对vst条目执行临时暂停/锁定的过程在一些方法中包括检查与所讨论的vst条目相关联的可能的线程中的每个线程。在其它方法中,可以通过设置标志、暂时使与该条目相关联的地址无效等,或者通过本领域技术人员在阅读本说明书之后将清楚名表的任何其它处理,来对给定vst条目执行暂时暂停/锁定。
93.方法600进一步包括将一个新结构应用于vst条目,该新结构改变与vst条目相关联的现有物理盘区。参见操作608。应用于(例如,对齐到)vst条目的新结构优选地将与vst条目相关联的现有物理盘区分成两个或更多个较小的物理盘区。换言之,新vst条目有效地创建新物理盘区和对其相对应的引用。
94.这些较小的物理盘区优选地被形成为使得它们对应于预期存储池的较小的第二区块大小。换言之,优选地配置应用于vst条目的新结构,使得它将现有物理盘区分成多个较小的盘区,这些较小的盘区对应于预期存储池的特性。根据示例性方法,其决不打算限制本发明,在应用新结构之前,与vst条目相关联的物理盘区中的每个物理盘区可以具有约1千兆字节的大小。然而,响应于应用新结构,与被应用于vst条目的新结构相关联的更改的物理盘区中的每个物理盘区可以具有约16兆字节的大小,但是可以取决于所期望的方法更高或更低。
95.较小的物理盘区优选地也与预期存储池的盘区之间的边界对准,而没有任何填充。换言之,较小的物理盘区由现有物理盘区形成,使得较小的物理盘区不跨越盘区之间的边界延伸。应用新结构和形成新(较小的)物理盘区的过程还可以包括执行盘区的重新编号和/或在其中建立偏移,例如,如本领域技术人员在阅读本说明书之后将清楚明白的。
96.方法600从操作608前进到判定610,其包括确定是否已评估了现有存储池中的卷中的所有卷。响应于确定现有存储池中的卷中的至少一个卷还没有被评估,方法600进行到操作612。在那里,操作612包括在返回到操作606之前前进到现有存储池中的下一个卷,以便对该下一个卷执行临时暂停/锁定。于是,可以以迭代的方式针对现有存储池中的卷中的所有卷重复过程606-612。
97.返回到判定610,方法响应于确定现有存储池中的卷中的所有卷都已被评估且其现有物理区域已被分成较小的物理盘区而跳转到操作614。在那里,操作614包括将现有存储池中的区块中的每个区块从较大的第一盘区大小转换到较小的第二盘区大小。换言之,操作614包括将现有存储池中的区块中的每个区块的大小减小到与预期存储池相关联的预期区块大小。在优选方法中,通过从一个区块前进到下一个区块来顺序地转换现有存储池中的区块中的每个区块,但是决不旨在限制本发明。例如,在一些方法中,可以并行地减小两个或更多个区块的大小。
98.如本文中所述,减小给定区块的大小而不执行任何数据迁移的过程是合乎需要的。暂时参考图6b,根据说明性方法示出了将现有存储池中的区块中的每个区块从较大的第一区块盘区大小转换为较小的第二区块盘区大小的示例性子过程。于是,包括在图6b中的子过程中的任何一个或多个子过程可以用于执行图6a的操作614。然而,应当注意,图6b的子过程是根据一种方法来说明的,该方法决不旨在限制本发明。
99.如图所示,子操作650涉及前进到现有存储池中的区块。例如,图6b中的子过程的第一迭代可以涉及前进到存储池中的第一区块,而图6b中的子过程的后续迭代可以涉及前进到存储池中的后续区块。如上所述,可以以迭代的方式针对存储池中的区块中的每个区块重复图6b中的子过程。
100.为了在适当地保持数据的同时转换区块,生成新表以映射到卷已被转换以包括其的较小的盘区布局(例如,参见以上操作608)。因此,子操作652包括针对子过程650中标识的给定区块分配新rst空间和/或条目。如上所述,这个新分配的rst空间和/或条目对应于较小的预期盘区大小,因此可以用于转换给定盘区大小的过程中,而无需迁移其中所存储的数据。例如,可以用卷中的数据的逻辑位置填入新分配的rst空间和/或条目,该逻辑位置已从先前的较大盘区形成。根据一些方法,这可以通过标识卷和该卷内的逻辑地存储数据的卷盘区来实现。
101.还应当注意,在优选方法中,rst以基于一对一的盘区明智地配置。换言之,每个rst条目对应于给定大小的区块盘区,并且指向对应的卷盘区。例如,在一些方法中,给定区块中的盘区被表示为该区块的rst条目,其中每个区块盘区表示用于在存储池内存储数据的预定存储量。此外,分配新rst空间的过程可以使用本领域技术人员在阅读本说明书之后将清楚明白的任何过程来执行。
102.继续参考图6b,子操作654包括针对给定区块静止所有盘区改变活动。这允许转换给定区块,同时强制包括在其中的盘区暂时保持停滞,从而避免任何错误,例如,如本领域技术人员将清楚明白的。然而,尽管针对给定区块,盘区改变活动是静止的,但是应当注意,在一些方法中,存储池中的剩余区块可以不受影响。除了避免在转换期间必须从池中迁移数据以便形成预期存储池之外,这期望地允许整个存储池保持操作,同时系统地转换其中的每个区块的盘区大小。
103.流程图进一步进行到子操作656,其包括用对应于第二盘区大小的新条目填入新分配的rst空间。换言之,子操作656包括填入在子操作652中形成的新rst条目,以指向作为将新结构应用于具有较大的卷盘区的对应的vst条目的结果而形成的较小的卷盘区。根据一些方法,引用相关卷盘区(例如,使用引用编号)的一个或多个指针可以用于填入新分配的rst空间。然而,例如,根据所期望的方法,可以实现任何期望的过程。
104.子操作658还包括对对应于给定区块的现有rst条目执行临时暂停/锁定,而子操作660包括激活在子操作652中形成的新rst条目。子操作658和660由此能够从现有(例如,先前)rst条目平滑地过渡到新分配的rst条目。根据一些方法,对现有rst条目执行临时暂停/锁定可以涉及在流程图能够实际转变到使用新分配的rst条目之前检查所有可能的线程。
105.响应于激活新分配的rst条目,子操作662包括针对给定区块恢复盘区改变活动。子操作664另外包括释放现有(例如,先前)rst条目,使得其可以根据需要被重新使用。例如,在一些方法中,释放现有rst条目涉及释放表中的空间,使得其可以针对其他区块被使用。此外,可以删除存储在现有rst条目中的任何信息(例如,数据、元数据等)。
106.进行到判定666,在这里,流程图包括确定现有存储池中的区块中的所有区块是否已被转换以实现较小的盘区大小。换言之,判定666包括确定是否已评估了现有存储池中的区块中的所有区块。响应于确定现有存储池中区块中的至少一个区块还没有被转换以实现
更大的盘区大小,流程图返回到子操作650。在那里,子操作650包括前进到尚未转换的下一个区块,例如,使得图6b所示的子过程可以针对该区块重复。
107.然而,响应于确定现有存储池中的区块中的所有区块已被转换以实现较小的盘区大小,流程图进行到图6a的操作616,由此方法600可以结束。因此,可以得出结论,响应于到达操作616,存储池已有效地从现有大盘区存储池转换成预期小盘区存储池。然而,应当注意,尽管方法600可以在到达操作616时结束,但是可以重复包括在方法600中的过程中的任何一个或多个过程以便转换另一存储池。换言之,可以重复包括在方法600中的过程中的任何一个或多个过程,以便将另一现有小盘区存储池适当地转换成预期大盘区存储池。
108.于是,包括在图6a-图6b中的各种过程和子过程能够在适当地保持数据的同时转换数据存储池中的区块的盘区大小。这允许针对总体存储系统实现显著的改进,例如,诸如增加的操作效率、减少的数据存储消耗、减少的性能延迟、减少的网络流量(例如,其否则将由迁移数据导致)等。这些改进是由于(至少部分地)卷的属性允许这些各种过程和子过程将卷和区块的布局适当地转换成较小的盘区大小的事实而实现的。再次,rst和/或vst的属性允许这一点使用表来实现,并且使得不涉及数据到其它存储池或机器的迁移。
109.同样,存储产品中的盘区池可以实现不同的盘区大小。此外,与在大盘区存储池中执行相比,一些工作负荷可以在小盘区存储池中更好地(例如,更有效地)执行。于是,虽然客户端可以为给定存储池选择特定盘区大小,但是因素随时间变化,使得在性能效率方面更需要不同的盘区大小。例如,在一些情况下,存储系统可能经历对物理存储的需求的增加,使得期望较小的盘区大小的存储池被转换成较大的盘区大小的存储池。于是,可以实现本文中所包括的方法中的一些方法,以便在不执行其中所存储的数据的任何物理迁移的情况下,有效地调整由存储池适当地实现的盘区大小。
110.本发明可以是任何可能的技术细节集成水平的系统、方法和/或计算机程序产品。计算机程序产品可以包括其上具有计算机可读程序指令的计算机可读存储介质(或者,多个介质),计算机可读程序指令用于使处理器进行本发明的方面。
111.计算机可读存储介质可以是能够保留和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质可以是例如但不限于电子存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或前述的任何合适的组合。计算机可读存储介质的更具体示例的非穷举列表包括以下:便携式计算机磁盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或闪存)、静态随机存取存储器(sram)、便携式光盘只读存储器(cd-rom)、数字多功能盘(dvd)、记忆棒、软盘、诸如上面记录有指令的打孔卡或凹槽中的凸起结构的机械编码装置,以及上述的任何适当组合。如本文中所使用的计算机可读存储介质不应被解释为暂态信号本身,诸如无线电波或其他自由传播的电磁波、通过波导或其他传输介质传播的电磁波(例如,通过光纤线缆的光脉冲)、或者通过导线传输的电信号。
112.本文中所描述的计算机可读程序指令可以从计算机可读存储介质下载到相应的计算/处理设备,或者经由网络,例如因特网、局域网、广域网和/或无线网络,下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光传输光纤、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或网络接口从网络接收计算机可读程序指令,并且转发计算机可读程序指令以存储在相应计算/处理设
备内的计算机可读存储介质中。
113.用于执行本发明的操作的计算机可读程序指令可以是汇编指令、指令集架构(isa)指令、机器相关指令、微代码、固件指令、状态设置数据、集成电路的配置数据,或者以一种或多种编程语言(包括面向对象的编程语言,例如smalltalk、c 等)和过程编程语言(例如“c”编程语言或类似的编程语言)的任意组合编写的源代码或目标代码。计算机可读程序指令可以完全在用户的计算机上执行,部分在用户的计算机上执行,作为独立的软件包执行,部分在用户的计算机上并且部分在远程计算机上执行,或者完全在远程计算机或服务器上执行。在后一种情况下,远程计算机可以通过任何类型的网络连接到用户的计算机,包括局域网(lan)或广域网(wan),或者可以连接到外部计算机(例如,使用因特网服务提供商通过因特网)。在一些实施例中,为了执行本发明的方面,包括例如可编程逻辑电路、现场可编程门阵列(fpga)或可编程逻辑阵列(pla)的电子电路可以通过利用计算机可读程序指令的状态信息来执行计算机可读程序指令以使电子电路个性化。
114.本文中参考根据本发明的实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本发明的方面。将理解,流程图和/或框图的每个框以及流程图和/或框图中的框的组合可以由计算机可读程序指令实现。
115.这些计算机可读程序指令可以被提供给计算机或其他可编程数据处理装置的处理器以产生机器,使得经由计算机或其他可编程数据处理装置的处理器执行的指令创建用于实现流程图和/或框图的一个或多个框中指定的功能/动作的装置。这些计算机可读程序指令还可以存储在计算机可读存储介质中,其可以引导计算机、可编程数据处理装置和/或其他设备以特定方式工作,使得其中存储有指令的计算机可读存储介质包括制品,该制品包括实现流程图和/或框图的一个或多个框中指定的功能/动作的方面的指令。
116.计算机可读程序指令还可以被加载到计算机、其他可编程数据处理装置或其他设备上,以使得在计算机、其他可编程装置或其他设备上执行一系列操作步骤,以产生计算机实现的过程,使得在计算机、其他可编程装置或其他设备上执行的指令实现流程图和/或框图的一个或多个框中指定的功能/动作。
117.附图中的流程图和框图示出了根据本发明的各种实施例的系统、方法和计算机程序产品的可能实现的架构、功能和操作。在这点上,流程图或框图中的每个框可以表示指令的模块、段或部分,其包括用于实现指定的逻辑功能的一个或多个可执行指令。在一些替代实施方案中,框中所注明的功能可不按图中所注明的次序发生。例如,连续示出的两个框实际上可以作为一个步骤来实现,同时、基本同时、以部分或全部时间重叠的方式执行,或者这些框有时可以以相反的顺序执行,这取决于所涉及的功能。还将注意,框图和/或流程图图示的每个框以及框图和/或流程图图示中的框的组合可以由执行指定功能或动作或执行专用硬件和计算机指令的组合的专用的基于硬件的系统实现。
118.此外,根据各种实施例的系统可以包括处理器和与处理器集成和/或由处理器可执行的逻辑,该逻辑被配置为执行本文中所描述的过程步骤中的一个或多个过程步骤。处理器可以是如本文中所描述的任何配置,例如分立处理器或包括诸如处理硬件、存储器、i/o接口等许多组件的处理电路。所谓与其集成,是指处理器具有与其一起嵌入的逻辑作为硬件逻辑,诸如专用集成电路(asic)、fpga等。通过可由处理器执行,意味着逻辑是硬件逻辑;软件逻辑,例如固件、操作系统的一部分、应用程序的一部分;等等,或者硬件和软件逻辑的
某种组合,其可由处理器访问并且被配置成使处理器在由处理器执行时执行某种功能。软件逻辑可以存储在任何存储器类型的本地和/或远程存储器上,如本领域所公知的。可以使用本领域已知的任何处理器,诸如软件处理器模块和/或硬件处理器,诸如asic、fpga、中央处理单元(cpu)、集成电路(ic)、图形处理单元(gpu)等。
119.很清楚,前述系统和/或方法的各种特征可以以任何方式组合,从而从以上所呈现的描述中产生多个组合。
120.还应理解,本发明的实施例可以以代表客户部署的服务的形式提供,以便按需提供服务。
121.已出于说明的目的给出了本发明的各种实施例的描述,但是其不旨在是穷尽的或限于所公开的实施例。在不背离所描述的实施例的范围的情况下,许多修改和变化对于本领域的普通技术人员而言将是显而易见的。选择本文中所使用的术语以最好地解释实施例的原理、实际应用或对市场上存在的技术改进,或者使本领域的其他普通技术人员能够理解本文中所公开的实施例。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献