SSD 之LBA和PBA
来源:互联网 发布:vue.js 2.0 离线文档 编辑:程序博客网 时间:2024/05/18 14:11
LBA,全称为Logical Block Address,是PC数据存储装置上用来表示数据所在位置的通用机制,我们最常见到使用它的装置就是硬盘。LBA可以指某个数据区块的地址或者某个地址上所指向的数据区块。打个比方来说,LBA就等于我们平常使用的门牌地址(如:中华人民共和国广东省广州市中山四路26号)。而PBA全称为Physics Block Address,相对于LBA来说,它就如GPS定位所使用的经纬度(如上面地址的经纬度为:东经:113°16′40.0621″,北纬:23°07′37.6129″)。
在HDD上,由于HDD的数据可以直接覆盖,所以LBA和PBA的关系是1:1对应,不会变更,即LBA=PBA。但在SSD上,这种关系就变得复杂了,原因是SSD使用的存储介质NAND闪存有需要先擦除才能再写入,和读写以页为单位,擦除以块(多个页组成)为单位的特性,导致LBA和PBA的关系不再是固定不变的。因此SSD就需要一层叫做FTL的东西来作转换,以配合现有的文件系统。(FTL在后面将会独立介绍)
NAND闪存的擦除/写入关系请参考下图:
(闪存页大小一般为4KB或8KB,块一般有128至256页,详情请参考具体闪存颗粒数据手册)
在HDD上,由于HDD的数据可以直接覆盖,所以LBA和PBA的关系是1:1对应,不会变更,即LBA=PBA。但在SSD上,这种关系就变得复杂了,原因是SSD使用的存储介质NAND闪存有需要先擦除才能再写入,和读写以页为单位,擦除以块(多个页组成)为单位的特性,导致LBA和PBA的关系不再是固定不变的。因此SSD就需要一层叫做FTL的东西来作转换,以配合现有的文件系统。(FTL在后面将会独立介绍)
NAND闪存的擦除/写入关系请参考下图:
(闪存页大小一般为4KB或8KB,块一般有128至256页,详情请参考具体闪存颗粒数据手册)
由于NAND闪存的特性,SSD的主控制器是使用LBA和PBA的映射表来管理闪存的。当有需更新的数据要写入时,主控会把新数据写入到空白的闪存空间(已擦除状态的)内,然后更新映射表数据,把LBA指向新的PBA。原来的PBA就成了无效数据,这个PBA若要再次写入数据就需先进行擦除的操作。但这里会产生一个问题,闪存颗粒的寿命是按Program/Erase(编程/擦除,由于闪存不能覆盖,写入前必须擦除,所以习惯叫编程,不过为方便大家阅读,后面我们依然叫写入)次数计算的,MLC(多阶存储单元闪存)的寿命一般在1000-10000次,SLC(单阶存储单元闪存)则在10万次左右。(详情请参考具体闪存颗粒数据手册)。
转载地址:http://www.liangchanba.com/article-756-1.html
0 0
- SSD 之LBA和PBA
- SSD 之LBA和PBA
- SSD 之LBA和PBA
- LBA(逻辑区块地址)及PBA(物理区块地址)简介
- LBA(逻辑区块地址)及PBA(物理区块地址)
- LBA(逻辑区块地址)及PBA(物理区块地址)
- LBA(逻辑区块地址)及PBA(物理区块地址)简介
- LBA
- LBA
- 硬盘LBA 和CHS的关系
- SSD 之ECC校验和纠错
- 和唐杰说相声之:SSD性能测试之“玉”
- SSD 之Trim指令
- linux 文件系统之SSD
- SSD 之Trim指令
- MXNet SSD之multibox_target
- SSD和内存数据库技术
- SSD基础之Trim命令
- 生成k个小于n的互不相同的随机数
- jQuery EasyUI 1.4.2 离线简体中文API文档 含完整开发工具包+皮肤+扩展+演示
- IOS对日期进行排序
- 2 注册微信公共账号
- Sencha touch中Ext.data.Store获取json串中key值的方法
- SSD 之LBA和PBA
- 根文件系统制作的lib库必须添加的文件
- tomcat问题总结之-连接超时-maximum-active-time
- 分享下多年积累的对JAVA程序员成长之路的总结
- ADO.NET 备份还原数据库
- config机制
- 在Windows下用MinGW編譯miniupnp client
- vim 翻页功能快捷键
- LeakCanary:检测所有的内存泄漏