使用现有的备份装置作为附加的主存储器来解决写入压力的制作方法

文档序号:12362534阅读:179来源:国知局
使用现有的备份装置作为附加的主存储器来解决写入压力的制作方法

对于典型的存储系统,平台被用于它们固有的能力并且被视为独立的贮存库(silo)。例如,主存储系统用于当前工作存储器并且备份存储系统用于备份主存储系统。然而,由于每个被贮存的系统必须具有全部属于它自己的资源,这可导致更高的成本。

附图说明

在下文的具体描述和附图中公开了本发明的各种实施例。

图1是示出解决写入压力的系统的实施例的图。

图2是示出主存储单元的实施例的图。

图3是示出备份存储单元的实施例的图。

图4A是示出再生写入压力的过程的实施例的流程图。

图4B是示出再生写入压力的过程的实施例的流程图。

图5是示出解决写入压力的实施例的图。

图6是示出解决写入压力的实施例的图。

图7是示出解决写入压力的实施例的图。

图8是示出解决写入压力的实施例的图。

图9是示出解决写入压力的实施例的图。

图10是示出解决写入压力的实施例的图。

图11是示出解决写入压力的实施例的图。

图12是示出解决写入压力的实施例的图。

图13是示出解决写入压力的实施例的图。

图14是示出解决写入压力的实施例的图。

图15是示出解决写入压力的实施例的图。

图16是示出解决写入压力的实施例的图。

图17是示出解决写入压力的实施例的图。

图18是示出解决写入压力的实施例的图。

图19是示出解决写入压力的实施例的图。

具体实施方式

本发明能够以许多方式实现,包括实现为过程、装置、系统、实体的组成部分、具体化在计算机可读存储介质上的计算机程序产品、和/或处理器,例如配置为执行存储在耦合到处理器的存储器上的和/或由耦合到处理器的存储器提供的指令的处理器。在本说明书中,这些实现、或本发明可以采用的任何其他形式可以被称为技术。总体而言,在本发明的范围内,所公开的过程的步骤的顺序可以被更改。除非另作声明,诸如被描述为被配置来执行任务的处理器或存储器的组件可以被实现为被临时配置为在给定时间执行任务的一般组件或者为执行任务而制造的具体组件。如本文中所使用的,术语“处理器”指被配置为处理诸如为计算机程序指令的数据的一个或多个设备、电路和/或处理内核。

在下文中连同示出本发明的原理的附图一起提供本发明的一个或多个实施例的详细描述。结合这样的实施例描述本发明,但本发明不限于任何实施例。本发明的范围仅由权利要求书限定并且本发明包括许多替代、变型和等价物。许多具体细节在下面的描述中给出以提供对本发明的全面理解。这些细节为示例目的而被提供并且可以根据权利要求书在没有部分或全部这些具体细节的情况下实践本发明。为清楚起见,本发明相关的技术领域中已知的技术材料未做详细描述,以免不必要地模糊本发明。

公开了一种解决写入压力的系统。所述系统包括主存储单元、备份存储单元和处理器。主存储单元包括主存储单元输入缓冲器和大容量存储单元。备份存储单元包括备份存储单元输入缓冲器和大容量备份存储单元。处理器在主存储单元输入缓冲器不能够存储第一输入数据集的情况下将该第一输入数据集存储在备份存储单元输入缓冲器中。处理器在将主存储单元输入缓冲器中的数据存储到大容量存储单元之后空间可用时将该第一输入数据集传输到主存储单元输入缓冲器。

在一些实施例中,存储系统使用存储器分级以通过包括较小的高性能存储器立即服务写入请求和较大的较低性能存储器永久存储写入请求的数据来提高它的性价比。在短时间期间接收大量写入命令的情况下,在没有高性能存储器能够将数据卸载到较大的较低性能存储器中时,填满较小的高性能存储器是可能的。一旦较小的高性能存储器被填满,写入请求必须被停止,因此存储系统请求写入请求停止。该停止发送写入请求的请求影响了存储系统执行和/或满足服务水平目标的能力。

在一些实施例中,根据较小的高性能存储器被填满的指示,存储系统重定向写入请求至与备份系统(例如,去重存储单元)关联的替代的高性能存储器(例如备份存储单元输入缓冲器)。备份系统被设计用以备份包括较小的高性能存储器(例如,主存储单元输入缓冲器)和大的较低性能存储器(例如,大容量存储单元)的存储系统。被重定向的写入被临时存储在替代的高性能存储器中并且在较小的高性能存储器中的空间可用时,被重定向的写入被传回到较小的高性能存储器。

在一些实施例中,存储器管理器跟踪进来的写入请求。例如,存储器管理器存储指示进来的数据块、数据块到达的顺序、与数据库关联的文件、存储它们的输入缓冲器位置、临时存储(如果合适)它们的输入缓冲器位置、存储它们的大容量存储器中的位置的记录,并且提供存储数据和/或文件的位置的索引(例如,大容量存储器索引)。存储器管理器检查或跟踪输入缓冲器和大容量存储器中的可用的存储器。在一些实施例中,存储器管理器确认进来的数据的接收并且指示数据是否被存储。

图1是示出解决写入压力的系统的实施例的图。在示出的示例中,应用服务器100运行请求访问存储系统106的应用程序。应用服务器100运行执行任务或提供服务(例如,给一个或多个用户)的(一个或多个)应用程序。对存储系统106的访问能够用于在存储系统106中存储数据和/或从存储系统106检索数据。存储系统106包括主存储单元102、备份存储单元104和存储器管理器108。主存储单元102提供数据存储和数据调用。在各种实施例中,使用固态存储器、磁存储器(例如,硬盘)或任何其他适合的存储器存储和调用数据。备份存储单元104存储主存储单元102存储的数据的备份拷贝。在一些实施例中,备份存储单元104上存储的备份拷贝包括使能重建在过去不同时间主存储单元102上存储的内容的数据。在一些实施例中,备份存储单元104包括将数据分割为段(例如,基于哈希标识的锚定位置)并且在通过参考旧的已经存储的段来存储数据过程中仅存储新的唯一的段以避免存储重复数据的数据去重存储系统。存储器管理器108跟踪进来的请求。例如,对于写入请求,存储器管理器108确定写入输入缓冲器位置并且向输入写入数据的请求者(例如,应用服务器108)确认存储。存储器管理器108管理输入写入数据的传输以在主存储单元(例如,分级存储器中的大容量存储器)中永久存储。在一些实施例中,如果主缓冲器已满,则存储器管理器108在备份缓冲器中存储输入数据,在主存储单元102的大容量存储器中存储数据之前将数据传回主缓冲器。存储系统106包括一个或多个处理器和一个或多个存储器(例如,快速存储器、固态存储器、慢速存储器、磁存储器、硬盘存储器等)。在一些实施例中,一个或多个存储器存储被提供给该一个或多个处理器中的处理器的指令。

图2是示出主存储单元的实施例的图。在一些实施例中,主存储单元200被用于实现图1的主存储单元102。在所示出的示例中,主存储单元200包括主存储单元输入缓冲器202、大容量存储单元204和主索引206。主存储单元200具有分级存储器,包括较快级(例如,主存储单元输入缓冲器202)和较慢级(例如,大容量存储单元204)。较快级能够例如比较慢级能够写入存储请求更快地接收写入存储请求。如果较快级已满,则主存储单元200指示请求者(例如,应用服务器、用户等)请求不能被服务并且暂停请求。在较慢级已经使得较快级中有一些空间(例如,通过在较慢级中存储较快级中的数据)之后,重新开始请求。主索引206存储信息,从而能够在主存储单元200内定位数据(例如,文件)。例如,文件名关联主存储单元200中的一个或多个存储器位置(例如,大容量存储单元204中的块或存储器位置的地址)。在各种实施例中,快速级包括随机存取存储器、固态存储器、闪存或任何其他适合的存储器。在各种实施例中,慢速级包括硬盘驱动器、独立磁盘冗余阵列、光纤信道驱动器(a fiber channel drive)、串行或并行先进技术附连硬驱动器、集成驱动电子硬驱动器、小型计算机系统接口硬驱动器或任何其他适合的存储设备。

图3是示出备份存储单元的实施例的图。在一些实施例中,备份存储单元300用于实现图1的备份存储单元104。在示出的示例中,备份存储单元300包括备份存储单元输入缓冲器302、大容量备份存储单元304和备份索引306。备份存储单元300具有包括较快级(例如,备份存储单元输入缓冲器302)和较慢级(例如,大容量备份存储单元304)的分级存储器。较快级能够例如比较慢级能够写入存储请求更快地接收写入存储请求。如果较快级已满,则备份存储单元300指示请求者(例如,应用服务器、用户等)请求不能被服务并且暂停请求。在较慢级已经使得较快级中有一些空间(例如,通过在较慢级中存储较快级中的数据)之后,重新开始请求。备份索引306存储信息,从而能够在备份存储单元300内定位数据(例如,文件)。例如,文件名关联备份存储单元300中的一个或多个存储器位置(例如,大容量存储单元304中的块或存储器位置的地址)。在各种实施例中,快速级包括随机存取存储器、固态存储器、闪存或任何其他适合的存储器。在各种实施例中,慢速级包括硬盘驱动器、独立磁盘冗余阵列、光纤信道驱动器(a fiber channel drive)、串行或并行先进技术附连硬驱动器、集成驱动电子硬驱动器、小型计算机系统接口硬驱动器或任何其他适合的存储设备。

在一些实施例中,备份存储单元300包括去重存储单元(例如,段去重存储单元)。快速级存储去重期间(例如,去重包括使用哈希函数将文件/数据流分割成段;检查文件/数据流的段是否之前已经存储;如果该段未在之前被存储,则存储该新段;如果该段在之前已经被存储,则存储对旧段的引用;将文件/数据流存储为指向被存储的段(新存储的和以前存储的)的指针集)和重建期间(例如,定位已存储的与文件/数据关联的段集,按顺序组合段等)的进来的数据。

图4A是示出再生写入压力的过程的实施例的流程图。在一些实施例中,图4A的过程由图1的存储系统106实现。在示出的示例中,在400中接收待存储的数据集。例如,存储系统接收数据流或者从应用服务器、使用应用服务器的用户、或直接从用户系统接收多个数据块。在402中,确定主存储单元输入缓冲器是否能够存储该数据集。例如,存储器管理器确定主存储单元输入缓冲器中是否有可用的空间以及是否能够存储被接收的数据(接收的数据集的全部或一部分)。在一些实施例中,该数据集的一部分能够被存储而其他部分不被存储并且被分别处理。在一些实施例中,存储器管理器主动轮询(例如,基于周期)输入缓冲器以确定可用的空间并且在时间上跟踪该空间。

如果主存储单元输入缓冲器能够存储该数据集,则在404中,在主单元输入缓冲器中存储该数据集。例如,接收到的数据集被存储在输入缓冲器中的位置并且在索引中标记为在输入缓冲器中占据的位置。在406中,指示存储该数据集。例如,存储系统向应用服务器指示该数据集被存储。在一些实施例中,好状态被发送给应用服务器或主机。在408中,数据集被传输至大容量存储单元,并且该过程结束。例如,存储在输入缓冲器中的数据被拷贝至大容量存储并且一旦确认在大容量存储单元中存储,由于被移送至大容量存储单元,从输入缓冲器中移除它并且它被录入索引(例如,在索引中存储相关的文件名和在大容量存储单元中的位置地址)。

如果主存储单元输入缓冲器不能够存储该数据集,则在410中,确定备份存储单元输入缓冲器是否能够存储该数据集。例如存储器管理器确定备份存储单元输入缓冲器中是否有可用的空间以及是否能够存储被接收的数据集。如果备份存储单元输入缓冲器能够存储该数据集,则在412中,在备份存储单元输入缓冲器中存储该数据集。例如,接收到的数据集被存储在输入缓冲器中的位置并且在索引中标记为在输入缓冲器中占据的位置。在414中,指示该数据集被存储。例如,存储系统向应用服务器指示该数据集被存储。在一些实施例中,好状态被发送给应用服务器或主机。如果备份存储单元输入缓冲器不能够存储该数据集,则在416中,请求被返回给主系统并且系统等待/对该请求重新排队以存储该数据集。在一些实施例中,应用服务器决定已经等待太长时间并且发送请求以移除存储该数据集的请求以及重新提交数据请求。

在一些实施例中,数据集以一个集来处理。在一些实施例中,数据集被分割为较小的单元(例如,块、较小的块的集合等)并且以较小的单元来处理。在一些实施例中,数据集被拆分为两个数据集,一个集被存储在主存储单元输入缓冲器中,一个集被存储在备份存储单元输入缓冲器中。

图4B是示出再生写入压力的过程的实施例的流程图。在一些实施例中,图4B的过程由图1的存储系统106实现。在示出的示例中,过程将在备份存储单元输入缓冲器中存储的数据返回至主存储单元输入缓冲器。在450中,确定主存储单元输入缓冲器是否能够存储该数据集。如果主存储单元不能够存储该数据集,则在456中,系统等待并且控制跳转至450。如果主存储单元能够存储该数据集,则在452中,该数据集被传输至主存储单元输入缓冲器。例如,将该数据集从备份存储单元输入缓冲器拷贝至主存储单元输入缓冲器,一旦确认存储在主存储单元输入缓冲器中,就从备份存储单元输入缓冲器移除该数据集,调整索引以指示数据被存储在主存储单元输入缓冲器中。在454中,该数据集被传输至大容量存储单元,并且该过程结束。例如,将该数据集从主存储单元输入缓冲器拷贝到大容量存储单元,一旦确认存储在大容量存储单元中,就从主存储单元输入缓冲器中移除该数据集,调整索引以指示数据被存储在大容量存储单元中。

图5是示出解决写入压力的实施例的图。在一些实施例中,图5中示出的系统表示图2的主存储单元200以及图3的备份存储单元300。在示出的示例中,数据(例如由符号“A”、“B”、“C”、“D”、“E”、“F”、“G”、“H”、“I”、“J”、“K”、“L”表示)被以流发送以待接收。存储系统确定主存储输入缓冲器500是否具有足够的空间存储接收的数据。存储系统包括备份存储输入缓冲器502和大容量存储器504。主存储输入缓冲器500、备份存储输入缓冲器502和大容量存储504使用比存储器的实际典型尺寸小的代表性空间示出。例如,主存储输入缓冲器500存储10、20、50或200GB,备份存储输入缓冲器502存储10、20、50或200GB,以及大容量存储器504存储10、20、50或200TB。在示出的示例中,该输入缓冲器能够在每个时间周期存储3个数据块(例如,由符合表示的每一个)并且大容量数据存储能够在每个时间周期存储1个数据块(实际的典型值会更大)。主存储单元输入缓冲器和大容量存储单元的不同的传输率意味着输入缓冲器比它能够传输至大容量存储单元更快地填充;如果来到输入缓冲器的数据量超过输入缓冲器的尺寸和它的将数据放入永久存储器(例如,大容量存储单元)的能力,则除非被分流到替代输入缓冲器(例如,备份存储单元输入缓冲器),否则将不处理写入请求。存储器管理器监视可用的空间并且在两个输入缓冲器中显示可用的空间。

图6是示出解决写入压力的实施例的图。在一些实施例中,图6中示出的系统表示图2的主存储单元200以及图3的备份存储单元300。在示出的示例中,数据(例如由符号“A”、“B”、“C”、“D”、“E”、“F”、“G”、“H”、“I”、“J”、“K”、“L”表示)被以流发送以待接收。存储系统确定主存储输入缓冲器600是否具有足够的空间存储接收的数据。存储系统包括备份存储输入缓冲器602和大容量存储器604。主存储输入缓冲器600、备份存储输入缓冲器602和大容量存储器604使用比存储器的实际典型尺寸小的代表性空间示出。例如,主存储输入缓冲器600存储10、20、50或200GB,备份存储输入缓冲器602存储10、20、50或200GB,以及大容量存储器604存储10、20、50或200TB。在示出的示例中,该输入缓冲器能够在每个时间周期存储3个数据块(例如,由符号表示的每一个)并且大容量数据存储能够在每个时间周期存储1个数据块(实际的典型值会更大)。主存储单元输入缓冲器和大容量存储单元的不同的传输率意味着输入缓冲器能够比它能够传输至大容量存储单元更快地填充;如果来到输入缓冲器的数据量超过输入缓冲器的尺寸以及它的将数据放入永久存储器(例如,大容量存储单元)的能力,则除非被分流到替代输入缓冲器(例如,备份存储单元输入缓冲器),否则将不处理写入请求。存储器管理器监视可用的空间并且示出两个输入缓冲器中可用的空间。数据“A”、“B”和“C”被存储在主存储输入缓冲器600中并且存储器管理器标记位置。主存储单元中的索引标记使用的存储器位置以及该位置中的数据。

图7是示出解决写入压力的实施例的图。在一些实施例中,图7中示出的系统表示图2的主存储单元200以及图3的备份存储单元300。在示出的示例中,数据(例如由符号“A”、“B”、“C”、“D”、“E”、“F”、“G”、“H”、“I”、“J”、“K”、“L”表示)被以流发送以待接收。存储系统确定主存储输入缓冲器700是否具有足够的空间存储接收的数据。存储系统包括备份存储输入缓冲器702和大容量存储器704。主存储输入缓冲器700、备份存储输入缓冲器702和大容量存储器704使用比存储器的实际典型尺寸小的代表性空间示出。例如,主存储输入缓冲器700存储10、20、50或200GB,备份存储输入缓冲器702存储10、20、50或200GB,以及大容量存储器704存储10、20、50或200TB。在示出的示例中,该输入缓冲器能够在每个时间周期存储3个数据块(例如,由符号表示的每一个)并且大容量数据存储能够在每个时间周期存储1个数据块(实际的典型值会更大)。主存储单元输入缓冲器和大容量存储单元的不同的传输率意味着输入缓冲器能够比它能够传输至大容量存储单元更快地填充;如果来到输入缓冲器的数据量超过输入缓冲器的尺寸以及它的将数据放入永久存储器(例如,大容量存储单元)的能力,则除非被分流到替代输入缓冲器(例如,备份存储单元输入缓冲器),否则将不处理写入请求。存储器管理器监视可用的空间并且示出两个输入缓冲器中可用的空间,但是存储器管理器确定一些数据必须去到替代输入缓冲器。数据“A”被从主存储输入缓冲器传输到大容量存储器704。新的数据“D”和“E”与之前存储的“B”和“C”一起被存储在主存储输入缓冲器700。数据“F”被存储在备份存储输入缓冲器702中。存储器管理器标记数据位置。主存储单元中的索引标记使用的存储器位置以及该位置中的数据。备份存储单元中的索引标记使用存储器位置以及该位置中的数据。

在一些实施例中,输入数据集被分割并且存储在主存储单元输入缓冲器和备份存储单元输入缓冲器。

图8是示出解决写入压力的实施例的图。在一些实施例中,图8中示出的系统表示图2的主存储单元200以及图3的备份存储单元300。在示出的示例中,数据(例如由符号“A”、“B”、“C”、“D”、“E”、“F”、“G”、“H”、“I”、“J”、“K”、“L”表示)被以流发送以待接收。存储系统确定主存储输入缓冲器800是否具有足够的空间存储接收的数据。存储系统包括备份存储输入缓冲器802和大容量存储器804。主存储输入缓冲器800、备份存储输入缓冲器802和大容量存储器804使用比存储器的实际典型尺寸小的代表性空间示出。例如,主存储输入缓冲器800存储10、20、50或200GB,备份存储输入缓冲器802存储10、20、50或200GB,以及大容量存储器804存储10、20、50或200TB。在示出的示例中,该输入缓冲器能够在每个时间周期存储3个数据块(例如,由符号表示的每一个)并且大容量数据存储能够在每个时间周期存储1个数据块(实际的典型值会更大)。主存储单元输入缓冲器和大容量存储单元的不同的传输率意味着输入缓冲器能够比它能够传输至大容量存储单元更快地填充;如果来到输入缓冲器的数据量超过输入缓冲器的尺寸以及它的将数据放入永久存储器(例如,大容量存储单元)的能力,则除非被分流到替代输入缓冲器(例如,备份存储单元输入缓冲器),否则将不处理写入请求。存储器管理器监视可用的空间并且示出两个输入缓冲器中可用的空间,但是存储器管理器确定一些数据必须去到替代输入缓冲器。数据“B”被从主存储输入缓冲器传输到大容量存储器804并且与数据“A”一起被存储。新的数据“G”与之前存储的“C”、“D”和“E”一起被存储在主存储输入缓冲器800。数据“H”和“I”与数据“F”一起被存储在备份存储输入缓冲器802中。存储器管理器标记数据位置。主存储单元中的索引标记使用的存储器位置以及该位置中的数据。备份存储单元中的索引标记使用存储器位置以及该位置中的数据。

图9是示出解决写入压力的实施例的图。在一些实施例中,图9中示出的系统表示图2的主存储单元200以及图3的备份存储单元300。在示出的示例中,数据(例如由符号“A”、“B”、“C”、“D”、“E”、“F”、“G”、“H”、“I”、“J”、“K”、“L”表示)被以流发送以待接收。存储系统确定主存储输入缓冲器900是否具有足够的空间存储接收的数据。存储系统包括备份存储输入缓冲器902和大容量存储器904。主存储输入缓冲器900、备份存储输入缓冲器902和大容量存储器904使用比存储器的实际典型尺寸小的代表性空间示出。例如,主存储输入缓冲器900存储10、20、50或200GB,备份存储输入缓冲器902存储10、20、50或200GB,以及大容量存储器904存储10、20、50或200TB。在示出的示例中,该输入缓冲器能够在每个时间周期存储3个数据块(例如,由符号表示的每一个)并且大容量数据存储能够在每个时间周期存储1个数据块(实际的典型值会更大)。主存储单元输入缓冲器和大容量存储单元的不同的传输率意味着输入缓冲器能够比它能够传输至大容量存储单元更快地填充;如果来到输入缓冲器的数据量超过输入缓冲器的尺寸以及它的将数据放入永久存储器(例如,大容量存储单元)的能力,则除非被分流到替代输入缓冲器(例如,备份存储单元输入缓冲器),否则将不处理写入请求。存储器管理器监视可用的空间并且示出两个输入缓冲器中可用的空间,但是存储器管理器确定一些数据必须去到替代输入缓冲器。数据“C”被从主存储输入缓冲器传输到大容量存储器904并且与数据“A”和“B”一起被存储。新的数据“J”与之前存储的“D”、“E”和“G”一起被存储在主存储输入缓冲器900。数据“K”与数据“F”、“H”和“I”一起被存储在备份存储输入缓冲器902中。数据存储系统需要指示“L”不能被存储。存储器管理器标记数据位置。主存储单元中的索引标记使用的存储器位置以及该位置中的数据。备份存储单元中的索引标记使用存储器位置以及该位置中的数据。

图10是示出解决写入压力的实施例的图。在一些实施例中,图10中示出的系统表示图2的主存储单元200以及图3的备份存储单元300。在示出的示例中,数据(例如由符号“A”、“B”、“C”、“D”、“E”、“F”、“G”、“H”、“I”、“J”、“K”、“L”表示)被以流发送以待接收。存储系统确定主存储输入缓冲器1000是否具有足够的空间存储接收的数据。存储系统包括备份存储输入缓冲器1002和大容量存储器1004。主存储输入缓冲器1000、备份存储输入缓冲器1002和大容量存储器1004使用比存储器的实际典型尺寸小的代表性空间示出。例如,主存储输入缓冲器1000存储10、20、50或200GB,备份存储输入缓冲器1002存储10、20、50或200GB,以及大容量存储器1004存储10、20、50或200TB。在示出的示例中,该输入缓冲器能够在每个时间周期存储3个数据块(例如,由符号表示的每一个)并且大容量数据存储能够在每个时间周期存储1个数据块(实际的典型值会更大)。主存储单元输入缓冲器和大容量存储单元的不同的传输率意味着输入缓冲器能够比它能够传输至大容量存储单元更快地填充;如果来到输入缓冲器的数据量超过输入缓冲器的尺寸以及它的将数据放入永久存储器(例如,大容量存储单元)的能力,则除非被分流到替代输入缓冲器(例如,备份存储单元输入缓冲器),否则将不处理写入请求。存储器管理器监视可用的空间并且显示一个输入缓冲器中可用的空间。数据“D”被从主存储输入缓冲器传输到大容量存储器1004并且与数据“A”、“B”和“C”一起被存储。新的数据“L”与之前存储的“E”、“G”和“I”一起被存储在主存储输入缓冲器1000。数据“K”与数据“F”、“H”和“I”一起被存储在备份存储输入缓冲器902中。存储器管理器标记数据位置。主存储单元中的索引标记使用的存储器位置以及该位置中的数据。备份存储单元中的索引标记使用存储器位置以及该位置中的数据。

图11是示出解决写入压力的实施例的图。在一些实施例中,图11中示出的系统表示图2的主存储单元200以及图3的备份存储单元300。在示出的示例中,数据(例如由符号“A”、“B”、“C”、“D”、“E”、“F”、“G”、“H”、“I”、“J”、“K”、“L”表示)被以流发送以待接收。存储系统确定主存储输入缓冲器1100是否具有足够的空间存储接收的数据。存储系统包括备份存储输入缓冲器1102和大容量存储器1104。主存储输入缓冲器1100、备份存储输入缓冲器1102和大容量存储器1104使用比存储器的实际典型尺寸小的代表性空间示出。例如,主存储输入缓冲器1100存储10、20、50或200GB,备份存储输入缓冲器1102存储10、20、50或200GB,以及大容量存储器1104存储10、20、50或200TB。在示出的示例中,该输入缓冲器能够在每个时间周期存储3个数据块(例如,由符号表示的每一个)并且大容量数据存储能够在每个时间周期存储1个数据块(实际的典型值会更大)。主存储单元输入缓冲器和大容量存储单元的不同的传输率意味着输入缓冲器能够比它能够传输至大容量存储单元更快地填充;如果来到输入缓冲器的数据量超过输入缓冲器的尺寸以及它的将数据放入永久存储器(例如,大容量存储单元)的能力,则除非被分流到替代输入缓冲器(例如,备份存储单元输入缓冲器),否则将不处理写入请求。存储器管理器监视可用的空间并且显示两个输入缓冲器中可用的空间。数据“E”被从主存储输入缓冲器传输到大容量存储器1104并且与数据“A”、“B”、“C”和“D”一起被存储。数据“F”与之前存储的“G”、“J”和“L”一起被传输到主存储输入缓冲器1100。数据“K”、“H”和“I”被存储在备份存储输入缓冲器902中。存储器管理器标记数据位置。主存储单元中的索引标记使用的存储器位置以及该位置中的数据。备份存储单元的索引标记使用存储器位置以及该位置中的数据。

图12是示出解决写入压力的实施例的图。在一些实施例中,图12中示出的系统表示图2的主存储单元200以及图3的备份存储单元300。在示出的示例中,数据(例如由符号“A”、“B”、“C”、“D”、“E”、“F”、“G”、“H”、“I”、“J”、“K”、“L”表示)被以流发送以待接收。存储系统确定主存储输入缓冲器1200是否具有足够的空间存储接收的数据。存储系统包括备份存储输入缓冲器1202和大容量存储器1204。主存储输入缓冲器1200、备份存储输入缓冲器1202和大容量存储器1204使用比存储器的实际典型尺寸小的代表性空间示出。例如,主存储输入缓冲器1200存储10、20、50或200GB,备份存储输入缓冲器1202存储10、20、50或200GB,以及大容量存储器1204存储10、20、50或200TB。在示出的示例中,该输入缓冲器能够在每个时间周期存储3个数据块(例如,由符号表示的每一个)并且大容量数据存储能够在每个时间周期存储1个数据块(实际的典型值会更大)。主存储单元输入缓冲器和大容量存储单元的不同的传输率意味着输入缓冲器能够比它能够传输至大容量存储单元更快地填充;如果来到输入缓冲器的数据量超过输入缓冲器的尺寸以及它的将数据放入永久存储器(例如,大容量存储单元)的能力,则除非被分流到替代输入缓冲器(例如,备份存储单元输入缓冲器),否则将不处理写入请求。存储器管理器监视可用的空间并且示出两个输入缓冲器中可用的空间。数据“F”被从主存储输入缓冲器传输到大容量存储器1204并且与数据“A”、“B”、“C”、“D”和“E”一起被存储。数据“H”与之前存储的“G”、“J”和“L”一起被传输到主存储输入缓冲器1200。数据“K”和“I”被存储在备份存储输入缓冲器1202中。存储器管理器标记数据位置。主存储单元中的索引标记使用的存储器位置以及该位置中的数据。备份存储单元的索引标记使用存储器位置以及该位置中的数据。

在一些实施例中,存储器管理器跟踪数据到达的顺序并且确保向大容量存储单元的传输与到达顺序相同,而不论主存储单元输入缓冲器中的顺序。

图13是示出解决写入压力的实施例的图。在一些实施例中,图13中示出的系统表示图2的主存储单元200以及图3的备份存储单元300。在示出的示例中,数据(例如由符号“A”、“B”、“C”、“D”、“E”、“F”、“G”、“H”、“I”、“J”、“K”、“L”表示)以流发送以待接收。存储系统确定主存储输入缓冲器1300是否具有足够的空间存储接收的数据。存储系统包括备份存储输入缓冲器1302和大容量存储器1304。主存储输入缓冲器1300、备份存储输入缓冲器1302和大容量存储器1304使用比存储器的实际典型尺寸小的代表性空间示出。例如,主存储输入缓冲器1300存储10、20、50或200GB,备份存储输入缓冲器1302存储10、20、50或200GB,以及大容量存储器1304存储10、20、50或200TB。在示出的示例中,该输入缓冲器能够在每个时间周期存储3个数据块(例如,由符号表示的每一个)并且大容量数据存储能够在每个时间周期存储1个数据块(实际的典型值会更大)。主存储单元输入缓冲器和大容量存储单元的不同的传输率意味着输入缓冲器能够比它能够传输至大容量存储单元更快地填充;如果来到输入缓冲器的数据量超过输入缓冲器的尺寸以及它的将数据放入永久存储器(例如,大容量存储单元)的能力,则除非被分流到替代输入缓冲器(例如,备份存储单元输入缓冲器),否则将不处理写入请求。存储器管理器监视可用的空间并且示出两个输入缓冲器中可用的空间。数据“G”被从主存储输入缓冲器传输到大容量存储1304并且与数据“A”、“B”、“C”、“D”、“E”和“F”一起被存储。数据“I”与之前存储的“H”、“J”和“L”一起被传输到主存储输入缓冲器1300。数据“K”被存储在备份存储输入缓冲器1302中。存储器管理器标记数据位置。主存储单元中的索引标记使用的存储器位置以及该位置中的数据。备份存储单元中的索引标记使用存储器位置以及该位置中的数据。

图14是示出解决写入压力的实施例的图。在一些实施例中,图14中示出的系统表示图2的主存储单元200以及图3的备份存储单元300。在示出的示例中,数据(例如由符号“A”、“B”、“C”、“D”、“E”、“F”、“G”、“H”、“I”、“J”、“K”、“L”表示)被以流发送以待接收。存储系统确定主存储输入缓冲器1400是否具有足够的空间存储接收的数据。存储系统包括备份存储输入缓冲器1402和大容量存储器1404。主存储输入缓冲器1400、备份存储输入缓冲器1402和大容量存储器1404使用比存储器的实际典型尺寸小的代表性空间示出。例如,主存储输入缓冲器1400存储10、20、50或200GB,备份存储输入缓冲器1402存储10、20、50或200GB,以及大容量存储器1404存储10、20、50或200TB。在示出的示例中,该输入缓冲器能够在每个时间周期存储3个数据块(例如,由符号表示的每一个)并且大容量数据存储能够在每个时间周期存储1个数据块(实际的典型值会更大)。主存储单元输入缓冲器和大容量存储单元的不同的传输率意味着输入缓冲器能够比它能够传输至大容量存储单元更快地填充;如果来到输入缓冲器的数据量超过输入缓冲器的尺寸以及它的将数据放入永久存储器(例如,大容量存储单元)的能力,则除非被分流到替代输入缓冲器(例如,备份存储单元输入缓冲器),否则将不处理写入请求。存储器管理器监视可用的空间并且示出两个输入缓冲器中可用的空间。数据“H”被从主存储输入缓冲器传输到大容量存储器1404并且与数据“A”、“B”、“C”、“D”、“E”、“F”和“G”一起被存储。数据“K”与之前存储的“I”、“J”和“L”一起被传输到主存储输入缓冲器1400。没有数据被存储在备份存储输入缓冲器1402中。存储器管理器标记数据位置。主存储单元中的索引标记使用的存储器位置以及该位置中的数据。备份存储单元的索引标记使用存储器位置以及该位置中的数据。

图15是示出解决写入压力的实施例的图。在一些实施例中,图15中示出的系统表示图2的主存储单元200以及图3的备份存储单元300。在示出的示例中,数据(例如由符号“A”、“B”、“C”、“D”、“E”、“F”、“G”、“H”、“I”、“J”、“K”、“L”表示)被以流发送以待接收。存储系统确定主存储输入缓冲器1500是否具有足够的空间存储接收的数据。存储系统包括备份存储输入缓冲器1502和大容量存储器1504。主存储输入缓冲器1500、备份存储输入缓冲器1502和大容量存储器1504使用比存储器的实际典型尺寸小的代表性空间示出。例如,主存储输入缓冲器1500存储10、20、50或200GB,备份存储输入缓冲器1502存储10、20、50或200GB,以及大容量存储器1504存储10、20、50或200TB。在示出的示例中,该输入缓冲器能够在每个时间周期存储3个数据块(例如,由符号表示的每一个)并且大容量数据存储能够在每个时间周期存储1个数据块(实际的典型值会更大)。主存储单元输入缓冲器和大容量存储单元的不同的传输率意味着输入缓冲器能够比它能够传输至大容量存储单元更快地填充;如果来到输入缓冲器的数据量超过输入缓冲器的尺寸以及它的将数据至永久存储器(例如,大容量存储单元)的能力,则除非被分流到替代输入缓冲器(例如,备份存储单元输入缓冲器),否则将不处理写入请求。存储器管理器监视可用的空间并且示出两个输入缓冲器中可用的空间。数据“I”被从主存储输入缓冲器传输到大容量存储1504并且与数据“A”、“B”、“C”、“D”、“E”、“F”、“G”和“H”一起被存储。数据“K”仍然与之前存储的“J”和“L”一起被存储在主存储输入缓冲器1500。没有数据被存储在备份存储输入缓冲器1502中。存储器管理器标记数据位置。主存储单元中的索引标记使用的存储器位置以及该位置中的数据。备份存储单元中的索引标记使用存储器位置以及该位置中的数据。

图16是示出解决写入压力的实施例的图。在一些实施例中,图16中示出的系统表示图2的主存储单元200以及图3的备份存储单元300。在示出的示例中,数据(例如由符号“A”、“B”、“C”、“D”、“E”、“F”、“G”、“H”、“I”、“J”、“K”、“L”表示)被以流发送以待接收。存储系统确定主存储输入缓冲器1600是否具有足够的空间存储接收的数据。存储系统包括备份存储输入缓冲器1602和大容量存储器1604。主存储输入缓冲器1600、备份存储输入缓冲器1602和大容量存储器1604使用比存储器的实际典型尺寸小的代表性空间示出。例如,主存储输入缓冲器1600存储10、20、50或200GB,备份存储输入缓冲器1602存储10、20、50或200GB,以及大容量存储器1604存储10、20、50或200TB。在示出的示例中,该输入缓冲器能够在每个时间周期存储3个数据块(例如,由符号表示的每一个)并且大容量数据存储能够在每个时间周期存储1个数据块(实际的典型值会更大)。主存储单元输入缓冲器和大容量存储单元的不同的传输率意味着输入缓冲器能够比它能够传输至大容量存储单元更快地填充;如果来到输入缓冲器的数据量超过输入缓冲器的尺寸以及它的将数据放入永久存储器(例如,大容量存储单元)的能力,则除非被分流到替代输入缓冲器(例如,备份存储单元输入缓冲器),否则将不处理写入请求。存储器管理器监视可用的空间并且示出两个输入缓冲器中可用的空间。数据“J”被从主存储输入缓冲器传输到大容量存储1604并且与数据“A”、“B”、“C”、“D”、“E”、“F”、“G”、“H”和“I”一起被存储。数据“K”仍然与之前存储的“L”一起被存储在主存储输入缓冲器1600。没有数据被存储在备份存储输入缓冲器1602中。存储器管理器标记数据位置。主存储单元中的索引标记使用的存储器位置以及该位置中的数据。备份存储单元中的索引标记使用存储器位置以及该位置中的数据。

图17是示出解决写入压力的实施例的图。在一些实施例中,图17中示出的系统表示图2的主存储单元200以及图3的备份存储单元300。在示出的示例中,数据(例如由符号“A”、“B”、“C”、“D”、“E”、“F”、“G”、“H”、“I”、“J”、“K”、“L”表示)被以流发送以待接收。存储系统确定主存储输入缓冲器1700是否具有足够的空间存储接收的数据。存储系统包括备份存储输入缓冲器1702和大容量存储器1704。主存储输入缓冲器1700、备份存储输入缓冲器1702和大容量存储器1704使用比存储器的实际典型尺寸小的代表性空间示出。例如,主存储输入缓冲器1700存储10、20、50或200GB,备份存储输入缓冲器1702存储10、20、50或200GB,以及大容量存储器1704存储10、20、50或200TB。在示出的示例中,该输入缓冲器能够在每个时间周期存储3个数据块(例如,由符号表示的每一个)并且大容量数据存储能够在每个时间周期存储1个数据块(实际的典型值会更大)。主存储单元输入缓冲器和大容量存储单元的不同的传输率意味着输入缓冲器能够比它能够传输至大容量存储单元更快地填充;如果来到输入缓冲器的数据量超过输入缓冲器的尺寸以及它的将数据放入永久存储器(例如,大容量存储单元)的能力,则除非被分流到替代输入缓冲器(例如,备份存储单元输入缓冲器),否则将不处理写入请求。存储器管理器监视可用的空间并且显示两个输入缓冲器中可用的空间。数据“K”被从主存储输入缓冲器传输到大容量存储器1704并且与数据“A”、“B”、“C”、“D”、“E”、“F”、“G”、“H”、“I”和“J”一起被存储。数据“L”仍被存储在主存储输入缓冲器1700。没有数据被存储在备份存储输入缓冲器1702中。存储器管理器标记数据位置。主存储单元中的索引标记使用的存储器位置以及该位置中的数据。备份存储单元中的索引标记使用存储器位置以及该位置中的数据。

图18是示出解决写入压力的实施例的图。在一些实施例中,图18中示出的系统表示图2的主存储单元200以及图3的备份存储单元300。在示出的示例中,数据(例如由符号“A”、“B”、“C”、“D”、“E”、“F”、“G”、“H”、“I”、“J”、“K”、“L”表示)被以流发送以待接收。存储系统确定主存储输入缓冲器1800是否具有足够的空间存储接收的数据。存储系统包括备份存储输入缓冲器1802和大容量存储器1804。主存储输入缓冲器1800、备份存储输入缓冲器1802和大容量存储器1804使用比存储器的实际典型尺寸小的代表性空间示出。例如,主存储输入缓冲器1800存储10、20、50或200GB,备份存储输入缓冲器1802存储10、20、50或200GB,以及大容量存储器1804存储10、20、50或200TB。在示出的示例中,该输入缓冲器能够在每个时间周期存储3个数据块(例如,由符号表示的每一个)并且大容量数据存储能够在每个时间周期存储1个数据块(实际的典型值会更大)。主存储单元输入缓冲器和大容量存储单元的不同的传输率意味着输入缓冲器能够比它能够传输至大容量存储单元更快地填充;如果来到输入缓冲器的数据量超过输入缓冲器的尺寸以及它的将数据放入永久存储器(例如,大容量存储单元)的能力,则除非被分流到替代输入缓冲器(例如,备份存储单元输入缓冲器),否则将不处理写入请求。存储器管理器监视可用的空间并且显示两个输入缓冲器中可用的空间。数据“L”被从主存储输入缓冲器传输到大容量存储器1804并且与数据“A”、“B”、“C”、“D”、“E”、“F”、“G”、“H”、“I”、“J”和“K”一起被存储。没有数据被存储在主存储输入缓冲器1800。没有数据被存储在备份存储输入缓冲器1802中。存储器管理器标记数据位置。主存储单元中的索引标记使用的存储器位置以及该位置中的数据。备份存储单元中的索引标记使用存储器位置以及该位置中的数据。

图19是示出解决写入压力的实施例的图。在一些实施例中,图19中示出的系统表示图2的大容量存储单元204。在示出的示例中,数据(例如由符号“A”、“B”、“C”、“D”、“E”、“F”、“G”、“H”、“I”、“J”、“K”、“L”表示)被以流发送以待接收。数据“A”、“B”、“C”、“D”、“E”、“F”、“G”、“H”、“I”、“J”、“K”和“L”被存储在大容量存储1904中。数据被以从主存储输入缓冲器“先入先出”的输出的顺序被存储,不用如图5-18中的示例那样重新排序。存储器管理器标记数据位置。主存储单元中的索引标记使用的存储器位置以及该位置中的数据。备份存储单元中的索引标记使用存储器位置以及该位置中的数据。

在一些实施例中,数据以离开主存储单元输入缓冲器的顺序而不以数据到达的顺序被存储在大容量存储单元,并且存储器管理器用于在调用数据时对数据重新排序以确保以正确的数据顺序读取存储的数据。

尽管出于清楚理解的目的,已经以某些细节描述了上述实施例,但是本发明不限于所提供的细节。存在很多实现本发明的替代方式。公开的实施例是示例性的,而非限制的。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1