JP5118051B2 - 格納された符号化キーを使った高速cam検索 - Google Patents
格納された符号化キーを使った高速cam検索 Download PDFInfo
- Publication number
- JP5118051B2 JP5118051B2 JP2008538210A JP2008538210A JP5118051B2 JP 5118051 B2 JP5118051 B2 JP 5118051B2 JP 2008538210 A JP2008538210 A JP 2008538210A JP 2008538210 A JP2008538210 A JP 2008538210A JP 5118051 B2 JP5118051 B2 JP 5118051B2
- Authority
- JP
- Japan
- Prior art keywords
- encoded
- cam
- key
- address
- tlb
- 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.)
- Expired - Fee Related
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
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1027—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
-
- 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
- G11C15/04—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 using semiconductor elements
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/65—Details of virtual memory and virtual address translation
- G06F2212/652—Page size control
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Description
一つ以上の実施形態において、CAM検索(CAM look-up)のための検索キーである物理アドレスのページアドレス部分は、TLBに格納される前に符号化される。符号化されたページアドレスは、次いで、アドレス変換(address translation)においてTLBから読み出され、CAM中の符号化キーフィールドに対して検索するために符号化検索キー(encoded search key)としてCAMに適用される。符号化は、少なくとも2のハミング距離を確実なものとし、したがって、CAM中の各マッチングしていないキーフィールドに対して、少なくとも2つのトランジスタが並行してマッチラインをディスチャージすることを確実にする。TLB中に格納されない物理アドレスのページオフセットは、TLBへのアクセスと並行して符号化されることができ、2つの符号化された物理アドレス部分は、CAMにアクセスする前に連結される(concatenated)。TLB中に格納されたページアドレスが大きなメモリページサイズをアドレス指定する一つの実施形態において、ページアドレスは、複数のサブページアドレスに分割され、各々は、より小さなページサイズをアドレス指定する。これらのサブページアドレスは、それらをマイクロTLB中に格納する前に、符号化されることができる。
図2は、典型的なプロセッサ10の機能ブロック図を示す。プロセッサ10は、制御ロジック14に従い命令実行パイプライン12中の命令を実行する。該パイプラインは、パイプ・ステージに配列されたさまざまなレジスタ又はラッチ16、及び一つ以上の演算論理ユニット(ALU)18を含む。汎用レジスタ(GPR)ファイル20は、メモリ階層の最上部を含むレジスタを備える。
以下に、本願発明の当初の[特許請求の範囲]に記載された発明を付記する。
[1]
複数の符号化されたキーフィールドを有する連想メモリ(CAM)にアクセスする方法であって、
検索キーを符号化することと、
前記符号化された検索キーを格納することと、
前記格納された、符号化された検索キーを使って、前記CAMにアクセスすることと、
を備える方法。
[2]
検索キーを符号化することは、前記検索キーを2のハミング距離で符号化することを備える、[1]に記載の方法。
[3]
検索キーを符号化することは、前記検索キーを3のハミング距離で符号化することを備える、[1]に記載の方法。
[4]
前記格納された、符号化された検索キーを使って、前記CAMにアクセスすることは、一つ以上の符号化されたキーフィールドにおける単一のビットエラーにもかかわらず正しい結果を生成する、[1]に記載の方法。
[5]
検索キーを符号化することは、前記検索キーの第一部分を符号化することを備え、前記符号化された検索キーを格納することは、前記検索キーの前記符号化された第一部分を格納することを備える、[1]に記載の方法。
[6]
前記検索キーの第二部分を符号化すること、をさらに備え、前記格納された、符号化された検索キーを使って、前記CAMにアクセスすることは、前記検索キーの前記符号化された第二部分に連結された前記検索キーの、前記格納された符号化された第一部分を使って、前記CAMにアクセスすること、を備える、[5]に記載の方法。
[7]
前記検索キーは、物理アドレスを備える、[1]に記載の方法。
[8]
前記符号化された検索キーを格納することは、前記物理アドレスの符号化されたページアドレス部分をトランスレーションルックアサイドバッファ(TLB)の中に格納すること、を備える、[7]に記載の方法。
[9]
前記ページアドレスから、2つ以上のサブページアドレスを生成することと、なお、各サブページアドレスは前記ページアドレスよりも小さなメモリページサイズをアドレス指定する;
少なくとも一つのサブページアドレスを符号化することと;
前記符号化されたサブページアドレスをマイクロTLBの中に格納することと;
をさらに備え、
前記格納された、符号化された検索キーを使って、前記CAMにアクセスすることは、前記マイクロTLB中の前記符号化されたサブページアドレスの一つを使って、前記CAMにアクセスすること、を備える、
[8]に記載の方法。
[10]
各符号化されたキーフィールドは、2のハミング距離で符号化され、パリティビットを含み、
前記符号化された検索キーと符号化されたキーフィールドとの間でマッチングが検出される場合は、
前記CAMから、前記格納されたパリティビットを含む、前記符号化されたキーフィールドを読み出すことと、
前記符号化されたキーフィールドに対するパリティビットを再生成することと、
前記再生されたパリティビットを前記格納されたパリティビットと比較することと
を、
そして、前記両パリティビットが不一致の場合は、エラーを生成すること
を、
さらに備える、
[1]に記載の方法。
[11]
連想メモリ(CAM)中のアドレスをマッチングする方法であって、
前記CAM中に、前記アドレスの符号化バージョンをキーフィールドとして格納することと、
トランスレーションルックアサイドバッファ(TLB)中に、前記アドレスのページアドレス部分の符号化バージョンを格納することと、
マッチング検出のために、前記TLBからの前記符号化されたアドレスを、前記CAM中の複数の符号化されたキーフィールドと比較することと、
を備える方法。
[12]
前記アドレスの前記符号化バージョンは、2のハミング距離で符号化された前記アドレスである、[11]に記載の方法。
[13]
前記アドレスの前記符号化バージョンは、3のハミング距離で符号化された前記アドレスである、[11]に記載の方法。
[14]
前記TLBからの前記符号化されたアドレスを、前記CAM中の複数の符号化されたキーフィールドと比較することは、1つ以上の符号化されたキーフィールド中の単一のビットエラーにかかわらずに、マッチングを正しく検出する、[11]に記載の方法。
[15]
前記アドレスのページオフセット部分を符号化することをさらに備え、前記TLBからの前記符号化されたアドレスを前記CAM中の複数の符号化されたキーフィールドと比較することは、前記符号化されたページオフセットに連結された、前記TLBからの前記符号化されたページアドレスを、前記CAM中の複数の符号化されたキーフィールドと比較することを備える、[11]に記載の方法。
[16]
前記ページアドレスから、2つ以上のサブページアドレスを生成することと、なお、各サブページアドレスは、前記ページアドレスよりも小さなメモリページサイズをアドレス指定する;
少なくとも一つのサブページアドレスを符号化することと;
前記符号化されたサブページアドレスをマイクロTLB中に格納することと;
をさらに備え、
前記TLBからの前記符号化されたアドレスを前記CAM中の複数の符号化キーフィールドと比較することは、前記TLBからの符号化されたサブページアドレスを前記CAM中の複数の符号化されたキーフィールドと比較すること、を備える、
[11]に記載の方法。
[17]
前記CAM中の各符号化されたキーフィールドは、2のハミング距離で符号化され、パリティビットを含み、
前記TLBからの前記符号化されたアドレスと前記CAM中の符号化されたキーフィールドとの間でマッチングが検出される場合は、
前記CAMから、前記格納されたパリティビットを含む、前記符号化されたキーフィールドを読み出すことと、
前記符号化されたキーフィールドに対するパリティビットを再生成することと、
前記再生されたパリティビットを前記格納されたパリティビットと比較することと
を、
前記両パリティビットが不一致の場合は、エラー信号を生成すること
を、
さらに備える、
[11]に記載の方法。
[18]
連想メモリ(CAM)及びランダムアクセスメモリ(RAM)を備えるキャッシュメモリと、なお、前記のキャッシュは、検索キーが前記CAM中に格納された対応するキーフィールドにマッチングするとき、データをRAMエントリに格納する又はRAMエントリから供給するように作動し、前記キーフィールドは、少なくとも2のハミング距離で符号化される;
前記CAMに対する検索キーとして、ページアドレスを格納し、出力するように作動するトランスレーションルックアサイドバッファ(TLB)と、なお、前記ページアドレスは、前記CAMキーフィールドと同じアルゴリズムによって符号化される;
を備えるプロセッサ。
[19]
前記CAMキーフィールドと前記TLB物理アドレスとは、3のハミング距離で符号化される、[18]に記載のプロセッサ。
[20]
前記TLB中の一つのページアドレスに対応する2つ以上のサブページアドレスを格納するよう作動するマイクロTLBをさらに備え、前記サブページアドレスは、前記TLBページアドレスよりも小さなメモリページサイズをアドレス指定し、前記マイクロTLBは、前記CAMに対する検索キーとして前記サブページアドレスの一つを供給するように作動する、[18]に記載のプロセッサ。
[21]
各CAMエントリは、high状態にプリチャージされ、当該エントリに格納された前記キーフィールドの対応するビットとミスマッチする前記検索キーの各ビットに対し放電トランジスタを通してディスチャージされる、マッチラインを備え、パリティビットと関連付けられた前記放電トランジスタは、前記CAMエントリ中の他の放電トランジスタよりも多くの電流をディスチャージするように作動する、[18]に記載のプロセッサ。
[22]
検索キーがキーフィールドとマッチングするとき、前記キャッシュは、前記キーフィールド及び格納されたキーフィールドパリティビットを読み出し、前記キーフィールドに対するパリティビットを再生成し、前記再生成パリティビットと前記格納されたパリティビットとを比較し、前記両ビットがミスマッチする場合は、エラー信号を生成するようにさらに作動する、[18]に記載のプロセッサ。
Claims (26)
- 複数の符号化されたキーフィールドを有する連想メモリ(CAM)にアクセスする方法であって、
ハミング距離で、検索キーを符号化することと、
前記符号化された検索キーを、トランスレーションルックアサイドバッファ(TLB)の中に格納することと、
前記格納された、符号化された検索キーを使って、前記CAMにアクセスすることと、
を備え、
前記CAMは、前記TLBから構造的に分離されたキャッシュの中に含まれている、
前記検索キーは、ページアドレスである、
方法。 - 前記検索キーを符号化することは、前記検索キーを2のハミング距離で符号化することを備える、請求項1に記載の方法。
- 前記検索キーを符号化することは、前記検索キーを3のハミング距離で符号化することを備える、請求項1に記載の方法。
- 前記格納された、符号化された検索キーを使って、前記CAMにアクセスすることは、一つ以上の符号化されたキーフィールドにおける単一のビットエラーにもかかわらず正しい結果を生成する、請求項1に記載の方法。
- 前記検索キーを符号化することは、物理アドレスの第一部分を符号化することを備え、前記符号化された検索キーを格納することは、前記物理アドレスの前記符号化された第一部分を格納することを備える、請求項1に記載の方法。
- 前記物理アドレスの第二部分を符号化すること、をさらに備え、前記格納された、符号化された検索キーを使って、前記CAMにアクセスすることは、前記物理アドレスの前記符号化された第二部分に連結された前記物理アドレスの、前記格納された符号化された第一部分を使って、前記CAMにアクセスすること、を備える、請求項5に記載の方法。
- 一つ以上のページオフセットビットは、前記物理アドレスの前記第二部分である、請求項6に記載の方法。
- 前記ページアドレスは、前記物理アドレスの前記第一部分である、請求項6に記載の方法。
- 前記ページアドレスから、2つ以上のサブページアドレスを生成することと、なお、各サブページアドレスは前記ページアドレスよりも小さなメモリページサイズをアドレス指定する;
少なくとも一つのサブページアドレスを符号化することと;
前記符号化されたサブページアドレスをマイクロTLBの中に格納することと;
をさらに備え、
前記格納された、符号化された検索キーを使って、前記CAMにアクセスすることは、前記マイクロTLB中の前記符号化されたサブページアドレスの一つを使って、前記CAMにアクセスすること、を備える、
請求項8に記載の方法。 - 各符号化されたキーフィールドは、2のハミング距離で符号化され、パリティビットを含み、
前記符号化された検索キーと符号化されたキーフィールドとの間でマッチングが検出される場合は、
前記CAMから、前記格納されたパリティビットを含む、前記符号化されたキーフィールドを読み出すことと、
前記符号化されたキーフィールドに対するパリティビットを再生成することと、
前記再生成されたパリティビットを前記格納されたパリティビットと比較することと
を、
そして、前記両パリティビットが不一致の場合は、エラーを生成すること
を、
さらに備える、
請求項1に記載の方法。 - 連想メモリ(CAM)中のアドレスをマッチングする方法であって、
前記CAM中に、キーフィールドとして前記アドレスの符号化バージョンを格納することと、
トランスレーションルックアサイドバッファ(TLB)中に、前記アドレスのページアドレス部分の符号化バージョンを格納することと、
マッチング検出のために、前記TLBからの前記符号化されたページアドレスを、前記CAM中の複数の符号化されたキーフィールドと比較することと、
を備え、前記アドレスの前記符号化バージョンは、ハミング距離で符号化された前記アドレスである、
前記CAMは、前記TLBから構造的に分離されたキャッシュの中に含まれている、
方法。 - 前記アドレスの前記符号化バージョンは、2のハミング距離で符号化された前記アドレスである、請求項11に記載の方法。
- 前記アドレスの前記符号化バージョンは、3のハミング距離で符号化された前記アドレスである、請求項11に記載の方法。
- 前記TLBからの前記符号化されたページアドレスを、前記CAM中の前記複数の符号化されたキーフィールドと比較することは、前記CAM中の前記複数の符号化されたキーフィールドのうち1つ以上の符号化されたキーフィールド中の単一のビットエラーにかかわらずに、前記マッチングを正しく検出する、請求項11に記載の方法。
- 前記アドレスのページオフセット部分を符号化することをさらに備え、前記TLBからの前記符号化されたページアドレスを前記CAM中の前記複数の符号化されたキーフィールドと比較することは、前記符号化されたページオフセットに連結された、前記TLBからの前記符号化されたページアドレスを、前記CAM中の前記複数の符号化されたキーフィールドと比較することを備える、請求項11に記載の方法。
- 前記ページアドレスから、2つ以上のサブページアドレスを生成することと、なお、各サブページアドレスは、前記ページアドレスよりも小さなメモリページサイズをアドレス指定する;
少なくとも一つのサブページアドレスを符号化することと;
前記符号化されたサブページアドレスをマイクロTLB中に格納することと;
をさらに備え、
前記TLBからの前記符号化されたページアドレスを前記CAM中の前記複数の符号化キーフィールドと比較することは、前記マイクロTLBからの符号化されたサブページアドレスを前記CAM中の前記複数の符号化されたキーフィールドと比較すること、を備える、
請求項11に記載の方法。 - 前記CAM中の各符号化されたキーフィールドは、2のハミング距離で符号化され、パリティビットを含み、
前記TLBからの前記符号化されたページアドレスと前記CAM中の符号化されたキーフィールドとの間でマッチングが検出される場合は、
前記CAMから、前記格納されたパリティビットを含む、前記符号化されたキーフィールドを読み出すことと、
前記符号化されたキーフィールドに対するパリティビットを再生成することと、
前記再生成されたパリティビットを前記格納されたパリティビットと比較することと
を、
前記両パリティビットが不一致の場合は、エラーを生成すること
を、
さらに備える、
請求項11に記載の方法。 - 連想メモリ(CAM)及びランダムアクセスメモリ(RAM)を備えるキャッシュメモリと、なお、前記のキャッシュメモリは、検索キーが前記CAM中に格納された対応するキーフィールドにマッチングするとき、データをRAMエントリに格納する又はRAMエントリから供給するように作動し、前記キーフィールドは、少なくとも2のハミング距離で符号化される;
前記キャッシュメモリから構造的に分離されたトランスレーションルックアサイドバッファ(TLB)と、なお、前記TLBは、前記CAMキーフィールドと同じアルゴリズムによって符号化されたページアドレスを格納し、前記CAMに対する検索キーとして前記格納された符号化されたページアドレスを出力するように作動する;
を備えるプロセッサ。 - 前記CAMキーフィールドと前記TLBページアドレスとは、3のハミング距離で符号化される、請求項18に記載のプロセッサ。
- 前記TLB中の一つのページアドレスに対応する2つ以上のサブページアドレスを格納するよう作動するマイクロTLBをさらに備え、前記サブページアドレスは、前記TLBページアドレスよりも小さなメモリページサイズをアドレス指定し、前記マイクロTLBは、前記CAMに対する検索キーとして前記サブページアドレスの一つを供給するように作動する、請求項18に記載のプロセッサ。
- 各CAMエントリは、high状態にプリチャージされ、当該エントリに格納された前記キーフィールドの対応するビットとミスマッチする前記検索キーの各ビットに対し放電トランジスタを通してディスチャージされる、マッチラインを備え、パリティビットと関連付けられた前記放電トランジスタは、前記CAMエントリ中の他の放電トランジスタよりも多くの電流をディスチャージするように作動する、請求項18に記載のプロセッサ。
- 検索キーがキーフィールドとマッチングするとき、前記キャッシュメモリは、前記キーフィールド及び格納されたキーフィールドパリティビットを読み出し、前記キーフィールドに対するパリティビットを再生成し、前記再生成されたパリティビットと前記格納されたパリティビットとを比較し、前記両ビットがミスマッチする場合は、エラーを生成するようにさらに作動する、請求項18に記載のプロセッサ。
- 前記検索キーを符号化することは、キャッシュミスの発生にかかわらずに実行中にソフトウェアを用いて行なわれる、請求項1に記載の方法。
- 前記キャッシュは、命令キャッシュまたはデータキャッシュに対応する、請求項1に記載の方法。
- ハミング距離で検索キーを符号化するための手段と、
前記符号化された検索キーを、トランスレーションルックアサイドバッファ(TLB)の中に格納するための手段と、
前記格納された、符号化された検索キーを使って、複数の符号化されたキーフィールドを有する連想メモリ(CAM)にアクセスするための手段と、
を備え、
前記CAMは、前記TLBから構造的に分離されたキャッシュの中に含まれている、
前記検索キーは、ページアドレスである、
プロセッサ。 - 記録された命令を有するコンピュータ可読記憶媒体であって、前記命令は、プロセッサによって実行されるとき、前記プロセッサに、
ハミング距離で検索キーを符号化する第1のオペレーションを実行させ、
前記符号化された検索キーを、トランスレーションルックアサイドバッファ(TLB)の中に格納する第2のオペレーションを実行させ、
前記格納された、符号化された検索キーを使って、複数の符号化されたキーフィールドを有する連想メモリ(CAM)にアクセスする第3のオペレーションを実行させ、
前記CAMは、前記TLBから構造的に分離されたキャッシュの中に含まれている、
前記検索キーは、ページアドレスである、
コンピュータ可読記憶媒体。
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US11/262,063 US7761774B2 (en) | 2005-10-28 | 2005-10-28 | High speed CAM lookup using stored encoded key |
| US11/262,063 | 2005-10-28 | ||
| PCT/US2006/060371 WO2007051205A1 (en) | 2005-10-28 | 2006-10-30 | High speed cam lookup using stored encoded key |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2009514115A JP2009514115A (ja) | 2009-04-02 |
| JP5118051B2 true JP5118051B2 (ja) | 2013-01-16 |
Family
ID=37865671
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2008538210A Expired - Fee Related JP5118051B2 (ja) | 2005-10-28 | 2006-10-30 | 格納された符号化キーを使った高速cam検索 |
Country Status (8)
| Country | Link |
|---|---|
| US (1) | US7761774B2 (ja) |
| EP (1) | EP1941512B1 (ja) |
| JP (1) | JP5118051B2 (ja) |
| KR (1) | KR100986546B1 (ja) |
| CN (1) | CN101341547B (ja) |
| BR (1) | BRPI0618032A2 (ja) |
| IL (1) | IL191127A0 (ja) |
| WO (1) | WO2007051205A1 (ja) |
Families Citing this family (20)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US9559987B1 (en) * | 2008-09-26 | 2017-01-31 | Tellabs Operations, Inc | Method and apparatus for improving CAM learn throughput using a cache |
| US8095831B2 (en) * | 2008-11-18 | 2012-01-10 | Freescale Semiconductor, Inc. | Programmable error actions for a cache in a data processing system |
| US7881089B2 (en) * | 2009-02-24 | 2011-02-01 | International Business Machines Corporation | Coding techniques for improving the sense margin in content addressable memories |
| US8667258B2 (en) | 2010-06-23 | 2014-03-04 | International Business Machines Corporation | High performance cache translation look-aside buffer (TLB) lookups using multiple page size prediction |
| US9176895B2 (en) | 2013-03-16 | 2015-11-03 | Intel Corporation | Increased error correction for cache memories through adaptive replacement policies |
| US9405860B1 (en) * | 2014-03-11 | 2016-08-02 | L-3 Communications Corp. | Content addressable memory in which keys are embedded in comparators |
| US9513987B2 (en) * | 2014-11-07 | 2016-12-06 | International Business Machines Corporation | Using error correcting codes for parity purposes |
| US10025747B2 (en) * | 2015-05-07 | 2018-07-17 | Samsung Electronics Co., Ltd. | I/O channel scrambling/ECC disassociated communication protocol |
| US9703894B2 (en) | 2015-09-25 | 2017-07-11 | International Business Machines Corporation | Stored data with temporal proximity analysis for very large scale data with very low built in latency |
| KR102710346B1 (ko) | 2016-05-18 | 2024-09-27 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그의 동작방법 |
| CN106599149A (zh) * | 2016-12-07 | 2017-04-26 | 爱普(福建)科技有限公司 | 一种工程文本的编码方法 |
| US10289752B2 (en) * | 2016-12-12 | 2019-05-14 | Intel Corporation | Accelerator for gather-update-scatter operations including a content-addressable memory (CAM) and CAM controller |
| CN109979503B (zh) * | 2019-03-22 | 2021-04-30 | 安徽大学 | 一种在内存中实现汉明距离计算的静态随机存储器电路结构 |
| JP7235591B2 (ja) * | 2019-05-28 | 2023-03-08 | 株式会社東芝 | 情報処理回路及び情報処理方法 |
| US11232038B2 (en) | 2019-06-05 | 2022-01-25 | Samsung Electronics Co., Ltd. | Ternary content addressable memory and operating method thereof |
| US11436071B2 (en) * | 2019-08-28 | 2022-09-06 | Micron Technology, Inc. | Error control for content-addressable memory |
| US11797531B2 (en) * | 2020-08-04 | 2023-10-24 | Micron Technology, Inc. | Acceleration of data queries in memory |
| US11614995B2 (en) | 2020-12-21 | 2023-03-28 | Honeywell International Inc. | Dual redundant memory radiation hardening |
| US12001716B2 (en) * | 2021-03-30 | 2024-06-04 | Micron Technology, Inc. | Key-value data storage system using content addressable memory |
| US12494265B2 (en) * | 2023-12-13 | 2025-12-09 | Hewlett Packard Enterprise Development Lp | On-access error correction for content-addressable memory |
Family Cites Families (39)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5253328A (en) * | 1989-11-17 | 1993-10-12 | Microelectronics & Computer Technology Corp. | Neural-network content-addressable memory |
| US5327534A (en) * | 1990-07-30 | 1994-07-05 | Digital Equipment Corporation | Detection of duplicate alias addresses |
| GB9213821D0 (en) * | 1992-06-30 | 1992-08-12 | Inmos Ltd | Content addressable memory |
| US5455834A (en) * | 1993-06-14 | 1995-10-03 | Hal Computer Systems, Inc. | Fault tolerant address translation method and system |
| US5680566A (en) * | 1995-03-03 | 1997-10-21 | Hal Computer Systems, Inc. | Lookaside buffer for inputting multiple address translations in a computer system |
| WO1996027832A1 (en) * | 1995-03-03 | 1996-09-12 | Hal Computer Systems, Inc. | Parallel access micro-tlb to speed up address translation |
| US5652580A (en) * | 1995-06-09 | 1997-07-29 | Hal Computer Systems, Inc. | Method and apparatus for detecting duplicate entries in a look-up table |
| JPH0922595A (ja) * | 1995-07-05 | 1997-01-21 | Fujitsu Ltd | 連想記憶装置 |
| JPH09223070A (ja) * | 1996-02-19 | 1997-08-26 | Hitachi Ltd | データ変換回路 |
| JP3686480B2 (ja) * | 1996-07-11 | 2005-08-24 | 株式会社ルネサステクノロジ | 半導体集積回路 |
| US6067656A (en) * | 1997-12-05 | 2000-05-23 | Intel Corporation | Method and apparatus for detecting soft errors in content addressable memory arrays |
| US6230231B1 (en) * | 1998-03-19 | 2001-05-08 | 3Com Corporation | Hash equation for MAC addresses that supports cache entry tagging and virtual address tables |
| US6308297B1 (en) * | 1998-07-17 | 2001-10-23 | Sun Microsystems, Inc. | Method and apparatus for verifying memory addresses |
| US6700827B2 (en) * | 2001-02-08 | 2004-03-02 | Integrated Device Technology, Inc. | Cam circuit with error correction |
| US6754799B2 (en) * | 2001-05-16 | 2004-06-22 | Microsoft Corporation | System and method for indexing and retrieving cached objects |
| US7257763B1 (en) * | 2001-08-03 | 2007-08-14 | Netlogic Microsystems, Inc. | Content addressable memory with error signaling |
| US6597595B1 (en) * | 2001-08-03 | 2003-07-22 | Netlogic Microsystems, Inc. | Content addressable memory with error detection signaling |
| US7237156B1 (en) * | 2001-08-03 | 2007-06-26 | Netlogic Microsystems, Inc. | Content addressable memory with error detection |
| US7472231B1 (en) * | 2001-09-07 | 2008-12-30 | Netapp, Inc. | Storage area network data cache |
| US6760881B2 (en) * | 2001-10-16 | 2004-07-06 | International Business Machines Corporation | Method for combining refresh operation with parity validation in a DRAM-based content addressable memory (CAM) |
| JP4131789B2 (ja) * | 2001-10-25 | 2008-08-13 | 富士通株式会社 | キャッシュ制御装置および方法 |
| US7200793B1 (en) * | 2002-03-22 | 2007-04-03 | Altera Corporation | Error checking and correcting for content addressable memories (CAMs) |
| US7216284B2 (en) * | 2002-05-15 | 2007-05-08 | International Business Machines Corp. | Content addressable memory having reduced power consumption |
| US6618281B1 (en) * | 2002-05-15 | 2003-09-09 | International Business Machines Corporation | Content addressable memory (CAM) with error checking and correction (ECC) capability |
| US7100097B2 (en) * | 2002-07-16 | 2006-08-29 | Hewlett-Packard Development Company, L.P. | Detection of bit errors in maskable content addressable memories |
| US6978343B1 (en) * | 2002-08-05 | 2005-12-20 | Netlogic Microsystems, Inc. | Error-correcting content addressable memory |
| US7010741B2 (en) * | 2002-10-29 | 2006-03-07 | Mosaid Technologies | Method and circuit for error correction in CAM cells |
| US6993623B2 (en) * | 2002-12-23 | 2006-01-31 | Micron Technology, Inc. | Parity bit system for a CAM |
| US7237172B2 (en) * | 2002-12-24 | 2007-06-26 | Micron Technology, Inc. | Error detection and correction in a CAM |
| US7152140B2 (en) * | 2003-06-18 | 2006-12-19 | Intel Corporation | Masking parity information associated with a ternary content addressable memory |
| US7243290B2 (en) | 2003-07-11 | 2007-07-10 | Micron Technology, Inc. | Data encoding for fast CAM and TCAM access times |
| US6987684B1 (en) * | 2003-07-15 | 2006-01-17 | Integrated Device Technology, Inc. | Content addressable memory (CAM) devices having multi-block error detection logic and entry selective error correction logic therein |
| US6870749B1 (en) * | 2003-07-15 | 2005-03-22 | Integrated Device Technology, Inc. | Content addressable memory (CAM) devices with dual-function check bit cells that support column redundancy and check bit cells with reduced susceptibility to soft errors |
| US7089398B2 (en) | 2003-07-31 | 2006-08-08 | Silicon Graphics, Inc. | Address translation using a page size tag |
| US7296210B2 (en) * | 2003-09-16 | 2007-11-13 | Alcatel-Lucent Inc | Facilitating error detection for content addressable memory |
| US7305519B1 (en) * | 2004-03-29 | 2007-12-04 | Cisco Technology, Inc. | Error protection for associative memory entries and lookup operations performed thereon |
| JP2005353238A (ja) * | 2004-06-14 | 2005-12-22 | Renesas Technology Corp | 連想メモリ |
| US7366829B1 (en) * | 2004-06-30 | 2008-04-29 | Sun Microsystems, Inc. | TLB tag parity checking without CAM read |
| US7304873B1 (en) * | 2005-01-25 | 2007-12-04 | Netlogic Microsystems, Inc. | Method for on-the-fly error correction in a content addressable memory (CAM) and device therefor |
-
2005
- 2005-10-28 US US11/262,063 patent/US7761774B2/en not_active Expired - Fee Related
-
2006
- 2006-10-30 EP EP06839621A patent/EP1941512B1/en not_active Not-in-force
- 2006-10-30 BR BRPI0618032-9A patent/BRPI0618032A2/pt not_active IP Right Cessation
- 2006-10-30 KR KR1020087012866A patent/KR100986546B1/ko not_active Expired - Fee Related
- 2006-10-30 CN CN2006800483458A patent/CN101341547B/zh not_active Expired - Fee Related
- 2006-10-30 JP JP2008538210A patent/JP5118051B2/ja not_active Expired - Fee Related
- 2006-10-30 WO PCT/US2006/060371 patent/WO2007051205A1/en not_active Ceased
-
2008
- 2008-04-28 IL IL191127A patent/IL191127A0/en unknown
Also Published As
| Publication number | Publication date |
|---|---|
| CN101341547A (zh) | 2009-01-07 |
| US7761774B2 (en) | 2010-07-20 |
| CN101341547B (zh) | 2011-10-05 |
| EP1941512B1 (en) | 2012-08-15 |
| BRPI0618032A2 (pt) | 2011-08-16 |
| EP1941512A1 (en) | 2008-07-09 |
| IL191127A0 (en) | 2008-12-29 |
| JP2009514115A (ja) | 2009-04-02 |
| US20070113158A1 (en) | 2007-05-17 |
| KR100986546B1 (ko) | 2010-10-07 |
| KR20080068895A (ko) | 2008-07-24 |
| WO2007051205A1 (en) | 2007-05-03 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP5118051B2 (ja) | 格納された符号化キーを使った高速cam検索 | |
| US9112537B2 (en) | Content-aware caches for reliability | |
| US5392410A (en) | History table for prediction of virtual address translation for cache access | |
| US7840848B2 (en) | Self-healing cache operations | |
| US6804162B1 (en) | Read-modify-write memory using read-or-write banks | |
| US9286172B2 (en) | Fault-aware mapping for shared last level cache (LLC) | |
| US7100097B2 (en) | Detection of bit errors in maskable content addressable memories | |
| US8190973B2 (en) | Apparatus and method for error correction of data values in a storage device | |
| US10853165B2 (en) | Fault resilient apparatus and method | |
| CN107992376A (zh) | Dsp处理器数据存储器主动容错方法和装置 | |
| US6510506B2 (en) | Error detection in cache tag array using valid vector | |
| CN106844281A (zh) | 一种适用于PowerPC处理器的高可靠指令Cache | |
| US8595465B1 (en) | Virtual address to physical address translation using prediction logic | |
| US20040015753A1 (en) | Detection of bit errors in content addressable memories | |
| Ling et al. | Lowering the hit latencies of low voltage caches based on the cross-sensing timing speculation SRAM | |
| US7607048B2 (en) | Method and apparatus for protecting TLB's VPN from soft errors | |
| US6134699A (en) | Method and apparatus for detecting virtual address parity error for a translation lookaside buffer | |
| Shang et al. | RRS cache: a low voltage cache based on timing speculation SRAM with a reuse-aware cacheline remapping mechanism | |
| Tabbakh | Tag Replication and Status Bits Encoding for Enhancing Cache Metadata Reliability | |
| Chandana et al. | A Novel Mechanism to Improve Cache Performance by Correction of Transient Errors | |
| JPH01273152A (ja) | キャッシュメモリ制御方式 | |
| Palframan | Cost-Effective Techniques for Processor Reliability | |
| JP2004038553A (ja) | データ処理装置 | |
| JPH04337853A (ja) | キャッシュメモリの動作履歴記録装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110426 |
|
| A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20110726 |
|
| A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20110802 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110826 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120124 |
|
| A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20120424 |
|
| A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20120502 |
|
| A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20120524 |
|
| A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20120531 |
|
| A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20120625 |
|
| A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20120702 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120724 |
|
| 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: 20120918 |
|
| 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: 20121018 |
|
| R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 Ref document number: 5118051 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20151026 Year of fee payment: 3 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| LAPS | Cancellation because of no payment of annual fees |