云计算环境中的数据更新管理的制作方法

文档序号:6538774阅读:117来源:国知局
云计算环境中的数据更新管理的制作方法
【专利摘要】本申请公开了云计算环境中的数据更新管理。用于在云计算环境中管理数据的方法和设备。根据一些实施例,数据更新被云网络上的多层存储器结构接收,并在可存储器结构的上部的可重写非易失性存储器层中被存储为工作数据。工作数据被周期性地录入存储器结构中的下部的非易失性存储器层,同时当前版本的工作数据仍保留在上部存储器层中。上部和下部存储器层的每一个都包含由不同结构和存储属性的可重写存储器单元形成。
【专利说明】云计算环境中的数据更新管理
【技术领域】
[0001]本发明的各种实施例总体上涉及云计算环境中的数据更新管理。

【发明内容】

[0002]根据一些实施例,数据更新被云网络上的多层存储器结构接收,并在可存储器结构的上部的可重写非易失性存储器层中被存储为工作数据。工作数据被周期性地录入存储器结构中的下部的非易失性存储器层,同时当前版本的工作数据仍保留在上部存储器层中。上部和下部存储器层的每一个都包含具有不同结构和存储属性的可重写存储器单元。
[0003]通过下述详细讨论以及附图,可以理解表征本发明的各种实施例的这些和其它特征和方面。
【专利附图】

【附图说明】
[0004]图1提供了根据本发明的各种实施例的云计算系统的功能框图。
[0005]图2图示出图1的用户装置的示例性配置。
[0006]图3提供了图2的用户装置的存储器的功能框图。
[0007]图4描绘了根据一些实施例的多层非易失性存储器结构的存储管理器和各个层。
[0008]图5图示出根据一些实施例的可存储在各种层中的各种类型的数据之间的相互作用。
[0009]图6示出了根据一些实施例的可操作的数据记录电路。
[0010]图7描绘了图6的数据记录电路对第一层中的工作数据做出选择旋转。
[0011]图8示出了根据一些实施例的可操作来产生会话历史数据的会话记录电路和关注的识别数据对象。
[0012]图9示出了根据一些实施例的可操作来产生用于后续会话的预取命令脚本的预取分析引擎。
[0013]图10描绘了图8的预取分析引擎的方面。
[0014]图11是根据一些实施例执行的云网络计算例程的流程图。
[0015]图12提供了可与图11的例程相结合地执行的数据更新和记录例程。
[0016]图13示出了可与图11的例程相结合地执行的数据预取例程。
【具体实施方式】
[0017]本发明总体上涉及云计算环境中的数据管理。
[0018]云计算系统经由网络将基于计算机的硬件和/或软件资源从远程位置传递至本地用户。这允许资源被远程地而不是在本地装置上本地地操作和管理。通常,大量本地用户可通过订阅服务来获取资源,从而为更传统的“公用事业”公司(例如,煤气、电、电话服务等)提供规模经济效益。
[0019]本地用户装置可采取终端、平板电脑、智能手机、便携式电脑、智能卡、电子阅读器或其它通信装置的形式。相对于云网络上的装置可选择地获取的,该装置具有相对有限的存储器和计算能力。在云计算会话期间,可授权本地用户装置访问应用、操作系统、数据组、计算引擎和/或其它资源,它们被本地装置根据请求访问。在一些情况下,用户数据的一些或全部被远程地存储在“云端”而不是本地地存储在装置中。
[0020]云计算应用这些年来已经变得越来越流行。示例包括游戏、电子书籍、商业软件、电子邮件系统、电影、虚拟桌面系统、管理程序系统、基于网页的应用和数据库、操作系统、以及其它类型的基于网络的计算环境。
[0021]虽然可操作来为用户提供广泛的各种潜在资源,云计算网络有时候可提供相对低的数据传输率以及延长的载入时间。这在用户装置层次可能会呈现出瓶颈,尤其是在更基于互动的而不是基于流的应用中。基于互动的应用一般涉及本地用户装置和远程云资源之间的随机I/o互换,例如在特定类型的数据库类应用中。基于流的应用更趋于单向,这是内容根据需要(例如在电影呈现、电子数据等情况下)被流向(依次呈现给)装置。
[0022]不管基于云的应用的类型怎样,仍然需要按照其中在云计算环境中管理数据的方式进行持续改进。如后面所解释的,各种实施例总体上涉及存储器模块多节点云计算网络系统的本地节点处的使用。存储器模块具有多层非易失性存储器结构,该结构具有在云计算会话期间管理不同类型的存储器的不同存储器层。
[0023]在一些实施例中,当前数据被保持在更高层中,并且当前数据的更新记录被周期性地传递至更低层。当前数据可转移到更高层中的不同位置。整个会话的会话记录可保持在更低层中。可分析数据模式,而且在后续会话期间可以从云网络中的不同节点和/或存储器的更低层中推测性地预取数据。
[0024]通过查看图1可以开始理解各种实施例的这些及其它特征,图1提供了云计算系统100的功能框图。系统100包括与云网络104连接的本地用户装置102。云网络可以采取任意形式,包括局域网、广域网、宽带网络、因特网等。用户装置102和网络104之间的互动可以是任意适当形式,包括无线、以太网、光纤通道、蓝牙等。可以理解的是,装置102形成了整个系统100的所选的本地节点。
[0025]与云网络104连接的其它装置包括远程应用服务器106和远程数据服务器108。任意的各种其它装置可连接在任意节点上以与本地装置102通信,而且可以是任意数量的其它的本地装置。服务器106、108由本地装置102的用户提供备用的资源。用户被授权经由为用户装置100的配置唯一地定制的一个或多个账户访问云网络。理想地,仅仅用户(以通过装置102授权访问的方式)具有对远程地存储在数据服务器108中的用户数据的访问权。
[0026]出于说明的目的,应用服务器106被设计成包括与处理能力和存储器相关的一个或多个通信装置以便为本地用户装置102提供软件应用和计算资源。数据服务器108包括与处理能力和存储器相关的一个或多个通信装置以便为本地用户装置102提供数据存储和取出资源。应用和数据资源被用户装置请求以在用户装置层次进行执行、存储、查看和/或其它处理。
[0027]图2图示出根据一些实施例的图1的用户装置102。可以理解的是,用户装置102可采取任意数量的任意适当形式,例如但不限于平板电脑、个人计算机、便携式电脑、电子阅读器、个人数据助理、智能电话、终端、智能卡、工作站、或其它桌面或便携式通信装置。在一些情况下,装置102包括现有从具有识别用户并获取对用户帐户的访问权的信息的用户向其展示便携式存储装置的非智能终端。
[0028]示例的用户装置102包括一个或多个可编程处理器110、内部存储器112、图形用户接口(⑶I) 114、数据输入/输出(I/O)电路116、外部存储器118和电源模块120。可以容易地使用其它配置,包括使用附加模块和/或省略一个或多个所列模块。
[0029]处理器110提供装置102的顶层控制。内部存储器112存储由处理器和其它模块使用的编程指令和/或数据。⑶1114可包括视频屏幕、触摸屏、用户可选按钮、键盘鼠标、扬声器和/或其它模块,以允许系统的人类用户经由网络104与提供至装置100的资源互动。
[0030]I/O电路116包括通信能力以与网络104通信以及进行模块之间的本地通信。在使用时,外部存储器118可作为可由系统使用的主存储器或辅助存储器,因此可以是内部或外部的,而且可永久地附接至或可选地耦接至装置。电源120提供了可由装置102使用的电能。
[0031]图3描绘了用户装置102的存储器模块130。存储器模块130可形成内部存储器112、外部存储器118、或用户装置的一些其它方面(包括整个装置)。
[0032]存储器模块130包括存储器控制器132和多层存储器结构134。控制器132提供了存储器模块130的顶层控制,而且存储器结构134向请求主体(例如处理器110或包括远程服务器106、108的其它主体)存入或向其取出用户数据。
[0033]存储器结构134包括大量非易失性存储器层136、137和138,它们被标为MEM1-3。各种层内的大量的各种类型的存储器可根据需要而改变。一般,存储器结构134中的更高层可由更小和/或更快的存储器构成,存储器结构中的更低层可由更大和/或更慢的存储器构成。可以按照优先级顺序布置层,以使得更高优先级数据被存储至结构中的相对更高层层次。
[0034]为了提供一个具体的示例,存储器结构134被设计为基于闪存存储器的存储装置,例如固态硬盘(SSD)、便携式拇指驱动器、存储棒、存储卡、混合存储装置等,由此至少一个更低存储器层提供了采用可擦除闪存存储器的主存储。至少一个更高存储器层提供了可重写非易失性存储器,例如阻变式随机访问存储器(RRAM)、相变随机存取存储器(PCRAM)、自旋力矩转移随机存取存储器(STRAM)等。这仅仅是示例性的而不是限制性的。其它层次可并入存储器结构,例如易失性或非易失性高速缓存层次、缓存器等。
[0035]对于此处的使用,非易失性指的是存储器在没有供电的情况下保持存储的数据的能力。诸如闪存存储器之类的可擦除存储器指的是在新的更新后的数据可被写入存储器单元之前对存储器的存储器单元要求特殊配置的擦除操作的存储器。诸如RRAM、PCRAM、STRAM之类的可重写存储器指的是可接受任意其它可用存储器编程状态而不管存储器单元的初始编程状态如何的存储器。因此,不同于可擦除存储器,可重写存储器可接收直接重写在现有数据上的新的更新后的数据。
[0036]图4示出了根据一些实施例的图3的存储器模块130的一些方面。可以理解的是,图4中的各种类型的可重写和可擦除存储器仅仅是示例性的而不是限制性的,可根据需要采用任意数量的其它类型的存储器以及大量的存储器层,包括基于碳纳米管的存储器、磁随机访问存储器(MRAM)、基于盘的存储器(包括磁和光)等。
[0037]存储管理器140可并入作为控制器功能的一部分,或者可被实现为存储器结构的一部分。存储管理器140包括产生数据对象的数据对象引擎142以及产生针对数据对象的元数据的元数据引擎144。数据对象和元数据都存储在存储器结构134的各个层中。
[0038]对于此处的使用,数据对象指的是从请求者接收到的可寻址的数据块组,例如具有固定尺寸的数据扇区(例如,512字节等)。数据块可配置有逻辑地址(例如逻辑块地址,LBA)以识别请求层次的块。每个数据对象可包括一个或多个LBA,而且给定数据对象的LBA的组可根据数据属性和/或存储器层存储属性来进行选择。例如,具有页面大小数据(例如,8192字节等)的数据对象可存储在闪存存储器层次中,而具有单独的LBA的数据对象可存储在更高RRAM层次中。
[0039]元数据提供控制信息以允许存储器模块追踪各种数据对象的位置和状态。数据对象和元数据都可以采取各种格式。其它处理可被应用至包括错误校验码(ECC)、加密等的数据。
[0040]图4中的存储器结构104被示出为包括四层150、152、154和156。可以采用层的其它格式、数量和顺序。第一层150被示出为包括自旋力矩转移随机存取存储器(STRAM)存储器单元,这是可重写非易失性存储器单元,每个都适于存储数据作为可编程电阻。示例的STRAM单元包括接合了由自由层162、参考层164和干预隧穿势垒层166形成的磁隧道结(MTJ)的上部和下部导电电极158、160。可以采用其它MTJ配置。
[0041]自由层162包括具有可变磁定向的磁响应材料形成的一个或多个层。参考层164包括具有固定磁定向的磁响应材料形成的一个或多个层。参考层可包括诸如永磁、合成反铁磁(SAF)层之类的填塞层以及由填塞层磁定向的诸如铁磁层之类的被填层。磁定向的方向可垂直于或平行于流经MTJ的电流的方向。
[0042]MTJ呈现出与自由层162相对于参考层164的定向相关的不同的电阻。以平行定向提供相对低的电阻,其中自由层被定向成与参考层相同的方向。相对高的电阻被提供成反平行定向,其中自由层被定向成与参考层相同的相反。自旋力矩电流可被提供成平行和反平行定向之间的过度自由层。
[0043]第二层152包括非易失性可重写阻变式随机访问存储器(RRAM)。每个RRAM单元包括由诸如氧化层或电解层之类的干预层隔开的顶部和底部导电电极168、170。干预层172通常具有相对高的电阻。
[0044]在编程操作期间,离子迁移被启动,这可能导致形成导丝174,其降低了通过RRAM元件172的电阻。其它RRAM配置被设计成不是必须形成导丝,例如通过势垒上或中间结构中并入离子或空穴(这会导致元件的受控的电阻变化)而经历状态变化的结构。
[0045]图4中的存储器结构104的第三层154包括非易失性可重写相变随机访问存储器(PCRAM)。每个PCRAM单元具有由相变材料180隔开的顶部和底部导电电极176、178。相变材料是热响应的,并且在被加热至其玻璃转换温度或该温度之上时转变(融化)。根据层180随后冷却的速率,至少一部分材料可采用非结晶状态或晶态,具有相应的较高或较低电阻。图4示出了非结晶区181,表示单元被编程为高阻状态。
[0046]第四层156是由非易失性可擦除闪存存储器单元制成的闪存存储器层。半导体衬底184中的掺杂区域182形成了被栅极结构186隔开的源漏区域。栅极结构包括被干预势垒层192、194隔开的浮栅(FG) 188和控制栅(CG) 190。数据与浮栅188上电荷的累积相关地被存入单元。[0047]通过施加适当电压以使电荷从沟道转移至各个浮栅188来对闪存存储器单元进行写入(编程)。单元的浮栅188上电荷的存在增大了需要施加至控制栅190以使得单元处于漏源导通状态的阈值电压。通过施加一连串电压至各个漏极、源极和栅极终端来检测单元沿漏源路径(通过沟道CH)转换至导通状态时的阈值来读取(感测)编程状态。需要特殊擦除操作来去除累积的电荷,并使单元返回未擦除的初始状态。
[0048]闪存存储器单元可被布置为单层次单元(SLC)或多层次单元(MLC)。SLC存储单比特,MLC存储多比特。一般,每个单元可通过提供2N个不同的累积的电荷层次存储多个N比特数据。层150、152和154的各种可重写存储器结构中的至少一些还可被配置为SLC或MLC,这取决于单元的结构和操作。
[0049]设计使得每个层具有其自己的相关存储器存储属性(例如,容量、数据单位尺寸、I/o数据传递速率、持久性等)。最高级层将趋于具有最快的I/O数据传递速率性能(或其它适当的性能标准),最低级层将趋于具有最慢的性能。剩下的每个层将具有按照优先级顺序的大致次序的中间的性能特征。
[0050]图5示出了可并入存储器结构104的四个单独的存储器层200、202、204和206。第一层200被认为具有比其它层较高的优先级顺序,并且可配置有针对高优先级数据的第一层初始存储位置的更快的I/O性能或其它特征。因此,第一层200可以是也可以不是存储器结构中的绝对最高层,但是它比其余层202、204和206具有相对更高的优先级顺序。
[0051]不同类型的数据组被存入各个层。工作数据208被存入第一层200;数据记录210被存入第二层202;会话记录212被存入第三层204;预取脚本和数据214被存入第四层206。可以理解的是,可根据需要采取各个数据组的其它顺序和位置,包括将两个或更多的各种更低数据组210、212和214存储至相同的更低层202、204、206中。图5所示的数据组被设计为数据对象;相应元数据将被存入各种层,或存入其它层,以启动系统来正确地定位并管理各种类型的数据组。
[0052]一般,工作数据208代表了已经在云计算会话期间载入存储器模块130的当前版本的数据。例如,在诸如电子书和电影的基于流的应用的情况下,工作数据可代表连续为用户显示在⑶1114(图2)上的数据。在互动应用中,工作数据可代表在云计算会话期间被用户访问的程序和/或数据组。工作数据更新的速率将取决于向其提供输入的应用和用户。
[0053]数据记录210代表在适当时间传递至第二层202的当前数据208的周期性拷贝。数据记录210可被设计为特定时间点的当前数据的“快照”。根据存储器容量,第一层200中的所有工作数据208可在给定会话期间捕获在数据记录210中。可替换地,最旧的数据记录将从第二层丢弃,以使得数据记录表示最近的连续的X个快照。
[0054]数据记录210可有助于通过保持用户进来做出的更新的记录来改进用户体验以及与相关基于应用的云相关的互动。例如,在装置102的电源的暂时损耗的情况下,当前版本的工作数据以及最近的快照中的一些(或全部)都被保持在两个不同非易失性存储器位置中,实现了电源中断事件之后的快速可靠的恢复。
[0055]而且,在应用的用户访问导致之前使用的数据的请求当前没有留在工作数据组208中时,可以从数据记录210提供所请求的数据。因此,例如,在用户期望重新指向视频段时,之前存储的视频帧可被存储在数据记录210中,从而允许数据请求被本地地满足(例如,从第二层202),而不是请求所请求数据从网络104上的远程应用或数据服务器106、108进行重复传递。
[0056]工作数据208中的数据更新录入数据记录210的速率可根据大量因素而变化。在一些实施例中,每次接收到数据更新,更新被录入数据记录210,由此数据记录提供了数据访问的完整历史。在其它实施例中,数据记录被形成为当前数据状态的周期性(例如,每X小时/分钟/秒,等)的快照。在后一种情况下,根据期望,干预日志结构可保持为代表并捕获每个连续的快照对之间的差异。
[0057]在另外的其它实施例中,响应于工作数据层次的数据转移而录入数据更新。图6描绘了数据记录电路216,其适用于执行数据转移和传递。
[0058]如上所述,第一层200包括具有快速数据I/O传递速率和适合于工作数据208的存储空间的使用的其它特征的可重写存储器单元。可重写存储器单元的使用允许数据更新根据需要而被重写至旧的之前现有的数据块,而无需干扰擦除操作,而这可能放缓总体数据I/o性能。
[0059]然而,尤其是在进行高频更新的高互动应用的环境中,诸如电阻偏移、读/写干扰效应和其它参数效应之类的各种因素会导致存储在各种可重写存储器单元中的数据的退化。
[0060]由此,图6中的数据记录电路216采用各种输入,例如读/写计数、参数偏移测量、温度测量、观测的误码率(BER)数据。这些和其它适合的参数值和存储属性可组合成加权计算(布隆过滤器)以便经验地确定以对应于存储数据可开始呈现退化的时间点。
[0061]在该点,工作数据可转移至第一层内的新的不同位置,而且工作数据的拷贝可同时地作为记录数据传递至更低层。在一些实施例中,上部层200(或其部分)被管理为多个垃圾收集单元(G⑶)218,它们中的每一个都被分配并重置为单元。如图7所示,这允许工作数据208为了确保数据保持为针对数据I/O要求的可用状态而周期性地通过第一层200旋转。由此断定,在上部层200中转移工作数据的决定为作为对更低层202的记录更新的记录数据提供了方便点。
[0062]除了数据记录212之外,还保持会话记录数据214。图8示出了会话记录电路220,其可形成存储管理器140的一部分或者存储器模块130的其它方面。不同于经由数据记录212提供了实时的或近乎实时的数据变化表示的数据记录电路216,会话记录电路220检查在每个云计算会话期间执行的读写访问的序列。
[0063]每次新数据被写入第一层200作为工作数据的一部分时,会话记录电路220利用适当的特征来记录写操作,例如LBA、时间/日期、写操作是被更新至先前存储的LBA还是新呈现的LBA、写入LBA(如果已知)的源等。类似地,每次从工作数据组读出数据时,会话记录电路220利用类似特征来记录读操作。这样,会话记录电路220可产生会话历史序列作为列出了在会话期间服务的访问命令序列的命令历史表(CHT)或类似的数据结构。在一些实施例中,连续命令之间流逝的时间可包括在数据结构中。需要注意的是,CHT标识了命令(例如,读取LBA1000-1020,写入LBA3000-3002等)并且不存储数据对象本身。
[0064]然而,根据工作台的尺寸,会话期间具有相对高关注的数据对象的一些或全部可被识别并被存储为会话数据的一部分。例如,具有高读取速率的数据对象可被识别为高关注数据。类似地,从装置传递过来的诸如多个会话公用的标识符数据之类的高优先级数据可被识别为高关注会话数据。[0065]图8的会话历史序列和会话数据对象可被图9中的预取分析引擎222用来分析各种访问模式以形成数据预取命令脚本。例如,与之前捕获的会话历史序列紧密匹配的大量读和/或写访问的接收会使得预取分析引擎启动一个或多个推断的预取命令以请求在不久的将来将被要求的其它数据。数据请求可被存储器模块直接发送给系统中的另一节点,例如直接发送给远程服务器106、108。
[0066]可替换地,适当的应用和/或驱动软件可被载入用户装置102以使得更高级别的处理器Iio启动网络104上的数据请求。在另一实施例中,被会话记录电路220识别并存储的一些更高关注的会话数据也可被预取并被提供至第一层200作为推断的数据传递。这些和其它类型的层间传递可由存储管理器140管理。
[0067]图10示出了可由图9的预取分析引擎222根据前面的讨论执行操作序列。在所选的会话期间,图5的工作数据208将保留在第一层200中,而且数据I/O操作将被执行以将数据写入并将数据读出第一层200。记录数据,例如数据记录210和/或会话记录212的高关注会话数据,被周期性地传递至更低层,例如第二和/或第三层202、204。模式分析块224针对模式分析记录数据,并且数据提取块226识别应该被保留在例如第四存储器层206中作为保留数据的具体数据对象。
[0068]在更低(第四)层代表诸如闪存存储器之类的相对更低的存储器的情况下,可以理解的是,高关注数据对象可被存档在存档在更低层中。数据压缩可被用来降低所存数据的占据空间。在将来当针对保留数据做出数据请求时,从第四层至第一层的数据的本地满足将远远快于从远程云网络请求并恢复所请求的数据。
[0069]根据需要,预取分析引擎222可监控对远程发送的用于存储的数据块的更新,并将其存储在第四层(或其它适当的更低层位置)中。可以理解的是,任意后续更新可淘汰掉现有保留数据组,由此保留数据的悬而未决可取决于更新被用户装置提供的程度。然而,高速缓存高关注数据的本地拷贝可降低对来自云网络的数据请求的需求。
[0070]云网络环境中出现的一个问题是数据不再都被本地存储,而是一些或全部数据将被远程地存储在云端。因此,在需要特定数据组时可能出现的问题在于,用户装置(通过处理器110)可自动地请求从远程云资源服务器转递数据,而不首先咨询本地存储器模块134。由此,在一些实施例中,存储器模块和本地请求者之间的相互作用建立以使得本地请求者将在经由云网络104发出不必要的数据请求之前确定数据是否本地地存储在存储器模块130中。
[0071]已经被存储器模块134保留的可用数据组的地图可被提供给负责节点I/O通信的处理器(或其它请求者),以使得针对这些块的请求没有在云端发出,无需首先具有本地服务的块。
[0072]在另外的其它情况下,存储器模块130可用于与处理器110独立地发出通信,并从云网络中的不同节点直接获取所请求的数据。优势在于存储器模块130可能能够通过当前模式分析或之前的会话数据结构分析来预测具体的数据块可能在不远的将来被要求,因此存储器模块130可操作来本地地(例如,从更低层)或远程地(例如,从云端)预取数据。适当编程可留在存储器模块130上以通过网络I/O电路116 (图2)启动和完成该处理。
[0073]图11是总体上示例出根据一些实施例执行的步骤的云网络计算例程250的流程图。图11的例程是表示每次诸如装置102之类的用户装置参与基于云的处理时执行的步骤的总例程。
[0074]在在步骤252启动本地装置102和云网络104之间的会话。在步骤254,从云端请求将数据传递至本地装置102。在步骤256接收数据并将其存储在本地存储器模块130的NV存储器中。该数据将构成工作数据210的一部分并且将被存储在上部层200中。
[0075]此后,在步骤258执行正常的数据传递。这可包括从云端请求其它数据以存储在存储器模块130上,从存储器模块130进行读取以输出数据已被本地地使用(例如,显示在⑶1114上等)或远程地使用(例如,在远程数据服务器108上)的请求,或其它数据处理。可以理解的是,图6-9的各种数据记录电路、会话记录电路和预取分析引擎在该步骤中将在后台操作。
[0076]会话随后在步骤260进行,并且在步骤262执行适当的后置会话处理,包括形成一个或多个会话历史序列表、识别会话数据对象(包括高关注数据对象的保留拷贝)以及形成数据预取命令脚本,它们都被存储在存储器模块130的更低层中。
[0077]图12描绘了可与图11的例程相结合地执行的数据更新和记录例程270。构成了工作数据210的一部分的输入数据被初始地存入上部的第一层,例如图5中的层200。在步骤274监控访问操作,包括读/写的频率和类型、存储属性等,如图6中讨论的那样。在步骤276,周期的数据记录,作为所有工作数据的一部分的拷贝,被周期性地传递至更低的第二层,例如图5的层202。根据需要,工作数据被转移至新位置以进一步解决耐用和持久性问题,如步骤278所示。
[0078]图13描绘了也可以与图11的例程相结合地执行的数据预取例程280。在步骤282检测会话。这可能包括检测初始数据I/O请求以及针对其它之前发生的会话匹配该请求的序列与一个或多个存储的命令历史表结构。
[0079]在步骤284,确定一个或多个预取脚本是否由之前的会话形成。如果判断是肯定的,则不久的将来将被请求的保留数据被本地地从更低层(例如第四层206,图5)转移至更高层(例如第一层200,图5),步骤286,而且通过云进行远程预取,步骤288。
[0080]通过在网络云环境上将存储和更新数据发送至本地非易失性存储器单元,数据更新可被录入,这有助于在电源损失(经由电源120的本地供电或与网络104的互连)的情况下促进数据完整性。而且,数据的预取(本地的或者经由云网络远程的)可提高启动和操作响应时间。
[0081]如上所述,在一些实施例中,云网络配置有多个节点,其中至少一个节点具有层式非易失性存储器。存储器存储数据传递和更新,并且支持实时数据保存和更快的数据传递。至少一个节点可以是与用于分层登录、传递和长期存储的多于一种类型存储器层叠的多个节点。数据的预测性预取可对应于数据访问和更新的追踪模式。
[0082]前面的描述中已经结合结构和功能细节阐述了本发明的各种实施例的大量特征和优势。但是,该详细描述仅仅是示例性的,可以在所附权利要求所表述的术语的最广义的意思所表示的本发明的原理内对细节做出改变,尤其是部件的结构和布置。
【权利要求】
1.一种方法,包括: 将数据更新接收至云网络上的多层存储器结构,并将接收的数据更新存储为存储器结构的上部可重写非易失性存储器层中的工作数据;以及 将工作数据录入存储器结构中的下部非易失性存储器层,上部和下部存储器层中的每个都包括具有不同结构和存储属性的可重写存储器单元。
2.根据权利要求1所述的方法,进一步包括将工作数据在上部存储器层中从第一位置转移至第二位置,并且将第一位置处的所有可重写存储器单元重置为已知的编程状态。
3.根据权利要求1所述的方法,其中录入数据更新包括对当前版本的工作数据进行快照,其中与数据更新的录入同时地,工作数据被转移至上部存储器层中的新位置。
4.根据权利要求1所述的方法,进一步包括产生在云计算会话期间对工作数据执行的访问操作的会话记录,并且将会话记录存储在存储器结构的下部存储器层中。
5.根据权利要求4所述的方法,其中会话记录包括命令历史表,其指示了按顺序排列的会话期间执行的读写操作以及每对连续的命令之间经过的时间间隔。
6.根据权利要求5所述的方法,其中会话记录还包括来自被指示为具有高层次关注的工作数据的数据块的至少一份拷贝,其中数据块的至少一份拷贝被存储为下部存储器层中的保留数据。
7.根据权利要求 1所述的方法,进一步包括分析一系列对工作数据的范围操作,并且启动预取命令脚本来在所述所选数据的未来请求的预期下推断地请求所选数据。
8.根据权利要求7所述的方法,其中针对所选数据的请求被发送至多层存储器结构的更低层。
9.根据权利要求7所述的方法,其中针对所选数据的请求被发送至云计算网络的远程节点。
10.一种设备,包括: 多层存储器结构,包括多个非易失性存储器层,其中每个非易失性存储器层具有不同数据转递属性和相应的可重写存储器单元结构和存储属性;以及 存储管理器,适用于存储在云网络上接收的数据更新作为存储器结构的上部非易失性存储器层的工作数据,并将工作数据录入存储器结构中的下部非易失性存储器层。
11.根据权利要求10所述的设备,其中存储管理器包括数据记录电路,其将工作数据记录在下部存储器层中,并同时执行垃圾收集操作以便将在上部存储器层中工作数据从第一位置转移至第二位置而且将第一位置处的所有可重写存储器单元重置为已知的编程状态。
12.根据权利要求10所述的设备,其中录入的数据更新包括对当前版本的工作数据的快照,其中快照被记录作为垃圾收集操作的一部分。
13.根据权利要求10所述的设备,其中存储管理器包括会话记录电路适用于产生在云计算会话期间对工作数据执行的访问操作的会话记录,并且将会话记录存储在存储器结构的下部存储器层中。
14.根据权利要求13所述的设备,其中会话记录包括命令历史表,其指示了按顺序排列的会话期间执行的读写操作以及每对连续的命令之间经过的时间间隔。
15.根据权利要求14所述的设备,其中会话记录还包括来自被指示为具有高层次关注的工作数据的数据块的至少一份拷贝,其中数据块的至少一份拷贝被存储为下部存储器层中的保留数据。
16.根据权利要求10所述的设备,其中存储管理器包括数据模式分析引擎,其适用于分析对工作数据的一系列访问操作并启动预取命令脚本以在所述所选数据的未来请求的预期下推断地请求所选数据。
17.根据权利要求16所述的设备,其中针对所选数据的请求被发送至多层存储器结构的更低层。
18.根据权利要求16所述的设备,其中针对所选数据的请求被发送至云计算网络中的远程节点。
19.根据权利要求16所述的设备,其中数据模式分析引擎在存储器结构的下部存储器层中存储预取命令脚本和来自之前被指示为具有高层次关注的工作数据的保留数据块,其中数据模式分析引擎检测之前会话的后续执行并启动预取命令脚本以便将保留数据块传递至上部存储器层并且请求来自云网络中的远程节点的其它预取数据块。
20.根据权利要求10所述的设备,其中上部存储器层包括从STRAM、PCRAM或RRAM可重写非易失性存储器单元中选择的一个,下部存储器层包括从STRAM、PCRAM或RRAM可重写非易失性存储器单元中选择的不同的一个。
【文档编号】G06F3/06GK104007937SQ201410065170
【公开日】2014年8月27日 申请日期:2014年2月25日 优先权日:2013年2月26日
【发明者】R·J·高斯, D·S·艾布森, M·A·盖尔特纳, M·J·斯坦纳, A·克利亚 申请人:希捷科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1