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

处理具有非易失性存储器的系统的动态和静态数据技术方案

技术编号:7809333 阅读:219 留言:0更新日期:2012-09-27 08:08
本公开涉及处理具有非易失性存储器的系统的动态和静态数据。用于确定电子设备中的动态数据的方法包括:接收对应于逻辑块地址(LBA)范围的写入请求;从树中获得至少一个参数,其中所述树存储了逻辑到物理地址映射;至少部分地基于所述至少一个参数,确定与LBA范围相关的数据是否是动态的;以及响应于确定与LBA范围相关的数据是动态的,将与写入请求相关的数据编程到非易失性存储器(NVM)的动态流块中。本发明专利技术可降低对NVM执行的周期数和系统的总带宽。

【技术实现步骤摘要】

本公开一般涉及处理具有非易失性存储器的系统的动态和静态数据
技术介绍
NAND闪存和其他类型的非易失性存储器(“NVM”)通常用于海量存储。例如,诸如便携式媒体播放器的消费电子设备经常包括闪存以存储音乐、视频和其他媒体。NVM可包括电子设备所需的数据(例如,“有效数据”)和电子设备不再需要的数据(例如,“无效数据”)。在NVM中存储的有效数据可被进ー步划分成频繁更新或变化的数据(例如,“动态数据”)和极少更新或变化的数据(例如,“静态数据”)。常规地,NVM中数据 的放置是相当任意的,以至可在NVM的单个块中存储动态数据和静态数据的混合。某些NVM被配置成在块中的任意存储位置可被重新编程之前,需要擦除已编程存储位置块。因此,电子设备通常执行被称作“垃圾收集”(“GC”)的操作以释放供擦除和重新编程的块。为了释放该块中的所有存储位置以便擦除,电子设备可将块的有效数据复制到另ー块的存储位置中。因为块上存在动态数据和静态数据的混合,所以GC的效率可能低下,这是由于必须要复制的有效数据的数量可能是相当大的。此外,通过使用被称作“磨损均衡(wear leveling) ”的操作,电子设备有时可以对块执行GC。磨损均衡通常用于扩展NVM的有用寿命。时常地,系统可执行NVM的不必要的磨损均衡,事实上这可能导致NVM的更多磨损。
技术实现思路
公开了处理具有非易失性存储器的系统的动态和静态数据的系统和方法。通过确定正被写入NVM的数据是否是动态的,系统的NVM接ロ可确定最初将数据放置在NVM上的什么地方。此外,这允许NVM接ロ提高垃圾收集和磨损均衡的效率。附图说明—旦结合附图考虑下述详细说明,本专利技术的上述和其他的方面和优点将变得更加明显,附图中同样的附图标记始終指代同样的部件,在附图中图I和2是根据本专利技术各种实施例配置的电子设备的框图;图3是根据本专利技术各种实施例的逻辑块地址到物理页的示例性映射的框图;图4是根据本专利技术各种实施例的用于提供逻辑到物理地址映射的示例性树的框图;图5是根据本专利技术各种实施例的可与用户数据关联的元数据的图形视图;图6是根据本专利技术各种实施例的将数据编程到非易失性存储器的示例性过程的流程图;图7是根据本专利技术各种实施例的在非易失性存储器上执行垃圾收集的示例性过程的流程图;以及图8是根据本专利技术各种实施例的用于确定是否在非易失性存储器上执行磨损均衡的示例性过程的流程图。具体实施例方式本公开提供了处理具有非易失性存储器(“NVM”)的系统的动态和静态数据的系统和方法。通过确定正被写入NVM的数据是否是动态的,系统的NVM接ロ可确定最初将数据放置在NVM上的什么地方。此外,这允许NVM接ロ提高垃圾收集(“GC”)和磨损均衡的效率。例如,响应于接收到对应于逻辑块地址(“LBA”)范围的写入请求,NVM接ロ可确定与LBA范围相关的数据是否是动态的。在某些实施例中,基于从树或元数据获得的ー个或多个參数,NVM接ロ可做出该确定。一个或多个參数可以是任意适当的參数,诸如,例如指示特定LBA范围已被写入的次数的计数器,指示数据何时由应用程序和/或操作系统最 后写入到LBA范围的用户编织序列(weave sequence),指示数据何时由任意源(例如,由 GC进程,或由应用程序或操作系统)最后写入到LBA范围的编织序列,和/或其任意組合。基于对于与LBA范围相关联的数据是否是动态的确定,NVM接ロ可将数据编程到动态流块或静态流块。如此处所使用的那样,“动态流块”可以是已由NVM接ロ指定为动态流的一部分的任意适当的NVM块。被分类为动态的输入数据可被选择性地置于ー个或多个动态块上。同样地,如此处所使用的那样,“静态流块”可以是由NVM接ロ指定为静态流的一部分的任意适当的NVM块。被分类为静态的输入数据可被选择性地置于ー个或多个静态块上。通过将输入数据分割成两个单独的写入流,GC写入放大可被降低而GC的效率可因此得到提高。此外,对于数据是否是动态的确定允许NVM接ロ避免不必要的NVM磨损均衡。图I例示了电子设备100的框图。在某些实施例中,电子设备100可以是或者可以包括便携式媒体播放器、蜂窝电话机、ロ袋大小的个人电脑、个人数字助理(“PDA”)、台 式机、膝上型电脑以及任意其他合适类型的电子设备。电子设备100可包括片上系统(“SoC”) 110和非易失性存储器(“NVM”) 120。非易失性存储器120可包括基于浮栅或电荷捕获技术的NAND闪存、NOR闪存、可擦除可编程只读存储器(“EPR0M”)、电可擦除可编程只读存储器(“EEPR0M”)、._RAM( “FRAM”)、磁阻RAM( “MRAM”)或其任意组合。NVM 120可被组织成“块”,“块”可以是最小可擦除単元,并且NVM 120可被进ー步组织成“页”,“页”可以是最小的编程或读取单元。在某些实施例中,NVM 120可包括多个集成电路,其中每个集成电路可具有多个块。来自相应集成电路的存储位置(例如,块或块的页)可形成“超级块”。通过使用物理地址(例如,物理页地址或物理块地址),可指示NVM120的每个存储位置(例如页或块)。片上系统110可包括SoC控制电路112、存储器114和NVM接ロ 118。SoC控制电路112可控制SoC 110的一般操作和功能以及SoC 110或设备100的其他部件。例如,响应于用户输入和/或应用程序或操作系统的指令,SoC控制电路112可向NVM接ロ 118发出读取或写入清求以从NVM 120获取数据或在NVM 120中存储数据。为了清楚起见,SoC控制电路112可能请求存储或检索的数据可被称作“用户数据”,即使数据可能和用户或用户应用不直接关联。当然,用户数据可以是SoC控制电路112生成或获取(例如,经由应用程序或操作系统)的任意合适的数字信息序列。SoC控制电路112可包括硬件、软件和固件、以及任意部件、电路或可操作来驱动电子设备100的功能的逻辑的任意组合。例如,SoC控制电路112可包括在NVM 120或存储器114中所存储的软件/固件的控制下操作的一个或多个处理器。存储器114可包括任意合适类型的易失性存储器,诸如随机存取存储器(“RAM”)(例如,静态RAM( “SRAM”)、动态随机存取存储器(“DRAM”)、同步动态随机存取存储器(“SDRAM”)、双数据速率(“DDR”)RAM)、高速缓存存储器、只读存储器(“ROM”)或其任意组合。存储器114可包括可临时存储用户数据以供编程到非易失性存储器1 20或从中读取的数据源。在某些实施例中,对于被实现为SoC控制电路112的一部分的任意处理器,存储器114可用作主存。NVM接ロ 118可包括被配置为用作SoC控制电路112和NVM 120之间的接ロ或驱动器的硬件、软件和/或固件的任意适当组合。对于包括在NVM接ロ 118中的任意软件模块,相应的程序代码可被存储在NVM 120或存储器114中。NVM接ロ 118可执行各种各样的功能,这些功能允许SoC控制电路112存取NVM120并管理NVM 120中的存储位置(例如,页、块、超级块、集成电路)以及其中存储的数据(例如,用户数据)。例如,NVM接ロ 118可解释来自SoC控制电路112的读取或写入请求,执本文档来自技高网...

【技术保护点】

【技术特征摘要】
2011.01.03 US 12/983,7151.ー种确定电子设备中的动态数据的方法,所述方法包括 接收对应于逻辑块地址(LBA)范围的写入请求; 从树中获得至少ー个參数,其中所述树存储了逻辑到物理地址映射; 至少部分地基于所述至少ー个參数,确定与LBA范围相关的数据是否是动态的;以及响应于确定与LBA范围相关的数据是动态的,将与写入请求相关的数据编程到非易失性存储器(NVM)的动态流块中。2.如权利要求I所述的方法,其中响应于确定与LBA范围相关的数据不是动态的,将与写入请求相关的数据编程到NVM的静态流块中。3.如权利要求2所述的方法,其中动态流块是已由存储器接ロ指定为动态流的一部分的NVM块,而静态流块是已由存储器接ロ指定为静态流的一部分的NVM块。4.如权利要求1、2或3所述的方法,其中所述至少一个參数包括以下中的至少ー个指示LBA范围已被写入的次数的计数器,以及与在数据由应用程序或操作系统中的至少ー个最后写入到LBA范围时的年龄对应的用户编织序列。5.如权利要求4所述的方法,还包括 递增计数器。6.如权利要求4所述的方法,其中确定与LBA范围相关的数据是否是动态的包括以下中的至少ー个 确定计数器是否大于等于预定阈值, 执行计数器和用户编织序列之间的相对比较,以及 将用户编织序列和最后启动事件的时间相比较。7.如权利要求4所述的方法,其中确定与LBA范围相关的数据是否是动态的包括 当LBA范围首次被写入时将用户编织序列和年龄相比较以获得年龄上的差异;以及 确定年龄上的差异是否小于预定阈值;以及 响应于确定年龄上的差异小于预定阈值,确定与LBA范围相关的数据是动态的。8.一种系统,包括 非易失性存储器(NVM),包括多个可操作来存储数据的块; 易失性存储器,用于存储包括多个节点的树;以及 存储器接ロ,包括 总线控制器,用于和NVM通信;以及 控制电路,可操作来擦掉树的多个节点中的每个节点以确定NVM上所存储的数据的动态特性分布,以及至少部分地基于动态特性分布,确定NVM上是否需要磨损均衡。9.如权利要求8所述的系统,其中控制电路还可操作来通过使用动态特性分布,计算数据的平均动态值。10.如权利要求9所述的系统,其中控制电路还可操作来从多个块中选择其为NVM的高循环块的块,确定块是否是动态块,以及响应于确定所述块是动态块,将所述块指定为静态流块。11.如权利要求10所述的系统,其中控制电路可操作来确定块上所存储的数据是否具有块动态值,所述块动态值为以下中的至少ー个大于等于平均动态值、平均动态值的恒定倍数、以及在与平均动态值的标准偏差的预定数量之外。12.如权利要求10所述的系统,其中控制电路还可操作来为具有有效数据的块的每ー页确定页上所存储的数据是否是动态数据,以及响应于确定页上所存储的数据是动态数据,指示总线控制器将数据复制到动态流块上。13.如权利要求12所述的系统,其中响应于确定页上所存储的数据不是动态数据,控制电路还可操作来指示总线控制器将数据复制到静态流块上。14.一种在非易失性存储器(NVM)中执行垃圾收集的方法,所述方法包括 确定需要对NVM的块执行垃圾收集; 至少部分地基于从树上...

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

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

1