JPH02233025A - 可変長ストリング符合装置 - Google Patents

可変長ストリング符合装置

Info

Publication number
JPH02233025A
JPH02233025A JP2013453A JP1345390A JPH02233025A JP H02233025 A JPH02233025 A JP H02233025A JP 2013453 A JP2013453 A JP 2013453A JP 1345390 A JP1345390 A JP 1345390A JP H02233025 A JPH02233025 A JP H02233025A
Authority
JP
Japan
Prior art keywords
string
data
data elements
signal
longest
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2013453A
Other languages
English (en)
Other versions
JP2830280B2 (ja
Inventor
Brian Ta-Cheng Hou
ブライアン・ターチェン・ホー
Craig D Cohen
クレイグ・ディー・コーヘン
James A Pasco-Anderson
ジェームス・エイ・パスコ―アンダーソン
Michael Gutman
マイケル・ガットマン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Motorola Solutions Inc
Original Assignee
Codex Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Codex Corp filed Critical Codex Corp
Publication of JPH02233025A publication Critical patent/JPH02233025A/ja
Application granted granted Critical
Publication of JP2830280B2 publication Critical patent/JP2830280B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/3084Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method
    • H03M7/3086Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method employing a sliding window, e.g. LZ77
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/90335Query processing
    • G06F16/90339Query processing by using parallel associative memories or content-addressable memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/90335Query processing
    • G06F16/90344Query processing by using string matching techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/02Comparing digital values
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/005Statistical coding, e.g. Huffman, run length coding
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C15/00Digital stores in which information comprising one or more characteristic parts is written into the store and in which information is read-out by searching for one or more of these characteristic parts, i.e. associative or content-addressed stores
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/02Indexing scheme relating to groups G06F7/02 - G06F7/026
    • G06F2207/025String search, i.e. pattern matching, e.g. find identical word or best match in a string
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • Y10S707/99936Pattern matching access

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Multimedia (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Materials For Medical Uses (AREA)
  • Polysaccharides And Polysaccharide Derivatives (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Ropes Or Cables (AREA)
  • Multi Processors (AREA)
  • Orthopedics, Nursing, And Contraception (AREA)
  • Prostheses (AREA)
  • Liquid Crystal Substances (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 (産業上の利用分野) この発明はストリング符合( string matc
hing)に関する。
(従来の技術) ストリング符合は一つのデータ拳ストリングの文字を別
のデータ●ストリングの文字に対して符合( matc
h )させるものであって、統計的マルチプレクサ及び
モデムを使用するデータ通信システムにおけるような例
えばデータ圧縮アルゴリズムに有用である。
第1図を参照すると、データ圧縮技術を使用する古典的
なデータ通信システム10において、送信機12からの
データは圧縮を受け、圧縮されたデータは通信チャンネ
ル16(第1図ではエラーのない通信チャンネルである
とする)を介して送信ざれる。該チャンネルの他端では
、圧縮されたデータはデコンプレス20され、元のデー
タΦストリームが再生される。
高帯域通信ネットワークに訃いては、実時間データ圧縮
の実質的な利点は、圧縮及びデコンプレションの過程K
関連した計算コストによって相殺されがちである。
公知のデータ圧縮アルゴリズムの中にZiv−Lemp
el  ’7 7アルゴリズム(ZL77)があり、こ
れは、可変長入力・固定長出力の部類( V−F類)の
データ圧縮アルゴリズムに属する。
ZL77アルゴリズムは、連続的なデータ●ストリーム
においては、1度より多く発生するデータがあり、特に
、データ・ストリームの局部領域においては1度より多
く発生するという単純な観察に基づいている。例えば、
テキスト●データのストリームにおいては、r the
 Jという語は頻繁に出現する傾向にある。データ源が
最近送出したデータの履歴を(いわゆる履歴バツ7アに
該データを記憶することによって)監視するならば、送
出すべき現在のデータの連続的な要素を記憶された履歴
データの連続的な要素と比較することにより、データ源
は一連のデータの余剰な発生を見出すことができる。圧
縮過程は可変長ストリング符合と呼ばれる。符合が見出
されると、送信機は、全部の冗長な列を再送出する代り
に、履歴バツファでの冗長データ列の以前の発生の場所
を指すコードワードとして該列を符号化し、その長さに
注目する。コードワードを表すのに必要なビット数が冗
長データ列を表すのに必要なピット数より少ないならば
、データ圧縮が達成される。チャンネルの他端では、最
近送出したデータの履歴パツファを同じように保持する
デコーダは履歴バツファでの特定された場所に注目する
ことによってコードワードを復号する。
第2図において、例えば、履歴バツファ11はデータ・
ストリームの文字が現われた順序を示すように番号が付
けられた16個のセル13(小さな番号のセルの方が最
近のデータを保持する)を有する。送出を待つデータ文
字は履歴バツファの右に示されている。送出されるべき
次の文字はSUPERBである。ZL 7 7により、
待っている文字の中の最初の5文字SUPERが履歴バ
ツファの同様のストリングと冗長であり、インデックス
と長さとイノベーション文字フィールドとから成るコー
ドワードl5として符号化することができると決定され
る。インデックス17は、履歴パツファにおいて何個の
文字を逆戻りすると符合したストリングが始まるかを示
す値12を有し、長さ19は符合した文字の長さを示す
値5を有し、イノベーション文字21は、待っている入
力ストリングの文字の中で履歴パツファのストリングと
符合しなかった最初の文字である。
第3画を参照すると、コードワードの送信後、旧データ
23を有効に左へスライドさせ、最新の入力データを履
歴バツファの右へ挿入させることによって、データ源は
その履歴バツファを更新する。そこで、データ源が次の
入力データを符号化する過程が開始される。
第4図を参照すると、データ受信機はそっくり同じ履歴
バツファ25を保持し、送信機がその履歴パツファを更
新するのと同一のやり方で履歴バツファ2′5を更新す
る。コードワードを受信すると、データ受信機はインデ
ックス・フィールドを使って最長の符合の場所を見出し
、長さを使って履歴バツ7アから読み出すべき文字の個
数を決定し、更らに、当該コードワードに現われたとき
のイノベーション文字を取り出す。そこで、第5図に示
すように、コードヮードの復号が完了すると、履歴バツ
ファの文字を有効に左へスライドさせ、復号された文字
とイノベーション文字とを右から挿入することによって
、データ受信機はその履歴バツファを更新する。
ストリング符合アルゴリズムを実行することができる1
つのハードウエア・アーキテクチャはコンテント命アド
レサプル●メモリ( contentaddressa
ble memory ; CAM)である。CAMは
、データを記憶しその内容によってアクセスすることが
できる多数のセルがら成る。読み出しサイクル期間に、
CAMはデータを取り込み、該データが見出されるアド
レスを出力する。
(発明が解決しようとする課題) 一つの特徴において、本発明は、データ要素の記憶され
た列内に、所与のデータ要素のデータ・ストリングと符
合する,記憶されたデータ要素の最長のストリングを見
出すステップであって、当該符合する列がデータ要素の
列を記憶することによって見出されるステップと、前記
データ・ストリングのデータ要素を前記列の対応する要
素と比較するステップと、符合が見出されたときに信号
を発するステップと、前記の比較を反復して行わせるス
テップであって、各々の反復が前記データ・ストリング
のデータ要素と記憶場所のデータ要素との比較゛を含む
ステップと、反復が比較回路による符合信号の発出を結
果しないときに基づいて最長の符合したストリングを決
定するステップとを特徴とする。
好ましい実施例は以下の特徴点を含む。記憶装置におい
て、各々の記憶場所は前記列のデータ要素の1つを保持
する。前記列の全てのデータ要素は前記データ舎ストリ
ングの所与のデータ要素と比較される。比較の結果とし
て発生される信号は一時記憶され、その後、前記列のそ
の隣接するデータ要素を前記データ・スl− IJング
の次の所与のデータ要素と比較するのに利用される。符
合信号の発生は、隣接するデータ要素のために一時的に
記憶された信号が符合を指示する場合を除いて禁止され
る。反復回数が計数され、符合信号を結果として生じな
い反復で終了する。符合する最長のストリングのデータ
要素数がこの計数に基づいて決定される。計数器が所定
値に達した後に反復は停止される。以上の構成は連想コ
ンテント・アドレサプル●メモリによって実行される。
データ要素は8ビット拳バイトである。最長のストリン
グはコードワードとして符号化され、その後に復号化さ
れて最長のストリングが再生される。
別の特徴において、本発明は、データ要素の記憶された
列内で、データ要素の所与のス} IJングと符合する
データ要素のストリングを識別し、符合するストリング
が絶対的アドレス指定によって識別されることを特徴と
する。
好ましい実施例は以下の特徴点を含む。データ列の全て
の記憶された要素は前記ス} IJングの所与のデータ
要素と比較され、符合を有する1個のアドレス可能な記
憶場所の絶対アドレスが比較過程の各反復において保持
される。1個のアドレス可能な記憶場所は各反復に課さ
れる任意の規則Kよって任意に選択される。符合する前
記ストリングのコードワードとしての符号化は絶対アド
レスに基づく。コードワードは符合されたストリングの
長さと場所とを指示する値を含む。
本発明は迅速且つ有効な可変長ストリング符合操作、符
号化及び復号な可能にする。ス} +Jング符合に必要
゛とされるステップの数は、符合されるストリングの長
さに依存する。コンテント●アドレサプル・メモリ技術
を用い、VLSI チツプ上で実行可能である。
他の利点及び特命は、以下の好ましい実施例の説明及び
特許請求の範囲から明確罠なろう。
(実施例) 構造及び動作 本発明において、ZL77アルゴリズムは、履歴バツフ
ァにおける符合するストリングの場所のインデックスを
与えることにより修正される。第6図を参照すると、コ
ードワード32のインデックス部30は、ここでは値4
を有する。この値は最長の符合が始まる履歴パツファで
の絶対場所を特定しており、古典的ZL77アルゴリズ
ムにシけるような、履歴バツファにおける最も新らしい
文字に対する場所を特定するものではない。長さ34は
値5を有するので、送信機はコードワード4.5を送信
する。受信機は、相対的インデックス操作に必要な減算
をする必要がなく、履歴パツファに対するポインタとし
てインデックスを使用するO 本発明においては、符合なし(即ち、長さ二〇)の場合
、送信機はデータ列の8ピットの生まの文字(例えば、
ASCII又はEBCIDICメッセージ)をインデッ
クス●フィールドに挿入し、長さフィールドに0を置く
。長さ0を検出すると、受信機は、履歴バツファから読
み出さずに、及び、データをポインタと区別するための
フラグを必要とすることなく、インデックス・フィール
ドから生まの文字を取り出す。本発明においては、イノ
ベーション文字はコードワードの一部として符号化され
ない。むしろ、・第7図を参照するに、イノベーション
文字は符号化されるべき次の入力ストリングの最初の文
字36となる。
発明の別の特徴において、修正されたZL77アルゴリ
ズムは履歴パツファを維持し探索するための機構として
、修正されたコンテント●アドレサプル・メモリを使用
する。第8図において、履歴バツファは0〜7までの番
号が付けられた8個の単純なプロセッサ400列38と
して形成されている。各プロセッサは比較器とローカル
・メモリ(図示せず)を有する。全部のプロセッサは文
字ストリームが出現する共通データ・ノくス(図示せず
)への同時アクセスを有する。
第8図において、送信を待つ現在のデータ・ストリング
c文字ストリーム)がabcdであるとする。プロセッ
サは同時に周期的に作動する。いわゆる比較(COMP
ARE)サイクルでは、(1)プロセッサのメモリにお
ける文字がデータ・パス上の現在の文字と符合し、(2
)該プロセッサの左隣りのプロセッサが前の比較サイク
ルにヒット( bit )を宣言( assert )
 Lた場合、当該プロセッサはヒットを宣言する。〔修
正されたアルゴリズムは各プロセッサにヒットを宣言さ
せることによって前記列を初期化する(初期化サイクル
〕。
ヒットは第8図ではプロセッサの下側の矢印で示されて
いる。〕文字raJがデータ・バスを介して全部のプロ
セッサへ送られると(比較raJサイクル)、プロセッ
サ0,1,4.7はヒット(矢印)を示す。なぜなら、
それらの内容は文字「a」と符合し、それらの左隣りは
前の(初期化)サイクルでヒットを持ったからである。
次いて、修正されたアルゴリズムは符合長を監視する長
さ計数器42を増分する。同時に、ヒットを持つセルの
1つのインデックス44が記録される。複数のセルがヒ
ットを持つことがあるので、規定どおりに、修正された
アルゴリズムはヒットを持つ最左端のプロセッサのイン
デックスを単に記録する。
第2の比較サイクルにおいて、rbJが比較のためにデ
ータ・パスを介して送出され、プロセッサ2のみがヒッ
トを持つ。再びアルゴリズムは長さ計数器を増分し、ヒ
ットを持つ最左端のプロセッサ(2)のインデックスを
記録する。
第3の比較サイクルにおいて、rcJが比較のためにデ
ータ・パスを介して送出され、プロセッサ6がrcJを
収容しているけれども、プロセッサ3のみがヒットを宣
言する。これは、プロセッサ6の左隣りのプロセッサ5
が前の比較サイクルでヒットを宣言しなかったからであ
る。再び、アルゴリズムは長さ計数器を増分し、ヒット
した最左端のプロセッサのインデックスを記録する。
第4の比較サイクルにおいて、rdJが比較のためにデ
ータ・バスを介して送出される。ヒットを宣言するプロ
セッサはなく、これは最長の符合が見出されたことを示
すことになる。
この時点で、絶対インデックス44は最後の符合した文
字がどこで見出されたかを示している。
最初の符合した文字は絶対インデックスから符合長を差
し引き、1を加えることによって見出される。この例に
おいては、最長の符合はインデックス=3−3+1即ち
1で始まる。したがって、送信機はrabcJを1.3
として符号化して送信する。
所与のプロセッサでの符合に対する2つの規準を用いる
と、最長の符合である可能性を持つストリングが分離さ
れる。有意義なことに、探索時間は履歴パツファのサイ
ズではなく符合長に依存する。例えば、Lが符合長であ
れば、最長の符合を見出すのに(L+1)個の文字を比
較すれば足り、従来のハツシング( hashing)
即ちツリー探索データ構造よりもずっと高速である。
同じく大きなスループットを有するシストリック●アレ
一〇インプリメンテーション( systolicar
ray implementation ; M. E
.ゴンザレス0スミス及びJ.A.ストーラー著「デー
タ圧縮のための並行アルゴリズム」コンピュータ機械協
会誌、第32巻第2号、1985年4月、第344〜3
73ページに記載されている)と比較して、このアルゴ
リズムは著しく低い潜伏( 1atency) ヲ持つ
。全部のCAMセルはそれらの内容を同一の入力文字と
同時に比較するので、最長の符合が見出されると直ちに
コードワードを生成することができる。古典的なシスト
リック・アレーにおいては、潜伏( Iatency 
)は履歴バツファのサイズに常に比例するが、応用によ
っては受容不可能なほど長いことがある。
第9図は修正されたアルゴリズムのフローチャートを示
している。
該アルゴリズムを実行することができる1つのハードウ
エア●アーキテクチャはコンセント●アドレサプル●メ
モ!J(CAM)である。連想メモリとしても知られて
いるCAMは、データを記憶することができるセルであ
って、(従来のメモリのようにアドレスではなく)その
内容によってアクセスすることができ、データが見出さ
れたアドレスを伝えるセルを有する。
第10図を参照すると、古典的なCAM構造においては
、(第8図の単純なプロセッサの1つに対応する)各C
AMセル100はメモリ要素10,2と比較器1040
両方を有する。各セルにアドレスすることができる。C
AMセルK接続されたグローバル●データ●パス106
はデータ(文字ストリーム)を全てのセルへ運ぶ。CA
Mメモリ要素のデータがパスで送られたデータ108と
整合すると、CAMセルは符合を示すヒット信号を宣言
する。
第11図を参照すると、本発明においては、修正された
CAMセル122は、遅延されたヒットを各セルがその
右隣りのセルへ伝えることができるようにする遅延回路
124(フリツプフロツブ)を含む。各セルはライン1
26により左隣りのセルから遅延された符合の結果を受
け取る。
ヒット信号128は当該セルの内容の符合の結果と前の
サイクル(t−1)での左隣りのセル(n−1)のヒッ
ト信号との論理積130である。
ヒツt’ fi−1, t−1は前の比較サイクルでの
左隣りのセルの符合の結果であり、ヒット。, t−1
は前の比較サイクルでのCAMセルnの符合の結果であ
る。遅延回路124は1比較サイクル後にその入力信号
をその出力へ伝える。
第12図を参照すると、各CAMセルの遅延されたヒッ
ト信号126はその隣りのセルとのみ相互接続される。
これらの修正は2つの基準を実施する。追加の制御論理
は最長の符合のアドレスを決定するのに必要とされる。
第13図を参照すると、第12図のCAM構造は可変長
ストリング符合器( variable length
string matcher :VLSM )  1
 3 0の一部を成す。
バイト連mcAMを用いる符号化・更新プロセスのため
には、4つの別個の勤作、即ち「初期化」rINIT)
、「比較J (’COMPARE)、「出力」(OUT
PUT)及び「更新J (UPDATE)が必要である
「初期化」は、あらゆるCAMセルからのヒットを最初
の比較サイクルに対して設定させるように符号化する各
ストリングに対して1度しか使用されない。「初期化」
はセルの内容をクリャしない。比較サイクルにおいて、
入力ストリングの文字はチェックのために全てのCAM
セルに対してデータ・バスに置かれる。少くとも1つの
符合が生じると、別の比較サイクルが入力ストリングの
次の文字で始まる。インデッ少妃長さとの要素がら成る
コードワードが出力サイクル期間に生成される。最後に
、各更新サイクルにより、1個の文字が履歴パツファに
挿入される。全部の符合したストリングが履歴パツファ
に書き込まれるまで、これらが反復される。
したがって、VLSMは以下の入力と出力とを有する。
即ち、文字cバイト)のストリームを運ぶ8ビットのデ
ータ・バス[データ( 7 : O]J、( 1 02
4セル長の履歴バッ7アであるとして)10ビットのア
ドレス●バス「アドレス(9:O)J、イネープル線及
び2本の選択線Sl,So.rデータ(7:O]Jは比
較又は更新されるべき文字を含む。「アドレス(9:O
)Jは文字(バイト)が挿入される履歴バッファ場所を
特定する。
イネーブルが宣言されると、2つの機能モード選択信号
Sl,Soの組合せは、次の表に従って4つの可能な命
令のうちの1つを実行するためにVLSMブロック内で
適切な制御信号を発生させる。
表 0    0    1NIT(初期化)0   1 
  COMPARE (比較)1    0    O
UTPUT(出 力)1    1    UPDAT
E  (更新)「インデックス〔9:0〕」は整合を持
つ1つのCAMリードの絶対アドレスである。これは通
常はVLSM内にラッチされ、出力モードが選択された
ときに出力イネーブルされる。少くとも1つのCAMワ
ードが符合を有するとき、CAM−ヒットがVLSMに
よって断言される。この出力信号は外部制御器132(
有限状態マシンによって実施される)によって監視され
、比較サイクルが継続されるべきか否かが決定される。
第13図を参照すると、VLSMの制御はまっすぐ( 
straightforward )である。最長の符
合を見出すために、制御器132は初期化命令を選択す
る。その次のサイクルにおいて、入力ストリングの最初
の文字はデータ・バスに乗せられ、比較モードが選択さ
れる。rCAM−ヒット」が宣言されると、次の文字が
データ・バスに乗せられ、別の比較命令が発せられる。
比較サイクル後にrCAM−ヒット」が宣言されなくな
るまで、制御器132は以上のステップ.を反復する。
また、rCA.M−ヒット」は長さ計数器133をクロ
ツクする。それまでに、CAMの最長の符合したストリ
ングの最後の文字に対する「インデックス」がレディと
なるので、制御器は「出力」を発して「インデックス」
を7エッチする。履歴バックァの1つの文字を更新する
ために、制御器は[データ(7:O]Jに文字を乗せ、
更新モードを選択する。更新サイクルを以下に詳述する
更新期間中、前の比較サイクルの組で符合された文字は
入力FIFOから除去され、場所5で始まる(第14図
の例に訃ける)履歴ノくツファに挿入される。履歴バツ
ファの変化は第14図の右下に太い文字で示される。場
所0−7の文字は入力ストリングabcのために空きを
作る左ヘシフトされることはない。これは、こうした更
らなるデータ転送は履歴パツファへ最古の文字を書き込
むごとによって回避されるからである。
第15図を参照すると、VLSM130は主要な要累と
してバイト連想CAMワード・アレーl34(第12図
に対応)を内部的に含む。アレー134は履歴パツファ
として動作し、並列比較を実行する。アレ−134には
、行符号器136、行復号器1゛38、行符号器140
、行復号器142が接続される。データ・パツファ14
4はアレーとデータ・バス146との間に接続される。
また、VLSM130はフリツプフロツブ(FFと表示
されている)、制御機能モード復号器148、マルチプ
レクサなどの支持論理部を含んでいる。
復号器148は「イネーブル」によってイネーブルされ
ると、入力としてS1及びS2を取り、4つのilr初
期化」、「比較」、「書込み」、「読取りADDRJの
うちの1つを適宜宣言する。
「初期化」はアレーの全てのCAMワードをスルーさせ
る。
比較サイクルでCOMPが宣言される。「比較」は行復
号器の出力側の「符号化」線を選択し、アドレス符号化
の目的で行を選択する。また、COMPは行復号器への
入力を[アドレス(:9:4)Jと行符号器の出力との
間で切り換える。「書込み」は更新サイクルで宣言され
る。「書込み」は「選択」線とデータ書込みのために1
個のCAMワードのアドレスを指定する列復号器とをイ
ネープルする。最後に、「読出し−ADDRJは三状態
装置154に対する出力イネーブルとして動作する。
第15図には示されていないが、2つの重複しないクロ
ツク信号pht 1 , pht 2が各CAMワード
をスルーさせる。
[アドレス(9:O]Jは列復号器へ行く4ピット部分
と行復号器へ行く6ビット部分とに分解される。イネー
プルされると、行復号器は64本の線の1つを宣言する
。「書込み」が宣言されると、これらの線は、書込みサ
イクル中は行イネープルとして動作する64本の「選択
」線に接続される。「比較」が宣言されると、64本の
「符号化」線は行復号器の出力を運ぶ。
CAMアレーは行符号器へ行く64本の水平「H一符合
」線と列符号器へ行く16本の垂直「V一符合」線を生
成する。符号器はそれぞれ6本及び4本のアドレス線を
生成し、これらは結合されてlOビットの「インデック
ス」を形成する。
また、行符号器はrCAM−ヒット」信号を発生する。
第16図を参照すると、CAMアレ−134には64X
16 (:1024)個のワード・セルがあり、そのう
ちの代表的な3×3(二9)個のワード・セルが図示さ
れている。この2次元的な配列は、特に多数のワード・
セルに対する小型なVLSIレイアウトにとって望まし
い。
図示されているように、[データC7:O]J(8ビッ
ト●バイト・ストリーム)は全てのワード・セルに達し
ている。「選択j線は更新サイクル期間のみ使用され、
その他の期間は高インピーダンスである。「選択」線は
更新サイクル期間Kは行アドレス復号器の出力に接続さ
れ、データ書込みのために1つの行をイネープルする。
「初期化」は復号器148の出力であり、全てのワード
・セルに供給される(第18図)。
各行に対する「H一符合」線と各列に対する「V一符合
」線は同一の行又は列上の他の全てのCAMワードとワ
イヤード・オアされ、philの期間はハイにプリチャ
ージされる。各「H一符合」線は、当該行の少くとも1
個のCAMワードがphi zの期間K符合を持つなら
ば、ローに下げられる。
CAMワードからの「ヒット」出力はその右隣りへの入
力である。更らに、最も大きい番号のワード●セルから
の「ヒット」は最も小さい番号のワード・セルへの入力
である。例えば、ワード命セル8の「ヒット」出力はワ
ード●セル0の「ヒット」入力に接続される。一貫した
アドレス指定を維持するために、行の最後のワードから
の「ヒット」は次の行の最初のワードへ送られなければ
ならない。大きなアレ一の場合、線が極めて長いので、
不要な伝搬遅延が生じることがある。しかし、線の長さ
はアレーを水平に1折り畳む”ことができるならば最小
としうる。
最も原始的なCAM構造は第18図に示されるCAMビ
ット●セルである。このCAMビット・セルは上部に標
準的な6個のトランジスタのスタティックRAMセル・
トポロジを有し、下半分に、等価論理機能を実行する3
個の別のトランジスタを有する。
[M&!philの期間にはハイにプリチャージされる
。符合サイクルの期間に、「ビット」線上のデータがセ
ルに記憶されたビット値と同一であるならば、Mはハイ
を維持する。その他の場合、Mはローに下げられ℃非符
合を指示する。宣言されると、「選択」線は「ビット」
線及び「ピット8」線上の値を記憶素子に誉き込ませる
8個のビット・セルをグループ化し、第17図に示すC
AM符合セルを形成する。INMは8ビット構成におい
てワイヤ●アンドされる。したがって、少くとも1個の
ビット・セルが非符合を検出すると、aMはローとなる
CAMアレーを作るCAMセル164はアセンブリの中
で次に高いレベルにある。第18図はCAMワード−セ
ルの内部構造を示している。
CAM符合セルはワード●セルの最大の要素である。残
りのものはランダム論理部と制御線である。
論理部が示すように、「ヒットユ,tJはphi2とM
と前の比較サイクルでの左のワード・セルの符合結果で
ある「ヒット。−lit利」との論理積である。正であ
れば、「ヒット。,tJは「H一符合」線を引下げ、こ
のワード・セルに対する符合を指示する。「ヒット。,
t−tJは1サイクル遅延された[ヒット。,tJ信号
である。最長の符合したストリングを見出す際、CAM
ワード拳セルの左隣りが前の比較サイクルで符合を有し
、該セルの内容がそのデータと同一である場合Kのみ、
現在の符合が許容される。入力ストリングは一時に1個
の文字のみをデータ・バス上に生じさせる。
バイト連想は前の符合結果をセーブするフリツプフロツ
ブ166の使用に依存する。
しかしながら、入力ストリングの最初の文字の符合は、
比較サイクルが生じていないので、左隣りが符合を持っ
たという規則に従う必要はない。
これが、新しいストリングの検索が始まるときには常に
初期化命令が最初に発せられる理由である。
第19図は、第18図の遅延ブロック166の内部を示
している。「初期化」がノ・イに宣言されると、ワード
●セルの「ヒット。,tJO値ではなく、このハイの値
が7リップフロッグに供給される。
要するに、比較サイクルが生じる時までに、各ワード●
セルの「ヒット。,t−tJ線がノ蔦イにされ、その結
果、符合を持つ全てのワードはそのことを指示すること
ができる。
データが見出される単一のアドレスを出力することがC
AMの特性の一つであるから、vLSM及びCAMにと
ってアドレス優先符号化は必要でアル。デジタル的には
、N個のアドレスのうちの1つを特定するのにlog 
2 N個のピットが必要である。もし1個より多くの入
力が同時にアクティブであると、2進符号化が行われる
前に、まず衝突を解決する必要がある。換言すれば、順
位付け器( prioritizer)が必要である。
まず、行アドレスが符号化されるので、以前と同様に行
アドレスOが求まる。いま、行0において生じる列符合
のみを列符号器に入れ、他の行の列符合を禁止する。行
Oにおいて、列2.3が符合を有し、列符号器はアドk
ス2を発生しなければならない。行及び列のアドレスを
組合わせると、アドレス2が形成され、これは正しい。
上記の手順は、第16図及び第18図に見出される「符
号化」線の存在を説明する。第18図において、「H一
符合」層は比較サイクル期間に行符号器に入る。符号化
された行アドレスは行復号器へ送られる。同じサイクル
において、行復号器の出力は「符号化」線に接続され、
それにより、1個の「符号化」線のみが宣言される(即
ち、1つの行がイネーブルされる)。ワードeセルの「
V一符合」は、当該行に対する「符号化」線が宣言され
、[ヒツ}nJも宣言された場合にのみローになる。こ
の制限なしには、最も小さい番号のワード・セルの正し
いアドレスを符号化することはできない。第20図はア
ドレス符号化シーケンスを要約したものである。
それぞれの水平「H一符合」線はpht 1の期間はハ
イにプリチャージされ、同一の行のワード●セルとワイ
ヤードオアされている。これは、それぞれの垂直「V一
符合」線についても同じである(ただし、同一の行のワ
ード・セルとワイヤードオアされている点で違いがある
)。
アドレス髪精確且つ独自に符号化するために、行アドレ
スの符号化が最初に行われなければならない。その結果
の行アドレスは行復号器へ送られる。行復号器の出力は
「符号化」線へ送られ、1つの行をイネーゴルしてその
垂直「V一符合」線を列アドレス符号器へ伝搬し、垂直
アドレスを符号化する。アドレス符号器は独特なアドレ
スを符号化するために多重符合を解消する責任を有する
同時応答を仲裁する方法はいくつかある。設計上実行さ
れる一つの方法は優先符号化、即ち、最低のアドレスを
有するCAMワードを符号化することである。
そうした符号器170は、第21図に示されるように格
子状に構成される。その規則性はVLSMの実施に特に
適している。さらに、リツプル・チェイン( ripp
le chain )手法よ.りも広い面積をとるが、
かなり高速な回路である。第21図の設計は、同一構造
に優先順位付けと2進符号化とを組合せたものである。
ADDR線は垂直に走り、philの期間はハイにブリ
チャージされる。2進表示の特質を利用するために、ア
ドレスの最上位ビット(例えば、第21図のA3)が最
初に符号化される。次いで、ランダム論理は最上位のア
ドレス線の値に依存するよう設計することができる。例
えば、AO上の論理「符合14」はA3,A2,At、
「符合14」に依存する。さらに一般的な場合には、上
側の8本の「符合」線(0〜7までの2進アドレスを符
号化し、4ビット・アドレスの最上位ビット即ちA3は
Oである)の任意の1つが宣言されたならば、下側の8
本の「符合」線はA3とアンドされるためにターン赤オ
ンされる。論理の適切な配置により、符号器は多重応答
の場合に最低アドレスを符号化することができる。
CAMアレーからの「符合」線はインパータでバツファ
されてから評価される。これを行うのには2つの理由が
ある。まず、「符合」線はワイヤ嗜アンドされているの
で、その論理レベルを保持するためにパツ7アを必要と
するからであり、次に、符号化論理を働かせるためには
、「符合」線は正論理゛をとるからである。しかし、C
AMアレーにおいては、「符合」線は整合が生じるとロ
ーに下げられる。インパータを使うことにより、それを
正しい極性に戻すことができる。
第21図の左端の列はrCAM−ヒット」信号の発生に
責任を持つ。この列も、philの期間ハイにプリチャ
ージされるワイヤ●オアされた構造である。任意の1つ
の「符合」線がハイであると、rCAM−ヒット」はロ
ーに下げられる。この構造は行アドレス符号器にのみ備
えられる。
コードワードが形成されると、ピット・パッキング( 
packing)及びアンパッキング( unpack
−ing)が必要となる。ビット・パッキングは、通常
はバイト●サイズでないコードワードをバイト又はワー
ド量へ束ねることを意味する。ビットΦアンパッキング
はバイト列からコードワードを抽出するという逆の操作
である。これらの操作は最長の符合を見出す操作ほど複
雑ではないが、ごく一般的であるから、スピードアップ
により全体のスループットを改善することがでキル。
第22図を参照すると、符号器において、データは符合
化入力FIFO(ファースト−イン・ファーストΦアウ
ト)242に入り、VLSM244、ビット・パツカー
( bit packer ) 2 4 6を通って、
最終的に符号化出力PIF0248に至る。
符号器は符号器FSM 2 5 0と呼ばれる有限状態
機械によって制御される。
符号化人力FIFOは央行256ワード、巾8ビットで
あり、外部機器によって書き込まれ、符号器によって読
み出される。FIFOは外部機器によって必要とされる
メモリ管理オーバーヘッド(memory manag
ement overhead)を最小とするように設
計され、FIFO読出し又は書込みが生じるたび毎にF
IFOアドレスφポインタを更新するための内部論理を
収容している。更らに、内部論理は非同期ノ・ンドシェ
ーク信号ばかりでな<FIFOの状態にも応答する。例
えば、RD−RDY信号がFIFOによって宣言された
場合にRD信号を宣言することにより、バイトを読み出
すことができる。同様に、WRが外部機器によって宣言
されると、WR−RDYが正である期間にバイトがFI
FOに書き込まれる。FIFOが空き又ははとんど空き
の場合、rEI一空き」信号が発生され、FIFOを使
用する外部機器に警告を与える。
符号器FSM(第23図)はVLSMへの制御信号の論
理列を発生し、最長の符合を暗黙のうちに見出させ、コ
ードワτドを生成させる。
バッカー246(第22図)は14ビットの分量を取り
込んでバイトにノくツクする。その出力は符号化出力F
IFOに直接に接続される。したがって、ビット・パツ
カーはFIFOともノ−ノドシエークするよう設計され
ている。図示のように、4ビットの「符合長」とlOピ
ットの「インデックス」はビット・パツカーへの入力と
してノ1−ドワイヤード( hard−wi red 
)される。三状態レジスタの出力もビット・パツカーへ
入力される。三状態レジスタはVLSMへ与えられる入
力文字を常にラッチする。全く整合がない、即ち「符合
長」がOに等しいならば、当該文字はコードワードのイ
ンデックス部で保管される。この場合、VLSMの「出
力」命令は符号器FSMによって発せられることはなく
、その代りに、三状態レジスタの内容が「符合長」(0
である)の他にビット・パツカーに供給される。
符号化出力FIFOは符号化入力FIFOと同様の構造
を有するが、128バイトであり、ビットφパツカーに
よって書き込まれ、外部機器によつて読み出される。ビ
ット●パツカーは信号WRを発生し、FIFOへの書き
込みを行わせる。
「E〇一充満」信号は該FIFOが充満又はほソ充満の
状態のときに発生される。
長さ計数器252はアップ及びダウンのカウントが可能
である。rCAM−ヒット」は該計数器のアップ・カウ
ント●クロツクであり、DECは,ダウン・カウント拳
クロックとして働く。長さ計数器の4ビット出力はビッ
ト・パツカー及びオア●ゲートへ入力される。出力が全
部ゼロであれば、「終了9」はローになり、符号器FS
Mへの入力として用いられる。
本質的に、アドレス計数器は、新たな入力文字がVLS
Mへ挿入されるべき次の位置を常に指示する履歴パツフ
ァ●ポインタである。この10ビットの2進計数器は、
VLSMに対する更新命令が実行されるときには常に1
だけ増分される。
1023まで計数すると、該計数器はOへ戻り再スター
トする。信号CLRが宣言されると、アドレス計数器は
リセットされる。
文字パツファ258は16個の入力文字までをバツファ
することができる。これが必要とされるのは、コードワ
ードが発生された後に、それぞれの符号化された入力文
字はVLSMへ書き込まれなければならないからである
。パッファ計数器256がクリャされてから、新しい符
号化サイクルが始まる。それぞれの入力文字が符号化入
力FIFOから読み出されると、VLSMへ与えられる
と共に文字パッファに書き込まれ、バッファ計数器は次
の位置を指示するように増分される。
文字がVLSMへほぼ挿入されると、バッファ計数器は
リセットされ、最初の文字を指示する。更新サイクル期
間において、各入力文字が文字バッファから読み出され
、アドレス計数器によって特定されたVLSMの場所に
書き込まれると、長さ計数器は減分される。符号器FS
Mは「終了1」信号を使って、更新活動をいつ終るべき
かを決定する。
特別な状況も取り扱われなければならない。例えば、比
較サイクルは誤りが生じたとき、即ち、rCAM−ヒッ
ト」が宣言されないときに停止される。その時点におい
て、最長の符合の一部をなしていない最後の文字はまだ
三状態レジスタにある。FSMは、次の符号化サイクル
に訃いて最初の文字が必ずFIFOからではなく三状態
レジスタから来るようにしなければならない。
また、入力された列の最後の文字の比較が完了すると、
最長の符合が見出されなくとも、コードワードが発生さ
れなければならない。換言すれば、符号器FSMはデー
タの終了を認識し、出力命令を出させてインデックスを
求めることにより、通常のVLSM動作サイクルを破る
。長さ計数器の内容と共に、コードワードがビット拳パ
ツカーに供給される。ビット拳パツカーFSMはこうし
た状態に応答する。即ち、もし信号rEN一停止」(ビ
ット・パツカーへの入力)が宣言されるならば、ビット
・パツカーは8ビットで満たされていなくとも、バイト
●テンプレート( byte temp−late )
 を出力する。
最後に、符号器はリセット可能でなければならない。そ
の場合、全ての計数器はクリアされ、FSMはスタンバ
イ( standb)’ )モードになる。
第23図を参照すると、符号器(FSM)の主要な活動
が状態図の形で示されている。
上記の符号図の設計は、入力文字を文字パツファにバツ
ファし、次いで読み出してVLSMを更新することを必
要とする。代りの手法は、入力文字を比較サイクルの直
後にVLSMに挿入し、どこかにセーブする必要をな《
すものである。
VLSMに対して発される命令の列は、そのときには異
なることになろう。前述の手法においては、2の符合長
に対して次の命令な必侠とする:初期化(INIT)、
比較(COMPARE)、比較、比較、出力(OUTP
UT)、更新(UPDATE)、更新。
この代りの手法においては、命令の列は以下のとおりで
ある: 初期化゛、比較、更新、比較、更新 次の比較サイクルはすぐ次のサイクルではなく1サイク
ル後に到来するので、符合結果をもう1サイクル遅延さ
せるために、各VLSMワード管セルにもう1つの7リ
ップフロツプが必要となる。
修正されたVLSM設計によって可能とされた代替の符
号器アーキテクチャは、文字バツファとパックァ計数器
とが除去されるため、一層すっきりしたものになる。そ
のうえ、現在の符号化プロセスの出力サイクルと次の符
号化プロセスの初期化サイクルとが組み合わされること
を見るのが容易になる。
他の実施例は特許請求の範囲内にある。可変長ストリン
グ符合はデータ圧縮ではない応用、例えば、所望の文字
ストリングを見出すためのテキスト文字ス} IJング
の探索に使用することができる。
VLSM機器は、単一のVLSM機器によって与えられ
るよりも長い履歴バツファを持つのが望ましい場合に連
結されうる。
【図面の簡単な説明】
第1図はデータ圧縮を使用するデータ伝送システムのブ
ロック図、第2図〜第5図はZL77アルゴリズムにお
けるデータ圧縮・圧縮解除手順を説明するための図、第
6図は修正ZL7 7アルゴリズムの図、第7図は更新
後の修正ZL77アルゴリズムの図、第8図はシストリ
ンク・アレーを用いて実行される修正ZL77アルゴリ
ズムの図、第9図は修正アルゴリズムのフローチャート
、第10図は古典的なCAMセル構造のブロック図、第
11図は修正されたCAMセル構造の図、第12図は修
正された完全並列CAM構造の図、第13図はVLSM
ハードウエアの機能ブロック図、第14図はVLSM符
号化アルゴリズムの図、第15図はVLSMハードウエ
アの機能ブロック図の詳細図、第16図はCAMワード
・アレ一のブロック図、第17図はCAMワード●セル
のブロック図、第18図はCAM符合セルのブロック図
、第19図は遅延構造のブロック図、第20図は優先ア
ドレス符号化アルゴリズムのブロック図、第21図は優
先アドレス符号化ハードウエアの図、第22図は符号器
のブロック図、第23図は符号器の状態図である。 肩脊4.禦5 日G.5 2ヒ t丸III′ 日G.8 ギーダ・バス 日G.12 入方ストリニj;a  b  c  dル秋IaI啼 『ロR”b璽 一一 日G.14 CAM−ぶット

Claims (1)

  1. 【特許請求の範囲】 1、データ要素の記憶された列内に、所与のデータ要素
    のデータ・ストリングと符合する、記憶されたデータ要
    素の最長のストリングを見出すための装置において、 データ要素の前記列を記憶するため、の記憶装置と、 前記データ・ストリングのデータ要素を前記列の対応す
    るデータ要素と比較し、符合が見出されたときに信号を
    発する比較回路と、 前記データ・ストリングのデータ要素と記憶場所におけ
    るデータ要素との比較を含む反復動作を前記比較回路に
    反復的に行わせ、前記比較回路による符合信号の発生を
    結果的に生じないのはいつかに基づいて最長の符合した
    ストリングを決めるための制御回路と を具備する装置。 2、前記制御回路が、前記反復動作の回数を計数し、所
    定の反復動作回数後に比較を終了するための手段を含む
    請求項1記載の装置。 3、前記記憶装置が前記列の前記データ要素の1つをそ
    れぞれ保持するための記憶場所を有し、前記比較回路が
    、前記列の前記データ要素の1つを前記データ・ストリ
    ングの所与のデータ要素と比較し、符合が見出されたと
    きに信号を発する比較器の列を含み、 遅延回路が、前記比較器によつて発せられた前記信号を
    一時的に記憶し、前記データ・ストリングにおける次の
    データ要素の比較と関連して隣りの比較器で使用するた
    めに該隣りの比較器にとつて前記信号を利用可能とする 請求項1記載の装置。 4、前記比較回路が、隣りの比較器からの前記遅延回路
    によつて利用可能とされる遅延された信号が符合を指示
    する場合を除いて、前記符合信号の発出を禁止する論理
    部を含む請求項3記載の装置。 5、最初の反復動作で始まり、符合信号を生じない反復
    動作で終る反復動作回数を計数し、この計数された回数
    に基づいて、前記最長の符合したストリングにおけるデ
    ータ要素の数を決定する計数回路を更らに備える請求項
    3記載の装置。 6、前記計数器回路は、計数が所定値に達すると反復動
    作を終了させる信号を発する請求項5記載の装置。 7、前記記憶装置及び前記比較回路が連想コンテント・
    アドレサブル・メモリを備える請求項1記載の装置。 8、前記データ要素が8ビット・バイトである請求項1
    記載の装置。 9、前記最長のストリングをコードワードとして符号化
    する符号回路を更らに備える請求項1記載の装置。 10、前記コードワードを復号して前記最長のストリン
    グを再生する復号装置を更らに備える請求項9記載の装
    置。 11、前記コードワードが最長の符合したストリングを
    表す値を含む請求項9記載の装置。 12、前記コードワードが最長の符合したストリングの
    場所を表す値を含む請求項9記載の装置。 13、前記場所の値が絶対アドレスである請求項12記
    載の装置。 14、データ要素の記憶された列内に、データ要素のデ
    ータ・ストリングと符合する、記憶されたデータ要素の
    最長のストリングを見出すための方法において、 データ要素の順序付けられた前記列を記憶するステップ
    と、 前記データ・ストリングのデータ要素を前記列の対応す
    るデータ要素と比較するステップと、符合が見出された
    ときに信号を発するステップと、 前記データ・ストリングのデータ要素と記憶場所におけ
    るデータ要素との比較を含むように前記の比較するステ
    ップを反復して行うステップと、 前記比較回路による符合信号の発出を生じない反復動作
    はいつかに基づいて、最長の符合したストリングを決定
    するステップと を具備する方法。 15、データ要素の記憶された列内において、データ要
    素の所与のデータ・ストリングと符合するデータ要素の
    ストリングを識別するための装置において、 前記列の前記データ要素を保持し、絶対アドレスによつ
    てアドレス指定することができる記憶場所と、 記憶されたデータ要素の前記ストリングの符合をどの記
    憶場所が保持するかを決定し、絶対アドレスによつて該
    記憶場所を識別するための回路とを具備する装置。 16、前記の決定するための回路が、アドレス可能な記
    憶場所に保持されている前記列の前記データ要素の各々
    を前記データ・ストリングの所与のデータ要素と比較す
    る比較器と、符合を指示する少くとも1つの前記アドレ
    ス可能な記憶場所の絶対アドレスを決定し且つ監視する
    アドレス回路とを備える請求項15記載の装置。
JP2013453A 1989-01-23 1990-01-23 可変長ストリング符合装置 Expired - Lifetime JP2830280B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US29975989A 1989-01-23 1989-01-23
US299759 1989-01-23

Publications (2)

Publication Number Publication Date
JPH02233025A true JPH02233025A (ja) 1990-09-14
JP2830280B2 JP2830280B2 (ja) 1998-12-02

Family

ID=23156170

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013453A Expired - Lifetime JP2830280B2 (ja) 1989-01-23 1990-01-23 可変長ストリング符合装置

Country Status (8)

Country Link
US (1) US5329405A (ja)
EP (1) EP0380294B1 (ja)
JP (1) JP2830280B2 (ja)
AT (1) ATE152260T1 (ja)
AU (1) AU624205B2 (ja)
CA (1) CA2007168C (ja)
DE (1) DE69030519D1 (ja)
HK (1) HK1009317A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05233212A (ja) * 1991-12-13 1993-09-10 Internatl Business Mach Corp <Ibm> データを圧縮するための装置及び方法並びにデータ処理システム
JPH07114577A (ja) * 1993-07-16 1995-05-02 Internatl Business Mach Corp <Ibm> データ検索装置、データ圧縮装置及び方法

Families Citing this family (66)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5373290A (en) * 1991-09-25 1994-12-13 Hewlett-Packard Corporation Apparatus and method for managing multiple dictionaries in content addressable memory based data compression
FR2687004B1 (fr) * 1992-01-31 1994-03-18 France Telecom Architecture de memoire associative.
US5339076A (en) * 1992-04-27 1994-08-16 Integrated Information Technology Data compression using content addressable memory
US5488717A (en) * 1992-07-06 1996-01-30 1St Desk Systems, Inc. MTree data structure for storage, indexing and retrieval of information
NL9300310A (nl) * 1993-02-19 1994-09-16 Oce Nederland Bv Inrichting en werkwijze voor syntactische signaal-analyse.
DE4405639C2 (de) * 1993-02-22 2000-08-03 Hyundai Electronics Ind Gerät zum Codieren mit variabler Länge
US6000008A (en) * 1993-03-11 1999-12-07 Cabletron Systems, Inc. Method and apparatus for matching data items of variable length in a content addressable memory
US5454094A (en) * 1993-06-24 1995-09-26 Hal Computer Systems, Inc. Method and apparatus for detecting multiple matches in a content addressable memory
SG44604A1 (en) * 1993-09-20 1997-12-19 Codex Corp Circuit and method of interconnecting content addressable memory
DE4334294C1 (de) * 1993-10-08 1995-04-20 Ibm Prozessor für Zeichenketten variabler Länge
US5563595A (en) * 1993-12-23 1996-10-08 International Business Machines Corporation Method and apparatus for compressing data
US5525982A (en) * 1994-04-15 1996-06-11 International Business Machines Corporation Method and means for character string pattern matching for compression and the like using minimal cycles per character
US5687254A (en) * 1994-06-06 1997-11-11 Xerox Corporation Searching and Matching unrecognized handwriting
US5535210A (en) * 1994-07-29 1996-07-09 Motorola, Inc. Method and system for resolution of channel access in data transmission systems
US5649149A (en) * 1994-08-01 1997-07-15 Cypress Semiconductor Corporation Integrated content addressable memory array with processing logical and a host computer interface
US5883975A (en) * 1994-09-12 1999-03-16 Nippon Steel Corporation Compression and decompression methods on two-dimensional image data
US5553272A (en) * 1994-09-30 1996-09-03 The University Of South Florida VLSI circuit structure for determining the edit distance between strings
JPH08223226A (ja) * 1994-11-23 1996-08-30 Internatl Business Mach Corp <Ibm> 短いデータ長メッセージの圧縮方法及びシステム
US5680601A (en) * 1994-12-14 1997-10-21 Hewlett-Packard Company Compression system for reducing the occurrence of a literal prefix
US5701256A (en) * 1995-05-31 1997-12-23 Cold Spring Harbor Laboratory Method and apparatus for biological sequence comparison
US5659755A (en) * 1995-11-20 1997-08-19 International Business Machines Corporation Method and system in a data processing system for efficiently compressing data using a sorting network
US5978885A (en) * 1996-06-17 1999-11-02 Hewlett Packard Co. Method and apparatus for self-timing associative data memory
US5654703A (en) * 1996-06-17 1997-08-05 Hewlett-Packard Company Parallel data compression and decompression
US6069573A (en) * 1996-06-17 2000-05-30 Hewlett-Packard Company Match and match address signal prioritization in a content addressable memory encoder
US5828324A (en) * 1996-06-17 1998-10-27 Hewlett-Packard Company Match and match address signal generation in a content addressable memory encoder
US5995963A (en) * 1996-06-27 1999-11-30 Fujitsu Limited Apparatus and method of multi-string matching based on sparse state transition list
US5749087A (en) * 1996-07-30 1998-05-05 International Business Machines Corporation Method and apparatus for maintaining n-way associative directories utilizing a content addressable memory
US5940825A (en) * 1996-10-04 1999-08-17 International Business Machines Corporation Adaptive similarity searching in sequence databases
JP3036467B2 (ja) * 1997-06-19 2000-04-24 日本電気株式会社 最長一致検出装置
US6151658A (en) * 1998-01-16 2000-11-21 Advanced Micro Devices, Inc. Write-buffer FIFO architecture with random access snooping capability
FR2783618B1 (fr) * 1998-09-23 2002-01-04 France Telecom Procede de mise a jour d'une memoire associative de type trie, et routeur mettant en oeuvre un tel procede
NO309169B1 (no) * 1998-11-13 2000-12-18 Interagon As Sokeprosessor
FR2789778B1 (fr) * 1999-02-12 2001-09-14 France Telecom Procede pour associer des references d'acheminement a des paquets de donnees au moyen d'une memoire trie, et routeur de paquets appliquant ce procede
US6678838B1 (en) 1999-08-23 2004-01-13 Advanced Micro Devices, Inc. Method to track master contribution information in a write buffer
IL151867A0 (en) * 2001-02-01 2003-04-10 Memcall Inc Memory system for searching a longest match
US7383421B2 (en) * 2002-12-05 2008-06-03 Brightscale, Inc. Cellular engine for a data processing system
US7107478B2 (en) * 2002-12-05 2006-09-12 Connex Technology, Inc. Data processing system having a Cartesian Controller
US6760821B2 (en) * 2001-08-10 2004-07-06 Gemicer, Inc. Memory engine for the inspection and manipulation of data
US7069386B2 (en) * 2001-08-10 2006-06-27 Connex Technology, Inc. Associative memory device
US6665202B2 (en) 2001-09-25 2003-12-16 Integrated Device Technology, Inc. Content addressable memory (CAM) devices that can identify highest priority matches in non-sectored CAM arrays and methods of operating same
US7149780B2 (en) * 2001-12-14 2006-12-12 Pitney Bowes Inc. Method for determining e-mail address format rules
US7134143B2 (en) * 2003-02-04 2006-11-07 Stellenberg Gerald S Method and apparatus for data packet pattern matching
US7508985B2 (en) * 2003-12-10 2009-03-24 International Business Machines Corporation Pattern-matching system
US20060235662A1 (en) * 2005-04-15 2006-10-19 Argentar David R Eliminating redundant patterns in a method using position indices of symbols to discover patterns in sequences of symbols
US7451293B2 (en) * 2005-10-21 2008-11-11 Brightscale Inc. Array of Boolean logic controlled processing elements with concurrent I/O processing and instruction sequencing
US7805392B1 (en) 2005-11-29 2010-09-28 Tilera Corporation Pattern matching in a multiprocessor environment with finite state automaton transitions based on an order of vectors in a state transition table
KR20080094005A (ko) * 2006-01-10 2008-10-22 브라이트스케일, 인크. 병렬 프로세싱 시스템에서 멀티미디어 데이터의 서브블록들을 프로세싱하기 위한 방법 및 장치
US7877401B1 (en) 2006-05-24 2011-01-25 Tilera Corporation Pattern matching
US20080055307A1 (en) * 2006-09-01 2008-03-06 Lazar Bivolarski Graphics rendering pipeline
US20080059762A1 (en) * 2006-09-01 2008-03-06 Bogdan Mitu Multi-sequence control for a data parallel system
US20080059763A1 (en) * 2006-09-01 2008-03-06 Lazar Bivolarski System and method for fine-grain instruction parallelism for increased efficiency of processing compressed multimedia data
US20080059764A1 (en) * 2006-09-01 2008-03-06 Gheorghe Stefan Integral parallel machine
US20080244238A1 (en) * 2006-09-01 2008-10-02 Bogdan Mitu Stream processing accelerator
US9563433B1 (en) 2006-09-01 2017-02-07 Allsearch Semi Llc System and method for class-based execution of an instruction broadcasted to an array of processing elements
US20080059467A1 (en) * 2006-09-05 2008-03-06 Lazar Bivolarski Near full motion search algorithm
US7849399B2 (en) * 2007-06-29 2010-12-07 Walter Hoffmann Method and system for tracking authorship of content in data
US8046532B2 (en) * 2007-08-27 2011-10-25 Comtech Ef Data Corp. Content-addressable memories and state machines for performing three-byte matches and secondary matches, and for providing error protection
US10007486B2 (en) 2008-12-01 2018-06-26 Micron Technology, Inc. Systems and methods to enable identification of different data sets
US8281395B2 (en) * 2009-01-07 2012-10-02 Micron Technology, Inc. Pattern-recognition processor with matching-data reporting module
US9891842B2 (en) 2015-09-08 2018-02-13 Micron Technology, Inc. Searching data in parallel using processor-in-memory devices
US11314807B2 (en) 2018-05-18 2022-04-26 Xcential Corporation Methods and systems for comparison of structured documents
US11842429B2 (en) 2021-11-12 2023-12-12 Rockwell Collins, Inc. System and method for machine code subroutine creation and execution with indeterminate addresses
US11915389B2 (en) 2021-11-12 2024-02-27 Rockwell Collins, Inc. System and method for recreating image with repeating patterns of graphical image file to reduce storage space
US11954770B2 (en) 2021-11-12 2024-04-09 Rockwell Collins, Inc. System and method for recreating graphical image using character recognition to reduce storage space
US11887222B2 (en) 2021-11-12 2024-01-30 Rockwell Collins, Inc. Conversion of filled areas to run length encoded vectors
US11748923B2 (en) 2021-11-12 2023-09-05 Rockwell Collins, Inc. System and method for providing more readable font characters in size adjusting avionics charts

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60116228A (ja) * 1983-06-20 1985-06-22 ユニシス コーポレーション ディジタル信号ストリーム圧縮方法及び圧縮装置

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3465299A (en) * 1967-01-26 1969-09-02 Ibm Information translating data comparing systems
US3568156A (en) * 1967-08-09 1971-03-02 Bell Telephone Labor Inc Text matching algorithm
US4205302A (en) * 1977-10-28 1980-05-27 Einar Godo Word recognizing system
EP0001808A3 (en) * 1977-10-28 1979-05-30 Einar Godo Method and apparatus for binary word recognition
US4164025A (en) * 1977-12-13 1979-08-07 Bell Telephone Laboratories, Incorporated Spelled word input directory information retrieval system with input word error corrective searching
GB1588827A (en) * 1978-05-31 1981-04-29 System Dev Corp Data processor method and means for determining degree of match between two data arrays
US4285049A (en) * 1978-10-11 1981-08-18 Operating Systems, Inc. Apparatus and method for selecting finite success states by indexing
US4490811A (en) * 1979-03-14 1984-12-25 Yianilos Peter N String comparator device system circuit and method
JPS55157799A (en) * 1979-05-29 1980-12-08 Nippon Electric Co High efficiency pattern matching unit
US4355302A (en) * 1980-09-12 1982-10-19 Bell Telephone Laboratories, Incorporated Spelled word recognizer
US4422158A (en) * 1980-11-28 1983-12-20 System Development Corporation Method and means for interrogating a layered data base
JPS57127247A (en) * 1980-12-16 1982-08-07 Rca Corp Programmable comparator
US4450520A (en) * 1981-03-11 1984-05-22 University Of Illinois Foundation Method and system for matching encoded characters
CA1166706A (en) * 1981-06-23 1984-05-01 Ernst A. Munter Comparator circuit and method
GB2104264B (en) * 1981-07-27 1985-02-27 Standard Telephones Cables Ltd Code recognition circuit
JPS58103045A (ja) * 1981-12-15 1983-06-18 Sony Tektronix Corp 信号発生順序検出回路
US4453217A (en) * 1982-01-04 1984-06-05 Bell Telephone Laboratories, Incorporated Directory lookup method and apparatus
US4625295A (en) * 1982-01-25 1986-11-25 Skinner James T Textual comparison system for locating desired character strings and delimiter characters
US4689768A (en) * 1982-06-30 1987-08-25 International Business Machines Corporation Spelling verification system with immediate operator alerts to non-matches between inputted words and words stored in plural dictionary memories
US4539549A (en) * 1982-12-30 1985-09-03 International Business Machines Corporation Method and apparatus for determining minimum/maximum of multiple data words
US4550436A (en) * 1983-07-26 1985-10-29 At&T Bell Laboratories Parallel text matching methods and apparatus
US4760523A (en) * 1984-06-29 1988-07-26 Trw Inc. Fast search processor
DE3432837A1 (de) * 1984-09-06 1986-03-06 Dr. Gerald Knabe GmbH, 4052 Korschenbroich Datenkompressions- und datenexpandiereinrichtung zum uebertragen bzw. speichern von daten
WO1988002144A1 (en) * 1986-09-09 1988-03-24 Inventronic Data Systems Ab Arrangement for data compression
US5014327A (en) * 1987-06-15 1991-05-07 Digital Equipment Corporation Parallel associative memory having improved selection and decision mechanisms for recognizing and sorting relevant patterns
US4897814A (en) * 1988-06-06 1990-01-30 Arizona Board Of Regents Pipelined "best match" content addressable memory

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60116228A (ja) * 1983-06-20 1985-06-22 ユニシス コーポレーション ディジタル信号ストリーム圧縮方法及び圧縮装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05233212A (ja) * 1991-12-13 1993-09-10 Internatl Business Mach Corp <Ibm> データを圧縮するための装置及び方法並びにデータ処理システム
JPH07114577A (ja) * 1993-07-16 1995-05-02 Internatl Business Mach Corp <Ibm> データ検索装置、データ圧縮装置及び方法

Also Published As

Publication number Publication date
US5329405A (en) 1994-07-12
ATE152260T1 (de) 1997-05-15
AU4704089A (en) 1990-07-26
DE69030519D1 (de) 1997-05-28
HK1009317A1 (en) 1999-05-28
EP0380294A1 (en) 1990-08-01
CA2007168C (en) 1999-12-14
EP0380294B1 (en) 1997-04-23
CA2007168A1 (en) 1990-07-23
AU624205B2 (en) 1992-06-04
JP2830280B2 (ja) 1998-12-02

Similar Documents

Publication Publication Date Title
JPH02233025A (ja) 可変長ストリング符合装置
US5440753A (en) Variable length string matcher
US5150430A (en) Lossless data compression circuit and method
JP3309028B2 (ja) 連想記憶メモリ内の複数辞書管理を改良したlempel−zivデータ圧縮のための装置、及び方法
US5485526A (en) Memory circuit for lossless data compression/decompression dictionary storage
US5410671A (en) Data compression/decompression processor
JP3303225B2 (ja) Lempel−Zivタイプ・アルゴリズムを用いたデータ圧縮装置
US3675211A (en) Data compaction using modified variable-length coding
EP0573208B1 (en) Apparatus and method for managing multiple dictionaries in content addressable based data compression
US6334123B1 (en) Index relational processor
EP0568305A2 (en) Data compression
US6760821B2 (en) Memory engine for the inspection and manipulation of data
JPH07249996A (ja) 圧縮符号復元方法及び装置
JPH05233212A (ja) データを圧縮するための装置及び方法並びにデータ処理システム
JPH05224877A (ja) 辞書ベースのデータ圧縮/圧縮解除システム
US4095283A (en) First in-first out memory array containing special bits for replacement addressing
JP2004515096A (ja) ハフマン・デコーディングを実施する方法
US5572208A (en) Apparatus and method for multi-layered decoding of variable length codes
US5488366A (en) Segmented variable length decoding apparatus for sequentially decoding single code-word within a fixed number of decoding cycles
RU2450441C1 (ru) Способ и устройство сжатия данных
EP0411691B1 (en) Memory architecture and circuit for hashing
JPH0628149A (ja) 複数種類データのデータ圧縮方法
JP3038234B2 (ja) データ圧縮装置の辞書検索方式
JPH09284142A (ja) 可変長復号化装置
JPH09246990A (ja) 可変長符号復号化器

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080925

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090925

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100925

Year of fee payment: 12

EXPY Cancellation because of completion of term
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100925

Year of fee payment: 12