JP3604296B2 - 半導体メモリおよびメモリシステム - Google Patents
半導体メモリおよびメモリシステム Download PDFInfo
- Publication number
- JP3604296B2 JP3604296B2 JP01365099A JP1365099A JP3604296B2 JP 3604296 B2 JP3604296 B2 JP 3604296B2 JP 01365099 A JP01365099 A JP 01365099A JP 1365099 A JP1365099 A JP 1365099A JP 3604296 B2 JP3604296 B2 JP 3604296B2
- Authority
- JP
- Japan
- Prior art keywords
- array
- memory
- column address
- address
- sub
- 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 - Lifetime
Links
Images
Landscapes
- Static Random-Access Memory (AREA)
- Dram (AREA)
Description
【発明の属する技術分野】
本発明は、複数のメモリセルを含み、その複数のメモリセルのそれぞれはロウアドレスとカラムアドレスとを用いて指定される半導体メモリおよびメモリシステムに関する。
【0002】
【従来の技術】
複数のメモリセルのうちアクセスすべきメモリセルをロウアドレスとカラムアドレスとを用いて指定する半導体メモリとしては、ダイナミックランダムアクセスメモリ(DRAM)が代表的である。DRAMは、ロウアドレスが指定された後に最初に指定されたカラムアドレスに対応するアクセス(以下、「ロウアクセス」という)が遅く、その最初に指定されたカラムアドレスに続くカラムアドレスに対応するアクセス(以下、「カラムアクセス」という)が比較的早いという特性を有している。この特性は、ロウアドレスに対応するワード線を活性化するのに時間がかかるけれども、いったんそのワード線が活性化された後は、そのワード線に接続されているメモリセルに比較的高速にアクセスすることができるという事実に基づいている。
【0003】
例えば、パーソナルコンピュータのメインメモリにDRAMが使用される場合には、メモリコントローラは、DRAMに対して1回のロウアクセスを行った後、3回または7回のカラムアクセス(いわゆるページアクセス)を行う。これにより、2サイクル目以降のアクセスが高速化される。ロウアクセスは、所望のロウアドレスと所望のカラムアドレスとに応答して行われる。カラムアクセスは、ロウアドレスを維持したままカラムアドレスを順次変化させることにより行われる。このようなアクセスは、L1もしくはL2キャッシュのラインフィルのために行われる。
【0004】
メモリコントローラは、4サイクルまたは8サイクルのメモリアクセスが終了した後は、ロウアドレスに対応するワード線を活性状態から非活性状態にする。その後、メモリコントローラは、メインメモリに対する次のアクセス要求を受け取るまで待機する。
【0005】
メモリセルに高速にアクセスするための方法としては、主として以下に説明する2つの方法が知られている。
【0006】
1つ目の方法は、複数のロウアドレスに対応する全カラムアドレス分のデータをSRAMに格納する方法である。この方法は、Enhanced Memory Systems Inc.によって提唱されている。
【0007】
この方法を採用したDRAMは、例えば、4個のSRAM Cacheを有することができる。4個のSRAM Casheのそれぞれは、ロウアドレスに対応する全カラムアドレス分のデータ(以下、「1ページ分のデータ」という)を格納することができる。従って、4個のSRAM Cacheを用いて、4種類のロウアドレスに対応する4ページ分のデータを格納することができる。
【0008】
このようにすることによって、キャッシュラインフィルごとに発生する4サイクルまたは8サイクルの最初のアクセスは、SRAM Cacheに格納されている数ページ分のデータに対するアクセスである場合に限り高速化される。
【0009】
2つ目の方法は、複数のメモリセルを複数のバンクに区分して、その複数のバンクをそれぞれ独立にアクセスする方法である。この方法は、最近開発が進んでいるSynchronous DRAMやRambus DRAMに採用されている。
【0010】
この方法を採用したDRAMは、例えば、8個または16個のバンクを有することができる。各バンクは、センスアンプにより1ページ分のデータを保持することができる。従って、ロウアドレスに対応するワード線の活性状態を維持することにより、そのワード線に対するアクセスはページアクセスとなる。その結果、キャッシュフィルサイクルにおける最初のカラムアドレスに対応するアクセスが高速化される。
【0011】
【発明が解決しようとする課題】
しかしながら、上述した2つの方法によれば、いずれも、1ページ分のデータを読み出すためのロウアクセスが遅い。従って、メモリパフォーマンスを飛躍的に向上させることができない、という問題があった。
【0012】
本発明は、カラムアクセスに先だって行われるロウアクセスを高速に行うことにより、一層向上したパフォーマンスを有する半導体メモリおよびメモリシステムを提供することを目的とする。
【0013】
【課題を解決するための手段】
本発明の半導体メモリは、第1のサブアレイと第2のサブアレイとを備えた半導体メモリであって、前記第2のサブアレイの1本のワード線は、前記第1のサブアレイにおける複数のワード線にそれぞれ対応するように複数の領域に区分されており、前記第1のサブアレイにおける前記複数のワード線のうちの1本のワード線に対応する特定のカラムアドレスは、前記第1のサブアレイにおける前記複数のワード線に対応づけられた前記第2のサブアレイにおける前記1本のワード線の前記複数の領域のうちの1つに含まれる複数のメモリセルにそれぞれ割り当てられており、前記半導体メモリは、指定されたロウアドレスに応じて、前記第1のサブアレイにおける前記複数のワード線のうちの1本のワード線を活性化するとともに、前記第1のサブアレイにおける前記複数のワード線に対応づけられた前記第2のサブアレイにおける前記1本のワード線を活性化する手段と、指定されたカラムアドレスが前記特定のカラムアドレスである場合には前記第2のサブアレイにおいて活性化された1本のワード線に接続されている複数のメモリセルのうちの1つにアクセスし、前記指定されたカラムアドレスが前記特定のカラムアドレス以外のカラムアドレスである場合には前記第1のサブアレイにおいて活性化された1本のワード線に接続されている複数のメモリセルのうちの1つにアクセスする手段とをさらに備えており、これにより、上記目的が達成される。
前記第1のサブアレイにおける前記特定のカラムアドレスは、前記ロウアドレスが指定された後に最初に指定されるカラムアドレスが前記特定のカラムアドレスにヒットする確率が高くなるように予め設定されていてもよい。
前記第1のサブアレイに含まれる複数のメモリセルと前記第2のサブアレイに含まれる複数のメモリセルとは、同一の構成を有していてもよい。
前記同一の構成を有するメモリセルは、DRAMセルであってもよい。
本発明のメモリシステムは、半導体メモリと前記半導体メモリを制御するメモリコントローラとを備えたメモリシステムであって、前記半導体メモリは、第1のサブアレイと第2のサブアレイとを備え、前記第2のサブアレイの1本のワード線は、前記第1のサブアレイにおける複数のワード線にそれぞれ対応するように複数の領域に区分されており、前記第1のサブアレイにおける前記複数のワード線のうちの1本のワード線に対応する特定のカラムアドレスは、前記第1のサブアレイにおける前記複数のワード線に対応づけられた前記第2のサブアレイにおける前記1本のワード線の前記複数の領域のうちの1つに含まれる複数のメモリセルにそれぞれ割り当てられており、前記半導体メモリは、指定されたロウアドレスに応じて、前記第1のサブアレイにおける前記複数のワード線のうちの1本のワード線を活性化するとともに、前記第1のサブアレイにおける前記複数のワード線に対応づけられた前記第2のサブアレイにおける前記1本のワード線を活性化する手段と、指定されたカラムアドレスが前記特定のカラムアドレスである場合には前記第2のサブアレイにおいて活性化された1本のワード線に接続されている複数のメモリセルのうちの1つにアクセスし、前記指定されたカラムアドレスが前記特定のカラムアドレス以外のカラムアドレスである場合には前記第1のサブアレイにおいて活性化された1本のワード線に接続されている複数のメモリセルのうちの1つにアクセスする手段とをさらに備えており、これにより、上記目的が達成される。
【0030】
【発明の実施の形態】
はじめに、図1および図2を参照して本発明の原理を説明する。
【0031】
図1は、本発明をシングルバンクメモリ1000に適用した場合におけるメモリセルアレイ1002の構成を示す。メモリセルアレイ1002は、複数のメモリセル1004を含む。複数のメモリセル1004のそれぞれは、複数のワード線のうちの1つに接続されている。複数のメモリセル1004は、少なくとも1つの高速メモリセル1004a(図1において黒丸で示される)と、少なくとも1つの低速メモリセル1004b(図1において白丸で示される)とを含む。高速メモリセル1004aは、例えば、SRAMセルであり得る。低速メモリセル1004bは、例えば、DRAMセルであり得る。
【0032】
ここで、高速メモリセル1004aとは、低速メモリセル1004bに比べて高速にアクセスされ得るメモリセルをいい、低速メモリセル1004bとは、高速メモリセルに比べて低速にアクセスされ得るメモリセルをいう。このように、本明細書では、「高速」および「低速」という用語は、絶対的な速度ではなく、相対的な速度を表す用語として使用される。
【0033】
図1に示されるように、1本のワード線上には、高速メモリセル1004aと低速メモリセル1004bとが混在して配置される。高速メモリセル1004aは、ロウアドレスに対応するワード線が活性化された後に最初に指定される確率が高いカラムアドレスに対応するように配置される。
【0034】
シングルバンクメモリ1000では、複数のロウアドレスに対応する複数のワード線を同時に活性状態に維持することはできない。従って、例えば、ロウアドレスAdr1に対応するワード線1010が活性状態である場合には、ロウアドレスAdr2に対応するワード線1020は非活性状態である。
【0035】
ワード線1010が活性状態である場合において、ワード線1020上のメモリセル1004に対するアクセスが発生した場合には、いったんワード線1010を活性状態から非活性状態に戻してプリチャージした後、ワード線1020を活性化させる必要がある。例えば、パーソナルコンピュータの表示画面においてアクティブなウィンドウを第1のアプリケーションのウィンドウから第2のアプリケーションのウィンドウに移した場合がこの場合に相当する。
【0036】
その後、ワード線1010上のメモリセル1004に再びアクセスが戻った場合には、ワード線1010を再び活性化させる必要がある。例えば、パーソナルコンピュータの表示画面においてアクティブなウィンドウを第2のアプリケーションのウィンドウから第1のアプリケーションのウィンドウに戻した場合がこの場合に相当する。
【0037】
このように2本のワード線を交互に活性化させる場合には、活性状態にある一方のワード線をいったん非活性状態にしなければならず、ロウアドレスに対応するワード線が活性化された後に最初に指定されるカラムアドレスはワード線が活性化される度に異なる確率が高いから、非常に多くのカラムアドレスをロウアドレスが指定された後に最初に指定されるカラムアドレスの候補としなければならない。従って、シングルバンクメモリ1000では、高速メモリセル1004aに割り当てられるべきカラムアドレスの数は非常に多くなってしまう。このことは、シングルバンクメモリ1000のチップ面積やコストを増大させる原因となる。
【0038】
特定のカラムアドレスは、各ロウアドレスに対応する複数のアクセス単位(実際のシステムにおいて好適なアクセスの単位)1030のそれぞれの先頭アドレスを指すように設定されていることが好ましい。例えば、パーソナルコンピュータ(PC)などを用いたシステムにおいて、キャッシュラインフィルなどの関係から16個の連続アドレスに対応するメモリセルが通常まとまってアクセスされる場合には、上記アクセス単位は16ビットに設定される。シングルバンクメモリ1000のアクセス単位1030が16ビットである場合には、複数のアクセス単位1030のそれぞれに対して、そのアクセス単位1030の先頭から数ビットに対応するいくつかのメモリセル1004を高速メモリセル1004aとすることが好ましい。図1に示される例では、アクセス単位1030の先頭から4ビットに対応するメモリセル1004を高速メモリセル1004aとしている。
【0039】
図2は、本発明をマルチバンクメモリ2000に適用した場合におけるメモリセルアレイ2002の構成を示す。メモリセルアレイ2002は、複数のメモリセル2004を含む。複数のメモリセル2004は、複数のバンクに区分される。図2に示される例では、複数のメモリセル2004は、2つのバンク2002aと2002bとに区分されている。複数のメモリセル2004のそれぞれは、複数のワード線のうちの1つに接続されている。複数のメモリセル2004は、少なくとも1つの高速メモリセル2004a(図2において黒丸で示される)と、少なくとも1つの低速メモリセル2004b(図2において白丸で示される)とを含む。高速メモリセル2004aは、例えば、SRAMセルであり得る。低速メモリセル2004bは、例えば、DRAMセルであり得る。
【0040】
マルチバンクメモリ2000では、複数のロウアドレスに対応する複数のワード線を同時に活性状態に維持することができる。図2に示される例では、ロウアドレスAdr1に対応するワード線2010とロウアドレスAdr2に対応するワード線2020とが同時に活性状態に維持される。その結果、ワード線2010上のメモリセルとワード線2020上のメモリセルとに交互にアクセスが発生する場合でも、活性状態にある一方のワード線を非活性状態にする必要がない。このことは、ロウアドレスが指定された後に最初に指定されるカラムアドレスの候補を非常に少ない数のカラムアドレスに絞り込むことを可能にする。これは、シングルバンクメモリ1000に比較して、ロウアドレスが指定された後に最初に指定されるカラムアドレスが特定のカラムアドレスに集中する確率が高いからである。従って、マルチバンクメモリ2000では、シングルバンクメモリ1000に比較して、高速メモリセル2004aに割り当てられるべきカラムアドレスの数を少なくすることが可能である。
【0041】
特定のカラムアドレスは、各ロウアドレスに対応する複数のアクセス単位(実際のシステムにおいて好適なアクセスの単位)2030のうち選択された少なくとも1つのアクセス単位2030の先頭アドレスを指すように設定されていることが好ましい。例えば、マルチバンクメモリ2000のアクセス単位2030が16ビットである場合には、複数のアクセス単位2030のうち選択された少なくとも1つのアクセス単位2030に対して、そのアクセス単位2030の先頭から数ビットに対応するいくつかのメモリセル2004を高速メモリセル2004aとすることが好ましい。図2に示される例では、アクセス単位2030の先頭から4ビットに対応するメモリセル2004を高速メモリセル2004aとしている。このように、マルチバンクメモリ2000に配置される高速メモリセル2004aは、シングルバンクメモリ1000に配置される高速メモリセル1004aからいくつかの高速メモリセル1004aを間引くことによって得られる。
【0042】
以下、図面を参照して本発明の実施の形態を説明する。
【0043】
(実施の形態1)
図3は、本発明の実施の形態1の半導体メモリ1のメモリ空間3000の概念を示す。メモリ空間3000は、16個のバンク3010に区分されている。図3では、16個のバンク3010は、それぞれ、BANK0〜BANK15と表記されている。16個のバンク3010は、互いに独立にアクセスされ得る。
【0044】
半導体メモリ1は、1チップで構成されている。半導体メモリ1は、2K×2Kの4Mビットの記憶容量を有している。より詳細には、半導体メモリ1は、16バンク×7ビット(128Row)×11ビット(2048Column)×1ビットI/Oのメモリ構成を有している。1ビットのデータが半導体メモリ1に入力され、または、半導体メモリ1から出力される。
【0045】
半導体メモリ1は、複数のメモリセルを有している。複数のメモリセルは、少なくとも1つの高速メモリセル(例えば、SRAMセル)と、少なくとも1つの低速メモリセル(DRAMセル)とを含む。
【0046】
図3に示されるように、X軸方向はワード線方向(ワード線が延びる方向)を示し、Y軸方向はビット線方向(ビット線が延びる方向)を示す。X軸方向に沿って、2K個のロウアドレスhex000〜hex7FFが割り当てられている。Y軸方向に沿って、2K個のカラムアドレスhex000〜hex7FFが割り当てられている。ここで、hexは16進数表記を示す。
【0047】
図3において、斜線の領域は、高速メモリセルに割り当てられている領域(以下、「高速メモリセル領域」という)を示し、それ以外の領域は、低速メモリセルに割り当てられている領域(以下、「低速メモリセル領域」という)を示す。高速メモリセル領域は、例えば、2048(Row)×32(Column)というメモリ構成を有するSRAMによって実現され得る。低速メモリセル領域は、例えば、2048(Row)×2016(Column)というメモリ構成を有するDRAMによって実現され得る。
【0048】
高速メモリセル領域は、ロウアドレスhex000からロウアドレスhex7FFにわたってX軸方向に沿って形成され、Y軸方向に沿って特定の間隔をあけて形成される。このように、高速メモリセル領域は、メモリ空間3000において複数の帯領域として形成される。
【0049】
図3に示される例では、8個の帯領域が、Y軸方向に沿って256アドレス毎に形成されている。8個の帯領域のそれぞれは、X軸方向に2048ビットの幅を有し、Y軸方向に4ビットの幅を有する領域である。あるいは、帯領域のY軸方向の幅(ビット幅)は、8ビットであってもよいし、16ビットであってもよい。
【0050】
ロウアドレスが指定された後、最初に指定されるカラムアドレスが特定のカラムアドレス(すなわち、hex000、hex100、hex200、hex300、hex400、hex500、hex600、hex700)に一致する場合には、そのロウアドレスとそのカラムアドレスとに対応するアクセスは高速に行われる。これは、その特定のカラムアドレスから所定のバースト長ビット(図3に示される例では4ビット。8ビットまたは16ビットでもよい)の範囲に含まれるカラムアドレスが高速メモリセルに割り当てられているからである。
【0051】
高速メモリセルに対するアクセスを行っている間に、ロウアドレスに対応するすべての低速メモリセルが活性化される。従って、アクセス対象が高速メモリセルから低速メモリセルに移った場合でも、その低速メモリセルに対して高速にアクセスすることが可能になる。
【0052】
このように、ロウアドレスに対応するすべての低速メモリセルが活性化されるまで、高速メモリセルが”ワンポイントリリーフ”としてメモリアクセスを担当するように、高速メモリセルが配置される。これにより、切れ目のないアクセスを実現することができる。
【0053】
特定のカラムアドレスは、ロウアドレスが指定された後に最初に指定されるカラムアドレスがその特定のカラムアドレスにヒットする確率が高くなるように予め設定されている。このように特定のカラムアドレスを設定することにより、半導体メモリ1のパフォーマンスが向上する。
【0054】
ロウアドレスが指定された後に最初に指定されるカラムアドレスが特定のカラムアドレスにヒットする確率は、複数のメモリセルが複数のバンクに区分され、ロウアドレスに対応するワード線の活性化がキャッシュフィルサイクルごとに解除されない半導体メモリ(すなわち、マルチバンクメモリ)においては飛躍的に増大する。なぜなら、マルチバンクメモリでは、シングルバンクメモリに比べて、ロウアドレスが指定された後に最初に指定されるカラムアドレスが、特定のカラムアドレスに集中する確率が高いからである。その特定のカラムアドレスは、例えば、hex000、hex100、hex200、hex300、hex400、hex500、hex600、hex700という非常に切りのいい数字を有する256アドレス毎のカラムアドレスである。このようなカラムアドレスを高速メモリセル用のカラムアドレスに設定することによって、ほとんどすべてのロウアクセスが高速メモリセルから始まることになる。これにより、半導体メモリ1のパフォーマンスが向上する。
【0055】
また、マルチバンクメモリでは、アクセス対象が第1のバンクの第1のロウアドレスから第2のバンクの第2のロウアドレスに移った場合でも、第1のロウアドレスに対応するワード線の活性状態が維持される。従って、アクセス対象が第2の第2のバンクの第2のロウアドレスから第1のバンクの第1のロウアドレスに戻った場合には、その第1のロウアドレスに対応するアクセスはやはり高速になる。このような高速アクセスは、シングルバンクメモリでは不可能である。
【0056】
なお、図3に示される例では、高速メモリセル領域がY軸方向に沿って256アドレスごとに形成されるとした。しかし、本発明はこれに限定されない。より多くの高速メモリセルを搭載することができる場合には、高速メモリセル領域をより小さい間隔で(例えば、128または64アドレスごとに)形成してもよい。あるいは、あまり多くの高速メモリセルを搭載することができない場合には、高速メモリセル領域をより大きな間隔で(例えば、512または1024アドレスごとに)形成してもよい。
【0057】
例えば、8個のバンクを有する半導体メモリは、8ページ分のデータを高速に読み出し/書き込み可能に持つこととなる。16個のバンクを有する半導体メモリは、16ページ分のデータを高速に読み出し/書き込み可能に持つこととなる。ロウアドレスに対応するワード線の活性化が解除されてそのワード線とは異なるワード線が活性化されるのは、シーケンシャルアクセスからロウアクセスに移る場合、実行中のアプリケーションが切り替わる場合、ハードディスクドライブ(HDD)などの周辺デバイスからメインメモリへのアクセスが起動される場合などであると考えられる。
【0058】
図4は、半導体メモリ1の構成を示す。半導体メモリ1は、2048(Row)×2016(Column)のDRAMセルアレイ2と、2048(Row)×32(Column)のSRAMセルアレイ3とを含む。半導体メモリ1全体の記憶容量は、4194304ビット(4Mビット)である。
【0059】
DRAMセルアレイ2は、16個のバンク(図4では、BANK0〜BANK15と表記されている)に区分されている。16個のバンクのそれぞれは、128(Row)×2016(Column)というメモリ構成を有している。16個のバンクは、互いに独立してアクセスされ得る。
【0060】
あるロウアドレスが指定されると、そのロウアドレスに対応するすべてのカラムアドレス分のデータ(すなわち、1ページ分のデータに相当する2016ビット)がセンスアンプ4にラッチされる。ロウアクセスを行うには、センスアンプ4によって1ページ分のデータが増幅される時間が必要である。従って、1ページ分のデータをセンスアンプ4にラッチするまでに時間がかかるものの、いったん1ページ分のデータがセンスアンプ4にラッチされた後は、データの読み出しおよび書き込みが高速に行われる。
【0061】
また、センスアンプ4は、16個のバンクのそれぞれに対して設けられている。センスアンプ4は、16個のバンクのそれぞれに対して活性化され得る。従って、センスアンプ4は、最大で16ページ分のデータをラッチすることができる。
【0062】
SRAMセルアレイ3は、8種類の特定のカラムアドレス(すなわち、hex000、hex100、hex200、hex300、hex400、hex500、hex600、hex700)に対応する8個のカラムブロック5(図4では、Column Block0、C−Blk1〜C−Blk7と表記されている)を含む。8個のカラムブロック5のそれぞれは、2048(Row)×4ビットというメモリ構成を有している。また、8個のカラムブロック5のそれぞれは、DRAMセルアレイ2の各バンクに対応するよう16個のバンクに区分されている。
【0063】
図5は、半導体メモリ1の動作タイミングを示す。以下、図4および図5を参照して、半導体メモリ1の動作を説明する。
【0064】
時刻T0では、チップイネーブル信号/CEがLowレベルであり、かつ、RAS信号/RASがLowレベルである。コマンドデコーダ13は、Lowレベルのチップイネーブル信号/CEとLowレベルのRAS信号/RASとに応答して、ロウアドレスラッチ10にイネーブル信号を送る。ロウアドレスラッチ10は、このイネーブル信号に応答して、アドレスバス(A0〜A10)上のアドレスをロウアドレスとして取り込み、それを保持する。
【0065】
また、時刻T0では、制御信号CA−STRBがLowレベルである。3ビットデコーダ11は、カラムアドレスバス(CA0〜CA2)から3ビットのデータを受け取り、この3ビットのデータをデコードする。この3ビットのデータは、アクセスされるべき特定のカラムアドレス(hex000、hex100、hex200、hex300、hex400、hex500、hex600、hex700のいずれか)を指定するために使用される。
【0066】
3ビットのデータは、bin000〜bin111の8種類の値をとり得る。ここで、binは2進数表記を示す。3ビットデータの8種類の値は、それぞれ、特定のカラムアドレスに対応づけられている。例えば、3ビットデータの値bin000は、特定のカラムアドレスhex000に対応する。
【0067】
3ビットデコーダ11は、3ビットのデータがbin000である場合には、カラムアドレスhex000をアンプおよびカラムセレクタ6に出力する。アンプおよびカラムセレクタ6は、3ビットデコーダから出力されるカラムアドレスに応じて、SRAMセルアレイ3の8個のカラムブロック5のうちの1つを選択する。
【0068】
なお、カラムアドレスバス(CA0〜CA2)から入力される3ビットのデータの値と特定のカラムアドレスとの対応関係は、プログラムドカラムアドレス14に格納されており、プログラムドカラムアドレス14の内容を変更することによりその対応関係を変更することができる。例えば、3ビットデータの値bin000が特定のカラムアドレスhex700に対応するように対応関係を変更することができる。プログラムドカラムアドレス14は、例えば、不揮発性メモリである。
【0069】
ロウアドレスデコーダおよびバンクセレクタ9は、ロウアドレスラッチ10に保持されているロウアドレスに応じて、SRAMセルアレイ3の選択された1つのバンクの選択された1つのワード線を活性化する。その結果、選択されたカラムブロック5の選択されたバンクから、4ビットのデータが出力される。
【0070】
データアライナおよびパラレル/シリアル変換器7は、SRAMセルアレイ3から出力される4ビットのパラレルデータを1ビットのシリアルデータに変換する。1ビットのシリアルデータは、I/O制御およびデータラッチ8を介して、順次、半導体メモリ1の外部に出力される。
【0071】
さらに、ロウアドレスデコーダおよびバンクセレクタ9は、ロウアドレスラッチ10に保持されているロウアドレスに応じて、DRAMセルアレイ2の選択されたバンクの選択されたワード線を活性化する。
【0072】
時刻T2では、チップイネーブル信号/CEがLowレベルであり、かつ、CAS信号/CASがLowレベルである。コマンドデコーダ13は、Lowレベルのチップイネーブル信号/CEとLowレベルのCAS信号/CASとに応答して、カラムアドレスラッチ12にイネーブル信号を送る。カラムアドレスラッチ12は、このイネーブル信号に応答して、アドレスバス(A0〜A10)上のアドレスをカラムアドレスとして取り込み、それを保持する。
【0073】
センスアンプおよびカラムデコーダ4は、カラムアドレスラッチ12に保持されているカラムアドレスに応じて、DRAMセルアレイ2における活性化されたワード線に対応する2016ビットのデータ(1ページ分のデータ)を選択する。その結果、DRAMセルアレイ2の選択されたバンクから、選択された2016ビットのデータが出力される。
【0074】
データアライナおよびパラレル/シリアル変換器7は、SRAMセルアレイ3から出力される4ビットのパラレルデータを1ビットのシリアルデータに変換し、DRAMセルアレイ2から出力されるデータと整列させる。整列後のデータは、I/O制御およびデータラッチ8を介して、順次、半導体メモリ1の外部に出力される。
【0075】
SRAMセルアレイ3のデータは、DRAMセルアレイ2のデータよりも高速に出力される。従って、I/O制御およびデータラッチ8から出力されるデータのうち最初の4ビットのデータはSRAMセルアレイ3からのデータとなり、その最初の4ビットに続くデータはDRAMセルアレイ2からのデータとなる(図5参照)。
【0076】
SRAMセルからのデータは、基準時刻T0から2クロック後の時刻T2から出力することができる(SRAMセルに対するアクセス時間を20ns以下に設定している)。一方、DRAMセルからのデータは、基準時刻T0から4クロック後の時刻T4からでないと出力されない(RASアクセス時間を20nsに設定している。)。半導体メモリ1では、特定のカラムアドレスに対して、DRAMセルに対する低速アクセスがSRAMセルに対する高速アクセスに置き換えられる。これにより、半導体メモリ1のパフォーマンスを全体として向上させることが可能になる。
【0077】
ここでは、クロック信号CLKの周波数は100MHzであり、DDR(Double Data Transfer)を行う場合を想定している。この場合、データの1サイクルが5nsであり、4ビットのシリアルデータを出力するのに20nsかかる。また、tRAC(RASアクセス時間)=40ns、tCAC(CASアクセス時間)=20ns、tAC(SRAMアクセス時間)=20nsとすると、ロウアクセス起動タイミング(T0、T8)から20ns経過後にSRAMセルアレイ3から4ビットのデータが出力され、その出力に20nsかかり、その後(起動から60ns経過後)にDRAMセルアレイ2からtRACのタイミングで次のデータが出力される。この後、20nsごとにCAS信号/CASをLowレベルにすることにより、tCAC(20ns)のサイクルでデータが出力される。その結果、図5に示されるように、データが途切れることなく連続したデータ出力が実現される。
【0078】
データを半導体メモリ1に書き込む場合には、I/O制御およびデータラッチ8はそのデータをラッチする。I/O制御およびデータラッチ8にラッチされたデータは、カラムアドレスに従って、DRAMセルアレイ2またはSRAMセルアレイ3に書き込まれる。カラムアドレスが特定のカラムアドレスに一致する場合には、データはSRAMセルアレイ3に書き込まれる。それ以外の場合には、データはDRAMセルアレイ2に書き込まれる。
【0079】
半導体メモリ1は、ロウアドレスが比較的頻繁に変化し、ロウアドレスが指定された後に最初に指定されるカラムアドレスが特定のカラムアドレスに一致する確率が高い場合に非常に有効である。実際、Windowsなどの基本ソフトウェアの上で複数のアプリケーションが実行されており、ハードディスクドライブ(HDD)に対するアクセスも頻繁に行われる状況では、ロウアドレスが比較的頻繁に変化し、アプリケーションの切り替わりやハードディスクドライブ(HDD)からのデータ転送が開始される際のカラムアドレスは、特定のいくつかのカラムアドレスに集中すると予想される。例えば、そのような特定のカラムアドレスは、hex000、hex100などの切りのいい数字を有するカラムアドレスである。従って、このような特定のカラムアドレスに高速メモリセル(例えば、SRAMセル)を割り当て、それ以外のカラムアドレスに低速メモリセル(例えば、DRAMセル)を割り当てておくことにより、半導体メモリ1に対するアクセスを全体として高速化することができる。
【0080】
また、半導体メモリ1は、16個のバンクを有している。16個のバンクのそれぞれは、ワード線が活性化された後はセンスアンプおよびカラムデコーダ4において1ページ分のデータを保持することができる。従って、半導体メモリ1全体としては、16ページ分のデータを高速で読み書きできる状態にしておくことができる。このため、ロウアドレスが各バンクで活性化されているワード線に対応するロウアドレスにヒットすれば、従来のDRAMと同様にカラムアドレスがランダムに変化しても高速なアクセスを提供することができる。
【0081】
本実施の形態では、特定のカラムアドレスを表す情報は、ロウアドレスおよびカラムアドレスとは独立に、カラムアドレスバス(CA0〜CA2)から3ビットデコーダ11に入力される。特定のカラムアドレスを表す情報は、ロウアドレスと同時に入力される。このことは、ロウアクセス時にSRAMセルを選択することを可能にする。その結果、SRAMセルに対するアクセスを高速に行うことができる。なお、特定のカラムアドレスを表す情報を入力するための専用ピンを設けることは必須ではない。例えば、Rambus DRAMなどに採用されているぱパケット入力を用いて特定のカラムアドレスを表す情報を入力する場合にはそのような専用ピンは不要となる。
【0082】
(実施の形態2)
図6は、本発明の実施の形態2の半導体メモリ101のメモリ空間4000の概念を示す。メモリ空間4000は、16個のバンク4010に区分されている。図6では、16個のバンク4010は、それぞれ、BANK0〜BANK15と表記されている。16個のバンク4010は、互いに独立にアクセスされ得る。
【0083】
半導体メモリ101は、64Mビットの記憶容量を有している。より詳細には、半導体メモリ101は、16バンク×9ビット(512Row)×9ビット(512Column)×16ビットI/Oのメモリ構成を有している。半導体メモリ101には、16個のI/Oが設けられている。図6では、16個のI/Oは、I/O#0〜I/O#15と表記されている。1ビットのデータが各I/Oに入力され、または、各I/Oから出力される。
【0084】
図6において、斜線の領域は高速メモリセル領域(例えば、SRAMセル領域)を示し、それ以外の領域は低速メモリセル領域(例えば、DRAMセル領域)を示す。
【0085】
高速メモリセル領域は、各I/Oごとに2つずつ設けられている。高速メモリセル領域は、Y軸方向に8ビットの幅を有する領域である。各I/Oにおける高速メモリセル領域は、9ビットのカラムアドレス(hex000〜hex1FF)のうちhex000、hex100(256アドレス毎)に対応するように設けられている。
【0086】
図7は、半導体メモリ101の構成を示す。半導体メモリ101の構成は、DRAMセルアレイ102とSRAMセルアレイ103と1ビットデコーダ110とを除いて、図4に示される半導体メモリ1の構成と同一である。図7において、図4に示される構成要素と同一の機能を有する構成要素には同一の参照番号を付し、その説明を省略する。
【0087】
半導体メモリ101は、8192(Row)×7936(Column)のDRAMセルアレイ102と、8192(Row)×256(Column)のSRAMセルアレイ103とを含む。
【0088】
DRAMセルアレイ102は、16個のバンク(図7では、BANK0〜BANK15と表記されている)に区分されている。16個のバンクのそれぞれは、512(Row)×7936(Column)というメモリ構成を有している。16個のバンクは、互いに独立してアクセスされ得る。
【0089】
SRAMセルアレイ103は、16個のI/Oにそれぞれ対応する16個のカラムブロック105(図7では、Column Block0、C−Blk1〜C−Blk15)を含む。16個のカラムブロック105のそれぞれは、カラムアドレスhex000のための512(Row)×8(Column)というメモリ構成と、カラムアドレスhex100のための512(Row)×8(Column)というメモリ構成とを有している。カラムアドレスhex000に対して8ビットの連続データが割り当てられ、カラムアドレスhex100に対して8ビットの連続データが割り当てられる。従って、カラムブロック105は、8ビット×2=16ビットのデータ幅を有している。
【0090】
1ビットデコーダ110は、カラムアドレスバス(CA)から1ビットのデータを受け取り、この1ビットのデータをデコードする。この1ビットのデータは、アクセスされるべき特定のカラムアドレス(図6および図7に示される例では、hex000またはhex100のいずれか)を指定するために使用される。例えば、1ビットデコーダ110は、1ビットのデータの値が「0」である場合には特定のカラムアドレスhex000をアンプおよびカラムセレクタ6に出力し、1ビットのデータの値が「1」である場合には特定のカラムアドレスhex100をアンプおよびカラムセレクタ6に出力する。アンプおよびカラムセレクタ6は、1ビットデコーダ110から出力されるカラムアドレスに応じて、SRAMセルアレイ103をアクセスする。なお、カラムアドレスバス(CA)から入力される1ビットのデータの値と特定のカラムアドレスとの対応関係は、プログラムドカラムアドレス14に格納されており、プログラムドカラムアドレス14の内容を変更することによりその対応関係を変更することができる。
【0091】
半導体メモリ101では、データのバースト長は8ビットである。クロック信号CLKの周波数は100MHzである。クロック信号CLKの立ち上がりエッジと立ち下がりエッジとに同期して5nsごとにデータが出力される。
【0092】
図8は、半導体メモリ101の動作タイミングを示す。以下、図7および図8を参照して、半導体メモリ101の動作を説明する。
【0093】
時刻T4では、RAS信号/RASがLowレベルであり、かつ、CAS信号/CASがHighレベルであり、かつ、ライトイネーブル信号/WEがLowレベルである。LowレベルのRAS信号/RASとHighレベルのCAS信号/CASとLowレベルのライトイネーブル信号/WEとに応答して、時刻T0で入力されたロウアドレスに対応するDRAMセルアレイ102のワード線のプリチャージが起動される。
【0094】
また、時刻T4では、制御信号CA−STRBがLowレベルである。Lowレベルの制御信号CA−STRBに応答して、カラムアドレスバス(CA)から1ビットデコーダ110に特定のカラムアドレスを示す1ビットのデータが入力される。
【0095】
上述したワード線がプリチャージされる期間(20ns)が経過した後に、時刻T5においてRAS信号/RASが再びLowレベルとされる。LowレベルのRAS信号/RASに応答して、時刻T5で入力されるロウアドレスに対応するSRAMセルアレイ103のワード線が活性化される。
【0096】
時刻T4において、特定のカラムアドレスを示す1ビットのデータを入力することにより、時刻T4から1サイクル(20ns)後の時刻T5からデータを出力することが可能になる。これは、DRAMセルメモリ102のワード線をプリチャージすることと並行してSRAMセルメモリをアクセスすることができるからである。SRAMセルメモリ103からのデータは、5nsごとに8ビットバーストの形式で出力される。従って、データの出力期間は40nsである。
【0097】
一方、DRAMセルアレイ102にアクセスする場合には、データの出力期間は60nsとなる。データの出力期間は、tRP(RASプリチャージ時間)とtRAC(RASアクセス時間)との合計であり、tRP=20nsであり、tRAC=40nsであるからである。
【0098】
半導体メモリ101では、ワード線をプリチャージするためのプリチャージ期間(20ns)と1ビットのデータを入力してからデータの出力が開始されるまでの期間(20ns)とを重複させることにより、データが20nsだけ早く出力されるように構成されている。このようにして、データの出力期間を短縮することにより、図8に示されるように、データ出力を途切れることなく連続して行うことが可能になる。
【0099】
なお、データのバースト長やサイクルタイム(クロック信号CLKの周波数)は、設計に応じて適切に選択され得る。これにより、どのような場合でも、データ出力を途切れることなく連続して行うことができる。
【0100】
(実施の形態3)
図9は、本発明の実施の形態3のメモリシステム3の構成を示す。メモリシステム3は、メモリモジュール201と、メモリモジュール201を制御するメモリコントローラ204とを含む。メモリモジュール201とメモリコントローラ204とは、情報を伝送するための伝送線路(例えば、データバスやアドレスバス)を介して接続されている。
【0101】
メモリモジュール201は、2個のSRAMデバイス203と、8個のDRAMデバイス202とを含む。
【0102】
SRAMデバイス203は、1Mビット×18ビットのメモリ構成を有している。SRAMデバイス203の記憶容量は18Mビットである。SRAMデバイス203には、20ビットのアドレスが入力される。SRAMデバイス203は、入力されたアドレスに応答して、8ビットのデータをクロック信号CLKに同期して出力する。
【0103】
DRAMデバイス202は、4バンク×1Mビット×18ビットのメモリ構成を有している。DRAMデバイス202の記憶容量は72Mビットである。DRAMデバイス202には、13ビットのアドレス(Bank&Row)と9ビットのアドレス(Column)とがそれぞれ共通のアドレスバス(13ビット)を介して入力される。DRAMデバイス202は、入力されたアドレスに応答して、8ビットのデータをクロック信号CLKに同期して出力する。
【0104】
メモリモジュール201では、複数のDRAMデバイス202からデータが同時に出力され得るため、データバスのビット幅は36ビット(データを伝送するための32ビットとパリティビットを伝送するための4ビット)である。データバスには、2個のSRAMデバイス203のデータピンがパラレルに接続されており、8個のDRAMデバイス202のデータピンが、2個のDRAMデバイス202を一組としてパラレルに、4組のDRAMデバイス202がシリーズに接続されている。
【0105】
メモリモジュール201は、64Mバイトのメモリモジュールとして機能する。メモリモジュール201には、図10に示されるように、hex0000000〜hex3FFFFFFのメモリ空間が割り当てられている。このメモリ空間は、DRAMデバイス202とSRAMデバイス203とによってカバーされている。DRAMデバイス202はロウアクセスが遅い。このため、メモリモジュール201では、ロウアクセスはSRAMデバイス203を用いて行われ、ロウアクセスに続くカラムアクセスはDRAMデバイス202を用いて行われる。
【0106】
このように、メモリモジュール201では、DRAMデバイス202では時間のかかる特定のカラムアドレスに対するアクセスをSRAMデバイス203に代替させることにより、全体のパフォーマンスを向上させている。
【0107】
SRAMデバイス203に入力される20ビットのアドレスのうち、上位から13ビットのアドレスは、DRAMデバイス202のアドレスバスに接続されている。残りの7ビットのアドレスは、DRAMデバイス202における所定のカラムアドレスに割り当てられている。この7ビットのアドレスのうち下位の3ビットは、8ビットバーストに対応する最初のカラムアドレスの決定に関連している。この7ビットのアドレスのうち上位の4ビットは、32ビットごとの16種類のアドレス(すなわち、hex0000、hex0020、hex0040、hex0060、・・・、hex01C0、hex01D0)に1対1で割り当てられている。
【0108】
図11は、DRAMデバイス202の単体に対して、SRAMデバイス203の一部がどのように対応づけられているかを示す。DRAMデバイス202の9ビットのカラムアドレスが上述した16種類のアドレスにヒットした場合には、SRAMデバイス203のチップイネーブル信号/CEなどの制御信号がアクティブにされる。このようにして、ヒットしたアドレスに格納されているデータがSRAMデバイス203から読み出され、または、与えられたデータがヒットしたアドレスに書き込まれる。
【0109】
上述した7ビットのアドレスを、図4、図6に示されるカラムアドレスバス(CA0〜CA2またはCA)から入力されるアドレスとして使用し、制御信号CA−STRBの代わりにSRAMデバイス203の制御信号を使用することにより、図12に示すような連続したデータ出力が可能となるのである。
【0110】
DRAMデバイス202における特定のカラムアドレスに対応するアクセス(すなわち、ロウアクセス)は、高速アクセスが可能なSRAMデバイス203を用いて行われる。これにより、ロウアクセスが高速化される。また、SRAMデバイス203にアクセスしている間にDRAMデバイス202を活性化することができるので、SRAMデバイス203からDRAMデバイス202にアクセスが移った場合でも、アクセスは依然として高速となる。
【0111】
また、図10に示されるように、図9のDRAMデバイスグループA〜Dが順番にメモリマップ上に割り当てられている場合には、DRAMデバイス202におけるバンクのコンフリクトを低減させることができる。
【0112】
上述した実施の形態は、キャッシュメモリを内蔵し、カラムアドレス方向にある程度連続的な読み書きを行うパーソナルコンピュータ(PC)やワークステーションでは特に有効である。さらに、特定のカラムアドレスを不揮発性メモリセル等を用いてプログラム可能としてもよい。このことは、特定のカラムアドレスをアプリケーション毎に最適化することを可能にする。例えば、グラフィック用のアプリケーションに適するようにユーザが特定のカラムアドレスを再設定できるようにしてもよい。このようにすれば、本発明の半導体メモリをキャッシュメモリのないグラフィックのような分野にも適応することが可能になる。これにより、本発明の半導体メモリの汎用性が増す。
【0113】
(実施の形態4)
図13は、本発明の実施の形態4の半導体メモリ5001のメモリアレイ空間5000の概念を示す。
【0114】
半導体メモリ5001は、512(Row)×1024(Column)×1ビットI/Oの512Kビットのメモリアレイを有している。1ビットのデータが半導体メモリ5001に入力され、または、半導体メモリ5001から出力される。このメモリアレイは、2つのサブアレイ(すなわち、ノーマルアレイとプリフェッチアレイ)に分割されている。ノーマルアレイとプリフェッチアレイのそれぞれは、個別に活性化され、または、非活性化され得る。
【0115】
ノーマルアレイおよびプリフェッチアレイは、それぞれ、複数のメモリセルを含む。ノーマルアレイに含まれる複数のメモリセルと、プリフェッチアレイに含まれる複数のメモリセルとは、同一の構成を有している。それにもかかわらず、プリフェッチアレイのメモリセルに対するアクセスは、ノーマルアレイのメモリセルに対するアクセスよりも高速に行われる。例えば、ノーマルアレイおよびプリフェッチアレイは、それぞれ、複数のDRAMセルを含む。
【0116】
ノーマルアレイにおける特定のカラムアドレスは、プリフェッチアレイのメモリセルに割り当てられている。これにより、ノーマルアレイにおける特定のカラムアドレスに対応するアクセスをプリフェッチアレイのメモリセルに対するアクセスに代替することができる。
【0117】
なお、メモリアレイを3以上のサブアレイに分割してもよい。この場合には、一のサブアレイにおける特定のカラムアドレスが、他のサブアレイのメモリセルに割り当てられる。これにより、一のサブアレイにおける特定のカラムアドレスに対応するアクセスを他のサブアレイのメモリセルに対するアクセスに代替することができる。
【0118】
図13において、斜線の領域は、プリフェッチアレイが担当する領域(以下、「プリフェッチアレイ領域」という)を示し、それ以外の領域は、ノーマルアレイが担当する領域(以下、「ノーマルアレイ領域」という)を示す。プリフェッチアレイ領域は、例えば、64(Row)×1024(Column)というメモリ構成を有するDRAMのアレイによって実現され得る。ノーマルアレイ領域は、例えば、512(Row)×896(Column)というメモリ構成を有するDRAMのアレイによって実現され得る。
【0119】
プリフェッチアレイ領域は、ロウアドレスhex000からロウアドレスhex1FFにわたってX軸方向に沿って形成され、Y軸方向に沿って特定の間隔をあけて形成される。このように、プリフェッチアレイ領域は、メモリアレイ空間5000において複数の帯領域として形成される。
【0120】
図13に示される例では、16個の帯領域が、Y軸方向に沿って64アドレス毎に形成されている。16個の帯領域のそれぞれは、X軸方向に512ビットの幅を有し、Y軸方向に8ビットの幅を有する領域である。
【0121】
ロウアドレスが指定された後、最初に指定されるカラムアドレスが特定のカラムアドレス(すなわち、hex000、hex040、・・・、hex3C0のいずれか)に一致する場合には、そのロウアドレスとそのカラムアドレスとに対応するアクセスは高速に行われる。これは、その特定のカラムアドレスから所定のバースト長ビット(図13に示される例では8ビット)の範囲に含まれるカラムアドレスがプリフェッチアレイのメモリセルに割り当てられているからである。
【0122】
プリフェッチアレイのメモリセルに対するアクセスを行っている間に、ロウアドレスに対応するノーマルアレイのすべてのメモリセルルが活性化される。従って、アクセス対象がプリフェッチアレイのメモリセルからノーマルアレイのメモリセルに移った場合でも、そのノーマルアレイのメモリセルに対して高速にアクセスすることが可能になる。
【0123】
このように、ロウアドレスに対応するノーマルアレイのすべてのメモリセルが活性化されるまで、プリフェッチアレイのメモリセルが”ワンポイントリリーフ”としてメモリアクセスを担当するように、ノーマルアレイとプリフェッチアレイとが構成される。これにより、切れ目のないアクセスを実現することができる。
【0124】
ノーマルアレイにおける特定のカラムアドレスは、ロウアドレスが指定された後に最初に指定されるカラムアドレスがその特定のカラムアドレスにヒットする確率が高くなるように予め設定されている。このようにノーマルアレイにおける特定のカラムアドレスを設定することにより、半導体メモリ5001のパフォーマンスが向上する。
【0125】
ロウアドレスが指定された後に最初に指定されるカラムアドレスがその特定のカラムアドレスにヒットする確率は、複数のメモリセルが複数のバンクに区分され、ロウアドレスに対応するワード線の活性化がキャッシュフィルサイクルごとに解除されない半導体メモリ(すなわち、マルチバンクメモリ)においては飛躍的に増大する。なぜなら、マルチバンクメモリでは、シングルバンクメモリに比べて、ロウアドレスが指定された後に最初に指定されるカラムアドレスが、特定のカラムアドレスに集中する確率が高いからである。その特定のカラムアドレスは、例えば、hex000、hex040、・・・、hex3C0という非常に切りのいい数字を有する64アドレス毎のカラムアドレスである。このようなカラムアドレスをプリフェッチアレイのメモリセルに割り当てることによって、ほとんどすべてのロウアクセスがプリフェッチアレイのメモリセルから始まることになる。これにより、半導体メモリ5001のパフォーマンスが向上する。
【0126】
また、マルチバンクメモリでは、アクセス対象が第1のバンクの第1のロウアドレスから第2のバンクの第2のロウアドレスに移った場合でも、第1のロウアドレスに対応するワード線の活性状態が維持される。従って、アクセス対象が第2の第2のバンクの第2のロウアドレスから第1のバンクの第1のロウアドレスに戻った場合には、その第1のロウアドレスに対応するアクセスはやはり高速になる。このような高速アクセスは、シングルバンクメモリでは不可能である。
【0127】
なお、図13に示される例では、プリフェッチアレイ領域がY軸方向に沿って64アドレスごとに形成されるとした。しかし、本発明はこれに限定されない。アプリケーションに適合するようにプリフェッチアレイ領域をより小さい間隔で形成してもよいし、より大きな間隔で(例えば、128または256アドレスごとに)形成してもよい。
【0128】
プリフェッチアレイに含まれる複数のワード線のうち活性化されていないワード線に対応するロウアドレスが指定された場合には、プリフェッチアレイのメモリセルに対する高速アクセスは期待できない。しかし、プリフェッチアレイでは、現在アクセスされているメモリセルの近傍のロウアドレスに対応するワード線が活性化されている。従って、実際のシステム上では、プリフェッチアレイにおいて活性化されていないワード線に対応するロウアドレスが指定される確率を低く抑えることができるので、問題はない。
【0129】
例えば、8個のバンクを有する半導体メモリは、8ページ分のデータを高速に読み出し/書き込み可能に持つこととなる。16個のバンクを有する半導体メモリは、16ページ分のデータを高速に読み出し/書き込み可能に持つこととなる。ロウアドレスに対応するワード線の活性化が解除されてそのワード線とは異なるワード線が活性化されるのは、シーケンシャルアクセスからロウアクセスに移る場合、実行中のアプリケーションが切り替わる場合、ハードディスクドライブ(HDD)などの周辺デバイスからメインメモリへのアクセスが起動される場合などであると考えられる。
【0130】
図14は、半導体メモリ5001の構成を示す。半導体メモリ5001のメモリアレイは、512(Row)×896(Column)のノーマルアレイ5002と、64(Row)×1024(Column)のプリフェッチアレイ5003という2つのサブアレイに分割されている。
【0131】
プリフェッチアレイ5003の1本のワード線は、ノーマルアレイ5002における8本のワード線を担当するようになっている。例えば、プリフェッチアレイ5003の1本のワード線WLp0は、ノーマルアレイ5002の8本のワード線WLn0〜WLn7にそれぞれ対応するように8個の領域WLp0(8n)〜WLp0(8n+7)に区分されている。
【0132】
ノーマルアレイ5002におけるワード線WLn0に対応する特定のカラムアドレス(hex000、hex040、・・・、hex3C0)が、プリフェッチアレイ5003のワード線WLp0の領域WLp0(8n)における16個のメモリセルに割り当てられている。16個のメモリセルのそれぞれは8ビットの幅を有している。従って、ワード線WLp0の領域WLp0(8n)は、128(=8×16)ビットの幅を有している。
【0133】
同様にして、ノーマルアレイ5002におけるワード線WLn1に対応する特定のカラムアドレス(hex000、hex040、・・・、hex3C0)が、プリフェッチアレイ5003のワード線WLp0の領域WLp0(8n+1)における16個のメモリセルに割り当てられている。16個のメモリセルのそれぞれは8ビットの幅を有している。従って、ワード線WLp0の領域WLp0(8n+1)は、128(=8×16)ビットの幅を有している。
【0134】
このように、ノーマルアレイ5002におけるhex000から始まる64ビット毎の特定のカラムアドレスが、プリフェッチアレイ5003のメモリセルに割り当てられる。従って、これらの特定のカラムアドレスに対応するデータは、プリフェッチアレイ5003における1本のワード線に対応する複数のメモリセルに格納される。プリフェッチアレイ5003は、1024(=128×8)ビットの幅を有している。
【0135】
以下、半導体メモリ5001の基本的な動作を説明する。
【0136】
はじめに、9ビットのロウアドレスが半導体メモリ5001に入力される。ロウデコーダおよびワード線ドライバ5004は、ロウアドレスに従ってノーマルアレイ5002の複数のワード線(WLn0〜WL511)のうち1本のワード線を選択し、その選択されたワード線を駆動する。
【0137】
ロウアドレスの上位6ビットは、ロウデコーダおよびワード線ドライバ5005に供給される。ロウデコーダおよびワード線ドライバ5005は、ロウアドレスの上位6ビットに従ってプリフェッチアレイ5003の複数のワード線(WLp0〜WLp63)のうち1本のワード線を選択し、その選択されたワード線を駆動する。
【0138】
ノーマルアレイ5002において選択された1本のワード線が駆動されると、そのワード線に接続されているメモリセルがセンスアンプドライバ5006Dとセンスアンプ5006とによって増幅される。このようにして、ノーマルアレイ5002が活性化される。
【0139】
プリフェッチアレイ5003において選択された1本のワード線が駆動されると、そのワード線に接続されているメモリセルがセンスアンプドライバ5007Dとセンスアンプ5007とによって増幅される。このようにして、プリフェッチアレイ5003が活性化される。
【0140】
次に、10ビットのカラムアドレスが半導体メモリ5001に入力される。カラムデコーダ5008は、カラムアドレスの上位7ビットに従ってカラムスイッチCSW1を制御する。カラムスイッチCSW1によって選択されたノーマルアレイ5002のデータがローカルデータ線LDに出力される。
【0141】
ノーマルアレイ5002の1本のワード線に対応する896ビットのデータは、8ビットずつの112のグループに分類されている。この112のグループのうちのどのグループを選択するかがカラムアドレスの上位7ビットによって決定される。選択されたグループに対応する8ビットのデータがローカルデータ線LDに出力される。
【0142】
なお、カラムアドレスのうち下位3ビットのアドレスは、連続出力される8ビットのデータの各々に論理的に割り当てられる。
【0143】
図15は、1本のワード線における論理アドレスと物理アドレスとの関係を示している。図15に示されるように、64ビットに対応する論理アドレス0〜63のうち、先頭の8ビットに対応する論理アドレス0〜7がプリフェッチアレイ5003に割り当てられ、先頭の8ビットに続く56ビットに対応する論理アドレス8〜63がノーマルアレイ5002に割り当てられている。
【0144】
従って、ロウアドレスが指定された場合において、64カラムアドレスごとの8ビットのデータは、プリフェッチアレイ5003から出力されることとなる。ノーマルアレイ5002において活性化されているワード線の近傍ロウアドレスと特定のカラムアドレスとに対応するプリフェッチアレイ5003内のメモリセルを活性化状態としておくことにより、そのメモリセルに対するアクセスを高速に行うことができる。
【0145】
ここで、図14に示されるノーマルアレイ5002では、hex000から64アドレス毎の16個の特定のカラムアドレス(すなわち、hex000、hex040、hex080、・・・、hex3C0)にはデータが格納されていない。カラムアドレスがこれらの特定の16個のアドレスのいずれかにヒットする場合には、セレクト信号SelがHighレベルとされる。その結果、カラムデコーダ5008が反応しなくなる。一方、セレクト信号SelがHighレベルである場合には、カラムデコーダ5009が反応するようになる。
【0146】
カラムデコーダ5009には、ロウアドレスの下位3ビットと、特定のカラムアドレスを示す4ビットのデータとが供給される。カラムデコーダ5009は、ロウアドレスの下位3ビットと特定のカラムアドレスを示す4ビットのデータとに従ってカラムスイッチCSW2を制御する。カラムスイッチCSW2によって選択されたプリフェッチアレイ5003のデータがローカルデータ線LDに出力される。
【0147】
プリフェッチアレイ5003の1本のワード線に対応する1024ビットのデータは、128ビットずつの8個の領域に割り当てられており、8個の領域のそれぞれは16個の8ビット幅のメモリセルを含んでいる。8個の領域のうちのどの領域を選択するかがロウアドレスの下位3ビットによって決定される。この選択された領域は、ノーマルアレイ5002における8本1組のワード線のうち選択された1本のワード線に対応する。この選択された領域に含まれる16個のメモリセルのうちどのメモリセルを選択するかが特定のカラムアドレスを示す4ビットのデータによって決定される。この選択されたメモリセルは、16個の特定のカラムアドレス(hex000、hex040、hex080、・・・、hex3C0)のうち選択された1つのカラムアドレスに対応する。選択されたメモリセルに対応する8ビットのデータがローカルデータ線LDに出力される。
【0148】
このように、セレクト信号Selに応じて、カラムデコーダ5008およびカラムデコーダ5009の一方を選択的に活性化することにより、ノーマルアレイ5002およびプリフェッチアレイ5003の一方から選択的にデータが出力される。すなわち、ノーマルアレイ5002からデータが出力される場合には、プリフェッチアレイ5003からはデータが出力されず、プリフェッチアレイ5003からデータが出力される場合には、ノーマルアレイ5002からはデータが出力されない。従って、ノーマルアレイ5002とプリフェッチアレイ5003とに共通にローカルデータ線LDを設けることができる。これにより、半導体メモリ5001のチップ面積を削減することができる。
【0149】
ローカルデータ線LDに出力された8ビットのデータは、リードアンプ5010によって増幅され、グローバルデータ線GDに出力される。グローバルデータ線GDに出力されたデータは、例えば、図16に示されるI/O回路RDを介して半導体メモリ5001の外部に出力される。
【0150】
(実施の形態5)
図16は、本発明の実施の形態5の半導体メモリ6001の構成を示す。
【0151】
半導体メモリ6001は、16Mビットの記憶容量を有するDRAMである。より詳細には、半導体メモリ6001は、4バンク×9(Row)×10(Column)×8ビットI/Oのメモリ構成を有している。半導体メモリ6001のメモリコア6002は、32個の512Kのメモリアレイコア6003を有している。
【0152】
メモリコア6002は、4個のバンク6004に区分されている。図16では、4個のバンク6004は、それぞれ、BANK1〜BANK4と表記されている。4個のバンク6004は、互いに独立にアクセスされ得る。
【0153】
半導体メモリ6001には、8個の入出力(I/O)が設けられている。図16では、8個のI/Oは、I/O#0〜I/O#7と表記されている。1ビットのデータが各I/Oに入力され、または、各I/Oから出力される。
【0154】
ロウアドレスラッチ6011は、アドレスバス(A0〜A10)から11ビットのロウアドレスをラッチする。ロウアドレスラッチ6011は、ロウアドレスの上位2ビットをバンク選択回路6016に供給する。バンク選択回路6016は、ロウアドレスの上位2ビットに従って4個のバンク6004のうちの1つを選択する。4個のバンク6004のそれぞれは、ロウアドレスに応じて互いに独立に活性化され得る。従って、最大で4バンク分のデータがセンスアンプ(図示せず)によってラッチされ得る。
【0155】
カラムアドレスラッチ6012は、アドレスバス(A0〜A10)から10ビットのカラムアドレスをラッチする。カラムアドレスは、例えば、アドレスバス(A0〜A10)の上位10ビットに対応する。カラムアドレスのラッチは、ロウアドレスのラッチとは異なるタイミングで行われる。
【0156】
特定アドレスラッチ6013は、カラムアドレスバス(CA0〜CA3)から4ビットのデータをラッチする。この4ビットのデータは、特定のカラムアドレスを指定するために使用される。4ビットのデータは、制御信号CA−STRBがLowレベルの状態でクロック信号CLKがLowレベルからHighレベルに遷移したタイミングに応答して特定アドレスラッチ6013にラッチされる。
【0157】
制御信号CA−STRBがLowレベルの状態でクロック信号CLKがLowレベルからHighレベルに遷移した時から1サイクルの間は、イネーブルジェネレータ6014は、セレクト信号SelをHighレベルとする。
【0158】
各512Kのメモリアレイコア6003は、図14に示される半導体メモリ5001と同一の構成を有している。図16には示されていないが、セレクト信号Selは、各512Kのメモリアレイコア6003のカラムデコーダ5008とカラムデコーダ5009とに供給される。セレクト信号SelがHighレベルである場合には、プリフェッチアレイ5003のためのカラムデコーダ5009が活性化され、ノーマルアレイ5002のためのカラムデコーダ5008は非活性化される。
【0159】
プリチャージコントローラ6015は、チップセレクト信号/CS、RAS信号/RAS、ライトイネーブル信号/WEがいずれもLowレベルである状態に応答して、ロウアドレスに従ってノーマルアレイ5002をプリチャージし、チップセレクト信号/CS、RAS信号/RAS、ライトイネーブル信号/WE、CAS信号/CAS、制御信号CA−STRBがいずれもLowレベルである状態に応答して、ロウアドレスに従ってノーマルアレイ5002とプリフェッチアレイ5003とをプリチャージする。プリフェッチアレイ5003とノーマルアレイ5002をプリチャージするときは、連続データの読み書きがとだえる可能性がある。
【0160】
図17は、半導体メモリ6001のメモリ空間6000の概念を示す。図17において、斜線の領域が、プリフェッチアレイ5003に割り当てられている領域を示す。従って、ロウアクセスに対応するカラムアドレスがhex000から64アドレス毎のいずれかのカラムアドレスである場合には、プリフェッチアレイ5003のメモリセルからデータが出力される。
【0161】
図18は、半導体メモリ6001の動作タイミングを示す。以下、図16および図18を参照して、半導体メモリ6001の動作を説明する。
【0162】
時刻T0では、チップセレクト信号/CSがLowレベルであり、かつ、RAS信号/RASがLowレベルである。ロウアドレスラッチ6011は、Lowレベルのチップセレクト信号/CSとLowレベルのRAS信号/RASとに応答して、アドレスバス(A0〜A10)上のアドレスをロウアドレスとしてラッチする。
【0163】
また、時刻T0では、制御信号CA−STRBがLowレベルである。特定アドレスラッチ6013は、カラムアドレスバス(CA0〜CA3)上の4ビットのデータをラッチする。この4ビットのデータとロウアドレスとに基づいて、プリフェッチアレイ5003から8ビットのデータが時刻T2から出力される。このようにして、ロウアクセスが実行される。
【0164】
時刻T0では、CAS信号/CASはLowレベルにならず、その代わりに制御信号CA−STRBがLowレベルとなる。その結果、ロウアクセスが実行される。CAS信号/CASおよび制御信号CA−STRBのどちらをLowレベルにするかは、アクセス対象のアドレスに基づいて、メモリコントローラによって決定される。
【0165】
時刻T3では、CAS信号/CASがLowレベルである。カラムアドレスラッチ6012は、LowレベルのCAS信号/CASに応答して、アドレスバス(A0〜A10)上のアドレスをカラムアドレスとしてラッチする。ロウアドレスとカラムアドレスとに基づいて、ノーマルアレイ5002から8ビットのデータが時刻T4から出力される。このようにして、カラムアクセスが実行される。
【0166】
時刻T4では、アドレスバス(A0〜A10)から新たなロウアドレスがラッチされるとともに、ノーマルアレイ5002のプリチャージが開始される。プリフェッチアレイ5003はプリチャージされず、依然として活性化された状態が維持される。
【0167】
また、時刻T5では、カラムアドレスバス(CA0〜CA2)から新たな4ビットのデータがラッチされる。この新たな4ビットのデータと新たなロウアドレスとに基づいて、プリフェッチアレイ5003から8ビットのデータが時刻T6から出力される。このようにして、ロウアクセスが実行される。
【0168】
ノーマルアレイ5002がプリチャージされている間に、プリフェチアレイ5003に対するアクセスが開始される。このように、ノーマルアレイ5002をプリチャージするためのプリチャージ期間と4ビットのデータを入力してからプリフェッチアレイ5003からデータの出力が開始されるまでの期間とを重複させることにより、プリフェッチアレイ5003からのデータを早く出力することが可能になる。このようにして、データの出力期間を短縮することにより、図18に示されるように、データ出力を途切れることなく連続して行うことが可能になる。
【0169】
半導体メモリ6001は、ロウアドレスが比較的頻繁に変化し、ロウアドレスが指定された後に最初に指定されるカラムアドレスが特定のカラムアドレスに一致する確率が高い場合に非常に有効である。実際、Windowsなどの基本ソフトウェアの上で複数のアプリケーションが実行されており、ハードディスクドライブ(HDD)に対するアクセスも頻繁に行われる状況では、ロウアドレスが比較的頻繁に変化し、アプリケーションの切り替わりやハードディスクドライブ(HDD)からのデータ転送が開始される際のカラムアドレスは、特定のいくつかのカラムアドレスに集中すると予想される。例えば、そのような特定のカラムアドレスは、hex000、hex040などの切りのいい数字を有するカラムアドレスである。従って、このような特定のカラムアドレスにプリフェッチアレイ5003のメモリセル(例えば、DRAMセル)を割り当て、それ以外のカラムアドレスにノーマルアレイ5002のメモリセル(例えば、DRAMセル)を割り当てておくことにより、半導体メモリ6001に対するアクセスを全体として高速化することができる。
【0170】
また、半導体メモリ6001は、4個のバンク6003を有している。4個のバンク6003のそれぞれは、ワード線が活性化された後はセンスアンプ5006またはセンスアンプ5007において1ページ分のデータを保持することができる。従って、半導体メモリ6001全体としては、4ページ分のデータを高速で読み書きできる状態にしておくことができる。このため、ロウアドレスが各バンクで活性化されているワード線に対応するロウアドレスにヒットすれば、従来のDRAMと同様にカラムアドレスがランダムに変化しても高速なアクセスを提供することができる。
【0171】
なお、メモリコントローラは、活性化されているノーマルアレイ5002とプリフェッチアレイ5003のアドレスを常時把握しており、次のアクセスのためのアドレスが現在活性化されているプリフェッチアレイ5003にヒットするか否かを判定する。ヒットする場合(すなわち、次のアクセスに必要なデータがプリフェッチアレイ5003に格納されている場合)には、ノーマルアレイ5002のみがプリチャージされる。その結果、図18に示すような動作で切れ目のないデータ出力が実現される。ヒットしない場合(すなわち、次のアクセスに必要なデータがプリフェッチアレイ5003に格納されていない場合)には、メモリコントローラは、図19に示されるように時刻T5で、ノーマルアレイ5002とプリフェッチアレイ5003とを同時にプリチャージするようにチップセレクト信号/CS、RAS信号/RAS、CAS信号/CAS、ライトイネーブル信号/WE、制御信号CA−STRBをいずれもLowレベルにする。次のアクセスのためのアドレスに対応するノーマルアレイ5002とプリフェッチアレイ5003のワード線が活性化される。この場合は、通常のRASアクセスとなりデータの出力に切れ目が発生する(時刻T6〜T7)。
【0172】
本実施の形態では、特定のカラムアドレスを表す情報は、ロウアドレスおよびカラムアドレスとは独立に、カラムアドレスバス(CA0〜CA2)から特定アドレスラッチ6013に入力される。特定のカラムアドレスを表す情報は、ロウアドレスと同時に入力される。このことは、ロウアクセス時にプリフェッチアレイのメモリセルを選択することを可能にする。その結果、プリフェッチアレイのメモリセルに対するアクセスを高速に行うことができる。なお、特定のカラムアドレスを表す情報を入力するための専用ピンを設けることは必須ではない。例えば、半導体メモリ6001へのアドレス情報とコントロール情報とをプロトコル形式で入力するようにすると、ロウアドレスとカラムアドレスとが同一パケットで入力される。この場合には、そのような専用ピンは不要となる。
【0173】
(実施の形態6)
図20は、本発明の実施の形態6のメモリシステム7000の構成を示す。メモリシステム7000は、メモリモジュール7020と、メモリモジュール7020を制御するメモリコントローラ7010とを含む。メモリモジュール7020とメモリコントローラ7010とは、情報を伝送するための伝送線路(例えば、データバスやアドレスバス)を介して接続されている。
【0174】
メモリモジュール7020は、2個のプリフェッチ用DRAMデバイス(P−DRAM)7030と、8個のノーマル用DRAMデバイス(N−DRAM)7040とを含む。
【0175】
P−DRAM7030、N−DRAM7040は、4M×18ビットのメモリ構成を有している。これらのDRAMデバイスの記憶容量は72Mビットである。これらのDRAMデバイスは、例えば、シンクロナスDRAMであり得る。これらのDRAMデバイスには、12ビットのアドレス(Bank&Row)と10ビットのアドレス(Column)とがそれぞれ共通のアドレスバス(12ビット)を介して入力される。これらのDRAMデバイスは、入力されたアドレスに応答して、8ビットのデータをクロック信号CLKに同期して出力する。
【0176】
メモリモジュール7020では、複数のDRAMデバイスからデータが同時に出力され得るため、データバスのビット幅は36ビット(データを伝送するための32ビットとパリティビットを伝送するための4ビット)である。データバスには、2個のP−DRAM7030のデータピンがパラレルに接続されており、8個のN−DRAM7040のデータピンが、2個のN−DRAM7040を一組としてパラレルに、4組のN−DRAM7040がシリーズに接続されている。
【0177】
メモリモジュール7020は、64Mバイトのメモリモジュールとして機能する。メモリモジュール7020には、図21に示されるように、hex0000000〜hex3FFFFFFのメモリ空間が割り当てられている。このメモリ空間は、P−DRAM7030とN−DRAM7040とによってカバーされている。N−DRAM7040はロウアクセスが遅い。このため、メモリモジュール7020では、ロウアクセスはP−DRAM7030を用いて行われ、ロウアクセスに続くカラムアクセスはN−DRAM7040を用いて行われる。
【0178】
このように、メモリモジュール7020では、N−DRAM7040では時間のかかる特定のカラムアドレスに対するアクセスをP−DRAM7030に代替させることにより、全体のパフォーマンスを向上させている。
【0179】
図22は、DRAMデバイス単体に対するメモリ空間の概念を示す。P−DRAM7030は、hex000から32アドレス毎の8ビット幅の空間を担当し、N−DRAM7040がプリチャージされても基本的にプリチャージされない。これにより、CASアクセスの速度でデータを読み書きすることができる。その結果、図23に示されるような連続したデータ出力が可能となるのである。
【0180】
また、図21に示されるように、図20のDRAMデバイスグループA〜Dが順番にメモリマップ上に割り当てられている場合には、DRAMデバイスにおけるバンクのコンフリクトを低減させることができる。
【0181】
上述した実施の形態は、キャッシュメモリを内蔵し、カラムアドレス方向にある程度連続的な読み書きを行うパーソナルコンピュータ(PC)やワークステーションでは特に有効である。さらに、特定のカラムアドレスを不揮発性メモリセル等を用いてプログラム可能としてもよい。このことは、特定のカラムアドレスをアプリケーション毎に最適化することを可能にする。例えば、グラフィック用のアプリケーションに適するようにユーザが特定のカラムアドレスを再設定できるようにしてもよい。このようにすれば、本発明の半導体メモリをキャッシュメモリのないグラフィックのような分野にも適応することが可能になる。これにより、本発明の半導体メモリの汎用性が増す。
【0182】
【発明の効果】
本発明によれば、特定のカラムアドレスに高速メモリセルが割り当てられているため、カラムアクセスに先だって最初に実行されるロウアクセスがある確率に従って高速化される。実際のアプリケーションに即するように特定のカラムアドレスを設定し、高速メモリセルのアクセスの高速性と、高速メモリセル以外のメモリセルの一旦ロウアクセスした後のアクセスの高速性とを、うまくメモリコントローラで制御し両立させることによって、従来の半導体メモリの欠点であるロウ方向のランダムアクセス速度を向上させることができる。これにより、メモリシステム全体のパフォーマンスを向上させることができる。
【0183】
なお、半導体メモリのメモリアレイが複数のサブアレイに分割されている場合には、一のサブアレイにおける特定のカラムアドレスを他のサブアレイにおけるメモリセルに割り当てることにより、上述した効果と同様の効果を得ることができる。これは、ロウアクセスがある確率に従って高速化されるからである。
【図面の簡単な説明】
【図1】本発明をシングルバンクメモリ1000に適用した場合におけるメモリセルアレイ1002の構成を示す図である。
【図2】本発明をマルチバンクメモリ2000に適用した場合におけるメモリセルアレイ2002の構成を示す図である。
【図3】本発明の実施の形態1の半導体メモリ1のメモリ空間3000の概念を示す図である。
【図4】半導体メモリ1の構成を示すブロック図である。
【図5】半導体メモリ1の動作タイミングを示すタイミングチャートである。
【図6】本発明の実施の形態2の半導体メモリ101のメモリ空間4000の概念を示す図である。
【図7】半導体メモリ101の構成を示すブロック図である。
【図8】半導体メモリ101の動作タイミングを示すタイミングチャートである。
【図9】本発明の実施の形態3のメモリシステム3の構成を示すブロック図である。
【図10】メモリシステム3のメモリマップを示す図である。
【図11】メモリシステム3のメモリ空間の概念を示す図である。
【図12】メモリシステム3の動作タイミングを示すタイミングチャートである。
【図13】本発明の実施の形態4の半導体メモリ5001のメモリアレイ空間5000の概念を示す図である。
【図14】半導体メモリ5001の構成を示すブロック図である。
【図15】1本のワード線における論理アドレスと物理アドレスとの関係を示す図である。
【図16】本発明の実施の形態5の半導体メモリ6001の構成を示すブロック図である。
【図17】半導体メモリ6001のメモリ空間6000の概念を示す図である。
【図18】半導体メモリ6001の動作タイミングを示すタイミングチャートである。
【図19】半導体メモリ6001の動作タイミングを示すタイミングチャートである。
【図20】本発明の実施の形態6のメモリシステム7000の構成を示すブロック図である。
【図21】メモリシステム7000のメモリマップを示す図である。
【図22】メモリシステム7000のメモリ空間の概念を示す図である。
【図23】メモリシステム7000の動作タイミングを示すタイミングチャートである。
【符号の説明】
1000 シングルバンクメモリ
1002 メモリセルアレイ
1004 メモリセル
1004a 高速メモリセル
1004b 低速メモリセル
1010、1020 ワード線
1030 アクセス単位
2000 マルチバンクメモリ
2002 メモリセルアレイ
2002a、2002b バンク
2004 メモリセル
2004a 高速メモリセル
2004b 低速メモリセル
2010、2020 ワード線
2030 アクセス単位
Claims (5)
- 第1のサブアレイと第2のサブアレイとを備えた半導体メモリであって、
前記第2のサブアレイの1本のワード線は、前記第1のサブアレイにおける複数のワード線にそれぞれ対応するように複数の領域に区分されており、
前記第1のサブアレイにおける前記複数のワード線のうちの1本のワード線に対応する特定のカラムアドレスは、前記第1のサブアレイにおける前記複数のワード線に対応づけられた前記第2のサブアレイにおける前記1本のワード線の前記複数の領域のうちの1つに含まれる複数のメモリセルにそれぞれ割り当てられており、
前記半導体メモリは、
指定されたロウアドレスに応じて、前記第1のサブアレイにおける前記複数のワード線のうちの1本のワード線を活性化するとともに、前記第1のサブアレイにおける前記複数のワード線に対応づけられた前記第2のサブアレイにおける前記1本のワード線を活性化する手段と、
指定されたカラムアドレスが前記特定のカラムアドレスである場合には前記第2のサブアレイにおいて活性化された1本のワード線に接続されている複数のメモリセルのうちの1つにアクセスし、前記指定されたカラムアドレスが前記特定のカラムアドレス以外のカラムアドレスである場合には前記第1のサブアレイにおいて活性化された1本のワード線に接続されている複数のメモリセルのうちの1つにアクセスする手段と
をさらに備えている、半導体メモリ。 - 前記第1のサブアレイにおける前記特定のカラムアドレスは、前記ロウアドレスが指定された後に最初に指定されるカラムアドレスが前記特定のカラムアドレスにヒットする確率が高くなるように予め設定されている、請求項1に記載の半導体メモリ。
- 前記第1のサブアレイに含まれる複数のメモリセルと前記第2のサブアレイに含まれる複数のメモリセルとは、同一の構成を有している、請求項1に記載の半導体メモリ。
- 前記同一の構成を有するメモリセルは、DRAMセルである、請求項3に記載の半導体メモリ。
- 半導体メモリと前記半導体メモリを制御するメモリコントローラとを備えたメモリシステムであって、
前記半導体メモリは、
第1のサブアレイと第2のサブアレイとを備え、
前記第2のサブアレイの1本のワード線は、前記第1のサブアレイにおける複数のワード線にそれぞれ対応するように複数の領域に区分されており、
前記第1のサブアレイにおける前記複数のワード線のうちの1本のワード線に対応する特定のカラムアドレスは、前記第1のサブアレイにおける前記複数のワード線に対応づけられた前記第2のサブアレイにおける前記1本のワード線の前記複数の領域のうちの1つに含まれる複数のメモリセルにそれぞれ割り当てられており、
前記半導体メモリは、
指定されたロウアドレスに応じて、前記第1のサブアレイにおける前記複数のワード線のうちの1本のワード線を活性化するとともに、前記第1のサブアレイにおける前記複数のワード線に対応づけられた前記第2のサブアレイにおける前記1本のワード線を活性化する手段と、
指定されたカラムアドレスが前記特定のカラムアドレスである場合には前記第2のサブアレイにおいて活性化された1本のワード線に接続されている複数のメモリセルのうちの1つにアクセスし、前記指定されたカラムアドレスが前記特定のカラムアドレス以外のカラムアドレスである場合には前記第1のサブアレイにおいて活性化された1本のワード線に接続されている複数のメモリセルのうちの1つにアクセスする手段と
をさらに備えている、メモリシステム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP01365099A JP3604296B2 (ja) | 1998-01-22 | 1999-01-21 | 半導体メモリおよびメモリシステム |
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP1022498 | 1998-01-22 | ||
JP10-50466 | 1998-03-03 | ||
JP5046698 | 1998-03-03 | ||
JP10-10224 | 1998-03-03 | ||
JP01365099A JP3604296B2 (ja) | 1998-01-22 | 1999-01-21 | 半導体メモリおよびメモリシステム |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH11328950A JPH11328950A (ja) | 1999-11-30 |
JP3604296B2 true JP3604296B2 (ja) | 2004-12-22 |
Family
ID=27278888
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP01365099A Expired - Lifetime JP3604296B2 (ja) | 1998-01-22 | 1999-01-21 | 半導体メモリおよびメモリシステム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3604296B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPWO2004075199A1 (ja) | 2003-02-18 | 2006-06-01 | 富士通株式会社 | 半導体記憶装置及び半導体記憶装置の読み出し方法 |
US9304913B2 (en) * | 2013-03-15 | 2016-04-05 | Qualcomm Incorporated | Mixed memory type hybrid cache |
-
1999
- 1999-01-21 JP JP01365099A patent/JP3604296B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JPH11328950A (ja) | 1999-11-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6556506B2 (en) | Memory access methods and devices for use with random access memories | |
US6404691B1 (en) | Semiconductor memory device for simple cache system | |
US5111386A (en) | Cache contained type semiconductor memory device and operating method therefor | |
US5950223A (en) | Dual-edge extended data out memory | |
JP3590413B2 (ja) | メモリ制御装置 | |
US5604714A (en) | DRAM having multiple column address strobe operation | |
US20030217223A1 (en) | Combined command set | |
US6151268A (en) | Semiconductor memory and memory system | |
US6754135B2 (en) | Reduced latency wide-I/O burst architecture | |
EP1415304A2 (en) | Memory device having different burst order addressing for read and write operations | |
KR100323966B1 (ko) | Dram 및 dram의 데이타 액세스 방법 | |
JP2006236550A (ja) | 集積回路装置 | |
KR20030096265A (ko) | Dram 및 액세스 방법 | |
JP2001514426A (ja) | 高速インターリービングを用いた集積dram | |
US6829195B2 (en) | Semiconductor memory device and information processing system | |
KR100234866B1 (ko) | 직렬 액세스 메모리 장치 | |
US6545936B1 (en) | Pipeline structure of memory for high-fast row-cycle | |
US20020136079A1 (en) | Semiconductor memory device and information processing system | |
JP3604296B2 (ja) | 半導体メモリおよびメモリシステム | |
US6151273A (en) | Synchronous semiconductor memory device | |
KR100328910B1 (ko) | Sdram 및 sdram의 데이타 억세스 방법 | |
US6542958B1 (en) | Software control of DRAM refresh to reduce power consumption in a data processing system | |
US6138214A (en) | Synchronous dynamic random access memory architecture for sequential burst mode | |
US5761137A (en) | DRAM access system and method | |
JPH08328949A (ja) | 記憶装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
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: 20040928 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20040928 |
|
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: 20081008 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091008 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091008 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101008 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111008 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121008 Year of fee payment: 8 |