一、FTL映射
FTL映射有基于块的映射,有基于页的映射,还有混合映射(Hybrid Mapping)
块映射
以闪存的块为映射粒度,一个用户逻辑块可以映射到任意一个闪存物理块,但是映射前后,每个页在块中的偏移保持不变。由于映射表只需存储块的映射,因此存储映射表所需空间小,但其性能差,尤其是小尺寸数据的写入性能,用户即使只写入一个逻辑页,也需要把整个物理块数据先读出来,然后改变那个逻辑页的数据,最后再整个块写入(因为只能按块进行读写闪存,需要定位到物理块,把物理块缓存,然后改写缓存的逻辑块对应页,最终将逻辑块写入物理块)。块映射有好的连续大尺寸的读写性能,但小尺寸数据的写性能是非常糟糕的
页映射
以闪存的页为映射粒度,一个逻辑页可以映射到任意一个物理页中,因此每一个页都有一个对应的映射关系,现在SSD基本都是采用页映射方式。
混合映射
块映射和页映射的结合,一个逻辑块映射到任意一个物理块,但在块中,每个页的偏移并不是固定不动的,块内采用页映射的方式,一个逻辑块中