(57)【要約】【課題】バースト読み出し動作において、最初のアドレス境界により有効なデータを途切れることなくクロックに同期して連続したデータを出力する半導体メモリを提供する。【解決手段】半導体メモリは、入力されるクロックに同期して備えられたメモリセルアレイの連続するメモリ領域に記憶されているデータを順次出力するバースト読み出し機能を有し、サイクルカウント部５１とサイクル制御部５２とを具備する。サイクルカウント部５１は、バースト読み出しの開始アドレスに応じたウエイトサイクル数を算出して、クロック信号に同期してカウントを行い。サイクル制御部５２は、当該ウエイトサイクル期間の間に出力するデータを読み出して、当該ウエイトサイクル期間終了の後に読み出したデータをクロックに同期し連続して出力する制御を行う。【選択図】図２
2010198686.tif 000002
【特許請求の範囲】
【請求項１】
備えられたメモリセルアレイの連続するメモリ領域に記憶されているデータを、入力されるクロック信号に同期して順次出力するバースト読み出し機能を有する半導体メモリであって、
前記バースト読み出し命令が入力されると、該バースト読み出し命令に対応する開始アドレスから最初のアドレス境界までの前記メモリ領域から読み出した第１のデータを出力する際に要するクロックサイクル数と、予め設定されているファーストレイテンシとに応じてウエイトサイクルを設定すると共に、設定した該ウエイトサイクルを前記クロック信号に同期してカウントするサイクルカウント部と、
前記バースト読み出し命令が入力されると、前記第１のデータの前記メモリ領域からの読み出しと、前記最初のアドレス境界直後に記憶されている第２のデータの前記メモリ領域からの読み出しとを連続して行い、前記サイクルカウント部のカウントが終了すると、前記第１のデータと前記第２のデータとを前記クロック信号に同期して連続したクロックサイクルで外部へのデータ出力を開始させるサイクル制御部と、
を備え、
前記アドレス境界は、
前記メモリセルアレイの構成により、１回の前記データの読み出しに含めることができないアドレスの境界である
ことを特徴とする半導体メモリ。
【請求項２】
前記サイクルカウント部は、
前記ファーストレイテンシを前記クロック信号に同期してカウントするファーストレイテンシカウンタと、
前記ファーストレイテンシのサイクル数と、前記第１のデータの出力に要するサイクル数とに基づいて、前記バースト読み出しに対応する前記データを外部へ出力するタイミングを前記クロック信号に同期してカウントする境界レイテンシカウンタと、
を備え、
前記ファーストレイテンシカウンタと前記境界レイテンシカウンタとを順に動作させて、前記バースト読み出し命令が入力されてから、該命令に対応したデータの出力を開始するまでのウエイトサイクルをカウントし、
前記境界レイテンシカウンタがカウントする値は、
前記第１のデータを出力する際に要するサイクル数が、前記第２のデータを前記メモリ領域から読み出す時間に対応するサイクル数以上の場合、「０」であり、前記第１のデータを出力する際に要するサイクル数が、前記第２のデータを読み出すサイクル数より小さい場合、前記第１のデータを出力する際に要するサイクル数と前記第２のデータを前記メモリ領域から読み出す時間に対応するサイクル数との差である、
ことを特徴とする請求項１に記載の半導体メモリ。
【請求項３】
前記ファーストレイテンシは、前記クロック信号の周期と前記メモリセルアレイのデータ読み出し時間に応じて設定される
ことを特徴とする請求項２に記載の半導体メモリ。
【請求項４】
前記境界レイテンシカウンタは、前記バースト読み出し命令に含まれるアドレスの下位ビットに応じて前記境界レイテンシが設定される
ことを特徴とする請求項２又は請求項３に記載の半導体メモリ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体メモリのデータ読み出し、特にバースト読み出し機能を備えた半導体メモリに関する。
【背景技術】
【０００２】
従来のフラッシュメモリにおけるメモリ領域に記憶されている一連のデータを連続して読み出すバースト読み出しは、外部から入力されるクロックに同期して、記憶されているデータを連続して読み出す動作であるが、アクセス時間が外部入力クロックに対して非同期に動作するフラッシュメモリでは、データを外部入力クロックに同期させて出力する構成が必要となる。
【０００３】
フラッシュメモリのメモリ領域を構成するメモリ素子からデータを読み出す場合、読み出し命令を入力してから、当該命令に対応する最初のデータがメモリ素子から読み出されるのに要する時間（アクセス時間）が経過するまでの待ち時間が発生する。そのため、バースト読み出しを示すバースト読み出し命令をフラッシュメモリに入力してから、当該命令に対応する最初のデータが出力されるまでの待ち時間を示すウエイトサイクル数を設定することで、フラッシュメモリと、当該フラッシュメモリに記憶されているデータを読み出す外部装置とを同期させる。なお、このウエイトサイクルをファーストレイテンシという。また、ファーストレイテンシは、（アクセス時間）／（外部入力クロックの周期）で算出される実数を含む最小の整数で定められる。そのため、外部入力クロックの周期に応じてファーストレイテンシを設定する必要がある。
【０００４】
また、バースト読み出し命令を行うフラッシュメモリでは、１度の読み出し動作により複数のデータを読み出して、読み出した複数のデータを出力している間に新たな複数のデータを読み出すことで、連続したデータの出力を行っている。
フラッシュメモリにはアドレス境界があり、アドレス境界は、メモリセルアレイの構成(ワード線及びビット線の構成)と、読み出したデータを制御するセンスアンプの構成に依存する。このアドレス境界をまたいで１度にメモリセルアレイからデータを読み出すことができず、アドレス境界を境にして、アドレス境界前のデータとアドレス境界後のデータとの２回に分けてデータを読み出すことになる。
【０００５】
バースト読み出し命令により、読み出すべき一連のデータの先頭アドレスによってアドレス境界前の有効データ（外部にバースト出力すべきデータ）の数が異なることから、アドレス境界前の読み出した有効データを出力するのに要する時間が、アドレス境界後のデータの読み出しに要する時間（アクセス時間）よりも短くなることがあり、この場合、データの読み出しの完了を待つためのウエイトサイクルが発生する。なお、以下において、このウエイトサイクルをワード境界ウエイトサイクルという。
また、フラッシュメモリは、バースト読み出しにおいて、読み出し開始における最初のアドレス境界において発生するワード境界ウエイトサイクルにより、データ出力待ち時間が発生する。なお、それ以降のアドレス境界においては、読み出したデータを出力している間に、次に出力するデータの読み出し、出力の準備を行うので、ワード境界ウエイトサイクルを発生させることなくデータを連続して出力する。
【０００６】
例えば、特許文献１に記載の半導体メモリでは、バースト読み出し命令が入力されてから最初の読み出しデータが出力されるまでの５サイクルのファーストレイテンシが発生し、その後、最初のアドレス境界に続くデータの読み出し完了を待つためにワード境界ウエイトサイクルが発生し、読み出したデータの出力がワード境界ウエイトサイクルの間、すなわち、最初のアドレス境界をまたいだデータの読み出しが完了するまで途切れている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００７−８０４１０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
上述のように、半導体メモリは、バースト読み出しの最中にワード境界ウエイトサイクルが生じると、半導体メモリからデータを読み出している外部装置が無効なデータを読み込まないように、出力しているデータが無効なデータであることを知らせる必要がある。そのため、半導体メモリは、出力しているデータが有効なデータであるか否かを示すためのレディ信号ＲＤＹなどを出力し、当該データの読み出す外部装置に有効なデータを出力していることを通知するハンドシェイクを用いたデータ伝送を行っている。
半導体メモリからデータを読み出す外部装置のインターフェイス回路は、ハンドシェイクを行うために複雑になると共に回路規模が増加して、高速化を妨げる問題がある。
【０００９】
本発明は、上記問題を解決すべくなされたもので、その目的は、バースト読み出し動作において、最初のアドレス境界により有効なデータを途切れることなくクロックに同期し連続して出力する半導体メモリを提供する。
【課題を解決するための手段】
【００１０】
上記問題を解決するために、本発明は、備えられたメモリセルアレイの連続するメモリ領域に記憶されているデータを入力されるクロック信号に同期して順次出力するバースト読み出しの機能を有する半導体メモリであって、前記バースト読み出し命令が入力されると、該バースト読み出し命令に含まれる開始アドレスから最初のアドレス境界までの前記メモリ領域から読み出した第１のデータを出力する際に要するクロックサイクル数と、予め設定されているファーストレイテンシとに応じてウエイトサイクルを設定すると共に、設定した該ウエイトサイクルを前記クロック信号に同期してカウントするサイクルカウント部と、前記バースト読み出し命令が入力されると、前記第１のデータの前記メモリ領域からの読み出しと、前記最初のアドレス境界直後に記憶されている第２のデータの前記メモリ領域からの読み出しとを連続して行い、前記サイクルカウント部のカウントが終了すると、前記第１のデータと前記第２のデータとを前記クロック信号に同期して連続したクロックサイクルで外部への出力を開始させるサイクル制御部と、を具備し、前記アドレス境界は、前記メモリセルアレイの構成により、１回の前記データの読み出しに含めることができないアドレスの境界であることを特徴とする半導体メモリである。
【００１１】
また、本発明は、上記記載の発明において、前記サイクルカウント部は、前記ファーストレイテンシを前記クロック信号に同期してカウントするファーストレイテンシカウンタと、前記ファーストレイテンシのサイクル数と、前記第１のデータの出力に要するサイクル数とに基づいて、前記バースト読み出しに対応する前記データを外部へ出力するタイミングを前記クロック信号に同期してカウントする境界レイテンシカウンタと、を備え、前記ファーストレイテンシカウンタと前記境界レイテンシカウンタとを順に動作させて、前記バースト読み出し命令が入力されてから、該命令に対応したデータの出力を開始するまでのウエイトサイクルをカウントし、前記境界レイテンシカウンタがカウントする値は、前記第１のデータを出力する際に要するサイクル数が、前記第２のデータを前記メモリ領域から読み出す時間に対応するサイクル数以上の場合、「０」であり、前記第１のデータを出力する際に要するサイクル数が、前記第２のデータを読み出すサイクル数より小さい場合、前記第１のデータを出力する際に要するサイクル数と前記第２のデータを前記メモリ領域から読み出す時間に対応するサイクル数との差である、ことを特徴とする。
【００１２】
また、本発明は、上記記載の発明において、前記ファーストレイテンシは、前記クロック信号の周期と前記メモリセルアレイのデータ読み出し時間に応じて設定されることを特徴とする。
【００１３】
また、本発明は、上記記載の発明において、前記境界レイテンシカウンタは、前記バースト読み出し命令に含まれるアドレスの下位ビットに応じて前記境界レイテンシが設定されることを特徴とする。
【発明の効果】
【００１４】
この発明により、半導体メモリは、サイクルカウント部が、入力されるバースト読み出し命令により指定される開始アドレスに応じたウエイトサイクルを算出して設定し、サイクル制御部が当該ウエイトサイクルに応じて読み出しデータの出力を制御する。開始アドレスに応じて設定されたウエイトサイクルは、バースト読み出しにおいて、最初に読み出すデータと、２回目に読み出すデータとの読み出しに必要なサイクル数であり、出力する第１のデータ及び第２のデータが用意できてから第１のデータを出力する。すなわち、サイクルカウント部は、アドレス境界直後の２回目に読み出すデータの読み出しに要するサイクル数と、最初に読み出す第１のデータを出力できるまでに要するウエイトサイクルとに応じたウエイトサイクルを設定し、当該ウエイトサイクルのカウントを行う。サイクル制御部は、サイクルカウント部がウエイトサイクルのカウントを行っている間に、第１のデータ及び第２のデータの読み出しを開始し、出力するべきデータを用意することで、最初のアドレス境界の前後に記憶されているデータを出力する際に、データを途切れさせることなくクロックに同期し連続して出力することが可能となる。
【図面の簡単な説明】
【００１５】
【図１】本実施形態における半導体メモリの構成を示す概略ブロック図である。
【図２】同実施形態におけるバースト制御部の構成を示した概略ブロック図である。
【図３】同実施形態における開始アドレスの下位４ビットが「１４」の場合のバースト読み出し動作の概略を示したタイミングチャートである。
【図４】同実施形態における開始アドレスの下位４ビットが「６」の場合のバースト読み出し動作の概略を示したタイミングチャートである。
【図５】同実施形態における開始アドレスの下位４ビットの値それぞれに対して、有効データ数と、データの出力開始までの総ウエイトサイクル数とを示す図である。
【発明を実施するための形態】
【００１６】
以下、本発明の一実施形態による半導体メモリ及び当該半導体メモリの動作を図面を参照して説明する。なお、本実施形態では、ブロックを１６ワードとし、読み出し単位を８ワードとして説明する。また、半導体メモリ１００の特徴は、バースト読み出しが入力されてからデータを出力するまでの間に、ファーストレイテンシとワード境界ウエイトサイクルとをまとめてウエイトサイクルとしてカウントし、当該ウエイトサイクルをカウントしている間に最初のアドレス境界前後のデータ読み出しを行うことで出力するデータを用意し、データの出力を開始後には、毎クロックサイクルにおいてデータを連続して出力させることにある。
【００１７】
図１は、本実施形態による半導体メモリ１００を示す概略ブロック図である。
半導体メモリ１００は、入力バッファ１、アドレスラッチ２、バースト制御部３、アドレス制御部４、ローデコーダ５及びメモリセルアレイ６を含み構成されるメモリバンク７−０、７−１、…、７−ｎ、カラムデコーダ８、センスアンプ・センスデータラッチ９、イネーブル制御部１０、２ワードデータラッチ１２−０〜１２〜３を含み構成される８ワードデータラッチ１１、ページセレクタ１３、出力ラッチ１４、データセレクタ１５、データ出力制御部１６、及び、レディ出力制御部１７を具備する。
なお、半導体メモリ１００のアドレス境界は１６ワードごとにある。また、１ワードは、１６ビット幅のデータである。また、半導体メモリ１００において、バースト読み出し命令は、バースト読み出しの開始アドレスを示す外部アドレスと、当該外部アドレスが有効であることを示すアドレスバリッド信号ＡＤＶＢとからなる。また、メモリバンク７−０、７−１、…、７−ｎは、同じ構成を有しており、以下、メモリバンク７−０、７−１、…、７−ｎのいずれか、あるいは、全てを代表して示す場合にはメモリバンク７という。
【００１８】
イネーブル制御部１０は、外部から入力されるチップイネーブル信号ＣＥＢ、アウトプットイネーブル信号ＯＥＢを波形整形等の処理を行い出力する。ここで、イネーブル制御部１０は、「Ｌ」レベルのチップイネーブル信号ＣＥＢと、「Ｌ」レベルのアウトプットイネーブル信号ＯＥＢとが共に入力されると、入力バッファ１に活性化状態となる「Ｈ」レベルのチップ選択信号ＣＳと、バースト制御部３に活性化状態となる「Ｈ」レベルの出力選択信号ＯＳを出力する。
【００１９】
入力バッファ１は、外部から入力されるアドレスバリッド信号ＡＤＶＢ、外部クロック信号、外部アドレス信号（例えば、Ａ０〜Ａ２２）を波形整形等の処理を行う。また、入力バッファ１は、入力された信号から、アドレス有効信号ＡＤＶＳ、内部クロック信号ＣＬＫ、アドレスラッチ信号ＡＬＡＴ、アドレスＡＤを出力する。
ここで、入力バッファ１は、イネーブル制御部１０から活性化状態を示す「Ｈ」レベルのチップ選択信号ＣＳが入力されることにより、外部クロック信号とアドレスバリッド信号ＡＤＶＢとからアドレス有効信号ＡＤＶＳを生成し、入力された外部クロック信号を内部クロック信号ＣＬＫとして出力し、入力された外部アドレス信号をアドレスＡＤとして出力し、入力されるアドレス有効信号ＡＤＶＳに基づいてアドレスラッチ２にアドレスＡＤをラッチするタイミングを示すアドレスラッチ信号ＡＬＡＴを出力する。
【００２０】
アドレスラッチ２は、入力バッファ１から入力されるアドレスＡＤを、入力バッファ１により出力されるアドレスラッチ信号ＡＬＡＴにより示されるタイミングでラッチする。
バースト制御部３は、アドレスラッチ２から入力されるラッチアドレスＬＡＤをバースト読み出しの先頭アドレス（スタートアドレス、開始アドレス）とし、先頭アドレス（Ａ０〜Ａ２２）の上位ビットをバーストアドレスＢＡＤとしてアドレス制御部４に出力する。ここで、先頭アドレスの上位ビットとは、８ワード単位の読み出しを対象とする場合、下位３ビットを省いた上位ビットであり、１６ワード単位の読み出しを対象とする場合、下位４ビットを省いた上位ビットである。また、バースト制御部３は、バースト読み出しを行う場合、バーストアドレスＢＡＤを、後述するタイミングにて内部クロックに同期して「１」インクリメントして新たなバーストアドレスＢＡＤとして出力する。
また、バースト制御部３は、内部クロック信号ＣＬＫに同期して、ワードデータラッチ信号ＤＬ０〜ＤＬ３、ページコントロール信号ＰＣ、ウエイト信号ＷＡＩＴを生成して出力し、さらに、電源供給開始などにおける初期設定を行う際に設定されたアクセスモード（外部クロック信号に同期してデータを連続して出力するバーストアクセスモード、又は、外部クロック信号に同期せずに１ワードのデータを出力するランダムアクセスモード）に応じて、同期・非同期セレクト信号ＳＥＬを生成して出力する。また、バースト制御部３は、開始アドレスの下位４ビットの値が「２〜７」のとき、１６ワード境界信号を「Ｈ」レベルにし、開始アドレスと異なるブロックにアクセスして、アドレス境界を越えたときに「Ｌ」レベルにする。
【００２１】
アドレス制御部４は、バースト制御部３から入力されるバーストアドレスＢＡＤとラッチアドレスＬＡＤとのいずれかを選択してデコードし、ローアドレスＲＡＤを各メモリバンク７に備えられるローデコーダ５に出力すると共にカラムアドレスＣＡＤをカラムデコーダ８に出力する。ここで、アドレス制御部４は、アクセスモードがバーストアクセスモードのとき、バーストアドレスＢＡＤを選択し、アクセスモードがランダムアクセスモードのとき、ラッチアドレスＬＡＤを選択する。
また、アドレス制御部４は、選択したバーストアドレスＢＡＤ又はラッチアドレスＬＡＤの変化を検出すると、メモリバンク７からデータを読み出すのに要する時間（アクセス時間）が経過した後に、「Ｈ」レベルのラッチコントロール信号ＬＣをセンスアンプ・センスデータラッチ９に出力して、センスアンプ・センスデータラッチ９にカラムデコーダ８から出力されたデータをラッチさせる。ここで、アクセス時間は、ローデコーダ５、メモリセルアレイ６、カラムデコーダ８、及び、センスアンプ・センスデータラッチ９が処理に要する時間に相当する。
【００２２】
メモリバンク７は、ローデコーダ５とメモリセルアレイ６とを含み構成される。メモリセルアレイ６は、複数のメモリセル（メモリ素子）がマトリックス状に配置されて形成されている。メモリセルは、Ｍ×Ｎ（Ｍ、Ｎは整数であり、例えば、Ｍは２であり、Ｎは８である）本の読み出し線ごとのブロックに分割されており、このブロックをまたいで一度にアクセスすることができない。ローデコーダ５は、アドレス制御部４から入力されたローアドレスＲＡＤをデコードし、メモリセルアレイ６において、ローアドレスＲＡＤの示すメモリ領域のメモリセル（例えば、８ワード単位、１ワード＝１６ビット）を選択する。
【００２３】
カラムデコーダ８は、アドレス制御部４から入力されたカラムアドレスＣＡＤをデコードして、メモリバンク７−０、…、７−ｎのうちいずれか１つのメモリバンク７から出力されるデータを選択し、選択したデータをセンスアンプ・センスデータラッチ９に出力する。
センスアンプ・センスデータラッチ９は、アドレス制御部４から入力されるラッチコントロール信号ＬＣに応じて、カラムデコーダ８から出力されるデータをラッチする。ここで、センスアンプ・センスデータラッチ９は、開始アドレスに応じて次のように、データをラッチする。
センスアンプ・センスデータラッチ９は、開始アドレスの下位４ビットが「０〜１」のとき、読み出されるブロックの中からアドレスの下位４ビットが「０〜７」に対応するデータをラッチし、開始アドレスの下位４ビットが「２〜３」のとき、読み出されるブロックの中からアドレスの下位４ビットが「２〜９」に対応するデータをラッチし、開始アドレスの下位４ビットが「４〜５」のとき、読み出されるブロックの中からアドレスの下位４ビットが「４〜１１」に対応するデータをラッチし、開始アドレスの下位４ビットが「６〜７」のとき、読み出されるブロックの中からアドレスの下位４ビットが「６〜１３」に対応するデータをラッチし、開始アドレスの下位４ビットが「８〜１５」のとき、読み出されるブロックの中からアドレスの下位４ビットが「８〜１５」に対応したデータをラッチする。
【００２４】
８ワードデータラッチ１１は、２ワードデータラッチ１２−０〜１２−３を含み構成される。２ワードデータラッチ１２−０〜１２−３は、バースト制御部３が出力するワードデータラッチ信号ＤＬ０〜ＤＬ３に応じて、それぞれ２ワード幅（３２ビット幅）のデータをラッチする。ここで、２ワードデータラッチ１２−０には、センスアンプ・センスデータラッチ９が出力するセンスアンプデータＳＡＤ［１２７：０］のうちのセンスアンプデータＳＡＤ［３１：０］（ＳＡＤ０）が入力される。また、２ワードデータラッチ１２−１には、センスアンプ・センスデータラッチ９が出力するセンスアンプデータＳＡＤ［１２７：０］のうちのセンスアンプデータＳＡＤ［６３：３２］（ＳＡＤ１）が入力される。また、２ワードデータラッチ１２−２には、センスアンプ・センスデータラッチ９が出力するセンスアンプデータＳＡＤ［１２７：０］のうちのセンスアンプデータＳＡＤ［９５：６４］（ＳＡＤ２）が入力される。また、２ワードデータラッチ１２−３には、センスアンプ・センスデータラッチ９が出力するセンスアンプデータＳＡＤ［１２７：０］のうちのセンスアンプデータＳＡＤ［１２７：９６］（ＳＡＤ３）が入力される。
【００２５】
なお、読み出すデータに対応するアドレスの下位４ビットが「０〜１」の場合、バースト読み出し動作において、２ワードデータラッチ１２−０には、アドレス下位４ビットの値が「０〜１」に対応したデータ、例えば、「Ｄ０、Ｄ１」がラッチされ、２ワードデータラッチ１２−１には、アドレス下位４ビットの値が「２〜３」に対応したデータ、例えば、「Ｄ２、Ｄ３」がラッチされ、２ワードデータラッチ１２−２には、アドレス下位４ビットの値が「４〜５」に対応したデータ、例えば、「Ｄ４、Ｄ５」がラッチされ、２ワードデータラッチ１２−３には、アドレス下位４ビットの値が「６〜７」に対応したデータ、例えば、「Ｄ６、Ｄ７」がラッチされる。
また、読み出すデータに対応するアドレスの下位４ビットが「２〜３」の場合バースト読み出し動作において、２ワードデータラッチ１２−０には、アドレス下位４ビットの値が「８〜９」に対応したデータ、例えば、「Ｄ８、Ｄ９」がラッチされ、２ワードデータラッチ１２−１には、アドレス下位４ビットの値が「２〜３」に対応したデータ、例えば、「Ｄ２、Ｄ３」がラッチされ、２ワードデータラッチ１２−２には、アドレス下位４ビットの値が「４〜５」に対応したデータ、例えば、「Ｄ４、Ｄ５」がラッチされ、２ワードデータラッチ１２−３には、アドレス下位４ビットの値が「６〜７」に対応したデータ、例えば、「Ｄ６、Ｄ７」がラッチされる。
【００２６】
また、読み出すデータに対応するアドレスの下位４ビットが「４〜５」の場合バースト読み出し動作において、２ワードデータラッチ１２−０には、アドレス下位４ビットの値が「８〜９」に対応したデータ、例えば、「Ｄ８、Ｄ９」がラッチされ、２ワードデータラッチ１２−１には、アドレス下位４ビットの値が「１０〜１１」に対応したデータ、例えば、「Ｄ１０、Ｄ１１」がラッチされ、２ワードデータラッチ１２−２には、アドレス下位４ビットの値が「４〜５」に対応したデータ、例えば、「Ｄ４、Ｄ５」がラッチされ、２ワードデータラッチ１２−３には、アドレス下位４ビットの値が「６〜７」に対応したデータ、例えば、「Ｄ６、Ｄ７」がラッチされる。
また、読み出すデータに対応するアドレスの下位４ビットが「６〜７」の場合バースト読み出し動作において、２ワードデータラッチ１２−０には、アドレス下位４ビットの値が「８〜９」に対応したデータ、例えば、「Ｄ８、Ｄ９」がラッチされ、２ワードデータラッチ１２−１には、アドレス下位４ビットの値が「１０〜１１」に対応したデータ、例えば、「Ｄ１０、Ｄ１１」がラッチされ、２ワードデータラッチ１２−２には、アドレス下位４ビットの値が「１２〜１３」に対応したデータ、例えば、「Ｄ１２、Ｄ１３」がラッチされ、２ワードデータラッチ１２−３には、アドレス下位４ビットの値が「６〜７」に対応したデータ、例えば、「Ｄ６、Ｄ７」がラッチされる。
【００２７】
また、読み出すデータに対応するアドレスの下位４ビットが「８〜１５」の場合バースト読み出し動作において、２ワードデータラッチ１２−０には、アドレス下位４ビットの値が「８〜９」に対応したデータ、例えば、「Ｄ８、Ｄ９」がラッチされ、２ワードデータラッチ１２−１には、アドレス下位４ビットの値が「１０〜１１」に対応したデータ、例えば、「Ｄ１０、Ｄ１１」がラッチされ、２ワードデータラッチ１２−２には、アドレス下位４ビットの値が「１２〜１３」に対応したデータ、例えば、「Ｄ１２、Ｄ１３」がラッチされ、２ワードデータラッチ１２−３には、アドレス下位４ビットの値が「１４〜１５」に対応したデータ、例えば、「Ｄ１４、Ｄ１５」がラッチされる。
【００２８】
ページセレクタ１３は、バースト制御部３が出力するページコントロール信号ＰＣにより、８ワードデータラッチ１１から入力される８ワード幅のデータから１ワードを選択して、ページデータＰＤ［１５：０］として出力する。
出力ラッチ１４は、内部クロック信号ＣＬＫに同期して、例えば、内部クロック信号ＣＬＫの立ち上がりエッジに同期して、ページセレクタ１３の出力するページデータＰＤ［１５：０］を記憶する。
データセレクタ１５は、バースト制御部３が出力する同期・非同期セレクト信号ＳＥＬにより、出力ラッチ１４とページセレクタ１３とが出力する１ワード幅のデータのいずれかを選択する。また、データセレクタ１５は、アクセスモードがバーストアクセスモードのとき、出力ラッチ１４が出力するデータを選択して出力し、アクセスモードがランダムアクセスモードのとき、ページセレクタ１３が出力するページデータＰＤ［１５：０］を選択して出力する。
【００２９】
データ出力制御部１６は、バースト制御部３から入力されるアウトプットコントロール信号ＯＰＣにより、データセレクタ１５が出力するデータをアウトプットデータＯＵＴ［１５：０］として出力するか否かを選択する。ここで、データ出力制御部１６は、アウトプットコントロール信号が「Ｈ」レベルの場合、データセレクタ１５から出力されるデータをアウトプットデータＯＵＴ［１５：０］として出力端子に出力し、アウトプットコントロール信号ＯＰＣが「Ｌ」レベルの場合、出力をハイインピーダンスとする。
【００３０】
レディ出力制御部１７は、バースト制御部３から入力されるアウトプットコントロール信号ＯＰＣとウエイト信号ＷＡＩＴとの論理積を算出して、次のクロックサイクルにレディ信号ＲＤＹとして出力端子から外部に出力する。ここで、レディ信号ＲＤＹが「Ｈ」レベルのとき、有効なアウトプットデータＯＵＴ［１５：０］が出力されていることを示し、レディ信号ＲＤＹが「Ｌ」レベルのとき、無効なアウトプットデータＯＵＴ［１５：０］が出力されていることを示す。
【００３１】
次に、図２は、バースト制御部３の構成を示した概略ブロック図である。バースト制御部３は、有効データレジスタ書込部３８、ファーストレイテンシレジスタ３１、有効データレジスタ３２、レイテンシカウンタ書込部３７、データカウンタ書込部３９、境界カウンタ書込部４０、サイクルカウント部５１、及び、サイクル制御部５２を備えている。ここで、サイクルカウント部５１は、アドレスカウンタ３３、ファーストレイテンシカウンタ３４、データカウンタ３５、及び、１６ワード境界カウンタ３６（境界レイテンシカウンタ）を含み構成される。サイクル制御部５２は、アドレス変化検知部４１、ページラッチ信号生成部４２、ページコントロール信号生成部４３、及び、ウエイト信号生成部４４を含み構成され、バースト読み出し命令が入力されてから当該命令によるデータの出力が開始されるまでのサイクル数をカウントする。
【００３２】
バースト制御部３において、ファーストレイテンシレジスタ３１は、外部から入力されるファーストレイテンシのウエイトサイクル数から「１」を減算した値を記憶するレジスタである。このファーストレイテンシレジスタ３１への書き込みは、バースト読み出しなどが実際に行われるよりも前のタイミングで、不図示の制御回路により行われる。なお、以下において、ファーストレイテンシのウエイトサイクル数から「１」減算した値を、ウエイト計数初期値という。
なお、ファーストレイテンシによるウエイトサイクル数は、非同期のメモリバンク７からデータを読み出すための時間、すなわち、データを読み出すときにメモリアクセス完了するまでの待ち時間が設定される。また、バースト読み出しにおいては、バースト読み出し命令が入力された最初のクロック有効エッジから、データ出力開始又はデータ出力が確定するクロックの有効エッジまでのクロックサイクル数として設定されている。
【００３３】
有効データレジスタ３２は、メモリバンク７から読み出したデータのうち出力すべきデータである有効データの数から「１」を減算した値を記憶する。なお、以下、有効データ数から「１」減算した値をデータ計数初期値という。
アドレスカウンタ３３は、入力される内部クロック信号ＣＬＫに同期してアドレスラッチ２から入力されるラッチアドレスＬＡＤの下位３ビットを除いた上位ビットが記憶されると共に、バーストアドレスＢＡＤとして出力される。また、アドレスカウンタ３３は、ファーストレイテンシカウンタ３４のカウント値が「１」の場合と、ファーストレイテンシカウンタ３４のカウント値が「０」であり、且つ、データカウンタ３５のカウント値が「０」又は「８」の場合とに、入力される内部クロック信号ＣＬＫに同期してバーストアドレスＢＡＤを「１」インクリメントする。すなわち、アドレスカウンタ３３は、バースト読み出し動作に係る最初のデータの読み出しが完了した場合と、読み出した８ワードデータラッチ１１が保持している有効データがなくなると、カウント値のインクリメントを行う。
【００３４】
ファーストレイテンシカウンタ３４は、ファーストレイテンシのクロックサイクルをカウントする。バースト読み出しの開始における最初のメモリアクセスのアクセス時間に対応したクロックサイクル数をカウントするためにも利用する。ファーストレイテンシカウンタ３４は、ファーストレイテンシレジスタ３１に記憶されているウエイト計数初期値が初期値として書き込まれる。また、ファーストレイテンシカウンタ３４は、入力される内部クロック信号ＣＬＫの立ち上がりに同期して、カウント値が「０」になるまで「１」デクリメントする。
【００３５】
データカウンタ３５は、８ワードデータラッチ１１が保持しているデータが含まれるブロック（１６ワード単位）のうちの出力すべきデータ数をカウントし、入力される内部クロック信号ＣＬＫに同期して動作する。また、データカウンタ３５には、有効データレジスタ３２に記憶されているデータ計数初期値が初期値として書き込まれる。また、データカウンタ３５は、入力される内部クロック信号ＣＬＫに同期して、カウント値を「１」デクリメントする。なお、本実施形態においては、１度に１６ワードのデータを読み出して、８ワードデータラッチ１１とセンスアンプ・センスデータラッチ９とに読み出したデータを保持するので、０〜１５の値を記憶できるように４ビット幅のカウンタとなっており、「０」をデクリメントすると「１５」が設定される。すなわち、データカウンタ３５のカウント値は、「１５」→「１４」→…→「１」→「０」→「１５」→…→「１」→「０」→「１５」→…、と「１５」から「０」の値を繰り返す。
【００３６】
１６ワード境界カウンタ３６は、境界カウンタ書込部４０に初期値を書き込まれると共に、ファーストレイテンシカウンタ３４のカウント値が「０」の場合に、入力される内部クロック信号ＣＬＫの立ち上がりに同期してカウント値が「０」になるまで「１」デクリメントする。
レイテンシカウンタ書込部３７は、アドレスラッチ信号ＡＬＡＴ信号の立ち下りに同期して、ファーストレイテンシレジスタ３１に記憶されているウエイト計数初期値を読み込み、読み込んだウエイト計数初期値をファーストレイテンシカウンタ３４にカウント値の初期値として書き込む。
【００３７】
有効データレジスタ書込部３８は、バースト読み出し開始時に、あるいは、後述するデータカウンタ書込部３９が有効データレジスタ３２からデータ計数初期値を読み込んだときに、データ計数初期値の算出を開始し、算出が完了した時点で算出したデータ計数初期値を有効データレジスタ３２に書き込む。有効データレジスタ書込部３８は、有効データの数から「１」減算した値（データ計数初期値）を算出し、算出結果を有効データレジスタ３２に書き込む。
【００３８】
データカウンタ書込部３９は、アドレスバリッド信号ＡＤＶＢが「Ｌ」レベルの場合に、内部クロック信号ＣＬＫの立ち上がりに同期して、有効データレジスタ３２に記憶されているデータ計数初期値を読み込み、読み込んだデータ計数初期値をデータカウンタ３５に対してカウント値として書き込む。
境界カウンタ書込部４０は、アドレスバリッド信号ＡＤＶＢが「Ｌ」レベルの場合に、入力される内部クロック信号ＣＬＫの立ち上がりに同期して、１６ワード境界カウンタ３６の初期値を書き込む。ここで、境界カウンタ書込部４０が１６ワード境界カウンタ３６に書き込む初期値は、開始アドレスの下位４ビットの示す値が０〜７の場合、２回目に読み出すデータのうちの有効データ数をファーストレイテンシレジスタ３１に記憶されているウエイト計数初期値から減算した値であり、開始アドレスの下位４ビットの示す値が８〜１５の場合、１回目に読み出すデータのうちの有効データの数をファーストレイテンシレジスタ３１に記憶されているウエイト計数初期値から減算した値である。なお、減算した結果が負の値になる場合、境界カウンタ書込部４０は、「０」を初期値として１６ワード境界カウンタ３６に書き込む。
【００３９】
ワード境界ウエイトサイクルが発生するか否かは、開始アドレスの下位４ビットの示す値が０〜７の場合、２回目に読み出すデータに含まれる有効データ数に依存し、開始アドレスの下位４ビットの示す値が８〜１５の場合、１回目に読み出すデータに含まれる有効データ数に依存するので、境界カウンタ書込部４０は、当該有効データ数に応じたウエイトサイクル数を算出して、１６ワード境界カウンタ３６の初期値とする。
【００４０】
アドレス変化検知部４１は、バーストアドレスＢＡＤの変化を検出して、ワンショットのパルス信号であるアドレス遷移信号ＡＴＤを生成して出力する。
ページラッチ信号生成部４２は、出力するワードデータラッチ信号ＤＬ０〜ＤＬ３により、メモリセルアレイ７から読み出されてセンスアンプ・センスデータラッチ９にラッチされているワードデータを８ワードデータラッチ１１にラッチさせる制御を行う。なお、２ワードデータラッチ１２−０は、ワードデータラッチ信号ＤＬ０が「Ｌ」レベルのとき、ラッチしているデータを出力し、ワードデータラッチ信号ＤＬ０が「Ｈ」レベルのとき、センスアンプ・センスデータラッチ９から入力されるＳＡＤ［３１：０］を出力する。
【００４１】
また、ページラッチ信号生成部４２は、以下に示す条件１又は条件２が満たされる場合、ワードデータラッチ信号ＤＬ０〜ＤＬ３を入力される内部クロック信号ＣＬＫの立ち上がりに同期して「Ｈ」レベルから「Ｌ」レベルに遷移させる。条件１は、ファーストレイテンシカウンタ３４のカウント値が「１」である。条件２は、ファーストレイテンシカウンタ３４のカウント値が「０」であり、且つ、データカウンタ３５のカウント値が「０」又は「８」である。
また、ページラッチ信号生成部４２は、以下に示す条件３又は条件４が満たされる場合、ワードデータラッチ信号ＤＬ０〜ＤＬ３を入力される内部クロック信号ＣＬＫの立ち上がりに同期して「Ｌ」レベルから「Ｈ」レベルに遷移させる。条件３は、ファーストレイテンシカウンタ３４のカウント値及び１６ワード境界カウンタ３６のカウント値が共に「０」であり、且つ、データカウンタ３５のカウント値が「１」又は「９」である。条件４は、「Ｌ」レベルのアドレスバリッド信号ＡＤＶＢが入力されることである。
【００４２】
ただし、ページラッチ信号生成部４２は、１６ワード境界信号が「Ｈ」レベル、かつ、アドレスの下位４ビットが「２〜７」の場合、ワードデータラッチ信号ＤＬ０の「Ｌ」レベルから「Ｈ」レベルへの遷移を行わず、１６ワード境界信号が「Ｈ」レベル、かつ、アドレスの下位４ビットが「４〜７」の場合、ワードデータラッチ信号ＤＬ１の「Ｌ」レベルから「Ｈ」レベルへの遷移を行わず、１６ワード境界信号が「Ｈ」レベル、かつ、アドレスの下位４ビットが「６〜７」の場合、ワードデータラッチ信号ＤＬ２の「Ｌ」レベルから「Ｈ」レベルへの遷移を行わない。
【００４３】
ページコントロール信号生成部４３は、ページコントロール信号ＰＣを１３に出力して、ページセレクタ１３が８ワードデータラッチ１１から出力される８ワードのデータのうちいずれかの１ワードを選択する制御をする。ページコントロール信号生成部４３は、３ビット幅のページ選択カウンタを有しており、ページ選択カウンタの初期値として開始アドレスの下位３ビットを読み込む。ページコントロール信号生成部４３は、ファーストレイテンシカウンタ３４のカウント値と１６ワード境界カウンタ３６のカウント値との和が「１」以下になると、入力される内部クロック信号ＣＬＫの立ち上がりに同期してページ選択カウンタを「１」インクリメントする。ページコントロール信号生成部４３は、ページ選択カウンタのカウント値に応じて、ページセレクタ１３に選択させる１ワードを決定する。ページコントロール信号生成部４３は、カウント値が「０」、「１」、「２」、…、「７」それぞれに応じて、ＷＬＤ［１５：０］、ＷＬＤ［３１：１６］、ＷＬＤ［４７：３２］、…、ＷＬＤ［１２７：１１２］が選択されるページコントロール信号ＰＣ「Ｐ０」、「Ｐ１」、「Ｐ２」、…、「Ｐ７」を出力して、ページセレクタ１３の制御を行う。例えば、ページコントロール信号生成部４３は、ページ選択カウンタのカウント値が「６」の場合、８ワードデータＷＬＤ［１２７：０］の下位から７番目に該当するＷＬＤ［１１１：９６］の１ワードを選択するページコントロール信号ＰＣ「Ｐ６」を出力する。
【００４４】
ウエイト信号生成部４４は、アドレスラッチ信号ＡＬＡＴの立ち下りに同期して、ウエイト信号ＷＡＩＴを「Ｈ」レベルにする。また、ウエイト信号生成部４４は、１６ワード境界カウンタ３６のカウント値が「１」のとき、入力される内部クロック信号ＣＬＫの立ち上がりに同期してウエイト信号ＷＡＩＴを「Ｌ」レベルにする。
また、ウエイト信号生成部４４は、「Ｈ」レベルの出力制御信号ＯＣが入力され、且つ、ファーストレイテンシカウンタ３４のカウント値と１６ワード境界カウンタ３６のカウント値とが共に「０」になると、出力端子からアウトプットデータＯＵＴ［１５：０］を出力することを示す「Ｈ」レベルのアウトプットコントロール信号ＯＰＣを出力する。
【００４５】
（半導体メモリ１００の動作１）
以下、上述した半導体メモリ１００のバースト読み出しの動作について、図３及び図４を用いて説明する。なお、図３及び図４では、アクセスモードがバーストアクセスモードであり、ファーストレイテンシが６サイクルを例として説明する。
図３は、開始アドレスの下位４ビットが「１４」の場合におけるバースト読み出し動作の概略を示したタイミングチャートである。
時刻ｔ１００からの１クロックサイクルにおいて、入力バッファ１には、下位４ビットが「４」を示す外部アドレス信号が入力される。また、入力バッファ１は、入力されたアドレスバリッド信号ＡＤＶＢが「Ｈ」レベルから「Ｌ」レベルに遷移することにより、アドレスラッチ信号ＡＬＡＴを立ち上げ、立ち上げた後に続く内部クロック信号ＣＬＫの立ち上がりに同期してアドレスラッチ信号ＡＬＡＴを立ち下げる。
【００４６】
時刻ｔ１０１からの１クロックサイクルにおいて、外部から外部アドレス「１４」が入力されると共に、外部アドレスが有効な値であることを示す「Ｌ」レベルのアドレスバリッド信号ＡＤＶＢが入力される。入力バッファ１は、「Ｌ」レベルのアドレスバリッド信号ＡＤＶＢが入力されると、アドレスラッチ信号ＡＬＡＴを「Ｈ」レベルにしてアドレスラッチ２をスルー状態にする。
【００４７】
アドレスカウンタ３３は、内部クロック信号ＣＬＫの立ち上がりに同期して、アドレスラッチ２が出力するラッチアドレスＬＡＤの下位３ビットを除いた（Ａ２２〜Ａ３）を初期値として記憶すると共に、記憶したアドレスをバーストアドレスＢＡＤとしてアドレス制御部４に出力する。
アドレス制御部４は、アドレスカウンタ３３が出力したバーストアドレスＢＡＤの変化を検出し、バーストアドレスＢＡＤをデコードして、ローアドレスＲＡＤをメモリバンク７それぞれが有するローデコーダ５に出力すると共に、カラムアドレスＣＡＤ「Ｃ８」をカラムデコーダ８に出力する。
【００４８】
また、時刻ｔ１０１において、レイテンシカウンタ書込部３７は、ファーストレイテンシレジスタ３１に記憶されているウエイト計数初期値「５」を読み出して、ファーストレイテンシカウンタ３４に書き込んで記憶させる。また、ウエイト信号生成部４４は、アドレスラッチ信号ＡＬＡＴの立ち下りに同期して、ウエイト信号ＷＡＩＴを「Ｈ」レベルにする。
ページラッチ信号生成部４２は、「Ｌ」レベルのアドレスバリッド信号ＡＤＶＢが入力されると、内部クロック信号ＣＬＫの立ち上がりに同期して、ワードデータラッチ信号ＤＬ０〜ＤＬ３を「Ｈ」レベルにする。また、ページコントロール信号生成部４３は、開始アドレスの下位３ビット「１１０」をページ選択カウンタの初期値として記憶し、対応する「Ｐ６」のページコントロール信号ＰＣを出力する。
また、時刻ｔ１０１からの１クロックサイクルにおいて、外部から入力されるアドレスバリッド信号ＡＤＶＢは、「Ｈ」レベルになる。すなわち、入力されている外部アドレスは、無効な値になる。
【００４９】
また、時刻ｔ１０１において、境界カウンタ書込部４０は、アドレスバリッド信号ＡＤＶＢが「Ｌ」レベルの場合に、内部クロック信号ＣＬＫの立ち上がりに同期して１６ワード境界カウンタ３６に「３」（（ファーストレイテンシサイクル数）−１）−（２回目に読み出すデータのうちの有効データ数））を書き込み記憶させる。
データカウンタ書込部３９は、アドレスバリッド信号ＡＤＶＢが「Ｌ」レベルの場合に、内部クロック信号ＣＬＫの立ち上がりに同期してデータカウンタ３５に「１」（有効データ数−１）を書き込み記憶させる。
時刻ｔ１０２において、ファーストレイテンシカウンタ３４は、内部クロック信号ＣＬＫに同期して、カウント値のデクリメントを行い、カウント値を「５」から「４」にする。以降、時刻ｔ１０６まで、内部クロック信号ＣＬＫの立ち上がりに同期して、デクリメントする（「４」→「３」→「２」→「１」→「０」）。
【００５０】
時刻ｔ１０４からの１クロックサイクルにおいて、アドレス制御部４は、ローアドレスＲＡＤとカラムアドレスＣＡＤ「Ｃ８」とを出力してからアクセス時間経過しているので、「Ｈ」レベルのラッチコントロール信号ＬＣをセンスアンプ・センスデータラッチ９に出力する。センスアンプ・センスデータラッチ９は、「Ｈ」レベルのラッチコントロール信号ＬＣが入力されてスルー状態になり、カラムデコーダ８により選択された８ワードのデータ「Ｄ８−Ｄ１５」を８ワードデータラッチ１１に出力する。このデータ「Ｄ８−Ｄ１５」は、カラムアドレスＣＡＤ「Ｃ８」により、カラムデコーダ８がメモリバンク７から読み出されたデータから選択した８ワードのデータである。
【００５１】
８ワードデータラッチ１１は、ワードデータラッチ信号ＤＬ０〜ＤＬ３が「Ｈ」の場合に、センスアンプ・センスデータラッチ９から入力されたセンスアンプデータＳＡＤ［１２７：０］「Ｄ８−Ｄ１５」を８ワードデータＷＬＤ［１２７：０］としてページセレクタ１３に出力する。さらに、ページセレクタ１３は、バースト制御部３から出力された下位から６ワード目を選択する「Ｐ６」のページコントロール信号ＰＣにより、８ワードデータＷＬＤ［１２７：０］「Ｄ８−Ｄ１５」からデータ「Ｄ１４」を選択して出力する。データセレクタ１５は、バースト制御部３から出力された同期・非同期セレクト信号ＳＥＬにより、出力ラッチ１４が出力する内部クロック信号ＣＬＫに同期して変化するデータを選択して、セレクトデータＳＤ［１５：０］としてデータ「Ｄ１４」をデータ出力制御部１６に出力する。このとき、データ出力制御部１６は、バースト制御部３から「Ｌ」レベルのアウトプットコントロール信号ＯＰＣが入力されているので、出力はハイインピーダンス状態で無効なデータが出力されている。
【００５２】
時刻ｔ１０５において、アドレス制御部４は、内部クロック信号ＣＬＫの立ち上がりに同期してラッチコントロール信号ＬＣを「Ｌ」レベルにする。出力ラッチ１４は、内部クロック信号ＣＬＫの立ち上がりに同期して、ページセレクタ１３が出力するページデータＰＤ［１５：０］「Ｄ１４」をラッチする。
【００５３】
時刻ｔ１０６において、アドレスカウンタ３３は、最初のメモリアクセスにより読み出された８ワードのデータが８ワードデータラッチ１１に保持されている状態、すなわち、ファーストレイテンシカウンタ３４のカウント値が「１」の場合に、内部クロック信号ＣＬＫの立ち上がりに同期して記憶しているアドレスを「１」インクリメントし、次に読み出すデータ（８ワード単位）が記憶されているアドレスを示すバーストアドレスＢＡＤとして出力する。
アドレス制御部４は、アドレスカウンタ３３が出力したバーストアドレスＢＡＤの変化を検出し、バーストアドレスＢＡＤをデコードして、ローアドレスＲＡＤをメモリバンク７それぞれが有するローデコーダ５に出力すると共に、「Ｃ１６」を示すカラムアドレスＣＡＤをカラムデコーダ８に出力する。
【００５４】
また、時刻ｔ１０６において、ページラッチ信号生成部４２は、ファーストレイテンシカウンタ３４のカウント値が「１」の場合に、内部クロック信号ＣＬＫの立ち上がりに同期して２ワードデータラッチ信号ＤＬ３〜ＤＬ０を「Ｌ」レベルにする。
【００５５】
時刻ｔ１０７において、１６ワード境界カウンタ３６は、ファーストレイテンシカウンタ３４のカウント値が「０」の場合に、内部クロック信号ＣＬＫの立ち上がりに同期してカウント値を「１」デクリメントしてカウント値を「２」に更新する。
【００５６】
時刻ｔ１０８において、１６ワード境界カウンタ３６は、ファーストレイテンシカウンタ３４のカウント値が「０」の場合に、内部クロック信号ＣＬＫの立ち上がりに同期してカウント値を「１」デクリメントしてカウント値を「１」に更新する。
【００５７】
時刻ｔ１０９において、ウエイト信号生成部４４は、１６ワード境界カウンタ３６のカウント値が「１」の場合に、内部クロック信号ＣＬＫの立ち上がりに同期してウエイト信号ＷＡＩＴを「Ｌ」レベルにする。
ページコントロール信号生成部４３は、ファーストレイテンシカウンタ３４のカウンタ値と１６ワード境界カウンタ３６のカウンタ値との和が「１」以下の場合に、「１」インクリメントして、カウンタ値を「６」から「７」に更新し、ページ選択カウンタに応じてページコントロール信号ＰＣを「Ｐ６」から「Ｐ７」に変化させる。ページコントロール信号生成部４３は、以後、内部クロック信号ＣＬＫが立ち上がるごとにカウント値を「１」デクリメントして、ページ選択カウンタのカウンタ値に対応するページコントロール信号ＰＣを「Ｐ７」、「Ｐ０」、…、と変化させてページセレクタ１３に出力する。
【００５８】
ウエイト信号生成部４４は、ファーストレイテンシカウンタ３４のカウント値と１６ワード境界カウンタ３６のカウンタ値とが共に「０」の場合に、「Ｈ」レベルのアウトプットコントロール信号ＯＰＣをデータ出力制御部１６とレディ出力制御部１７とに出力する。
ページセレクタ１３は、ページコントロール信号生成部４３から「Ｐ７」のページコントロール信号ＰＣが入力され、８ワードデータラッチ１１から入力されているデータ「Ｄ１５−Ｄ８」の下位から８番目のデータ「Ｄ１５」をページデータＰＤ［１５：０］として出力する。
データ出力制御部１６は、ウエイト信号生成部４４から「Ｈ」レベルのアウトプットコントロール信号ＯＰＣが入力されている場合に、データセレクタ１５を経由して出力ラッチ１４に保持されているデータ「Ｄ１４」をアウトプットデータＯＵＴ［１５：０］として外部に出力する。
【００５９】
また、時刻ｔ１０９からの１クロックサイクルにおいて、アドレス制御部４は、ローアドレスＲＡＤとカラムアドレスＣＡＤ「Ｃ１６」とを出力してからアクセス時間経過しているので、「Ｈ」レベルのラッチコントロール信号ＬＣをセンスアンプ・センスデータラッチ９に出力する。センスアンプ・センスデータラッチ９は、「Ｈ」レベルのラッチコントロール信号ＬＣが入力されてスルー状態になり、カラムデコーダ８により選択された８ワードのデータ「Ｄ１６−Ｄ２３」を８ワードデータラッチ１１に出力する。このデータ「Ｄ１６−Ｄ２３」は、カラムアドレスＣＡＤ「Ｃ１６」により、カラムデコーダ８がメモリバンク７から読み出されたデータから選択した８ワードのデータである。
１６ワード境界カウンタ３６は、ファーストレイテンシカウンタ３４のカウント値が「０」の場合に、内部クロック信号ＣＬＫの立ち上がりに同期してカウント値を「１」デクリメントしてカウント値を「０」に更新する。
【００６０】
時刻ｔ１１０において、出力ラッチ１４は、内部クロック信号ＣＬＫの立ち上がりに同期して、ページセレクタ１３が出力するページデータＰＤ［１５：０］「Ｄ１５」をラッチする。データ出力制御部１６は、ウエイト信号生成部４４から「Ｈ」レベルのアウトプットコントロール信号ＯＰＣが入力されている場合に、データセレクタ１５を経由して出力ラッチ１４に保持されているデータ「Ｄ１５」をアウトプットデータＯＵＴ［１５：０］として外部に出力する。
データカウンタ３５は、ファーストレイテンシカウンタ３４のカウント値と、１６ワード境界カウンタ３６のカウント値とが共に「０」の場合に、カウント値を「１」デクリメントして、カウント値を「０」に更新する。なお、データカウンタ３５は、以後、内部クロック信号ＣＬＫが立ち上がるごとにカウント値を「１」デクリメントする。
アドレス制御部４は、内部クロック信号ＣＬＫの立ち上がりに同期してラッチコントロール信号ＬＣを「Ｌ」レベルにして、センスアンプ・センスデータラッチ９に読み出したデータ「Ｄ１６−Ｄ２３」をラッチさせる。
【００６１】
ページラッチ信号生成部４２は、ファーストレイテンシカウンタ３４のカウント値と１６ワード境界カウンタ３６のカウント値とが共に「０」であり、且つ、データカウンタ３５のカウント値が「１」の場合に、ワードデータラッチ信号ＤＬ０〜ＤＬ３を「Ｈ」レベルにして、８ワードデータラッチ１１をスルー状態にする。８ワードデータラッチ１１は、センスアンプ・センスデータラッチ９から入力されたデータ「Ｄ１６−Ｄ２３」をページセレクタ１３に出力する。
ページセレクタ１３は、ページコントロール信号生成部４３から入力されるページコントロール信号「Ｐ０」により、８ワードデータとして入力されているデータ「Ｄ１６−Ｄ２３」から下位から１番目のデータ「Ｄ１６」を選択し、ページデータＰＤ［１５：０］としてデータ「Ｄ１６」を出力する。
【００６２】
時刻ｔ１１１において、出力ラッチ１４は、内部クロック信号ＣＬＫの立ち上がりに同期して、ページセレクタ１３が出力するページデータＰＤ［１５：０］「Ｄ１６」をラッチする。データ出力制御部１６は、ウエイト信号生成部４４から「Ｈ」レベルのアウトプットコントロール信号ＯＰＣが入力されている場合に、データセレクタ１５を経由して出力ラッチ１４に保持されているデータ「Ｄ１６」をアウトプットデータＯＵＴ［１５：０］として外部に出力する。
アドレスカウンタ３３は、ファーストレイテンシカウンタ３４のカウント値が「０」であり、且つ、データカウンタ３５のカウント値が「０」の場合に、内部クロック信号ＣＬＫに同期してバーストアドレスＢＡＤを「１」インクリメントして更新し、更新したバーストアドレスＢＡＤをアドレス制御部４に出力する。
アドレス制御部４は、アドレスカウンタ３３が出力したバーストアドレスＢＡＤの変化を検出し、バーストアドレスＢＡＤをデコードして、ローアドレスＲＡＤをメモリバンク７それぞれが有するローデコーダ５に出力すると共に、「Ｃ２４」を示すカラムアドレスＣＡＤをカラムデコーダ８に出力する。
【００６３】
ページラッチ信号生成部４２は、ファーストレイテンシカウンタ３４のカウント値が「０」であり、且つ、データカウンタ３５のカウント値が「０」の場合に、ワードデータラッチ信号ＤＬ０〜ＤＬ３を「Ｌ」レベルにして、８ワードデータラッチ１１にデータ「Ｄ１６−Ｄ２３」をラッチさせる。
ページセレクタ１３は、ページコントロール信号生成部４３の出力するページコントロール信号ＰＣが「Ｐ１」に変化したのに応じて、８ワードデータＷＬＤ［１２７：０］「Ｄ１６−Ｄ２３」からデータ「Ｄ１７」を選択して出力する。
【００６４】
時刻ｔ１１２から時刻ｔ１１４までにおいて、出力ラッチ１４は、ページセレクタ１３が順に出力するページデータＰＤ［１５：０］を内部クロック信号ＣＬＫの立ち上がりに同期してラッチして順に出力する（「Ｄ１７」→「Ｄ１８」→「Ｄ１９」）。
データ出力制御部１６は、ウエイト信号生成部４４から「Ｈ」レベルのアウトプットコントロール信号ＯＰＣが入力されている場合に、データセレクタ１５を経由して出力ラッチ１４に保持されているデータを順にアウトプットデータＯＵＴ［１５：０］として外部に出力する（「Ｄ１７」→「Ｄ１８」→「Ｄ１９」）。
ページセレクタ１３は、ページコントロール信号生成部４３の出力するページコントロール信号ＰＣが変化するのに応じて、８ワードデータＷＬＤ［１２７：０］「Ｄ１６−Ｄ２３」からデータ「Ｄ１８」、「Ｄ１９」、「Ｄ２０」と順に選択して、出力する。
【００６５】
時刻ｔ１１４からの１クロックサイクルにおいて、アドレス制御部４は、ローアドレスＲＡＤとカラムアドレスＣＡＤ「Ｃ１６」とを出力してからアクセス時間経過しているので、「Ｈ」レベルのラッチコントロール信号ＬＣをセンスアンプ・センスデータラッチ９に出力する。センスアンプ・センスデータラッチ９は、「Ｈ」レベルのラッチコントロール信号ＬＣが入力されてスルー状態になり、カラムデコーダ８により選択された８ワードのデータ「Ｄ１６−Ｄ２３」を８ワードデータラッチ１１に出力する。このデータ「Ｄ２４−Ｄ３１」は、カラムアドレスＣＡＤ「Ｃ２４」により、カラムデコーダ８がメモリバンク７から読み出されたデータから選択した８ワードのデータである。
【００６６】
時刻ｔ１１５において、アドレス制御部４は、内部クロック信号ＣＬＫの立ち上がりに同期してラッチコントロール信号ＬＣを「Ｌ」レベルにする。
また、時刻ｔ１１５から時刻ｔ１１７までにおいて、ページセレクタ１３は、ページコントロール信号生成部４３の出力するページコントロール信号ＰＣが変化するのに応じて、８ワードデータＷＬＤ［１２７：０］「Ｄ１６−Ｄ２３」からデータ「Ｄ２１」、「Ｄ２２」、「Ｄ２３」と順に選択して、出力する。
出力ラッチ１４は、ページセレクタ１３が順に出力するページデータＰＤ［１５：０］を内部クロック信号ＣＬＫの立ち上がりに同期してラッチして順に出力する（「Ｄ２０」→「Ｄ２１」→「Ｄ２２」）。
データ出力制御部１６は、ウエイト信号生成部４４から「Ｈ」レベルのアウトプットコントロール信号ＯＰＣが入力されている場合に、データセレクタ１５を経由して出力ラッチ１４に保持されているデータを順にアウトプットデータＯＵＴ［１５：０］として外部に出力する（「Ｄ２０」→「Ｄ２１」→「Ｄ２２」）。
【００６７】
時刻ｔ１１８において、出力ラッチ１４は、ページセレクタ１３が出力するページデータＰＤ［１５：０］「Ｄ２３」を内部クロック信号ＣＬＫの立ち上がりに同期してラッチして出力する。データ出力制御部１６は、ウエイト信号生成部４４から「Ｈ」レベルのアウトプットコントロール信号ＯＰＣが入力されている場合に、データセレクタ１５を経由して出力ラッチ１４に保持されているデータ「Ｄ２３」をアウトプットデータＯＵＴ［１５：０］として外部に出力する。
ページラッチ信号生成部４２は、ファーストレイテンシカウンタ３４のカウント値が「０」であり、且つ、データカウンタ３５のカウント値が「９」の場合に、ワードデータラッチ信号ＤＬ０〜ＤＬ３を「Ｈ」レベルにして、８ワードデータラッチ１１をスルー状態にする。８ワードデータラッチ１１は、センスアンプ・センスデータラッチ９から入力されるセンスアンプデータＳＡＤ［１２７：０］「Ｄ２４−Ｄ３１」をページセレクタ１３に８ワードデータＷＬＤ［１２７：０］として出力する。
ページセレクタ１３は、ページコントロール信号生成部４３が出力するページコントロール信号ＰＣ「Ｐ０」に応じて、８ワードデータＷＬＤ［１２７：０］「Ｄ１６−Ｄ２３」のうち下位から１番目のデータ「Ｄ２４」をページデータＰＤ［１５：０］として出力する。
【００６８】
時刻ｔ１１９において、出力ラッチ１４は、内部クロック信号ＣＬＫの立ち上がりに同期して、ページセレクタ１３が出力するページデータＰＤ［１５：０］「Ｄ２４」をラッチする。データ出力制御部１６は、ウエイト信号生成部４４から「Ｈ」レベルのアウトプットコントロール信号ＯＰＣが入力されている場合に、データセレクタ１５を経由して出力ラッチ１４に保持されているデータ「Ｄ２４」をアウトプットデータＯＵＴ［１５：０］として外部に出力する。
【００６９】
アドレスカウンタ３３は、ファーストレイテンシカウンタ３４のカウント値が「０」であり、且つ、データカウンタ３５のカウント値が「８」の場合に、内部クロック信号ＣＬＫに同期してバーストアドレスＢＡＤを「１」インクリメントして更新し、更新したバーストアドレスＢＡＤをアドレス制御部４に出力する。
アドレス制御部４は、アドレスカウンタ３３が出力したバーストアドレスＢＡＤの変化を検出し、バーストアドレスＢＡＤをデコードして、ローアドレスＲＡＤをメモリバンク７それぞれが有するローデコーダ５に出力すると共に、「Ｃ３２」を示すカラムアドレスＣＡＤをカラムデコーダ８に出力する。
【００７０】
ページラッチ信号生成部４２は、ファーストレイテンシカウンタ３４のカウント値が「０」であり、且つ、データカウンタ３５のカウント値が「８」の場合に、ワードデータラッチ信号ＤＬ０〜ＤＬ３を「Ｌ」レベルにして、８ワードデータラッチ１１にデータ「Ｄ２４−Ｄ３１」をラッチさせる。
ページセレクタ１３は、ページコントロール信号生成部４３の出力するページコントロール信号ＰＣが「Ｐ１」に変化したのに応じて、８ワードデータＷＬＤ［１２７：０］「Ｄ１６−Ｄ２３」のうち下位から２番目のデータ「Ｄ２５」を選択して出力する。
【００７１】
（半導体メモリ１００の動作２）
次に、図４は、開始アドレスの下位４ビットが「６」の場合におけるバースト読み出し動作の概略を示したタイミングチャートである。
図３に示した半導体メモリ１００の動作と異なる動作は、境界カウンタ書込部４０による１６ワード境界カウンタ値の算出と、１６ワード境界信号の変化と、ワードデータラッチ信号ＤＬ０〜ＤＬ２の変化とである。この違いは、開始アドレスの下位４ビットの値が「２〜７」に該当するためである。
また、図４において、開始アドレスが図３の場合と異なるので、データカウンタ３５の初期値と、カラムアドレスＣＡＤと、開始アドレス「Ａ６」に対応した読み出されるデータ「Ｄ８−１３、Ｄ６−７」が異なるが、信号が変化するタイミングは、上述の１６ワード境界信号、ワードデータラッチ信号ＤＬ０〜ＤＬ２により制御される８ワードデータラッチ１１を除いて同様である。
以下、信号の変化のタイミングが図３と異なる点についてのみ説明する。
【００７２】
時刻ｔ２００において、バースト制御部３は、アドレスラッチ２から入力されたラッチアドレスＬＡＤの下位４ビットの値が「２〜７」に含まれる場合に、１６ワード境界信号を「Ｈ」レベルにする。境界カウンタ書込部４０は、アドレスバリッド信号ＡＤＶＢ「Ｌ」レベルの場合に、内部クロック信号ＣＬＫの立ち上がりに同期して１６ワード境界カウンタ３６に「３」（（（ファーストレイテンシサイクル数）−１）−（１回目に読み出すデータのうち有効データ数））を記憶させる。
時刻ｔ２１０において、ページラッチ信号生成部４２は、ファーストレイテンシカウンタ３４のカウント値と１６ワード境界カウンタ３６のカウント値とが共に「０」であり、且つ、データカウンタ３５のカウント値が「９」であり、１６ワード境界信号が「Ｌ」レベルの場合に、ワードデータラッチ信号ＤＬ３を「Ｈ」レベルにして、２ワードデータラッチ１２−３のみをスルー状態にする。８ワードデータラッチ１１は、２ワードデータラッチ１２−０〜１２−２に保持されているデータ「Ｄ８−Ｄ１３」と、センスアンプ・センスデータラッチ９から入力されたデータ「Ｄ１４−Ｄ１５」とをページセレクタ１３に出力する。
時刻ｔ２１１において、ページラッチ信号生成部４２は、ファーストレイテンシカウンタ３４のカウント値が「０」であり、かつ、データカウンタ３５のカウント値が「８」の場合に、ワードデータラッチ信号ＤＬ３を「Ｌ」レベルにして、８ワードデータラッチ１１にデータ「Ｄ８−Ｄ１５」をラッチさせる。
時刻ｔ２１８において、バースト制御部３は、ファーストレイテンシカウンタ３４のカウント値が「０」であり、且つ、データカウンタ３５のカウント値が「１」の場合に、１６ワード境界信号を「Ｌ」にする。
【００７３】
上述のように、半導体メモリ１００は、境界カウンタ書込部４０が開始アドレスからワード境界ウエイトサイクルに要するクロックサイクル数を決定し、ファーストレイテンシカウンタ３４と１６ワード境界カウンタ３６とを順に動作させてカウントさせ、サイクル制御部５２が、ファーストレイテンシカウンタ３４のカウント値と１６ワード境界カウンタ３６のカウント値とが共に「０」になってから、データを外部に出力する制御をする。すなわち、半導体メモリ１００は、データの読み出しに際して、開始アドレスから発生するファーストレイテンシとワード境界ウエイトサイクルとに要するサイクル数を算出し、データの出力を算出したサイクル数遅らせて出力するデータを読み出しに費やすことで、データ出力開始の後にワード境界ウエイトサイクルの発生を防いでいる。
これにより、半導体メモリ１００は、バースト読み出しの動作において、データの読み出し完了を待つことによるワード境界ウエイトサイクルが発生することなく、データを出力することができる。
有効なデータを連続して出力し、無効なデータが出力されるクロックサイクルが生じなくなることで、半導体メモリ１００からデータを受信する外部装置は、半導体メモリとの間でのデータの授受において、出力されているデータが有効か否かを判断する必要がなくなるので、データの授受に関するハンドシェイク回路を簡素化でき、データの転送速度の高速化に対応することが可能となる。
【００７４】
上述のように半導体メモリ１００は動作する、すなわち、バースト読み出し命令が入力されると、当該バースト読み出し命令に含まれる開始アドレスから最初のアドレス境界までの読み出したデータを出力する際に要するサイクルと、予め設定されているファーストレイテンシのサイクルとに応じて、ファーストレイテンシカウンタ３４と１６ワード境界カウンタ３６とのカウント値が設定される。このとき、レイテンシカウンタ書込部３７が、ファーストレイテンシカウンタ３４にカウント値を書き込み、境界カウンタ書込部４０が１６ワード境界カウンタ３６にカウント値を書き込むことで、バースト読み出し命令に対応するデータの外部への出力を開始するまでのウエイトサイクルを設定する。
【００７５】
また、サイクル制御部５２は、アドレス制御部４を介して、バースト読み出し命令が入力されると、開始アドレスから最初のアドレス境界までの読み出したデータをメモリバンク７から連続して読み出して、最初のアドレス境界までの読み出したデータを８ワードデータラッチ１１にラッチさせると共に、アドレス境界直後に記憶されているデータの読み出しを行ってセンスアンプ・センスデータラッチ９にラッチさせる。また、サイクル制御部５２は、ファーストレイテンシカウンタ３４と１６ワード境界カウンタ３６とのカウント値が共に「０」になると、バースト読み出し命令に対応したデータの出力を開始し、８ワードデータラッチ１１にラッチされているデータを順に出力させ、８ワードデータラッチ１１に出力すべき有効なデータがなくなると、センスアンプ・センスデータラッチ９にラッチされているデータを８ワードデータラッチ１１にラッチさせると共に、後続のデータをメモリバンク７から読み出してセンスアンプ・センスデータラッチ９にラッチさせる。以降、サイクル制御部５２は、メモリバンク７から読み出したデータを、センスアンプ・センスデータラッチ９と８ワードデータラッチ１１との順にラッチさせて、内部クロック信号ＣＬＫに同期して連続したクロックサイクルでデータを順に外部へ出力させる。
【００７６】
なお、境界カウンタ書込部４０は、最初のアドレス境界までの読み出したデータを内部クロック信号ＣＬＫに同期して連続したクロックサイクルで外部へ出力する間に、最初のアドレス境界直後のデータを読み出せる場合、すなわち、最初のアドレス境界までの読み出したデータを外部へ出力するのに要するサイクル数（第１のサイクル数）が、最初のアドレス境界直後に記憶されているデータをメモリバンク７から読み出して８ワードデータラッチ１１にラッチさせるまでに要するサイクル数（第２のサイクル数）以上の場合、カウント値として「０」を１６ワード境界カウンタ３６に書き込む。
一方、境界カウンタ書込部４０は、最初のアドレス境界までの読み出したデータを内部クロック信号ＣＬＫに同期して連続したクロックサイクルで外部へ出力する間に、最初のアドレス境界直後のデータを読み出せない場合、すなわち、第１のサイクル数が第２のサイクル数より小さい場合、第１のサイクル数と第２のサイクル数との差をカウント値として１６ワード境界カウンタ３６に書き込む。
また、レイテンシカウンタ書込部３７は、バースト読み出し命令が入力されてから、当該命令に対応する最初のデータがメモリ素子から読み出されるのに要する時間（アクセス時間）に対するクロックサイクル数をファーストレイテンシカウンタ３４にカウント値として書き込む。
【００７７】
図５は、開始アドレスの下位４ビットの値それぞれに対して、有効データ数と、データの出力開始までの総ウエイトサイクル数とを示す図である。また、総ウエイトサイクル数は、ファーストレイテンシが「２」から「８」までのそれぞれの場合（図においては、ｗａｉｔ２、…、ｗａｉｔ８と記載）について示している。
「１ｓｔ」は、最初の１６ワード境界前の１回目に読み出されるブロックにおいて有効なデータのワード数であり、「２ｎｄ」は、最初の１６ワード境界前の２回目に読み出されるブロックにおいて有効なデータのワード数である。
また、「境界前」は、最初の１６ワード境界前のブロックにおける有効なデータのワード数、すなわち「１ｓｔ」と「２ｎｄ」との和である。
図５に示されるとおり、ファーストレイテンシが６サイクル、開始アドレスの下位４ビットが「１４」の場合（図３）、総ウエイトサイクル数は、８サイクルである。また、ファーストレイテンシが６サイクル、開始アドレスの下位４ビットが「６」の場合（図４）、総ウエイトサイクル数は、８サイクルである。
【符号の説明】
【００７８】
１００…半導体メモリ
１…入力バッファ、２…アドレスラッチ、３…バースト制御部
４…アドレス制御部、５…ローデコーダ、６…メモリセルアレイ
７、７−０、７−１、７−ｎ…メモリバンク
８…カラムデコーダ、９…センスアンプ・センスデータラッチ
１０…イネーブル制御部、１１…８ワードデータラッチ
１２−０…２ワードデータラッチ
１２−１…２ワードデータラッチ
１２−２…２ワードデータラッチ
１２−３…２ワードデータラッチ
１３…ページセレクタ、１４…出力ラッチ、１５…データセレクタ
１６…データ出力制御部、１７…レディ出力制御部
３１…ファーストレイテンシレジスタ、３２…有効データレジスタ
３３…アドレスカウンタ、３４…ファーストレイテンシカウンタ
３５…データカウンタ、３６…１６ワード境界カウンタ
３７…レイテンシカウンタ書込部、３８…有効データレジスタ書込部
３９…データカウンタ書込部、４０…境界カウンタ書込部
４１…アドレス変化検知部、４２…ページラッチ信号生成部
４３…ページコントロール信号生成部、４４…ウエイト信号生成部
５１…サイクルカウント部、５２…サイクル制御部
ＢＡＤ…バーストアドレス、ＬＡＤ…ラッチアドレス
ＡＤ…アドレス、ＲＡＤ…ローアドレス、ＣＡＤ…カラムアドレス
ＣＬＫ…内部クロック信号
ＡＤＶＢ…アドレスバリッド信号、ＡＬＡＴ…アドレスラッチ信号
【図１】
2010198686.tif 000003
【図２】
2010198686.tif 000004
【図３】
2010198686.tif 000005
【図４】
2010198686.tif 000006
【図５】
2010198686.tif 000007