An Efficient High-Throughput LZ77-Based Decompressor in Reconfigurable Logic

Jian Fang*, Jianyu Chen, Jinho Lee, Zaid Al-Ars, Peter Hofstee

*Corresponding author for this work

Research output: Contribution to journalArticleScientificpeer-review

5 Citations (Scopus)
220 Downloads (Pure)

Abstract

To best leverage high-bandwidth storage and network technologies requires an improvement in the speed at which we can decompress data. We present a “refine and recycle” method applicable to LZ77-type decompressors that enables efficient high-bandwidth designs and present an implementation in reconfigurable logic. The method refines the write commands (for literal tokens) and read commands (for copy tokens) to a set of commands that target a single bank of block ram, and rather than performing all the dependency calculations saves logic by recycling (read) commands that return with an invalid result. A single “Snappy” decompressor implemented in reconfigurable logic leveraging this method is capable of processing multiple literal or copy tokens per cycle and achieves up to 7.2GB/s, which can keep pace with an NVMe device. The proposed method is about an order of magnitude faster and an order of magnitude more power efficient than a state-of-the-art single-core software implementation. The logic and block ram resources required by the decompressor are sufficiently low so that a set of these decompressors can be implemented on a single FPGA of reasonable size to keep up with the bandwidth provided by the most recent interface technologies.

Original languageEnglish
Pages (from-to)931-947
Number of pages17
JournalJournal of Signal Processing Systems
Volume92
Issue number9
DOIs
Publication statusPublished - 2020

Keywords

  • Acceleration
  • CAPI
  • Decompression
  • FPGA
  • Snappy

Fingerprint

Dive into the research topics of 'An Efficient High-Throughput LZ77-Based Decompressor in Reconfigurable Logic'. Together they form a unique fingerprint.

Cite this