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
Links
- 230000003252 repetitive effect Effects 0.000 claims abstract 7
- 238000000034 method Methods 0.000 claims description 14
- 230000003111 delayed effect Effects 0.000 claims description 5
- 230000002401 inhibitory effect Effects 0.000 claims 1
- 238000012544 monitoring process Methods 0.000 claims 1
- 239000000872 buffer Substances 0.000 description 39
- 238000010586 diagram Methods 0.000 description 22
- 238000013144 data compression Methods 0.000 description 10
- 230000008569 process Effects 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 238000013461 design Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 3
- 238000007906 compression Methods 0.000 description 3
- 238000012856 packing Methods 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 230000006837 decompression Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 244000228957 Ferula foetida Species 0.000 description 1
- 101150094768 Mcam gene Proteins 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012913 prioritisation Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion 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/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/3084—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method
- H03M7/3086—Compression; 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/90335—Query processing
- G06F16/90339—Query processing by using parallel associative memories or content-addressable memories
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/90335—Query processing
- G06F16/90344—Query processing by using string matching techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/02—Comparing digital values
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/005—Statistical coding, e.g. Huffman, run length coding
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C15/00—Digital 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2207/00—Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F2207/02—Indexing scheme relating to groups G06F7/02 - G06F7/026
- G06F2207/025—String search, i.e. pattern matching, e.g. find identical word or best match in a string
-
- Y—GENERAL 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
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
- Y10S707/99933—Query processing, i.e. searching
- Y10S707/99936—Pattern 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
め要約のデータは記録されません。
Description
hing)に関する。
のデータ●ストリングの文字に対して符合( matc
h )させるものであって、統計的マルチプレクサ及び
モデムを使用するデータ通信システムにおけるような例
えばデータ圧縮アルゴリズムに有用である。
なデータ通信システム10において、送信機12からの
データは圧縮を受け、圧縮されたデータは通信チャンネ
ル16(第1図ではエラーのない通信チャンネルである
とする)を介して送信ざれる。該チャンネルの他端では
、圧縮されたデータはデコンプレス20され、元のデー
タΦストリームが再生される。
の実質的な利点は、圧縮及びデコンプレションの過程K
関連した計算コストによって相殺されがちである。
el ’7 7アルゴリズム(ZL77)があり、こ
れは、可変長入力・固定長出力の部類( V−F類)の
データ圧縮アルゴリズムに属する。
においては、1度より多く発生するデータがあり、特に
、データ・ストリームの局部領域においては1度より多
く発生するという単純な観察に基づいている。例えば、
テキスト●データのストリームにおいては、r the
Jという語は頻繁に出現する傾向にある。データ源が
最近送出したデータの履歴を(いわゆる履歴バツ7アに
該データを記憶することによって)監視するならば、送
出すべき現在のデータの連続的な要素を記憶された履歴
データの連続的な要素と比較することにより、データ源
は一連のデータの余剰な発生を見出すことができる。圧
縮過程は可変長ストリング符合と呼ばれる。符合が見出
されると、送信機は、全部の冗長な列を再送出する代り
に、履歴バツファでの冗長データ列の以前の発生の場所
を指すコードワードとして該列を符号化し、その長さに
注目する。コードワードを表すのに必要なビット数が冗
長データ列を表すのに必要なピット数より少ないならば
、データ圧縮が達成される。チャンネルの他端では、最
近送出したデータの履歴パツファを同じように保持する
デコーダは履歴バツファでの特定された場所に注目する
ことによってコードワードを復号する。
ストリームの文字が現われた順序を示すように番号が付
けられた16個のセル13(小さな番号のセルの方が最
近のデータを保持する)を有する。送出を待つデータ文
字は履歴バツファの右に示されている。送出されるべき
次の文字はSUPERBである。ZL 7 7により、
待っている文字の中の最初の5文字SUPERが履歴バ
ツファの同様のストリングと冗長であり、インデックス
と長さとイノベーション文字フィールドとから成るコー
ドワードl5として符号化することができると決定され
る。インデックス17は、履歴パツファにおいて何個の
文字を逆戻りすると符合したストリングが始まるかを示
す値12を有し、長さ19は符合した文字の長さを示す
値5を有し、イノベーション文字21は、待っている入
力ストリングの文字の中で履歴パツファのストリングと
符合しなかった最初の文字である。
23を有効に左へスライドさせ、最新の入力データを履
歴バツファの右へ挿入させることによって、データ源は
その履歴バツファを更新する。そこで、データ源が次の
入力データを符号化する過程が開始される。
バツファ25を保持し、送信機がその履歴パツファを更
新するのと同一のやり方で履歴バツファ2′5を更新す
る。コードワードを受信すると、データ受信機はインデ
ックス・フィールドを使って最長の符合の場所を見出し
、長さを使って履歴バツ7アから読み出すべき文字の個
数を決定し、更らに、当該コードワードに現われたとき
のイノベーション文字を取り出す。そこで、第5図に示
すように、コードヮードの復号が完了すると、履歴バツ
ファの文字を有効に左へスライドさせ、復号された文字
とイノベーション文字とを右から挿入することによって
、データ受信機はその履歴バツファを更新する。
つのハードウエア・アーキテクチャはコンテント命アド
レサプル●メモリ( contentaddressa
ble memory ; CAM)である。CAMは
、データを記憶しその内容によってアクセスすることが
できる多数のセルがら成る。読み出しサイクル期間に、
CAMはデータを取り込み、該データが見出されるアド
レスを出力する。
た列内に、所与のデータ要素のデータ・ストリングと符
合する,記憶されたデータ要素の最長のストリングを見
出すステップであって、当該符合する列がデータ要素の
列を記憶することによって見出されるステップと、前記
データ・ストリングのデータ要素を前記列の対応する要
素と比較するステップと、符合が見出されたときに信号
を発するステップと、前記の比較を反復して行わせるス
テップであって、各々の反復が前記データ・ストリング
のデータ要素と記憶場所のデータ要素との比較゛を含む
ステップと、反復が比較回路による符合信号の発出を結
果しないときに基づいて最長の符合したストリングを決
定するステップとを特徴とする。
て、各々の記憶場所は前記列のデータ要素の1つを保持
する。前記列の全てのデータ要素は前記データ舎ストリ
ングの所与のデータ要素と比較される。比較の結果とし
て発生される信号は一時記憶され、その後、前記列のそ
の隣接するデータ要素を前記データ・スl− IJング
の次の所与のデータ要素と比較するのに利用される。符
合信号の発生は、隣接するデータ要素のために一時的に
記憶された信号が符合を指示する場合を除いて禁止され
る。反復回数が計数され、符合信号を結果として生じな
い反復で終了する。符合する最長のストリングのデータ
要素数がこの計数に基づいて決定される。計数器が所定
値に達した後に反復は停止される。以上の構成は連想コ
ンテント・アドレサプル●メモリによって実行される。
グはコードワードとして符号化され、その後に復号化さ
れて最長のストリングが再生される。
列内で、データ要素の所与のス} IJングと符合する
データ要素のストリングを識別し、符合するストリング
が絶対的アドレス指定によって識別されることを特徴と
する。
の記憶された要素は前記ス} IJングの所与のデータ
要素と比較され、符合を有する1個のアドレス可能な記
憶場所の絶対アドレスが比較過程の各反復において保持
される。1個のアドレス可能な記憶場所は各反復に課さ
れる任意の規則Kよって任意に選択される。符合する前
記ストリングのコードワードとしての符号化は絶対アド
レスに基づく。コードワードは符合されたストリングの
長さと場所とを指示する値を含む。
号化及び復号な可能にする。ス} +Jング符合に必要
゛とされるステップの数は、符合されるストリングの長
さに依存する。コンテント●アドレサプル・メモリ技術
を用い、VLSI チツプ上で実行可能である。
特許請求の範囲から明確罠なろう。
ァにおける符合するストリングの場所のインデックスを
与えることにより修正される。第6図を参照すると、コ
ードワード32のインデックス部30は、ここでは値4
を有する。この値は最長の符合が始まる履歴パツファで
の絶対場所を特定しており、古典的ZL77アルゴリズ
ムにシけるような、履歴バツファにおける最も新らしい
文字に対する場所を特定するものではない。長さ34は
値5を有するので、送信機はコードワード4.5を送信
する。受信機は、相対的インデックス操作に必要な減算
をする必要がなく、履歴パツファに対するポインタとし
てインデックスを使用するO 本発明においては、符合なし(即ち、長さ二〇)の場合
、送信機はデータ列の8ピットの生まの文字(例えば、
ASCII又はEBCIDICメッセージ)をインデッ
クス●フィールドに挿入し、長さフィールドに0を置く
。長さ0を検出すると、受信機は、履歴バツファから読
み出さずに、及び、データをポインタと区別するための
フラグを必要とすることなく、インデックス・フィール
ドから生まの文字を取り出す。本発明においては、イノ
ベーション文字はコードワードの一部として符号化され
ない。むしろ、・第7図を参照するに、イノベーション
文字は符号化されるべき次の入力ストリングの最初の文
字36となる。
ズムは履歴パツファを維持し探索するための機構として
、修正されたコンテント●アドレサプル・メモリを使用
する。第8図において、履歴バツファは0〜7までの番
号が付けられた8個の単純なプロセッサ400列38と
して形成されている。各プロセッサは比較器とローカル
・メモリ(図示せず)を有する。全部のプロセッサは文
字ストリームが出現する共通データ・ノくス(図示せず
)への同時アクセスを有する。
c文字ストリーム)がabcdであるとする。プロセッ
サは同時に周期的に作動する。いわゆる比較(COMP
ARE)サイクルでは、(1)プロセッサのメモリにお
ける文字がデータ・パス上の現在の文字と符合し、(2
)該プロセッサの左隣りのプロセッサが前の比較サイク
ルにヒット( bit )を宣言( assert )
Lた場合、当該プロセッサはヒットを宣言する。〔修
正されたアルゴリズムは各プロセッサにヒットを宣言さ
せることによって前記列を初期化する(初期化サイクル
〕。
いる。〕文字raJがデータ・バスを介して全部のプロ
セッサへ送られると(比較raJサイクル)、プロセッ
サ0,1,4.7はヒット(矢印)を示す。なぜなら、
それらの内容は文字「a」と符合し、それらの左隣りは
前の(初期化)サイクルでヒットを持ったからである。
さ計数器42を増分する。同時に、ヒットを持つセルの
1つのインデックス44が記録される。複数のセルがヒ
ットを持つことがあるので、規定どおりに、修正された
アルゴリズムはヒットを持つ最左端のプロセッサのイン
デックスを単に記録する。
ータ・パスを介して送出され、プロセッサ2のみがヒッ
トを持つ。再びアルゴリズムは長さ計数器を増分し、ヒ
ットを持つ最左端のプロセッサ(2)のインデックスを
記録する。
ータ・パスを介して送出され、プロセッサ6がrcJを
収容しているけれども、プロセッサ3のみがヒットを宣
言する。これは、プロセッサ6の左隣りのプロセッサ5
が前の比較サイクルでヒットを宣言しなかったからであ
る。再び、アルゴリズムは長さ計数器を増分し、ヒット
した最左端のプロセッサのインデックスを記録する。
ータ・バスを介して送出される。ヒットを宣言するプロ
セッサはなく、これは最長の符合が見出されたことを示
すことになる。
字がどこで見出されたかを示している。
し引き、1を加えることによって見出される。この例に
おいては、最長の符合はインデックス=3−3+1即ち
1で始まる。したがって、送信機はrabcJを1.3
として符号化して送信する。
と、最長の符合である可能性を持つストリングが分離さ
れる。有意義なことに、探索時間は履歴パツファのサイ
ズではなく符合長に依存する。例えば、Lが符合長であ
れば、最長の符合を見出すのに(L+1)個の文字を比
較すれば足り、従来のハツシング( hashing)
即ちツリー探索データ構造よりもずっと高速である。
一〇インプリメンテーション( systolicar
ray implementation ; M. E
.ゴンザレス0スミス及びJ.A.ストーラー著「デー
タ圧縮のための並行アルゴリズム」コンピュータ機械協
会誌、第32巻第2号、1985年4月、第344〜3
73ページに記載されている)と比較して、このアルゴ
リズムは著しく低い潜伏( 1atency) ヲ持つ
。全部のCAMセルはそれらの内容を同一の入力文字と
同時に比較するので、最長の符合が見出されると直ちに
コードワードを生成することができる。古典的なシスト
リック・アレーにおいては、潜伏( Iatency
)は履歴バツファのサイズに常に比例するが、応用によ
っては受容不可能なほど長いことがある。
している。
エア●アーキテクチャはコンセント●アドレサプル●メ
モ!J(CAM)である。連想メモリとしても知られて
いるCAMは、データを記憶することができるセルであ
って、(従来のメモリのようにアドレスではなく)その
内容によってアクセスすることができ、データが見出さ
れたアドレスを伝えるセルを有する。
、(第8図の単純なプロセッサの1つに対応する)各C
AMセル100はメモリ要素10,2と比較器1040
両方を有する。各セルにアドレスすることができる。C
AMセルK接続されたグローバル●データ●パス106
はデータ(文字ストリーム)を全てのセルへ運ぶ。CA
Mメモリ要素のデータがパスで送られたデータ108と
整合すると、CAMセルは符合を示すヒット信号を宣言
する。
CAMセル122は、遅延されたヒットを各セルがその
右隣りのセルへ伝えることができるようにする遅延回路
124(フリツプフロツブ)を含む。各セルはライン1
26により左隣りのセルから遅延された符合の結果を受
け取る。
サイクル(t−1)での左隣りのセル(n−1)のヒッ
ト信号との論理積130である。
左隣りのセルの符合の結果であり、ヒット。, t−1
は前の比較サイクルでのCAMセルnの符合の結果であ
る。遅延回路124は1比較サイクル後にその入力信号
をその出力へ伝える。
ト信号126はその隣りのセルとのみ相互接続される。
は最長の符合のアドレスを決定するのに必要とされる。
ストリング符合器( variable length
string matcher :VLSM ) 1
3 0の一部を成す。
には、4つの別個の勤作、即ち「初期化」rINIT)
、「比較J (’COMPARE)、「出力」(OUT
PUT)及び「更新J (UPDATE)が必要である
。
の比較サイクルに対して設定させるように符号化する各
ストリングに対して1度しか使用されない。「初期化」
はセルの内容をクリャしない。比較サイクルにおいて、
入力ストリングの文字はチェックのために全てのCAM
セルに対してデータ・バスに置かれる。少くとも1つの
符合が生じると、別の比較サイクルが入力ストリングの
次の文字で始まる。インデッ少妃長さとの要素がら成る
コードワードが出力サイクル期間に生成される。最後に
、各更新サイクルにより、1個の文字が履歴パツファに
挿入される。全部の符合したストリングが履歴パツファ
に書き込まれるまで、これらが反復される。
ータ・バス[データ( 7 : O]J、( 1 02
4セル長の履歴バッ7アであるとして)10ビットのア
ドレス●バス「アドレス(9:O)J、イネープル線及
び2本の選択線Sl,So.rデータ(7:O]Jは比
較又は更新されるべき文字を含む。「アドレス(9:O
)Jは文字(バイト)が挿入される履歴バッファ場所を
特定する。
Sl,Soの組合せは、次の表に従って4つの可能な命
令のうちの1つを実行するためにVLSMブロック内で
適切な制御信号を発生させる。
COMPARE (比較)1 0 O
UTPUT(出 力)1 1 UPDAT
E (更新)「インデックス〔9:0〕」は整合を持
つ1つのCAMリードの絶対アドレスである。これは通
常はVLSM内にラッチされ、出力モードが選択された
ときに出力イネーブルされる。少くとも1つのCAMワ
ードが符合を有するとき、CAM−ヒットがVLSMに
よって断言される。この出力信号は外部制御器132(
有限状態マシンによって実施される)によって監視され
、比較サイクルが継続されるべきか否かが決定される。
straightforward )である。最長の符
合を見出すために、制御器132は初期化命令を選択す
る。その次のサイクルにおいて、入力ストリングの最初
の文字はデータ・バスに乗せられ、比較モードが選択さ
れる。rCAM−ヒット」が宣言されると、次の文字が
データ・バスに乗せられ、別の比較命令が発せられる。
るまで、制御器132は以上のステップ.を反復する。
ツクする。それまでに、CAMの最長の符合したストリ
ングの最後の文字に対する「インデックス」がレディと
なるので、制御器は「出力」を発して「インデックス」
を7エッチする。履歴バックァの1つの文字を更新する
ために、制御器は[データ(7:O]Jに文字を乗せ、
更新モードを選択する。更新サイクルを以下に詳述する
。
入力FIFOから除去され、場所5で始まる(第14図
の例に訃ける)履歴ノくツファに挿入される。履歴バツ
ファの変化は第14図の右下に太い文字で示される。場
所0−7の文字は入力ストリングabcのために空きを
作る左ヘシフトされることはない。これは、こうした更
らなるデータ転送は履歴パツファへ最古の文字を書き込
むごとによって回避されるからである。
してバイト連想CAMワード・アレーl34(第12図
に対応)を内部的に含む。アレー134は履歴パツファ
として動作し、並列比較を実行する。アレ−134には
、行符号器136、行復号器1゛38、行符号器140
、行復号器142が接続される。データ・パツファ14
4はアレーとデータ・バス146との間に接続される。
されている)、制御機能モード復号器148、マルチプ
レクサなどの支持論理部を含んでいる。
ると、入力としてS1及びS2を取り、4つのilr初
期化」、「比較」、「書込み」、「読取りADDRJの
うちの1つを適宜宣言する。
る。
号器の出力側の「符号化」線を選択し、アドレス符号化
の目的で行を選択する。また、COMPは行復号器への
入力を[アドレス(:9:4)Jと行符号器の出力との
間で切り換える。「書込み」は更新サイクルで宣言され
る。「書込み」は「選択」線とデータ書込みのために1
個のCAMワードのアドレスを指定する列復号器とをイ
ネープルする。最後に、「読出し−ADDRJは三状態
装置154に対する出力イネーブルとして動作する。
ツク信号pht 1 , pht 2が各CAMワード
をスルーさせる。
と行復号器へ行く6ビット部分とに分解される。イネー
プルされると、行復号器は64本の線の1つを宣言する
。「書込み」が宣言されると、これらの線は、書込みサ
イクル中は行イネープルとして動作する64本の「選択
」線に接続される。「比較」が宣言されると、64本の
「符号化」線は行復号器の出力を運ぶ。
」線と列符号器へ行く16本の垂直「V一符合」線を生
成する。符号器はそれぞれ6本及び4本のアドレス線を
生成し、これらは結合されてlOビットの「インデック
ス」を形成する。
16 (:1024)個のワード・セルがあり、そのう
ちの代表的な3×3(二9)個のワード・セルが図示さ
れている。この2次元的な配列は、特に多数のワード・
セルに対する小型なVLSIレイアウトにとって望まし
い。
ト●バイト・ストリーム)は全てのワード・セルに達し
ている。「選択j線は更新サイクル期間のみ使用され、
その他の期間は高インピーダンスである。「選択」線は
更新サイクル期間Kは行アドレス復号器の出力に接続さ
れ、データ書込みのために1つの行をイネープルする。
・セルに供給される(第18図)。
」線は同一の行又は列上の他の全てのCAMワードとワ
イヤード・オアされ、philの期間はハイにプリチャ
ージされる。各「H一符合」線は、当該行の少くとも1
個のCAMワードがphi zの期間K符合を持つなら
ば、ローに下げられる。
力である。更らに、最も大きい番号のワード●セルから
の「ヒット」は最も小さい番号のワード・セルへの入力
である。例えば、ワード命セル8の「ヒット」出力はワ
ード●セル0の「ヒット」入力に接続される。一貫した
アドレス指定を維持するために、行の最後のワードから
の「ヒット」は次の行の最初のワードへ送られなければ
ならない。大きなアレ一の場合、線が極めて長いので、
不要な伝搬遅延が生じることがある。しかし、線の長さ
はアレーを水平に1折り畳む”ことができるならば最小
としうる。
ット●セルである。このCAMビット・セルは上部に標
準的な6個のトランジスタのスタティックRAMセル・
トポロジを有し、下半分に、等価論理機能を実行する3
個の別のトランジスタを有する。
。符合サイクルの期間に、「ビット」線上のデータがセ
ルに記憶されたビット値と同一であるならば、Mはハイ
を維持する。その他の場合、Mはローに下げられ℃非符
合を指示する。宣言されると、「選択」線は「ビット」
線及び「ピット8」線上の値を記憶素子に誉き込ませる
。
AM符合セルを形成する。INMは8ビット構成におい
てワイヤ●アンドされる。したがって、少くとも1個の
ビット・セルが非符合を検出すると、aMはローとなる
。
で次に高いレベルにある。第18図はCAMワード−セ
ルの内部構造を示している。
りのものはランダム論理部と制御線である。
と前の比較サイクルでの左のワード・セルの符合結果で
ある「ヒット。−lit利」との論理積である。正であ
れば、「ヒット。,tJは「H一符合」線を引下げ、こ
のワード・セルに対する符合を指示する。「ヒット。,
t−tJは1サイクル遅延された[ヒット。,tJ信号
である。最長の符合したストリングを見出す際、CAM
ワード拳セルの左隣りが前の比較サイクルで符合を有し
、該セルの内容がそのデータと同一である場合Kのみ、
現在の符合が許容される。入力ストリングは一時に1個
の文字のみをデータ・バス上に生じさせる。
ブ166の使用に依存する。
比較サイクルが生じていないので、左隣りが符合を持っ
たという規則に従う必要はない。
初期化命令が最初に発せられる理由である。
している。「初期化」がノ・イに宣言されると、ワード
●セルの「ヒット。,tJO値ではなく、このハイの値
が7リップフロッグに供給される。
セルの「ヒット。,t−tJ線がノ蔦イにされ、その結
果、符合を持つ全てのワードはそのことを指示すること
ができる。
AMの特性の一つであるから、vLSM及びCAMにと
ってアドレス優先符号化は必要でアル。デジタル的には
、N個のアドレスのうちの1つを特定するのにlog
2 N個のピットが必要である。もし1個より多くの入
力が同時にアクティブであると、2進符号化が行われる
前に、まず衝突を解決する必要がある。換言すれば、順
位付け器( prioritizer)が必要である。
アドレスOが求まる。いま、行0において生じる列符合
のみを列符号器に入れ、他の行の列符合を禁止する。行
Oにおいて、列2.3が符合を有し、列符号器はアドk
ス2を発生しなければならない。行及び列のアドレスを
組合わせると、アドレス2が形成され、これは正しい。
号化」線の存在を説明する。第18図において、「H一
符合」層は比較サイクル期間に行符号器に入る。符号化
された行アドレスは行復号器へ送られる。同じサイクル
において、行復号器の出力は「符号化」線に接続され、
それにより、1個の「符号化」線のみが宣言される(即
ち、1つの行がイネーブルされる)。ワードeセルの「
V一符合」は、当該行に対する「符号化」線が宣言され
、[ヒツ}nJも宣言された場合にのみローになる。こ
の制限なしには、最も小さい番号のワード・セルの正し
いアドレスを符号化することはできない。第20図はア
ドレス符号化シーケンスを要約したものである。
イにプリチャージされ、同一の行のワード●セルとワイ
ヤードオアされている。これは、それぞれの垂直「V一
符合」線についても同じである(ただし、同一の行のワ
ード・セルとワイヤードオアされている点で違いがある
)。
スの符号化が最初に行われなければならない。その結果
の行アドレスは行復号器へ送られる。行復号器の出力は
「符号化」線へ送られ、1つの行をイネーゴルしてその
垂直「V一符合」線を列アドレス符号器へ伝搬し、垂直
アドレスを符号化する。アドレス符号器は独特なアドレ
スを符号化するために多重符合を解消する責任を有する
。
れる一つの方法は優先符号化、即ち、最低のアドレスを
有するCAMワードを符号化することである。
子状に構成される。その規則性はVLSMの実施に特に
適している。さらに、リツプル・チェイン( ripp
le chain )手法よ.りも広い面積をとるが、
かなり高速な回路である。第21図の設計は、同一構造
に優先順位付けと2進符号化とを組合せたものである。
チャージされる。2進表示の特質を利用するために、ア
ドレスの最上位ビット(例えば、第21図のA3)が最
初に符号化される。次いで、ランダム論理は最上位のア
ドレス線の値に依存するよう設計することができる。例
えば、AO上の論理「符合14」はA3,A2,At、
「符合14」に依存する。さらに一般的な場合には、上
側の8本の「符合」線(0〜7までの2進アドレスを符
号化し、4ビット・アドレスの最上位ビット即ちA3は
Oである)の任意の1つが宣言されたならば、下側の8
本の「符合」線はA3とアンドされるためにターン赤オ
ンされる。論理の適切な配置により、符号器は多重応答
の場合に最低アドレスを符号化することができる。
されてから評価される。これを行うのには2つの理由が
ある。まず、「符合」線はワイヤ嗜アンドされているの
で、その論理レベルを保持するためにパツ7アを必要と
するからであり、次に、符号化論理を働かせるためには
、「符合」線は正論理゛をとるからである。しかし、C
AMアレーにおいては、「符合」線は整合が生じるとロ
ーに下げられる。インパータを使うことにより、それを
正しい極性に戻すことができる。
責任を持つ。この列も、philの期間ハイにプリチャ
ージされるワイヤ●オアされた構造である。任意の1つ
の「符合」線がハイであると、rCAM−ヒット」はロ
ーに下げられる。この構造は行アドレス符号器にのみ備
えられる。
packing)及びアンパッキング( unpack
−ing)が必要となる。ビット・パッキングは、通常
はバイト●サイズでないコードワードをバイト又はワー
ド量へ束ねることを意味する。ビットΦアンパッキング
はバイト列からコードワードを抽出するという逆の操作
である。これらの操作は最長の符合を見出す操作ほど複
雑ではないが、ごく一般的であるから、スピードアップ
により全体のスループットを改善することがでキル。
化入力FIFO(ファースト−イン・ファーストΦアウ
ト)242に入り、VLSM244、ビット・パツカー
( bit packer ) 2 4 6を通って、
最終的に符号化出力PIF0248に至る。
機械によって制御される。
あり、外部機器によって書き込まれ、符号器によって読
み出される。FIFOは外部機器によって必要とされる
メモリ管理オーバーヘッド(memory manag
ement overhead)を最小とするように設
計され、FIFO読出し又は書込みが生じるたび毎にF
IFOアドレスφポインタを更新するための内部論理を
収容している。更らに、内部論理は非同期ノ・ンドシェ
ーク信号ばかりでな<FIFOの状態にも応答する。例
えば、RD−RDY信号がFIFOによって宣言された
場合にRD信号を宣言することにより、バイトを読み出
すことができる。同様に、WRが外部機器によって宣言
されると、WR−RDYが正である期間にバイトがFI
FOに書き込まれる。FIFOが空き又ははとんど空き
の場合、rEI一空き」信号が発生され、FIFOを使
用する外部機器に警告を与える。
理列を発生し、最長の符合を暗黙のうちに見出させ、コ
ードワτドを生成させる。
込んでバイトにノくツクする。その出力は符号化出力F
IFOに直接に接続される。したがって、ビット・パツ
カーはFIFOともノ−ノドシエークするよう設計され
ている。図示のように、4ビットの「符合長」とlOピ
ットの「インデックス」はビット・パツカーへの入力と
してノ1−ドワイヤード( hard−wi red
)される。三状態レジスタの出力もビット・パツカーへ
入力される。三状態レジスタはVLSMへ与えられる入
力文字を常にラッチする。全く整合がない、即ち「符合
長」がOに等しいならば、当該文字はコードワードのイ
ンデックス部で保管される。この場合、VLSMの「出
力」命令は符号器FSMによって発せられることはなく
、その代りに、三状態レジスタの内容が「符合長」(0
である)の他にビット・パツカーに供給される。
を有するが、128バイトであり、ビットφパツカーに
よって書き込まれ、外部機器によつて読み出される。ビ
ット●パツカーは信号WRを発生し、FIFOへの書き
込みを行わせる。
状態のときに発生される。
である。rCAM−ヒット」は該計数器のアップ・カウ
ント●クロツクであり、DECは,ダウン・カウント拳
クロックとして働く。長さ計数器の4ビット出力はビッ
ト・パツカー及びオア●ゲートへ入力される。出力が全
部ゼロであれば、「終了9」はローになり、符号器FS
Mへの入力として用いられる。
Mへ挿入されるべき次の位置を常に指示する履歴パツフ
ァ●ポインタである。この10ビットの2進計数器は、
VLSMに対する更新命令が実行されるときには常に1
だけ増分される。
トする。信号CLRが宣言されると、アドレス計数器は
リセットされる。
することができる。これが必要とされるのは、コードワ
ードが発生された後に、それぞれの符号化された入力文
字はVLSMへ書き込まれなければならないからである
。パッファ計数器256がクリャされてから、新しい符
号化サイクルが始まる。それぞれの入力文字が符号化入
力FIFOから読み出されると、VLSMへ与えられる
と共に文字パッファに書き込まれ、バッファ計数器は次
の位置を指示するように増分される。
リセットされ、最初の文字を指示する。更新サイクル期
間において、各入力文字が文字バッファから読み出され
、アドレス計数器によって特定されたVLSMの場所に
書き込まれると、長さ計数器は減分される。符号器FS
Mは「終了1」信号を使って、更新活動をいつ終るべき
かを決定する。
較サイクルは誤りが生じたとき、即ち、rCAM−ヒッ
ト」が宣言されないときに停止される。その時点におい
て、最長の符合の一部をなしていない最後の文字はまだ
三状態レジスタにある。FSMは、次の符号化サイクル
に訃いて最初の文字が必ずFIFOからではなく三状態
レジスタから来るようにしなければならない。
最長の符合が見出されなくとも、コードワードが発生さ
れなければならない。換言すれば、符号器FSMはデー
タの終了を認識し、出力命令を出させてインデックスを
求めることにより、通常のVLSM動作サイクルを破る
。長さ計数器の内容と共に、コードワードがビット拳パ
ツカーに供給される。ビット拳パツカーFSMはこうし
た状態に応答する。即ち、もし信号rEN一停止」(ビ
ット・パツカーへの入力)が宣言されるならば、ビット
・パツカーは8ビットで満たされていなくとも、バイト
●テンプレート( byte temp−late )
を出力する。
の場合、全ての計数器はクリアされ、FSMはスタンバ
イ( standb)’ )モードになる。
が状態図の形で示されている。
ファし、次いで読み出してVLSMを更新することを必
要とする。代りの手法は、入力文字を比較サイクルの直
後にVLSMに挿入し、どこかにセーブする必要をな《
すものである。
なることになろう。前述の手法においては、2の符合長
に対して次の命令な必侠とする:初期化(INIT)、
比較(COMPARE)、比較、比較、出力(OUTP
UT)、更新(UPDATE)、更新。
ある: 初期化゛、比較、更新、比較、更新 次の比較サイクルはすぐ次のサイクルではなく1サイク
ル後に到来するので、符合結果をもう1サイクル遅延さ
せるために、各VLSMワード管セルにもう1つの7リ
ップフロツプが必要となる。
号器アーキテクチャは、文字バツファとパックァ計数器
とが除去されるため、一層すっきりしたものになる。そ
のうえ、現在の符号化プロセスの出力サイクルと次の符
号化プロセスの初期化サイクルとが組み合わされること
を見るのが容易になる。
グ符合はデータ圧縮ではない応用、例えば、所望の文字
ストリングを見出すためのテキスト文字ス} IJング
の探索に使用することができる。
るよりも長い履歴バツファを持つのが望ましい場合に連
結されうる。
ロック図、第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、データ要素の記憶された列内に、所与のデータ要素
のデータ・ストリングと符合する、記憶されたデータ要
素の最長のストリングを見出すための装置において、 データ要素の前記列を記憶するため、の記憶装置と、 前記データ・ストリングのデータ要素を前記列の対応す
るデータ要素と比較し、符合が見出されたときに信号を
発する比較回路と、 前記データ・ストリングのデータ要素と記憶場所におけ
るデータ要素との比較を含む反復動作を前記比較回路に
反復的に行わせ、前記比較回路による符合信号の発生を
結果的に生じないのはいつかに基づいて最長の符合した
ストリングを決めるための制御回路と を具備する装置。 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記載の装置。
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)
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)
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS60116228A (ja) * | 1983-06-20 | 1985-06-22 | ユニシス コーポレーション | ディジタル信号ストリーム圧縮方法及び圧縮装置 |
Family Cites Families (26)
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 |
-
1989
- 1989-12-20 AU AU47040/89A patent/AU624205B2/en not_active Expired
-
1990
- 1990-01-04 CA CA002007168A patent/CA2007168C/en not_active Expired - Lifetime
- 1990-01-23 DE DE69030519T patent/DE69030519D1/de not_active Expired - Lifetime
- 1990-01-23 AT AT90300689T patent/ATE152260T1/de not_active IP Right Cessation
- 1990-01-23 EP EP90300689A patent/EP0380294B1/en not_active Expired - Lifetime
- 1990-01-23 JP JP2013453A patent/JP2830280B2/ja not_active Expired - Lifetime
-
1992
- 1992-11-13 US US07/976,298 patent/US5329405A/en not_active Expired - Lifetime
-
1998
- 1998-06-27 HK HK98107180A patent/HK1009317A1/xx not_active IP Right Cessation
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS60116228A (ja) * | 1983-06-20 | 1985-06-22 | ユニシス コーポレーション | ディジタル信号ストリーム圧縮方法及び圧縮装置 |
Cited By (2)
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 |