JP2007080411A - Semiconductor memory - Google Patents
Semiconductor memory Download PDFInfo
- Publication number
- JP2007080411A JP2007080411A JP2005268150A JP2005268150A JP2007080411A JP 2007080411 A JP2007080411 A JP 2007080411A JP 2005268150 A JP2005268150 A JP 2005268150A JP 2005268150 A JP2005268150 A JP 2005268150A JP 2007080411 A JP2007080411 A JP 2007080411A
- Authority
- JP
- Japan
- Prior art keywords
- data
- output
- page
- latch
- 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.)
- Granted
Links
Images
Landscapes
- Read Only Memory (AREA)
Abstract
Description
本発明は、外部クロックに同期してバースト出力可能な半導体メモリに関し、特に、バースト読み出しを一時的に停止する機能を備えた半導体メモリに関する。 The present invention relates to a semiconductor memory capable of burst output in synchronization with an external clock, and more particularly to a semiconductor memory having a function of temporarily stopping burst reading.
半導体メモリには、電気的に書き換えが可能であり、電源を切った場合においても、記憶されたデータが消えないという不揮発性を有したフラッシュメモリがあり、フラッシュメモリは、記憶しているデータの保持に電池を必要としない。このため、近年、フラッシュメモリは、電子機器、特に、携帯電話機などの小型携帯機器の記憶装置に多用されている。
電子機器は、フラッシュメモリに記憶されたデータに基づいて各種データ処理を行っている。近年、このデータ処理を実行するCPU(Central Processing Unit)の高速化は著しく、処理能力をクロック数で換算すると1GHzを遥かに超え、フラッシュメモリとCPU間のデータ転送速度が、システム全体の処理能力のボトルネックとなってきている。
A semiconductor memory has a nonvolatile flash memory that can be electrically rewritten and does not erase stored data even when the power is turned off. No battery is required for holding. For this reason, in recent years, flash memories are widely used in storage devices of electronic devices, particularly small portable devices such as mobile phones.
The electronic device performs various data processing based on the data stored in the flash memory. In recent years, the speed of a CPU (Central Processing Unit) that executes this data processing has been remarkably increased. When the processing capacity is converted into the number of clocks, the data transfer speed between the flash memory and the CPU is far greater than the processing capacity of the entire system. Has become a bottleneck.
このような状況に対応するため、フラッシュメモリに記憶されているデータを、高速に読み出す各種方式が考えられており、その一つに外部から入力されるクロックに同期してフラッシュメモリよりデータを連続して取り出すシンクロナスなバースト読み出しがある。
バースト読み出しは、読み出すべき一連のデータの先頭アドレスのみを指定し、それに続くアドレスは、クロックのみによりメモリ内部でインクリメント処理される。
したがって、読み出すべき一連のデータは、先頭アドレスに対して連続になっているという制約はあるが、その分、先頭アドレスで指定したデータの読み出し速度に対し、それに続くデータの読み出し速度を格段に速めることができるものである(例えば、特許文献1参照。)。
In order to cope with such a situation, various methods for reading data stored in the flash memory at high speed have been considered, and one of them is continuous data from the flash memory in synchronization with an externally input clock. There is a synchronous burst read out.
In burst reading, only the top address of a series of data to be read is designated, and the subsequent address is incremented in the memory only by a clock.
Therefore, although there is a restriction that a series of data to be read is continuous with the head address, the reading speed of the subsequent data is remarkably increased with respect to the data reading speed specified by the head address. (For example, refer to Patent Document 1).
メモリ素子からデータを読み出すのに時間(アクセス時間)を要することから、バースト読み出しの開始(先頭アドレスの入力)から最初のメモリアクセスの完了までの待ち時間が発生する。このため、バースト読み出しの開始から最初のバーストデータの出力まで(メモリのアクセスタイムを含む、バースト読み出しに必要な時間)をクロックサイクルで表すファーストレイテンシを設定する必要がある。 Since it takes time (access time) to read data from the memory element, there is a waiting time from the start of burst reading (input of the top address) to the completion of the first memory access. For this reason, it is necessary to set a fast latency that represents from the start of burst reading to the output of the first burst data (the time required for burst reading, including the memory access time) in clock cycles.
また、フラッシュメモリには、アドレス境界(バウンダリ)と呼ばれるものがあり、アドレス境界はメモリセルアレイの構造と読み出しデータを制御するセンスアンプの構成に依存するものである。このアドレス境界をまたいで1度にメモリアクセスをすることができず、アドレス境界前とアドレス境界後に分けてメモリアクセスすることになる。
読み出すべき一連のデータの先頭アドレスによってアドレス境界前の有効データ(外部にバースト出力すべきデータ)の数が異なることから、アドレス境界前のメモリアクセスで読み出した有効データの出力に要する時間がメモリアクセスに要する時間(アクセス時間)よりも短くなることがあり、この場合、メモリアクセスに要する時間を待つためウェイトサイクルが発生する。なお、以下において、このウェイトサイクルを境界前ウェイトサイクルという。
なお、バースト読み出しでは、読み出し開始における最初のアドレス境界において発生する境界前ウェイトサイクルのサイクル数を制御する必要があるが、それ以降のアドレス境界においては、データを出力している期間に、次に出力するデータの読み出しが完了するため、境界前ウェイトサイクルが発生しないようになっている。
なお、バースト読み出しでは、読み出し開始における最初のアドレス境界において発生する境界前ウェイトサイクルのサイクル数を制御する必要があるが、それ以降のアドレス境界においては、データを出力している期間に、次に出力するデータの読み出しが完了するため、境界前ウェイトサイクルが発生しないようになっている。
Some flash memories are called address boundaries, and the address boundaries depend on the structure of the memory cell array and the configuration of the sense amplifier that controls read data. Memory access cannot be performed at a time across the address boundary, and memory access is performed separately before and after the address boundary.
Since the number of valid data before the address boundary (data that should be burst output to the outside) differs depending on the start address of the series of data to be read, the time required to output valid data read by memory access before the address boundary In this case, a wait cycle occurs in order to wait for the time required for memory access. Hereinafter, this wait cycle is referred to as a pre-boundary wait cycle.
In burst read, it is necessary to control the number of pre-boundary wait cycles that occur at the first address boundary at the start of reading, but at subsequent address boundaries, during the period in which data is output, Since reading of data to be output is completed, a wait cycle before boundary does not occur.
In burst read, it is necessary to control the number of pre-boundary wait cycles that occur at the first address boundary at the start of reading, but at subsequent address boundaries, during the period in which data is output, Since reading of data to be output is completed, a wait cycle before boundary does not occur.
フラッシュメモリには、バースト読み出しを一時的に停止させる機能があり、外部入力のアウトプットイネーブル信号OEBにより制御される。
通常、外部入力のアウトプットイネーブル信号OEBが「L」レベル(イネーブル)時にバースト読み出しが許可され、アウトプットイネーブル信号OEBが「H」レベル(ディセーブル)時にバースト読み出しが停止する。このアウトプットイネーブル信号OEBのディセーブル時(バースト読み出しの停止時)をサスペンドと呼び、再びバースト読み出しを許可することをレジュームと呼ぶ。
サスペンドはバースト読み出しの全てのタイミングで有効であり、バースト読み出しが可能な状態であれば、レジュームによってバースト出力が開始される。
The flash memory has a function of temporarily stopping burst reading and is controlled by an output enable signal OEB input from the outside.
Normally, burst read is permitted when the output enable signal OEB of the external input is “L” level (enabled), and burst read is stopped when the output enable signal OEB is “H” level (disabled). When the output enable signal OEB is disabled (when burst read is stopped), it is called suspend, and when burst read is permitted again is called resume.
Suspend is effective at all burst read timings, and if burst read is possible, burst output is started by resume.
図1は従来のフラッシュメモリの構成を示す図である。なお、従来例および後述する実施の形態においてはメモリアクセスがファーストレイテンシの1クロック前に完了する場合を対象とする。
入力バッファ1は、外部から入力されるチップイネーブル信号CEB、アウトプットイネーブル信号OEB、アドレスバリッド信号ADVB、外部クロック、および外部アドレス(例えば、A0〜A22)を、波形成形等の処理を行い出力する。チップイネーブル信号CEBは、それが「L」レベル(ローレベル)になることによって、そのチップを動作状態にする信号である。アウトプットイネーブル信号OEBは、データの出力制御を行うためのものである。アドレスバリッド信号ADVBは、その「L」レベルによって外部アドレス信号を有効とする。
ここで、入力バッファ1は、チップイネーブル信号CEBが「L」レベルにて入力されることにより、外部クロックや他の入力信号により生成された信号、例えば、内部クロックCLK、アドレスラッチ信号ALAT、アドレスAD(例えば、A0〜A22)、アウトプットイネーブル信号OEB、およびクロックイネーブル信号CLKENが内部に供給されることで、フラッシュメモリ内の後に説明する各回路が活性化される。
FIG. 1 is a diagram showing a configuration of a conventional flash memory. In the conventional example and the embodiments described later, the case where the memory access is completed one clock before the first latency is targeted.
The
Here, when the chip enable signal CEB is input at the “L” level, the
入力バッファ1は、外部クロックとほぼ同位相にて内部クロックCLKを出力する。
入力バッファ1は、図2に一例が示される通り、アウトプットイネーブル信号OEBの立ち上がりに同期させて、クロックイネーブル信号CLKENを立ち下げ、アウトプットイネーブル信号OEBの立ち下がった後の最初の内部クロックCLKの立ち上がりに同期してクロックイネーブル信号CLKENを立ち上げる。入力バッファ1は、このようにして生成したクロックイネーブル信号CLKENを出力する。なお、クロックイネーブル信号CLKENが「H」レベルで内部クロックCLKが有効、「L」レベルで内部クロックCLKが無効である。
The
As shown in FIG. 2, the
さらに、入力バッファ1は、図3に一例が示される通り、チップイネーブル信号CEBとアドレスバリッド信号ADVBの何れか遅い方の立ち下がりに同期させて(図3の例では、遅い方のアドレスバリッド信号ADVBの立ち下がりに同期させて)、アドレスラッチ信号ALATを立ち上げる(時刻t1)。そして、入力バッファ1は、アドレスラッチ信号ALATの立ち上がった後の最初の内部クロックCLKの立ち上がりに同期させてアドレスラッチ信号ALATを立ち下げ(時刻t2)、「H」レベル(ハイレベル)の期間のあるパルスとしてアドレスラッチ信号ALATを出力する。
Further, as shown in FIG. 3, the
アドレスラッチ2は、入力バッファ1から入力されるアドレスADを、入力バッファ1により出力されるアドレスラッチ信号ALATによりラッチする。
このアドレスラッチ2は、アドレスラッチ信号ALATが「H」レベルの期間において(時刻t1〜時刻t2)、入力されるアドレスADをそのまま通過させて出力し、「L」レベルに遷移すると、その「L」レベルとなった時点(時刻t2)において入力されていたアドレスADをラッチして、ラッチアドレスLADとして出力する。
The
When the address latch signal ALAT is in the “H” level period (time t1 to time t2), the
バースト制御部3は、アドレスラッチ2から入力されるラッチアドレスLADを先頭アドレス(スタートアドレス、開始アドレス)とし、先頭アドレス(A0〜A22)の上位ビット(8ワード単位の読み出しを対象とする場合はA3〜A22)をバーストアドレスBADとして出力する。続いて、バースト制御部3は、バーストアドレスBADを、後述する通り、所定の計数タイミングにて内部クロックCLKに同期して「1」インクリメントして新たなバーストアドレスBADとして出力する。また、バースト制御部3は、このバーストアドレスBADの変化を検出して後述する検出信号DTを出力する。
また、バースト制御部3は、後述する通り、内部クロックCLKに同期して、ページラッチ信号PL、ページコントロール信号PC、アウトプットコントロール信号OPC、およびウェイト信号WAITを生成して出力し、さらに、初期時に設定されたアクセスのモード(バースト/ランダム)に応じて同期/非同期セレクト信号SELを生成して出力する。
The
Further, as will be described later, the
アドレス制御部4は、デコーダ5に対して、バーストアドレスBADとラッチアドレスLADとのいずれかを選択して、選択したアドレスをメモリアドレスMADとして出力する。
メモリセルアレイ6は、複数のメモリセル(メモリ素子)がマトリックス状に配置されて形成されている。メモリセル(メモリ素子)はM×N(M、Nは整数であり、従来例においては、Mは2、Nは8である)本の読み出し線毎にブロックに分割されており、このブロックをまたいで一度にアクセスすることができない。
デコーダ5は、アドレス制御部4から入力されたメモリアドレスMADをデコードし、メモリセルアレイ6において、このメモリアドレスMAD(バーストアドレスBADの場合)の示す番地のメモリセル(8ワード単位、1ワード=16ビット)を選択する。
センスアンプ7は、選択されたメモリセルから出力される情報を、読み出し線を介して入力され、所定の電圧レベルに増幅して、メモリデータMDとして出力する。
The
The
The
The
ATD回路8は、入力されたパルス信号を所定の時間遅延させて出力するディレイ回路であり、検出信号DT(従来例および後述する実施の形態では、「Hレベル」のパルス)が入力されると、所定の時間遅延させてセンスアンプコントロール信号SC(「H」レベルのパルス)として出力する。この所定の時間とは、メモリセルアレイをアクセスするアドレスが入力され、センスアンプから出力されるメモリデータMDが安定するまでの時間、すなわちデコーダ5、メモリセルアレイ6、およびセンスアンプ7からなるメモリのアクセス時間である。
センスデータラッチ9は、センスアンプコントロール信号SCの「H」レベルの期間において、センスアンプ7から入力されるメモリデータMDをそのまま通過させて出力し、「L」レベルに遷移すると、その「L」レベルとなった時点において入力されていたメモリデータMDをラッチして、センスラッチデータSLDとして出力する。
The
The
ページラッチ10は、内部クロックCLKに非同期のセンスアンプコントロール信号SCにてセンスデータラッチ9にラッチされ出力されているセンスラッチデータSLDを、内部クロックCLKに同期したページラッチ信号PLによりラッチし、ページラッチデータPLDとして出力する。ただし、ページラッチ10はページラッチ信号PLによりセンスデータラッチ9が出力するセンスラッチデータ(8ページ分のワードデータ)を同じタイミングで一括してラッチする。
ページセレクタ11は、ページコントロール信号PCにより、ページラッチ10にラッチされている複数のワードデータ(複数のメモリデータからなる)を順次選択して、ページデータPDとして、出力ラッチ12およびセレクタ13の夫々へ出力する。
出力ラッチ12は、内部クロックCLKの立ち上がりエッジに同期させて、入力されるページデータPDをラッチする。
The page latch 10 latches the sense latch data SLD latched and output to the
The
The
セレクタ13は、出力ラッチ12から入力されるページデータPDと、ページセレクタ11から入力されるページデータPDとのいずれかを、同期/非同期信号SELにより選択し、選択したページデータPDをデータ出力制御回路14へ出力する。
ここで、セレクタ13は、例えば、同期/非同期信号SELが「L」レベルの場合(ランダム読み出しが設定されている場合)、メモリの読み出しを内部クロックCLKに非同期にて行うため、ページセレクタ11から入力するページデータPDを選択してデータ出力制御部14へ出力し、同期/非同期信号SELが「H」レベルの場合(バースト読み出しが設定されている場合)、メモリの読み出しを内部クロックCLKに同期させて行うため、出力ラッチ12から入力されるページデータPDを選択してデータ出力制御部14へ出力する。
The
Here, for example, when the synchronous / asynchronous signal SEL is at the “L” level (when random reading is set), the
データ出力制御部14は、入力されるページデータPDを外部に対して出力するか否かを、アウトプットコントロール信号OPCにより制御する。ここで、データ出力制御部14は、アウトプットコントロール信号OPCが「L」レベルの場合、出力をハイインピーダンスとし、アウトプットコントロール信号OPCが「H」レベルの場合、セレクタ13から出力されるページデータPDを、アウトプットデータOUTとして出力端子へ出力する。
レディ出力制御部15は、アウトプットコントロール信号OPCとウェイト信号WAITとの論理積をとってレディ信号RDYとして出力する。レディ信号RDYは「H」レベルの場合、有効なアウトプットデータOUTが出力されていることを示し、「L」レベルの場合、有効でないアウトプットデータOUTが出力されていることを示す。
The data
The ready
図1のフラッシュメモリにおいては、メモリセルアレイ6からのデータの読み出しに対し、16本の読み出し線毎に分割されたブロック(16ワードデータ領域)の読み出し単位毎に8ワード分のセンスアンプ7が設けられ、アドレス境界(バウンダリ)として、16ワード毎の境界(16ワード境界)を有する構成となっている。
ここで、従来例および後述する実施の形態において、16ワードデータ領域内において、8ワード単位で設けられたセンスアンプ7に対して、メモリセルから読み出されるメモリデータの出力の切り替えを、2ワード単位にて行うように構成されている。
In the flash memory of FIG. 1, for data reading from the
Here, in the conventional example and the embodiments described later, in the 16-word data area, the output of the memory data read from the memory cell is switched to the
この制御機能について図4を参照して説明する。図4はメモリセルアレイ6の各メモリセルからワードデータを読み出す読み出し線と、16ワードの中から8ワード分の読み出し線をセンスアンプ7に接続するスイッチ機構100と、センスアンプ7との接続関係を示す図である。
読み出し線「0000」〜「1111」の夫々は、1ワード分に対応した数の読み出し線群を有している。なお、説明の便宜上、読み出し線には、それが読み出すメモリセルのアドレスの下位4ビットの値を示す値(「0000」など)を付与している。
下位4ビットが「0000」〜「1111」に対応する16ワード分の読み出し線は、「0000」および「0001」と、「0010」および「0011」と、「0100」および「0101」と、「0110」および「0111」と、「1000」および「1001」と、「1010」および「1011」と、「1100」および「1101」と、「1110」および「1111」との8つのグループに分けられている。
This control function will be described with reference to FIG. FIG. 4 shows a connection relationship between the
Each of the read lines “0000” to “1111” has a number of read line groups corresponding to one word. For convenience of explanation, a value (such as “0000”) indicating the value of the lower 4 bits of the address of the memory cell read by the read line is given to the read line.
The read lines for 16 words corresponding to the lower 4 bits “0000” to “1111” are “0000” and “0001”, “0010” and “0011”, “0100” and “0101”, “ It is divided into eight groups of “0110” and “0111”, “1000” and “1001”, “1010” and “1011”, “1100” and “1101”, “1110” and “1111”. ing.
また、センスアンプ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ワード分に対応した数のセンスアンプ群を有している。
The
スイッチ機構100は、4つのスイッチ100−0〜100−3により構成されており、スイッチ100−0〜100−3は、夫々、読み出し線デコーダ110から入力されるデータに応じて、センスアンプ7−0〜7−7に接続する読み出し線を選択する。
スイッチ100−0は、読み出し線デコーダ110から入力されるデータAT[3:0]の最下位ビット(「0」ビット目)が「0」の場合には「0000」および「0001」の読み出し線を選択し、「1」の場合には「1000」および「1001」の読み出し線を選択する。
スイッチ100−1は、読み出し線デコーダ110から入力されるデータAT[3:0]の「1」ビット目が「0」の場合には「0010」および「0011」の読み出し線を選択し、「1」の場合には「1010」および「1011」の読み出し線を選択する。
スイッチ100−2は、読み出し線デコーダ110から入力されるデータAT[3:0]の「2」ビット目が「0」の場合には「0100」および「0101」の読み出し線を選択し、「1」の場合には「1100」および「1101」の読み出し線を選択する。
スイッチ100−3は、読み出し線デコーダ110から入力されるデータAT[3:0]の最上位ビット(「3」ビット目)が「0」の場合には「0110」および「0111」の読み出し線を選択し、「1」の場合には「1110」および「1111」の読み出し線を選択する。
The
The switch 100-0 reads the “0000” and “0001” read lines when the least significant bit (“0” bit) of the data AT [3: 0] input from the read
When the “1” bit of the data AT [3: 0] input from the read
The switch 100-2 selects the “0100” and “0101” read lines when the “2” bit of the data AT [3: 0] input from the read
The switch 100-3 reads “0110” and “0111” when the most significant bit (“3” bit) of the data AT [3: 0] input from the read
読み出し線デコーダ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に対して出力する。
When the lower 4 bits (A [3: 0]) of the start address are “1000” (8) to “1111” (15: F), the read
例えば、開始アドレスの下位4ビットが「1100」のとき、読み出し線デコーダ110は、開始アドレスの下位4ビットの「1100」を「1111」に変換し、変換後のデータ「1111」をデータAT[3:0]としてスイッチ機構100に対して出力する。スイッチ機構100のスイッチ100−0は、データAT[3:0]の「0」ビット目が「1」であるので、「1000」および「1001」の読み出し線を選択してセンスアンプ7−0に接続する。スイッチ100−1は、データAT[3:0]の「1」ビット目が「1」であるので、「1010」および「1011」の読み出し線を選択してセンスアンプ7−1に接続する。スイッチ100−2は、データAT[3:0]の「2」ビット目が「1」であるので、「1100」および「1101」の読み出し線を選択してセンスアンプ7−2に接続する。スイッチ100−3は、データAT[3:0]の「3」ビット目が「1」であるので、「1110」および「1111」の読み出し線を選択してセンスアンプ7−3に接続する。
それ以降、読み出し線デコーダ110は、データAT[3:0]の各ビットを夫々反転して、反転して得られたデータAT[3:0]をスイッチ機構100に対して出力する。
For example, when the lower 4 bits of the start address are “1100”, the
Thereafter, the read
一方、読み出し線デコーダ110は、開始アドレスの下位4ビット(A[3:0])が「0000」(0)〜「0111」(7)の場合には、バースト読み出しの開始時には、処理切替フラグが「00」であることを検出して、開始アドレスの下位4ビットのアドレスを、図5のテーブルに従い変換して(図5の左の「ラッチアドレスLADの下位4ビット」から中央の「変換後の下位4ビット」へ変換)、変換後の4ビットのデータAT[3:0]をスイッチ機構100に対して出力するとともに、処理切替フラグを「01」にする。続いて、読み出し線デコーダ110は、バーストアドレスが変化するタイミングにおいて、処理切替フラグが「01」であることを検出して、変換後の4ビットのデータAT[3:0]の各ビットを夫々反転し(図5の中央の「変換後の下位4ビット」から右の「反転後の下位4ビット」へ変換)、反転後の4ビットのデータAT[3:0]をスイッチ機構100に対して出力するとともに、処理切替フラグを「10」にする。また、読み出し線デコーダ110は、バーストアドレスBADが変化するタイミングにおいて、処理切替フラグが「10」であることを検出して(最初の16ワード境界を越えたので)、スイッチ機構100に対して、「0000」のデータAT[3:0]を出力し、処理切替フラグを「11」にする。以降、読み出し線デコーダ110は、バーストアドレスBADが変化するタイミングにおいて、順次、処理切替フラグが「11」であることを検出してデータAT[3:0]の各ビットの夫々を反転して、反転して得られたデータAT[3:0]をスイッチ機構100に対して出力する。
On the other hand, when the lower 4 bits (A [3: 0]) of the start address are “0000” (0) to “0111” (7), the read
例えば、開始アドレスの下位4ビットが「0011」のとき、読み出し線デコーダ110は、図5のテーブルに従い変換して「0001」を求め、変換後のデータ「0001」をデータAT[3:0]としてスイッチ機構100に対して出力する。スイッチ機構100のスイッチ100−0は、データAT[3:0]の「0」ビット目が「1」であるので、「1000」および「1001」の読み出し線を選択してセンスアンプ7−0に接続する。スイッチ100−1は、データAT[3:0]の「1」ビット目が「0」であるので、「0010」および「0011」の読み出し線を選択してセンスアンプ7−1に接続する。スイッチ100−2は、データAT[3:0]の「2」ビット目が「0」であるので、「0100」および「0101」の読み出し線を選択してセンスアンプ7−2に接続する。スイッチ100−3は、データAT[3:0]の「3」ビット目が「0」であるので、「0110」および「0111」の読み出し線を選択してセンスアンプ7−3に接続する。
次のバーストアドレスの変化するタイミングにおいて、読み出し線デコーダ110は、変換後の4ビットのデータAT[3:0]の各ビットを夫々反転して「1110」を求め、変換後のデータ「1110」をデータAT[3:0]としてスイッチ機構100に対して出力する。スイッチ機構100のスイッチ100−0は、データAT[3:0]の「0」ビット目が「0」であるので、「0000」および「0001」の読み出し線を選択してセンスアンプ7−0に接続する。スイッチ100−1は、データAT[3:0]の「1」ビット目が「1」であるので、「1010」および「1011」の読み出し線を選択してセンスアンプ7−1に接続する。スイッチ100−2は、データAT[3:0]の「2」ビット目が「1」であるので、「1100」および「1101」の読み出し線を選択してセンスアンプ7−2に接続する。スイッチ100−3は、データAT[3:0]の「3」ビット目が「1」であるので、「1110」および「1111」の読み出し線を選択してセンスアンプ7−3に接続する。
For example, when the lower 4 bits of the start address are “0011”, the read
At the timing when the next burst address changes, the read
次のバーストアドレスの変化するタイミングにおいて、読み出し線デコーダ110は、データ「0000」をデータAT[3:0]としてスイッチ機構100に対して出力する。スイッチ機構100のスイッチ100−0は、データAT[3:0]の「0」ビット目が「0」であるので、「0000」および「0001」の読み出し線を選択してセンスアンプ7−0に接続する。スイッチ100−1は、データAT[3:0]の「1」ビット目が「0」であるので、「0010」および「0011」の読み出し線を選択してセンスアンプ7−1に接続する。スイッチ100−2は、データAT[3:0]の「2」ビット目が「0」であるので、「0100」および「0101」の読み出し線を選択してセンスアンプ7−2に接続する。スイッチ100−3は、データAT[3:0]の「3」ビット目が「0」であるので、「0110」および「0111」の読み出し線を選択してセンスアンプ7−3に接続する。
次のバーストアドレスの変化するタイミングにおいて、読み出し線デコーダ110は、データAT[3:0]の各ビットを夫々反転してデータ「1111」を求め、求めた「1111」をデータAT[3:0]としてスイッチ機構100に対して出力する。スイッチ機構100のスイッチ100−0は、データAT[3:0]の「0」ビット目が「1」であるので、「1000」および「1001」の読み出し線を選択してセンスアンプ7−0に接続する。スイッチ100−1は、データAT[3:0]の「1」ビット目が「1」であるので、「1010」および「1011」の読み出し線を選択してセンスアンプ7−1に接続する。スイッチ100−2は、データAT[3:0]の「2」ビット目が「1」であるので、「1100」および「1101」の読み出し線を選択してセンスアンプ7−2に接続する。スイッチ100−3は、データAT[3:0]の「3」ビット目が「1」であるので、「1110」および「1111」の読み出し線を選択してセンスアンプ7−3に接続する。
それ以降、読み出し線デコーダ110は、データAT[3:0]の各ビットを夫々反転して、反転して得られたデータAT[3:0]をスイッチ機構100に対して出力する。
At the timing when the next burst address changes, the read
At the timing when the next burst address changes, the read
Thereafter, the read
次に、図1におけるバースト制御部3の詳細について図6を参照しつつ説明する。図6はバースト制御部3の構成例を示すブロック図である。
バースト制御部3には、ファーストレイテンシレジスタ31があり、ファーストレイテンシレジスタ31は、外部から入力されるファーストレイテンシのウェイトサイクル数から「1」減算した値を記憶するレジスタである。このファーストレイテンシレジスタ31への書き込みはバースト読み出しなどが実際に行われるよりも前のタイミングで、不図示の制御回路により行われる。なお、以下において、ファーストレイテンシのウェイトサイクル数から「1」減算した値を、ウェイト計数初期値という。
なお、ファーストレイテンシのウェイトサイクル数は、非同期のメモリセルアレイからデータを読み出すための時間、すなわち、読み出し開始時に最初のメモリアクセス完了までの待ち時間が発生するために、バースト読み出しの開始の最初のクロックの有効エッジから、データ出力開始またはデータ出力確定のクロックの有効エッジまでのクロックサイクル数として設定されている。
バースト制御部3には、有効データ(メモリアクセスにおいてメモリセルアレイ6からセンスしたワードデータのうちバースト出力すべきワードデータ)の数から「1」減算した値を記憶する有効データレジスタ32がある。なお、以下において、有効データ数から「1」減算した値を、データ計数初期値という。
Next, details of the
The
Note that the number of wait cycles for the first latency is the time for reading data from the asynchronous memory cell array, that is, the first clock at the start of burst read because a waiting time until completion of the first memory access occurs at the start of read. This is set as the number of clock cycles from the valid edge to the valid edge of the data output start or data output confirmed clock.
The
バースト制御部3には、アドレスカウンタ33がある。アドレスカウンタ33は、クロックイネーブル信号CLKENが「H」レベルの期間で動作を行い、クロックイネーブル信号CLKENが「L」レベルの期間で動作を停止する。アドレスカウンタ33は、クロックイネーブル信号CLKENが「H」レベルの時に、アドレスラッチ信号ALAT信号の立ち下がりに同期して、アドレスラッチ2から入力されるラッチアドレスLAD(22ビット)の下位3ビットを除いた、上位の「3〜22ビット」が示す上位アドレスをスタートのバーストアドレスBADとして出力する。アドレスカウンタ33は、後述するファーストレイテンシカウンタ34の計数値が「1」であって、クロックイネーブル信号CLKENが「H」レベルの場合に入力される内部クロックCLKの立ち上がりに同期してバーストアドレスBADを「1」インクリメントして次にメモリアクセスするバーストアドレスBADとして出力する。また、アドレスカウンタ33は、データカウンタ35の計数値が「0」で16W境界カウンタ36の計数値が「1」および「0」のいずかであって、クロックイネーブル信号CLKENが「H」レベルの場合に入力される内部クロックCLKの立ち上がりに同期してバーストアドレスBADを「1」インクリメントして次にメモリアクセスするバーストアドレスBADとして出力する。
The
バースト制御部3には、ファーストレイテンシカウンタ(FLC)34がある。ファーストレイテンシカウンタ34はファーストレイテンシのクロックサイクルを計数するために利用されるものであり、バースト読み出しの開始時の最初のメモリアクセスのアクセス時間に対応したクロックサイクル数を計数するためにも利用される。ファーストレイテンシカウンタ34は、クロックイネーブル信号CLKENが「H」レベルの期間で動作を行い、クロックイネーブル信号CLKENが「L」レベルの期間で動作を停止する。ファーストレイテンシカウンタ34にはファーストレイテンシレジスタ31に記憶されているウェイト計数初期値が計数の初期値として書き込まれる。ファーストレイテンシカウンタ34は、クロックイネーブル信号CLKENが「H」レベルの場合に入力される内部クロックCLKの立ち上がりに同期して、計数値を「1」デクリメントする。
The
バースト制御部3には、データカウンタ(DTC)35がある。データカウンタ35はページラッチ10に保持されているまだバースト出力されていない有効データの数を計数するものである。ここで、有効データとは、メモリセルアレイ6から読み出された外部にバースト出力する必要があるワードデータのことであり、以下において同様である。データカウンタ35は、クロックイネーブル信号CLKENが「H」レベルの期間で動作を行い、クロックイネーブル信号CLKENが「L」レベルの期間で動作を停止する。データカウンタ35には有効データレジスタ32に記憶されているデータ計数初期値が計数の初期値として書き込まれる。データカウンタ35は、クロックイネーブル信号CLKENが「H」レベルの場合に入力される内部クロックCLKの立ち上がりに同期して、計数値を「1」デクリメントする。このデータカウンタ35は「3」ビットにより構成されており、最大「7」計数できるようになっている。
The
バースト制御部3には、16W境界カウンタ(BDC)36がある。16W境界カウンタ36は16ワード境界の境界前ウェイトを計数するために利用されるものであり、メモリアクセスのアクセス時間に対応したクロックサイクル数を計数するためにも利用される。16W境界カウンタ36は、クロックイネーブル信号CLKENが「H」レベルの期間で動作を行い、クロックイネーブル信号CLKENが「L」レベルの期間で動作を停止する。16W境界カウンタ36にはファーストレイテンシレジスタ31に記憶されているウェイト計数初期値が計数の初期値として書き込まれる。16W境界カウンタ36は、クロックイネーブル信号CLKENが「H」レベルの場合に入力される内部クロックCLKの立ち上がりに同期して、計数値を「1」デクリメントする。
The
バースト制御部3には、レイテンシカウンタ書込部37がある。レイテンシカウンタ書込部37は、クロックイネーブル信号CLKENが「H」レベルの期間で動作を行い、クロックイネーブル信号CLKENが「L」レベルの期間で動作を停止する。レイテンシカウンタ書込部37は、クロックイネーブル信号CLKENが「H」レベルの場合に、アドレスラッチ信号ALAT信号の立ち下がりに同期して、ファーストレイテンシレジスタ31に記憶されているウェイト計数初期値を読み込み、読み込んだウェイト計数初期値をファーストレイテンシカウンタ34に対して計数の初期値として書き込む。
バースト制御部3には、有効データレジスタ書込部38がある。有効データレジスタ書込部38は、バースト読み出し開始時に、或いは、後述するデータカウンタ書込部39が有効データレジスタ32からデータ計数初期値を読み込んだ時に、データ計数初期値の算出を開始し、算出が完了した時点で算出したデータ計数初期値を有効データレジスタ32に書き込む。有効データレジスタ書込部38は、有効データの数から「1」減算した値(データ計数初期値)を算出し、算出結果を有効データレジスタ32に書き込む。なお、最初の16ワード境界前の1回目のメモリアクセスにおける有効データの数は図10の「1st」に示されている値であり、最初の16ワード境界前の2回目のメモリアクセスにおける有効データの数は図10の「2st」に示されている値である。また、最初の16ワード境界を越えた後のメモリアクセスにおける有効データの数は固定値「8」である。
The
The
つまり、有効データレジスタ書込部38は、バーストアドレスの開始時、有効データ数書込フラグが「000」であることを検出して、開始アドレスの下位4ビットにおける最上位ビットが「1」であるか否かの検出を行い、最上位ビットが「1」でない場合に「0000」(「0」)〜「0111」(「7」)の範囲であると判断して有効データ数書込フラグを「001」にし、最上位ビットが「1」である場合に「1000」(「8」)〜「1111」(「F」)の範囲であると判断して有効データ数書込フラグを「101」にする。
That is, the valid data
有効データレジスタ書込部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」をデータ計数初期値とする。
The valid data
Subsequently, the valid data
Thereafter, the valid data
一方、有効データレジスタ書込部38は、有効データ数書込フラグが「001」であることを検出して(最上位ビットが「1」であること、すなわち、下位4ビットが「8」〜「F」(15)の範囲のとき)、最初の16ワード境界における1回目のメモリアクセス(1stアクセス)の際に、開始アドレスの下位4ビットを夫々反転して、その結果をデータ計数初期値とする。そして、有効データレジスタ書込部38は有効データ書込フラグを「011」にする。
それ以降、有効データレジスタ書込部38は、有効データ数書込フラグが「011」であることを検出して、固定値「7」(有効データ数の8より1小さい値)をデータ計数初期値とする。
On the other hand, the valid data
Thereafter, the valid data
例えば、開始アドレスの下位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に書き込む。
For example, when the lower 4 bits of the start address are “7” (0 (most significant bit), 1 (third bit), 1 (second bit), 1 (lowest bit)), the valid data
また、開始アドレスの下位4ビットが「14」(1(最上位ビット)、1(3ビット目)、1(2ビット目)、0(最下位ビット))のとき、有効データレジスタ書込部38は、最上位ビットが「1」であるため、1stアクセスの際に、「1110」を反転して「0001」を求め、求めた「1」をデータ計数初期値として有効データレジスタ32に書き込む。それ以降、有効データレジスタ書込部38は、固定値「7」をデータ計数初期値として有効データレジスタ32に書き込む。
When the lower 4 bits of the start address are “14” (1 (the most significant bit), 1 (the 3rd bit), 1 (the 2nd bit), 0 (the least significant bit)), the valid data
バースト制御部3には、データカウンタ書込部39がある。データカウンタ書込部39は、クロックイネーブル信号CLKENが「H」レベルの期間で動作を行い、クロックイネーブル信号CLKENが「L」レベルの期間で動作を停止する。データカウンタ書込部39は、ファーストレイテンシカウンタ34の計数値が「1」であって、クロックイネーブル信号CLKENが「H」レベルの場合に入力される内部クロックCLKの立ち上がりに同期して、有効データレジスタ32に記憶されているデータ計数初期値を読み込み、読み込んだデータ計数初期値をデータカウンタ35に対して計数の初期値として書き込む。
データカウンタ書込部39は、データカウンタ35の計数値が「0」で16W境界カウンタ36の計数値が「1」および「0」の何れかであって、クロックイネーブル信号CLKENが「H」レベルの場合に入力される内部クロックCLKの立ち上がりに同期して、有効データレジスタ32に記憶されているデータ計数初期値を読み込み、読み込んだデータ計数初期値をデータカウンタ35に対して計数の初期値として書き込む。
The
In the data
バースト制御部3には、境界カウンタ書込部40がある。境界カウンタ書込部39は、クロックイネーブル信号CLKENが「H」レベルの期間で動作を行い、クロックイネーブル信号CLKENが「L」レベルの期間で動作を停止する。境界カウンタ書込部40は、ファーストレイテンシカウンタ34の計数値が「1」であって、クロックイネーブル信号CLKENが「H」レベルの場合に入力される内部クロックCLKの立ち上がりに同期して、ファーストレイテンシレジスタ31に記憶されているウェイト計数初期値を読み込み、読み込んだウェイト計数初期値を16W境界カウンタ36に対して計数の初期値として書き込む。
境界カウンタ書込部40は、データカウンタ35の計数値が「0」で16W境界カウンタ36の計数値が「1」および「0」の何れかであって、クロックイネーブル信号CLKENが「H」レベルの場合に入力される内部クロックCLKの立ち上がりに同期して、ファーストレイテンシレジスタ31に記憶されているウェイト計数初期値を読み込み、読み込んだウェイト計数初期値を16W境界カウンタ36に対して計数の初期値として書き込む。
The
The boundary
バースト制御部3には、アドレス変化検出部41がある。アドレス変化検出部41は、バーストアドレスBADの変化を検出して、ワンショットのパルスを生成して、検出信号DTとして出力する。上述したように、検出信号DTは、ATD回路8により所定時間(メモリのアクセス時間)遅延させられ、センスアンプコントロール信号SCとしてセンスデータラッチ9に供給される。
The
バースト制御部3には、ページラッチ信号生成部42がある。ページラッチ信号生成部42は、クロックイネーブル信号CLKENが「H」レベルの期間で動作を行い、クロックイネーブル信号CLKENが「L」レベルの期間で動作を停止する。
ページラッチ信号生成部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」レベルにする)。
The
The page latch
In the conventional example, when the clock enable signal CLKEN is at “H” level, the page latch
ページラッチ信号生成部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」であって、クロックイネーブル信号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を立ち下げる。
The page latch
In the conventional example, the page latch
Alternatively, the page latch
バースト制御部3には、ページコントロール信号生成部43がある。ページコントロール信号生成部43は、クロックイネーブル信号CLKENが「H」レベルの期間で動作を行い、クロックイネーブル信号CLKENが「L」レベルの期間で動作を停止する。
ページコントロール信号生成部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」になると動作を開始する。
The
When the clock enable signal CLKEN is at “H” level, the page control
The page control
バースト制御部3には、ウェイト信号生成部44がある。ウェイト信号生成部44は、クロックイネーブル信号CLKENが「H」レベルの期間で動作を行い、クロックイネーブル信号CLKENが「L」レベルの期間で動作を停止する。
ウェイト信号生成部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を立ち下げる。
The
The
The wait
Furthermore, the wait
バースト制御部3は、図示しない、同期/非同期セレクト信号SEL、およびアウトプットコントロール信号OPCの生成を行う。また、バースト制御部3は、アドレスラッチ信号ALATの立ち下がりに同期して、16W境界信号を「L」レベルから「H」レベルに立ち上げ、データカウンタ35の計数値のデクリメント処理が行われて「1」となった場合に入力される内部クロックCLKの立ち上がりに同期して、16W境界信号を「H」レベルから「L」レベルに立ち下げる。
The
以下、上述した従来のフラッシュメモリのバースト読み出しの動作について図面を参照しつつ説明する。
図7は、ファーストレイテンシが6サイクル、開始アドレスの下位4ビットが「E(14)」の場合における、従来例の各回路の動作のタイミングチャートを示している。
時刻t1001において、入力バッファ1がチップイネーブル信号CEB及びアドレスバリッド信号ADVBが「H」レベルから「L」レベルに遷移することにより、アドレスラッチ信号ALATを立ち上げ、立ち上げた後の次の内部クロックCLKの立ち上がりに同期してアドレスラッチ信号ALATを立ち下げる。
Hereinafter, the burst read operation of the above-described conventional flash memory will be described with reference to the drawings.
FIG. 7 shows a timing chart of the operation of each circuit of the conventional example when the first latency is 6 cycles and the lower 4 bits of the start address are “E (14)”.
At time t 1001 , the
時刻t1002において、アドレスカウンタ33は、クロックイネーブル信号CLKENが「H」レベルであるので、アドレスラッチ信号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として出力する。
At time t 1002 , since the clock enable signal CLKEN is at “H” level, the
At this time, the address
時刻t1002において、レイテンシカウンタ書込部37は、クロックイネーブル信号CLKENが「H」レベルであるので、ファーストレイテンシのクロックサイクルを計数するために、ファーストレイテンシレジスタ31に記憶されているウェイト計数初期値「5」を読み込み、読み込んだウェイト計数初期値「5」をファーストレイテンシカウンタ34に対して計数の初期値として書き込む。
ページラッチ信号生成部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」レベルとする)。
At time t 1002 , since the clock enable signal CLKEN is at “H” level, the latency
Since the clock enable signal CLKEN is at “H” level, the page latch
Since the clock enable signal CLKEN is at “H” level, the page control
Since the clock enable signal CLKEN is at “H” level, the wait
The
時刻t1003から時刻1006にかけて、ファーストレイテンシカウンタ34は、クロックイネーブル信号CLKENが「H」レベルの場合に入力される内部クロックCLKの立ち上がりに同期して、計数値を「1」デクリメントし(「5」→「4」→「3」→「2」→「1」)、計数値が「1」になる。
ページコントロール信号生成部43は、ファーストレイテンシカウンタ34の計数値が「1」になると動作を開始する(計数を行う状態)。
From time t 1003 to time 1006 , the
The page control
時刻t1007において、ファーストレイテンシカウンタ34は、クロックイネーブル信号CLKENが「H」レベルの場合に入力される内部クロックCLKの立ち上がりに同期して、計数値を「1」デクリメントして計数値を「0」にする。
アドレスカウンタ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として出力する。
At time t 1007 , the
The
At this time, the address
時刻t1007において、データカウンタ書込部39は、有効データの出力に必要なクロックサイクルを計数するために、ファーストレイテンシカウンタ34の計数値が「1」であって、クロックイネーブル信号CLKENが「H」レベルで場合に入力される内部クロックCLKの立ち上がりに同期して、有効データレジスタ32に記憶されているデータ計数初期値「1」を読み込み、読み込んだデータ計数初期値「1」をデータカウンタ35に対して計数の初期値として書き込む。
境界カウンタ書込部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として出力する。
At time t 1007 , the data
The boundary
The page latch
The
ページコントロール信号生成部43は、クロックイネーブル信号CLKENが「H」レベルの場合に入力される内部クロックCLKの立ち上がりに同期して、ページコントロール信号PCを「P6」から「P7」にインクリメントし、「P7」をページコントロール信号PCとして出力する。ページコントロール信号生成部43は、データカウンタ35の計数値が「1」で16W境界カウンタ36の計数値が「3」以上の「5」であるので動作を停止する(計数を行わない状態)。
これにより、ページセレクタ11は、ページラッチ10が出力しているページラッチデータPLDの中から、ページコントロール信号PC(「P7」)に対応する「D15」を選択して、「D15」をページデータPDとして出力する。
ウェイト信号生成部44は、ファーストレイテンシカウンタ34の計数値が「1」であって、クロックイネーブル信号CLKENが「H」レベルで場合に入力される内部クロックCLKの立ち上がりに同期して、時刻t1002において立ち上げたウェイト信号WAITを立ち下げる(「H」レベルから「L」レベルとする)。
The page control
As a result, the
The
時刻t1008において、データカウンタ35は、クロックイネーブル信号CLKENが「H」レベルの場合に入力される内部クロックCLKの立ち上がりに同期して、計数値を「1」デクリメントして計数値を「0」にする。また、16W境界カウンタ36は、クロックイネーブル信号CLKENが「H」レベルの場合に入力される内部クロックCLKの立ち上がりに同期して、計数値を「1」デクリメントして計数値を「4」にする。
出力ラッチ12は、ページセレクタ11から出力されている「D15」のページデータPDを、内部クロックCLKの立ち上がりに同期して保持し、セレクタ13およびデータ出力制御部14を介して、アウトプットデータOUTとして出力する。
バースト制御部3は、データカウンタ35の計数が「1」である場合に入力される内部クロックCLKの立ち上がりに同期して、時刻t1002において立ち上げた16W境界信号を立ち下げる。
At time t 1008 , the data counter 35 decrements the count value by “1” in synchronization with the rising edge of the internal clock CLK input when the clock enable signal CLKEN is at “H” level, and sets the count value to “0”. To. Further, the
The
The
時刻t1009において、ウェイト信号生成部44は、データカウンタ35の計数値が「0」で16ワード境界カウンタ36の計数値が「2」以上の「4」であるので、つまり、有効データの全てを出力してもメモリアクセスが完了していないので、クロックイネーブル信号CLKENが「H」レベルの場合に入力される内部クロックCLKの立ち上がりに同期して、ウェイト信号WAITを立ち上げる(「L」レベルから「H」レベルにする)。
16W境界カウンタ36は、クロックイネーブル信号CLKENが「H」レベルの場合に入力される内部クロックCLKの立ち上がりに同期して、計数値を「1」デクリメントして計数値を「3」にする。
Since the count value of the data counter 35 is “0” and the count value of the 16-
The
時刻t1010において、16W境界カウンタ36は、クロックイネーブル信号CLKENが「H」レベルで場合に入力される内部クロックCLKの立ち上がりに同期して、計数値を「1」デクリメントして計数値を「2」にする。ページコントロール信号生成部43は、16W境界カウンタ36の計数値が「2」になったので動作を開始する(計数を行う状態)。
At time t 1010,
時刻t1011において、ページラッチ信号生成部42は、データカウンタ35の計数値が「0」で16W境界カウンタ36の計数値が「2」であって、クロックイネーブル信号CLKENが「H」レベルの場合に入力される内部クロックCLKの立ち上がりに同期して、ページラッチ信号PLを立ち上げる(「L」レベルから「H」レベルとする)。
16W境界カウンタ36は、クロックイネーブル信号CLKENが「H」レベルの場合に入力される内部クロックCLKの立ち上がりに同期して、計数値を「1」デクリメントして計数値を「1」にする。
ページコントロール信号生成部43は、クロックイネーブル信号CLKENが「H」レベルの場合に入力される内部クロックCLKの立ち上がりに同期して、ページコントロール信号PCを「P7」から「P0」にインクリメントし、「P0」をページコントロール信号PCとして出力する。これにより、ページセレクタ11は、ページラッチ10が出力しているページラッチデータPLDの中から、ページコントロール信号PC(「P0」)に対応する「D16」を選択して、「D16」をページデータPDとして出力する。
At time t 1011 , the page latch
The
The page control
時刻t1012において、有効データの出力とメモリアクセスの双方が完了することになるので、アドレスカウンタ33は、データカウンタ35の計数値が「0」で16W境界カウンタ36の計数値が「1」であって、クロックイネーブル信号CLKENが「H」レベルの場合に入力される内部クロックCLKの立ち上がりに同期して、計数値を「1」インクリメントし、次にアクセスするバーストアドレスBADとして出力する。
このとき、アドレス変化検出部41は、アドレスカウンタ33の出力するバーストアドレスBADが変化したことを検出して、ATD回路8に対してワンショットパルスの検出信号DTを出力する。この検出信号DTがATD回路8により所定時間(メモリのアクセス時間)遅延させられ、時刻t1162においてセンスアンプコントロール信号SCとしてセンスデータラッチ9に入力され、センスデータラッチ9は、センスアンプ7から出力されるメモリデータMDをラッチして、「D24」〜「D31」をセンスラッチデータSLDとして出力する。
At time t 1012 , both the output of valid data and memory access are completed, so that the
At this time, the address
時刻t1012において、データカウンタ書込部39は、有効データの出力に必要なクロックサイクルを計数するために、データカウンタ35の計数値が「0」で16W境界カウンタ36は計数値が「1」であって、クロックイネーブル信号CLKENが「H」レベルの場合に入力される内部クロックCLKの立ち上がりに同期して、有効データレジスタ32に記憶されているデータ計数初期値「7」を読み込み、読み込んだデータ計数初期値「7」をデータカウンタ35に対して計数の初期値として書き込む。
ページラッチ信号生成部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として出力する。
At time t 1012 , the data
Since the count value of the
The
ページコントロール信号生成部43は、クロックイネーブル信号CLKENが「H」レベルの場合に入力される内部クロックCLKに同期して、ページコントロール信号PCを「P0」から「P1」にインクリメントし、「P1」をページコントロール信号PCとして出力する。これにより、ページセレクタ11は、ページラッチ10が出力しているページラッチデータPLDの中から、ページコントロール信号PC(「P1」)に対応する「D17」を選択して、「D17」をページデータPDとして出力する。
ウェイト信号生成部44は、データカウンタ35の計数値が「0」で16W境界カウンタ36の計数値が「1」であって、クロックイネーブル信号CLKENが「H」レベルの場合に入力される内部クロックCLKの立ち上がりに同期して、時刻t1009において立ち上げたウェイト信号WAITを立ち下げる(「H」レベルから「L」レベルとする)。
The page
The
時刻t1013〜t1019にかけて、データカウンタ35は、クロックイネーブル信号CLKENが「H」レベルの場合に入力される内部クロックCLKの立ち上がりに同期して、計数値を「1」デクリメントし(「7」→「6」→「5」→「4」→「3」→「2」→「1」→「0」)、計数値が「0」になる。
出力ラッチ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」)。
From time t 1013 to t 1019 , the data counter 35 decrements the count value by “1” (“7”) in synchronization with the rising edge of the internal clock CLK input when the clock enable signal CLKEN is at “H” level. → “6” → “5” → “4” → “3” → “2” → “1” → “0”), the count value becomes “0”.
The
The page
時刻t1019において、ページラッチ信号生成部42は、16W境界カウンタ36の計数値が「0」でデータカウンタ35の計数値が「1」であって、クロックイネーブル信号CLKENが「H」レベルの場合に入力される内部クロックCLKの立ち上がりに同期して、ページラッチ信号PLを立ち上げる(「L」レベルから「H」レベルとする)。
At time t 1019 , the page latch
時刻t1020において、アドレスカウンタ33は、データカウンタ35の計数値が「0」で16W境界カウンタ36の計数値が「0」であって、クロックイネーブル信号CLKENが「H」レベルの場合に入力される内部クロックCLKの立ち上がりに同期して、計数値を「1」インクリメントし、次にアクセスするバーストアドレスBADとして出力する。このとき、アドレス変化検出部41は、アドレスカウンタ33の出力するバーストアドレスBADが変化したことを検出して、ATD回路8に対してワンショットパルスの検出信号DTを出力する。
At time t 1020 , the
時刻t1020において、データカウンタ書込部39は、有効データの出力に必要なクロックサイクルを計数するために、データカウンタ35の計数値が「0」で16W境界カウンタ36の計数値が「0」であって、クロックイネーブル信号CLKENが「H」レベルの場合に入力される内部クロックCLKの立ち上がりに同期して、有効データレジスタ32に記憶されているデータ計数初期値「7」を読み込み、読み込んだデータ計数初期値「7」をデータカウンタ35に対して計数の初期値として書き込む。
ページラッチ信号生成部42は、データカウンタ35の計数値がデクリメント処理されて「0」になっているので、クロックイネーブル信号CLKENが「H」レベルの場合に入力される内部クロックCLKの立ち上がりに同期して、時刻t1019において立ち上げたページラッチ信号PLを立ち下げる(「H」レベルから「L」レベルとする)。これにより、ページラッチ10は、センスデータラッチ9から出力されているセンスラッチデータSLDをラッチし、「D24」〜「D31」をページラッチデータPLDとして出力する。
出力ラッチ12は、ページセレクタ11から出力されているページデータPD(「D24」)を、内部クロックCLKの立ち上がりに同期して保持し、セレクタ13およびデータ出力制御部14を介して、アウトプットデータOUTとして出力する。
At time t 1020 , the data
Since the count value of the data counter 35 is decremented to “0”, the page latch
The
ページコントロール信号生成部43は、クロックイネーブル信号CLKENが「H」レベルの場合に入力される内部クロックCLKの立ち上がりに同期して、ページコントロール信号PCを「P0」から「P1」にインクリメントし、「P1」をページコントロール信号PCとして出力する。これにより、ページセレクタ11は、ページラッチ10が出力しているページラッチデータPLDの中から、ページコントロール信号PC(「P1」)に対応する「D25」を選択して、「D25」をページデータPDとして出力する。
以降、順次処理が繰り返し行われる。
The page control
Thereafter, the sequential processing is repeatedly performed.
図8が、ファーストレイテンシが6サイクル、開始アドレスの下位4ビットが「6」の場合における、従来例の各回路の動作のタイミングチャートを示している。
時刻t2001〜t2006、およびt2062において、図7において説明した時刻t1001〜t1006、およびt1062と同様の動作が行われる。
FIG. 8 shows a timing chart of the operation of each circuit of the conventional example when the first latency is 6 cycles and the lower 4 bits of the start address are “6”.
At times t 2001 to t 2006 and t 2062 , operations similar to those at times t 1001 to t 1006 and t 1062 described in FIG. 7 are performed.
時刻t2007において、ファーストレイテンシカウンタ34は、クロックイネーブル信号CLKENが「H」レベルの場合に入力される内部クロックCLKの立ち上がりに同期して、計数値を「1」デクリメントして「0」にする。
アドレスカウンタ33は、最初のメモリアクセスが完了しているので、クロックイネーブル信号CLKENが「H」レベルの場合に入力される内部クロックCLKの立ち上がりに同期して、計数値を「1」インクリメントし、次にアクセスするバーストアドレスBADとして出力する。
このとき、アドレス変化検出部41は、アドレスカウンタ33の出力するバーストアドレスBADが変化したことを検出して、ATD回路8に対してワンショットパルスの検出信号DTを出力する。この検出信号DTがATD回路8により所定時間(メモリのアクセス時間)遅延させられ、時刻t2112においてセンスアンプコントロール信号SCとしてセンスデータラッチ9に入力され、センスデータラッチ9は、センスアンプ7から出力されるメモリデータMDをラッチして、「D14」〜「D15」をセンスラッチデータSLDとして出力する。
At time t 2007 , the
Since the first memory access is completed, the
At this time, the address
時刻t2007において、データカウンタ書込部39は、有効データの出力に必要なクロックサイクルを計数するために、ファーストレイテンシカウンタ34の計数値が「1」であって、クロックイネーブル信号CLKENが「H」レベルの場合に入力される内部クロックCLKの立ち上がりに同期して、有効データレジスタ32に記憶されているデータ計数初期値「7」を読み込み、読み込んだデータ計数初期値「7」をデータカウンタ35に対して計数の初期値として書き込む。
境界カウンタ書込部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として出力する。
At time t 2007 , the data
The boundary
The page latch
The
ページコントロール信号生成部43は、クロックイネーブル信号CLKENが「H」レベルの場合に入力される内部クロックCLKの立ち上がりに同期して、ページコントロール信号PCを「P6」から「P7」にインクリメントし、「P7」をページコントロール信号PCとして出力する。これにより、ページセレクタ11は、ページラッチ10が出力しているページラッチデータPLDの中から、ページコントロール信号PC(「P7」)に対応する「D7」を選択して、「D7」をページデータPDとして出力する。
ウェイト信号生成部44は、ファーストレイテンシカウンタ34の計数値が「1」であって、クロックイネーブル信号CLKENが「H」レベルの場合に入力される内部クロックCLKの立ち上がりに同期して、時刻t2002において立ち上げたウェイト信号WAITを立ち下げる(「H」レベルから「L」レベルとする)。
The page control
The wait
時刻t2008〜t2014にかけて、データカウンタ35は、クロックイネーブル信号CLKENが「H」レベルの場合に入力される内部クロックCLKの立ち上がりに同期して、計数値を「1」デクリメントし(「7」→「6」→「5」→「4」→「3」→「2」→「1」→「0」)、計数値が「0」になる。
時刻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」)。
From time t 2008 to t 2014 , the data counter 35 decrements the count value by “1” (“7”) in synchronization with the rising edge of the internal clock CLK input when the clock enable signal CLKEN is at “H” level. → “6” → “5” → “4” → “3” → “2” → “1” → “0”), the count value becomes “0”.
From time t 2008 to t 2012 , the
From time t 2008 to t 2014 , the
The page control
時刻t2014において、ページラッチ信号生成部42は、16W境界カウンタ36の計数値が「0」でデータカウンタ35の計数値が「1」であって、クロックイネーブル信号CLKENが「H」レベルの場合に入力される内部クロックCLKの立ち上がりに同期して、ページラッチ信号PLを立ち上げる(「L」レベルから「H」レベルとする)。
At time t 2014 , the page latch
時刻t2015において、有効データの出力とメモリアクセスの双方が完了することになるので、アドレスカウンタ33は、データカウンタ35の計数値が「0」で16W境界カウンタ36の計数値が「0」であって、クロックイネーブル信号CLKENが「H」レベルの場合に入力される内部クロックCLKの立ち上がりに同期して、計数値を「1」インクリメントし、次にアクセスするバーストアドレスBADとして出力する。
このとき、アドレス変化検出部41は、アドレスカウンタ33の出力するバーストアドレスBADが変化したことを検出して、ATD回路8に対してワンショットパルスの検出信号DTを出力する。この検出信号DTがATD回路8により所定時間(メモリのアクセス時間)遅延させられ、時刻t2192において、センスアンプコントロール信号SCとしてセンスデータラッチ9に入力され、センスデータラッチ9は、センスアンプ7から出力されるメモリデータMDをラッチして、「D16」〜「D23」をセンスラッチデータSLDとして出力する。
Since both valid data output and memory access are completed at time t 2015 , the
At this time, the address
時刻t2015において、データカウンタ書込部39は、有効データの出力に必要なクロックサイクルを計数するために、データカウンタ35の計数値が「0」で16W境界カウンタ36の計数値が「0」であって、クロックイネーブル信号CLKENが「H」レベルの場合に入力される内部クロックCLKの立ち上がりに同期して、有効データレジスタ32に記憶されているデータ計数初期値「1」を読み込み、読み込んだデータ計数初期値「1」をデータカウンタ35に対して計数の初期値として書き込む。
境界カウンタ書込部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として出力する。
At time t 2015 , the data
The boundary
Since the page latch
The
ページコントロール信号生成部43は、クロックイネーブル信号CLKENが「H」レベルの場合に入力される内部クロックCLKの立ち上がりに同期して、ページコントロール信号PCを「P6」から「P7」にインクリメントし、「P7」をページコントロール信号PCとして出力する。ページコントロール信号生成部43は、データカウンタ35の計数値が「1」で16W境界カウンタ36の計数値が「3」以上の「5」であるので動作を停止する(計数を行わない状態)。
これにより、ページセレクタ11は、ページラッチ10が出力しているページラッチデータPLDの中から、ページコントロール信号PC(「P7」)に対応する「D15」を選択して、「D15」をページデータPDとして出力する。
The page control
As a result, the
時刻t2016において、データカウンタ35は、クロックイネーブル信号CLKENが「H」レベルの場合に入力される内部クロックCLKの立ち上がりに同期して、計数値を「1」デクリメントして計数値を「0」にする。また、16W境界カウンタ36は、クロックイネーブル信号CLKENが「H」レベルの場合に入力される内部クロックCLKの立ち上がりに同期して、計数値を「1」デクリメントして計数値を「4」にする。
出力ラッチ12は、ページセレクタ11から出力されているページデータPD(「D15」)を、内部クロックCLKの立ち上がりに同期して保持し、セレクタ13およびデータ出力制御部14を介して、アウトプットデータOUTとして出力する。
バースト制御部3は、データカウンタ35の計数が「1」である場合に入力される内部クロックCLKの立ち上がりに同期して、時刻t2002において立ち上げた16W境界信号を立ち下げる。
At time t 2016 , the data counter 35 decrements the count value by “1” in synchronization with the rising edge of the internal clock CLK input when the clock enable signal CLKEN is at “H” level, and sets the count value to “0”. To. Further, the
The
The
時刻t2017において、ウェイト信号生成部44は、データカウンタ35の計数値が「0」で16ワード境界カウンタ33の計数値が「2」以上の「4」であるので、つまり、有効データの全てを出力してもメモリアクセスが完了しないので、クロックイネーブル信号CLKENが「H」レベルの場合に入力される内部クロックCLKの立ち上がりに同期して、ウェイト信号WAITを立ち上げる(「L」レベルから「H」レベルにする)。
16W境界カウンタ36は、クロックイネーブル信号CLKENが「H」レベルの場合に入力される内部クロックCLKの立ち上がりに同期して、計数値を「1」デクリメントして計数値を「3」にする。
Since the count value of the data counter 35 is “0” and the count value of the 16-
The
時刻t2018において、16W境界カウンタ36は、クロックイネーブル信号CLKENが「H」レベルの場合に入力される内部クロックCLKの立ち上がりに同期して、計数値を「1」デクリメントして計数値を「2」にする。ページコントロール信号生成部43は、16W境界カウンタ36の計数値が「2」になったので動作を開始する(計数する状態)。
At time t 2018 , the
時刻t2019において、ページラッチ信号生成部42は、データカウンタ35の計数値が「0」で16W境界カウンタ36の計数値が「2」であって、クロックイネーブル信号CLKENが「H」レベルの場合に入力される内部クロックCLKの立ち上がりに同期して、ページラッチ信号PLを立ち上げる(「L」レベルから「H」レベルとする)。
16W境界カウンタ36は、クロックイネーブル信号CLKENが「H」レベルの場合に入力される内部クロックCLKの立ち上がりに同期して、計数値を「1」デクリメントして計数値を「1」にする。
ページコントロール信号生成部43は、クロックイネーブル信号CLKENが「H」レベルの場合に入力される内部クロックCLKに同期して、ページコントロール信号PCを「P7」から「P0」にインクリメントし、「P0」をページコントロール信号PCとして出力する。これにより、ページセレクタ11は、ページラッチ10が出力しているページラッチデータPLDの中から、ページコントロール信号PC(「P0」)に対応する「D16」を選択して、「D16」をページデータPDとして出力する。
At time t 2019 , the page latch
The
The page control
時刻t2020において、有効データの出力とメモリアクセスの双方が完了することになるので、アドレスカウンタ33は、
データカウンタ35の計数値が「0」で16W境界カウンタ36の計数値が「1」であって、クロックイネーブル信号CLKENが「H」レベルの場合に入力される内部クロックCLKの立ち上がりに同期して、計数値を「1」インクリメントし、次にアクセスするバーストアドレスBADとして出力する。このとき、アドレス変化検出部41は、アドレスカウンタ33の出力するバーストアドレスBADが変化したことを検出して、ATD回路8に対してワンショットパルスの検出信号DTを出力する。
At time t2020 , both the output of valid data and the memory access are completed, so the
When the count value of the data counter 35 is “0”, the count value of the
時刻t2020において、データカウンタ書込部39は、有効データの出力に必要なクロックサイクルを計数するために、データカウンタ35の計数値が「0」で16W境界カウンタ36の計数値が「1」であって、クロックイネーブル信号CLKENが「H」レベルの場合に入力される内部クロックCLKの立ち上がりに同期して、有効データレジスタ32に記憶されているデータ計数初期値「7」を読み込み、読み込んだデータ計数初期値「7」をデータカウンタ35に対して計数の初期値として書き込む。
ページラッチ信号生成部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として出力する。
At time t2020 , the data
Since the count value of the
The
さらに、ページコントロール信号生成部43は、クロックイネーブル信号CLKENが「H」レベルの場合に入力される内部クロックCLKに同期して、ページコントロール信号PCを「P0」から「P1」にインクリメントし、「P1」をページコントロール信号PCとして出力する。これにより、ページセレクタ11は、ページラッチ10が出力しているページラッチデータPLDの中から、ページコントロール信号PC(「P1」)に対応する「D17」を選択して、「D17」をページデータPDとして出力する。
ウェイト信号生成部44は、データカウンタ35の計数値が「0」で16W境界カウンタ36の計数値が「1」であって、クロックイネーブル信号CLKENが「H」レベルの場合に入力される内部クロックCLKの立ち上がりに同期して、時刻t2017において立ち上げたウェイト信号WAITを立ち下げる(「H」レベルから「L」レベルとする)。
それ以降、図7における時刻t1013以降と同様の動作が行われる。
Further, the page
The wait
Thereafter, the same operation as that after time t 1013 in FIG. 7 is performed.
図9が、ファーストレイテンシが6サイクル、開始アドレスの下位4ビットが「8」の場合における、従来例の各回路の動作のタイミングチャートを示している。
時刻t3001〜t3006、およびt3062において、図7において説明した時刻t1001〜t1006、およびt1062と同様の動作が行われる。
FIG. 9 shows a timing chart of the operation of each circuit of the conventional example when the first latency is 6 cycles and the lower 4 bits of the start address are “8”.
At times t 3001 to t 3006 and t 3062 , operations similar to those at times t 1001 to t 1006 and t 1062 described in FIG. 7 are performed.
時刻t3007において、ファーストレイテンシカウンタ34は、クロックイネーブル信号CLKENが「H」レベルの場合に入力される内部クロックCLKに同期して、計数値を「1」デクリメントして「0」にする。
アドレスカウンタ33は、最初のメモリアクセスが完了しているので、クロックイネーブル信号CLKENが「H」レベルの場合に入力される内部クロックCLKに同期して、計数値を「1」インクリメントし、次にアクセスするバーストアドレスBADとして出力する。
このとき、アドレス変化検出部41は、アドレスカウンタ33の出力するバーストアドレスBADが変化したことを検出して、ATD回路8に対してワンショットパルスの検出信号DTを出力する。この検出信号DTがATD回路8により所定時間(メモリのアクセス時間)遅延させられ、時刻t3112において、センスアンプコントロール信号SCとしてセンスデータラッチ9に入力され、センスデータラッチ9は、センスアンプ7から出力されるメモリデータMDをラッチして、「D16」〜「D23」をセンスラッチデータSLDとして出力する。
At time t 3007 , the
Since the first memory access is completed, the
At this time, the address
時刻t3007において、データカウンタ書込部39は、有効データの出力に必要なクロックサイクルを計数するために、ファーストレイテンシカウンタ34の計数値が「1」であって、クロックイネーブル信号CLKENが「H」レベルの場合に入力される内部クロックCLKの立ち上がりに同期して、有効データレジスタ32に記憶されているデータ計数初期値「7」を読み込み、読み込んだデータ計数初期値「7」をデータカウンタ35に対して計数の初期値として書き込む。
境界カウンタ書込部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として出力する。
At time t 3007 , the data
The boundary
The page latch
The
ページコントロール信号生成部43は、クロックイネーブル信号CLKENが「H」レベルの場合に入力される内部クロックCLKに同期して、ページコントロール信号PCを「P0」から「P1」にインクリメントし、「P1」をページコントロール信号PCとして出力する。これにより、ページセレクタ11は、ページラッチ10が出力しているページラッチデータPLDの中から、ページコントロール信号PC(「P1」)に対応する「D9」を選択して、「D9」をページデータPDとして出力する。
ウェイト信号生成部44は、ファーストレイテンシカウンタ34の計数値が「1」であって、クロックイネーブル信号CLKENが「H」レベルの場合に入力される内部クロックCLKの立ち上がりに同期して、時刻t3002において立ち上げたウェイト信号WAITを立ち下げる(「H」レベルから「L」レベルとする)。
The page
The wait
時刻t3008〜t3014にかけて、データカウンタ35は、クロックイネーブル信号CLKENが「H」レベルの場合に入力される内部クロックCLKの立ち上がりに同期して、計数値を「1」デクリメントし(「7」→「6」→「5」→「4」→「3」→「2」→「1」→「0」)、計数値が「0」になる。
時刻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」)。
From time t 3008 to t 3014 , the data counter 35 decrements the count value by “1” (“7”) in synchronization with the rising edge of the internal clock CLK input when the clock enable signal CLKEN is at “H” level. → “6” → “5” → “4” → “3” → “2” → “1” → “0”), the count value becomes “0”.
At times t 3008 to t 3012 , the
From time t 3008 to t 3014 , the
The page
時刻t3014において、ページラッチ信号生成部42は、データカウンタ35の計数値が「1」で16W境界カウンタ36の計数値が「0」であって、クロックイネーブル信号CLKENが「H」レベルの場合に入力される内部クロックCLKの立ち上がりに同期して、ページラッチ信号PLを立ち上げる(「L」レベルから「H」レベルとする)。
バースト制御部3は、データカウンタ35の計数が「1」である場合に入力される内部クロックCLKの立ち上がりに同期して、時刻t3002において立ち上げた16W境界信号を立ち下げる。
At time t 3014 , the page latch
The
時刻t3015において、有効データの出力とメモリアクセスの双方が完了することになるので、アドレスカウンタ33は、データカウンタ35の計数値が「0」で16W境界カウンタ36の計数値が「0」であって、クロックイネーブル信号CLKENが「H」レベルの場合に入力される内部クロックCLKの立ち上がりに同期して、計数値を「1」インクリメントし、次にアクセスするバーストアドレスBADとして出力する。
このとき、アドレス変化検出部41は、アドレスカウンタ33の出力するバーストアドレスBADが変化したことを検出して、ATD回路8に対してワンショットパルスの検出信号DTを出力する。この検出信号DTがATD回路8により所定時間(メモリのアクセス時間)遅延させられ、時刻t3192においてセンスアンプコントロール信号SCとしてセンスデータラッチ9に入力され、センスデータラッチ9は、センスアンプ7から出力されるメモリデータMDをラッチして、「D24」〜「D31」をセンスラッチデータSLDとして出力する。
Since both valid data output and memory access are completed at time t 3015 , the
At this time, the address
時刻t3015において、データカウンタ書込部39は、有効データの出力に必要なクロックサイクルを計数するために、16W境界カウンタ36の計数値が「0」でデータカウンタ35の計数値が「0」であって、クロックイネーブル信号CLKENが「H」レベルの場合に入力される内部クロックCLKの立ち上がりに同期して、有効データレジスタ32に記憶されているデータ計数初期値「7」を読み込み、読み込んだデータ計数初期値「7」をデータカウンタ35に対して計数の初期値として書き込む。
ページラッチ信号生成部42は、データカウンタ35の計数値のデクリメント処理が行われて「0」となって、クロックイネーブル信号CLKENが「H」レベルの場合に入力される内部クロックCLKの立ち上がりに同期して、時刻t3014において立ち上げたページラッチ信号PLを立ち下げる(「H」レベルから「L」レベルとする)。これにより、ページラッチ10は、センスデータラッチ9から出力されているセンスラッチデータSLDをラッチし、「D16」〜「D23」をページラッチデータPLDとして出力する。
出力ラッチ12は、ページセレクタ11から出力されている「D16」のページデータPDを、内部クロックCLKの立ち上がりに同期して保持し、セレクタ13およびデータ出力制御部14を介して、アウトプットデータOUTとして出力する。
At time t 3015 , the data
The page
The
ページコントロール信号生成部43は、クロックイネーブル信号CLKENが「H」レベルの場合に入力される内部クロック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以降と同様の動作が行われる。
The page
However, at time t 3015 , the count value of the data counter 35 is “0”, but the count value of the 16
After time t 3016 , the same operation as that after time t 1013 in FIG. 7 is performed.
上述した従来のフラッシュメモリにおけるサスペンドが発生しない場合の各組合わせ(下位アドレスとファーストレイテンシとの組合わせ)における最初の16ワード境界において発生する境界前ウェイトサイクルのサイクル数を図10に示す。図10は従来のフラッシュメモリにおける16ワード境界前のウェイトサイクル数を示す図である。
図10に示すように、開始アドレスの下位4ビットの夫々に対して、有効データ数と最初の16ワード境界におけるウェイトサイクル数(図においては16ワード境界ウェイトサイクル数と記載)を示している。
有効データ数に関して、「1st」は最初の16ワード境界前の1回目のメモリアクセスでメモリセルアレイから読み出される有効データの数であり、「2nd」は最初の16ワード境界前の2回目のメモリアクセスでメモリセルアレイから読み出される有効データの数である。
FIG. 10 shows the number of wait cycles before the boundary that occur at the first 16 word boundary in each combination (combination of the lower address and the first latency) when the above-described conventional flash memory does not suspend. FIG. 10 is a diagram showing the number of wait cycles before a 16-word boundary in a conventional flash memory.
As shown in FIG. 10, for each of the lower 4 bits of the start address, the number of valid data and the number of wait cycles at the first 16 word boundary (shown as 16 word boundary wait cycle numbers in the figure) are shown.
Regarding the number of valid data, “1st” is the number of valid data read from the memory cell array in the first memory access before the first 16 word boundary, and “2nd” is the second memory access before the first 16 word boundary. This is the number of valid data read from the memory cell array.
また、「境界前」は、開始アドレスの下位4ビットが「0」から「7」の場合には「2nd」のメモリアクセス(最初の16境界前の2回目のメモリアクセス)でメモリセルアレイから読み出される有効データの数であり、下位4ビットが「8」から「F(15)」の場合には「1st」のメモリアクセス(最初の16境界前の1回目のメモリアクセス)でメモリセルアレイから読み出される有効データの数ということになる。
waitに続く数字はファーストレイテンシのクロックサイクル数であり、例えば「wait8」はファーストレイテンシのクロックサイクル数が8であることを示している。
“Before boundary” is read from the memory cell array by “2nd” memory access (second memory access before the first 16 boundaries) when the lower 4 bits of the start address are “0” to “7”. When the lower 4 bits are “8” to “F (15)”, the data is read from the memory cell array by “1st” memory access (first memory access before the first 16 boundaries). This is the number of valid data that is generated.
The number following “wait” is the number of clock cycles of the first latency. For example, “wait 8” indicates that the number of clock cycles of the first latency is 8.
図10に示されると通り、ファーストレイテンシが6サイクル、開始アドレスの下位4ビットが「E(14)」の場合(図7)、16ワード境界ウェイトサイクル数は「3」である。また、ファーストレイテンシが6サイクル、開始アドレスの下位4ビットが「6」の場合(図8)、16ワード境界ウェイトサイクル数は「3」である。さらに、ファーストレイテンシが6サイクル、開始アドレスの下位4ビットが「8」の場合(図9)、16ワード境界ウェイトサイクル数は「0」である。
上記において、基本的動作を説明した従来のフラッシュメモリにおいてサスペンドが発生した場合の動作について図11を参照しつつ説明する。図11は、ファーストレイテンシが6サイクル、開始アドレスの下位4ビットが「C(12)」の場合における、従来例の各回路の動作のタイミングチャートを示している。ただし、サスペンドが発生していない期間は上述した動作と同様であることから、ここでは、サスペンド期間の動作について説明する。
時刻t4221において、アウトプットイネーブル信号OEBの立ち上がると(「L」レベルから「H」レベルに遷移する)と(サスペンドの発生)、これに同期して、入力バッファ1はクロックイネーブル信号CLKENを立ち下げ(「H」レベルから「L」レベルに遷移させる)、これにより、クロックイネーブル信号CLKENが入力される各回路部の動作が停止する。
また、ウェイト信号生成部44は、クロックイネーブル信号CLKENの立ち下がりに同期して、ウェイト信号WAITを立ち上げる。
In the above, the operation in the case where the suspend occurs in the conventional flash memory which has described the basic operation will be described with reference to FIG. FIG. 11 shows a timing chart of the operation of each circuit of the conventional example when the first latency is 6 cycles and the lower 4 bits of the start address are “C (12)”. However, since the period in which no suspend occurs is similar to the above-described operation, the operation in the suspend period will be described here.
At time t 4221 , when the output enable signal OEB rises (transition from “L” level to “H” level) (occurrence of suspend), the
The wait
時刻t4009、t4010において、データカウンタ35は、「L」レベルのクロックイネーブル信号CLKENが入力されているので、入力される内部クロックの立ち上がりに同期した計数値を「1」デクリメントする処理を行わず、計数値は「2」のままである。
また、16W境界カウンタ36は、「L」レベルのクロックイネーブル信号CLKENが入力されているので、入力される内部クロックの立ち上がりに同期した計数値を「1」デクリメントする処理を行わず、計数値は「4」のままである。
また、ページコントロール信号生成部43は、「L」レベルのクロックイネーブル信号CLKENが入力されているので、入力される内部クロックの立ち上がりに同期したページコントロール信号を「1」インクリメントする動作を行わず、ページコントロール信号PCは「P6」のままである。
At time t 4009 and t 4010 , since the “L” level clock enable signal CLKEN is input, the data counter 35 performs a process of decrementing the count value synchronized with the rising of the input internal clock by “1”. The count value remains “2”.
Further, since the
In addition, since the “L” level clock enable signal CLKEN is input, the page control
時刻t4222において、アウトプットイネーブル信号OEBが立ち下がる(「H」レベルから「L」レベルに遷移する)と、時刻t4010において、入力バッファ1は次の内部クロックCLKの立ち上がりに同期して、クロックイネーブル信号CLKENを立ち上げ(「L」レベルから「H」レベルに遷移させる)、これにより、クロックイネーブル信号CLKENが入力される各回路部の動作が開始する。
また、ウェイト信号生成部44は、クロックイネーブル信号CLKENの立ち上がりに同期して、ウェイト信号WAITを立ち下げる。
時刻t4011において、データカウンタ35は、「H」レベルのクロックイネーブル信号CLKENが入力されるので、入力される内部クロックの立ち上がりに同期して計数値を「1」デクリメントし、計数値が「1」になる。
また、16W境界カウンタ36は、「H」レベルのクロックイネーブル信号CLKENが入力されるので、入力される内部クロックの立ち上がりに同期して計数値を「1」デクリメントし、計数値が「3」になる。
また、ページコントロール信号生成部43は、「H」レベルのクロックイネーブル信号CLKENが入力されるので、入力される内部クロックの立ち上がりに同期してページコントロール信号を「1」インクリメントし、ページコントロール信号PCは「P7」を出力する。
When the output enable signal OEB falls at time t 4222 (transition from “H” level to “L” level), at time t 4010 , the
Further, the wait
At time t 4011 , the data counter 35 receives the “H” level clock enable signal CLKEN, so that the count value is decremented by “1” in synchronization with the rising edge of the input internal clock, and the count value is “1”. "become.
The
Further, since the “H” level clock enable signal CLKEN is input, the page control
従来のフラッシュメモリにおいては、上述したように、サスペンドが発生してアウトプットイネーブル信号OEBが「L」レベルから「H」レベルに遷移すると、そのアウトプットイネーブル信号OEBが「L」レベルから「H」レベルに遷移するタイミングに同期させて(内部クロックCLKとは非同期)、クロックイネーブル信号CLKENを「H」レベルから「L」レベルに遷移させていた。
クロックイネーブルCLKENの立ち下がり(「H」レベルから「L」レベルへの遷移)が内部クロックCLKとは非同期であることから、例えば、サスペンドの発生タイミング(アウトプットイネーブル信号OEBが「L」レベルから「H」レベルへの遷移)が内部クロックCLKの立ち上がりの直前に起った場合、各回路部へのディレイのために、クロックイネーブル信号CLKENが「L」レベルになった直後の内部クロックCLKの立ち上がりエッジが無効であるにもかかわらず有効になって各回路部の動作が行われしまう(誤動作)。
そこで、本発明は、サスペンド発生直後の誤動作を防止することが可能な半導体メモリを提供することを目的とする。
In the conventional flash memory, as described above, when the suspend occurs and the output enable signal OEB changes from the “L” level to the “H” level, the output enable signal OEB changes from the “L” level to the “H” level. The clock enable signal CLKEN is shifted from the “H” level to the “L” level in synchronization with the timing of transition to the “level” (asynchronous with the internal clock CLK).
Since the fall of the clock enable CLKEN (transition from the “H” level to the “L” level) is asynchronous with the internal clock CLK, for example, the suspend generation timing (the output enable signal OEB is changed from the “L” level). When the transition to the “H” level occurs immediately before the rising edge of the internal clock CLK, the internal clock CLK immediately after the clock enable signal CLKEN becomes “L” level is delayed due to a delay to each circuit unit. Even though the rising edge is invalid, it becomes valid and the operation of each circuit unit is performed (malfunction).
Therefore, an object of the present invention is to provide a semiconductor memory capable of preventing a malfunction immediately after the occurrence of suspend.
本発明の半導体メモリは、外部から入力される先頭アドレスに基づき、マトリクス状に配置されたメモリ素子から読み出したメモリデータを外部クロックに同期させて連続して外部に出力するバースト読み出しの機能を有する半導体メモリであって、内部クロックに同期してクロックイネーブル信号をディセーブルにすることを特徴とする。
上記半導体メモリにおいて、アウトプットイネーブル信号が変化した後の最初の内部クロックに同期してクロックイネーブル信号をディセーブルにすることを特徴とする。
The semiconductor memory according to the present invention has a burst read function for continuously outputting memory data read from memory elements arranged in a matrix in synchronization with an external clock based on a leading address input from the outside. A semiconductor memory is characterized in that a clock enable signal is disabled in synchronization with an internal clock.
In the semiconductor memory, the clock enable signal is disabled in synchronization with the first internal clock after the output enable signal changes.
上記半導体メモリにおいて、前記メモリ素子をM×N(M、Nは整数)本の読み出し線毎に分割したブロックと、前記ブロック毎に読み出し線に接続されたメモリ素子のメモリデータを読み出すN個のセンスアンプと、前記N個のセンスアンプ各々に対して、M×N本の読み出し線における何れのN本を接続するかの切り替えを行う切替スイッチと、前記センスアンプにより、前記読み出し線から読み出されたメモリデータをラッチするセンスデータラッチと、複数のページラッチ部に分割され、各ページラッチ部単位でメモリデータの書込処理を行うページラッチと、前記ページラッチが出力するメモリデータを選択するページセレクタと、前記ページセレクタにより選択されたメモリデータを保持して出力する出力ラッチと、前記出力ラッチが出力するメモリデータを保持するバッファ回路と、を備えたことを特徴とする。
上記半導体メモリにおいて、入力されるクロックイネーブル信号がイネーブルであるときに前記メモリセル素子から読み出されるメモリデータを外部に出力するのに要する時間に対応したクロックサイクル数を計数するデータ計数手段と、メモリアクセスに必要なアクセス時間に対応したクロックサイクル数を計数するタイム計数手段と、をさらに有することを特徴とする。
In the semiconductor memory, the memory element is divided into M × N (M and N are integers) read lines, and N pieces of memory data are read from the memory elements connected to the read lines for each block. Read from the read line by the sense amplifier, a changeover switch for switching which N of the M × N read lines are connected to each of the N sense amplifiers, and the sense amplifier. A sense data latch for latching the read memory data, a page latch that is divided into a plurality of page latch units and performs a memory data write process in units of each page latch unit, and memory data output by the page latch is selected A page selector, an output latch that holds and outputs the memory data selected by the page selector, and the output latch And a buffer circuit for holding the memory data output by the H.
In the semiconductor memory, a data counting means for counting the number of clock cycles corresponding to the time required for outputting memory data read from the memory cell element to the outside when the input clock enable signal is enabled, and the memory It further has time counting means for counting the number of clock cycles corresponding to the access time required for access.
本発明によれば、内部クロックに同期してクロックイネーブル信号をディセーブルにする(例えば、「H」レベルから「L」レベルに遷移する)ので、サスペンドが発生しても従来のフラッシュメモリのように内部クロックの無効なエッジを有効なエッジとして動作すること(誤動作)を防止することができる。 According to the present invention, the clock enable signal is disabled in synchronization with the internal clock (for example, transition from “H” level to “L” level). Therefore, it is possible to prevent an invalid edge of the internal clock from operating as a valid edge (malfunction).
以下、本発明の実施の形態のフラッシュメモリについて図面を参照しつつ説明する。
図12は本実施の形態のフラッシュメモリの構成を示す図である。
図12に示すフラッシュメモリには、入力バッファ1Aがある。
入力バッファ1Aは、従来の入力バッファ1と異なり、図13に一例が示される通り、アウトプットイネーブル信号OEBの立ち上がった(時刻t11)後の最初の内部クロックCLKの立ち上がりに同期させて、クロックイネーブル信号CLKENを立ち下げる(時刻t11)。そして、入力バッファ1Aは、アウトプットイネーブル信号OEBの立ち下がった(時刻t13)後の最初の内部クロックCLKの立ち上がりに同期してクロックイネーブル信号CLKENを立ち上げる(時刻t14)。入力バッファ1Aは、このようにして生成したクロックイネーブル信号CLKENを出力する。なお、それ以外の機能は従来の入力バッファ1と実質的に同様であり、上記の従来例の説明が適用できるため、説明を省略する。
フラッシュメモリには、アドレスラッチ2、およびアドレス制御部4があり、上記の従来例の説明が適用できるため、説明を省略する。
Hereinafter, a flash memory according to an embodiment of the present invention will be described with reference to the drawings.
FIG. 12 is a diagram showing a configuration of the flash memory according to the present embodiment.
The flash memory shown in FIG. 12 has an input buffer 1A.
Unlike the
The flash memory includes an
フラッシュメモリには、バースト制御部3Aがある。バースト制御部3Aは、アドレスラッチ2から入力されるラッチアドレスLADを先頭アドレス(スタートアドレス、開始アドレス)とし、先頭アドレス(A0〜A22)の上位ビット(8ワード単位の読み出しを対象とする場合はA3〜A22)をバーストアドレスBADとして出力する。続いて、バーストアドレスBADを、後述する通り、所定の計数タイミングにて内部クロックCLKに同期して「1」インクリメントして新たなバーストアドレスBADとして出力する。また、バースト制御部3Aは、このバーストアドレスBADの変化を検出して後述する検出信号DTを出力する。
また、バースト制御部3Aは、後述する通り、内部クロックCLKに同期して、ページラッチ信号PL0〜PL3、ページコントロール信号PC、アウトプットコントロール信号OPC、およびウェイト信号WAITを生成して出力し、さらに、初期時に設定されたアクセスのモード(ランダム/非同期)に応じて同期/非同期セレクト信号SELを生成して出力する。
The flash memory has a burst control unit 3A. The burst control unit 3A uses the latch address LAD input from the
Further, as will be described later, the burst control unit 3A generates and outputs the page latch signals PL0 to PL3, the page control signal PC, the output control signal OPC, and the wait signal WAIT in synchronization with the internal clock CLK. The synchronous / asynchronous select signal SEL is generated and output in accordance with the access mode (random / asynchronous) set at the initial stage.
フラッシュメモリには、上述した従来のフラッシュメモリと同様のデコーダ5、メモリセルアレイ6、センスアンプ7、ATD回路8があり、上記の従来例の説明が適用できるため、説明を省略する。
メモリセルアレイ6は、従来例において記載した通り、複数のメモリセル(メモリ素子)がマトリクス状に配置されて形成されている。メモリセル(メモリ素子)はM×N(M、Nは整数であり、本実施の形態においては、Mは2、Nは8である)本の読み出し線毎にブロックに分割されており、このブロックをまたいで一度にメモリアクセスすることができない。
センスアンプ7は、従来例において記載した通り、8個のセンスアンプ7−0〜7−7からなる(図4参照)。そして、図4を参照して説明した通り、スイッチ機構100により、センスアンプ7−0〜7−7の各々に対しM×N本の読み出し線のいずれかのN本の読み出し線に接続するかの切り替えが行われる。
The flash memory includes a
As described in the prior art, the
As described in the conventional example, the
フラッシュメモリには、センスデータラッチ9Aがある。センスデータラッチ9Aは、内部クロックCLKと非同期のセンスアンプコントロール信号SCの「H」レベルの期間において、入力されるメモリデータをそのまま通過させて出力し、「L」レベルに遷移すると、そのセンスアンプコントロール信号SCの「L」レベルとなった時点において入力されていたメモリデータをラッチ(保持)して、センスラッチデータSLD(SLD01、SLD23、SLD45、SLD67)として出力する。なお、センスラッチデータSLD01〜SLD67は、夫々、2ページ分のワードデータであり、センスラッチデータSLD01は、センスアンプ7−0により読み出されたメモリデータからなるワードデータWD0、センスアンプ7−1により読み出されたメモリデータからなるワードデータWD1に対応し、センスラッチデータSLD23は、センスアンプ7−2により読み出されたメモリデータからなるワードデータWD2、センスアンプ7−3により読み出されたメモリデータからなるワードデータWD3に対応する。また、センスラッチデータSLD45は、センスアンプ7−4により読み出されたメモリデータからなるワードデータWD4、センスアンプ7−5により読み出されたメモリデータからなるワードデータWD5に対応し、センスラッチデータSLD67は、センスアンプ7−6により読み出されたメモリデータからなるワードデータWD6、センスアンプ7−7により読み出されたメモリデータからなるワードデータWD7に対応する。 The flash memory has a sense data latch 9A. The sense data latch 9A passes and outputs the input memory data as it is during the “H” level period of the sense amplifier control signal SC that is asynchronous with the internal clock CLK. The memory data input when the control signal SC becomes “L” level is latched (held) and output as sense latch data SLD (SLD01, SLD23, SLD45, SLD67). The sense latch data SLD01 to SLD67 are word data for two pages, respectively. The sense latch data SLD01 is word data WD0 composed of memory data read by the sense amplifier 7-0, and sense amplifier 7-1. The sense latch data SLD23 corresponds to the word data WD2 composed of memory data read by the sense amplifier 7-2, and is read by the sense amplifier 7-3. Corresponds to word data WD3 consisting of memory data. The sense latch data SLD45 corresponds to word data WD4 composed of memory data read by the sense amplifier 7-4 and word data WD5 composed of memory data read by the sense amplifier 7-5. The SLD 67 corresponds to word data WD6 composed of memory data read by the sense amplifier 7-6 and word data WD7 composed of memory data read by the sense amplifier 7-7.
フラッシュメモリには、ページラッチ10Aがある。ページラッチ10Aは、互いに独立して(個別に)イネーブル状態(書込処理)が可能な4つのページラッチ部10−0〜10−3に分割して構成されている。ページラッチ部10−0〜10−3は、後述するページラッチ信号PL0〜PL3により、個別に、センスラッチデータSLD01〜SLD67を保持する。例えば、ページラッチ信号PL3のみを「H」レベルにすることによってページラッチ部10−3のみイネーブル状態になり、ページラッチ部10−3は保持するデータの書き換えが行われ、ページラッチ部10−0〜10−2はそのまま同じデータを保持し続けることになる。 The flash memory has a page latch 10A. The page latch 10A is configured to be divided into four page latch units 10-0 to 10-3 that can be enabled (individually) independently (individually). The page latch units 10-0 to 10-3 individually hold the sense latch data SLD01 to SLD67 according to page latch signals PL0 to PL3 described later. For example, by setting only the page latch signal PL3 to the “H” level, only the page latch unit 10-3 is enabled, the page latch unit 10-3 rewrites the data held therein, and the page latch unit 10-0. 10-2 continue to hold the same data as it is.
フラッシュメモリには、ページセレクタ11Aがある。ページセレクタ11Aは、ページコントロール信号PCにより、ページラッチ10A(ページラッチ部10−0〜10−3)から出力されている複数のワードデータ(複数のメモリデータからなる)を順次選択して、ページデータPDとして、出力ラッチ12およびセレクタ13の夫々へ出力する。
例えば、ページセレクタ11Aは、ページコントロール信号PCが「P0」の場合、センスラッチデータSLD01の下位15ビット(ワードデータWD0に相当)をページデータPDとして出力する。また、ページセレクタ11Aは、ページコントロール信号PCが「P6」の場合、センスラッチデータSLD56の上位15ビット(ワードデータWD6に相当)をページデータPDとして出力する。
フラッシュメモリには、上述した従来のフラッシュメモリと同様の動作を行うセレクタ13、データ出力制御部14、およびレディ出力制御部15があり、上記の従来例の説明が適用できるため、説明を省略する。
The flash memory has a page selector 11A. The page selector 11A sequentially selects a plurality of word data (consisting of a plurality of memory data) output from the page latch 10A (page latch units 10-0 to 10-3) in accordance with the page control signal PC. The data PD is output to each of the
For example, when the page control signal PC is “P0”, the page selector 11A outputs the lower 15 bits (corresponding to the word data WD0) of the sense latch data SLD01 as the page data PD. Further, when the page control signal PC is “P6”, the page selector 11A outputs the upper 15 bits (corresponding to the word data WD6) of the sense latch data SLD56 as the page data PD.
The flash memory includes a
フラッシュメモリには、出力ラッチ12Aと出力バッファラッチ12Bとがある。
出力ラッチ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の各回路部などが動作して、有効データが失われることがなくなる。
The flash memory includes an output latch 12A and an output buffer latch 12B.
The output latch 12A operates in synchronization with the rising edge of the internal clock CLK. The output latch 12A latches the output of the page selector 11A at the rising edge of the internal clock until the clock enable signal CLKEN falls. The output latch 12A latches the output of the output buffer latch 12B at the rising edge of the internal clock first input after the clock enable signal CLKEN falls. The output latch 12A latches the output of the output buffer latch 12B at the rising edge of the internal clock that is input first after the clock enable signal CLKEN rises. Thereafter, the output latch 12A latches the output of the page selector 11A at the rising edge of the internal clock.
The output buffer latch 12B operates in synchronization with the rising edge of the internal clock CLK. The output buffer latch 12B latches the output of the output latch 12A at the rising edge of the internal clock until the clock enable signal CLKEN falls. The output buffer latch 12B latches the output of the output latch 12A at the rising edge of the internal clock first input after the clock enable signal CLKEN falls. The output buffer latch 12B latches the output of the page selector 11A at the rising edge of the second internal clock input after the clock enable signal CLKEN rises. Thereafter, the output buffer latch 12B latches the output of the output latch 12A at the rising edge of the internal clock.
By providing this output buffer 12B, each circuit unit of the burst control unit 3A operates at the next rising edge of the internal clock CLK when the output enable signal OEB becomes "H" level, and valid data is lost. Disappears.
次に、図12におけるバースト制御部3Aの詳細について図14を参照しつつ説明する。図14はバースト制御部3Aの構成例を示すブロック図である。
バースト制御部3Aには、ファーストレイテンシレジスタ31Aがあり、ファーストレイテンシレジスタ31Aは、外部から入力されるファーストレイテンシのウェイトサイクル数から「1」減算した値(ウェイト計数初期値)を記憶するレジスタである。このファーストレイテンシレジスタ31Aへの書き込みはバースト読み出しなどが実際に行われるよりも前のタイミングで、不図示の制御回路により行われる。
バースト制御部3Aには、有効データレジスタ32Aがあり、有効データレジスタ32Aは有効データ数から「1」減算した値(データ計数初期値)を記憶する。有効データ数は、最初の16ワード境界においては最初の16ワード境界前の出力すべき有効なデータの数、それ以外においては1回のメモリアクセスにおいてメモリセルアレイ6からセンスしたデータのうちバースト出力すべき有効なデータの数である。
Next, details of the burst control unit 3A in FIG. 12 will be described with reference to FIG. FIG. 14 is a block diagram illustrating a configuration example of the burst control unit 3A.
The burst control unit 3A includes a
The burst control unit 3A has a
バースト制御部3Aには、アドレスカウンタ33Aがある。アドレスカウンタ33Aは、クロックイネーブル信号CLKENが「L」レベルの期間に入力される内部クロックCLKの立ち上がり、およびクロックイネーブル信号が「H」レベルになって最初に入力される内部クロックCLKの立ち上がり、以外の内部クロックCLKの立ち上がりに同期して「1」デクリメントする動作を行う。また、データカウンタ35Aは、クロックイネーブル信号CLKENが「L」レベルの期間に入力される内部クロックCLKの立ち上がり、およびクロックイネーブル信号が「H」レベルになって最初に入力される内部クロックCLKの立ち上がりに同期した「1」デクリメントする動作を行わない。なお、以下において、クロックイネーブル信号CLKENが「L」レベルの期間に入力される内部クロックCLKの立ち上がり、およびクロックイネーブル信号が「H」レベルになって最初に入力される内部クロックCLKの立ち上がり、以外の内部クロックCLKの立ち上がりが入力される期間を動作期間とよぶ。また、クロックイネーブル信号CLKENが「L」レベルの期間に入力される内部クロックCLKの立ち上がり、およびクロックイネーブル信号が「H」レベルになって最初に入力される内部クロックCLKの立ち上がりが入力される期間を停止期間とよぶ。
アドレスカウンタ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として出力する。
The burst control unit 3A has an
In the operation period, the
バースト制御部3Aには、ファーストレイテンシカウンタ34Aがある。ファーストレイテンシカウンタ34Aは、ファーストレイテンシのクロックサイクル数を計数するために利用されるものであり、バースト読み出しの開始時の最初のメモリアクセスのアクセス時間に対応したクロックサイクル数を計数するためにも利用される。従来例のファーストレイテンシカウンタ34がクロックイネーブル信号CLKENが「H」レベルの期間でのみ動作を行うのに対して、本実施の形態のファーストレイテンシカウンタ34Aは、クロックイネーブル信号CLKENが「H」レベルであると「L」レベルとにかかわらず動作を行う。つまり、ファーストレイテンシカウンタ34Aはサスペンド期間中であってもメモリアクセスのアクセス時間に対応したクロックサイクル数を計数していることになる。ファーストレイテンシカウンタ34Aにはファーストレイテンシレジスタ31Aに記憶されているウェイト計数初期値が計数の初期値として書き込まれる。ファーストレイテンシカウンタ34Aは、内部クロックCLKの立ち上がりに同期して、計数値を「1」デクリメントする。
The burst controller 3A includes a
バースト制御部3Aには、データカウンタ35Aがある。データカウンタ35Aは最初の16ワード境界前においては最初の16ワード境界までの有効データのうちのまだバースト出力されていない有効データの数を計数するものである。また、データカウンタ35Aは最初の16ワード境界前以外においては1回のメモリアクセスで読み出される有効データのうちのまだバースト出力されていない有効データの数を計数するものである。データカウンタ35Aは、クロックイネーブル信号CLKENが「L」レベルの期間に入力される内部クロックCLKの立ち上がり、およびクロックイネーブル信号が「H」レベルになって最初に入力される内部クロックCLKの立ち上がり、以外の内部クロックCLKの立ち上がりに同期して「1」デクリメントする動作を行う。また、データカウンタ35Aは、クロックイネーブル信号CLKENが「L」レベルの期間に入力される内部クロックCLKの立ち上がり、およびクロックイネーブル信号が「H」レベルになって最初に入力される内部クロックCLKの立ち上がりに同期した「1」デクリメントする動作を行わない。データカウンタ35Aには有効データレジスタ32Aに記憶されているデータ計数初期値が計数の初期値として書き込まれる。このデータカウンタ35Aは、従来例において説明したデータカウンタ35が「3」ビットで構成されているのに対して「4」ビットにより構成されており、最大「15」計数できるようになっている。
The burst control unit 3A includes a
バースト制御部3Aには、16W境界カウンタ36Aがある。16W境界カウンタ36Aは16ワード境界の境界前ウェイトを計数するために利用されるものであり、メモリアクセスのアクセス時間に対応したクロックサイクル数を計数するためにも利用される。従来例の16W境界カウンタ36がクロックイネーブル信号CLKENが「H」レベルの期間でのみ動作を行うのに対して、本実施の形態の16W境界カウンタ36Aは、クロックイネーブル信号CLKENが「H」レベルであると「L」レベルとにかかわらず動作を行う。つまり、16W境界カウンタ36Aはサスペンド期間中であってもメモリアクセスのアクセス時間に対応したクロックサイクル数を計数していることになる。16W境界カウンタ36Aにはファーストレイテンシレジスタ31Aに記憶されているウェイト計数初期値が計数の初期値として書き込まれる。16W境界カウンタ36Aは、内部クロックCLKの立ち上がりに同期して、計数値を「1」デクリメントする。
The burst control unit 3A includes a
バースト制御部3Aには、レイテンシカウンタ書込部37Aがある。レイテンシカウンタ書込部37Aは、クロックイネーブル信号CLKENが「H」レベルの期間で動作を行い、クロックイネーブル信号CLKENが「L」レベルの期間で動作を停止する。レイテンシカウンタ書込部37Aは、クロックイネーブル信号CLKENが「H」レベルの時に、アドレスラッチ信号ALATの立ち下がりに同期して、ファーストレイテンシレジスタ31Aに記憶されているウェイト計数初期値を読み込み、読み込んだウェイト計数初期値をファーストレイテンシカウンタ34Aに対して計数の初期値として書き込む。
The burst control unit 3A includes a latency
バースト制御部3Aには、有効データレジスタ書込部38Aがある。有効データレジスタ書込部38Aは、バースト読み出し開始時に、或いは、後述するデータカウンタ書込部39Aが有効データレジスタ32Aからデータ計数初期値を読み込んだ時に、データ計数初期値の算出を開始し、算出が完了した時点で算出したデータ計数初期値を有効データレジスタ32Aに書き込む。有効データレジスタ書込部38Aは、バースト読み出しの開始時の最初のメモリアクセスにおいては最初の16ワード境界までの有効データの数(図19の「境界前」に示される値)から「1」減算した値(データ計数初期値)を算出し、算出結果を有効データレジスタ32Aに書き込む。有効データレジスタ書込部38Aは、最初の16ワード境界を越えた後のメモリアクセスにおいては1回のメモリアクセスでメモリセルアレイ6から読み出される有効データの数(固定値「8」)から「1」減算した値(データ計数初期値)を算出し、算出結果を有効データレジスタ32Aに書き込む。
つまり、有効データレジスタ書込部38Aは、開始アドレスの下位4ビットを夫々反転して、その結果をデータ計数値とする。例えば、開始アドレスの下位4ビットが「6」(0(最上位ビット)、1(3ビット目)、1(2ビット目)、0(最下位ビット))のとき、これを反転して「1001」(9)を求め、求めた「9」をデータ計数初期値として有効データレジスタ32Aに書き込む。
それ以降、有効データレジスタ書込部38Aは、固定値「7」をデータ計数初期値とし、有効データレジスタ32Aに書き込む。
The burst control unit 3A includes a valid data
That is, the valid data
Thereafter, the valid data
バースト制御部3Aには、データカウンタ書込部39Aがある。データカウンタ書込部39Aは、クロックイネーブル信号CLKENが「L」レベルの期間に入力される内部クロックCLKの立ち上がり、およびクロックイネーブル信号が「H」レベルになって最初に入力される内部クロックCLKの立ち上がり、以外の内部クロックCLKの立ち上がりに同期して「1」デクリメントする動作を行う。また、データカウンタ書込39Aは、クロックイネーブル信号CLKENが「L」レベルの期間に入力される内部クロックCLKの立ち上がり、およびクロックイネーブル信号が「H」レベルになって最初に入力される内部クロックCLKの立ち上がりに同期した「1」デクリメントする動作を行わない。
データカウンタ書込部39Aは、ファーストレイテンシカウンタ34Aの計数値が「1」であって、動作期間の場合に入力される内部クロックCLKの立ち上がりに同期して、有効データレジスタ32Aに記憶されているデータ計数初期値を読み込み、読み込んだデータ計数初期値をデータカウンタ35Aに対して計数の初期値として書き込む。
データカウンタ書込部39Aは、データカウンタ35Aの計数値が「0」で16W境界カウンタ36Aの計数値が「1」および「0」の何れかであって、動作期間の場合に入力される内部クロックCLKの立ち上がりに同期して、有効データレジスタ32Aに記憶されているデータ計数初期値を読み込み、読み込んだデータ計数初期値をデータカウンタ35Aに対して計数の初期値として書き込む。
The burst control unit 3A includes a data
The data
The data
バースト制御部3Aには、境界カウンタ書込部40Aがある。境界カウンタ書込部40Aは、クロックイネーブル信号CLKENが「L」レベルの期間に入力される内部クロックCLKの立ち上がり、およびクロックイネーブル信号が「H」レベルになって最初に入力される内部クロックCLKの立ち上がり、以外の内部クロックCLKの立ち上がりに同期して「1」デクリメントする動作を行う。また、境界カウンタ書込部40Aは、クロックイネーブル信号CLKENが「L」レベルの期間に入力される内部クロックCLKの立ち上がり、およびクロックイネーブル信号が「H」レベルになって最初に入力される内部クロックCLKの立ち上がりに同期した「1」デクリメントする動作を行わない。
境界カウンタ書込部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に対して計数の初期値として書き込む。
The burst control unit 3A includes a boundary
The boundary
The boundary
バースト制御部3Aには、アドレス変化検出部41Aがある。アドレス変化検出部41Aは、バーストアドレスBADの変化を検出して、ワンショットのパルスを生成して、検出信号DTとして出力する。検出信号DTは、ATD回路8により所定時間(メモリのアクセス時間)遅延させられ、センスアンプコントロール信号SCとしてセンスデータラッチ9Aに供給される。
The burst control unit 3A includes an address
バースト制御部3Aには、ページラッチ信号生成部42Aがある。ページラッチ信号生成部42Aは、クロックイネーブル信号CLKENが「L」レベルの期間に入力される内部クロックCLKの立ち上がり、およびクロックイネーブル信号が「H」レベルになって最初に入力される内部クロックCLKの立ち上がり、以外の内部クロックCLKの立ち上がりに同期して動作を行う。また、ページラッチ信号生成部42Aは、クロックイネーブル信号CLKENが「L」レベルの期間に入力される内部クロックCLKの立ち上がり、およびクロックイネーブル信号が「H」レベルになって最初に入力される内部クロックCLKの立ち上がりに同期した「1」デクリメントする動作を行わない。 ページラッチ信号生成部42Aは、バーストアドレスの開始時に、最初のメモリアクセスによりメモリセルアレイ6から読み出されてセンスデータラッチ9Aから出力されているワードデータをページラッチ部10−0〜10−3から出力するために、ページラッチ信号PL0〜PL3の全てを「H」レベルにしてページラッチ10A(ページラッチ部10−0〜10−3)をスルー状態にし、メモリアクセスが完了してメモリセルアレイ6から読み出されたワードデータがセンスデータラッチ9Aから出力されるようになった後であって、次のメモリアクセスでメモリセルアレイ6から読み出されたワードデータがセンスデータラッチ9から出力されるようになる前に、ページラッチ信号PL0〜PL3の全てを「L」レベルにしてセンスデータラッチ9が出力しているワードデータをラッチ(保持)する。
本実施の形態においては、ページラッチ信号生成部42Aは、動作期間の場合に、アドレスラッチ信号ALATの立ち下がりに同期して、ページラッチ信号PL0〜PL3を全て「H」レベルに立ち上げる。このページラッチ信号PL0〜PL3の立ち上げに対して、ページラッチ信号生成部42Aは、ファーストレイテンシカウンタ34の計数値のデクリメント処理が行われて「1」となって、動作期間の場合に入力される内部クロックCLKの立ち上がりに同期して、ページラッチ信号PL0〜PL3を全て「L」レベルに立ち下げる(「H」レベルから「L」レベルにする)。
The burst control unit 3A includes a page latch
In the present embodiment, page latch
上述したように、ページラッチ10Aは互いに独立してイネーブル状態になる、2ワード単位でラッチを行う4つのページラッチ部10−0〜10−3から構成されているため、ページラッチ10Aは8ワードデータをラッチすることができる。スタートアドレスの下位4ビットが「0」と「1」、「2」と「3」、「4」と「5」、「6」と「7」の夫々は、最初の16ワード境界前の2回目のメモリアクセスの有効データの数が「8」、「6」、「4」、「2」である。このため、スタートアドレスの下位4ビットが「2」〜「8」の場合、最初の16ワード境界前の1回目のメモリアクセスでメモリセルアレイ6から読み出されページラッチ10Aに保持されている有効データのバースト出力中であっても、下位4ビットが「2」、「3」の場合にはページラッチ部10−1〜10−3に保持されている有効データがバースト出力されて保持しておく必要がなくなった場合に、ページラッチ部10−1〜10−3をスルー状態にして、最初の16ワード境界前の2回目のメモリアクセスで読み出されてセンスデータラッチ9Aから出力されている有効データ(SLD23〜SLD67)に書き換えても有効データが損なわれることがない。また、下位4ビットが「4」、「5」の場合にはページラッチ部10−2〜10−3に保持されている有効データがバースト出力されて保持しておく必要がなくなった場合に、ページラッチ部10−2〜10−3をスルー状態にして、最初の16ワード境界前の2回目のメモリアクセスで読み出されてセンスデータラッチ9Aから出力されている有効データ(SLD45〜SLD67)に書き換えても有効データが損なわれることがない。さらに、下位4ビットが「6」、「7」の場合にはページラッチ部10−3に保持されている有効データがバースト出力されて保持しておく必要がなくなった場合に、ページラッチ部10−3をスルー状態にして、最初の16ワード境界前の2回目のメモリアクセスで読み出されてセンスデータラッチ9Aから出力されている有効データ(SLD67)に書き換えても有効データが損なわれることがない。ただし、下位4ビットが「0」、「1」の場合にも、ページラッチ部10−0〜10−3に保持されている有効データがバースト出力されて保持しておく必要がなくなった場合に、ページラッチ部10−0〜10−3をスルー状態にして、最初の16ワード境界前の2回目のメモリアクセスで読み出されてセンスデータラッチ9Aから出力されている有効データ(SLD01〜SLD67)に書き換えても有効データが損なわれることがない。
したがって、ページラッチ信号生成部42Aは、最初の16ワード境界前の1回目のメモリアクセスでメモリセルアレイ6から読み出された有効データのバースト出力中に(下位4ビットが「0」、「1」の場合にはバースト出力が終了した後に)、最初の16ワード境界前の2回目のメモリアクセスによりメモリセルアレイ6から読み出されてセンスデータラッチ9Aから出力されているワードデータをページラッチ部10−0〜10−3に書き込むために、センスデータラッチ9Aから出力されている有効データが書き込まれることになるページラッチ部(該当ページラッチ部)で保持されている有効データの全てがページセレクタ11に選択された後に該当ページラッチ部に入力されるページラッチ信号を「H」レベルにして該当ページラッチ部をスルー状態にする。その後に、該当ページラッチ部で保持されている有効データの全てがページセレクタ11により選択された後でかつ最初の16ワード境界前の2回目のメモリアクセスが完了してメモリセルアレイ6から読み出されたワードデータがセンスデータラッチ9Aから出力されるようになった後であって、最初の16ワード境界前の2回目のメモリアクセスの次のメモリアクセスでメモリセルアレイ6から読み出されたワードデータがセンスデータラッチ9から出力されるようになる前に「H」レベルにしたページラッチ信号を「L」レベルにしてセンスデータラッチ9Aが出力しているワードデータをラッチ(保持)する。
本実施の形態においては、ページラッチ信号生成部42Aは、データカウンタ35Aの計数値が「8」であるときに16W境界カウンタ36Aの計数値が「2」以上であれば、ページラッチ立ち上げ信号を「1」にし、16W境界カウンタ36の計数値のデクリメント処理が行われて「2」となって、動作期間の場合に入力される内部クロックCLKの立ち上がりに同期して、ワードデータの書き換えを行うページラッチ部に入力するページラッチ信号を立ち上げる。このページラッチ信号の立ち上げに対して、ページラッチ信号生成部42Aは、16W境界カウンタ36の計数値のデクリメント処理が行われて「1」となって、動作期間の場合に入力される内部クロックCLKの立ち上がりに同期して立ち上げたページラッチ信号を立ち下げる。
また、ページラッチ信号生成部42Aは、16W境界カウンタ36Aの計数値が「0」および「1」の何れかでデータカウンタ35Aの計数値が「9」であって、動作期間の場合に入力される内部クロックCLKの立ち上がりに同期して、ワードデータの書き込みを行うページラッチ部に入力するページラッチ信号を立ち上げる。このページラッチ信号の立ち上げに対して、ページラッチ信号生成部42Aは、データカウンタ35Aの計数値のデクリメント処理が行われて「8」となって、動作期間の場合に入力される内部クロックCLKの立ち上がりに同期してページラッチ信号PL0〜PL3を立ち下げる。
As described above, the page latch 10A includes the four page latch units 10-0 to 10-3 that perform the latching in units of two words that are enabled independently of each other. Data can be latched. The lower 4 bits of the start address are “0” and “1”, “2” and “3”, “4” and “5”, “6” and “7”, respectively, 2 before the first 16-word boundary. The number of valid data for the second memory access is “8”, “6”, “4”, “2”. Therefore, when the lower 4 bits of the start address are “2” to “8”, the valid data read from the
Therefore, the page latch
In the present embodiment, the page latch
The page latch
また、最初の16ワード境界を越えた後のメモリアクセスでは、1回のメモリアクセスでメモリセルアレイ6から読み出される有効データの数が固定値の「8」であり、ページラッチ10Aで保持することができる最大数であるので、ページラッチ10Aのページラッチ部10−0〜10−3の一部のみの書き換えを行わずに、ページラッチ部10−0〜10−3の書き換えを同じタイミングで行う。
ページラッチ信号生成部42Aは、現在ページラッチ10Aから出力されている有効データの全てがページセレクタ11により選択されて、現在ページラッチ10Aから出力されている有効データをメモリセルアレイ6から読み出したメモリアクセス(第1対象メモリアクセスという)の次のメモリアクセス(第2対象メモリアクセスという)によりメモリセルアレイ6から読み出されてセンスデータラッチ9Aから出力されているワードデータをページラッチ部10−0〜10−3に書き込むために、現在ページラッチ10Aで保持されている有効データの全てがページセレクタ11に選択された後にページラッチ信号PL0〜PL3の全てを「H」レベルにしてページラッチ部10−0〜10−3の全てをスルー状態にする。その後に、現在ページラッチ10Aで保持されている有効データの全てがページセレクタ11に選択された後でかつ第2対象メモリアクセスが完了してメモリセルアレイ6から読み出されたワードデータがセンスデータラッチ9Aから出力されるようになった後であって、第2対象メモリアクセスの次のメモリアクセスでメモリセルアレイ6から読み出されたワードデータがセンスデータラッチ9から出力されるようになる前に「H」レベルにしたページラッチ信号PL0〜PL3の全てを「L」レベルにしてセンスデータラッチ9Aが出力しているワードデータをラッチ(保持)する。
本実施の形態においては、ページラッチ信号生成部42Aは、データカウンタ35Aの計数値が「0」または「1」の何れかで16W境界カウンタ36Aの計数値が「2」であって、動作期間の場合に入力される内部クロックCLKの立ち上がりに同期してページラッチ信号PL0〜PL3の全てを立ち上げる。このページラッチ信号PL0〜PL3の立ち上げに対して、ページラッチ信号生成部42Aは、16W境界カウンタ36の計数値のデクリメント処理が行われて「1」となって、動作期間の場合に入力される内部クロックCLKの立ち上がりに同期してページラッチ信号PL0〜PL3の全てを立ち下げる。
または、ページラッチ信号生成部42Aは、16W境界カウンタ36Aの計数値が「0」および「1」の何れかでデータカウンタ35Aの計数値が「1」であって、動作期間の場合に入力される内部クロックCLKの立ち上がりに同期してページラッチ信号PL0〜PL3の全てを立ち上げる。このページラッチ信号PL0〜PL3の立ち上げに対して、ページラッチ信号生成部42Aは、データカウンタ35Aの計数値のデクリメント処理が行われて「0」となって、動作期間の場合に入力される内部クロックCLKの立ち上がりに同期してページラッチ信号PL0〜PL3の全てを立ち下げる。
Further, in the memory access after exceeding the first 16-word boundary, the number of valid data read from the
The page latch
In the present embodiment, the page latch
Alternatively, the page latch
ここで、ページラッチ信号生成部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の立ち上げ、立ち下げを行わない。
Here, the page latch signals PL0 to PL3 that rise and fall in relation to the count value “8” of the data counter 35A will be described.
When the lower 4 bits of the start address are “0000” and “0001”, the page latch
When the lower 4 bits of the start address are “0010” and “0011”, the page latch
When the lower 4 bits of the start address are “0100” and “0101”, the page latch
When the lower 4 bits of the start address are “0110” and “0111”, the page latch
バースト制御部3Aには、ページコントロール信号生成部43Aがある。ページコントロール信号生成部43Aは、クロックイネーブル信号CLKENが「L」レベルの期間に入力される内部クロックCLKの立ち上がり、およびクロックイネーブル信号が「H」レベルになって最初に入力される内部クロックCLKの立ち上がり、以外の内部クロックCLKの立ち上がりに同期して「1」デクリメントする動作を行う。また、ページコントロール信号生成部43Aは、クロックイネーブル信号CLKENが「L」レベルの期間に入力される内部クロックCLKの立ち上がり、およびクロックイネーブル信号が「H」レベルになって最初に入力される内部クロックCLKの立ち上がりに同期した「1」デクリメントする動作を行わない。
ページコントロール信号生成部43Aは、クロックイネーブル信号CLKENが「H」レベルの時に、アドレスラッチ信号ALATの立ち下がりに同期して、開始アドレスの下位3ビットをページコントロール信号PCの初期値として読み込む。そして、ページコントロール信号生成部43Aは、動作期間の場合に入力される内部クロックCLKの立ち上がりに同期してページコントロール信号PCを「1」インクリメントし、インクリメント後の値を新たなページコントロール信号PCとして出力する。
ページコントロール信号生成部43Aは、初期値を読み込んだ後に動作を停止し(動作期間にかかわらず)、ファーストレイテンシカウンタ34Aの計数値が「1」になると動作を開始する。また、ページコントロール信号生成部43Aは、データカウンタ35の計数値が「1」のときに16W境界カウンタ36Aの計数値が「3」以上であれば動作を停止し(動作期間にかかわらず)、その後に16W境界カウンタ36Aの計数値が「2」になると動作を開始する。
The burst control unit 3A includes a page control
When the clock enable signal CLKEN is at “H” level, the page control
The page control
バースト制御部3には、ウェイト信号生成部44がある。ウェイト信号生成部44Aは、内部クロックCLKと同期して動作を行う場合、クロックイネーブル信号CLKENが「L」レベルの期間に入力される内部クロックCLKの立ち上がり、およびクロックイネーブル信号が「H」レベルになって最初に入力される内部クロックCLKの立ち上がり、以外の内部クロックCLKの立ち上がりに同期して「1」デクリメントする動作を行う。また、ウェイト信号生成部44Aは、クロックイネーブル信号CLKENが「L」レベルの期間に入力される内部クロックCLKの立ち上がり、およびクロックイネーブル信号が「H」レベルになって最初に入力される内部クロックCLKの立ち上がりに同期した「1」デクリメントする動作を行わない。
ウェイト信号生成部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を立ち下げる。
The
The wait
In addition, the wait
Further, the wait
バースト制御部3Aは、図示しない、同期/非同期セレクト信号SEL、およびアウトプットコントロール信号OPCの生成を行う。また、バースト制御部3Aは、アドレスラッチ信号ALATの立ち下がりに同期して、16W境界信号を「L」レベルから「H」レベルに立ち上げ、データカウンタ35Aの計数値のデクリメント処理が行われて「1」となった場合に入力される内部クロックCLKの立ち上がりに同期して、16W境界信号を「H」レベルから「L」レベルに立ち下げる。 The burst controller 3A generates a synchronous / asynchronous select signal SEL and an output control signal OPC (not shown). Further, the burst control unit 3A raises the 16W boundary signal from the “L” level to the “H” level in synchronization with the fall of the address latch signal ALAT, and the decrement processing of the count value of the data counter 35A is performed. The 16W boundary signal is lowered from the “H” level to the “L” level in synchronization with the rising edge of the internal clock CLK input when it becomes “1”.
以下、上述した本実施の形態のフラッシュメモリのバースト読み出しの動作について図面を参照しつつ説明する。
図15は、ファーストレイテンシが6サイクル、開始アドレスの下位4ビットが「E(14)」の場合における、本実施の形態の各回路の動作のタイミングチャートを示している。
時刻t101において、入力バッファ1がチップイネーブル信号CEB及びアドレスバリッド信号ADVBが「H」レベルから「L」レベルに遷移することにより、アドレスラッチ信号ALATを立ち上げ、立ち上げた後の次の内部クロックCLKの立ち上がりに同期してアドレスラッチ信号ALATを立ち下げる。
Hereinafter, the burst read operation of the flash memory according to the present embodiment will be described with reference to the drawings.
FIG. 15 shows a timing chart of the operation of each circuit of the present embodiment when the first latency is 6 cycles and the lower 4 bits of the start address are “E (14)”.
At time t 101 , when the
時刻t102において、アドレスカウンタ33Aは、クロックイネーブル信号CLKENが「H」レベルの時に、アドレスラッチ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)として出力する。
At time t 102, the
At this time, the address
時刻t102において、レイテンシカウンタ書込部37Aは、ファーストレイテンシのクロックサイクルを計数するために、クロックイネーブル信号CLKENが「H」レベルの時に、ファーストレイテンシレジスタ31Aに記憶されているウェイト計数初期値「5」を読み込み、読み込んだウェイト計数初期値「5」をファーストレイテンシカウンタ34Aに対して計数の初期値として書き込む。
ページラッチ信号生成部42Aは、上記の動作期間の場合に入力される内部クロックの立ち上がりに同期して、ページラッチ信号PL0〜PL0を立ち上げる(「L」レベルから「H」レベルとする)。
ページコントロール信号生成部43Aは、上記の動作期間の場合に入力される内部クロックの立ち上がりに同期して、開始アドレスの下位3ビット「110」をページコントロール信号PCの初期値として読み込み、「P6」をページコントロール信号PCとし、動作を停止する(計数を行わない状態)。
ウェイト信号生成部44Aは、上記の動作期間の場合に入力される内部クロックの立ち上がりに同期して、ウェイト信号WAITを立ち上げる(「L」レベルから「H」レベルとする)。
バースト制御部3Aは、アクセス開始の際の最初の16ワード境界前におけるアクセスであることを示す16ワード境界信号を立ち上げる(「L」レベルから「H」レベルとする)。
At time t 102, the latency
The page latch
The page control
The wait
The burst control unit 3A raises a 16-word boundary signal indicating that the access is before the first 16-word boundary at the start of access (from “L” level to “H” level).
時刻t103から時刻106にかけて、ファーストレイテンシカウンタ34Aは、入力される内部クロックCLKの立ち上がりに同期して、計数値を「1」デクリメントし(「5」→「4」→「3」→「2」→「1」)、計数値が「1」になる。
ページコントロール信号生成部43Aは、ファーストレイテンシカウンタ34Aの計数値が「1」になると動作を開始する(計数を行う状態)。
From time t103 to time 106 , the
The page control
時刻t107において、ファーストレイテンシカウンタ34Aは、入力される内部クロックCLKの立ち上がりに同期して、計数値を「1」デクリメントして計数値を「0」にする。
アドレスカウンタ33Aは、最初のメモリアクセスが完了しているので、上記の動作期間の場合に入力される内部クロックCLKの立ち上がりに同期して、計数値を「1」インクリメントし、次にアクセスするバーストアドレスBADとして出力する。
このとき、アドレス変化検出部41Aは、アドレスカウンタ33Aの出力するバーストアドレスBADが変化したことを検出して、ATD回路8に対してワンショットパルスの検出信号DTを出力する。この検出信号DTがATD回路8により所定時間(メモリのアクセス時間)遅延させられ、時刻t172において、センスアンプコントロール信号SCとしてセンスデータラッチ9Aに入力され、センスデータラッチ9Aは、センスアンプ7から出力されるメモリデータMDをラッチして、「D16」〜「D23」をセンスラッチデータSLD(SLD01〜SLD67)として出力する。
At time t107 , the
Since the first memory access has been completed, the
At this time, the address
時刻t107において、データカウンタ書込部39Aは、最初の16ワード境界前の有効データの出力に必要なクロックサイクルを計数するために、ファーストレイテンシカウンタ34の計数値が「1」であって、上記の動作期間の場合に入力される内部クロックCLKの立ち上がりに同期して、有効データレジスタ32Aに記憶されているデータ計数初期値「1」を読み込み、読み込んだデータ計数初期値「1」をデータカウンタ35Aに対して計数の初期値として書き込む。
境界カウンタ書込部40Aは、ファーストレイテンシカウンタ34Aの計数値が「1」であって、上記の動作期間の場合に入力される内部クロックCLKの立ち上がりに同期して、ファーストレイテンシレジスタ36Aに記憶されているウェイト計数初期値「5」を読み込み、読み込んだウェイト計数初期値「5」を16W境界カウンタ36Aに対して計数の初期値として書き込む。
ページラッチ信号生成部42Aは、ファーストレイテンシカウンタ34の計数値が「1」であって、上記の動作期間の場合に入力される内部クロックCLKの立ち上がりに同期して、時刻t102において立ち上げたページラッチ信号PL0〜PL3を立ち下げる(「H」レベルから「L」レベルとする)。これにより、ページラッチ部10−3は、センスデータラッチ9から出力されているセンスラッチデータSLD67をラッチし、「D14」、「D15」をページラッチデータPLD67として出力する。なお、ページラッチ部10−0〜10−2によってラッチされ出力されるページラッチデータPL01〜PL45は無効なデータ(外部にバースト出力する必要がないデータ)である。
出力ラッチ12Aは、ページセレクタ11から出力されているページデータPD(「D14」:下位4ビット「E」に対応したワードデータ)を、内部クロックCLKの立ち上がりに同期して保持し、セレクタ13およびデータ出力制御部14を介して、アウトプットデータOUTとして出力する。
At time t107 , the data
The boundary
Page latch
The output latch 12A holds the page data PD (“D14”: word data corresponding to the lower 4 bits “E”) output from the
ページコントロール信号生成部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」レベルとする)。
The page control
Thus, the
Wait wait
時刻t108において、データカウンタ35Aは、上記の動作期間の場合に入力される内部クロックCLKの立ち上がりに同期して、計数値を「1」デクリメントして計数値を「0」にする。また、16W境界カウンタ36Aは、入力される内部クロックCLKの立ち上がりに同期して、計数値を「1」デクリメントして計数値を「4」にする。
出力バッファラッチ12Bは、出力ラッチ12Aから出力されている「D14」を、内部クロックCLKの立ち上がりに同期して保持する。
出力ラッチ12Aは、ページセレクタ11Aから出力されている「D15」のページデータPDを、内部クロックCLKの立ち上がりに同期して保持し、セレクタ13およびデータ出力制御部14を介して、アウトプットデータOUTとして出力する。
バースト制御部3Aは、データカウンタ35Aの計数値が「1」である場合に入力される内部クロックCLKの立ち上がりに同期して、時刻t102において立ち上げた16ワード境界信号を立ち下げる。これにより、以降、バーストアドレスが「1」インクリメントされるタイミングにおいてもファーストレイテンシレジスタ31Aに記憶されているウェイト計数初期値を新たに16W境界カウンタ36Aに書き込まれることがなくなる。
At time t108 , the data counter 35A decrements the count value by “1” and sets the count value to “0” in synchronization with the rising edge of the internal clock CLK input in the above operation period. Also, the
The output buffer latch 12B holds “D14” output from the output latch 12A in synchronization with the rising edge of the internal clock CLK.
The output latch 12A holds the page data PD of “D15” output from the page selector 11A in synchronization with the rising edge of the internal clock CLK, and outputs the output data OUT via the
Burst control unit 3A, the count value of the
時刻t109において、ウェイト信号生成部44Aは、データカウンタ35Aの計数値が「0」で16ワード境界カウンタ36Aの計数値が「2」以上の「4」であるので、つまり、有効データの全てを出力してもメモリアクセスが完了していないので、上記の動作期間の場合に入力される内部クロックCLKの立ち上がりに同期して、ウェイト信号WAITを立ち上げる(「L」レベルから「H」レベルにする)。
16W境界カウンタ36Aは、入力される内部クロックCLKの立ち上がりに同期して、計数値を「1」デクリメントして計数値を「3」にする。
出力バッファラッチ12Bは、出力ラッチ12Aから出力されている「D15」を、内部クロックCLKの立ち上がりに同期して保持する。
At time t 109 , the wait
The
The output buffer latch 12B holds “D15” output from the output latch 12A in synchronization with the rising edge of the internal clock CLK.
時刻t110において、16W境界カウンタ36Aは、入力される内部クロックCLKの立ち上がりに同期して、計数値を「1」デクリメントして計数値を「2」にする。ページコントロール信号生成部43Aは、16W境界カウンタ36Aの計数値が「2」になったので動作を開始する(計数を行う状態)。
At time t 110,
時刻t111において、ページラッチ信号生成部42Aは、データカウンタ35Aの計数値が「0」で16W境界カウンタ36Aの計数値が「2」であって、上記の動作期間の場合に入力される内部クロックCLKの立ち上がりに同期して、ページラッチ信号PL0〜PL3を立ち上げる(「L」レベルから「H」レベルとする)。
16W境界カウンタ36Aは、入力される内部クロックCLKの立ち上がりに同期して、計数値を「1」デクリメントして計数値を「1」にする。
ページコントロール信号生成部43Aは、上記の動作期間の場合に入力される内部クロックCLKに同期して、ページコントロール信号PCを「P7」から「P0」にインクリメントし、「P0」をページコントロール信号PCとして出力する。これにより、ページセレクタ11Aは、ページラッチ10A(ページラッチ部10−0〜10−3)が出力しているページラッチデータPLDの中から、ページコントロール信号PC(「P0」)に対応する「D16」を選択して、「D16」をページデータPDとして出力する。
At time t111 , the page latch
The
The page control
時刻t112において、有効データの出力とメモリアクセスの双方が完了することになるので、アドレスカウンタ33Aは、データカウンタ35Aの計数値が「0」で16W境界カウンタ36Aは計数値が「1」であって、上記の動作期間の場合に入力される内部クロックCLKの立ち上がりに同期して、計数値を「1」インクリメントし、次にアクセスするバーストアドレスBADとして出力する。
このとき、アドレス変化検出部41Aは、アドレスカウンタ33Aの出力するバーストアドレスBADが変化したことを検出して、ATD回路8に対してワンショットパルスの検出信号DTを出力する。この検出信号DTがATD回路8により所定時間(メモリのアクセス時間)遅延させられ、時刻t182においてセンスアンプコントロール信号SCとしてセンスデータラッチ9Aに入力され、センスデータラッチ9Aは、センスアンプ7から出力されるメモリデータMDをラッチして、「D24」〜「D31」をセンスラッチデータSLD(センスラッチデータSLD01〜SLD67)として出力する。
At time t112 , both valid data output and memory access are completed, so that the
At this time, the address
時刻t112において、データカウンタ書込部39Aは、有効データの出力に必要なクロックサイクルを計数するために、データカウンタ35Aの計数値が「0」で16W境界カウンタ36Aの計数値が「1」であって、上記の動作期間の場合に入力される内部クロックCLKの立ち上がりに同期して、有効データレジスタ32Aに記憶されているデータ計数初期値「7」を読み込み、読み込んだデータ計数初期値「7」をデータカウンタ35Aに対して計数の初期値として書き込む。
ページラッチ信号生成部42Aは、16W境界カウンタ36Aの計数値のデクリメント処理が行われて「1」となって、上記の動作期間の場合に入力される内部クロックCLKの立ち上がりに同期して、時刻t111において立ち上げたページラッチ信号PL0〜PL3を立ち下げる(「H」レベルから「L」レベルとする)。これにより、ページラッチ部10−0、10−1、10−2、10−3は、夫々、センスデータラッチ9Aから出力されているセンスラッチデータSLD01、SLD23、SLD45、SLD67をラッチし、「D16」および「D17」、「D18」および「D19」、「D20」および「D21」、「D22」および「D23」をページラッチデータPLDとして出力する。
出力ラッチ12Aは、ページセレクタ11Aから出力されているページデータPD(「D16」)を、内部クロックCLKの立ち上がりに同期して保持し、セレクタ13およびデータ出力制御部14を介して、アウトプットデータOUTとして出力する。
At time t112 , the data
The page latch
The output latch 12A holds the page data PD (“D16”) output from the page selector 11A in synchronization with the rising edge of the internal clock CLK, and outputs the output data via the
ページコントロール信号生成部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」レベルとする)。
The page control
The wait
時刻t113〜t119にかけて、データカウンタ35Aは、上記の動作期間の場合に入力される内部クロックCLKの立ち上がりに同期して、計数値を「1」デクリメントし(「7」→「6」→「5」→「4」→「3」→「2」→「1」→「0」)、計数値が「0」になる。
出力バッファラッチ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」)。
From time t 113 to t 119 , the data counter 35A decrements the count value by “1” in synchronization with the rising edge of the internal clock CLK input in the above operation period (“7” → “6” → “5” → “4” → “3” → “2” → “1” → “0”), the count value becomes “0”.
The output buffer latch 12B holds the data ("D16" to "D22") output from the output latch 12A in synchronization with the rising edge of the internal clock CLK.
The output latch 12A holds the page data PD output from the page selector 11A in synchronization with the rising edge of the internal clock CLK, and outputs it as output data OUT via the
The page control
時刻t119において、ページラッチ信号生成部42Aは、16W境界カウンタ36の計数値が「0」でデータカウンタ35Aの計数値が「1」であって、上記の動作期間の場合に入力される内部クロックCLKの立ち上がりに同期して、ページラッチ信号PL0〜PL3を立ち上げる(「L」レベルから「H」レベルとする)。
At time t119 , the page latch
時刻t120において、アドレスカウンタ33Aは、データカウンタ35Aの計数値が「0」で16W境界カウンタ36の計数値が「0」であって、上記の動作期間の場合に入力される内部クロックCLKの立ち上がりに同期して、計数値を「1」インクリメントし、次にアクセスするバーストアドレスBADとして出力する。このとき、アドレス変化検出部41Aは、アドレスカウンタ33Aの出力するバーストアドレスBADが変化したことを検出して、ATD回路8に対してワンショットパルスの検出信号DTを出力する。
At time t 120 , the
時刻t120において、データカウンタ書込部39Aは、有効データの出力に必要なクロックサイクルを計数するために、データカウンタ35Aの計数値が「0」で16W境界カウンタ36の計数値が「0」であって、上記の動作期間の場合に入力される内部クロックCLKの立ち上がりに同期して、有効データレジスタ32Aに記憶されているデータ計数初期値「7」を読み込み、読み込んだデータ計数初期値「7」をデータカウンタ35Aに対して計数の初期値として書き込む。
ページラッチ信号生成部42Aは、データカウンタ35Aの計数値のデクリメント処理が行われて「0」となって、上記の動作期間の場合に入力される内部クロックCLKの立ち上がりに同期して、時刻t119において立ち上げたページラッチ信号PL0〜PL3を立ち下げる(「H」レベルから「L」レベルとする)。これにより、ページラッチ部10−0、10−1、10−2、10−3は、夫々、センスデータラッチ9Aから出力されているセンスラッチデータSLD01、SLD23、SLD45、SLD67をラッチし、「D24」および「D25」、「D26」および「D27」、「D28」および「D29」、「D30」および「D31」をページラッチデータPLD01、PLD23、PLD45、PLD67として出力する。
出力バッファラッチ12Bは、出力ラッチ12Aから出力されている「D23」を、内部クロックCLKの立ち上がりに同期して保持する。
出力ラッチ12Aは、ページセレクタ11Aから出力されているページデータPD(「D24」)を、内部クロックCLKの立ち上がりに同期して保持し、セレクタ13およびデータ出力制御部14を介して、アウトプットデータOUTとして出力する。
At time t 120, the data
The page latch
The output buffer latch 12B holds “D23” output from the output latch 12A in synchronization with the rising edge of the internal clock CLK.
The output latch 12A holds the page data PD (“D24”) output from the page selector 11A in synchronization with the rising edge of the internal clock CLK, and outputs the output data via the
ページコントロール信号生成部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、・・・と同様の処理が繰り返し行われる。
The page control
At subsequent times t 121 , t 122 , t 123 ,..., Processing similar to that at times t 113 , t 114 , t 115,.
図16は、ファーストレイテンシが6サイクル、開始アドレスの下位4ビットが「6」の場合における、本実施の形態の各回路の動作のタイミングチャートを示している。
時刻t201〜t206、およびt262において、図14において説明した時刻t101〜t106、およびt162と同様の動作が行われる。
FIG. 16 shows a timing chart of the operation of each circuit of the present embodiment when the first latency is 6 cycles and the lower 4 bits of the start address are “6”.
At times t 201 to t 206 and t 262 , operations similar to those at times t 101 to t 106 and t 162 described in FIG. 14 are performed.
時刻t207において、ファーストレイテンシカウンタ34Aは計数値を「1」デクリメントして「0」にする。
アドレスカウンタ33Aは、最初のメモリアクセスが完了しているので、上記の動作期間の場合に入力される内部クロックCLKの立ち上がりに同期して、計数値を「1」インクリメントし、次にアクセスするバーストアドレスBADとして出力する。
このとき、アドレス変化検出部41Aは、アドレスカウンタ33Aの出力するバーストアドレスBADが変化したことを検出して、ATD回路8に対してワンショットパルスの検出信号DTを出力する。この検出信号DTがATD回路8により所定時間(メモリのアクセス時間)遅延させられ、時刻t272においてセンスアンプコントロール信号SCとしてセンスデータラッチ9Aに入力され、センスデータラッチ9Aは、センスアンプ7から出力されるメモリデータMDをラッチして、「D14」〜「D15」をセンスラッチデータSLD(SLD01〜SLD67)として出力する。
At time t207 , the
Since the first memory access has been completed, the
At this time, the address
また、時刻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として出力する。
出力ラッチ12Aは、ページセレクタ11から出力されているページデータPD(「D6」:下位4ビット「6」に対応したワードデータ)を、内部クロックCLKの立ち上がりに同期して保持し、セレクタ13およびデータ出力制御部14を介して、アウトプットデータOUTとして出力する。
At time t207 , the data
The boundary
Page latch
The output latch 12A holds the page data PD (“D6”: word data corresponding to the lower 4 bits “6”) output from the
ページコントロール信号生成部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」レベルとする)。
The page control
Wait
時刻t208において、データカウンタ35Aは、クロックイネーブル信号CLKENが「H」レベルの場合に入力される内部クロックCLKの立ち上がりに同期して、計数値を「1」デクリメントして計数値を「8」にする。16W境界カウンタ36Aは、入力される内部クロックCLKの立ち上がりに同期して、計数値を「1」デクリメントして計数値を「4」にする。
出力バッファラッチ12Bは、出力ラッチ12Aから出力されている「D6」を、内部クロックCLKの立ち上がりに同期して保持する。
出力ラッチ12Aは、ページセレクタ11Aから出力されているページデータPD(「D7」)を、内部クロックCLKの立ち上がりに同期して保持し、セレクタ13およびデータ出力制御部14を介して、アウトプットデータOUTとして出力する。
At time t 208 , the data counter 35 A decrements the count value by “1” in synchronization with the rising edge of the internal clock CLK input when the clock enable signal CLKEN is at “H” level, and sets the count value to “8”. To. The
The output buffer latch 12B holds “D6” output from the output latch 12A in synchronization with the rising edge of the internal clock CLK.
The output latch 12A holds the page data PD (“D7”) output from the page selector 11A in synchronization with the rising edge of the internal clock CLK, and outputs the output data via the
ページコントロール信号生成部43Aは、上記の動作期間の場合に入力される内部クロックCLKの立ち上がりに同期して、ページコントロール信号PCを「P7」から「P0」にインクリメントし、「P0」をページコントロール信号PCとして出力する。これにより、ページセレクタ11Aは、ページラッチ10A(ページラッチ部10−0〜10−3)が出力しているページラッチデータPLD(PLD01〜PLD67)の中から、ページコントロール信号PC(「P0」)に対応する「D8」を選択して、「D8」をページデータPDとして出力する。
時刻t209において、ページラッチ信号生成部42Aは、データカウンタ35Aの計数値が「8」で16W境界カウンタ36Aの計数値が「2」以上の「4」であるので、ページラッチ立上信号を「1」にする。
The page
At time t209 , the page latch
時刻t209、t210において、データカウンタ35Aは、上記の動作期間の場合に入力される内部クロックCLKの立ち上がりに同期して、計数値を「1」デクリメントし(「8」→「7」→「6」)、計数値が「6」になる。16W境界カウンタ36Aは、入力される内部クロックCLKの立ち上がりに同期して計数値を「1」デクリメントし(「4」→「3」→「2」)、計数値が「2」になる。
出力バッファラッチ12Bは、出力ラッチ12Aから出力されているデータ(「D7」、「D8」)を、内部クロックCLKの立ち上がりに同期して保持する。
出力ラッチ12Aは、ページセレクタ11Aから出力されているページデータPDを、内部クロックCLKの立ち上がりに同期して保持し、セレクタ13およびデータ出力制御部14を介して、アウトプットデータOUTとして出力する(D8、D9)。
At times t 209 and t 210 , the data counter 35A decrements the count value by “1” in synchronization with the rising edge of the internal clock CLK input in the above operation period (“8” → “7” → “6”), the count value becomes “6”. The
The output buffer latch 12B holds the data (“D7”, “D8”) output from the output latch 12A in synchronization with the rising edge of the internal clock CLK.
The output latch 12A holds the page data PD output from the page selector 11A in synchronization with the rising edge of the internal clock CLK, and outputs it as output data OUT via the
ページコントロール信号生成部43Aは、上記の動作期間の場合に入力される内部クロックCLKに同期して、ページコントロール信号PCをインクリメントし、インクリメント後のデータをページコントロール信号PCとして出力する(P1、P2)。これにより、ページセレクタ11Aは、ページラッチ10A(ページラッチ部10−0〜10−3)が出力しているページラッチデータPLD(PLD01〜PLD67)の中から、ページコントロール信号PCに対応するページラッチデータPLDを選択して、選択したページラッチデータPLDをページデータPDとして出力する(D9、D10)。
The page control
時刻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として出力する。
At time t 211 , the page latch
The data counter 35A decrements the count value by “1” and sets the count value to “5” in synchronization with the rising edge of the internal clock CLK input during the above operation period. The
The
ページコントロール信号生成部43Aは、上記の動作期間の場合に入力される内部クロックCLKの立ち上がりに同期して、ページコントロール信号PCを「P2」から「P3」にインクリメントし、「P3」をページコントロール信号PCとして出力する。これにより、ページセレクタ11Aは、ページラッチ10A(ページラッチ部10−0〜10−3)が出力しているページラッチデータPLD(PLD01〜PLD67)の中から、ページコントロール信号PC(「P3」)に対応する「D11」を選択して、「D11」をページデータPDとして出力する。
The page control
時刻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」のままである。
At time t212 , the page latch
アドレスカウンタ33Aは、バースト出力する必要のある有効データ数が8未満になっており、かつ、メモリアクセスが完了しているので、上記の動作期間の場合に入力される内部クロックCLKの立ち上がりに同期して、計数値を「1」インクリメントし、次にアクセスするバーストアドレスBADとして出力する。
このとき、アドレス変化検出部41Aは、アドレスカウンタ33Aの出力するバーストアドレスBADが変化したことを検出して、ATD回路8に対してワンショットパルスの検出信号DTを出力する。この検出信号DTがATD回路8により所定時間(メモリのアクセス時間)遅延させられ、時刻t282においてセンスアンプコントロール信号SCとしてセンスデータラッチ9Aに入力され、センスデータラッチ9Aは、センスアンプ7から出力されるメモリデータMDをラッチして、「D16」〜「D23」をセンスラッチデータSLD(SLD01〜SLD67)として出力する。
The
At this time, the address
時刻t212において、データカウンタ35Aは、上記の動作期間の場合に入力される内部クロックCLKの立ち上がりに同期して、計数値を「1」デクリメントして計数値を「4」にする。
境界カウンタ書込部40Aは、16ワード境界信号が「H」レベルであるので、メモリアクセスに必要なクロックサイクルを計数するために、16W境界カウンタ36Aの計数値のデクリメント処理が行われて計数値が「1」となって、上記の動作期間の場合に入力される内部クロックCLKの立ち上がりに同期して、ファーストレイテンシレジスタ36Aに記憶されているウェイト計数初期値「5」を読み込み、読み込んだウェイト計数初期値「5」を16W境界カウンタ36Aに対して計数の初期値として書き込む。
出力バッファラッチ12Bは、出力ラッチ12Aから出力されている「D10」を、内部クロックCLKの立ち上がりに同期して保持する。
出力ラッチ12Aは、ページセレクタ11Aから出力されているページデータPD(「D11」)を、内部クロックCLKの立ち上がりに同期して保持し、セレクタ13およびデータ出力制御部14を介して、アウトプットデータOUTとして出力する。
At time t212 , the data counter 35A decrements the count value by “1” to make the count value “4” in synchronization with the rising edge of the internal clock CLK input in the above operation period.
Since the 16-word boundary signal is at “H” level, the boundary
The output buffer latch 12B holds “D10” output from the output latch 12A in synchronization with the rising edge of the internal clock CLK.
The output latch 12A holds the page data PD (“D11”) output from the page selector 11A in synchronization with the rising edge of the internal clock CLK, and outputs the output data via the
ページコントロール信号生成部43Aは、上記の動作期間の場合に入力される内部クロックCLKの立ち上がりに同期して、ページコントロール信号PCを「P3」から「P4」にインクリメントし、「P4」をページコントロール信号PCとして出力する。これにより、ページセレクタ11Aは、ページラッチ10A(ページラッチ部10−0〜10−3)が出力しているページラッチデータPLD(PLD01〜PLD67)の中から、ページコントロール信号PC(「P4」)に対応する「D12」を選択して、「D12」をページデータPDとして出力する。
The page control
時刻t213〜時刻t216において、データカウンタ35Aは、上記の動作期間の場合に入力される内部クロックCLKの立ち上がりに同期して、計数値を「1」デクリメントし(「4」→「3」→「2」→「1」→「0」)、計数値が「0」になる。16W境界カウンタ36Aは、入力される内部クロックCLKの立ち上がりに同期して、計数値を「1」デクリメントし(「5」→「4」→「3」→「2」→「1」)、計数値が「1」になる。
出力バッファラッチ12Bは、出力ラッチ12Aから出力されているデータ(「D11」〜「D14」)を、内部クロックCLKの立ち上がりに同期して保持する。
出力ラッチ12は、ページセレクタ11から出力されているページデータPDを、内部クロックCLKの立ち上がりに同期して保持し、セレクタ13およびデータ出力制御部14を介して、アウトプットデータOUTとして出力する(D12〜D15)。
From time t213 to time t216 , the data counter 35A decrements the count value by “1” (“4” → “3”) in synchronization with the rising edge of the internal clock CLK input in the above operation period. → “2” → “1” → “0”), the count value becomes “0”. The
The output buffer latch 12B holds the data (“D11” to “D14”) output from the output latch 12A in synchronization with the rising edge of the internal clock CLK.
The
ページコントロール信号生成部43Aは、上記の動作期間の場合に入力される内部クロックCLKに同期して、ページコントロール信号PCをインクリメントし、インクリメント後のデータをページコントロール信号PCとして出力する(P5〜P7、P0)。これにより、ページセレクタ11Aは、ページラッチ10A(ページラッチ部10−0〜10−3)が出力しているページラッチデータPLD(PLD01〜PLD67)の中から、ページコントロール信号PCに対応するページラッチデータPLDを選択して、選択したページラッチデータPLDをページデータPDとして出力する(D13〜D16)。
The page control
時刻t216において、バースト制御部3Aは、データカウンタ35Aの計数値が「1」である場合に入力される内部クロックCLKの立ち上がりに同期して、時刻t202において立ち上げた16ワード境界信号を立ち下げる。これにより、以降、バーストアドレスが「1」インクリメントされるタイミングにおいてもファーストレイテンシレジスタ31Aに記憶されているウェイト計数初期値を新たに16W境界カウンタ36Aに書き込まれることがなくなる。
ページラッチ信号生成部42Aは、データカウンタ35Aの計数値が「1」で16W境界カウンタ36Aの計数値が「2」であって、上記の動作期間の場合に入力される内部クロックCLKの立ち上がりに同期して、ページラッチ信号PL0〜PL3を立ち上げる(「L」レベルから「H」レベルとする)。
At time t 216, the burst control unit 3A, the count value of the
The page latch
時刻t217において、有効データの出力とメモリアクセスの双方が完了することになるので、アドレスカウンタ33Aは、データカウンタ35Aの計数値が「0」で16W境界カウンタ36は計数値が「1」であって、上記の動作期間の場合に入力される内部クロックCLKの立ち上がりに同期して、計数値を「1」インクリメントし、次にアクセスするバーストアドレスBADとして出力する。このとき、アドレス変化検出部41Aは、アドレスカウンタ33Aの出力するバーストアドレスBADが変化したことを検出して、ATD回路8に対してワンショットパルスの検出信号DTを出力する。
At time t217 , both valid data output and memory access are completed, so that the
時刻t217において、ページラッチ信号生成部42Aは、16W境界カウンタ36の計数値のデクリメント処理が行われて「1」となって、上記の動作期間の場合に入力される内部クロックCLKの立ち上がりに同期して、時刻t216において立ち上げたページラッチ信号PL0〜PL3を立ち下げる(「H」レベルから「L」レベルとする)。これにより、ページラッチ部10−0、10−1、10−2、10−3は、夫々、センスデータラッチ9Aから出力されているセンスラッチデータSLD01、SLD23、SLD45、SLD67をラッチし、「D16」および「D17」、「D18」および「D19」、「D20」および「D21」、「D22」および「D23」をページラッチデータPLDとして出力する。
出力バッファラッチ12Bは、出力ラッチ12Aから出力されている「D15」を、内部クロックCLKの立ち上がりに同期して保持する。
出力ラッチ12Aは、ページセレクタ11Aから出力されているページデータPD(「D16」)を、内部クロックCLKの立ち上がりに同期して保持し、セレクタ13およびデータ出力制御部14を介して、アウトプットデータOUTとして出力する。
At time t217 , the page latch
The output buffer latch 12B holds “D15” output from the output latch 12A in synchronization with the rising edge of the internal clock CLK.
The output latch 12A holds the page data PD (“D16”) output from the page selector 11A in synchronization with the rising edge of the internal clock CLK, and outputs the output data via the
ページコントロール信号生成部43Aは、上記の動作期間の場合に入力される内部クロックCLKに同期して、ページコントロール信号PCを「P0」から「P1」にインクリメントし、「P1」をページコントロール信号PCとして出力する。これにより、ページセレクタ11Aは、ページラッチ10A(ページラッチ部10−0〜10−3)が出力しているページラッチデータPLD(PLD01、PLD23、PLD45、PLD67)の中から、ページコントロール信号PC(「P1」)に対応する「D17」を選択して、「D17」をページデータPDとして出力する。
以降、図15の時刻t113以降と同様の動作が行われる。
The page control
Thereafter, the same operation as the time t 113 onward in FIG 15 is performed.
図17は、ファーストレイテンシが6サイクル、開始アドレスの下位4ビットが「7」の場合における、本実施の形態の各回路の動作のタイミングチャートを示している。
時刻t301〜t306、およびt362において、図15において説明した時刻t101〜t106、およびt162と同様の動作が行われる。
FIG. 17 shows a timing chart of the operation of each circuit of the present embodiment when the first latency is 6 cycles and the lower 4 bits of the start address are “7”.
At times t 301 to t 306 and t 362 , operations similar to those at times t 101 to t 106 and t 162 described in FIG. 15 are performed.
時刻t307において、ファーストレイテンシカウンタ34Aは計数値を「1」デクリメントして「0」にする。
アドレスカウンタ33Aは、最初のメモリアクセスが完了しているので、上記の動作期間の場合に入力される内部クロックCLKの立ち上がりに同期して、計数値を「1」インクリメントし、次にアクセスするバーストアドレスBADとして出力する。
このとき、アドレス変化検出部41Aは、アドレスカウンタ33Aの出力するバーストアドレスBADが変化したことを検出して、ATD回路8に対してワンショットパルスの検出信号DTを出力する。この検出信号DTがATD回路8により所定時間(メモリのアクセス時間)遅延させられ、時刻t372においてセンスアンプコントロール信号SCとしてセンスデータラッチ9Aに入力され、センスデータラッチ9Aは、センスアンプ7から出力されるメモリデータMDをラッチして、「D14」〜「D15」をセンスラッチデータSLD(SLD01〜SLD67)として出力する。
At time t307 , the
Since the first memory access has been completed, the
At this time, the address
また、時刻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として出力する。なお、有効データのみ記載している。
出力ラッチ12Aは、ページセレクタ11から出力されているページデータPD(「D7」:下位4ビット「7」に対応したワードデータ)を、内部クロックCLKの立ち上がりに同期して保持し、セレクタ13およびデータ出力制御部14を介して、アウトプットデータOUTとして出力する。
At time t 307 , the data
The boundary
Page latch
The output latch 12A holds the page data PD (“D7”: word data corresponding to the lower 4 bits “7”) output from the
ページコントロール信号生成部43Aは、上記の動作期間の場合に入力される内部クロックCLKの立ち上がりに同期して、ページコントロール信号PCを「P7」から「P0」にインクリメントし、「P0」をページコントロール信号PCとして出力する。これにより、ページセレクタ11は、ページラッチ10A(ページラッチ部10−0〜10−3)が出力しているページラッチデータPLD(PLD01〜PLD67)の中から、ページコントロール信号PC(「P0」)に対応する「D8」を選択して、「D8」をページデータPDとして出力する。
ウェイト信号生成部44Aは、ファーストレイテンシカウンタ34Aの計数値が「1」であって、上記の動作期間の場合に入力される内部クロックCLKの立ち上がりに同期して、時刻t302において立ち上げたウェイト信号WAITを立ち下げる(「H」レベルから「L」レベルとする)。
時刻t307において、ページラッチ信号生成部42Aは、データカウンタ35Aの計数値が「8」で16W境界カウンタ36Aの計数値が「3」以上の「5」であるので、ページラッチ立上信号を「1」にする。
The page
Wait wait
At time t 307 , the page latch
時刻t308において、データカウンタ35Aは、上記の動作期間の場合に入力される内部クロックCLKの立ち上がりに同期して、計数値を「1」デクリメントして計数値を「7」にする。16W境界カウンタ36Aは、入力される内部クロックCLKの立ち上がりに同期して、計数値を「1」デクリメントして計数値を「4」にする。
出力バッファラッチ12Bは、出力ラッチ12Aから出力されている「D7」を、内部クロックCLKの立ち上がりに同期して保持する。
出力ラッチ12Aは、ページセレクタ11Aから出力されているページデータPD(「D8」)を、内部クロックCLKの立ち上がりに同期して保持し、セレクタ13およびデータ出力制御部14を介して、アウトプットデータOUTとして出力する。
At time t308 , the data counter 35A decrements the count value by “1” and sets the count value to “7” in synchronization with the rising edge of the internal clock CLK input in the above operation period. The
The output buffer latch 12B holds “D7” output from the output latch 12A in synchronization with the rising edge of the internal clock CLK.
The output latch 12A holds the page data PD (“D8”) output from the page selector 11A in synchronization with the rising edge of the internal clock CLK, and outputs the output data via the
ページコントロール信号生成部43Aは、上記の動作期間の場合に入力される内部クロックCLKの立ち上がりに同期して、ページコントロール信号PCを「P0」から「P1」にインクリメントし、「P1」をページコントロール信号PCとして出力する。これにより、ページセレクタ11Aは、ページラッチ10A(ページラッチ部10−0〜10−3)が出力しているページラッチデータPLD(PLD01〜PLD67)の中から、ページコントロール信号PC(「P1」)に対応する「D9」を選択して、「D9」をページデータPDとして出力する。
The page control
時刻t309、t310において、データカウンタ35Aは、上記の動作期間の場合に入力される内部クロックCLKの立ち上がりに同期して、計数値を「1」デクリメントし(「7」→「6」→「5」)、計数値が「5」になる。16W境界カウンタ36Aは、入力される内部クロックCLKの立ち上がりに同期して計数値を「1」デクリメントし(「4」→「3」→「2」)、計数値が「2」になる。
出力バッファラッチ12Bは、出力ラッチ12Aから出力されているデータ(「D8」、「D9」)を、内部クロックCLKの立ち上がりに同期して保持する。
出力ラッチ12Aは、ページセレクタ11Aから出力されているページデータPDを、内部クロックCLKの立ち上がりに同期して保持し、セレクタ13およびデータ出力制御部14を介して、アウトプットデータOUTとして出力する(D9、D10)。
At times t 309 and t 310 , the data counter 35A decrements the count value by “1” (“7” → “6” → in synchronization with the rising edge of the internal clock CLK input in the above operation period). “5”), the count value becomes “5”. The
The output buffer latch 12B holds the data (“D8”, “D9”) output from the output latch 12A in synchronization with the rising edge of the internal clock CLK.
The output latch 12A holds the page data PD output from the page selector 11A in synchronization with the rising edge of the internal clock CLK, and outputs it as output data OUT via the
ページコントロール信号生成部43Aは、上記の動作期間の場合に入力される内部クロックCLKに同期して、ページコントロール信号PCをインクリメントし、インクリメント後のデータをページコントロール信号PCとして出力する(P2、P3)。これにより、ページセレクタ11Aは、ページラッチ10A(ページラッチ部10−0〜10−3)が出力しているページラッチデータPLD(PLD01〜PLD67)の中から、ページコントロール信号PCに対応するページラッチデータPLDを選択して、選択したページラッチデータPLDをページデータPDとして出力する(D10、D11)。
The page control
時刻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」にする。
出力バッファラッチ12Bは、出力ラッチ12Aから出力されている「D10」を、内部クロックCLKの立ち上がりに同期して保持する。
出力ラッチ12Aは、ページセレクタ11Aから出力されているページデータPD(「D11」)を、内部クロックCLKの立ち上がりに同期して保持し、セレクタ13およびデータ出力制御部14を介して、アウトプットデータOUTとして出力する。
At time t 311 , the page latch
The data counter 35A decrements the count value by “1” and sets the count value to “4” in synchronization with the rising edge of the internal clock CLK input during the above operation period. The
The output buffer latch 12B holds “D10” output from the output latch 12A in synchronization with the rising edge of the internal clock CLK.
The output latch 12A holds the page data PD (“D11”) output from the page selector 11A in synchronization with the rising edge of the internal clock CLK, and outputs the output data via the
ページコントロール信号生成部43Aは、上記の動作期間の場合に入力される内部クロックCLKの立ち上がりに同期して、ページコントロール信号PCを「P3」から「P4」にインクリメントし、「P4」をページコントロール信号PCとして出力する。これにより、ページセレクタ11Aは、ページラッチ10A(ページラッチ部10−0〜10−3)が出力しているページラッチデータPLD(PLD01〜PLD67)の中から、ページコントロール信号PC(「P4」)に対応する「D12」を選択して、「D12」をページデータPDとして出力する。
The page control
時刻t312において、ページラッチ信号生成部42Aは、未出力の有効データを保持しているページラッチ部以外のページラッチ部で最初の16ワード境界前の2回目のメモリアクセスで読み出された有効データを保持可能になっており、最初の16ワード境界前の2回目のメモリアクセスが完了して読み出されたメモリデータがセンスデータラッチ10Aから出力されているので、16W境界カウンタ36Aの計数値のデクリメント処理が行われて「1」となって、上記の動作期間の場合に入力される内部クロックCLKの立ち上がりに同期して、時刻t311において立ち上げたページラッチ信号PL3を立ち下げる(「H」レベルから「L」レベルにする。)。これにより、ページラッチ部10−3は、センスデータラッチ9Aから出力されているセンスラッチデータSLD67をラッチし、「D14」〜「D15」をページラッチデータPLD67として出力する。なお、時刻t312、t313において、ページラッチ信号PL0〜PL2は「L」レベルのままであるため、ページラッチデータPLD01は「D8」および「D9」、ページラッチデータPLD23は「D10」および「D11」、ページラッチデータPLD45は「D12」および「D13」のままである。
At time t 312 , the page latch
アドレスカウンタ33Aは、バースト出力する必要のある有効データ数が8未満になっており、かつ、メモリアクセスが完了しているので、上記の動作期間の場合に入力される内部クロックCLKの立ち上がりに同期して、計数値を「1」インクリメントし、次にアクセスするバーストアドレスBADとして出力する。
このとき、アドレス変化検出部41Aは、アドレスカウンタ33Aの出力するバーストアドレスBADが変化したことを検出して、ATD回路8に対してワンショットパルスの検出信号DTを出力する。この検出信号DTがATD回路8により所定時間(メモリのアクセス時間)遅延させられ、時刻t382においてセンスアンプコントロール信号SCとしてセンスデータラッチ9Aに入力され、センスデータラッチ9Aは、センスアンプ7から出力されるメモリデータMDをラッチして、「D16」〜「D23」をセンスラッチデータSLD(SLD01〜SLD67)として出力する。
The
At this time, the address
時刻t312において、データカウンタ35Aは、上記の動作期間の場合に入力される内部クロックCLKの立ち上がりに同期して、計数値を「1」デクリメントして計数値を「3」にする。
境界カウンタ書込部40Aは、16ワード境界信号が「H」レベルであるので、メモリアクセスに必要なクロックサイクルを計数するために、16W境界カウンタ36Aの計数値のデクリメント処理が行われて計数値が「1」となって、上記の動作期間の場合に入力される内部クロックCLKの立ち上がりに同期して、ファーストレイテンシレジスタ36Aに記憶されているウェイト計数初期値「5」を読み込み、読み込んだウェイト計数初期値「5」を16W境界カウンタ36Aに対して計数の初期値として書き込む。
出力バッファラッチ12Bは、出力ラッチ12Aから出力されている「D11」を、内部クロックCLKの立ち上がりに同期して保持する。
出力ラッチ12Aは、ページセレクタ11Aから出力されているページデータPD(「D12」)を、内部クロックCLKの立ち上がりに同期して保持し、セレクタ13およびデータ出力制御部14を介して、アウトプットデータOUTとして出力する。
At time t312 , the data counter 35A decrements the count value by “1” and sets the count value to “3” in synchronization with the rising edge of the internal clock CLK input in the above operation period.
Since the 16-word boundary signal is at “H” level, the boundary
The output buffer latch 12B holds “D11” output from the output latch 12A in synchronization with the rising edge of the internal clock CLK.
The output latch 12A holds the page data PD (“D12”) output from the page selector 11A in synchronization with the rising edge of the internal clock CLK, and outputs the output data via the
ページコントロール信号生成部43Aは、上記の動作期間の場合に入力される内部クロックCLKの立ち上がりに同期して、ページコントロール信号PCを「P4」から「P5」にインクリメントし、「P5」をページコントロール信号PCとして出力する。これにより、ページセレクタ11Aは、ページラッチ10A(ページラッチ部10−0〜10−3)が出力しているページラッチデータPLD(PLD01〜PLD67)の中から、ページコントロール信号PC(「P5」)に対応する「D13」を選択して、「D13」をページデータPDとして出力する。
The page control
時刻t313〜時刻t314において、データカウンタ35Aは、上記の動作期間の場合に入力される内部クロックCLKの立ち上がりに同期して、計数値を「1」デクリメントし(「3」→「2」→「1」)、計数値が「1」になる。16W境界カウンタ36Aは、入力される内部クロックCLKの立ち上がりに同期して、計数値を「1」デクリメントし(「5」→「4」→「3」)、計数値が「3」になる。
出力バッファラッチ12Bは、出力ラッチ12Aから出力されているデータ(「D12」、「D13」)を、内部クロックCLKの立ち上がりに同期して保持する。
出力ラッチ12Aは、ページセレクタ11から出力されているページデータPDを、内部クロックCLKの立ち上がりに同期して保持し、セレクタ13およびデータ出力制御部14を介して、アウトプットデータOUTとして出力する(D13〜D14)。
From time t 313 to time t 314 , the data counter 35A decrements the count value by “1” (“3” → “2”) in synchronization with the rising edge of the internal clock CLK input during the above operation period. → “1”), the count value becomes “1”. The
The output buffer latch 12B holds the data (“D12”, “D13”) output from the output latch 12A in synchronization with the rising edge of the internal clock CLK.
The output latch 12A holds the page data PD output from the
時刻t313〜時刻t314において、ページコントロール信号生成部43Aは、上記の動作期間の場合に入力される内部クロックCLKに同期して、ページコントロール信号PCをインクリメントし、インクリメント後のデータをページコントロール信号PCとして出力する(P6、P7)。ページコントロール信号生成部43Aは、データカウンタ35Aの計数値が「1」で16W境界カウンタ36の計数値が「3」以上の「3」であるので動作を停止する(計数を行わない状態)。
これにより、ページセレクタ11Aは、ページラッチ10A(ページラッチ部10−0〜10−3)が出力しているページラッチデータPLD(PLD01〜PLD67)の中から、ページコントロール信号PCに対応するページラッチデータPLDを選択して、選択したページラッチデータPLDをページデータPDとして出力する(D14〜D15)。
From time t 313 to time t 314 , the page control
Accordingly, the page selector 11A causes the page latch corresponding to the page control signal PC from the page latch data PLD (PLD01 to PLD67) output from the page latch 10A (page latch units 10-0 to 10-3). The data PLD is selected, and the selected page latch data PLD is output as page data PD (D14 to D15).
時刻t315において、データカウンタ35Aは、上記の動作期間の場合に入力される内部クロックCLKの立ち上がりに同期して、計数値を「1」デクリメントし、計数値が「0」になる。16W境界カウンタ36Aは、入力される内部クロックCLKの立ち上がりに同期して、計数値を「1」デクリメントし、計数値が「2」になる。ページコントロール信号生成部43Aは、16W境界カウンタ36Aの計数値が「2」になったので動作を開始する(計数を行う状態)。
出力バッファラッチ12Bは、出力ラッチ12Aから出力されている「D14」を、内部クロックCLKの立ち上がりに同期して保持する。
出力ラッチ12Aは、ページセレクタ11から出力されているページデータPDを、内部クロックCLKの立ち上がりに同期して保持し、セレクタ13およびデータ出力制御部14を介して、アウトプットデータOUTとして出力する(D15)。
At time t315 , the data counter 35A decrements the count value by “1” in synchronization with the rising edge of the internal clock CLK input in the above operation period, and the count value becomes “0”. The
The output buffer latch 12B holds “D14” output from the output latch 12A in synchronization with the rising edge of the internal clock CLK.
The output latch 12A holds the page data PD output from the
バースト制御部3Aは、データカウンタ35Aの計数値が「1」であるときに入力される内部クロックCLKの立ち上がりに同期して、時刻t302において立ち上げた16ワード境界信号を立ち下げる。これにより、以降、バーストアドレスが「1」インクリメントされるタイミングにおいてもファーストレイテンシレジスタ31Aに記憶されているウェイト計数初期値を新たに16W境界カウンタ36Aに書き込まれることがなくなる。
Burst control unit 3A in synchronization with the rise of the internal clock CLK count value of the data counter 35A is entered when a "1", lowers the 16 word boundary signal launched at time t 302. As a result, the wait count initial value stored in the
時刻t316において、16W境界カウンタ36Aは、入力される内部クロックCLKの立ち上がりに同期して、計数値を「1」デクリメントし、計数値が「1」になる。
ウェイト信号生成部44Aは、データカウンタ35Aの計数値が「0」で16ワード境界カウンタ36Aの計数値が「2」以上の「2」であるので、つまり、有効データの全てを出力してもメモリアクセスが完了していないので、上記の動作期間の場合に入力される内部クロックCLKの立ち上がりに同期して、ウェイト信号WAITを立ち上げる(「L」レベルから「H」レベルにする)。
ページラッチ信号生成部42Aは、データカウンタ35Aの計数値が「0」で16W境界カウンタ36Aの計数値が「2」であって、上記の動作期間の場合に入力される内部クロックCLKの立ち上がりに同期して、ページラッチ信号PL0〜PL3を立ち上げる(「L」レベルから「H」レベルとする)。
At time t316 , the
Since the count value of the data counter 35A is “0” and the count value of the 16-
The page latch
出力バッファラッチ12Bは、出力ラッチ12Aから出力されている「D15」を、内部クロックCLKの立ち上がりに同期して保持する。
ページコントロール信号生成部43Aは、上記の動作期間の場合に入力される内部クロックCLKの立ち上がりに同期して、ページコントロール信号PCを「P7」から「P0」にインクリメントし、「P0」をページコントロール信号PCとして出力する。これにより、ページセレクタ11Aは、ページラッチ10A(ページラッチ部10−0〜10−3)が出力しているページラッチデータPLD(PLD01〜PLD67)の中から、ページコントロール信号PC(「P0」)に対応する「D16」を選択して、「D16」をページデータPDとして出力する。
The output buffer latch 12B holds “D15” output from the output latch 12A in synchronization with the rising edge of the internal clock CLK.
The page
時刻t317において、有効データの出力とメモリアクセスの双方が完了することになるので、アドレスカウンタ33Aは、データカウンタ35Aの計数値が「0」で16W境界カウンタ36は計数値が「1」であって、上記の動作期間の場合に入力される内部クロックCLKの立ち上がりに同期して、計数値を「1」インクリメントし、次にアクセスするバーストアドレスBADとして出力する。このとき、アドレス変化検出部41Aは、アドレスカウンタ33Aの出力するバーストアドレスBADが変化したことを検出して、ATD回路8に対してワンショットパルスの検出信号DTを出力する。
At time t 317 , both the output of valid data and memory access are completed, so that the
時刻t317において、ページラッチ信号生成部42Aは、16W境界カウンタ36Aの計数値のデクリメント処理が行われて「1」となって、上記の動作期間の場合に入力される内部クロックCLKの立ち上がりに同期して、時刻t316において立ち上げたページラッチ信号PL0〜PL3を立ち下げる(「H」レベルから「L」レベルとする)。これにより、ページラッチ部10−0、10−1、10−2、10−3は、夫々、センスデータラッチ9Aから出力されているセンスラッチデータSLD01、SLD23、SLD45、SLD67をラッチし、「D16」および「D17」、「D18」および「D19」、「D20」および「D21」、「D22」および「D23」をページラッチデータPLDとして出力する。
出力ラッチ12Aは、ページセレクタ11Aから出力されているページデータPD(「D16」)を、内部クロックCLKの立ち上がりに同期して保持し、セレクタ13およびデータ出力制御部14を介して、アウトプットデータOUTとして出力する。
At time t 317 , the page latch
The output latch 12A holds the page data PD (“D16”) output from the page selector 11A in synchronization with the rising edge of the internal clock CLK, and outputs the output data via the
ページコントロール信号生成部43Aは、上記の動作期間の場合に入力される内部クロックCLKに同期して、ページコントロール信号PCを「P0」から「P1」にインクリメントし、「P1」をページコントロール信号PCとして出力する。これにより、ページセレクタ11Aは、ページラッチ10A(ページラッチ部10−0〜10−3)が出力しているページラッチデータPLD(PLD01、PLD23、PLD45、PLD67)の中から、ページコントロール信号PC(「P1」)に対応する「D17」を選択して、「D17」をページデータPDとして出力する。
以降、図15の時刻t113以降と同様の動作が行われる。
The page control
Thereafter, the same operation as the time t 113 onward in FIG 15 is performed.
上記において、基本的動作を説明した本実施の形態のフラッシュメモリにおいてサスペンドが発生した場合の動作について図18を参照しつつ説明する。図18は、ファーストレイテンシが6サイクル、開始アドレスの下位4ビットが「C(12)」の場合における、従来例の各回路の動作のタイミングチャートを示している。ただし、サスペンドが発生していない期間は上述した動作と同様であることから、ここでは、サスペンド期間の動作について説明する。
時刻t421において、アウトプットイネーブル信号OEBが立ち上がると(「L」レベルから「H」レベルに遷移する)と(サスペンドの発生)、時刻t408において、入力バッファ1は内部クロックCLKの立ち上がりに同期して、クロックイネーブル信号CLKENを立ち下げる(「H」レベルから「L」レベルに遷移させる)。
また、ウェイト信号生成部44Aは、クロックイネーブル信号CLKENの立ち下がりに同期して、ウェイト信号WAITを立ち上げる。
With reference to FIG. 18, the operation when the suspend occurs in the flash memory according to the present embodiment, in which the basic operation is described above, will be described. FIG. 18 shows a timing chart of the operation of each circuit of the conventional example when the first latency is 6 cycles and the lower 4 bits of the start address are “C (12)”. However, since the period in which no suspend occurs is similar to the above-described operation, the operation in the suspend period will be described here.
When the output enable signal OEB rises at time t 421 (transition from “L” level to “H” level) (occurrence of suspend), the
The wait
時刻t408において、データカウンタ35Aは、上記の動作期間の場合に入力される内部クロックCLKの立ち上がりに同期して、計数値を「1」デクリメントして計数値を「2」にする。16W境界カウンタ36Aは、入力される内部クロックCLKの立ち上がりに同期して、計数値を「1」デクリメントして計数値を「4」にする。
出力バッファラッチ12Bは、出力ラッチ12Aから出力されている「D12」を、内部クロックCLKの立ち上がりに同期して保持する。
出力ラッチ12Aは、ページセレクタ11Aから出力されているページデータPD(「D13」)を、内部クロックCLKの立ち上がりに同期して保持し、セレクタ13およびデータ出力制御部14を介して、アウトプットデータOUTとして出力する。
At time t408 , the data counter 35A decrements the count value by “1” in synchronization with the rising edge of the internal clock CLK input during the above-described operation period to set the count value to “2”. The
The output buffer latch 12B holds “D12” output from the output latch 12A in synchronization with the rising edge of the internal clock CLK.
The output latch 12A holds the page data PD (“D13”) output from the page selector 11A in synchronization with the rising edge of the internal clock CLK, and outputs the output data via the
ページコントロール信号生成部43Aは、上記の動作期間の場合に入力される内部クロックCLKの立ち上がりに同期して、ページコントロール信号PCを「P5」から「P6」にインクリメントし、「P6」をページコントロール信号PCとして出力する。これにより、ページセレクタ11Aは、ページラッチ10A(ページラッチ部10−0〜10−3)が出力しているページラッチデータPLD(PLD01〜PLD67)の中から、ページコントロール信号PC(「P6」)に対応する「D14」を選択して、「D9」をページデータPDとして出力する。
The page control
時刻t422において、アウトプットイネーブル信号OEBが立ち下がる(「H」レベルから「L」レベルに遷移する)と、時刻t409において、入力バッファ1は入力される内部クロックCLKの立ち上がりに同期して、クロックイネーブル信号CLKENを立ち上げる(「L」レベルから「H」レベルに遷移させる)。
また、ウェイト信号生成部44は、クロックイネーブル信号CLKENの立ち上がりに同期して、ウェイト信号WAITを立ち下げる。
なお、ファーストレイテンシの期間中にサスペンドが発生した場合も、上述した通り、ファーストレイテンシカウンタ34Aがクロックイネーブル信号CLKENが「H」レベルであると「L」レベルであるとにかかわらず動作するため、本実施の形態のファーストレイテンシカウンタ34Aがサスペンド期間中であってもメモリアクセスのアクセス時間に対応したクロックサイクル数を計数していることになり、ファーストレイテンシカウンタ34Aの計数値は実際にメモリアクセスが完了する時点のクロックサイクル数と指し示すことになる。
When the output enable signal OEB falls (changes from “H” level to “L” level) at time t 422 , the
Further, the wait
Even when the suspend occurs during the first latency period, as described above, the
時刻t409、t410において、データカウンタ35Aは、上記の停止期間の場合に入力される内部クロックCLKの立ち上がり(クロックイネーブル信号CLKENが「L」レベルの期間に入力される内部クロックCLKの立ち上がり、およびクロックイネーブル信号が「H」レベルになって最初に入力される内部クロックCLKの立ち上がり)であるので、入力される内部クロックCLKの立ち上がりに同期した計数値を「1」デクリメントする処理を行わず、計数値は「2」のままである。
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の計数値は実際にメモリアクセスが完了する時点のクロックサイクル数と指し示すことになる。
At times t 409 and t 410 , the data counter 35A causes the rising edge of the internal clock CLK that is input in the case of the stop period (the rising edge of the internal clock CLK that is input while the clock enable signal CLKEN is at the “L” level, Since the clock enable signal becomes “H” level and rises of the internal clock CLK that is input first, the count value synchronized with the rise of the input internal clock CLK is not decremented by “1”. The count value remains “2”.
Since the
Further, the page control
Even when suspend occurs during the fast latency period, as described above, the
時刻t409において、出力バッファラッチ12Bは、出力ラッチ12Aから出力されている「D13」を、内部クロックCLKの立ち上がりに同期して保持する。
出力ラッチ12Aは、出力バッファラッチ12Bから出力されているデータ「D12」を、内部クロックCLKの立ち上がりに同期して保持する。
At time t409 , the output buffer latch 12B holds “D13” output from the output latch 12A in synchronization with the rising edge of the internal clock CLK.
The output latch 12A holds the data “D12” output from the output buffer latch 12B in synchronization with the rising edge of the internal clock CLK.
時刻t410において、出力ラッチ12Aは、出力バッファラッチ12Bから出力されているデータ「D13」を、内部クロックCLKの立ち上がりに同期して保持する。 At time t410 , the output latch 12A holds the data “D13” output from the output buffer latch 12B in synchronization with the rising edge of the internal clock CLK.
時刻t411において、データカウンタ35Aは、上記の動作期間の場合に入力される内部クロックCLKの立ち上がりに同期して、計数値を「1」デクリメントして計数値を「1」にする。16W境界カウンタ36Aは、入力される内部クロックCLKの立ち上がりに同期して、計数値を「1」デクリメントして計数値を「1」にする。
出力バッファラッチ12Bは、ページセレクタ11Aから出力されているページデータPD(「D14」)を、内部クロックCLKの立ち上がりに同期して保持する。
出力ラッチ12Aは、ページセレクタ11Aから出力されているページデータPD(「D14」)を、内部クロックCLKの立ち上がりに同期して保持し、セレクタ13およびデータ出力制御部14を介して、アウトプットデータOUTとして出力する。
At time t411 , the data counter 35A decrements the count value by “1” in synchronization with the rising edge of the internal clock CLK input during the above-described operation period to set the count value to “1”. The
The output buffer latch 12B holds the page data PD (“D14”) output from the page selector 11A in synchronization with the rising edge of the internal clock CLK.
The output latch 12A holds the page data PD (“D14”) output from the page selector 11A in synchronization with the rising edge of the internal clock CLK, and outputs the output data via the
ページコントロール信号生成部43Aは、上記の動作期間の場合に入力される内部クロックCLKの立ち上がりに同期して、ページコントロール信号PCを「P6」から「P7」にインクリメントし、「P7」をページコントロール信号PCとして出力する。これにより、ページセレクタ11Aは、ページラッチ10A(ページラッチ部10−0〜10−3)が出力しているページラッチデータPLD(PLD01〜PLD67)の中から、ページコントロール信号PC(「P7」)に対応する「D15」を選択して、「D13」をページデータPDとして出力する。
The page control
時刻t412において、データカウンタ35Aは、上記の動作期間の場合に入力される内部クロックCLKの立ち上がりに同期して、計数値を「1」デクリメントして計数値を「0」にする。16W境界カウンタ36Aは、入力される内部クロックCLKの立ち上がりに同期して、計数値を「1」デクリメントして計数値を「0」にする。
出力バッファラッチ12Bは、出力ラッチ12Aから出力されている「D14」を、内部クロックCLKの立ち上がりに同期して保持する。
出力ラッチ12Aは、ページセレクタ11Aから出力されているページデータPD(「D15」)を、内部クロックCLKの立ち上がりに同期して保持し、セレクタ13およびデータ出力制御部14を介して、アウトプットデータOUTとして出力する。
At time t412 , the data counter 35A decrements the count value by “1” and sets the count value to “0” in synchronization with the rising edge of the internal clock CLK input in the above operation period. The
The output buffer latch 12B holds “D14” output from the output latch 12A in synchronization with the rising edge of the internal clock CLK.
The output latch 12A holds the page data PD ("D15") output from the page selector 11A in synchronization with the rising edge of the internal clock CLK, and outputs the output data via the
ページコントロール信号生成部43Aは、上記の動作期間の場合に入力される内部クロックCLKの立ち上がりに同期して、ページコントロール信号PCを「P7」から「P0」にインクリメントし、「P0」をページコントロール信号PCとして出力する。これにより、ページセレクタ11Aは、ページラッチ10A(ページラッチ部10−0〜10−3)が出力しているページラッチデータPLD(PLD01〜PLD67)の中から、ページコントロール信号PC(「P0」)に対応する「D16」を選択して、「D13」をページデータPDとして出力する。
また、ページラッチ信号生成部42Aは、ページラッチ信号PL0〜PL3を立ち上げる(「L」レベルから「H」レベルにする)。
The page
Further, the page latch
このように、ファーストレイテンシカウンタ34Aや16W境界カウンタ36Aがサスペンド期間中であっても動作してクロックサイクル数を計数することになるので、従来例において説明したフラッシュメモリの場合のように、実際のメモリアクセスが完了しているにもかかわらず、見かけ上はメモリアクセスが完了せずにメモリアクセスの完了を待つというようなことがなく、高速なバースト読み出しを実現することができる。
As described above, since the
上述した本実施の形態のフラッシュメモリにおけるサスペンドが発生しない場合の各組合わせ(下位アドレスとファーストレイテンシとの組合わせ)における最初の16ワード境界において発生する境界前ウェイトサイクルのサイクル数を図19に示す。図19は本実施の形態のフラッシュメモリにおける16ワード境界前のウェイトサイクル数を示す図である。
図19に示すように、開始アドレスの下位4ビットの夫々に対して、有効データ数と最初の16ワード境界におけるウェイトサイクル数(図においては16ワード境界ウェイトサイクル数と記載)を示している。
有効データ数に関して、「1st」は最初の16ワード境界前の1回目のメモリアクセスでメモリセルアレイから読み出される有効データの数であり、「2nd」は最初の16ワード境界前の2回目のメモリアクセスでメモリセルアレイから読み出される有効データの数である。
FIG. 19 shows the number of wait cycles before boundary generated at the first 16 word boundary in each combination (combination of lower address and first latency) in the case where suspend does not occur in the flash memory according to the present embodiment described above. Show. FIG. 19 is a diagram showing the number of wait cycles before the 16-word boundary in the flash memory according to the present embodiment.
As shown in FIG. 19, for each of the lower 4 bits of the start address, the number of valid data and the number of wait cycles at the first 16 word boundary (shown as 16 word boundary wait cycle numbers in the figure) are shown.
Regarding the number of valid data, “1st” is the number of valid data read from the memory cell array in the first memory access before the first 16 word boundary, and “2nd” is the second memory access before the first 16 word boundary. This is the number of valid data read from the memory cell array.
また、「境界前」は、開始アドレスの下位4ビットが「0」から「7」の場合には、「1st」のメモリアクセス(最初の16境界前の1回目のメモリアクセス)でメモリセルアレイから読み出される有効データの数と「2nd」のメモリアクセス(最初の16境界前の2回目のメモリアクセス)でメモリセルアレイから読み出される有効データの数との和であり、下位4ビットが「8」から「F(15)」の場合には「1st」のメモリアクセス(最初の16境界前の1回目のメモリアクセス)でメモリセルアレイから読み出される有効データの数ということになる。
waitに続く数字はファーストレイテンシのクロックサイクル数であり、例えば「wait8」はファーストレイテンシのクロックサイクル数が8であることを示している。
“Before boundary” means that when the lower 4 bits of the start address are “0” to “7”, “1st” memory access (the first memory access before the first 16 boundaries) is performed from the memory cell array. This is the sum of the number of valid data to be read and the number of valid data to be read from the memory cell array in the “2nd” memory access (the second memory access before the first 16 boundaries). In the case of “F (15)”, this is the number of valid data read from the memory cell array in the “1st” memory access (the first memory access before the first 16 boundaries).
The number following “wait” is the number of clock cycles of the first latency. For example, “wait 8” indicates that the number of clock cycles of the first latency is 8.
図19に示されると通り、ファーストレイテンシが6サイクル、開始アドレスの下位4ビットが「E(14)」の場合(図15)、16ワード境界ウェイトサイクル数は「3」である。また、ファーストレイテンシが6サイクル、開始アドレスの下位4ビットが「6」の場合(図16)、16ワード境界ウェイトサイクル数は「0」である。さらに、ファーストレイテンシが6サイクル、開始アドレスの下位4ビットが「8」の場合(図17)、16ワード境界ウェイトサイクル数は「1」である。
例えば、ファーストレイテンシが6サイクル、開始アドレスの下位4ビットが「6」の場合(図図16の場合)は、16ワード境界ウェイトサイクル数は「0」であり、従来のフラッシュメモリの16ワード境界ウェイトサイクル数「3」(図10参照)に比較して、16ワード境界ウェイトサイクル数が減少していることが分かる。
As shown in FIG. 19, when the first latency is 6 cycles and the lower 4 bits of the start address are “E (14)” (FIG. 15), the number of 16 word boundary wait cycles is “3”. When the first latency is 6 cycles and the lower 4 bits of the start address are “6” (FIG. 16), the number of 16 word boundary wait cycles is “0”. Further, when the first latency is 6 cycles and the lower 4 bits of the start address are “8” (FIG. 17), the number of 16 word boundary wait cycles is “1”.
For example, when the first latency is 6 cycles and the lower 4 bits of the start address are “6” (in the case of FIG. 16), the 16-word boundary wait cycle number is “0”, and the 16-word boundary of the conventional flash memory It can be seen that the number of 16 word boundary wait cycles is reduced compared to the number of wait cycles “3” (see FIG. 10).
これは、ページラッチ10Aを4つのページラッチ部10−0〜10−3に分割し、各ページラッチ部10−0〜10−3単位で書き込み処理を独立して(個別に)行うようにしたことにより、ページラッチ10A全体で保持している有効データのバースト出力を待つことなしに、バースト出力の完了したページラット部10−0〜10−3のみの書き換えが可能になったことにより得られる効果である。これにより、次のメモリアクセスの開始を早くすることができ、バースト読み出しの高速化が実現される。 In this method, the page latch 10A is divided into four page latch units 10-0 to 10-3, and writing processing is performed independently (individually) in units of the page latch units 10-0 to 10-3. As a result, only the page rats 10-0 to 10-3 that have completed burst output can be rewritten without waiting for the burst output of valid data held in the entire page latch 10A. It is an effect. As a result, the start of the next memory access can be accelerated, and the burst read speed can be increased.
以上説明した本実施の形態によれば、サスペンド発生時(アウトプットイネーブル信号OEBの立ち上がり時)のクロックイネーブル信号CLKENの立ち下がりを、従来例で説明したフラッシュメモリではアウトプットイネーブル信号OEBの立ち上がりに同期させていた(内部クロックCLKとは非同期)のを、アウトプットイネーブル信号OEBが立ち上がり後の内部クロックCLK(上述した実施の形態においては、アウトプットイネーブル信号OEBが立ち上がり後の最初の内部クロックCLK)の立ち上がりに同期させるようにした。このように、クロックイネーブル信号CLKENを内部クロックCLKに同期させるようにしたため、従来例のフラッシュメモリで問題となる可能性のあったサスペンド発生(アウトプットイネーブル信号OEBの立ち上がり)直後の内部クロックCLKの誤動作が本実施の形態のフラッシュメモリでは発生しないという利点が得られる。 According to the present embodiment described above, the fall of the clock enable signal CLKEN at the time of suspend occurrence (at the rise of the output enable signal OEB) is changed to the rise of the output enable signal OEB in the flash memory described in the conventional example. The internal clock CLK after the output enable signal OEB rises (in the above-described embodiment, the first internal clock CLK after the output enable signal OEB rises). ) Synchronized with the rising edge. As described above, since the clock enable signal CLKEN is synchronized with the internal clock CLK, the internal clock CLK immediately after the occurrence of suspend (rising of the output enable signal OEB), which may cause a problem in the conventional flash memory, is generated. There is an advantage that no malfunction occurs in the flash memory of this embodiment.
以上、本発明の好適な実施の形態について説明したが、本発明は上述の実施の形態に限られるものではなく、特許請求の範囲に記載した限りにおいて様々な設計変更が可能なものである。
例えば、従来例において説明した1つのページラッチ信号によりページラッチの書き換えを行うフラッシュメモリに対して、サスペンド発生時(アウトプットイネーブル信号OEBの立ち上がり時)のクロックイネーブル信号CLKENの立ち下がりを、アウトプットイネーブル信号OEBが立ち上がり後の内部クロックCLK(例えば、アウトプットイネーブル信号OEBが立ち上がり後の最初の内部クロックCLK)の立ち上がりに同期させるようにした手法を適用するようにしてもよい。
また、上述した本実施の形態においては、ファーストレイテンシカウンタ34Aと16W境界カウンタ36Aとがクロックイネーブル信号CLKENが「H」レベルであると「L」レベルであるとに拘わらず動作するようにしている場合である。これに拘わらず、例えば、クロックイネーブル信号CLKENが「L」レベルの期間に入力される内部クロックCLKの立ち上がり、およびクロックイネーブル信号が「H」レベルになって最初に入力される内部クロックCLKの立ち上がり、以外の内部クロックCLKの立ち上がりに同期して計数値を「1」デクリメントするようにしてもよい。この場合、サスペンド発生中はメモリアクセスのアクセス時間に対応した時間のクロックサイクル数を計数するファーストレイテンシカウンタや16W境界カウンタが停止してしまうために、メモリアクセスの開始を早くすることができるという効果は得られなくなるが、従来例のフラッシュメモリで問題となる可能性のあったサスペンド発生(アウトプットイネーブル信号OEBの立ち上がり)直後の内部クロックCLKの誤動作が本実施の形態のフラッシュメモリでは発生しないという利点が得られる。
The preferred embodiments of the present invention have been described above. However, the present invention is not limited to the above-described embodiments, and various design changes can be made as long as they are described in the claims.
For example, for the flash memory in which the page latch is rewritten by one page latch signal described in the conventional example, the output of the falling edge of the clock enable signal CLKEN when the suspend occurs (when the output enable signal OEB rises) A technique may be applied in which the internal clock CLK after the enable signal OEB rises (for example, the first internal clock CLK after the output enable signal OEB rises) is synchronized.
In the above-described embodiment, the
1A 入力バッファ
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 (4)
内部クロックに同期してクロックイネーブル信号をディセーブルにすることを特徴とする半導体メモリ。 A semiconductor memory having a burst read function for continuously outputting memory data read out from memory elements arranged in a matrix in synchronization with an external clock based on a leading address input from the outside,
A semiconductor memory, wherein a clock enable signal is disabled in synchronization with an internal clock.
前記ブロック毎に読み出し線に接続されたメモリ素子のメモリデータを読み出すN個のセンスアンプと、
前記N個のセンスアンプ各々に対して、M×N本の読み出し線における何れのN本を接続するかの切り替えを行う切替スイッチと、
前記センスアンプにより、前記読み出し線から読み出されたメモリデータをラッチするセンスデータラッチと、
複数のページラッチ部に分割され、各ページラッチ部単位でメモリデータの書込処理を行うページラッチと、
前記ページラッチが出力するメモリデータを選択するページセレクタと、
前記ページセレクタにより選択されたメモリデータを保持して出力する出力ラッチと、
前記出力ラッチが出力するメモリデータを保持するバッファ回路と、
を備えたことを特徴とする請求項2記載の半導体メモリ。 A block obtained by dividing the memory element into M × N (M and N are integers) read lines;
N sense amplifiers for reading out memory data of memory elements connected to read lines for each block;
A selector switch for switching which N of the M × N readout lines are connected to each of the N sense amplifiers;
A sense data latch for latching memory data read from the read line by the sense amplifier;
A page latch that is divided into a plurality of page latch units and performs a memory data write process in units of each page latch unit;
A page selector for selecting memory data output by the page latch;
An output latch for holding and outputting the memory data selected by the page selector;
A buffer circuit for holding memory data output from the output latch;
3. The semiconductor memory according to claim 2, further comprising:
メモリアクセスに必要なアクセス時間に対応したクロックサイクル数を計数するタイム計数手段と、
をさらに有することを特徴とする請求項2または請求項3記載の半導体メモリ。
Data counting means for counting the number of clock cycles corresponding to the time required to output the memory data read from the memory cell element to the outside when the input clock enable signal is enabled;
Time counting means for counting the number of clock cycles corresponding to the access time required for memory access;
The semiconductor memory according to claim 2, further comprising:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005268150A JP4943682B2 (en) | 2005-09-15 | 2005-09-15 | Semiconductor memory |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005268150A JP4943682B2 (en) | 2005-09-15 | 2005-09-15 | Semiconductor memory |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2007080411A true JP2007080411A (en) | 2007-03-29 |
JP4943682B2 JP4943682B2 (en) | 2012-05-30 |
Family
ID=37940547
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005268150A Active JP4943682B2 (en) | 2005-09-15 | 2005-09-15 | Semiconductor memory |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4943682B2 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010044822A (en) * | 2008-08-12 | 2010-02-25 | Toppan Printing Co Ltd | Semiconductor memory |
JP2010198686A (en) * | 2009-02-25 | 2010-09-09 | Toppan Printing Co Ltd | Semiconductor memory |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001118395A (en) * | 1999-10-18 | 2001-04-27 | Nec Corp | Semiconductor memory and data read-out method |
JP2002150773A (en) * | 2000-09-01 | 2002-05-24 | Mitsubishi Electric Corp | Semiconductor device |
JP2004206832A (en) * | 2002-12-26 | 2004-07-22 | Fujitsu Ltd | Semiconductor memory and control method for semiconductor memory |
JP2005092966A (en) * | 2003-09-16 | 2005-04-07 | Renesas Technology Corp | Semiconductor memory device |
JP2005228425A (en) * | 2004-02-13 | 2005-08-25 | Toppan Printing Co Ltd | Semiconductor memory |
-
2005
- 2005-09-15 JP JP2005268150A patent/JP4943682B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001118395A (en) * | 1999-10-18 | 2001-04-27 | Nec Corp | Semiconductor memory and data read-out method |
JP2002150773A (en) * | 2000-09-01 | 2002-05-24 | Mitsubishi Electric Corp | Semiconductor device |
JP2004206832A (en) * | 2002-12-26 | 2004-07-22 | Fujitsu Ltd | Semiconductor memory and control method for semiconductor memory |
JP2005092966A (en) * | 2003-09-16 | 2005-04-07 | Renesas Technology Corp | Semiconductor memory device |
JP2005228425A (en) * | 2004-02-13 | 2005-08-25 | Toppan Printing Co Ltd | Semiconductor memory |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010044822A (en) * | 2008-08-12 | 2010-02-25 | Toppan Printing Co Ltd | Semiconductor memory |
JP2010198686A (en) * | 2009-02-25 | 2010-09-09 | Toppan Printing Co Ltd | Semiconductor memory |
Also Published As
Publication number | Publication date |
---|---|
JP4943682B2 (en) | 2012-05-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5903496A (en) | Synchronous page-mode non-volatile memory with burst order circuitry | |
US20050047239A1 (en) | Semiconductor storage device and refresh control method thereof | |
KR100909630B1 (en) | Address counter circuit | |
US8358557B2 (en) | Memory device and method | |
US7692982B2 (en) | Semiconductor memory apparatus with write training function | |
JP3737437B2 (en) | Semiconductor memory and entry method of operation mode thereof | |
JP4999302B2 (en) | Semiconductor memory | |
KR100437467B1 (en) | Multi-chip system having continuous burst read mode of operation | |
US20060198236A1 (en) | Write address synchronization useful for a DDR prefetch SDRAM | |
US7405995B2 (en) | Semiconductor storage device | |
JPH0845277A (en) | Semiconductor memory | |
JP2014154119A (en) | Memory controller and semiconductor storage device | |
US6968436B2 (en) | Memory controller that controls supply timing of read data | |
JP5000872B2 (en) | Semiconductor memory | |
JP4943681B2 (en) | Semiconductor memory | |
CN1825474A (en) | Random access memory having fast column access | |
EP1058269B1 (en) | Synchronous multilevel non-volatile memory and related reading method | |
JP4943682B2 (en) | Semiconductor memory | |
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 | |
KR100719378B1 (en) | Flash memory device with rapid random access function and computing system including the same | |
JP2000268566A (en) | Synchronous type semiconductor storage device | |
US20070002637A1 (en) | Semiconductor memory device | |
JP4684561B2 (en) | Semiconductor memory | |
US7894295B2 (en) | Semiconductor memory device |
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 |