JP2010268146A - データが記憶された位置を選択する装置及び方法 - Google Patents
データが記憶された位置を選択する装置及び方法 Download PDFInfo
- Publication number
- JP2010268146A JP2010268146A JP2009116851A JP2009116851A JP2010268146A JP 2010268146 A JP2010268146 A JP 2010268146A JP 2009116851 A JP2009116851 A JP 2009116851A JP 2009116851 A JP2009116851 A JP 2009116851A JP 2010268146 A JP2010268146 A JP 2010268146A
- Authority
- JP
- Japan
- Prior art keywords
- address
- specific
- data element
- signal
- positions
- 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
Images
Classifications
-
- 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
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Read Only Memory (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
【解決手段】連想メモリセルアレイ26内の特定の文字データが記憶された複数のアドレスを表す信号MATCHが入力されると、ラッチ90、AND回路92、OR回路94によって、複数のアドレスの少なくとも一部がローアドレス領域内にあるかどうかが判定され、ラッチ90、NOT回路96、NAND回路98、AND回路100によって、複数のアドレスの少なくとも一部がローアドレス領域内にある場合にハイアドレス領域からの信号MATCHがマスクされ、プライオリティエンコーダ102が、マスクされずに入力された信号MATCHが表すアドレスのうちの最大のアドレスを、複数のアドレスのうちの選択すべきアドレスとして出力する。
【選択図】図9
Description
従って、これをソフトウェアで行おうとすると、処理に時間がかかってしまう。ソフトウェアでは、通常、ハッシュ法により、検索時間の短縮を図ることになる。しかしながら、ハッシュ法では、同じハッシュ値を持つ文字列が多い場合、その一部が捨てられてしまうことがある。つまり、全ての文字列を完全に検索することは、処理時間とバッファ容量を考慮すると難しいという問題があった。
従って、データが周期的に(サイクリックに)書き込まれるメモリにおいて、ある文字列の繰り返し部分が複数の位置に記憶されていた場合、どの位置に記憶された繰り返し部分を選択すればよいかが問題となる。このような場合、特許文献1〜3のようにプライオリティエンコーダを用いて、つまり、メモリ上の位置に関する固定した優先順位で繰り返し部分を選択するのではなく、書込み順序を考慮してその文字列に近い位置にある繰り返し部分を選択できるようにすれば、圧縮率が向上する。つまり、一般的に言えば、データが複数の位置に記憶されている場合に、なるべくそのデータが最近に書き込まれた位置を選択できるようにすることが求められる。
[第1の実施の形態]
図1は、本実施の形態が適用されるマイクロコンピュータ10の構成(一部)を示す。マイクロコンピュータ10は、CPU12、ROM14、RAM16を備えており、これらはアドレスバス、データバス、コントロールバス等からなるバス18を介して互いに接続されている。また、マイクロコンピュータ10は、本実施の形態における文字列検索装置20を備えており、この文字列検索装置20は、文字列検索装置20の作動を制御するコントローラ22を介してバス18に接続されている。
文字列検索装置20は、図に「○」で示す多数の連想メモリセル(単位セル)28がマトリクス状に配置されて構成された連想メモリセルアレイ26を備えている。連想メモリセルアレイ26には、M+1本のワード線WL0〜WLM、M+1本のマッチ線MATCH0〜MATCHM、N+1組のビット線対BL0,BL0'〜BLN,BLN'が各々マトリクス状に配置されており、各連想メモリセル28は、ワード線WL0〜WLMの何れか、マッチ線MATCH0〜MATCHMの何れか、及び、ビット線対BL0,BL0'〜BLN,BLN'の何れかに各々接続されている。
クロックRD-WTは、「読取り」及び「書込み」時にタイミングコントローラ50に接続されたアドレスデコーダ52に出力され、アドレスデコーダ52を作動させる。アドレスデコーダ52はコントローラ22に接続されており、コントローラ22からデータの読取り又は書込みを行なう連想メモリセル列のアドレスが指定される。アドレスデコーダ52にはワード線WL0〜WLMが接続されており、指定されたアドレスに対応する連想メモリセル列のワード線をハイレベルとする。
図5は、「検索」モードにおける検索処理の一例として文字列の検索処理を行う際の文字列検索装置20の動作例を示したフローチャートである。尚、このフローチャートは、CPU12からの指示によりコントローラ22が実行する処理の流れを示したものである。また、このとき、連想メモリセルアレイ26の各連想メモリセル28には、既に被検索データとしての文字列データが記憶されているものとする。
プリチャージコントローラ580〜58MのNOR回路70に各々入力される信号SETが一旦ハイレベルとなると、NOR回路70から出力される信号がローレベルとなる。MOSFET72はPチャンネル型であるのでクロックSRがローレベルの間はオンしており、NOR回路70から出力された信号はNOT回路74に入力され、NOT回路74、76のループに保持される。
まず、太矢印の左側に示すように、連想メモリセルアレイ26に「IBM is」までの文字列が順次格納されたとする。尚、図において、連想メモリセルアレイ26の左側に記載した数字は、各連想メモリセル列のアドレスを示しており、ワード線WLM(マッチ線MATCHM)のMの値に対応する。
文字列検索装置20では、連続した文字列「IBM」をこのような方法で検出し、太矢印の右側に示すように、最初にヒットしたアドレス(以下、「ヒットアドレス」という)及び一致した文字長(この場合はヒットアドレス0及び文字長3)を出力する。
まず、(a)の太矢印の左側に示すように、連想メモリセルアレイ26に「IBMisIBMare」までの文字列が順次格納されたとする。尚、この図においても、連想メモリセルアレイ26の左側に記載した数字は、各連想メモリセル列のアドレスを示しており、ワード線WLM(マッチ線MATCHM)のMの値に対応する。また、図の「書込みアドレス」は、図2のアドレスデコーダ52に入力される信号R/W-ADDRESSに相当し、新しく入力されたデータが格納される連想メモリセル列のアドレスである。この書込みアドレスは、データが書き込まれるたびに1ずつ増加していき、一番大きいアドレスに達するとアドレス0に戻り、データの書き込みが継続される。つまり、連想メモリセルアレイ26はリングバッファとなっている。このように、過去のバッファの容量分のデータが連想メモリセルアレイ26には常に存在する。そして、新たに書き込む文字列との一致は、この過去のデータを対象に判定される。(a)の場合、文字列はアドレス0から格納されており、アドレス11が続きの文字が格納される連想メモリセル列を指し示す書込みアドレスとなっている。
(a)のようにアドレス0から文字列が格納された場合であれば、ヒットした2箇所のうち、固定的な優先順位に従って、アドレスの大きい方を選択すれば、書込みアドレスに近いヒットアドレスであるアドレス5を選択することができる。
この場合、ヒットした2箇所のうち、固定的な優先順位に従って、アドレスの大きい方を選択すれば、書込みアドレスに近いヒットアドレスであるアドレス1を選択することができず、書込みアドレスから遠いヒットアドレスであるアドレス10を選択することになってしまう。deflate圧縮等の方法では、ある文字列の繰り返し部分のうち最も近い位置にある繰り返し部分を選択し、近い位置にある繰り返し部分ほど短いビット長の符号を割り当てることで圧縮率を高めているので、(b)のような場合は、圧縮率が低下してしまう。
複数の位置にある文字列がヒットしたとすると、何れかの文字列を選択しなければならない。deflate圧縮では、書込みアドレスから一致した文字列までの文字数と、一致した文字列に含まれる文字数とを符号化して、圧縮を行う。その場合、書込みアドレスからの文字数が少ないほど割り当てるビット長は短くなるため、複数の位置でヒットした場合に、書込みアドレスから一番近いヒットアドレスを選択することにより、圧縮率を高めることが可能となる(ある文字列の繰り返し部分はその文字列の近くに存在する確率が高いため、このような圧縮方法が採用されている)。deflate圧縮の場合、一番近いヒットアドレスに割り当てるビット長は5ビットですむが、一番遠いヒットアドレスに割り当てるビット長は18ビットとなってしまい、後者は前者の3.6倍となる。従って、最適なものを選択できれば、圧縮率の向上を図ることが可能となる。
(a)に示したケース1は、書込みアドレスより小さいアドレスに複数のヒットがあった場合である。この場合は、アドレスが最大のヒットアドレスが最適値、即ち、書込みアドレスに最も近いヒットアドレスとなる。
(b)に示したケース2は、書込みアドレスより大きいアドレスに複数のヒットがあった場合である。この場合も、アドレスが最大のヒットアドレスが最適値、即ち、書込みアドレスに最も近いヒットアドレスとなる。
(c)に示したケース3は、書込みアドレスより小さいアドレスに1つ、大きいアドレスに1つのヒットがあった場合である。この場合は、アドレスが小さいヒットアドレスが最適値、即ち、書込みアドレスに最も近いヒットアドレスとなる。
(d)に示したケース4は、書込みアドレスより小さいアドレスに2つ、大きいアドレスに1つのヒットがあった場合である。この場合は、中央にあるヒットアドレスが最適値、即ち、書込みアドレスに最も近いヒットアドレスとなる。
そこで、書込みアドレスを境界線として、連想メモリセルアレイ26を書込みアドレスより小さいアドレスの領域(以下、「ローアドレス領域」という)と書込みアドレスより大きいアドレスの領域(以下、「ハイアドレス領域」という)の2つの領域に分けて考える。
(1)ローアドレス領域内にヒットアドレスが存在している場合は、ハイアドレス領域内のヒットアドレスは無視した上で、アドレスが最大のヒットアドレスを選択する。
(2)ローアドレス領域内にヒットアドレスが存在していない場合は、単純にアドレスが最大のヒットアドレスを選択する。
この方法をハードウェアで実現するためには、ローアドレス領域とハイアドレス領域とを分けるためのマスクパターンを用いることが考えられる。
この例では、マスクパターンを、ラッチ(フリップフロップ)900〜90Mで構成し、ラッチ900〜90Mのそれぞれが1ビットを保持している。また、マスクパターンは、書込みアドレスが1増加するとラッチ900〜90Mの全体がシフトするようになっている。
以下、マスクパターンの生成方法を述べる。
(1)リセット時には、マスクパターンを構成するラッチ900〜90Mをクリアして「0」とする。
(2)データが連想メモリセル列に書き込まれ、書込みアドレスが1増加するたびにマスクパターン全体を1ビットシフトさせる。
(3)書込みアドレスが最大値に達し、アドレス0にラップしたときには、マスクパターンを構成するラッチ900〜90Mをクリアして「0」とする。
即ち、ローアドレス領域でヒットがあった場合には、OR回路94からのハイレベルの信号LOW-ADDRESS-HITがNAND回路98の一方の入力端に入力される。
ここで、ローアドレス領域については、ラッチ90に「1」が保持されているので(図ではラッチ900〜902)、NOT回路96からローレベルの信号がNAND回路98の他方の入力端に入力される。従って、NAND回路98からはハイレベルの信号がAND回路100の一方の入力端に入力される。これにより、AND回路100からは、マッチ線MATCHのレベルがそのままプライオリティエンコーダ102に入力される。
一方、ハイアドレス領域については、ラッチ90に「0」が保持されているので(図ではラッチ903〜90M)、NOT回路96からハイレベルの信号がNAND回路98の他方の入力端に入力される。従って、NAND回路98からはローレベルの信号がAND回路100の一方の入力端に入力される。これにより、AND回路100からは、マッチ線MATCHのレベルに関わらず、ローレベルの信号がプライオリティエンコーダ102に入力される。
その後、プライオリティエンコーダ102は、マッチ線MATCHがハイレベルになったアドレスのうち、最大のアドレスを選択する。
即ち、ローアドレス領域でヒットがなかった場合には、OR回路94からのローレベルの信号LOW-ADDRESS-HITがNAND回路98の一方の入力端に入力される。
ここで、ローアドレス領域については、ラッチ90に「1」が保持されているので(図ではラッチ900〜902)、NOT回路96からローレベルの信号がNAND回路98の他方の入力端に入力される。従って、NAND回路98からはハイレベルの信号がAND回路100の一方の入力端に入力される。これにより、AND回路100からは、マッチ線MATCHのレベルがそのままプライオリティエンコーダ102に入力される。
一方、ハイアドレス領域については、ラッチ90に「0」が保持されているので(図ではラッチ903〜90M)、NOT回路96からハイレベルの信号がNAND回路98の他方の入力端に入力される。従って、NAND回路98からはハイレベルの信号がAND回路100の一方の入力端に入力される。これにより、AND回路100からは、マッチ線MATCHのレベルがそのままプライオリティエンコーダ102に入力される。
その後、プライオリティエンコーダ102は、マッチ線MATCHがハイレベルになったアドレスのうち、最大のアドレスを選択する。
図10は、この場合のアドレス出力回路60の構成例を示した図である。但し、アドレス出力回路60以外の構成も一部示している。
この例では、図示するように、アドレスデコーダ52が書込みアドレスに対応して1対1でマスクパターンを生成している。例えば、信号R/W-ADDRESSがアドレス0を示していれば、マスクパターン「1000…00」を生成し、信号R/W-ADDRESSがアドレス1を示していれば、マスクパターン「1100…00」を生成する。このような回路では、マスクパターンのリセット等を行う必要なく、単純である。どちらが好ましいかは、ゲートサイズ、ゲート遅延等を考慮の上で決めればよい。
図11は、アドレス出力回路60の動作例を示したフローチャートである。
アドレス出力回路60は、まず、書込みアドレスのカウントアップを検出する(ステップ901)。
次に、アドレス出力回路60は、マスクパターンを生成する(ステップ902)。尚、ここでのマスクパターンの生成方法としては、図9のようにラッチ90の全体をシフトさせることで生成する方法や、図10のようにアドレスデコーダ52が信号R/W-ADDRESSに基づいて生成する方法が考えられる。
その結果、ローアドレス領域でヒットがあったと判定された場合、ローアドレス領域ではマッチ線MATCHのレベルがそのままプライオリティエンコーダ102に入力され、ハイアドレス領域ではマッチ線MATCHのレベルに関わらずローレベルの信号がプライオリティエンコーダ102に入力される(ステップ904)。
一方、ローアドレス領域でヒットがなかったと判定された場合、ローアドレス領域、ハイアドレス領域共にマッチ線MATCHのレベルがそのままプライオリティエンコーダ102に入力される(ステップ905)。
その後、プライオリティエンコーダ102では、入力されたハイレベルになっているマッチ線MATCHのうち、最大のものをMATCH-ADDRESSとして出力する(ステップ906)。
次に、本発明の第2の実施の形態を説明する。尚、第1の実施の形態と同一の部分には同一の符号を付し、説明を省略する。本実施の形態では、第1の実施の形態のコントローラ22に代えて、文字列圧縮コントローラ120が設けられている。
文字列圧縮コントローラ120には、システムクロックCLOCK、圧縮処理を行なう際にローレベルとなる信号ENABLE'、及び、被圧縮文字列データ(元データ)TEXT-INPUTが入力される。文字列圧縮コントローラ120に入力された信号ENABLE'は、データ入力コントローラ136、データ出力コントローラ138、及び、初期設定回路140に各々供給され、圧縮処理を行なう際に各回路を作動させる。また、文字列圧縮コントローラ120に入力された被圧縮文字列データTEXT-INPUTは、データ入力コントローラ136に供給される。
ここで、被圧縮文字列データは、データ要素群の一例であり、文字列圧縮コントローラ120は、データ要素群を符号化する符号化部の一例である。
図13は、圧縮処理を行う際のこれらの装置の動作例を示したフローチャートである。
まず、文字列圧縮コントローラ120は、圧縮処理を開始する指示として、信号ENABLE'及び被圧縮文字列を表す被圧縮文字列データTEXT-INPUTの入力を受ける(ステップ250)。これにより、被圧縮文字列データはデータ入力コントローラ136に保持される。また、初期設定回路140から書込みアドレスカウンタ142及び一致長カウンタ144にリセット信号が出力され、各カウンタのカウント値が「0」にリセットされる。更に、初期設定回路140からNAND回路150を介して文字列検索装置20へ入力される信号SETが一旦ハイレベルとされてプリチャージコントローラ58に入力される。第1の実施の形態でも説明したように、プリチャージコントローラ58は、信号SETがハイレベルになると、クロックSRと同期してマッチ線をハイレベルとする。
このように、本実施の形態では、連想メモリセルアレイ26の現在のアドレスにおける文字データが複数のアドレスで見つかった場合に、その複数のアドレスの少なくとも一部がローアドレス領域内にあれば、ローアドレス領域内で最大のアドレスを選択し、ローアドレス領域になければ、全ての中で最大のアドレスを選択するようにした。これにより、現在のアドレスにおける文字データに書き込み順が最も近い文字データを選択できるようになった。
そして、現在のアドレスから始まる文字列を、この選択された文字データの位置及び一致する部分の長さで圧縮することにより、従来よりも圧縮率を向上させることができるようになった。
Claims (8)
- 周期的にデータ要素が書き込まれるメモリ内の特定のデータ要素が記憶された複数の位置から特定の位置を選択する装置であって、
前記特定のデータ要素が記憶された前記複数の位置が、現在の周期においてデータ要素が書き込まれた前記メモリの特定の領域内の位置を含むかどうかを判定する判定部と、
前記複数の位置が前記特定の領域内の位置を含むと前記判定部により判定された場合に、当該複数の位置のうちの当該特定の領域内の少なくとも1つの位置を前記特定の位置として選択し、前記複数の位置が前記特定の領域内の位置を含まないと前記判定部により判定された場合に、当該複数の位置のうちの少なくとも1つの位置を前記特定の位置として選択する選択部と
を含む、装置。 - 前記特定のデータ要素が記憶された前記複数の位置の各々を表す複数の信号を発生させる信号発生部を更に含み、
前記選択部は、前記複数の位置が前記特定の領域内の位置を含むと前記判定部により判定された場合に、前記信号発生部が発生させた前記複数の信号のうち前記特定の領域以外の領域内の位置を表す信号をマスクすることによって得られた少なくとも1つの信号に基づいて、当該特定の領域内の少なくとも1つの位置を選択する、請求項1の装置。 - 前記選択部による信号のマスクに用いられるマスクパターンを記憶する記憶部を更に含み、
前記記憶部は、前記特定の領域が拡大した場合に、前記メモリの新たに当該特定の領域に含まれるようになった領域内の位置を表す信号をマスクしないように変更された前記マスクパターンを記憶する、請求項2の装置。 - 前記選択部による信号のマスクに用いられるマスクパターンを記憶する記憶部と、
前記特定の領域と当該特定の領域以外の領域との境界を表す信号に基づいて、前記マスクパターンを生成する生成部と
を更に含む、請求項2の装置。 - 前記特定のデータ要素が記憶された前記複数の位置の各々を表す複数の信号を発生させる信号発生部を更に含み、
前記判定部は、前記信号発生部が発生させた前記複数の信号のうち前記特定の領域以外の領域内の位置を表す信号をマスクすることによって得られた少なくとも1つの信号に対してOR演算を行った結果に基づいて、前記特定のデータ要素が記憶された前記複数の位置が前記特定の領域内の位置を含むかどうかを判定する、請求項1の装置。 - メモリのアドレス順に周期的にデータ要素が書き込まれる当該メモリ内の特定のデータ要素が記憶された複数のアドレスから特定のアドレスを選択する装置であって、
前記特定のデータ要素が記憶された前記複数のアドレスの各々を表す複数の信号を発生させる信号発生部と、
前記信号発生部が発生させた前記複数の信号の何れかが、1つの周期において現在のアドレスよりも先にデータ要素が書き込まれるアドレスを表すかどうかを判定する判定部と、
前記複数の信号の何れかが現在のアドレスよりも先にデータ要素が書き込まれるアドレスを表すと前記判定部により判定された場合に、当該複数の信号のうち1つの周期において現在のアドレスよりも後にデータ要素が書き込まれるアドレスを表す信号をマスクすることによって得られた少なくとも1つの信号で構成される信号群を抽出し、前記複数の信号の何れもが現在のアドレスよりも先にデータ要素が書き込まれるアドレスを表さないと前記判定部により判定された場合に、当該複数の信号で構成される信号群を抽出する抽出部と、
前記抽出部により抽出された前記信号群を構成する信号のうち、1つの周期において最後にデータ要素が書き込まれるアドレスを表す信号を、前記特定のアドレスを表す信号として出力する出力部と
を含む、装置。 - 周期的にデータ要素が書き込まれるメモリに記憶された複数のデータ要素を参照して特定のデータ要素群を符号化する装置であって、
前記特定のデータ要素群を構成するデータ要素ごとに、当該データ要素が記憶された前記メモリ内の複数の位置を検出する検出部と、
前記特定のデータ要素群を構成するデータ要素ごとに、前記検出部により検出された前記複数の位置が、現在の周期においてデータ要素が書き込まれた前記メモリの特定の領域内の位置を含むかどうかを判定する判定部と、
前記特定のデータ要素群を構成するデータ要素ごとに、前記複数の位置が前記特定の領域内の位置を含むと前記判定部により判定された場合に、当該複数の位置のうちの当該特定の領域内の1つの位置を選択し、前記複数の位置が前記特定の領域内の位置を含まないと前記判定部により判定された場合に、当該複数の位置のうちの1つの位置を選択する選択部と、
前記特定のデータ要素群を構成するデータ要素について前記選択部により前記1つの位置が連続して選択された場合に、当該特定のデータ要素群を構成する特定のデータ要素について前記選択部により選択された前記1つの位置と、前記選択部により前記1つの位置が連続して選択された回数とを用いて、当該特定のデータ要素群を符号化する符号化部と
を含む、装置。 - 周期的にデータ要素が書き込まれるメモリ内の特定のデータ要素が記憶された複数の位置から特定の位置を選択する方法であって、
前記特定のデータ要素が記憶された前記複数の位置が、現在の周期においてデータ要素が書き込まれた前記メモリの特定の領域内の位置を含むかどうかを判定するステップと、
前記複数の位置が前記特定の領域内の位置を含むと判定された場合に、当該複数の位置のうちの当該特定の領域内の少なくとも1つの位置を前記特定の位置として選択し、前記複数の位置が前記特定の領域内の位置を含まないと判定された場合に、当該複数の位置のうちの少なくとも1つの位置を前記特定の位置として選択するステップと
を含む、方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009116851A JP4806054B2 (ja) | 2009-05-13 | 2009-05-13 | データが記憶された位置を選択する装置及び方法 |
US12/775,113 US8677079B2 (en) | 2009-05-13 | 2010-05-06 | Selecting a position where data is stored |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009116851A JP4806054B2 (ja) | 2009-05-13 | 2009-05-13 | データが記憶された位置を選択する装置及び方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2010268146A true JP2010268146A (ja) | 2010-11-25 |
JP4806054B2 JP4806054B2 (ja) | 2011-11-02 |
Family
ID=43069441
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009116851A Expired - Fee Related JP4806054B2 (ja) | 2009-05-13 | 2009-05-13 | データが記憶された位置を選択する装置及び方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US8677079B2 (ja) |
JP (1) | JP4806054B2 (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012090564A1 (ja) * | 2010-12-28 | 2012-07-05 | インターナショナル・ビジネス・マシーンズ・コーポレーション | データ要素列を処理する装置及び方法 |
WO2012090584A1 (ja) * | 2010-12-28 | 2012-07-05 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 検索開始点を決定する装置及び方法 |
GB2501195A (en) * | 2011-11-01 | 2013-10-16 | Ibm | Device and method for determining search starting point |
JP2014182810A (ja) * | 2013-03-15 | 2014-09-29 | Intel Corp | デフレート圧縮のために高速で高圧縮のlz77トークン化及びハフマンエンコーディングを行う並列装置 |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8954484B2 (en) * | 2009-06-12 | 2015-02-10 | Cray Inc. | Inclusive or bit matrix to compare multiple corresponding subfields |
US11175923B2 (en) * | 2017-02-13 | 2021-11-16 | International Business Machines Corporation | Comparing load instruction address fields to store instruction address fields in a table to delay issuing dependent load instructions |
US11188503B2 (en) * | 2020-02-18 | 2021-11-30 | International Business Machines Corporation | Record-based matching in data compression |
CN117242490A (zh) * | 2021-04-19 | 2023-12-15 | 诺基亚技术有限公司 | 用于以图像文件格式对区域和区域掩码进行信号发送的方法和装置 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63244496A (ja) * | 1987-03-31 | 1988-10-11 | Toshiba Corp | 内容番地付けメモリ |
JPH07114577A (ja) * | 1993-07-16 | 1995-05-02 | Internatl Business Mach Corp <Ibm> | データ検索装置、データ圧縮装置及び方法 |
JP2000215678A (ja) * | 1999-01-18 | 2000-08-04 | Nec Corp | 連想記憶装置及び連想メモリ検索方法 |
JP2001014864A (ja) * | 1999-06-29 | 2001-01-19 | Nec Corp | 連想メモリ |
JP2001184871A (ja) * | 1999-12-28 | 2001-07-06 | Toshiba Corp | 連想メモリおよびデータバッファ管理装置 |
JP2003152548A (ja) * | 2001-11-14 | 2003-05-23 | Canon Inc | データ圧縮における文字列検索方法 |
JP2005011499A (ja) * | 2003-05-28 | 2005-01-13 | Kawasaki Microelectronics Kk | 連想メモリ |
JP2005535175A (ja) * | 2002-07-31 | 2005-11-17 | ビーティージー・インターナショナル・リミテッド | ロスレスデータ圧縮 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3117375B2 (ja) | 1994-11-28 | 2000-12-11 | インターナショナル・ビジネス・マシーンズ・コーポレ−ション | 連想メモリの制御回路及び連想メモリ装置 |
JP3007819B2 (ja) * | 1994-12-28 | 2000-02-07 | インターナショナル・ビジネス・マシーンズ・コーポレイション | データ圧縮用検索装置 |
US8160372B1 (en) * | 2008-01-16 | 2012-04-17 | Google Inc. | Optimized backward reference selection with reduced entropy for image compression |
-
2009
- 2009-05-13 JP JP2009116851A patent/JP4806054B2/ja not_active Expired - Fee Related
-
2010
- 2010-05-06 US US12/775,113 patent/US8677079B2/en not_active Expired - Fee Related
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63244496A (ja) * | 1987-03-31 | 1988-10-11 | Toshiba Corp | 内容番地付けメモリ |
JPH07114577A (ja) * | 1993-07-16 | 1995-05-02 | Internatl Business Mach Corp <Ibm> | データ検索装置、データ圧縮装置及び方法 |
JP2000215678A (ja) * | 1999-01-18 | 2000-08-04 | Nec Corp | 連想記憶装置及び連想メモリ検索方法 |
JP2001014864A (ja) * | 1999-06-29 | 2001-01-19 | Nec Corp | 連想メモリ |
JP2001184871A (ja) * | 1999-12-28 | 2001-07-06 | Toshiba Corp | 連想メモリおよびデータバッファ管理装置 |
JP2003152548A (ja) * | 2001-11-14 | 2003-05-23 | Canon Inc | データ圧縮における文字列検索方法 |
JP2005535175A (ja) * | 2002-07-31 | 2005-11-17 | ビーティージー・インターナショナル・リミテッド | ロスレスデータ圧縮 |
JP2005011499A (ja) * | 2003-05-28 | 2005-01-13 | Kawasaki Microelectronics Kk | 連想メモリ |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012090564A1 (ja) * | 2010-12-28 | 2012-07-05 | インターナショナル・ビジネス・マシーンズ・コーポレーション | データ要素列を処理する装置及び方法 |
WO2012090584A1 (ja) * | 2010-12-28 | 2012-07-05 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 検索開始点を決定する装置及び方法 |
GB2500524A (en) * | 2010-12-28 | 2013-09-25 | Ibm | Apparatus and method for processing sequence of data element |
JP5520390B2 (ja) * | 2010-12-28 | 2014-06-11 | インターナショナル・ビジネス・マシーンズ・コーポレーション | データ要素列を処理する装置及び方法 |
JP5520391B2 (ja) * | 2010-12-28 | 2014-06-11 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 検索開始点を決定する装置及び方法 |
US9043676B2 (en) | 2010-12-28 | 2015-05-26 | International Business Machines Corporation | Parity error recovery method for string search CAM |
US9372887B2 (en) | 2010-12-28 | 2016-06-21 | International Business Machines Corporation | Compression ratio improvement by lazy match evaluation on the string search CAM |
DE112011104633B4 (de) * | 2010-12-28 | 2016-11-10 | International Business Machines Corporation | Einheit zum Ermitteln des Ausgangspunkts für eine Suche |
US11120867B2 (en) | 2010-12-28 | 2021-09-14 | International Business Machines Corporation | Hardware compression with search string matching |
GB2501195A (en) * | 2011-11-01 | 2013-10-16 | Ibm | Device and method for determining search starting point |
GB2501195B (en) * | 2011-11-01 | 2018-02-21 | Ibm | Apparatus and method for determining search start point |
JP2014182810A (ja) * | 2013-03-15 | 2014-09-29 | Intel Corp | デフレート圧縮のために高速で高圧縮のlz77トークン化及びハフマンエンコーディングを行う並列装置 |
Also Published As
Publication number | Publication date |
---|---|
US20100293344A1 (en) | 2010-11-18 |
US8677079B2 (en) | 2014-03-18 |
JP4806054B2 (ja) | 2011-11-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4806054B2 (ja) | データが記憶された位置を選択する装置及び方法 | |
CN100401425C (zh) | 用于在按内容寻址的存储器中执行可变宽度搜索的电路和方法 | |
US11120867B2 (en) | Hardware compression with search string matching | |
US6381673B1 (en) | Method and apparatus for performing a read next highest priority match instruction in a content addressable memory device | |
JPH07114577A (ja) | データ検索装置、データ圧縮装置及び方法 | |
JPH11126486A (ja) | 連想記憶装置のエンコーダにおける一致信号及び一致アドレス信号の優先順位付け | |
JP3007819B2 (ja) | データ圧縮用検索装置 | |
KR20120106978A (ko) | 패턴 인식 프로세서에서 전력 소비를 줄이기 위한 방법들 및 장치들 | |
JPH1186567A (ja) | 連想記憶装置 | |
JP2006331408A (ja) | 読み出し性能を向上させることができるメモリカード | |
JP5520390B2 (ja) | データ要素列を処理する装置及び方法 | |
JP2001118395A (ja) | 半導体記憶装置及びデータの読み出し方法 | |
JP2009529172A (ja) | エクストラデータを含むページを記憶するメモリーマトリックスを有する電子回路 | |
JP2002197873A (ja) | 連想メモリ | |
US6125057A (en) | Segmented source memory array | |
JP2006324944A (ja) | 符号化装置 | |
USRE45259E1 (en) | Hit ahead hierarchical scalable priority encoding logic and circuits | |
TWI807822B (zh) | 三態內容可定址記憶體 | |
US12056052B2 (en) | Data L2 cache with split access | |
JP2004192695A (ja) | 連想メモリ装置 | |
US7536395B2 (en) | Efficient dynamic register file design for multiple simultaneous bit encodings | |
JP3103421B2 (ja) | 符号化回路 | |
JPH11273364A (ja) | 連想メモリ | |
CN117095722A (zh) | 三态内容可寻址存储器 | |
JP2005260285A (ja) | データ圧縮装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20101216 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20110407 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110412 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110622 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20110726 |
|
RD14 | Notification of resignation of power of sub attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7434 Effective date: 20110726 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20110811 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140819 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |