什么是现代 SSD 的原子写入单元?

What is a atomic write unit for mordern SSDs?

我的理解是,最现代的基于主轴的驱动器具有 "sector" 作为原子写入单元。现代固态硬盘的单位是什么?

我不完全确定原子写入单元是什么意思。我假设你的意思是最小的写入单位。

在NAND-flash SSD中,读写的最小单位称为page。通常,页面大小为 2kB 或 4kB,加上元数据。

另外,擦除的最小单位是几页(32-128页)。

来源:

http://codecapsule.com/2014/02/12/coding-for-ssds-part-3-pages-blocks-and-the-flash-translation-layer/

https://en.wikipedia.org/wiki/Flash_memory#NAND_memories

SSD里面有个page size是最小的硬件存储单元(经常是2048字节)。

还有块大小(通常为 512)取决于用于与 SSD 通信的协议。我在 Wireshark 中看到我的 PC 通过 SCSI 与 USB SSD 通信。

假设 SCSI SSD 的页面大小为 2048,块大小为 512。

让我们在磁盘的最开始写一页。 尽管 SCSI 将页面分为 4 个块,但操作应保持原子性。

现在我们从偏移量 1024 开始写入 2048 个字节。缓冲区的一半现在位于第 0 页,其余部分位于第 1 页。操作不再是原子操作。