1. A method for compressing an input stream of a plurality of input words, the method comprising: for each successive input word of the input stream, determining whether the input word matches an entry in a lookback table, the lookback table storing a plurality of entries; updating the lookback table in response to the input word; generating a codeword by entropy encoding a data type corresponding to the input word, each input word being one of a plurality of data types, the plurality of data types including at least a first data type indicating full matching between the input word and an entry in the lookback table and a second data type indicating partial matching between the input word and an entry in the lookback table; and generating an output stream, the output stream including codewords ordered correspondingly to the input words of the input stream.
1. A method for compressing an input stream of a plurality of input words, the method comprising: for each successive input word of the input stream, determining whether the input word matches an entry in a lookback table, the lookback table storing a plurality of entries; updating the lookback table in response to the input word; generating a codeword by entropy encoding a data type corresponding to the input word, each input word being one of a plurality of data types, the plurality of data types including at least a first data type indicating full matching between the input word and an entry in the lookback table and a second data type indicating partial matching between the input word and an entry in the lookback table; and generating an output stream, the output stream including codewords ordered correspondingly to the input words of the input stream. 2. The method of claim 1 , wherein the plurality of data types includes a plurality of third data types, each third data type indicating a run length of a unique number of zeros, and each of a plurality of run lengths is encoded as a different codeword.