FTL中三种地址映射方式

来源:互联网 发布:10年决赛科比数据 编辑:程序博客网 时间:2024/04/24 04:32

1.page-level mapping

每个逻辑页地址对应一个物理页地址(逻辑页地址来自FS给出的,物理页地址是在Flash上的存储位置)

 

2.block-level mapping

block是一个擦除块

给出逻辑块地址 找到 物理块地址

给出的逻辑页地址 =  物理块中的页地址

 

带来性能损失的原因:

只能在块的级别变更映射.

 

如果在不停的修改同一个逻辑地址的内容即:(逻辑块地址:逻辑页地址)一直不变

 

第一次:逻辑块地址LBN -> 物理块PBN1,页地址都是LPN = PPN

第二次:要修改第一次逻辑地址指定的位置。由于要异地更新,即(PBN1,PPN=LPN)要变化,而只能通过PBN1的变化来实现。要将整个PBN1指定的物理块的内容全都搬到新的物理块PBN2中去。

 

如果一直重复对相同逻辑地址的访问,就要不停的搬动整个物理块中的内容。带来大量copy(read,write)+erase。导致性能下降。。

 

3.hybirdmapping

同2,但是逻辑页地址 不再等同于 物理页地址。这样,对同一个逻辑地址的修改,可以在同一个物理块中找新页来存,而不用整个块不停的搬动。



来自:对<A survey of Flash Translation Layer>的理解.

0 0
原创粉丝点击