Deflate decompressor
| DWPI Title: Deflate decompressor apparatus for use as e.g. hardware offload, within packet processor e.g. router, to implement real time high speed deep packet analysis on Ethernet packet, has output buffer unit, which is coupled to decompressor unit |
| Abstract: A deflate decompressor includes at least one decompressor unit, a memory access controller, a feedback path, and an output buffer unit. The memory access controller is coupled to the decompressor unit via a data path and includes a data buffer to receive the data stream and temporarily buffer a first portion the data stream. The memory access controller transfers fixed length data units of the data stream from the data buffer to the decompressor unit with reference to a memory pointer pointing into the memory buffer. The feedback path couples the decompressor unit to the memory access controller to feed back decrement values to the memory access controller for updating the memory pointer. The decrement values each indicate a number of bits unused by the decompressor unit when decoding the fixed length data units. The output buffer unit buffers a second portion of the data stream after decompression. |
| Use: Deflate decompressor apparatus for use as a hardware offload, and an acceleration engine within a packet processor e.g. network appliance box such as router, switch, traffic shaper, traffic analyzer, and packet sniffer, to implement real time high speed deep packet analysis (DPA) on a packet i.e. Ethernet packet, that carries a compressed data block. Can also be used for implementing real-time access to compressed data storage on a storage device e.g. hard disk drive, non-volatile memory device such as flash memory device, and volatile memory device such as RAM, and in a network interface card of a computing system to facilitate real-time compressed data communication over a bandwidth constrained communication link. |
| Advantage: The apparatus can efficiently decompress the data compressed with a deflate algorithm. The apparatus enables dynamic decompression data flow to serialize decompression of the length/literal (LEN/LIT) values before decompressing distance values to economize memory usage. The apparatus enables identifying nonzero values so as to increase speed and efficiency of a dynamic decompressor unit by enabling a table generator to skip entries within a LEN/LIT codelengths memory and a distance codelengths memory having an unassigned or zero value, thus reducing number of read cycles while building tables. |
| Novelty: The apparatus (400) has a decompressor unit (415) for decompressing an input data stream (407) compressed according to a deflate compression algorithm. A memory access controller (405) is coupled to the decompressor unit via a data path (416), and includes a data buffer (437) to receive and temporarily buffer the data stream. A feedback (FB) path is coupled between the decompressor unit and the controller, where the decompressor unit feeds back decrement values to the controller for updating a memory pointer (436). An output buffer unit (425) is coupled to the decompressor unit. |
| Filed: 3/23/2010 |
| Application Number: US2010729816A |
| Tech ID: SD 11428.0 |
| This invention was made with Government support under Contract No. DE-NA0003525 awarded by the United States Department of Energy/National Nuclear Security Administration. The Government has certain rights in the invention. |
| Data from Derwent World Patents Index, provided by Clarivate All rights reserved. Republication or redistribution of Clarivate content, including by framing or similar means, is prohibited without the prior written consent of Clarivate. Clarivate and its logo, as well as all other trademarks used herein are trademarks of their respective owners and used under license. |