JP4943681B2 - 半導体メモリ - Google Patents

半導体メモリ Download PDF

Info

Publication number
JP4943681B2
JP4943681B2 JP2005268149A JP2005268149A JP4943681B2 JP 4943681 B2 JP4943681 B2 JP 4943681B2 JP 2005268149 A JP2005268149 A JP 2005268149A JP 2005268149 A JP2005268149 A JP 2005268149A JP 4943681 B2 JP4943681 B2 JP 4943681B2
Authority
JP
Japan
Prior art keywords
data
page
latch
output
counter
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.)
Active
Application number
JP2005268149A
Other languages
English (en)
Other versions
JP2007080410A (ja
Inventor
洋 高島
庄一 大堀
秀雄 加藤
泰彦 本多
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Toppan Inc
Original Assignee
Toshiba Corp
Toppan Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp, Toppan Inc filed Critical Toshiba Corp
Priority to JP2005268149A priority Critical patent/JP4943681B2/ja
Publication of JP2007080410A publication Critical patent/JP2007080410A/ja
Application granted granted Critical
Publication of JP4943681B2 publication Critical patent/JP4943681B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Read Only Memory (AREA)

Description

本発明は、外部クロックに同期してバースト出力可能な半導体メモリに関する。
半導体メモリには、電気的に書き換えが可能であり、電源を切った場合においても、記憶されたデータが消えないという不揮発性を有したフラッシュメモリがあり、フラッシュメモリは、記憶しているデータの保持に電池を必要としない。このため、近年、フラッシュメモリは、電子機器、特に、携帯電話機などの小型携帯機器の記憶装置に多用されている。
電子機器は、フラッシュメモリに記憶されたデータに基づいて各種データ処理を行っている。近年、このデータ処理を実行するCPU(Central Processing Unit)の高速化は著しく、処理能力をクロック数で換算すると1GHzを遥かに超え、フラッシュメモリとCPU間のデータ転送速度が、システム全体の処理能力のボトルネックとなってきている。
このような状況に対応するため、フラッシュメモリに記憶されているデータを、高速に読み出す各種方式が考えられており、その一つに外部から入力されるクロックに同期してフラッシュメモリよりデータを連続して取り出すシンクロナスなバースト読み出しがある。
バースト読み出しは、読み出すべき一連のデータの先頭アドレスのみを指定し、それに続くアドレスは、クロックのみによりメモリ内部でインクリメント処理される。
したがって、読み出すべき一連のデータは、先頭アドレスに対して連続になっているという制約はあるが、その分、先頭アドレスで指定したデータの読み出し速度に対し、それに続くデータの読み出し速度を格段に速めることができるものである(例えば、特許文献1参照。)。
メモリ素子からデータを読み出すのに時間(アクセス時間)を要することから、バースト読み出しの開始(先頭アドレスの入力)から最初のメモリアクセスの完了までの待ち時間が発生する。このため、バースト読み出しの開始から最初のバーストデータの出力まで(メモリのアクセスタイムを含む、バースト読み出しに必要な時間)をクロックサイクルで表すファーストレイテンシを設定する必要がある。
また、フラッシュメモリには、アドレス境界(バウンダリ)と呼ばれるものがあり、アドレス境界はメモリセルアレイの構造と読み出しデータを制御するセンスアンプの構成に依存するものである。このアドレス境界をまたいで1度にメモリアクセスをすることができず、アドレス境界前とアドレス境界後に分けてメモリアクセスすることになる。
読み出すべき一連のデータの先頭アドレスによってアドレス境界前の有効データ(外部にバースト出力すべきデータ)の数が異なることから、アドレス境界前のメモリアクセスで読み出した有効データの出力に要する時間がメモリアクセスに要する時間(アクセス時間)よりも短くなることがあり、この場合、メモリアクセスに要する時間を待つためウェイトサイクルが発生する。なお、以下において、このウェイトサイクルを境界前ウェイトサイクルという。
なお、バースト読み出しでは、読み出し開始における最初のアドレス境界において発生する境界前ウェイトサイクルのサイクル数を制御する必要があるが、それ以降のアドレス境界においては、データを出力している期間に、次に出力するデータの読み出しが完了するため、境界前ウェイトサイクルが発生しないようになっている。
図1は従来のフラッシュメモリの構成を示す図である。なお、従来例および後述する実施の形態においてはメモリアクセスがファーストレイテンシの1クロック前に完了する場合を対象とする。ただし、従来例および後述する実施の形態においてはサスペンドが発生しないものとする。
入力バッファ1は、外部から入力されるチップイネーブル信号CEB、アウトプットイネーブル信号OEB、アドレスバリッド信号ADVB、外部クロック、および外部アドレス(例えば、A0〜A22)を、波形成形等の処理を行い出力する。チップイネーブル信号CEBは、それが「L」レベル(ローレベル)になることによって、そのチップを動作状態にする信号である。アウトプットイネーブル信号OEBは、データの出力制御を行うためのものである。アドレスバリッド信号ADVBは、その「L」レベルによって外部アドレス信号を有効とする。
ここで、入力バッファ1は、チップイネーブル信号CEBが「L」レベルにて入力されることにより、外部クロックや他の入力信号により生成された信号、例えば、内部クロックCLK、アドレスラッチ信号ALAT、アドレスAD(例えば、A0〜A22)、アウトプットイネーブル信号OEB、およびクロックイネーブル信号CLKENが内部に供給されることで、フラッシュメモリ内の後に説明する各回路が活性化される。
入力バッファ1は、外部クロックとほぼ同位相にて内部クロックCLKを出力する。
入力バッファ1は、図2に一例が示される通り、アウトプットイネーブル信号OEBの立ち上がりに同期させて、クロックイネーブル信号CLKENを立ち下げ、アウトプットイネーブル信号OEBの立ち下がった後の最初の内部クロックCLKの立ち上がりに同期してクロックイネーブル信号CLKENを立ち上げる。入力バッファ1は、このようにして生成したクロックイネーブル信号CLKENを出力する。なお、クロックイネーブル信号CLKENが「H」レベルで内部クロックCLKが有効、「L」レベルで内部クロックCLKが無効である。なお、本件明細書においては、サスペンドが発生しないものとし、言い換えると、バースト読み出し中はクロックイネーブル信号CLKENが常に「H」レベル(内部クロックCLKが有効)であるとする。
さらに、入力バッファ1は、図3に一例が示される通り、チップイネーブル信号CEBとアドレスバリッド信号ADVBの何れか遅い方の立ち下がりに同期させて(図3の例では、遅い方のアドレスバリッド信号ADVBの立ち下がりに同期させて)、アドレスラッチ信号ALATを立ち上げる(時刻t1)。そして、入力バッファ1は、アドレスラッチ信号ALATの立ち上がった後の最初の内部クロックCLKの立ち上がりに同期させてアドレスラッチ信号ALATを立ち下げ(時刻t2)、「H」レベル(ハイレベル)の期間のあるパルスとしてアドレスラッチ信号ALATを出力する。
アドレスラッチ2は、入力バッファ1から入力されるアドレスADを、入力バッファ1により出力されるアドレスラッチ信号ALATによりラッチする。
このアドレスラッチ2は、アドレスラッチ信号ALATが「H」レベルの期間において(時刻t1〜時刻t2)、入力されるアドレスADをそのまま通過させて出力し、「L」レベルに遷移すると、その「L」レベルとなった時点(時刻t2)において入力されていたアドレスADをラッチして、ラッチアドレスLADとして出力する。
バースト制御部3は、アドレスラッチ2から入力されるラッチアドレスLADを先頭アドレス(スタートアドレス、開始アドレス)とし、先頭アドレス(A0〜A22)の上位ビット(8ワード単位の読み出しを対象とする場合はA3〜A22)をバーストアドレスBADとして出力する。続いて、バースト制御部3は、バーストアドレスBADを、後述する通り、所定の計数タイミングにて内部クロックCLKに同期して「1」インクリメントして新たなバーストアドレスBADとして出力する。また、バースト制御部3は、このバーストアドレスBADの変化を検出して後述する検出信号DTを出力する。
また、バースト制御部3は、後述する通り、内部クロックCLKに同期して、ページラッチ信号PL、ページコントロール信号PC、アウトプットコントロール信号OPC、およびウェイト信号WAITを生成して出力し、さらに、初期時に設定されたアクセスのモード(バースト/ランダム)に応じて同期/非同期セレクト信号SELを生成して出力する。
アドレス制御部4は、デコーダ5に対して、バーストアドレスBADとラッチアドレスLADとのいずれかを選択して、選択したアドレスをメモリアドレスMADとして出力する。
メモリセルアレイ6は、複数のメモリセル(メモリ素子)がマトリックス状に配置されて形成されている。メモリセル(メモリ素子)はM×N(M、Nは整数であり、従来例においては、Mは2、Nは8である)本の読み出し線毎にブロックに分割されており、このブロックをまたいで一度にアクセスすることができない。
デコーダ5は、アドレス制御部4から入力されたメモリアドレスMADをデコードし、メモリセルアレイ6において、このメモリアドレスMAD(バーストアドレスBADの場合)の示す番地のメモリセル(8ワード単位、1ワード=16ビット)を選択する。
センスアンプ7は、選択されたメモリセルから出力される情報を、読み出し線を介して入力され、所定の電圧レベルに増幅して、メモリデータMDとして出力する。
ATD回路8は、入力されたパルス信号を所定の時間遅延させて出力するディレイ回路であり、検出信号DT(従来例および後述する実施の形態では、「Hレベル」のパルス)が入力されると、所定の時間遅延させてセンスアンプコントロール信号SC(「H」レベルのパルス)として出力する。この所定の時間とは、メモリセルアレイをアクセスするアドレスが入力され、センスアンプから出力されるメモリデータMDが安定するまでの時間、すなわちデコーダ5、メモリセルアレイ6、およびセンスアンプ7からなるメモリのアクセス時間である。
センスデータラッチ9は、センスアンプコントロール信号SCの「H」レベルの期間において、センスアンプ7から入力されるメモリデータMDをそのまま通過させて出力し、「L」レベルに遷移すると、その「L」レベルとなった時点において入力されていたメモリデータMDをラッチして、センスラッチデータSLDとして出力する。
ページラッチ10は、内部クロックCLKに非同期のセンスアンプコントロール信号SCにてセンスデータラッチ9にラッチされ出力されているセンスラッチデータSLDを、内部クロックCLKに同期したページラッチ信号PLによりラッチし、ページラッチデータPLDとして出力する。ただし、ページラッチ10はページラッチ信号PLによりセンスデータラッチ9が出力するセンスラッチデータ(8ページ分のワードデータ)を同じタイミングで一括してラッチする。
ページセレクタ11は、ページコントロール信号PCにより、ページラッチ10にラッチされている複数のワードデータ(複数のメモリデータからなる)を順次選択して、ページデータPDとして、出力ラッチ12およびセレクタ13の夫々へ出力する。
出力ラッチ12は、内部クロックCLKの立ち上がりエッジに同期させて、入力されるページデータPDをラッチする。
セレクタ13は、出力ラッチ12から入力されるページデータPDと、ページセレクタ11から入力されるページデータPDとのいずれかを、同期/非同期信号SELにより選択し、選択したページデータPDをデータ出力制御回路14へ出力する。
ここで、セレクタ13は、例えば、同期/非同期信号SELが「L」レベルの場合(ランダム読み出しが設定されている場合)、メモリの読み出しを内部クロックCLKに非同期にて行うため、ページセレクタ11から入力するページデータPDを選択してデータ出力制御部14へ出力し、同期/非同期信号SELが「H」レベルの場合(バースト読み出しが設定されている場合)、メモリの読み出しを内部クロックCLKに同期させて行うため、出力ラッチ12から入力されるページデータPDを選択してデータ出力制御部14へ出力する。
データ出力制御部14は、入力されるページデータPDを外部に対して出力するか否かを、アウトプットコントロール信号OPCにより制御する。ここで、データ出力制御部14は、アウトプットコントロール信号OPCが「L」レベルの場合、出力をハイインピーダンスとし、アウトプットコントロール信号OPCが「H」レベルの場合、セレクタ13から出力されるページデータPDを、アウトプットデータOUTとして出力端子へ出力する。
レディ出力制御部15は、アウトプットコントロール信号OPCとウェイト信号WAITとの論理積をとってレディ信号RDYとして出力する。レディ信号RDYは「H」レベルの場合、有効なアウトプットデータOUTが出力されていることを示し、「L」レベルの場合、有効でないアウトプットデータOUTが出力されていることを示す。
図1のフラッシュメモリにおいては、メモリセルアレイ6からのデータの読み出しに対し、16本の読み出し線毎に分割されたブロック(16ワードデータ領域)の読み出し単位毎に8ワード分のセンスアンプ7が設けられ、アドレス境界(バウンダリ)として、16ワード毎の境界(16ワード境界)を有する構成となっている。
ここで、従来例および後述する実施の形態において、16ワードデータ領域内において、8ワード単位で設けられたセンスアンプ7に対して、メモリセルから読み出されるメモリデータの出力の切り替えを、2ワード単位にて行うように構成されている。
この制御機能について図4を参照して説明する。図4はメモリセルアレイ6の各メモリセルからワードデータを読み出す読み出し線と、16ワードの中から8ワード分の読み出し線をセンスアンプ7に接続するスイッチ機構100と、センスアンプ7との接続関係を示す図である。
読み出し線「0000」〜「1111」の夫々は、1ワード分に対応した数の読み出し線群を有している。なお、説明の便宜上、読み出し線には、それが読み出すメモリセルのアドレスの下位4ビットの値を示す値(「0000」など)を付与している。
下位4ビットが「0000」〜「1111」に対応する16ワード分の読み出し線は、「0000」および「0001」と、「0010」および「0011」と、「0100」および「0101」と、「0110」および「0111」と、「1000」および「1001」と、「1010」および「1011」と、「1100」および「1101」と、「1110」および「1111」との8つのグループに分けられている。
また、センスアンプ7は8個のセンスアンプ7−0〜7−7を有し、センスアンプ7も、センスアンプ7−0およびセンスアンプ7−1と、センスアンプ7−2およびセンスアンプ7−3と、センスアンプ7−4およびセンスアンプ7−5と、センスアンプ7−6およびセンスアンプ7−7との4つのグループに分けられている。ここで、センスアンプ7−1〜7−7の夫々は、1ワード分に対応した数のセンスアンプ群を有している。
スイッチ機構100は、4つのスイッチ100−0〜100−3により構成されており、スイッチ100−0〜100−3は、夫々、読み出し線デコーダ110から入力されるデータに応じて、センスアンプ7−0〜7−7に接続する読み出し線を選択する。
スイッチ100−0は、読み出し線デコーダ110から入力されるデータAT[3:0]の最下位ビット(「0」ビット目)が「0」の場合には「0000」および「0001」の読み出し線を選択し、「1」の場合には「1000」および「1001」の読み出し線を選択する。
スイッチ100−1は、読み出し線デコーダ110から入力されるデータAT[3:0]の「1」ビット目が「0」の場合には「0010」および「0011」の読み出し線を選択し、「1」の場合には「1010」および「1011」の読み出し線を選択する。
スイッチ100−2は、読み出し線デコーダ110から入力されるデータAT[3:0]の「2」ビット目が「0」の場合には「0100」および「0101」の読み出し線を選択し、「1」の場合には「1100」および「1101」の読み出し線を選択する。
スイッチ100−3は、読み出し線デコーダ110から入力されるデータAT[3:0]の最上位ビット(「3」ビット目)が「0」の場合には「0110」および「0111」の読み出し線を選択し、「1」の場合には「1110」および「1111」の読み出し線を選択する。
読み出し線デコーダ110は、開始アドレスの下位4ビット(A[3:0])が「1000」(8)〜「1111」(15:F)の場合には、バースト読み出しの開始時には、処理切替フラグが「00」であることを検出して開始アドレスの下位4ビットを「1111」に変換して4ビットのデータAT[3:0]としてスイッチ機構100に対して出力するとともに、処理切替フラグを「11」にする。それ以降、読み出し線デコーダ110は、バーストアドレスBADが変化するタイミングにおいて、順次、処理切替フラグが「11」であることを検出してデータAT[3:0]の各ビットを夫々反転し、反転して得られたデータAT[3:0]をスイッチ機構100に対して出力する。
例えば、開始アドレスの下位4ビットが「1100」のとき、読み出し線デコーダ110は、開始アドレスの下位4ビットの「1100」を「1111」に変換し、変換後のデータ「1111」をデータAT[3:0]としてスイッチ機構100に対して出力する。スイッチ機構100のスイッチ100−0は、データAT[3:0]の「0」ビット目が「1」であるので、「1000」および「1001」の読み出し線を選択してセンスアンプ7−0に接続する。スイッチ100−1は、データAT[3:0]の「1」ビット目が「1」であるので、「1010」および「1011」の読み出し線を選択してセンスアンプ7−1に接続する。スイッチ100−2は、データAT[3:0]の「2」ビット目が「1」であるので、「1100」および「1101」の読み出し線を選択してセンスアンプ7−2に接続する。スイッチ100−3は、データAT[3:0]の「3」ビット目が「1」であるので、「1110」および「1111」の読み出し線を選択してセンスアンプ7−3に接続する。
それ以降、読み出し線デコーダ110は、データAT[3:0]の各ビットを夫々反転して、反転して得られたデータAT[3:0]をスイッチ機構100に対して出力する。
一方、読み出し線デコーダ110は、開始アドレスの下位4ビット(A[3:0])が「0000」(0)〜「0111」(7)の場合には、バースト読み出しの開始時には、処理切替フラグが「00」であることを検出して、開始アドレスの下位4ビットのアドレスを、図5のテーブルに従い変換して(図5の左の「ラッチアドレスLADの下位4ビット」から中央の「変換後の下位4ビット」へ変換)、変換後の4ビットのデータAT[3:0]をスイッチ機構100に対して出力するとともに、処理切替フラグを「01」にする。続いて、読み出し線デコーダ110は、バーストアドレスが変化するタイミングにおいて、処理切替フラグが「01」であることを検出して、変換後の4ビットのデータAT[3:0]の各ビットを夫々反転し(図5の中央の「変換後の下位4ビット」から右の「反転後の下位4ビット」へ変換)、反転後の4ビットのデータAT[3:0]をスイッチ機構100に対して出力するとともに、処理切替フラグを「10」にする。また、読み出し線デコーダ110は、バーストアドレスBADが変化するタイミングにおいて、処理切替フラグが「10」であることを検出して(最初の16ワード境界を越えたので)、スイッチ機構100に対して、「0000」のデータAT[3:0]を出力し、処理切替フラグを「11」にする。以降、読み出し線デコーダ110は、バーストアドレスBADが変化するタイミングにおいて、順次、処理切替フラグが「11」であることを検出してデータAT[3:0]の各ビットの夫々を反転して、反転して得られたデータAT[3:0]をスイッチ機構100に対して出力する。
例えば、開始アドレスの下位4ビットが「0011」のとき、読み出し線デコーダ110は、図5のテーブルに従い変換して「0001」を求め、変換後のデータ「0001」をデータAT[3:0]としてスイッチ機構100に対して出力する。スイッチ機構100のスイッチ100−0は、データAT[3:0]の「0」ビット目が「1」であるので、「1000」および「1001」の読み出し線を選択してセンスアンプ7−0に接続する。スイッチ100−1は、データAT[3:0]の「1」ビット目が「0」であるので、「0010」および「0011」の読み出し線を選択してセンスアンプ7−1に接続する。スイッチ100−2は、データAT[3:0]の「2」ビット目が「0」であるので、「0100」および「0101」の読み出し線を選択してセンスアンプ7−2に接続する。スイッチ100−3は、データAT[3:0]の「3」ビット目が「0」であるので、「0110」および「0111」の読み出し線を選択してセンスアンプ7−3に接続する。
次のバーストアドレスの変化するタイミングにおいて、読み出し線デコーダ110は、変換後の4ビットのデータAT[3:0]の各ビットを夫々反転して「1110」を求め、変換後のデータ「1110」をデータAT[3:0]としてスイッチ機構100に対して出力する。スイッチ機構100のスイッチ100−0は、データAT[3:0]の「0」ビット目が「0」であるので、「0000」および「0001」の読み出し線を選択してセンスアンプ7−0に接続する。スイッチ100−1は、データAT[3:0]の「1」ビット目が「1」であるので、「1010」および「1011」の読み出し線を選択してセンスアンプ7−1に接続する。スイッチ100−2は、データAT[3:0]の「2」ビット目が「1」であるので、「1100」および「1101」の読み出し線を選択してセンスアンプ7−2に接続する。スイッチ100−3は、データAT[3:0]の「3」ビット目が「1」であるので、「1110」および「1111」の読み出し線を選択してセンスアンプ7−3に接続する。
次のバーストアドレスの変化するタイミングにおいて、読み出し線デコーダ110は、データ「0000」をデータAT[3:0]としてスイッチ機構100に対して出力する。スイッチ機構100のスイッチ100−0は、データAT[3:0]の「0」ビット目が「0」であるので、「0000」および「0001」の読み出し線を選択してセンスアンプ7−0に接続する。スイッチ100−1は、データAT[3:0]の「1」ビット目が「0」であるので、「0010」および「0011」の読み出し線を選択してセンスアンプ7−1に接続する。スイッチ100−2は、データAT[3:0]の「2」ビット目が「0」であるので、「0100」および「0101」の読み出し線を選択してセンスアンプ7−2に接続する。スイッチ100−3は、データAT[3:0]の「3」ビット目が「0」であるので、「0110」および「0111」の読み出し線を選択してセンスアンプ7−3に接続する。
次のバーストアドレスの変化するタイミングにおいて、読み出し線デコーダ110は、データAT[3:0]の各ビットを夫々反転してデータ「1111」を求め、求めた「1111」をデータAT[3:0]としてスイッチ機構100に対して出力する。スイッチ機構100のスイッチ100−0は、データAT[3:0]の「0」ビット目が「1」であるので、「1000」および「1001」の読み出し線を選択してセンスアンプ7−0に接続する。スイッチ100−1は、データAT[3:0]の「1」ビット目が「1」であるので、「1010」および「1011」の読み出し線を選択してセンスアンプ7−1に接続する。スイッチ100−2は、データAT[3:0]の「2」ビット目が「1」であるので、「1100」および「1101」の読み出し線を選択してセンスアンプ7−2に接続する。スイッチ100−3は、データAT[3:0]の「3」ビット目が「1」であるので、「1110」および「1111」の読み出し線を選択してセンスアンプ7−3に接続する。
それ以降、読み出し線デコーダ110は、データAT[3:0]の各ビットを夫々反転して、反転して得られたデータAT[3:0]をスイッチ機構100に対して出力する。
次に、図1におけるバースト制御部3の詳細について図6を参照しつつ説明する。図6はバースト制御部3の構成例を示すブロック図である。
バースト制御部3には、ファーストレイテンシレジスタ31があり、ファーストレイテンシレジスタ31は、外部から入力されるファーストレイテンシのウェイトサイクル数から「1」減算した値を記憶するレジスタである。このファーストレイテンシレジスタ31への書き込みはバースト読み出しなどが実際に行われるよりも前のタイミングで、不図示の制御回路により行われる。なお、以下において、ファーストレイテンシのウェイトサイクル数から「1」減算した値を、ウェイト計数初期値という。
なお、ファーストレイテンシのウェイトサイクル数は、非同期のメモリセルアレイからデータを読み出すための時間、すなわち、読み出し開始時に最初のメモリアクセス完了までの待ち時間が発生するために、バースト読み出しの開始の最初のクロックの有効エッジから、データ出力開始またはデータ出力確定のクロックの有効エッジまでのクロックサイクル数として設定されている。
バースト制御部3には、有効データ(メモリアクセスにおいてメモリセルアレイ6からセンスしたワードデータのうちバースト出力すべきワードデータ)の数から「1」減算した値を記憶する有効データレジスタ32がある。なお、以下において、有効データ数から「1」減算した値を、データ計数初期値という。
バースト制御部3には、アドレスカウンタ33がある。アドレスカウンタ33は、アドレスラッチ信号ALAT信号の立ち下がりに同期して、アドレスラッチ2から入力されるラッチアドレスLAD(22ビット)の下位3ビットを除いた、上位の「3〜22ビット」が示す上位アドレスをスタートのバーストアドレスBADとして出力する。アドレスカウンタ33は、後述するファーストレイテンシカウンタ34の計数値が「1」である場合に入力される内部クロックCLKの立ち上がりに同期してバーストアドレスBADを「1」インクリメントして次にメモリアクセスするバーストアドレスBADとして出力する。また、アドレスカウンタ33は、データカウンタ35の計数値が「0」で16W境界カウンタ36の計数値が「1」および「0」のいずかである場合に内部クロックCLKの立ち上がりに同期してバーストアドレスBADを「1」インクリメントして次にメモリアクセスするバーストアドレスBADとして出力する。
バースト制御部3には、ファーストレイテンシカウンタ(FLC)34がある。ファーストレイテンシカウンタ34はファーストレイテンシのクロックサイクルを計数するために利用されるものである。ファーストレイテンシカウンタ34にはファーストレイテンシレジスタ31に記憶されているウェイト計数初期値が計数の初期値として書き込まれる。ファーストレイテンシカウンタ34は、入力される内部クロックCLKの立ち上がりに同期して、計数値を「1」デクリメントする。
バースト制御部3には、データカウンタ(DTC)35がある。データカウンタ35はページラッチ10に保持されているまだバースト出力されていない有効データの数を計数するものである。ここで、有効データとは、メモリセルアレイ6から読み出された外部にバースト出力する必要があるワードデータのことであり、以下において同様である。データカウンタ35には有効データレジスタ32に記憶されているデータ計数初期値が計数の初期値として書き込まれる。データカウンタ35は、入力される内部クロックCLKの立ち上がりに同期して、計数値を「1」デクリメントする。このデータカウンタ35は「3」ビットにより構成されており、最大「7」計数できるようになっている。
バースト制御部3には、16W境界カウンタ(BDC)36がある。16W境界カウンタ36は16ワード境界の境界前ウェイトを計数するために利用されるものである。16W境界カウンタ36にはファーストレイテンシレジスタ31に記憶されているウェイト計数初期値が計数の初期値として書き込まれる。16W境界カウンタ36は、入力される内部クロックCLKの立ち上がりに同期して、計数値を「1」デクリメントする。
バースト制御部3には、レイテンシカウンタ書込部37がある。レイテンシカウンタ書込部37は、アドレスラッチ信号ALAT信号の立ち下がりに同期して、ファーストレイテンシレジスタ31に記憶されているウェイト計数初期値を読み込み、読み込んだウェイト計数初期値をファーストレイテンシカウンタ34に対して計数の初期値として書き込む。
バースト制御部3には、有効データレジスタ書込部38がある。有効データレジスタ書込部38は、バースト読み出し開始時に、或いは、後述するデータカウンタ書込部39が有効データレジスタ32からデータ計数初期値を読み込んだ時に、データ計数初期値の算出を開始し、算出が完了した時点で算出したデータ計数初期値を有効データレジスタ32に書き込む。有効データレジスタ書込部38は、有効データの数から「1」減算した値(データ計数初期値)を算出し、算出結果を有効データレジスタ32に書き込む。なお、最初の16ワード境界前の1回目のメモリアクセスにおける有効データの数は図10の「1st」に示されている値であり、最初の16ワード境界前の2回目のメモリアクセスにおける有効データの数は図10の「2st」に示されている値である。また、最初の16ワード境界を越えた後のメモリアクセスにおける有効データの数は固定値「8」である。
つまり、有効データレジスタ書込部38は、バーストアドレスの開始時、有効データ数書込フラグが「000」であることを検出して、開始アドレスの下位4ビットにおける最上位ビットが「1」であるか否かの検出を行い、最上位ビットが「1」でない場合に「0000」(「0」)〜「0111」(「7」)の範囲であると判断して有効データ数書込フラグを「001」にし、最上位ビットが「1」である場合に「1000」(「8」)〜「1111」(「F」)の範囲であると判断して有効データ数書込フラグを「101」にする。
有効データレジスタ書込部38は、有効データ数書込フラグが「001」であることを検出して(最上位ビットが「1」でないこと、すなわち、開始アドレスの下位4ビットが「0」〜「7」の範囲のとき)、最初の16ワード境界前における1回目のメモリアクセス(1stアクセス)の際に、この下位4ビットにおける最下位ビットが「1」か「0」のいずれであるかの検出を行う。有効データレジスタ書込部38は、最下位ビットが「1」である場合に固定値「7」をデータ計数初期値とし、最下位ビットが「0」である場合に固定値「6」をデータ計数初期値とする。そして、有効データレジスタ書込部38は有効データ書込フラグを「010」にする。
続いて、有効データレジスタ書込部38は、有効データ数書込フラグが「010」であることを検出して、最初の16ワード境界における2回目のメモリアクセス(2stアクセス)の際に、最下位ビットを「0」とし、最下位ビット(1ビット目)、2ビット目、および3ビット目を夫々反転して、その結果をデータ計数初期値とする。そして、有効データレジスタ書込部38は有効データ書込フラグを「011」にする。
それ以降、有効データレジスタ書込部38は、有効データ数書込フラグが「011」であることを検出して、固定値「7」をデータ計数初期値とする。
一方、有効データレジスタ書込部38は、有効データ数書込フラグが「001」であることを検出して(最上位ビットが「1」であること、すなわち、下位4ビットが「8」〜「F」(15)の範囲のとき)、最初の16ワード境界における1回目のメモリアクセス(1stアクセス)の際に、開始アドレスの下位4ビットを夫々反転して、その結果をデータ計数初期値とする。そして、有効データレジスタ書込部38は有効データ書込フラグを「011」にする。
それ以降、有効データレジスタ書込部38は、有効データ数書込フラグが「011」であることを検出して、固定値「7」をデータ計数初期値とする。
例えば、開始アドレスの下位4ビットが「7」(0(最上位ビット)、1(3ビット目)、1(2ビット目)、1(最下位ビット))のとき、有効データレジスタ書込部38は、最上位ビットが「0」であるため、1stアクセスの際に、この下位4ビットにおける最下位ビットが「1」であることを検出し、固定値「6」をデータ計数初期値として有効データレジスタ32に書き込む。そして、有効データレジスタ書込部38は、2ndアクセスの際に、「1(3ビット目)、1(2ビット目)、1(最下位ビット)」に対して最下位ビットを「0」として「110」を求め、さらに、これを反転して「001」を求め、求めた「1」をデータ計数初期値として有効データレジスタ32に書き込む。それ以降、有効データレジスタ書込部38は、固定値「7」をデータ計数初期値として有効データレジスタ32に書き込む。
また、開始アドレスの下位4ビットが「14」(1(最上位ビット)、1(3ビット目)、1(2ビット目)、0(最下位ビット))のとき、有効データレジスタ書込部38は、最上位ビットが「1」であるため、1stアクセスの際に、「1110」を反転して「0001」を求め、求めた「1」をデータ計数初期値として有効データレジスタ32に書き込む。それ以降、有効データレジスタ書込部38は、固定値「7」をデータ計数初期値として有効データレジスタ32に書き込む。
バースト制御部3には、データカウンタ書込部39がある。データカウンタ書込部39は、ファーストレイテンシカウンタ34の計数値が「1」である場合に入力される内部クロックCLKの立ち上がりに同期して、有効データレジスタ32に記憶されているデータ計数初期値を読み込み、読み込んだデータ計数初期値をデータカウンタ35に対して計数の初期値として書き込む。
データカウンタ書込部39は、データカウンタ35の計数値が「0」で16W境界カウンタ36の計数値が「1」および「0」の何れかである場合に入力される内部クロックCLKの立ち上がりに同期して、有効データレジスタ32に記憶されているデータ計数初期値を読み込み、読み込んだデータ計数初期値をデータカウンタ35に対して計数の初期値として書き込む。
バースト制御部3には、境界カウンタ書込部40がある。境界カウンタ書込部40は、ファーストレイテンシカウンタ34の計数値が「1」である場合に入力される内部クロックCLKの立ち上がりに同期して、ファーストレイテンシレジスタ31に記憶されているウェイト計数初期値を読み込み、読み込んだウェイト計数初期値を16W境界カウンタ36に対して計数の初期値として書き込む。
境界カウンタ書込部40は、データカウンタ35の計数値が「0」で16W境界カウンタ36の計数値が「1」および「0」の何れかである場合に入力される内部クロックCLKの立ち上がりに同期して、ファーストレイテンシレジスタ31に記憶されているウェイト計数初期値を読み込み、読み込んだウェイト計数初期値を16W境界カウンタ36に対して計数の初期値として書き込む。
バースト制御部3には、アドレス変化検出部41がある。アドレス変化検出部41は、バーストアドレスBADの変化を検出して、ワンショットのパルスを生成して、検出信号DTとして出力する。上述したように、検出信号DTは、ATD回路8により所定時間(メモリのアクセス時間)遅延させられ、センスアンプコントロール信号SCとしてセンスデータラッチ9に供給される。
バースト制御部3には、ページラッチ信号生成部42がある。
ページラッチ信号生成部42は、バーストアドレスの開始時に、最初のメモリアクセスによりメモリセルアレイ6から読み出されてセンスデータラッチ9に保持されているワードデータをページラッチ10により保持するために、ページラッチ信号PLを「H」レベルにしてページラッチ10をスルー状態にし、メモリアクセスが完了して読み出されたワードデータがセンスデータラッチ9から出力されるようになった後であって、2回目のメモリアクセスでメモリセルアレイ6から読み出されたワードデータがセンスデータラッチ9から出力される前に、ページラッチ信号PLを「L」レベルにしてセンスデータラッチ9が出力しているワードデータをラッチ(保持)する。
従来例においては、ページラッチ信号生成部42は、アドレスラッチ信号ALATの立ち下がりに同期して、ページラッチ信号PLを立ち上げる(「L」レベルから「H」レベルにする)。このページラッチ信号PLの立ち上げに対して、ページラッチ信号生成部42は、ファーストレイテンシカウンタ34の計数値のデクリメント処理が行われて「1」となった場合に入力される内部クロックCLKの立ち上がりに同期して、ページラッチ信号PLを立ち下げる(「H」レベルから「L」レベルにする)。
ページラッチ信号生成部42は、次のメモリアクセス(ページラッチ10にラッチされているワードデータを読み出したメモリアクセスの次のメモリアクセス)によりメモリセルアレイ6から読み出されてセンスデータラッチ9に保持されているワードデータをページラッチ10により保持するために、ページラッチ10が保持している有効データの全てがページセレクタ11により選択された後にページラッチ信号PLを「H」レベルにしてページラッチ10をスルー状態にし、ページラッチ10が保持している有効データの全てがページセレクタ11により選択された後でかつ当該次のメモリアクセスが完了して読み出されたワードデータがセンスデータラッチ9から出力されるようになった後であって、当該次のメモリアクセスの次のメモリアクセスでメモリセルアレイ6から読み出されたワードデータがセンスデータラッチ9から出力される前に、ページラッチ信号PLを「L」レベルにしてセンスデータラッチ9が出力しているワードデータをラッチ(保持)する。
従来例においては、ページラッチ信号生成部42は、データカウンタ35の計数値が「0」または「1」の何れかで16W境界カウンタ36の計数値が「2」である場合に入力される内部クロックCLKの立ち上がりに同期してページラッチ信号PLを立ち上げる。このページラッチ信号PLの立ち上げに対して、ページラッチ信号生成部42は、16W境界カウンタ36の計数値のデクリメント処理が行われて「1」となった場合に入力される内部クロックCLKの立ち上がりに同期してページラッチ信号PLを立ち下げる。
または、ページラッチ信号生成部42は、16W境界カウンタ36の計数値が「0」および「1」の何れかでデータカウンタ35の計数値が「1」である場合に入力される内部クロックCLKの立ち上がりに同期してページラッチ信号PLを立ち上げる。このページラッチ信号PLの立ち上げに対して、ページラッチ信号生成部42は、データカウンタ35の計数値のデクリメント処理が行われて「0」となった場合に入力される内部クロックCLKの立ち上がりに同期してページラッチ信号PLを立ち下げる。
バースト制御部3には、ページコントロール信号生成部43がある。ページコントロール信号生成部43は、アドレスラッチ信号ALATの立ち下がりに同期して、開始アドレスの下位3ビットをページコントロール信号PCの初期値として読み込み、内部クロックCLKの立ち上がりに同期してページコントロール信号PCを「1」インクリメントし、インクリメント後の値を新たなページコントロール信号PCとして出力する。なお、以下において、ページコントロール信号PCの値「000」、「001」、「010」、「011」、「100」、「101」、「110」、「111」を、「P0」、「P1」、「P2」、「P3」、「P4」、「P5」、「P6」、「P7」として記載する。例えば、開始アドレスの下位アドレスが「010」(2)の場合、ページコントロール信号生成部43は、ページコントロール信号PCとして、「P2」、「P3」、「P4」、「P5」、「P6」、「P7」、「P0」、「P1」、・・・を出力する。
ページコントロール信号生成部43は、初期値を読み込んだ後に動作を停止し、ファーストレイテンシカウンタ34の計数値が「1」になると動作を開始する。また、ページコントロール信号生成部43は、データカウンタ35の計数値が「1」のときに16W境界カウンタ36の計数値が「3」以上であれば動作を停止し、その後に16W境界カウンタ36の計数値が「2」になると動作を開始する。
バースト制御部3には、ウェイト信号生成部44がある。ウェイト信号生成部44は、アドレスラッチ信号ALATの立ち下がりに同期して、ウェイト信号WAITを立ち上げ、ファーストレイテンシカウンタ34の計数値が「1」である場合に入力される内部クロックCLKの立ち上がりに同期してウェイト信号WAITを立ち下げる。
また、ウェイト信号生成部44は、データカウンタ35の計数値が「0」で16W境界カウンタ36の計数値が「2」以上である場合に入力される内部クロックCLKの立ち上がりに同期して、ウェイト信号WAITを立ち上げる。このウェイト信号WAITの立ち上げに対して、ウェイト信号生成部44は、16W境界カウンタ36の計数値のデクリメント処理が行われて「1」となった場合に入力される内部クロックCLKの立ち上がりに同期してウェイト信号WAITを立ち下げる。
バースト制御部3は、図示しない、同期/非同期セレクト信号SEL、およびアウトプットコントロール信号OPCの生成を行う。また、バースト制御部3は、アドレスラッチ信号ALATの立ち下がりに同期して、16W境界信号を「L」レベルから「H」レベルに立ち上げ、データカウンタ35の計数値のデクリメント処理が行われて「1」となった場合に入力される内部クロックCLKの立ち上がりに同期して、16W境界信号を「H」レベルから「L」レベルに立ち下げる。
以下、上述した従来のフラッシュメモリのバースト読み出しの動作について図面を参照しつつ説明する。
図7は、ファーストレイテンシが6サイクル、開始アドレスの下位4ビットが「E(14)」の場合における、従来例の各回路の動作のタイミングチャートを示している。
時刻t1001において、入力バッファ1がチップイネーブル信号CEB及びアドレスバリッド信号ADVBが「H」レベルから「L」レベルに遷移することにより、アドレスラッチ信号ALATを立ち上げ、立ち上げた後の次の内部クロックCLKの立ち上がりに同期してアドレスラッチ信号ALATを立ち下げる。
時刻t1002において、アドレスカウンタ33は、アドレスラッチ信号ALATの立ち下がりにおいて、アドレスラッチ2から入力されるラッチアドレスLAD(22ビット)の下位3ビットを除いた、「3〜22ビット」が示す上位アドレスを、計数の初期値として書き込まれ、バーストアドレスBADとして出力する。このバーストアドレスBADに基づき、センスアンプ7によりセンスされてメモリデータMDがセンスデータラッチ9に出力される。
このとき、アドレス変化検出部41は、アドレスカウンタ33の出力するバーストアドレスBADが変化したことを検出して、ATD回路8に対してワンショットパルスの検出信号DTを出力する。この検出信号DTがATD回路8により所定時間(メモリのアクセス時間)遅延させられ、時刻t1062においてセンスアンプコントロール信号SCとしてセンスデータラッチ9に入力され、センスデータラッチ9は、センスアンプ7から出力されるメモリデータMDをラッチして、「D14」、「D15」をセンスラッチデータSLDとして出力する。
時刻t1002において、レイテンシカウンタ書込部37は、ファーストレイテンシのクロックサイクルを計数するために、ファーストレイテンシレジスタ31に記憶されているウェイト計数初期値「5」を読み込み、読み込んだウェイト計数初期値「5」をファーストレイテンシカウンタ34に対して計数の初期値として書き込む。
ページラッチ信号生成部42は、ページラッチ信号PLを立ち上げる(「L」レベルから「H」レベルとする)。
ページコントロール信号生成部43は、開始アドレスの下位3ビット「110」をページコントロール信号PCの初期値として読み込み、「P6」をページコントロール信号PCとして出力し、動作を停止する(計数を行わない状態)。
ウェイト信号生成部44は、ウェイト信号WAITを立ち上げる(「L」レベルから「H」レベルとする)。
バースト制御部3は、アクセス開始の際の最初の16ワード境界前におけるアクセスであることを示す16ワード境界信号を立ち上げる(「L」レベルから「H」レベルとする)。
時刻t1003から時刻1006にかけて、ファーストレイテンシカウンタ34は、内部クロックCLKの立ち上がりに同期して、計数値を「1」デクリメントし(「5」→「4」→「3」→「2」→「1」)、計数値が「1」になる。
ページコントロール信号生成部43は、ファーストレイテンシカウンタ34の計数値が「1」になると動作を開始する(計数を行う状態)。
時刻t1007において、ファーストレイテンシカウンタ34は計数値を「1」デクリメントして計数値を「0」にする。
アドレスカウンタ33は、最初のメモリアクセスが完了しているので、計数値を「1」インクリメントし、次にアクセスするメモリ(8ワード単位)のアドレスを示すバーストアドレスBAD(以下、次にアクセスするバーストアドレスBADと記載)として出力する。
このとき、アドレス変化検出部41は、アドレスカウンタ33の出力するバーストアドレスBADが変化したことを検出して、ATD回路8に対してワンショットパルスの検出信号DTを出力する。この検出信号DTがATD回路8により所定時間(メモリのアクセス時間)遅延させられ、時刻t1112においてセンスアンプコントロール信号SCとしてセンスデータラッチ9に入力され、センスデータラッチ9は、センスアンプ7から出力されるメモリデータMDをラッチして、「D16」〜「D23」をセンスラッチデータSLDとして出力する。
時刻t1007において、データカウンタ書込部39は、有効データの出力に必要なクロックサイクルを計数するために、ファーストレイテンシカウンタ34の計数値が「1」である場合に入力される内部クロックCLKの立ち上がりに同期して、有効データレジスタ32に記憶されているデータ計数初期値「1」を読み込み、読み込んだデータ計数初期値「1」をデータカウンタ35に対して計数の初期値として書き込む。
境界カウンタ書込部40は、ファーストレイテンシカウンタ34の計数値が「1」である場合に入力される内部クロックCLKの立ち上がりに同期して、ファーストレイテンシレジスタ31に記憶されているウェイト計数初期値「5」を読み込み、読み込んだウェイト計数初期値「5」を16W境界カウンタ36に対して計数の初期値として書き込む。
ページラッチ信号生成部42は、ファーストレイテンシカウンタ34の計数値が「1」である場合に入力される内部クロックCLKの立ち上がりに同期して、時刻t1002において立ち上げたページラッチ信号PLを立ち下げる(「H」レベルから「L」レベルとする)。これにより、ページラッチ10は、センスデータラッチ9から出力されているセンスラッチデータSLDをラッチし、「D14」、「D15」をページラッチデータPLDとして出力する。
出力ラッチ12は、ページセレクタ11から出力されているページデータPD(「D14」:下位4ビット「E」に対応したワードデータ)を、内部クロックCLKの立ち上がりに同期して保持し、セレクタ13およびデータ出力制御部14を介して、アウトプットデータOUTとして出力する。
ページコントロール信号生成部43は、内部クロックCLKの立ち上がりに同期して、ページコントロール信号PCを「P6」から「P7」にインクリメントし、「P7」をページコントロール信号PCとして出力する。ページコントロール信号生成部43は、データカウンタ35の計数値が「1」で16W境界カウンタ36の計数値が「3」以上の「5」であるので動作を停止する(計数を行わない状態)。
これにより、ページセレクタ11は、ページラッチ10が出力しているページラッチデータPLDの中から、ページコントロール信号PC(「P7」)に対応する「D15」を選択して、「D15」をページデータPDとして出力する。
ウェイト信号生成部44は、ファーストレイテンシカウンタ34の計数値が「1」である場合に入力される内部クロックCLKの立ち上がりに同期して、時刻t1002において立ち上げたウェイト信号WAITを立ち下げる(「H」レベルから「L」レベルとする)。
時刻t1008において、データカウンタ35は、内部クロックCLKの立ち上がりに同期して、計数値を「1」デクリメントして計数値を「0」にする。また、16W境界カウンタ36は、内部クロックCLKの立ち上がりに同期して、計数値を「1」デクリメントして計数値を「4」にする。
出力ラッチ12は、ページセレクタ11から出力されている「D15」のページデータPDを、内部クロックCLKの立ち上がりに同期して保持し、セレクタ13およびデータ出力制御部14を介して、アウトプットデータOUTとして出力する。
バースト制御部3は、データカウンタ35の計数が「1」である場合に入力される内部クロックCLKの立ち上がりに同期して、時刻t1002において立ち上げた16W境界信号を立ち下げる。
時刻t1009において、ウェイト信号生成部44は、データカウンタ35の計数値が「0」で16ワード境界カウンタ36の計数値が「2」以上の「4」であるので、つまり、有効データの全てを出力してもメモリアクセスが完了していないので、内部クロックCLKの立ち上がりに同期して、ウェイト信号WAITを立ち上げる(「L」レベルから「H」レベルにする)。
16W境界カウンタ36は、内部クロックCLKの立ち上がりに同期して、計数値を「1」デクリメントして計数値を「3」にする。
時刻t1010において、16W境界カウンタ36は、内部クロックCLKの立ち上がりに同期して、計数値を「1」デクリメントして計数値を「2」にする。ページコントロール信号生成部43は、16W境界カウンタ36の計数値が「2」になったので動作を開始する(計数を行う状態)。
時刻t1011において、ページラッチ信号生成部42は、データカウンタ35の計数値が「0」で16W境界カウンタ36の計数値が「2」である場合に入力される内部クロックCLKの立ち上がりに同期して、ページラッチ信号PLを立ち上げる(「L」レベルから「H」レベルとする)。
16W境界カウンタ36は、内部クロックCLKの立ち上がりに同期して、計数値を「1」デクリメントして計数値を「1」にする。
ページコントロール信号生成部43は、内部クロックCLKの立ち上がりに同期して、ページコントロール信号PCを「P7」から「P0」にインクリメントし、「P0」をページコントロール信号PCとして出力する。これにより、ページセレクタ11は、ページラッチ10が出力しているページラッチデータPLDの中から、ページコントロール信号PC(「P0」)に対応する「D16」を選択して、「D16」をページデータPDとして出力する。
時刻t1012において、有効データの出力とメモリアクセスの双方が完了することになるので、アドレスカウンタ33は、データカウンタ35の計数値が「0」で16W境界カウンタ36の計数値が「1」である場合に入力される内部クロックCLKの立ち上がりに同期して、計数値を「1」インクリメントし、次にアクセスするバーストアドレスBADとして出力する。
このとき、アドレス変化検出部41は、アドレスカウンタ33の出力するバーストアドレスBADが変化したことを検出して、ATD回路8に対してワンショットパルスの検出信号DTを出力する。この検出信号DTがATD回路8により所定時間(メモリのアクセス時間)遅延させられ、時刻t1162においてセンスアンプコントロール信号SCとしてセンスデータラッチ9に入力され、センスデータラッチ9は、センスアンプ7から出力されるメモリデータMDをラッチして、「D24」〜「D31」をセンスラッチデータSLDとして出力する。
時刻t1012において、データカウンタ書込部39は、有効データの出力に必要なクロックサイクルを計数するために、データカウンタ35の計数値が「0」で16W境界カウンタ36は計数値が「1」である場合に入力される内部クロックCLKの立ち上がりに同期して、有効データレジスタ32に記憶されているデータ計数初期値「7」を読み込み、読み込んだデータ計数初期値「7」をデータカウンタ35に対して計数の初期値として書き込む。
ページラッチ信号生成部42は、16W境界カウンタ36の計数値がデクリメント処理されて「1」になっているので、入力される内部クロックCLKの立ち上がりに同期して、時刻t1011において立ち上げたページラッチ信号PLを立ち下げる(「H」レベルから「L」レベルとする)。これにより、ページラッチ10は、センスデータラッチ9から出力されているセンスラッチデータSLDをラッチし、「D16」〜「D23」をページラッチデータPLDとして出力する。
出力ラッチ12は、ページセレクタ11から出力されているページデータPD(「D16」)を、内部クロックCLKの立ち上がりに同期して保持し、セレクタ13およびデータ出力制御部14を介して、アウトプットデータOUTとして出力する。
ページコントロール信号生成部43は、内部クロックCLKに同期して、ページコントロール信号PCを「P0」から「P1」にインクリメントし、「P1」をページコントロール信号PCとして出力する。これにより、ページセレクタ11は、ページラッチ10が出力しているページラッチデータPLDの中から、ページコントロール信号PC(「P1」)に対応する「D17」を選択して、「D17」をページデータPDとして出力する。
ウェイト信号生成部44は、データカウンタ35の計数値が「0」で16W境界カウンタ36の計数値が「1」である場合に入力される内部クロックCLKの立ち上がりに同期して、時刻t1009において立ち上げたウェイト信号WAITを立ち下げる(「H」レベルから「L」レベルとする)。
時刻t1013〜t1019にかけて、データカウンタ35は、内部クロックCLKの立ち上がりに同期して、計数値を「1」デクリメントし(「7」→「6」→「5」→「4」→「3」→「2」→「1」→「0」)、計数値が「0」になる。
出力ラッチ12は、ページセレクタ11から出力されているページデータPDを、内部クロックCLKの立ち上がりに同期して保持し、セレクタ13およびデータ出力制御部14を介して、アウトプットデータOUTとして出力する(「D17」〜「D23」)。
ページコントロール信号生成部43は、内部クロックCLKに同期して、ページコントロール信号PCをインクリメントし、インクリメント後の値をページコントロール信号PCとして出力する(「P2」〜「P7」、「P0」)。これにより、ページセレクタ11は、ページラッチ10が出力しているページラッチデータPLDの中から、ページコントロール信号PCに対応するワードデータを選択して、選択したワードデータをページデータPDとして出力する(「D18」〜「D24」)。
時刻t1019において、ページラッチ信号生成部42は、16W境界カウンタ36の計数値が「0」でデータカウンタ35の計数値が「1」である場合に入力される内部クロックCLKの立ち上がりに同期して、ページラッチ信号PLを立ち上げる(「L」レベルから「H」レベルとする)。
時刻t1020において、アドレスカウンタ33は、データカウンタ35の計数値が「0」で16W境界カウンタ36の計数値が「0」である場合に入力される内部クロックCLKの立ち上がりに同期して、計数値を「1」インクリメントし、次にアクセスするバーストアドレスBADとして出力する。このとき、アドレス変化検出部41は、アドレスカウンタ33の出力するバーストアドレスBADが変化したことを検出して、ATD回路8に対してワンショットパルスの検出信号DTを出力する。
時刻t1020において、データカウンタ書込部39は、有効データの出力に必要なクロックサイクルを計数するために、データカウンタ35の計数値が「0」で16W境界カウンタ36の計数値が「0」である場合に入力される内部クロックCLKの立ち上がりに同期して、有効データレジスタ32に記憶されているデータ計数初期値「7」を読み込み、読み込んだデータ計数初期値「7」をデータカウンタ35に対して計数の初期値として書き込む。
ページラッチ信号生成部42は、データカウンタ35の計数値がデクリメント処理されて「0」になっているので、入力される内部クロックCLKの立ち上がりに同期して、時刻t1019において立ち上げたページラッチ信号PLを立ち下げる(「H」レベルから「L」レベルとする)。これにより、ページラッチ10は、センスデータラッチ9から出力されているセンスラッチデータSLDをラッチし、「D24」〜「D31」をページラッチデータPLDとして出力する。
出力ラッチ12は、ページセレクタ11から出力されているページデータPD(「D24」)を、内部クロックCLKの立ち上がりに同期して保持し、セレクタ13およびデータ出力制御部14を介して、アウトプットデータOUTとして出力する。
ページコントロール信号生成部43は、内部クロックCLKの立ち上がりに同期して、ページコントロール信号PCを「P0」から「P1」にインクリメントし、「P1」をページコントロール信号PCとして出力する。これにより、ページセレクタ11は、ページラッチ10が出力しているページラッチデータPLDの中から、ページコントロール信号PC(「P1」)に対応する「D25」を選択して、「D25」をページデータPDとして出力する。
以降、順次処理が繰り返し行われる。
図8が、ファーストレイテンシが6サイクル、開始アドレスの下位4ビットが「6」の場合における、従来例の各回路の動作のタイミングチャートを示している。
時刻t2001〜t2006、およびt2062において、図7において説明した時刻t1001〜t1006、およびt1062と同様の動作が行われる。
時刻t2007において、ファーストレイテンシカウンタ34は計数値を「1」デクリメントして「0」にする。
アドレスカウンタ33は、最初のメモリアクセスが完了しているので、入力される内部クロックCLKの立ち上がりに同期して計数値を「1」インクリメントし、次にアクセスするバーストアドレスBADとして出力する。
このとき、アドレス変化検出部41は、アドレスカウンタ33の出力するバーストアドレスBADが変化したことを検出して、ATD回路8に対してワンショットパルスの検出信号DTを出力する。この検出信号DTがATD回路8により所定時間(メモリのアクセス時間)遅延させられ、時刻t2112においてセンスアンプコントロール信号SCとしてセンスデータラッチ9に入力され、センスデータラッチ9は、センスアンプ7から出力されるメモリデータMDをラッチして、「D14」〜「D15」をセンスラッチデータSLDとして出力する。
時刻t2007において、データカウンタ書込部39は、有効データの出力に必要なクロックサイクルを計数するために、ファーストレイテンシカウンタ34の計数値が「1」である場合に入力される内部クロックCLKの立ち上がりに同期して、有効データレジスタ32に記憶されているデータ計数初期値「7」を読み込み、読み込んだデータ計数初期値「7」をデータカウンタ35に対して計数の初期値として書き込む。
境界カウンタ書込部40は、ファーストレイテンシカウンタ34の計数値が「1」である場合に入力される内部クロックCLKの立ち上がりに同期して、ファーストレイテンシレジスタ31に記憶されているウェイト計数初期値「5」を読み込み、読み込んだウェイト計数初期値「5」を16W境界カウンタ36に対して計数の初期値として書き込む。
ページラッチ信号生成部42は、ファーストレイテンシカウンタ34の計数値が「1」である場合に入力される内部クロックCLKの立ち上がりに同期して、時刻t2002において立ち上げたページラッチ信号PLを立ち下げる(「H」レベルから「L」レベルとする)。これにより、ページラッチ10は、センスデータラッチ9から出力されているセンスラッチデータSLDをラッチし、「D6」〜「D13」をページラッチデータPLDとして出力する。
出力ラッチ12は、ページセレクタ11から出力されているページデータPD(「D6」:下位4ビット「6」に対応したワードデータ)を、内部クロックCLKの立ち上がりに同期して保持し、セレクタ13およびデータ出力制御部14を介して、アウトプットデータOUTとして出力する。
ページコントロール信号生成部43は、内部クロックCLKの立ち上がりに同期して、ページコントロール信号PCを「P6」から「P7」にインクリメントし、「P7」をページコントロール信号PCとして出力する。これにより、ページセレクタ11は、ページラッチ10が出力しているページラッチデータPLDの中から、ページコントロール信号PC(「P7」)に対応する「D7」を選択して、「D7」をページデータPDとして出力する。
ウェイト信号生成部44は、ファーストレイテンシカウンタ34の計数値が「1」である場合に入力される内部クロックCLKの立ち上がりに同期して、時刻t2002において立ち上げたウェイト信号WAITを立ち下げる(「H」レベルから「L」レベルとする)。
時刻t2008〜t2014にかけて、データカウンタ35は、内部クロックCLKの立ち上がりに同期して、計数値を「1」デクリメントし(「7」→「6」→「5」→「4」→「3」→「2」→「1」→「0」)、計数値が「0」になる。
時刻t2008〜t2012にかけて、16W境界カウンタ36は、内部クロックCLKの立ち上がりに同期して、計数値を「1」デクリメントし(「5」→「4」→「3」→「2」→「1」→「0」)、計数値が「0」になる。
時刻t2008〜t2014にかけて、出力ラッチ12は、ページセレクタ11から出力されているページデータPDを、内部クロックCLKの立ち上がりに同期して保持し、セレクタ13およびデータ出力制御部14を介して、アウトプットデータOUTとして出力する(「D7」〜「D13」)。
ページコントロール信号生成部43は、内部クロックCLKの立ち上がりに同期して、ページコントロール信号PCをインクリメントし、インクリメント後の値をページコントロール信号PCとして出力する(「P0」〜「P6」)。これにより、ページセレクタ11は、ページラッチ10が出力しているページラッチデータPLDの中から、ページコントロール信号PCに対応するワードデータを選択して、選択したワードデータをページデータPDとして出力する(「D8」〜「D14」)。
時刻t2014において、ページラッチ信号生成部42は、16W境界カウンタ36の計数値が「0」でデータカウンタ35の計数値が「1」である場合に入力される内部クロックCLKの立ち上がりに同期して、ページラッチ信号PLを立ち上げる(「L」レベルから「H」レベルとする)。
時刻t2015において、有効データの出力とメモリアクセスの双方が完了することになるので、アドレスカウンタ33は、データカウンタ35の計数値が「0」で16W境界カウンタ36の計数値が「0」である場合に入力される内部クロックCLKの立ち上がりに同期して、計数値を「1」インクリメントし、次にアクセスするバーストアドレスBADとして出力する。
このとき、アドレス変化検出部41は、アドレスカウンタ33の出力するバーストアドレスBADが変化したことを検出して、ATD回路8に対してワンショットパルスの検出信号DTを出力する。この検出信号DTがATD回路8により所定時間(メモリのアクセス時間)遅延させられ、時刻t2192において、センスアンプコントロール信号SCとしてセンスデータラッチ9に入力され、センスデータラッチ9は、センスアンプ7から出力されるメモリデータMDをラッチして、「D16」〜「D23」をセンスラッチデータSLDとして出力する。
時刻t2015において、データカウンタ書込部39は、有効データの出力に必要なクロックサイクルを計数するために、データカウンタ35の計数値が「0」で16W境界カウンタ36の計数値が「0」である場合に入力される内部クロックCLKの立ち上がりに同期して、有効データレジスタ32に記憶されているデータ計数初期値「1」を読み込み、読み込んだデータ計数初期値「1」をデータカウンタ35に対して計数の初期値として書き込む。
境界カウンタ書込部40は、データカウンタ35の計数値が「0」で16W境界カウンタ36の計数値が「0」である場合に入力される内部クロックCLKの立ち上がりに同期して、ファーストレイテンシレジスタ31に記憶されているウェイト計数初期値「5」を読み込み、読み込んだウェイト計数初期値「5」を16W境界カウンタ36に対して計数の初期値として書き込む。
ページラッチ信号生成部42は、データカウンタ35の計数値のデクリメント処理が行われて「0」になっているので、入力される内部クロックCLKの立ち上がりに同期して、時刻t2014において立ち上げたページラッチ信号PLを立ち下げる(「H」レベルから「L」レベルとする)。これにより、ページラッチ10は、センスデータラッチ9から出力されているセンスラッチデータSLDをラッチし、「D14」〜「D15」をページラッチデータPLDとして出力する。
出力ラッチ12は、ページセレクタ11から出力されているページデータPD(「D14」)を、内部クロックCLKの立ち上がりに同期して保持し、セレクタ13およびデータ出力制御部14を介して、アウトプットデータOUTとして出力する。
ページコントロール信号生成部43は、内部クロックCLKの立ち上がりに同期して、ページコントロール信号PCを「P6」から「P7」にインクリメントし、「P7」をページコントロール信号PCとして出力する。ページコントロール信号生成部43は、データカウンタ35の計数値が「1」で16W境界カウンタ36の計数値が「3」以上の「5」であるので動作を停止する(計数を行わない状態)。
これにより、ページセレクタ11は、ページラッチ10が出力しているページラッチデータPLDの中から、ページコントロール信号PC(「P7」)に対応する「D15」を選択して、「D15」をページデータPDとして出力する。
時刻t2016において、データカウンタ35は、内部クロックCLKの立ち上がりに同期して、計数値を「1」デクリメントして計数値を「0」にする。また、16W境界カウンタ36は、内部クロックCLKの立ち上がりに同期して、計数値を「1」デクリメントして計数値を「4」にする。
出力ラッチ12は、ページセレクタ11から出力されているページデータPD(「D15」)を、内部クロックCLKの立ち上がりに同期して保持し、セレクタ13およびデータ出力制御部14を介して、アウトプットデータOUTとして出力する。
バースト制御部3は、データカウンタ35の計数が「1」である場合に入力される内部クロックCLKの立ち上がりに同期して、時刻t2002において立ち上げた16W境界信号を立ち下げる。
時刻t2017において、ウェイト信号生成部44は、データカウンタ35の計数値が「0」で16ワード境界カウンタ33の計数値が「2」以上の「4」であるので、つまり、有効データの全てを出力してもメモリアクセスが完了しないので、内部クロックCLKの立ち上がりに同期して、ウェイト信号WAITを立ち上げる(「L」レベルから「H」レベルにする)。
16W境界カウンタ36は、内部クロックCLKの立ち上がりに同期して、計数値を「1」デクリメントして計数値を「3」にする。
時刻t2018において、16W境界カウンタ36は、内部クロックCLKの立ち上がりに同期して、計数値を「1」デクリメントして計数値を「2」にする。ページコントロール信号生成部43は、16W境界カウンタ36の計数値が「2」になったので動作を開始する(計数する状態)。
時刻t2019において、ページラッチ信号生成部42は、データカウンタ35の計数値が「0」で16W境界カウンタ36の計数値が「2」である場合に入力される内部クロックCLKの立ち上がりに同期して、ページラッチ信号PLを立ち上げる(「L」レベルから「H」レベルとする)。
16W境界カウンタ36は、内部クロックCLKの立ち上がりに同期して、計数値を「1」デクリメントして計数値を「1」にする。
ページコントロール信号生成部43は、内部クロックCLKに同期して、ページコントロール信号PCを「P7」から「P0」にインクリメントし、「P0」をページコントロール信号PCとして出力する。これにより、ページセレクタ11は、ページラッチ10が出力しているページラッチデータPLDの中から、ページコントロール信号PC(「P0」)に対応する「D16」を選択して、「D16」をページデータPDとして出力する。
時刻t2020において、有効データの出力とメモリアクセスの双方が完了することになるので、アドレスカウンタ33は、データカウンタ35の計数値が「0」で16W境界カウンタ36の計数値が「1」である場合に入力される内部クロックCLKの立ち上がりに同期して、計数値を「1」インクリメントし、次にアクセスするバーストアドレスBADとして出力する。このとき、アドレス変化検出部41は、アドレスカウンタ33の出力するバーストアドレスBADが変化したことを検出して、ATD回路8に対してワンショットパルスの検出信号DTを出力する。
時刻t2020において、データカウンタ書込部39は、有効データの出力に必要なクロックサイクルを計数するために、データカウンタ35の計数値が「0」で16W境界カウンタ36の計数値が「1」である場合に入力される内部クロックCLKの立ち上がりに同期して、有効データレジスタ32に記憶されているデータ計数初期値「7」を読み込み、読み込んだデータ計数初期値「7」をデータカウンタ35に対して計数の初期値として書き込む。
ページラッチ信号生成部42は、16W境界カウンタ36の計数値がデクリメント処理されて「1」になっているので、内部クロックCLKの立ち上がりに同期して、時刻t2019において立ち上げたページラッチ信号PLを立ち下げる(「H」レベルから「L」レベルとする)。これにより、ページラッチ10は、センスデータラッチ9から出力されているセンスラッチデータSLDをラッチし、「D16」〜「D23」をページラッチデータPLDとして出力する。
出力ラッチ12は、ページセレクタ11から出力されているページデータPD(「D16」)を、内部クロックCLKの立ち上がりに同期して保持し、セレクタ13およびデータ出力制御部14を介して、アウトプットデータOUTとして出力する。
さらに、ページコントロール信号生成部43は、内部クロックCLKに同期して、ページコントロール信号PCを「P0」から「P1」にインクリメントし、「P1」をページコントロール信号PCとして出力する。これにより、ページセレクタ11は、ページラッチ10が出力しているページラッチデータPLDの中から、ページコントロール信号PC(「P1」)に対応する「D17」を選択して、「D17」をページデータPDとして出力する。
ウェイト信号生成部44は、データカウンタ35の計数値が「0」で16W境界カウンタ36の計数値が「1」である場合に入力される内部クロックCLKの立ち上がりに同期して、時刻t2017において立ち上げたウェイト信号WAITを立ち下げる(「H」レベルから「L」レベルとする)。
それ以降、図7における時刻t1013以降と同様の動作が行われる。
図9が、ファーストレイテンシが6サイクル、開始アドレスの下位4ビットが「8」の場合における、従来例の各回路の動作のタイミングチャートを示している。
時刻t3001〜t3006、およびt3062において、図7において説明した時刻t1001〜t1006、およびt1062と同様の動作が行われる。
時刻t3007において、ファーストレイテンシカウンタ34は計数値を「1」デクリメントして「0」にする。
アドレスカウンタ33は、最初のメモリアクセスが完了しているので、計数値を「1」インクリメントし、次にアクセスするバーストアドレスBADとして出力する。
このとき、アドレス変化検出部41は、アドレスカウンタ33の出力するバーストアドレスBADが変化したことを検出して、ATD回路8に対してワンショットパルスの検出信号DTを出力する。この検出信号DTがATD回路8により所定時間(メモリのアクセス時間)遅延させられ、時刻t3112において、センスアンプコントロール信号SCとしてセンスデータラッチ9に入力され、センスデータラッチ9は、センスアンプ7から出力されるメモリデータMDをラッチして、「D16」〜「D23」をセンスラッチデータSLDとして出力する。
時刻t3007において、データカウンタ書込部39は、有効データの出力に必要なクロックサイクルを計数するために、ファーストレイテンシカウンタ34の計数値が「1」である場合に入力される内部クロックCLKの立ち上がりに同期して、有効データレジスタ32に記憶されているデータ計数初期値「7」を読み込み、読み込んだデータ計数初期値「7」をデータカウンタ35に対して計数の初期値として書き込む。
境界カウンタ書込部40は、ファーストレイテンシカウンタ34の計数値が「1」である場合に入力される内部クロックCLKの立ち上がりに同期して、ファーストレイテンシレジスタ31に記憶されているウェイト計数初期値「5」を読み込み、読み込んだウェイト計数初期値「5」を16W境界カウンタ36に対して計数の初期値として書き込む。
ページラッチ信号生成部42は、ファーストレイテンシカウンタ34の計数値が「1」である場合に入力される内部クロックCLKの立ち上がりに同期して、時刻t3002において立ち上げたページラッチ信号PLを立ち下げる(「H」レベルから「L」レベルとする)。これにより、ページラッチ10は、センスデータラッチ9から出力されているセンスラッチデータSLDをラッチし、「D8」〜「D15」をページラッチデータPLDとして出力する。
出力ラッチ12は、ページセレクタ11から出力されているページデータPD(「D8」:下位4ビット「8」に対応したワードデータ)を、内部クロックCLKの立ち上がりに同期して保持し、セレクタ13およびデータ出力制御部14を介して、アウトプットデータOUTとして出力する。
ページコントロール信号生成部43は、内部クロックCLKに同期して、ページコントロール信号PCを「P0」から「P1」にインクリメントし、「P1」をページコントロール信号PCとして出力する。これにより、ページセレクタ11は、ページラッチ10が出力しているページラッチデータPLDの中から、ページコントロール信号PC(「P1」)に対応する「D9」を選択して、「D9」をページデータPDとして出力する。
ウェイト信号生成部44は、ファーストレイテンシカウンタ34の計数値が「1」である場合に入力される内部クロックCLKの立ち上がりに同期して、時刻t3002において立ち上げたウェイト信号WAITを立ち下げる(「H」レベルから「L」レベルとする)。
時刻t3008〜t3014にかけて、データカウンタ35は、内部クロックCLKの立ち上がりに同期して、計数値を「1」デクリメントし(「7」→「6」→「5」→「4」→「3」→「2」→「1」→「0」)、計数値が「0」になる。
時刻t3008〜t3012において、16W境界カウンタ36は、内部クロックCLKの立ち上がりに同期して、計数値を「1」デクリメントし(「5」→「4」→「3」→「2」→「1」→「0」)、計数値が「0」になる。
時刻t3008〜t3014にかけて、出力ラッチ12は、ページセレクタ11から出力されているページデータPDを、内部クロックCLKの立ち上がりに同期して保持し、セレクタ13およびデータ出力制御部14を介して、アウトプットデータOUTとして出力する(「D9」〜「D15」)。
ページコントロール信号生成部43は、内部クロックCLKに同期して、ページコントロール信号PCをインクリメントし、インクリメント後の値をページコントロール信号PCとして出力する(「P2」〜「P7」、「P0」)。これにより、ページセレクタ11は、ページラッチ10が出力しているページラッチデータPLDの中から、ページコントロール信号PCに対応するワードデータを選択して、選択したワードデータをページデータPDとして出力する(「D10」〜「D16」)。
時刻t3014において、ページラッチ信号生成部42は、データカウンタ35の計数値が「1」で16W境界カウンタ36の計数値が「0」である場合に入力される内部クロックCLKの立ち上がりに同期して、ページラッチ信号PLを立ち上げる(「L」レベルから「H」レベルとする)。
バースト制御部3は、データカウンタ35の計数が「1」である場合に入力される内部クロックCLKの立ち上がりに同期して、時刻t3002において立ち上げた16W境界信号を立ち下げる。
時刻t3015において、有効データの出力とメモリアクセスの双方が完了することになるので、アドレスカウンタ33は、データカウンタ35の計数値が「0」で16W境界カウンタ36の計数値が「0」である場合に入力される内部クロックCLKの立ち上がりに同期して、計数値を「1」インクリメントし、次にアクセスするバーストアドレスBADとして出力する。
このとき、アドレス変化検出部41は、アドレスカウンタ33の出力するバーストアドレスBADが変化したことを検出して、ATD回路8に対してワンショットパルスの検出信号DTを出力する。この検出信号DTがATD回路8により所定時間(メモリのアクセス時間)遅延させられ、時刻t3192においてセンスアンプコントロール信号SCとしてセンスデータラッチ9に入力され、センスデータラッチ9は、センスアンプ7から出力されるメモリデータMDをラッチして、「D24」〜「D31」をセンスラッチデータSLDとして出力する。
時刻t3015において、データカウンタ書込部39は、有効データの出力に必要なクロックサイクルを計数するために、16W境界カウンタ36の計数値が「0」でデータカウンタ35の計数値が「0」である場合に入力される内部クロックCLKの立ち上がりに同期して、有効データレジスタ32に記憶されているデータ計数初期値「7」を読み込み、読み込んだデータ計数初期値「7」をデータカウンタ35に対して計数の初期値として書き込む。
ページラッチ信号生成部42は、データカウンタ35の計数値のデクリメント処理が行われて「0」となった場合に入力される内部クロックCLKの立ち上がりに同期して、時刻t3014において立ち上げたページラッチ信号PLを立ち下げる(「H」レベルから「L」レベルとする)。これにより、ページラッチ10は、センスデータラッチ9から出力されているセンスラッチデータSLDをラッチし、「D16」〜「D23」をページラッチデータPLDとして出力する。
出力ラッチ12は、ページセレクタ11から出力されている「D16」のページデータPDを、内部クロックCLKの立ち上がりに同期して保持し、セレクタ13およびデータ出力制御部14を介して、アウトプットデータOUTとして出力する。
ページコントロール信号生成部43は、内部クロックCLKに同期して、ページコントロール信号PCを「P0」から「P1」にインクリメントし、「P1」をページコントロール信号PCとして出力する。これにより、ページセレクタ11は、ページラッチ10が出力しているページラッチデータPLDの中から、ページコントロール信号PC(「P1」)に対応する「D17」を選択して、「D17」をページデータPDとして出力する。
ただし、時刻t3015において、データカウンタ35の計数値が「0」であるが、16W境界カウンタ36の計数値も「0」になっている、つまり、有効データの全てを出力するまでにメモリアクセスが完了するため、最初の16ワード境界にて境界前ウェイトサイクルが発生せず、ウェイト信号WAITが立ち上がることがない。
時刻t3016以降、図7における時刻t1013以降と同様の動作が行われる。
上述した従来のフラッシュメモリにおける各組合わせ(下位アドレスとファーストレイテンシとの組合わせ)における最初の16ワード境界において発生する境界前ウェイトサイクルのサイクル数を図10に示す。図10は従来のフラッシュメモリにおける16ワード境界前のウェイトサイクル数を示す図である。
図10に示すように、開始アドレスの下位4ビットの夫々に対して、有効データ数と最初の16ワード境界におけるウェイトサイクル数(図においては16ワード境界ウェイトサイクル数と記載)を示している。
有効データ数に関して、「1st」は最初の16ワード境界前の1回目のメモリアクセスでメモリセルアレイから読み出される有効データの数であり、「2nd」は最初の16ワード境界前の2回目のメモリアクセスでメモリセルアレイから読み出される有効データの数である。
また、「境界前」は、開始アドレスの下位4ビットが「0」から「7」の場合には「2nd」のメモリアクセス(最初の16境界前の2回目のメモリアクセス)でメモリセルアレイから読み出される有効データの数であり、下位4ビットが「8」から「F(15)」の場合には「1st」のメモリアクセス(最初の16境界前の1回目のメモリアクセス)でメモリセルアレイから読み出される有効データの数ということになる。
waitに続く数字はファーストレイテンシのクロックサイクル数であり、例えば「wait8」はファーストレイテンシのクロックサイクル数が8であることを示している。
図10に示されると通り、ファーストレイテンシが6サイクル、開始アドレスの下位4ビットが「E(14)」の場合(図7)、16ワード境界ウェイトサイクル数は「3」である。また、ファーストレイテンシが6サイクル、開始アドレスの下位4ビットが「6」の場合(図8)、16ワード境界ウェイトサイクル数は「3」である。さらに、ファーストレイテンシが6サイクル、開始アドレスの下位4ビットが「8」の場合(図9)、16ワード境界ウェイトサイクル数は「0」である。
特開2001−176277号公報
ページラッチ10に保持されているワードデータは外部にバースト出力されると、外部にバースト出力されたワードデータがページラッチ10において保持しておく必要がなくなる。しかしながら、上述した従来のフラッシュメモリは、ページラッチ10の書き込みを1つのページコントロール信号PLで行っていたために、ページラッチ10に保持されている有効データの全てが外部にバースト出力されるまでは、ページラッチ10に対する書き込みを行うことができなかった。
例えば、ページラッチ10に保持されている最初の16ワード境界前の1回目のメモリアクセスで読み出された有効データの一部がバースト出力されて、バースト出力された有効データを保持していたページラッチ10の対応箇所に、最初の16ワード境界前の2回目のメモリアクセスで読み出された有効データを書き込み可能になったとしても、ページラッチ10に保持されている最初の16ワード境界前の1回目のメモリアクセスで読み出された有効データの全てがバースト出力されるまでは、最初の16ワード境界前の2回目のメモリアクセスで読み出された有効データがページラッチ10に書き込まれなかった。
このため、センスデータラッチ9においても、ページラッチ10に保持されているワードデータの全てがバースト出力されるまで現在保持しているワードデータを保持しなければならないことになり、次のメモリアクセスを開始することができないことになり、バースと読み出しの高速化の妨げになっている。
そこで、本発明は、ページラッチが保持している有効データの全てが外部にバースト出力される前にセンスデータラッチに保持されている有効データをページラッチに書き込むことができるようにして高速なバースト読み出しができる半導体メモリを提供することを目的とする。
本発明の半導体メモリは、外部から入力される先頭アドレスに基づき、マトリクス状に配置されたメモリ素子から読み出したメモリデータを外部クロックに同期させて連続して外部に出力するバースト読み出しの機能を有する半導体メモリであって、前記メモリ素子をM×N(M、Nは整数)本の読み出し線毎に分割したブロックと、前記ブロック毎に読み出し線に接続されたメモリ素子のメモリデータを読み出すN個のセンスアンプと、前記N個のセンスアンプ各々に対して、M×N本の読み出し線における何れのN本を接続するかの切り替えを行う切替スイッチと、前記センスアンプにより、前記読み出し線から読み出されたメモリデータをラッチするセンスデータラッチと、複数のページラッチ部に分割され、各ページラッチ部単位でメモリデータの書込処理を行うページラッチと、前記ページラッチのデータを順次取り込むページセレクタと、前記ページセレクタにより取り込まれたデータを外部クロックに同期して外部に出力する出力ラッチと、を有することを特徴とする。
上記半導体メモリにおいて、前記ページラッチ部毎に異なった制御信号が入力され、各ページラッチ部を独立にイネーブルとすることを特徴とする。
上記半導体メモリにおいて、前記センスデータラッチが出力するバースト出力すべきメモリデータをラッチする前記ページラッチ部に当該ページラッチ部をイネーブルとする制御信号が入力されることを特徴とする。
上記半導体メモリにおいて、前記ページラッチが保持するメモリデータを出力中に、メモリデータが出力され、前記センスデータラッチが出力するバースト出力すべきメモリデータをラッチする前記ページラッチ部をイネーブルとする制御信号が入力されることを特徴とする。
本発明によれば、ページラッチを複数のページラッチ部に分割し、各ページラッチ部単位でメモリデータの書込処理を行うため、保持していた有効データが外部にバースト出力されて有効データを保持する必要がなくなったページラッチ部のみにセンスデータラッチが保持している有効データの書き込みを行うことが可能になり、高速なバースト読み出しができるようになる。
以下、本発明の実施の形態のフラッシュメモリについて図面を参照しつつ説明する。
図11は本実施の形態のフラッシュメモリの構成を示す図である。
図11に示すフラッシュメモリには、上述した従来のフラッシュメモリと同様の動作を行う入力バッファ1、アドレスラッチ2、およびアドレス制御部4があり、上記の従来例の説明が適用できるため、説明を省略する。
フラッシュメモリには、バースト制御部3Aがある。バースト制御部3Aは、アドレスラッチ2から入力されるラッチアドレスLADを先頭アドレス(スタートアドレス、開始アドレス)とし、先頭アドレス(A0〜A22)の上位ビット(8ワード単位の読み出しを対象とする場合はA3〜A22)をバーストアドレスBADとして出力する。続いて、バーストアドレスBADを、後述する通り、所定の計数タイミングにて内部クロックCLKに同期して「1」インクリメントして新たなバーストアドレスBADとして出力する。また、バースト制御部3Aは、このバーストアドレスBADの変化を検出して後述する検出信号DTを出力する。
また、バースト制御部3Aは、後述する通り、内部クロックCLKに同期して、ページラッチ信号PL0〜PL3、ページコントロール信号PC、アウトプットコントロール信号OPC、およびウェイト信号WAITを生成して出力し、さらに、初期時に設定されたアクセスのモード(ランダム/非同期)に応じて同期/非同期セレクト信号SELを生成して出力する。
フラッシュメモリには、上述した従来のフラッシュメモリと同様のデコーダ5、メモリセルアレイ6、センスアンプ7、ATD回路8があり、上記の従来例の説明が適用できるため、説明を省略する。
メモリセルアレイ6は、従来例において記載した通り、複数のメモリセル(メモリ素子)がマトリクス状に配置されて形成されている。メモリセル(メモリ素子)はM×N(M、Nは整数であり、本実施の形態においては、Mは2、Nは8である)本の読み出し線毎にブロックに分割されており、このブロックをまたいで一度にメモリアクセスすることができない。
センスアンプ7は、従来例において記載した通り、8個のセンスアンプ7−0〜7−7からなる(図4参照)。そして、図4を参照して説明した通り、スイッチ機構100により、センスアンプ7−0〜7−7の各々に対しM×N本の読み出し線のいずれかのN本の読み出し線に接続するかの切り替えが行われる。
フラッシュメモリには、センスデータラッチ9Aがある。センスデータラッチ9Aは、内部クロックCLKと非同期のセンスアンプコントロール信号SCの「H」レベルの期間において、入力されるメモリデータをそのまま通過させて出力し、そのセンスアンプコントロール信号SCの「L」レベルに遷移すると、その「L」レベルとなった時点において入力されていたメモリデータをラッチ(保持)して、センスラッチデータSLD(SLD01、SLD23、SLD45、SLD67)として出力する。なお、センスラッチデータSLD01〜SLD67は、夫々、2ページ分のワードデータであり、センスラッチデータSLD01は、センスアンプ7−0により読み出されたメモリデータからなるワードデータWD0、センスアンプ7−1により読み出されたメモリデータからなるワードデータWD1に対応し、センスラッチデータSLD23は、センスアンプ7−2により読み出されたメモリデータからなるワードデータWD2、センスアンプ7−3により読み出されたメモリデータからなるワードデータWD3に対応する。また、センスラッチデータSLD45は、センスアンプ7−4により読み出されたメモリデータからなるワードデータWD4、センスアンプ7−5により読み出されたメモリデータからなるワードデータWD5に対応し、センスラッチデータSLD67は、センスアンプ7−6により読み出されたメモリデータからなるワードデータWD6、センスアンプ7−7により読み出されたメモリデータからなるワードデータWD7に対応する。
フラッシュメモリには、ページラッチ10Aがある。ページラッチ10Aは、互いに独立して(個別に)イネーブル状態(書込処理)が可能な4つのページラッチ部10−0〜10−3に分割して構成されている。ページラッチ部10−0〜10−3は、後述するページラッチ信号PL0〜PL3により、個別に、センスラッチデータSLD01〜SLD67を保持する。例えば、ページラッチ信号PL3のみを「H」レベルにすることによってページラッチ部10−3のみイネーブル状態になり、ページラッチ部10−3は保持するデータの書き換えが行われ、ページラッチ部10−0〜10−2はそのまま同じデータを保持し続けることになる。
フラッシュメモリには、ページセレクタ11Aがある。ページセレクタ11Aは、ページコントロール信号PCにより、ページラッチ10A(ページラッチ部10−0〜10−3)から出力されている複数のワードデータ(複数のメモリデータからなる)を順次選択して、ページデータPDとして、出力ラッチ12およびセレクタ13の夫々へ出力する。
例えば、ページセレクタ11Aは、ページコントロール信号PCが「P0」の場合、センスラッチデータSLD01の下位15ビット(ワードデータWD0に相当)をページデータPDとして出力する。また、ページセレクタ11Aは、ページコントロール信号PCが「P6」の場合、センスラッチデータSLD56の上位15ビット(ワードデータWD6に相当)をページデータPDとして出力する。
フラッシュメモリには、上述した従来のフラッシュメモリと同様の動作を行う出力ラッチ12、セレクタ13、データ出力制御部14、およびレディ出力制御部15があり、上記の従来例の説明が適用できるため、説明を省略する。
次に、図11におけるバースト制御部3Aの詳細について図12を参照しつつ説明する。図12はバースト制御部3Aの構成例を示すブロック図である。
バースト制御部3Aには、ファーストレイテンシレジスタ31Aがあり、ファーストレイテンシレジスタ31Aは、外部から入力されるファーストレイテンシのウェイトサイクル数から「1」減算した値(ウェイト計数初期値)を記憶するレジスタである。このファーストレイテンシレジスタ31Aへの書き込みはバースト読み出しなどが実際に行われるよりも前のタイミングで、不図示の制御回路により行われる。
バースト制御部3Aには、有効データレジスタ32Aがあり、有効データレジスタ32Aは有効データ数から「1」減算した値(データ計数初期値)を記憶する。有効データ数は、最初の16ワード境界においては最初の16ワード境界前の出力すべき有効なデータの数、それ以外においては1回のメモリアクセスにおいてメモリセルアレイ6からセンスしたデータのうちバースト出力すべき有効なデータの数である。
バースト制御部3Aには、アドレスカウンタ33Aがある。アドレスカウンタ33Aは、アドレスラッチ信号ALATの立ち下がりに同期して、アドレスラッチ2から入力されるラッチアドレスLAD(22ビット)の下位3ビットを除いた、「3〜22ビット」が示す上位アドレスをスタートのバーストアドレスBADとして出力する。アドレスカウンタ33Aは、後述するファーストレイテンシカウンタ34Aの計数値が「1」で場合に入力される内部クロックCLKの立ち上がりに同期してバーストアドレスBADを「1」インクリメントして次にメモリアクセスするバーストアドレスBADとして出力する。また、アドレスカウンタ33Aは、データカウンタ35Aの計数値が「8」で16W境界カウンタ36Aの計数値が「1」および「0」のいずかである場合に入力される内部クロックCLKの立ち上がりに同期して、また、データカウンタ35Aの計数値が「8」であるときに16W境界カウンタ36Aの計数値が「2」以上であれば16W境界カウンタ36Aの計数値のデクリメント処理が行われて「1」となった場合に入力される内部クロックCLKの立ち上がりに同期して、バーストアドレスBADを「1」インクリメントして次にメモリアクセスするバーストアドレスBADとして出力する。さらに、アドレスカウンタ33Aは、データカウンタ35Aの計数値が「0」で16W境界カウンタ36の計数値が「1」および「0」のいずかである場合に入力される内部クロックCLKの立ち上がりに同期してバーストアドレスBADを「1」インクリメントして次にメモリアクセスするバーストアドレスBADとして出力する。
バースト制御部3Aには、ファーストレイテンシカウンタ34Aがある。ファーストレイテンシカウンタ34Aは、ファーストレイテンシのクロックサイクル数を計数するために利用されるものである。ファーストレイテンシカウンタ34Aにはファーストレイテンシレジスタ31Aに記憶されているウェイト計数初期値が計数の初期値として書き込まれる。ファーストレイテンシカウンタ34Aは、内部クロックCLKの立ち上がりに同期して、計数値を「1」デクリメントする。
バースト制御部3Aには、データカウンタ35Aがある。データカウンタ35Aは最初の16ワード境界前においては最初の16ワード境界までの有効データのうちのまだバースト出力されていない有効データの数を計数するものである。また、データカウンタ35Aは最初の16ワード境界前以外においては1回のメモリアクセスで読み出される有効データのうちのまだバースト出力されていない有効データの数を計数するものである。データカウンタ35Aには有効データレジスタ32Aに記憶されているデータ計数初期値が計数の初期値として書き込まれる。データカウンタ35Aは、内部クロックCLKの立ち上がりに同期して、計数値を「1」デクリメントする。このデータカウンタ35Aは、従来例において説明したデータカウンタ35が「3」ビットで構成されているのに対して「4」ビットにより構成されており、最大「15」計数できるようになっている。
バースト制御部3Aには、16W境界カウンタ36Aがある。16W境界カウンタ36Aは16ワード境界の境界前ウェイトを計数するために利用されるものである。16W境界カウンタ36Aにはファーストレイテンシレジスタ31Aに記憶されているウェイト計数初期値が計数の初期値として書き込まれる。16W境界カウンタ36Aは、内部クロックCLKの立ち上がりに同期して、計数値を「1」デクリメントする。
バースト制御部3Aには、レイテンシカウンタ書込部37Aがある。レイテンシカウンタ書込部37Aは、アドレスラッチ信号ALATの立ち下がりに同期して、ファーストレイテンシレジスタ31Aに記憶されているウェイト計数初期値を読み込み、読み込んだウェイト計数初期値をファーストレイテンシカウンタ34Aに対して計数の初期値として書き込む。
バースト制御部3Aには、有効データレジスタ書込部38Aがある。有効データレジスタ書込部38Aは、バースト読み出し開始時に、或いは、後述するデータカウンタ書込部39Aが有効データレジスタ32Aからデータ計数初期値を読み込んだ時に、データ計数初期値の算出を開始し、算出が完了した時点で算出したデータ計数初期値を有効データレジスタ32Aに書き込む。有効データレジスタ書込部38Aは、バースト読み出しの開始時の最初のメモリアクセスにおいては最初の16ワード境界までの有効データの数(図16の「境界前」に示される値)から「1」減算した値(データ計数初期値)を算出し、算出結果を有効データレジスタ32Aに書き込む。有効データレジスタ書込部38Aは、最初の16ワード境界を越えた後のメモリアクセスにおいては1回のメモリアクセスでメモリセルアレイ6から読み出される有効データの数(固定値「8」)から「1」減算した値(データ計数初期値)を算出し、算出結果を有効データレジスタ32Aに書き込む。
つまり、有効データレジスタ書込部38Aは、開始アドレスの下位4ビットを夫々反転して、その結果をデータ計数値とする。例えば、開始アドレスの下位4ビットが「6」(0(最上位ビット)、1(3ビット目)、1(2ビット目)、0(最下位ビット))のとき、これを反転して「1001」(9)を求め、求めた「9」をデータ計数初期値として有効データレジスタ32Aに書き込む。
それ以降、有効データレジスタ書込部38Aは、固定値「7」をデータ計数初期値とし、有効データレジスタ32Aに書き込む。
バースト制御部3Aには、データカウンタ書込部39Aがある。データカウンタ書込部39Aは、ファーストレイテンシカウンタ34Aの計数値が「1」である場合に入力される内部クロックCLKの立ち上がりに同期して、有効データレジスタ32Aに記憶されているデータ計数初期値を読み込み、読み込んだデータ計数初期値をデータカウンタ35Aに対して計数の初期値として書き込む。
データカウンタ書込部39Aは、データカウンタ35Aの計数値が「0」で16W境界カウンタ36Aの計数値が「1」および「0」の何れかである場合に入力される内部クロックCLKの立ち上がりに同期して、有効データレジスタ32Aに記憶されているデータ計数初期値を読み込み、読み込んだデータ計数初期値をデータカウンタ35Aに対して計数の初期値として書き込む。
バースト制御部3Aには、境界カウンタ書込部40Aがある。境界カウンタ書込部40Aは、ファーストレイテンシカウンタ34Aの計数値が「1」である場合に入力される内部クロックCLKの立ち上がりに同期して、ファーストレイテンシレジスタ36Aに記憶されているウェイト計数初期値を読み込み、読み込んだウェイト計数初期値を16W境界カウンタ36Aに対して計数の初期値として書き込む。
境界カウンタ書込部40Aは、データカウンタ35Aの計数値が「8」で16W境界カウンタ36Aの計数値が「1」および「0」のいずかである場合に入力される内部クロックCLKの立ち上がりに同期して、また、データカウンタの計数値が「8」であるときに16W境界カウンタ36の計数値が「2」以上であれば16W境界カウンタ36Aの計数値のデクリメント処理が行われて計数値が「1」となった場合に入力される内部クロックCLKの立ち上がりに同期して、ファーストレイテンシレジスタ31Aに記憶されているウェイト計数初期値を読み込み、読み込んだウェイト計数初期値を16W境界カウンタ36Aに対して計数の初期値として書き込む。
バースト制御部3Aには、アドレス変化検出部41Aがある。アドレス変化検出部41Aは、バーストアドレスBADの変化を検出して、ワンショットのパルスを生成して、検出信号DTとして出力する。検出信号DTは、ATD回路8により所定時間(メモリのアクセス時間)遅延させられ、センスアンプコントロール信号SCとしてセンスデータラッチ9Aに供給される。
バースト制御部3Aには、ページラッチ信号生成部42Aがある。
ページラッチ信号生成部42Aは、バーストアドレスの開始時に、最初のメモリアクセスによりメモリセルアレイ6から読み出されてセンスデータラッチ9Aから出力されているワードデータをページラッチ部10−0〜10−3から出力するために、ページラッチ信号PL0〜PL3の全てを「H」レベルにしてページラッチ10A(ページラッチ部10−0〜10−3)をスルー状態にし、メモリアクセスが完了してメモリセルアレイ6から読み出されたワードデータがセンスデータラッチ9Aから出力されるようになった後であって、次のメモリアクセスでメモリセルアレイ6から読み出されたワードデータがセンスデータラッチ9から出力されるようになる前に、ページラッチ信号PL0〜PL3の全てを「L」レベルにしてセンスデータラッチ9Aが出力しているワードデータをラッチ(保持)する。
本実施の形態においては、ページラッチ信号生成部42Aは、アドレスラッチ信号ALATの立ち下がりに同期して、ページラッチ信号PL0〜PL3を全て「H」レベルに立ち上げる。このページラッチ信号PL0〜PL3の立ち上げに対して、ページラッチ信号生成部42Aは、ファーストレイテンシカウンタ34の計数値のデクリメント処理が行われて「1」となった場合に入力される内部クロックCLKの立ち上がりに同期して、ページラッチ信号PL0〜PL3を全て「L」レベルに立ち下げる。
上述したように、ページラッチ10Aは互いに独立してイネーブル状態になる、2ワード単位でラッチを行う4つのページラッチ部10−0〜10−3から構成されているため、ページラッチ10Aは8ワードデータをラッチすることができる。スタートアドレスの下位4ビットが「0」と「1」、「2」と「3」、「4」と「5」、「6」と「7」の夫々は、最初の16ワード境界前の2回目のメモリアクセスの有効データの数が「8」、「6」、「4」、「2」である。このため、スタートアドレスの下位4ビットが「2」〜「8」の場合、最初の16ワード境界前の1回目のメモリアクセスでメモリセルアレイ6から読み出されページラッチ10Aに保持されている有効データのバースト出力中であっても、下位4ビットが「2」、「3」の場合にはページラッチ部10−1〜10−3に保持されている有効データがバースト出力されて保持しておく必要がなくなった場合に、ページラッチ部10−1〜10−3をスルー状態にして、最初の16ワード境界前の2回目のメモリアクセスで読み出されてセンスデータラッチ9Aから出力されている有効データ(SLD23〜SLD67)に書き換えても有効データが損なわれることがない。また、下位4ビットが「4」、「5」の場合にはページラッチ部10−2〜10−3に保持されている有効データがバースト出力されて保持しておく必要がなくなった場合に、ページラッチ部10−2〜10−3をスルー状態にして、最初の16ワード境界前の2回目のメモリアクセスで読み出されてセンスデータラッチ9Aから出力されている有効データ(SLD45〜SLD67)に書き換えても有効データが損なわれることがない。さらに、下位4ビットが「6」、「7」の場合にはページラッチ部10−3に保持されている有効データがバースト出力されて保持しておく必要がなくなった場合に、ページラッチ部10−3をスルー状態にして、最初の16ワード境界前の2回目のメモリアクセスで読み出されてセンスデータラッチ9Aから出力されている有効データ(SLD67)に書き換えても有効データが損なわれることがない。ただし、下位4ビットが「0」、「1」の場合にも、ページラッチ部10−0〜10−3に保持されている有効データがバースト出力されて保持しておく必要がなくなった場合に、ページラッチ部10−0〜10−3をスルー状態にして、最初の16ワード境界前の2回目のメモリアクセスで読み出されてセンスデータラッチ9Aから出力されている有効データ(SLD01〜SLD67)に書き換えても有効データが損なわれることがない。
したがって、ページラッチ信号生成部42Aは、最初の16ワード境界前の1回目のメモリアクセスでメモリセルアレイ6から読み出された有効データのバースト出力中に(下位4ビットが「0」、「1」の場合にはバースト出力が終了した後に)、最初の16ワード境界前の2回目のメモリアクセスによりメモリセルアレイ6から読み出されてセンスデータラッチ9Aから出力されているワードデータをページラッチ部10−0〜10−3に書き込むために、センスデータラッチ9Aから出力されている有効データが書き込まれることになるページラッチ部(該当ページラッチ部)で保持されている有効データの全てがページセレクタ11に選択された後に該当ページラッチ部に入力されるページラッチ信号を「H」レベルにして該当ページラッチ部をスルー状態にする。その後に、該当ページラッチ部で保持されている有効データの全てがページセレクタ11により選択された後でかつ最初の16ワード境界前の2回目のメモリアクセスが完了してメモリセルアレイ6から読み出されたワードデータがセンスデータラッチ9Aから出力されるようになった後であって、最初の16ワード境界前の2回目のメモリアクセスの次のメモリアクセスでメモリセルアレイ6から読み出されたワードデータがセンスデータラッチ9から出力されるようになる前に「H」レベルにしたページラッチ信号を「L」レベルにしてセンスデータラッチ9Aが出力しているワードデータをラッチ(保持)する。
本実施の形態においては、ページラッチ信号生成部42Aは、データカウンタ35Aの計数値が「8」であるときに16W境界カウンタ36Aの計数値が「2」以上であれば、ページラッチ立ち上げ信号を「1」にし、16W境界カウンタ36の計数値のデクリメント処理が行われて「2」となった場合に入力される内部クロックCLKの立ち上がりに同期して、ワードデータの書き換えを行うページラッチ部に入力するページラッチ信号を立ち上げる。このページラッチ信号の立ち上げに対して、ページラッチ信号生成部42Aは、16W境界カウンタ36の計数値のデクリメント処理が行われて「1」となった場合に入力される内部クロックCLKの立ち上がりに同期して立ち上げたページラッチ信号を立ち下げる。
また、ページラッチ信号生成部42Aは、16W境界カウンタ36Aの計数値が「0」および「1」の何れかでデータカウンタ35Aの計数値が「9」である場合に入力される内部クロックCLKの立ち上がりに同期して、ワードデータの書き込みを行うページラッチ部に入力するページラッチ信号を立ち上げる。このページラッチ信号の立ち上げに対して、ページラッチ信号生成部42Aは、データカウンタ35Aの計数値のデクリメント処理が行われて「8」となった場合に入力される内部クロックCLKの立ち上がりに同期してページラッチ信号PL0〜PL3を立ち下げる。
また、最初の16ワード境界を越えた後のメモリアクセスでは、1回のメモリアクセスでメモリセルアレイ6から読み出される有効データの数が固定値の「8」であり、ページラッチ10Aで保持することができる最大数であるので、ページラッチ10Aのページラッチ部10−0〜10−3の一部のみの書き換えを行わずに、ページラッチ部10−0〜10−3の書き換えを同じタイミングで行う。
ページラッチ信号生成部42Aは、現在ページラッチ10Aから出力されている有効データの全てがページセレクタ11により選択されて、現在ページラッチ10Aから出力されている有効データをメモリセルアレイ6から読み出したメモリアクセス(第1対象メモリアクセスという)の次のメモリアクセス(第2対象メモリアクセスという)によりメモリセルアレイ6から読み出されてセンスデータラッチ9Aから出力されているワードデータをページラッチ部10−0〜10−3に書き込むために、現在ページラッチ10Aで保持されている有効データの全てがページセレクタ11に選択された後にページラッチ信号PL0〜PL3の全てを「H」レベルにしてページラッチ部10−0〜10−3の全てをスルー状態にする。その後に、現在ページラッチ10Aで保持されている有効データの全てがページセレクタ11に選択された後でかつ第2対象メモリアクセスが完了してメモリセルアレイ6から読み出されたワードデータがセンスデータラッチ9Aから出力されるようになった後であって、第2対象メモリアクセスの次のメモリアクセスでメモリセルアレイ6から読み出されたワードデータがセンスデータラッチ9から出力されるようになる前に「H」レベルにしたページラッチ信号PL0〜PL3の全てを「L」レベルにしてセンスデータラッチ9Aが出力しているワードデータをラッチ(保持)する。
本実施の形態においては、ページラッチ信号生成部42Aは、データカウンタ35Aの計数値が「0」または「1」の何れかで16W境界カウンタ36Aの計数値が「2」である場合に入力される内部クロックCLKの立ち上がりに同期してページラッチ信号PL0〜PL3の全てを立ち上げる。このページラッチ信号PL0〜PL3の立ち上げに対して、ページラッチ信号生成部42Aは、16W境界カウンタ36の計数値のデクリメント処理が行われて「1」となった場合に入力される内部クロックCLKの立ち上がりに同期してページラッチ信号PL0〜PL3の全てを立ち下げる。
または、ページラッチ信号生成部42Aは、16W境界カウンタ36Aの計数値が「0」および「1」の何れかでデータカウンタ35Aの計数値が「1」である場合に入力される内部クロックCLKの立ち上がりに同期してページラッチ信号PL0〜PL3の全てを立ち上げる。このページラッチ信号PL0〜PL3の立ち上げに対して、ページラッチ信号生成部42Aは、データカウンタ35Aの計数値のデクリメント処理が行われて「0」となった場合に入力される内部クロックCLKの立ち上がりに同期してページラッチ信号PL0〜PL3の全てを立ち下げる。
ここで、ページラッチ信号生成部42Aがデータカウンタ35Aの計数値「8」に関係して立ち上げ、立ち下げるページラッチ信号PL0〜PL3について示す。
開始アドレスの下位4ビットが「0000」、「0001」である場合、ページラッチ信号生成部42Aは、全てのページラッチ信号PL0〜PL3の立ち上げ、立ち下げを行う。
開始アドレスの下位4ビットが「0010」、「0011」である場合、ページラッチ信号生成部42Aは、ページラッチ信号PL1〜PL3の立ち上げ、立ち下げを行うが、ページラッチ信号PL0の立ち上げ、立ち下げを行わない。
開始アドレスの下位4ビットが「0100」、「0101」である場合、ページラッチ信号生成部42Aは、ページラッチ信号PL2〜PL3の立ち上げ、立ち下げを行うが、ページラッチ信号PL0〜PL1の立ち上げ、立ち下げを行わない。
開始アドレスの下位4ビットが「0110」、「0111」である場合、ページラッチ信号生成部42Aは、ページラッチ信号PL3の立ち上げ、立ち下げを行うが、ページラッチ信号PL0〜PL2の立ち上げ、立ち下げを行わない。
バースト制御部3Aには、ページコントロール信号生成部43Aがある。ページコントロール信号生成部43Aは、アドレスラッチ信号ALATの立ち下がりに同期して、開始アドレスの下位3ビットをページコントロール信号PCの初期値として読み込み、内部クロックCLKの立ち上がりに同期してページコントロール信号PCを「1」インクリメントし、インクリメント後の値を新たなページコントロール信号PCとして出力する。
ページコントロール信号生成部43Aは、初期値を読み込んだ後に動作を停止し、ファーストレイテンシカウンタ34Aの計数値が「1」になると動作を開始する。また、ページコントロール信号生成部43Aは、データカウンタ35Aの計数値が「1」のときに16W境界カウンタ36Aの計数値が「3」以上であれば動作を停止し、その後に16W境界カウンタ36Aの計数値が「2」になると動作を開始する。
バースト制御部3には、ウェイト信号生成部44Aがある。ウェイト信号生成部44Aは、アドレスラッチ信号ALATの立ち下がりに同期して、ウェイト信号WAITを立ち上げ、ファーストレイテンシカウンタ34Aの計数値が「1」である場合に入力される内部クロックCLKの立ち上がりに同期してウェイト信号WAITを立ち下げる。
また、ウェイト信号生成部44Aは、データカウンタ35Aの計数値が「0」で16W境界カウンタ36Aの計数値が「2」以上である場合に入力される内部クロックCLKの立ち上がりに同期して、ウェイト信号WAITを立ち上げる。このウェイト信号WAITの立ち上げに対して、16W境界カウンタ36Aの計数値のデクリメント処理が行われて「1」となった場合に入力される内部クロックCLKの立ち上がりに同期してウェイト信号WAITを立ち下げる。
バースト制御部3Aは、図示しない、同期/非同期セレクト信号SEL、およびアウトプットコントロール信号OPCの生成を行う。また、バースト制御部3Aは、アドレスラッチ信号ALATの立ち下がりに同期して、16W境界信号を「L」レベルから「H」レベルに立ち上げ、データカウンタ35Aの計数値のデクリメント処理が行われて「1」となった場合に入力される内部クロックCLKの立ち上がりに同期して、16W境界信号を「H」レベルから「L」レベルに立ち下げる。
以下、上述した本実施の形態のフラッシュメモリのバースト読み出しの動作について図面を参照しつつ説明する。
図13は、ファーストレイテンシが6サイクル、開始アドレスの下位4ビットが「E(14)」の場合における、本実施の形態の各回路の動作のタイミングチャートを示している。
時刻t101において、入力バッファ1がチップイネーブル信号CEB及びアドレスバリッド信号ADVBが「H」レベルから「L」レベルに遷移することにより、アドレスラッチ信号ALATを立ち上げ、立ち上げた後の次の内部クロックCLKの立ち上がりに同期してアドレスラッチ信号ALATを立ち下げる。
時刻t102において、アドレスカウンタ33Aは、アドレスラッチ2から入力されるラッチアドレスLAD(22ビット)の下位3ビットを除いた、「3〜22ビット」が示す上位アドレスを、計数の初期値として書き込まれ、バーストアドレスBADとして出力する。このバーストアドレスBADに基づき、センスアンプ7によりセンスされてメモリデータMDがセンスデータラッチ9Aに出力される。
このとき、アドレス変化検出部41Aは、アドレスカウンタ33Aの出力するバーストアドレスBADが変化したことを検出して、ATD回路8に対してワンショットパルスの検出信号DTを出力する。この検出信号DTがATD回路8により所定時間(アクセス時間)遅延させられ、時刻t162において、センスアンプコントロール信号SCとしてセンスデータラッチ9Aに入力され、センスデータラッチ9Aは、センスアンプ7から出力されるメモリデータMDをラッチして、「D14」、「D15」をセンスラッチデータSLD(センスラッチデータSLD67)として出力する。
時刻t102において、レイテンシカウンタ書込部37Aは、ファーストレイテンシのクロックサイクルを計数するために、ファーストレイテンシレジスタ31Aに記憶されているウェイト計数初期値「5」を読み込み、読み込んだウェイト計数初期値「5」をファーストレイテンシカウンタ34Aに対して計数の初期値として書き込む。
ページラッチ信号生成部42Aは、ページラッチ信号PL0〜PL0を立ち上げる(「L」レベルから「H」レベルとする)。
ページコントロール信号生成部43Aは、開始アドレスの下位3ビット「110」をページコントロール信号PCの初期値として読み込み、「P6」をページコントロール信号PCとし、動作を停止する(計数を行わない状態)。
ウェイト信号生成部44Aは、ウェイト信号WAITを立ち上げる(「L」レベルから「H」レベルとする)。
バースト制御部3Aは、アクセス開始の際の最初の16ワード境界前におけるアクセスであることを示す16ワード境界信号を立ち上げる(「L」レベルから「H」レベルとする)。
時刻t103から時刻106にかけて、ファーストレイテンシカウンタ34Aは、内部クロックCLKの立ち上がりに同期して、計数値を「1」デクリメントし(「5」→「4」→「3」→「2」→「1」)、計数値が「1」になる。
ページコントロール信号生成部43Aは、ファーストレイテンシカウンタ34Aの計数値が「1」になると動作を開始する(計数を行う状態)。
時刻t107において、ファーストレイテンシカウンタ34Aは計数値を「1」デクリメントして計数値を「0」にする。
アドレスカウンタ33Aは、最初のメモリアクセスが完了しているので、計数値を「1」インクリメントし、次にアクセスするバーストアドレスBADとして出力する。
このとき、アドレス変化検出部41Aは、アドレスカウンタ33Aの出力するバーストアドレスBADが変化したことを検出して、ATD回路8に対してワンショットパルスの検出信号DTを出力する。この検出信号DTがATD回路8により所定時間(メモリのアクセス時間)遅延させられ、時刻t172において、センスアンプコントロール信号SCとしてセンスデータラッチ9Aに入力され、センスデータラッチ9Aは、センスアンプ7から出力されるメモリデータMDをラッチして、「D16」〜「D23」をセンスラッチデータSLD(SLD01〜SLD67)として出力する。
時刻t107において、データカウンタ書込部39Aは、最初の16ワード境界前の有効データの出力に必要なクロックサイクルを計数するために、ファーストレイテンシカウンタ34の計数値が「1」である場合に入力される内部クロックCLKの立ち上がりに同期して、有効データレジスタ32Aに記憶されているデータ計数初期値「1」を読み込み、読み込んだデータ計数初期値「1」をデータカウンタ35Aに対して計数の初期値として書き込む。
境界カウンタ書込部40Aは、ファーストレイテンシカウンタ34Aの計数値が「1」である場合に入力される内部クロックCLKの立ち上がりに同期して、ファーストレイテンシレジスタ36Aに記憶されているウェイト計数初期値「5」を読み込み、読み込んだウェイト計数初期値「5」を16W境界カウンタ36Aに対して計数の初期値として書き込む。
ページラッチ信号生成部42Aは、ファーストレイテンシカウンタ34の計数値が「1」である場合に入力される内部クロックCLKの立ち上がりに同期して、時刻t102において立ち上げたページラッチ信号PL0〜PL3を立ち下げる(「H」レベルから「L」レベルとする)。これにより、ページラッチ部10−3は、センスデータラッチ9から出力されているセンスラッチデータSLD67をラッチし、「D14」、「D15」をページラッチデータPLD67として出力する。なお、ページラッチ部10−0〜10−2によってラッチされ出力されるページラッチデータPL01〜PL45は無効なデータ(外部にバースト出力する必要がないデータ)である。
出力ラッチ12は、ページセレクタ11から出力されているページデータPD(「D14」:下位4ビット「E」に対応したワードデータ)を、内部クロックCLKの立ち上がりに同期して保持し、セレクタ13およびデータ出力制御部14を介して、アウトプットデータOUTとして出力する。
ページコントロール信号生成部43Aは、内部クロックCLKの立ち上がりに同期して、ページコントロール信号PCを「P6」から「P7」にインクリメントし、「P7」をページコントロール信号PCとして出力する。ページコントロール信号生成部43Aは、データカウンタ35Aの計数値が「1」で16W境界カウンタ36の計数値が「3」以上の「5」であるので動作を停止する(計数を行わない状態)。
これにより、ページセレクタ11は、ページラッチ10A(ページラッチ部10−0〜10−3)が出力しているページラッチデータPLD(PLD01〜PLD67)の中から、ページコントロール信号PC(「P7」)に対応する「D15」を選択して、「D15」をページデータPDとして出力する。
ウェイト信号生成部44Aは、ファーストレイテンシカウンタ34Aの計数値が「1」である場合に入力される内部クロックCLKの立ち上がりに同期して、時刻t102において立ち上げたウェイト信号WAITを立ち下げる(「H」レベルから「L」レベルとする)。
時刻t108において、データカウンタ35Aは、内部クロックCLKの立ち上がりに同期して、計数値を「1」デクリメントして計数値を「0」にする。また、16W境界カウンタ36Aは、内部クロックCLKの立ち上がりに同期して、計数値を「1」デクリメントして計数値を「4」にする。
出力ラッチ12は、ページセレクタ11Aから出力されている「D15」のページデータPDを、内部クロックCLKの立ち上がりに同期して保持し、セレクタ13およびデータ出力制御部14を介して、アウトプットデータOUTとして出力する。
バースト制御部3Aは、データカウンタ35Aの計数値が「1」である場合に入力される内部クロックCLKの立ち上がりに同期して、時刻t102において立ち上げた16ワード境界信号を立ち下げる。これにより、以降、バーストアドレスが「1」インクリメントされるタイミングにおいてもファーストレイテンシレジスタ31Aに記憶されているウェイト計数初期値を新たに16W境界カウンタ36Aに書き込まれることがなくなる。
時刻t109において、ウェイト信号生成部44Aは、データカウンタ35Aの計数値が「0」で16ワード境界カウンタ36Aの計数値が「2」以上の「4」であるので、つまり、有効データの全てを出力してもメモリアクセスが完了していないので、内部クロックCLKの立ち上がりに同期して、ウェイト信号WAITを立ち上げる(「L」レベルから「H」レベルにする)。
16W境界カウンタ36Aは、内部クロックCLKの立ち上がりに同期して、計数値を「1」デクリメントして計数値を「3」にする。
時刻t110において、16W境界カウンタ36Aは、内部クロックCLKの立ち上がりに同期して、計数値を「1」デクリメントして計数値を「2」にする。ページコントロール信号生成部43Aは、16W境界カウンタ36Aの計数値が「2」になったので動作を開始する(計数を行う状態)。
時刻t111において、ページラッチ信号生成部42Aは、データカウンタ35Aの計数値が「0」で16W境界カウンタ36Aの計数値が「2」であるときに入力される内部クロックCLKの立ち上がりに同期して、ページラッチ信号PL0〜PL3を立ち上げる(「L」レベルから「H」レベルとする)。
16W境界カウンタ36Aは、内部クロックCLKの立ち上がりに同期して、計数値を「1」デクリメントして計数値を「1」にする。
ページコントロール信号生成部43Aは、内部クロックCLKに同期して、ページコントロール信号PCを「P7」から「P0」にインクリメントし、「P0」をページコントロール信号PCとして出力する。これにより、ページセレクタ11Aは、ページラッチ10A(ページラッチ部10−0〜10−3)が出力しているページラッチデータPLDの中から、ページコントロール信号PC(「P0」)に対応する「D16」を選択して、「D16」をページデータPDとして出力する。
時刻t112において、有効データの出力とメモリアクセスの双方が完了することになるので、アドレスカウンタ33Aは、データカウンタ35Aの計数値が「0」で16W境界カウンタ36Aは計数値が「1」である場合に入力される内部クロックCLKの立ち上がりに同期して、計数値を「1」インクリメントし、次にアクセスするバーストアドレスBADとして出力する。
このとき、アドレス変化検出部41Aは、アドレスカウンタ33Aの出力するバーストアドレスBADが変化したことを検出して、ATD回路8に対してワンショットパルスの検出信号DTを出力する。この検出信号DTがATD回路8により所定時間(メモリのアクセス時間)遅延させられ、時刻t182においてセンスアンプコントロール信号SCとしてセンスデータラッチ9Aに入力され、センスデータラッチ9Aは、センスアンプ7から出力されるメモリデータMDをラッチして、「D24」〜「D31」をセンスラッチデータSLD(センスラッチデータSLD01〜SLD67)として出力する。
時刻t112において、データカウンタ書込部39Aは、有効データの出力に必要なクロックサイクルを計数するために、データカウンタ35Aの計数値が「0」で16W境界カウンタ36Aの計数値が「1」である場合に入力される内部クロックCLKの立ち上がりに同期して、有効データレジスタ32Aに記憶されているデータ計数初期値「7」を読み込み、読み込んだデータ計数初期値「7」をデータカウンタ35Aに対して計数の初期値として書き込む。
ページラッチ信号生成部42Aは、16W境界カウンタ36Aの計数値のデクリメント処理が行われて「1」となった場合に入力される内部クロックCLKの立ち上がりに同期して、時刻t111において立ち上げたページラッチ信号PL0〜PL3を立ち下げる(「H」レベルから「L」レベルとする)。これにより、ページラッチ部10−0、10−1、10−2、10−3は、夫々、センスデータラッチ9Aから出力されているセンスラッチデータSLD01、SLD23、SLD45、SLD67をラッチし、「D16」および「D17」、「D18」および「D19」、「D20」および「D21」、「D22」および「D23」をページラッチデータPLDとして出力する。
出力ラッチ12は、ページセレクタ11Aから出力されているページデータPD(「D16」)を、内部クロックCLKの立ち上がりに同期して保持し、セレクタ13およびデータ出力制御部14を介して、アウトプットデータOUTとして出力する。
ページコントロール信号生成部43Aは、内部クロックCLKに同期して、ページコントロール信号PCを「P0」から「P1」にインクリメントし、「P1」をページコントロール信号PCとして出力する。これにより、ページセレクタ11Aは、ページラッチ10A(ページラッチ部10−0〜10−3)が出力しているページラッチデータPLD(PLD01、PLD23、PLD45、PLD67)の中から、ページコントロール信号PC(「P1」)に対応する「D17」を選択して、「D17」をページデータPDとして出力する。
ウェイト信号生成部44Aは、データカウンタ35Aの計数値が「0」で16W境界カウンタ36Aの計数値が「1」である場合に入力される内部クロックCLKの立ち上がりに同期して、時刻t109において立ち上げたウェイト信号WAITを立ち下げる(「H」レベルから「L」レベルとする)。
時刻t113〜t119にかけて、データカウンタ35Aは、内部クロックCLKの立ち上がりに同期して、計数値を「1」デクリメントし(「7」→「6」→「5」→「4」→「3」→「2」→「1」→「0」)、計数値が「0」になる。
出力ラッチ12は、ページセレクタ11Aから出力されているページデータPDを、内部クロックCLKの立ち上がりに同期して保持し、セレクタ13およびデータ出力制御部14を介して、アウトプットデータOUTとして出力する(「D17」〜「D23」)。
ページコントロール信号生成部43Aは、内部クロックCLKに同期させ、ページコントロール信号PCをインクリメントし、インクリメント後の値をページコントロール信号PCとして出力する(「P2」〜「P7」、「P0」)。これにより、ページセレクタ11は、ページラッチ10A(ページラッチ部10−0〜10−3)が出力しているページラッチデータPLD(PLD01〜PLD67)の中から、ページコントロール信号PCに対応するワードデータを選択して、選択したワードデータをページデータPDとして出力する(「D18」〜「D24」)。
時刻t119において、ページラッチ信号生成部42Aは、16W境界カウンタ36の計数値が「0」でデータカウンタ35Aの計数値が「1」である場合に入力される内部クロックCLKの立ち上がりに同期して、ページラッチ信号PL0〜PL3を立ち上げる(「L」レベルから「H」レベルとする)。
時刻t120において、アドレスカウンタ33Aは、データカウンタ35Aの計数値が「0」で16W境界カウンタ36の計数値が「0」である場合に入力される内部クロックCLKの立ち上がりに同期して、計数値を「1」インクリメントし、次にアクセスするバーストアドレスBADとして出力する。このとき、アドレス変化検出部41Aは、アドレスカウンタ33Aの出力するバーストアドレスBADが変化したことを検出して、ATD回路8に対してワンショットパルスの検出信号DTを出力する。
時刻t120において、データカウンタ書込部39Aは、有効データの出力に必要なクロックサイクルを計数するために、データカウンタ35Aの計数値が「0」で16W境界カウンタ36の計数値が「0」である場合に入力される内部クロックCLKの立ち上がりに同期して、有効データレジスタ32Aに記憶されているデータ計数初期値「7」を読み込み、読み込んだデータ計数初期値「7」をデータカウンタ35Aに対して計数の初期値として書き込む。
ページラッチ信号生成部42Aは、データカウンタ35Aの計数値のデクリメント処理が行われて「0」となっている場合に入力される内部クロックCLKの立ち上がりに同期して、時刻t119において立ち上げたページラッチ信号PL0〜PL3を立ち下げる(「H」レベルから「L」レベルとする)。これにより、ページラッチ部10−0、10−1、10−2、10−3は、夫々、センスデータラッチ9Aから出力されているセンスラッチデータSLD01、SLD23、SLD45、SLD67をラッチし、「D24」および「D25」、「D26」および「D27」、「D28」および「D29」、「D30」および「D31」をページラッチデータPLD01、PLD23、PLD45、PLD67として出力する。
出力ラッチ12は、ページセレクタ11Aから出力されているページデータPD(「D24」)を、内部クロックCLKの立ち上がりに同期して保持し、セレクタ13およびデータ出力制御部14を介して、アウトプットデータOUTとして出力する。
ページコントロール信号生成部43Aは、内部クロックCLKの立ち上がりに同期して、ページコントロール信号PCを「P0」から「P1」にインクリメントし、「P1」をページコントロール信号PCとして出力する。これにより、ページセレクタ11は、ページラッチ10A(ページラッチ部10−1〜10−3)が出力しているページラッチデータPLD(PLD01〜PLD67)の中から、ページコントロール信号PC(「P1」)に対応する「D25」を選択して、「D25」をページデータPDとして出力する。
以降の時刻t121、t122、t123、・・・において、順次時刻t113、t114、t115、・・・と同様の処理が繰り返し行われる。
図14は、ファーストレイテンシが6サイクル、開始アドレスの下位4ビットが「6」の場合における、本実施の形態の各回路の動作のタイミングチャートを示している。
時刻t201〜t206、およびt262において、図13において説明した時刻t101〜t106、およびt162と同様の動作が行われる。
時刻t207において、ファーストレイテンシカウンタ34Aは計数値を「1」デクリメントして「0」にする。
アドレスカウンタ33Aは、最初のメモリアクセスが完了しているので、計数値を「1」インクリメントし、次にアクセスするバーストアドレスBADとして出力する。
このとき、アドレス変化検出部41Aは、アドレスカウンタ33Aの出力するバーストアドレスBADが変化したことを検出して、ATD回路8に対してワンショットパルスの検出信号DTを出力する。この検出信号DTがATD回路8により所定時間(メモリのアクセス時間)遅延させられ、時刻t272においてセンスアンプコントロール信号SCとしてセンスデータラッチ9Aに入力され、センスデータラッチ9Aは、センスアンプ7から出力されるメモリデータMDをラッチして、「D14」〜「D15」をセンスラッチデータSLD(SLD01〜SLD67)として出力する。
また、時刻t207において、データカウンタ書込部39Aは、最初の16ワード境界前の有効データ、つまり、下位4ビットが「6」なので最初の16ワード境界前の1回目のメモリアクセスで読み出される有効データと2回目のメモリアクセスで読み出される有効データ、の出力に必要なクロックサイクルを計数するために、ファーストレイテンシカウンタ34Aの計数値が「1」である場合に入力される内部クロックCLKの立ち上がりに同期して、有効データレジスタ32Aに記憶されているデータ計数初期値「9」を読み込み、読み込んだデータ計数初期値「9」をデータカウンタ35Aに対して計数の初期値として書き込む。
境界カウンタ書込部40Aは、ファーストレイテンシカウンタ34Aの計数値が「1」である場合に入力される内部クロックCLKの立ち上がりに同期して、ファーストレイテンシレジスタ36Aに記憶されているウェイト計数初期値「5」を読み込み、読み込んだウェイト計数初期値「5」を16W境界カウンタ36Aに対して計数の初期値として書き込む。
ページラッチ信号生成部42Aは、ファーストレイテンシカウンタ34Aの計数値が「1」である場合に入力される内部クロックCLKの立ち上がりに同期して、時刻t202において立ち上げたページラッチ信号PL0〜PL3を立ち下げる(「H」レベルから「L」レベルとする)。これにより、ページラッチ部10−0、10−1、10−2、10−3は、夫々、センスデータラッチ9Aから出力されているセンスラッチデータSLD01、SLD23、SLD45、SLD67をラッチし、「D8」および「D9」、「D10」および「D11」、「D12」および「D13」、「D6」および「D7」をページラッチデータPLD01、PLD23、PLD45、PLD67として出力する。
出力ラッチ12は、ページセレクタ11から出力されているページデータPD(「D6」:下位4ビット「6」に対応したワードデータ)を、内部クロックCLKの立ち上がりに同期して保持し、セレクタ13およびデータ出力制御部14を介して、アウトプットデータOUTとして出力する。
ページコントロール信号生成部43Aは、内部クロックCLKの立ち上がりに同期して、ページコントロール信号PCを「P6」から「P7」にインクリメントし、「P7」をページコントロール信号PCとして出力する。これにより、ページセレクタ11は、ページラッチ10A(ページラッチ部10−0〜10−3)が出力しているページラッチデータPLD(PLD01〜PLD67)の中から、ページコントロール信号PC(「P7」)に対応する「D7」を選択して、「D7」をページデータPDとして出力する。
ウェイト信号生成部44Aは、ファーストレイテンシカウンタ34Aの計数値が「1」である場合に入力される内部クロックCLKの立ち上がりに同期して、時刻t202において立ち上げたウェイト信号WAITを立ち下げる(「H」レベルから「L」レベルとする)。
時刻t208において、データカウンタ35Aは、内部クロックCLKの立ち上がりに同期して、計数値を「1」デクリメントして計数値を「8」にする。16W境界カウンタ36Aは、内部クロックCLKの立ち上がりに同期して、計数値を「1」デクリメントして計数値を「4」にする。
出力ラッチ12は、ページセレクタ11Aから出力されているページデータPD(「D7」)を、内部クロックCLKの立ち上がりに同期して保持し、セレクタ13およびデータ出力制御部14を介して、アウトプットデータOUTとして出力する。
ページコントロール信号生成部43Aは、内部クロックCLKの立ち上がりに同期して、ページコントロール信号PCを「P7」から「P0」にインクリメントし、「P0」をページコントロール信号PCとして出力する。これにより、ページセレクタ11Aは、ページラッチ10A(ページラッチ部10−0〜10−3)が出力しているページラッチデータPLD(PLD01〜PLD67)の中から、ページコントロール信号PC(「P0」)に対応する「D8」を選択して、「D8」をページデータPDとして出力する。
時刻t209において、ページラッチ信号生成部42Aは、データカウンタ35Aの計数値が「8」で16W境界カウンタ36Aの計数値が「2」以上の「4」であるので、ページラッチ立上信号を「1」にする。
時刻t209、t210において、データカウンタ35Aは、内部クロックCLKの立ち上がりに同期して、計数値を「1」デクリメントし(「8」→「7」→「6」)、計数値が「6」になる。16W境界カウンタ36Aは、内部クロックCLKの立ち上がりに同期して計数値を「1」デクリメントし(「4」→「3」→「2」)、計数値が「2」になる。
出力ラッチ12は、ページセレクタ11Aから出力されているページデータPDを、内部クロックCLKの立ち上がりに同期して保持し、セレクタ13およびデータ出力制御部14を介して、アウトプットデータOUTとして出力する(D8、D9)。
ページコントロール信号生成部43Aは、内部クロックCLKに同期して、ページコントロール信号PCをインクリメントし、インクリメント後のデータをページコントロール信号PCとして出力する(P1、P2)。これにより、ページセレクタ11Aは、ページラッチ10A(ページラッチ部10−0〜10−3)が出力しているページラッチデータPLD(PLD01〜PLD67)の中から、ページコントロール信号PCに対応するページラッチデータPLDを選択して、選択したページラッチデータPLDをページデータPDとして出力する(D9、D10)。
時刻t211において、ページラッチ信号生成部42Aは、ページラッチ立上信号が「1」であり、16W境界カウンタ36Aの計数値のデクリメント処理が行われて「2」となっている場合に入力される内部クロックCLKの立ち上がりに同期して、最初の16ワード境界前の2回目のメモリアクセスで読み出された有効データを保持することになるページラッチ部10−3に、最初の16ワード境界前の1回目のメモリアクセスで読み出され保持されていた有効データが既にバースト出力されて不要になっており、スタートアドレスの下位4ビットが「6」であるため、ページラッチ信号PL3のみを立ち上げる(「L」レベルから「H」レベルにする)とともに、ページラッチ立上信号を「0」にする。なお、ページラッチ信号PL0〜PL2は「L」レベルのままである。
データカウンタ35Aは、内部クロックCLKの立ち上がりに同期して、計数値を「1」デクリメントして計数値を「5」にする。16W境界カウンタ36Aは、内部クロックCLKの立ち上がりに同期して、計数値を「1」デクリメントして計数値を「1」にする。
出力ラッチ12は、ページセレクタ11Aから出力されているページデータPD(「D10」)を、内部クロックCLKの立ち上がりに同期して保持し、セレクタ13およびデータ出力制御部14を介して、アウトプットデータOUTとして出力する。
ページコントロール信号生成部43Aは、内部クロックCLKの立ち上がりに同期して、ページコントロール信号PCを「P2」から「P3」にインクリメントし、「P3」をページコントロール信号PCとして出力する。これにより、ページセレクタ11Aは、ページラッチ10A(ページラッチ部10−0〜10−3)が出力しているページラッチデータPLD(PLD01〜PLD67)の中から、ページコントロール信号PC(「P3」)に対応する「D11」を選択して、「D11」をページデータPDとして出力する。
時刻t212において、ページラッチ信号生成部42Aは、未出力の有効データを保持しているページラッチ部以外のページラッチ部で最初の16ワード境界前の2回目のメモリアクセスで読み出された有効データを保持可能になっており、最初の16ワード境界前の2回目のメモリアクセスが完了して読み出されたメモリデータがセンスデータラッチ10Aから出力されているので、16W境界カウンタ36Aの計数値のデクリメント処理が行われて「1」となった場合に入力される内部クロックCLKの立ち上がりに同期して、時刻t211において立ち上げたページラッチ信号PL3を立ち下げる(「H」レベルから「L」レベルにする。)。これにより、ページラッチ部10−3は、センスデータラッチ9Aから出力されているセンスラッチデータSLD67をラッチし、「D14」〜「D15」をページラッチデータPLD67として出力する。なお、時刻t212、t213において、ページラッチ信号PL0〜PL2は「L」レベルのままであるため、ページラッチデータPLD01は「D8」および「D9」、ページラッチデータPLD23は「D10」および「D11」、ページラッチデータPLD45は「D12」および「D13」のままである。
アドレスカウンタ33Aは、バースト出力する必要のある有効データ数が8未満になっており、かつ、メモリアクセスが完了しているので、計数値を「1」インクリメントし、次にアクセスするバーストアドレスBADとして出力する。
このとき、アドレス変化検出部41Aは、アドレスカウンタ33Aの出力するバーストアドレスBADが変化したことを検出して、ATD回路8に対してワンショットパルスの検出信号DTを出力する。この検出信号DTがATD回路8により所定時間(メモリのアクセス時間)遅延させられ、時刻t282においてセンスアンプコントロール信号SCとしてセンスデータラッチ9Aに入力され、センスデータラッチ9Aは、センスアンプ7から出力されるメモリデータMDをラッチして、「D16」〜「D23」をセンスラッチデータSLD(SLD01〜SLD67)として出力する。
時刻t212において、データカウンタ35Aは、内部クロックCLKの立ち上がりに同期して、計数値を「1」デクリメントして計数値を「4」にする。
境界カウンタ書込部40Aは、16ワード境界信号が「H」レベルであるので、メモリアクセスに必要なクロックサイクルを計数するために、16W境界カウンタ36Aの計数値のデクリメント処理が行われて計数値が「1」となった場合に入力される内部クロックCLKの立ち上がりに同期して、ファーストレイテンシレジスタ36Aに記憶されているウェイト計数初期値「5」を読み込み、読み込んだウェイト計数初期値「5」を16W境界カウンタ36Aに対して計数の初期値として書き込む。
出力ラッチ12は、ページセレクタ11Aから出力されているページデータPD(「D11」)を、内部クロックCLKの立ち上がりに同期して保持し、セレクタ13およびデータ出力制御部14を介して、アウトプットデータOUTとして出力する。
ページコントロール信号生成部43Aは、内部クロックCLKの立ち上がりに同期して、ページコントロール信号PCを「P3」から「P4」にインクリメントし、「P4」をページコントロール信号PCとして出力する。これにより、ページセレクタ11Aは、ページラッチ10A(ページラッチ部10−0〜10−3)が出力しているページラッチデータPLD(PLD01〜PLD67)の中から、ページコントロール信号PC(「P4」)に対応する「D12」を選択して、「D12」をページデータPDとして出力する。
時刻t213〜時刻t216において、データカウンタ35Aは、内部クロックCLKの立ち上がりに同期して、計数値を「1」デクリメントし(「4」→「3」→「2」→「1」→「0」)、計数値が「0」になる。16W境界カウンタ36Aは、内部クロックCLKの立ち上がりに同期して、計数値を「1」デクリメントし(「5」→「4」→「3」→「2」→「1」)、計数値が「1」になる。
出力ラッチ12は、ページセレクタ11から出力されているページデータPDを、内部クロックCLKの立ち上がりに同期して保持し、セレクタ13およびデータ出力制御部14を介して、アウトプットデータOUTとして出力する(D12〜D15)。
ページコントロール信号生成部43Aは、内部クロックCLKに同期して、ページコントロール信号PCをインクリメントし、インクリメント後のデータをページコントロール信号PCとして出力する(P5〜P7、P0)。これにより、ページセレクタ11Aは、ページラッチ10A(ページラッチ部10−0〜10−3)が出力しているページラッチデータPLD(PLD01〜PLD67)の中から、ページコントロール信号PCに対応するページラッチデータPLDを選択して、選択したページラッチデータPLDをページデータPDとして出力する(D13〜D16)。
時刻t216において、バースト制御部3Aは、データカウンタ35Aの計数値が「1」である場合に入力される内部クロックCLKの立ち上がりに同期して、時刻t202において立ち上げた16ワード境界信号を立ち下げる。これにより、以降、バーストアドレスが「1」インクリメントされるタイミングにおいてもファーストレイテンシレジスタ31Aに記憶されているウェイト計数初期値を新たに16W境界カウンタ36Aに書き込まれることがなくなる。
ページラッチ信号生成部42Aは、データカウンタ35Aの計数値が「1」で16W境界カウンタ36Aの計数値が「2」である場合に入力される内部クロックCLKの立ち上がりに同期して、ページラッチ信号PL0〜PL3を立ち上げる(「L」レベルから「H」レベルとする)。
時刻t217において、有効データの出力とメモリアクセスの双方が完了することになるので、アドレスカウンタ33Aは、データカウンタ35Aの計数値が「0」であり、16W境界カウンタ36は計数値が「1」であるときに入力される内部クロックCLKの立ち上がりに同期して、計数値を「1」インクリメントし、次にアクセスするバーストアドレスBADとして出力する。このとき、アドレス変化検出部41Aは、アドレスカウンタ33Aの出力するバーストアドレスBADが変化したことを検出して、ATD回路8に対してワンショットパルスの検出信号DTを出力する。
時刻t217において、ページラッチ信号生成部42Aは、16W境界カウンタ36の計数値のデクリメント処理が行われて「1」となった場合に入力される内部クロックCLKの立ち上がりに同期して、時刻t216において立ち上げたページラッチ信号PL0〜PL3を立ち下げる(「H」レベルから「L」レベルとする)。これにより、ページラッチ部10−0、10−1、10−2、10−3は、夫々、センスデータラッチ9Aから出力されているセンスラッチデータSLD01、SLD23、SLD45、SLD67をラッチし、「D16」および「D17」、「D18」および「D19」、「D20」および「D21」、「D22」および「D23」をページラッチデータPLDとして出力する。
出力ラッチ12は、ページセレクタ11Aから出力されているページデータPD(「D16」)を、内部クロックCLKの立ち上がりに同期して保持し、セレクタ13およびデータ出力制御部14を介して、アウトプットデータOUTとして出力する。
ページコントロール信号生成部43Aは、内部クロックCLKに同期して、ページコントロール信号PCを「P0」から「P1」にインクリメントし、「P1」をページコントロール信号PCとして出力する。これにより、ページセレクタ11Aは、ページラッチ10A(ページラッチ部10−0〜10−3)が出力しているページラッチデータPLD(PLD01、PLD23、PLD45、PLD67)の中から、ページコントロール信号PC(「P1」)に対応する「D17」を選択して、「D17」をページデータPDとして出力する。
以降、図13の時刻t113以降と同様の動作が行われる。
図15は、ファーストレイテンシが6サイクル、開始アドレスの下位4ビットが「7」の場合における、本実施の形態の各回路の動作のタイミングチャートを示している。
時刻t301〜t306、およびt362において、図13において説明した時刻t101〜t106、およびt162と同様の動作が行われる。
時刻t307において、ファーストレイテンシカウンタ34Aは計数値を「1」デクリメントして「0」にする。
アドレスカウンタ33Aは、最初のメモリアクセスが完了しているので、計数値を「1」インクリメントし、次にアクセスするバーストアドレスBADとして出力する。
このとき、アドレス変化検出部41Aは、アドレスカウンタ33Aの出力するバーストアドレスBADが変化したことを検出して、ATD回路8に対してワンショットパルスの検出信号DTを出力する。この検出信号DTがATD回路8により所定時間(メモリのアクセス時間)遅延させられ、時刻t372においてセンスアンプコントロール信号SCとしてセンスデータラッチ9Aに入力され、センスデータラッチ9Aは、センスアンプ7から出力されるメモリデータMDをラッチして、「D14」〜「D15」をセンスラッチデータSLD(SLD01〜SLD67)として出力する。
また、時刻t307において、データカウンタ書込部39Aは、最初の16ワード境界前の有効データ、つまり、下位4ビットが「7」なので最初の16ワード境界前の1回目のメモリアクセスで読み出される有効データと2回目のメモリアクセスで読み出される有効データ、の出力に必要なクロックサイクルを計数するために、ファーストレイテンシカウンタ34Aの計数値が「1」である場合に入力される内部クロックCLKの立ち上がりに同期して、有効データレジスタ32Aに記憶されているデータ計数初期値「8」を読み込み、読み込んだデータ計数初期値「8」をデータカウンタ35Aに対して計数の初期値として書き込む。
境界カウンタ書込部40Aは、ファーストレイテンシカウンタ34Aの計数値が「1」である場合に入力される内部クロックCLKの立ち上がりに同期して、ファーストレイテンシレジスタ36Aに記憶されているウェイト計数初期値「5」を読み込み、読み込んだウェイト計数初期値「5」を16W境界カウンタ36Aに対して計数の初期値として書き込む。
ページラッチ信号生成部42Aは、ファーストレイテンシカウンタ34Aの計数値が「1」である場合に入力される内部クロックCLKの立ち上がりに同期して、時刻t302において立ち上げたページラッチ信号PL0〜PL3を立ち下げる(「H」レベルから「L」レベルとする)。これにより、ページラッチ部10−0、10−1、10−2、10−3は、夫々、センスデータラッチ9Aから出力されているセンスラッチデータSLD01、SLD23、SLD45、SLD67をラッチし、「D8」および「D9」、「D10」および「D11」、「D12」および「D13」、「D7」をページラッチデータPLD01、PLD23、PLD45、PLD67として出力する。なお、有効データのみ記載している。
出力ラッチ12は、ページセレクタ11から出力されているページデータPD(「D7」:下位4ビット「7」に対応したワードデータ)を、内部クロックCLKの立ち上がりに同期して保持し、セレクタ13およびデータ出力制御部14を介して、アウトプットデータOUTとして出力する。
ページコントロール信号生成部43Aは、内部クロックCLKの立ち上がりに同期して、ページコントロール信号PCを「P7」から「P0」にインクリメントし、「P0」をページコントロール信号PCとして出力する。これにより、ページセレクタ11は、ページラッチ10A(ページラッチ部10−0〜10−3)が出力しているページラッチデータPLD(PLD01〜PLD67)の中から、ページコントロール信号PC(「P0」)に対応する「D8」を選択して、「D8」をページデータPDとして出力する。
ウェイト信号生成部44Aは、ファーストレイテンシカウンタ34Aの計数値が「1」である場合に入力される内部クロックCLKの立ち上がりに同期して、時刻t302において立ち上げたウェイト信号WAITを立ち下げる(「H」レベルから「L」レベルとする)。
時刻t307において、ページラッチ信号生成部42Aは、データカウンタ35Aの計数値が「8」で16W境界カウンタ36Aの計数値が「3」以上の「5」であるので、ページラッチ立上信号を「1」にする。
時刻t308において、データカウンタ35Aは、内部クロックCLKの立ち上がりに同期して、計数値を「1」デクリメントして計数値を「7」にする。16W境界カウンタ36Aは、内部クロックCLKの立ち上がりに同期して、計数値を「1」デクリメントして計数値を「4」にする。
出力ラッチ12は、ページセレクタ11Aから出力されているページデータPD(「D8」)を、内部クロックCLKの立ち上がりに同期して保持し、セレクタ13およびデータ出力制御部14を介して、アウトプットデータOUTとして出力する。
ページコントロール信号生成部43Aは、内部クロックCLKの立ち上がりに同期して、ページコントロール信号PCを「P0」から「P1」にインクリメントし、「P1」をページコントロール信号PCとして出力する。これにより、ページセレクタ11Aは、ページラッチ10A(ページラッチ部10−0〜10−3)が出力しているページラッチデータPLD(PLD01〜PLD67)の中から、ページコントロール信号PC(「P1」)に対応する「D9」を選択して、「D9」をページデータPDとして出力する。
時刻t309、t310において、データカウンタ35Aは、内部クロックCLKの立ち上がりに同期して、計数値を「1」デクリメントし(「7」→「6」→「5」)、計数値が「5」になる。16W境界カウンタ36Aは、内部クロックCLKの立ち上がりに同期して計数値を「1」デクリメントし(「4」→「3」→「2」)、計数値が「2」になる。
出力ラッチ12は、ページセレクタ11Aから出力されているページデータPDを、内部クロックCLKの立ち上がりに同期して保持し、セレクタ13およびデータ出力制御部14を介して、アウトプットデータOUTとして出力する(D9、D10)。
ページコントロール信号生成部43Aは、内部クロックCLKに同期して、ページコントロール信号PCをインクリメントし、インクリメント後のデータをページコントロール信号PCとして出力する(P2、P3)。これにより、ページセレクタ11Aは、ページラッチ10A(ページラッチ部10−0〜10−3)が出力しているページラッチデータPLD(PLD01〜PLD67)の中から、ページコントロール信号PCに対応するページラッチデータPLDを選択して、選択したページラッチデータPLDをページデータPDとして出力する(D10、D11)。
時刻t311において、ページラッチ信号生成部42Aは、ページラッチ立上信号が「1」であり、16W境界カウンタ36Aの計数値のデクリメント処理が行われて「2」となっている場合に入力される内部クロックCLKの立ち上がりに同期して、最初の16ワード境界前の2回目のメモリアクセスで読み出された有効データを保持することになるページラッチ部10−3に、最初の16ワード境界前の1回目のメモリアクセスで読み出され保持されていた有効データが既にバースト出力されて不要になっており、スタートアドレスの下位4ビットが「7」であるため、ページラッチ信号PL3のみを立ち上げる(「L」レベルから「H」レベルにする)とともに、ページラッチ立上信号を「0」にする。なお、ページラッチ信号PL0〜PL2は「L」レベルのままである。
データカウンタ35Aは、内部クロックCLKの立ち上がりに同期して、計数値を「1」デクリメントして計数値を「4」にする。16W境界カウンタ36Aは、内部クロックCLKの立ち上がりに同期して、計数値を「1」デクリメントして計数値を「1」にする。
出力ラッチ12は、ページセレクタ11Aから出力されているページデータPD(「D11」)を、内部クロックCLKの立ち上がりに同期して保持し、セレクタ13およびデータ出力制御部14を介して、アウトプットデータOUTとして出力する。
ページコントロール信号生成部43Aは、内部クロックCLKの立ち上がりに同期して、ページコントロール信号PCを「P3」から「P4」にインクリメントし、「P4」をページコントロール信号PCとして出力する。これにより、ページセレクタ11Aは、ページラッチ10A(ページラッチ部10−0〜10−3)が出力しているページラッチデータPLD(PLD01〜PLD67)の中から、ページコントロール信号PC(「P4」)に対応する「D12」を選択して、「D12」をページデータPDとして出力する。
時刻t312において、ページラッチ信号生成部42Aは、未出力の有効データを保持しているページラッチ部以外のページラッチ部で最初の16ワード境界前の2回目のメモリアクセスで読み出された有効データを保持可能になっており、最初の16ワード境界前の2回目のメモリアクセスが完了して読み出されたメモリデータがセンスデータラッチ10Aから出力されているので、16W境界カウンタ36Aの計数値のデクリメント処理が行われて「1」となった場合に入力される内部クロックCLKの立ち上がりに同期して、時刻t311において立ち上げたページラッチ信号PL3を立ち下げる(「H」レベルから「L」レベルにする。)。これにより、ページラッチ部10−3は、センスデータラッチ9Aから出力されているセンスラッチデータSLD67をラッチし、「D14」〜「D15」をページラッチデータPLD67として出力する。なお、時刻t312、t313において、ページラッチ信号PL0〜PL2は「L」レベルのままであるため、ページラッチデータPLD01は「D8」および「D9」、ページラッチデータPLD23は「D10」および「D11」、ページラッチデータPLD45は「D12」および「D13」のままである。
アドレスカウンタ33Aは、バースト出力する必要のある有効データ数が8未満になっており、かつ、メモリアクセスが完了しているので、計数値を「1」インクリメントし、次にアクセスするバーストアドレスBADとして出力する。
このとき、アドレス変化検出部41Aは、アドレスカウンタ33Aの出力するバーストアドレスBADが変化したことを検出して、ATD回路8に対してワンショットパルスの検出信号DTを出力する。この検出信号DTがATD回路8により所定時間(メモリのアクセス時間)遅延させられ、時刻t382においてセンスアンプコントロール信号SCとしてセンスデータラッチ9Aに入力され、センスデータラッチ9Aは、センスアンプ7から出力されるメモリデータMDをラッチして、「D16」〜「D23」をセンスラッチデータSLD(SLD01〜SLD67)として出力する。
時刻t312において、データカウンタ35Aは、内部クロックCLKの立ち上がりに同期して、計数値を「1」デクリメントして計数値を「3」にする。
境界カウンタ書込部40Aは、16ワード境界信号が「H」レベルであるので、メモリアクセスに必要なクロックサイクルを計数するために、16W境界カウンタ36Aの計数値のデクリメント処理が行われて計数値が「1」となった場合に入力される内部クロックCLKの立ち上がりに同期して、ファーストレイテンシレジスタ36Aに記憶されているウェイト計数初期値「5」を読み込み、読み込んだウェイト計数初期値「5」を16W境界カウンタ36Aに対して計数の初期値として書き込む。
出力ラッチ12は、ページセレクタ11Aから出力されているページデータPD(「D12」)を、内部クロックCLKの立ち上がりに同期して保持し、セレクタ13およびデータ出力制御部14を介して、アウトプットデータOUTとして出力する。
ページコントロール信号生成部43Aは、内部クロックCLKの立ち上がりに同期して、ページコントロール信号PCを「P4」から「P5」にインクリメントし、「P5」をページコントロール信号PCとして出力する。これにより、ページセレクタ11Aは、ページラッチ10A(ページラッチ部10−0〜10−3)が出力しているページラッチデータPLD(PLD01〜PLD67)の中から、ページコントロール信号PC(「P5」)に対応する「D13」を選択して、「D13」をページデータPDとして出力する。
時刻t313〜時刻t314において、データカウンタ35Aは、内部クロックCLKの立ち上がりに同期して、計数値を「1」デクリメントし(「3」→「2」→「1」)、計数値が「1」になる。16W境界カウンタ36Aは、内部クロックCLKの立ち上がりに同期して、計数値を「1」デクリメントし(「5」→「4」→「3」)、計数値が「3」になる。
出力ラッチ12は、ページセレクタ11から出力されているページデータPDを、内部クロックCLKの立ち上がりに同期して保持し、セレクタ13およびデータ出力制御部14を介して、アウトプットデータOUTとして出力する(D13〜D14)。
時刻t313〜時刻t314において、ページコントロール信号生成部43Aは、内部クロックCLKに同期して、ページコントロール信号PCをインクリメントし、インクリメント後のデータをページコントロール信号PCとして出力する(P6、P7)。ページコントロール信号生成部43Aは、データカウンタ35Aの計数値が「1」で16W境界カウンタ36の計数値が「3」以上の「3」であるので動作を停止する(計数を行わない状態)。
これにより、ページセレクタ11Aは、ページラッチ10A(ページラッチ部10−0〜10−3)が出力しているページラッチデータPLD(PLD01〜PLD67)の中から、ページコントロール信号PCに対応するページラッチデータPLDを選択して、選択したページラッチデータPLDをページデータPDとして出力する(D14〜D15)。
時刻t315において、データカウンタ35Aは、内部クロックCLKの立ち上がりに同期して、計数値を「1」デクリメントし、計数値が「0」になる。16W境界カウンタ36Aは、内部クロックCLKの立ち上がりに同期して、計数値を「1」デクリメントし、計数値が「2」になる。ページコントロール信号生成部43Aは、16W境界カウンタ36Aの計数値が「2」になったので動作を開始する(計数を行う状態)。
出力ラッチ12は、ページセレクタ11から出力されているページデータPDを、内部クロックCLKの立ち上がりに同期して保持し、セレクタ13およびデータ出力制御部14を介して、アウトプットデータOUTとして出力する(D15)。
バースト制御部3Aは、データカウンタ35Aの計数値が「1」であるときに入力される内部クロックCLKの立ち上がりに同期して、時刻t302において立ち上げた16ワード境界信号を立ち下げる。これにより、以降、バーストアドレスが「1」インクリメントされるタイミングにおいてもファーストレイテンシレジスタ31Aに記憶されているウェイト計数初期値を新たに16W境界カウンタ36Aに書き込まれることがなくなる。
時刻t316において、16W境界カウンタ36Aは、内部クロックCLKの立ち上がりに同期して、計数値を「1」デクリメントし、計数値が「1」になる。
ウェイト信号生成部44Aは、データカウンタ35Aの計数値が「0」で16ワード境界カウンタ36Aの計数値が「2」以上の「2」であるので、つまり、有効データの全てを出力してもメモリアクセスが完了していないので、内部クロックCLKの立ち上がりに同期して、ウェイト信号WAITを立ち上げる(「L」レベルから「H」レベルにする)。
ページラッチ信号生成部42Aは、データカウンタ35Aの計数値が「0」であり、16W境界カウンタ36Aの計数値が「2」である場合に入力される内部クロックCLKの立ち上がりに同期して、ページラッチ信号PL0〜PL3を立ち上げる(「L」レベルから「H」レベルとする)。
ページコントロール信号生成部43Aは、内部クロックCLKの立ち上がりに同期して、ページコントロール信号PCを「P7」から「P0」にインクリメントし、「P0」をページコントロール信号PCとして出力する。これにより、ページセレクタ11Aは、ページラッチ10A(ページラッチ部10−0〜10−3)が出力しているページラッチデータPLD(PLD01〜PLD67)の中から、ページコントロール信号PC(「P0」)に対応する「D16」を選択して、「D16」をページデータPDとして出力する。
時刻t317において、有効データの出力とメモリアクセスの双方が完了することになるので、アドレスカウンタ33Aは、データカウンタ35Aの計数値が「0」で16W境界カウンタ36は計数値が「1」である場合に入力される内部クロックCLKの立ち上がりに同期して、計数値を「1」インクリメントし、次にアクセスするバーストアドレスBADとして出力する。このとき、アドレス変化検出部41Aは、アドレスカウンタ33Aの出力するバーストアドレスBADが変化したことを検出して、ATD回路8に対してワンショットパルスの検出信号DTを出力する。
時刻t317において、ページラッチ信号生成部42Aは、16W境界カウンタ36Aの計数値のデクリメント処理が行われて「1」となっている場合に入力される内部クロックCLKの立ち上がりに同期して、時刻t316において立ち上げたページラッチ信号PL0〜PL3を立ち下げる(「H」レベルから「L」レベルとする)。これにより、ページラッチ部10−0、10−1、10−2、10−3は、夫々、センスデータラッチ9Aから出力されているセンスラッチデータSLD01、SLD23、SLD45、SLD67をラッチし、「D16」および「D17」、「D18」および「D19」、「D20」および「D21」、「D22」および「D23」をページラッチデータPLDとして出力する。
出力ラッチ12は、ページセレクタ11Aから出力されているページデータPD(「D16」)を、内部クロックCLKの立ち上がりに同期して保持し、セレクタ13およびデータ出力制御部14を介して、アウトプットデータOUTとして出力する。
ページコントロール信号生成部43Aは、内部クロックCLKに同期して、ページコントロール信号PCを「P0」から「P1」にインクリメントし、「P1」をページコントロール信号PCとして出力する。これにより、ページセレクタ11Aは、ページラッチ10A(ページラッチ部10−0〜10−3)が出力しているページラッチデータPLD(PLD01、PLD23、PLD45、PLD67)の中から、ページコントロール信号PC(「P1」)に対応する「D17」を選択して、「D17」をページデータPDとして出力する。
以降、図13の時刻t113以降と同様の動作が行われる。
上述した本実施の形態のフラッシュメモリにおける各組合わせ(下位アドレスとファーストレイテンシとの組合わせ)における最初の16ワード境界において発生する境界前ウェイトサイクルのサイクル数を図16に示す。図16は本実施の形態のフラッシュメモリにおける16ワード境界前のウェイトサイクル数を示す図である。
図16に示すように、開始アドレスの下位4ビットの夫々に対して、有効データ数と最初の16ワード境界におけるウェイトサイクル数(図においては16ワード境界ウェイトサイクル数と記載)を示している。
有効データ数に関して、「1st」は最初の16ワード境界前の1回目のメモリアクセスでメモリセルアレイから読み出される有効データの数であり、「2nd」は最初の16ワード境界前の2回目のメモリアクセスでメモリセルアレイから読み出される有効データの数である。
また、「境界前」は、開始アドレスの下位4ビットが「0」から「7」の場合には、「1st」のメモリアクセス(最初の16境界前の1回目のメモリアクセス)でメモリセルアレイから読み出される有効データの数と「2nd」のメモリアクセス(最初の16境界前の2回目のメモリアクセス)でメモリセルアレイから読み出される有効データの数との和であり、下位4ビットが「8」から「F(15)」の場合には「1st」のメモリアクセス(最初の16境界前の1回目のメモリアクセス)でメモリセルアレイから読み出される有効データの数ということになる。
waitに続く数字はファーストレイテンシのクロックサイクル数であり、例えば「wait8」はファーストレイテンシのクロックサイクル数が8であることを示している。
図16に示されると通り、ファーストレイテンシが6サイクル、開始アドレスの下位4ビットが「E(14)」の場合(図13)、16ワード境界ウェイトサイクル数は「3」である。また、ファーストレイテンシが6サイクル、開始アドレスの下位4ビットが「6」の場合(図14)、16ワード境界ウェイトサイクル数は「0」である。さらに、ファーストレイテンシが6サイクル、開始アドレスの下位4ビットが「8」の場合(図15)、16ワード境界ウェイトサイクル数は「1」である。
例えば、ファーストレイテンシが6サイクル、開始アドレスの下位4ビットが「6」の場合(図14の場合)は、16ワード境界ウェイトサイクル数は「0」であり、従来のフラッシュメモリの16ワード境界ウェイトサイクル数「3」(図10参照)に比較して、16ワード境界ウェイトサイクル数が減少していることが分かる。
以上説明した本実施の形態のフラッシュメモリでは、ページラッチ10Aを4つのページラッチ部10−0〜10−3に分割し、各ページラッチ部10−0〜10−3単位で書き込み処理を独立して(個別に)行うようにしている。このため、ページラッチ10A全体で保持している有効データのバースト出力を待つことなしに、バースト出力の完了したページラット部10−0〜10−3のみの書き換えが可能になる。この結果、次のメモリアクセスの開始を早くすることができ、バースト読み出しの高速化が実現される。
以上、本発明の好適な実施の形態について説明したが、本発明は上述の実施の形態に限られるものではなく、特許請求の範囲に記載した限りにおいて様々な設計変更が可能なものである。
従来のフラッシュメモリの全体構成を示す図。 図1の入力バッファの動作を説明するためのタイミングチャート。 図1の入力バッファの動作を説明するためのタイミングチャート。 図1のフラッシュメモリの構成の一部を示す図。 図4のフラッシュメモリの構成の一部の動作を説明するための図。 図1のフラッシュメモリのバースト制御部の構成を示す図。 図1のフラッシュメモリの動作を説明するためのタイミングチャート。 図1のフラッシュメモリの動作を説明するためのタイミングチャート。 図1のフラッシュメモリの動作を説明するためのタイミングチャート。 図1のフラッシュメモリの境界ウェイトサイクルを示す図。 本発明の実施の形態のフラッシュメモリの全体構成を示す図。 図11のフラッシュメモリのバースト制御部の構成を示す図。 図11のフラッシュメモリの動作を説明するためのタイミングチャート。 図11のフラッシュメモリの動作を説明するためのタイミングチャート。 図11のフラッシュメモリの動作を説明するためのタイミングチャート。 図11のフラッシュメモリの境界ウェイトサイクルを示す図。
符号の説明
1 入力バッファ
2 アドレスラッチ
3A バースト制御部
4 アドレス制御部
5 デコーダ
6 メモリセルアレイ
7 センスアンプ
8 ATD回路
9Aセンスデータラッチ
10A ページラッチ
11A ページセレクタ
12 出力ラッチ
13 セレクタ
14 データ出力制御部
15 レディ出力制御部
33 アドレスカウンタ
34A ファーストレイテンシカウンタ
35A データカウンタ
36A 16W境界カウンタ
41A アドレス変化検出部
42A ページラッチ信号生成部
43A ページコントロール信号生成部
44A ウェイト信号生成部

Claims (2)

  1. 外部から入力される先頭アドレスに基づき、マトリクス状に配置されたメモリ素子から読み出したメモリデータを外部クロックに同期させて連続して外部に出力するバースト読み出しの機能を有する半導体メモリであって、
    前記メモリ素子をM×N(M、Nは2以上の整数)本の読み出し線毎に分割したブロックと、
    前記ブロック毎に読み出し線に接続されたメモリ素子のメモリデータを読み出すN個のセンスアンプと、
    前記N個のセンスアンプ各々に対して、M×N本の読み出し線における何れのN本を接続するかの切り替えを行う切替スイッチと、
    前記センスアンプにより、前記読み出し線から読み出されたメモリデータをラッチするセンスデータラッチと、
    前記ブロックのワード境界単位に含まれるメモリデータの1/2の数の書込メモリデータをラッチするものであり、当該書込メモリデータを複数に分割して分割書込メモリデータとし、当該分割書込メモリデータの各々をラッチする複数のページラッチ部に分割され、各ページラッチ部単位で前記分割書込メモリデータの書込処理を行うページラッチと、
    前記ワード境界の前記書込メモリデータを前記ブロックから読み出すアドレスを生成するアドレス制御部と、
    前記分割書込メモリデータを前記ページラッチに書き込むラッチ書込タイミングにおいて、前記センスデータラッチから前記書込メモリデータを前記ページラッチ部に書き込むページラッチ信号を、当該ページラッチ部毎に独立に出力するバースト制御部と、
    前記ページラッチのデータを順次取り込むページセレクタと、
    前記ページセレクタにより取り込まれたデータを外部クロックに同期して外部に出力する出力ラッチと、
    を有していることを特徴とする半導体メモリ。
  2. 前記バースト制御部が、前記メモリラッチから前記分割書込メモリデータを出力している期間にラッチ書込タイミングを設け、前記バースト読み出し開始時に前記メモリラッチに書き込んだ前記書込メモリデータのうち、前記ラッチ書込タイミングまでに読み出されて保持する必要のなくなった分割書込メモリデータを保持する前記ページラッチ部に対して前記ページラッチ信号を出力すること
    特徴とする請求項1に記載の半導体メモリ。
JP2005268149A 2005-09-15 2005-09-15 半導体メモリ Active JP4943681B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005268149A JP4943681B2 (ja) 2005-09-15 2005-09-15 半導体メモリ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005268149A JP4943681B2 (ja) 2005-09-15 2005-09-15 半導体メモリ

Publications (2)

Publication Number Publication Date
JP2007080410A JP2007080410A (ja) 2007-03-29
JP4943681B2 true JP4943681B2 (ja) 2012-05-30

Family

ID=37940546

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005268149A Active JP4943681B2 (ja) 2005-09-15 2005-09-15 半導体メモリ

Country Status (1)

Country Link
JP (1) JP4943681B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010044822A (ja) * 2008-08-12 2010-02-25 Toppan Printing Co Ltd 半導体メモリ
JP5239939B2 (ja) * 2009-02-25 2013-07-17 凸版印刷株式会社 半導体メモリ
US8976621B2 (en) 2010-12-24 2015-03-10 Micron Technology, Inc. Continuous page read for memory

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11176158A (ja) * 1997-12-10 1999-07-02 Fujitsu Ltd ラッチ回路、データ出力回路及びこれを有する半導体装置
JP2001118395A (ja) * 1999-10-18 2001-04-27 Nec Corp 半導体記憶装置及びデータの読み出し方法
JP4357246B2 (ja) * 2003-09-16 2009-11-04 株式会社ルネサステクノロジ 半導体記憶装置

Also Published As

Publication number Publication date
JP2007080410A (ja) 2007-03-29

Similar Documents

Publication Publication Date Title
KR100851545B1 (ko) 커맨드 및 어드레스 핀을 갖는 낸드 플래시 메모리 및그것을 포함한 플래시 메모리 시스템
JP2696026B2 (ja) 半導体記憶装置
JP2011018372A (ja) データをセクタ単位にランダムに入出力することができるフラッシュメモリシステム
JP4999302B2 (ja) 半導体メモリ
JP3737437B2 (ja) 半導体メモリ及びその動作モードのエントリー方法
US20120014202A1 (en) Memory device and method
KR100437467B1 (ko) 연속 버스트 읽기 동작 모드를 갖는 멀티 칩 시스템
JP4943681B2 (ja) 半導体メモリ
JP5000872B2 (ja) 半導体メモリ
US6791898B1 (en) Memory device providing asynchronous and synchronous data transfer
CN1825474A (zh) 具有快速列存取的随机存取存储器
US7523283B2 (en) Memory control circuit in a memory chip
JP2007220271A (ja) 半導体メモリ装置のバースト読み出し回路及びバーストデータ出力方法
US7392354B1 (en) Multi-queue FIFO memory devices that support a backed-off standard mode of operation and methods of operating same
KR100598907B1 (ko) 연속적 읽기/쓰기가 가능한 플래쉬 메모리
JP4943682B2 (ja) 半導体メモリ
JP2006040497A (ja) 半導体記憶装置、不揮発性半導体記憶装置
EP1058269A1 (en) Synchronous multilevel non-volatile memory and related reading method
US6178138B1 (en) Asynchronously addressable clocked memory device and method of operating same
CN113454720B (zh) 存储设备及其控制方法
KR100719378B1 (ko) 빠른 랜덤 액세스 기능을 갖는 플래시 메모리 장치 및그것을 포함한 컴퓨팅 시스템
JP4759717B2 (ja) 同期型不揮発性メモリおよびメモリシステム
JP2000268566A (ja) 同期型半導体記憶装置
JP2004055112A (ja) 高速データアクセスのためのdram
JP2009123236A (ja) メモリシステム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080822

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110415

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110419

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110620

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: 20120131

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120301

R150 Certificate of patent or registration of utility model

Ref document number: 4943681

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20150309

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313115

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313115

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250