公开了对于具有非易失存储器(“NVM”)的系统的高效缓冲的系统和方法。树可以存储在系统的易失性存储器中,其包含NVM的逻辑空间和物理地址之间的逻辑至物理的映射。当所述树可用的存储量低于预定阈值时,系统试图减少NVM中的数据碎片,并因此扁平化树的一部分。NVM接口可选择最佳的树的条目集合以结合。可以使用任意合适的方法,例如经过树移动一个或多个滑动窗口,当条件满足时扩大滑动窗口,扫描树时使用优先级队列,和/或当更新树时维护优先级队列。
【技术实现步骤摘要】
NAND快闪存储器,以及其他类型的非易失性存储器(“NVM”),通常用于大规模存储。例如,诸如便携式媒体播放器的消费电子产品通常包括闪存以存储音乐、视频和其他媒体。
技术介绍
具有NVM的系统可以包括数据结构,其将文件系统使用的逻辑地址映射到NVM的物理地址(例如,提供逻辑至物理的映射)。该结构经常可以驻留在易失性存储器中。随着更新现有文件或添加其他文件,存储映射需要的存储量可能相应增加。因此,在某些情况下,为该结构分配的存储量不足以获取所有的逻辑至物理映射。
技术实现思路
公开了对于具有非易失存储器(“NVM”)的系统的较快树扁平化(flatten)的系统和方法。树可以存储在系统的易失性存储器中,其中树可以包含在NVM的逻辑空间和物理地址之间的逻辑至物理的映射。当所述树可用的存储量低于预定阈值时,系统可能试图减少NVM中的数据碎片数量,并因此可以扁平化树的一部分。所释放的树存储器的量可以添加回树存储器池。NVM接口可基于任何合适方法选择最佳的树的条目集合以结合,例如经过树来移动一个或多个滑动窗口,当条件满足时扩大滑动窗口,扫描树时使用优先级队列,和/或当更新树时维护优先级队列。附图说明当结合附图,参考如下详细描述,本专利技术的以上和其他的方面和优势将变得更加明显,在图中,同样的附图标记指相同的部件,其中图1和2是根据本专利技术的各种实施例配置的电子设备的框图;图3是根据本专利技术的各种实施例的非易失性存储器的功能视图;图4是根据本专利技术的各种实施例,逻辑块地址到物理页的示例性映射的框图;图5是根据本专利技术的各种实施例,用于提供逻辑至物理映射的示例性树的一部分的框图;图6是根据本专利技术的各种实施例,逻辑块地址至物理页的另一示例性映射的框图;图7是根据本专利技术的各种实施例,用于提供逻辑块地址至物理映射的另一示例性树的一部分的框图;图8是根据本专利技术的各种实施例,用于较快树扁平化的示例性处理的流程图;图9是根据本专利技术的各种实施例,用于在非易失性存储器中产生物理连续碎片的示例性处理的流程图;图1OA和IOB是根据本专利技术的各种实施例,用于较快树扁平化的另一示例性处理的流程图;图11是根据本专利技术的各种实施例,用于较快树扁平化的再一示例性处理的流程图;图12是根据本专利技术的各种实施例,优先权队列的框图;图13是根据本专利技术的各种实施例,用于较快树扁平化的另一示例性处理的流程图;以及图14是根据本专利技术的各种实施例,另一优先级队列的框图。 图15是根据本专利技术可替换实施例配置的存储器接口的框图。 图16是根据本专利技术的另一可替换实施例配置的存储器接口的框图。具体实施例方式公开了对于具有非易失存储器(“NVM”)的系统的较快树扁平化的系统和方法。树可以存储在系统的易失性存储器中,其中树可以包含NVM的逻辑空间和物理地址之间的逻辑至物理的映射。当所述树可用的存储量低于预定阈值时,系统的NVM接口可能试图减少NVM中的数据碎片,并因此可以扁平化树的一部分。所释放的树存储器的量可以添加回树存储器池。NVM接口例如通过将树的条目的最佳集合结合成单个条目或节点而扁平化树的一部分。最佳条目集合可以在逻辑空间中是连续的而在物理空间中是不连续的。因此,在选择最佳条目集合之后,该NVM接口可以重新编码对应于条目的数据片段,以至于片段可以是物理连续的。具体而言,NVM接口可以通过从NVM读取对应于多个条目的数据而重新编码所述片段,然后在易失性存储器中保存该数据。在保存这些数据之后,NVM接口可将数据连续编入到NVM的新的超级块。NVM接口可以使用任何合适的方法选择最佳条目集合。在某些实施例中,NVM接口可以使用一个或多个滑动窗口以获得最佳条目集合。在某些情况下,可以为一个或多个滑动窗口中的每个保持最小跨度。然后,基于不同的最小跨度之间的比较,NVM接口可以选择最佳条目集合。在其他实施例中,NVM接口可以使用饥渴(greedy)方法以找到最佳的条目集合以扁平化。即,一旦发现最佳条目集合,NVM接口可以继续在树中寻找可以添加到最佳条目集合的额外连续条目。在进一步实施例中,NVM接口可以通过维护易失性存储器中的优先权队列找到最佳的条目集合。例如,NVM接口可以试图在优先级队列中插入与匹配滑动窗口的多个条目相关联的参数。NVM接口可以继续该处理,直到滑动窗口已经经过树的末端。然后NVM接口可以使用优先级队列找到最佳条目集合。在进一步实施例中,NVM接口可以通过当执行树更新时维护候选条目的优先权队列而找到最佳条目集合。如果后来判定树可用的存储器的量低于预定的阈值,NVM接口可以使用优先级队列找到可以组合的条目。图1示出电子设备100的框图。在一些实施例中,电子设备100可以是或可以包括便携式媒体播放器、移动电话、口袋大小的个人电脑、个人数字助理(“PDA”)、桌面电脑、笔记本电脑和任何其他适合的类型的电子设备。电子设备100可以包括片上系统(“SoC”)110和非易失性存储器(“NVM”)120。非易失性存储器120可以包括基于浮置栅极或电荷捕获技术的NAND闪存,NOR闪存,可擦可编程只读存储器(“EPR0M”),电可擦可编程只读存储器(“EEPROM”),铁电RAM( “FRAM”),磁阻RAM ( “MRAM”)或其在何组合。非易失性存储器120可以组织成“块”,其可以是最小的可擦单位,并进一步组织成“页面”,该“页面”可以是被编程或读取的最小单位。在一些实施例中,NVM120可以包括多个集成电路,其中每个集成电路可具有多个块。来自相应集成电路的存储器位置(例如,块或块的页)可形成“超级块”。可使用物理地址(例如,物理页面地址或物理块地址)来引用NVM 120的每个存储器位置(例如,页面或块)。片上系统110可以包括SoC控制电路112、存储器114和NVM接口 118。SoC控制电路112可以控制SoCllO以及SoCllO或设备100的其他组件的通用操作和功能。例如,响应于用户输入和/或应用或操作系统的指令,SoC控制电路112可以向NVM接口 118发出读或写请求以从NVM120获得数据或将数据存储在NVM120中。为了清晰起见,SoC控制电路112请求存储或检索的数据可以被称作“用户数据”,即使数据不直接关联于用户或用户应用程序。相反,用户数据可以是SoC控制电路112产生或获取的任何合适的数字信息序列(例如,通过应用程序或操作系统)。SoC控制电路112可以包括硬件、软件、固件、以及任何组件,电路,或者驱动电子设备100功能的逻辑操作的任何组合。例如,SoC控制电路112可以包括在NVM120或存储器114中存储的软件/固件控制下操作的一个或多个处理器。存储器114可以包括任何合适类型的易失性存储器、诸如随机存取存储器(“RAM”)(例如,静态RAM( “SRAM”),动态随机存取存储器(“DRAM”),同步动态随机存取存储器(“SDRAM”)、双数据率(DDR)RAM)、缓存存储器、只读存储器(“ROM”)或其任意纽合。存储器114可以包括临时存储用户数据的数据源,用于编程到或从非易失性存储器120读取数据。在某些实施例中,存储器114可以起主存的作用,用于作为SoC控制电路112的一部分实施的任何处理器。在一些实施例中,存储器114可以储存一本文档来自技高网...
【技术保护点】
一种用于较快树扁平化的方法,所述方法包括:检测树目前可用的存储量低于预定阈值,其中所述树存储非易失存储器(“NVM”)的逻辑空间和物理地址之间的逻辑至物理映射;在所述树上移动至少两个滑动窗口;当所述至少两个滑动窗口在所述树上移动时,保持对应于所述至少两个滑动窗口的至少两个最小跨度;确定所述至少两个滑动窗口已在所述树上完成移动;以及至少部分地基于所述至少两个最小跨度之间的比较,选择扁平化所述树的条目集合。
【技术特征摘要】
...
【专利技术属性】
技术研发人员:D·J·波斯特,V·科麦尔尼斯基,
申请(专利权)人:苹果公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。