JP4999302B2 - 半導体メモリ - Google Patents

半導体メモリ Download PDF

Info

Publication number
JP4999302B2
JP4999302B2 JP2005268349A JP2005268349A JP4999302B2 JP 4999302 B2 JP4999302 B2 JP 4999302B2 JP 2005268349 A JP2005268349 A JP 2005268349A JP 2005268349 A JP2005268349 A JP 2005268349A JP 4999302 B2 JP4999302 B2 JP 4999302B2
Authority
JP
Japan
Prior art keywords
data
latch
page
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.)
Expired - Fee Related
Application number
JP2005268349A
Other languages
English (en)
Other versions
JP2007080415A (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 JP2005268349A priority Critical patent/JP4999302B2/ja
Publication of JP2007080415A publication Critical patent/JP2007080415A/ja
Application granted granted Critical
Publication of JP4999302B2 publication Critical patent/JP4999302B2/ja
Expired - Fee Related 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()を先頭アドレス(スタートアドレス、開始アドレス)とし、ラッチアドレス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は、複数のメモリセル(メモリ素子)がマトリックス状に配置されて形成されている。メモリセル(メモリ素子)は2×N(Nは整数)本の読み出し線毎にロックに分割されており、このブロックをまたいで一度にアクセスすることができない。
デコーダ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との接続関係を示す図である。
下位4ビットが「0000」〜「1111」に対応する16ワード分の読み出し線が、「0000」および「0001」と、「0010」および「0011」と、「0100」および「0101」と、「0110」および「0111」と、「1000」および「1001」と、「1010」および「1011」と、「1100」および「1101」と、「1110」および「1111」との8つのグループに分けられている。ここで、「0000」〜「1111」の夫々は1ワード分の読み出し線に対応している。
また、センスアンプ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は、スイッチ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]の最上位ビット(「4」ビット目)が「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に対して出力する。
一方、読み出し線デコーダ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は、処理切替フラグが「10」であることを検出して(最初の16ワード境界を越えたので)、バーストアドレスBADが変化するタイミングにおいて、スイッチ機構100に対して、「0000」のデータAT[3:0]を出力し、処理切替フラグを「11」にする。以降、読み出し線デコーダ110は、バーストアドレスBADが変化するタイミングにおいて、順次、処理切替フラグが「11」であることを検出してデータAT[3:0]の各ビットの夫々を反転して、反転して得られたデータAT[3:0]をスイッチ機構100に対して出力する。
例えば、ラッチアドレスLAD(開始アドレス)の下位4ビットが「0011」のとき、読み出し線デコーダ110は、図5のテーブルに従い変換して「0001」を求め、変換後のデータ「0001」をデータAT[3:0]としてスイッチ機構100に対して出力する。スイッチ機構100のスイッチ100−0は「1000」および「1001」の読み出し線を選択してセンスアンプ7−0に接続する。スイッチ100−1は「0010」および「0011」の読み出し線を選択してセンスアンプ7−1に接続する。スイッチ100−2は「0100」および「0101」の読み出し線を選択してセンスアンプ7−2に接続する。スイッチ100−3は「0110」および「0111」の読み出し線を選択してセンスアンプ7−3に接続する。
次のバーストアドレスの変化するタイミングにおいて、読み出し線デコーダ110は、変換後の4ビットのデータAT[3:0]の各ビットを夫々反転して「1110」を求め、変換後のデータ「1110」をデータAT[3:0]としてスイッチ機構100に対して出力する。スイッチ機構100のスイッチ100−0は「0000」および「0001」の読み出し線を選択してセンスアンプ7−0に接続する。スイッチ100−1は「1010」および「1011」の読み出し線を選択してセンスアンプ7−1に接続する。スイッチ100−2は「1100」および「1101」の読み出し線を選択してセンスアンプ7−2に接続する。スイッチ100−3は「1110」および「1111」の読み出し線を選択してセンスアンプ7−3に接続する。
次のバーストアドレスの変化するタイミングにおいて、読み出し線デコーダ110は、データ「0000」をデータAT[3:0]としてスイッチ機構100に対して出力する。スイッチ機構100のスイッチ100−0は「0000」および「0001」の読み出し線を選択してセンスアンプ7−0に接続する。スイッチ100−1は「0010」および「0011」の読み出し線を選択してセンスアンプ7−1に接続する。スイッチ100−2は「0100」および「0101」の読み出し線を選択してセンスアンプ7−2に接続する。スイッチ100−3は「0110」および「0111」の読み出し線を選択してセンスアンプ7−3に接続する。
次のバーストアドレスの変化するタイミングにおいて、読み出し線デコーダ110は、データAT[3:0]の各ビットを夫々反転してデータ「1111」を求め、求めた「1111」をデータAT[3:0]としてスイッチ機構100に対して出力する。スイッチ機構100のスイッチ100−0は「1000」および「1001」の読み出し線を選択してセンスアンプ7−0に接続する。スイッチ100−1は「1010」および「1011」の読み出し線を選択してセンスアンプ7−1に接続する。スイッチ100−2は「1100」および「1101」の読み出し線を選択してセンスアンプ7−2に接続する。スイッチ100−3は「1110」および「1111」の読み出し線を選択してセンスアンプ7−3に接続する。
それ以降、読み出し線デコーダ110は、データAT[3:0]の各ビットを夫々反転して、反転して得られたデータAT[3:0]をスイッチ機構100に対して出力する。
また、開始アドレスの下位4ビットが「1100」のとき、読み出し線デコーダ110は、「1111」に変換して変換後のデータ「1111」をデータAT[3:0]としてスイッチ機構100に対して出力する。スイッチ機構100のスイッチ100−0は「1000」および「1001」の読み出し線を選択してセンスアンプ7−0に接続する。スイッチ100−1は「1010」および「1011」の読み出し線を選択してセンスアンプ7−1に接続する。スイッチ100−2は「1100」および「1101」の読み出し線を選択してセンスアンプ7−2に接続する。スイッチ100−3は「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号公報
上述したように、バーストリード出力であるアウトプットデータOUTは、ページラッチ10に保持されたページラッチデータPLDが、順次、ページセレクタ11により選択されて、1ワードずつページデータPDとして出力されたものである。
しかしながら、外部クロックを高い周波数に設定した際、最初にアウトプットデータOUTとして出力されるページデータPDが、センスアンプラッチ9から直接に、すなわちページラッチ10をスルーした状態で出力ラッチ12へ入力される。
ページラッチ10は、例えば、ページラッチ信号PLが「H」レベル(イネーブル)のときにセンスラッチデータSLDを読み込んで出力を開始して、「L」レベルに遷移したタイミングにおいて、入力されるセンスラッチデータSLDを、ページラッチデータPLDとして保持し、出力を保持することとなる。
すなわち、保持するまで出力されないフリップフロップ型でないため、ページラッチ信号がイネーブルとなると、所定のセットアップ時間(ページラッチ10をデータがスルーする遅延時間)を経た後に、早いタイミングにてページラッチデータPLDを、センスアンプデータSLDをスルー状態で出力することができる。
このため、高速にデータを読み込む必要があるため、ファーストレイテンシ期間におけるページラッチ信号PLは、センスアンプラッチデータ確定のサイクルより前に出力されるようになっている。
ところが、ファーストレイテンシ期間以外において、ページラッチ信号PLは、ページラッチ10に保持されているデータの中で、最後のデータがアウトプットデータOUTとして、出力ラッチ12に対して出力される1サイクル期間のみ、センスデータラッチ9のデータが変化するタイミングに対応して、ラッチイネーブルのパルスであるページラッチ信号PLが出力されている。
この場合、センスデータラッチ9に非同期でセンスラッチデータSLDがラッチされるので、外部クロックの周波数が高くなることにより、センスアンプコントロール信号SCに対して、ページラッチ信号PLがディレイにより遅くページラッチ10に入力される可能性がある。
このため、ページラッチ10から出力ラッチ12に対して、スルー状態で出力される最初の1ワードのページラッチデータPDが、出力ラッチ12に対して入力されるタイミングが遅れ、出力ラッチ12が内部クロックにて出力すべきページラッチデータを保持することができないことになる。
したがって、上述した従来例においては、出力ラッチ12に対してページデータPDを出力するタイミングがずれる、すなわちページラッチ10におけるセンスラッチデータSLDのセットアップ時間が不足する可能性が生じる。
上述した結果により、バースト読み出しの外部クロックの周波数の高速化を抑制することとなり、データの読出速度を制限させる原因となる。
そこで、本発明は、外部から入力されるクロックの周波数を高くし、読み出しを高速化する妨げとなるページラッチにおけるセットアップタイムの不足を抑制し、従来例に比較して高速な読み出しができる半導体メモリを提供することを目的とする。
本発明の半導体メモリは、外部から入力される先頭アドレスに基づき、マトリクス状に配置されたメモリ素子から読み出したメモリデータを外部クロックに同期させて、外部クロックのサイクル毎に連続して外部に出力するバースト読み出しの機能を有する半導体メモリであって、前記メモリ素子をM×N(M、Nは2以上の整数)本の読み出し線毎に分割したブロックと、前記ブロック毎に読み出し線に接続されたメモリ素子のメモリデータを読み出すN個のセンスアンプと、前記N個のセンスアンプ各々に対し、M×N本の読み出し線における何れのN本を接続するかの切り替えを行う切替スイッチと、前記センスアンプにより、前記読み出し線から読み出されたメモリデータを、バーストアドレスの変化に応じて生成されるセンスアンプコントロール信号によってラッチするセンスデータラッチと、複数のページラッチ部に分割され、各ページラッチ部単位でページラッチ信号によりメモリデータの書込処理を行うページラッチと、前記ページラッチのデータを、前記外部クロックに同期して順次読み込み、外部に出力する出力ラッチと、前記メモリデータを前記ページラッチに書き込むラッチ書込タイミングにおいて、前記センスアンプコントロール信号を出力するとともに、前記センスデータラッチから前記メモリデータを前記ページラッチ部に書き込む前記ページラッチ信号を、当該ページラッチ部毎に独立に出力するバースト制御部と、を有し、前記バースト制御部が、前記センスデータラッチの保持するメモリデータを、前記ページラッチに書き込む際、前記出力ラッチに出力されるタイミングの早いデータを保持する前記ページラッチ部に出力する前記ページラッチ信号を、前記センスアンプコントロール信号の出力されるサイクルより前のサイクルで出力し、前記出力ラッチに出力されるタイミングの遅いデータを保持する前記ページラッチ部に出力する前記ページラッチ信号を前記センスアンプコントロール信号の出力されるサイクルにおいて出力することを特徴とする。
本発明の半導体メモリは、前記ページラッチが、前記ブロックのワード境界単位に含まれるメモリデータの1/2の数の書込メモリデータをラッチするものであり、当該書込メモリデータを複数に分割して分割書込メモリデータとし、前記バースト制御部が、前記分割書込メモリデータの各々を、前記ページラッチ部単位で書込処理を行い、前記ワード境界の前記書込メモリデータを前記ブロックから読み出す前記バーストアドレスを生成する、ことを特徴とする。
本発明の半導体メモリは、前記バースト制御部が、前記ページラッチから前記分割書込メモリデータを出力している期間にラッチ書込タイミングを設け、前記バースト読み出し開始時に前記ページラッチに書き込んだ前記書込メモリデータのうち、前記ラッチ書込タイミングまでに読み出されて保持する必要のなくなった分割書込メモリデータを保持する前記ページラッチ部に対して前記ページラッチ信号を出力することを特徴とする。
本発明の半導体メモリは、前記センスデータラッチに対するセンスアンプコントロール信号が、バーストアドレスの変更を検出した信号に基づいて、メモリアクセスの時間経過後に出力され、また、前記センスアンプコントロール信号が出力されて、メモリデータがセンスデータラッチにラッチされた後のサイクルにおいて、アドレスが変更されることを特徴とする。
本発明の半導体メモリの動作方法は、外部から入力される先頭アドレスに基づき、マトリクス状に配置されたメモリ素子から読み出したメモリデータを外部クロックに同期させて、外部クロックのサイクル毎に連続して外部に出力するバースト読み出しの機能を有する半導体メモリの動作方法であって、バースト制御部が、切替スイッチにより、前記メモリ素子をM×N(M、Nは2以上の整数)本の読み出し線毎に分割した各ブロック毎において、切替スイッチが、前記ブロック毎に読み出し線に接続されたメモリ素子のメモリデータを読み出すN個のセンスアンプ各々に対し、M×N本の読み出し線における何れのN本を接続するかの切り替えを行う切替過程と、バースト制御部が、前記センスアンプに対して、前記読み出し線からメモリデータを読み出させる過程と、前記バースト制御部が、前記センスアンプから出力されるメモリデータを、バーストアドレスの変化に応じて生成したセンスアンプコントロール信号によってセンスデータラッチにラッチさせるラッチ過程と、前記バースト制御部が、複数のページラッチ部からなるページラッチに対し、各ページラッチ部単位に、前記センスデータラッチから出力されるメモリデータの書込処理を行うページラッチ書込過程と、前記バースト制御部が、前記ページラッチのデータを、前記外部クロックに同期して順次出力ラッチへ読み込ませ、外部に出力する過程と、前記バースト制御部が、前記メモリデータを前記ページラッチに書き込むラッチ書込タイミングにおいて、前記センスアンプコントロール信号を出力するとともに、前記センスデータラッチから前記メモリデータを前記ページラッチ部に書き込むページラッチ信号を、当該ページラッチ部毎に独立に出力する過程と、を有し、前記バースト制御部が、前記センスデータラッチの保持するメモリデータを、前記ページラッチに書き込む際、前記出力ラッチに出力されるタイミングの早いデータを保持する前記ページラッチ部に出力する前記ページラッチ信号を、前記センスアンプコントロール信号の出力されるサイクルより前のサイクルで出力し、前記出力ラッチに出力されるタイミングの遅いデータを保持する前記ページラッチ部に出力する前記ページラッチ信号を前記センスアンプコントロール信号の出力されるサイクルにおいて出力することを特徴とする。
本発明の半導体メモリの動作方法は、前記ページラッチが、前記ブロックのワード境界単位に含まれるメモリデータの1/2の数の書込メモリデータをラッチするものであり、当該書込メモリデータを複数に分割して分割書込メモリデータとし、前記バースト制御部が、前記分割書込メモリデータの各々を、各ページラッチ部単位で書込処理を行い、前記ワード境界の前記書込メモリデータを前記ブロックから読み出す前記バーストアドレスを生成する、ことを特徴とする。
本発明の半導体メモリの動作方法は、前記バースト制御部が、前記ページラッチから前記分割書込メモリデータを出力している期間にラッチ書込タイミングを設け、前記バースト読み出し開始時に前記ページラッチに書き込んだ前記書込メモリデータのうち、前記ラッチ書込タイミングまでに読み出されて保持する必要のなくなった分割書込メモリデータを保持する前記ページラッチ部に対して前記ページラッチ信号を出力することを特徴とする。
本発明の半導体メモリの動作方法は、前記センスデータラッチに対する前記センスアンプコントロール信号が、バーストアドレスの変更を検出した信号に基づいて、メモリアクセスの時間経過後に出力され、また、前記センスアンプコントロール信号が出力されて、メモリデータがセンスデータラッチにラッチされた後のサイクルにおいて、アドレスが変更されることを特徴とする。
本発明によれば、開始アドレスに対応する16W境界において、ページラッチの中の、出力ラッチに対して最初にメモリデータを出力するメモリデータを保持するラッチ部に対して出力されるラッチイネーブル信号を、従来の様に、バーストアドレスが変化し、アクセスするメモリが変化する直前のサイクルでなく、それより所定のサイクル数分前の(早いサイクル)にて出力するため、例えば、1サイクル早めに出力することにより、ディレイによりラッチイネーブル信号が遅れたとしても、ページラッチにおけるセットアップ時間(データが入力されてから出力ラッチへデータを出力する時間)に対し余裕を持つことができ、出力ラッチに対して、従来に比較して高速にセンスデータラッチから出力するデータを供給することが可能となり、ラッチイネーブル信号のディレイにより読み出しクロックの周波数の制限を緩和し、より高速のアクセスを可能とすることができる。
同様に、本発明によれば、上記「開始アドレスに対応する16W境界」以降の16W境界においても、バーストアドレスが変化する直前のサイクルでイネーブル信号を出力するのではなく、早いサイクルにて書き込みのイネーブル信号を出力することにより、出力ラッチに対して、従来に比較して高速にセンスデータラッチから出力するデータを供給することが可能となり、ラッチイネーブル信号のディレイにより読み出しクロックの周波数の制限を緩和し、より高速のアクセスを可能とすることができる。
また、本発明によれば、ページラッチを複数のラッチ部に分割し、各ラッチ部単位でメモリデータの書込処理を行うため、最初の16ワード境界前の1回目のメモリアクセスにおける未出力の有効データがなくなることなく、最初の16ワード境界前の2回目のメモリアクセスの開始を早くすることが可能になる。
以下、本発明の実施の形態のフラッシュメモリについて図面を参照しつつ説明する。
図11は本実施の形態のフラッシュメモリの構成を示す図である。なお、本実施の形態においてはメモリアクセスがファーストレイテンシの1サイクル前には完了している場合を対象とする。
図11に示すフラッシュメモリには、上述した従来のフラッシュメモリと同様の動作を行う入力バッファ1、アドレスラッチ2、およびアドレス制御部4があり、上記の従来例の説明が適用できるため、説明を省略する。ここで用いられているサイクルは、内部クロックの立ち上がりから、次の内部クロックの立ち上がり前の周期を示している。
フラッシュメモリには、バースト制御部3Aがある。バースト制御部3Aは、アドレスラッチ2から入力されるラッチアドレスLADを先頭アドレス(スタートアドレス、開始アドレス)とし、スタートアドレスの上位ビット(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は、従来例において記載した通り、複数のメモリセル(メモリ素子)がマトリクス状に配置されて形成されている。メモリセル(メモリ素子)は2×N(本実施の形態においては、Nは8)本の読み出し線毎にブロックに分割されており、このブロックをまたいで一度にメモリアクセスすることができない。
センスアンプ7は、従来例において記載した通り、8個のセンスアンプ7−0〜7−7からなる(図4参照)。そして、図4を参照して説明した通り、スイッチ機構100により、センスアンプ7−0〜7−7に2×N本の読み出し線のいずれかのN本の読み出し線に接続するかの切り替えが行われる。なお、以下において、各センスアンプ7−0〜7−7によってセンスされて出力されるメモリデータ群をワードデータWD0〜WD7と記載する。
フラッシュメモリには、センスデータラッチ9Aがある。センスデータラッチ9Aは、センスアンプコントロール信号SCの「H」レベルの期間において、入力されるメモリデータ群、つまり、ワードデータWD0〜WD7をそのまま通過させて出力し、「L」レベルに遷移すると、その「L」レベルとなった時点において入力されていたワードデータWD0〜WD7をラッチして、センスラッチデータSLD(SLD01、SLD23、SLD45、SLD67)として出力する。なお、センスラッチデータSLD01〜SLD67は、夫々、2ページ分のワードデータであり、センスラッチデータSLD01は、ワードデータWD0、WD1に対応し、センスラッチデータSLD23は、ワードデータWD2、WD3に対応する。また、センスラッチデータSLD45は、ワードデータWD4、WD5に対応し、センスラッチデータSLD67は、ワードデータWD6、WD7に対応する。
フラッシュメモリには、ページラッチ10Aがある。ページラッチ10Aは、センスラッチデータSLD01、SLD23、SLD45、SLD67の夫々を個別にラッチすることができるように、センスラッチデータSLD01、SLD23、SLD45、SLD67の夫々に対応したページラッチ部10−0〜10−3を有している。
ページラッチ部10−0、10−1、10−2、10−3は、夫々、内部クロックCLKに非同期のセンスアンプコントロール信号SCにてセンスデータラッチ9Aにラッチされ出力されているセンスラッチデータSLD01、SLD23、SLD45、SLD67を、内部クロックCLKに同期したページラッチ信号PL0、PL1、PL2、PL3によりラッチし、ページラッチデータPLD01、PLD23、PLD45、PLD67として出力する。
フラッシュメモリには、ページセレクタ11Aがある。ページセレクタ11Aは、ページコントロール信号PCにより、ページラッチ10Aによりラッチされている複数のワードの何れかを選択して、ページデータ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は、アドレスラッチ2から入力されるラッチアドレスLAD(22ビット)の下位3ビットを除いた、「3〜22ビット」が示す上位アドレスをスタートのバーストアドレスBADとして出力する。アドレスカウンタ33Aは、後述するファーストレイテンシカウンタ34Aの計数値が「1」であるときに入力される内部クロックCLKの立ち上がりに同期し、バーストアドレスBADを「1」インクリメントし、「1」インクリメントした値をバーストアドレスBADとして出力する。
また、アドレスカウンタ33Aは、データカウンタ35Aの計数値が「8」で16W境界カウンタ36Aの計数値が「1」および「0」のいずかであるときに入力される内部クロックCLKの立ち上がりに同期して、また、データカウンタ35Aの計数値が「8」であるときに16W境界カウンタ36Aの計数値が「2」以上であれば16W境界カウンタ36の計数値が「1」となった後ときに入力される内部クロックCLKの立ち上がりに同期して、バーストアドレスBADを「1」インクリメントして、「1」インクリメントした値をバーストアドレスBADとして出力する。さらに、アドレスカウンタ33Aは、データカウンタ35Aの計数値が「0」であり、16W境界カウンタ36の計数値が「1」および「0」のいずかである内部クロックCLKの立ち上がりに同期してバーストアドレスBADを「1」インクリメントして、「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が「H」レベルのときの内部クロックCLKの立ち上がりに同期して、ファーストレイテンシレジスタ31Aに記憶されているウェイト計数初期値を読み込み、読み込んだウェイト計数初期値を、ファーストレイテンシカウンタ34Aに対し、計数の初期値として書き込む。
バースト制御部3Aには、有効データレジスタ書込部38Aがある。有効データレジスタ書込部38Aは、有効データ数(メモリアクセスにおいてメモリセルアレイ6からセンスしたデータのうちバースト出力すべき有効なデータの数)から「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は最初のメモリアクセスが完了してセンスデータラッチ9Aにラッチされた有効データをページラッチ10Aに書き込むために、「H」レベルの期間を有するページラッチ信号PLを生成する。メモリアクセスが完了してセンスラッチデータがセンスデータラッチ9Aによりラッチされ、ページラッチ10Aの未出力の有効データをラッチしているページラッチ部以外のページラッチ部(10−1,10−2,10−3,10−4)でセンスデータラッチ9Aにラッチした有効データをラッチ可能になると、センスデータラッチ9Aにラッチされている有効データをページラッチ部に書き込むために、そのページラッチ部に対応させて、「H」レベルの期間を有するページラッチ信号PL(PL0,PL1,PL2,PL3)を生成する。
ページラッチ信号生成部42Aは、ページラッチ部10Aにセンスラッチデータを書き込む際に、ページラッチ部(10−1,10−2,10−3,10−4)毎に、ページラッチ信号PL0〜PL3(異なった第2の制御信号)が入力され、各ページラッチ部を独立にイネーブル、すなわちスルー状態とし、保持可能状態としている。
また、既に述べたセンスアンプコントロール信号SC(第1の制御信号)が、アクセスするバーストアドレスBADの変更を検出した検出信号DTに基づき、メモリアクセスの時間経過後に出力され、また、上記センスアンプコントロール信号SCが出力されて、メモリデータがセンスデータラッチ9にラッチされた後のサイクルにおいて、アドレスカウンタ33が「1」インクリメントする動作を行い、バーストアドレスBADが変更される。
ページラッチ信号生成部42Aは、アドレスラッチ信号ALATが「H」レベルのときの内部クロックCLKの立ち上がりに同期して、ページラッチ信号PL0〜PL3を立ち上げ、ファーストレイテンシカウンタ34Aの計数値が「1」である内部クロックCLKの立ち上がりに同期して、ページラッチ信号PL0〜PL3を立ち下げる。
また、ページラッチ信号生成部42Aは、データカウンタ35Aの計数値が「8」となった際(16W境界直前の8ワード境界におけるデータの出力中でないことを検出した際)、16W境界カウンタ36Aの計数値が「2」以上である場合、16W境界カウンタの計数が進み、16W境界カウンタ36の計数値が「3」になった後に入力される内部クロックCLKの立ち上がりに同期して、ページラッチ信号PL0〜PL2を立ち上げ、次に、16W境界カウンタ36の計数値が「2」になった後に入力される内部クロックCLKの立ち上がりに同期して、ページラッチ信号PL3を立ち上げる。
上述したように、ページラッチ信号生成部42Aは、バーストアドレスが変化するサイクルに対して、ページラッチ10Aをイネーブルとするページラッチ信号PL0〜PL2を2つ前のサイクル(バーストアドレスが変化する直前のサイクルより1つ前のサイクル)にて、またページラッチ信号PL3をバーストアドレスが変化する直前のサイクルにて出力している。
ここで、16ワード境界カウンタが「2」となったということは、次の「1」となったサイクル内で、センスアンプコントロール信号SCが出力される設計となっているため、次の「1」となったサイクル内でページラッチ信号PL3を立ち上げる。本実施形態においては、ページラッチ信号PL0〜PL2を、ページラッチ信号PL3より1サイクル前に立ち上げている。
そして、ページラッチ信号生成部42Aは、その後の16W境界カウンタ36の計数値が「1」であるときに入力される内部クロックCLKの立ち上がりに同期してページラッチ信号PL0〜PL3を立ち下げる。この時点で、ページラッチ11Aは、センスデータラッチ9Aから入力されるセンスラッチデータSLDをラッチ(保持)する。
また、ページラッチ信号生成部42Aは、16W境界カウンタ36Aの計数値が「3」となった際に、データカウンタ35の計数値が「0」である場合、この状態のときに入力される内部クロックCLKの立ち上がりに同期してページラッチ信号PL0〜PL2を立ち上げ、次に、16W境界カウンタ36Aの計数値が「2」である場合、この状態のときに入力される内部クロックCLKの立ち上がりに同期してページラッチ信号PL3を立ち上げ、その後の16W境界カウンタ36Aの計数値が「1」である内部クロックCLKの立ち上がりに同期してページラッチ信号PL0〜PL3を立ち下げる。
すなわち、ページラッチ信号生成部42Aは、アドレスカウンタ33Aが「1」インクリメントされ、バーストアドレスが変化し、新たなアドレスの8ワード分のメモリ素子のアクセスが行われる時点で、ページラッチ10Aの各ラッチ部に入力されているセンスラッチデータSLDを保持するデータとして確定するため、このインクリメントが行われるサイクルの内部クロックCLKの立ち上がりにおいて、ページラッチ信号PL3を立ち上げる。
さらに、ページラッチ信号生成部42Aは、16W境界カウンタ36Aの計数値が「1」および「2」の何れかであり、データカウンタ35Aの計数値が「A(10)」および「2」の何れかであるときに入力される内部クロックCLKの立ち上がりに同期して(アドレスカウンタ33Aが「1」インクリメントされ、バーストアドレスが次の16W境界における8ワード単位のメモリをアクセスする直前のサイクル(周期)の1つまえ、すなわちバーストアドレスが変化する2サイクル前のサイクルにおいて)、ページラッチ信号PL0〜PL2を立ち上げ、次に、16W境界カウンタ36Aの計数値が「0」および「1」の何れかであり、データカウンタ35Aの計数値が「9」および「1」の何れかであるときに入力される内部クロックCLKの立ち上がりに同期して(アドレスカウンタ33Aが「1」インクリメントされ、バーストアドレスが次の16W境界における8ワード単位のメモリをアクセスする直前のサイクル、すなわちバーストアドレスが変化する1サイクル前のサイクルにおいて)、ページラッチ信号PL3を立ち上げ、その後のデータカウンタ35Aの計数値が「8」および「0」の何れかであるときに入力される内部クロックCLKの立ち上がりに同期してページラッチ信号PL0〜PL3を立ち下げる。
また、開始アドレスに対応した最初の16W境界を超えた以降のバースト読み出しにおいて、ページラッチ信号生成部42Aは、データカウンタ35Aの計数値が「2」であるときに入力される内部クロックCLKの立ち上がりに同期して(アドレスカウンタ33Aが「1」インクリメントされ、バーストアドレスが次の16W境界における8ワード単位のメモリをアクセスする直前のサイクルの1つまえ、すなわちバーストアドレスが変化する2サイクル前のサイクルにおいて)、ページラッチ信号PL0〜PL2を立ち上げ、データカウンタ35Aの計数値が「1」である時に入力される内部クロックに同期して(アドレスカウンタ33Aが「1」インクリメントされ、バーストアドレスが次の16W境界における8ワード単位のメモリをアクセスする直前のサイクル、すなわちバーストアドレスが変化する1サイクル前のサイクルにおいて)、ページラッチ信号を立ち上げ、その後のデータカウンタ35Aの計数値が「0」であるときに入力される内部クロックCLKの立ち上がりに同期して(バーストアドレスが変化したサイクルにて、次の8ワード単位のメモリアクセスが開始された時点において)、ページラッチ信号PL0〜PL3を立ち下げる。
上述したように、ページラッチ信号PL0〜PL2が出力されるタイミングを、従来に比して1サイクル早めたため、本実施形態においては、開始アドレスに対応した16W境界においては、センスアンプコントロール信号SCが出力されるサイクル以前に、ページラッチ信号PL0〜PL2が出力され、ページデータラッチ10Aにおけるセットアップ時間を確保することができ、すなわち出力ラッチ12に対して遅れなくページデータPDを出力することができるため、外部クロックの周波数を高くし、読み出し速度を高速化を図ることができる。
すでに述べた従来例に比べて1サイクル前とは、設計上においてバーストアドレスが変化する直前のサイクルより、1周期(サイクル)前を指している。一方、従来例においては、バーストアドレスが変化する1サイクル前の周期の開始時点にページラッチ信号PLを立ち上げていた。
ここで、ページラッチ信号PL3については、現在出力中のデータが保持されているため、先出しすることでデータが変更されてしまうので、従来と同様のタイミングにて出力される。
しかしながら、ラッチされたデータの読み出しにおいて、ページラッチ信号PL3がラッチ制御するラッチ部10−4には、出力ラッチ12にラッチする周期までに、複数サイクルの時間があるため、セットアップマージンは十分に取れており、ページラッチ信号PL3の先出しの必要はない。
つまり、ページラッチ信号生成部42Aは、ページラッチ10Aへの書き込みの際、ページラッチ部のなかで出力中のメモリデータを保持しているページラッチ部、すなわちページラッチ10A内の最後のページラッチ部10−4に対するページラッチ信号PL3(第2の制御信号)が、センスアンプコントロール信号SC(第1の制御信号)と同一サイクルにて出力する。
また、この制御は、ページラッチ11Aを、ページラッチ部(10−1,10−2,10−3,10−4)に分割し、それぞれのページラッチ部を、ページラッチ信号PL(PL0,PL1,PL2,PL3)によって、任意にラッチ制御を行うことにより実現できたものである。
上述したように、本実施形態においては、ページラッチ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」に関係して立ち上げ、立ち下げるページラッチ信号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が「H」レベルのときの内部クロックCLKの立ち上がりに同期して、開始アドレスの下位3ビットをページコントロール信号PCの初期値として読み込み、内部クロックCLKの立ち上がりに同期して「1」インクリメントする。
ページコントロール信号生成部43Aは、初期値を読み込んだ後にディセーブル状態となり、ファーストレイテンシカウンタ34Aの計数値が「1」になるとイネーブル状態になる。また、ページコントロール信号生成部43Aは、データカウンタ35Aの計数値が「1」のときに16W境界カウンタ36Aの計数値が「3」以上であればディセーブル状態となり、その後に16W境界カウンタ36Aの計数値が「2」になるとイネーブル状態になる。
バースト制御部3Aには、ウェイト信号生成部44Aがある。ウェイト信号生成部44Aは、アドレスラッチ信号ALATが「H」レベルのときの内部クロックCLKの立ち上がりに同期して、ウェイト信号WAITを立ち上げ、ファーストレイテンシカウンタ34Aの計数値が「1」であるときに入力される内部クロックCLKの立ち上がりに同期してウェイト信号WAITを立ち下げる。
また、ウェイト信号生成部44Aは、データカウンタ35の計数値が「0」であり、16W境界カウンタ36Aの計数値が「2」以上である内部クロックCLKの立ち上がりに同期して、ウェイト信号WAITを立ち上げ、その後の16W境界カウンタ36Aの計数値が「1」であるときに入力される内部クロックCLKの立ち上がりに同期してウェイト信号WAITを立ち下げる。
バースト制御部3Aは、図示しない、同期/非同期セレクト信号SEL、およびアウトプットコントロール信号OPCの生成を行う。また、バースト制御部3Aは、アドレスラッチ信号ALATが「H」レベルのときの内部クロックCLKの立ち上がりに同期して、16W境界信号を「L」レベルから「H」レベルに立ち上げ、その後のデータカウンタ35Aの計数値が「1」である内部クロックCLKの立ち上がりに同期して、16W境界信号を「H」レベルから「L」レベルに立ち下げる。
以下、上述した本実施の形態のフラッシュメモリのバースト読み出しの動作について図面を参照しつつ説明する。
図13は、ファーストレイテンシが6サイクル、開始アドレスの下位4ビットが「E(14)」の場合における、本実施の形態の各回路の動作のタイミングチャートを示している。なお、図13は、従来例において説明した図7に対応する。
時刻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」になると計数を行うイネーブル状態になる。
次に、時刻t162において、ATD回路8は、時刻t102にアドレス変化検出部41Aから出力された検出信号DTを、所定の期間(メモリアクセスの期間)ディレイさせて、センスアンプコントロール信号SCとして出力する。
これにより、センスデータラッチ9Aは、上記センスアンプコントロール信号SCにより、メモリデータMDをラッチし、「D14」〜「D15」をセンスラッチデータSLD(SLD67)として出力する。
時刻t107において、ファーストレイテンシカウンタ34Aは計数値を「1」デクリメントして計数値を「0」にする。
アドレスカウンタ33Aは、最初のメモリアクセスが完了しているので、計数値を「1」インクリメントし、次にアクセスするメモリ(8ワード単位)のアドレスを示すバーストアドレスBAD(以下、次にアクセスするバーストアドレス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」を読み込み、ウェイト計数初期値を計数の初期値として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において、ページラッチ信号生成部42Aは、データカウンタ35Aの計数値が「0」であり、16W境界カウンタ36Aの計数値が「3」であるときに入力される内部クロックCLKの立ち上がりに同期して、ページラッチ信号PL0〜PL2を立ち上げる(「L」レベルから「H」レベルとする)。
これにより、ページラッチ10Aは、ページラッチデータPLD01〜PLD02をスルーさせて、ページセレクタ11Aへ出力するイネーブル状態となる。
このとき、ページラッチ10Aにおけるページラッチ部10−4が出力ラッチ12に対してD15(ページラッチデータPLD67;ページラッチ10A内の最後のページラッチデータ)を出力しているため、ページラッチ信号PL3を立ち上げることができない。
また、16W境界カウンタ36Aは、内部クロックCLKの立ち上がりに同期して、計数値を「1」デクリメントして計数値を「2」にする。ページコントロール信号生成部43Aは、16W境界カウンタ36Aの計数値が「2」になったのでイネーブル状態になる。
時刻t111において、ページラッチ信号生成部42Aは、データカウンタ35Aの計数値が「0」であり、16W境界カウンタ36Aの計数値が「2」であるときに入力される内部クロックCLKの立ち上がりに同期して、ページラッチ信号PL3を立ち上げる(「L」レベルから「H」レベルとする)。
すなわち、出力ラッチ12がページラッチ10Aにおけるページラッチ部10−4が出力していたD15(ページラッチデータPLD67)を読み込んだため、ページラッチ信号PL3を立ち上げることができる。
16W境界カウンタ36Aは、内部クロックCLKの立ち上がりに同期して、計数値を「1」デクリメントして計数値を「1」にする。
ページコントロール信号生成部43Aは、内部クロックCLKに同期して、ページコントロール信号PCを「P7」から「P0」にインクリメントし、「P0」をページコントロール信号PCとして出力する。これにより、ページセレクタ11Aは、ページラッチ10A(ページラッチ部10−0〜10−3)が出力しているページラッチデータPLDの中から、ページコントロール信号PC(「P0」)に対応する「D16」を選択して、「D16」をページデータPDとして出力する。
次に、時刻t172において、ATD回路8は、時刻t107にアドレス変化検出部41Aから出力された検出信号DTを、所定の期間(メモリアクセスの期間)ディレイさせて、センスアンプコントロール信号SCとして出力する。
これにより、センスデータラッチ9Aは、上記センスアンプコントロール信号SCにより、メモリデータMDをラッチし、「D16」〜「D23」をセンスラッチデータSLD(SLD01〜SLD67)として出力する。
時刻t112において、有効データの出力とメモリアクセスの双方が完了することになるので、アドレスカウンタ33Aは、データカウンタ35Aの計数値が「0」であり、16W境界カウンタ36は計数値が「1」であるときに入力される内部クロックCLKの立ち上がりに同期して、計数値を「1」インクリメントし、次にアクセスするバーストアドレスBADとして出力する。
このとき、アドレス変化検出部41Aは、アドレスカウンタ33Aの出力するバーストアドレスBADが変化したことを検出して、ATD回路8に対してワンショットパルスの検出信号DTを出力する。この検出信号DTがATD回路8により所定時間遅延させられて、センスアンプコントロール信号SCとしてセンスデータラッチ9Aに入力され、センスデータラッチ9Aは、センスアンプ7から出力されるメモリデータMDをラッチして、「D24」〜「D31」をセンスラッチデータSLD(センスラッチデータSLD01〜SLD67)として出力する(時刻t182)。
時刻t112において、データカウンタ書込部39Aは、有効データの出力に必要なクロックサイクルを計数するために、データカウンタ35Aの計数値が「0」であり、16W境界カウンタ36Aの計数値が「1」であるときに入力される内部クロックCLKの立ち上がりに同期して、有効データレジスタ32Aに記憶されているデータ計数初期値「7」を読み込み、データ計数初期値を計数の初期値としてデータカウンタ35Aに書き込む。
ページラッチ信号生成部42Aは、データカウンタ35Aの計数値が「0」であり、16W境界カウンタ36Aの計数値が「1」であるときに入力される内部クロックCLKの立ち上がりに同期して、時刻t110及び時刻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」デクリメントし、計数値が「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」)。
時刻t118において、ページラッチ信号生成部42Aは、最初のファーストレイテンシの期間における16W境界が終了しており、16W境界カウンタ36Aの計数値が「0」であって、データカウンタ35Aの計数値が「2」であるときに入力される内部クロックCLKの立ち上がりに同期して、ページラッチ信号PL0〜PL2を立ち上げる(「L」レベルから「H」レベルとする)。
時刻t119において、ページラッチ信号生成部42Aは、上述したように、16W境界カウンタ36Aの計数値が「0」であり、データカウンタ35Aの計数値が「1」であるときに入力される内部クロックCLKの立ち上がりに同期して、ページラッチ信号PL3を立ち上げる(「L」レベルから「H」レベルとする)。
ここで、ページラッチ信号生成部42Aは、ページラッチ10Aにおける最後のページラッチデータの出力が終了しているため、すなわち時刻t119において、出力ラッチ12にデータD23(ページラッチデータPLD67)がラッチされたため、ページラッチ信号PL3を立ち上げる。
時刻t120において、データカウンタ35Aの計数値が「0」であるときに入力される内部クロックCLKの立ち上がりに同期して、アドレスカウンタ33Aは計数値を「1」インクリメントし、次にアクセスするバーストアドレスBADとして出力する。このとき、アドレス変化検出部41Aは、アドレスカウンタ33Aの出力するバーストアドレスBADが変化したことを検出して、ATD回路8に対してワンショットパルスの検出信号DTを出力する。
時刻t120において、データカウンタ書込部39Aは、有効データの出力に必要なクロックサイクルを計数するために、16W境界カウンタ36Aの計数値が「0」であり、データカウンタ35Aの計数値が「0」であるときに入力される内部クロックCLKの立ち上がりに同期して、有効データレジスタ32Aに記憶されているデータ計数初期値「7」を読み込み、データ計数初期値「7」をデータカウンタ35Aに初期値として書き込む。
ページラッチ信号生成部42Aは、データカウンタ35Aの計数値が「0」であるときに入力される内部クロックCLKの立ち上がりに同期して、時刻t118及び時刻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」の場合における、本実施の形態の各回路の動作のタイミングチャートを示している。なお、図14は、従来例において説明した図8に対応する。
時刻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の計数値が「3」以上の「4」であるので、ページラッチ立上信号を「1」にする。
時刻t209、t210において、データカウンタ35Aは、内部クロックCLKの立ち上がりに同期して、計数値を「1」デクリメントし、計数値が「6」になる。16W境界カウンタ36Aは、内部クロックCLKの立ち上がりに同期して計数値を「1」デクリメントし、計数値が「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により所定時間遅延させられて、センスアンプコントロール信号SCとしてセンスデータラッチ9Aに入力され、センスデータラッチ9Aは、センスアンプ7から出力されるメモリデータMDをラッチして、「D16」〜「D23」をセンスラッチデータSLD(SLD01〜SLD67)として出力する(時刻t282)。
時刻t212において、データカウンタ35Aは、内部クロックCLKの立ち上がりに同期して、計数値を「1」デクリメントして計数値を「4」にする。
境界カウンタ書込部40Aは、16ワード境界信号が「H」レベルであるので、メモリアクセスに必要なクロックサイクルを計数するために、ファーストレイテンシカウンタ34Aの計数値が「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」デクリメントし、計数値が「0」になる。16W境界カウンタ36Aは、内部クロックCLKの立ち上がりに同期して、計数値を「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)。
時刻t215において、ページラッチ信号生成部42Aは、データカウンタ35Aの計数値が「2」であり、16W境界カウンタ36Aの計数値が「3」であるときに入力される内部クロックCLKの立ち上がりに同期して、ページラッチ信号PL0〜PL2を立ち上げる(「L」レベルから「H」レベルとする)。
時刻t216において、バースト制御部3Aは、データカウンタ35Aの計数値が「1」であるときに入力される内部クロックCLKの立ち上がりに同期して、時刻t202において立ち上げた16ワード境界信号を立ち下げる。これにより、以降、バーストアドレスが「1」インクリメントされるタイミングにおいてもファーストレイテンシレジスタ31Aに記憶されているウェイト計数初期値を新たに16W境界カウンタ36Aに書き込まれることがなくなる。
ページラッチ信号生成部42Aは、データカウンタ35Aの計数値が「1」であり、16W境界カウンタ36Aの計数値が「2」であるときに入力される内部クロックCLKの立ち上がりに同期して、ページラッチ信号PL3を立ち上げる(「L」レベルから「H」レベルとする)。
時刻t217において、有効データの出力とメモリアクセスの双方が完了することになるので、アドレスカウンタ33Aは、データカウンタ35Aの計数値が「0」であり、16W境界カウンタ36は計数値が「1」であるときに入力される内部クロックCLKの立ち上がりに同期して、計数値を「1」インクリメントし、次にアクセスするバーストアドレスBADとして出力する。このとき、アドレス変化検出部41Aは、アドレスカウンタ33Aの出力するバーストアドレスBADが変化したことを検出して、ATD回路8に対してワンショットパルスの検出信号DTを出力する。
また、データカウンタ書込部39Aは、有効データの出力に必要なクロックサイクルを計数するために、16W境界カウンタ36Aの計数値が「1」であり、データカウンタ35Aの計数値が「0」であるときに入力される内部クロックCLKの立ち上がりに同期して、有効データレジスタ32Aに記憶されているデータ計数初期値「7」を読み込み、データ計数初期値「7」をデータカウンタ35Aに初期値として書き込む。
また、ページラッチ信号生成部42Aは、データカウンタ35Aの計数値が「0」であり、16W境界カウンタ36Aの計数値が「1」であるときに入力される内部クロックCLKの立ち上がりに同期して、時刻t215及び時刻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により所定時間遅延させられて、センスアンプコントロール信号SCとしてセンスデータラッチ9Aに入力され、センスデータラッチ9Aは、センスアンプ7から出力されるメモリデータMDをラッチして、「D14」〜「D15」をセンスラッチデータSLD(SLD01〜SLD67)として出力する(時刻372)。
また、時刻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」レベルとする)。
時刻t308において、ページラッチ信号生成部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」デクリメントし、計数値が「5」になる。16W境界カウンタ36Aは、内部クロックCLKの立ち上がりに同期して計数値を「1」デクリメントし、計数値が「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は、16W境界カウンタ36Aの計数値が「1」であるときに入力される内部クロックCLKの立ち上がりに同期して、未出力の有効データをラッチしているページラッチ部以外のページラッチ部で最初の16ワード境界前の2回目のメモリアクセスで読み出された有効データをラッチ可能になっており、最初の16ワード境界前の2回目のメモリアクセスが完了して読み出されたメモリデータがセンスデータラッチ10Aにラッチされているので、時刻t311において立ち上げたページラッチ信号PL3を立ち下げる(「H」レベルから「L」レベルにする。)。これにより、ページラッチ部10−3は、センスデータラッチ9Aから出力されているセンスラッチデータSLD67をラッチし、「D14」〜「D15」をページラッチデータPLD67として出力する。なお、時刻t311、t312において、ページラッチ信号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により所定時間遅延させられて、センスアンプコントロール信号SCとしてセンスデータラッチ9Aに入力され、センスデータラッチ9Aは、センスアンプ7から出力されるメモリデータMDをラッチして、「D16」〜「D23」をセンスラッチデータSLD(SLD01〜SLD67)として出力する(時刻t382)。
時刻t312において、データカウンタ35Aは、内部クロックCLKの立ち上がりに同期して、計数値を「1」デクリメントして計数値を「3」にする。
境界カウンタ書込部40Aは、16ワード境界信号が「H」レベルであるので、メモリアクセスに必要なクロックサイクルを計数するために、ファーストレイテンシカウンタ34Aの計数値が「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〜時刻t315において、データカウンタ35Aは、内部クロックCLKの立ち上がりに同期して、計数値を「1」デクリメントし、計数値が「0」になる。16W境界カウンタ36Aは、内部クロックCLKの立ち上がりに同期して、計数値を「1」デクリメントし、計数値が「2」になる。
出力ラッチ12は、ページセレクタ11から出力されているページデータPDを、内部クロックCLKの立ち上がりに同期して保持し、セレクタ13およびデータ出力制御部14を介して、アウトプットデータOUTとして出力する(D13〜D15)。
ページコントロール信号生成部43Aは、内部クロックCLKに同期して、ページコントロール信号PCをインクリメントし、インクリメント後のデータをページコントロール信号PCとして出力する(P6、P7、P0)。これにより、ページセレクタ11Aは、ページラッチ10A(ページラッチ部10−0〜10−3)が出力しているページラッチデータPLD(PLD01〜PLD67)の中から、ページコントロール信号PCに対応するページラッチデータPLDを選択して、選択したページラッチデータPLDをページデータPDとして出力する(D14〜D16)。
時刻t315において、ページラッチ信号生成部42Aは、データカウンタ35Aの計数値が「1」であり、16W境界カウンタ36Aの計数値が「3」であるときに入力される内部クロックCLKの立ち上がりに同期して、ページラッチ信号PL0〜PL2を立ち上げる(「L」レベルから「H」レベルとする)。
時刻t316において、16W境界カウンタ36Aは、内部クロックCLKの立ち上がりに同期して、計数値を「1」デクリメントし、計数値が「1」になる。
ウェイト信号生成部44Aは、データカウンタ35Aの計数値が「0」であり、16ワード境界カウンタ36Aの計数値が「2」以上の「2」であるので、つまり、有効データの全てを出力してもメモリアクセスが完了していないので、内部クロックCLKの立ち上がりに同期して、ウェイト信号WAITを立ち上げる(「L」レベルから「H」レベルにする)。
ページラッチ信号生成部42Aは、データカウンタ35Aの計数値が「1」であり、16W境界カウンタ36Aの計数値が「2」であるときに入力される内部クロックCLKの立ち上がりに同期して、ページラッチ信号PL3を立ち上げる(「L」レベルから「H」レベルとする)。
バースト制御部3Aは、データカウンタ35Aの計数値が「1」であるときに入力される内部クロックCLKの立ち上がりに同期して、時刻t302において立ち上げた16ワード境界信号を立ち下げる。これにより、以降、バーストアドレスが「1」インクリメントされるタイミングにおいてもファーストレイテンシレジスタ31Aに記憶されているウェイト計数初期値を新たに16W境界カウンタ36Aに書き込まれることがなくなる。
時刻t317において、有効データの出力とメモリアクセスの双方が完了することになるので、アドレスカウンタ33Aは、データカウンタ35Aの計数値が「0」であり、16W境界カウンタ36は計数値が「1」であるときに入力される内部クロックCLKの立ち上がりに同期して、計数値を「1」インクリメントし、次にアクセスするバーストアドレスBADとして出力する。このとき、アドレス変化検出部41Aは、アドレスカウンタ33Aの出力するバーストアドレスBADが変化したことを検出して、ATD回路8に対してワンショットパルスの検出信号DTを出力する。
また、データカウンタ書込部39Aは、有効データの出力に必要なクロックサイクルを計数するために、16W境界カウンタ36Aの計数値が「1」であり、データカウンタ35Aの計数値が「0」であるときに入力される内部クロックCLKの立ち上がりに同期して、有効データレジスタ32Aに記憶されているデータ計数初期値「7」を読み込み、データ計数初期値「7」をデータカウンタ35Aに初期値として書き込む。
また、ページラッチ信号生成部42Aは、データカウンタ35Aの計数値が「0」であり、16W境界カウンタ36Aの計数値が「1」であるときに入力される内部クロックCLKの立ち上がりに同期して、時刻t315及び時刻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 (8)

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

Priority Applications (1)

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

Applications Claiming Priority (1)

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

Publications (2)

Publication Number Publication Date
JP2007080415A JP2007080415A (ja) 2007-03-29
JP4999302B2 true JP4999302B2 (ja) 2012-08-15

Family

ID=37940551

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005268349A Expired - Fee Related JP4999302B2 (ja) 2005-09-15 2005-09-15 半導体メモリ

Country Status (1)

Country Link
JP (1) JP4999302B2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2223301A4 (en) * 2007-12-21 2012-04-04 Mosaid Technologies Inc NON-VOLATILE SEMICONDUCTOR ARRANGEMENT WITH POWER SAVING FEATURE
US8291248B2 (en) 2007-12-21 2012-10-16 Mosaid Technologies Incorporated Non-volatile semiconductor memory device with power saving feature
KR100935593B1 (ko) 2008-02-12 2010-01-07 주식회사 하이닉스반도체 페이지 버퍼를 제어하는 비휘발성 메모리 장치
JP2010044822A (ja) * 2008-08-12 2010-02-25 Toppan Printing Co Ltd 半導体メモリ
JP5239939B2 (ja) * 2009-02-25 2013-07-17 凸版印刷株式会社 半導体メモリ
US8693264B2 (en) 2012-02-21 2014-04-08 Lsi Corporation Memory device having sensing circuitry with automatic latching of sense amplifier output node

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
JP2007080415A (ja) 2007-03-29

Similar Documents

Publication Publication Date Title
US6804760B2 (en) Method for determining a type of memory present in a system
TW594785B (en) Semiconductor memory device having external data load signal and serial-to-parallel data prefetch method thereof
JP4999302B2 (ja) 半導体メモリ
KR100660553B1 (ko) 데이터 버스트 주파수를 증가시킬 수 있는 원낸드 플래시메모리 장치
US8358557B2 (en) Memory device and method
WO1999050852A1 (en) Semiconductor memory asynchronous pipeline
WO1998059343A1 (en) Synchronous page-mode non-volatile memory
CN108475518B (zh) 存储器装置
CN1885430A (zh) 并行数据路径体系结构
US7227812B2 (en) Write address synchronization useful for a DDR prefetch SDRAM
CA2233789C (en) Semiconductor memory asynchronous pipeline
TW201618096A (zh) 記憶裝置中支援增進式流通量
JP3737437B2 (ja) 半導体メモリ及びその動作モードのエントリー方法
JP2014154119A (ja) メモリ制御装置及び半導体記憶装置
KR100914017B1 (ko) 메모리 컨트롤러, 반도체 메모리의 액세스 제어 방법 및시스템
US6791898B1 (en) Memory device providing asynchronous and synchronous data transfer
CN1825474A (zh) 具有快速列存取的随机存取存储器
JP4943681B2 (ja) 半導体メモリ
JP5000872B2 (ja) 半導体メモリ
US6178138B1 (en) Asynchronously addressable clocked memory device and method of operating same
JP4943682B2 (ja) 半導体メモリ
CN113454720B (zh) 存储设备及其控制方法
JP2004055112A (ja) 高速データアクセスのためのdram
JP2004206850A (ja) 半導体記憶装置
JP4789624B2 (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: 20110426

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110627

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120131

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120326

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

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

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 4999302

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

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

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

LAPS Cancellation because of no payment of annual fees