用于一致读取等待时间的冗余数据存储的制作方法

文档序号:6480037阅读:137来源:国知局
专利名称:用于一致读取等待时间的冗余数据存储的制作方法
用于一致读取等待时间的冗余数据存储
背景技术
固态存储器是一种类型的、由很多计算机和电子装置用以进行数据存储的数字存储器。固态电路的封装通常给固态存储器提供比磁盘驱动器更高的耐久性和更低的功耗。 这些特性,与在增加固态存储器装置的存储容量方面做出的持续进步和固态存储器的相对廉价的成本相结合,已经对于将固态存储器用于大范围的应用做出贡献。在一些应用中, 例如,非易失固态存储器可以被用于替代磁性硬盘或者在处理器的存储器空间的区域中使用,当处理器断电时,所述区域保留它们的内容。在包括闪速存储器的大多数类型的非易失固态存储器中,写操作比读操作要求远远更大量的时间来完成。此外,由于在闪速存储器中的写操作的单向性质,数据通常仅仅被以大的块周期性地从闪速存储器擦除。这种类型的擦除操作比写操作要求甚至更多的时间
来完成。


附图示意在这里描述的原理的各种实施例并且是说明书的一个部分。所示意的实施例仅仅是示例并且不限制权利要求的范围。图IA是根据在这里描述的原理的一个示例性实施例的、具有一致读取等待时间的示意性存储器设备的图示。图IB是根据在这里描述的原理的一个示例性实施例的、在图IA的示意性存储器设备上执行的读和写操作的示意性时序的图示。图2是根据在这里描述的原理的一个示例性实施例的、具有一致读取等待时间的示意性存储器设备的图示。图3是根据在这里描述的原理的一个示例性实施例的、具有一致读取等待时间的示意性存储器设备的图示。图4是根据在这里描述的原理的一个示例性实施例的、在图3的示意性存储器设备上执行的读和写操作的示意性时序的图示。图5是根据在这里描述的原理的一个示例性实施例的、具有一致读取等待时间的示意性存储器设备的图示。图6是根据在这里描述的原理的一个示例性实施例的、具有一致读取等待时间的示意性存储器设备的图示。图7是根据在这里描述的原理的一个示例性实施例的、具有一致读取等待时间的示意性存储器设备的图示。图8是根据在这里描述的原理的一个示例性实施例的、具有一致读取等待时间的示意性数据存储系统的框图。图9A是根据在这里描述的原理的一个示例性实施例的、在存储器存储体的阵列中维持一致读取等待时间的示意性方法的流程图。图9B是根据在这里描述的原理的一个示例性实施例的、从存储器系统读取数据的示意性方法的流程图。在所有的附图中,相同的参考数字标识类似的但是并不一定相同的元件。
具体实施例方式如上所述,在某些类型的数字存储器中,包括但是不限于闪速存储器和其它非易失固态存储器,向存储器写数据所要求的时间量可能显著地比从存储器读数据所要求的时间量更长。而且,擦除操作可能要求比写操作或者读操作更长的时间量来完成。对于这些类型的存储器中的大多数而言,在相同存储器装置上,读操作不能与写或者擦除操作并发地发生,由此要求读操作被延迟,直至当前在该装置上执行的任何写或者擦除操作完成为止。因此,在这种存储器装置中,最坏情形的读取等待时间可能受在该装置上的擦除操作所要求的时间的支配。然而,在一些情形中,可能期望在存储于存储器装置中的数据的读取等待时间方面维持一致性,而与存储器装置是否正在经历写或者擦除操作无关。此外,还可能期望最小化在这种存储器装置中的读取等待时间。鉴于以上和其它目标,本说明书公开了具有基本一致的读取等待时间的数字存储的设备、系统和方法。具体地,本说明书公开了利用多个存储器存储体的设备、系统和方法, 该多个存储器存储体被配置为以冗余方式存储否则在它的主存储位置处的写或者擦除操作期间不可访问的数据。当主存储位置经历写或者擦除操作时,响应于对于数据的查询而从冗余存储读取该数据。如在本说明书中和在所附权利要求中使用的,术语“存储体(bank)”指的是物理、 可寻址存储器模块。例如,多个存储体可以被合并到单一存储器系统或者装置中并且被并行地访问。如在本说明书中和在所附权利要求中使用的,术语“读取等待时间”指的是在当在存储器存储体中查询地址时和当在该地址中存储的数据被提供给查询过程时之间逝去的时间量。如在本说明书中和在所附权利要求中使用的,术语“存储器系统”广泛地指的是任何数据存储和访问系统,其中可以通过一个或者多个外部过程将数据写入该系统和从该系统读取。存储器系统包括但是不限于处理器存储器、固态盘等。在以下说明中,为了解释的意图,阐述了许多具体细节从而提供对于本系统和方法的彻底的理解。然而,本领域技术人员将会清楚,可以在没有这些具体细节的情况下实践本系统和方法。在说明书中对于“实施例”、“示例”或者类似的语言的引用意味着结合该实施例或者示例描述的特定特征、结构或者特性被包括在至少该一个实施例中,但是并一定地被包括在其它实施例中。在说明书的各种位置中的短语“在一个实施例中”或者类似短语的各个实例不一定全部指代相同的实施例。现在将关于示意性的系统和示意性的方法讨论在这里所公开的原理。示意性的系统
现在参考图1A,示出了示意性存储器设备(100)。为了解释性的意图,将主要地关于闪速存储器描述本说明书的系统和方法。然而,将会理解,本说明书的系统和方法可以并且意欲在任何类型的数字存储器中利用,其中写操作或者擦除操作中的至少一个要求比读操作远远更大的时间量来完成。本系统和方法可以应用的、其它类型的数字存储器的示例包括但是不限于相变存储器(即PRAM)、UV擦除存储器、电可擦可编程只读存储器(EEPROM)和其它可编程非易失固态存储器类型。本示例示意本说明书原理的一个简单的应用。在存储器装置中的闪速存储器存储体(d0,m0)可以包括用作数据的主存储位置的主闪速存储体(d0)和以冗余方式存储在主闪速存储体(d0)中存储的数据的副本的镜像存储体(m0)。写或者擦除操作因此将要求主和镜像存储体(d0,m0)中的每一个被更新以在存储体(d0,m0)之间维持一致的数据镜像。在正在执行写或者擦除操作时,闪速存储器存储体对于外部读查询而言通常是不可访问的。然而,通过交错写或者擦除操作从而两个闪速存储器存储体(d0,m0)绝不并发地经历写或者擦除操作,主数据存储体(d0)或者镜像数据存储体(m0)中的至少一个可以用于对于在存储体(d0,m0)中存储的数据的外部读查询。在本示例中,示出在镜像闪速存储体 (m0)服务于读查询时新的数据正被写入主闪速存储体(d0)。相反,在镜像闪速存储体(m0) 正在经历写或者擦除操作时,主闪速存储体(d0)可以服务于外部读查询。在其中主闪速存储体(d0)和镜像闪速存储体(m0)这两者均可用于服务于读查询的某些实施例中,两个闪速存储体(d0,m0)均可以服务于查询。在可替代实施例中,在这种情况下,仅仅主闪速存储体(d0)可以服务于读查询以保持读取等待时间的一致性。然而, 在每一个可能的实施例中,在主和镜像闪速存储体(d0,m0)中存储的数据的最大读取等待时间可以大致相当于两个闪速存储体(d0,m0)中的较慢的一个(如果存在的话)的读取等待时间。现在参考图1B,示出在闪速存储体(d0,m0)中的读和写操作的示意性时序(150)。 因为写入主闪速存储体(d0)的数据还必须被写入镜像闪速存储体(m0)以保持数据的镜像,所以完整的写循环(巧5)可以包括首先到主闪速存储体(d0)并且然后到镜像闪速存储体(m0)的双重数据的交错写入。因此,到图IA的存储器设备(100)的完整的写循环(155) 可以要求是到单一闪速存储体(d0,m0)的写循环将要求的时间量的两倍的时间量来完成。然而,如在图IB中所示,可以在整个写循环(155)期间不断地读取在存储体(d0, m0)中存储的数据。哪一个闪速存储体(d0,m0)向查询读过程提供数据可以依赖于闪速存储体(d0,m0)中的哪一个当前正在经历写操作。数据源可以与(一个或者多个)查询读过程不相关,但是作为平衡在闪速存储体(d0,m0)之间的读查询服务可以实际上对于(一个或者多个)查询过程而言不可见。如将在下面更加详细地描述地,可以在结合具有这个性质的冗余闪速存储器的存储器装置中使用读取复用器以根据闪速存储体(d0,m0)是否正在经历擦除或者写循环(155)以及在擦除或者写循环(155)中在其接收到读查询的阶段而将数据读查询引导到适当的数据源。现在参考图2,示出存储器设备(200)的另一示意性实施例。非常类似上述设备 (100,图1A),本存储器设备(200)采用数据镜像来在数据存储中提供冗余以对于采用存储器存储体(d0到d3,m0到m3)的闪速存储器装置实现一致的读取等待时间。在本示例中,在图1A-1B中描述的镜像原理被从单一组的冗余闪速存储体扩展到多个冗余闪速存储体(d0到d3,m0到m3)。在本示例中存在多个主闪速存储体(d0到d3), 并且主闪速存储体(d0到d3)中的每一个均与被配置为与它的对应的主闪速存储体(d0到 d3)存储相同的数据的镜像闪速存储体(分别为m0到m3)配对。类似于在前描述的存储器设备(100,图1A),到任何主闪速存储体(d2)的写操作与到它的对应的镜像闪速存储体(m2) 的写操作交错从而在每一组主闪速存储体(d0到d3)和对应的镜像闪速存储体(m0到m3) 中的至少一个闪速存储体(d0到d3,m0到m3)在任何给定时间可用于读过程。因此,在闪速存储体(d0到d3,m0到m3)中存储的全部数据在任何时间可以用于外部读查询,而与是否正在闪速存储体(d0到d3,m0到m3)上执行一个或者多个写过程无关。在某些实施例中,特别地在其中多个闪速存储体(d0到d3,m0到m3)被配置为同时被读取以提供单个数据字的那些实施例中,写缓冲器可以被与闪速存储体(d0到d3,m0 到m3)合并。写缓冲器可以存储当前正在被写入或者尚待写入闪速存储体(d0到d3,m0到 m3)的用于写操作的数据。以此方式,能够向外部读过程提供最当前的数据。写缓冲器可以与在本说明书中描述的任何示例性实施例一起使用,并且将在下面更加详细地描述这种写缓冲器的操作。本示例示意成一组的四个主闪速存储体(d0到d3)和四个对应的镜像闪速存储体 (m0到m3)。然而,应该理解,如可以最好地适合于特定应用的,根据在这里描述的原理可以使用任何适当数目的闪速存储体(d0到d3,m0到m3)来创建冗余数据存储。现在参考图3,示出另一示意性存储器设备(300)。在本示例中,四个主闪速存储体(d0到d3)用作主数据存储。类似以前的示例,在本示例中的数据可以被以冗余方式存储从而即使在主闪速存储体(d0到d3)之一正被写入或者擦除的情形中也提供一致的数据读取等待时间。然而,不象以前的示例,本存储器设备(300)并不通过将每一个主闪速存储体(d0 到d3)中存储的数据复制在对应的镜像闪速存储体中而提供数据冗余。相反,本示例合并了可以存储用于在主闪速存储体(d0到d3)中存储的数据的奇偶校验数据的奇偶校验闪速存储体(P)。在奇偶校验闪速存储体(P)中存储的奇偶校验数据可以与从主闪速存储体(d0 到d3)中的任何三个主闪速存储体在给定地址处读取的数据相结合地使用以确定在剩余的主闪速存储体(d0到d3)中存储的数据而不实际上在剩余的主闪速存储体(d0到d3)上执行读操作。例如,如在图3中所示,可以使用数据条带化(striping)来将分段数据分布在主闪速存储体(d0到d3)上从而同时地并且与主闪速存储体(d0到d3)中的每一个的对应地址并行地执行读操作以检索所请求的数据。所请求的数据片段被从主闪速存储体(d0到 d3)中的每一个并行地接收并且被组合以向查询过程呈现完整的请求数据。然而,如果主闪速存储体(d0到d3)中的一个(d2)正在经历写操作,则在写操作期间,该主闪速存储体 (d2)可能不可用于执行读操作。然而,为了维持在主闪速存储体(d0到d3)中存储的分段数据的读取等待时间的一致性,可以使用从剩余的主闪速存储体(d0,dl,d3)检索的数据片段和从奇偶校验闪速存储体(P)中的对应地址检索的奇偶校验数据重构主要存储在主闪速存储体(d2)中的请求的数据片段。这个重构可以是例如由重构模块(305)执行的,重构模块(305)具有逻辑门,所述逻辑门被配置为在从可访问的闪速存储体(do,dl,d3)接收的数据部分上执行异或(EM)R) 位操作以产生在被占用的主闪速存储体(d2)中存储的数据片段。重构模块(305)的输出然后可以替代被占用的主闪速存储体(d2)的输出,由此向外部读过程提供所请求的完整数据。如将在下面更加详细描述的,这个替代可以由读取复用器(未示出)执行。
在本示例中,如果要向外部读过程提供完整数据,一次仅仅其中一个主闪速存储体(d0到d3)可以经历写或者擦除操作。可替代地,多个奇偶校验闪速存储体(ρ)可以使得能够在主闪速存储体(d0到d3)间进行并行的写或者擦除过程。现在参考图4,示出在图3的主闪速存储体(d0到d3)和奇偶校验存储体(ρ)中的读和写操作的示意性时序(400)。因为在本示例中一次仅仅能够向闪速存储体(d0到d3,p) 之一写入数据或者从闪速存储体(d0到d3,ρ)之一擦除数据,所以到主和奇偶校验闪速存储体(d0到d3,p)中的每一个的写操作是交错的。因此在主闪速存储体(d0到d3)中存储的任何数据在任何时间可以被用于外部读过程,而与闪速存储体之一是否正经历写或者擦除操作无关。这是因为外部读过程查询的任何条带化数据可以从所示五个闪速存储体(do 到d3,ρ)中的任何四个复原。如在图4中所示,存储在暂时不可访问的主闪速存储体(dl) 中的分段数据可以从存储在剩余的可访问的主闪速存储体(d0,d2,d3)和可访问的奇偶校验闪速存储体(P)中的对应数据重构。现在参考图5,示出另一个示意性的存储器设备(500)。类似于图3-4的示例,本示例采用在多个主闪速存储体(d0到d3)上的分段数据条带化分布。与以前示例的与主闪速存储体(d0到d3)相结合地使用单一奇偶校验闪速存储体(ρ)相对照,本示例与主闪速存储体(d0到d3)相结合地利用两个奇偶校验闪速存储体(p0,pi)来实现数据冗余。奇偶校验闪速存储体中的第一奇偶校验闪速存储体(p0)存储对应于在前两个主闪速存储体(d0,dl)中的分段数据的奇偶校验数据,并且第二奇偶校验闪速存储体(Pl)存储对应于在剩余的两个主闪速存储体(d2,d3)中的条带化数据的奇偶校验数据。第一和第二重构模块(505,510)被配置为分别地从第一奇偶校验闪速存储体(p0)和第二奇偶校验闪速存储体(Pl)重构主闪速存储体数据。通过利用多个奇偶校验闪速存储体(P0,pl),由于写或者擦除操作仅仅需要分别地在第一组闪速存储体(d0,dl, p0)和第二组闪速存储体 (d2,d3,pl)之间交错的事实,可以增加闪速存储器存储体(d0到d3,p0,pl)的写带宽。这个性质允许每一组支持在它的闪速存储体(d0到d3,p0,pl)之一中的并发的写或者擦除过程,同时仍然使得在主闪速存储体(d0到d3)中存储的全部数据可用于外部读过程。在本示例中,在第一组中的主闪速存储体(dl)被示为正在经历写操作,与之并发的是在第二组中的主闪速存储体(d2)也在经历写操作。响应于外部读过程,重构模块 (505,510)使用在奇偶校验闪速存储体(p0,pl,分别地)中存储的奇偶校验数据以及来自可访问的主闪速存储体(d0,d3,分别地)的数据来复原在不可访问的闪速存储体(dl,d2)中存储的数据并且与来自可访问的闪速存储体(dl,d2)的数据一起将该数据提供给外部读过程。现在参考图6,示出另一个示意性的存储器设备(600)。类似于图5的示例,本示例通过在主闪速存储体(d0到d3)上的数据条带化分布连同两个奇偶校验闪速存储体(p0, Pl) 一起来实现在主闪速存储体(d0到d3)中存储的数据的冗余。与结合单独的两组主闪速存储体(d0到d3)使用两个奇偶校验闪速存储体(p0, Pl)的、以前的示意性存储器设备(500,图5)相对照,本示例的奇偶校验闪速存储体(p0, Pl)为所有的主闪速存储体(d0到d3)存储双重奇偶校验数据。换言之,奇偶校验闪速存储体(p0,pl)使用镜像从而奇偶校验闪速存储体(p0,pl)之一总是可用于向重构模块(505) 提供奇偶校验数据。
现在参考图7,示出另一个示意性的存储器设备(700)。在本示例中,提供了实施为动态随机存取存储器(DRAM)模块(705)的写缓冲器,以实现在主闪速存储器存储体(d0 到d7)中存储的数据的冗余。DRAM模块(705)可以被配置为对存储在任何或者所有的主闪速存储器存储体(d0到d7)中的数据进行镜像化从而由于写或者擦除操作而不可访问的任何闪速存储器存储体(d0到d7)存储的数据可以由DRAM模块(705)提供。在其它实施例中,主闪速存储器存储体(d0到d7)可以被配置为存储条带化数据,其中DRAM模块(705)被配置为存储用于闪速存储器存储体(d0到d7)的奇偶校验数据,如在上面关于以前的实施例描述的。另外地或者可替代地,一个或者多个写缓冲器(例如DRAM模块(705))可以用于存储将在交错的写操作中被写入主闪速存储器存储体(d0到d7)的数据。现在参考图8,示出具有一致读取等待时间的示意性存储器系统(800)的框图。例如,可以在例如双列直插存储器模块(DIMM)上,或者根据可以适合于在这里描述的原理的特定应用的任何其它协议和封装实现示意性的存储器系统(800)。示意性数据存储系统(800)包括以类似于先前在图3中描述的分段数据条带化/ 奇偶校验冗余配置布置的多个NOR闪速存储器存储体(d0到d7,p)。可替代地,可以使用与如在这里描述的用于一致读取等待时间的数据冗余原理相符合的、闪速存储器存储体(d0 到d7,ρ)的任何其它适当的配置。每一个闪速存储器存储体可以被以通信方式耦合到管理模块(805),管理模块 (805)包括读取复用器(810)、写缓冲器(815)、奇偶校验产生模块(820)、重构模块(825)和控制电路(830)。系统(800)可以通过用作地址端口(8;35)、控制端口(840)和数据端口(845)的输入/输出(i/o)插脚与外部过程交互。在某些实施例中,多位地址和数据端口(835,845)可以是并行数据端口。可替代地,地址和数据端口(835,845)可以串行地输送数据。控制电路(830)可以包括协调系统(800)中的其它构件的功能和活动的微控制器或者其它类型的处理器或者处理元件。外部过程可以通过以下方式向存储器系统(800)的特定地址写数据在地址端口 (835)处提供该地址、在控制端口(840)处将控制位设置为1,以及在数据端口(845)处提供将被写入的数据。在下一时钟周期,管理模块(805)中的控制电路(830)可以确定在控制端口( 840)处的控制位已经被设为1,将地址端口处的地址存储在控制电路(830)的寄存器中,并且将数据写入临时写缓冲器(815)。临时写缓冲器(815)在同步操作中可以是有用的,因为闪速存储体(d0到d7,p)可能要求交错的写入以维持一致读取等待时间。写缓冲器(815)可以包括DRAM或者另一种类型的同步存储器以允许数据得以从外部过程同步地接收并且符合DIMM协议。控制电路(830)然后可以通过将写缓冲器(815)中的数据解析成片段并且根据数据的地址和特定应用的分段细节将每一个片段分配到闪速存储体(d0到d7)之一而根据交错写入要求将在临时写缓冲器(815)中存储的数据写入闪速存储体(d0到d7,ρ)。奇偶校验产生模块(820)可以利用对应于在主闪速存储体(d0到d7)中新写入的数据的、新的奇偶校验数据更新奇偶校验闪速存储体(P)。类似地,通过在控制端口(840)处的控制位被设为0的情况下向管理模块(805) 提供在地址端口(835)处的正被查询的数据的地址,外部过程可以读取数据。在管理模块(805)中的控制电路(830)可以接收该地址并且根据该控制位确定正在从外部过程请求读取。控制电路(830)然后可以查询闪速存储器存储体(d0到d7)的、存储在由外部过程请求的地址处的数据片段的部分。如果控制电路(830)确定由外部过程请求的地址当前正被写入或者被安排为要写入,则控制电路(830)可以查询写缓冲器(815)并且直接从写缓冲器 (815)向外部过程提供请求数据。然而,如果数据不在写缓冲器(815)中,但是虽然如此正在进行交错的写或者擦除过程以向闪速存储器存储体(d0到d7,ρ)写入数据,则控制电路 (830)可以使用重构模块(825)来使用来自可访问的主闪速存储体(d0到d7)和奇偶校验闪速存储体(P)的数据重构所请求的数据。控制电路(830)还可以向读取复用器(810)提供控制信号从而读取复用器(810)利用重构模块(825)的输出替代不可访问的闪速存储体 (d0到d7)的输出。读取复用器(810)可以与在本技术领域中已知的复用原理一致,并且采用多个逻辑门来执行这项任务。示意性的方法
现在参考图9A,示出在存储器存储体的阵列中维持一致读取等待时间的示意性方法 (900)的流程图。可以例如在管理模块(805)的控制下在类似以上参考图8所述的系统的存储器系统(800,图8)中执行方法(900),在所述系统中用于数据的至少一个主存储位置要求比读操作更多的时间来执行写或者擦除操作。该方法包括接收(步骤910)对于数据的查询。可以从外部过程接收对于数据的查询。然后可以评估(决定915)用于所请求的数据的至少一个主存储位置当前是否正在经历写或者擦除操作。如果是这样,则替代该主存储位置而从冗余存储读取(步骤930)请求的数据的至少一部分。在所讨论的数据的主存储位置当前不正在经历写或者擦除操作的情形中,从主存储位置读取(步骤925)该数据。最终,数据被提供(步骤935)给查询过程。现在参考图9B,示出从存储器系统读取数据的示意性方法(950)的流程图。例如也可以在管理模块(805)的控制下在类似以上参考图8所述的系统的存储器系统(800,图 8)中执行该方法(950)以在存储器系统(800,图8)中维持基本一致的读取等待时间。方法(950)可以包括在存储器系统的地址端口处提供(955)正被查询的数据的地址。然后可以确定(决定960)对应于所供给的地址的请求数据是否当前正被存储在写缓冲器中(例如,在读取时,请求数据处于正被写入存储器系统中的其对应的存储器存储体的过程中)。如果是这样,则可以简单地从写缓冲器读取(步骤965)请求数据并且将其提供(步骤990)给请求过程。如果对应于由外部过程提供的地址的数据被确定(决定960)为不在写缓冲器中, 则可以确定(决定970)是否正在存储请求数据的存储器存储体中的至少一个上执行写或者擦除过程。在不正在存储请求数据的存储器存储体中的至少一个上执行写或者擦除过程的情形下,存储请求数据的所有的存储器存储体可以是可使用的,从而直接从存储器的主存储位置读取(步骤985)数据并且将其提供(步骤990)给请求过程。在写或者擦除过程正在存储请求数据的至少一个存储体上执行的情形中,可以从任何可用的存储器存储体读取(975)数据片段并且可以使用存储在别处的奇偶校验数据重构(步骤980)剩余的(一个或者多个)数据片段。在重构之后,然后可以在基本类似于在直接从主存储器存储体读取请求数据之后提供请求数据的读取等待时间的读取等待时间下将数据提供(步骤990)给请求过程。
已经仅仅为了示意并且描述所述原理的实施例和示例而给出了前面的说明。该说明并非旨在是穷举性的或者将这些原理限制为所公开的任何精确的形式。根据以上教导, 很多修改和变化是可能的。
权利要求
1.一种存储器设备(100,200,300,500,600,700),包括多个存储器存储体(d0到d7,m0到m3,p,p0,pl),其中到所述存储器存储体(d0到d7, m0到m3, p,p0, pi)的写或者擦除操作远远慢于到所述存储体(d0到d7,m0到m3, ρ, ρ0, Pi)的读操作;并且其中所述存储器设备(100,200,300,500,600, 700)被配置为当用于数据的在所述存储体(d0到d7,m0到m3,ρ, p0, pi)中的主存储位置正在经历写操作和擦除操作中的至少一个时,响应于对于所述数据的查询,读取所述数据的冗余存储而不是所述主存储位置,对于存储在所述多个存储器存储体(d0到d7,m0到m3,p,p0,pi)中的数据,所述存储器设备 (100,200,300,500,600, 700)包括基本一致的读取等待时间。
2.根据权利要求1的存储器设备(100,200,300,500,600,700),其中所述存储器存储体(d0到d7,m0到m3, ρ, p0, pi)包括闪速存储器。
3.根据权利要求1的存储器设备(100,200,300,500,600,700),其中所述基本一致的读取等待时间远远小于所述存储器存储体(do到d7,m0到m3,ρ, p0, pi)中的所述主存储位置的写等待时间和擦除等待时间中的至少一个。
4.根据权利要求1的存储器设备(100,200,300,500,600,700),进一步包括读取复用器(810),所述读取复用器被配置为在所述主存储位置正在经历所述写操作或者所述擦除操作的情形中,用来自所述数据的冗余存储的所述数据替代来自所述主存储位置的所述数据。
5.根据权利要求1的存储器设备(100,200,300,500,600,700),其中所述数据的冗余存储包括与所述主存储位置分离的存储器存储体(m0到m3),其中所述冗余存储器存储体 (p,p0,01)被配置为对存储在所述主存储位置中的数据进行镜像化。
6.根据权利要求1的存储器设备(100,200,300,500,600,700),其中所述请求数据分布在多个所述存储器存储体(d0到d7,m0到m3, ρ, p0, pi)中。
7.根据权利要求6的存储器设备(100,200,300,500,600,700),其中所述数据的冗余存储包括奇偶校验数据,根据所述奇偶校验数据,使用分布在所述多个所述存储器存储体 CdO到d7,m0到m3,p,p0,pi)中的所述数据的部分导出所述请求数据。
8.一种在存储器存储体(d0到d7,m0到m3,ρ, p0, pi)的阵列中维持基本一致的读取等待时间的方法(900),包括响应于对于数据的查询,确定(915)在所述存储器存储体(d0到d7,m0到m3,p,p0,pl) 中用于所述数据的主存储位置当前是否正在经历写操作和擦除操作中的至少一个;和如果用于所述数据的所述主存储位置当前正在经历写操作和擦除操作中的至少一个, 则从冗余存储而不是所述主存储位置读取所述数据。
9.根据权利要求8的方法(900),其中所述数据分布在所述多个所述存储器存储体中的单独存储器存储体(d0到d7,m0到m3,p,p0,pi)中,并且所述从所述冗余存储读取所述数据包括根据所述数据的分布部分和奇偶校验数据重构所述数据。
10.根据权利要求9的方法(900),进一步包括向读取复用器(810)提供控制信号从而所述读取复用器(810)使用来自所述冗余存储的所述数据替代从所述存储器存储体(d0到 d7,m0到m3,p,p0,pi)中的至少一个读取的数据。
11.根据权利要求8的方法(900),进一步包括,响应于确定所述数据被存储在临时写缓冲器中,直接从所述临时写缓冲器读取所述数据。
12.根据权利要求8的方法(900),其中所述查询包括在所述的地址端口处提供的地址。
13.一种数据存储系统(800),包括多个存储器存储体(d0到d7,m0到m3,p,p0,pl),其中到所述存储器存储体(d0到d7, m0到m3,p,p0,pi)的写或者擦除操作远远慢于到所述存储器存储体的读操作;和读取复用器(810),所述读取复用器被配置为响应于确定用于请求数据的在所述存储器存储体(d0到d7,m0到m3,ρ, p0, pi)中的主存储位置正在经历写操作和擦除操作中的至少一个,从冗余存储读取所述请求数据。
14.根据权利要求13的数据存储系统(800),进一步包括重构模块(305,505,510, 825),所述重构模块被配置为根据遍布所述多个存储器存储体(d0到d7,m0到m3,p,p0,pl) 分布的分段数据和所存储的奇偶校验数据重构在所述主存储位置中存储的所述数据。
15.根据权利要求13的数据存储系统(800),进一步包括写缓冲器(815),所述写缓冲器被配置为从外部过程同步地接收写数据并且存储所述写数据,同时交错的写过程将所述写数据写入所述多个存储器存储体(d0到d7,m0到m3,ρ, p0, pi)。
全文摘要
一种存储器设备(100,200,300,500,600,700)具有多个存储器存储体(d0到d7,m0到m3,p,p0,p1),其中到存储器存储体(d0到d7,m0到m3,p,p0,p1)的写或者擦除操作远远慢于到存储体(d0到d7,m0到m3,p,p0,p1)的读操作。存储器设备(100,200,300,500,600,700)被配置为当用于数据的在存储器存储体(d0到d7,m0到m3,p,p0,p1)中的主存储位置正在经历写操作和擦除操作中的至少一个时,响应于对于该数据的查询,读取该数据的冗余存储而不是所述主存储位置或者重构请求数据。
文档编号G06F13/00GK102257482SQ200880132413
公开日2011年11月23日 申请日期2008年12月19日 优先权日2008年12月19日
发明者小阿戈洛德奥利维拉迪亚斯 E., 麦克拉伦 M., 法拉博希 P. 申请人:惠普开发有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1