当前位置:华创抄板公司 >> 新闻中心 >> 行业动态 >> NAND闪存存储器自适应闪存映射层设计方案

NAND闪存存储器自适应闪存映射层设计方案

    由于闪存存储器的硬件特性,闪存的更新操作有自己的特点,在对数据进行更新前需要先进行擦写操作,然后才能将新数据写入,并且擦写操作是以块为单位,读写操作是以页为单位。由于擦写操作涉及的最小单元远大于读写操作的最小单元,需要对一个擦写块内不需要更新的数据提供有效的保护。在闪存存储管理中普遍采用的数据更新方法是非本地更新的方法(Out-place Update),通过构建闪存映射层,在进行更新操作时,将更新的数据写到其他空闲的存储位置,利用内存中的地址映射表记录数据存储位置的变化。
    非本地更新的方法避免了更新时整块数据的读出写入,从而减少数据复制次数和块擦写次数,提高系统的整体性能。闪存映射层是闪存进行非本地更新存储管理的关键,主要由地址映射和垃圾回收机制两部分构成。
    根据地址映射粒度的不同,可以将地址映射方法分为三种:页映射(Page Mapping)、块映射(BlockingMapping)和混合映射(Hybrid Mapping)。pcb抄板页映射是以页为单位进行地址映射,在内存中保存基手页的映射表,每一逻辑页都有一项与之对应的物理页,页映射方法具有灵活性高的优点,但由于需要为每个逻辑页面建立地址映射表项,需要占用大量内存空间。块映射算法是以块为单位进行地址映射,逻辑块内地址偏移与物理块内偏移保持一致。
    该方法仅需要在内存中保留块映射表,建立从逻辑块到物理块的映射关系,块映射算法优点是内存占用量少,不受闪存容量增大的影响,缺点是在处理小数据更新上性能较差,一小块数据的更新会引起对整个块内容的复制。混合映射方法结合了块映射和页映射的优点,首先以块映射方法建立逻辑块和物理块的映射关系,同时对块内数据采用页映射方法组织。混合映射算法内存空间占用量少,同时对小数据更新比块映射算法更加灵活、代价少。
    垃圾回收是闪存存储系统特有的空间管理机制。在闪存存储管理中,电路板克隆由于采用非本地更新的方法,当闪存的存储空间消耗完时,就需要回收无效数据占用的空间。为了回收无效数据占用的空间,必须先将擦写单位内的有效数据转移到其他空闲区域,然后擦写整个单元,回收过程主要涉及有效数据复制和块擦写两个耗时耗能的操作。垃圾回收工作需要从闪存中选择回收对象,转移有效数据,最后完成对象擦除。进行垃圾回收时选择不同的区域进行擦除,代价是不同的,垃圾回收器设计的目就是要减少有效数据复制和块擦写次数,以提高系统性能。
    不同粒度的地址映射方法在不同写模式下,垃圾回收的性能有较大差异。在此给出了一种能够根据写模式进行自适应判断的闪存映射方法。通过对顺序写和随机写进行判断,将顺序写从随机写中分离,对顺序写采用块映射组织日记块数据,对随机写采用混合映射方法,并为热数据分配多个日记块,延迟对热数据的垃圾回收,以提高垃圾回收的性能。通过实验表明这里构建的闪存映射方法能够在不需要占用大量的内存空间前提下,减少垃圾回收过程的有效数据复制和块擦写,从而优化闪存系统的性能。