JP3732637B2 - 記憶装置、記憶装置のアクセス方法及び半導体装置 - Google Patents

記憶装置、記憶装置のアクセス方法及び半導体装置 Download PDF

Info

Publication number
JP3732637B2
JP3732637B2 JP35927497A JP35927497A JP3732637B2 JP 3732637 B2 JP3732637 B2 JP 3732637B2 JP 35927497 A JP35927497 A JP 35927497A JP 35927497 A JP35927497 A JP 35927497A JP 3732637 B2 JP3732637 B2 JP 3732637B2
Authority
JP
Japan
Prior art keywords
way
array
address
data
line
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP35927497A
Other languages
English (en)
Other versions
JPH11191078A (ja
Inventor
健一 長田
孝一郎 石橋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Renesas Technology Corp
Original Assignee
Renesas Technology Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Renesas Technology Corp filed Critical Renesas Technology Corp
Priority to JP35927497A priority Critical patent/JP3732637B2/ja
Priority to TW087121413A priority patent/TW507198B/zh
Priority to US09/219,429 priority patent/US6058038A/en
Priority to KR1019980058687A priority patent/KR100540964B1/ko
Publication of JPH11191078A publication Critical patent/JPH11191078A/ja
Priority to US09/549,230 priority patent/US6295218B1/en
Application granted granted Critical
Publication of JP3732637B2 publication Critical patent/JP3732637B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1027Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0864Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using pseudo-associative means, e.g. set-associative or hashing
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C15/00Digital 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C15/00Digital 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/04Digital 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は半導体記憶装置にかかわり、特にマイクロプロセッサやマイクロコンピュータ等のデータ処理装置に内蔵されるキャッシュメモリに適用して有効な技術に関する。
【0002】
【従来の技術】
近年、低電力マイクロプロセッサの性能向上に伴い、オンチップキャッシュメモリの性能向上(高速化および低電力化)が重要となっている。一般に物理アドレスキャッシュの構成方法は3つに分類することができる。すなわち、ダイレクトマップ方式、フルアソシアティブ方式、セットアソシアティブ方式である。近年のマイクロプロセッサでは、ハードの複雑さ、ヒット率およびアクセス時間等を考慮して、セットアソシアティブ方式が採用されることが多い。
【0003】
図12を用いて、セットアソシアティブ方式について、2ウエイセットアソシアティブ方式を例にとって説明する。
【0004】
論理アドレス内の、ページ内オフセットアドレスを用いて、キャッシュデータアレイにアクセスし、それぞれのウエイから2つのデータをバスの手前まで読みだす。それと同時に、キャッシュタグアレイにアクセスし、読み出されたデータに対応する2つのタグを読みだして、論理アドレス内の仮想ページ番号をTLB(トランスレイション・ルックアサイド・バッファー)によって変換した物理アドレスと比較する。物理アドレスとタグの値が一致(ヒット)した場合、そのウエイのデータをバスに出力する。
【0005】
通常TLBをアクセスして、ヒットを検出するまでの時間のほうが、データアレイからデータを読みだす時間より長いため、ヒット信号が確定するまでは、データアレイから読み出したデータをバスに出力できず、アクセス時間が大きくなる。また、2つのデータを読みだす必要があるため消費電力も大きくなる。
【0006】
この問題を解決する方法として、仮想ページ番号を用いて、ウェイを先に選択してからデータアレイにアクセスする方法が提案されている。この例として、アイ・エス・エス・シー・シー ダイジェスト オブ テクニカル ペーパーズ 第174頁から第175頁(1995年)(ISSCC Digest of Technical Papers, pp. 174-175, Feb., 1995.)の回路がある。
【0007】
この従来技術は、仮想ページ番号をもつCAMアレイ(ECAM)と物理アドレスをもつCAMアレイ(RCAM)と、データを保持するメモリセルアレイからなる。データを読み出す時は、8つのデータ(8ウエイ)からなる1つのセットをページ内オフセットアドレスを用いて選択し、さらに、その内の1つのウエイをECAMによって選択する。その結果をもとに、メモリアレイにアクセスし、データを読みだす。同時に対応するRCAMの値も読み出し、選択されたウエイが正しいかチェックする。一方データの書き込みは、1つのセットを選択し、RCAMを用いて選択されたウエイにデータを書き込む。つまり、この方法は、論理アドレスを用いてウエイをあらかじめ選択し、後で物理アドレスを用いて選択が正しかったか検証する方式である。
【0008】
【発明が解決しようとする課題】
しかし、RCAMは一般的にビット幅が大きく各セット毎にビット幅のCAMを必要とするため、ビット幅×セット数のCAMセルを必要とする。したがってRCAMを持つことは、面積増大を招き、またアクセス時間を大きくしていた。また、CAMを用いた回路の一般的な問題でもあるが、CAMによるウエイセレクト(ヒット判定)が完全に終了してから、データアレイをアクセスしないと、誤ったデータを選択してしまう可能性があるため、多くのタイミングマージンを必要としていた。
【0009】
つまり、CAMでは、複数のエントリーをはじめヒットの状態にして比較を開始し、ヒットする一つのエントリーのみを残して、他のエントリーをミス状態にする。この比較が完全に完了したら、ヒット信号をワードドライバに伝えワード線を立ち上げる。比較が完全に終了しないうちにヒット信号をワードドライバに伝えると間違ったワード線が複数立ち上がってしまうため、比較が終了してからヒット信号をワードドライバに伝える時に、多くのタイミングマージンが必要となる。このためアクセス時間が長くなっていた。
【0010】
【課題を解決するための手段】
本願において開示される発明のうち代表的なものの概要を簡単に説明すれば下記の通りである。
【0011】
すなわち、各ウエイはデコーダとワードドライバと連想セルアレイとメモリアレイにより構成されている。デコーダが論理アドレスのオフセットアドレス信号をデコードして1つのラインを選択し、連想セルアレイには一部の仮想ページ番号を入力して連想セルのデータと比較して一致信号を出力する。メモリアレイのワード線はデコーダにより選択されたラインと、連想セルアレイによって選択されたウエイの論理積によって選択されるようにすることである。
【0012】
本方式では、1つのウエイ(WAY)内では、1ラインのみ活性化されるために、同一ウエイであやまって複数のワード線が同時に活性化されるおそれがないため、連想セル(CAMCELL)の比較が終わってからワード線を活性化させる時にタイミングマージンが必要ない。このため従来に比べ、アクセス時間を高速化することができる。
【0013】
選択されたウエイが正しいかどうかは、本回路と全く別の回路によって、物理アドレスを用いて並行して確認する。
【0014】
【発明の実施の形態】
以下、本発明に係わる半導体記憶装置の好適ないくつかの事例につき、図面を用いて説明する。
【0015】
〈実施例1〉
図1は、本発明に係わる半導体記憶装置の一実施例を示す回路図である。半導体装置100は、半導体集積回路製造技術を用いて単結晶シリコンのような半導体基板に形成される。複数のメモリセルCELLおよび複数の連想セルCAMCELLがそれぞれマトリックス状(行列状)に配置され、メモリアレイ(MAT)および連想セルアレイ(101、102)を構成する。またライン(LINE)を選択するデコーダ回路98が列状に並んだデコーダアレイ(103、104)およびヒット信号(HIT)とライン信号(LINE)の論理積をとってワード線(WL)を活性化するワードドライバ回路(AND)99が列状に並んだワードドライバアレイ(105、106)が配置される。また、複数のセンスアンプとライトアンプが行状に並んだセンスアンプ、ライトアンプアレイ(108、109)と、読み出しデータ用バスRBUSおよび書き込みデータ用バスWBUSが配置される。
【0016】
メモリアレイ(MAT)、連想セルアレイ(101、102)、デコーダアレイ(103、104)、ワードドライバアレイ(105、106)、センスアンプ、ライトアンプアレイ(108、109)から構成されるウエイ(WAY)が、ここでは2つ(WAY0、WAY1)配置されており、2ウエイセットアソシアティブキャッシュのデータアレイとなっている。ウエイ(WAY)がn個配置された場合は、nウエイセットアソシアティブキャッシュのデータアレイとなる。
【0017】
動作について説明する。デコーダ回路98によって論理アドレスのオフセットアドレス97がデコードされて1つのウエイにつき1つのライン(LINE)が選択され、連想セルアレイ(105、106)には一部の仮想ページ番号96が入力されて連想セルCAMCELLのデータと比較してヒット信号(HIT)が出力される。メモリアレイのワード線はデコーダにより選択されたラインLINEと、選択されたウエイ(WAY)を示すヒット信号(HIT)の論理積によって選択され、メモリセルCELLへのデータの読み出しおよび書き込みが行なわれる。
【0018】
図2はメモリアレイ(MAT)、連想セルアレイ(101、102)、デコーダアレイ(103、104)、ワードドライバアレイ(105、106)の詳細な回路図である。
【0019】
メモリセルCELLは、1対のCMOSインバータ回路の入力と出力が互いに接続されて構成されるフリップ・フロップ(Pチャネル型MOSトランジスタMP1、MP2、Nチャネル型MOSトランジスタMN1、MN2で構成される)と、前記フリップ・フロップのノードN1とノードN1Bとをビット線(BL、BLB)に選択的に接続するNチャネル型MOSトランジスタMN3、MN4で構成される。Nチャネル型MOSトランジスタMN3、MN4のゲートは、ワード線WLに接続される。
【0020】
連想セルCAMCELLは、1対のCMOSインバータ回路の入力と出力が互いに接続されて構成されるフリップ・フロップ(INV1、INV2)と、前記フリップ・フロップのノードN2とノードN2Bとをビット線(CBL、CBLB)に選択的に接続するNチャネル型MOSトランジスタMN5、MN6と、ノードN2とノードN2Bに蓄積されるデータと比較アドレス線(CCBL、CCBLB)のデータを比較するNチャネル型MOSトランジスタ(MN7、MN8、MN9)およびPチャネル型MOSトランジスタ(MP3、MP4)から構成される。Nチャネル型MOSトランジスタMN5、MN6のゲートには、ワード線CWLが、Nチャネル型MOSトランジスタMN9のドレインには、ヒット線HITがそれぞれ接続される。連想セルCAMCELLには仮想ページ番号の値が記憶される。
【0021】
デコーダ回路98は、アドレス信号a0、a1、a2を受けてラインLINEを選択するナンド回路NAND0、連想セルCAMCELLの比較器部分を活性化させるインバータ回路(Pチャネル型MOSトランジスタMP6およびNチャネル型MOSトランジスタMN13から構成される。)から構成される。
【0022】
ワードドライバ回路99は、デコーダ回路98のライン選択信号LINEと連想セルアレイ(101、102)のヒット信号HITの論理積を取ってワード線WLを活性化させる回路であり、インバータ回路INV3、INV4およびナンド回路NAND1から構成される。
【0023】
図2の回路において、Nチャネル型MOSトランジスタMN13およびPチャネル型MOSトランジスタMP6を、ゲートが接地電位に接続されているPチャネル型MOSトランジスタと代えることも可能である。また、INV3を取りNAND1をインバータと代えることも可能である。また、Pチャネル型MOSトランジスタMP3およびMP4を取ることも可能である。
【0024】
図3に本実施例の読み出しおよび書き込みの動作波形を示す。それぞれの動作を開始する前に、メモリアレイ(MAT)のビット線(BL、BLB)は、“H”(“HIGH”レベル)にプリチャージされる。また、クロックが立ち上がる前に、ページ内オフセットアドレス97は、デコード回路(101、102)に入力され、また、仮想ページ番号96の数ビットが、比較アドレス線(CCBL、CCBLB)に入力され、ノードN2とノードN2Bに蓄積されるアドレスとの比較を開始する。
【0025】
クロックが立ち上がると、デコーダ回路(101、102)により、それぞれのウエイ(WAY0、WAY1)で、必ず1つのラインLINEが選択され、“L”(“LOW”レベル)となる。この信号によりそれぞれのウエイの連想セルアレイ(101、102)の1エントリ(CAMCELL0〜CAMCELLn)の比較回路が活性化され、比較が一致した場合ヒット信号HITが“H”となる。ヒット信号HITが“H”で、ライン信号LINEが“L”のとき、ワード線WLが“H”となる。
【0026】
読み出しの場合は、プリチャージされたビット線(BL、BLB)の電荷がメモリセルCELLにより放電され電位差が生る。この電位差をセンスアンプ(108、109)で増幅して読み出し用バスRBUSに出力する。
【0027】
書き込みの場合は、書き込み用バスWBUSのデータがビット線(BL、BLB)に入力され、ワード線WLが“H”になるとメモリセルCELLへの書き込みが行なわれる。
【0028】
この方式では、1つのウエイ(WAY)で、1ラインLINEのみが活性化されるため、1つのウエイ(WAY)で、ワード線WLが“H”になるのは、1本以下となり、同じメモリマット内の複数のワード線が誤って“H”となることはない。このため、ヒット信号HITとワードドライバ回路99の間にタイミングを取るための論理ゲート等を入れる必要がなくアクセスを高速化できる。
【0029】
図4は、図2の詳細図である。ワードドライバ回路99はワードドライバ回路95と、デコーダ回路98はデコーダ回路94と変わっている。連想セルのワード線CWLを選択するためのノア回路NOR1およびウエイでヒットがあったことを検出するNチャネルMOSトランジスタMN14が付け加えられている。信号HIT_OUTをあらかじめプリチャージしておくことによって、選択されたウエイWAYのHIT_OUT信号のみが“L”となり、選択されたWAYを認識できる。連想セルCAMCELLへのデータの書き込みは、信号CAM_WL_ENを“H”にすることにより、ページ内オフセットアドレスを用いて直接任意のアドレスにアクセスできる。
【0030】
メモリセルへの書き込みおよび読み出しは連想セルCAMCELLを使わずにページ内オフセットアドレス97のみを使って行なうこともできる。
【0031】
図5にこのときの動作波形を示した。まず、クロックが立ち上がる前に、ページ内オフセットアドレス97をデコーダ回路(103、104)に入力し、それと同時に、アクスセスしたいウエイ(WAY)の比較アドレス線(CCBL、CCBLB)を“L”にし、その他のウエイ(WAY)の比較アドレス線(CCBL、CCBLB)を“H”にする。
【0032】
クロックが立ち上がると、デコーダ回路(101、102)により、それぞれのウエイ(WAY0、WAY1)で、1つのラインLINEが選択され“L”となる。比較アドレス線(CCBL、CCBLB)を“L”にしたウエイ(WAY)のヒット信号HITは必ず“H”となるので、ラインLINEが“L”になったエントリーのワード線WLが“H”となる。これにより書き込みおよび読み出し動作を実行できる。この方法を用いると、連想セルCAMCELLの比較動作を無効とすることによって、連想セルの値に関係なく、任意のウエイ(WAY)の任意のワードにアクセスできる。
【0033】
この方法は連想セルCAMCELLを使ったアクセスと全く同じタイミングで行なえばよく、また、この動作のために余分な回路も必要ない。本方法では、従来の直接アクセスで必要となっていた物理アドレスをもつ連想セルアレイ(RCAM)が必要なくなり面積を小さくすることができまた、アクセスも高速化できる。
【0034】
〈実施例2〉
図6は、実施例1で述べた本発明に係わる半導体記憶装置100をキャッシュメモリのデータアレイとして用いた2ウエイセットアソシアティブキャシュメモリのブロック図である。動作の概略は、はじめに仮想ページ番号96を使ってウエイの選択をしてからキャッシュデータアレイにアクセスをし、後でウエイ選択が正しかったか物理アドレスを用いて検証する方式である。
【0035】
キャッシュデータアレイは実施例1で述べた回路100である。2つのウエイ(120、121)から構成されている。連想セルアレイ(101、102)はここでは、4ビットの幅を持ち、仮想ページ番号の下位4ビットの値が記憶される。TLB回路124は仮想ページ番号96を受け取って、物理アドレス127に変換するアドレス変換器である。キャッシュタグアレイはウエイ0(122)、ウエイ1(123)から構成されており、ページ内オフセットアドレス97を受け取って、2つの物理アドレス(125、126)を比較器に出力する。比較器は、COM0(128)、COM1(129)から構成されており、物理アドレス127と物理アドレス(125、126)が一致しているかどうかを検出する回路である。キャッシュコントローラー130はキャッシュメモリの制御を行なう回路である。
【0036】
以下に、動作を説明する。通常の読み出しでは、キャッシュデータアレイは、ページ内オフセットアドレス97を受け取ってアクセスを開始する。同時に、仮想ページ番号96の下位4ビットを連想セルアレイ(101、102)に入力してウエイを選択し、2つのうちのどちらか一方のウエイ(120、121)のメモリアレイ(MAT)にのみアクセスし、データをRBUSに出力する。また、同時にどちらのウエイ(120、121)にアクセスしたかをキャッシュコントローラー130に伝える(信号131)。一方、キャッシュタグアレイは、ページ内オフセットアドレス97を受け取ってそれぞれのウエイ(122、123)から1つの物理アドレス(125、126)を比較器(128、129)に出力する。ウエイ0(122)から読み出される物理アドレス125は、キャッシュデータアレイの ウエイ0(120)から読み出されるデータに対応しており、ウエイ1(123)から読み出される物理アドレス126は、キャッシュデータアレイの ウエイ1(121)から読み出されるデータに対応する。COM0(128)はTLB124からの物理アドレス127とウエイ0(122)からの物理アドレス125が一致しているか検出する。COM1(129)はTLB124からの物理アドレス127とウエイ1(123)からの物理アドレス126が一致しているか検出する。どちらのウエイが一致したかをキャッシュコントローラー130に伝える(信号133)。
【0037】
信号133が示すウエイと、信号131が指すウエイが一致した場合は、問題なく次の処理に進むことが出きる。しかし信号133が指すウエイと、信号131が示すウエイが一致しないときは、次のサイクルでキャッシュデータアレイのアクセスしなかったウエイにアクセスをしデータをRBUSに出力しなければならない。
【0038】
また、信号131がどちらのウエイも指さず、“ミス”で、あるが、信号133がどちらかのウエイを指した場合は、キャッシュデータアレイはそのさされたウエイにアクセスしデータをRBUSに出力する。
【0039】
また、信号133がどちらのウエイも指さない場合は、完全なミスであり、キャッシュのデータを入れ替えなければならない。
【0040】
この方法では、キャッシュデータアレイの両方のウエイのデータを同時に読みだすことは、禁止しなければならない。これを避けるには、LRU(リーストーリーセントリ・ユーズト)ビットを新たに付け加えるか、データを入れ替えるときに、同一ページ内オフセットアドレス97で活性化される連想セル行の値が揃わないようにすればよい。
【0041】
キャッシュデータアレイの指定したウエイへのアクセスは、実施例1で述べたように連想セルCAMCELLの比較動作を無効化することによっておこなう。
【0042】
本方法ではウエイを選択してから、高速にデータにアクセスするため、高速化、低電力化に効果がある。
【0043】
図13に示すように同様の方法で4ウエイとすることができ、さらに、8ウエイあるいはnウエイ(nは2以上の整数)とすることも可能である。
【0044】
〈実施例3〉
実施例2では、データ読み出しについて説明した。しかし、データの書き込みについては、同一の方法で行なうことはできない。なぜなら仮想ページ番号97を使ったウエイ選択は間違っている場合があるため、もし、間違ったウエイに書き込みを行なった場合、もとに戻すことができなくなってしまうからである。また、物理アドレスを使ったウエイ選択が終わってから書き込みを行なう方法もあるが、物理アドレスを使ったウエイ選択は通常1サイクルかかるので、データを書き込むのに2サイクルかかりプロセッサの性能を低下させてしまう。この問題に関しては、読み出しと書き込みが同時に1サイクルでできるメモリマットと図1に示した回路を組み合わせて、図1に示した回路のワードドライバ回路99を図7のように変えることにより解決できる。
【0045】
まず、概略的な動作について説明する。図8は図7の回路図の書き込み動作の概略図である。第1サイクルで書き込み命令を受けると、そのアドレスAをラッチしておき、それと同時に、ヒット検出回路を用いて書き込みを行なうウエイを選択しておく。第2サイクルでは、まず、別のアドレスBにアクセスし、その後続けて、第1サイクルで選択されたウエイに第1サイクルでラッチされたアドレスAをもとに書き込みを行なう。この方法では、2サイクルで2つのアドレスにアクセスできることになるため、実質的に書き込みが1サイクルで終了したことになる。以下に詳細な回路および動作について説明する。
【0046】
図7のワードドライバ143は、図1のワードドライバ回路99と比べて、インバータ回路INV4が、ナンド回路NAND2にかわり、ノア回路NOR2とラッチ(141、142)が加わっている。
【0047】
ラッチ141は、1対のCMOSインバータの入力と出力が互いに接続されて構成されるフリップ・フロップ(INV5、INV6)と、前記フリップ・フロップのノードN3とノードN3Bとを接地電位に選択的に接続するNチャネル型MOSトランジスタ(MN17、MN18)と、ノードN3とノードN3Bの値によってオンオフするトランジスタ(MN23、MN24、MP9、MP10)と、ノードN3とノードN3Bの値がそれぞれ“L”と“H”のときオフとなり、ノードN3とノードN3がそれぞれ“H”と“L”のとき信号HEN1の値によってオンオフするNチャネル型MOSトランジスタMN21と、ノードN3Bの値によってオンオフするPチャネル型MOSトランジスタMP11およびNチャネル型MOSトランジスタMN29と、Nチャネル型MOSトランジスタMN18のオンオフを制御する信号を選択するトランジスタ(MN15、MP7)によって構成される。Nチャネル型MOSトランジスタMN15およびのPチャネル型MOSトランジスタMP7のゲートには、選択信号SEL1が、Pチャネル型MOSトランジスタMP7のドレインには信号PWLが、Nチャネル型MOSトランジスタMN17のゲートには、リセット信号RES1が、Nチャネル型MOSトランジスタ(MN21、MN29)およびPチャネル型MOSトランジスタMP11のドレインには信号HAD1がそれぞれ接続される。
【0048】
ラッチ142は、1対のCMOSインバータの入力と出力が互いに接続されて構成されるフリップ・フロップ(INV7、INV8)と、前記フリップ・フロップのノードN4とノードN4Bとを接地電位に選択的に接続するNチャネル型MOSトランジスタ(MN19、MN20)と、ノードN4とノードN4Bの値によって制御されるトランジスタ(MN25、MN26、MP12、MP13)と、ノードN4とノードN4Bの値がそれぞれ“L”と“H”のときオフとなり、ノードN4とノードN4がそれぞれ“H”と“L”のとき信号HEN2の値によってオンオフするNチャネル型MOSトランジスタMN22と、ノードN4Bの値によってオンオフするPチャネル型MOSトランジスタMP14およびNチャネル型MOSトランジスタMN30と、Nチャネル型MOSトランジスタMN20のオンオフを制御する信号を選択するトランジスタ(MN16、MP8)によって構成される。Nチャネル型MOSトランジスタMN16およびPチャネル型MOSトランジスタMP8のゲートには、選択信号SEL2が、Pチャネル型MOSトランジスタMP8のドレインには信号PWLが、Nチャネル型MOSトランジスタMN19のゲートには、リセット信号RES2が、Nチャネル型MOSトランジスタ(MN22、MN30)およびPチャネル型MOSトランジスタMP14のドレインには信号HAD2がそれぞれ接続される。
【0049】
図9に第1サイクルで書き込み命令を受けて、第2サイクルの後半で書き込みを行なう場合の動作波形を示した。
【0050】
まず、第1サイクルが始まる前に、RES1を“H”にして、すべてのラッチ141をリセットしノードN3を“L”にノードN3Bを“H”にしておく。第1サイクルでクロックが立ち上がると、1つのウエイについて1つのラインLINEが選択され、信号PWLが“H”になる。それと同時にラッチ選択信号SEL1を“L”にしてトランジスタMN18をオンしノードN3を“H”、ノードN3Bを“L”にし、このエントリーをラッチしておく。またこれと並行して、実施例2で示したように物理アドレスを用いてウエイを選択しておく。
【0051】
第2サイクルの前半では他のアドレスにアクセスを行ない、後半で、物理アドレスを用いて選択されたウエイの信号HEN1を“L”にして、トランジスタMN21をオフし、信号HAD1を“H”にすることによって、ワード線WLを“H”にし、書き込みを行なう。
【0052】
また、図10、図11に示す方法によっても書き込みを1サイクルで行なうことができる。すなわち、連想セルCAMCELLによって指定されるウエイのデータをまず読み出してから書き込みデータを1サイクル内に書き込む。第一サイクル終了後ヒット検出回路により選択されたウエイと書き込みを行なったウエイが一致した場合は、書き込みは問題なく終了したことになる(図10)。もし、一致しなかった場合は、読み出したデータをもとに戻し、ヒット検出回路が指定したウエイにデータを書き込む(図11)。
【0053】
【発明の効果】
本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば下記の通りである。
【0054】
すなわち、連想セルの比較結果を、タイミングマージンなしに直接ワード線に伝えることができ、高速なアクセスが可能となる。
【図面の簡単な説明】
【図1】実施例1に係わる半導体記憶装置の回路図。
【図2】実施例1の詳細な回路図。
【図3】実施例1の半導体記憶装置の動作波形。
【図4】実施例1の詳細な回路図。
【図5】実施例1の半導体記憶装置の動作波形。
【図6】実施例2に係わるキャッシュメモリを用いたコンピュータシステム。
【図7】実施例3の詳細な回路図。
【図8】実施例3のキャッシュメモリの動作概略図。
【図9】実施例3のキャッシュメモリの動作波形。
【図10】実施例3のキャッシュメモリの動作概略図。
【図11】実施例3のキャッシュメモリの動作概略図。
【図12】従来のセットアソシアティブキャッシュの概略図。
【図13】実施例2に係わる半導体記憶装置の回路図。
【符号の説明】
96……仮想ページ番号
97……ページ内オフセットアドレス
94、98……デコーダ回路
95、99、143……ワードドライバ回路
100……半導体装置
101、102、155、156……連想セルアレイ
103、104、151、152……デコーダアレイ
105、106、153、154……ワードドライバアレイ
108、109、157、158……センスアンプ、ライトアンプアレイ
120、121……キャッシュメモリのウエイ
122、123……キャッシュタグアレイのウエイ
124……TLB
125、126、127……物理アドレス
128、129……比較器
130……キャッシュコントローラー
131、133……ウエイ選択信号
132……制御信号
135……ヒット検出回路
141、142……アドレスラッチ回路
RBUS……読み出しデータ用バス
WBUS……書き込みデータ用バス
MN……Nチャネル型MOSトランジスタ
MP……Pチャネル型MOSトランジスタ
N、NB……メモリセル記憶ノード
INV……インバータ回路
NAND……ナンド回路
AND……論理積
NOR……ノア回路
CELL……メモリセル
CAMCELL……連想セル
MAT……メモリアレイ
WAY……ウエイ
a0、a1、a2……アドレス信号
BL、BLB、CBL、CBLB……ビット線
WL、CWL……ワード線
CCBL、CCBLB……比較アドレス線
HIT……ヒット信号
LINE……ライン選択信号
HIT_OUT……ヒット検出信号
CAM_WL_EN……連想セル読み出し制御信号
PWL……エントリー指定信号
SEL……ラッチ選択信号
RES……リセット信号
HEN……エントリー活性信号
HAD……エントリー選択信号。

Claims (7)

  1. 複数のブロックを有する記憶装置であって、
    該複数のブロックはそれぞれ、複数のワード線と該ワード線に接続される複数のメモリセルを有するメモリアレイと、
    第1のアドレスが入力されて内部のデータと比較されヒット信号を出力する連想セルアレイと、
    第2のアドレスをデコードして1つのラインを選択するデコーダ回路とを有し、
    該デコーダ回路により選択されたラインと上記ヒット信号に基づいて上記ワード線の一つを選択する記憶装置。
  2. デコーダとワードドライバと連想セルアレイとメモリアレイにより構成されているウエイを複数有し、上記メモリアレイ内の複数のワード線のうちの一つを選択する記憶装置のアクセス方法であって、
    上記デコーダが論理アドレスのオフセットアドレス信号をデコードして1つのラインを選択し、
    上記連想セルアレイが仮想ページ番号を入力して内部のデータと比較して一致信号を出力し、
    上記メモリアレイのワード線は上記デコーダにより選択されたラインと、連想セルアレイの一致信号によって各ウエイにつき1本選択される記憶装置のアクセス方法。
  3. 複数のワード線と、複数のビット線と、該複数のワード線と複数のビット線との交点に配置される複数のメモリセルを有するメモリアレイと、
    複数のワード線と、複数のデータ線と、複数のヒット線と、複数の比較アドレス線と、上記複数のワード線と複数のデータ線との交点に配置される複数の連想セルを有する連想セルアレイと、
    1つのラインを活性化するデコーダ回路を有するデコーダアレイと、
    上記メモリアレイのワード線を活性化させるワードドライバ回路を有するワードドライバアレイとからなるウエイを複数具備してなり、
    上記デコーダにはページ内オフセットアドレスが入力されて1つのラインが選択され、前記連想セルアレイには仮想ベージ番号が入力されて連想セルのデータと比較されウエイが選択され、ライン選択とウエイ選択の論理積により、上記メモリアレイの1つのワード線が選択されることを特徴とする半導体置。
  4. 比較アドレス線を所定の電位に固定することにより、連想セルに記憶されるデータに関係なく任意のウエイのメモリアレイの任意のアドレスにページ内オフセットアドレスのみを用いてアクセスできることを特徴とする請求項3に記載の半導体装置。
  5. 前記連想セルアレイには、仮想ページ番号の一部のビットのアドレスが記憶されることを特徴とする請求項3に記載の半導体装置。
  6. 同一ページ内オフセットアドレスでアクセスされる連想セルアレイに保持されるデータが、異なるウエイで一致しないように論理的に制御することによって同時に複数のウエイのデータが選択されないようにすることを特徴とする請求項3に記載される半導体装置。
  7. 仮想ページ番号の一部を使って、ウエイを選択してからメモリセルアレイにアクセスすることを特徴とする請求項6に記載される半導体装置。
JP35927497A 1997-12-26 1997-12-26 記憶装置、記憶装置のアクセス方法及び半導体装置 Expired - Fee Related JP3732637B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP35927497A JP3732637B2 (ja) 1997-12-26 1997-12-26 記憶装置、記憶装置のアクセス方法及び半導体装置
TW087121413A TW507198B (en) 1997-12-26 1998-12-22 Semiconductor device
US09/219,429 US6058038A (en) 1997-12-26 1998-12-23 Semiconductor device
KR1019980058687A KR100540964B1 (ko) 1997-12-26 1998-12-24 반도체장치
US09/549,230 US6295218B1 (en) 1997-12-26 2000-04-13 Semiconductor device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP35927497A JP3732637B2 (ja) 1997-12-26 1997-12-26 記憶装置、記憶装置のアクセス方法及び半導体装置

Publications (2)

Publication Number Publication Date
JPH11191078A JPH11191078A (ja) 1999-07-13
JP3732637B2 true JP3732637B2 (ja) 2006-01-05

Family

ID=18463664

Family Applications (1)

Application Number Title Priority Date Filing Date
JP35927497A Expired - Fee Related JP3732637B2 (ja) 1997-12-26 1997-12-26 記憶装置、記憶装置のアクセス方法及び半導体装置

Country Status (4)

Country Link
US (2) US6058038A (ja)
JP (1) JP3732637B2 (ja)
KR (1) KR100540964B1 (ja)
TW (1) TW507198B (ja)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6208543B1 (en) * 1999-05-18 2001-03-27 Advanced Micro Devices, Inc. Translation lookaside buffer (TLB) including fast hit signal generation circuitry
CA2277717C (en) * 1999-07-12 2006-12-05 Mosaid Technologies Incorporated Circuit and method for multiple match detection in content addressable memories
US6549986B1 (en) * 2000-06-20 2003-04-15 Conexant Systems, Inc. Low power instruction cache
DE60110227T2 (de) * 2000-06-27 2006-02-09 Koninklijke Philips Electronics N.V. Integrierte schaltung mit flash
JP4033609B2 (ja) * 2000-07-04 2008-01-16 株式会社ルネサステクノロジ 半導体集積回路装置及びそれを用いた情報処理装置
US20020087779A1 (en) * 2000-12-29 2002-07-04 Kevin Zhang High-speed way select scheme for a low power cache
US6556466B2 (en) * 2001-04-26 2003-04-29 International Business Machines Corporation Method and structure for a CAMRAM cache memory
KR100455392B1 (ko) * 2002-08-10 2004-11-06 삼성전자주식회사 동작속도를 향상시키고 칩 면적을 감소시킬 수 있는워드라인 드라이버 회로를 구비하는 캐쉬 메모리장치 및이의 워드라인 구동방법
KR100459728B1 (ko) * 2002-10-22 2004-12-03 삼성전자주식회사 고속 변환 색인 버퍼
US7009861B2 (en) * 2003-02-20 2006-03-07 Stmicroelectronics Pvt. Ltd. Content addressable memory cell architecture
US7502901B2 (en) * 2003-03-26 2009-03-10 Panasonic Corporation Memory replacement mechanism in semiconductor device
US7093062B2 (en) * 2003-04-10 2006-08-15 Micron Technology, Inc. Flash memory data bus for synchronous burst read page
US8255623B2 (en) * 2007-09-24 2012-08-28 Nvidia Corporation Ordered storage structure providing enhanced access to stored items
US10146438B1 (en) 2016-06-29 2018-12-04 EMC IP Holding Company LLC Additive library for data structures in a flash memory
US10037164B1 (en) 2016-06-29 2018-07-31 EMC IP Holding Company LLC Flash interface for processing datasets
US10089025B1 (en) 2016-06-29 2018-10-02 EMC IP Holding Company LLC Bloom filters in a flash memory
US10055351B1 (en) * 2016-06-29 2018-08-21 EMC IP Holding Company LLC Low-overhead index for a flash cache
US10331561B1 (en) 2016-06-29 2019-06-25 Emc Corporation Systems and methods for rebuilding a cache index

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60136097A (ja) * 1983-12-23 1985-07-19 Hitachi Ltd 連想メモリ装置
US4813002A (en) * 1986-07-21 1989-03-14 Honeywell Bull Inc. High speed high density dynamic address translator
JPS63281299A (ja) * 1987-05-13 1988-11-17 Hitachi Ltd 連想メモリ装置
JPH0758791B2 (ja) * 1990-08-01 1995-06-21 株式会社東芝 Mos型半導体装置
JP3015493B2 (ja) * 1991-04-26 2000-03-06 株式会社東芝 半導体連想記憶装置
JP3065736B2 (ja) * 1991-10-01 2000-07-17 松下電器産業株式会社 半導体記憶装置
JPH0749807A (ja) 1993-08-05 1995-02-21 Mitsubishi Electric Corp メモリシステム及びキャッシュメモリシステム
WO1995033238A1 (en) * 1994-05-31 1995-12-07 National Semiconductor Corporation Low power, high performance, on-chip cache with no stall after a write hit
US5548742A (en) 1994-08-11 1996-08-20 Intel Corporation Method and apparatus for combining a direct-mapped cache and a multiple-way cache in a cache memory
JPH08314794A (ja) * 1995-02-28 1996-11-29 Matsushita Electric Ind Co Ltd 安定記憶装置へのアクセス待ち時間を短縮するための方法およびシステム
US5563833A (en) * 1995-03-03 1996-10-08 International Business Machines Corporation Using one memory to supply addresses to an associated memory during testing
US5617348A (en) * 1995-07-24 1997-04-01 Motorola Low power data translation circuit and method of operation
US5860097A (en) * 1996-09-23 1999-01-12 Hewlett-Packard Company Associative cache memory with improved hit time

Also Published As

Publication number Publication date
KR19990063478A (ko) 1999-07-26
TW507198B (en) 2002-10-21
US6295218B1 (en) 2001-09-25
US6058038A (en) 2000-05-02
KR100540964B1 (ko) 2006-02-28
JPH11191078A (ja) 1999-07-13

Similar Documents

Publication Publication Date Title
JP3732637B2 (ja) 記憶装置、記憶装置のアクセス方法及び半導体装置
US6091629A (en) High speed semiconductor memory apparatus including circuitry to increase writing and reading speed
KR940005684B1 (ko) 캐시(cash)내장 반도체 장치 및 그 동작방법
JP2775549B2 (ja) 連想メモリセルおよび連想メモリ回路
US7440335B2 (en) Contention-free hierarchical bit line in embedded memory and method thereof
US5014240A (en) Semiconductor memory device
US5668766A (en) Method and apparatus for increasing memory read access speed using double-sensing
JP4395511B2 (ja) マルチcpuシステムのメモリアクセス性能を改善する方法及び装置
US5724294A (en) Self-tracking sense amplifier strobing circuit and method
US5513143A (en) Data cache memory internal circuitry for reducing wait states
US5784320A (en) Method and apparatus for reducing power consumption in a memory by employing a conditional write controller
US6539466B1 (en) System and method for TLB buddy entry self-timing
US5978245A (en) Associative memory device having circuitry for storing a coincidence line output
US6839807B2 (en) Multi-way set associative cache memory
US6016534A (en) Data processing system for controlling operation of a sense amplifier in a cache
JPH07122076A (ja) キャッシュメモリ
US5729190A (en) Dynamic comparator circuit for cache memories
JP3672695B2 (ja) 半導体記憶装置、マイクロコンピュータ、及びデータ処理装置
JP3559631B2 (ja) 半導体メモリ及びデータ処理装置
US7057918B2 (en) Memory unit and memory module using the same
JP2001014863A (ja) 半導体メモリ装置
JPH073660B2 (ja) 半導体記憶装置
JPH02227897A (ja) 半導体記憶装置
JPH08273351A (ja) 半導体記憶装置
JPH10289095A (ja) 多ビット比較回路、キャッシュメモリ、マイクロコンピュータ、及びデータ処理装置

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20040308

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050624

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050729

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050915

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20051006

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20051013

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081021

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091021

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091021

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101021

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111021

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111021

Year of fee payment: 6

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111021

Year of fee payment: 6

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111021

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121021

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121021

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131021

Year of fee payment: 8

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees