SMR 简介
首先给一点前置SMR知识。
SMR优势:Capacity的提升。
看图:由于重叠Track使得存储密度得到了提升。但是由于Track的重叠,使得SMR只能顺序写。
在SMR中,多个Track组成一个Band,各个Band之间可以随机写
这个 Boundaries 在 drive 外是无法感知的。
若要执行Update,由于只支持顺序写:
1、首先需要读取旧数据(读取一个 Band,前面说了,各个 Band 之间是可以随机写的,因为在Band之间有个 Guard Region,这个 Guard Region可以保证 Band 之间操作不干扰)
2、Merge 新数据
3、执行更新
SMR 类型
- Drive Managed
- Drive 完成了所有 SMR 相关顺序写问题,上层使用就像使用普通 HDD
- Host Aware
- 是 Drive Managed 和 Host Managed 的超集
- Host Managed
Host Aware SMR
方法
- Zones
- Zone 的逻辑地址向上暴露给 host
- 逻辑 Zone 对应物理的 Band
- 由有两种Zone
- 传统的
- Write pointer Zones
- 每一个 zone 具有相应的 state
- 具有一个 Write Pointer
- 由 Host 决定 zone 的生命周期(host 决定什么时候一个 zone 是不使用的状态)
- full performance 下,向上暴露当前顺序stream的信息
- full performance 下,向上暴露当前 random write 空间
提供 REPORT ZONES 和 RESET WRITE POINTER 命令
如何识别一个drive是 Host Aware?
SCSI (SAS)
• HAW_ZBC = true
ATA (SATA)
• Host Aware Feature Set = true