非易失性存储器系统中的同步镜像的制作方法_6

文档序号:9583641阅读:来源:国知局
网络的例子包括局域网(“LAN”)、广域网(“WAN”)和互联网。
[0236]计算系统能包括客户端和服务器。客户端和服务器通常相互远离并且通常通过通信网络交互。借助于在各个计算机上运行的且相互之间具有客户端-服务器关系的计算机程序,发生客户端和服务器的关联。
[0237]已经描述大量的实现方式。但是,将理解到可以在不背离本发明的精神和范围的情况下进行各种修改。例如,就消息传递和映射应用,已经描述了本公开内容的大部分内容,但也可以提出其他形式的图形应用,诸如交互式节目指南、网页导航和缩放以及其他这些应用。
[0238]此外,图中图示的逻辑流不要求所示的特定顺序,或按顺序来实现所需结果。此夕卜,也可以提供其他步骤,或可以从所述的流程删除步骤,以及可以从所述的系统添加或删除其他部件。因此,其他实施例在下述权利要求的范围内。
【主权项】
1.一种方法,包括: 接收第一数据以存储在第一不对称存储设备中,其中,不对称存储设备中读操作的延迟不同于写操作的延迟; 识别第一写入阶段作为当前写入阶段; 识别包括在所述第一不对称存储设备中的第一段作为可用于写入数据的下一段,其中,段包括不对称存储设备中的物理存储位置的逻辑映射并且与在单一操作中被擦除的物理存储位置的一部分有关; 把所述第一数据写入所述第一段,其中,所述第一数据被写入所述第一段中包括的下一可用于写入数据的第一存储块; 与把所述第一数据写入所述第一段中的下一可用存储块相关,存储与所述第一段和所述第一存储块有关的信息连同指示所述第一段和所述第一存储块在所述第一写入阶段被写入的信息; 接收第二数据以存储在所述不对称存储器中; 识别所述第一写入阶段已经完成并且所述第二写入阶段是当前写入阶段; 识别包括在所述第一不对称存储设备中的第二段作为可用于写入数据的下一段; 把所述第二数据写入所述第二段,其中,所述数据被写入所述第二段中包括的下一可用于写入数据的第二存储块;以及 与把所述第二数据写入所述第二段中的下一可用存储块相关,存储与所述第二段和所述第二存储块有关的信息连同指示所述第二段和所述第二存储块在所述第二写入阶段被写入的信息。2.如权利要求1所述的方法,包括: 从同步镜像模块接收关于最近被填充数据的段的信息的请求; 响应所述请求,确定第一写入阶段和所述写入阶段的哪一个已经完成以及哪一个是当前写入阶段; 基于确定所述第一写入阶段已经完成而且所述第二写入阶段是当前写入阶段,检索所存储的与所述第一段和所述第一存储块有关的信息;以及 向所述同步镜像模块发送与所述第一段和所述第一存储块有关的信息连同指示所述第一段和所述第一存储块在所述第一写入阶段被写入的信息。3.如权利要求2所述的方法,包括: 由所述同步镜像模块发送关于最近被填充数据的段的信息的第一查询; 响应所述第一查询,接收与所述第一段和所述第一存储块有关的信息; 向第二不对称存储设备发送与所述第一段和所述第一存储块有关的信息连同指示所述第一段和所述第一存储块在所述第一写入阶段被写入的信息,所述第二不对称存储设备被配置成与所述第一不对称存储设备类似地存储数据,并且通过网络连接被连接到所述第一不对称存储设备,其中,与所述第一段和所述第一存储块有关的信息被存储在所述第二不对称存储设备中,作为与被配置用于存储数据的存储位置不同的第一存储位置中的第一标记; 由所述同步镜像模块发送关于最近被填充数据的段的信息的第二查询,其中,在发送所述第一查询后,发送所述第二查询; 响应所述第一查询,接收与所述第二段和所述第二存储块有关的信息;以及 向所述第二不对称存储设备发送与所述第二段和所述第二存储块有关的信息连同指示所述第二段和所述第二存储块在所述第二写入阶段被写入的信息,其中,与所述第二段和所述第二存储块有关的信息被存储在所述第二不对称存储设备中,作为与被配置用于存储数据的存储位置不同的第二存储位置中的第二标记。4.如权利要求3所述的方法,其中,发送所述第一查询或所述第二查询包括: 由所述同步镜像模块确定是否已经达到用于查询关于最近被填充数据的段的信息的阈值;以及 基于确定已经达到阈值,发送所述第一查询或所述第二查询。5.如权利要求3所述的方法,其中,指示所述第一段和所述第一存储块在所述第一写入阶段被写入的信息连同所述第一标记一起存储在所述第二不对称存储设备中,以及指示所述第二段和所述第二存储块在所述第二写入阶段被写入的信息连同所述第二标记一起存储在所述第二不对称存储设备中。6.如权利要求3所述的方法,其中,从由随机存取存储器(RAM)和非易失性不对称存储器组成的组,选择所述第一存储位置和第二存储位置。7.如权利要求3所述的方法,包括: 在所述同步镜像模块处并且从所述第二不对称存储器,接收包括所述第一标记的副本的消息,所述消息指示所述第二不对称存储设备已经从故障恢复; 基于接收所述消息,发送关于最近被填充数据的段的信息的新查询; 响应所述新查询,接收与新段和新存储块有关的信息,其中,在所述第一写入阶段期间,写入所述新段; 把从所接收的第一标记的副本提取的与所述第一段和所述第一存储块有关的信息同与所述新段和所述新存储块有关的信息比较,当在所述第一写入阶段或所述第二写入阶段中写入数据时,执行所述比较; 基于所述比较,识别存储在所述第一不对称存储设备中但未存储在所述第二不对称存储设备中的数据;以及 把所识别的数据发送到所述第二不对称存储设备。8.如权利要求7所述的方法,其中,从所述第二不对称存储设备接收的所述第一标记的副本包括指示所述第一段和所述第一存储块在所述第一写入阶段被写入的信息,以及 其中,发送所述新查询包括发送关于在所述第一写入阶段中最近被填充数据的段的信息的新查询。9.如权利要求7所述的方法,其中,与写入所述第一段和所述第一存储块的数据相比,在较晚的时间把数据写入所述新段和所述新存储块,以及其中,识别存储在所述第一不对称存储设备中但未存储在所述第二不对称存储设备中的数据包括: 基于与所述第一段和所述第一存储块有关的信息同与所述新段和所述新存储块有关的信息的比较,识别自所述第一标记被发送到所述第二不对称存储设备以来并且在所述第二不对称存储设备接收所述第一标记的副本前,已经在所述第一不对称存储设备中写入的物理存储块; 使用与所述第一不对称存储设备有关的转换表,执行对应于所识别的物理存储块的所述第一不对称存储设备中的逻辑存储块的查找; 确定所述逻辑存储块是否保存有效数据;以及 基于所述逻辑存储块保存有效数据的确定,把所识别的物理存储块和相应的逻辑存储块发送到所述第二不对称存储设备。10.如权利要求9所述的方法,其中,物理存储块包括写入页,其中,在不对称存储设备中,所述转换表提供段和写入页与逻辑存储块的映射。11.如权利要求1所述的方法,其中,选择所述第一段和所述第二段中的一个或多个,用于在所述第一写入阶段和所述第二写入阶段中存储数据。12.如权利要求1所述的方法,其中,与所述第一段和所述第一存储块有关的信息包括与所述第一段有关的第一序号和与所述第一段中的第一块有关的第二序号,其中,所述第二序号是从所述第一段中的初始块的偏移量。13.如权利要求1所述的方法,其中,所述第一不对称存储设备和第二不对称存储设备的每一个包括基于闪存的系统。14.一种系统,包括: 处理器;以及 存储所述处理器可执行的指令的非瞬态机器可读介质,所述指令被配置成当被执行时使所述处理器执行下述操作: 接收第一数据以存储在第一不对称存储设备中,其中,不对称存储设备中读操作的延迟不同于写操作的延迟; 识别第一写入阶段作为当前写入阶段; 识别包括在所述第一不对称存储设备中的第一段作为可用于写入数据的下一段,其中,段包括不对称存储设备中的物理存储位置的逻辑映射并且与在单一操作中被擦除的物理存储位置的一部分有关; 把所述第一数据写入所述第一段,其中,所述第一数据被写入所述第一段中包括的下一可用于写入数据的第一存储块; 与把所述第一数据写入所述第一段中的下一可用存储块相关,存储与所述第一段和所述第一存储块有关的信息连同指示所述第一段和所述第一存储块在所述第一写入阶段被写入的信息; 接收第二数据以存储在所述不对称存储器中; 识别所述第一写入阶段已经完成并且所述第二写入阶段是当前写入阶段; 识别包括在所述第一不对称存储设备中的第二段作为可用于写入数据的下一段; 把所述第二数据写入所述第二段,其中,所述数据被写入所述第二段中包括的下一可用于写入数据的第二存储块;以及 与把所述第二数据写入所述第二段中的下一可用存储块相关,存储与所述第二段和所述第二存储块有关的信息连同指示所述第二段和所述第二存储块在所述第二写入阶段被写入的信息。15.如权利要求14所述的系统,包括被配置成使处理器执行包括下述的操作的指令: 从同步镜像模块接收关于最近被填充数据的段的信息的请求; 响应所述请求,确定第一写入阶段和所述写入阶段的哪一个已经完成以及哪一个是当前写入阶段; 基于确定所述第一写入阶段已经完成而且所述第二写入阶段是当前写入阶段,检索所存储的与所述第一段和所述第一存储块有关的信息;以及 向所述同步镜像模块发送与所述第一段和所述第一存储块有关的信息连同指示所述第一段和所述第一存储块在所述第一写入阶段被写入的信息。16.如权利要求15所述的系统,包括被配置成使处理器执行包括下述的操作的指令: 由所述同步镜像模块发送关于最近被填充数据的段的信息的第一查询; 响应所述第一查询,接收与所述第一段和所述第一存储块有关的信息; 向第二不对称存储设备发送与所述第一段和所述第一存储块有关的信息连同指示所述第一段和所述第一存储块在所述第一写入阶段被写入的信息,所述第二不对称存储设备被配置成与所述第一不对称存储设备类似地存储数据,并且通过网络连接被连接到所述第一不对称存储设备,其中,与所述第一段和所述第一存储块有关的信息被存储在所述第二不对称存储设备中,作为与被配置用于存储数据的存储位置不同的第一存储位置中的第一标记; 由所述同步镜像模块发送关于最近被填充数据的段的信息的第二查询,其中,在发送所述第一查询后,发送所述第二查询; 响应所述第一查询,接收与所述第二段和所述第二存储块有关的信息;以及向所述第二不对称存储设备发送与所述第二段和所述第二存储块有关的信息连同指示所述第二段和所述第二存储块在所述第二写入阶段被写入的信息,其中,与所述第二段和所述第二存储块有关的信息被存储在所述第二不对称存储设备中,作为与被配置用于存储数据的存储位置不同的第二存储位置中的第二标记。17.如权利要求15所述的系统,其中,指示所述第一段和所述第一存储块在所述第一写入阶段被写入的信息连同所述第一标记一起存储在所述第二不对称存储设备中,以及指示所述第二段和所述第二存储块在所述第二写入阶段被写入的信息连同所述第二标记一起存储在所述第二不对称存储设备中。18.如权利要求15所述的系统,被配置成使处理器执行包括下述的操作的指令: 在所述同步镜像模块处并且从所述第二不对称存储器,接收包括所述第一标记的副本的消息,所述消息指示所述第二不对称存储设备已经从故障恢复; 基于接收所述消息,发送关于最近被填充数据的段的信息的新查询; 响应所述新查询,接收与新段和新存储块有关的信息,其中,在所述第一写入阶段期间,写入所述新段; 把从所接收的第一标记的副本提取的与所述第一段和所述第一存储块有关的信息同与所述新段和所述新存储块有关的信息比较,当在所述第一写入阶段或所述第二写入阶段中写入数据时,执行所述比较; 基于所述比较,识别存储在所述第一不对称存储设备中但未存储在所述第二不对称存储设备中的数据;以及 把所识别的数据发送到所述第二不对称存储设备。19.如权利要求18所述的系统,其中,从所述第二不对称存储设备接收的所述第一标记的副本包括指示所述第一段和所述第一存储块在所述第一写入阶段被写入的信息,以及 其中,被配置成使所述处理器执行包括发送所述新查询的操作的指令包括被配置成使所述处理器执行包括如下操作的指令:发送关于在所述第一写入阶段中最近被填充数据的段的信息的新查询。20.如权利要求18所述的系统,其中,与写入所述第一段和所述第一存储块的数据相比,在较晚的时间,把数据写入所述新段和所述新存储块,以及其中,被配置成使处理器执行包括识别存储在所述第一不对称存储设备中但未存储在所述第二不对称存储设备中的数据的操作的指令包括被配置成使所述处理器执行包括下述的操作的指令: 基于与所述第一段和所述第一存储块有关的信息同与所述新段和所述新存储块有关的信息的比较,识别自所述第一标记被发送到所述第二不对称存储设备以来并且在从所述第二不对称存储设备接收所述第一标记的副本前,已经在所述第一不对称存储设备中写入的物理存储块; 使用与所述第一不对称存储设备有关的转换表,执行对应于所识别的物理存储块的所述第一不对称存储设备中的逻辑存储块的查找; 确定所述逻辑存储块是否保存有效数据;以及 基于所述逻辑存储块保存有效数据的确定,把所识别的物理存储块和相应的逻辑存储块发送到所述第二不对称存储设备。21.如权利要求20所述的系统,其中,物理存储块包括写入页,其中,在不对称存储设备中,所述转换表提供段和写入页与逻辑存储块的映射。22.如权利要求14所述的系统,其中,选择所述第一段和所述第二段中的一个或多个,用于在所述第一写入阶段和所述第二写入阶段中存储数据。23.如权利要求14所述的系统,其中,与所述第一段和所述第一存储块有关的信息包括与所述第一段有关的第一序号和与所述第一段中的第一块有关的第二序号,其中,所述第二序号是从所述第一段中的初始块的偏移量。24.—种方法,包括: 接收第一数据以存储在第一不对称存储设备中,其中,不对称存储设备中读操作的延迟不同于写操作的延迟; 识别包括在所述第一不对称存储设备中的第一段作为可用于写入数据的下一段,其中,所述第一段作为第一段组的一部分被写入,以及其中,段包括不对称存储设备中的物理存储位置的逻辑映射并且与在单一操作中被擦除的物理存储位置的一部分有关; 把所述第一数据写入所述第一段,其中,所述第一数据被写入所述第一段中包括的下一可用于写入数据的第一存储块; 与把所述第一数据写入所述第一段中的下一可用存储块相关,存储与所述第一段和所述第一存储块有关的信息; 接收第二数据以存储在所述不对称存储器中; 确定所述第一段被所述第一段中存储的数据充满; 基于所述第一段被充满的确定,选择所述第一不对称存储设备中的第二段组,其中,与所述第一段组交替地,把数据写入所述第二段组; 识别包括在所述第二段组中的第二段作为可用于写入数据的下一段; 把所述第二数据写入所述第二段,其中,所述数据被写入所述第二段中包括的下一可用于写入数据的第二存储块;以及 与把所述第二数据写入所述第二段中的下一可用存储块相关,存储与所述第二段和所述第二存储块有关的信息。25.如权利要求24所述的方法,包括: 从同步镜像模块接收关于最近被填充数据的段的信息的请求; 响应所述请求,确定所述第一段和所述第二段中的哪一个最近被填充数据; 基于所述第一段最近被填充数据的确定,检索所存储的与所述第一段和所述第一存储块有关的?目息;以及 把与所述第一段和所述第一存储块有关的信息发送到所述同步镜像模块。26.如权利要求25所述的方法,包括: 由所述同步镜像模块把所述第一数据和所述第二数据发送到第二不对称存储设备,其中,所述第二不对称存储设备被配置成与所述第一不对称存储设备类似地存储数据,以及其中,通过网络连接,所述第一不对称存储设备和所述第二不对称存储设备被连接; 由所述同步镜像模块确定是否已经达到用于查询有关最近被填充数据的段的信息的阈值;以及 基于确定已经达到阈值,发送关于最近被填充数据的段的信息的请求; 响应所述请求,接收与所述第一段和所述第一存储块有关的信息; 把与所述第一段和所述第一存储块有关的信息发送到第二不对称存储设备。27.如权利要求26所述的方法,其中,与所述第一段和所述第一存储块有关的信息被存储在所述第二不对称存储设备中,作为与被配置用于存储数据的存储位置不同的存储位置中的第一标记。28.如权利要求26所述的方法,包括: 在所述同步镜像模块处并且从所述第二不对称存储器接收包括所述第一标记的副本的消息,所述消息指示所述第二不对称存储设备已经从故障恢复; 基于接收所述消息,发送关于最近被填充数据的段的信息的新请求; 响应所述新请求,接收与新段和新存储块有关的信息,其中,所述新段包括在所述第一段组中; 把从所接收的第一标记的副本提取的与所述第一段和所述第一存储块有关的信息同与所述新段和所述新存储块有关的信息比较,当把数据写入包括在所述第二段组中的段时,执行所述比较; 基于所述比较,识别存储在所述第一不对称存储设备的第一段组中但未存储在所述第二不对称存储设备中的数据;以及 把所识别的数据发送到所述第二不对称存储设备。29.如权利要求28所述的方法,其中,与写入所述第一段和所述第一存储块的数据相比,在较晚的时间把数据写入所述新段和所述新存储块,以及其中,识别存储在所述第一不对称存储设备的第一段组中但未存储在所述第二不对称存储设备中的数据包括: 基于与所述第一段和所述第一存储块有关的信息同与所述新段和所述新存储块有关的信息的比较,识别自所述第一标记被发送到所述第二不对称存储设备以来并且在所述第二不对称存储设备接收所述第一标记的副本前,已经在所述第一不对称存储设备中写入的第一段组中包括的段中的存储块; 使用与所述第一不对称存储设备有关的转换表,执行对应于所识别的所述第一段组中的存储块的所述第一不对称存储设备中的物理存储块的查找; 确定所述物理存储位置是否保存有效数据;以及 从所述物理存储位置检索所述有效数据。30.如权利要求29所述的方法,其中,存储块包括写入页,其中,在不对称存储设备中,所述转换表提供段和写入页与物理存储位置的映射。31.如权利要求24所述的方法,其中,仅当包括在最近存储数据的第一段组中的段被充满时,才把数据存储在所述第二段组中包括的段中。32.如权利要求24所述的方法,其中,与所述第一段和所述第一存储块有关的信息包括与所述第一段有关的第一序号和与所述第一段中的第一块有关的第二序号,其中,所述第二序号是从所述第一段中的初始块的偏移量。
【专利摘要】接收第一数据以存储在第一不对称存储设备中。把第一写入阶段识别为当前写入阶段。包括在第一不对称存储设备中的第一段被识别为可用于写入数据的下一段。把第一数据写入第一段。存储与第一段有关的信息连同指示第一段在第一写入阶段被写入的信息。接收第二数据以存储在不对称存储器中。包括在第一不对称存储设备中的第二段被识别为可用于写入数据的下一段。把第二数据写入第二段。与存储与第二段和第二存储块有关的信息连同指示第二段在第二写入阶段被写入的信息。
【IPC分类】G06F12/02
【公开号】CN105339907
【申请号】CN201480022652
【发明人】维贾伊·卡拉姆切蒂, 希巴布拉塔·蒙达尔, 斯瓦米·高达
【申请人】威瑞登特系统公司
【公开日】2016年2月17日
【申请日】2014年3月13日
【公告号】CA2905355A1, EP2972889A1, US9135164, US20140281138, US20160004612, WO2014151986A1
当前第6页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1