具有闪速缓存部分的闪速存储器装置及其使用方法

文档序号:6781157阅读:144来源:国知局
专利名称:具有闪速缓存部分的闪速存储器装置及其使用方法
技术领域
本发明涉及一种闪速存储器装置和一种使用这种闪速存储器装 置的方法。
背景技术
闪速存储器是普遍使用的存储器。闪速存储器是一种非易失性 存储器,这意味着这种存储器不需要电源来保存存储在其中的数据。
闪速存储器包括块;每个块的大小一般是128K字节。块包括页,每 页的大小一般是2K字节。可为闪速存储器编制程序,或者仅仅像其 他的存储器一样,以随机存取方式一次读取一页,而擦除必须是每次 一个块。因此,为了对块内容进行即使是很小的改变,整个块都需要 被重写,这会造成时间开销。随着每一代新闪速存储器的出现,块大 小有增大的趋势,并且随着块大小的增大,时间开销也将增加。而且, 闪速存储器会磨损,即在闪速存储器的每个块的可靠性开始降低之 前,只能对块进行预定次数的擦除和重写。存储器面临的另一个普遍 的问题是微处理器和存储器之间的速度不匹配的问题。这种速度不匹 配将阻塞微处理器。这个问题也是闪速存储器所面临的问题。
因此,希望提供一种存储器系统,该存储器系统具有所有非易 失性存储器的所有优点,并且没有上述及其他的局限性。

发明内容
为此,本发明提供一种装置,其包括闪速存储器和控制器, 所述闪速存储器具有临时存储部分和主存储部分,所述控制器有选择 地访问主存储部分和临时存储部分或者它们的组合,并且用来在临时 存储部分中对数据和地址进行缓冲,其中地址表示被缓冲的数据在主 存储部分中的目的地址。本发明的这个方面提供了用于临时存储数据的非易失性临时存 储部分。临时存储部分远远小于主存储部分,通常主存储部分为512M
字节或更大,而临时存储部分可为1M字节的数量级。不管数据在主
存储部分中的最终目的地址如何,数据都被顺序地存储在临时存储部 分中。因此,写入临时存储部分比写入主存储部分需要更少的时间开 销。而且,与没有临时存储部分的闪速存储器相比,在闪速存储器内 提供临时存储部分将使闪速存储器速度更快。要写入主存储部分中的 数据可以连同该数据的对应地址一起缓冲到临时存储部分中。被缓冲 的地址可以是直接表示被缓冲的数据在主存储部分中的目的地址的 物理地址。作为选择,被缓冲的地址可以是间接地表示被缓冲的数据 在主存储部分中的目的地址的逻辑地址。通过査询表,可将逻辑地址 映射到物理地址。根据逻辑或物理地址,可以在临时存储部分和主存 储部分之间传输数据。通常,控制器接收一个数据包地址以及跟随该 数据包的多个数据包,因此,对于每个跟随数据包,控制器通过将在 先数据包的地址加"1"来产生跟随数据包的地址。然后,数据包依 照它们的地址被顺序地存储在临时存储部分或主存储部分中。然而, 根据这个方面,控制器可接收到多个地址,每个地址都对应于一个数 据包,在这种情况下,数据包仍被顺序地存储在临时存储部分中,但 是可以不必顺序地存储在主存储部分中。当临时存储部分已满或访问 被终止时,或者控制器一旦接收到请求,就可将被缓冲的数据转移到 主存储部分。将数据包以在主存储部分中的目的地址的顺序从临时存 储部分转移到主存储部分,如果临时存储部分中的不同数据包要被存 储在主存储部分中的同一个块内,则这种方式可以满足只擦除该块一 次的需要。如果在每次请求之后,数据被直接写入主存储部分,则不 得不多次擦除该块。因此,在主存储部分中写入数据所需的数据移动 大大减少了,使得存储器的寿命和访问速度增加。
应该注意,US专利6,026,027公开了一种具有高速缓存的闪速 存储器。这种存储器使用了静态随机存储器(SRAM)作为高速缓存。 在根据本发明的装置中,将闪速存储器本身的一部分用来对在闪速存 储器的另一部分中存储的数据进行缓冲。由于在闪速存储器中两次写入被缓冲的数据,所以初看起来,这种措施看起来加速了闪速存储器 的磨损。但是,令人惊讶的是,以此方式能降低存储器的磨损,并且 能提高存储器的总平均写入速度。
根据该装置的一个方面,可将控制器编制程序来用于直接在存 储部分中存储数据。当需要存储的数据流至少具有预定数量数据包 时,直接在主存储部分中存储数据是有利的。例如,所述预定数量与 能在预定数量的位置上存储的多个数据包相对应。根据一个示例,位
置的预定数量可以是主存储部分中的4页。数量"4页"是一个示范
性的数量,这个数量可以根据用来访问存储器的文件系统或用来存储 数据的文件类型、或者根据设计存储器所针对的应用而发生变化。而 且,当需要在主存储部分的互相连续的位置上存储数据流时,将数据 直接存储在主存储部分中是有利的,所述的数据流具有多个数据包, 并且这个数量大于或等于预定数量。
根据另一实施例,控制器被配置成接收用于闪速存储器的数据, 和/或从闪速存储器输出数据。根据这个方面,控制器检查临时存储 部分中是否存在读操作想要的数据。由此,控制器从临时存储部分或 从主存储部分输出读操作想要的数据。而且,这个方面允许控制器接 收数据以将其存储到存储器中,并且允许在存储器的主存储部分中存 储该数据,或允许在存储器的临时存储部分中顺序地存储该数据。
根据本发明的实施例,控制器被配置成在使已经存储在主存储 部分中的数据的移动最少的同时,能在临时存储部分和主存储部分之 间进行自适应数据传输。可为控制器编制程序,使其自适应地改变地 址的映射,以保证在主存储部分和临时存储部分之间传输数据的同 时,使已经存储在主存储部分中的数据的移动最少。这种编程使得存 储器的主存储部分的擦除操作的数量最小,因此使存储器磨损最小。 根据一个自适应改变映射的示例,控制器可识别出主存储部分中使用 次数最少的块,并且在根据存储器的临时存储部分来改变映射之后, 使用这个识别出的块来存储主存储部分中一个块的内容。根据另一方 面,控制器可被配置成判断临时存储部分是否包括在主存储部分中具 有相同目的地址的多个数据项,并且如果发现多个这种数据项,则选取所述多个数据项中的最新的数据项来存储在主存储部分中。这个方 面避免了不必要的擦除操作,因此使已经存储在主存储部分中的数据 的移动最少并增加了存储器的寿命。
根据另一实施例,本发明提供了一种在闪速存储器装置中存储 数据的方法,该方法包括具有以下步骤的间接存储模式接收数据; 在所述闪速存储器装置中的临时存储部分中对该数据以及地址进行 缓冲,所述地址表示被缓冲的数据在主存储部分中的目的地址;以及 将该数据转移到主存储部分中的由所述地址表示的目的地址上。该方 法的这个方面允许数据在闪速存储器的临时存储部分中进行缓冲。
根据一个实施例,该方法还包括具有以下步骤的直接存储模式 接收数据流,并且在主存储部分中直接存储数据流,如果数据流至少 具有用来存储在主存储部分的多个连续位置上的预定数量的数据包, 则执行直接存储模式,否则执行间接存储模式。如果数据流至少具有 用于存储在主存储部分的一个块上的预定数量的数据包,则执行直接 存储模式。如果要被存储的数据流足够长并且延及多个扇区,则本发 明的这个方面阻止了对数据流的缓冲,从而允许了更有效地使用存储 器资源。例如,预定数量与能在预定数量的位置上存储的多个数据包相 对应。根据一个示例,位置的预定数量可以是主存储部分中的4页。 数量"4页"是一个示范性的数量,根据用于访问存储器的文件系统 或用于存储数据的文件类型,或者根据设计存储器所针对的应用,这 个数量可以发生变化。
根据一个实施例,该方法还提供了以下步骤在使己经存储在
主存储部分中的数据的移动最少的同时,在临时存储部分和主存储部
分之间自适应地传输数据。根据这个方面,为了在这两个部分之间自
适应地传输数据,可以自适应地改变地址的映射。本发明的这个方面
实现了这两个部分之间的有效传输,并且增加了存储器的寿命。
根据另一实施例,该方法还包括以下步骤判断临时存储部分 是否包括多个在主存储部分中具有相同目的地址的数据包;以及如果
发现了多个这种数据包,则选取所述多个这种数据包中的最新的数据项来存储在主存储部分中。当在存储器的临时存储部分中已经更新了 数据时,该方法的这个方面能消除对存储器的主存储部分的不必要的 反复擦除。
根据另一实施例,该方法提供了从闪速存储器装置中取回数据 的模式,该模式包括以下步骤接收一个或多个表示了要取回数据的 位置的地址;如果闪速存储器装置的临时存储部分中存在这些地址, 则从临时存储部分提供数据,否则从闪速存储器装置的主存储部分提 供数据。这个方面实现了从闪速存储器中读数据的操作。为了极其简 单地执行读操作,当存储器的某一部分内容被写入临时存储部分中且 存储器的某一部分内容是处于存储器的主存储部分中时,则需要检査 在存储器的临时存储器中是否存在该数据。因此,如果存在,则从临 时存储部分获得该数据;否则从存储器的主存储部分获得该数据。


参照附图,在下文中将更详细地描述根据本发明的方法和装置
的这些和其它方面及优点;
图1示出了根据本发明的闪速存储器装置;
图2示出了根据本发明的方法的第一方面的流程图3示出了根据本发明的方法的第二方面的流程图4示出了根据本发明的方法的第三方面的流程图;以及
图5示出了根据本发明的方法的第四方面的流程图。
具体实施例方式
图1示出了根据本发明的闪速存储器装置100。该装置包括具有 临时存储部分112和主存储部分111的闪速存储器110,并包括控制 器120。临时存储部分112用于对数据和地址进行缓冲。被缓冲的地 址表示被缓冲的数据在主存储部分111中的目的地址。控制器120 被配置成有选择地访问主存储部分111或临时存储部分112或它们的 组合,用以将数据接收到存储器110中,和/或从存储器IIO输出数 据。控制器120还被配置成用来启动这两个部分111、 112之间的数
8据传输。
图2示出了根据本发明的方法的一个方面的流程图200。该图描
述了存储器110中的存储操作。控制器120接收数据,并且在步骤 220中确定要写入的数据的大小。在步骤240中,决定是在临时存储 部分112中存储数据230,还是在主存储部分111中存储数据250。 如果数据大小大于适合主存储部分111中的4页的大小,则将数据直 接存储在主存储部分111中250,否则将数据存储在临时存储部分112 中。数量"4页"是一个示范性的数量,根据用于访问存储器的文件 系统或用于存储数据的文件类型,这个数量可以发生变化。步骤210、 220、 240和250合起来表示直接存储模式。步骤210、 220、 240和 230表示间接存储模式。
图3示出了根据本发明的方法的第二方面的另一流程图300。该 图描述了数据从临时存储部分112到主存储部分111的转移(传输) 操作。在步骤310中,判断是否需要数据的转移。如果需要转移,则 在步骤320中,针对每个存储在临时存储部分112中的地址,判断是 否存在不只一个将该地址作为在主存储部分中的目的地址的数据项。 如果存在,则仅仅将多个数据项中的最新数据项转移到所述地址。否 则,将唯一的数据元素写入所述地址。将数据包以在主存储部分中的 目的地址的顺序从临时存储部分转移到主存储部分,如果临时存储部 分中的不同数据包要被存储在主存储部分中的同一个块内,这种方式 可以满足只擦除该块一次的需要。如果在每次请求之后,数据被直接 写入主存储部分,则不得不多次擦除该块。因此,在主存储部分中写 入数据所需的数据移动大大减少了,这增加了存储器的使用寿命和访 问速度。基于临时存储部分是否已满或存储器访问是否被终止,或者 一旦控制器接收到请求,则步骤310可判断是否需要转移。
图4示出了根据本发明的方法的第三方面的另一流程图400。在 该图中描述了读操作。在步骤410中,接收用于执行读操作的请求, 连同接收至少一个从其上读取数据项的位置的地址。在步骤420中, 判断该地址是否存在于临时存储部分112中。如果是这种情况的话, 则从临时存储部分112取出对应于该地址的数据430,否则从主存储
9部分111中取出该数据440。
使用非易失性存储器来实现该存储器的临时存储部分112,因此 它具有非易失性存储器的所有优点,即存储器价格便宜,并且在意外 断电的情况下数据不会丢失,而且不需要其他的存储器元件。临时存 储部分112 (通常1M字节或更小)远远小于主存储部分111 (通常为 几百兆字节或更大)。因此,写入临时存储部分112比写入主存储部 分111需要更少的时间消耗。可在临时存储部分112中对将要写入主 存储部分111中的数据以及该数据的对应地址进行缓冲。被缓冲的地 址可以是直接表示被缓冲的数据在主存储部分111中的目的地址的 物理地址。可选地,被缓冲的地址可以是间接表示被缓冲的数据在主 存储部分111中的目的地址的逻辑地址。通过查询表,可将逻辑地址 映射到物理地址。根据逻辑或物理地址,可以在临时存储部分112 和主存储部分111之间传输数据。
可为控制器120编程,使其能自适应地改变地址的映射,以保 证己经存储在主存储部分111中的数据的移动最少。这种编制程序使 得存储器110的主存储部分111的擦除操作的次数最少,因此使存储 器磨损最小。根据一个自适应地改变映射的示例,控制器120可识别 出主存储器111中使用次数最少的块,并且在根据存储器110的临时 存储部分112来改变映射之后,使用这个识别出的块来存储主存储部 分111中的这个块的内容。根据另一方面,控制器可被配置成判断临 时存储部分112是否包括多个在主存储部分111中具有相同目的地址 的数据项,如果发现多个这种数据项,则选取所述多个数据项中的最 新的数据项来存储在主存储部分111中。这个方面避免了不必要的擦 除操作,因此使已经存储在主存储部分111中的数据的移动最少,从 而增加了存储器110的寿命。
根据该装置的一个方面,可将控制器120编程为将数据直接存 储在主存储部分111中。当需要存储的数据流至少具有预定数量的数 据包时,将数据直接存储在主存储部分中是有利的。例如,预定数量 与能存储在预定数量的位置上的多个数据包相对应。根据一个示例, 预定数量的位置可以是主存储部分111中的4页。数量"4页"是一
10个示范性的数量,这个数量可以根据用来访问存储器的文件系统或用 来存储数据的文件类型而发生变化。而且,当需要在主存储部分lll 的互相连续的位置上存储数据流时,将数据直接存储在主存储部分中 是有利的,所述的数据流具有多个数据包,并且这个数量大于或等于 预定数量。
根据另一实施例,控制器120被配置成接收用于闪速存储器的 数据,和/或从闪速存储器输出数据。根据这个方面,控制器120检 査临时存储部分112中是否存在读操作想要的数据。由此,控制器 120从临时存储部分112或从主存储部分111输出读操作想要的数 据。另外直接存储模式允许控制器120接收数据来将其存储到存储器 110中,并且允许将该数据存储在存储器110的主存储部分111中, 或顺序地存储在存储器110的临时存储部分112中。
根据另一方面,本发明提供了一种用于将数据存储在闪速存储 器装置100中的方法,该方法包括具有以下步骤的(图5所示的)间 接存储模式接收数据510;在所述闪速存储器装置中的临时存储部 分中对该数据以及地址进行缓冲520,所述地址表示该被缓冲的数据 在主存储部分中的目的地址;以及将该数据转移到主存储部分中的由 所述地址表示的目的地址上530。
本发明的这个方面可被理解为步骤230,后面是步骤320和步骤 330或步骤340。然而,为了清楚起见,图5示出了根据该方法的这 个方面的步骤。步骤510可包括步骤210、 220和240,其中接收数 据并且判断该数据应被存储在主存储部分111中还是在临时存储部 分112中。步骤520包括步骤230,其中数据被存储在临时存储部分 112中。步骤530包括步骤320和330或340,其中将该数据转移到 主存储部分111。该方法的这个方面允许在闪速存储器的临时存储部 分中对数据进行缓冲。
在当前论述的所述方法和装置实施例中的顺序不是必须的,仅 仅是说明性的。该论述的范围不限于所述的实施例。在不脱离当前讨 论所设想的思想的情况下,本领域的技术人员可改变步骤的顺序,或 使用线程模型、多处理器系统或多重处理来同时执行步骤。任何这种实施例都将落入本讨论的范围,以及都是保护的主题。应该注意,上
述实施例说明了而不是限制了方法和装置,并且在不脱离所附权利要
求的范围的情况下本领域的技术人员将能设计出很多的替换实施例。
在权利要求中,任何被置于括号之间的参考标号不应该被理解为限制
该权利要求。词语"包括"不排除除了在权利要求中列举的元件或步
骤之外的其他元件或步骤的存在。元件前的词语"一个"或"一种"
不排除多个这种元件的存在。用包括几个不同元件的硬件,以及用适
当地程序控制的计算机能实施该方法和装置。在枚举了几种技术手段
的装置权利要求中,可通过同一个计算机可读软件或硬件来实现这些
技术手段中的几个。在彼此不同的从属权利要求中引用了特定措施,
这个事实不表示不能使用这些措施的组合来获得优势。
权利要求
1. 一种装置包括闪速存储器和控制器,所述闪速存储器具有临时存储部分和主存储部分,所述控制器用于选择性地访问主存储部分或临时存储部分或这两个部分的组合,所述控制器被配置成用来在临时存储部分中对数据和地址进行缓冲,其中所述地址表示被缓冲的数据在主存储部分中的目的地址。
2. 根据权利要求1所述的装置,其中所述控制器还被配置成将 数据直接存储在主存储部分中。
3. 根据权利要求1所述的装置,其中所述控制器还被配置成接 收用于闪速存储器的数据,和/或从闪速存储器输出数据。
4. 根据权利要求1所述的装置,其中所述控制器还被配成在使 已经存储在主存储部分中的数据的移动最少的同时,能在临时存储部 分和主存储部分之间进行自适应数据传输。
5. —种在闪速存储器装置中存储数据的方法,该方法包括间接存储模式,该模式具有以下步骤 接收数据;在所述的闪速存储器装置内的临时存储部分中对数据以及地址进行缓冲,所述地址表示被缓冲的数据在主存储部分中的目的地址; 以及将该数据转移到主存储部分中该地址所表示的目的地址上。
6. 根据权利要求5所述的方法,还包括直接存储模式,该模式 具有以下步骤接收数据流;以及将数据流直接存储在主存储部分中,如果数据流至少具有在主储模式,否则执行间接存储模式。
7. 根据权利要求6所述的方法,其中所述的预定数量与能在主存储部分的至少4页上存储的多个数据包相对应。
8. 根据权利要求5所述的方法,还包括步骤在使已经存储在主存储部分中的数据的移动最少的同时,在临时存储部分和主存储部分之间自适应地传输数据。
9. 根据权利要求5所述的方法,还包括步骤判断临时存储部分是否包括多个在主存储部分中具有相同目的地址的数据项,如果发现多个这种数据项,则选择所述多个这种数据项中的最新的数据项来将其存储到主存储部分中。
10. —种从闪速存储器装置中取出数据的方法,该方法包括以下步骤接收表示了要从其中取出数据的位置的至少一个地址;以及如果在闪速存储器装置的临时存储部分中存在所述至少一个地址,则从临时存储部分提供数据,否则从闪速存储器装置的主存储部分中的一个位置提供数据,该位置由所述至少一个地址表示。
全文摘要
公开了一种闪速存储器装置。该装置包括闪速存储器(110)和控制器(120),其中闪速存储器具有临时存储部分(112)和主存储部分(111)。提供临时存储部分(112)用来对数据和地址进行缓冲。被缓冲的地址表示被缓冲的数据在主存储部分(111)中的目的地址。控制器(120)被配置成选择性地访问主存储部分(111)或临时存储部分(112)或这两个存储部分的组合,从而接收用于该存储器的数据,和/或从该存储器输出数据。控制器(120)还被配置成用来启动这两个部分之间的数据传输。因为非易失性闪速存储器被用于临时存储部分(112),所以不需要其他的存储元件,并且在意外断电的情况下,临时存储部分中的数据不会丢失。
文档编号G11C16/06GK101479805SQ200780024398
公开日2009年7月8日 申请日期2007年6月19日 优先权日2006年6月30日
发明者吉尔特·R·J·范考文贝赫 申请人:Nxp股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1