求通俗解释 4K 对齐

2014-07-12 12:18:18 +08:00
 hazard
看维基百科: http://zh.wikipedia.org/wiki/4K%E5%AF%B9%E9%BD%90 时,对“原理”中第三段第一句 :"即为每7个簇后的第8个簇都会是跨越2个物理扇区并造成3584字节的空间浪费,该结果累计起来将会是个庞大数目,并长时间如此使用将会产生硬盘扇区新旧程度不同导致寿命下降。"
这句话不太理解。第八个未沾满的簇空间不用,后面的簇开始连续使用扇区,不就只浪费了0.125个簇吗?为何会按这说的浪费这么多?求解释。。。多谢。。。
4343 次点击
所在节点    问与答
14 条回复
nendors
2014-07-12 12:52:52 +08:00
“每7个簇后的第8个簇都会是跨越2个物理扇区并造成3584字节的空间浪费”
注意“每”
hazard
2014-07-12 13:20:26 +08:00
@nendors 还是不太理解 能再说地详细一点么。。。?
yfdyh000
2014-07-12 13:41:19 +08:00
一知半解的解释一下:簇因某些设计原因故是无视物理扇区按绝对按顺序保存的,因此默认情况下接下来的所有簇仍将跨越两个扇区,而4K对齐就是空出63号扇区之后的几个扇区使后续物理扇区都保持只包含一个4K簇的布局。
billlee
2014-07-12 14:10:08 +08:00
维基百科上这段的用词有点问题吧,Flash ROM 上的单元叫做 page, 一般不叫物理扇区。
一般的解释是:
扇区:512 bytes, 磁盘上的最小单位
簇:文件系统中的最小单位,很多情况下是 4096 bytes
现在的 SSD 使用的是 Flash ROM, Flash page 是按 page 擦除的,一个 page 一般是 4096 Bytes
按照上面的大小,1 簇 == 1 page == 8 扇区,

在 Windows/NTFS 上,每个分区的前面 63 扇区是引导区,从第 63 扇区开始是文件系统。在磁盘上,这是没有问题的,每个簇就由 8 个扇区构成。但在 SSD 上,就变成了每个簇对应了一个 page 的最后 512 bytes 和另一个 page 的 3584 bytes. 这样每次文件系统要求读写一个簇(4096 bytes)时,都要变成读写两个 page(8192 bytes) 的操作,肯定影响速度,并且不必要的擦除操作会缩短寿命。
nendors
2014-07-12 14:19:21 +08:00
@hazard mbr占了63个扇区
按照默认簇大小得出63扇区为多少个簇:
32256B÷4096B=7.875
那么接下来的每一个扇区则包含属于前一个簇的3584B空间 以及NTFS默认一个簇4096B-3584B空间 这样4k不对齐 每次NTFS读写会跨两个扇区 读写速度下降
(以上为个人理解,如果有错误 请指出)
billlee
2014-07-12 14:23:03 +08:00
@nendors 那不叫 MBR, 占 63 扇区是 NTFS 的“引导区”, MBR 在每个磁盘的最开头,占 1 扇区。
nendors
2014-07-12 14:25:22 +08:00
至于所说的空间浪费 经过google 找到一个页面http://www.tomshardware.com/reviews/advanced-format-4k-sector-size-hard-drive,2759.html
指的是4个512B分区中ECC所占的空间比1个4K分区中的大吧
nendors
2014-07-12 14:27:42 +08:00
@billlee 谢谢 我被这条wiki坑了 原文中的主引导记录跳转到了MBR
NTFS文件格式因为「主引导记录」占用了一个磁道共63个扇区[1],真正储存用户文件的扇区一般都在63号扇区之后,那么依照计算得出前63个扇区大小为:
yfdyh000
2014-07-12 14:38:41 +08:00
@billlee 机械硬盘也有4K对齐问题。
srsman
2014-07-12 14:51:05 +08:00
真不知道纠结这些玩意干嘛?
billlee
2014-07-12 14:58:20 +08:00
@nendors 算 ECC 的时候是按照物理块算的,和是否对齐没关系吧

@yfdyh000 恩,你说得对,现在的磁盘物理块一般也是 4KB
hazard
2014-07-12 14:59:42 +08:00
@billlee 依你所言似乎没有磁盘空间的浪费?
msg7086
2014-07-12 16:09:18 +08:00
@hazard 没有造成空间浪费,纯粹的毁硬盘而已。
chenshaoju
2014-07-12 19:18:46 +08:00
楼主看这个网址里的Flash动画就明白了:

http://www.paragon-software.com/home/partition-alignment/

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/122285

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX