(57)【特許請求の範囲】
【請求項１】
連想並列データプロセッサと共に用いる語構成内容照合メモリ（ＣＡＭ）アレイであって、該ＣＡＭアレイは、一連のデータワードとして構成した複数のＣＡＭセルを備え、各セルは、ワードの１ビットを示し、各セルが、セル内の記憶ビットと所定データとの一致を示す複数の一致信号発生線を備え、各セルが、セル内の記憶データビットが論理１と同一でないときに信号を発生する１一致出力線と、セル内の記憶データビットが論理０と同一でないときに信号を発生する０一致出力線とに接続されており、前記ＣＡＭセルはインターリーブ方式で相互接続されて、データワード内に奇数と偶数の交互配置されたセルを規定し、且つデータワードに記憶された複数ビットのデータに同時読出しアクセスできるように構成されている、語構成内容照合メモリアレイ。
【請求項２】
隣接交互配置セル（偶数或いは奇数）の対が、相補的データ信号と比較されて、隣接交互配置セルの非衝突データ読出しを実行する構成となっている、請求項１に記載のＣＡＭアレイ。
【請求項３】
隣接交互配置セルが同時に読出される構成である、請求項２記載のＣＡＭアレイ。
【請求項４】
前記アレイの各セルに対する複数のデータ線をさらに備える、請求項１乃至３のいずれか１項に記載のＣＡＭアレイ。
【請求項５】
各データセルに相補値データ線を配設した、請求項４記載のＣＡＭアレイ。
【請求項６】
アレイ内でワードをなしている一連のセルをイネーブルするための複数のワードイネーブル制御線をさらに備える、請求項１乃至５のいずれか１項に記載のＣＡＭアレイ。
【請求項７】
各セルは単一のワードイネーブル制御線を受ける構成となっており、各ワードイネーブル制御線は隣接する交互配置記憶セルに接続する構成となっている、請求項６記載のＣＡＭアレイ。
【請求項８】
メモリの各ワードは１行に配設してあり、該メモリは、セル列をマスクしてデータワードの特定ビットが読み出せるようにする手段をさらに備える、請求項１乃至７のいずれか１項に記載のＣＡＭアレイ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、連想つまり内容照合記憶(CAM)装置に関する改良に関し、より詳細には、限定的ではないが、単一命令複数データ(SIMD)連想並列データプロセッサ等の並列データ連想プロセッサに使用する改良型のCAMデータメモリ機構に関する。
【背景技術】
【０００２】
SIMD並列データプロセッサのサブクラスの一つとして、連想プロセッサが知られている。このプロセッサは、連想つまり内容照合メモリ(CAM)として知られている類のメモリを利用している。このようなメモリは、その名前からわかるように、従来のようにメモリ位置を照合することによって操作するのではなく、全ての記憶ワードのうちの予め決められたフィールド（つまりビット集合）の記憶内容を、汎用ビットパターン（１以上のビットからなる）と比較するものである。動作（検索、照合、タグ付け等様々な呼び方で知られている）中に検索パターンと「一致」する記憶ワードは、メモリの記憶内容を何らかの態様で変更することになる後の動作に関与するために、何らかの方法でマーク（タグ付け）される。
【０００３】
このようなメモリの内部機構は、一般に下記のように分類される。
１．語構成（つまり並列ビットパターンを使用して検索するメモリ）であって、単一の非可分操作で並列ビット比較を行なうもの。
２．直列ビット（つまり単一のビットのみを使用して検索する）。
【０００４】
後者のようなメモリでは、並列ビット検索は、直列ビット検索を繰り返し行なうことによってエミュレートすることができる。
【０００５】
内容照合メモリのある応用例では、検索段階の後に照合分解段階を行ない、それにより一致した単一の記憶位置を特別に特定し（通常一番上）、次いで、通常は従来のメモリ書込みサイクルで、更新する。
【０００６】
内容照合メモリを並列処理に応用するには、プログラム可能な複数同時書込み機会を利用すれば、タグ付けされた多数の記憶ワードを全て（若しくは選択したサブセットを）同時に更新することができる。
【０００７】
このようなメモリの主な特性は以下の通りである。
・自然な並列性。これにより、多数の記憶ワードを並列にタグ付けすることができる；
自然な並列性。これにより、多数の記憶ワードを後に並列に更新又は変更することができる。
【０００８】
このようなメモリは、一般に直列ビット又は語構成のいずれかで実装される。CAM直列ビット／並列ビットデータメモリの例は、３トランジスタ内容照合メモリに関する米国特許第4,799,192号、内容連想記憶セルに関する米国特許第4,833,643号、照合・読出し動作中にメモリのリフレッシュを行なう半導体連想メモリ装置に関する米国特許第4,991,136号、及び簡単化された記憶セル回路を有する連想メモリ装置に関する米国特許第4,965,767号等に記載されている。
【０００９】
本発明の初期の例は、ASPex ASP (連想ストリングプロセッサ、Associative String Processor)並列データプロセッサに使用するために製造された。ASPは、代表的な構成では1024〜65536のデータ項目を並列に処理するSIMDデータプロセッサである。本発明の詳細の一部はこのデータプロセッサに特有のものである。ASPの最新バージョンは、寸法12.0mm×12.0mmのデバイス一つに1152個の要素プロセッサを設け、クロックスピードが100MHzであるということを主な特徴としている。このプロセッサのさらに進んだバージョンでは、8192個もの要素プロセッサを設けることができるようになる。
【００１０】
従来の語構成連想（内容照合）メモリは様々な形態をとることができるが、シンプルで一般的な典型的ソリューションを図１を参照して説明する。図１は、RAMセル12内の記憶状態と、これと比較する同報通信ビット値との等価比較を使用時に実行する一種のEXNORネットワーク14を併せ持つスタティックRAMセル12を備えるシンプルな記憶セル10を示す。
【００１１】
メモリ書込みサイクルでは、データとNOT（データ）をビット線16に与え、ストローブをワード線18に与える。メモリ検索サイクルでは、ビット線16をロウに保持した状態で（グラウンドへの放電路を防止するため）一致線をプリチャージした後、プリチャージをリリースして、検索データ（及びNOT(データ)）をビット線16に与える。記憶データと検索データとが異なると、一致線20はディスチャージする。
【００１２】
このような構成は、共有する一致線20及びワード線18上に単にワードアレイを生成することによって、語構成メモリとすることができる。どのビットで不一致が生じても、共有する一致線20がディスチャージする。
【発明の開示】
【発明が解決しようとする課題】
【００１３】
両方のビット線16をロウに保持することによって、検索サイクル中にどのビット列でも非明示的にマスク処理することができる。しかしながら、このようなスタイルの記憶セル10は、ワード線18が共有であるために、記憶されているデータワードの全てのビットを無条件に書込むことしかできない（つまりマスク処理した書込みはできない）という顕著な欠点がある。記憶ワードの各フィールドつまり各ビットを更新しようとすると、複数同時書込み（２ワード以上を一度に更新することができる機能）は不可能である。この役割を果たすための記憶セルには多数のバリエーションがあるが、全て同じ問題を抱えている。
【００１４】
本発明はこの課題を解決することを目的としており、上述した既存のCAM10よりも遥かにフレキシブルなソリューションを提供するものである。
【課題を解決するための手段】
【００１５】
【課題を解決するための手段】
本発明の一つの特徴によれば、並列データコンピュータに使用する複合連想メモリが提供される。このメモリは、並列ビットの検索及び書込み動作ができるように構成された連想記憶セルアレイを有する並列ビット語構成連想メモリと、直列ビットの検索及び書込み動作はできるが、ワード並列ビット検索及び書込み動作はできないように構成された連想記憶セルアレイを有する直列ビット連想メモリとを備え、前記直列ビットメモリは前記並列ビットメモリに行アダプタを介して動作的に接続され、その拡張部分として前記並列ビットメモリの動作を補足するように構成されている。
【００１６】
本発明は、複合連想メモリのデータワードの特定のビットに書込みすることができ、且つ並列データのデータ検索を行なうこともできるので、従来技術における課題を解決することができる。
【００１７】
本発明による新規な連想メモリ構成は、一実施態様において、慣用の３トランジスタ擬似スタティックRAM回路を利用して、非常に高密度なメモリを提供し、本発明者のASPテクノロジーで既に利用されているタイプの１０トランジスタ擬似スタティックCAMセルをさらに増強するものである。
【００１８】
上述したように、複合メモリは基本的には二つのバンクを有し、その一方は完全連想（語構成）内容照合メモリであり、もう一方は直列ビット連想メモリである。後者のメモリバンクは拡張メモリと呼ばれる。例示的実施態様では、この二つのバンクは一致線及び書込み線を共有しているため、統一して機能することができる。
【００１９】
この複合メモリ全体としては、直列ビット方式の動作に限定されている（つまり語構成（並列ビット）の検索や書込み動作を支援することはできない）。しかしながら、完全連想（語構成）内容照合メモリのバンクはこの機能を維持している。直列ビットメモリに限定することにより拡張メモリの構築が簡略化され、よってコスト、煩雑性、消費電力を低減することができる。
【００２０】
拡張メモリのデザインは、好ましくは記憶ワードの慣用の方向が、語構成１０トランジスタ擬似スタティックCAMアレイのメモリ列と整列するように、３トランジスタRAMを編成する。
【００２１】
本明細書において「列」という用語は、語構成CAMメモリ内の列の方向を意味するものとする。
【００２２】
本発明の一実施態様の動作を以下に概説する。検索動作用に列アドレスで提示すると、拡張メモリ内の記憶セルの列がアクセスされる。読出しサイクルは完全な復元論理値を生成するが、各ワード行端部にあるセンスアンプを使って、読出した事象の検出をスピードアップすることが好ましい。センスアンプの出力は、各完全連想（語構成）内容照合記憶セルで使用するものと同様の分割EXNORコンパレータに入力し、メモリバンクを完全連想（語構成）内容照合メモリの一致線上に直接連結する。これにより複合メモリの一致線の動作を確実に一様とすることができる。
【００２３】
完全連想（語構成）内容照合メモリの動作に合わせるのに、拡張メモリの選択された列への書戻しは、好ましくは複数同時書込みの形式で行ない、検索の結果アクティブであると表示されたワード行では記憶ビットの数（ゼロから全部まで）を修正する。
【００２４】
選択された列中の変更が必要なビットは、ワード行書込み線上でストローブを受信し、汎用書込みデータが書込まれる。ワード行書込み線上でストローブされていないビットは、再循環されて書戻しされる（リフレッシュされる）。
【００２５】
非常に有利な本発明の特徴を以下に説明する。本発明は、語構成メモリと直列ビットメモリとを組合せて単一の複合メモリとし、いくつかの有利な機能を行なうことができるようにしている。つまり
・データが語構成メモリブロックにあるのか、拡張メモリブロックにあるのかに関わらず、メモリ全体について直列ビット連想検索・書込み動作のエミュレートができる。
・連想処理機能によって、検索サイクルの結果を用いて、ワード行の「アクティブ」集合を規定し、続く複数同時書込みに関与することができる。この複数同時書込みは語構成CAM内若しくは拡張メモリ内のいずれか（又は両方）で行なうことができる。
・全てのアクティブビットに新たな汎用データ値を書込み修正及び書戻ししながら、列全体を読出し非アクティブビットからの記憶データを再循環させることにより、選択された「アクティブ」ビットの抹消又は書込みを実行する。
・完全連想（語構成）内容照合メモリの第２バンクの2ビット同時直列検索モードと互換性がある。
・直列ビット連想メモリの組立てブロックとして慣用の３トランジスタ擬似スタティック記憶セルを採用。その結果、
・完全連想（語構成）内容照合メモリと比較して、かなりの面積及び消費電力を節約することができる。
【００２６】
この複合メモリは、直列ビット形式の動作に限定される（つまり語構成（並列ビット）の検索や書込み操作を支援することはできない）。しかしながら、完全連想（語構成）内容照合メモリのバンクはこの機能を持っている。
【００２７】
連想メモリとして３トランジスタRAMのみを使用する直列ビット拡張メモリを使用することには、以下のような顕著な利点がある。
・大きさ。３トランジスタDRAMを用いた拡張メモリの密度を高くすることにより、語構成CAMメモリの三倍程の密度とすることができる。
・速度。ビット線容量が低いので、メモリは、付随している従来の語構成CAMよりも高速で動作することができる。但しこれはデュアルメモリソリューションを実装するデバイスにおいては容易には活用できず、拡張メモリスタイルのCAMのみを備えた専用デバイスのほうが高速となる。
・電力。ビット線容量が低いので、メモリの動作ごとの電力を低くして操作することができる。これは非常に多くの動作を実行するメモリのVLSI（超大規模集積化）等において非常に有利である。
【００２８】
このような利点により、多くの新たな応用領域が考えられる。このネットワークをVASPプロセッサに利用すれば、従来のDSP（デジタル信号処理）方式よりも、単位面積あたりより高いパフォーマンスで効率的な数値処理を行なう一方で、アーキテクチャは連想プロセッサの非決定論的特性を利用し続けることができるという利点がある。
【００２９】
本発明はさらに、複合連想メモリへのデータ記憶方法にも関する。この方法は、並列ビットの検索・書込み動作が可能な並列ビット語構成連想メモリ及び／又は、該並列ビットメモリに結合された、直列ビット検索・書込み動作はできるがワード並列ビット検索・書込み動作はできない直列ビット連想メモリで、検索データと一致するデータを検索する工程と、検索データと一致する記憶データを持つ記憶セルをマーキングする工程と、マーキングした記憶セルの少なくとも一つにデータを記憶させる工程とを含み、該記憶させる工程が、直列ビットメモリに記憶されたデータを読出す工程と、読出したデータを使って、並列ビットメモリ内でワードとして構成されたデータの選択的ビットの選択を制御する工程を含む。
【００３０】
本発明の別の特徴によれば、連想並列データプロセッサに使用する語構成内容照合メモリ(CAM)アレイが提供され、該CAMアレイは、一連のデータワードとして構成した複数のCAMセルを備え、各セルはワードの１ビットを示し、前記CAMセルはインターリーブ方式で相互接続されて、データワード中に奇数と偶数の交互配置されたセルを規定し、且つCAMアレイ内の各データワードに記憶されたデータに２ビット同時アクセスすることができるようにように構成されている。
【００３１】
本発明のこの特徴によれば、インターリーブ配置を用いることにより、動作速度を高速化することができ、メモリの数値的能力を高めることができるという点が、従来のCAMアレイよりも改善される。
【００３２】
好ましくは、各セルは、セル内の記憶ビットと所定データとの一致を表示するための複数の一致信号発生線を有する。これにより、CAMアレイを実行して、交互配置された隣接する別のセルの対から同時にデータを読出すことができる好ましい方法が提供される。実際、本発明のこの特徴による実施態様では、複数の分割一致線擬似スタティック若しくはスタティックCAM記憶セルを備えるCAMアレイを使用すると共にセルを偶数／奇数ビット対にインターリーブ接続することによって、CAMアレイの各ワードに記憶されたデータに４ビット同時アクセスすることができる。
【００３３】
本発明のこの特徴による例示的実施態様では、分割一致線CAMセル（記憶ワードから２ビット同時数値的ビットアクセスができる）の実行とビットセルのインターリーブ配置とを組合せて、CAMワードに４ビット同時アクセスをするのに、二本の余分な金属製ワード線を追加するだけでよい。これはメモリアレイサイズに全く若しくはほとんど面積的な影響を与えない。このことにより、所定のビット線の容量を低減することによって速度を速くすることができ、アクセスを４ビット同時に増加させて数値的処理を効果的に倍増させることにより処理能力を高めることができる。
【００３４】
本発明はまた、語構成内容照合メモリ(CAM)アレイのデータワードから複数ビットのデータを検索する方法にも関し、この方法は、CAMアレイの複数の異なる記憶セル列を直列ビット検索をする工程を含み、該検索は、特定の複数のセル列以外のセル列に通じるデータ線をマスク処理する工程と、相補的な検索データをマスク処理されていない複数の列の別のデータ線に与える工程とを含み、前記方法はさらに、相補的検索データを記憶セルに記憶されているデータと照合する工程と、テストしたいずれのセルでも記憶データが検索データと一致しない場合には、非一致信号を発生する工程とを含み、CAMセルがインターリーブ形式で一致線に相互接続されており、相補的検索データを使用するため、非一致信号がCAMセルの記憶値を表す信号となる。
【発明を実施するための最良の形態】
【００３５】
本発明の好ましい実施態様を、添付図面を参照して例示により説明する。
【００３６】
本発明の一実施態様によるチップ内容照合複合メモリ50について、図２を参照して説明する。メモリ構造50は実質的に、語構成内容照合メモリアレイ(CAM)52、連想データの読込み／書込みを実行するためにSIMDプロセッサへインタフェースするためのメモリ行インタフェース54、CAMアレイ52の動作を補足するための直列ビット拡張メモリブロック56、及び拡張メモリ56をCAMアレイ52へインタフェースするための拡張メモリ行アダプタ58を備えている。本実施態様では、CAMアレイ52は128行のワード行を備え、各ワードは64ビット幅である。拡張メモリ56は、列方向に整列されたワードを備え、このワードは、CAMアレイ52内の行数と一致する128ビット幅である。
【００３７】
これらのメインブロックに加え、CAMアレイ52には、CAMアレイ52のデータワード内のビットを選択して読み書きするビット線インタフェースコントローラ60が設けられている。同様に、拡張メモリブロック56には、対応する列デコーダ及びビット線コントローラ62が設けられている。拡張メモリ行アダプタ58はさらに、直列検索時にデータを受信し、拡張メモリブロック56にデータ書込みをするための汎用データインタフェース64を備えている。
【００３８】
拡張メモリ56は、拡張メモリ行アダプタ58、並びに共有信号線、つまり複数のワード行書込み線100、複数の０一致線101、及び複数の１一致線102を介して、CAMアレイ52に連結している。この実施態様では、０一致線101は128本、１一致線102は128本、ワード行書込み線100は64本ある。
【００３９】
複合メモリ50の動作は代表的には予備検索、検索、起動、及び書込み（又は読出し）の四段階に分けられる。これらを順番に行なって、予備検索段階は、ワード整合一致線101，102のプリチャージ及び検索データの先取りを支援する。複合メモリ50は、直列ビットでも並列ビットでも動作可能である。但し拡張メモリブロック56は直列ビットモードでしか使用できない。予備検索サイクル中、記憶ビット列は列デコーダ及びビット線コントローラ62によってデコードされ、検索データは、拡張メモリ行アダプタ58の汎用データインタフェース64内に登録される。同時に並列ビット検索パターン（図示せず）をCAMビット線インタフェースコントローラ60にロードする。直列ビット操作の場合には、このパターンのうち１ビットのみが有効な検索データを含む。
【００４０】
検索サイクル中に、拡張メモリブロック56がイネーブル状態とされると、選択された列が拡張メモリ行アダプタ58（実質的に論理ゲートを構成する）に読み出され、次いでCAM一致線101，102を介してメインメモリ行インタフェース54に伝達される。拡張メモリが非アクティブである場合には、検索はメインCAMアレイ52内で行なわれる。この場合、拡張メモリブロック56は使用されていないので、外部リフレッシュ論理回路によって制御される通常の列リフレッシュを行なうことができる。本発明の説明には関係がないが、検索サイクルの結果（セル一致線101，102の一致／不一致表示の形式である）は、メモリ行インタフェース54を介して伝達され、隣接するワード論理回路の適切なレジスタに記憶される。一致するワード行は「タグ付き」ワード行と呼ばれる。
【００４１】
起動サイクル中には、「タグ付き」ワード行と「アクティブな」ワード行との間でプログラマブルマッピングが行なわれる。このインターバルを利用して、外部リフレッシュ論理回路（図示せず）の制御下で拡張メモリ56内で列リフレッシュ、及び擬似スタティックCAMのブロックリフレッシュ（後に詳細に説明する）が実行される。
【００４２】
書込みサイクル中には、アクティブなワード行は複数同時書込みに関与する。アクティブワード行のワード行書込みイネーブル100が真となる。書込み動作をCAM配列52内で行なうように指定した場合、ビット線制御論理回路に提示された並列ビット書込みパターンが指定されたワード内に書込まれる。ビット線コントローラ60は書込み動作からビットをマスクすることができるので、CAM配列52は直列ビット動作（ここでは１ビットのみが書込まれる）をエミュレートするか、若しくは柔軟に変更可能な並列ビット書込みオプションのセットを実行することができる。
【００４３】
CAM配列52を選択すると、記憶データを直接的に読み出すこともできる。この状況下では、メモリのうちの一つのワード行だけをイネーブル状態とすることが必要となる。このようなオプションは、容易に実行することができる。慣用の様々なCAMソリューションによって一致解決を行なって、最初の一致ワード行を選択することができ、次いでこの一致ワード行を使って次の読み書き用の行アドレスを生成する。この方式の変更例を利用して、読出しサイクル用に（例えば）最初のワード行だけをアクティブにすることができる。
【００４４】
書込み動作を拡張メモリブロック56（直列ビットのみ）で行なうように指定した場合、CAMビット線は通常ビット線コントローラ60により全てマスクされる。拡張メモリ書込み動作中、書込み対象列がまず拡張メモリワード行アダプタ58内へ読み出される。列内のデータ書込み先のビットは、アクティブなワード行内でだけワード線100上でストローブを受信し、直列ビット書込みデータが配分されて各ビットに書込まれる。書込み線上でストローブ事象が起こらないビットは、予め読出したデータを再循環させて書き戻し、すなわちリフレッシュ期間中と同じ動作を行なう。この動作が、連想プロセッサのもう一つの特徴、すなわち選択されたワード行の複数同時書込みをエミュレートする。
【００４５】
拡張メモリブロック56のワード優先読出し動作が起こり得ないことは理解されたい。
【００４６】
ここで図３を参照して、本実施態様のCAMアレイ52に用いるASP語構成記憶セル200の一例について説明する。この種の記憶セル200は、本出願人によるVASP‐256やVASP‐1024並列データプロセッサ（若干の変更はあるが）に見ることができる。幾つかの実装特徴に注意が必要である。第一に、記憶セル200は全nMOS構造をなし、その結果セル密度が高くなる。第二に、この種の記憶セル200は書込み動作の明示的マスク処理を可能として、記憶ワードの選択されたビットを更新させ、このことと、連想プロセッサの一部としてのCAMの動作の基本的特徴である複数同時書込み能力とを組合せることにより、直列ビット動作のエミュレートが可能となる。第３に、記憶セルは分割一致線を用いる。この特徴により０一致（Ｍ0）指標と１一致（Ｍ1）指標を別個に創生することができ、よって後述するように記憶セルの機能性が高まる。
【００４７】
書込みサイクル中のこの回路の動作を、ここで説明する。この書込みサイクルでは、データをネット203へ与え、NOT（データ）をネット204へ与える必要がある。有効な書込みイネーブルは安定していなければならず、セル列のワード線206がストローブ処理される前にネット205に与えなければならず、ストローブが否定されるまで保持しなければならない。書込みイネーブルネット205がＶCCへ駆動されるビット列におけるセル200だけが、ワード線206がストローブ処理されるワードで修正されることになる。
【００４８】
ネット203，204，205，206上の信号を固定正電源電位ＶCCへ駆動すると、ネット201又は202のいずれかに記憶することのできる最大電圧は電源未満の一つの閾値に制限される。
【００４９】
この疑似スタティック構成のリフレッシュは、ネット203，204，205の信号電圧を電源すなわちＶCCに等しく設定し、続いて書込みサイクルごとにワード線206をストローブすることによって影響を受け得る。ネット203，204の状態は、ネット201又は202のいずれかデータ０を記憶している方から電流をドレインする際に目立った影響を受けないように、十分に高ゲインなドライバを復元することによってＶCC又はその近傍に維持しなければならない。ネット203，204，205，206上の電圧が電源電圧ＶCCに等しい条件下では、記憶セル200は効果的に自己復元するので、１以上のワード行を同時リフレッシュする機会がある。CAMが数千ワードを備えることもある並列処理構成では、各ワードを別個にリフレッシュしなければならいと、外部リフレッシュ論理回路が十分な周波数をもってリフレッシュサイクルを導入し、メモリ全体の記憶状態を維持するためには、相当数のマシンサイクルを損失してしまうことがある。このように多数のワード（例えば16）を同時にリフレッシュすることにより、サイクルの損失率を低減することができる。しかしながら、このような複数行同時リフレッシュは、ネット203、204の状態が、リフレッシュのために同時にイネーブルされる複数の記憶セルによって課された電流ドレインの影響を顕著に受けないように、十分に高ゲインなドライバを復元することによって、ＶCC或いはその近傍に維持することができる場合にのみ、維持することができる。さらに、リフレッシュサイクル中の消費電力は実質的により高くなる。
【００５０】
検索サイクル中の回路動作には、ビット線203，204を確実にグラウンド電位に保持すると共に、１一致線207及び０一致線208を固定正電源電位ＶCCにプリチャージすることが必要である。
【００５１】
データ値０（すなわちネット201がGNDと等価な電圧を有し、ネット202がＶCC−ＶTと等価な電圧を有する）を記憶している記憶セルにTRUE（真）データ（ネット203がＶCCに等しい電圧を有し、ネット204がGND（グラウンド）に等しい電圧を有する）を与えると、１一致線207がディスチャージして、検索データTRUE（真）と不一致であることを示す。
【００５２】
データ値１（すなわちネット201がＶCC−ＶTに等価な電圧を有し、ネット202がGNDに等価な電圧を有する）を記憶している記憶セルにFALSE（偽）データ（ネット203がGNDと等価な電圧を有し、ネット204がＶCCと等価な電圧を有する）を与えると、０一致線208がディスチャージして、検索データFALSE（偽）と不一致であることを示す。
【００５３】
他の全ての有効な検索条件（ネット203とネット204のそれぞれがGNDに等価な電圧を有するマスク検索を含む）では、一致線がプリチャージされたままとなり、検索一致を示す。
【００５４】
この種の並列ビット内容照合メモリの一例は、64ビット×1024ワードのメモリアレイを備えるVASP‐1024並列データプロセッサに見られる。
【００５５】
第一実施態様で上述したCAMの変更例を、図４を参照して本発明の第二実施態様としてここで説明する。この実施態様は第一の実施態様に非常に似ており、不要な繰り替えしを避けるべく差異だけを以下に説明することにする。主要な差異は、CAMアレイ52が連想ビット書込み動作を行なうよう構成してある点で、CAM記憶セル300とCAMアレイ52が異なることにある。
【００５６】
図３に示したCAMセル200の変更例300では、マスク書込み動作中により高い電力が必要となるという犠牲は伴うものの、CAMアレイ52の各列ごとに明示的列書込みイネーブル205を必要としない。
【００５７】
書込みサイクル中のこの記憶セル回路300の動作では、データをネット303へ与え、NOT（データ）をネット304へ与えることが必要である。ワード線306はストローブされていて、ストローブが否定されるまで保持していなければならない。書込みを一切必要としないこれらのセル300は、線303，304を正電源電位ＶCCに設定し、セルのいわゆる「非明示的」マスク処理を実行する。これが作動するのは、このセルがそのデータ線入力間に電荷の差が一切存在しないときには状態を変えない擬似スタティックセルであるからである。これらのセル300は、自動的でかつユーザ透過型の自己リフレッシュ動作を行なう。
【００５８】
しかしながら、この形式の透過型自己リフレッシュを行なうセル200の数が非決定的であり、ゼロから全てまで変化するとすると、この動作期間中に生成された実質的により高い電力を制御する能力は、通常のリフレッシュと異なり、制約を受ける（以下を参照）。その結果、二つのトランジスタと列書込みイネーブル205をなくすことにより面積を節約することができるものの、このメモリの変更例の使用に顕著な上限が生じる。
【００５９】
ネット303，304及びワード線306上の信号を固定正電源電位ＶCCへ駆動する場合、ネット301又は302のいずれかに記憶させることのできる最大電圧は、電源未満の一つの閾値に制限される。
【００６０】
この擬似スタティック構成のリフレッシュは、ネット303，304上の信号電圧を正電源に等しく、すなわちＶCCに等しく設定し、続いて書込みサイクルごとにワード線306をストローブすることによって行なうことができる。ネット303，304の状態は、ネット301又は302のいずれかデータ０を記憶している方から電流をドレインする際に目立った影響を受けないように、十分に高ゲインなドライバを復元することによって、ＶCC又はその近傍に維持しなければならない。ネット303、304、306上の電圧が電源電圧ＶCCに等しい条件下では、記憶セル300は効果的に自己復元するので、１以上のワード行を同時リフレッシュする機会がある。CAMが数千ワードを備えることもある並列処理構成では、各ワードを別個にリフレッシュしなければならいと、外部リフレッシュ論理回路が十分な周波数をもってリフレッシュサイクルを導入し、メモリ全体の記憶状態を維持するためには、相当数のマシンサイクルを損失してしまうことがある。このように多数のワード（例えば16）を同時にリフレッシュすることにより、サイクルの損失率を低減することができる。しかしながら、このような複数行同時リフレッシュは、ネット303、304の状態が、リフレッシュのために同時にイネーブルされる複数の記憶セルによって課された電流ドレインの影響を顕著に受けないように、十分に高ゲインなドライバを復元することによって、ＶCC或いはその近傍に維持することができる場合にのみ、維持することができる。さらに、リフレッシュサイクル中の消費電力は実質的により高くなる。
【００６１】
この種の並列ビット内容照合メモリの例は、64ビット×256ワードのメモリアレイからなるVASP‐256並列データプロセッサに見られる。
【００６２】
図５は、本実施態様の複合連想メモリ50内の拡張メモリ56のセルに用いる周知の３トランジスタ記憶セル回路400を示す。しかしながら、このセル400の従来の配向とは異なり、読出しイネーブル線405と書込みイネーブル線406はメモリ列に整列配置され、データ書込み線403とデータ読出し線404はメモリ行に整列配置されている。
【００６３】
書込みサイクル中のこのセル400の動作は、書き込みイネーブル線406上でのストローブサイクルを伴なう信号403への書込みデータの付与を含む。信号406に対する信号403の保持要件は、厳守しなければならない。データ書込み線403と書込みイネーブル線406は、書込み（或いはリフレッシュ）サイクル中に固定正電源電位ＶCCへ駆動される。ノード402すなわちデバイス407のゲート上の記憶データは、有効読出し事象のためのデバイス407の「オン」閾値を超えるに十分な電源未満の一つの閾値に制限してある。
【００６４】
読出しサイクル中に、データ読出し線404はプリチャージされる。プリチャージされた電荷が放出されると、読出しイネーブル線405がアサートされる。ノード402が記憶している論理「１」（ＶCC−ＶT）は、データ読出し線404の放電路をイネーブル状態とする。ノード402が記憶している論理「０」は放電路をディスエーブル状態とし、データ読出し線404をプリチャージ状態のままとする。実際上、この信号はNOT（データ）を表わす。
【００６５】
READ DATA線とグラウンドとの間に接続された読出しトランジスタ407，408の順序を逆転させたこのセルの変更例は、周知であって文書化されている。
【００６６】
ここで図６を参照すると、拡張メモリ56をCAMアレイ52にインタフェースさせるメモリ行インタフェースアダプタ58が図示してある。このアダプタ58は、以下の多様な目的に役立つものである。
１．読出しネットの条件付きプリチャージの実行。
２．読出しネットデータの読出し増幅の実行。
３．リフレッシュ／リライトサイクル中のタイミングの一貫性を目的とする読出しデータのラッチ。
４．CAMアレイ52の０一致線207と１一致線208との信号互換性を保証するEXNOR動作の実行。
【００６７】
拡張メモリアレイ56の全体的タイミングは、読み書きデータ線403，404へのアクセスを調整するのに用いる二つのタイミング位相φ1，φ2により適格化される。一般的なタイミングは、以下の通りである
１．φ1が読出し事象を適格化する。
２．φ2が書込み／リフレッシュ事象、並びに読出し線のプリチャージを適格化する。
【００６８】
第１相φ1中、拡張メモリ56の記憶セル503はイネーブル状態とされてそのデータをデータ読出し線501へ読み出す。この情報は透過型ラッチ505により検出される。このラッチ505も第１相φ1によってイネーブル状態とされ、その入力段を適切に分配して固定電源電圧の約65％のスイッチング点を供給する。いなかる状況下でも、読出し線501はプリチャージされた状態となる。
【００６９】
検索サイクル中、得られたREAD#DATA（読出しデータ）がEXNOR回路網506への入力として用いられるので、CAMアレイ52の０一致線207及び１一致線208との信号互換性が保証される。READ#DATA（読出しデータ）は信号SE1（検索イネーブル１、すなわち検索イネーブルと汎用直列ビット検索データ桁数の補数との論理和(AND)から生成される信号）でゲートされ、MATCH-ON-ONE（１一致）出力を生成する。この出力は、対応するCAMアレイのワード行内の等価一致信号207へ直接結合される。同様に、READ#DATA（読出しデータ）は信号SE0（検索イネーブル０、なわち検索イネーブルと直列ビット検索データ桁数との論理和(AND)から生成される信号）でゲートされ、MATCH-ON-ZERO（０一致）出力を生成する。この出力も、対応するCAMアレイのワード行内の等価一致信号208へ直接結合される。
【００７０】
それと同時に、適当な時に行なわれる拡張メモリ列のリフレッシュが可能となり、READ#DATA（読出しデータ）が書込み線502上へ再循環され、WRITE ENABLE（書込みイネーブル）（図３参照）ストローブが第２相φ2で適格化された列アドレスから導出される記憶セル503内に書き直される。
【００７１】
書込み事象中は、このサイクルは第１相φ1中の列読出しから始まる。記憶セル503がイネーブル状態とされ、そのデータをデータ読出し線501上へ読み出す。この情報は透過型ラッチ505により検出される。このラッチ505も第１相φ1によってイネーブル状態とされ、その入力段を適切に分配して固定電源電圧の約65％のスイッチング点を供給する。
【００７２】
いかなる状況下でも、読出し線501は第２相φ2によってプリチャージされた状態となる。透過型ラッチ505の役割は、読出し線501がプリチャージのために無効になってしまったときに、第１相φ1中に読出したデータを第２相φ2（書き戻し）の全期間を通じて保持することにある。
【００７３】
第２相φ2中、アクティブであると表示されていたワード行（上記参照）のワードイネーブル（WE）線がアサートされる。リフレッシュが無い（すなわちREFRESH=0）場合、汎用WRITE#DATA（書込みデータ）はデータ書込み線502上へ駆動されて、WRITE#ENABLE（書込みイネーブル）（図３参照）ストローブ205が第２相φ2により適格化された列アドレスから導出される記憶セル503へ書込まれる。同時に、非アクティブであると表示されていたワード行（上記参照）のワードイネーブル（ＷＥ）線がディアサートされる。この場合、READ#DATA（読出しデータ）がデータ書込み線502上へ再循環され、以前の如く記憶セル503内に書き直される。
【００７４】
本発明の本実施態様により、慣用の３トランジスタDRAM記憶セル503は、（直列モード動作時に）語構成CAM52の動作を下記を含むあらゆる点でエミュレートできるようになる。
１．検索中の分割一致線の（０一致と１一致）の動作
２．マスク検索
３．アクティブなワード行のみへのデータの複数同時書込み
【００７５】
拡張メモリ56の動作は、１ビットアクセスに制限されている。メモリシステム全体（つまり拡張メモリ56とCAMアレイ52を備える複合メモリ50）の２ビット同時直列モード（すなわち算術型）での動作では、拡張メモリ56から１ビット、CAMアレイ52から１ビットのアクセスしかサポートできない。
【００７６】
図７には、メモリ行インタフェース54の構成要素である一致線センスアンプ600を示す。これは、実装の評価を高めるのに用いるものである。図に示すように、各一致線207，208は単純なセンスアンプ回路網600を介する経路をとっており、この回路網は一致線の局所的負荷に応じて電源電圧（ＶCC）の65％乃至75％の間に設定された比率化(ratioed)インバータを備える。これにより、複数の一致線207，208にかかる不一致ディスチャージ期間の等価化が可能となる。
【００７７】
センスアンプ600の出力は、回路固有の理由による個別のプリチャージ一致出力ネットのプルダウンをゲートするのに用いられる。一致線207，208が誘導漏話路の元となり得る有効検索事象外に電荷を保持しないよう保証するのに用いられるディスチャージデバイスは、主要一致線用のプリチャージデバイスのミラー構成となっている。
【００７８】
第一及び第二の実施態様双方において、連想プロセッサ内での数値処理における分割一致線207，208，307，308の役割をここで説明する。
【００７９】
前述の実施態様において分割一致線（１一致−Ｍ1と０一致−Ｍ0）を設けることにより、並列データ連想プロセッサ（図示せず）は実際にはCAM52からの列データの２ビット同時アクセスを効率的にエミュレートできる。
【００８０】
これは、他の全ての列をマスクした状態で二つの列内で直列ビット検索を実行することを確実にすることにより行なわれる。一方の列はデータ０で検索し、他方の列はデータ１で検索しなければならない。通常、指名されたビット列は、以下に示す異なるオペランド（例えばオペランドＡとオペランドＢ）に対して割り当てたメモリワードの二つの個別（或いは隣接する）フィールドからの対応ビットを表わす。
【００８１】
【表１】
0004596733.tif 000002
【００８２】
データ１（ネット203＝ＶCC，ネット204＝GND）で検索する列については、
１．１一致線207のみがディスチャージし得る。
２．記憶データが「１」である場合、検索結果は一致であり、プリチャージされた１一致線207はＶCC（「１」）でプリチャージ状態を保つ。
３．記憶データが「０」である場合、検索結果は不一致であり、プリチャージされた１一致線207はGND（「０」）へディスチャージする。
このようにして、記憶メモリ列が１一致線207へ効果的に読み出される。
【００８３】
データ０（ネット203＝GND，ネット204＝ＶCC）で検索する列については、
１．０一致線208のみがディスチャージし得る。
２．記憶データが「０」である場合、検索結果は一致であり、プリチャージされた０一致線208はＶCC（「１」）でプリチャージ状態を保つ。
３．記憶データが「１」である場合、検索結果は不一致であり、プリチャージされた０一致線208はGND（「０」）へディスチャージする。
このようにして、記憶メモリ列の補数が０一致線208へ効果的に読み出される。
【００８４】
図８を参照して、本発明の第三実施態様を説明する。ここでも、不要な繰り返しを避けるため、本発明の第一実施態様と第三実施態様の差異だけを以下に説明する。
【００８５】
上述の実施態様間の主要な差異は、第三実施態様が語構成CAM配列52，700内にメモリビットをインターリーブ配列した点にある。この配置は、消費電力の改善（低減）と、複合メモリ50（或いはこのメモリを用いる連想プロセッサ）の算術演算能力を高めることを目的としている。より具体的には、複数のCAMセル704を設けたCAMワード702が、分割一致線706，707，708，709と分割ワード線710，712を用いて奇数／偶数インターリーブ方式に編成してある。
【００８６】
CAMワード702内の各偶数記憶セル704，714の分割一致セル出力端（１一致−Ｍ1と０一致−Ｍ0）は、偶数一致線（707及び708）のみに接続している。偶数ビットは、CAM700の偶数ビットからの列データの２ビット同時アクセスに加わることができる。
【００８７】
これは、他の全ての列（奇数として指名された二つの列718を除く−以下参照）をマスクした状態で、任意の二つの偶数列716上で直列ビット検索を実行することを確実にすることにより行なわれる。一方の列716はデータ０で検索し、他方の列716はデータ１で検索する。通常、指名されたビット列716は、異なるオペランドに対して割り当てた記憶ワード702のフィールドからの対応ビットとなる。
【００８８】
データ１（データ線720＝ＶCC，722＝GND）で検索する列716については、
１．１一致（偶数）708のみがディスチャージし得る。
２．記憶データが「１」である場合、検索結果は一致であり、プリチャージされた１一致（偶数）線708はＶCC（「１」）でプリチャージ状態を保つ。
３．記憶データが「０」である場合、検索結果は不一致であり、プリチャージされた１一致（偶数）線708はGND（「０」）へディスチャージする。
このようにして、記憶メモリ列716が１一致（偶数）線708上へ効果的に読み出される。
【００８９】
データ０（データ線720＝GND，722＝ＶCC）で検索する列については、
１．０一致（偶数）707のみがディスチャージし得る。
２．記憶データが「０」である場合、検索結果は一致であり、プリチャージされた０一致（偶数）線707はＶCC（「１」）でプリチャージ状態を保つ。
３．記憶データが「１」である場合、検索結果は不一致であり、プリチャージされた０一致（偶数）線707はGND（「０」）へディスチャージする。
このようにして、記憶メモリ列716の補数が０一致（偶数）線707上へ効果的に読み出される。
【００９０】
CAMワード702内の各奇数記憶セル704，724の分割一致セル出力端（１一致−Ｍ1と０一致−Ｍ0）は、奇数一致線705，706のみに接続している。奇数ビットは、CAM700の奇数ビットからの列データの２ビット同時アクセスに加わることができる。
【００９１】
これは、他の全ての列718（偶数として指名された二つの列716を除く−前記参照）をマスクした状態で、任意の二つの奇数列上での直列ビット検索を実行することを確実にすることにより行なわれる。一方の列718はデータ０で検索し、他方の列718はデータ１で検索しなければならない。通常、指名されたビット列は、異なるオペランドに対して割り当てた記憶ワード702のフィールドからの対応ビットとなる。
【００９２】
データ１（データ線726＝ＶCC，728＝GND）で検索する列718については、
１．１一致（奇数）706のみがディスチャージし得る。
２．記憶データが「１」である場合、検索結果は一致であり、プリチャージされた１一致（奇数）線706はＶCC（「１」）でプリチャージ状態を保つ。
３．記憶データが「０」である場合、検索結果は不一致であり、プリチャージされた１一致（奇数）線706はGND（「０」）へディスチャージする。
このようにして、記憶メモリ列718が１一致（奇数）線706上に効果的に読み出される。
【００９３】
データ０（データ線726＝GND，728＝ＶCC）で検索する列については、
１．０一致（奇数）705のみがディスチャージし得る。
２．記憶データが「０」である場合、検索結果は一致であり、プリチャージされた０一致（奇数）線705はＶCC（「１」）でプリチャージ状態を保つ。
３．記憶データが「１」である場合、検索結果は不一致であり、プリチャージされた０一致（奇数）線705はGND（「０」）へディスチャージする。
このようにして、記憶メモリ列718の補数が０一致（偶数）線705上へ効果的に読み出される。
【００９４】
本実施態様では、CAMワード702を直列ビットモードで効果的に動作させると共に、所定の記憶ワード702から一度に４ビット704までの同時アクセスを可能とすることができる。これにより、４ビット同時の算術及び論理演算が実行できるようになる。その結果得られた設計は以下の利点をも有する。
１．記憶セル704内に一切（或いは殆ど）面積的な不利が生じない。
２．追加した一対の一致線に関連する金属のキャパシタンスが余分に生じるだけなので、電力的な不利はわずかである。しかしながら、キャパシタンス、よって電力に最も影響を与える一致線接続全体（すなわち一致線に取り付けたソース−ドレイン領域）は一定に保たれる。さらに、従来の一度に１ビットの動作或いは２ビット同時動作では、どの所定の一致線上でもキャパシタンスが低減されているので、検索一致線消費電力が半減する。
【００９５】
得られた４本の一致線は、
１．２ビット加算器／ALU(演算論理装置)（図示せず）又は
２．時間多重化されて２ビットの結果をもたらす単一の加算器／ALU(演算論理装置)（図示せず）
のいずれに対しても伝搬させることができる。
【００９６】
この実施態様は、どんな実装を採用しようとも適用可能である。前述したようにインターリーブ方式の語構成CAMアレイ700を複合メモリ50に実装するという必要性は必ずしもないこともまた理解されたい。この実施態様は、並列データプロセッサ用の改良型且つ非拡張型連想メモリとして用いることもできる。
【００９７】
語構成CAM（直列ビットモード動作時）の２ビット同時或いは４ビット同時動作の要件に合わせ、拡張記憶セルはデュアルポートアクセスをサポートするよう強化することができる。これについて、改良型の拡張記憶セル800を示す図９を参照して説明する。レイアウトベンチマークは、この設計がシングルポートの同様な設計よりも約12％しか大きくないにも関わらず、算術処理量を100％改良することを示している。
【００９８】
拡張メモリブロック56は、２ビット同時動作を可能とする偶数と奇数の記憶セル800のアレイを備えている。これらを順番に取り上げて説明する。
【００９９】
書込みサイクル中に偶数ビットとして接続される各記憶セル800の動作は、信号807によって偶数ビット書込みデータをそのセル800に与える工程を含み、次いで偶数書込みイネーブル線810上のストローブサイクルを行なう。801に対する807上のデータ保持要件は厳守しなければならない。偶数データ書込み線810と偶数書込みイネーブル線807は、書込み（若しくはリフレッシュ）サイクル中に固定正電源電位ＶCCへ駆動される。ノード815、すなわちデバイス（FET）814のゲートに記憶させたデータは、有効な偶数又は奇数読出し事象に対するデバイス814のオン閾値を超えるに十分な電源未満の一つの閾値に制限されることになる。
【０１００】
偶数読出しサイクル中、偶数データ読出し線805はプリチャージされる。一旦プリチャージ電荷が放出されると、偶数読出しイネーブルが線809上でアサートされる。815が記憶する論理「１」（ＶCC−ＶT）は、偶数データ読出し線805に対するデバイス802を介して放電路をイネーブル状態とする。815が記憶する論理「０」は、デバイス802を介して放電路をディスエーブル状態とし、読出しデータネット805をプリチャージ状態のままとする。実際上、この信号がNOT（データ）を表わす。
【０１０１】
書込みサイクル中に奇数ビットとして接続される各記憶セル801の動作は、信号808によって奇数ビット書込みデータを与える工程を含み、次いで奇数書込みイネーブル線812上のストローブサイクルを行なう。812に対する808上のデータ保持要件は厳守しなければならない。奇数書込みデータ808及び奇数書込みイネーブル線812は、書込み（若しくはリフレッシュ）サイクル中に固定正電源電位ＶCCへ駆動される。ノード804、すなわちデバイス803のゲートに記憶されたデータは、有効な偶数又は奇数読出し事象に対するデバイス803の「オン」閾値を超えるに十分な電源未満の一つの閾値に制限されることになる。
【０１０２】
奇数読出しサイクル中、奇数データ読出し線806はプリチャージされる。一旦プリチャージ電荷が放出されると、奇数読出しイネーブルが線811上でアサートされる。804が記憶する論理「１」（ＶCC−ＶT）は、奇数データ読み出し線806に対するデバイス802を介して放電路をイネーブル状態とする。804が記憶する論理「０」は、デバイス802を介して放電路をディスエーブル状態とし、読出しデータネット806をプリチャージ状態のままとする。実際上、この信号がNOT（データ）を表わす。
【０１０３】
これらの記憶セル800，801の動作は、図６に示すメモリ行インタフェースアダプタ回路の双対化により補完される。これにより、２ビット（並列ワード、直列ビット）DRAMアクセスの検索、書込み、及びリフレッシュ動作を維持すると共に、CAM700で利用可能な４本の一致線796，707，708，709へ結合して複合メモリ検索動作全体を実行する。
【０１０４】
拡張メモリの検索及び書込みアクセスは、２ビット同時に限定されている。４ビット同時処理直列モード（すなわち算術型）でのメモリシステム全体（すなわち拡張メモリとCAMからなる複合メモリ）の動作は、拡張メモリから２ビットとCAMから２ビット（或いは４ビット全てCAMから）とに対するアクセスしかサポートできない。
【０１０５】
複合メモリ50は、64ビットの拡張メモリを備えるVASP-1024チップに、２ビット同時CAMと複合した一度に１ビットの連想アクセスを併せ実装されている。
【０１０６】
本発明の特定の好適な実施態様を説明してきたが、問題とした実施態様は例示的に過ぎず、当業者に想起される変形や修正が、添付の特許請求の範囲に記載した本発明の趣旨と範囲から逸脱することなく可能であることは理解されよう。
【図面の簡単な説明】
【０１０７】
【図１】図１は、従来技術のSRAMに基づいたCAMセル構成を示す回路図である。
【図２】図２は、本発明の第一実施態様によるメインメモリバンク及び拡張メモリバンクを示す連想メモリシステムを示す概略ブロック線図である。
【図３】図３は、図２に示した連想メモリシステム内に用いるASP語構成１０トランジスタCAMセルを示す回路図である。
【図４】図４は、図３に示したものに代わる非明示マスクCAMセルを示す回路図である。
【図５】図５は、図２の拡張メモリの３トランジスタ拡張記憶セルを示す回路図である。
【図６】図６は、図２の拡張メモリワード行アダプタを詳細に示す概略ブロック線図である。
【図７】図７は、図２に示した連想メモリシステムに用いる一致線センスアンプを示す回路図である。
【図８】図８は、本発明のさらなる実施態様によるインターリーブ方式記憶ビットを備える連想メモリを示す概略ブロック線図である。
【図９】図９は、本発明のさらなる実施態様の２ビット同時処理動作用の拡張メモリ編成を示す図である。
【図１】
0004596733.tif 000003
【図２】
0004596733.tif 000004
【図３】
0004596733.tif 000005
【図４】
0004596733.tif 000006
【図５】
0004596733.tif 000007
【図６】
0004596733.tif 000008
【図７】
0004596733.tif 000009
【図８】
0004596733.tif 000010
【図９】
0004596733.tif 000011