Chinaunix首页 | 论坛 | 博客
  • 博客访问: 307417
  • 博文数量: 89
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 691
  • 用 户 组: 普通用户
  • 注册时间: 2015-09-20 16:58
文章分类

全部博文(89)

文章存档

2017年(1)

2016年(35)

2015年(53)

我的朋友

分类: 服务器与存储

2015-10-09 22:48:04

参考资料:
    http://blog.chinaunix.net/uid-24203478-id-3409427.html
     />
LBA:
    
    LBA(Logical Block Address)即 逻辑区块地址, 是描述电脑存储设备上数据所在区块的通用机制,一般用在像硬盘这样的辅助记忆设备。LBA可以意指某个数据区块的地址或是某个地址所指向的数据区块。LBA是非常单纯的一种寻址模式﹔从0开始编号来定位区块,第一区块LBA=0,第二区块LBA=1,依此类推。这种寻址模式抽象了存储设备硬件构造的方式, 为块设备提供了统一的寻址方式。
    一个区块的大小通常是512,1024, 2048, 4096Byte。

PBA:
    
    PBA(Physics Block Address)物理区块地址, 根据存储设备的硬件特点,来制定地址规则, 不同的物理存储设备,物理地址的编码是不同的,典型的如磁盘设备的CHS物理寻址模式,和ssd盘的Chip+Block+page的寻址模式

机械盘地址(CHS):
    CHS(cylinders-heads-sectors,磁柱-磁头-扇区)寻址模式,区块必须以硬盘上某个磁柱、磁头、扇区的硬件位置所合成的地址来指定。CHS模式对硬盘以外的设备(如ssd盘)来说没什么作用。 CHS地址和LBA可以方便的进行转换:
CHS地址可用以下公式转成LBA,
#lba=(#c*H+#h)*S+#s-1
其中,
  • #c、#h、#s分别是磁柱、磁头、扇区的编号
  • #lba是逻辑区块编号
  • H=heads per cylinder,每个磁柱的磁头数
  • S=sectors per track,每磁道的扇区
LBA可用以下公式对应到CHS:
  • #c=#lba/(S*H)
  • #h=(#lba/S)%H
  • #s=(#lba%S)+1
其中,
  • / 是整数除法
  • % 是取整数除法中的余数
  • 请注意,当今的磁盘使用ZBR(Zone Bit Recording, 等密度记录)方式,实际的每轨扇区数得根据它是哪一轨。不过磁盘还是会提供这个参数来符合公式,内部再自动调整。
其它公式:
  • #lba/S=q 余 r
  • #s=1+r
  • q/H=#c 余 #h
例如:
  • CHS总数=[600, 10, 84],求#lba=1234所对应的CHS编号:
  • 1234/84=14 余 58
  • #s=1+58=59
  • 14/10=1 余 4
  • #c=1
  • #h=4
  • #chs=(1, 4, 59)
                验算: (1*10+4)*84+59-1=14*84+58=1234[2]

SSD地址(Chip + Block + Page):
    在HDD上,由于HDD的数据可以直接覆盖,所以LBA和PBA的关系是1:1对应,不会变更,即LBA=PBA。但在SSD上,这种关系 就变得复杂了,原因是SSD使用的存储介质NAND闪存有需要先擦除才能再写入,和读写以页为单位,擦除以块(多个页组成)为单位的特性,导致LBA和 PBA的关系不再是固定不变的。因此SSD就需要一层叫做FTL的东西来作转换,以配合现有的文件系统。
    
(闪存页大小一般为4KB或8KB,块一般有128至256页,详情请参考具体闪存颗粒数据手册)

    由于NAND闪存的特性,SSD的主控制器是使用LBA和PBA的映射表来管理闪存的。当有需更新的数据要写入时,主控会把新数据写入到空 白的闪存空间(已擦除状态的)内,然后更新映射表数据,把LBA指向新的PBA。原来的PBA就成了无效数据,这个PBA若要再次写入数据就需先进行擦除 的操作。但这里会产生一个问题,闪存颗粒的寿命是按Program/Erase(编程/擦除,由于闪存不能覆盖,写入前必须擦除,所以习惯叫编程,不过为 方便大家阅读,后面我们依然叫写入)次数计算的,MLC(多阶存储单元闪存)的寿命一般在1000-10000次,SLC(单阶存储单元闪存)则在10万 次左右。(详情请参考具体闪存颗粒数据手册)。


阅读(3747) | 评论(0) | 转发(0) |
0

上一篇:ceph ec pool使用

下一篇:常用技术文库

给主人留下些什么吧!~~