Abstract: Under block-aware encoding, a bitmap represented by atoms comprises a series of bitmaps for each data block in a database. Each bitmap in the series is referred to herein as a block bitmap. Each block bitmap may have a different number of bytes or bits. Gaps are represented in atoms using a pair of numbers referred to as a gap code. A gap code includes a block-skip code and slot-skip code. A block-skip code represents how many block bitmaps to advance to reach a subsequent block bitmap; a slot-skip code represents how many bytes to advance within the block bitmap to reach a byte with at least one bit set. A gap code is represented by bit positions within a byte, with some bit positions allocated to represent the block-skip code and some to represent the slot-skip code. The allocation is adjusted dynamically during encoding and decoding.
Abstract: This disclosure sets forth the use of input 2-bit encoders to form an encoder network capable of handling any number of encoder inputs by using the VALID output of each input 2-bit encoder as a data input to a later stage encoder and to select 2-way selector circuits using the code outputs of the input 2-bit encoders for selection of highest match.This is accomplished through the use of first and second input 2.sup.n encoders, the first being provided with the 2.sup.n high order inputs and the second being supplied with the 2.sup.n low order inputs and the outputs of the input encoders being coupled to a single 2-input encoder and n 2-way selectors to provide an encoder network with fewer circuits and better performance due to fewer stages of delay.If the number of desired inputs to the network is less than 2.sup.n but greater than 2.sup.n-1, known logic reduction techniques may be applied to the next higher 2.sup.n input encoder network to implement the desired 2.sup.n-1 encoder network.