JPH08504992A - 動的記憶装置におけるパターン検索およびリフレッシュ論理 - Google Patents
動的記憶装置におけるパターン検索およびリフレッシュ論理Info
- Publication number
- JPH08504992A JPH08504992A JP6514306A JP51430694A JPH08504992A JP H08504992 A JPH08504992 A JP H08504992A JP 6514306 A JP6514306 A JP 6514306A JP 51430694 A JP51430694 A JP 51430694A JP H08504992 A JPH08504992 A JP H08504992A
- Authority
- JP
- Japan
- Prior art keywords
- data
- storage device
- storage
- search
- bit
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
-
- 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
- G11C15/043—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 using capacitive charge storage elements
-
- 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/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/90335—Query processing
- G06F16/90339—Query processing by using parallel associative memories or content-addressable memories
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/02—Comparing digital values
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C11/406—Management or control of the refreshing or charge-regeneration cycles
-
- 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
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1006—Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2207/00—Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F2207/02—Indexing scheme relating to groups G06F7/02 - G06F7/026
- G06F2207/025—String search, i.e. pattern matching, e.g. find identical word or best match in a string
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
- Y10S707/99933—Query processing, i.e. searching
- Y10S707/99936—Pattern matching access
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Computer Hardware Design (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Dram (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
(57)【要約】
発明は、定期的なリフレッシュを必要とし、リフレッシュ回路(第14図の19)内の論理演算回路(例えば、第4図の21および24)を含む動的記憶装置(第3-10図)である。記憶装置の個々の位置は、リフレッシュ増幅器(第4図のRE)によって定期的に読み取られ、それから、データが書込み増幅器(第4図のWR)に適用される前に、論理演算がリフレッシュデータ上で実行される。このような論理演算は、リフレッシュ回路内でデータ比較およびその他の論理演算を周期的に実行することによって、連想データベース検索の実施を許容する。かかる装置と共に使用するための記憶システム(例えば第12図)もまた開示される。
Description
【発明の詳細な説明】
動的記憶装置におけるパターン検索およびリフレッシュ論理
技術分野
この発明は、リフレッシュ可能な動的連想記憶装置およびその装置を組み込む
システムに関係している。
背景技術
第1図では、ダイナミックRAM(DRAM)の典型的な構造の概略図が示されてい
る。書込みモードの間に、DRAMに書き込まれるデータは入力に応用され、書込み
増幅器WRによって増幅される。スイッチS2とS3は開いており、スイッチS1とS4は
閉じており、コンデンサCは入力データの状態に応じて充電または放電され、書
込み増幅器WRによって増幅される。読取りモードの間に、スイッチS1とS3とS4は
開いており、スイッチS2は閉じており、その結果、コンデンサCの電圧は、読取
り増幅器REにより基準電圧Vrefと比較される。読取り増幅器REによって決定され
る差に従い、2進法の「1」または「0」のいずれかがDRAMの出力に伝送される。
データ保持モードの時に、すべてのスイッチS1,S2,S3およびS4は開いたままで
あり、その結果、記憶され充電されたものはコンデンサCの中に留まっている。
しかしながら、漏れ抵抗Rの存在は避けられないため、コンデンサ充電は徐々に
消散される。このような消散を償うために、リフレッシュと称されるプロセスが
DRAMにおいて定期的に使用されなければならない。リフレッシュを成し遂げるた
めに、3つのスイッチS1,S2およびS3すべてが閉ざされ、スイッチS4が開かれ、
読取り増幅器REによって検出される2進状態が書込み増幅器WRによって増幅され
、記憶コンデンサCに再応用される。このようにして、スイッチS3とS4は、書込
み増幅器WRへの応用のために入力データまたはリフレッシュデータのいずれかを
選択する多重装置を形成する。第1図のダッシュのあるラインは、集積回路チッ
プの境界線を示している。点線内の構成要素は一般に、単一チップ上に集積され
る。
実際、DRAMには、行デコーダおよびカラムデコーダの回路と共に行列形式で配
列した多くの記憶コンデンサCが含まれる。配列の記憶素子は、定期的にリフレ
ッシュされなければならず、一般的に行ごとにリフレッシュされる。読取り増幅
器および書込み増幅器のみならず、行デコーダおよびカラムデコーダの回路は、
一般に、配列の個々の記憶素子と共に、同じ半導体チップ内に集積される。第2
図は、Hitachi America,Ltd.から入手できるタイプHM 511000のダイナミックR
AMのブロック図であり、そのブロック図には、読み取り増幅器/書込み増幅器11
を通して入出力バス12へ接続される8つの128K記憶装置セル配列10が含まれてい
る。セル配列10の個々の行および列は、行アドレスバッファ16およびカラムアド
レスバッファ17を経てアドレスバス15上に含まれるアドレスデータの制御の下で
、ならびに行アクセスストローブ信号RASおよび列アクセスストローブ信号CASの
制御の下で、行デコーダ13およびカラムデコーダ14によって選択される。読取り
および書込みは、読取り入力/書込み入力、WEによって制御され、シリアル入出
力データは入出力バッファ18においてバッファリングされる。そして再度、第2
図の点線内の構成要素が単一チップ上で集積される。
DRAMにおいて記憶されたデータ上で論理演算を実行する必要がある時には、デ
ータは、配列の希望する記憶素子から読み取られなければならず、また集積回路
チップの外側の論理回路への応用のために、DRAMの単一ビットシリアル出力へ応
用されなければならない。論理関数が実行された後に、結果は、配列の希望する
記憶素子におけるバッファ方式および記憶のために、DRAMの単一ビット入力に対
して応用される。ダイナミックRAMのかかる演算は、例えば、単一論理演算が多
くのデータ要素上で実行される単一命令多重データ処理(SIMD)において認めら
れる。かかるSIMD演算は、速度のための費用を交換するために周期的に実行され
る。周期的な演算を行なっている間に、同じ演算が1つまたはそれ以上のデータ
セルにおいて実行され、各データセル内において、演算が、連続的に処理される
1つまたはそれ以上のデータワード上で同様に実行される。しかしながら、既に
述べたように、記憶コンデンサの充電を指示するデータの消失を避けるために、
ダイナミックRAMの定期的なリフレッシュが必要とされる。このようなリフレッ
シュは一般に、データ上で実行される論理演算とインタリーブされ、周期的な論
理
演算がダイナミックRAMにおいて記憶されたデータ上で実行できる速度を必然的
に制限する。
発明の開示
この発明は、揮発性データの定期的なリフレッシュと共に、記憶した揮発性デ
ータ上の周期的論理演算の実行を許容する、ダイナミックRAMのリフレッシュ回
路内に論理回路を組み込むことによって、先行技術の障害を回避する。このよう
にして、リフレッシュされるデータはすべて、リフレッシュ回路において単純論
理装置によって処理される。このようなリフレッシュと論理演算の結合は、リフ
レッシュサイクルの間に論理演算を実行することにより別のリフレッシュサイク
ルの必要性を排除し、記憶データ上で実行される論理演算の周期的な処理速度を
大いに改善する。
この発明は、例えばデータ列検索を行なう時に、記憶データすべてがアクセス
され試験されるデータベースまたは連想システムにおいて、特別のアプリケーシ
ョンを有する。そのようなデータベース検索システムにおいて、データ比較器は
、リフレッシュループに挿入され、データのリフレッシュと目標データ検索を同
時に実行するため、目標データを、周期的にリフレッシュされるデータと比較す
るために使用される。
発明した記憶回路は、ハードディスクのような他の非揮発性記憶装置のための
バッファとして使用することができ、それにより、記憶データの並行検索が可能
となる。
図面の簡単な説明
この発明の新しい特徴は、クレームにおいて詳細に説明される。発明は、その
対象および利点と共に、以下の説明および添付の図により十分に理解される。
第1図および第2図は、先行技術のダイナミックRAMの概略図である。
第3図は、この発明に基づく、リフレッシュ回路において論理を使用している
ダイナミックRAMである。
第4図は、この発明に基づく、リフレッシュ回路において検索論理を使用して
いるダイナミックRAMである。
第5図は、この発明に基づく、リフレッシュ回路において論理を使用している
1メガビットのダイナミックRAMのブロック図である。
第6図は、この発明の別の実施例に基づく、リフレッシュ回路において論理を
使用しているダイナミックRAMの別のブロック図である。
第7図は、第6図のワードセルの詳細なブロック図である。
第8図は、この発明において使用できる連鎖優先回路である。
第9図は、この発明において使用できる優先ツリー回路である。
第10図は、データバスの中のノード、およびこの発明において使用できる優先
ツリーである。
第11図は、ディスクバッファとしてアドレス指定可能な動的連想記憶装置を使
用している、この発明に基づくシステムのモジュールのブロック図である。
第12図は、第11図のモジュールの実施例の例示ブロック図である。
第13図は、第12図で示した実施例における、ディスクから記憶装置へのデータ
の転送のための例示タイムチャートである。
第14図は、特定状態におけるシステムのバス接続(bus contacts)を示す例示
ブロック図である。
第15図は、発明の記憶装置におけるデータ検索に関連する部分を主として含む
、第12図の回路の一部を示すブロック図である。
第16a図と第16b図は、3つの代替システムを示しており、そのそれぞれには、
代替接続機構と共に配置される、第12図の実施例または発明に基づく別のシステ
ムで構成できるいくつかのモジュールが含まれる。
第17図は、発明の記憶装置内のある可能な格納構造を示す図である。
第18図は、第17図で示した発明の実施例を使用するブール検索を実行するため
のプログラムを示す例示フローチャートである。
第19図は、第17図で示した発明の実施例を使用する列検索を実行するためのプ
ログラムを示す例示フローチャートである。
第20図は、第17図で示した発明の実施例を使用する近接検索を実行するための
プログラムを示す例示フローチャートである。
第21図は、発明の記憶装置においてブール算術を実行する効果的な方法を示す
サンプルプログラムである。
発明を実施する形態
第3図は、この発明に基づくリフレッシュ論理を使用する1メガビットの揮発
性記憶装置を説明している。この記憶装置は、それぞれのリフレッシュサイクル
において次々にすべての2048ビットの行が読み取られる512行の行当り2048ビッ
トの記憶装置として、チップ内に編成される。リフレッシュ行単位の長さは、単
位として検索(探索)または出力できる連想記憶装置ワード単位の長さとは異な
る。2048ビット行の全体も、その一部も、連想記憶装置の中の単一ワードと考え
ることができる。例えば、第3図において、もしも8ビットバイトが1メガビッ
トの記憶装置の中の連想記憶装置ワードの長さとして選択されるなら、それぞれ
が512ワードのメモリアレイ20を持つ256セル19は、ワード当り8ビットを生じる
。ここでは、「ワード」は、全体としてユーザーが考慮するデータの単位であり
、「行」は、全体として読み取られまたは書き込まれるデータの単位であり、「
バイト」は、ワードの中に含まれる行の部分である。
この発明において、各セル19には、連続的かつ周期的に読み取られ、リフレッ
シュされ、記憶装置に書き込まれるデータ上で作動する、比較器21のような論理
回路が含まれる。リフレッシュ操作の間、チップの外側または内側の9ビットの
カウンタは、記憶装置リフレッシュサイクル当り1アドレスで、512の連続行ア
ドレスを提供する。かくして、記憶装置の各セル19のすべてのワードは、512の
記憶装置リフレッシュサイクルにおいて読み取られ、その間に検索される。ある
操作モードの場合、各セル19のボトムバイトは、バス22により、単一チップ内の
次のセル19のトップバイトに論理的に連結される。別の操作モードでは、各ワー
ドは、512バイトのシーケンスとして、別々に考慮される。点線内の構成要素は
、単一半導体材料集積回路チップの中に一緒に集積される。多くのチップは、バ
ス23により、あるチップの中の最後のセルのボトムワードを、隣のチップの次の
セルのトップに論理的に連結することによって縦続接続することができる。
各セル19の配置は、第4図でより詳細に示される。第4図では、各バイトにお
いて記憶されるデータは、例えば、第8ビットであるマークビットと共に各7ビ
ットである、テキストストリームの中のASCII文字である。最初は、マークビッ
トはすべてクリアされ、その後、検索の結果を示すためにセットされクリアされ
る。各バイトは、8ビット長の読取り増幅器REによって連続して読み取られ、7
データビットは、読取り7ビットバイトが被比較数レジスタ24において記憶され
る7ビット被比較数と比較される場合に、比較器21に応用される。被比較数は、
入出力バス12を通して被比較数レジスタにロードされる。
読取り増幅器REの出力もまた、入出力バス12を通して送られる入出力バッファ
18からのデータと共に、多重装置25に応用される。多重装置25の出力は、比較器
21の単一ビット(マークビット)出力と共に、8ビットの書込み増幅器WRに応用
される。読取り増幅器REはまた、データ出力を可能にするために、トライステー
トバッファまたはそれと同種のものを通して、既知の方法で、入出力バス12に接
続される。従って、この発明により、比較器21および被比較数レジスタ24は、第
1図(スイッチS3とS4は多重装置25の機能を示していることに注意)で概略を示
したDRAMの先在するリフレッシュ回路に追加される。構成要素はすべて、同じ半
導体材料集積回路チップ上に集積される。
動作において、バイトを検索し示すために、バイト長の被比較数が同時にすべ
てのセル19に送信され、個々の被比較数レジスタ24に記憶される。それから、各
セル19のメモリアレイ20の中の512バイトのそれぞれが周期的に読取られ、リフ
レッシュされ、再度書込まれる。各バイトの第8ビットは、被比較数レジスタ24
における被比較数との比較の結果を記憶する。その比較の結果は、被比較数が比
較するバイトの隣のおよびその下のメモリアレイ20の中の次のバイトの第8ビッ
トに記憶される。これは、各セル19の中のすべての512バイトについて繰り返さ
れる。あるセルの最後のバイトにおける検索の結果は、バス22を通して、隣のセ
ルの最初のバイトの中に効率的に記憶される。
もしもすべてのマークビットがクリアされるなら、そして被比較数が、第8ビ
ットとしてビット文字およびゼロを検索するなら、文字の自発的な検索が行なわ
れる。もしも被比較数が、第8ビットにおいてある文字および「1」を検索する
なら、その文字の検索は、メモリアレイ20において記録される前バイトが検索さ
れる前被比較数に一致する場合に限り被比較数に一致する。このようにして、文
字の列を検索することができ、ある文字はそれぞれの連続するリフレッシュ操作
の中にある。
このような動作の変動は、一致が認められるまで記憶装置におけるバイトをマ
ークし続けることである。このような変動において、一旦あるバイトの第8ビッ
ト(マークビット)がセットされると、バイトはリフレッシュ回路を通して回転
し続けるので、その後のすべてのバイトの第8ビットは、次の被比較数(例えば
、テキスト文字の最後)のための一致が認められるまでセットされる。このよう
な変動は、一旦目的列内の文字が認められると、文字の目的列の残余をマークす
るために使用され、目的列の出力または再書込みを容易にする。
単一セルからの検索結果の出力は、もしも第8ビットがセットされるなら、単
に、入出力バッファ18への文字として読み出すことができるにすぎない。もしも
第8ビットがセットされるなら、バイトがリフレッシュ論理を通過するので、バ
イトは読取り増幅器REによって入出力バッファ18へ渡され、それから第8ビット
はクリアされる。多重セルシステムにおいて、もしも2つのセルが各セル内の同
じワードでセットされた第8ビットを有するなら、セルに接続される優先回路は
、出力の中の1つを除くすべてが入出力バッファ18に送り込むことを妨げ、また
第8ビットをクリアすることを妨げる。ただ1つのバイトのみが一度に出力され
、残りのバイトは、後のリフレッシュサイクルにおいて出力される。
電源が投入された後に、記憶装置を同一バイトで満たす方法が、記憶装置を空
にするために使用される。空の記憶装置を文字列で満たすために、検索部を満足
する最初のバイトのみが変更されるように、しかし、検索を満足する他のいかな
るバイトも変更されないように、基本検索を変更し機構を調和させるために、リ
ップル優先機構を使用できる。単一セル内において、フリップフロップは、セル
内のバイトが検索されている時にセットされ、検索の成功が検出された後にクリ
アされる。バイトは、フリップフロップ出力が「1」である場合に限り、検索の
成功
に際して変更される。以上の方法により、あるバイトをそれぞれのリフレッシュ
サイクルにおいて書き込むことができる。多重セルシステムにおいては、リップ
ル優先回路もまた、セル間で使用される。優先回路は、クリアされる前セルにお
けるフリップフロップを除いて、すべてのフリップフロップを動作させる。この
ような優先的な文脈アドレス指定機構は、記憶装置を、それぞれのバイトにおけ
る異なるデータによって満たすために必要とされる。
上記の追加検索論理は、先在している記憶装置セル、行デコーダ、読取り増幅
器、書込み増幅器および多重装置を使用することによって、但し、カラムデコー
ダを排除し、比較器および被比較数レジスタを含む検索論理を読取り/書込み回
路に挿入することによって、既存のダイナミックRAMにおいて容易に実行するこ
とができる。もしも以上のことが、例えばHitachi HM511000(1メガビットのDR
AM)において行なわれるなら、記憶装置全体を、約60マイクロ秒(記憶装置全体
をリフレッシュするために要する時間)で読み取り、検索し、再書き込みするこ
とができる。このような記憶装置は、第5図で示され、検索論理26の配置を示し
ている。もしもシステムが多くの記憶装置チップを組み込むなら、そして文字列
が検索されるなら、記憶装置内のすべてのデータを検索するために要する時間は
、依然として検索文字当り60マイクロ秒のままである。
内容検索ならびに更新、入力および出力は、既に説明した論理演算であるが、
他の論理技術も実行することができる。例えば、当該発明の発明者が著わした「
CASSMの構造的特徴;文脈アドレス指定セグメント順次記憶装置」Proc.5th ISC
A,pp 31-38,April 1978において、およびその論文の中で引用されたCASSMシス
テムに関する関連著作において公表された関係型データベースのようなデータベ
ースの検索および更新のために使用される様々な技術を実行することができる。
またその他の変更、追加または削除もまた、発明の範囲を逸脱することなく行な
うことができる。例えば、この発明は、一部のみが動的記憶装置である記憶装置
に対しても等しく応用することができる。
このようにして発明は、潜在するチップ記憶装置のほんの一部を設計し直すこ
とによって(すなわち、カラムデコーダを排除し、比較器および被比較数レジス
タをリフレッシュ回路に追加することによって)、動的記憶装置集積回路の連想
検索を許容する。以上により、開発費は削減され、製造費の増加もその額はわず
かで済み、機械設備の改善を拡大する必要なく既存のDRAM設備を利用できる。発
明の利用により、不変ダイナミックRAMの費用増加を最小限度にして、高速動的
記憶装置において全体が記憶される大型データベースの連想検索を行なうことが
できる。
第6図と第7図は、この発明の別の実施例を組み込んでいる半導体チップの編
成を示している。既に述べたように、この発明を生産するために既存のDRAMの設
計を変更する費用が、全チップの設計費を下回るように、メモリアレイをそのま
まにして、既存のDRAMチップの構造(第1図)をほんの少しだけ変更することが
重要である。
第6図に関し、リフレッシュ操作において、1つのカラムは、1つのセンス増
幅器を使用して、順次リフレッシュされ、1つのビットも同様に順次リフレッシ
ュされる。カラムセル27に記憶される、カラム内のデータは、4組のカラムセル
のグループに集められ、それぞれがワードセル28を形成する。32のワードセルは
、既存のDRAMサブアレイ29の組内に配置され、チップには8組のDRAMサブアレイ
29が含まれる。従って、1メガビットの記憶装置においては、各カラムセルには
512ビットが含まれる。
既に説明したように、リフレッシュ操作において、1つのカラムは、1つのセ
ンス増幅器により、順次リフレッシュされ、1つのビットも同様に順次リフレッ
シュされる。簡単に言えば、第6図で示したように、それぞれのワードセル28を
形成している8つのカラムセル27を、2つの隣接するDRAMサブアレイのそれぞれ
における4つのカラムとして考えることができ、それにより、同時に1バイトを
読み取りまたは書き込むために示される4カラム、2行の方形を形成する。もち
ろん、ワードセル当りのある数のカラムセルを使用することができる。カラムセ
ルのそれぞれを接続するのはデータバス31である。
第7図では、第6図で使用したワードセルの詳細なブロック図が示されている
。第7図においては、同じように配置された8つのカラムセル27が示されている
。便宜上、ここでは、第7図の左上のカラムセル27についてだけ説明する。しか
しながら、第7図の他の7つのカラムセルのそれぞれも同じように配置される。
各カラムセル27には、各リフレッシュサイクルのためにマスクビットを記憶する
記憶コンデンサ33を含むマスクフリップフロップ32が含まれている。また、各カ
ラムセル27には、物理512ビットメモリサブアレイ34および専用センス増幅器36
も含まれている。以上の実施例において、各カラムセルには、4つのトランジス
タ比較器30も含まれている。各ワードセルの出力は一般に、ワイヤOR構成(配置
)で、入力がセットされている2つのNORゲート38と39およびフリップフロップ3
7のクリア入力を含む二重ランク(マスタ/スレーブ)セット・クリア突合せフ
リップフロップ37に接続される。フリップフロップ内のコンデンサ41は、二重ラ
ンクフリップフロップ37のスレーブである。
既に述べたように、リフレッシュサイクルは、1つのセンス増幅器によって1
つのカラムの1つのビットをリフレッシュするために要する期間であり、記憶装
置内のそれぞれのカラムについて同時に実行される。リフレッシュサイクルは、
行アドレスストローブ時間(TRAS)(ここで行アドレスストローブが表明される
)とカラムアドレスストローブ時間(TCAS)(ここでカラムアドレスストローブ
が表明される)とに分割される。TCASはTRASとは異なる。既に述べたように、リ
フレッシュ操作は、単一カラム内のすべてのビットをリフレッシュするために要
する期間である。
この発明により、TRASの間に、マスクがデータバス31に送られてマスクフリッ
プフロップ32に記憶され、またTCASの間に、データがデータライン31に送られる
。これは直接、従来のDRAMにおける行アドレスおよびカラムアドレスの時間多重
化に類似する。リフレッシュ操作において、大型(4096ビット)データ値および
マスク値は、8ビットのデータバス31において時間多重化される。例えば、リフ
レッシュ操作において、データ値が、1234....の形式の4096の16進ビット値であ
る場合、またマスク値が、5678....の形式の4096の16進ビット値である場合には
、リフレッシュ操作における最初のリフレッシュサイクルにおいて、16進数の56
がTRASの間に送られ、16進数の12がTCASの間に送られる。リフレッシュ操作の第
2のリフレッシュサイクルにおいて、16進数の78がTRASの間に送られ、16進数の
34がTCASの間に送られる。すべての場合において、512組のバイトが、各ワー
ドセル内でリフレッシュされている時にデータを検索または書き込むために使
用されるので、順次送られる。書き込み段階において、TCASおよびTRASの間にデ
ータバイトおよびマスクバイトの同じ位置に送られるビットの組は、被比較数の
値が「0」の時には「10」であり、被比較数の値が「1」の時には「11」であり、
被比較数の値が「don't care」である時には「00」である。しかしながら、比較
段階においては、比較器論理を減らすために、TCASおよびTRASの間に送られるビ
ットの組は、被比較数の値が「0」の時には「01」であり、被比較数の値が「1」
の時には「10」であり、被比較数の値が「don't care」である時には「00」であ
る。この発明により、第7図の回路がDRAMのリフレッシュ回路に追加される時に
は、リフレッシュされている時に記憶装置内におけるデータの連想検索を許容す
る連想記憶装置構造が提供される。
特に、1つのリフレッシュ操作のために記憶装置をリフレッシュすることしか
行なわないノップ命令は、センス増幅器36によってデータを増幅することによっ
て、また変更することなくデータを記憶装置セル34に書き込むことによって遂行
される。いかなるデータも、データバス31を通らない。
ワード比較命令の間に、データ値およびマスク値のビットが各カラムのために
使用され、各カラムは、1つのリフレッシュ操作の間に、すべての記憶装置チッ
プにおいて、すべてのワードのために検索される。もしも、マスクビットが1で
ある各カラムのために、データビットがワードおよびカラムにおけるビットと同
じであるなら、ワードのための突合せビットがセットされる。さらに詳しく述べ
れば、ワード比較命令の場合、突合せフリップフロップ37は、リフレッシュ操作
の初めにおいて「1」にセットされる。各リフレッシュサイクルにおいて、マス
クおよびデータが送られ、左のビットが最初にTRASの間に送られ、各ビットセル
の中のマスクフリップフロップ32において記憶され、右のビットはTCASの間に送
られる。ワードが「0」を有し、最初のビットが「1」である場合には、突合せフ
リップフロップはクリアされる。ワードが「1」を有し、第2のビットが「1」で
ある場合には、突合せフリップフロップ37がクリアされる。不整合(mismatch)
が検出される場合に突合せフリップフロップをクリアするために、比較器30が安
定した時に、リフレッシュの終りにおいて、制御信号比較が表明される。あるセ
ル内のデータは、ワード比較命令の間にリフレッシュされる。
ワード書込み命令の間に、3入力ANDゲート42が使用される。マスクフリップ
フロップ32において記憶されたマスクデータ、およびセンスデータは、TCASの間
に送られ、セルにおいてデータを再書込みするために使用される。もしも、ある
ワードセルにおいて、マスクビットおよび突合せビットの双方が高レベルなら、
データはセルに再書込みされる。もし再書込みされないなら、セル内のデータは
リフレッシュされる。ワード出力命令の間に、高速信号が、TRASの間に、すべて
のビットを出力するためにデータバス31に送られる。TCASの間、ワード書込み命
令が表明され、センス増幅器36からのデータが、データバス31に応用され、セル
内でリフレッシュされる。
次の命令の場合、ワードは、(トップからボトムまで)直線的に順序付けられ
、優先順位が付けられたものとみなされる(より高位のワードはより高い優先順
位を持つものとみなされる)。さらに、この命令のうちの最初の命令は、既に述
べたワード構造を利用し、そのワード構造においては、あるワードの中の最も重
要なビットが、あるバイトの文字ビットと異なるマークビットである。
文字比較命令の間に、突合せフリップフロップ37のマスタは最初にセットされ
、ワード比較命令は、マスクビットが「1」である時に、不整合が存在する場合
において、突合せフリップフロップ37をクリアするために、すべてのバイトにお
いて実行される。それから、突合せフリップフロップのスレーブは、(1つのリ
フレッシュサイクル時間においてスレーブ突合せフリップフロップ37からの信号
を遅らせることによって)特殊(extra)トランジスタ35を使用する次のバイト
のマークビット(高位ビット)に書き込まれ、最後に、突合せフリップフロップ
37のマスタが、保管フリップフロップにコピーされる。データは、文字比較段階
においてリフレッシュされる。
ワード比較アップ命令において、ワード比較命令は、リフレッシュ操作の各リ
フレッシュサイクルの間に実行される。突合せビットの内容は、リフレッシュ操
作の終りにおいて、論理的に1つのビットの上位へ移される。同様に、ワード比
較ダウン命令は、リフレッシュ操作の各リフレッシュサイクルの間にワード比較
命令を実行し、その後、リフレッシュ操作の終りに、突合せビットの内容が、論
理的に1つのビットの下位へ移される。ワード比較事前命令は、リフレッシュ操
作の各リフレッシュサイクルの間にワード比較命令を実行し、その後、リフレッ
シュ操作の終りにおいてセットされる最初の突合せビットから下位の突合せビッ
トをクリアする。
ワード出力命令を実行するために、突合せビット集合を持つ先行ワードセルの
ために、1つのリフレッシュ操作が1つのワードを出力するために使用され、各
リフレッシュ操作の終りにおいて、出力されたワードの突合せビットがクリアさ
れる。ワード出力命令は、すべての突合せフリップフロップがクリアされるまで
繰り返される。ワード書込み命令を実行するために、突合せビット集合を持つ先
行ワードセルのために、各リフレッシュ操作の間に、ワードが書き込まれ、突合
せビットがクリアされる。ワード書込み命令は、すべての突合せフリップフロッ
プがクリアされるまで繰り返される。
典型的な命令は、記憶装置がノーオペレーションサイクルを実行する期間中に
おける、データライン上の妥当な命令コードの送信によって始まる。既に述べた
ように、各リフレッシュ操作の間において、512のリフレッシュサイクルが生じ
、命令は、それぞれのリフレッシュサイクルの間に実行される。
記憶装置は、被比較数データの迅速な供給を要求する。記憶装置へ送られるデ
ータおよび記憶装置から送られるデータは、ビデオRAMによって、または「シャ
トルメモリ」として知られている技術を使用することによって供給することがで
き、その場合、スタティックRAMの組は、その組が間違いなく接続されるように
、多重装置によって、連想記憶装置および従来のホストコンピュータに接続され
る。コンピュータが、あるスタティックRAMの中のデータを再書込みする時に、
高速カウンタは、あるリフレッシュ操作の間に、連想記憶装置へ、または連想記
憶装置から、連続ワードを読み取りまたは書込むために、他方のスタティックRA
Mへアドレス指定する。リフレッシュ操作の終りにおいて、組が交換され、連想
記憶装置およびコンピュータへ、またそれらから、静的記憶装置を移動させる。
多重セル操作を容易にするために、特に比較事前命令、書込み命令および出力
命令を実行している間に、優先ラインが必要とされる。優先選択は、第8図で示
す通り、ORゲートの連鎖において理解することができる。要求は、「1」をORゲ
ートを通して左方へ移動させ、要求はそこで拒否される。このような優先連鎖は
、
速度および耐誤り性のための先読みバイナリツリーを使用する優先的な実施例に
より実行される。第9図は、2レベルのツリーを示している。拒否=「0」がツリ
ーの根(ルート)に投入され、葉ノードの要求および拒否が突合せフリップフロ
ップ37に接続される(第7図)。比較事前命令は、非先行(拒否された)突合せ
フリップフロップをクリアすることができる。書込み命令および出力命令におい
て使用される効果的な突合せ値は、ただ1つのセル、先行セルにおいて真でなけ
ればならない。3出力ANDゲート42は、入力Clにおける非先行セルの突合せを取
り消す。
データバス31のための優先ネットワークは、第10図において示され、第9図の
優先ツリーによって制御される双方向バスドライバのバイナリツリーである。第
10図の優先ツリーの根は、シャトル記憶装置を持つ外部制御装置に接続され、葉
はワードセルに接続される。データがセルに送られる時、葉の方へ向かうすべて
のバスドライバは可能であり、根の方へ向かうすべてのバスドライバは不能であ
る。データがセルから集められる時には、結果はその逆となる。突合せ値は、デ
ータを出力する先行セルを決定する。第10図の優先ツリーはデータバス31をガイ
ドするために使用することができる。
第7図の回路をもう1度見てみると、右下の角にあるのは単純誤り検出回路で
あり、その回路は、ワードセルの中のデータビットのすべてのために1つのパリ
ティビットを使用する。カラムセルデータラインのすべては、排他的論理和ゲー
ト43に接続され入力される。リフレッシュ操作の初めにおいて、二重ランクのフ
リップフロップP1とP3はゼロに初期設定され、リフレッシュサイクルの初期に、
フリップフロップP3は、P3の古い値と共に記憶装置から読み取られるすべての8
データビットの排他的論理和によってロードされる。リフレッシュサイクルの後
半において、フリップフロップP1は、フリップフロップP1の古い値と共に記憶装
置に書込まれるすべての8データビットの排他的論理和によってロードされる。
リフレッシュ操作の終りにおいて、フリップフロップP1は、セルの記憶装置内に
記憶されていたすべてのデータビットのパリティを含む。フリップフロップP1の
出力はフリップフロップP2に記憶される。リフレッシュ操作の終りにおいて、フ
リップフロップP3は、セルの記憶装置から読み取られていたすべてのデータビッ
トのパリティを含む。フリップフロップP2において計算され記憶されるパリティ
は、フリップフロップP3において計算され記憶されるパリティと一致しなければ
ならない。もしも、P2における計算済みパリティがP3における記憶済みパリティ
と異なるなら、データ中にパリティエラーが存在する。エラー信号は、突合せビ
ットがリフレッシュ操作の終りにおいて突合せフリップフロップ37のスレーブの
中に記憶される時に、突合せフリップフロップ37のマスタに適用される。
誤りセルは、バス中の隣接接続のために使用されるツリーを剪定することによ
って処理することができる。誤りライン(第9図および第10図)を主張すること
によって、データバス31は、サブツリー中のエラーを分離するために剪定され、
サブツリーの上方のリンクにおける双方のトライステートドライバをオープンに
させ、また優先ツリーは、誤りツリーの上方のノードにおいて剪定され、残った
ツリーへの「0」の要求を強制する。
この発明による変更された連想DRAMチップの費用は、現在のDRAMの費用と同じ
である。典型的なDRAMセンス増幅器には6つのトランジスタが付いており、その
増幅器のカラムアドレスデコーダには4つのトランジスタが付いている。この発
明が要求しているように、カラムアドレスデコーダを除去し、マスクのビット、
比較器およびパリティチェック排他的論理和ゲートを追加することによって(約
11のトランジスタと共に実行される)、センス増幅器のサイズはやや大きくなる
。この発明により、各ワードセルは、突合せフリップフロップ、パリティチェッ
クフリップフロップおよび約35のトランジスタを必要とする連想論理を有し、各
ワードセルのために、優先ツリーのノードが存在し、およそ6つのトランジスタ
が必要となる。ワードセル内のセンス増幅器の総数についてこのワードセル論理
を償却する場合、およそ5つの追加トランジスタがセンス増幅器ごとに必要とな
る。かくして、この発明により、センス増幅器当り約24のトランジスタが必要と
なり、それにより、必要となる集積回路チップ領域はほんのわずか増えるにすぎ
ない。さらに、アドレスピンが省略されるので、この発明を具体化するチップは
、18ピンパッケージで実装することができる(VDD,VSS,RASおよびCASクロック
、ならびにリフレッシュ操作の開始を指示する信号、ならびにデータバス方向、
2つのシフトピン、要求−拒否信号および8つのデータラインを制御するため
の書込み信号)。従って、この発明により、連想DRAMの検索は、メモリアレイと
同じ集積回路チップ上のリフレッシュ回路内に集積された回路を使用して行なわ
れる。それにより、リフレッシュ回路に存在する高帯域幅データ経路の使用とは
別に、高度並列論理演算が記憶装置セル配列の中のデータに関して行なわれる。
上記回路は、ハードディスクのような非揮発性記憶装置から読み取られるデータ
の検索を容易にするためのバッファとして、記憶装置内で使用することができる
。このようなシステムを使用することによって、並列検索が可能となり、ディス
クから読み取られた情報にアクセスし位置付けるために必要となる時間を短縮す
ることができる。以下の説明は特定種類のハードディスクシステムに関するもの
であるが、発明は、現存するか将来開発されるかを問わず、また中間揮発性記憶
装置によってバッファリングされるか否かを問わず、テープ駆動装置、光学記憶
装置、他の種類のハードディスク、フロッピーディスク、いわゆる「フラッシュ
」メモリまたは他の種類の非揮発性記憶装置を含むいかなる種類の記憶装置に対
しても平等に応用される。
第11図は、発明の記憶装置のハードディスク具体化を示している。ハードディ
スク51は、一連のヘッド53a,53b,...53nが、データを、既知の設計において配
置されたトラックおよびセクタに記録し、そのトラックおよびセクタからデータ
を読み取る、一連のディスク面またはプラッタ51a,51b,....51nを含んでいる。
下付き文字「n」にはすべての数字を使用できる。あるタイプの高容量ディスク5
1は、Maxtor Corp.が製造した1.5ギガバイトのウィンチェスタハード駆動装置
であり、それはn=19の記憶面を持つが、より多いまたはより少ない容量または数
のプラッタおよびヘッドを持つ駆動装置でも適切である。切り替え可能なバス61
は、ディスク駆動機構51を、コンピュータ65およびメモリバンク73と75に接続す
るが、その詳細は以下で説明する。第2の(切り替え可能)バス67は、コンピュ
ータ65を、メモリバンク73と75に接続しているが、それについても以下で説明す
る。ヘッド53は、第12図で示すように、ハードディスク制御装置回路55a,55b,.
...55nによって制御される。制御装置55aは、単一チップに集積される場合が多
い読取り書込み論理およびヘッド位置決め制御を含む、既知の設計のディスク制
御装置を包含することができる。制御装置55aは、DMA要求を行なうことができ、
指
標付けセンサをも含む、ステッパ電動機またはその他のヘッド位置決め装置57を
制御することができる。このようにして、標準設計のディスク駆動機構には、プ
ラッタ51、ヘッド53、制御装置55aおよびヘッド電動機57が含まれる。
対照的に、発明のシステムには、追加の制御装置55bから55nまでも含まれてお
り、そのそれぞれがヘッド53bから53nまでのあるヘッドと結合し、そのヘッドを
制御する。その追加の制御装置は、その結合したヘッドの読取り操作および書込
み操作の制御のみを実行できなければならない。標準的な制御装置の位置決めお
よびDMA要求機能は、発明のシステムにおいて、専ら制御装置55aによって遂行さ
れ、制御装置55bから55nまでは、マスタ制御装置55aの「スレーブ」として行動
する。従って、制御装置55bから55nまでは、マスタ制御装置55aの回路すべてを
包含する必要はないが、制御装置55のそれぞれのために、大量生産した制御装置
を使用することが経済的には好ましく、その場合には、制御装置55bから55nまで
によって出力された制御信号は、無効とし、または無視することができる。
要するに、発明のディスク部は、追加の制御装置55bから55nまでを含めるため
に変更された標準的なディスク駆動機構を使用している。これらの制御装置は、
この特許において、プラッタ51aから51nまでのすべての集合上に設置された同じ
トラックおよびセクタを意味する「シリンダ」から、並列的にデータの読取りま
たは書込みを行なうという追加機能を果たす。
本発明の場合、バイトのような隣接する構成要素がシリンダ内の隣接するプラ
ッタ上に記録されるディスク上に、「縞のある」様式でデータを記憶することが
望ましい。例えば、バイト番号1は、あるシリンダのプラッタ1上の最初のアド
レスに設置され、バイト2は、同じシリンダのプラッタ2上の同じアドレスに設
置され、バイトnは、同じシリンダのプラッタn上の同じアドレスに設置され、バ
イトn+1は、シリンダのプラッタ1上の次のアドレスに設置される。構成要素は
、既に説明したデータの単一バイトの代わりに、単一ビット、いくつかのビット
またはいくつかのバイトを包含することができる。このような「縞のある」デー
タ配列は、発明のシステムの並列機能を十分に利用する。
第13図は、ディスク51からデータを引き出すためのタイミング例を示すタイム
チャートである。サイクルの初めにおいて、制御装置55aはヘッドの位置を決定
し、制御装置55のそれぞれがデータのバイト価値を読取り、それを、サイクル全
体のために、一時レジスタ59aから59nまで(第12図で示す)の中に記憶する。
その後、各バイトは、サイクルが終了するまで、その一時レジスタから順次、マ
ルチラインデータバス61に設置される。そして、千鳥読取りを使用するシステム
を含む他の配列が考慮される。プロセスは、システムがデータをディスク51に書
込むために使用される時に、簡単に転換される。
第12図に戻ると、コンピュータ65は、2つのメモリバンクのうちの1つ、すな
わち、数字73で示されているバンクAまたは数字75で示されているバンクBに対し
て、バス61上のデータを向けるためのスイッチ63を制御する。この2つのメモリ
バンクは、コンピュータ65が1つ目のバンクに問い合わせを行なっている間に、
システムが2つ目のバンクをデータで満たすことを許容するために示された具体
化において使用される。第12図では2つのバンクが示されているが、発明は、た
だ1つのバンクのみを持つ単純化されたバージョンによって、または2つを超え
る数のバンクを持つより複雑なバージョンによって実行することができる。
明示した実施例において、コンピュータ65には、マイクロコントローラ、DMA
制御装置、適切な非揮発性プログラム記憶装置、およびスタティックRAMの数量
のような適切な記憶装置が含まれている。これらの構成要素は、Motorola 68340
を含んでいるMotorolaが販売する「ビジネスカードコンピュータ」のようないく
つかの装置(但し、他の装置または装置の組み合わせでもよい)において集積さ
れる。
コンピュータ65は、メモリバンクAに導くデータバス67aとメモリバンクBに導
くデータバス67bとの間の接点を交替する。配列は第14図において示してあり、
第14図において、システムは特別状態で示されている。第14図において、ディス
ク51は、バス61bを通ってバンクB75を満たしている。一方、コンピュータ65は、
バス67aを通ってバンクA73に問い合わせをする。
バス制御は、第12図において小さな三角形で示した多くのトライステートバス
ドライバの状態を変更することによって行なわれる。次に列挙する特定部は適切
である。すなわち、244単方向トライステートバスドライバ、245双方向トライ
ステートバスドライバ、およびトライステート出力を持つ373ラッチまたはレジ
スタ。あるメモリバンクがその容量に達した時に、コンピュータ65は、充填バン
クと連絡を取るためにバス67を切り替え、制御装置55aを他のバンクに接続する
ためにスイッチ63を動かし、データが他のバンクを満たし始めることができるよ
うにバス61を切り替える。
第15図は、第12図の回路の一部の再現であり、メモリバンク73と75のうちの一
方だけと、その関連バス、すなわち、一定時にコンピュータ65と接続するバンク
およびバスを分離して示している。第15図で示した例は、データバス67aに沿っ
てバンク73と接続しているコンピュータ65を示している。他のメモリバンクおよ
びバス、ならびにディスク要素およびそれをロードするバス61は、第15図の単純
化バージョンでは省略してある。
バンク73と75のそれぞれは、既に第3図から第10図までに関連して詳細に説明
してある1つまたはそれ以上の動的連想記憶装置(「DAAM」)、またはデータが記
憶装置において突合せのために検索される別の形式の連想記憶装置を含んでいる
。第12図と第15図は、バンク当り4つのDAAMを示しており、第15図では、数字の
69と71aから71cで示されている。第15図の具体例において、ツリートポロジは先
読み優先回路を実行するためにDAAMを接続し、DAAM69は、根として機能し、ツリ
ーの1枚の葉として行動し、DAAM71は他の葉として行動する。ツリー構造は、既
に第7図から第10図までの説明に関連して述べている、DAAMチップの内部で使用
されるツリー構造と同じ目的および利益を有している。また、第12図と第15図の
優先回路は、第7図から第10図までで示したチップ内の同様の回路と同じ機能を
果たしている。
第12図と第15図におけるDAAM69と71は、ディスク51とDAAM69のアクセス率、お
よびプラッタ51aから51nまでの数を考慮しつつ、単一DAAMと交換することができ
る。特に、69の数字で示したような1つのDAAMチップは、制御装置55に対するDA
AMチップ69の帯域幅の比率の整数部分に等しい数の制御装置からデータを受け取
ることができる。例えば、基底としてHitachiチップを使用するように設計され
ている、第2図に関連して既に述べている1メガビットのDAAMのサイクル時間は
、8ビットバスの全域で約120ナノ秒であり、それにより帯域幅は8.3メガバ
イトとなる。既に説明してあるMaxtorハードディスク上の制御装置は、約2.0メ
ガバイト/秒の率でデータを読み取ることができる。従って、上記で確認した種
類のそれぞれのDAAMチップは、その種類のディスク駆動機構において使用される
種類の、多くて4つの制御装置によって送り込むことができる。従って、19プラ
ッタのMaxtor駆動装置は、少なくとも5つのDAAMチップを必要とした。しかしな
がら、2.3倍の速さで操作し、16ビットバスを使用するDAAMチップは、バンク内
の第2のDAAMを必要とすることなく、Maxtor駆動装置上の19のプラッタのすべて
によって送り込むことができた。
しかしながら、DAAMチップの数を減らすことについては2つ目の制約がある。
そしてその制約は、十分な記憶容量を持つことによってシステムの減速を回避し
たいという要求から来ている。ディスクから直ちにシリンダすべてを読み取るこ
とは最も効率的であるが、そうするためには、バンクが十分な記憶容量を含んで
いる必要がある。たとえ、DAAMを満たすために利用できる十分な帯域幅が存在し
ていたとしても、DAAMが十分な容量を含んでいない限り、システム設計者は、各
段階においてバンクの中のシリンダの部分のみを読み取ることによって読み取り
操作を減速するというよりも、各バンクに対して特別のDAAMを追加することの方
を希望するように思われる。例えば、上記のMaxtor駆動装置のための好ましいシ
ステム設計は、駆動装置のシリンダのそれぞれに約7メガビットを記憶するため
の各バンク内の十分なDAAM、または1メガビットのDAAMを8単位を必要とする。
もしも、それらのDAAMが、Hitachiチップを使用している上記のDAAMと同じ速さ
でしか操作しないとするなら、システムの帯域幅は制約される。好ましいシステ
ム設計は、容量も帯域も制約することはなく、またDAAMまたは関連回路を交換す
ることなく、幾分速い出力速度または幾分大型のシリンダを持つように、ユーザ
ーがディスク駆動機構を更新できるようにしている。
もしも、多くのDAAMチップが各バンクで使用されるなら、ディスク51上のデー
タは、ディスクチャネルにおいて千鳥様式で配列することができ、その場合、各
ディスクチャネルは、1つのDAAMチップとして、また各ディスクチャネルが接続
される制御装置として、またその制御装置によって制御されるプラッタとして確
定される。そのような代替配列において、データは、第1バイトを所定のシリン
ダのプラッタ1上の所定の位置に置き、また第2バイトを第1バイトと同じシリ
ンダのプラッタ5上の第1バイトと同じ位置に置くというようにして配列され、
その場合、システムは、55aから55bまでのような4つの制御装置を制御する1つ
のDAAMチップ69または71と共に配列された。
発明のシステムは、多くのモジュールのうちの1つを構成することができ、そ
のモジュールのそれぞれは、発明のシステムに従って、第12図またはその他にお
いて示したモジュールの1つを含むことができる。第16a図と第16b図は、そのよ
うなモジュラー配列のいくつかの例を示している。システム81では、1つまたは
それ以上のDAAMを含んでいる多くのバンクが並列に配列されている。第16a図の
システム83では、ディスクが第3バンクを満たしている間に、2つのコンピュー
タが、記憶装置の1つのバンクに問い合わせをする。マイクロコントローラの中
の任意の1つであるマイクロコントローラ「C」もまたディスク制御装置として
行動する。いずれのマイクロコントローラも、ディスクを制御するために動的に
配置することができるが、第16a図は、説明を簡単にするために、ただ1つの可
能な接続のみを示している。しかし、ディスクアクセス制約に従えば、コンピュ
ータ記憶装置の組を追加することができる。第16b図のシステム85では、多くの
コンピュータ、メモリバンクおよびディスクは、第12図のバス61と67を実行する
ために、1つまたはそれ以上のクロスバー交換機のような多段階相互接続ネット
ワークを使用する。相互接続ネットワークは、ディスクまたはコンピュータがメ
モリバンクにアクセスできるように構成することができる。いずれのマイクロコ
ントローラも、クロスバー61にクロスバー67を接続しているバスを通して通信す
ることによってディスクを制御することができる。システム85もまた、多段階相
互接続ネットワークが階層システムで配列される構成を含むことができる。
発明のシステムは、標準的なディスクデータおよびハウスキーピング操作を実
行することができる。データは、第12図と第13図に関連して既に説明しているデ
ィスク読取り操作の反転を使用して、DAAM69または71にデータが設置されている
間にコンピュータ65によって変更することができ、またコマンドによりディスク
51に書き込むことができる。新データは、DAAM69または71の「ボトム」にある空
きスペースに追加することができ、シリンダ上の空きスペースにあるディスク51
に書き込むことができる。削除のためにタグを付けられたデータは、空き時間に
、ディスク上のすべてのデータを順次読み取って再書き込みすることによって削
除することができる。データが読み取られる時に、不要項目は、タグが付いてい
る項目がディスクから読み取られる時にDAAMに対してノーオペレーションコマン
ドを出すことによって、記憶装置に配置されるのを妨げられる。次に、DAAMの内
容はディスク上に書き込まれ、削除のためにタグが付けられていないデータのみ
によって古いデータを重ね書きし、それにより、データを圧縮し、不要情報を削
除する。
発明の記憶装置は、特に、必ずしも第12図または第16図で示したディスクベー
スの実施例に関連する必要はないが、全文検索操作のために容易に使用すること
ができる。そのような使用に際しては、記憶装置の並列検索能力を利用する様式
でデータを配列することが望ましい。
他のシステムでも可能であるが、第17図は、発明の記憶装置内のサンプルデー
タの配列例を示している。インスタンスとしてのシステムにおいて、記憶装置の
各ワードは一連のアトムに分割され、そのアトムのそれぞれには、英語のワード
のような1つのデータワードと関連データが含まれている。説明を簡単にし、用
語の混乱を避けるために、第17図の説明に関しては、既に述べてはいるが、記憶
装置のそれぞれの行が1つの論理連想記憶装置「ワード」を記憶するものと仮定
する。しかしながら、その仮定は必ずしも必要なわけではない。
それぞれの行の中のアトムの数は、データが行全体を満たさないように予め決
められセットされ、従って、それぞれの行の最後において「スクラッチ」位置と
して役立つように、それぞれの行の中にいくつかの追加記憶装置を取って置く。
第3図の例は、ワード当り3つのアトムを示しているが、より広いワードにおい
てより多くのアトムを使用することは可能であるし、また望ましいことでもある
。
各アトムは、あるフィールドにおいてあるデータワードを記憶するためのある
一定数のビットを含み、また別のフィールドにおいてデータワードに関連するデ
ータを記憶するための別の一定数のビットを含んでいる。第17図で示した例にお
いて、関連データには、文書中のワードの位置のみが含まれるが、その他のデー
タも記憶することができ、そのいくつかの例については以下で説明する。
第17図で示すコーディングシステムにおいて、記憶装置は、文書において使用
される英語のワードのすべてを含む表からコードが決定される、アトムの最初の
フィールドにおいてデータワードを表現する唯一のコードを配置することによっ
てロードされる。表は、新しいワードに出会う時に、類似のワードおよび追加ワ
ードを追加して予め記入しておくことができる。ASCIIコードのような文字コー
ドではなく、バイナリコードワードが記憶装置において記憶されるが、第17図の
記憶マップは、表示が楽なために文字を使用している。
それぞれのデータワードに出会う時に、装置は、「a」や「the」のような一般
的な「ストップ」ワードのロードを避ける。しかしながら、カウンタは、ストッ
プワードを含むすべてのワードのために増やされる。それぞれのロードされたデ
ータワードのために、カウンタの内容は、ロードされたデータワードのすぐ後に
、アトムのフィールドの中に配置される。位置カウンタは、それぞれの行の初め
においてゼロにされ、それぞれの行の終りにおいて、予め決められたスクラッチ
データフィールドにコピーされる。第17図では、スクラッチデータの開始を指示
する二重ラインの右のスクラッチフィールド内の2番目のカラムは、行の中のデ
ータワードの数字のために残しておく。
従って、各アトムには、データワードと、データ内のワードの位置インジケー
タの双方が含まれる。計算はそれぞれの行において再び開始されるので、位置イ
ンジケータは、行の始まりに関するデータワードの位置を明示する。スクラッチ
フィールドには、行の中のワードの数字すべてが含まれている。そして、ストッ
プワードの削除により、位置インジケータおよびカウンタが、行の中のアトム数
字である記憶装置の位置とは異なることも注目に値する。さらに、もしも、記憶
された最後のデータワードの後に「ストップワード」が存在するなら、ワードの
数字すべてを含んでいるスクラッチフィールドは、データワードを記憶している
最後のアトムの中の位置インジケータと異なり得る。例えば、第17図の第2列に
おいて、最後のデータワード「song」は4の位置にあるが、ストップワード「a
」はその後ろにあり、その結果、行カウンタは5にセットされている。
第17図の例において、データワードは、行の終りに到達する時、または文書の終
りに到達する時、またはデータワードコードの1つが反復される時のうちで一番
最初に到来する時まで(そしてその時に装置は次の行の充填を開始する)、ある
行のアトムにロードされる。第17図の実施例は、以下で示すように、検索の際に
有益な、あるデータワードの1つを超える数の出現をある行が含むことを妨げる
。
「文書」は、ユーザーが望むように定義することができる。例えば、あるシス
テムにおいて、新しい文書は、それぞれの英語の文の最初において開始すること
ができ、その方法は第17図で示される。そして他の実施例においては、長さが定
まっているか長さを変えることができるかを問わず、新聞記事、メモ、書簡、ペ
ージまたはその他の単位などのような実際のテキストブロックとして文書を考え
ることが望まれるかもしれない。第17図の実施例において、スクラッチデータの
カラムは、二重線の右の最初のカラムとして第17図において示されている、文書
の先頭を指示するフラグ(新しい文書を開始するすべての行のためのゼロを含む
)のために取っておく。
発明には、連想記憶装置データワードをリフレッシュ操作の間の被比較数と比
較するための、既に説明した回路(ある行におけるすべてのデータの並列検索を
許容する)が含まれている。その回路は、ある行におけるアトムの内容の一部を
突き合わせるために使用することができる。関連命令がデータワードを突き合わ
せるために検索し、もし一致が認められるなら、ビットのオフセット番号を設置
したデータを特定位置に転送する。そのような比較命令および転送命令は、ある
行におけるデータワードを設置することによる検索を極めて容易にし、もしそれ
が認められるなら、行の開始に関連する、文書の中のデータワードの位置を、ス
クラッチ内の特定位置に転送する。
第18図から第20図までは、データベース操作および全文検索に共通する問題の
いくつかの例を示しており、発明がそのような問題をどのようにしてより容易に
より速く解決できるかを示している。
第18図は、第17図で説明した発明の実施例を使用してブール検索を実行するサ
ンプルプログラムを示すフローチャートである。問題は、あらかじめ決められた
論理関係において、一連の用語(tl...tn)が文書において位置付けられるかど
うかを決定することである。その論理関係は、複雑ではあるが、ブール論理の組
み合わせを引き起こすかもしれない。例えば、「computer」という用語ではなく
、
「song」または「music」および「mathematics」という用語を含むすべての文書
(文であるかメモであるかは問わない)を要求することによって、音楽と数学の
間の関係を議論しているがコンピュータ音楽は扱っていないすべての文書を発見
するためにデータベースに問い合わせすることを希望するかもしれない。
最初に、データが文書の境界線を横断してけた送りされるのを防ぐために使用
される、クオリファイビットとして知られている、それぞれの行と結合している
単一フリップフロップに対して、文書フラグの先頭が転送される。そして次に、
比較命令が、最初の検索用語(「song」)がそれぞれの行に存在するかどうかを決
定するために使用される。用語が位置付けられているそれぞれの行は、突合せビ
ット「M」として知られている、それぞれの行に隣接して位置付けられる別のフ
リップフロップをセットすることによって印を付けられる。次に、Qビットが文
書の先頭を指示するためにセットされた行を除いて、すべての行のためのMビッ
トがけた送りされ、論理「和」機能を持つ隣接するMビットと結合される。けた
送りと結合のプロセスは、文書の中の行の可能な最大数を超えるために十分な回
数だけ繰り返され、その後、各文書の最後の行のMビットは、用語が発見された
かどうかの指示を包含する。
最後の行のMビットは、スクラッチフィールド内の最初のスクラッチビットへ
転送される。Mビットはクリアされ、プロセスは各検索用語のために繰り返され
、その結果、追加スクラッチビットがセットされる。
次に、Mビットが再度クリアされ、文書先頭ビットを含むスクラッチビットは
、用語のすべてが指定通りに存在するか否かを決定するために、マスクによって
検索される。複雑なブール検索の場合、検索を各部分に分類する必要があり、各
部分の結果は単一スクラッチビットに記憶され、最終比較は、いくつかの部分の
それぞれによってセットされるスクラッチビット上で行なわれる。そのプロセス
は長いが、使用するスクラッチビットは少なくて済む。ブール比較は、単純なブ
ール積の合計として表現できるので、システムは、いかに複雑であっても、ブー
ル式に一般化される。
第19図は、第17図で示した発明の実施例を使用して列検索を実行するサンプル
プログラムを示すフローチャートである。列検索は、ユーザーが一連の連続する
検索用語を位置付けることを希望するデータベース照会を表わしている。列検索
に適応させるために、データワードや位置インジケータであるマークビットを表
わすコードを除いて、各アトムを包含させるために、記憶装置を構成することが
有益である。従って、このようなマークビットは、それぞれの行とだけでなく、
それぞれのデータワードと結合する。
プログラムは、上記の方法および指示に従って、各アトムを検索し、データワ
ードが最初の検索用語を突き合わせる各アトムと結合するマークビットをセット
する。次に、プログラムは、データワードが2番目の検索用語を突き合わせる、
および前アトムのためのマークビットがセットされた、すべてのインスタンスの
ために検索する。その検索は、装置がビットの順番を突き合わせる能力を有して
いるために、ビットがデータワードまたは関連データを表わすかどうかを考慮す
ることなく、単一命令によって行なうことができる。検索の結果とは無関係に、
前アトムのマークビットがクリアされるが、2番目の検索が一致を生じるインス
タンスすべては、2番目の検索用語が発見されたアトムのためにマークビットを
セットすることによって印が付けられる。最後に、プログラムは、3番目の検索
用語および残りのすべての検索用語のために、2番目の検索において説明したプ
ロセスを繰り返し、その結果、検索列が位置付けられる各インスタンスの最終デ
ータワードのためにのみ、マークビットがセットされる。
第20図は、第17図で示した発明の実施例を使用して近接検索を実行するサンプ
ルプログラムを示すフローチャートである。近接検索においては、文書内のお互
いから一定距離内に検索用語が位置付けられるすべての文書を位置付けるための
データベースに問い合わせることが望ましい。
インスタンスにおいて、第17図のスクラッチデータフィールドは、検索用語「
good」が検索用語「song」という2つの英語の単語の間に位置付けられるすべて
のインスタンスを確認しようとするインスタンス近接検索の間に第20図のプログ
ラムが第17図の中のデータに関して操作する事例から生じる数字によって満たさ
れる。
最初に、プログラムは、最初の検索用語(ここでは「good」)に対する突合せの
ために記憶装置の行を検索し、第17図のスクラッチデータの中の第3カラムとし
て示した、スクラッチフィールドにおいて突合せと結合した位置インジケータを
設置する。もしも、いかなる一致も認められないなら、第17図の5番目のスクラ
ッチカラムにおいて示した、5ビットのスクラッチフィールドの最初がセットさ
れる。プロセスは、2番目の検索用語(ここでは「song」)のために繰り返され、
その結果は、第17図において4番目のスクラッチカラムとして示した別のスクラ
ッチフィールドにおいて配置される。もしも、いかなる一致も認められないなら
、5つのスクラッチビットの2番目がセットされる。
次に、2つのアドレスを、インスタンスにおいて2つのワードである限界と比
較する数学的処理を行なうために、限界サブプロシージャーが起動される。2つ
の数が引き算され、その差が限界と比較され、もしもその差が限界より大きいな
ら、5つのスクラッチビットの3番目がセットされる。次に、2つの用語は検索
を受ける資格を持つことができる(検索のいかんに係わらず、1つの用語は文書
において最初の用語のように思われる)ので、その差が限界の負数と比較され、
もしもその差が限界の負数より小さいなら、5つのスクラッチビットの4番目が
セットされる。最後に、もしも4つすべてのスクラッチビットがセットされない
なら、5番目のビットがセットされ、近接検索が達成された行、すなわち第17図
の行2と5を指示する。
2つの用語が行の境界線を横切る望ましい近接内にある事例をチェックするこ
とが望ましく、第20図におけるプログラムはその機能をも達成する。第17図にお
ける最初のスクラッチカラムにおけるゼロによって指示される、文書の先頭の行
以外のすべての行のために、次の操作が実行される。すなわち、上方の行(col.
2)からのデータワードの数は、最初の検索用語(col.3)の位置に追加され、2
番目の検索用語(col.4)の位置は、上方の行からけた送りされる。説明を簡単
にするために、第17図において、プログラムはおそらくカラム3と4を再び使用
するだろうが、その操作の結果は、データのカラム6と7において示される。そ
の後、上記の限界試験サブルーチンが繰り返され、結果は、第17図の最後のカラ
ムにおいて示される5つのスクラッチビットにおいて示される(但し、実際のプ
ログラムはカラム5を再び使用する)。このようにして、検索は、用語が望まし
い近接内にある行を確認するが、用語の1つは、前の行の終りまたはその近くに
ある。
第17図において、インスタンスは行3のために示され、行2の終りにある「song
」は、行3の初めにある「good」から2つ目の単語である。
最後に、第20図のフローチャートは、前の行の中の最初の検索用語から望まし
い近接内にある2番目の検索用語を文書の行が含んでいる例を位置付けようとす
るために、データがけた送りされる第3ルーチンを含んでいる。より複雑なプロ
グラムは、いずれの方向にでも、1つの行を上回るデータをけた送りすることが
でき、近接問い合わせがより大きな分離距離を使用することを認めている。プロ
グラムは、最悪の事例において必要となるけた送りの数を決定するために、ライ
ン当りのアトム数の知識を使用でき、けた送り操作の数を正確に実行できた。
近接検索は、同じデータワードが1つの行に2度現われるのを防ぐ上記配置規
則から利益を得ている。その規則は、いかなる曖昧さも回避し、プログラムが、
ただ1つの操作によりある行における2つの単語間の距離を計算することを許容
する。
より複雑な近接検索は、複数の検索用語を包含することができ、その場合、プ
ログラムは、それぞれの組の用語において別々に操作しなければならない。従っ
て、近接検索の複雑性は、用語の数の組み合わせのように増大する。
しかしながら、発明のシステムは、データ内の検索用語をより効率的に発見す
ることによって、またアドレスを迅速に記憶装置に転送することによって、より
効率的な近接検索を可能にし、それにより、たとえ分離距離の計算および調査に
必要な数学の速度が改善されないとしても、検索時間をかなり削減することがで
きる。先行近接検索システムは、位置付けられた用語が近接要件を満たしている
ことを証明するためというよりもむしろ、検索用語を位置付けることに、検索時
間のほとんどを費やした。選択できる基準を、行の中の、データが満たされてい
ない確定した記憶装置位置に一致させるデータをけた送りすることのできる発明
の能力により、望ましい結果の一様な行ごとの計算を可能にする。
発明のシステムは、近接検索、列検索およびブール検索の組み合わせを処理す
ることができる。例えば、ある人は、「hostage」という3つの単語の間にある
が、(c)1988年以後または1984年以前の日付の付いていない(a)「George Bus
h」と(b)「arms」を含んでいるすべての文書を探したいと思うかもしれない。
第20図に関連して示されたシステムは、重み係数がデータのある確定した特性
に割り当てられる「内部積」を実行するために調整することができる。例えば、
各アトムは、データワードの頻度もしくは重要性またはタイプ(例えば、動詞で
あるか名詞であるかなど)のようなデータワードの特性を表現することを予定し
た、「重みコード」を含むフィールドを包含するかもしれない。そして、上記検
索のいずれかが実行されるが、「ヒット」は、1つまたはそれ以上の検索用語の
重みコードの数学的関数によって重みを付けられる。例えば、文書の中に少なく
とも1度単語Dを位置付けることにより2ポイントが生じる一方、単語Bの近くに
単語Aを位置付けることにより毎回3ポイントが生じる。それから、検索は、選
択したポイント数(例えば10ポイント)を超える得点を得たすべての文書、また
は最高得点数の選択した数に一致する得点を得たすべての文書(「最も関連した
」文書)の検索を要求するかもしれない。
動的記憶装置の行に沿ってというよりもむしろ、データベースアプリケーショ
ンにおいて類似データのグループかを引き起こすかもしれない動的記憶装置のカ
ラムに沿って、長い連想記憶装置ワードを記憶することは有益である。カラム方
向の編成がオペランドのために8つのピンのみを必要とする一方、行方向の記憶
は、直進ではあるが、データ(そして多分マスク)オペランドのために、連想記
憶装置ワードの中にあるビットと同じ数のピンを必要とする。さらに重要なこと
は、2つの記憶システムは、連想記憶装置が「走査」される方法において異なっ
ていることである。同時にただ1つのデータ行のみが、行方向の編成の中のリフ
レッシュ増幅器に読み取られるが、検索されなければならないそれぞれの行は、
次々と読み取られなければならない。すべての行を読み取ることを回避するため
には、検索する必要のある行のみを読み取るための「ページ管理」スケジューラ
が必要となる。
一方、カラム方向の編成は、連想規則装置ワードカラムの読取りまたは書込み
を許可し、他の連想記憶装置ワードカラムが選択的にスキップされるのを許可し
、それにより、システムは、データ上でより効率的に比較器論理を使用すること
ができる。カラム内の各アトムは、検索用語がピンに入力される時にリフレッシ
ュ増幅器の中にある。もし、検索命令が他のカラムを引用する必要がないなら、
そ
れらのカラムは、スキップされ、リフレッシュ増幅器の中に読み取られない。(
もちろん、それらのカラムは定期的にリフレッシュされなければならない。)検
索命令は、もしも各カラムが同じ幅であるなら、3の係数によってスピードアッ
プすることができる。
上記のワード編成は特に、データの共通パターンを持つデータベースにおいて
効果的である。例えば、電話加入者名簿データベースにおいて、最初のカラムに
はすべてのラストネームが含まれ、2番目のカラムにはファーストネームが含ま
れ、3番目のカラムには住所が含まれ、4番目のカラムには電話番号が含まれる
。従って、連想規則装置の最初のワードにはすべてのラストネームが含まれるが
、各人は記憶装置の単一の行の中に留まっている。そのような種類のカラム方向
の編成は、「don't care」突き合わせのみが存在する、検索用語に関係しない検
索カラムを記憶装置は回避することができるので、より効率的である。例えば、
「Smith」に関する100行のデータベースの検索は、4つのすべてのカラムではな
く、また行に関する編成において要求される100の検索でもなく、1つのワード
における操作のみを要求する。比較器ハードウエアは、検索されなければならな
いデータを検索するためにのみ使用され、すべて「don't care」を有するカラム
を検索するためには浪費されない。スキップされるべきカラムは、どの命令オペ
ランドのカラムが「don't care」のみを有するかを知ることによって直接決定す
ることができる。
DAAM命令は通常、連続して(例えば左から右へ)、動的記憶装置チップの行で
あるが、ある確定カラム数で走査を開始し、確定数のカラムのために走査を継続
する、連想記憶装置のカラムを走査する。ある命令は以上の方法で走査し、その
後、カラムの別の収集を連続的に走査するために、その別の収集に飛ぶ。すべて
のカラムを走査することは可能であり、記憶装置のすべてをリフレッシュするた
めに定期的にその走査を行なう必要がある。典型的な命令は、実際に検索され、
出力され、または書込まれる記憶装置の部分のみをリフレッシュする。
上記ルーチンには、特に連想記憶装置ワード内において、一定の算術演算また
はブール論理演算が含まれる。例えば、第17図と第20図に関連して既に説明した
近接検索は、位置付けされた検索用語間の距離を決定するために引き算を要求す
る。特にDRAMに基づいた DAAMにおいて、算術演算の以下のシステムを実行する
ことは有利である。
より速い算術演算を実行するために、優先回路は次の命令を使用することがで
きる。最初に、比較(「C」)命令は、データdを、並列的に、そしてビットに関
する様式で、連想記憶装置内のすべてのワードと比較する。値mは、条件付き比
較のためのマスク値を表わしている。mがセットされない(マスクされない)各
ビットのために、dの対応ビット位置が、各連想記憶装置ワードの対応ビット位
置と比較される。もしも比較が正確であるなら、各連想記憶装置ワードのための
突合せフリップフロップはセットされ、正確でないなら、突合せフリップフロッ
プはクリアされる。データdとマスクmは、最大でワードの大きさまでのビットの
長さを持つことができるが、双方の長さは同じでなければならない。比較は、連
想記憶装置ワードの左から開始し、d(およびm)が使い尽くされるまで右へ移動
する。この命令の代替形式(データとマスクの双方を持つすべての命令)は、d
とmの組み合わせであるただ1つの演算コードを表現することである。この形式
において、マスクがセットされる(マスクされる、従って、don't cares)時に
はいつでも、演算コードは「x」または「?」を示す。例えば、もしも、d=100101
10、そしてm=11000011であるなら、組み合わされた演算コードは10xxxx10となる
。
第2に、多重書込み(「MW」)命令は、突合せフリップフロップがセットされ
るすべての連想記憶装置ワードにdの値を書き込む。そしてここでも、mは、条件
付きのビット書込みを許容するマスク値である。(用語dとmは比較命令の場合と
同じように定義される。dとmの値もまた、上記で定義したように単一演算コード
へ消失する。)
第3に、比較排他(「CNA」)命令は、比較命令のための定義通りに機能する
が、次のような差異がある。すなわち、突合せフリップフロップは、(a)比較
が成功し、(b)突合せフリップフロップの値がCNA命令の実行以前にゼロであっ
た場合に限りセットされる。論理用語において、突合せフリップフロップ=比較
排他の古い突合せフリップフロップの成功(排他が逆を意味する場合)。ここで
も、すべての命令のように、CNAは、並列的に、各連想記憶装置ワードのために
実行
される。
第4に、比較論理和(「CO」)命令は、事前にセットされる場合、または比較
が成功する場合に突合せフリップフロップがセットされる場合を除いて、比較命
令のための定義通りに機能する。換言すれば、突合せフリップフロップがCO命令
の実行以前にセットされたことを条件として、もしも突合せが失敗するなら、突
合せフリップフロップはクリアされない。またもしも、比較が失敗し、突合せフ
リップフロップがセットされなかったなら、突合せフリップフロップはクリアさ
れたままである。
装置は、通常の2進算術演算よりも効率的であるが伝統的ではない方法で、近
接問い合わせまたは内部積問い合わせのような検索によって得た数字について、
追加、比較、ならびに乗算および除算のためのけた送りのような算術演算を実行
する。典型的なDRAMは、センス増幅器におけるビット配列記憶装置(既に議論し
た実施例における連想記憶装置のカラム)からのすべての行をシステムが読み取
ることのできる「ページモード」読取り操作を有している。そのような機能を使
用することにより、ビット配列各記憶装置読取り操作から同じデータを出力し、
そのデータを検索または変更し、その後、そのデータをビット配列記憶装置へ再
書込みするよりもむしろ、データがセンス増幅器の中にある間に、データを検索
し再書込みすることにより、約4の係数だけ、算術演算をスピードアップするこ
とができる。
しかしながら、センス増幅器の中のデータを効率的に検索し変更するためには
、連想記憶ワードは、そのワードに結合したセンス増幅器において同時に利用で
きる、検索または変更されるすべてのビットを持たなければならない。従って、
連想記憶装置ワードのバイト幅のカラムが8つのセンス増幅器の中にあるように
、データを配列することが望ましい。8つの増幅器は例示目的で使用されるが、
少なくとも2つの増幅器が使用される限り、それぞれの行において増幅器を使用
することができる。
ここで、2つの9ビットの数、a8,a7,a6,a5,a4,a3,a2,a1,a0とb8,b7
,b6,b5,b4,b3,b2,b1,b0として確認される2つの数を加算する場合を考え
てみる。そしてその場合、例えばa3は、番号aの3番目の最下位ビットである。
スクラッチ記憶装置の右端のバイトにおいて、データは、順番に、けた上げビッ
ト(c)、未使用ビット、a2,a1,a0、そしてb2,b1,b0の順序になるように配
列される。スクラッチ記憶装置の右端から2番目のバイトにおいては、ビットは
、別のけた上げビット、未使用ビット、a5,a4,a3、そしてb5,b4,b3の順序で
ある。またスクラッチ記憶装置の右端から3番目のバイトにおいては、ビットは
、ビットa7のb7への追加の間に使用されるけた上げである別のけた上げビット(
「中間けた上げ」と呼ばれる)であり、2の補数オーバーフロー、a8,a7,a6,
およびb8,b7,b6を指示するために使用される。最下位ビットa0はb0に加えられ
、その結果は、最下位ビットおよび最上位ビットの特別処理を示している第21図
のプログラムにおける一連の操作に従って、けた上げcおよびb0に投入される。
データのこのような編成の重要性は、データが、センス増幅器の中のビット配列
の行から読み取られ、操作され、ビット配列の行に書き込まれる場合に、既に示
した4つの命令が、ある命令を実行するのに要する時間内に実行できるというこ
とにある。
真理値表により確定できる操作は、操作C.CO,CNAおよびMWを使用して実行す
ることができる。真理値表の行において、結果(番号b)または状態(けた上げc
)の変更が1組の命令に符号化される。C命令は、入力パターンを確認するため
に使用され、MW命令は、変更パターンを書き込むために使用される。もしもパタ
ーンが同じ変更を要求するなら、プログラムの効率性を向上させるために、2つ
の命令C MWとC MWは、命令順番C CO MWと交換することができる。
熟練技術者は、発明の多くの代替形式および具体化は、発明の精神および範囲か
ら逸脱することなく考案することができることを理解している。
─────────────────────────────────────────────────────
フロントページの続き
(72)発明者 リポヴスキー,ジー ジャック
アメリカ合衆国 テキサス 78712 オー
スティン デパートメント オブ エレク
トリカル アンド コンピューター エン
ジニアリング ユニバーシティー オブ
テキサス アット オースティン(番地な
し)
Claims (1)
- 【特許請求の範囲】 1.(a)電子形式でデータを記憶するための装置と、 (b)予め決められた多重ビット検索可能ワード記憶位置において複数の多 重ビットワードを記憶するための記憶装置に電子的に結合している記憶装置と、 (c)記憶装置において記憶されたデータを記憶装置に転送するための装置 と、 (d)転送データの選択された部分集合のための、転送データを含む記憶装 置を検索するための記憶装置に電子的に結合し制御する制御装置と を包含するデータ記憶装置および検索装置。 2.前記データ記憶装置が少なくとも1つの磁気記憶装置を含んでいることを特 徴とする請求項1記載のデータ記憶装置および検索装置。 3.前記データ記憶装置が少なくとも1つの光学記憶装置を含んでいることを特 徴とする請求項1記載のデータ記憶装置および検索装置。 4.前記データ記憶装置が少なくとも1つの多重プラッタ記憶装置を含んでいる ことを特徴とする請求項1記載のデータ記憶装置および検索装置。 5.前記データ記憶装置が少なくとも1つのソリッドステート記憶装置を含んで いることを特徴とする請求項1記載のデータ記憶装置および検索装置。 6.前記データ記憶装置が少なくとも1つの磁気テープ記憶装置を含んでいるこ とを特徴とする請求項1記載のデータ記憶装置および検索装置。 7.前記データ記憶装置が少なくとも1つのフラッシュメモリを含んでいること を特徴とする請求項1記載のデータ記憶装置および検索装置。 8.前記データ記憶装置が、前記多重プラッタ記憶装置の各プラッタと結合して いる少なくとも1つの読取りヘッドを含んでいることを特徴とする請求項4記載 のデータ記憶装置および検索装置。 9.前記記憶装置が集積回路上に少なくとも1つの連想記憶装置を含んでいるこ とを特徴とする請求項1記載のデータ記憶装置および検索装置。 10.前記記憶装置が集積回路上に少なくとも1つの連想記憶装置を含んでいるこ とを特徴とする請求項1記載のデータ記憶装置および検索装置。 11.前記データ転送装置が切り替え可能なデータバスを含んでいることを特徴と する請求項1記載のデータ記憶装置および検索装置。 12.データが選択された部分集合を位置付けるための記憶装置を制御するために 、処理装置回路のための少なくとも1つの命令の順序を含んでいる、総合処理装 置回路およびプログラム記憶装置を、少なくとも含んでいることを特徴とする請 求項1記載のデータ記憶装置および検索装置。 13.前記命令の順序が、被比較数を生み出すための手段を含んでいることを特徴 とする請求項12記載のデータ記憶装置および検索装置。 14.前記記憶装置が、被比較数とデータとの間の突合せを含む記憶装置の位置を 指示するための装置を含んでいることを特徴とする請求項13記載の装置。 15.前記記憶装置が、記憶装置のそれぞれの位置において定期的にデータをリフ レッシュするための単一半導体チップ上に集積されたリフレッシュ装置を含んで おり、また、当該リフレッシュ装置の操作中に記憶データと被比較数を比較する ための装置を含んでいることを特徴とする請求項14記載のデータ記憶装置 および検索装置。 16.前記データ転送装置が、 (a)同時に多くのプラッタの読取りヘッドを効果的にするための装置と、 (b)予め決められた順序で、効果的な読取りヘッドによって読取られたデ ータを集めるための装置と、 (c)記憶装置内の予め決められた位置に集めたデータを転送するための装 置と を包含していることを特徴とする請求項8記載のデータ記憶装置および探 索装置。 17.(a)ソリッドステート記憶装置の多数のバンクを含む記憶装置と、 (b)選択されたメモリバンクの1つに接続できる切り替え可能なバスを含 むデータ転送装置と、 (c)メモリバンクの1つを制御装置に結合するための装置、および少なく とも1つの他のメモリバンクをデータ記憶装置に結合するための装置を含む制御 装置と からなることを特徴とする請求項1記載のデータ記憶装置および検索装 置。 18.(a)予め決められた多重ビットワード記憶装置位置において、多数の多重 ビットワードを記憶するための記憶装置と、 (b)データのビットの予め決められたパターンのために多重ビットワード 記憶装置位置を検索するための装置、および、突合せビットパターンをその元の 位置に関連する記憶装置の中の予め決められた位置へ転送するための装置と を包含することを特徴とするデータ記憶装置。 19.(a)データを保持するためにリフレッシュを必要とし、ワードのビットが 配 列を形成する多数のアドレス指定可能な、予め決められた多重ビットワード記憶 装置位置において多数の多重ビットデータワードを記憶するための、1つの半導 体チップ上に集積された動的データ記憶装置と、 (b)前記位置のそれぞれを定期的にアドレス指定するための、チップ上に 集積されたアドレス指定回路装置と、 (c)前記位置のそれぞれにおいて記憶されたデータを定期的にリフレッシ ュするために、チップ上に集積され、前記位置のそれぞれに対して前記アドレス 指定回路装置によって任意に接続でき、多くのセンス増幅器を含み、そのそれぞ れが前記位置の1つに関連している、リフレッシュ回路装置と、 (d)データワードと結合しているセンス増幅器へ同時に、各データワード の多数のビットを読み取るための装置と、 (e)各データワードのために、センス増幅器の中のビットの最初の部分集 合を少なくとも1つの予め決められた値と比較するための、およびセンス増幅器 の中のビットの第2の部分集合を予め決められた値にセットするための、チップ 上に集積され、センス増幅器と電子的に結合された論理装置と を包含することを特徴とするデータ記憶装置。 20.それぞれがビット配列の行の中にある多数の多重ビットワードを記憶するた めの装置を記憶装置が含んでおり、前記リフレッシュ回路装置が、同時にビット 配列の多数のカラムをリフレッシュするための装置 を含んでいることを特徴とする請求項19記載のデータ記憶装置。 21.前記読取り装置が、各データワードのバイトを同時に読み取るための装置を 含んでいることを特徴とする請求項19記載のデータ記憶装置。 22.(a)データ記憶装置内に電子データを記憶する段階と、 (b)データ記憶装置から、連想記憶装置の予め決められた多重ビットワー ド記憶装置位置における多数の多重ビットワードへデータを転送する段階と 、 (c)転送データの選択された部分集合のために、転送データを含んでいる 連想記憶装置を検索する段階と を包含していることを特徴とするデータの記憶および検索方法。 23.前記記憶段階が少なくとも1つの磁気記憶装置上の記憶データを含んでいる ことを特徴とする請求項22記載のデータの記憶および検索方法。 24.前記記憶段階が少なくとも1つの光学記憶装置上の記憶データを含んでいる ことを特徴とする請求項22記載のデータの記憶および検索方法。 25.前記記憶段階が少なくとも1つの多重プラッタ記憶装置上の記憶データを含 んでいることを特徴とする請求項22記載のデータの記憶および検索方法。 26.前記記憶段階が少なくとも1つのソリッドステート記憶装置上の記憶データ を含んでいることを特徴とする請求項22記載のデータの記憶および検索方法。 27.前記記憶段階が少なくとも1つの磁気テープ上の記憶データを含んでいるこ とを特徴とする請求項22記載のデータの記憶および検索方法。 28.前記記憶段階が少なくとも1つのフラッシュメモリの記憶データを含んでい ることを特徴とする請求項22記載のデータの記憶および検索方法。 29.前記転送段階が多数のプラッタからの同時のデータ読取りを含んでいること を特徴とする請求項25記載のデータの記憶および検索方法。 30.前記検索段階が、被比較数と記憶装置に記憶されているデータとを連想記憶 装置に比較させる段階と、 被比較数とデータとの間の突合せを含む記憶装置位置を連想記憶装置に指示 させる段階と を含んでいることを特徴とする請求項22記載のデータの記憶および検索方法。 31.記憶装置のそれぞれの位置においてデータを定期的にリフレッシュする段階 と、 リフレッシュ段階において記憶データと被比較数とを比較する段階とを前記検 索段階が含んでいることを特徴とする請求項22記載のデータの記憶および検索方 法。 32.前記転送段階が、 同時に多数のプラッタの読取りヘッドを効果的にし、 予め決められた順序で効果的な読取りヘッドによって読取られたデータを集め 、 データ記憶装置の中の予め決められた位置へ集めたデータを転送することを特 徴とする請求項29記載のデータの記憶および検索方法。 33.連想記憶装置が多数の連想記憶装置バンクを含み、 転送データのための目標として多数のメモリバンクの中から第1メモリバンク を選択する段階を含んでいる転送段階と、 前記転送段階が実行されている間に第2メモリバンクを検索する段階を含んで いる検索段階と、 前記転送段階が目標として第2バンクを使用し、検索段階が第1バンクの中の データにおいて操作するために、後に第1および第2のメモリバンクを切り替え る段階と を含んでいることを特徴とする請求項22記載のデータの記憶および検索方法。 34.多数の予め決められた多重ビットワード記憶装置位置の中に多数の多重ビッ トデータワードを記憶する記憶段階と、 前記位置のそれぞれと結合したセンス増幅器へ同時に多数の各データワード のビットを読み取ることによって、前記位置のそれぞれにおいて記憶されたデー タをリフレッシュするために、前記位置のそれぞれに定期的にアクセスするアク セス段階と、 それぞれのデータワードのために、センス増幅器の中のビットの最初の部分集 合を、予め決められた値と比較する比較段階と、 センス増幅器の中のビットの第2部分集合を、比較の結果により決定された値 に設定する設定段階と を含むことを特徴とするデータの記憶および処理方法。 35.ビットがセンス増幅器に留まっている間に、前記比較段階と設定段階とが多 数回実行され、毎回異なる予め決められた値で実行されることを特徴とする請求 項34記載のデータの記憶および処理方法。
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US07/987,008 US5758148A (en) | 1989-03-10 | 1992-12-07 | System and method for searching a data base using a content-searchable memory |
| US07/987,008 | 1992-12-07 | ||
| PCT/US1993/011820 WO1994014162A1 (en) | 1992-12-07 | 1993-12-06 | Pattern search and refresh logic in dynamic memory |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH08504992A true JPH08504992A (ja) | 1996-05-28 |
Family
ID=25532983
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP6514306A Pending JPH08504992A (ja) | 1992-12-07 | 1993-12-06 | 動的記憶装置におけるパターン検索およびリフレッシュ論理 |
Country Status (6)
| Country | Link |
|---|---|
| US (1) | US5758148A (ja) |
| EP (1) | EP0676081A4 (ja) |
| JP (1) | JPH08504992A (ja) |
| KR (1) | KR100230767B1 (ja) |
| CA (1) | CA2150822A1 (ja) |
| WO (1) | WO1994014162A1 (ja) |
Families Citing this family (32)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6076141A (en) * | 1996-01-24 | 2000-06-13 | Sun Microsytems, Inc. | Look-up switch accelerator and method of operating same |
| US5987460A (en) * | 1996-07-05 | 1999-11-16 | Hitachi, Ltd. | Document retrieval-assisting method and system for the same and document retrieval service using the same with document frequency and term frequency |
| US6199140B1 (en) | 1997-10-30 | 2001-03-06 | Netlogic Microsystems, Inc. | Multiport content addressable memory device and timing signals |
| US6289490B1 (en) * | 1997-10-31 | 2001-09-11 | The Board Of Trustees Of The Leland Stanford Junior University | Optimization of integrated circuit properties through constraints using a dominant time constant |
| US6240485B1 (en) | 1998-05-11 | 2001-05-29 | Netlogic Microsystems, Inc. | Method and apparatus for implementing a learn instruction in a depth cascaded content addressable memory system |
| US6219748B1 (en) * | 1998-05-11 | 2001-04-17 | Netlogic Microsystems, Inc. | Method and apparatus for implementing a learn instruction in a content addressable memory device |
| NO309169B1 (no) * | 1998-11-13 | 2000-12-18 | Interagon As | Sokeprosessor |
| US6314506B1 (en) * | 1998-12-28 | 2001-11-06 | Intel Corporation | Method and apparatus for determining a next address within a binary search algorithm |
| US6308220B1 (en) | 1999-01-29 | 2001-10-23 | Neomagic Corp. | Circulating parallel-search engine with random inputs for network routing table stored in a wide embedded DRAM |
| CA2332034C (en) * | 1999-03-15 | 2008-07-29 | Uqe Llc | A method and system for providing copy-protection on a storage medium and storage medium for use in such a system |
| CA2291310C (en) * | 1999-11-30 | 2007-04-10 | Mosaid Technologies Inc. | Generating searchable data entries and applications therefore |
| US6845369B1 (en) | 2000-01-14 | 2005-01-18 | Relevant Software Inc. | System, apparatus and method for using and managing digital information |
| US6892237B1 (en) * | 2000-03-28 | 2005-05-10 | Cisco Technology, Inc. | Method and apparatus for high-speed parsing of network messages |
| US6658458B1 (en) | 2000-06-22 | 2003-12-02 | Cisco Technology, Inc. | Cascading associative memory arrangement |
| US7051078B1 (en) | 2000-07-10 | 2006-05-23 | Cisco Technology, Inc. | Hierarchical associative memory-based classification system |
| WO2003017136A1 (en) * | 2001-08-16 | 2003-02-27 | Etagon Israel Ltd. | Using associative memory to perform database operations |
| US7020657B2 (en) * | 2001-09-27 | 2006-03-28 | International Business Machines Corporation | Scalable hardware scheduler time based calendar search algorithm |
| 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) |
| EP1376608A1 (fr) * | 2002-06-28 | 2004-01-02 | Cp8 | Procédé d'écriture dans une mémoire non volatile et système pour la mise en oeuvre d'un tel procédé |
| US7426511B2 (en) * | 2004-03-08 | 2008-09-16 | International Business Machines Corporation | Efficient support of consistent cyclic search with read-copy-update |
| US7917694B1 (en) | 2004-09-23 | 2011-03-29 | Netlogic Microsystems, Inc. | Method and system for finding maximal stripes in cache memory with content addressable memory |
| US7242599B2 (en) * | 2005-04-22 | 2007-07-10 | John Robert Burger | Self-analyzing memory word |
| US20070168333A1 (en) * | 2006-01-05 | 2007-07-19 | Hung-Chih Yu | Data processing method |
| US20090006785A1 (en) * | 2007-06-28 | 2009-01-01 | Qimonda Ag | Apparatus, method and system for comparing sample data with comparison data |
| US8145654B2 (en) * | 2008-06-20 | 2012-03-27 | Lexisnexis Group | Systems and methods for document searching |
| US8427854B2 (en) * | 2010-04-15 | 2013-04-23 | Microsoft Corporation | Utilization of memory refresh cycles for pattern matching |
| KR101882681B1 (ko) * | 2011-10-27 | 2018-07-31 | 삼성전자 주식회사 | 메모리 장치 및 그 구동 방법 |
| EP3014494A4 (en) * | 2014-05-17 | 2017-03-15 | Khalid Omar Thabit | A method of searching text based on two computer hardware processing properties: indirect memory addressing and ascii encoding |
| US10068645B2 (en) | 2016-05-31 | 2018-09-04 | Qualcomm Incorporated | Multiple cycle search content addressable memory |
| US11663124B2 (en) * | 2020-02-25 | 2023-05-30 | Micron Technology, Inc. | Apparatuses and methods for interfacing on-memory pattern matching |
| CN113608704B (zh) * | 2021-08-26 | 2025-03-18 | 上海芯圣电子股份有限公司 | 一种加速存储器读取的方法及与其相对应的辅助系统 |
| US20250298846A1 (en) * | 2022-04-26 | 2025-09-25 | Katsumi Inoue | Full-text search processor |
Family Cites Families (40)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US3508220A (en) * | 1967-07-31 | 1970-04-21 | Burroughs Corp | Fast access content-organized destructive readout memory |
| US3810108A (en) * | 1972-05-30 | 1974-05-07 | Ibm | Processor utilizing a holographic array and a content addressable storage unit for high speed searching |
| US3997882A (en) * | 1975-04-01 | 1976-12-14 | Burroughs Corporation | Content addressable memory system employing charge coupled device storage and directory registers and N/(1-H) counter refresh synchronization |
| US4065756A (en) * | 1976-03-15 | 1977-12-27 | Burroughs Corporation | Associative memory with neighboring recirculated paths offset by one bit |
| US4172282A (en) * | 1976-10-29 | 1979-10-23 | International Business Machines Corporation | Processor controlled memory refresh |
| EP0005317B1 (en) * | 1978-05-08 | 1981-10-28 | British Broadcasting Corporation | Data receiving apparatus |
| US4185323A (en) * | 1978-07-20 | 1980-01-22 | Honeywell Information Systems Inc. | Dynamic memory system which includes apparatus for performing refresh operations in parallel with normal memory operations |
| US4277833A (en) * | 1978-09-05 | 1981-07-07 | Dickey-John Corporation | Planter population monitor |
| US4232376A (en) * | 1979-03-15 | 1980-11-04 | Rca Corporation | Raster display refresh system |
| US4450520A (en) * | 1981-03-11 | 1984-05-22 | University Of Illinois Foundation | Method and system for matching encoded characters |
| US4590465A (en) * | 1982-02-18 | 1986-05-20 | Henry Fuchs | Graphics display system using logic-enhanced pixel memory cells |
| US4507748A (en) * | 1982-08-02 | 1985-03-26 | International Telephone And Telegraph Corporation | Associative processor with variable length fast multiply capability |
| US4783649A (en) * | 1982-08-13 | 1988-11-08 | University Of North Carolina | VLSI graphics display image buffer using logic enhanced pixel memory cells |
| JPS59140694A (ja) * | 1983-01-31 | 1984-08-13 | Sharp Corp | ダイナミツクramのリフレツシユ方法 |
| US4709327A (en) * | 1983-05-31 | 1987-11-24 | Hillis W Daniel | Parallel processor/memory circuit |
| US4598400A (en) * | 1983-05-31 | 1986-07-01 | Thinking Machines Corporation | Method and apparatus for routing message packets |
| JPS60234295A (ja) * | 1984-05-04 | 1985-11-20 | Fujitsu Ltd | 半導体記憶装置 |
| JPS615495A (ja) * | 1984-05-31 | 1986-01-11 | Toshiba Corp | 半導体記憶装置 |
| US4794559A (en) * | 1984-07-05 | 1988-12-27 | American Telephone And Telegraph Company, At&T Bell Laboratories | Content addressable semiconductor memory arrays |
| GB2161263B (en) * | 1984-07-05 | 1988-03-30 | Stc Plc | Associative memory systems |
| GB8427165D0 (en) * | 1984-10-26 | 1984-12-05 | British Telecomm | Adaptive recognising device |
| US4646306A (en) * | 1984-12-26 | 1987-02-24 | Thomson Components - Mostek Corporation | High-speed parity check circuit |
| US4716552A (en) * | 1985-03-29 | 1987-12-29 | Advanced Micro Devices, Inc. | Method and apparatus for non-destructive access of volatile and non-volatile data in a shadow memory array |
| US4748439A (en) * | 1985-08-13 | 1988-05-31 | Fairchild Semiconductor Corporation | Memory apparatus and method for retrieving sequences of symbols including variable elements |
| US4747072A (en) * | 1985-08-13 | 1988-05-24 | Fairchild Camera And Instrument Corporation | Pattern addressable memory |
| US4835733A (en) * | 1985-09-30 | 1989-05-30 | Sgs-Thomson Microelectronics, Inc. | Programmable access memory |
| US4831585A (en) * | 1985-11-27 | 1989-05-16 | Massachusetts Institute Of Technology | Four transistor cross-coupled bitline content addressable memory |
| US4718041A (en) * | 1986-01-09 | 1988-01-05 | Texas Instruments Incorporated | EEPROM memory having extended life |
| JPS62220028A (ja) * | 1986-03-20 | 1987-09-28 | Fujitsu Ltd | 論理回路 |
| US4710935A (en) * | 1986-04-04 | 1987-12-01 | Unisys Corporation | Parity detection system for wide bus circuitry |
| US4799192A (en) * | 1986-08-28 | 1989-01-17 | Massachusetts Institute Of Technology | Three-transistor content addressable memory |
| US5073864A (en) * | 1987-02-10 | 1991-12-17 | Davin Computer Corporation | Parallel string processor and method for a minicomputer |
| JPS63200391A (ja) * | 1987-02-16 | 1988-08-18 | Toshiba Corp | スタテイツク型半導体メモリ |
| JPH0673114B2 (ja) * | 1987-03-31 | 1994-09-14 | 日本電気株式会社 | キヤツシユ制御装置 |
| US4749887A (en) * | 1987-06-22 | 1988-06-07 | Ncr Corporation | 3-input Exclusive-OR gate circuit |
| JPH01196792A (ja) * | 1988-01-29 | 1989-08-08 | Mitsubishi Electric Corp | 半導体記憶装置 |
| US4882699A (en) * | 1988-09-19 | 1989-11-21 | International Business Machines Corp. | Communications network routing and management system |
| US4989180A (en) * | 1989-03-10 | 1991-01-29 | Board Of Regents, The University Of Texas System | Dynamic memory with logic-in-refresh |
| US5214715A (en) * | 1991-01-31 | 1993-05-25 | Trustees Of Boston University | Predictive self-organizing neural network |
| US5285411A (en) * | 1991-06-17 | 1994-02-08 | Wright State University | Method and apparatus for operating a bit-slice keyword access optical memory |
-
1992
- 1992-12-07 US US07/987,008 patent/US5758148A/en not_active Expired - Fee Related
-
1993
- 1993-12-06 KR KR1019950702379A patent/KR100230767B1/ko not_active Expired - Fee Related
- 1993-12-06 JP JP6514306A patent/JPH08504992A/ja active Pending
- 1993-12-06 WO PCT/US1993/011820 patent/WO1994014162A1/en not_active Ceased
- 1993-12-06 EP EP94903480A patent/EP0676081A4/en not_active Withdrawn
- 1993-12-06 CA CA002150822A patent/CA2150822A1/en not_active Abandoned
Also Published As
| Publication number | Publication date |
|---|---|
| KR950704788A (ko) | 1995-11-20 |
| EP0676081A4 (en) | 1997-11-05 |
| US5758148A (en) | 1998-05-26 |
| CA2150822A1 (en) | 1994-06-23 |
| WO1994014162A1 (en) | 1994-06-23 |
| EP0676081A1 (en) | 1995-10-11 |
| KR100230767B1 (ko) | 1999-11-15 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPH08504992A (ja) | 動的記憶装置におけるパターン検索およびリフレッシュ論理 | |
| US5694406A (en) | Parallel associative processor formed from modified dram | |
| US5777608A (en) | Apparatus and method for in-parallel scan-line graphics rendering using content-searchable memories | |
| US6389507B1 (en) | Memory device search system and method | |
| US8004868B2 (en) | Method and apparatus for performing variable word width searches in a content addressable memory | |
| US20010052062A1 (en) | Parallel computer within dynamic random access memory | |
| CN103890856B (zh) | 支持内存储数据结构的可移位存储器 | |
| JP2005527043A (ja) | Fpgaデバイスを用いた連想データベーススキャンおよび情報検索 | |
| JPH11273365A (ja) | 内容呼出し可能メモリ(cam) | |
| JPH0676583A (ja) | 内容番地付記憶装置および一致ワード不要化方法 | |
| CN1739164B (zh) | 用于内容可寻址存储器内的宽字删除的方法和设备 | |
| JPH09167495A (ja) | データ記憶ユニット及び該ユニットを用いたデータ記憶装置 | |
| US6868475B2 (en) | Content addressable memory having data width extension capability | |
| JPH11282852A (ja) | データ検索装置 | |
| JP7622331B2 (ja) | コンピューティングシステム及びその動作の方法 | |
| JP3597899B2 (ja) | 連想メモリ | |
| JPH01171022A (ja) | ハッシュビットアレイ構成方法 | |
| JP3265993B2 (ja) | ソート処理装置 | |
| JPS5982695A (ja) | 半導体記憶素子 | |
| JPS59116991A (ja) | 連想メモリ装置 | |
| JPH07192477A (ja) | 検索メモリ装置、検索メモリ、データ検索装置及び検索メモリの使用方法 | |
| JPH0551999B2 (ja) | ||
| JPH01129324A (ja) | データ検索装置 | |
| JPH0272481A (ja) | 論理式による文字列検索装置及び同装置の制御方式 | |
| JPH09146837A (ja) | キャッシュバイパス回路 |