我最近拿起了 Crucial M500 240GB SSD(20nm NAND),我正在尝试找出对其进行分区的最佳方法。目前,我正在使用fdisk -cu
从部门开始2048
。
我相信nand page size
是 16KB。
我在任何地方都找不到nand erase block size
它的用途。
有谁知道这个问题的答案或关于对这个特定系列的 SSD 进行分区的一般建议?
小智 10
此信息有时会在 SSD 制造商规范中发布,但有时不存在,尤其是对于 CF 或 SD 存储卡。除了使用 Google 搜索已经完成研究的其他人之外,您可以尝试使用 FlashBench 自己进行估算。在这里下载:https : //github.com/bradfa/flashbench
此工具在 SSD 上进行随机读取,并将绘制一个显示读取时间的表格。(您应该已经对 SSD 进行了一些写入,因为读取全部擦除的页面通常是由控制器芯片模拟的。)通过按块大小查找时间中断,您可以推断擦除块大小是多少。以下是来自 的示例README
:
== 猜测擦除块和页面大小 ==
Run Code Online (Sandbox Code Playgroud)''flashbench -a <device>''
这是一个简单的只读测试,可以跨各种大小的边界进行小量读取。例子:
Run Code Online (Sandbox Code Playgroud)$ sudo ./flashbench -a /dev/mmcblk0 --blocksize=1024 align 134217728 pre 735µs on 1.08ms post 780µs diff 324µs align 67108864 pre 736µs on 1.05ms post 763µs diff 300µs align 33554432 pre 722µs on 1.04ms post 763µs diff 294µs align 16777216 pre 727µs on 1.05ms post 772µs diff 302µs align 8388608 pre 724µs on 1.04ms post 768µs diff 299µs align 4194304 pre 741µs on 1.08ms post 788µs diff 317µs align 2097152 pre 745µs on 950µs post 811µs diff 171µs align 1048576 pre 745µs on 945µs post 807µs diff 169µs align 524288 pre 743µs on 936µs post 799µs diff 165µs align 262144 pre 746µs on 948µs post 809µs diff 171µs align 131072 pre 737µs on 935µs post 804µs diff 165µs align 65536 pre 735µs on 925µs post 796µs diff 159µs align 32768 pre 735µs on 925µs post 800µs diff 157µs align 16384 pre 745µs on 911µs post 781µs diff 148µs align 8192 pre 785µs on 808µs post 725µs diff 53.3µs align 4096 pre 784µs on 788µs post 779µs diff 5.85µs align 2048 pre 787µs on 793µs post 789µs diff 4.65µs
这显示了围绕 2 的幂对齐块的边界进行两次 1024 字节读取的访问时间。读取 128 MB 单元的末尾大约需要 735 微秒,读取该单元的最后一个块和下一个的第一个块大约需要 1080 微秒,读取 128 MB 单元中的前两个块大约需要 780 微秒。
这里最有趣的数字是最后一个,第二个数字与第一个和第三个的平均值之间的差异是 324 微秒。对于 4 MB 到 128 MB 之间的所有单元,这些数字都大致相同。
但是,从 2 MB 到 16 KB,最后一列的值要低得多。这表明存储卡在 4 MB 边界上所做的任何事情都不会发生在其他边界上。这里有根据的猜测是 4 MB 是擦除块大小,也称为段或分配单元大小。此擦除块大小将需要在此之后的其他测试中使用。
同样,16 KB 和 8 KB 的边界都是特殊的。对此的逻辑解释是该卡有 8 KB 页面,但可以使用多平面访问同时读取两个 8 KB 页面。
一些卡片使用具有特定块大小的访问仅显示清晰的模式,其他卡片不显示任何模式,这意味着需要以不同方式确定数字。
此外,从未完全写入的卡可能会表现出不同的行为,因为预擦除段的访问时间与已写入的段不同。
擦除块大小与对齐无关,并且M500支持垃圾收集,因此性能不是问题。请参阅美光网站上此 PDF的第二页,这将帮助您根据 M500 中使用的 NAND 确定擦除块大小。
至于对齐建议,请查看这篇精彩的超级用户帖子。
这是页面的屏幕截图: