JFS 資料壓縮演算法
壓縮演算法是 LZ 的 IBM® 版本。一般而言,LZ 演算法壓縮資料的方式是,以識別給定字串首次出現位置及其長度的指標,來代表該字串的第二次及以後的出現。
壓縮處理程序一開始時,尚未識別任何字串,因此必須至少以「原始」字元(需要 9 位元)來代表資料的第一個位元組(0、位元組)。 壓縮給定數量的資料(如 N 個位元組)後,壓縮程式會在 N 個位元組中 搜尋與下一個未處理位元組開始處字串相符的最長字串。如果最長的相符字串長度為 0 或 1,則會將下一個位元組編碼為「原始」字元。否則,會以(指標、長度)配對來代表該字串,且所處理的位元組數會按長度遞增。在架構上,IBM LZ 可支援 N 值為 512、1024 或 2048。IBM LZ 會指定(指標、長度)配對及原始字元的編碼。指標是大小為 log2 N 的固定長度欄位,而其長度被編碼為可變長度欄位。