(57)【特許請求の範囲】
【請求項１】
第１のサブアレイと第２のサブアレイとを備えた半導体メモリであって、
前記第２のサブアレイの１本のワード線は、前記第１のサブアレイにおける複数のワード線にそれぞれ対応するように複数の領域に区分されており、
前記第１のサブアレイにおける前記複数のワード線のうちの１本のワード線に対応する特定のカラムアドレスは、前記第１のサブアレイにおける前記複数のワード線に対応づけられた前記第２のサブアレイにおける前記１本のワード線の前記複数の領域のうちの１つに含まれる複数のメモリセルにそれぞれ割り当てられており、
前記半導体メモリは、
指定されたロウアドレスに応じて、前記第１のサブアレイにおける前記複数のワード線のうちの１本のワード線を活性化するとともに、前記第１のサブアレイにおける前記複数のワード線に対応づけられた前記第２のサブアレイにおける前記１本のワード線を活性化する手段と、
指定されたカラムアドレスが前記特定のカラムアドレスである場合には前記第２のサブアレイにおいて活性化された１本のワード線に接続されている複数のメモリセルのうちの１つにアクセスし、前記指定されたカラムアドレスが前記特定のカラムアドレス以外のカラムアドレスである場合には前記第１のサブアレイにおいて活性化された１本のワード線に接続されている複数のメモリセルのうちの１つにアクセスする手段と
をさらに備えている、半導体メモリ。
【請求項２】
前記第１のサブアレイにおける前記特定のカラムアドレスは、前記ロウアドレスが指定された後に最初に指定されるカラムアドレスが前記特定のカラムアドレスにヒットする確率が高くなるように予め設定されている、請求項１に記載の半導体メモリ。
【請求項３】
前記第１のサブアレイに含まれる複数のメモリセルと前記第２のサブアレイに含まれる複数のメモリセルとは、同一の構成を有している、請求項１に記載の半導体メモリ。
【請求項４】
前記同一の構成を有するメモリセルは、ＤＲＡＭセルである、請求項３に記載の半導体メモリ。
【請求項５】
半導体メモリと前記半導体メモリを制御するメモリコントローラとを備えたメモリシステムであって、
前記半導体メモリは、
第１のサブアレイと第２のサブアレイとを備え、
前記第２のサブアレイの１本のワード線は、前記第１のサブアレイにおける複数のワード線にそれぞれ対応するように複数の領域に区分されており、
前記第１のサブアレイにおける前記複数のワード線のうちの１本のワード線に対応する特定のカラムアドレスは、前記第１のサブアレイにおける前記複数のワード線に対応づけられた前記第２のサブアレイにおける前記１本のワード線の前記複数の領域のうちの１つに含まれる複数のメモリセルにそれぞれ割り当てられており、
前記半導体メモリは、
指定されたロウアドレスに応じて、前記第１のサブアレイにおける前記複数のワード線のうちの１本のワード線を活性化するとともに、前記第１のサブアレイにおける前記複数のワード線に対応づけられた前記第２のサブアレイにおける前記１本のワード線を活性化する手段と、
指定されたカラムアドレスが前記特定のカラムアドレスである場合には前記第２のサブアレイにおいて活性化された１本のワード線に接続されている複数のメモリセルのうちの１つにアクセスし、前記指定されたカラムアドレスが前記特定のカラムアドレス以外のカラムアドレスである場合には前記第１のサブアレイにおいて活性化された１本のワード線に接続されている複数のメモリセルのうちの１つにアクセスする手段と
をさらに備えている、メモリシステム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、複数のメモリセルを含み、その複数のメモリセルのそれぞれはロウアドレスとカラムアドレスとを用いて指定される半導体メモリおよびメモリシステムに関する。
【０００２】
【従来の技術】
複数のメモリセルのうちアクセスすべきメモリセルをロウアドレスとカラムアドレスとを用いて指定する半導体メモリとしては、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）が代表的である。ＤＲＡＭは、ロウアドレスが指定された後に最初に指定されたカラムアドレスに対応するアクセス（以下、「ロウアクセス」という）が遅く、その最初に指定されたカラムアドレスに続くカラムアドレスに対応するアクセス（以下、「カラムアクセス」という）が比較的早いという特性を有している。この特性は、ロウアドレスに対応するワード線を活性化するのに時間がかかるけれども、いったんそのワード線が活性化された後は、そのワード線に接続されているメモリセルに比較的高速にアクセスすることができるという事実に基づいている。
【０００３】
例えば、パーソナルコンピュータのメインメモリにＤＲＡＭが使用される場合には、メモリコントローラは、ＤＲＡＭに対して１回のロウアクセスを行った後、３回または７回のカラムアクセス（いわゆるページアクセス）を行う。これにより、２サイクル目以降のアクセスが高速化される。ロウアクセスは、所望のロウアドレスと所望のカラムアドレスとに応答して行われる。カラムアクセスは、ロウアドレスを維持したままカラムアドレスを順次変化させることにより行われる。このようなアクセスは、Ｌ１もしくはＬ２キャッシュのラインフィルのために行われる。
【０００４】
メモリコントローラは、４サイクルまたは８サイクルのメモリアクセスが終了した後は、ロウアドレスに対応するワード線を活性状態から非活性状態にする。その後、メモリコントローラは、メインメモリに対する次のアクセス要求を受け取るまで待機する。
【０００５】
メモリセルに高速にアクセスするための方法としては、主として以下に説明する２つの方法が知られている。
【０００６】
１つ目の方法は、複数のロウアドレスに対応する全カラムアドレス分のデータをＳＲＡＭに格納する方法である。この方法は、Ｅｎｈａｎｃｅｄ  Ｍｅｍｏｒｙ  Ｓｙｓｔｅｍｓ  Ｉｎｃ．によって提唱されている。
【０００７】
この方法を採用したＤＲＡＭは、例えば、４個のＳＲＡＭ  Ｃａｃｈｅを有することができる。４個のＳＲＡＭ  Ｃａｓｈｅのそれぞれは、ロウアドレスに対応する全カラムアドレス分のデータ（以下、「１ページ分のデータ」という）を格納することができる。従って、４個のＳＲＡＭ  Ｃａｃｈｅを用いて、４種類のロウアドレスに対応する４ページ分のデータを格納することができる。
【０００８】
このようにすることによって、キャッシュラインフィルごとに発生する４サイクルまたは８サイクルの最初のアクセスは、ＳＲＡＭ  Ｃａｃｈｅに格納されている数ページ分のデータに対するアクセスである場合に限り高速化される。
【０００９】
２つ目の方法は、複数のメモリセルを複数のバンクに区分して、その複数のバンクをそれぞれ独立にアクセスする方法である。この方法は、最近開発が進んでいるＳｙｎｃｈｒｏｎｏｕｓ  ＤＲＡＭやＲａｍｂｕｓ  ＤＲＡＭに採用されている。
【００１０】
この方法を採用したＤＲＡＭは、例えば、８個または１６個のバンクを有することができる。各バンクは、センスアンプにより１ページ分のデータを保持することができる。従って、ロウアドレスに対応するワード線の活性状態を維持することにより、そのワード線に対するアクセスはページアクセスとなる。その結果、キャッシュフィルサイクルにおける最初のカラムアドレスに対応するアクセスが高速化される。
【００１１】
【発明が解決しようとする課題】
しかしながら、上述した２つの方法によれば、いずれも、１ページ分のデータを読み出すためのロウアクセスが遅い。従って、メモリパフォーマンスを飛躍的に向上させることができない、という問題があった。
【００１２】
本発明は、カラムアクセスに先だって行われるロウアクセスを高速に行うことにより、一層向上したパフォーマンスを有する半導体メモリおよびメモリシステムを提供することを目的とする。
【００１３】
【課題を解決するための手段】
本発明の半導体メモリは、第１のサブアレイと第２のサブアレイとを備えた半導体メモリであって、前記第２のサブアレイの１本のワード線は、前記第１のサブアレイにおける複数のワード線にそれぞれ対応するように複数の領域に区分されており、前記第１のサブアレイにおける前記複数のワード線のうちの１本のワード線に対応する特定のカラムアドレスは、前記第１のサブアレイにおける前記複数のワード線に対応づけられた前記第２のサブアレイにおける前記１本のワード線の前記複数の領域のうちの１つに含まれる複数のメモリセルにそれぞれ割り当てられており、前記半導体メモリは、指定されたロウアドレスに応じて、前記第１のサブアレイにおける前記複数のワード線のうちの１本のワード線を活性化するとともに、前記第１のサブアレイにおける前記複数のワード線に対応づけられた前記第２のサブアレイにおける前記１本のワード線を活性化する手段と、指定されたカラムアドレスが前記特定のカラムアドレスである場合には前記第２のサブアレイにおいて活性化された１本のワード線に接続されている複数のメモリセルのうちの１つにアクセスし、前記指定されたカラムアドレスが前記特定のカラムアドレス以外のカラムアドレスである場合には前記第１のサブアレイにおいて活性化された１本のワード線に接続されている複数のメモリセルのうちの１つにアクセスする手段とをさらに備えており、これにより、上記目的が達成される。
前記第１のサブアレイにおける前記特定のカラムアドレスは、前記ロウアドレスが指定された後に最初に指定されるカラムアドレスが前記特定のカラムアドレスにヒットする確率が高くなるように予め設定されていてもよい。
前記第１のサブアレイに含まれる複数のメモリセルと前記第２のサブアレイに含まれる複数のメモリセルとは、同一の構成を有していてもよい。
前記同一の構成を有するメモリセルは、ＤＲＡＭセルであってもよい。
本発明のメモリシステムは、半導体メモリと前記半導体メモリを制御するメモリコントローラとを備えたメモリシステムであって、前記半導体メモリは、第１のサブアレイと第２のサブアレイとを備え、前記第２のサブアレイの１本のワード線は、前記第１のサブアレイにおける複数のワード線にそれぞれ対応するように複数の領域に区分されており、前記第１のサブアレイにおける前記複数のワード線のうちの１本のワード線に対応する特定のカラムアドレスは、前記第１のサブアレイにおける前記複数のワード線に対応づけられた前記第２のサブアレイにおける前記１本のワード線の前記複数の領域のうちの１つに含まれる複数のメモリセルにそれぞれ割り当てられており、前記半導体メモリは、指定されたロウアドレスに応じて、前記第１のサブアレイにおける前記複数のワード線のうちの１本のワード線を活性化するとともに、前記第１のサブアレイにおける前記複数のワード線に対応づけられた前記第２のサブアレイにおける前記１本のワード線を活性化する手段と、指定されたカラムアドレスが前記特定のカラムアドレスである場合には前記第２のサブアレイにおいて活性化された１本のワード線に接続されている複数のメモリセルのうちの１つにアクセスし、前記指定されたカラムアドレスが前記特定のカラムアドレス以外のカラムアドレスである場合には前記第１のサブアレイにおいて活性化された１本のワード線に接続されている複数のメモリセルのうちの１つにアクセスする手段とをさらに備えており、これにより、上記目的が達成される。
【００３０】
【発明の実施の形態】
はじめに、図１および図２を参照して本発明の原理を説明する。
【００３１】
図１は、本発明をシングルバンクメモリ１０００に適用した場合におけるメモリセルアレイ１００２の構成を示す。メモリセルアレイ１００２は、複数のメモリセル１００４を含む。複数のメモリセル１００４のそれぞれは、複数のワード線のうちの１つに接続されている。複数のメモリセル１００４は、少なくとも１つの高速メモリセル１００４ａ（図１において黒丸で示される）と、少なくとも１つの低速メモリセル１００４ｂ（図１において白丸で示される）とを含む。高速メモリセル１００４ａは、例えば、ＳＲＡＭセルであり得る。低速メモリセル１００４ｂは、例えば、ＤＲＡＭセルであり得る。
【００３２】
ここで、高速メモリセル１００４ａとは、低速メモリセル１００４ｂに比べて高速にアクセスされ得るメモリセルをいい、低速メモリセル１００４ｂとは、高速メモリセルに比べて低速にアクセスされ得るメモリセルをいう。このように、本明細書では、「高速」および「低速」という用語は、絶対的な速度ではなく、相対的な速度を表す用語として使用される。
【００３３】
図１に示されるように、１本のワード線上には、高速メモリセル１００４ａと低速メモリセル１００４ｂとが混在して配置される。高速メモリセル１００４ａは、ロウアドレスに対応するワード線が活性化された後に最初に指定される確率が高いカラムアドレスに対応するように配置される。
【００３４】
シングルバンクメモリ１０００では、複数のロウアドレスに対応する複数のワード線を同時に活性状態に維持することはできない。従って、例えば、ロウアドレスＡｄｒ１に対応するワード線１０１０が活性状態である場合には、ロウアドレスＡｄｒ２に対応するワード線１０２０は非活性状態である。
【００３５】
ワード線１０１０が活性状態である場合において、ワード線１０２０上のメモリセル１００４に対するアクセスが発生した場合には、いったんワード線１０１０を活性状態から非活性状態に戻してプリチャージした後、ワード線１０２０を活性化させる必要がある。例えば、パーソナルコンピュータの表示画面においてアクティブなウィンドウを第１のアプリケーションのウィンドウから第２のアプリケーションのウィンドウに移した場合がこの場合に相当する。
【００３６】
その後、ワード線１０１０上のメモリセル１００４に再びアクセスが戻った場合には、ワード線１０１０を再び活性化させる必要がある。例えば、パーソナルコンピュータの表示画面においてアクティブなウィンドウを第２のアプリケーションのウィンドウから第１のアプリケーションのウィンドウに戻した場合がこの場合に相当する。
【００３７】
このように２本のワード線を交互に活性化させる場合には、活性状態にある一方のワード線をいったん非活性状態にしなければならず、ロウアドレスに対応するワード線が活性化された後に最初に指定されるカラムアドレスはワード線が活性化される度に異なる確率が高いから、非常に多くのカラムアドレスをロウアドレスが指定された後に最初に指定されるカラムアドレスの候補としなければならない。従って、シングルバンクメモリ１０００では、高速メモリセル１００４ａに割り当てられるべきカラムアドレスの数は非常に多くなってしまう。このことは、シングルバンクメモリ１０００のチップ面積やコストを増大させる原因となる。
【００３８】
特定のカラムアドレスは、各ロウアドレスに対応する複数のアクセス単位（実際のシステムにおいて好適なアクセスの単位）１０３０のそれぞれの先頭アドレスを指すように設定されていることが好ましい。例えば、パーソナルコンピュータ（ＰＣ）などを用いたシステムにおいて、キャッシュラインフィルなどの関係から１６個の連続アドレスに対応するメモリセルが通常まとまってアクセスされる場合には、上記アクセス単位は１６ビットに設定される。シングルバンクメモリ１０００のアクセス単位１０３０が１６ビットである場合には、複数のアクセス単位１０３０のそれぞれに対して、そのアクセス単位１０３０の先頭から数ビットに対応するいくつかのメモリセル１００４を高速メモリセル１００４ａとすることが好ましい。図１に示される例では、アクセス単位１０３０の先頭から４ビットに対応するメモリセル１００４を高速メモリセル１００４ａとしている。
【００３９】
図２は、本発明をマルチバンクメモリ２０００に適用した場合におけるメモリセルアレイ２００２の構成を示す。メモリセルアレイ２００２は、複数のメモリセル２００４を含む。複数のメモリセル２００４は、複数のバンクに区分される。図２に示される例では、複数のメモリセル２００４は、２つのバンク２００２ａと２００２ｂとに区分されている。複数のメモリセル２００４のそれぞれは、複数のワード線のうちの１つに接続されている。複数のメモリセル２００４は、少なくとも１つの高速メモリセル２００４ａ（図２において黒丸で示される）と、少なくとも１つの低速メモリセル２００４ｂ（図２において白丸で示される）とを含む。高速メモリセル２００４ａは、例えば、ＳＲＡＭセルであり得る。低速メモリセル２００４ｂは、例えば、ＤＲＡＭセルであり得る。
【００４０】
マルチバンクメモリ２０００では、複数のロウアドレスに対応する複数のワード線を同時に活性状態に維持することができる。図２に示される例では、ロウアドレスＡｄｒ１に対応するワード線２０１０とロウアドレスＡｄｒ２に対応するワード線２０２０とが同時に活性状態に維持される。その結果、ワード線２０１０上のメモリセルとワード線２０２０上のメモリセルとに交互にアクセスが発生する場合でも、活性状態にある一方のワード線を非活性状態にする必要がない。このことは、ロウアドレスが指定された後に最初に指定されるカラムアドレスの候補を非常に少ない数のカラムアドレスに絞り込むことを可能にする。これは、シングルバンクメモリ１０００に比較して、ロウアドレスが指定された後に最初に指定されるカラムアドレスが特定のカラムアドレスに集中する確率が高いからである。従って、マルチバンクメモリ２０００では、シングルバンクメモリ１０００に比較して、高速メモリセル２００４ａに割り当てられるべきカラムアドレスの数を少なくすることが可能である。
【００４１】
特定のカラムアドレスは、各ロウアドレスに対応する複数のアクセス単位（実際のシステムにおいて好適なアクセスの単位）２０３０のうち選択された少なくとも１つのアクセス単位２０３０の先頭アドレスを指すように設定されていることが好ましい。例えば、マルチバンクメモリ２０００のアクセス単位２０３０が１６ビットである場合には、複数のアクセス単位２０３０のうち選択された少なくとも１つのアクセス単位２０３０に対して、そのアクセス単位２０３０の先頭から数ビットに対応するいくつかのメモリセル２００４を高速メモリセル２００４ａとすることが好ましい。図２に示される例では、アクセス単位２０３０の先頭から４ビットに対応するメモリセル２００４を高速メモリセル２００４ａとしている。このように、マルチバンクメモリ２０００に配置される高速メモリセル２００４ａは、シングルバンクメモリ１０００に配置される高速メモリセル１００４ａからいくつかの高速メモリセル１００４ａを間引くことによって得られる。
【００４２】
以下、図面を参照して本発明の実施の形態を説明する。
【００４３】
（実施の形態１）
図３は、本発明の実施の形態１の半導体メモリ１のメモリ空間３０００の概念を示す。メモリ空間３０００は、１６個のバンク３０１０に区分されている。図３では、１６個のバンク３０１０は、それぞれ、ＢＡＮＫ０〜ＢＡＮＫ１５と表記されている。１６個のバンク３０１０は、互いに独立にアクセスされ得る。
【００４４】
半導体メモリ１は、１チップで構成されている。半導体メモリ１は、２Ｋ×２Ｋの４Ｍビットの記憶容量を有している。より詳細には、半導体メモリ１は、１６バンク×７ビット（１２８Ｒｏｗ）×１１ビット（２０４８Ｃｏｌｕｍｎ）×１ビットＩ／Ｏのメモリ構成を有している。１ビットのデータが半導体メモリ１に入力され、または、半導体メモリ１から出力される。
【００４５】
半導体メモリ１は、複数のメモリセルを有している。複数のメモリセルは、少なくとも１つの高速メモリセル（例えば、ＳＲＡＭセル）と、少なくとも１つの低速メモリセル（ＤＲＡＭセル）とを含む。
【００４６】
図３に示されるように、Ｘ軸方向はワード線方向（ワード線が延びる方向）を示し、Ｙ軸方向はビット線方向（ビット線が延びる方向）を示す。Ｘ軸方向に沿って、２Ｋ個のロウアドレスｈｅｘ０００〜ｈｅｘ７ＦＦが割り当てられている。Ｙ軸方向に沿って、２Ｋ個のカラムアドレスｈｅｘ０００〜ｈｅｘ７ＦＦが割り当てられている。ここで、ｈｅｘは１６進数表記を示す。
【００４７】
図３において、斜線の領域は、高速メモリセルに割り当てられている領域（以下、「高速メモリセル領域」という）を示し、それ以外の領域は、低速メモリセルに割り当てられている領域（以下、「低速メモリセル領域」という）を示す。高速メモリセル領域は、例えば、２０４８（Ｒｏｗ）×３２（Ｃｏｌｕｍｎ）というメモリ構成を有するＳＲＡＭによって実現され得る。低速メモリセル領域は、例えば、２０４８（Ｒｏｗ）×２０１６（Ｃｏｌｕｍｎ）というメモリ構成を有するＤＲＡＭによって実現され得る。
【００４８】
高速メモリセル領域は、ロウアドレスｈｅｘ０００からロウアドレスｈｅｘ７ＦＦにわたってＸ軸方向に沿って形成され、Ｙ軸方向に沿って特定の間隔をあけて形成される。このように、高速メモリセル領域は、メモリ空間３０００において複数の帯領域として形成される。
【００４９】
図３に示される例では、８個の帯領域が、Ｙ軸方向に沿って２５６アドレス毎に形成されている。８個の帯領域のそれぞれは、Ｘ軸方向に２０４８ビットの幅を有し、Ｙ軸方向に４ビットの幅を有する領域である。あるいは、帯領域のＹ軸方向の幅（ビット幅）は、８ビットであってもよいし、１６ビットであってもよい。
【００５０】
ロウアドレスが指定された後、最初に指定されるカラムアドレスが特定のカラムアドレス（すなわち、ｈｅｘ０００、ｈｅｘ１００、ｈｅｘ２００、ｈｅｘ３００、ｈｅｘ４００、ｈｅｘ５００、ｈｅｘ６００、ｈｅｘ７００）に一致する場合には、そのロウアドレスとそのカラムアドレスとに対応するアクセスは高速に行われる。これは、その特定のカラムアドレスから所定のバースト長ビット（図３に示される例では４ビット。８ビットまたは１６ビットでもよい）の範囲に含まれるカラムアドレスが高速メモリセルに割り当てられているからである。
【００５１】
高速メモリセルに対するアクセスを行っている間に、ロウアドレスに対応するすべての低速メモリセルが活性化される。従って、アクセス対象が高速メモリセルから低速メモリセルに移った場合でも、その低速メモリセルに対して高速にアクセスすることが可能になる。
【００５２】
このように、ロウアドレスに対応するすべての低速メモリセルが活性化されるまで、高速メモリセルが”ワンポイントリリーフ”としてメモリアクセスを担当するように、高速メモリセルが配置される。これにより、切れ目のないアクセスを実現することができる。
【００５３】
特定のカラムアドレスは、ロウアドレスが指定された後に最初に指定されるカラムアドレスがその特定のカラムアドレスにヒットする確率が高くなるように予め設定されている。このように特定のカラムアドレスを設定することにより、半導体メモリ１のパフォーマンスが向上する。
【００５４】
ロウアドレスが指定された後に最初に指定されるカラムアドレスが特定のカラムアドレスにヒットする確率は、複数のメモリセルが複数のバンクに区分され、ロウアドレスに対応するワード線の活性化がキャッシュフィルサイクルごとに解除されない半導体メモリ（すなわち、マルチバンクメモリ）においては飛躍的に増大する。なぜなら、マルチバンクメモリでは、シングルバンクメモリに比べて、ロウアドレスが指定された後に最初に指定されるカラムアドレスが、特定のカラムアドレスに集中する確率が高いからである。その特定のカラムアドレスは、例えば、ｈｅｘ０００、ｈｅｘ１００、ｈｅｘ２００、ｈｅｘ３００、ｈｅｘ４００、ｈｅｘ５００、ｈｅｘ６００、ｈｅｘ７００という非常に切りのいい数字を有する２５６アドレス毎のカラムアドレスである。このようなカラムアドレスを高速メモリセル用のカラムアドレスに設定することによって、ほとんどすべてのロウアクセスが高速メモリセルから始まることになる。これにより、半導体メモリ１のパフォーマンスが向上する。
【００５５】
また、マルチバンクメモリでは、アクセス対象が第１のバンクの第１のロウアドレスから第２のバンクの第２のロウアドレスに移った場合でも、第１のロウアドレスに対応するワード線の活性状態が維持される。従って、アクセス対象が第２の第２のバンクの第２のロウアドレスから第１のバンクの第１のロウアドレスに戻った場合には、その第１のロウアドレスに対応するアクセスはやはり高速になる。このような高速アクセスは、シングルバンクメモリでは不可能である。
【００５６】
なお、図３に示される例では、高速メモリセル領域がＹ軸方向に沿って２５６アドレスごとに形成されるとした。しかし、本発明はこれに限定されない。より多くの高速メモリセルを搭載することができる場合には、高速メモリセル領域をより小さい間隔で（例えば、１２８または６４アドレスごとに）形成してもよい。あるいは、あまり多くの高速メモリセルを搭載することができない場合には、高速メモリセル領域をより大きな間隔で（例えば、５１２または１０２４アドレスごとに）形成してもよい。
【００５７】
例えば、８個のバンクを有する半導体メモリは、８ページ分のデータを高速に読み出し／書き込み可能に持つこととなる。１６個のバンクを有する半導体メモリは、１６ページ分のデータを高速に読み出し／書き込み可能に持つこととなる。ロウアドレスに対応するワード線の活性化が解除されてそのワード線とは異なるワード線が活性化されるのは、シーケンシャルアクセスからロウアクセスに移る場合、実行中のアプリケーションが切り替わる場合、ハードディスクドライブ（ＨＤＤ）などの周辺デバイスからメインメモリへのアクセスが起動される場合などであると考えられる。
【００５８】
図４は、半導体メモリ１の構成を示す。半導体メモリ１は、２０４８（Ｒｏｗ）×２０１６（Ｃｏｌｕｍｎ）のＤＲＡＭセルアレイ２と、２０４８（Ｒｏｗ）×３２（Ｃｏｌｕｍｎ）のＳＲＡＭセルアレイ３とを含む。半導体メモリ１全体の記憶容量は、４１９４３０４ビット（４Ｍビット）である。
【００５９】
ＤＲＡＭセルアレイ２は、１６個のバンク（図４では、ＢＡＮＫ０〜ＢＡＮＫ１５と表記されている）に区分されている。１６個のバンクのそれぞれは、１２８（Ｒｏｗ）×２０１６（Ｃｏｌｕｍｎ）というメモリ構成を有している。１６個のバンクは、互いに独立してアクセスされ得る。
【００６０】
あるロウアドレスが指定されると、そのロウアドレスに対応するすべてのカラムアドレス分のデータ（すなわち、１ページ分のデータに相当する２０１６ビット）がセンスアンプ４にラッチされる。ロウアクセスを行うには、センスアンプ４によって１ページ分のデータが増幅される時間が必要である。従って、１ページ分のデータをセンスアンプ４にラッチするまでに時間がかかるものの、いったん１ページ分のデータがセンスアンプ４にラッチされた後は、データの読み出しおよび書き込みが高速に行われる。
【００６１】
また、センスアンプ４は、１６個のバンクのそれぞれに対して設けられている。センスアンプ４は、１６個のバンクのそれぞれに対して活性化され得る。従って、センスアンプ４は、最大で１６ページ分のデータをラッチすることができる。
【００６２】
ＳＲＡＭセルアレイ３は、８種類の特定のカラムアドレス（すなわち、ｈｅｘ０００、ｈｅｘ１００、ｈｅｘ２００、ｈｅｘ３００、ｈｅｘ４００、ｈｅｘ５００、ｈｅｘ６００、ｈｅｘ７００）に対応する８個のカラムブロック５（図４では、Ｃｏｌｕｍｎ  Ｂｌｏｃｋ０、Ｃ−Ｂｌｋ１〜Ｃ−Ｂｌｋ７と表記されている）を含む。８個のカラムブロック５のそれぞれは、２０４８（Ｒｏｗ）×４ビットというメモリ構成を有している。また、８個のカラムブロック５のそれぞれは、ＤＲＡＭセルアレイ２の各バンクに対応するよう１６個のバンクに区分されている。
【００６３】
図５は、半導体メモリ１の動作タイミングを示す。以下、図４および図５を参照して、半導体メモリ１の動作を説明する。
【００６４】
時刻Ｔ０では、チップイネーブル信号／ＣＥがＬｏｗレベルであり、かつ、ＲＡＳ信号／ＲＡＳがＬｏｗレベルである。コマンドデコーダ１３は、Ｌｏｗレベルのチップイネーブル信号／ＣＥとＬｏｗレベルのＲＡＳ信号／ＲＡＳとに応答して、ロウアドレスラッチ１０にイネーブル信号を送る。ロウアドレスラッチ１０は、このイネーブル信号に応答して、アドレスバス（Ａ０〜Ａ１０）上のアドレスをロウアドレスとして取り込み、それを保持する。
【００６５】
また、時刻Ｔ０では、制御信号ＣＡ−ＳＴＲＢがＬｏｗレベルである。３ビットデコーダ１１は、カラムアドレスバス（ＣＡ０〜ＣＡ２）から３ビットのデータを受け取り、この３ビットのデータをデコードする。この３ビットのデータは、アクセスされるべき特定のカラムアドレス（ｈｅｘ０００、ｈｅｘ１００、ｈｅｘ２００、ｈｅｘ３００、ｈｅｘ４００、ｈｅｘ５００、ｈｅｘ６００、ｈｅｘ７００のいずれか）を指定するために使用される。
【００６６】
３ビットのデータは、ｂｉｎ０００〜ｂｉｎ１１１の８種類の値をとり得る。ここで、ｂｉｎは２進数表記を示す。３ビットデータの８種類の値は、それぞれ、特定のカラムアドレスに対応づけられている。例えば、３ビットデータの値ｂｉｎ０００は、特定のカラムアドレスｈｅｘ０００に対応する。
【００６７】
３ビットデコーダ１１は、３ビットのデータがｂｉｎ０００である場合には、カラムアドレスｈｅｘ０００をアンプおよびカラムセレクタ６に出力する。アンプおよびカラムセレクタ６は、３ビットデコーダから出力されるカラムアドレスに応じて、ＳＲＡＭセルアレイ３の８個のカラムブロック５のうちの１つを選択する。
【００６８】
なお、カラムアドレスバス（ＣＡ０〜ＣＡ２）から入力される３ビットのデータの値と特定のカラムアドレスとの対応関係は、プログラムドカラムアドレス１４に格納されており、プログラムドカラムアドレス１４の内容を変更することによりその対応関係を変更することができる。例えば、３ビットデータの値ｂｉｎ０００が特定のカラムアドレスｈｅｘ７００に対応するように対応関係を変更することができる。プログラムドカラムアドレス１４は、例えば、不揮発性メモリである。
【００６９】
ロウアドレスデコーダおよびバンクセレクタ９は、ロウアドレスラッチ１０に保持されているロウアドレスに応じて、ＳＲＡＭセルアレイ３の選択された１つのバンクの選択された１つのワード線を活性化する。その結果、選択されたカラムブロック５の選択されたバンクから、４ビットのデータが出力される。
【００７０】
データアライナおよびパラレル／シリアル変換器７は、ＳＲＡＭセルアレイ３から出力される４ビットのパラレルデータを１ビットのシリアルデータに変換する。１ビットのシリアルデータは、Ｉ／Ｏ制御およびデータラッチ８を介して、順次、半導体メモリ１の外部に出力される。
【００７１】
さらに、ロウアドレスデコーダおよびバンクセレクタ９は、ロウアドレスラッチ１０に保持されているロウアドレスに応じて、ＤＲＡＭセルアレイ２の選択されたバンクの選択されたワード線を活性化する。
【００７２】
時刻Ｔ２では、チップイネーブル信号／ＣＥがＬｏｗレベルであり、かつ、ＣＡＳ信号／ＣＡＳがＬｏｗレベルである。コマンドデコーダ１３は、Ｌｏｗレベルのチップイネーブル信号／ＣＥとＬｏｗレベルのＣＡＳ信号／ＣＡＳとに応答して、カラムアドレスラッチ１２にイネーブル信号を送る。カラムアドレスラッチ１２は、このイネーブル信号に応答して、アドレスバス（Ａ０〜Ａ１０）上のアドレスをカラムアドレスとして取り込み、それを保持する。
【００７３】
センスアンプおよびカラムデコーダ４は、カラムアドレスラッチ１２に保持されているカラムアドレスに応じて、ＤＲＡＭセルアレイ２における活性化されたワード線に対応する２０１６ビットのデータ（１ページ分のデータ）を選択する。その結果、ＤＲＡＭセルアレイ２の選択されたバンクから、選択された２０１６ビットのデータが出力される。
【００７４】
データアライナおよびパラレル／シリアル変換器７は、ＳＲＡＭセルアレイ３から出力される４ビットのパラレルデータを１ビットのシリアルデータに変換し、ＤＲＡＭセルアレイ２から出力されるデータと整列させる。整列後のデータは、Ｉ／Ｏ制御およびデータラッチ８を介して、順次、半導体メモリ１の外部に出力される。
【００７５】
ＳＲＡＭセルアレイ３のデータは、ＤＲＡＭセルアレイ２のデータよりも高速に出力される。従って、Ｉ／Ｏ制御およびデータラッチ８から出力されるデータのうち最初の４ビットのデータはＳＲＡＭセルアレイ３からのデータとなり、その最初の４ビットに続くデータはＤＲＡＭセルアレイ２からのデータとなる（図５参照）。
【００７６】
ＳＲＡＭセルからのデータは、基準時刻Ｔ０から２クロック後の時刻Ｔ２から出力することができる（ＳＲＡＭセルに対するアクセス時間を２０ｎｓ以下に設定している）。一方、ＤＲＡＭセルからのデータは、基準時刻Ｔ０から４クロック後の時刻Ｔ４からでないと出力されない（ＲＡＳアクセス時間を２０ｎｓに設定している。）。半導体メモリ１では、特定のカラムアドレスに対して、ＤＲＡＭセルに対する低速アクセスがＳＲＡＭセルに対する高速アクセスに置き換えられる。これにより、半導体メモリ１のパフォーマンスを全体として向上させることが可能になる。
【００７７】
ここでは、クロック信号ＣＬＫの周波数は１００ＭＨｚであり、ＤＤＲ（Ｄｏｕｂｌｅ  Ｄａｔａ  Ｔｒａｎｓｆｅｒ）を行う場合を想定している。この場合、データの１サイクルが５ｎｓであり、４ビットのシリアルデータを出力するのに２０ｎｓかかる。また、ｔＲＡＣ（ＲＡＳアクセス時間）＝４０ｎｓ、ｔＣＡＣ（ＣＡＳアクセス時間）＝２０ｎｓ、ｔＡＣ（ＳＲＡＭアクセス時間）＝２０ｎｓとすると、ロウアクセス起動タイミング（Ｔ０、Ｔ８）から２０ｎｓ経過後にＳＲＡＭセルアレイ３から４ビットのデータが出力され、その出力に２０ｎｓかかり、その後（起動から６０ｎｓ経過後）にＤＲＡＭセルアレイ２からｔＲＡＣのタイミングで次のデータが出力される。この後、２０ｎｓごとにＣＡＳ信号／ＣＡＳをＬｏｗレベルにすることにより、ｔＣＡＣ（２０ｎｓ）のサイクルでデータが出力される。その結果、図５に示されるように、データが途切れることなく連続したデータ出力が実現される。
【００７８】
データを半導体メモリ１に書き込む場合には、Ｉ／Ｏ制御およびデータラッチ８はそのデータをラッチする。Ｉ／Ｏ制御およびデータラッチ８にラッチされたデータは、カラムアドレスに従って、ＤＲＡＭセルアレイ２またはＳＲＡＭセルアレイ３に書き込まれる。カラムアドレスが特定のカラムアドレスに一致する場合には、データはＳＲＡＭセルアレイ３に書き込まれる。それ以外の場合には、データはＤＲＡＭセルアレイ２に書き込まれる。
【００７９】
半導体メモリ１は、ロウアドレスが比較的頻繁に変化し、ロウアドレスが指定された後に最初に指定されるカラムアドレスが特定のカラムアドレスに一致する確率が高い場合に非常に有効である。実際、Ｗｉｎｄｏｗｓなどの基本ソフトウェアの上で複数のアプリケーションが実行されており、ハードディスクドライブ（ＨＤＤ）に対するアクセスも頻繁に行われる状況では、ロウアドレスが比較的頻繁に変化し、アプリケーションの切り替わりやハードディスクドライブ（ＨＤＤ）からのデータ転送が開始される際のカラムアドレスは、特定のいくつかのカラムアドレスに集中すると予想される。例えば、そのような特定のカラムアドレスは、ｈｅｘ０００、ｈｅｘ１００などの切りのいい数字を有するカラムアドレスである。従って、このような特定のカラムアドレスに高速メモリセル（例えば、ＳＲＡＭセル）を割り当て、それ以外のカラムアドレスに低速メモリセル（例えば、ＤＲＡＭセル）を割り当てておくことにより、半導体メモリ１に対するアクセスを全体として高速化することができる。
【００８０】
また、半導体メモリ１は、１６個のバンクを有している。１６個のバンクのそれぞれは、ワード線が活性化された後はセンスアンプおよびカラムデコーダ４において１ページ分のデータを保持することができる。従って、半導体メモリ１全体としては、１６ページ分のデータを高速で読み書きできる状態にしておくことができる。このため、ロウアドレスが各バンクで活性化されているワード線に対応するロウアドレスにヒットすれば、従来のＤＲＡＭと同様にカラムアドレスがランダムに変化しても高速なアクセスを提供することができる。
【００８１】
本実施の形態では、特定のカラムアドレスを表す情報は、ロウアドレスおよびカラムアドレスとは独立に、カラムアドレスバス（ＣＡ０〜ＣＡ２）から３ビットデコーダ１１に入力される。特定のカラムアドレスを表す情報は、ロウアドレスと同時に入力される。このことは、ロウアクセス時にＳＲＡＭセルを選択することを可能にする。その結果、ＳＲＡＭセルに対するアクセスを高速に行うことができる。なお、特定のカラムアドレスを表す情報を入力するための専用ピンを設けることは必須ではない。例えば、Ｒａｍｂｕｓ  ＤＲＡＭなどに採用されているぱパケット入力を用いて特定のカラムアドレスを表す情報を入力する場合にはそのような専用ピンは不要となる。
【００８２】
（実施の形態２）
図６は、本発明の実施の形態２の半導体メモリ１０１のメモリ空間４０００の概念を示す。メモリ空間４０００は、１６個のバンク４０１０に区分されている。図６では、１６個のバンク４０１０は、それぞれ、ＢＡＮＫ０〜ＢＡＮＫ１５と表記されている。１６個のバンク４０１０は、互いに独立にアクセスされ得る。
【００８３】
半導体メモリ１０１は、６４Ｍビットの記憶容量を有している。より詳細には、半導体メモリ１０１は、１６バンク×９ビット（５１２Ｒｏｗ）×９ビット（５１２Ｃｏｌｕｍｎ）×１６ビットＩ／Ｏのメモリ構成を有している。半導体メモリ１０１には、１６個のＩ／Ｏが設けられている。図６では、１６個のＩ／Ｏは、Ｉ／Ｏ＃０〜Ｉ／Ｏ＃１５と表記されている。１ビットのデータが各Ｉ／Ｏに入力され、または、各Ｉ／Ｏから出力される。
【００８４】
図６において、斜線の領域は高速メモリセル領域（例えば、ＳＲＡＭセル領域）を示し、それ以外の領域は低速メモリセル領域（例えば、ＤＲＡＭセル領域）を示す。
【００８５】
高速メモリセル領域は、各Ｉ／Ｏごとに２つずつ設けられている。高速メモリセル領域は、Ｙ軸方向に８ビットの幅を有する領域である。各Ｉ／Ｏにおける高速メモリセル領域は、９ビットのカラムアドレス（ｈｅｘ０００〜ｈｅｘ１ＦＦ）のうちｈｅｘ０００、ｈｅｘ１００（２５６アドレス毎）に対応するように設けられている。
【００８６】
図７は、半導体メモリ１０１の構成を示す。半導体メモリ１０１の構成は、ＤＲＡＭセルアレイ１０２とＳＲＡＭセルアレイ１０３と１ビットデコーダ１１０とを除いて、図４に示される半導体メモリ１の構成と同一である。図７において、図４に示される構成要素と同一の機能を有する構成要素には同一の参照番号を付し、その説明を省略する。
【００８７】
半導体メモリ１０１は、８１９２（Ｒｏｗ）×７９３６（Ｃｏｌｕｍｎ）のＤＲＡＭセルアレイ１０２と、８１９２（Ｒｏｗ）×２５６（Ｃｏｌｕｍｎ）のＳＲＡＭセルアレイ１０３とを含む。
【００８８】
ＤＲＡＭセルアレイ１０２は、１６個のバンク（図７では、ＢＡＮＫ０〜ＢＡＮＫ１５と表記されている）に区分されている。１６個のバンクのそれぞれは、５１２（Ｒｏｗ）×７９３６（Ｃｏｌｕｍｎ）というメモリ構成を有している。１６個のバンクは、互いに独立してアクセスされ得る。
【００８９】
ＳＲＡＭセルアレイ１０３は、１６個のＩ／Ｏにそれぞれ対応する１６個のカラムブロック１０５（図７では、Ｃｏｌｕｍｎ  Ｂｌｏｃｋ０、Ｃ−Ｂｌｋ１〜Ｃ−Ｂｌｋ１５）を含む。１６個のカラムブロック１０５のそれぞれは、カラムアドレスｈｅｘ０００のための５１２（Ｒｏｗ）×８（Ｃｏｌｕｍｎ）というメモリ構成と、カラムアドレスｈｅｘ１００のための５１２（Ｒｏｗ）×８（Ｃｏｌｕｍｎ）というメモリ構成とを有している。カラムアドレスｈｅｘ０００に対して８ビットの連続データが割り当てられ、カラムアドレスｈｅｘ１００に対して８ビットの連続データが割り当てられる。従って、カラムブロック１０５は、８ビット×２＝１６ビットのデータ幅を有している。
【００９０】
１ビットデコーダ１１０は、カラムアドレスバス（ＣＡ）から１ビットのデータを受け取り、この１ビットのデータをデコードする。この１ビットのデータは、アクセスされるべき特定のカラムアドレス（図６および図７に示される例では、ｈｅｘ０００またはｈｅｘ１００のいずれか）を指定するために使用される。例えば、１ビットデコーダ１１０は、１ビットのデータの値が「０」である場合には特定のカラムアドレスｈｅｘ０００をアンプおよびカラムセレクタ６に出力し、１ビットのデータの値が「１」である場合には特定のカラムアドレスｈｅｘ１００をアンプおよびカラムセレクタ６に出力する。アンプおよびカラムセレクタ６は、１ビットデコーダ１１０から出力されるカラムアドレスに応じて、ＳＲＡＭセルアレイ１０３をアクセスする。なお、カラムアドレスバス（ＣＡ）から入力される１ビットのデータの値と特定のカラムアドレスとの対応関係は、プログラムドカラムアドレス１４に格納されており、プログラムドカラムアドレス１４の内容を変更することによりその対応関係を変更することができる。
【００９１】
半導体メモリ１０１では、データのバースト長は８ビットである。クロック信号ＣＬＫの周波数は１００ＭＨｚである。クロック信号ＣＬＫの立ち上がりエッジと立ち下がりエッジとに同期して５ｎｓごとにデータが出力される。
【００９２】
図８は、半導体メモリ１０１の動作タイミングを示す。以下、図７および図８を参照して、半導体メモリ１０１の動作を説明する。
【００９３】
時刻Ｔ４では、ＲＡＳ信号／ＲＡＳがＬｏｗレベルであり、かつ、ＣＡＳ信号／ＣＡＳがＨｉｇｈレベルであり、かつ、ライトイネーブル信号／ＷＥがＬｏｗレベルである。ＬｏｗレベルのＲＡＳ信号／ＲＡＳとＨｉｇｈレベルのＣＡＳ信号／ＣＡＳとＬｏｗレベルのライトイネーブル信号／ＷＥとに応答して、時刻Ｔ０で入力されたロウアドレスに対応するＤＲＡＭセルアレイ１０２のワード線のプリチャージが起動される。
【００９４】
また、時刻Ｔ４では、制御信号ＣＡ−ＳＴＲＢがＬｏｗレベルである。Ｌｏｗレベルの制御信号ＣＡ−ＳＴＲＢに応答して、カラムアドレスバス（ＣＡ）から１ビットデコーダ１１０に特定のカラムアドレスを示す１ビットのデータが入力される。
【００９５】
上述したワード線がプリチャージされる期間（２０ｎｓ）が経過した後に、時刻Ｔ５においてＲＡＳ信号／ＲＡＳが再びＬｏｗレベルとされる。ＬｏｗレベルのＲＡＳ信号／ＲＡＳに応答して、時刻Ｔ５で入力されるロウアドレスに対応するＳＲＡＭセルアレイ１０３のワード線が活性化される。
【００９６】
時刻Ｔ４において、特定のカラムアドレスを示す１ビットのデータを入力することにより、時刻Ｔ４から１サイクル（２０ｎｓ）後の時刻Ｔ５からデータを出力することが可能になる。これは、ＤＲＡＭセルメモリ１０２のワード線をプリチャージすることと並行してＳＲＡＭセルメモリをアクセスすることができるからである。ＳＲＡＭセルメモリ１０３からのデータは、５ｎｓごとに８ビットバーストの形式で出力される。従って、データの出力期間は４０ｎｓである。
【００９７】
一方、ＤＲＡＭセルアレイ１０２にアクセスする場合には、データの出力期間は６０ｎｓとなる。データの出力期間は、ｔＲＰ（ＲＡＳプリチャージ時間）とｔＲＡＣ（ＲＡＳアクセス時間）との合計であり、ｔＲＰ＝２０ｎｓであり、ｔＲＡＣ＝４０ｎｓであるからである。
【００９８】
半導体メモリ１０１では、ワード線をプリチャージするためのプリチャージ期間（２０ｎｓ）と１ビットのデータを入力してからデータの出力が開始されるまでの期間（２０ｎｓ）とを重複させることにより、データが２０ｎｓだけ早く出力されるように構成されている。このようにして、データの出力期間を短縮することにより、図８に示されるように、データ出力を途切れることなく連続して行うことが可能になる。
【００９９】
なお、データのバースト長やサイクルタイム（クロック信号ＣＬＫの周波数）は、設計に応じて適切に選択され得る。これにより、どのような場合でも、データ出力を途切れることなく連続して行うことができる。
【０１００】
（実施の形態３）
図９は、本発明の実施の形態３のメモリシステム３の構成を示す。メモリシステム３は、メモリモジュール２０１と、メモリモジュール２０１を制御するメモリコントローラ２０４とを含む。メモリモジュール２０１とメモリコントローラ２０４とは、情報を伝送するための伝送線路（例えば、データバスやアドレスバス）を介して接続されている。
【０１０１】
メモリモジュール２０１は、２個のＳＲＡＭデバイス２０３と、８個のＤＲＡＭデバイス２０２とを含む。
【０１０２】
ＳＲＡＭデバイス２０３は、１Ｍビット×１８ビットのメモリ構成を有している。ＳＲＡＭデバイス２０３の記憶容量は１８Ｍビットである。ＳＲＡＭデバイス２０３には、２０ビットのアドレスが入力される。ＳＲＡＭデバイス２０３は、入力されたアドレスに応答して、８ビットのデータをクロック信号ＣＬＫに同期して出力する。
【０１０３】
ＤＲＡＭデバイス２０２は、４バンク×１Ｍビット×１８ビットのメモリ構成を有している。ＤＲＡＭデバイス２０２の記憶容量は７２Ｍビットである。ＤＲＡＭデバイス２０２には、１３ビットのアドレス（Ｂａｎｋ＆Ｒｏｗ）と９ビットのアドレス（Ｃｏｌｕｍｎ）とがそれぞれ共通のアドレスバス（１３ビット）を介して入力される。ＤＲＡＭデバイス２０２は、入力されたアドレスに応答して、８ビットのデータをクロック信号ＣＬＫに同期して出力する。
【０１０４】
メモリモジュール２０１では、複数のＤＲＡＭデバイス２０２からデータが同時に出力され得るため、データバスのビット幅は３６ビット（データを伝送するための３２ビットとパリティビットを伝送するための４ビット）である。データバスには、２個のＳＲＡＭデバイス２０３のデータピンがパラレルに接続されており、８個のＤＲＡＭデバイス２０２のデータピンが、２個のＤＲＡＭデバイス２０２を一組としてパラレルに、４組のＤＲＡＭデバイス２０２がシリーズに接続されている。
【０１０５】
メモリモジュール２０１は、６４Ｍバイトのメモリモジュールとして機能する。メモリモジュール２０１には、図１０に示されるように、ｈｅｘ０００００００〜ｈｅｘ３ＦＦＦＦＦＦのメモリ空間が割り当てられている。このメモリ空間は、ＤＲＡＭデバイス２０２とＳＲＡＭデバイス２０３とによってカバーされている。ＤＲＡＭデバイス２０２はロウアクセスが遅い。このため、メモリモジュール２０１では、ロウアクセスはＳＲＡＭデバイス２０３を用いて行われ、ロウアクセスに続くカラムアクセスはＤＲＡＭデバイス２０２を用いて行われる。
【０１０６】
このように、メモリモジュール２０１では、ＤＲＡＭデバイス２０２では時間のかかる特定のカラムアドレスに対するアクセスをＳＲＡＭデバイス２０３に代替させることにより、全体のパフォーマンスを向上させている。
【０１０７】
ＳＲＡＭデバイス２０３に入力される２０ビットのアドレスのうち、上位から１３ビットのアドレスは、ＤＲＡＭデバイス２０２のアドレスバスに接続されている。残りの７ビットのアドレスは、ＤＲＡＭデバイス２０２における所定のカラムアドレスに割り当てられている。この７ビットのアドレスのうち下位の３ビットは、８ビットバーストに対応する最初のカラムアドレスの決定に関連している。この７ビットのアドレスのうち上位の４ビットは、３２ビットごとの１６種類のアドレス（すなわち、ｈｅｘ００００、ｈｅｘ００２０、ｈｅｘ００４０、ｈｅｘ００６０、・・・、ｈｅｘ０１Ｃ０、ｈｅｘ０１Ｄ０）に１対１で割り当てられている。
【０１０８】
図１１は、ＤＲＡＭデバイス２０２の単体に対して、ＳＲＡＭデバイス２０３の一部がどのように対応づけられているかを示す。ＤＲＡＭデバイス２０２の９ビットのカラムアドレスが上述した１６種類のアドレスにヒットした場合には、ＳＲＡＭデバイス２０３のチップイネーブル信号／ＣＥなどの制御信号がアクティブにされる。このようにして、ヒットしたアドレスに格納されているデータがＳＲＡＭデバイス２０３から読み出され、または、与えられたデータがヒットしたアドレスに書き込まれる。
【０１０９】
上述した７ビットのアドレスを、図４、図６に示されるカラムアドレスバス（ＣＡ０〜ＣＡ２またはＣＡ）から入力されるアドレスとして使用し、制御信号ＣＡ−ＳＴＲＢの代わりにＳＲＡＭデバイス２０３の制御信号を使用することにより、図１２に示すような連続したデータ出力が可能となるのである。
【０１１０】
ＤＲＡＭデバイス２０２における特定のカラムアドレスに対応するアクセス（すなわち、ロウアクセス）は、高速アクセスが可能なＳＲＡＭデバイス２０３を用いて行われる。これにより、ロウアクセスが高速化される。また、ＳＲＡＭデバイス２０３にアクセスしている間にＤＲＡＭデバイス２０２を活性化することができるので、ＳＲＡＭデバイス２０３からＤＲＡＭデバイス２０２にアクセスが移った場合でも、アクセスは依然として高速となる。
【０１１１】
また、図１０に示されるように、図９のＤＲＡＭデバイスグループＡ〜Ｄが順番にメモリマップ上に割り当てられている場合には、ＤＲＡＭデバイス２０２におけるバンクのコンフリクトを低減させることができる。
【０１１２】
上述した実施の形態は、キャッシュメモリを内蔵し、カラムアドレス方向にある程度連続的な読み書きを行うパーソナルコンピュータ（ＰＣ）やワークステーションでは特に有効である。さらに、特定のカラムアドレスを不揮発性メモリセル等を用いてプログラム可能としてもよい。このことは、特定のカラムアドレスをアプリケーション毎に最適化することを可能にする。例えば、グラフィック用のアプリケーションに適するようにユーザが特定のカラムアドレスを再設定できるようにしてもよい。このようにすれば、本発明の半導体メモリをキャッシュメモリのないグラフィックのような分野にも適応することが可能になる。これにより、本発明の半導体メモリの汎用性が増す。
【０１１３】
（実施の形態４）
図１３は、本発明の実施の形態４の半導体メモリ５００１のメモリアレイ空間５０００の概念を示す。
【０１１４】
半導体メモリ５００１は、５１２（Ｒｏｗ）×１０２４（Ｃｏｌｕｍｎ）×１ビットＩ／Ｏの５１２Ｋビットのメモリアレイを有している。１ビットのデータが半導体メモリ５００１に入力され、または、半導体メモリ５００１から出力される。このメモリアレイは、２つのサブアレイ（すなわち、ノーマルアレイとプリフェッチアレイ）に分割されている。ノーマルアレイとプリフェッチアレイのそれぞれは、個別に活性化され、または、非活性化され得る。
【０１１５】
ノーマルアレイおよびプリフェッチアレイは、それぞれ、複数のメモリセルを含む。ノーマルアレイに含まれる複数のメモリセルと、プリフェッチアレイに含まれる複数のメモリセルとは、同一の構成を有している。それにもかかわらず、プリフェッチアレイのメモリセルに対するアクセスは、ノーマルアレイのメモリセルに対するアクセスよりも高速に行われる。例えば、ノーマルアレイおよびプリフェッチアレイは、それぞれ、複数のＤＲＡＭセルを含む。
【０１１６】
ノーマルアレイにおける特定のカラムアドレスは、プリフェッチアレイのメモリセルに割り当てられている。これにより、ノーマルアレイにおける特定のカラムアドレスに対応するアクセスをプリフェッチアレイのメモリセルに対するアクセスに代替することができる。
【０１１７】
なお、メモリアレイを３以上のサブアレイに分割してもよい。この場合には、一のサブアレイにおける特定のカラムアドレスが、他のサブアレイのメモリセルに割り当てられる。これにより、一のサブアレイにおける特定のカラムアドレスに対応するアクセスを他のサブアレイのメモリセルに対するアクセスに代替することができる。
【０１１８】
図１３において、斜線の領域は、プリフェッチアレイが担当する領域（以下、「プリフェッチアレイ領域」という）を示し、それ以外の領域は、ノーマルアレイが担当する領域（以下、「ノーマルアレイ領域」という）を示す。プリフェッチアレイ領域は、例えば、６４（Ｒｏｗ）×１０２４（Ｃｏｌｕｍｎ）というメモリ構成を有するＤＲＡＭのアレイによって実現され得る。ノーマルアレイ領域は、例えば、５１２（Ｒｏｗ）×８９６（Ｃｏｌｕｍｎ）というメモリ構成を有するＤＲＡＭのアレイによって実現され得る。
【０１１９】
プリフェッチアレイ領域は、ロウアドレスｈｅｘ０００からロウアドレスｈｅｘ１ＦＦにわたってＸ軸方向に沿って形成され、Ｙ軸方向に沿って特定の間隔をあけて形成される。このように、プリフェッチアレイ領域は、メモリアレイ空間５０００において複数の帯領域として形成される。
【０１２０】
図１３に示される例では、１６個の帯領域が、Ｙ軸方向に沿って６４アドレス毎に形成されている。１６個の帯領域のそれぞれは、Ｘ軸方向に５１２ビットの幅を有し、Ｙ軸方向に８ビットの幅を有する領域である。
【０１２１】
ロウアドレスが指定された後、最初に指定されるカラムアドレスが特定のカラムアドレス（すなわち、ｈｅｘ０００、ｈｅｘ０４０、・・・、ｈｅｘ３Ｃ０のいずれか）に一致する場合には、そのロウアドレスとそのカラムアドレスとに対応するアクセスは高速に行われる。これは、その特定のカラムアドレスから所定のバースト長ビット（図１３に示される例では８ビット）の範囲に含まれるカラムアドレスがプリフェッチアレイのメモリセルに割り当てられているからである。
【０１２２】
プリフェッチアレイのメモリセルに対するアクセスを行っている間に、ロウアドレスに対応するノーマルアレイのすべてのメモリセルルが活性化される。従って、アクセス対象がプリフェッチアレイのメモリセルからノーマルアレイのメモリセルに移った場合でも、そのノーマルアレイのメモリセルに対して高速にアクセスすることが可能になる。
【０１２３】
このように、ロウアドレスに対応するノーマルアレイのすべてのメモリセルが活性化されるまで、プリフェッチアレイのメモリセルが”ワンポイントリリーフ”としてメモリアクセスを担当するように、ノーマルアレイとプリフェッチアレイとが構成される。これにより、切れ目のないアクセスを実現することができる。
【０１２４】
ノーマルアレイにおける特定のカラムアドレスは、ロウアドレスが指定された後に最初に指定されるカラムアドレスがその特定のカラムアドレスにヒットする確率が高くなるように予め設定されている。このようにノーマルアレイにおける特定のカラムアドレスを設定することにより、半導体メモリ５００１のパフォーマンスが向上する。
【０１２５】
ロウアドレスが指定された後に最初に指定されるカラムアドレスがその特定のカラムアドレスにヒットする確率は、複数のメモリセルが複数のバンクに区分され、ロウアドレスに対応するワード線の活性化がキャッシュフィルサイクルごとに解除されない半導体メモリ（すなわち、マルチバンクメモリ）においては飛躍的に増大する。なぜなら、マルチバンクメモリでは、シングルバンクメモリに比べて、ロウアドレスが指定された後に最初に指定されるカラムアドレスが、特定のカラムアドレスに集中する確率が高いからである。その特定のカラムアドレスは、例えば、ｈｅｘ０００、ｈｅｘ０４０、・・・、ｈｅｘ３Ｃ０という非常に切りのいい数字を有する６４アドレス毎のカラムアドレスである。このようなカラムアドレスをプリフェッチアレイのメモリセルに割り当てることによって、ほとんどすべてのロウアクセスがプリフェッチアレイのメモリセルから始まることになる。これにより、半導体メモリ５００１のパフォーマンスが向上する。
【０１２６】
また、マルチバンクメモリでは、アクセス対象が第１のバンクの第１のロウアドレスから第２のバンクの第２のロウアドレスに移った場合でも、第１のロウアドレスに対応するワード線の活性状態が維持される。従って、アクセス対象が第２の第２のバンクの第２のロウアドレスから第１のバンクの第１のロウアドレスに戻った場合には、その第１のロウアドレスに対応するアクセスはやはり高速になる。このような高速アクセスは、シングルバンクメモリでは不可能である。
【０１２７】
なお、図１３に示される例では、プリフェッチアレイ領域がＹ軸方向に沿って６４アドレスごとに形成されるとした。しかし、本発明はこれに限定されない。アプリケーションに適合するようにプリフェッチアレイ領域をより小さい間隔で形成してもよいし、より大きな間隔で（例えば、１２８または２５６アドレスごとに）形成してもよい。
【０１２８】
プリフェッチアレイに含まれる複数のワード線のうち活性化されていないワード線に対応するロウアドレスが指定された場合には、プリフェッチアレイのメモリセルに対する高速アクセスは期待できない。しかし、プリフェッチアレイでは、現在アクセスされているメモリセルの近傍のロウアドレスに対応するワード線が活性化されている。従って、実際のシステム上では、プリフェッチアレイにおいて活性化されていないワード線に対応するロウアドレスが指定される確率を低く抑えることができるので、問題はない。
【０１２９】
例えば、８個のバンクを有する半導体メモリは、８ページ分のデータを高速に読み出し／書き込み可能に持つこととなる。１６個のバンクを有する半導体メモリは、１６ページ分のデータを高速に読み出し／書き込み可能に持つこととなる。ロウアドレスに対応するワード線の活性化が解除されてそのワード線とは異なるワード線が活性化されるのは、シーケンシャルアクセスからロウアクセスに移る場合、実行中のアプリケーションが切り替わる場合、ハードディスクドライブ（ＨＤＤ）などの周辺デバイスからメインメモリへのアクセスが起動される場合などであると考えられる。
【０１３０】
図１４は、半導体メモリ５００１の構成を示す。半導体メモリ５００１のメモリアレイは、５１２（Ｒｏｗ）×８９６（Ｃｏｌｕｍｎ）のノーマルアレイ５００２と、６４（Ｒｏｗ）×１０２４（Ｃｏｌｕｍｎ）のプリフェッチアレイ５００３という２つのサブアレイに分割されている。
【０１３１】
プリフェッチアレイ５００３の１本のワード線は、ノーマルアレイ５００２における８本のワード線を担当するようになっている。例えば、プリフェッチアレイ５００３の１本のワード線ＷＬｐ０は、ノーマルアレイ５００２の８本のワード線ＷＬｎ０〜ＷＬｎ７にそれぞれ対応するように８個の領域ＷＬｐ０（８ｎ）〜ＷＬｐ０（８ｎ＋７）に区分されている。
【０１３２】
ノーマルアレイ５００２におけるワード線ＷＬｎ０に対応する特定のカラムアドレス（ｈｅｘ０００、ｈｅｘ０４０、・・・、ｈｅｘ３Ｃ０）が、プリフェッチアレイ５００３のワード線ＷＬｐ０の領域ＷＬｐ０（８ｎ）における１６個のメモリセルに割り当てられている。１６個のメモリセルのそれぞれは８ビットの幅を有している。従って、ワード線ＷＬｐ０の領域ＷＬｐ０（８ｎ）は、１２８（＝８×１６）ビットの幅を有している。
【０１３３】
同様にして、ノーマルアレイ５００２におけるワード線ＷＬｎ１に対応する特定のカラムアドレス（ｈｅｘ０００、ｈｅｘ０４０、・・・、ｈｅｘ３Ｃ０）が、プリフェッチアレイ５００３のワード線ＷＬｐ０の領域ＷＬｐ０（８ｎ＋１）における１６個のメモリセルに割り当てられている。１６個のメモリセルのそれぞれは８ビットの幅を有している。従って、ワード線ＷＬｐ０の領域ＷＬｐ０（８ｎ＋１）は、１２８（＝８×１６）ビットの幅を有している。
【０１３４】
このように、ノーマルアレイ５００２におけるｈｅｘ０００から始まる６４ビット毎の特定のカラムアドレスが、プリフェッチアレイ５００３のメモリセルに割り当てられる。従って、これらの特定のカラムアドレスに対応するデータは、プリフェッチアレイ５００３における１本のワード線に対応する複数のメモリセルに格納される。プリフェッチアレイ５００３は、１０２４（＝１２８×８）ビットの幅を有している。
【０１３５】
以下、半導体メモリ５００１の基本的な動作を説明する。
【０１３６】
はじめに、９ビットのロウアドレスが半導体メモリ５００１に入力される。ロウデコーダおよびワード線ドライバ５００４は、ロウアドレスに従ってノーマルアレイ５００２の複数のワード線（ＷＬｎ０〜ＷＬ５１１）のうち１本のワード線を選択し、その選択されたワード線を駆動する。
【０１３７】
ロウアドレスの上位６ビットは、ロウデコーダおよびワード線ドライバ５００５に供給される。ロウデコーダおよびワード線ドライバ５００５は、ロウアドレスの上位６ビットに従ってプリフェッチアレイ５００３の複数のワード線（ＷＬｐ０〜ＷＬｐ６３）のうち１本のワード線を選択し、その選択されたワード線を駆動する。
【０１３８】
ノーマルアレイ５００２において選択された１本のワード線が駆動されると、そのワード線に接続されているメモリセルがセンスアンプドライバ５００６Ｄとセンスアンプ５００６とによって増幅される。このようにして、ノーマルアレイ５００２が活性化される。
【０１３９】
プリフェッチアレイ５００３において選択された１本のワード線が駆動されると、そのワード線に接続されているメモリセルがセンスアンプドライバ５００７Ｄとセンスアンプ５００７とによって増幅される。このようにして、プリフェッチアレイ５００３が活性化される。
【０１４０】
次に、１０ビットのカラムアドレスが半導体メモリ５００１に入力される。カラムデコーダ５００８は、カラムアドレスの上位７ビットに従ってカラムスイッチＣＳＷ１を制御する。カラムスイッチＣＳＷ１によって選択されたノーマルアレイ５００２のデータがローカルデータ線ＬＤに出力される。
【０１４１】
ノーマルアレイ５００２の１本のワード線に対応する８９６ビットのデータは、８ビットずつの１１２のグループに分類されている。この１１２のグループのうちのどのグループを選択するかがカラムアドレスの上位７ビットによって決定される。選択されたグループに対応する８ビットのデータがローカルデータ線ＬＤに出力される。
【０１４２】
なお、カラムアドレスのうち下位３ビットのアドレスは、連続出力される８ビットのデータの各々に論理的に割り当てられる。
【０１４３】
図１５は、１本のワード線における論理アドレスと物理アドレスとの関係を示している。図１５に示されるように、６４ビットに対応する論理アドレス０〜６３のうち、先頭の８ビットに対応する論理アドレス０〜７がプリフェッチアレイ５００３に割り当てられ、先頭の８ビットに続く５６ビットに対応する論理アドレス８〜６３がノーマルアレイ５００２に割り当てられている。
【０１４４】
従って、ロウアドレスが指定された場合において、６４カラムアドレスごとの８ビットのデータは、プリフェッチアレイ５００３から出力されることとなる。ノーマルアレイ５００２において活性化されているワード線の近傍ロウアドレスと特定のカラムアドレスとに対応するプリフェッチアレイ５００３内のメモリセルを活性化状態としておくことにより、そのメモリセルに対するアクセスを高速に行うことができる。
【０１４５】
ここで、図１４に示されるノーマルアレイ５００２では、ｈｅｘ０００から６４アドレス毎の１６個の特定のカラムアドレス（すなわち、ｈｅｘ０００、ｈｅｘ０４０、ｈｅｘ０８０、・・・、ｈｅｘ３Ｃ０）にはデータが格納されていない。カラムアドレスがこれらの特定の１６個のアドレスのいずれかにヒットする場合には、セレクト信号ＳｅｌがＨｉｇｈレベルとされる。その結果、カラムデコーダ５００８が反応しなくなる。一方、セレクト信号ＳｅｌがＨｉｇｈレベルである場合には、カラムデコーダ５００９が反応するようになる。
【０１４６】
カラムデコーダ５００９には、ロウアドレスの下位３ビットと、特定のカラムアドレスを示す４ビットのデータとが供給される。カラムデコーダ５００９は、ロウアドレスの下位３ビットと特定のカラムアドレスを示す４ビットのデータとに従ってカラムスイッチＣＳＷ２を制御する。カラムスイッチＣＳＷ２によって選択されたプリフェッチアレイ５００３のデータがローカルデータ線ＬＤに出力される。
【０１４７】
プリフェッチアレイ５００３の１本のワード線に対応する１０２４ビットのデータは、１２８ビットずつの８個の領域に割り当てられており、８個の領域のそれぞれは１６個の８ビット幅のメモリセルを含んでいる。８個の領域のうちのどの領域を選択するかがロウアドレスの下位３ビットによって決定される。この選択された領域は、ノーマルアレイ５００２における８本１組のワード線のうち選択された１本のワード線に対応する。この選択された領域に含まれる１６個のメモリセルのうちどのメモリセルを選択するかが特定のカラムアドレスを示す４ビットのデータによって決定される。この選択されたメモリセルは、１６個の特定のカラムアドレス（ｈｅｘ０００、ｈｅｘ０４０、ｈｅｘ０８０、・・・、ｈｅｘ３Ｃ０）のうち選択された１つのカラムアドレスに対応する。選択されたメモリセルに対応する８ビットのデータがローカルデータ線ＬＤに出力される。
【０１４８】
このように、セレクト信号Ｓｅｌに応じて、カラムデコーダ５００８およびカラムデコーダ５００９の一方を選択的に活性化することにより、ノーマルアレイ５００２およびプリフェッチアレイ５００３の一方から選択的にデータが出力される。すなわち、ノーマルアレイ５００２からデータが出力される場合には、プリフェッチアレイ５００３からはデータが出力されず、プリフェッチアレイ５００３からデータが出力される場合には、ノーマルアレイ５００２からはデータが出力されない。従って、ノーマルアレイ５００２とプリフェッチアレイ５００３とに共通にローカルデータ線ＬＤを設けることができる。これにより、半導体メモリ５００１のチップ面積を削減することができる。
【０１４９】
ローカルデータ線ＬＤに出力された８ビットのデータは、リードアンプ５０１０によって増幅され、グローバルデータ線ＧＤに出力される。グローバルデータ線ＧＤに出力されたデータは、例えば、図１６に示されるＩ／Ｏ回路ＲＤを介して半導体メモリ５００１の外部に出力される。
【０１５０】
（実施の形態５）
図１６は、本発明の実施の形態５の半導体メモリ６００１の構成を示す。
【０１５１】
半導体メモリ６００１は、１６Ｍビットの記憶容量を有するＤＲＡＭである。より詳細には、半導体メモリ６００１は、４バンク×９（Ｒｏｗ）×１０（Ｃｏｌｕｍｎ）×８ビットＩ／Ｏのメモリ構成を有している。半導体メモリ６００１のメモリコア６００２は、３２個の５１２Ｋのメモリアレイコア６００３を有している。
【０１５２】
メモリコア６００２は、４個のバンク６００４に区分されている。図１６では、４個のバンク６００４は、それぞれ、ＢＡＮＫ１〜ＢＡＮＫ４と表記されている。４個のバンク６００４は、互いに独立にアクセスされ得る。
【０１５３】
半導体メモリ６００１には、８個の入出力（Ｉ／Ｏ）が設けられている。図１６では、８個のＩ／Ｏは、Ｉ／Ｏ＃０〜Ｉ／Ｏ＃７と表記されている。１ビットのデータが各Ｉ／Ｏに入力され、または、各Ｉ／Ｏから出力される。
【０１５４】
ロウアドレスラッチ６０１１は、アドレスバス（Ａ０〜Ａ１０）から１１ビットのロウアドレスをラッチする。ロウアドレスラッチ６０１１は、ロウアドレスの上位２ビットをバンク選択回路６０１６に供給する。バンク選択回路６０１６は、ロウアドレスの上位２ビットに従って４個のバンク６００４のうちの１つを選択する。４個のバンク６００４のそれぞれは、ロウアドレスに応じて互いに独立に活性化され得る。従って、最大で４バンク分のデータがセンスアンプ（図示せず）によってラッチされ得る。
【０１５５】
カラムアドレスラッチ６０１２は、アドレスバス（Ａ０〜Ａ１０）から１０ビットのカラムアドレスをラッチする。カラムアドレスは、例えば、アドレスバス（Ａ０〜Ａ１０）の上位１０ビットに対応する。カラムアドレスのラッチは、ロウアドレスのラッチとは異なるタイミングで行われる。
【０１５６】
特定アドレスラッチ６０１３は、カラムアドレスバス（ＣＡ０〜ＣＡ３）から４ビットのデータをラッチする。この４ビットのデータは、特定のカラムアドレスを指定するために使用される。４ビットのデータは、制御信号ＣＡ−ＳＴＲＢがＬｏｗレベルの状態でクロック信号ＣＬＫがＬｏｗレベルからＨｉｇｈレベルに遷移したタイミングに応答して特定アドレスラッチ６０１３にラッチされる。
【０１５７】
制御信号ＣＡ−ＳＴＲＢがＬｏｗレベルの状態でクロック信号ＣＬＫがＬｏｗレベルからＨｉｇｈレベルに遷移した時から１サイクルの間は、イネーブルジェネレータ６０１４は、セレクト信号ＳｅｌをＨｉｇｈレベルとする。
【０１５８】
各５１２Ｋのメモリアレイコア６００３は、図１４に示される半導体メモリ５００１と同一の構成を有している。図１６には示されていないが、セレクト信号Ｓｅｌは、各５１２Ｋのメモリアレイコア６００３のカラムデコーダ５００８とカラムデコーダ５００９とに供給される。セレクト信号ＳｅｌがＨｉｇｈレベルである場合には、プリフェッチアレイ５００３のためのカラムデコーダ５００９が活性化され、ノーマルアレイ５００２のためのカラムデコーダ５００８は非活性化される。
【０１５９】
プリチャージコントローラ６０１５は、チップセレクト信号／ＣＳ、ＲＡＳ信号／ＲＡＳ、ライトイネーブル信号／ＷＥがいずれもＬｏｗレベルである状態に応答して、ロウアドレスに従ってノーマルアレイ５００２をプリチャージし、チップセレクト信号／ＣＳ、ＲＡＳ信号／ＲＡＳ、ライトイネーブル信号／ＷＥ、ＣＡＳ信号／ＣＡＳ、制御信号ＣＡ−ＳＴＲＢがいずれもＬｏｗレベルである状態に応答して、ロウアドレスに従ってノーマルアレイ５００２とプリフェッチアレイ５００３とをプリチャージする。プリフェッチアレイ５００３とノーマルアレイ５００２をプリチャージするときは、連続データの読み書きがとだえる可能性がある。
【０１６０】
図１７は、半導体メモリ６００１のメモリ空間６０００の概念を示す。図１７において、斜線の領域が、プリフェッチアレイ５００３に割り当てられている領域を示す。従って、ロウアクセスに対応するカラムアドレスがｈｅｘ０００から６４アドレス毎のいずれかのカラムアドレスである場合には、プリフェッチアレイ５００３のメモリセルからデータが出力される。
【０１６１】
図１８は、半導体メモリ６００１の動作タイミングを示す。以下、図１６および図１８を参照して、半導体メモリ６００１の動作を説明する。
【０１６２】
時刻Ｔ０では、チップセレクト信号／ＣＳがＬｏｗレベルであり、かつ、ＲＡＳ信号／ＲＡＳがＬｏｗレベルである。ロウアドレスラッチ６０１１は、Ｌｏｗレベルのチップセレクト信号／ＣＳとＬｏｗレベルのＲＡＳ信号／ＲＡＳとに応答して、アドレスバス（Ａ０〜Ａ１０）上のアドレスをロウアドレスとしてラッチする。
【０１６３】
また、時刻Ｔ０では、制御信号ＣＡ−ＳＴＲＢがＬｏｗレベルである。特定アドレスラッチ６０１３は、カラムアドレスバス（ＣＡ０〜ＣＡ３）上の４ビットのデータをラッチする。この４ビットのデータとロウアドレスとに基づいて、プリフェッチアレイ５００３から８ビットのデータが時刻Ｔ２から出力される。このようにして、ロウアクセスが実行される。
【０１６４】
時刻Ｔ０では、ＣＡＳ信号／ＣＡＳはＬｏｗレベルにならず、その代わりに制御信号ＣＡ−ＳＴＲＢがＬｏｗレベルとなる。その結果、ロウアクセスが実行される。ＣＡＳ信号／ＣＡＳおよび制御信号ＣＡ−ＳＴＲＢのどちらをＬｏｗレベルにするかは、アクセス対象のアドレスに基づいて、メモリコントローラによって決定される。
【０１６５】
時刻Ｔ３では、ＣＡＳ信号／ＣＡＳがＬｏｗレベルである。カラムアドレスラッチ６０１２は、ＬｏｗレベルのＣＡＳ信号／ＣＡＳに応答して、アドレスバス（Ａ０〜Ａ１０）上のアドレスをカラムアドレスとしてラッチする。ロウアドレスとカラムアドレスとに基づいて、ノーマルアレイ５００２から８ビットのデータが時刻Ｔ４から出力される。このようにして、カラムアクセスが実行される。
【０１６６】
時刻Ｔ４では、アドレスバス（Ａ０〜Ａ１０）から新たなロウアドレスがラッチされるとともに、ノーマルアレイ５００２のプリチャージが開始される。プリフェッチアレイ５００３はプリチャージされず、依然として活性化された状態が維持される。
【０１６７】
また、時刻Ｔ５では、カラムアドレスバス（ＣＡ０〜ＣＡ２）から新たな４ビットのデータがラッチされる。この新たな４ビットのデータと新たなロウアドレスとに基づいて、プリフェッチアレイ５００３から８ビットのデータが時刻Ｔ６から出力される。このようにして、ロウアクセスが実行される。
【０１６８】
ノーマルアレイ５００２がプリチャージされている間に、プリフェチアレイ５００３に対するアクセスが開始される。このように、ノーマルアレイ５００２をプリチャージするためのプリチャージ期間と４ビットのデータを入力してからプリフェッチアレイ５００３からデータの出力が開始されるまでの期間とを重複させることにより、プリフェッチアレイ５００３からのデータを早く出力することが可能になる。このようにして、データの出力期間を短縮することにより、図１８に示されるように、データ出力を途切れることなく連続して行うことが可能になる。
【０１６９】
半導体メモリ６００１は、ロウアドレスが比較的頻繁に変化し、ロウアドレスが指定された後に最初に指定されるカラムアドレスが特定のカラムアドレスに一致する確率が高い場合に非常に有効である。実際、Ｗｉｎｄｏｗｓなどの基本ソフトウェアの上で複数のアプリケーションが実行されており、ハードディスクドライブ（ＨＤＤ）に対するアクセスも頻繁に行われる状況では、ロウアドレスが比較的頻繁に変化し、アプリケーションの切り替わりやハードディスクドライブ（ＨＤＤ）からのデータ転送が開始される際のカラムアドレスは、特定のいくつかのカラムアドレスに集中すると予想される。例えば、そのような特定のカラムアドレスは、ｈｅｘ０００、ｈｅｘ０４０などの切りのいい数字を有するカラムアドレスである。従って、このような特定のカラムアドレスにプリフェッチアレイ５００３のメモリセル（例えば、ＤＲＡＭセル）を割り当て、それ以外のカラムアドレスにノーマルアレイ５００２のメモリセル（例えば、ＤＲＡＭセル）を割り当てておくことにより、半導体メモリ６００１に対するアクセスを全体として高速化することができる。
【０１７０】
また、半導体メモリ６００１は、４個のバンク６００３を有している。４個のバンク６００３のそれぞれは、ワード線が活性化された後はセンスアンプ５００６またはセンスアンプ５００７において１ページ分のデータを保持することができる。従って、半導体メモリ６００１全体としては、４ページ分のデータを高速で読み書きできる状態にしておくことができる。このため、ロウアドレスが各バンクで活性化されているワード線に対応するロウアドレスにヒットすれば、従来のＤＲＡＭと同様にカラムアドレスがランダムに変化しても高速なアクセスを提供することができる。
【０１７１】
なお、メモリコントローラは、活性化されているノーマルアレイ５００２とプリフェッチアレイ５００３のアドレスを常時把握しており、次のアクセスのためのアドレスが現在活性化されているプリフェッチアレイ５００３にヒットするか否かを判定する。ヒットする場合（すなわち、次のアクセスに必要なデータがプリフェッチアレイ５００３に格納されている場合）には、ノーマルアレイ５００２のみがプリチャージされる。その結果、図１８に示すような動作で切れ目のないデータ出力が実現される。ヒットしない場合（すなわち、次のアクセスに必要なデータがプリフェッチアレイ５００３に格納されていない場合）には、メモリコントローラは、図１９に示されるように時刻Ｔ５で、ノーマルアレイ５００２とプリフェッチアレイ５００３とを同時にプリチャージするようにチップセレクト信号／ＣＳ、ＲＡＳ信号／ＲＡＳ、ＣＡＳ信号／ＣＡＳ、ライトイネーブル信号／ＷＥ、制御信号ＣＡ−ＳＴＲＢをいずれもＬｏｗレベルにする。次のアクセスのためのアドレスに対応するノーマルアレイ５００２とプリフェッチアレイ５００３のワード線が活性化される。この場合は、通常のＲＡＳアクセスとなりデータの出力に切れ目が発生する（時刻Ｔ６〜Ｔ７）。
【０１７２】
本実施の形態では、特定のカラムアドレスを表す情報は、ロウアドレスおよびカラムアドレスとは独立に、カラムアドレスバス（ＣＡ０〜ＣＡ２）から特定アドレスラッチ６０１３に入力される。特定のカラムアドレスを表す情報は、ロウアドレスと同時に入力される。このことは、ロウアクセス時にプリフェッチアレイのメモリセルを選択することを可能にする。その結果、プリフェッチアレイのメモリセルに対するアクセスを高速に行うことができる。なお、特定のカラムアドレスを表す情報を入力するための専用ピンを設けることは必須ではない。例えば、半導体メモリ６００１へのアドレス情報とコントロール情報とをプロトコル形式で入力するようにすると、ロウアドレスとカラムアドレスとが同一パケットで入力される。この場合には、そのような専用ピンは不要となる。
【０１７３】
（実施の形態６）
図２０は、本発明の実施の形態６のメモリシステム７０００の構成を示す。メモリシステム７０００は、メモリモジュール７０２０と、メモリモジュール７０２０を制御するメモリコントローラ７０１０とを含む。メモリモジュール７０２０とメモリコントローラ７０１０とは、情報を伝送するための伝送線路（例えば、データバスやアドレスバス）を介して接続されている。
【０１７４】
メモリモジュール７０２０は、２個のプリフェッチ用ＤＲＡＭデバイス（Ｐ−ＤＲＡＭ）７０３０と、８個のノーマル用ＤＲＡＭデバイス（Ｎ−ＤＲＡＭ）７０４０とを含む。
【０１７５】
Ｐ−ＤＲＡＭ７０３０、Ｎ−ＤＲＡＭ７０４０は、４Ｍ×１８ビットのメモリ構成を有している。これらのＤＲＡＭデバイスの記憶容量は７２Ｍビットである。これらのＤＲＡＭデバイスは、例えば、シンクロナスＤＲＡＭであり得る。これらのＤＲＡＭデバイスには、１２ビットのアドレス（Ｂａｎｋ＆Ｒｏｗ）と１０ビットのアドレス（Ｃｏｌｕｍｎ）とがそれぞれ共通のアドレスバス（１２ビット）を介して入力される。これらのＤＲＡＭデバイスは、入力されたアドレスに応答して、８ビットのデータをクロック信号ＣＬＫに同期して出力する。
【０１７６】
メモリモジュール７０２０では、複数のＤＲＡＭデバイスからデータが同時に出力され得るため、データバスのビット幅は３６ビット（データを伝送するための３２ビットとパリティビットを伝送するための４ビット）である。データバスには、２個のＰ−ＤＲＡＭ７０３０のデータピンがパラレルに接続されており、８個のＮ−ＤＲＡＭ７０４０のデータピンが、２個のＮ−ＤＲＡＭ７０４０を一組としてパラレルに、４組のＮ−ＤＲＡＭ７０４０がシリーズに接続されている。
【０１７７】
メモリモジュール７０２０は、６４Ｍバイトのメモリモジュールとして機能する。メモリモジュール７０２０には、図２１に示されるように、ｈｅｘ０００００００〜ｈｅｘ３ＦＦＦＦＦＦのメモリ空間が割り当てられている。このメモリ空間は、Ｐ−ＤＲＡＭ７０３０とＮ−ＤＲＡＭ７０４０とによってカバーされている。Ｎ−ＤＲＡＭ７０４０はロウアクセスが遅い。このため、メモリモジュール７０２０では、ロウアクセスはＰ−ＤＲＡＭ７０３０を用いて行われ、ロウアクセスに続くカラムアクセスはＮ−ＤＲＡＭ７０４０を用いて行われる。
【０１７８】
このように、メモリモジュール７０２０では、Ｎ−ＤＲＡＭ７０４０では時間のかかる特定のカラムアドレスに対するアクセスをＰ−ＤＲＡＭ７０３０に代替させることにより、全体のパフォーマンスを向上させている。
【０１７９】
図２２は、ＤＲＡＭデバイス単体に対するメモリ空間の概念を示す。Ｐ−ＤＲＡＭ７０３０は、ｈｅｘ０００から３２アドレス毎の８ビット幅の空間を担当し、Ｎ−ＤＲＡＭ７０４０がプリチャージされても基本的にプリチャージされない。これにより、ＣＡＳアクセスの速度でデータを読み書きすることができる。その結果、図２３に示されるような連続したデータ出力が可能となるのである。
【０１８０】
また、図２１に示されるように、図２０のＤＲＡＭデバイスグループＡ〜Ｄが順番にメモリマップ上に割り当てられている場合には、ＤＲＡＭデバイスにおけるバンクのコンフリクトを低減させることができる。
【０１８１】
上述した実施の形態は、キャッシュメモリを内蔵し、カラムアドレス方向にある程度連続的な読み書きを行うパーソナルコンピュータ（ＰＣ）やワークステーションでは特に有効である。さらに、特定のカラムアドレスを不揮発性メモリセル等を用いてプログラム可能としてもよい。このことは、特定のカラムアドレスをアプリケーション毎に最適化することを可能にする。例えば、グラフィック用のアプリケーションに適するようにユーザが特定のカラムアドレスを再設定できるようにしてもよい。このようにすれば、本発明の半導体メモリをキャッシュメモリのないグラフィックのような分野にも適応することが可能になる。これにより、本発明の半導体メモリの汎用性が増す。
【０１８２】
【発明の効果】
本発明によれば、特定のカラムアドレスに高速メモリセルが割り当てられているため、カラムアクセスに先だって最初に実行されるロウアクセスがある確率に従って高速化される。実際のアプリケーションに即するように特定のカラムアドレスを設定し、高速メモリセルのアクセスの高速性と、高速メモリセル以外のメモリセルの一旦ロウアクセスした後のアクセスの高速性とを、うまくメモリコントローラで制御し両立させることによって、従来の半導体メモリの欠点であるロウ方向のランダムアクセス速度を向上させることができる。これにより、メモリシステム全体のパフォーマンスを向上させることができる。
【０１８３】
なお、半導体メモリのメモリアレイが複数のサブアレイに分割されている場合には、一のサブアレイにおける特定のカラムアドレスを他のサブアレイにおけるメモリセルに割り当てることにより、上述した効果と同様の効果を得ることができる。これは、ロウアクセスがある確率に従って高速化されるからである。
【図面の簡単な説明】
【図１】本発明をシングルバンクメモリ１０００に適用した場合におけるメモリセルアレイ１００２の構成を示す図である。
【図２】本発明をマルチバンクメモリ２０００に適用した場合におけるメモリセルアレイ２００２の構成を示す図である。
【図３】本発明の実施の形態１の半導体メモリ１のメモリ空間３０００の概念を示す図である。
【図４】半導体メモリ１の構成を示すブロック図である。
【図５】半導体メモリ１の動作タイミングを示すタイミングチャートである。
【図６】本発明の実施の形態２の半導体メモリ１０１のメモリ空間４０００の概念を示す図である。
【図７】半導体メモリ１０１の構成を示すブロック図である。
【図８】半導体メモリ１０１の動作タイミングを示すタイミングチャートである。
【図９】本発明の実施の形態３のメモリシステム３の構成を示すブロック図である。
【図１０】メモリシステム３のメモリマップを示す図である。
【図１１】メモリシステム３のメモリ空間の概念を示す図である。
【図１２】メモリシステム３の動作タイミングを示すタイミングチャートである。
【図１３】本発明の実施の形態４の半導体メモリ５００１のメモリアレイ空間５０００の概念を示す図である。
【図１４】半導体メモリ５００１の構成を示すブロック図である。
【図１５】１本のワード線における論理アドレスと物理アドレスとの関係を示す図である。
【図１６】本発明の実施の形態５の半導体メモリ６００１の構成を示すブロック図である。
【図１７】半導体メモリ６００１のメモリ空間６０００の概念を示す図である。
【図１８】半導体メモリ６００１の動作タイミングを示すタイミングチャートである。
【図１９】半導体メモリ６００１の動作タイミングを示すタイミングチャートである。
【図２０】本発明の実施の形態６のメモリシステム７０００の構成を示すブロック図である。
【図２１】メモリシステム７０００のメモリマップを示す図である。
【図２２】メモリシステム７０００のメモリ空間の概念を示す図である。
【図２３】メモリシステム７０００の動作タイミングを示すタイミングチャートである。
【符号の説明】
１０００  シングルバンクメモリ
１００２  メモリセルアレイ
１００４  メモリセル
１００４ａ  高速メモリセル
１００４ｂ  低速メモリセル
１０１０、１０２０  ワード線
１０３０  アクセス単位
２０００  マルチバンクメモリ
２００２  メモリセルアレイ
２００２ａ、２００２ｂ  バンク
２００４  メモリセル
２００４ａ  高速メモリセル
２００４ｂ  低速メモリセル
２０１０、２０２０  ワード線
２０３０  アクセス単位
【図１】
0003604296.tif 000002
【図２】
0003604296.tif 000003
【図３】
0003604296.tif 000004
【図４】
0003604296.tif 000005
【図５】
0003604296.tif 000006
【図６】
0003604296.tif 000007
【図７】
0003604296.tif 000008
【図８】
0003604296.tif 000009
【図９】
0003604296.tif 000010
【図１０】
0003604296.tif 000011
【図１１】
0003604296.tif 000012
【図１２】
0003604296.tif 000013
【図１３】
0003604296.tif 000014
【図１４】
0003604296.tif 000015
【図１５】
0003604296.tif 000016
【図１６】
0003604296.tif 000017
【図１７】
0003604296.tif 000018
【図１８】
0003604296.tif 000019
【図１９】
0003604296.tif 000020
【図２０】
0003604296.tif 000021
【図２１】
0003604296.tif 000022
【図２２】
0003604296.tif 000023
【図２３】
0003604296.tif 000024