10

我想知道即将到来的 SSD 技术如何影响(大多数系统)编程。出现了很多问题,但这里有一些最明显的问题:

  • 磁盘访问速度是否可以考虑接近内存速度?
  • 如果不是,它只是一种临时状态,还是有一些根本原因导致 SSD 永远不会像 RAM 一样快?
  • B-Trees(及其表亲)仍然相关吗?
  • 如果是这样,是否对 SSD 的 B-Trees(B+-Trees、R-Trees 等)进行了任何调整或修改?如果没有,是否还有其他为 SSD 设计的数据结构?
4

6 回答 6

8

SSD 确实消除了读取的寻道时间问题,但在它们上高效写入却非常棘手。我们一直在对这些问题进行一些研究,同时寻找将 SSD 用于 Acunu 存储核心的最佳方式。

你可能会觉得这些很有趣:

于 2011-08-22T12:02:37.007 回答
3
  • 当前基于闪存的 SSD 几乎没有主存 DRAM 快。非易失性存储器技术最终会像 DRAM 一样表现出色吗?总有一天。有很多有前途的技术正在开发中。
  • SSD 性能的瓶颈之一是 SATA 接口。随着技术的改进,SSD 将连接到 DRAM 或 PCIe 总线。
  • 只要内存访问是按块执行的,B 树仍然是相关的。甚至 DRAM 也是按块访问的,流行的块缓存在 CPU 中。虽然难以实现,但设计用于在 DRAM 中运行的 B 树可以胜过其他类型的易失性搜索树。但是,在树中包含数百万个条目之前,性能优势可能不会很明显。
  • 为 SSD 实现的 B 树受益于块分配的改进。当前一代闪存 SSD 更喜欢按顺序写入。随着 B-tree 的增长(或变化),新的块应该按顺序分配以获得最佳的写入性能。基于日志的存储格式应该做得很好,但我还没有看到任何可扩展的实现。随着顺序写入和随机顺序写入之间的性能差距缩小,分配顺序将变得不那么重要。
于 2011-07-17T15:31:01.293 回答
2
  1. RAM 不必记住重置/重启后的状态。我非常怀疑 SSD 是否会像 RAM 一样快。
  2. B 树仍然非常重要,因为您仍在尝试最小化磁盘读取。
于 2011-07-04T12:21:05.233 回答
1

虽然 SSD 的寻道时间比 HDD 的要好一两个数量级,但与 RAM 相比,这些时间仍然很重要。这意味着与寻道时间相关的问题并没有那么糟糕,但它们仍然存在。吞吐量仍然远低于 RAM。除了存储技术,连接也很重要。RAM 在物理上非常靠近主板上的 CPU 和其他组件,并使用特殊的总线。大容量存储设备没有这个优势。存在电池支持的 RAM 模块包,它们可以作为超快的 HDD 替代品,但如果它们通过 SATA、SCSI 或其他典型磁盘接口连接,仍然比系统 RAM 慢。

这意味着 B 树仍然很重要,为了获得高性能,您仍然需要注意 RAM 中的内容和永久存储中的内容。由于整个架构和物理限制(非易失性写入可能总是比易失性写入慢),我认为这个差距可能会变得更小,但我怀疑在任何可预见的未来它会完全消失。即使您查看“RAM”,您实际上也没有单一的速度,而是几个级别越来越快(但更小且更昂贵)的缓存。因此,至少存在一些差异。

于 2012-04-27T11:44:35.953 回答
1

一个因素很容易想到......

由于使磁头在相距较远的磁道之间移动的相对成本较高,因此将硬盘驱动器视为磁带驱动器的趋势越来越明显。这导致人们努力优化数据访问模式,以便磁头可以在表面上平稳移动,而不是随机搜索。

SSD 实际上消除了寻道损失,因此我们可以不必过多担心磁盘上的数据布局。(更准确地说,由于磨损均衡问题,我们有不同的担忧)。

于 2011-07-04T12:15:41.870 回答
0

我在 SSD 和 RamDisk 上测试了构建时间,SSD 快了一点。我的同事用完全不同的设置实现了相同的结果——HDD 上的构建时间为 9 分钟,RamDisk 上的构建时间为 3 分钟 30 秒,SSD 上的构建时间为 3 分钟 0 秒。

于 2012-01-13T15:04:04.737 回答