JP4943682B2 - 半導体メモリ - Google Patents
半導体メモリ Download PDFInfo
- Publication number
- JP4943682B2 JP4943682B2 JP2005268150A JP2005268150A JP4943682B2 JP 4943682 B2 JP4943682 B2 JP 4943682B2 JP 2005268150 A JP2005268150 A JP 2005268150A JP 2005268150 A JP2005268150 A JP 2005268150A JP 4943682 B2 JP4943682 B2 JP 4943682B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- page
- output
- latch
- internal clock
- 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
Links
Images
Landscapes
- Read Only Memory (AREA)
Description
電子機器は、フラッシュメモリに記憶されたデータに基づいて各種データ処理を行っている。近年、このデータ処理を実行するCPU(Central Processing Unit)の高速化は著しく、処理能力をクロック数で換算すると1GHzを遥かに超え、フラッシュメモリとCPU間のデータ転送速度が、システム全体の処理能力のボトルネックとなってきている。
バースト読み出しは、読み出すべき一連のデータの先頭アドレスのみを指定し、それに続くアドレスは、クロックのみによりメモリ内部でインクリメント処理される。
したがって、読み出すべき一連のデータは、先頭アドレスに対して連続になっているという制約はあるが、その分、先頭アドレスで指定したデータの読み出し速度に対し、それに続くデータの読み出し速度を格段に速めることができるものである(例えば、特許文献1参照。)。
読み出すべき一連のデータの先頭アドレスによってアドレス境界前の有効データ(外部にバースト出力すべきデータ)の数が異なることから、アドレス境界前のメモリアクセスで読み出した有効データの出力に要する時間がメモリアクセスに要する時間(アクセス時間)よりも短くなることがあり、この場合、メモリアクセスに要する時間を待つためウェイトサイクルが発生する。なお、以下において、このウェイトサイクルを境界前ウェイトサイクルという。
なお、バースト読み出しでは、読み出し開始における最初のアドレス境界において発生する境界前ウェイトサイクルのサイクル数を制御する必要があるが、それ以降のアドレス境界においては、データを出力している期間に、次に出力するデータの読み出しが完了するため、境界前ウェイトサイクルが発生しないようになっている。
なお、バースト読み出しでは、読み出し開始における最初のアドレス境界において発生する境界前ウェイトサイクルのサイクル数を制御する必要があるが、それ以降のアドレス境界においては、データを出力している期間に、次に出力するデータの読み出しが完了するため、境界前ウェイトサイクルが発生しないようになっている。
通常、外部入力のアウトプットイネーブル信号OEBが「L」レベル(イネーブル)時にバースト読み出しが許可され、アウトプットイネーブル信号OEBが「H」レベル(ディセーブル)時にバースト読み出しが停止する。このアウトプットイネーブル信号OEBのディセーブル時(バースト読み出しの停止時)をサスペンドと呼び、再びバースト読み出しを許可することをレジュームと呼ぶ。
サスペンドはバースト読み出しの全てのタイミングで有効であり、バースト読み出しが可能な状態であれば、レジュームによってバースト出力が開始される。
入力バッファ1は、外部から入力されるチップイネーブル信号CEB、アウトプットイネーブル信号OEB、アドレスバリッド信号ADVB、外部クロック、および外部アドレス(例えば、A0〜A22)を、波形成形等の処理を行い出力する。チップイネーブル信号CEBは、それが「L」レベル(ローレベル)になることによって、そのチップを動作状態にする信号である。アウトプットイネーブル信号OEBは、データの出力制御を行うためのものである。アドレスバリッド信号ADVBは、その「L」レベルによって外部アドレス信号を有効とする。
ここで、入力バッファ1は、チップイネーブル信号CEBが「L」レベルにて入力されることにより、外部クロックや他の入力信号により生成された信号、例えば、内部クロックCLK、アドレスラッチ信号ALAT、アドレスAD(例えば、A0〜A22)、アウトプットイネーブル信号OEB、およびクロックイネーブル信号CLKENが内部に供給されることで、フラッシュメモリ内の後に説明する各回路が活性化される。
入力バッファ1は、図2に一例が示される通り、アウトプットイネーブル信号OEBの立ち上がりに同期させて、クロックイネーブル信号CLKENを立ち下げ、アウトプットイネーブル信号OEBの立ち下がった後の最初の内部クロックCLKの立ち上がりに同期してクロックイネーブル信号CLKENを立ち上げる。入力バッファ1は、このようにして生成したクロックイネーブル信号CLKENを出力する。なお、クロックイネーブル信号CLKENが「H」レベルで内部クロックCLKが有効、「L」レベルで内部クロックCLKが無効である。
このアドレスラッチ2は、アドレスラッチ信号ALATが「H」レベルの期間において(時刻t1〜時刻t2)、入力されるアドレスADをそのまま通過させて出力し、「L」レベルに遷移すると、その「L」レベルとなった時点(時刻t2)において入力されていたアドレスADをラッチして、ラッチアドレスLADとして出力する。
また、バースト制御部3は、後述する通り、内部クロックCLKに同期して、ページラッチ信号PL、ページコントロール信号PC、アウトプットコントロール信号OPC、およびウェイト信号WAITを生成して出力し、さらに、初期時に設定されたアクセスのモード(バースト/ランダム)に応じて同期/非同期セレクト信号SELを生成して出力する。
メモリセルアレイ6は、複数のメモリセル(メモリ素子)がマトリックス状に配置されて形成されている。メモリセル(メモリ素子)はM×N(M、Nは整数であり、従来例においては、Mは2、Nは8である)本の読み出し線毎にブロックに分割されており、このブロックをまたいで一度にアクセスすることができない。
デコーダ5は、アドレス制御部4から入力されたメモリアドレスMADをデコードし、メモリセルアレイ6において、このメモリアドレスMAD(バーストアドレスBADの場合)の示す番地のメモリセル(8ワード単位、1ワード=16ビット)を選択する。
センスアンプ7は、選択されたメモリセルから出力される情報を、読み出し線を介して入力され、所定の電圧レベルに増幅して、メモリデータMDとして出力する。
センスデータラッチ9は、センスアンプコントロール信号SCの「H」レベルの期間において、センスアンプ7から入力されるメモリデータMDをそのまま通過させて出力し、「L」レベルに遷移すると、その「L」レベルとなった時点において入力されていたメモリデータMDをラッチして、センスラッチデータSLDとして出力する。
ページセレクタ11は、ページコントロール信号PCにより、ページラッチ10にラッチされている複数のワードデータ(複数のメモリデータからなる)を順次選択して、ページデータPDとして、出力ラッチ12およびセレクタ13の夫々へ出力する。
出力ラッチ12は、内部クロックCLKの立ち上がりエッジに同期させて、入力されるページデータPDをラッチする。
ここで、セレクタ13は、例えば、同期/非同期信号SELが「L」レベルの場合(ランダム読み出しが設定されている場合)、メモリの読み出しを内部クロックCLKに非同期にて行うため、ページセレクタ11から入力するページデータPDを選択してデータ出力制御部14へ出力し、同期/非同期信号SELが「H」レベルの場合(バースト読み出しが設定されている場合)、メモリの読み出しを内部クロックCLKに同期させて行うため、出力ラッチ12から入力されるページデータPDを選択してデータ出力制御部14へ出力する。
レディ出力制御部15は、アウトプットコントロール信号OPCとウェイト信号WAITとの論理積をとってレディ信号RDYとして出力する。レディ信号RDYは「H」レベルの場合、有効なアウトプットデータOUTが出力されていることを示し、「L」レベルの場合、有効でないアウトプットデータOUTが出力されていることを示す。
ここで、従来例および後述する実施の形態において、16ワードデータ領域内において、8ワード単位で設けられたセンスアンプ7に対して、メモリセルから読み出されるメモリデータの出力の切り替えを、2ワード単位にて行うように構成されている。
読み出し線「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つのグループに分けられている。
スイッチ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は、データAT[3:0]の各ビットを夫々反転して、反転して得られたデータAT[3:0]をスイッチ機構100に対して出力する。
次のバーストアドレスの変化するタイミングにおいて、読み出し線デコーダ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は、データ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に対して出力する。
バースト制御部3には、ファーストレイテンシレジスタ31があり、ファーストレイテンシレジスタ31は、外部から入力されるファーストレイテンシのウェイトサイクル数から「1」減算した値を記憶するレジスタである。このファーストレイテンシレジスタ31への書き込みはバースト読み出しなどが実際に行われるよりも前のタイミングで、不図示の制御回路により行われる。なお、以下において、ファーストレイテンシのウェイトサイクル数から「1」減算した値を、ウェイト計数初期値という。
なお、ファーストレイテンシのウェイトサイクル数は、非同期のメモリセルアレイからデータを読み出すための時間、すなわち、読み出し開始時に最初のメモリアクセス完了までの待ち時間が発生するために、バースト読み出しの開始の最初のクロックの有効エッジから、データ出力開始またはデータ出力確定のクロックの有効エッジまでのクロックサイクル数として設定されている。
バースト制御部3には、有効データ(メモリアクセスにおいてメモリセルアレイ6からセンスしたワードデータのうちバースト出力すべきワードデータ)の数から「1」減算した値を記憶する有効データレジスタ32がある。なお、以下において、有効データ数から「1」減算した値を、データ計数初期値という。
バースト制御部3には、有効データレジスタ書込部38がある。有効データレジスタ書込部38は、バースト読み出し開始時に、或いは、後述するデータカウンタ書込部39が有効データレジスタ32からデータ計数初期値を読み込んだ時に、データ計数初期値の算出を開始し、算出が完了した時点で算出したデータ計数初期値を有効データレジスタ32に書き込む。有効データレジスタ書込部38は、有効データの数から「1」減算した値(データ計数初期値)を算出し、算出結果を有効データレジスタ32に書き込む。なお、最初の16ワード境界前の1回目のメモリアクセスにおける有効データの数は図10の「1st」に示されている値であり、最初の16ワード境界前の2回目のメモリアクセスにおける有効データの数は図10の「2st」に示されている値である。また、最初の16ワード境界を越えた後のメモリアクセスにおける有効データの数は固定値「8」である。
続いて、有効データレジスタ書込部38は、有効データ数書込フラグが「010」であることを検出して、最初の16ワード境界における2回目のメモリアクセス(2stアクセス)の際に、最下位ビットを「0」とし、最下位ビット(1ビット目)、2ビット目、および3ビット目を夫々反転して、その結果をデータ計数初期値とする。そして、有効データレジスタ書込部38は有効データ書込フラグを「011」にする。
それ以降、有効データレジスタ書込部38は、有効データ数書込フラグが「011」であることを検出して、固定値「7」をデータ計数初期値とする。
それ以降、有効データレジスタ書込部38は、有効データ数書込フラグが「011」であることを検出して、固定値「7」(有効データ数の8より1小さい値)をデータ計数初期値とする。
データカウンタ書込部39は、データカウンタ35の計数値が「0」で16W境界カウンタ36の計数値が「1」および「0」の何れかであって、クロックイネーブル信号CLKENが「H」レベルの場合に入力される内部クロックCLKの立ち上がりに同期して、有効データレジスタ32に記憶されているデータ計数初期値を読み込み、読み込んだデータ計数初期値をデータカウンタ35に対して計数の初期値として書き込む。
境界カウンタ書込部40は、データカウンタ35の計数値が「0」で16W境界カウンタ36の計数値が「1」および「0」の何れかであって、クロックイネーブル信号CLKENが「H」レベルの場合に入力される内部クロックCLKの立ち上がりに同期して、ファーストレイテンシレジスタ31に記憶されているウェイト計数初期値を読み込み、読み込んだウェイト計数初期値を16W境界カウンタ36に対して計数の初期値として書き込む。
ページラッチ信号生成部42は、バーストアドレスの開始時に、最初のメモリアクセスによりメモリセルアレイ6から読み出されてセンスデータラッチ9に保持されているワードデータをページラッチ10により保持するために、ページラッチ信号PLを「H」レベルにしてページラッチ10をスルー状態にし、メモリアクセスが完了して読み出されたワードデータがセンスデータラッチ9から出力されるようになった後であって、2回目のメモリアクセスでメモリセルアレイ6から読み出されたワードデータがセンスデータラッチ9から出力される前に、ページラッチ信号PLを「L」レベルにしてセンスデータラッチ9が出力しているワードデータをラッチ(保持)する。
従来例においては、ページラッチ信号生成部42は、クロックイネーブル信号CLKENが「H」レベルの時に、アドレスラッチ信号ALATの立ち下がりに同期して、ページラッチ信号PLを立ち上げる(「L」レベルから「H」レベルにする)。このページラッチ信号PLの立ち上げに対して、ページラッチ信号生成部42は、ファーストレイテンシカウンタ34の計数値のデクリメント処理が行われて「1」となって、クロックイネーブル信号CLKENが「H」レベルの場合に入力される内部クロックCLKの立ち上がりに同期して、ページラッチ信号PLを立ち下げる(「H」レベルから「L」レベルにする)。
従来例においては、ページラッチ信号生成部42は、データカウンタ35の計数値が「0」または「1」の何れかで16W境界カウンタ36の計数値が「2」であって、クロックイネーブル信号CLKENが「H」レベルの場合に入力される内部クロックCLKの立ち上がりに同期してページラッチ信号PLを立ち上げる。このページラッチ信号PLの立ち上げに対して、ページラッチ信号生成部42は、16W境界カウンタ36の計数値のデクリメント処理が行われて「1」となって、クロックイネーブル信号CLKENが「H」レベルの場合に入力される内部クロックCLKの立ち上がりに同期してページラッチ信号PLを立ち下げる。
または、ページラッチ信号生成部42は、16W境界カウンタ36の計数値が「0」および「1」の何れかデータカウンタ35の計数値が「1」であって、クロックイネーブル信号CLKENが「H」レベルの場合に入力される内部クロックCLKの立ち上がりに同期してページラッチ信号PLを立ち上げる。このページラッチ信号PLの立ち上げに対して、ページラッチ信号生成部42は、データカウンタ35の計数値のデクリメント処理が行われて「0」となって、クロックイネーブル信号CLKENが「H」レベルの場合に入力される内部クロックCLKの立ち上がりに同期してページラッチ信号PLを立ち下げる。
ページコントロール信号生成部43は、クロックイネーブル信号CLKENが「H」レベルの時に、アドレスラッチ信号ALATの立ち下がりに同期して、開始アドレスの下位3ビットをページコントロール信号PCの初期値として読み込む。そして、ページコントロール信号生成部43は、クロックイネーブル信号CLKENが「H」レベルの場合に入力される内部クロック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は、初期値を読み込んだ後に動作を停止し(クロックイネーブル信号CLKENが「H」レベルであると「L」レベルであるとにかかわらず)、ファーストレイテンシカウンタ34の計数値が「1」になると動作を開始する。また、ページコントロール信号生成部43は、データカウンタ35の計数値が「1」のときに16W境界カウンタ36の計数値が「3」以上であれば動作を停止し(クロックイネーブル信号CLKENが「H」レベルであると「L」レベルであるとにかかわらず)、その後に16W境界カウンタ36の計数値が「2」になると動作を開始する。
ウェイト信号生成部44は、クロックイネーブル信号CLKENが「H」レベルの時に、アドレスラッチ信号ALATの立ち下がりに同期して、ウェイト信号WAITを立ち上げる。このウェイト信号WAITの立ち上げに対して、ウェイト信号生成部44は、ファーストレイテンシカウンタ34の計数値が「1」であって、クロックイネーブル信号CLKENが「H」レベルの場合に入力される内部クロックCLKの立ち上がりに同期してウェイト信号WAITを立ち下げる。
また、ウェイト信号生成部44は、データカウンタ35の計数値が「0」で16W境界カウンタ36の計数値が「2」以上であって、クロックイネーブル信号CLKENが「H」レベルの場合に入力される内部クロックCLKの立ち上がりに同期して、ウェイト信号WAITを立ち上げる。このウェイト信号WAITの立ち上げに対して、ウェイト信号生成部44は、16W境界カウンタ36の計数値のデクリメント処理が行われて「1」となって、クロックイネーブル信号CLKENが「H」レベルの場合に入力される内部クロックCLKの立ち上がりに同期してウェイト信号WAITを立ち下げる。
さらに、ウェイト信号生成部44は、クロックイネーブル信号CLKENの立ち下がりに同期してウェイト信号WAITを立ち上げ、その後、クロックイネーブル信号CLKENの立ち上がりに同期してウェイト信号WAITを立ち下げる。
図7は、ファーストレイテンシが6サイクル、開始アドレスの下位4ビットが「E(14)」の場合における、従来例の各回路の動作のタイミングチャートを示している。
時刻t1001において、入力バッファ1がチップイネーブル信号CEB及びアドレスバリッド信号ADVBが「H」レベルから「L」レベルに遷移することにより、アドレスラッチ信号ALATを立ち上げ、立ち上げた後の次の内部クロックCLKの立ち上がりに同期してアドレスラッチ信号ALATを立ち下げる。
このとき、アドレス変化検出部41は、アドレスカウンタ33の出力するバーストアドレスBADが変化したことを検出して、ATD回路8に対してワンショットパルスの検出信号DTを出力する。この検出信号DTがATD回路8により所定時間(メモリのアクセス時間)遅延させられ、時刻t1062においてセンスアンプコントロール信号SCとしてセンスデータラッチ9に入力され、センスデータラッチ9は、センスアンプ7から出力されるメモリデータMDをラッチして、「D14」、「D15」をセンスラッチデータSLDとして出力する。
ページラッチ信号生成部42は、クロックイネーブル信号CLKENが「H」レベルであるので、ページラッチ信号PLを立ち上げる(「L」レベルから「H」レベルとする)。
ページコントロール信号生成部43は、クロックイネーブル信号CLKENが「H」レベルであるので、開始アドレスの下位3ビット「110」をページコントロール信号PCの初期値として読み込み、「P6」をページコントロール信号PCとして出力し、動作を停止する(計数を行わない状態)。
ウェイト信号生成部44は、クロックイネーブル信号CLKENが「H」レベルであるので、ウェイト信号WAITを立ち上げる(「L」レベルから「H」レベルとする)。
バースト制御部3は、アクセス開始の際の最初の16ワード境界前におけるアクセスであることを示す16ワード境界信号を立ち上げる(「L」レベルから「H」レベルとする)。
ページコントロール信号生成部43は、ファーストレイテンシカウンタ34の計数値が「1」になると動作を開始する(計数を行う状態)。
アドレスカウンタ33は、最初のメモリアクセスが完了しており、クロックイネーブル信号CLKENが「H」レベルの場合に入力される内部クロックCLKの立ち上がりに同期して、計数値を「1」インクリメントし、次にアクセスするメモリ(8ワード単位)のアドレスを示すバーストアドレスBAD(以下、次にアクセスするバーストアドレスBADと記載)として出力する。
このとき、アドレス変化検出部41は、アドレスカウンタ33の出力するバーストアドレスBADが変化したことを検出して、ATD回路8に対してワンショットパルスの検出信号DTを出力する。この検出信号DTがATD回路8により所定時間(メモリのアクセス時間)遅延させられ、時刻t1112においてセンスアンプコントロール信号SCとしてセンスデータラッチ9に入力され、センスデータラッチ9は、センスアンプ7から出力されるメモリデータMDをラッチして、「D16」〜「D23」をセンスラッチデータSLDとして出力する。
境界カウンタ書込部40は、ファーストレイテンシカウンタ34の計数値が「1」であって、クロックイネーブル信号CLKENが「H」レベルで場合に入力される内部クロックCLKの立ち上がりに同期して、ファーストレイテンシレジスタ31に記憶されているウェイト計数初期値「5」を読み込み、読み込んだウェイト計数初期値「5」を16W境界カウンタ36に対して計数の初期値として書き込む。
ページラッチ信号生成部42は、ファーストレイテンシカウンタ34の計数値が「1」であって、クロックイネーブル信号CLKENが「H」レベルで場合に入力される内部クロックCLKの立ち上がりに同期して、時刻t1002において立ち上げたページラッチ信号PLを立ち下げる(「H」レベルから「L」レベルとする)。これにより、ページラッチ10は、センスデータラッチ9から出力されているセンスラッチデータSLDをラッチし、「D14」、「D15」をページラッチデータPLDとして出力する。
出力ラッチ12は、ページセレクタ11から出力されているページデータPD(「D14」:下位4ビット「E」に対応したワードデータ)を、内部クロックCLKの立ち上がりに同期して保持し、セレクタ13およびデータ出力制御部14を介して、アウトプットデータOUTとして出力する。
これにより、ページセレクタ11は、ページラッチ10が出力しているページラッチデータPLDの中から、ページコントロール信号PC(「P7」)に対応する「D15」を選択して、「D15」をページデータPDとして出力する。
ウェイト信号生成部44は、ファーストレイテンシカウンタ34の計数値が「1」であって、クロックイネーブル信号CLKENが「H」レベルで場合に入力される内部クロックCLKの立ち上がりに同期して、時刻t1002において立ち上げたウェイト信号WAITを立ち下げる(「H」レベルから「L」レベルとする)。
出力ラッチ12は、ページセレクタ11から出力されている「D15」のページデータPDを、内部クロックCLKの立ち上がりに同期して保持し、セレクタ13およびデータ出力制御部14を介して、アウトプットデータOUTとして出力する。
バースト制御部3は、データカウンタ35の計数が「1」である場合に入力される内部クロックCLKの立ち上がりに同期して、時刻t1002において立ち上げた16W境界信号を立ち下げる。
16W境界カウンタ36は、クロックイネーブル信号CLKENが「H」レベルの場合に入力される内部クロックCLKの立ち上がりに同期して、計数値を「1」デクリメントして計数値を「3」にする。
16W境界カウンタ36は、クロックイネーブル信号CLKENが「H」レベルの場合に入力される内部クロックCLKの立ち上がりに同期して、計数値を「1」デクリメントして計数値を「1」にする。
ページコントロール信号生成部43は、クロックイネーブル信号CLKENが「H」レベルの場合に入力される内部クロックCLKの立ち上がりに同期して、ページコントロール信号PCを「P7」から「P0」にインクリメントし、「P0」をページコントロール信号PCとして出力する。これにより、ページセレクタ11は、ページラッチ10が出力しているページラッチデータPLDの中から、ページコントロール信号PC(「P0」)に対応する「D16」を選択して、「D16」をページデータPDとして出力する。
このとき、アドレス変化検出部41は、アドレスカウンタ33の出力するバーストアドレスBADが変化したことを検出して、ATD回路8に対してワンショットパルスの検出信号DTを出力する。この検出信号DTがATD回路8により所定時間(メモリのアクセス時間)遅延させられ、時刻t1162においてセンスアンプコントロール信号SCとしてセンスデータラッチ9に入力され、センスデータラッチ9は、センスアンプ7から出力されるメモリデータMDをラッチして、「D24」〜「D31」をセンスラッチデータSLDとして出力する。
ページラッチ信号生成部42は、16W境界カウンタ36の計数値がデクリメント処理されて「1」になっているので、クロックイネーブル信号CLKENが「H」レベルの場合に入力される内部クロックCLKの立ち上がりに同期して、時刻t1011において立ち上げたページラッチ信号PLを立ち下げる(「H」レベルから「L」レベルとする)。これにより、ページラッチ10は、センスデータラッチ9から出力されているセンスラッチデータSLDをラッチし、「D16」〜「D23」をページラッチデータPLDとして出力する。
出力ラッチ12は、ページセレクタ11から出力されているページデータPD(「D16」)を、内部クロックCLKの立ち上がりに同期して保持し、セレクタ13およびデータ出力制御部14を介して、アウトプットデータOUTとして出力する。
ウェイト信号生成部44は、データカウンタ35の計数値が「0」で16W境界カウンタ36の計数値が「1」であって、クロックイネーブル信号CLKENが「H」レベルの場合に入力される内部クロックCLKの立ち上がりに同期して、時刻t1009において立ち上げたウェイト信号WAITを立ち下げる(「H」レベルから「L」レベルとする)。
出力ラッチ12は、ページセレクタ11から出力されているページデータPDを、内部クロックCLKの立ち上がりに同期して保持し、セレクタ13およびデータ出力制御部14を介して、アウトプットデータOUTとして出力する(「D17」〜「D23」)。
ページコントロール信号生成部43は、クロックイネーブル信号CLKENが「H」レベルの場合に入力される内部クロックCLKに同期して、ページコントロール信号PCをインクリメントし、インクリメント後の値をページコントロール信号PCとして出力する(「P2」〜「P7」、「P0」)。これにより、ページセレクタ11は、ページラッチ10が出力しているページラッチデータPLDの中から、ページコントロール信号PCに対応するワードデータを選択して、選択したワードデータをページデータPDとして出力する(「D18」〜「D24」)。
ページラッチ信号生成部42は、データカウンタ35の計数値がデクリメント処理されて「0」になっているので、クロックイネーブル信号CLKENが「H」レベルの場合に入力される内部クロックCLKの立ち上がりに同期して、時刻t1019において立ち上げたページラッチ信号PLを立ち下げる(「H」レベルから「L」レベルとする)。これにより、ページラッチ10は、センスデータラッチ9から出力されているセンスラッチデータSLDをラッチし、「D24」〜「D31」をページラッチデータPLDとして出力する。
出力ラッチ12は、ページセレクタ11から出力されているページデータPD(「D24」)を、内部クロックCLKの立ち上がりに同期して保持し、セレクタ13およびデータ出力制御部14を介して、アウトプットデータOUTとして出力する。
以降、順次処理が繰り返し行われる。
時刻t2001〜t2006、およびt2062において、図7において説明した時刻t1001〜t1006、およびt1062と同様の動作が行われる。
アドレスカウンタ33は、最初のメモリアクセスが完了しているので、クロックイネーブル信号CLKENが「H」レベルの場合に入力される内部クロックCLKの立ち上がりに同期して、計数値を「1」インクリメントし、次にアクセスするバーストアドレスBADとして出力する。
このとき、アドレス変化検出部41は、アドレスカウンタ33の出力するバーストアドレスBADが変化したことを検出して、ATD回路8に対してワンショットパルスの検出信号DTを出力する。この検出信号DTがATD回路8により所定時間(メモリのアクセス時間)遅延させられ、時刻t2112においてセンスアンプコントロール信号SCとしてセンスデータラッチ9に入力され、センスデータラッチ9は、センスアンプ7から出力されるメモリデータMDをラッチして、「D14」〜「D15」をセンスラッチデータSLDとして出力する。
境界カウンタ書込部40は、ファーストレイテンシカウンタ34の計数値が「1」であって、クロックイネーブル信号CLKENが「H」レベルの場合に入力される内部クロックCLKの立ち上がりに同期して、ファーストレイテンシレジスタ31に記憶されているウェイト計数初期値「5」を読み込み、読み込んだウェイト計数初期値「5」を16W境界カウンタ36に対して計数の初期値として書き込む。
ページラッチ信号生成部42は、ファーストレイテンシカウンタ34の計数値が「1」であって、クロックイネーブル信号CLKENが「H」レベルの場合に入力される内部クロックCLKの立ち上がりに同期して、時刻t2002において立ち上げたページラッチ信号PLを立ち下げる(「H」レベルから「L」レベルとする)。これにより、ページラッチ10は、センスデータラッチ9から出力されているセンスラッチデータSLDをラッチし、「D6」〜「D13」をページラッチデータPLDとして出力する。
出力ラッチ12は、ページセレクタ11から出力されているページデータPD(「D6」:下位4ビット「6」に対応したワードデータ)を、内部クロックCLKの立ち上がりに同期して保持し、セレクタ13およびデータ出力制御部14を介して、アウトプットデータOUTとして出力する。
ウェイト信号生成部44は、ファーストレイテンシカウンタ34の計数値が「1」であって、クロックイネーブル信号CLKENが「H」レベルの場合に入力される内部クロックCLKの立ち上がりに同期して、時刻t2002において立ち上げたウェイト信号WAITを立ち下げる(「H」レベルから「L」レベルとする)。
時刻t2008〜t2012にかけて、16W境界カウンタ36は、クロックイネーブル信号CLKENが「H」レベルの場合に入力される内部クロックCLKの立ち上がりに同期して、計数値を「1」デクリメントし(「5」→「4」→「3」→「2」→「1」→「0」)、計数値が「0」になる。
時刻t2008〜t2014にかけて、出力ラッチ12は、ページセレクタ11から出力されているページデータPDを、内部クロックCLKの立ち上がりに同期して保持し、セレクタ13およびデータ出力制御部14を介して、アウトプットデータOUTとして出力する(「D7」〜「D13」)。
ページコントロール信号生成部43は、クロックイネーブル信号CLKENが「H」レベルの場合に入力される内部クロックCLKの立ち上がりに同期して、ページコントロール信号PCをインクリメントし、インクリメント後の値をページコントロール信号PCとして出力する(「P0」〜「P6」)。これにより、ページセレクタ11は、ページラッチ10が出力しているページラッチデータPLDの中から、ページコントロール信号PCに対応するワードデータを選択して、選択したワードデータをページデータPDとして出力する(「D8」〜「D14」)。
このとき、アドレス変化検出部41は、アドレスカウンタ33の出力するバーストアドレスBADが変化したことを検出して、ATD回路8に対してワンショットパルスの検出信号DTを出力する。この検出信号DTがATD回路8により所定時間(メモリのアクセス時間)遅延させられ、時刻t2192において、センスアンプコントロール信号SCとしてセンスデータラッチ9に入力され、センスデータラッチ9は、センスアンプ7から出力されるメモリデータMDをラッチして、「D16」〜「D23」をセンスラッチデータSLDとして出力する。
境界カウンタ書込部40は、データカウンタ35の計数値が「0」で16W境界カウンタ36の計数値が「0」であって、クロックイネーブル信号CLKENが「H」レベルの場合に入力される内部クロックCLKの立ち上がりに同期して、ファーストレイテンシレジスタ31に記憶されているウェイト計数初期値「5」を読み込み、読み込んだウェイト計数初期値「5」を16W境界カウンタ36に対して計数の初期値として書き込む。
ページラッチ信号生成部42は、データカウンタ35の計数値のデクリメント処理が行われて「0」になっているので、クロックイネーブル信号CLKENが「H」レベルの場合に入力される内部クロックCLKの立ち上がりに同期して、時刻t2014において立ち上げたページラッチ信号PLを立ち下げる(「H」レベルから「L」レベルとする)。これにより、ページラッチ10は、センスデータラッチ9から出力されているセンスラッチデータSLDをラッチし、「D14」〜「D15」をページラッチデータPLDとして出力する。
出力ラッチ12は、ページセレクタ11から出力されているページデータPD(「D14」)を、内部クロックCLKの立ち上がりに同期して保持し、セレクタ13およびデータ出力制御部14を介して、アウトプットデータOUTとして出力する。
これにより、ページセレクタ11は、ページラッチ10が出力しているページラッチデータPLDの中から、ページコントロール信号PC(「P7」)に対応する「D15」を選択して、「D15」をページデータPDとして出力する。
出力ラッチ12は、ページセレクタ11から出力されているページデータPD(「D15」)を、内部クロックCLKの立ち上がりに同期して保持し、セレクタ13およびデータ出力制御部14を介して、アウトプットデータOUTとして出力する。
バースト制御部3は、データカウンタ35の計数が「1」である場合に入力される内部クロックCLKの立ち上がりに同期して、時刻t2002において立ち上げた16W境界信号を立ち下げる。
16W境界カウンタ36は、クロックイネーブル信号CLKENが「H」レベルの場合に入力される内部クロックCLKの立ち上がりに同期して、計数値を「1」デクリメントして計数値を「3」にする。
16W境界カウンタ36は、クロックイネーブル信号CLKENが「H」レベルの場合に入力される内部クロックCLKの立ち上がりに同期して、計数値を「1」デクリメントして計数値を「1」にする。
ページコントロール信号生成部43は、クロックイネーブル信号CLKENが「H」レベルの場合に入力される内部クロックCLKに同期して、ページコントロール信号PCを「P7」から「P0」にインクリメントし、「P0」をページコントロール信号PCとして出力する。これにより、ページセレクタ11は、ページラッチ10が出力しているページラッチデータPLDの中から、ページコントロール信号PC(「P0」)に対応する「D16」を選択して、「D16」をページデータPDとして出力する。
データカウンタ35の計数値が「0」で16W境界カウンタ36の計数値が「1」であって、クロックイネーブル信号CLKENが「H」レベルの場合に入力される内部クロックCLKの立ち上がりに同期して、計数値を「1」インクリメントし、次にアクセスするバーストアドレスBADとして出力する。このとき、アドレス変化検出部41は、アドレスカウンタ33の出力するバーストアドレスBADが変化したことを検出して、ATD回路8に対してワンショットパルスの検出信号DTを出力する。
ページラッチ信号生成部42は、16W境界カウンタ36の計数値がデクリメント処理されて「1」になっているので、クロックイネーブル信号CLKENが「H」レベルの場合に入力される内部クロックCLKの立ち上がりに同期して、時刻t2019において立ち上げたページラッチ信号PLを立ち下げる(「H」レベルから「L」レベルとする)。これにより、ページラッチ10は、センスデータラッチ9から出力されているセンスラッチデータSLDをラッチし、「D16」〜「D23」をページラッチデータPLDとして出力する。
出力ラッチ12は、ページセレクタ11から出力されているページデータPD(「D16」)を、内部クロックCLKの立ち上がりに同期して保持し、セレクタ13およびデータ出力制御部14を介して、アウトプットデータOUTとして出力する。
ウェイト信号生成部44は、データカウンタ35の計数値が「0」で16W境界カウンタ36の計数値が「1」であって、クロックイネーブル信号CLKENが「H」レベルの場合に入力される内部クロックCLKの立ち上がりに同期して、時刻t2017において立ち上げたウェイト信号WAITを立ち下げる(「H」レベルから「L」レベルとする)。
それ以降、図7における時刻t1013以降と同様の動作が行われる。
時刻t3001〜t3006、およびt3062において、図7において説明した時刻t1001〜t1006、およびt1062と同様の動作が行われる。
アドレスカウンタ33は、最初のメモリアクセスが完了しているので、クロックイネーブル信号CLKENが「H」レベルの場合に入力される内部クロックCLKに同期して、計数値を「1」インクリメントし、次にアクセスするバーストアドレスBADとして出力する。
このとき、アドレス変化検出部41は、アドレスカウンタ33の出力するバーストアドレスBADが変化したことを検出して、ATD回路8に対してワンショットパルスの検出信号DTを出力する。この検出信号DTがATD回路8により所定時間(メモリのアクセス時間)遅延させられ、時刻t3112において、センスアンプコントロール信号SCとしてセンスデータラッチ9に入力され、センスデータラッチ9は、センスアンプ7から出力されるメモリデータMDをラッチして、「D16」〜「D23」をセンスラッチデータSLDとして出力する。
境界カウンタ書込部40は、ファーストレイテンシカウンタ34の計数値が「1」であって、クロックイネーブル信号CLKENが「H」レベルの場合に入力される内部クロックCLKの立ち上がりに同期して、ファーストレイテンシレジスタ31に記憶されているウェイト計数初期値「5」を読み込み、読み込んだウェイト計数初期値「5」を16W境界カウンタ36に対して計数の初期値として書き込む。
ページラッチ信号生成部42は、ファーストレイテンシカウンタ34の計数値が「1」であって、クロックイネーブル信号CLKENが「H」レベルの場合に入力される内部クロックCLKの立ち上がりに同期して、時刻t3002において立ち上げたページラッチ信号PLを立ち下げる(「H」レベルから「L」レベルとする)。これにより、ページラッチ10は、センスデータラッチ9から出力されているセンスラッチデータSLDをラッチし、「D8」〜「D15」をページラッチデータPLDとして出力する。
出力ラッチ12は、ページセレクタ11から出力されているページデータPD(「D8」:下位4ビット「8」に対応したワードデータ)を、内部クロックCLKの立ち上がりに同期して保持し、セレクタ13およびデータ出力制御部14を介して、アウトプットデータOUTとして出力する。
ウェイト信号生成部44は、ファーストレイテンシカウンタ34の計数値が「1」であって、クロックイネーブル信号CLKENが「H」レベルの場合に入力される内部クロックCLKの立ち上がりに同期して、時刻t3002において立ち上げたウェイト信号WAITを立ち下げる(「H」レベルから「L」レベルとする)。
時刻t3008〜t3012において、16W境界カウンタ36は、クロックイネーブル信号CLKENが「H」レベルの場合に入力される内部クロックCLKの立ち上がりに同期して、計数値を「1」デクリメントし(「5」→「4」→「3」→「2」→「1」→「0」)、計数値が「0」になる。
時刻t3008〜t3014にかけて、出力ラッチ12は、ページセレクタ11から出力されているページデータPDを、内部クロックCLKの立ち上がりに同期して保持し、セレクタ13およびデータ出力制御部14を介して、アウトプットデータOUTとして出力する(「D9」〜「D15」)。
ページコントロール信号生成部43は、クロックイネーブル信号CLKENが「H」レベルの場合に入力される内部クロックCLKに同期して、ページコントロール信号PCをインクリメントし、インクリメント後の値をページコントロール信号PCとして出力する(「P2」〜「P7」、「P0」)。これにより、ページセレクタ11は、ページラッチ10が出力しているページラッチデータPLDの中から、ページコントロール信号PCに対応するワードデータを選択して、選択したワードデータをページデータPDとして出力する(「D10」〜「D16」)。
バースト制御部3は、データカウンタ35の計数が「1」である場合に入力される内部クロックCLKの立ち上がりに同期して、時刻t3002において立ち上げた16W境界信号を立ち下げる。
このとき、アドレス変化検出部41は、アドレスカウンタ33の出力するバーストアドレスBADが変化したことを検出して、ATD回路8に対してワンショットパルスの検出信号DTを出力する。この検出信号DTがATD回路8により所定時間(メモリのアクセス時間)遅延させられ、時刻t3192においてセンスアンプコントロール信号SCとしてセンスデータラッチ9に入力され、センスデータラッチ9は、センスアンプ7から出力されるメモリデータMDをラッチして、「D24」〜「D31」をセンスラッチデータSLDとして出力する。
ページラッチ信号生成部42は、データカウンタ35の計数値のデクリメント処理が行われて「0」となって、クロックイネーブル信号CLKENが「H」レベルの場合に入力される内部クロックCLKの立ち上がりに同期して、時刻t3014において立ち上げたページラッチ信号PLを立ち下げる(「H」レベルから「L」レベルとする)。これにより、ページラッチ10は、センスデータラッチ9から出力されているセンスラッチデータSLDをラッチし、「D16」〜「D23」をページラッチデータPLDとして出力する。
出力ラッチ12は、ページセレクタ11から出力されている「D16」のページデータPDを、内部クロックCLKの立ち上がりに同期して保持し、セレクタ13およびデータ出力制御部14を介して、アウトプットデータOUTとして出力する。
ただし、時刻t3015において、データカウンタ35の計数値が「0」であるが、16W境界カウンタ36の計数値も「0」になっている、つまり、有効データの全てを出力するまでにメモリアクセスが完了するため、最初の16ワード境界にて境界前ウェイトサイクルが発生せず、ウェイト信号WAITが立ち上がることがない。
時刻t3016以降、図7における時刻t1013以降と同様の動作が行われる。
図10に示すように、開始アドレスの下位4ビットの夫々に対して、有効データ数と最初の16ワード境界におけるウェイトサイクル数(図においては16ワード境界ウェイトサイクル数と記載)を示している。
有効データ数に関して、「1st」は最初の16ワード境界前の1回目のメモリアクセスでメモリセルアレイから読み出される有効データの数であり、「2nd」は最初の16ワード境界前の2回目のメモリアクセスでメモリセルアレイから読み出される有効データの数である。
waitに続く数字はファーストレイテンシのクロックサイクル数であり、例えば「wait8」はファーストレイテンシのクロックサイクル数が8であることを示している。
時刻t4221において、アウトプットイネーブル信号OEBの立ち上がると(「L」レベルから「H」レベルに遷移する)と(サスペンドの発生)、これに同期して、入力バッファ1はクロックイネーブル信号CLKENを立ち下げ(「H」レベルから「L」レベルに遷移させる)、これにより、クロックイネーブル信号CLKENが入力される各回路部の動作が停止する。
また、ウェイト信号生成部44は、クロックイネーブル信号CLKENの立ち下がりに同期して、ウェイト信号WAITを立ち上げる。
また、16W境界カウンタ36は、「L」レベルのクロックイネーブル信号CLKENが入力されているので、入力される内部クロックの立ち上がりに同期した計数値を「1」デクリメントする処理を行わず、計数値は「4」のままである。
また、ページコントロール信号生成部43は、「L」レベルのクロックイネーブル信号CLKENが入力されているので、入力される内部クロックの立ち上がりに同期したページコントロール信号を「1」インクリメントする動作を行わず、ページコントロール信号PCは「P6」のままである。
また、ウェイト信号生成部44は、クロックイネーブル信号CLKENの立ち上がりに同期して、ウェイト信号WAITを立ち下げる。
時刻t4011において、データカウンタ35は、「H」レベルのクロックイネーブル信号CLKENが入力されるので、入力される内部クロックの立ち上がりに同期して計数値を「1」デクリメントし、計数値が「1」になる。
また、16W境界カウンタ36は、「H」レベルのクロックイネーブル信号CLKENが入力されるので、入力される内部クロックの立ち上がりに同期して計数値を「1」デクリメントし、計数値が「3」になる。
また、ページコントロール信号生成部43は、「H」レベルのクロックイネーブル信号CLKENが入力されるので、入力される内部クロックの立ち上がりに同期してページコントロール信号を「1」インクリメントし、ページコントロール信号PCは「P7」を出力する。
クロックイネーブルCLKENの立ち下がり(「H」レベルから「L」レベルへの遷移)が内部クロックCLKとは非同期であることから、例えば、サスペンドの発生タイミング(アウトプットイネーブル信号OEBが「L」レベルから「H」レベルへの遷移)が内部クロックCLKの立ち上がりの直前に起った場合、各回路部へのディレイのために、クロックイネーブル信号CLKENが「L」レベルになった直後の内部クロックCLKの立ち上がりエッジが無効であるにもかかわらず有効になって各回路部の動作が行われしまう(誤動作)。
そこで、本発明は、サスペンド発生直後の誤動作を防止することが可能な半導体メモリを提供することを目的とする。
上記半導体メモリにおいて、アウトプットイネーブル信号が変化した後の最初の内部クロックに同期してクロックイネーブル信号をディセーブルにすることを特徴とする。
上記半導体メモリにおいて、入力されるクロックイネーブル信号がイネーブルであるときに前記メモリセル素子から読み出されるメモリデータを外部に出力するのに要する時間に対応したクロックサイクル数を計数するデータ計数手段と、メモリアクセスに必要なアクセス時間に対応したクロックサイクル数を計数するタイム計数手段と、をさらに有することを特徴とする。
図12は本実施の形態のフラッシュメモリの構成を示す図である。
図12に示すフラッシュメモリには、入力バッファ1Aがある。
入力バッファ1Aは、従来の入力バッファ1と異なり、図13に一例が示される通り、アウトプットイネーブル信号OEBの立ち上がった(時刻t11)後の最初の内部クロックCLKの立ち上がりに同期させて、クロックイネーブル信号CLKENを立ち下げる(時刻t11)。そして、入力バッファ1Aは、アウトプットイネーブル信号OEBの立ち下がった(時刻t13)後の最初の内部クロックCLKの立ち上がりに同期してクロックイネーブル信号CLKENを立ち上げる(時刻t14)。入力バッファ1Aは、このようにして生成したクロックイネーブル信号CLKENを出力する。なお、それ以外の機能は従来の入力バッファ1と実質的に同様であり、上記の従来例の説明が適用できるため、説明を省略する。
フラッシュメモリには、アドレスラッチ2、およびアドレス制御部4があり、上記の従来例の説明が適用できるため、説明を省略する。
また、バースト制御部3Aは、後述する通り、内部クロックCLKに同期して、ページラッチ信号PL0〜PL3、ページコントロール信号PC、アウトプットコントロール信号OPC、およびウェイト信号WAITを生成して出力し、さらに、初期時に設定されたアクセスのモード(ランダム/非同期)に応じて同期/非同期セレクト信号SELを生成して出力する。
メモリセルアレイ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本の読み出し線に接続するかの切り替えが行われる。
例えば、ページセレクタ11Aは、ページコントロール信号PCが「P0」の場合、センスラッチデータSLD01の下位15ビット(ワードデータWD0に相当)をページデータPDとして出力する。また、ページセレクタ11Aは、ページコントロール信号PCが「P6」の場合、センスラッチデータSLD56の上位15ビット(ワードデータWD6に相当)をページデータPDとして出力する。
フラッシュメモリには、上述した従来のフラッシュメモリと同様の動作を行うセレクタ13、データ出力制御部14、およびレディ出力制御部15があり、上記の従来例の説明が適用できるため、説明を省略する。
出力ラッチ12Aは内部クロックCLKの立ち上がりに同期して動作する。出力ラッチ12Aは、クロックイネーブル信号CLKENが立ち下がるまでの内部クロックの立ち上がりにおいて、ページセレクタ11Aの出力をラッチする。出力ラッチ12Aは、クロックイネーブル信号CLKENが立ち下がって最初に入力される内部クロックの立ち上がりにおいて、出力バッファラッチ12Bの出力をラッチする。そして、出力ラッチ12Aは、クロックイネーブル信号CLKENが立ち上がってから最初に入力される内部クロックの立ち上がりにおいて、出力バッファラッチ12Bの出力をラッチする。それ以降、出力ラッチ12Aは、内部クロックの立ち上がりにおいて、ページセレクタ11Aの出力をラッチする。
出力バッファラッチ12Bは内部クロックCLKの立ち上がりに同期して動作する。出力バッファラッチ12Bは、クロックイネーブル信号CLKENが立ち下がるまでの内部クロックの立ち上がりにおいて、出力ラッチ12Aの出力をラッチする。出力バッファラッチ12Bは、クロックイネーブル信号CLKENが立ち下がって最初に入力される内部クロックの立ち上がりにおいて、出力ラッチ12Aの出力をラッチする。そして、出力バッファラッチ12Bは、クロックイネーブル信号CLKENが立ち上がってから入力される2つ目の内部クロックの立ち上がりにおいて、ページセレクタ11Aの出力をラッチする。それ以降、出力バッファラッチ12Bは、内部クロックの立ち上がりにおいて、出力ラッチ12Aの出力をラッチする。
この出力バッファ12Bを設けることによって、アウトプットイネーブル信号OEBが「H」レベルとなった次の内部クロックCLKの立ち上がりでバースト制御部3Aの各回路部などが動作して、有効データが失われることがなくなる。
バースト制御部3Aには、ファーストレイテンシレジスタ31Aがあり、ファーストレイテンシレジスタ31Aは、外部から入力されるファーストレイテンシのウェイトサイクル数から「1」減算した値(ウェイト計数初期値)を記憶するレジスタである。このファーストレイテンシレジスタ31Aへの書き込みはバースト読み出しなどが実際に行われるよりも前のタイミングで、不図示の制御回路により行われる。
バースト制御部3Aには、有効データレジスタ32Aがあり、有効データレジスタ32Aは有効データ数から「1」減算した値(データ計数初期値)を記憶する。有効データ数は、最初の16ワード境界においては最初の16ワード境界前の出力すべき有効なデータの数、それ以外においては1回のメモリアクセスにおいてメモリセルアレイ6からセンスしたデータのうちバースト出力すべき有効なデータの数である。
アドレスカウンタ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」のいずかであって、クロックイネーブル信号CLKENが「H」レベルの場合入力される内部クロックCLKの立ち上がりに同期してバーストアドレスBADを「1」インクリメントして、「1」インクリメントした値を次にメモリアクセスすべきバーストアドレスBADとして出力する。
つまり、有効データレジスタ書込部38Aは、開始アドレスの下位4ビットを夫々反転して、その結果をデータ計数値とする。例えば、開始アドレスの下位4ビットが「6」(0(最上位ビット)、1(3ビット目)、1(2ビット目)、0(最下位ビット))のとき、これを反転して「1001」(9)を求め、求めた「9」をデータ計数初期値として有効データレジスタ32Aに書き込む。
それ以降、有効データレジスタ書込部38Aは、固定値「7」をデータ計数初期値とし、有効データレジスタ32Aに書き込む。
データカウンタ書込部39Aは、ファーストレイテンシカウンタ34Aの計数値が「1」であって、動作期間の場合に入力される内部クロックCLKの立ち上がりに同期して、有効データレジスタ32Aに記憶されているデータ計数初期値を読み込み、読み込んだデータ計数初期値をデータカウンタ35Aに対して計数の初期値として書き込む。
データカウンタ書込部39Aは、データカウンタ35Aの計数値が「0」で16W境界カウンタ36Aの計数値が「1」および「0」の何れかであって、動作期間の場合に入力される内部クロックCLKの立ち上がりに同期して、有効データレジスタ32Aに記憶されているデータ計数初期値を読み込み、読み込んだデータ計数初期値をデータカウンタ35Aに対して計数の初期値として書き込む。
境界カウンタ書込部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に対して計数の初期値として書き込む。
本実施の形態においては、ページラッチ信号生成部42Aは、動作期間の場合に、アドレスラッチ信号ALATの立ち下がりに同期して、ページラッチ信号PL0〜PL3を全て「H」レベルに立ち上げる。このページラッチ信号PL0〜PL3の立ち上げに対して、ページラッチ信号生成部42Aは、ファーストレイテンシカウンタ34の計数値のデクリメント処理が行われて「1」となって、動作期間の場合に入力される内部クロックCLKの立ち上がりに同期して、ページラッチ信号PL0〜PL3を全て「L」レベルに立ち下げる(「H」レベルから「L」レベルにする)。
したがって、ページラッチ信号生成部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を立ち下げる。
ページラッチ信号生成部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の全てを立ち下げる。
開始アドレスの下位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の立ち上げ、立ち下げを行わない。
ページコントロール信号生成部43Aは、クロックイネーブル信号CLKENが「H」レベルの時に、アドレスラッチ信号ALATの立ち下がりに同期して、開始アドレスの下位3ビットをページコントロール信号PCの初期値として読み込む。そして、ページコントロール信号生成部43Aは、動作期間の場合に入力される内部クロックCLKの立ち上がりに同期してページコントロール信号PCを「1」インクリメントし、インクリメント後の値を新たなページコントロール信号PCとして出力する。
ページコントロール信号生成部43Aは、初期値を読み込んだ後に動作を停止し(動作期間にかかわらず)、ファーストレイテンシカウンタ34Aの計数値が「1」になると動作を開始する。また、ページコントロール信号生成部43Aは、データカウンタ35の計数値が「1」のときに16W境界カウンタ36Aの計数値が「3」以上であれば動作を停止し(動作期間にかかわらず)、その後に16W境界カウンタ36Aの計数値が「2」になると動作を開始する。
ウェイト信号生成部44Aは、クロックイネーブル信号CLKENが「H」レベルの時に、アドレスラッチ信号ALATの立ち下がりに同期して、ウェイト信号WAITを立ち上げる。このウェイト信号WAITの立ち上げに対して、ウェイト信号生成部44Aは、ファーストレイテンシカウンタ34Aの計数値が「1」になって、動作期間の場合に入力される内部クロックCLKの立ち上がりに同期してウェイト信号WAITを立ち下げる。
また、ウェイト信号生成部44Aは、データカウンタ35Aの計数値が「0」で16W境界カウンタ36Aの計数値が「2」以上であって、動作期間の場合に入力される内部クロックCLKの立ち上がりに同期して、ウェイト信号WAITを立ち上げる。このウェイト信号WAITの立ち上げに対して、16W境界カウンタ36Aの計数値のデクリメント処理が行われて「1」となって、動作期間の場合に入力される内部クロックCLKの立ち上がりに同期してウェイト信号WAITを立ち下げる。
さらに、ウェイト信号生成部44Aは、クロックイネーブル信号CLKENの立ち下がりに同期してウェイト信号WAITを立ち上げ、その後、クロックイネーブル信号CLKENの立ち上がりに同期してウェイト信号WAITを立ち下げる。
図15は、ファーストレイテンシが6サイクル、開始アドレスの下位4ビットが「E(14)」の場合における、本実施の形態の各回路の動作のタイミングチャートを示している。
時刻t101において、入力バッファ1がチップイネーブル信号CEB及びアドレスバリッド信号ADVBが「H」レベルから「L」レベルに遷移することにより、アドレスラッチ信号ALATを立ち上げ、立ち上げた後の次の内部クロックCLKの立ち上がりに同期してアドレスラッチ信号ALATを立ち下げる。
このとき、アドレス変化検出部41Aは、アドレスカウンタ33Aの出力するバーストアドレスBADが変化したことを検出して、ATD回路8に対してワンショットパルスの検出信号DTを出力する。この検出信号DTがATD回路8により所定時間(アクセス時間に相当する時間)遅延させられ、時刻t162において、センスアンプコントロール信号SCとしてセンスデータラッチ9Aに入力され、センスデータラッチ9Aは、センスアンプ7から出力されるメモリデータMDをラッチして、「D14」、「D15」をセンスラッチデータSLD(センスラッチデータSLD67)として出力する。
ページラッチ信号生成部42Aは、上記の動作期間の場合に入力される内部クロックの立ち上がりに同期して、ページラッチ信号PL0〜PL0を立ち上げる(「L」レベルから「H」レベルとする)。
ページコントロール信号生成部43Aは、上記の動作期間の場合に入力される内部クロックの立ち上がりに同期して、開始アドレスの下位3ビット「110」をページコントロール信号PCの初期値として読み込み、「P6」をページコントロール信号PCとし、動作を停止する(計数を行わない状態)。
ウェイト信号生成部44Aは、上記の動作期間の場合に入力される内部クロックの立ち上がりに同期して、ウェイト信号WAITを立ち上げる(「L」レベルから「H」レベルとする)。
バースト制御部3Aは、アクセス開始の際の最初の16ワード境界前におけるアクセスであることを示す16ワード境界信号を立ち上げる(「L」レベルから「H」レベルとする)。
ページコントロール信号生成部43Aは、ファーストレイテンシカウンタ34Aの計数値が「1」になると動作を開始する(計数を行う状態)。
アドレスカウンタ33Aは、最初のメモリアクセスが完了しているので、上記の動作期間の場合に入力される内部クロックCLKの立ち上がりに同期して、計数値を「1」インクリメントし、次にアクセスするバーストアドレスBADとして出力する。
このとき、アドレス変化検出部41Aは、アドレスカウンタ33Aの出力するバーストアドレスBADが変化したことを検出して、ATD回路8に対してワンショットパルスの検出信号DTを出力する。この検出信号DTがATD回路8により所定時間(メモリのアクセス時間)遅延させられ、時刻t172において、センスアンプコントロール信号SCとしてセンスデータラッチ9Aに入力され、センスデータラッチ9Aは、センスアンプ7から出力されるメモリデータMDをラッチして、「D16」〜「D23」をセンスラッチデータSLD(SLD01〜SLD67)として出力する。
境界カウンタ書込部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は無効なデータ(外部にバースト出力する必要がないデータ)である。
出力ラッチ12Aは、ページセレクタ11から出力されているページデータPD(「D14」:下位4ビット「E」に対応したワードデータ)を、内部クロックCLKの立ち上がりに同期して保持し、セレクタ13およびデータ出力制御部14を介して、アウトプットデータOUTとして出力する。
これにより、ページセレクタ11は、ページラッチ10A(ページラッチ部10−0〜10−3)が出力しているページラッチデータPLD(PLD01〜PLD67)の中から、ページコントロール信号PC(「P7」)に対応する「D15」を選択して、「D15」をページデータPDとして出力する。
ウェイト信号生成部44Aは、ファーストレイテンシカウンタ34Aの計数値が「1」であって、上記の動作期間の場合に入力される内部クロックCLKの立ち上がりに同期して、時刻t102において立ち上げたウェイト信号WAITを立ち下げる(「H」レベルから「L」レベルとする)。
出力バッファラッチ12Bは、出力ラッチ12Aから出力されている「D14」を、内部クロックCLKの立ち上がりに同期して保持する。
出力ラッチ12Aは、ページセレクタ11Aから出力されている「D15」のページデータPDを、内部クロックCLKの立ち上がりに同期して保持し、セレクタ13およびデータ出力制御部14を介して、アウトプットデータOUTとして出力する。
バースト制御部3Aは、データカウンタ35Aの計数値が「1」である場合に入力される内部クロックCLKの立ち上がりに同期して、時刻t102において立ち上げた16ワード境界信号を立ち下げる。これにより、以降、バーストアドレスが「1」インクリメントされるタイミングにおいてもファーストレイテンシレジスタ31Aに記憶されているウェイト計数初期値を新たに16W境界カウンタ36Aに書き込まれることがなくなる。
16W境界カウンタ36Aは、入力される内部クロックCLKの立ち上がりに同期して、計数値を「1」デクリメントして計数値を「3」にする。
出力バッファラッチ12Bは、出力ラッチ12Aから出力されている「D15」を、内部クロックCLKの立ち上がりに同期して保持する。
16W境界カウンタ36Aは、入力される内部クロックCLKの立ち上がりに同期して、計数値を「1」デクリメントして計数値を「1」にする。
ページコントロール信号生成部43Aは、上記の動作期間の場合に入力される内部クロックCLKに同期して、ページコントロール信号PCを「P7」から「P0」にインクリメントし、「P0」をページコントロール信号PCとして出力する。これにより、ページセレクタ11Aは、ページラッチ10A(ページラッチ部10−0〜10−3)が出力しているページラッチデータPLDの中から、ページコントロール信号PC(「P0」)に対応する「D16」を選択して、「D16」をページデータPDとして出力する。
このとき、アドレス変化検出部41Aは、アドレスカウンタ33Aの出力するバーストアドレスBADが変化したことを検出して、ATD回路8に対してワンショットパルスの検出信号DTを出力する。この検出信号DTがATD回路8により所定時間(メモリのアクセス時間)遅延させられ、時刻t182においてセンスアンプコントロール信号SCとしてセンスデータラッチ9Aに入力され、センスデータラッチ9Aは、センスアンプ7から出力されるメモリデータMDをラッチして、「D24」〜「D31」をセンスラッチデータSLD(センスラッチデータSLD01〜SLD67)として出力する。
ページラッチ信号生成部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として出力する。
出力ラッチ12Aは、ページセレクタ11Aから出力されているページデータPD(「D16」)を、内部クロックCLKの立ち上がりに同期して保持し、セレクタ13およびデータ出力制御部14を介して、アウトプットデータOUTとして出力する。
ウェイト信号生成部44Aは、データカウンタ35Aの計数値が「0」で16W境界カウンタ36Aの計数値が「1」であって、上記の動作期間の場合に入力される内部クロックCLKの立ち上がりに同期して、時刻t109において立ち上げたウェイト信号WAITを立ち下げる(「H」レベルから「L」レベルとする)。
出力バッファラッチ12Bは、出力ラッチ12Aから出力されているデータ(「D16」〜「D22」)を、内部クロックCLKの立ち上がりに同期して保持する。
出力ラッチ12Aは、ページセレクタ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」)。
ページラッチ信号生成部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として出力する。
出力バッファラッチ12Bは、出力ラッチ12Aから出力されている「D23」を、内部クロックCLKの立ち上がりに同期して保持する。
出力ラッチ12Aは、ページセレクタ11Aから出力されているページデータPD(「D24」)を、内部クロックCLKの立ち上がりに同期して保持し、セレクタ13およびデータ出力制御部14を介して、アウトプットデータOUTとして出力する。
以降の時刻t121、t122、t123、・・・において、順次時刻t113、t114、t115、・・・と同様の処理が繰り返し行われる。
時刻t201〜t206、およびt262において、図14において説明した時刻t101〜t106、およびt162と同様の動作が行われる。
アドレスカウンタ33Aは、最初のメモリアクセスが完了しているので、上記の動作期間の場合に入力される内部クロックCLKの立ち上がりに同期して、計数値を「1」インクリメントし、次にアクセスするバーストアドレスBADとして出力する。
このとき、アドレス変化検出部41Aは、アドレスカウンタ33Aの出力するバーストアドレスBADが変化したことを検出して、ATD回路8に対してワンショットパルスの検出信号DTを出力する。この検出信号DTがATD回路8により所定時間(メモリのアクセス時間)遅延させられ、時刻t272においてセンスアンプコントロール信号SCとしてセンスデータラッチ9Aに入力され、センスデータラッチ9Aは、センスアンプ7から出力されるメモリデータMDをラッチして、「D14」〜「D15」をセンスラッチデータSLD(SLD01〜SLD67)として出力する。
境界カウンタ書込部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として出力する。
出力ラッチ12Aは、ページセレクタ11から出力されているページデータPD(「D6」:下位4ビット「6」に対応したワードデータ)を、内部クロックCLKの立ち上がりに同期して保持し、セレクタ13およびデータ出力制御部14を介して、アウトプットデータOUTとして出力する。
ウェイト信号生成部44Aは、ファーストレイテンシカウンタ34Aの計数値が「1」であって、上記の動作期間のある場合に入力される内部クロックCLKの立ち上がりに同期して、時刻t202において立ち上げたウェイト信号WAITを立ち下げる(「H」レベルから「L」レベルとする)。
出力バッファラッチ12Bは、出力ラッチ12Aから出力されている「D6」を、内部クロックCLKの立ち上がりに同期して保持する。
出力ラッチ12Aは、ページセレクタ11Aから出力されているページデータPD(「D7」)を、内部クロックCLKの立ち上がりに同期して保持し、セレクタ13およびデータ出力制御部14を介して、アウトプットデータOUTとして出力する。
時刻t209において、ページラッチ信号生成部42Aは、データカウンタ35Aの計数値が「8」で16W境界カウンタ36Aの計数値が「2」以上の「4」であるので、ページラッチ立上信号を「1」にする。
出力バッファラッチ12Bは、出力ラッチ12Aから出力されているデータ(「D7」、「D8」)を、内部クロックCLKの立ち上がりに同期して保持する。
出力ラッチ12Aは、ページセレクタ11Aから出力されているページデータPDを、内部クロックCLKの立ち上がりに同期して保持し、セレクタ13およびデータ出力制御部14を介して、アウトプットデータOUTとして出力する(D8、D9)。
データカウンタ35Aは、上記の動作期間の場合に入力される内部クロックCLKの立ち上がりに同期して、計数値を「1」デクリメントして計数値を「5」にする。16W境界カウンタ36Aは、入力される内部クロックCLKの立ち上がりに同期して、計数値を「1」デクリメントして計数値を「1」にする。
出力ラッチ12は、ページセレクタ11Aから出力されているページデータPD(「D10」)を、内部クロックCLKの立ち上がりに同期して保持し、セレクタ13およびデータ出力制御部14を介して、アウトプットデータOUTとして出力する。
このとき、アドレス変化検出部41Aは、アドレスカウンタ33Aの出力するバーストアドレスBADが変化したことを検出して、ATD回路8に対してワンショットパルスの検出信号DTを出力する。この検出信号DTがATD回路8により所定時間(メモリのアクセス時間)遅延させられ、時刻t282においてセンスアンプコントロール信号SCとしてセンスデータラッチ9Aに入力され、センスデータラッチ9Aは、センスアンプ7から出力されるメモリデータMDをラッチして、「D16」〜「D23」をセンスラッチデータSLD(SLD01〜SLD67)として出力する。
境界カウンタ書込部40Aは、16ワード境界信号が「H」レベルであるので、メモリアクセスに必要なクロックサイクルを計数するために、16W境界カウンタ36Aの計数値のデクリメント処理が行われて計数値が「1」となって、上記の動作期間の場合に入力される内部クロックCLKの立ち上がりに同期して、ファーストレイテンシレジスタ36Aに記憶されているウェイト計数初期値「5」を読み込み、読み込んだウェイト計数初期値「5」を16W境界カウンタ36Aに対して計数の初期値として書き込む。
出力バッファラッチ12Bは、出力ラッチ12Aから出力されている「D10」を、内部クロックCLKの立ち上がりに同期して保持する。
出力ラッチ12Aは、ページセレクタ11Aから出力されているページデータPD(「D11」)を、内部クロックCLKの立ち上がりに同期して保持し、セレクタ13およびデータ出力制御部14を介して、アウトプットデータOUTとして出力する。
出力バッファラッチ12Bは、出力ラッチ12Aから出力されているデータ(「D11」〜「D14」)を、内部クロックCLKの立ち上がりに同期して保持する。
出力ラッチ12は、ページセレクタ11から出力されているページデータPDを、内部クロックCLKの立ち上がりに同期して保持し、セレクタ13およびデータ出力制御部14を介して、アウトプットデータOUTとして出力する(D12〜D15)。
ページラッチ信号生成部42Aは、データカウンタ35Aの計数値が「1」で16W境界カウンタ36Aの計数値が「2」であって、上記の動作期間の場合に入力される内部クロックCLKの立ち上がりに同期して、ページラッチ信号PL0〜PL3を立ち上げる(「L」レベルから「H」レベルとする)。
出力バッファラッチ12Bは、出力ラッチ12Aから出力されている「D15」を、内部クロックCLKの立ち上がりに同期して保持する。
出力ラッチ12Aは、ページセレクタ11Aから出力されているページデータPD(「D16」)を、内部クロックCLKの立ち上がりに同期して保持し、セレクタ13およびデータ出力制御部14を介して、アウトプットデータOUTとして出力する。
以降、図15の時刻t113以降と同様の動作が行われる。
時刻t301〜t306、およびt362において、図15において説明した時刻t101〜t106、およびt162と同様の動作が行われる。
アドレスカウンタ33Aは、最初のメモリアクセスが完了しているので、上記の動作期間の場合に入力される内部クロックCLKの立ち上がりに同期して、計数値を「1」インクリメントし、次にアクセスするバーストアドレスBADとして出力する。
このとき、アドレス変化検出部41Aは、アドレスカウンタ33Aの出力するバーストアドレスBADが変化したことを検出して、ATD回路8に対してワンショットパルスの検出信号DTを出力する。この検出信号DTがATD回路8により所定時間(メモリのアクセス時間)遅延させられ、時刻t372においてセンスアンプコントロール信号SCとしてセンスデータラッチ9Aに入力され、センスデータラッチ9Aは、センスアンプ7から出力されるメモリデータMDをラッチして、「D14」〜「D15」をセンスラッチデータSLD(SLD01〜SLD67)として出力する。
境界カウンタ書込部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として出力する。なお、有効データのみ記載している。
出力ラッチ12Aは、ページセレクタ11から出力されているページデータPD(「D7」:下位4ビット「7」に対応したワードデータ)を、内部クロックCLKの立ち上がりに同期して保持し、セレクタ13およびデータ出力制御部14を介して、アウトプットデータOUTとして出力する。
ウェイト信号生成部44Aは、ファーストレイテンシカウンタ34Aの計数値が「1」であって、上記の動作期間の場合に入力される内部クロックCLKの立ち上がりに同期して、時刻t302において立ち上げたウェイト信号WAITを立ち下げる(「H」レベルから「L」レベルとする)。
時刻t307において、ページラッチ信号生成部42Aは、データカウンタ35Aの計数値が「8」で16W境界カウンタ36Aの計数値が「3」以上の「5」であるので、ページラッチ立上信号を「1」にする。
出力バッファラッチ12Bは、出力ラッチ12Aから出力されている「D7」を、内部クロックCLKの立ち上がりに同期して保持する。
出力ラッチ12Aは、ページセレクタ11Aから出力されているページデータPD(「D8」)を、内部クロックCLKの立ち上がりに同期して保持し、セレクタ13およびデータ出力制御部14を介して、アウトプットデータOUTとして出力する。
出力バッファラッチ12Bは、出力ラッチ12Aから出力されているデータ(「D8」、「D9」)を、内部クロックCLKの立ち上がりに同期して保持する。
出力ラッチ12Aは、ページセレクタ11Aから出力されているページデータPDを、内部クロックCLKの立ち上がりに同期して保持し、セレクタ13およびデータ出力制御部14を介して、アウトプットデータOUTとして出力する(D9、D10)。
データカウンタ35Aは、上記の動作期間の場合に入力される内部クロックCLKの立ち上がりに同期して、計数値を「1」デクリメントして計数値を「4」にする。16W境界カウンタ36Aは、入力される内部クロックCLKの立ち上がりに同期して、計数値を「1」デクリメントして計数値を「1」にする。
出力バッファラッチ12Bは、出力ラッチ12Aから出力されている「D10」を、内部クロックCLKの立ち上がりに同期して保持する。
出力ラッチ12Aは、ページセレクタ11Aから出力されているページデータPD(「D11」)を、内部クロックCLKの立ち上がりに同期して保持し、セレクタ13およびデータ出力制御部14を介して、アウトプットデータOUTとして出力する。
このとき、アドレス変化検出部41Aは、アドレスカウンタ33Aの出力するバーストアドレスBADが変化したことを検出して、ATD回路8に対してワンショットパルスの検出信号DTを出力する。この検出信号DTがATD回路8により所定時間(メモリのアクセス時間)遅延させられ、時刻t382においてセンスアンプコントロール信号SCとしてセンスデータラッチ9Aに入力され、センスデータラッチ9Aは、センスアンプ7から出力されるメモリデータMDをラッチして、「D16」〜「D23」をセンスラッチデータSLD(SLD01〜SLD67)として出力する。
境界カウンタ書込部40Aは、16ワード境界信号が「H」レベルであるので、メモリアクセスに必要なクロックサイクルを計数するために、16W境界カウンタ36Aの計数値のデクリメント処理が行われて計数値が「1」となって、上記の動作期間の場合に入力される内部クロックCLKの立ち上がりに同期して、ファーストレイテンシレジスタ36Aに記憶されているウェイト計数初期値「5」を読み込み、読み込んだウェイト計数初期値「5」を16W境界カウンタ36Aに対して計数の初期値として書き込む。
出力バッファラッチ12Bは、出力ラッチ12Aから出力されている「D11」を、内部クロックCLKの立ち上がりに同期して保持する。
出力ラッチ12Aは、ページセレクタ11Aから出力されているページデータPD(「D12」)を、内部クロックCLKの立ち上がりに同期して保持し、セレクタ13およびデータ出力制御部14を介して、アウトプットデータOUTとして出力する。
出力バッファラッチ12Bは、出力ラッチ12Aから出力されているデータ(「D12」、「D13」)を、内部クロックCLKの立ち上がりに同期して保持する。
出力ラッチ12Aは、ページセレクタ11から出力されているページデータPDを、内部クロックCLKの立ち上がりに同期して保持し、セレクタ13およびデータ出力制御部14を介して、アウトプットデータOUTとして出力する(D13〜D14)。
これにより、ページセレクタ11Aは、ページラッチ10A(ページラッチ部10−0〜10−3)が出力しているページラッチデータPLD(PLD01〜PLD67)の中から、ページコントロール信号PCに対応するページラッチデータPLDを選択して、選択したページラッチデータPLDをページデータPDとして出力する(D14〜D15)。
出力バッファラッチ12Bは、出力ラッチ12Aから出力されている「D14」を、内部クロックCLKの立ち上がりに同期して保持する。
出力ラッチ12Aは、ページセレクタ11から出力されているページデータPDを、内部クロックCLKの立ち上がりに同期して保持し、セレクタ13およびデータ出力制御部14を介して、アウトプットデータOUTとして出力する(D15)。
ウェイト信号生成部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として出力する。
出力ラッチ12Aは、ページセレクタ11Aから出力されているページデータPD(「D16」)を、内部クロックCLKの立ち上がりに同期して保持し、セレクタ13およびデータ出力制御部14を介して、アウトプットデータOUTとして出力する。
以降、図15の時刻t113以降と同様の動作が行われる。
時刻t421において、アウトプットイネーブル信号OEBが立ち上がると(「L」レベルから「H」レベルに遷移する)と(サスペンドの発生)、時刻t408において、入力バッファ1は内部クロックCLKの立ち上がりに同期して、クロックイネーブル信号CLKENを立ち下げる(「H」レベルから「L」レベルに遷移させる)。
また、ウェイト信号生成部44Aは、クロックイネーブル信号CLKENの立ち下がりに同期して、ウェイト信号WAITを立ち上げる。
出力バッファラッチ12Bは、出力ラッチ12Aから出力されている「D12」を、内部クロックCLKの立ち上がりに同期して保持する。
出力ラッチ12Aは、ページセレクタ11Aから出力されているページデータPD(「D13」)を、内部クロックCLKの立ち上がりに同期して保持し、セレクタ13およびデータ出力制御部14を介して、アウトプットデータOUTとして出力する。
また、ウェイト信号生成部44は、クロックイネーブル信号CLKENの立ち上がりに同期して、ウェイト信号WAITを立ち下げる。
なお、ファーストレイテンシの期間中にサスペンドが発生した場合も、上述した通り、ファーストレイテンシカウンタ34Aがクロックイネーブル信号CLKENが「H」レベルであると「L」レベルであるとにかかわらず動作するため、本実施の形態のファーストレイテンシカウンタ34Aがサスペンド期間中であってもメモリアクセスのアクセス時間に対応したクロックサイクル数を計数していることになり、ファーストレイテンシカウンタ34Aの計数値は実際にメモリアクセスが完了する時点のクロックサイクル数と指し示すことになる。
16W境界カウンタ36Aは、クロックイネーブル信号CLKENが「H」レベルであると「L」レベルであるとにかかわらず動作するので、入力される内部クロックCLKの立ち上がりに同期して計数値を「1」デクリメントし(「4」→「3」→「2」)、計数値が「2」になる。つまり、本実施の形態の16W境界カウンタ36Aはサスペンド期間中であってもメモリアクセスのアクセス時間に対応したクロックサイクル数を計数していることになり、16W境界カウンタ36Aの計数値は実際にメモリアクセスが完了する時点のクロックサイクル数と指し示すことになる。
また、ページコントロール信号生成部43は、上記の停止期間の場合に入力される内部クロックCLKの立ち上がり(クロックイネーブル信号CLKENが「L」レベルの期間に入力される内部クロックCLKの立ち上がり、およびクロックイネーブル信号が「H」レベルになって最初に入力される内部クロックCLKの立ち上がり)に同期したページコントロール信号を「1」インクリメントする動作を行わず、ページコントロール信号PCは「P6」のままである。
なお、ファーストレイテンシの期間中にサスペンドが発生した場合も、上述した通り、ファーストレイテンシカウンタ34Aがクロックイネーブル信号CLKENが「H」レベルであると「L」レベルであるとにかかわらず動作するため、本実施の形態のファーストレイテンシカウンタ34Aがサスペンド期間中であってもメモリアクセスのアクセス時間に対応したクロックサイクル数を計数していることになり、ファーストレイテンシカウンタ34Aの計数値は実際にメモリアクセスが完了する時点のクロックサイクル数と指し示すことになる。
出力ラッチ12Aは、出力バッファラッチ12Bから出力されているデータ「D12」を、内部クロックCLKの立ち上がりに同期して保持する。
出力バッファラッチ12Bは、ページセレクタ11Aから出力されているページデータPD(「D14」)を、内部クロックCLKの立ち上がりに同期して保持する。
出力ラッチ12Aは、ページセレクタ11Aから出力されているページデータPD(「D14」)を、内部クロックCLKの立ち上がりに同期して保持し、セレクタ13およびデータ出力制御部14を介して、アウトプットデータOUTとして出力する。
出力バッファラッチ12Bは、出力ラッチ12Aから出力されている「D14」を、内部クロックCLKの立ち上がりに同期して保持する。
出力ラッチ12Aは、ページセレクタ11Aから出力されているページデータPD(「D15」)を、内部クロックCLKの立ち上がりに同期して保持し、セレクタ13およびデータ出力制御部14を介して、アウトプットデータOUTとして出力する。
また、ページラッチ信号生成部42Aは、ページラッチ信号PL0〜PL3を立ち上げる(「L」レベルから「H」レベルにする)。
図19に示すように、開始アドレスの下位4ビットの夫々に対して、有効データ数と最初の16ワード境界におけるウェイトサイクル数(図においては16ワード境界ウェイトサイクル数と記載)を示している。
有効データ数に関して、「1st」は最初の16ワード境界前の1回目のメモリアクセスでメモリセルアレイから読み出される有効データの数であり、「2nd」は最初の16ワード境界前の2回目のメモリアクセスでメモリセルアレイから読み出される有効データの数である。
waitに続く数字はファーストレイテンシのクロックサイクル数であり、例えば「wait8」はファーストレイテンシのクロックサイクル数が8であることを示している。
例えば、ファーストレイテンシが6サイクル、開始アドレスの下位4ビットが「6」の場合(図図16の場合)は、16ワード境界ウェイトサイクル数は「0」であり、従来のフラッシュメモリの16ワード境界ウェイトサイクル数「3」(図10参照)に比較して、16ワード境界ウェイトサイクル数が減少していることが分かる。
例えば、従来例において説明した1つのページラッチ信号によりページラッチの書き換えを行うフラッシュメモリに対して、サスペンド発生時(アウトプットイネーブル信号OEBの立ち上がり時)のクロックイネーブル信号CLKENの立ち下がりを、アウトプットイネーブル信号OEBが立ち上がり後の内部クロックCLK(例えば、アウトプットイネーブル信号OEBが立ち上がり後の最初の内部クロックCLK)の立ち上がりに同期させるようにした手法を適用するようにしてもよい。
また、上述した本実施の形態においては、ファーストレイテンシカウンタ34Aと16W境界カウンタ36Aとがクロックイネーブル信号CLKENが「H」レベルであると「L」レベルであるとに拘わらず動作するようにしている場合である。これに拘わらず、例えば、クロックイネーブル信号CLKENが「L」レベルの期間に入力される内部クロックCLKの立ち上がり、およびクロックイネーブル信号が「H」レベルになって最初に入力される内部クロックCLKの立ち上がり、以外の内部クロックCLKの立ち上がりに同期して計数値を「1」デクリメントするようにしてもよい。この場合、サスペンド発生中はメモリアクセスのアクセス時間に対応した時間のクロックサイクル数を計数するファーストレイテンシカウンタや16W境界カウンタが停止してしまうために、メモリアクセスの開始を早くすることができるという効果は得られなくなるが、従来例のフラッシュメモリで問題となる可能性のあったサスペンド発生(アウトプットイネーブル信号OEBの立ち上がり)直後の内部クロックCLKの誤動作が本実施の形態のフラッシュメモリでは発生しないという利点が得られる。
2 アドレスラッチ
3A バースト制御部
4 アドレス制御部
5 デコーダ
6 メモリセルアレイ
7 センスアンプ
8 ATD回路
9Aセンスデータラッチ
10A ページラッチ
11A ページセレクタ
12A 出力ラッチ
12B 出力バッファラッチ
13 セレクタ
14 データ出力制御部
15 レディ出力制御部
33 アドレスカウンタ
34A ファーストレイテンシカウンタ
35A データカウンタ
36A 16W境界カウンタ
41A アドレス変化検出部
42A ページラッチ信号生成部
43A ページコントロール信号生成部
44A ウェイト信号生成部
Claims (2)
- 外部から入力される先頭アドレスに基づき、マトリクス状に配置されたメモリ素子から読み出したメモリデータを外部クロックに同期させて連続して外部に出力するバースト読み出しの機能を有する半導体メモリであって、
前記外部クロックと同位相の内部クロックを出力し、
外部から入力される、前記半導体装置の前記バースト読み出しの機能を有効にするアウトプットイネーブル信号がディセーブルレベルに遷移すると、遷移した後の前記内部クロックの最初の立ち上がりに応じてクロックイネーブル信号を立ち下げ、前記アウトプットイネーブル信号がイネーブルレベルに遷移すると、遷移した後の前記内部クロックの最初の立ち上がりに応じてクロックイネーブル信号を立ち上げる入力バッファと、
前記メモリ素子をM×N(M、Nはそれぞれ2以上の整数)本の読み出し線毎に分割したブロックと、
前記ブロック毎に読み出し線に接続されたメモリ素子のメモリデータを読み出すN個のセンスアンプと、
前記N個のセンスアンプ各々に対して、M×N本の読み出し線における何れのN本を接続するかの切り替えを行う切替スイッチと、
前記センスアンプにより、前記読み出し線から読み出されたメモリデータをラッチするセンスデータラッチと、
複数のページラッチ部に分割され、各ページラッチ部単位でメモリデータの書込処理を行うページラッチと、
前記ページラッチが出力するメモリデータを選択するページセレクタと、
前記ページセレクタにより選択されたメモリデータを前記内部クロックの立ち上がりに応じて保持して出力する出力ラッチと、
前記出力ラッチが出力するメモリデータを前記内部クロックの立ち上がりに応じて保持するバッファ回路と、
を備え、
前記出力ラッチは、前記クロックイネーブル信号が立ち下がった後、前記内部クロックの最初の立ち上がりに応じて前記ページセレクタにより選択されたメモリデータに替えて前記バッファ回路が保持するメモリデータを保持し、前記クロックイネーブル信号が立ち上がった後、前記内部クロックの最初の立ち上がりに応じて前記ページセレクタにより選択されたメモリデータに替えて前記バッファ回路が保持するメモリデータを保持することを特徴とする半導体メモリ。 - 前記メモリセル素子から読み出されるメモリデータを外部に出力するのに要する時間に対応したクロックサイクル数を計数するデータ計数手段と、
メモリアクセスに必要なアクセス時間に対応したクロックサイクル数を計数するタイム計数手段と、
前記データ計数手段の計数結果と前記タイム計数手段の計数結果に基づいて、前記ページラッチの前記書込処理をイネーブルにするページラッチ信号を前記ページラッチに出力するページラッチ信号生成部と、
前記データ計数手段の計数結果と前記タイム計数手段の計数結果に基づいて、前記ページセレクタの選択処理をイネーブルにするページコントロール信号を前記ページセレクタに出力するページコントロール信号生成部と、
をさらに有し、
前記データ計数手段は、前記クロックイネーブル信号が立ち下がったレベルの期間に入力される前記内部クロックの立ち上がり、および前記クロックイネーブル信号が立ち上がったレベルになって最初に入力される内部クロックの立ち上がり、以外の内部クロックの立ち上がりに応じてカウント動作を行い、
前記ページラッチ信号生成部及び前記ページコントロール信号生成部は、前記クロックイネーブル信号が立ち下がったレベルの期間に入力される前記内部クロックの立ち上がり、および前記クロックイネーブル信号が立ち上がったレベルになって最初に入力される内部クロックの立ち上がり、以外の内部クロックの立ち上がりに応じてそれぞれ前記ページラッチ信号、前記ページコントロール信号を出力することを特徴とする請求項1に記載の半導体メモリ。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005268150A JP4943682B2 (ja) | 2005-09-15 | 2005-09-15 | 半導体メモリ |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005268150A JP4943682B2 (ja) | 2005-09-15 | 2005-09-15 | 半導体メモリ |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2007080411A JP2007080411A (ja) | 2007-03-29 |
JP4943682B2 true JP4943682B2 (ja) | 2012-05-30 |
Family
ID=37940547
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005268150A Active JP4943682B2 (ja) | 2005-09-15 | 2005-09-15 | 半導体メモリ |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4943682B2 (ja) |
Families Citing this family (2)
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 | 凸版印刷株式会社 | 半導体メモリ |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001118395A (ja) * | 1999-10-18 | 2001-04-27 | Nec Corp | 半導体記憶装置及びデータの読み出し方法 |
JP4798843B2 (ja) * | 2000-09-01 | 2011-10-19 | ルネサスエレクトロニクス株式会社 | 半導体装置 |
JP4005909B2 (ja) * | 2002-12-26 | 2007-11-14 | スパンション インク | 半導体記憶装置、および半導体記憶装置の制御方法 |
JP4357246B2 (ja) * | 2003-09-16 | 2009-11-04 | 株式会社ルネサステクノロジ | 半導体記憶装置 |
JP4684561B2 (ja) * | 2004-02-13 | 2011-05-18 | 凸版印刷株式会社 | 半導体メモリ |
-
2005
- 2005-09-15 JP JP2005268150A patent/JP4943682B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP2007080411A (ja) | 2007-03-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2696026B2 (ja) | 半導体記憶装置 | |
WO1998059343A1 (en) | Synchronous page-mode non-volatile memory | |
JP2011018372A (ja) | データをセクタ単位にランダムに入出力することができるフラッシュメモリシステム | |
CN1790544A (zh) | 半导体存储器装置 | |
JP2002244920A (ja) | Dramインターフェース回路 | |
WO2004097727A1 (ja) | メモリカード | |
US8358557B2 (en) | Memory device and method | |
US7692982B2 (en) | Semiconductor memory apparatus with write training function | |
JP3737437B2 (ja) | 半導体メモリ及びその動作モードのエントリー方法 | |
JP4999302B2 (ja) | 半導体メモリ | |
JPH04229484A (ja) | Dramの回復を制御する方法 | |
KR100437467B1 (ko) | 연속 버스트 읽기 동작 모드를 갖는 멀티 칩 시스템 | |
JPH0845277A (ja) | 半導体記憶装置 | |
JP2014154119A (ja) | メモリ制御装置及び半導体記憶装置 | |
JP4943681B2 (ja) | 半導体メモリ | |
JP5000872B2 (ja) | 半導体メモリ | |
EP1058269B1 (en) | Synchronous multilevel non-volatile memory and related reading method | |
CN1825474A (zh) | 具有快速列存取的随机存取存储器 | |
JP5101123B2 (ja) | 半導体メモリ装置のバースト読み出し回路及びバーストデータ出力方法 | |
JP4943682B2 (ja) | 半導体メモリ | |
US20020040424A1 (en) | Memory controller that controls supply timing of read data | |
US6178138B1 (en) | Asynchronously addressable clocked memory device and method of operating same | |
US8239658B2 (en) | Internally derived address generation system and method for burst loading of a synchronous memory | |
JP2000268566A (ja) | 同期型半導体記憶装置 | |
KR100719378B1 (ko) | 빠른 랜덤 액세스 기능을 갖는 플래시 메모리 장치 및그것을 포함한 컴퓨팅 시스템 |
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: 20110624 |
|
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: 4943682 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 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 |