混合映射
混合映射平衡了页映射和块映射的优缺点而提出的.
物理blocks被分为 data blocks 和 log blocks。
当log blocks数量减少,需要将data blocks 和 log blocks合并,再将合并过的data blocks 和 log blocks擦除,获得新的空的data blocks 和 log blocks。
混合映射中特有的一个操作是合并操作,分为三类:全合并;转换合并,部分合并
全合并
概念:Log blocks中的数据不按块内偏移存放
缺点:合并产生大量的读写操作,要被合并的两个块中的有效数据总共要进行页面数量的读操作和迁移写操作,并且要擦除两次(合并以后原来的Log block和data block分别被擦除)
转换合并
概念:Log blocks中的数据按块内偏移存放,因此这个Log block 在进行合并时可以直接代替data block。log block可以擦除,然后放入空闲的物理块中,最后从空闲物理块池中分配一个空闲物理块作为新的log block
优点:和全合并相比,擦除次数,读写操作次数均减少
缺点:
部分合并
概念:Log blocks中已经保存的逻辑页是按照块内偏移存放的,合并时只需要将部分数据从data block中读出,再写到日志块中,最后将数据块擦除。
优点:擦除次数,读写操作次数均减少