【问题标题】:Hardware Lossless Compression for Hard Drives? [closed]硬盘的硬件无损压缩? [关闭]
【发布时间】:2010-10-04 08:03:52
【问题描述】:

我偶然发现了这篇关于 hardware based hard drive encryption 的文章,并意识到这不仅是保护您的数据的好方法,而且还可以加快我们用来加密该数据的应用程序的速度。

这让我想知道......

是否可以对压缩执行相同的操作,以便在读取和写入驱动器时对所有数据进行适当的压缩或解压缩?

我已经有一段时间没有进行任何固件编程了,所以我什至不确定这在技术上是否可行。

但是,如果是这样,它可能会给人们提供更多的存储空间。

在固件中使用这种方法进行编程的优缺点是什么?

【问题讨论】:

  • 我们需要澄清/lossless/压缩吗?有损硬盘压缩究竟会带来什么?
  • 哈哈哈——好问题。没想到:)
  • 压缩最好在文件系统级别完成——NTFS 和 ZFS 以及一些专门的文件系统支持文件的压缩存储。过去,Stacker 采用了一些令人印象深刻的技巧,如果您使用扇区 i/o,压缩驱动器仍然看起来像一个普通的 FAT 文件系统,但现在已经不是什么大问题了。

标签: compression hardware lossless-compression hard-drive


【解决方案1】:

在速度为 100 美元的 1TB 驱动器的世界中,这是一种比空间更有价值的资源。这不值得。

编辑:

啊,所以您是说从盘片中抓取 100 字节的压缩数据,解压缩然后将其发送到系统,而不是抓取 800 字节的未压缩数据并将其发送到系统会更快因为寻道时间太慢了。

这似乎是一个聪明的方法,但我敢打赌,如果最终值得权衡,硬盘制造商已经采用了这种技术,尽管事实上硬盘驱动器的速度仍然如此。

但谁知道呢,你可能正在做点什么!

【讨论】:

  • 但是数据吞吐量的增加是否值得?硬盘驱动器是计算机中最慢的组件之一。如果您可以在与获得 100mb 数据的时间相同的时间内获得 200mb 的数据,那岂不是一种进步?
【解决方案2】:

我记得大约 15 年前,我看到了一个广告,说有一个可以进行硬件压缩的 IDE 控制器卡。不确定它是否有任何好处。那是 1GB 驱动器超过 1,000 美元的日子。

【讨论】:

    【解决方案3】:

    谁还记得 Stacker?这一切都已经是done-to-death in the '80's/90's。速度从来都不是问题,也不是“棘手的”。这些天完全没有必要。

    【讨论】:

      【解决方案4】:

      如前所述,收益并不大,尤其是如果您以压缩形式存储很少访问的文件。

      因为在硬件中很难做到(应该报告什么磁盘大小?如果输入的熵等于它的大小,你会怎么做?)而且现代 CPU+RAM 与 HDD 相比无论如何都快得惊人,只要做它在软件中。

      我知道的一个实现是 compFUSed,它位于任何其他文件系统之上,另一个是 ZFS Blog entry about how to enable it,它原生支持压缩。

      【讨论】:

        【解决方案5】:

        前段时间我也想过这个想法用于网络流量-之前已经做过:有加速卡用于使用gzip进行压缩:http://www.aha.com/show_prod.php?id=36

        我还想过另一个好处是,现在您可以在不压缩驱动器内容的情况下进行传输 - 只需从磁盘读取压缩块并发送,而不必在以后进行压缩。

        【讨论】:

          【解决方案6】:

          这是可能的,但非常非常棘手。您必须开发自定义驱动程序,因为虽然加密扇区与常规扇区大小相同,因此使用相同的数学来查找数据,但压缩扇区“更小”,因此您要么必须持有“真实”扇区的地图才能操作系统中或驱动器本身上的压缩扇区。

          唯一的另一个方面是访问速度和延迟。它不应该影响搜索,但压缩数据可能需要比写入数据更长的时间 - 压缩是相当密集的计算。

          此外,在您获得大量数据之前,压缩并不是很好。您可能可以即时压缩 512 字节(1 个扇区)并平均获得百分之几的压缩,但人们真的希望看到 20% 甚至更多的压缩,然后才愿意为硬件支付额外的现金。

          它将需要更多的磁盘处理能力和内存,这将增加驱动器的成本。

          此外,驱动器容量的增长速度可能不符合成本效益。

          例如,假设您开发了一种神奇的压缩技术,它可以在没有性能下降、没有额外(易碎或容易崩溃的)驱动程序、适用于任何操作系统等的情况下将空间翻倍。但它增加了 100 美元的成本开车。

          现在有人为 1TB 驱动器执行此操作并将其转换为 2TB 驱动器可能是有意义的,但 6-8 个月后 2TB 驱动器将低于 200 美元。任何较小的驱动器都不值得,因为您现在只需 99 美元即可获得 1TB。

          如果你做到了,它可以在驱动器和计算机之间工作,你将比直接将它构建到驱动器中具有更大的延迟,并且价格/性能损失可能不值得。

          因此,从技术上讲这是可能的,但存在缺陷并增加了系统的复杂性和弱点,但即使它没有这些缺点,也可能不值得。

          -亚当

          【讨论】:

            【解决方案7】:

            另一个考虑因素是磁盘上的大多数大文件(音乐、图片和视频)通常已经压缩(MP3、JPEG、MP4/MOV),因此压缩对这些文件没有帮助。而未压缩的文件(文本文件、文字处理、电子邮件文本)往往是杯水车薪。

            我自己也想知道同样的事情,因为我正在搜索数千个 gzip 压缩的文本文件,并解压缩我的四核 i7,我想知道专用 gzip 硬件是否可以像 GPU 加速并行处理一样加快这个速度。但我怀疑上述担忧会导致对于大多数用途来说,压缩硬盘驱动器不会有太大帮助。

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 2010-09-30
              • 2023-03-20
              • 2016-01-31
              • 2012-06-28
              • 1970-01-01
              • 2010-09-15
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多