当前位置: 首页 > 专利查询>苹果公司专利>正文

用于非易失性存储器系统的编织序列计数器技术方案

技术编号:8489740 阅读:241 留言:0更新日期:2013-03-28 09:09
本公开涉及用于非易失性存储器系统的编织序列计数器。公开了提供用于非易失性存储器(NVM)系统的编织序列计数器(WSC)的系统和方法。WSC可以识别NVM的每个页被编程的序列。“编织”方面可以是指多个块可以一次打开进行编程的事实,从而允许这些块的页以“交织”的方式进行编程。还公开了提供主编织序列计数器(HWSC)的系统和方法。每次新的数据被最初编程到NVM时,该数据可以与特定HWSC相关联。与该数据相关联的HWSC可以不变,即使当该数据被移动到新的页(例如,为了耗损均衡目的等)。WSC和HWSC可以帮助系统,例如,执行回滚,建立逻辑到物理映射,确定静态与动态页状态,以及执行维护操作(例如耗损均衡)。

【技术实现步骤摘要】
用于非易失性存储器系统的编织序列计数器
技术介绍
NAND闪存以及其他类型的非易失性存储器(NVM)通常用于大容量存储器。例如,消费性电子产品(例如便携媒体播放器)通常包括用于存储音乐、视频或其他媒体的闪存。NVM可包括多个超级块,其中每个超级块可以被组织成若干块。类似的,NVM的每个块可以被组织成若干页。然而,一些关于NVM内容的信息或统计数据可以在块级别的“粒度”上提供。换句话说,这种信息可以仅仅关于作为一个整体的块是可获得的,而不提供关于该块中的单独的页的特定信息。这种块级别粒度限制了 NVM系统以保持数据连贯性的方式在块内编织数据的能力。没有数据连贯性,某些NVM操作(诸如回滚、耗损均衡、垃圾收集)可能不能执行。因此,需要以连贯性的方式在块内编织数据的能力。
技术实现思路
公开了提供用于非易失性存储器(NVM)系统的编织序列计数器(WSC)的系统和方法。WSC可以识别对NVM的每页编程的序列。“编织”方面可以指两个或更多个块可以同时打开进行编程的事实,从而允许这些块的页以“交织”的方式进行编程。WSC可以帮助NVM系统,例如,执行回滚操作以及重建逻辑到物理表映射。还公开了提供主编织序列计数器(HWSC)的系统和方法。每次数据被最初编程到NVM的一页(例如,而不是为了耗损均衡的目的等等被移动或重写)时,该页可以被分配一个HWSC。不像WSC每次数据被移动到新的页就可以进行更新,分配到特定数据组的HWSC可以不变。因而,即使当为了耗损均衡、垃圾收集等等而将数据移动到新的页时,与该数据相关联的HWSC也可能保持不变。HWSC可以帮助NVW系统,例如,确定页的静态与动态状态以及执行耗损均衡和垃圾收集操作。附图说明结合附图考虑到下面的详细说明,本专利技术的上述和其他方面以及优点将更加明显。附图中相同的参考标记自始至终表示相同的部件,并且其中图1和2是根据本专利技术各种实施例配置的电子设备的方框图;图3是根据本专利技术各种实施例进行编织的NVM的块的功能视图;图4是根据本专利技术各种实施例在回滚操作期间的NVM的块的功能视图;图5是根据本专利技术各种实施例的使用编织序列计数器的回滚操作的流程图;图6是根据本专利技术各种实施例的NVM的页的静态与动态确定的流程图;图7是根据本专利技术各种实施例的耗损均衡的功能视图;以及图8是根据本专利技术各种实施例的耗损均衡程序的流程图。图9示出了根据本专利技术一个实施例的存储器接口。图10示出了根据本专利技术另一个实施例的存储器接口。图11示出了根据本专利技术另一个实施例的存储器接口。具体实施方式公开了提供用于非易失性存储器(NVM)系统的编织序列计数器(WSC)的系统和 方法。WSC可以识别NVM的每个页被编程的序列。“编织”方面可以是指两个或更多个块可 以同时打开以进行编程的事实,从而允许这些块的页可以按“交织”的方式进行编程。在非正常关机事件或其它系统重启事件的情况下中,NVM系统需要重建一个或 多个NVM的逻辑到物理映射表。而且,该映射表可以仅仅包括有效(未损坏)数据。在重 建过程中,一旦定位了具有无效数据的损坏页,NVM系统可以检查NVM的块的页中的WSC值, 以确定该损坏页的具体的WSC值。NVM系统可以接着确定具有大于损坏页的WSC值的WSC 值的任何页可能不被采用,因为其可能相对于文件系统和数据库日志期望是不连贯的。NVM 系统然后可以通过忽略任何这种无效页并仅仅使用具有小于损坏页的WSC值的WSC值的页 建立逻辑到物理映射表,“回滚”系统到安全状态。当重建逻辑到物理映射表时,保持时序连贯性。在一些情况下,映射表可以通过 以WSC值升序的方式顺序地检查页来进行重建。在两个页中的每个都表明它们映射到相同 的逻辑地址的事件中,包含较高WSC值的页可以被给予优先权并覆盖另一个页。换句话说, 由于具有高WSC值的页在之后的时间点被编程到它的逻辑地址,所以可以确定该页包含正 确的逻辑到物理映射从而应该在映射表中使用。类似地,包含较小WSC值的页可以被确定 为包含错误的、过时的逻辑到物理映射,从而不应该在建立映射表中使用。还公开了用于提供主编织序列计数器(HWSC)的系统和方法。每次数据被最初写 到NVM的页(例如,而不是为了耗损均衡的目的等等而移动或重写)时,该页可以被分配一 个HWSC。该HWSC可以被设置为与当前的WSC相同的值。不像WSC每次旧数据被移动到新的 页就可以进行更新,被分配到特定数据组的HWSC可以不变。作为一个示例场景,假设与逻 辑块地址(“LBA”) X相关联的新数据存储在页A中。当前WSC是23,从而页A被分配WSA =23且HWSC = 23。在之后的时间点,当当前WSC值现在为82时,与LBA X相关联的数据 被移动到页B(例如,为了耗损均衡、垃圾收集等等移动数据)。页B被分配新的WSC = 82 并保持旧的HWSC = 23。在一些实施例中,HWSC可以帮助NVM系统以确定页的静态与动态状态。特别地, HWSC可以提供页内存储的数据的年龄的概要。当数据较年长时,该数据更可能被认为是静 态的,因为它自最初编程起没有移动过。从而,可以通过计算与存储该数据的页相关的当前 WSC值和HWSC值之间的差值来确定数据的一般年龄。如果这个差值大于阈值,则存储在该 页中的数据可以被认为对于选择哪个块或那个超级块用于编程数据是静态的。如果该差值 小于阈值,则存储在该页中的数据可以,例如,被认为关于选择哪个块或那个超级块用于编 程数据是动态的。在一些实施例中,由HWSC提供的静态与动态确定可以帮助NVM系统执行维护操 作,例如耗损均衡和垃圾收集。为了延长NVM的生命周期,优选在NVM的所有块上具有类似 的耗损。由于静态页一般不会频繁地被写和重写,因此被确定为静态的页可以一起被存储 在高循环块(例如,已经被擦除和编程了=相对大量次数的块)中。这可以通过减少该块 将被擦除和重新编程的可能性,来帮助减少高循环块上的进一步耗损。类似地,被确定为动 态的页可以一起被存储在低循环块(例如,仅仅被擦除并编程相对少量次数的块)中。图1示例了电子设备100的方框图。在一些实施例中,电子设备100可以是或者包含便携媒体播放器、便携电话、袖珍个人电脑、个人数字助手(PDA)、台式电脑、膝上电脑以及其他适合类型的电子设备。电子设备100可以包括片上系统(SoC) 110和非易失性存储器(NVM) 120。非易失性存储器120可以包括基于浮栅或电荷捕获技术的NAND闪存、NOR闪存、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、铁电RAM(FRAM)、磁阻RAM(MRAM)或其任意组合。NVM120可以被组织为“块”是可擦除的最小单元,并进一步被组织为“页”,是可编程或读取的最小单元。在一些实施例中,NVMl20可以包括多个集成电路,其中,每个集成电路可以具有多个块。来自相应的集成电路的存储器位置(例如,块或块的页)可以形成“超级块”。NVM120的每个存储器位置(例如,页或块)可以通过物理地址(例如,物理页地址或物理块地址)引用。元数据(诸如ECC数据)(例如,用于为NVM120中存储的信息提供错误检测和/或校正)、编织序列计数器值、主编织序列计数器可以被包含在NVM120的每个页中。本文档来自技高网...

【技术保护点】
一种用于编织非易失性存储器(NVM)的页的编程的方法,该方法包括:识别编织序列计数器(WSC)的当前值,其中,WSC标识其中NVM的每个页被编程的序列;用第一用户数据组编程NVM的第一块的第一页;关联第一页和WSC的当前值;以及顺序地增加WSC到增加的WSC值。

【技术特征摘要】
...

【专利技术属性】
技术研发人员:D·J·波斯特N·J·瓦卡拉特V·科麦尔尼斯基
申请(专利权)人:苹果公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1