什么是现代 SSD 的原子写入单元?
Posted
技术标签:
【中文标题】什么是现代 SSD 的原子写入单元?【英文标题】:What is a atomic write unit for mordern SSDs? 【发布时间】:2017-11-05 17:56:04 【问题描述】:我的理解是,最现代的基于主轴的驱动器都有一个“扇区”作为原子写入单元。现代ssds的单位是什么?
【问题讨论】:
【参考方案1】:我不完全确定您所说的原子写入单元是什么意思。我假设您的意思是最小的写入单位。
在 NAND 闪存 SSD 中,读写的最小单位称为页。通常,页面大小为 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
【讨论】:
【参考方案2】:SSD 内部有页面大小,这是最小的硬件存储单元(通常为 2048 字节)。
还有取决于用于与 SSD 通信的协议的块大小(通常为 512)。我看到我的 PC 在 Wireshark 中通过 SCSI 与 USB SSD 通信。
假设 SCSI SSD 的页面大小为 2048,块大小为 512。
让我们在磁盘的最开始写一页。 虽然 SCSI 将页面分为 4 个块,但操作应该保持原子性。
现在我们从偏移量 1024 开始写入 2048 个字节。缓冲区的一半现在位于第 0 页,其余位于第 1 页。操作不再是原子操作。
【讨论】:
以上是关于什么是现代 SSD 的原子写入单元?的主要内容,如果未能解决你的问题,请参考以下文章