ssd坏块检测工具 ssd控制器市场( 二 )


15. 对齐写入在页面大小上对齐写入,并写入页面大小的倍数的数据块 。、
16.缓冲小数据量写为了最大限度地提高吞吐量,尽可能将小数据量写入 RAM 中的缓冲区,当缓冲区已满时,执行单次大数据量写以批处理所有小写 。
17.为了提高读取性能,将相关数据一起写入读取性能是写入模式的结果 。当一次写入大量数据时,它会分布在单独的 NAND 闪存芯片上 。因此,您应该在同一页、块或集群块中写入相关数据,以便稍后通过利用内部并行性通过单个 I/O 请求更快地读取这些数据 。
18. 分离读写请求由小型交错读取和写入混合构成的工作负载将阻止内部缓存和预读机制正常工作,并导致吞吐量下降 。最好避免同时读取和写入,并在大块中依次执行它们,最好是集群块的大小 。例如,如果必须更新 1000 个文件,您可以迭代这些文件,对文件进行读写,然后移动到下一个文件,但这会很慢 。最好一次读取所有 1000 个文件,然后一次写回这 1000 个文件 。
19.批量失效数据当某些数据不再需要或需要删除时,最好在单个操作中大批量等待并使其失效 。这将允许垃圾收集器进程一次处理更大的区域,并有助于最大限度地减少内部碎片 。
20. 随机写入并不总是比顺序写入慢如果写入很小(即低于集群块的大小),则随机写入比顺序写入慢 。如果写入既是集群块大小的倍数又与集群块大小对齐,则随机写入将使用所有可用的内部并行级别,并且将执行与顺序写入一样好 。对于大多数驱动器,群集块的大小为 16 MB 或 32 MB,因此使用 32 MB 是安全的 。
21.一个大的单线程读比很多小的并发读好并发随机读取无法充分利用预读机制 。此外,多个逻辑块地址可能会出现在同一个芯片上,而不是利用或利用内部并行性 。大型读操作将访问顺序地址,因此将能够使用预读缓冲区(如果存在)并使用内部并行性 。因此,如果例允许,最好发出大型读取请求 。
22.一个大的单线程写比很多小的并发写好大型单线程写入请求提供与许多小型并发写入相同的吞吐量,但在延迟方面,大型单线程写入比并发写入具有更好的响应时间 。因此,只要有可能,最好执行单线程大写 。
23.当写量较小且不能分组或缓冲时,多线程是有益的许多并发的小的写请求将提供比单个小的写请求更好的吞吐量 。所以如果I/O很小,不能批量处理,最好使用多线程 。
24.冷热数据分离热数据是变化频繁的数据,冷数据是变化不频繁的数据 。如果一些热数据和一些冷数据存储在同一个页面中,那么每次在读-修改-写操作中更新热数据时,冷数据都会被一起复制,并且会在垃圾收集期间一起移动以进行磨损均衡 。尽可能将冷热数据拆分成单独的页面将使垃圾收集器的工作更轻松 。
25. 缓存热点数据应尽可能多地缓冲极热数据和其他高变化的元数据,并尽可能不频繁地将其写入驱动器 。
系统优化26. PCI Express 和 SAS 比 SATA 快制造商提供的两个主要主机接口是 SATA 3.0(550 MB/s)和 PCI Express 3.0(每通道 1 GB/s,使用多个通道) 。串行连接 SCSI (SAS) 也可用于企业 SSD 。在它们的最新版本中,PCI Express 和 SAS 比 SATA 更?快,但它们也更贵 。
27. 过度配置对于磨损平衡和性能很有用只需将驱动器格式化为小于最大物理容量的逻辑分区容量,即可过度配置驱动器 。对用户不可见的剩余空间仍将可见并由 SSD 控制器使用 。过度配置有助于磨损平衡机制应对 NAND 闪存单元固有的有限寿命 。对于写入不那么重的工作负载,10% 到 15% 的过度空间配置就足够了 。对于持续随机写入的工作负载,保持高达 25% 的过度空间配置将提高性能 。超额配置将充当 NAND 闪存块的缓冲区,帮助垃圾收集过程吸收写入峰值 。


以上关于本文的内容,仅作参考!温馨提示:如遇健康、疾病相关的问题,请您及时就医或请专业人士给予相关指导!

「四川龙网」www.sichuanlong.com小编还为您精选了以下内容,希望对您有所帮助: