前面的几篇文章已经说明了PCM的特性,它可以和传统的DRAM构成混合内存提高计算机系统的性能的同时降低内存功耗。然而仍然有人提出将PCM用于外存,这种非易失的新型储存器用于外存必将大幅提高计算机的速度。但是鉴于PCM的价格较高,所以可以使用PCM和flash的混合外存。
首先介绍flash,闪存是一种读写速度快、低功耗、耐高温且无噪声的新型储存设备。闪存分为NOR型和NAND型,不同类型的闪存具有不同的特点,NOR型随机性比较好,但是读和擦除的速度慢,NAND型的优点是写速度快,但是随机性差。另外闪存具有读写次数的限制,一般为10的4-5次方左右。闪存必须有擦除步骤,其擦除的过程就是将所有的空闲块全部置“1”,因为闪存的特点是只能写“0”,因此写数据的过程也就是写“0”的过程。为了延长闪存的寿命,需要一种负载均衡策略。
均衡算法主要包括了两种策略,动态和静态均衡算法。动态算法是储存有数据的块可能会不断进行更新,当该块到达一定的阈值的时候就将该快重新定位到另一个数据块,拷贝相应的数据信息并改变各个链表信息。这种动态的策略保证了同一个数据块不会被频繁的访问。但是还有一个问题,有些数据块是很少更新甚至不会更新的(比如代码段),对于这些数据占用的段不会被多次写。为了更进一步的平衡写次数,还需要一种静态分配策略。最简单的静态分配策略就是记录每个块发生更新的次数,当这些块更新的总次数到达一定的阈值的时候就将”