有没有办法在 Linux/Unix 上找出 SSD 页面大小?fdisk 输出中的“物理块”是什么?

xea*_*its 23 ssd

我在任何地方都读到内部 SSD 的结构是 4K 或更大的“页面”,这些“页面”被分组为大约 128-256 页(1 , 2)的“块” 。SSD 使用这些页面和块,“它们只能在块级别擦除数据”(因此页面块称为“[NAND] 擦除块”)。并且模拟分区的 512B 块(这样做是出于遗留原因)。

我正在尝试接受 SSD 方面的教育,因为在三星 9 np900x3c 笔记本电脑上写入我的 Sandisk U100 期间我有一些奇怪的滞后/冻结。一件有用的事情是正确找出我的 SSD 有哪些页面/块?

/sys/...Linux 上是否有用于确定 SSD 页面大小的实用程序或文件?

或者“可能需要驱动器和谷歌搜索 NAND 芯片上的部件号”,如评论所述

谷歌搜索我的 Sandisk SSD 我找不到合适的数据表/规格。但是Sandisk人们确实提到了“4K 随机读/写”。这是否意味着磁盘有 4K 页?

此外,还fdisk显示扇区大小(物理和逻辑)和 I/O 512 字节:

Disk /dev/sda: 128.0 GB, 128035676160 bytes
255 heads, 63 sectors/track, 15566 cylinders, total 250069680 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x4b914713

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048    50331647    25164800   83  Linux
/dev/sda2        50331648   239583231    94625792   83  Linux
/dev/sda4       239583232   250068991     5242880   82  Linux swap / Solaris
Run Code Online (Sandbox Code Playgroud)

这里的“物理”扇区大小是多少?好像不是SSD驱动本身的参数,因为大家都说SSD页面是4K+。它是磁盘的模拟参数吗?“逻辑”是分区的扇区大小?另外,什么是 I/O 大小?

聚苯乙烯

这个问题可能是一样的这一个USB闪存-答案是缺少点在那里,man fsstatfsstat displays the details associated with a file system,问题是关于磁盘本身。我的帖子有更多细节,也许它会吸引更好的回应?

Ale*_*exP 14

  • 报告fdisk的物理块大小是磁盘在询问时报告的物理块大小。它很少与 SSD 页面或擦除块有任何关系。

  • 4 KiB 读/写是 I/O 性能的常用度量,代表“小”I/O 操作。

  • SSD 没有标准方法来报告其页面大小或擦除块大小。很少有制造商在数据表中报告它们。(因为它们可能会在 SKU 的生命周期内发生变化,例如因为供应商的变化。)英特尔的一份白皮书表明 4 KiB 对齐就足够了。

  • 对于实际使用,只需将所有数据结构(分区、LUKS 容器的有效负载、LVM 逻辑卷)与 1 或 2 MiB 边界对齐。毕竟它是一个 SSD——它旨在处理常见的文件系统,例如 NTFS(使用 4 KiB 分配单元)。如果 Windows 认为将分区对齐到 1 MiB 就足够了,您可以打赌任何 SSD 制造商都会确保他们的产品在这样的配置下运行良好。

  • 最好在任何分区外保留大约 5% 到 10% 的未分配空间。超额配置空间对 SSD 及时保持其性能有很大帮助。


小智 7

我通过查看\nSMART 属性 241 Total_LBA_Written 测试了误报 SSD。

\n

警告:以下命令将损坏您的数据:
\n然后dd if=/dev/zero of=/dev/ssd_drive bs=1 count=1
\n(需要在没有文件系统开销的情况下执行此操作)。

\n

对于报告扇区大小为 512 的 Samsung 850 EVO,\n仅写入一个字节,计数就会增加 8。

\n

所以 8\xc3\x97512=4096 ,写入bs=4096也增加了 8。

\n

这意味着驱动器将始终在内部写入 4096 字节扇区。

\n