您的位置:首页 > 其它

SSD基础知识二

2016-11-18 22:33 316 查看
1、SSD的数据操作:读:从page中读取数据到寄存器。写/编程:将寄存器内地数据编程进可编程的page。擦除:读和写都是以page为单位,擦除是以block为单位。

2、SSD原理——FTL:即Flash translation layer(闪存转换层),是一种软件中间层,它包含了地址映射,垃圾回收,损耗均衡等几方面的内容。

         FTL首先构造数据“虚拟”块,这些虚拟块独立于Flash设备的物理可擦除块,接着FTL管理Flash上的数据,使其看起来像原地更新(write in place),事实上这些数据被存储在Flash中不同的位置,最后FTL管理Flash物理块,进行垃圾回收,使得系统有一些已经被擦除过的、干净的空闲块用于存储数据。如果系统中存在多个Flasf芯片,FTL通过编程模式将这些芯片组织成为一块“逻辑”芯片。



            2.1地址映射:包括页映射(page mapping)、块映射(block mapping)、混合映射(hybrid mapping)。

页映射:

•在mappingtable中,每一个LBA(Logical block addres,逻辑地址快),都映射到某一个PGA,所以要找到某一个LBA中的内容只需要查找mappingtable即可。

块映射:
类似于cache中的直接映射,LBA被分为俩个部分,前一部分被用作索引block号,后一部分索引block内的page号。

混合映射:
•类似cache中的setassociation,LBA被放置到每个page的隐藏数据区,需要读取某一个LBA的数据时,需要读取整个block的每一个page中的隐藏数据区的值进行比对,直到找到该LBA。

对比:

•Page mapping需要大的ram,但灵活性高,可以做损耗均衡等等。
• Block mapping的ram需求量小,但是会导致性能的下降,不灵活。
  混合映射即使一种折中,但是读取某个page需要读取block中的page进行LBA的比较
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: