(57)【特許請求の範囲】
【請求項１】
複数のデバイスアクティブ領域(DAA)列に各々結合されるX個の行を有するアレイ構造であって、検索鍵と一致する前記アレイ構造中のエントリに前記行が対応することを示すためにアサートされる、または、前記行に対応する前記エントリが前記検索鍵と一致しないことを示すためにネゲートされるそれぞれのマッチ線を有し、各DAA列が、
複数の動的回路網と、
前記アレイ構造中の前記X個の行がX個の動的プルダウンデバイスの1つを各々含み、前記検索鍵と一致する前記アレイ構造中の各行に結合される前記マッチ線がアサートされるように、前記複数の動的回路網に結合される前記X個の動的プルダウンデバイスと、
前記複数の動的回路網に結合される静的回路であって、少なくとも1つまたは複数の符号化されたインデックス信号と少なくとも1つのマルチヒット検出信号とを含む複数の信号を生成するように構成される複数の多入力論理ゲートを含む、静的回路と
を収容する物理的領域を含む、アレイ構造と、
各DAA列中の前記静的回路によって生成される前記複数の信号を受信し、前記アレイ構造中の1つまたは複数の行が前記検索鍵と一致するかどうかを示すヒット信号と、前記アレイ構造中の複数の行が前記検索鍵と一致するかどうかを示すマルチヒット信号とを少なくとも導出するように構成される論理回路とを含む、ハイブリッド動的-静的エンコーダ。
【請求項２】
前記論理回路がさらに、前記アレイ構造中の前記行の少なくとも1つが前記検索鍵と一致するエントリに対応する場合、多ビットの符号化されたインデックスを導出するように構成される、請求項1に記載のハイブリッド動的-静的エンコーダ。
【請求項３】
前記多ビットの符号化されたインデックスが、前記アレイ構造中の前記少なくとも1つの行に対応するアドレスを一意に特定する、請求項2に記載のハイブリッド動的-静的エンコーダ。
【請求項４】
各DAA列中の前記複数の動的回路網が、
前記ハイブリッド動的-静的エンコーダの上半分にある動的回路網の第1のセットであって、前記上半分がX/2個の行を含む、第1のセットと、
前記ハイブリッド動的-静的エンコーダの下半分にある動的回路網の第2のセットであって、前記下半分がX/2個の行を含む、第2のセットとを含む、請求項1に記載のハイブリッド動的-静的エンコーダ。
【請求項５】
各DAA列と関連付けられる前記静的回路中の前記複数の多入力論理ゲートが、前記DAA列の前記上半分にある動的回路網の前記第1のセットを評価して、前記1つまたは複数の符号化されたインデックス信号および前記少なくとも1つのマルチヒット検出信号の第1のセットを生成するように構成される、前記上半分にあるNANDゲートの第1のセットを含む、請求項4に記載のハイブリッド動的-静的エンコーダ。
【請求項６】
各DAA列と関連付けられる前記静的回路中の前記複数の多入力論理ゲートがさらに、前記DAA列の前記下半分にある動的回路網の前記第2のセットを評価して、前記1つまたは複数の符号化されたインデックス信号および前記少なくとも1つのマルチヒット検出信号の第2のセットを生成するように構成される、前記下半分にあるNANDゲートの第2のセットを含む、請求項5に記載のハイブリッド動的-静的エンコーダ。
【請求項７】
各DAA列中の前記静的回路が、完全に動的なエンコーダと実質的に等価なゲート遅延のカウントを有する、請求項1に記載のハイブリッド動的-静的エンコーダ。
【請求項８】
検索可能なアレイ構造において1つまたは複数のヒットを検出するための方法であって、
検索鍵を受信するステップと、
前記受信された検索鍵を使用して、ハイブリッド動的-静的エンコーダと関連付けられるアレイ構造を検索するステップであって、前記アレイ構造が、複数のデバイスアクティブ領域(DAA)列に各々結合されるX個の行と、検索鍵と一致する前記アレイ構造中のエントリに前記行が対応することを示すためにアサートされる、または、前記行に対応する前記エントリが前記検索鍵と一致しないことを示すためにネゲートされるそれぞれのマッチ線とを有し、各DAA列が、
複数の動的回路網と、
前記アレイ構造中の前記X個の行がX個の動的プルダウンデバイスの1つを各々含み、前記検索鍵と一致する前記アレイ構造中の各行に結合される前記マッチ線がアサートされるように、前記複数の動的回路網に結合される前記X個の動的プルダウンデバイスと、
前記複数の動的回路網に結合される静的回路であって、少なくとも1つまたは複数の符号化されたインデックス信号と少なくとも1つのマルチヒット検出信号とを含む複数の信号を生成するように構成される複数の多入力論理ゲートを含む、静的回路と
を収容する物理的領域を含む、ステップと、
各DAA列中の前記静的回路によって生成される前記複数の信号に従って、前記アレイ構造中の1つまたは複数の行が前記検索鍵と一致するかどうかを示すヒット信号と、前記アレイ構造中の複数の行が前記検索鍵と一致するかどうかを示すマルチヒット信号とを少なくとも導出するステップとを含む、方法。
【請求項９】
前記アレイ構造中の前記行の少なくとも1つが前記検索鍵と一致するエントリに対応することに応答して、多ビットの符号化されたインデックスを導出するステップをさらに含む、請求項8に記載の方法。
【請求項１０】
前記多ビットの符号化されたインデックスが、前記アレイ構造中の前記少なくとも1つの行に対応するアドレスを一意に特定する、請求項9に記載の方法。
【請求項１１】
前記ハイブリッド動的-静的エンコーダが、完全に動的なエンコーダと実質的に等価なゲート遅延のカウントを有する、請求項8に記載の方法。
【請求項１２】
検索可能なアレイ構造において1つまたは複数のヒットを検出するための方法であって、
検索鍵を受信するステップと、
前記受信された検索鍵を使用して、ハイブリッド動的-静的エンコーダと関連付けられるアレイ構造を検索するステップであって、前記アレイ構造がX個の行を有し、前記ハイブリッド動的-静的エンコーダがX/2行に各々わたるX/32個の動的回路網にまたがって配置されたX個の動的プルダウンデバイスをそれぞれ有する1つまたは複数の第1のデバイスアクティブ領域(DAA)列と、X/2行に各々わたるX/16個の動的回路網にまたがって配置されたX個の動的プルダウンデバイスをそれぞれ有する1つまたは複数の追加のDAA列とを含み、前記ハイブリッド動的-静的エンコーダが、前記第1のDAA列の少なくとも1つに関連付けられる前記動的回路網のうちの1つと、各々の追加のDAA列に関連付けられる前記動的回路網のうちの1つとにそれぞれ打点される各々X/2個の行を有する上半分と下半分とを含むステップと、
前記1つまたは複数の第1のDAA列と前記1つまたは複数の追加のDAA列で生成された、組み合わされた出力信号に基づいて、前記アレイ構造中の少なくとも1つの行が前記検索鍵と一致するかどうかを示す符号化されたインデックス信号を導出するステップとを含む、方法。
【請求項１３】
検索鍵を受信するための手段と、
前記受信された検索鍵を使用して、ハイブリッド動的-静的エンコーダと関連付けられるアレイ構造を検索するための手段であって、前記アレイ構造が、複数のデバイスアクティブ領域(DAA)列に各々結合されるX個の行と、検索鍵と一致する前記アレイ構造中のエントリに前記行が対応することを示すためにアサートされる、または、前記行に対応する前記エントリが前記検索鍵と一致しないことを示すためにネゲートされるそれぞれのマッチ線とを有し、各DAA列が、
複数の動的回路網と、
前記アレイ構造中の前記X個の行がX個の動的プルダウンデバイスの1つを各々含み、前記検索鍵と一致する前記アレイ構造中の各行に結合される前記マッチ線がアサートされるように、前記複数の動的回路網に結合される前記X個の動的プルダウンデバイスと、
前記複数の動的回路網に結合される静的回路であって、少なくとも1つまたは複数の符号化されたインデックス信号と少なくとも1つのマルチヒット検出信号とを含む複数の信号を生成するように構成される複数の多入力論理ゲートを含む、静的回路と
を収容する物理的領域を含む、手段と、
各DAA列中の前記静的回路によって生成される前記複数の信号に従って、前記アレイ構造中の1つまたは複数の行が前記検索鍵と一致するかどうかを示すヒット信号と、前記アレイ構造中の複数の行が前記検索鍵と一致するかどうかを示すマルチヒット信号とを少なくとも導出するための手段とを含む、装置。
【請求項１４】
前記アレイ構造中の前記行の少なくとも1つが前記検索鍵と一致するエントリに対応することに応答して、多ビットの符号化されたインデックスを導出するための手段をさらに含む、請求項13に記載の装置。
【請求項１５】
前記多ビットの符号化されたインデックスが、前記アレイ構造中の前記少なくとも1つの行に対応するアドレスを一意に特定する、請求項14に記載の装置。
【請求項１６】
コンピュータ実行可能命令を記録したコンピュータ可読記憶媒体であって、1つまたは複数のプロセッサ上で前記コンピュータ実行可能命令を実行することが、前記1つまたは複数のプロセッサに、
検索鍵を受信させることと、
前記受信された検索鍵を使用して、ハイブリッド動的-静的エンコーダと関連付けられるアレイ構造を検索させることであって、前記アレイ構造がX個の行を有し、前記ハイブリッド動的-静的エンコーダがX/2行に各々わたるX/32個の動的回路網にまたがって配置されたX個の動的プルダウンデバイスをそれぞれ有する1つまたは複数の第1のデバイスアクティブ領域(DAA)列と、X/2行に各々わたるX/16個の動的回路網にまたがって配置されたX個の動的プルダウンデバイスをそれぞれ有する1つまたは複数の追加のDAA列とを含み、前記ハイブリッド動的-静的エンコーダが、前記第1のDAA列の少なくとも1つに関連付けられる前記動的回路網のうちの1つと、各々の追加のDAA列に関連付けられる前記動的回路網のうちの1つとにそれぞれ打点される各々X/2個の行を有する上半分と下半分とを含む、検索させることと、
前記1つまたは複数の第1のDAA列と前記1つまたは複数の追加のDAA列で生成された、組み合わされた出力信号に基づいて、前記アレイ構造中の少なくとも1つの行が前記検索鍵と一致するかどうかを示す符号化されたインデックス信号を導出させることとを含む、コンピュータ可読記憶媒体。
【請求項１７】
X個の行を有するアレイ構造と、
1つまたは複数の第1のデバイスアクティブ領域(DAA)列であって、各々が、X/2個の行に各々わたるX/32個の動的回路網にまたがって配置されたX個の動的プルダウンデバイスを有する、1つまたは複数の第1のDAA列と、
1つまたは複数の追加のDAA列であって、各々が、X/2個の行に各々わたるX/16個の動的回路網にまたがって配置されたX個の動的プルダウンデバイスを有する、1つまたは複数の追加のDAA列と、
前記第1のDAA列の少なくとも1つと関連付けられる前記動的回路網の1つと、各々の追加のDAA列と関連付けられる前記動的回路網の1つとの上にそれぞれ打点された、X/2個の行を有する上半分と、
前記第1のDAA列の少なくとも1つと関連付けられる前記動的回路網の1つと、各々の追加のDAA列と関連付けられる前記動的回路網の1つとの上にそれぞれ打点された、X/2個の行を有する下半分と、
前記1つまたは複数の第1のDAA列および前記1つまたは複数の追加のDAA列で生成された、組み合わされた出力信号に基づいて、前記アレイ構造中の1つまたは複数の行が検索鍵と一致するかどうかを示す、1つまたは複数の符号化されたインデックス信号を導出するための手段とを含む、ハイブリッド動的-静的エンコーダ。
【請求項１８】
前記組み合わされた出力信号に基づいて、前記アレイ構造中の少なくとも1つの行が前記検索鍵と一致するかどうかを示すヒット信号を導出するための手段をさらに含む、請求項17に記載のハイブリッド動的-静的エンコーダ。
【請求項１９】
前記組み合わされた出力信号に基づいて、前記アレイ構造中の複数の行が前記検索鍵と一致するかどうかを示すマルチヒット信号を導出するための手段をさらに含む、請求項17に記載のハイブリッド動的-静的エンコーダ。
【請求項２０】
前記符号化されたインデックス信号の少なくとも1つが、前記検索鍵と一致する前記アレイ構造中の行を一意に特定する、請求項17に記載のハイブリッド動的-静的エンコーダ。
【請求項２１】
前記上半分および前記下半分が各々、前記アレイ構造中の1つまたは複数の行が前記検索鍵と一致したことに応答して、各DAA列と関連付けられる前記複数の動的回路網を評価するように構成される論理を含む、請求項17に記載のハイブリッド動的-静的エンコーダ。
【請求項２２】
前記1つまたは複数の第1のDAA列および前記1つまたは複数の追加のDAA列が、nチャネル電界効果トランジスタ(NFET)デバイス、pチャネル電界効果トランジスタ(PFET)デバイス、散在したシリコン論理コンポーネント、または、生成される前記出力信号を生成するための回路の1つまたは複数を収容するための物理的領域を含む、請求項17に記載のハイブリッド動的-静的エンコーダ。
【請求項２３】
X個の行を有し、Xは128に等しく、X個のエントリを有するアレイ構造と、
各々が32個の打点を有するとともに32個の行にわたる4個の動的回路網にまたがって配置された128個の動的プルダウンデバイスを有するように、X/2個の行に各々わたるX/32個の動的回路網にまたがって配置されたX個の動的プルダウンデバイスを有する、1つの第1のデバイスアクティブ領域(DAA)列と、
各々が16個の打点を有するとともに32個の行にわたる8個の動的回路網にまたがって配置された128個の動的プルダウンデバイスを各々有するように、X/2個の行に各々わたるX/16個の動的回路網にまたがって配置されたX個の動的プルダウンデバイスを各々有する、2つの追加のDAA列と、
前記第1のDAA列および前記2つの追加のDAA列で生成された、組み合わされた出力信号に基づいて、前記アレイ構造中の1つまたは複数の行が検索鍵と一致するかどうかを示す、1つまたは複数の符号化されたインデックス信号を導出するための手段とを含む、ハイブリッド動的-静的エンコーダ。
【発明の詳細な説明】
【技術分野】
【０００１】
米国特許法第119条に基づく優先権の主張
米国特許法第119条に従って、本出願は、参照によってその全体が本明細書に組み込まれる、2013年2月7日に出願された「HYBRID DYNAMIC-STATIC ENCODER WITH OPTIONAL HIT AND/OR MULTI-HIT DETECTION」と題する米国仮特許出願第61/761,841号の優先権を主張する。
【０００２】
本出願は全般に、任意選択のヒット検出および/またはマルチヒット検出を伴うハイブリッド動的-静的エンコーダに関し、具体的には、完全に動的なソリューションと実質的に同様の、または等価な論理遅延を伴いながら、物理的領域、電力消費、およびそれと関連付けられる漏洩をかなり低減することができる、組み合わされた動的かつ静的な構造および論理設計を有するエンコーダに関する。
【背景技術】
【０００３】
プロセッサは通常、ポータブル電子デバイスまたはモバイル電子デバイスと関連付けられる組込みアプリケーションを含み得る、様々なアプリケーションにおいて計算のタスクを実行する。これらの電子デバイスと関連付けられる拡大し続ける特色のセットおよび増強される機能は、一般に、計算能力の高いプロセッサを常に要求する。たとえば、大半の現在のプロセッサは、大半のプログラムまたはアプリケーションと関連付けられる空間的かつ時間的な局在性の特性を利用するために命令実行パイプラインが容易にアクセスできる、1つまたは複数のキャッシュメモリに、最近実行された命令および最近使用されたデータを記憶する。具体的には、キャッシュは一般に、データを記憶するランダムアクセスメモリ(RAM)および/またはRAMに記憶されたデータに対応するアドレスを記憶する対応するコンテントアドレッサブルメモリ(CAM)を含む、高速な(通常はオンチップの)メモリ構造を指す。
【０００４】
一般に、CAMは、検索動作が比較的高速に完了するのを可能にする、メモリセルのアレイおよび関連する比較回路を指す。この能力は、検索アルゴリズムの検索ハードウェアによる実装を可能にし、これにより、ソフトウェアで実装される検索アルゴリズムよりも高速になり得る。したがって、CAMは、プロセッサによりアクセスされる可能性がより高いデータへのより高速なアクセスを必要とする、様々な用途(たとえば、キャッシュメモリ)で使用され得る。たとえば、キャッシュメモリがある特定のデータワードを記憶しているかどうかを判定するために、CAMアレイ中のすべての行が検索され、またはそうでなければ並列に評価されて、ワードのアドレスがCAMに記憶されているいずれかのアドレスと一致するかどうかを判定することができる。より一般的には、任意の適切なCAMの用途において、CAMアレイ中のすべての行が検索され、または別様に評価されて、入力値がCAM中のいずれかの行に記憶されている値と一致するかどうかを判定することができる。したがって、CAM中の各行は、その行と関連付けられる検索結果を示すそれぞれのマッチ線と関連付けられてよく、各行と関連付けられるマッチ線は、行が入力値と一致することを示すためにアサートされ、または、行が入力値と一致しないことを示すためにネゲートされ得る。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
検索鍵と一致する検索可能なアレイ構造(たとえば、CAM)中のエントリに対応するインデックスを読み出すとき、一致するエントリと関連付けられるアドレスは一般に、検索可能なアレイ構造から読み取られる前に符号化され得る。さらに、マルチヒット検出は同様に、効率性を確保するために、検索可能なアレイ構造から一致するアドレスを読み取る前に、一致するエントリと関連付けられるアドレスを符号化することを必要とする。しかしながら、既存の動的エンコーダの実装形態は、アレイ構造中の各インデックスビットに対する別個の動的回路網を必要とする傾向があり、これにより、エンコーダは、非常に広い物理的領域を占有し、かなりの電力を消費し、様々な動的回路網にまたがって必要とされる多数のプルダウンによる大きな漏洩の影響を受けるようになり得る。エンコーダ回路は、代替的には静的論理を使用して実装され得るが、静的な実装形態は、多数の行を符号化するためにさらなる論理深度を必要とする傾向があり、これは遅延の悪化をもたらし得る。
【０００６】
したがって、完全に動的なソリューションまたは完全に静的なソリューションを利用する既存のエンコーダ設計と関連付けられるこれらおよび他の問題に対処するために、改善されたエンコーダ設計が望まれ得る。
【課題を解決するための手段】
【０００７】
以下では、本明細書で開示されるハイブリッド動的-静的エンコーダの1つまたは複数の実施形態の基本的な理解をもたらすために、そのような実施形態の簡略化された概要を提示する。したがって、この概要は、すべての考慮される実施形態の包括的な概要であると考えられるべきではなく、また、本明細書で開示されるすべての実施形態の主要な要素または重要な要素を識別するものではなく、任意の特定の実施形態の範囲を定めるものでもない。したがって、この概要の唯一の目的は、本明細書で開示される、任意選択のヒット検出および/またはマルチヒット検出を伴うハイブリッド動的-静的エンコーダに関する1つまたは複数の実施形態に関するいくつかの概念を、以下で提示されるより詳細な説明の前置きとして、簡略化された形式で提示することである。
【０００８】
様々な実施形態によれば、本明細書で説明されるハイブリッド動的-静的エンコーダは、動的な設計構造および関連する論理と、静的な設計構造および関連する論理を組み合わせて、完全に動的なソリューションと概ね等価な論理遅延を伴いながら、大きく低減された領域、電力消費、および、漏洩を達成することができる。より具体的には、各インデックスビットに対して別個の動的回路網(およびマルチヒット検出をサポートするための各インデックスビットに対する追加の動的回路網)を必要とする傾向のある既存の動的エンコーダの実装形態、または、多数の行を符号化するために必要とされるさらなる論理深度が原因で遅延の悪化をもたらす傾向のある静的エンコーダの実装形態とは対照的に、本明細書で説明されるハイブリッド動的-静的エンコーダは、動的回路網および論理を戦略的に区分して、エンコーダ構造における冗長性を実質的に除去し、これによって、大きな論理遅延をもたらすことなく、サイズ(または領域)、電力消費、およびそれと関連付けられる漏洩を低減することができる。たとえば、符号化されたインデックス出力、ヒット検出出力、およびマルチヒット検出出力を伴う128エントリのアレイでは、本明細書で説明されるハイブリッド動的-静的エンコーダは、完全に動的なエンコーダにおける1024個の動的プルダウンと比較して、384個の動的プルダウンを有し得る(すなわち、本明細書で説明されるハイブリッド動的-静的エンコーダと関連付けられるアレイにおけるエントリごとに3個の動的プルダウンvs完全に動的なエンコーダにおけるエントリごとの8個の動的プルダウン)。したがって、完全に動的なエンコーダは16個の動的プルダウンの列を有し得るが、本明細書で説明されるハイブリッド動的-静的エンコーダは、3個の動的プルダウンの列しか有さないことがある。さらに、完全に動的なエンコーダでは、単一の行ヒットは8個の大きな動的回路網を評価することを必要とするが、本明細書で説明されるハイブリッド動的-静的エンコーダでは、単一の行ヒットは3個の動的回路網を評価することしか必要としない。
【０００９】
様々な実施形態によれば、本明細書で説明されるハイブリッド動的-静的エンコーダで使用される設計手法は、一般に、任意の適切なサイズを有するアレイに適用され得る。しかしながら、本明細書で説明されるハイブリッド動的-静的エンコーダで使用される設計手法と関連付けられる説明を簡単にするために、128エントリのアレイが、本明細書で説明されるハイブリッド動的-静的エンコーダと関連付けられる様々な構造的特徴および論理的特徴を例示し説明するために使用される。たとえば、任意選択のヒット検出および/またはマルチヒット検出を伴うハイブリッド動的-静的エンコーダにおいて使用される128エントリのアレイは、まったく同一の上半分と下半分に分割されてよく、それらは次いで、最終的な符号化されたインデックス出力、ヒット出力、およびマルチヒット出力を生成するために、組み合わされ得る。具体的には、エンコーダのそれぞれの半分は、ある行が検索鍵といつ一致するかを示すために打点された適切な行について、各インデックスビットに対する動的回路網を使用することができ、各動的回路網は32個の点を有し得る。したがって、アレイ中の特定の行が、その行が検索鍵と一致することを示すために打点されているとき、その行と関連付けられる動的回路網は、その行と関連付けられる7ビットのインデックスを反映するように評価され得る。さらに、各インデックスビットは、対応するマルチヒット動的回路網を有してよく、これは、対応するインデックスビットの反転を反映するように、アレイ中の様々な行にまたがって打点され得る。したがって、マルチヒットが発生する場合、1つまたは複数のインデックスビットは、インデックスと、マルチヒットにフラグをつけるために評価されるマルチヒット動的回路網の両方を有する。その上、すべての行が打点されたヒット動的回路網が提供されてよく、ヒット動的回路網は、2つの動的回路網に分割され、その後負荷を減らすために統合され得る。したがって、本明細書で説明されるハイブリッド動的-静的エンコーダは、様々なインデックス動的回路網、ヒット動的回路網、およびマルチヒット動的回路網にわたるプルダウン構造の冗長性を有利に利用し、より小さな動的回路網の減らされたセットから同じ情報を導くための論理を使用することができる。
【００１０】
一実施形態によれば、任意選択のヒット検出および/またはマルチヒット検出を伴うハイブリッド動的-静的エンコーダは、とりわけ、1つまたは複数のデバイスアクティブ領域(DAA)列にまたがって配置された複数の動的回路網の1つまたは複数の上にそれぞれ打点された、X個の行を有するアレイ構造を含み得る。一実施形態では、各DAA行は、Y個の動的回路網にまたがって配置されたX個のプルダウンを有し得る。ハイブリッド動的-静的エンコーダはさらに、複数の動的回路網で生成された出力信号を組み合わせて、組み合わされた出力信号に基づいて、アレイ構造中の1つまたは複数の行が検索鍵と一致するかどうかを示す1つまたは複数の符号化されたインデックス信号を導出するように構成される、統合論理を含み得る。加えて、一実施形態では、統合論理はさらに、組み合わされた出力信号に基づいて、アレイ構造中の少なくとも1つの行が検索鍵と一致するかどうかを示すヒット信号、および/または、アレイ構造中の複数の行が検索鍵と一致するかどうかを示すマルチヒット信号を、(たとえば、少なくとも1つの符号化されたインデックス信号が、検索鍵と一致するアレイ構造中の少なくとも1つの行を一意に特定するとき)導出するように構成され得る。したがって、ハイブリッド動的-静的エンコーダは、インデックス動的回路網、ヒット動的回路網、および/またはマルチヒット動的回路網にまたがる冗長なプルダウン構造を実質的に除去して、完全に動的なエンコーダと実質的に等価な論理遅延で、完全に動的なエンコーダに対して、物理的領域、電力消費、および漏洩電流の大きな低減をもたらすことができる。
【００１１】
一実施形態によれば、検索可能なアレイ構造中の1つまたは複数のヒットを検出するための方法は、検索鍵を受信するステップと、受信された検索鍵を使用して、任意選択のヒット検出および/またはマルチヒット検出を有するハイブリッド動的-静的エンコーダと関連付けられるアレイ構造を検索するステップとを含み得る。一実施形態では、アレイ構造はX個の行を有してよく、ハイブリッド動的-静的エンコーダは、1つまたは複数のDAA列にまたがって配置された様々な動的回路網を含んでよく、各DAA列は、Y個の動的回路網にまたがって配置されたX個のプルダウンを有してよい。一実施形態では、方法はさらに、複数の動的回路網で生成された組み合わされた出力信号に基づいて、アレイ構造中の1つまたは複数の行が検索鍵と一致するかどうかを示す、1つまたは複数の符号化されたインデックス信号を導出するステップを含み得る。加えて、一実施形態では、方法はさらに、組み合わされた出力信号に基づいて、アレイ構造中の少なくとも1つの行が検索鍵と一致するかどうかを示すヒット信号、および/または、アレイ構造中の複数の行が検索鍵と一致するかどうかを示すマルチヒット信号を、導出するステップを含み得る(たとえば、ヒット信号は、少なくとも1つの符号化されたインデックス信号が検索鍵と一致するアレイ構造中の少なくとも1つの行を一意に特定するとき、少なくとも1つの行が検索鍵と一致することを示してよく、マルチヒット信号は同様に、複数の符号化されたインデックス信号が検索鍵と一致するアレイ構造中の複数のそれぞれの行を一意に特定するとき、複数の行が検索鍵と一致することを示してよい)。
【００１２】
一実施形態によれば、装置は、検索鍵を受信するための手段と、受信された検索鍵を使用して、任意選択のヒット検出および/またはマルチヒット検出を有するハイブリッド動的-静的エンコーダと関連付けられるアレイ構造を検索するための手段とを含み得る。一実施形態では、アレイ構造はX個の行を有してよく、ハイブリッド動的-静的エンコーダは、1つまたは複数のDAA列にまたがって配置された様々な動的回路網を含んでよく、各DAA列は、Y個の動的回路網にまたがって配置されたX個のプルダウンを有してよい。一実施形態では、装置はさらに、複数の動的回路網で生成された組み合わされた出力信号に基づいて、アレイ構造中の1つまたは複数の行が検索鍵と一致するかどうかを示す、1つまたは複数の符号化されたインデックス信号を導出するための手段を含み得る。加えて、一実施形態では、装置はさらに、組み合わされた出力信号に基づいて、アレイ構造中の少なくとも1つの行が検索鍵と一致するかどうかを示すヒット信号、および/または、アレイ構造中の複数の行が検索鍵と一致するかどうかを示すマルチヒット信号を、導出するための手段を含み得る(たとえば、ヒット信号は、符号化されたインデックス信号の少なくとも1つが検索鍵と一致するアレイ構造中の少なくとも1つの行を一意に特定するとき、少なくとも1つの行が検索鍵と一致することを示してよく、マルチヒット信号は、複数の符号化されたインデックス信号が検索鍵と一致するアレイ構造中の複数の行を一意に特定するとき、複数の行が検索鍵と一致することを示してよい)。
【００１３】
一実施形態によれば、コンピュータ可読記憶媒体はコンピュータ実行可能命令を記録しており、このコンピュータ実行可能命令を1つまたは複数のプロセッサ上で実行することは、1つまたは複数のプロセッサに、検索鍵を受信させ、受信された検索鍵を使用して、任意選択のヒット検出および/またはマルチヒット検出を有するハイブリッド動的-静的エンコーダと関連付けられるアレイ構造を検索させ得る。一実施形態では、アレイ構造はX個の行を有してよく、ハイブリッド動的-静的エンコーダは、1つまたは複数のDAA列にまたがって配置された様々な動的回路網を含んでよく、各DAA列は、Y個の動的回路網にまたがって配置されたX個のプルダウンを有してよい。一実施形態では、コンピュータ実行可能命令を1つまたは複数のプロセッサ上で実行することはさらに、1つまたは複数のプロセッサに、複数の動的回路網で生成された組み合わされた出力信号に基づいて、アレイ構造中の1つまたは複数の行が検索鍵と一致するかどうかを示す、1つまたは複数の符号化されたインデックス信号を導出させ得る。加えて、一実施形態では、コンピュータ実行可能命令を1つまたは複数のプロセッサ上で実行することはさらに、1つまたは複数のプロセッサに、組み合わされた出力信号に基づいて(たとえば、少なくとも1つの符号化されたインデックス信号が、検索鍵と一致するアレイ構造中の少なくとも1つの行を一意に特定するとき)、アレイ構造中の少なくとも1つの行が検索鍵と一致するかどうかを示すヒット信号、および/または、アレイ構造中の複数の行が検索鍵と一致するかどうかを示すマルチヒット信号を、導出させ得る。
【００１４】
一実施形態によれば、任意選択のヒット検出および/またはマルチヒット検出を伴うハイブリッド動的-静的エンコーダは、X個の行を有するアレイ構造と、X/4行に各々わたるX/8個の動的回路網にまたがって配置されたX個のプルダウンを有する1つまたは複数の第1のDAA列と、X/4行に各々わたるX/16個の動的回路網にまたがって配置されたX個のプルダウンを各々有する1つまたは複数の第2のDAA列とを含んでよく、DAA列は一般に、nチャネル電界効果トランジスタ(NFET)デバイス、pチャネル電界効果トランジスタ(PFET)デバイス、散在した(diffused)シリコン論理コンポーネント、または本明細書で生成される出力信号を生成するための回路の、1つまたは複数を収容するための物理的領域を含み得る。さらに、ハイブリッド動的-静的エンコーダは、第1のDAA列および1つまたは複数の第2のDAA列で生成された組み合わされた出力信号に基づいて、アレイ構造中の1つまたは複数の行が検索鍵と一致するかどうかを示す、1つまたは複数の符号化されたインデックス信号を導出するための手段を含み得る。加えて、一実施形態では、ハイブリッド動的-静的エンコーダはさらに、組み合わされた出力信号に基づいて(たとえば、少なくとも1つの符号化されたインデックス信号が、検索鍵と一致するアレイ構造中の行を一意に特定するとき)、アレイ構造中の少なくとも1つの行が検索鍵と一致するかどうかを示すヒット信号を導出するための手段、および/または、アレイ構造中の複数の行が検索鍵と一致するかどうかを示すマルチヒット信号を導出するための手段を含み得る。
【００１５】
本明細書で説明されるハイブリッド動的-静的エンコーダに関する実施形態と関連付けられる他の目的および利点は、添付の図面および詳細な説明に基づいて、当業者には明らかであろう。
【００１６】
添付の図面は、本明細書で開示される実施形態の説明を助けるために提示され、実施形態のいかなる限定を定めることなく、開示される実施形態と関連付けられる例示的な特徴を示すためだけに与えられる。
【図面の簡単な説明】
【００１７】
【図１】1つの例示的な実施形態による、本明細書で説明されるハイブリッド動的-静的エンコーダを実装することができるメモリアーキテクチャを伴うモバイルデバイスを含む、例示的なワイヤレス通信システムを示す図である。
【図２】1つの例示的な実施形態による、本明細書で説明されるハイブリッド動的-静的エンコーダを実装することができるメモリアーキテクチャを伴う例示的なモバイルデバイスを示す図である。
【図３】1つの例示的な実施形態による、完全に動的なエンコーダ構造に対する、本明細書で説明されるハイブリッド動的-静的エンコーダで使用され得る構造を示す図である。
【図４】1つの例示的な実施形態による、完全に動的なエンコーダに対する、本明細書で説明されるハイブリッド動的-静的エンコーダで使用され得る、例示的な検索可能なアレイ構造および関連する比較回路を示す図である。
【図５】1つの例示的な実施形態による、完全に動的なエンコーダに対する、本明細書で説明されるハイブリッド動的-静的エンコーダで使用され得る、例示的な検索可能なアレイ構造および関連する比較回路を示す図である。
【図６】1つの例示的な実施形態による、完全に動的なエンコーダに対する、本明細書で説明されるハイブリッド動的-静的エンコーダで使用され得る、例示的な検索可能なアレイ構造および関連する比較回路を示す図である。
【図７】1つの例示的な実施形態による、本明細書で説明されるハイブリッド動的-静的エンコーダと関連付けられる上側の行と下側の行を、検索可能なアレイ構造が検索鍵と一致する1つまたは複数のエントリを含むかどうかを表す様々な出力ビットと統合するための論理を示す図である。
【図８】1つの例示的な実施形態による、本明細書で説明されるハイブリッド動的-静的エンコーダを使用して、アレイ構造中の1つまたは複数のエントリが検索鍵と一致するかどうかを示す1つまたは複数の出力信号を生成するための例示的な方法を示す図である。
【図９】1つの例示的な実施形態による、本明細書で説明されるハイブリッド動的-静的エンコーダを実装することができるメモリアーキテクチャを伴うワイヤレス通信デバイスに対応する例示的なブロック図である。
【図１０】1つの例示的な実施形態による、本明細書で説明されるハイブリッド動的-静的エンコーダを実装することができるメモリアーキテクチャを伴う1つまたは複数の通信デバイスを含む、例示的な通信システムを示す図である。
【発明を実施するための形態】
【００１８】
任意選択のヒット検出および/またはマルチヒット検出を伴うハイブリッド動的-静的エンコーダの様々な例示的な実施形態に関する具体的な例を示すために、以下の説明および関連する図面において態様が開示される。本開示を読めば、代替的な実施形態が、当業者には明らかであり、本開示の趣旨または範囲から逸脱することなく構築され実践され得る。加えて、本明細書で開示される態様および実施形態の関連する詳細を不明瞭にしないように、よく知られている要素は詳細には説明されず、または省略され得る。
【００１９】
「例示的な」という言葉は、「例、事例、または例示として機能すること」を意味するように本明細書で使用される。「例示的な」として本明細書で説明される任意の実施形態は、必ずしも他の実施形態よりも好ましいか、または有利であると解釈されるべきではない。同様に、「実施形態」という用語は、すべての実施形態が、説明された特徴、利点または動作モードを含むことを必要としない。
【００２０】
本明細書で使用される用語は、特定の実施形態を説明するだけであり、本明細書で開示される任意の実施形態を制限すると解釈されるべきである。本明細書で使用される単数形「a」、「an」、および「the」は、文脈が別段に明確に示さない限り、複数形をも含むものとする。さらに、「含む(comprises)」、「含んでいる(comprising)」、「含む(includes)」、および/または「含んでいる(including)」という用語は、本明細書で使用されると、述べられた特徴、整数、ステップ、動作、要素、および/または構成要素の存在を規定するが、1つまたは複数の他の特徴、整数、ステップ、動作、要素、構成要素、および/またはそれらのグループの存在または追加を排除しないことが理解されるだろう。
【００２１】
一実施形態によれば、図1は、本明細書で説明される、任意選択のヒット検出および/またはマルチヒット検出を伴うハイブリッド動的-静的エンコーダを実装することができるメモリアーキテクチャを伴う1つまたは複数のモバイルデバイス106を含む、ワイヤレス通信システム100を示す。一実施形態では、ワイヤレス通信システム100は、任意の適切なワイヤレス規格に従って動作することができる。たとえば、ワイヤレス通信システム100は、複数のユーザをサポートするために利用可能なネットワークリソースを共有できる多重アクセスネットワークであってよく、例示的な多重アクセスネットワークリソースは、符号分割多重接続(CDMA)ネットワーク、時分割多重接続(TDMA)ネットワーク、周波数分割多重接続(FDMA)ネットワーク、および直交FDMA(OFDMA)ネットワークを含み得る。これらの多重接続ネットワークは、様々な無線技術を実装することができ、ここで「無線技術」、「無線アクセス技術」(RAT)、「アクセス技術」、および「エアインターフェース」という用語が、しばしば交換可能に使用され得る。CDMAネットワークは、cdma2000(たとえば、IS-2000、IS-856、および/またはIS-95規格の1つまたは複数に従った)、Wideband-CDMA(W-CDMA)、または他の適切な無線技術のような、無線技術を実装することができる。CDMA2000 1xネットワーク(または単に「1xネットワーク」)は、IS-2000および/またはIS-95を実装するワイヤレスネットワークを指す。CDMA2000 1xEV-DOネットワーク(または単に「1xEV-DOネットワーク」)は、IS-856を実装するワイヤレスネットワークを指す。Universal Mobile Telecommunications System(UMTS)ネットワークは、W-CDMAを実装するワイヤレスネットワークである。TDMAネットワークは、Global System for Mobile Communications(GSM（登録商標）)などの無線技術を実装することができる。これらの様々な無線技術、規格、およびセルラーネットワークは、当技術分野で知られている。W-CDMA、GSM、UMTSは、「第3世代パートナーシッププロジェクト」(3GPP)という名称の組織からの文書に記載されており、cdma2000は、「第3世代パートナーシッププロジェクト2」(3GPP2)という名称の組織からの文書に記載されている。3GPPおよび3GPP2の文書は、公に入手可能である。
【００２２】
一実施形態では、1つまたは複数のモバイルデバイス106に加えて、図1に示されるワイヤレス通信システム100は、1つまたは複数のモバイルデバイス106と通信するアクセスポイント(AP)104を含んでよく、AP104はまた、NodeB、無線ネットワークコントローラ(RNC)、eNodeB、基地局コントローラ(BSC)、基地局装置(BTS)、基地局(BS)、送受信機機能(TF)、無線ルータ、無線送受信機、または他の適切な用語を含んでよく、それらとして実装されてよく、またはそれらとして知られていることがある。
【００２３】
一般に、AP104は、ワイヤレス通信システム100のためのハブまたは基地局として機能することができ、1つまたは複数のモバイルデバイス106は、ワイヤレス通信システム100においてユーザとして機能することができる。たとえば、一実施形態では、モバイルデバイス106は、ラップトップコンピュータ、携帯情報端末(PDA)、携帯電話、または、ワイヤレス通信をサポートする任意の他の適切なデバイスであり得る。モバイルデバイス106はまた、移動局(STA)、端末、アクセス端末(AT)、ユーザ機器(UE)、加入者局、加入者ユニット、遠隔局、遠隔端末、ユーザ端末、ユーザエージェント、ユーザデバイス、または何らかの他の適切な用語を含んでよく、それらとして実装されてよく、またはそれらとして知られていることがある。様々な実施形態において、モバイルデバイス106はまた、携帯電話、コードレス電話、セッション開始プロトコル(SIP)電話、ワイヤレスローカルループ(WLL)局、PDA、ワイヤレス接続機能を有するハンドヘルドデバイス、またはワイヤレスモデムに接続された他の適切な処理デバイスを含み得る。したがって、本明細書で説明される1つまたは複数の実施形態は、電話(たとえば、携帯電話またはスマートフォン)、コンピュータ(たとえば、ラップトップ)、ポータブル通信デバイス、ヘッドセット、ポータブルコンピューティングデバイス(たとえば、携帯情報端末)、娯楽デバイス(たとえば、音楽デバイス、ビデオデバイス、衛星ラジオなど)、ゲームデバイスまたはシステム、全地球測位システムデバイス、あるいはワイヤレス媒体を介して通信するように構成された任意の他の適切なデバイスに組み込まれ得る。
【００２４】
一実施形態では、ワイヤレス通信システム100は、モバイルデバイス106が一般的なインターネット接続または別のワイドエリアネットワーク(WAN)への接続を得るためにWi-Fi適合ワイヤレスリンク(たとえば、IEEE 802.11プロトコル)を介してAP104にその中で接続する、ワイヤレスローカルエリアネットワーク(WLAN)を含み得る。一実施形態では、モバイルデバイス106はまた、(たとえば、Wi-Fi Direct規格に従って)AP104として使用され得る。モバイルデバイス106およびAP104は、一般に、ワイヤレス通信システム100において送信ノードまたは受信ノードと呼ばれ得る。一実施形態では、ワイヤレス通信システム100においてモバイルデバイス106とAP104との間の送信をサポートするために、様々な処理および機構が使用され得る。たとえば、一実施形態では、ワイヤレス通信システム100における送信は、一般に、OFDM/OFDMA技法に従って、AP104から送信されモバイルデバイス106で受信された信号と、モバイルデバイス106から送信されAP104で受信された信号とを含んでよく、この場合、ワイヤレス通信システム100は、OFDM/OFDMAシステムと呼ばれ得る。代替的に(または追加で)、信号は、CDMA技法に従って、AP104およびモバイルデバイス106から送信され、それらにおいて受信されてよく、この場合、ワイヤレス通信システム100はCDMAシステムと呼ばれ得る。
【００２５】
一実施形態では、AP104からモバイルデバイス106の1つまたは複数へ送信を搬送する通信リンクは、ダウンリンク(DL)108と呼ばれることがあり、ダウンリンク108はまた、順方向リンクまたは順方向チャネルとも呼ばれることがあり、モバイルデバイス106の1つまたは複数からAP104へ送信を搬送する通信リンクは、アップリンク(UL)110と呼ばれることがあり、アップリンク110は、逆方向リンクまたは逆方向チャネルとも呼ばれることがある。一実施形態では、上で述べられたように、AP104は一般に、基本サービスエリア(BSA)102内でワイヤレス通信カバレッジを提供するための、基地局またはハブとして動作することができる。一実施形態では、AP104および、BSA102でのワイヤレス通信のためにAP104を使用するモバイルデバイス106は、基本サービスセット(BSS)と呼ばれ得る。しかしながら、ワイヤレス通信システム100は、中央AP104を必ずしも有さないことがあり、むしろモバイルデバイス106間のピアツーピアネットワークまたはアドホックネットワークとして機能することがあることを、当業者は理解するだろう。したがって、本明細書で説明されるAP104の機能は、代替的には、(たとえば、Wi-Fi direct規格に従って)モバイルデバイス106の1つまたは複数によって実装され、または別様に実行され得る。
【００２６】
一実施形態によれば、図2は、図1に示されるワイヤレス通信システム100内に、本明細書で説明されるハイブリッド動的-静的エンコーダを実装することができるメモリアーキテクチャを伴う、モバイルデバイス202を示す。一実施形態では、モバイルデバイス202は、本明細書で説明されるハイブリッド動的-静的エンコーダと関連付けられる様々な特徴を含み得る、またはそれらを実装するように構成され得る、任意の適切なデバイスを表し得る。たとえば、いくつかの実施形態では、図2に示されるモバイルデバイス202は、図1に示されるAP104、図1に示されるモバイルデバイス106の1つ、または、図1に示されるAP104の機能を実装する、もしくは別様に実行する、図1に示されるモバイルデバイス106の1つを含み得る。しかしながら、ハイブリッド動的-静的エンコーダは、検索鍵を一般に表す複数の電気信号を受信し、ハイブリッド動的-静的エンコーダを使用して、1つまたは複数のエントリと関連付けられるアレイ構造中の1つまたは複数のエントリが検索鍵と一致するかどうかを検出し、アレイ構造中の少なくとも1つのエントリが検索鍵と一致するかどうかを示すためのバイナリヒット検出出力を生成し、アレイ構造中の少なくとも2つのエントリが検索鍵と一致するかどうかを示すためのバイナリマルチヒット検出出力を生成し、かつ/または、検索鍵と一致するアレイ構造中の任意のエントリを特定するための固有のインデックス番号を生成できる、任意の適切な電子デバイス、回路、または他のコンポーネント中で利用され、または別様に実装され得ることを、当業者は理解するだろう。
【００２７】
一実施形態では、モバイルデバイス202は、モバイルデバイス202の動作を制御するプロセッサ204を含み得る。プロセッサ204は、中央処理ユニット(CPU)とも呼ばれ得る。加えて、モバイルデバイス202は、RAM、読取り専用メモリ(ROM)、コンテントアドレッサブルメモリ(CAM)、DDRメモリ、または他の適切なメモリ技術を含み得る、メモリ206を含み得る。一実施形態では、メモリ206は、モバイルデバイス202の動作を制御するためにプロセッサ204が実行および/または利用し得る、命令およびデータを記憶することができる。一実施形態では、メモリ206はさらに、不揮発性ランダムアクセスメモリ(NVRAM)を含み得る。プロセッサ204は一般に、メモリ206に記憶された命令に基づいて論理演算および算術演算を実行し、かつ/または、メモリ206に記憶された命令を実行して、様々な機能を実装し、または別様に実行することができる。
【００２８】
一実施形態では、モバイルデバイス202はさらに、筐体208と、モバイルデバイス202と遠隔エンティティ(たとえば、基地局またはAP、別のモバイルデバイスなど)との間でデータの送信および受信を可能にするための送信機210および受信機212を有する送受信機214とを含み得る。一実施形態では、データは、アンテナ216を介して遠隔エンティティに送信され、またはそれから受信されてよく、アンテナ216は、筐体208に取り付けられ、送受信機214に電気的に結合されてよい。さらに、モバイルデバイス202は、複数の送信機、複数の受信機、複数の送受信機、および/または複数のアンテナを適切に含み得ることを、当業者は理解するだろう。
【００２９】
一実施形態では、モバイルデバイス202はさらに、送受信機214を介して送信され受信された信号のレベルを検出して定量化するために使用され得る、信号検出器218を含み得る。信号検出器218は、総エネルギー、シンボルごとのサブキャリア当たりのエネルギー、電力スペクトル密度および他の適切な信号などの信号を検出し得る。モバイルデバイス202はまた、送受信機214を介して送信され受信された信号を処理する際に使用するためのデジタル信号プロセッサ(DSP)220を含み得る。たとえば、一実施形態では、DSP 220は、送信機210を介した送信のためにデータユニットを生成するように構成され得る。様々な実施形態において、明らかなように、データユニットは、パケットまたはメッセージとも呼ばれ得る物理レイヤプロトコルデータユニット(PPDU)を含み得る。
【００３０】
一実施形態では、モバイルデバイス202はさらに、キーパッド、マイクロフォン、スピーカー、ディスプレイ、および/または、モバイルデバイス202のユーザに情報を搬送でき、かつ/もしくはユーザから入力を受け取ることができる、他の適切な要素もしくはコンポーネントを含み得る、ユーザインターフェース222を含み得る。さらに、一実施形態では、モバイルデバイス202の様々なコンポーネントは、バスシステム226を介して互いに結合され得る。たとえば、バスシステム226は、相互接続構造、データバス、電力バス、制御信号バス、状態信号バス、または、モバイルデバイス202の様々なコンポーネントを相互接続できる、もしくは別様に互いに結合できる、任意の他の適切なコンポーネントを含み得る。しかしながら、モバイルデバイス202のコンポーネントは、何らかの他の機構を使用して、互いに結合され、または互いに入力を受け入れ、または互いに入力提供できることを当業者は理解するだろう。
【００３１】
さらに、図2は、様々な別個のコンポーネントを有するものとしてモバイルデバイス202を示すが、コンポーネントの1つまたは複数は適切に組み合わされ、または共通に実装されてよいことを当業者は認識するだろう。たとえば、プロセッサ204は、信号検出器218および/またはDSP 220に関して上で説明された機能に加えて、プロセッサ204に関して上で説明された機能を実装することができる。さらに、図2に示される任意の特定のコンポーネントは、複数の別個の要素を使用して実装され得る(たとえば、送信機210は複数の送信機210を含んでよく、受信機212は複数の受信機212を含んでよい、など)ことを、当業者は認識するだろう。
【００３２】
1つの例示的な実施形態によれば、図3は、完全に動的なエンコーダ構造350に対して、本明細書で説明される様々な態様および実施形態による例示的なハイブリッド動的-静的エンコーダ構造310を示し、図3に示されるハイブリッド動的-静的エンコーダ構造310と完全に動的なエンコーダ構造350は各々、それぞれの検索可能なアレイ構造320、360と、検索鍵と一致する1つまたは複数のエントリに対応するアドレスを、検索可能なアレイ構造320、360から一致したエントリと関連付けられるインデックスを読み取るよりも前に符号化するための、関連する論理340、380とを含み得る。しかしながら、図3に示される完全に動的なエンコーダ構造350は、各インデックスビット382に対する別個の動的回路網を必要とし、さらに、マルチヒット検出ビット386をサポートするために、各ビットインデックスに対する第2の動的回路網を必要とする。したがって、完全に動的なエンコーダ構造350は、非常に広い物理的領域を占有し、かなりの電力を消費し、多数の動的回路網にまたがって必要とされる多数のプルダウンによるかなりの漏洩の影響を受け得る。具体的には、図3に示される完全に動的なエンコーダ構造350は、16個のデバイスアクティブ領域(DAA)列370を有することがあり、DAA列370は一般に、エンコーダ構造350内で様々な物理デバイスが占有する物理的領域を指す。たとえば、完全に動的なエンコーダ構造350は一般に、様々なnチャネル電界効果トランジスタ(NFET)デバイス、pチャネル電界効果トランジスタ(PFET)デバイス、散在したシリコン論理コンポーネント、ならびに/または、論理380がインデックスビット382を生成するために組み合わせる7個の符号化されたインデックス出力372、論理380がマルチヒット検出ビット386を生成するために組み合わせる7個のマルチヒット検出出力376、および論理380がヒット検出ビット384を生成するために組み合わせる2個のヒット検出出力374を生成するための他の適切な回路を収容するために、16個のDAA列370を必要とし、各DAA列370はX/2個の動的プルダウンを有し、Xは検索可能なアレイ構造360にどれだけの行が含まれるかを示す。さらに、プルダウンは、1つまたは複数の行が検索鍵といつ一致するかを(たとえば、1つまたは複数の行と関連付けられるそれぞれのマッチ線をアサートすることによって)示すために、1つまたは複数の動的回路網にまたがって打点されるので、図3に示される完全に動的なエンコーダ構造350は、全体で8X個の動的プルダウンを有する。
【００３３】
対照的に、図3に示されるハイブリッド動的-静的エンコーダ構造310は、図3にさらに示される完全に動的なエンコーダ構造350と概ね等価な論理遅延を伴いながら、大きく低減された領域、電力消費、および、漏洩を達成するために、組み合わされた動的かつ静的な構造および関連する論理設計を有し得る。より具体的には、図4〜図6を参照して以下でさらに詳細に説明されるように、ハイブリッド動的-静的エンコーダ構造310は、動的回路網および論理を戦略的に区分して、エンコーダ構造310における冗長性を実質的に除去し、これによって、大きな論理遅延をもたらすことなく、サイズ(または領域)、電力消費、およびそれと関連付けられる漏洩をかなり減らすことができる。たとえば、X行を伴う検索可能なアレイ構造320において、ハイブリッド動的-静的エンコーダ構造310は、物理的なNFETデバイス、PFETデバイス、散在したシリコン論理コンポーネント、および/または、完全に動的なエンコーダ構造350と実質的に等価な論理遅延を伴ってインデックスビット342、ヒット検出ビット344、およびマルチヒット検出ビット346(すなわち、完全に動的なエンコーダ構造350と同じ出力)を生成するために必要とされる他の適切な回路を収容するために、3個のDAA列330を有し得る。具体的には、図3に示される例示的なハイブリッド動的-静的エンコーダ310において、列<2>、列<1>、および列<0>はそれぞれ、図4〜図6に示されるハイブリッド動的-静的エンコーダの列410、510、および610に対応し、一方、図4〜図5に示される完全に動的なエンコーダの部分450および550は各々、4個のDAA列(すなわち、2個の符号化されたインデックス列372およびそれに対応する2個のマルチヒット列376)を含み、図6に示される完全に動的なエンコーダの部分650は、8個のDAA列(すなわち、3個の符号化されたインデックス列372、それに対応する3個のマルチヒット列376、および2個のヒット検出列374)を含む。したがって、図4〜図6に示され以下でより完全に説明されるように、ハイブリッド動的-静的エンコーダ310における列<0:2>は、マルチヒット検出出力346および符号化されたインデックス出力342を生成するために一緒に使用されてよく、列<0:2>330は各々、ハイブリッド動的-静的エンコーダ構造310が全体で3X個の動的プルダウンを有するように、X個のプルダウンを有し得る。さらに、一実施形態では、ヒット検出出力344は、列<0:2>330の1つから導出され得る。したがって、単一の行ヒットは、完全な動的エンコーダ構造350が8個の大きな動的回路網を評価することを必要とするが、ハイブリッド動的-静的エンコーダ構造310は、単一の行ヒットに応答して3個の動的回路網を評価するだけでよい。したがって、完全な動的エンコーダ構造350におけるDAA列370の数に対して、ハイブリッド動的-静的エンコーダ構造310におけるDAA列330がかなり少数であることにより、ハイブリッド動的-静的エンコーダ構造310は、完全に動的なエンコーダ構造350に対する530%の領域の節約(すなわち、3個のDAA列330で除算された16個のDAA列370)、完全に動的なエンコーダ構造310に対する267%の漏洩低減(すなわち、全体で3X個の動的プルダウンで除算された全体で8X個の動的プルダウン)、および、実装形態に特有の動的な節約(たとえば、検索可能なアレイ構造320、360中の行またはエントリの数に応じた)を実現することができる。
【００３４】
1つの例示的な実施形態によれば、図4〜図6は、完全に動的なエンコーダに対する、本明細書で説明されるハイブリッド動的-静的エンコーダで使用され得る、例示的な検索可能なアレイ構造および関連する比較回路を示す。本明細書で説明されるハイブリッド動的-静的エンコーダで使用される設計手法は、任意の適切なサイズを有する検索可能なアレイ構造に適用されてよいことが当業者に了解されるが、図4〜図6に示される本明細書でさらに詳細に説明されるハイブリッド動的-静的エンコーダおよび完全に動的なエンコーダでは、説明を簡単にするために、かつ、様々な構造的特徴およびそれと関連付けられる論理的特徴を説明するために、128エントリのアレイサイズが使用され得る。たとえば、本明細書でさらに詳細に説明されるように、符号化されたインデックス出力、ヒット検出出力、およびマルチヒット検出出力を伴う、128エントリのアレイに対する動的プルダウンの数は、完全に動的なエンコーダにおける1024個の動的プルダウンから、ハイブリッド動的-静的エンコーダにおける384個の動的プルダウンに減らされることが可能であり、動的プルダウンを収容する列の数は、完全に動的なエンコーダにおける16から、ハイブリッド動的-静的エンコーダにおける3個まで減らされることが可能であり、単一の行ヒットを評価するために必要とされる動的回路網の数は、完全に動的なエンコーダにおける8個のより大きな回路網から、ハイブリッド動的-静的エンコーダにおける3個のより小さな回路網へと減らされることが可能である。さらに、当業者には明らかなように、図4〜図6は、示されるハイブリッド動的-静的エンコーダおよび完全に動的なエンコーダの論理的な図示を表し、ここで文字“x”が、NFETトランジスタ、PFETトランジスタ、または他の適切なプルダウンデバイスがDAA列内で位置する論理的位置を表すために図4〜図6において使用され、一方DAA列は、そのようなプルダウンデバイスが位置する物理的レイアウトを指す。
【００３５】
たとえば、ここで、図4を参照すると、ハイブリッド動的-静的エンコーダ410および完全に動的なエンコーダ450において使用される128エントリのアレイは、まったく同一の上半分と下半分に分割されてよく(すなわち、上半分と下半分にそれぞれ64行)、これらはその後、最終的な符号化されたインデックス出力、ヒット出力、およびマルチヒット出力を生成するために組み合わされ得る。完全に動的なエンコーダ450では、エンコーダの各半分は、行が検索鍵といつ一致するかを(たとえば、行と関連付けられるマッチ線をアサートすることによって)示すために打点された適切な行について、各インデックスビットに対して32個の点460を有する動的回路網を使用することができる。したがって、完全に動的なエンコーダ450と関連付けられるアレイ中の特定の行が、その行が検索鍵と一致することを示すために打点されているとき、その打点された行と関連付けられる動的回路網は、その行と関連付けられる7ビットのインデックスを反映するように評価され得る。さらに、各インデックスビットは、対応するインデックスビットの反転を反映するようにアレイ中の様々な行にまたがって打点される、対応するマルチヒット動的回路網を有し得る。たとえば、完全に動的なエンコーダ450では、マルチヒット動的回路網md_l<3>456はインデックスビットenc_l<3>に対する動的回路網452の反転を反映し、マルチヒット動的回路網md_l<4>458はインデックスビットenc_l<4>に対する動的回路網454の反転を反映する。したがって、マルチヒットが発生する場合、1つまたは複数のインデックスビットは、それらと関連付けられるインデックス動的回路網452および/または454と、マルチヒットにフラグをつけるために評価される対応するマルチヒット動的回路網456および/または458の両方を有する。その上、図6に示されるように、完全に動的なエンコーダ650は、各行が打点された(ミス)ヒット動的回路網を有してよく、ここでヒット動的回路網は、その後負荷を低減するために統合される、2つのそれぞれの動的回路網657、658に分割され得る。したがって、図4を再び参照すると、完全に動的なエンコーダ450はビット<4:3>に対して4個のDAA列(すなわち、インデックスビットenc_l<4:3>と関連付けられるそれぞれの動的回路網452、454に対して2個のDAA列および対応するマルチヒット動的回路網456、458に対する2個のDAA列)と、それぞれ32個の点460を有する8個の動的回路網(すなわち、図4に示される上側の64行の中の4個のDAA列に対応する4個の動的回路網452、454、456、458と、下側の64行の中の4個のDAA列に対応する4個の動的回路網(図示されず))と、全体で256個の動的NFETプルダウン(すなわち、各動的回路網において、1つの点ごとに1個の動的プルダウン)とを有し得る。
【００３６】
対照的に、図4〜図6で示されるハイブリッド動的-静的エンコーダは、完全に動的なエンコーダと関連付けられる、様々なインデックス動的回路網、ヒット動的回路網、およびマルチヒット動的回路網にわたるプルダウン構造の冗長性を有利に利用し、より小さな動的回路網の減らされたセットから、完全に動的なエンコーダと同じ情報を導くための適切な論理を使用することができる。たとえば、図4に示される完全に動的なエンコーダ450は、エンコーダの上半分と下半分の各々に、32個のプルダウン460を伴う4個の動的回路網452、454、456、458を有するが(すなわち、エンコーダの上半分と下半分の間に全体で256個のNFETプルダウン460がある)、ハイブリッド動的-静的エンコーダ410は、エンコーダの上半分と下半分の各々に16個だけのプルダウン420を伴うより小さな4個の動的回路網412、414、416、418を有する(すなわち、エンコーダの上半分の中の動的回路網412、414、416、418が各々、8個の点を各々伴う2個の「ビット線」を含み、下半分(図示されず)が同様に、8個の点を伴う2個の「ビット線」を各々含む4個の動的回路網を有し、これによって、図4に示されるハイブリッド動的-静的エンコーダの列は、8個の動的回路網と、上半分と下半分の間に全体で128個のNFETプルダウン420とを含む)。したがって、ハイブリッド動的-静的エンコーダ410は、動的プルダウンデバイス420の総数が完全な動的エンコーダ450に対して半分に減らされ得るので、かなりの漏洩の減少をもたらすことができ、このことはさらに、かなりの動的な電力低減をもたらすことができる。たとえば、動的プルダウンデバイス420を駆動する信号は、単一の行が一致するときは2個ではなく1個のプルダウンゲートしか駆動しなくてよいので、プルダウンしてその後の次の段階でプリチャージすべき動的回路網が1つ少なくなり、これによって、ハイブリッド動的-静的エンコーダ410は、動的プルダウンデバイス420を駆動する信号がより小さなゲート容量を有するので、動的な電力消費をかなり減らすことができる。さらに、ハイブリッド動的-静的エンコーダ410は、各動的回路網412、414、416、418が64行ではなく32行にしかわたらない2個のビット線を含むので、完全に動的なエンコーダ450よりも小さな配線容量を有することがあり、ハイブリッド動的-静的エンコーダ410はさらに、各動的回路網412、414、416、418が32個の点ではなくビット線ごとに8個の点しか有さないので、完全な動的なエンコーダ450よりも小さな拡散容量を有することがあり、これによって、ハイブリッド動的-静的エンコーダ410は、完全な動的なエンコーダ450に対して、かなりの動的な電力の節約をもたらすことができる。またさらに、各行は、ハイブリッド動的-静的エンコーダに1つの点420しか有さないので、ハイブリッド動的-静的エンコーダでは、示される様々な動的回路網412、414、416、418にまたがる動的プルダウン420のすべてが、完全に動的なエンコーダ450においては各行が複数の動的プルダウンデバイス460を有することが原因で必要とされる4個のDAA列452、454、456、458ではなく、1個のDAA列へと差し挟まれ得る。したがって、ハイブリッド動的-静的エンコーダ410は、動的回路網412、414、416、418と関連付けられるプルダウンデバイス(たとえば、NFETプルダウントランジスタ)420が垂直方向と水平方向のいずれかに揃えられ得る��うに、行ごとに1つのプルダウンデバイス420を割り当てる構成により、完全に動的なエンコーダ450に対してかなりの物理的領域の節約をもたらすことができる。
【００３７】
したがって、図4に示されるように、ハイブリッド動的-静的エンコーダ410は、符号化されたインデックスビットenc<4:3>およびマルチヒット検出ビットmd<4:3>を、共通の動的回路網enc_l<4:3>およびmd_l<4:3>から導出することができる。具体的には、ハイブリッド動的-静的エンコーダ410中の最初の(一番左の)動的回路網412および3番目の動的回路網416は、一般に、完全に動的なエンコーダ450における動的回路網enc_l<3>452から導出され得る。同様に、ハイブリッド動的-静的エンコーダ410中の最初の動的回路網412および2番目の動的回路網414は、完全に動的なエンコーダ450における動的回路網enc_l<4>454から導出されてよく、ハイブリッド動的-静的エンコーダ410中の2番目の動的回路網414および4番目の(一番右の)動的回路網418は、完全に動的なエンコーダ450における動的回路網md_l<3>456から導出されてよく、ハイブリッド動的-静的エンコーダ410中の3番目の動的回路網416および4番目の動的回路網418は、完全に動的なエンコーダ450における動的回路網md_l<4>458から導出されてよい。したがって、ハイブリッド動的-静的エンコーダ410では、完全に動的なエンコーダ450よりもかなり少数の点420および低い冗長性で、実質的に等価なゲート遅延のカウントを有しながら、同じデータが表現され得る。具体的には、完全に動的なエンコーダ450は、出力enc3_top 432、enc4_top 434、md3_top 436、およびmd4_top 438を生成するために4個のゲート(すなわち、4個の静的インバータ)470を有することがあり、ハイブリッド動的-静的エンコーダ410も同じ出力を生成するために4個のゲート(すなわち、4個のNANDゲート)を有する静的回路430を含むことがあり、ここで、上側のエンコーダの64行からの出力および下側のエンコーダの64行からの対応する出力(図示されず)が、完全な128行の結果(すなわち、図7に示されるような)を得るために適切な論理ゲートに与えられ得る。
【００３８】
ここで図5を参照すると、ハイブリッド動的-静的エンコーダ510は、図4に示され、符号化されたインデックスビット<4:3>およびマルチヒット検出ビットmd<4:3>を導出するために上でさらに詳細に説明されるような構造と同様の、符号化されたインデックスビット<2:1>およびマルチヒット検出ビットmd<2:1>を導出するための構造を有し得る。より具体的には、図5に示されるように、ハイブリッド動的-静的エンコーダ510中の最初の動的回路網512および3番目の動的回路網516は、完全に動的なエンコーダ550における動的回路網enc_l<1>552から導出されてよく、ハイブリッド動的-静的エンコーダ510中の最初の動的回路網512および2番目の動的回路網514は、完全に動的なエンコーダ550における動的回路網enc_l<2>554から導出されてよく、ハイブリッド動的-静的エンコーダ510中の2番目の動的回路網514および4番目の動的回路網518は、完全に動的なエンコーダ550における動的回路網md_l<1>556から導出されてよく、ハイブリッド動的-静的エンコーダ510中の3番目の動的回路網516および4番目の動的回路網518は、完全に動的なエンコーダ550における動的回路網md_l<2>558から導出されてよい。したがって、ハイブリッド動的-静的エンコーダ510では、完全に動的なエンコーダ550よりも、かなり少数の点520および低い冗長性で、実質的に等価なゲート遅延のカウントを有しながら、enc1_top 532、enc2_top 534、md1_top 536、およびmd2_top 538を生成するために必要とされる同じデータが表され得る(すなわち、ハイブリッド動的-静的エンコーダ510は4個のNANDゲートを伴う静的回路530を使用して信号532〜538を生成し、完全に動的なエンコーダ550は4個の静的インバータ570を使用して同じ信号532〜538を生成する)。ハイブリッド動的-静的エンコーダ510では、上側のエンコーダの64行からの出力および下側のエンコーダの64行からの対応する出力(図示されず)が、出力ビットenc1_top 532、enc2_top 534、md1_top 536、およびmd2_top 538に対応する完全な128行の結果を得るために(すなわち、図7に示されるように)、適切な論理ゲートに与えられ得る。さらに、図5に示されるハイブリッド動的-静的エンコーダ510は、完全な動的なエンコーダ550に対して、同様の物理的領域、電力消費、および漏洩電流の低減をもたらすことができる。
【００３９】
ここで図6を参照すると、符号化されたインデックスビット<6,5,0>、マルチヒット検出ビット<6,5,0>、およびミス(またはヒット)ビットを生成するためにハイブリッド動的-静的エンコーダで使用される構造610はすべて、16個のプルダウン(または点)を伴う2個のビット線を各々有する4個の動的回路網(すなわち、図6に示される上半分にある2個の動的回路網612、614と下半分にある2個の動的回路網(図示されず))を伴う1つのDAA列610へと組み合わされ得る。対照的に、同じ符号化されたインデックスビット<6,5,0>、マルチヒット検出ビット<6,5,0>、およびミス(またはヒット)ビットを生成するために、完全に動的なエンコーダ610の上半分は、32個のプルダウン(または点)を各々有する7個のより大きな動的回路網652〜658と64個のプルダウン(または点)を有する1個のより大きな動的回路網651とを伴う8個のDAA列651〜658を有し、完全に動的なエンコーダ610の下半分(図示されず)は同様の構造を有する(すなわち、上半分のmd_l<6>654はプルダウンを有さず、下半分のmd_l<6>は64個のプルダウンを有し、上半分のenc_l<6>651は64個のプルダウンを有し、下半分のenc_l<6>はプルダウンを有さない)。したがって、ハイブリッド動的-静的エンコーダ610は、完全に動的なエンコーダ650の上半分と下半分の間の全体で512個のプルダウンに対して、エンコーダの上半分と下半分の間に全体で128個のプルダウンを有する。さらに、上で述べられたように、ハイブリッド動的-静的エンコーダ610は、単一の行が一致するときに、完全に動的なエンコーダ650における4個ではなく、1個の動的回路網を評価するだけでよく、このことは、各動的回路網がenc_lごとに64行ではなく32行にしかわたらない(すなわち、配線容量を低減する)ので、かつ、各動的回路網がenc_lごとに32個の点ではなく16個の点しか有さない(すなわち、拡散容量を低減する)ので、完全に動的なエンコーダ650に対してかなりの電力の節約をもたらすことができる。同様に、符号化されたインデックスビット<6,5,0>、マルチヒット検出ビット<6,5,0>、およびミス(ヒット)ビットを静的回路630を介して生成するために使用される128個のプルダウンはすべて、ハイブリッド動的-静的エンコーダ610では、完全に動的なエンコーダ650において必要とされる8個のDAA列651〜658ではなく、1個のDAA列に差し挟まれることが可能であり、これによりかなりの領域の節約をもたらす。さらに、図7に示されるように、図6に示される上側のエンコーダの64行からの出力632、634、636、638、639および下側のエンコーダの64行からの対応する出力(図示されず)が、符号化されたインデックスビット<6,5,0>、マルチヒット検出ビット<6,5,0>、およびミス(ヒット)ビットに対応する完全な128行の結果を得るために、適切な論理ゲートに与えられ得る。たとえば、符号化されたインデックスビットenc<6>はenc6_top 632に対応してよく、マルチヒット検出ビットmd<6>はenc6_bot(図示されず)に対応してよく、enc6_top 632およびenc6_botはミス(ヒット)ビットを得るために組み合わされてよく、ここでhit=(enc6_top||enc6_bot)である。ハイブリッド動的-静的エンコーダ610におけるミス(ヒット)ビットを生成するための経路は追加のゲート(および反転)を有し得るが、全体の遅延は完全に動的なエンコーダ650における遅延と同等であり得る。
【００４０】
1つの例示的な実施形態によれば、図7は、ハイブリッド動的-静的エンコーダの上半分および下半分と関連付けられる行を統合して、最終的な符号化されたインデックス出力ビット712、714、716、718、720、722、724、検索鍵と一致する1つまたは複数のエントリを検索可能なアレイ構造が含むかどうかを表すヒット出力ビット726、および検索鍵と一致する複数のエントリを検索可能なアレイ構造が含むかどうかを表すマルチヒット出力ビット728を導出するための論理700を示す。たとえば、図7に示されるように、enc_top<0>およびenc_bot<0>は、enc_l<0>を生成するためにNORゲート740に与えられてよく、enc_l<0>は次いでインデックス<0>712を生成するためにインバータ742に与えられてよく、インデックス<1:5>714、716、718、720、722は同様の統合論理によって生成されてよい。さらに、enc_top<6>は、enc_l<6>を生成するために第1のインバータ744に与えられてよく、enc_l<6>は次いで、インデックス<6>724を生成するために第2のインバータ746に与えられてよく、enc_top<6>およびenc_bot<6>は、(ミス)hit_lを生成するためにNORゲート748に与えられてよく、hit_lは次いで、ヒット出力ビット726を生成するためにインバータ750に与えられてよい。multi_hit出力ビット728に関しては、enc_top<6>およびenc_bot<6>が第1のNANDゲート752に与えられてよく、md_top<0:5>およびenc_top<0:5>が754に示されるような6個のそれぞれのNANDゲートの第1のグループに与えられてよく、md_bot<0:5>およびenc_bot<0:5>が同様に756に示されるような6個のそれぞれのNANDゲートの第2のグループに与えられてよい。一実施形態では、754にさらに示されるように、NANDゲートの第1のグループからの出力は次いで、3個の追加のNANDゲートの第3のグループに与えられてよく、NANDゲートの第2のグループからの出力は同様に、756に示されるような3個の追加のNANDゲートの第4のグループに与えられてよく、NANDゲートの第3のグループからの出力は第1のN
ORゲート758に与えられてよく、NANDゲートの第4のグループからの出力は第2のNORゲート760に与えられてよい。したがって、最終的なmulti_hit出力ビット728を生成するために、第1のNANDゲート752からの出力、第1のNORゲート758からの出力、および第2のNORゲート760からの出力はANDゲート762に与えられてよく、ANDゲートは最終的なmulti_hit出力ビット728を出力し得る。
【００４１】
一実施形態によれば、図8は、上でさらに詳細に説明されたハイブリッド動的-静的エンコーダを使用して、アレイ構造中の1つまたは複数のエントリが検索鍵と一致するかどうかを示す1つまたは複数の出力信号を生成するための方法800を示す。説明を簡潔かつ簡単にするために、図8に示される方法800で使用され得るハイブリッド動的-静的エンコーダと関連付けられるいくつかのコンポーネント、機能、または他の態様に関する様々な詳細は、同じまたは同様の詳細が上ですでに提供されている範囲まで、ここでは省略され得る。
【００４２】
一実施形態では、検索可能なアレイ構造中の1つまたは複数のヒットを検出するための方法800は最初に、ブロック810において検索鍵を受信するステップを含んでよく、この検索鍵は次いで、ブロック820において、ハイブリッド動的-静的エンコーダ構造と関連付けられるアレイ構造を検索するために使用され得る。ハイブリッド動的-静的エンコーダ構造は次いで、1つまたは複数のDAA列にまたがって配置された複数の動的回路網の1つの上にそれぞれ打点された1つまたは複数の行が検索鍵と一致するかどうかを示す、1つまたは複数の出力信号を生成することができ、この出力信号はブロック830で組み合わされ得る。一実施形態では、複数の動的回路網で生成される組み合わされた出力信号は、アレイ構造中の1つまたは複数の行が検索鍵と一致するかどうかを判定するために、ブロック840において分析され得る。したがって、アレイ構造中の行が検索鍵と一致する場合、一致する行を一意に特定する符号化されたインデックス出力信号(たとえば、検索可能なアレイ構造中のエントリに対応する、一致する行と関連付けられるアドレス)がブロック850で生成され得る。さらに、一実施形態では、符号化されたインデックス出力信号は、1つの行だけが検索鍵と一致する場合、検索可能なアレイ構造中のエントリを表すことだけに有効であり得る。一実施形態では、ヒット検出出力信号および/またはマルチヒット検出出力信号が、ブロック860において任意選択で生成され得る。たとえば、ヒット検出出力信号およびマルチヒット検出出力信号は、アレイ構造中の複数の行が検索鍵と一致する場合、(たとえば、論理ハイへ)アサートされ得る。別の例では、アレイ構造中の1つの行だけが検索鍵と一致する場合、ヒット検出出力信号は(たとえば、論理ハイへ)アサートされてよく、マルチヒット検出出力信号は(たとえば、論理ローへ)ネゲートされてよい。さらに別の例では、ヒット検出出力信号およびマルチヒット検出出力信号は、アレイ構造が検索鍵と一致する行を有さない場合、(たとえば、論理ローへ)ネゲートされ得る。
【００４３】
一実施形態によれば、図9は、本明細書で説明される、任意選択のヒット検出および/またはマルチヒット検出を伴うハイブリッド動的-静的エンコーダを実装することができるメモリアーキテクチャを伴うワイヤレス通信デバイス900に対応し得る、例示的なブロック図を示す。送信経路上で、エンコーダ922は、基地局、Node B、またはアクセスポイントへワイヤレス通信デバイス900によって送信されるべき、データおよびシグナリングを受信することができる。エンコーダ922は、適切なコーディング方式に従って、データおよびシグナリングを処理(たとえば、フォーマット、符号化、およびインターリーブ)することができる。変調器(Mod)924はさらに、符号化されたデータおよびシグナリングを処理(たとえば、変調およびスクランブリング)して、出力チップを生成することができる。一般に、エンコーダ922および変調器924による処理は、データの送信先のワイヤレスネットワークの無線技術(たとえば、IEEE 802.11、1x、1xEV-DO、UMTS、またはGSM)によって決定され得る。一実施形態では、送信機(TMTR)932は、出力チップを調整(たとえば、アナログに変換、フィルタリング、増幅、および周波数アップコンバート)して、高周波(RF)信号を生成することができ、RF信号は、アンテナ934を介してワイヤレスネットワークを通じて、基地局、Node B、またはアクセスポイントに送信され得る。
【００４４】
一実施形態では、受信経路上で、アンテナ934は、基地局、Node B、および/またはアクセスポイントによって送信されるRF信号を受信することができる。受信機(RCVR)936は、アンテナ934から受信されたRF信号を調整(たとえば、フィルタリング、増幅、周波数ダウンコンバート、およびデジタル化)し、サンプルを提供することができる。復調器(Demod)926は、サンプルを処理(たとえば、デスクランブリングおよび復調)し、シンボル推定値を提供することができる。デコーダ928は、シンボル推定値を処理(たとえば、デインタリーブおよび復号)し、復号されたデータおよびシグナリングを提供することができる。一般に、復調器926およびデコーダ928による処理は、基地局、Node B、および/またはアクセスポイントにおいて変調器およびエンコーダによって実行される処理と相補的であり得る。さらに、一実施形態では、エンコーダ922、変調器924、復調器926、およびデコーダ928は、モデムプロセッサ920によって実装され得る。図9は、簡単のために各処理ユニットの一例を示すが、一般に、ワイヤレス通信デバイス900によってサポートされる様々な無線技術のために、1つまたは複数のモデムプロセッサ、送信機、受信機、コントローラ、およびメモリであり得る。
【００４５】
一実施形態では、コントローラ/プロセッサ940は、ワイヤレス通信デバイス900における様々な処理ユニットの動作を指示することができる。たとえば、一実施形態では、ワイヤレス通信デバイス900内のコントローラ/プロセッサ940および/または他の処理ユニットは、図3〜図8を参照して上で説明された、任意選択のヒット検出および/またはマルチヒット検出を伴うハイブリッド動的-静的エンコーダを利用するために、様々な機能を実装することができる。コントローラ/プロセッサ940はまた、本明細書で説明される任意の他の適切な処理または機能を実装または指示することができる。一実施形態では、メモリ942は、ワイヤレス通信デバイス900のためのプログラムコードおよびデータを記憶することができる。メモリ942はまた、1つまたは複数の検索可能なアレイ構造、エンコーダ回路、仮想メモリアドレスと物理メモリアドレスのマッピング、または、本明細書で説明されるハイブリッド動的-静的エンコーダ、ワイヤレス通信デバイス900と関連付けられるアプリケーション、および/もしくはワイヤレス通信デバイス900で使用される無線技術と関連付けられる特徴および機能をサポートすることができる任意の他の適切なデータもしくは情報を記憶することができる。
【００４６】
上記は、本明細書で説明されるハイブリッド動的-静的エンコーダを実装することができるメモリアーキテクチャを伴うワイヤレス通信デバイス900を説明するが、ハイブリッド動的-静的エンコーダは、検索鍵を一般に表す複数の電気信号を受信し、ハイブリッド動的-静的エンコーダを使用して、1つまたは複数のエントリと関連付けられるアレイ構造中の1つまたは複数のエントリが検索鍵と一致するかどうかを検出し、アレイ構造中の少なくともエントリが検索鍵と一致するかどうかを示すためのバイナリヒット検出出力を生成し、アレイ構造中の少なくとも2つのエントリが検索鍵と一致するかどうかを示すためのバイナリマルチヒット検出出力を生成し、かつ/または、検索鍵と一致するアレイ構造中の任意のエントリを特定するための固有のインデックス番号を生成できる、ワイヤレス通信デバイス900と関連付けられる任意の適切なコンポーネント、または、任意の他の適切な電子デバイス、回路、もしくは他のコンポーネント中で利用され、または別様に実装され得ることを、当業者は理解するだろう。
【００４７】
一実施形態では、図10は、本明細書で説明されるハイブリッド動的-静的エンコーダを実装することができるメモリアーキテクチャを伴う1つまたは複数の通信デバイスを含む、例示的な通信システム1000を示す。説明のために、図10は、3つの通信デバイス1020、1030、および1050と、2つの基地局1040とを示す。本明細書で説明される例示的な実施形態による他のワイヤレス通信システムは、本明細書で説明される例示的な実施形態の範囲または趣旨から逸脱することなく、より多数または少数の通信デバイスおよび/または基地局を有し得ることを、当業者は認識するだろう。一実施形態では、通信デバイス1020、1030、および1050は、それぞれの半導体デバイス1025、1035、および1055を含んでよく、通信デバイス1020、1030、および1050、ならびに/または、それらとそれぞれ関連付けられる半導体デバイス1025、1035、および1055は、本明細書で説明されるハイブリッド動的-静的エンコーダが実装され得るデバイスを含み得る。一実施形態では、図10に示されるように、1つまたは複数の順方向リンク信号1080は、基地局1040から通信デバイス1020、1030、および1050にデータを通信するために使用されてよく、1つまたは複数の逆方向リンク信号1090は、通信デバイス1020、1030、および1050から基地局1040にデータを通信するために使用されてよい。
【００４８】
図10に示される例示的な実施形態では、通信デバイス1020は携帯電話を含んでよく、通信デバイス1030はポータブルコンピュータを含んでよく、通信デバイス1050はワイヤレスローカルループシステム中の固定位置の遠隔ユニット(たとえば、メーター読取り機器)を含んでよい。しかしながら、様々な実施形態において、通信デバイス1020、1030、および1050は、携帯電話、ハンドヘルド個人用通信システムユニット、ポータブルデータユニット、携帯情報端末、ナビゲーションデバイス(たとえば、GPS対応デバイスまたは位置認識デバイス)、セットトップボックス、音楽プレーヤー、ビデオプレーヤー、娯楽ユニット、固定位置のデータユニット、または、データおよび/もしくはコンピュータ実行可能命令を適切に記憶し、取り出し、通信し、または別様に処理できる、任意の他のデバイスまたはデバイスの組合せを含み得る。図10は、本開示の教示による通信デバイス1020、1030、および1050を示すが、本開示は、例示的な示された通信デバイス1020、1030、および1050に限定されるべきではないことを当業者は理解するだろう。したがって、様々な実施形態は、試験および特徴付けのためのメモリおよびオンチップ回路を含む能動的な集積回路を有する、任意の適切なデバイス内で適切に利用され、または別様に実装され得る。
【００４９】
情報および信号は種々の異なる技術および技法のいずれかを使用して表され得ることを、当業者は理解するだろう。たとえば、上記の説明全体にわたって言及され得るデータ、命令、コマンド、情報、信号、ビット、シンボル、およびチップは、電圧、電流、電磁波、磁場もしくは磁性粒子、光場もしくは光学粒子、またはそれらの任意の適切な組合せによって表され得る。
【００５０】
さらに、多くの実施形態が、論理ブロック、モジュール、回路、アルゴリズム、ステップ、および動作のシーケンスに関して説明されることがあり、これらは、汎用プロセッサ、DSP、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ、プログラマブル論理デバイス、個別のゲート、トランジスタ論理、個別のハードウェアコンポーネント、コンピューティングデバイスと関連付けられる要素、または、本明細書で説明される機能を実行もしくは別様に制御するように設計されるそれらの任意の適切な組合せによって、実行または別様に制御され得る。汎用プロセッサはマイクロプロセッサであり得るが、代替として、プロセッサは任意の従来のプロセッサ、コントローラ、マイクロコントローラ、またはステートマシンであり得る。プロセッサはまた、コンピューティングデバイスの組合せ、たとえば、DSPとマイクロプロセッサの組合せ、複数のマイクロプロセッサ、DSPコアと連携する1つもしくは複数のマイクロプロセッサ、または任意の他のそのような構成として実装され得る。
【００５１】
さらに、本明細書で開示された実施形態に関連して説明された様々な例示的な論理ブロック、モジュール、回路、アルゴリズム、およびステップは、電子ハードウェア、コンピュータソフトウェア、またはこれらの任意の適切な組合せとして実装され得ることを、当業者は理解するだろう。ハードウェアおよびソフトウェアのこの互換性を明確に示すために、様々な例示的なコンポーネント、ブロック、モジュール、回路、アルゴリズム、およびステップが、それらの一般的な機能に関して上で説明されている。そのような機能がハードウェアとして実装されるかソフトウェアとして実装されるかは、具体的な用途および設計の制約に依存し、当業者は、各々の具体的な用途に適合するように、説明された機能を様々な方法で実装することができるが、そのような実装の決定は、本開示の範囲または趣旨からの逸脱を引き起こすものと解釈されるべきではない。加えて、本明細書で説明された様々な論理ブロック、モジュール、回路、アルゴリズム、ステップ、および動作のシーケンスは、実行時に、関連するプロセッサに本明細書で説明された機能を実行させるコンピュータ命令の対応するセットを記憶した、任意の形式のコンピュータ可読記憶媒体内で完全に具現化されるものと見なされ得る。したがって、本明細書で開示される様々な態様および実施形態は、特許請求される主題の範囲または趣旨の中にすべて入ることが企図されている、いくつかの異なる形式で具現化され得る。加えて、本明細書で説明される実施形態ごとに、任意のそのような実施形態の対応する形式は、本明細書では、たとえば、説明された動作を実行する「ように構成された論理」として説明され得る。
【００５２】
本明細書で開示された実施形態に関連して説明された方法、シーケンス、および/またはアルゴリズムは、ハードウェアで、プロセッサによって実行されるソフトウェアモジュールで、またはそれらの任意の適切な組合せで直接具現化され得る。ソフトウェアモジュールは、メモリコントローラ、DDRメモリ、RAM、フラッシュメモリ、ROM、電気的プログラム可能ROMメモリ(EPROM)、電気的消去プログラム可能ROM(EEPROM)、レジスタ、ハードディスク、リムーバブルディスク、CD-ROM、または、当技術分野で知られている任意の他の記憶媒体もしくは今後開発され得る記憶媒体に存在し得る。例示的な記憶媒体は、プロセッサが記憶媒体から情報を読み取り、記憶媒体に情報を書き込むことができるように、プロセッサに結合される。代替形態において、記憶媒体はプロセッサと一体であり得る。プロセッサおよび記憶媒体はASIC中に存在し得る。ASICはユーザ端末または他のコンピューティングデバイス中に存在し得る。代替として、プロセッサおよび記憶媒体は、ユーザ端末または他のコンピューティングデバイス中に個別コンポーネントとして存在し得る。
【００５３】
1つまたは複数の例示的な実施形態では、説明される制御機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装され得る。機能は、ソフトウェアで実装される場合、1つもしくは複数の命令またはコードとしてコンピュータ可読媒体上に記憶され、またはコンピュータ可読媒体を介して送信され得る。コンピュータ可読媒体は、ある場所から別の場所へのコンピュータプログラムの転送を容易にする任意の媒体を含む、記憶媒体と通信媒体の両方を含む。記憶媒体は、コンピュータによってアクセスされ得る任意の利用可能な媒体であり得る。限定ではなく例として、そのようなコンピュータ可読媒体は、RAM、ROM、EEPROM、CD-ROMもしくは他の光ディスクストレージ、磁気ディスクストレージもしくは他の磁気ストレージデバイス、または、命令もしくはデータ構造の形態の所望のプログラムコードを搬送あるいは記憶するために使用され、コンピュータによってアクセスされ得る媒体を含み得る。また、当然、あらゆる接続がコンピュータ可読媒体と呼ばれる。たとえば、ソフトウェアが、同軸ケーブル、光ファイバケーブル、ツイストペア、デジタル加入者回線(DSL)、または赤外線、無線、およびマイクロ波などのワイヤレス技術を用いて、ウェブサイト、サーバ、または他のリモートソースから送信される場合には、同軸ケーブル、光ファイバケーブル、ツイストペア、DSL、または赤外線、無線、およびマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。本明細書で使用される場合、ディスク(disk)およびディスク(disc)は、コンパクトディスク(CD)、レーザーディスク（登録商標）、光ディスク、デジタル多用途ディスク(DVD)、フロッピー（登録商標）ディスク、およびブルーレイディスクを含み、ディスク(disk)は通常、磁気的にデータを再生し、ディスク(disc)はレーザーで光学的にデータを再生する。上の組合せも、コンピュータ可読媒体の範囲内に含まれるべきである。
【００５４】
上記は、本明細書で開示される任意選択のヒット検出および/またはマルチヒット検出を伴うハイブリッド動的-静的エンコーダの例示的な実施形態を示すが、様々な変更および修正が、添付の特許請求の範囲によって定義されるような本開示の範囲または趣旨から逸脱することなく、本明細書において行われ得ることを、当業者は理解するだろう。たとえば、本明細書で説明されるハイブリッド動的-静的エンコーダは、検索鍵を一般に表す複数の電気信号を受信し、ハイブリッド動的-静的エンコーダを使用して、1つまたは複数のエントリと関連付けられるアレイ構造中の1つまたは複数のエントリが検索鍵と一致するかどうかを検出し、アレイ構造中の少なくともエントリが検索鍵と一致するかどうかを示すためのバイナリヒット検出出力を生成し、アレイ構造中の少なくとも2つのエントリが検索鍵と一致するかどうかを示すためのバイナリマルチヒット検出出力を生成し、かつ/または、検索鍵と一致するアレイ構造中の任意のエントリを特定するための固有のインデックス番号を生成できる、任意の適切な電子デバイス、回路、または他のコンポーネント中で利用され、または別様に実装され得ることを、当業者は理解するだろう。さらに、本明細書で開示される実施形態による機能、ステップ、動作、および/または方法クレームの活動は、任意の特定の順序で実行される必要はなく、本明細書で開示される態様および実施形態の要素は単数形で説明または請求され得るが、単数への限定が明示的に述べられていない限り、複数形が考慮される。
【符号の説明】
【００５５】
100  ワイヤレス通信システム
102  基本サービスエリア
104  アクセスポイント
106  モバイルデバイス
108  ダウンリンク
110  アップリンク
202  ワイヤレスデバイス
204  プロセッサ
206  メモリ
208  筐体
210  送信機
212  受信機
214  送受信機
216  アンテナ
218  信号検出器
220  DSP
222  ユーザインターフェース
800  方法
900  端末
920  モデムプロセッサ
922  エンコーダ
924  変調器
926  復調器
928  デコーダ
932  送信機
934  アンテナ
936  受信機
940  コントローラ/プロセッサ
942  メモリ
1020  通信デバイス
1025  半導体デバイス
1030  通信デバイス
1035  半導体デバイス
1040  基地局
1050  通信デバイス
1055  半導体デバイス
1080  順方向リンク信号
1090  逆方向リンク信号
【要約】
本明細書で説明されるハイブリッド動的-静的エンコーダは、動的回路網を戦略的に区分する、動的かつ静的な構造的な設計特徴と論理的な設計特徴を組み合わせて、冗長性を実質的に除去し、これによって、等価な論理遅延を伴いながら、完全に動的なエンコーダに対する領域、電力、および漏洩の低減をもたらすことができる。たとえば、ハイブリッド動的-静的エンコーダは、まったく同一の上半分と下半分を含んでよく、これらは、最終的な符号化されたインデックス出力、ヒット出力、およびマルチヒット出力を生成するために組み合わされ得る。エンコーダの各半分は、打点された検索鍵と一致する行を伴う各インデックスビットに対する動的回路網を使用することができる。ある行が、その行が検索鍵と一致することを示すために打点されている場合、その行と関連付けられる動的回路網は、その行と関連付けられるインデックスを反映するように評価され得る。したがって、ハイブリッド動的-静的エンコーダは、インデックス動的回路網、ヒット動的回路網、およびマルチヒット動的回路網にまたがる冗長なプルダウン構造を利用する、より小さな動的回路網の縮小されたセットを有し得る。【図１】
0005905175.tif 000002
【図２】
0005905175.tif 000003
【図３】
0005905175.tif 000004
【図４】
0005905175.tif 000005
【図５】
0005905175.tif 000006
【図６】
0005905175.tif 000007
【図７】
0005905175.tif 000008
【図８】
0005905175.tif 000009
【図９】
0005905175.tif 000010
【図１０】
0005905175.tif 000011