JP5239939B2 - 半導体メモリ - Google Patents

半導体メモリ Download PDF

Info

Publication number
JP5239939B2
JP5239939B2 JP2009042788A JP2009042788A JP5239939B2 JP 5239939 B2 JP5239939 B2 JP 5239939B2 JP 2009042788 A JP2009042788 A JP 2009042788A JP 2009042788 A JP2009042788 A JP 2009042788A JP 5239939 B2 JP5239939 B2 JP 5239939B2
Authority
JP
Japan
Prior art keywords
data
address
output
counter
latch
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2009042788A
Other languages
English (en)
Other versions
JP2010198686A (ja
Inventor
洋 高島
正通 浅野
増治 西山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toppan Inc
Original Assignee
Toppan Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toppan Inc filed Critical Toppan Inc
Priority to JP2009042788A priority Critical patent/JP5239939B2/ja
Publication of JP2010198686A publication Critical patent/JP2010198686A/ja
Application granted granted Critical
Publication of JP5239939B2 publication Critical patent/JP5239939B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Read Only Memory (AREA)

Description

本発明は、半導体メモリのデータ読み出し、特にバースト読み出し機能を備えた半導体メモリに関する。
従来のフラッシュメモリにおけるメモリ領域に記憶されている一連のデータを連続して読み出すバースト読み出しは、外部から入力されるクロックに同期して、記憶されているデータを連続して読み出す動作であるが、アクセス時間が外部入力クロックに対して非同期に動作するフラッシュメモリでは、データを外部入力クロックに同期させて出力する構成が必要となる。
フラッシュメモリのメモリ領域を構成するメモリ素子からデータを読み出す場合、読み出し命令を入力してから、当該命令に対応する最初のデータがメモリ素子から読み出されるのに要する時間(アクセス時間)が経過するまでの待ち時間が発生する。そのため、バースト読み出しを示すバースト読み出し命令をフラッシュメモリに入力してから、当該命令に対応する最初のデータが出力されるまでの待ち時間を示すウエイトサイクル数を設定することで、フラッシュメモリと、当該フラッシュメモリに記憶されているデータを読み出す外部装置とを同期させる。なお、このウエイトサイクルをファーストレイテンシという。また、ファーストレイテンシは、(アクセス時間)/(外部入力クロックの周期)で算出される実数を含む最小の整数で定められる。そのため、外部入力クロックの周期に応じてファーストレイテンシを設定する必要がある。
また、バースト読み出し命令を行うフラッシュメモリでは、1度の読み出し動作により複数のデータを読み出して、読み出した複数のデータを出力している間に新たな複数のデータを読み出すことで、連続したデータの出力を行っている。
フラッシュメモリにはアドレス境界があり、アドレス境界は、メモリセルアレイの構成(ワード線及びビット線の構成)と、読み出したデータを制御するセンスアンプの構成に依存する。このアドレス境界をまたいで1度にメモリセルアレイからデータを読み出すことができず、アドレス境界を境にして、アドレス境界前のデータとアドレス境界後のデータとの2回に分けてデータを読み出すことになる。
バースト読み出し命令により、読み出すべき一連のデータの先頭アドレスによってアドレス境界前の有効データ(外部にバースト出力すべきデータ)の数が異なることから、アドレス境界前の読み出した有効データを出力するのに要する時間が、アドレス境界後のデータの読み出しに要する時間(アクセス時間)よりも短くなることがあり、この場合、データの読み出しの完了を待つためのウエイトサイクルが発生する。なお、以下において、このウエイトサイクルをワード境界ウエイトサイクルという。
また、フラッシュメモリは、バースト読み出しにおいて、読み出し開始における最初のアドレス境界において発生するワード境界ウエイトサイクルにより、データ出力待ち時間が発生する。なお、それ以降のアドレス境界においては、読み出したデータを出力している間に、次に出力するデータの読み出し、出力の準備を行うので、ワード境界ウエイトサイクルを発生させることなくデータを連続して出力する。
例えば、特許文献1に記載の半導体メモリでは、バースト読み出し命令が入力されてから最初の読み出しデータが出力されるまでの5サイクルのファーストレイテンシが発生し、その後、最初のアドレス境界に続くデータの読み出し完了を待つためにワード境界ウエイトサイクルが発生し、読み出したデータの出力がワード境界ウエイトサイクルの間、すなわち、最初のアドレス境界をまたいだデータの読み出しが完了するまで途切れている。
特開2007−80410号公報
上述のように、半導体メモリは、バースト読み出しの最中にワード境界ウエイトサイクルが生じると、半導体メモリからデータを読み出している外部装置が無効なデータを読み込まないように、出力しているデータが無効なデータであることを知らせる必要がある。そのため、半導体メモリは、出力しているデータが有効なデータであるか否かを示すためのレディ信号RDYなどを出力し、当該データの読み出す外部装置に有効なデータを出力していることを通知するハンドシェイクを用いたデータ伝送を行っている。
半導体メモリからデータを読み出す外部装置のインターフェイス回路は、ハンドシェイクを行うために複雑になると共に回路規模が増加して、高速化を妨げる問題がある。
本発明は、上記問題を解決すべくなされたもので、その目的は、バースト読み出し動作において、最初のアドレス境界により有効なデータを途切れることなくクロックに同期し連続して出力する半導体メモリを提供する。
上記問題を解決するために、本発明は、備えられたメモリセルアレイの連続するメモリ領域に記憶されているデータを入力されるクロック信号に同期して順次出力するバースト読み出しの機能を有する半導体メモリであって、前記バースト読み出し命令が入力されると、該バースト読み出し命令に含まれる開始アドレスから最初のアドレス境界までの前記メモリ領域から読み出した第1のデータを出力する際に要するクロックサイクル数と、予め設定されているファーストレイテンシとに応じてウエイトサイクルを設定すると共に、設定した該ウエイトサイクルを前記クロック信号に同期してカウントするサイクルカウント部と、前記バースト読み出し命令が入力されると、前記第1のデータの前記メモリ領域からの読み出しと、前記最初のアドレス境界直後に記憶されている第2のデータの前記メモリ領域からの読み出しとを連続して行い、前記サイクルカウント部のカウントが終了すると、前記第1のデータと前記第2のデータとを前記クロック信号に同期して連続したクロックサイクルで外部への出力を開始させるサイクル制御部と、を具備し、前記アドレス境界は、前記メモリセルアレイの構成により、1回の前記データの読み出しに含めることができないアドレスの境界であることを特徴とする半導体メモリである。
また、本発明は、上記記載の発明において、前記サイクルカウント部は、前記ファーストレイテンシを前記クロック信号に同期してカウントするファーストレイテンシカウンタと、前記ファーストレイテンシのサイクル数と、前記第1のデータの出力に要するサイクル数とに基づいて、前記バースト読み出しに対応する前記データを外部へ出力するタイミングを前記クロック信号に同期してカウントする境界レイテンシカウンタと、を備え、前記ファーストレイテンシカウンタと前記境界レイテンシカウンタとを順に動作させて、前記バースト読み出し命令が入力されてから、該命令に対応したデータの出力を開始するまでのウエイトサイクルをカウントし、前記境界レイテンシカウンタがカウントする値は、前記第1のデータを出力する際に要するサイクル数が、前記第2のデータを前記メモリ領域から読み出す時間に対応するサイクル数以上の場合、「0」であり、前記第1のデータを出力する際に要するサイクル数が、前記第2のデータを読み出すサイクル数より小さい場合、前記第1のデータを出力する際に要するサイクル数と前記第2のデータを前記メモリ領域から読み出す時間に対応するサイクル数との差である、ことを特徴とする。
また、本発明は、上記記載の発明において、前記ファーストレイテンシは、前記クロック信号の周期と前記メモリセルアレイのデータ読み出し時間に応じて設定されることを特徴とする。
また、本発明は、上記記載の発明において、前記境界レイテンシカウンタは、前記バースト読み出し命令に含まれるアドレスの下位ビットに応じて前記境界レイテンシが設定されることを特徴とする。
この発明により、半導体メモリは、サイクルカウント部が、入力されるバースト読み出し命令により指定される開始アドレスに応じたウエイトサイクルを算出して設定し、サイクル制御部が当該ウエイトサイクルに応じて読み出しデータの出力を制御する。開始アドレスに応じて設定されたウエイトサイクルは、バースト読み出しにおいて、最初に読み出すデータと、2回目に読み出すデータとの読み出しに必要なサイクル数であり、出力する第1のデータ及び第2のデータが用意できてから第1のデータを出力する。すなわち、サイクルカウント部は、アドレス境界直後の2回目に読み出すデータの読み出しに要するサイクル数と、最初に読み出す第1のデータを出力できるまでに要するウエイトサイクルとに応じたウエイトサイクルを設定し、当該ウエイトサイクルのカウントを行う。サイクル制御部は、サイクルカウント部がウエイトサイクルのカウントを行っている間に、第1のデータ及び第2のデータの読み出しを開始し、出力するべきデータを用意することで、最初のアドレス境界の前後に記憶されているデータを出力する際に、データを途切れさせることなくクロックに同期し連続して出力することが可能となる。
本実施形態における半導体メモリの構成を示す概略ブロック図である。 同実施形態におけるバースト制御部の構成を示した概略ブロック図である。 同実施形態における開始アドレスの下位4ビットが「14」の場合のバースト読み出し動作の概略を示したタイミングチャートである。 同実施形態における開始アドレスの下位4ビットが「6」の場合のバースト読み出し動作の概略を示したタイミングチャートである。 同実施形態における開始アドレスの下位4ビットの値それぞれに対して、有効データ数と、データの出力開始までの総ウエイトサイクル数とを示す図である。
以下、本発明の一実施形態による半導体メモリ及び当該半導体メモリの動作を図面を参照して説明する。なお、本実施形態では、ブロックを16ワードとし、読み出し単位を8ワードとして説明する。また、半導体メモリ100の特徴は、バースト読み出しが入力されてからデータを出力するまでの間に、ファーストレイテンシとワード境界ウエイトサイクルとをまとめてウエイトサイクルとしてカウントし、当該ウエイトサイクルをカウントしている間に最初のアドレス境界前後のデータ読み出しを行うことで出力するデータを用意し、データの出力を開始後には、毎クロックサイクルにおいてデータを連続して出力させることにある。
図1は、本実施形態による半導体メモリ100を示す概略ブロック図である。
半導体メモリ100は、入力バッファ1、アドレスラッチ2、バースト制御部3、アドレス制御部4、ローデコーダ5及びメモリセルアレイ6を含み構成されるメモリバンク7−0、7−1、…、7−n、カラムデコーダ8、センスアンプ・センスデータラッチ9、イネーブル制御部10、2ワードデータラッチ12−0〜12〜3を含み構成される8ワードデータラッチ11、ページセレクタ13、出力ラッチ14、データセレクタ15、データ出力制御部16、及び、レディ出力制御部17を具備する。
なお、半導体メモリ100のアドレス境界は16ワードごとにある。また、1ワードは、16ビット幅のデータである。また、半導体メモリ100において、バースト読み出し命令は、バースト読み出しの開始アドレスを示す外部アドレスと、当該外部アドレスが有効であることを示すアドレスバリッド信号ADVBとからなる。また、メモリバンク7−0、7−1、…、7−nは、同じ構成を有しており、以下、メモリバンク7−0、7−1、…、7−nのいずれか、あるいは、全てを代表して示す場合にはメモリバンク7という。
イネーブル制御部10は、外部から入力されるチップイネーブル信号CEB、アウトプットイネーブル信号OEBを波形整形等の処理を行い出力する。ここで、イネーブル制御部10は、「L」レベルのチップイネーブル信号CEBと、「L」レベルのアウトプットイネーブル信号OEBとが共に入力されると、入力バッファ1に活性化状態となる「H」レベルのチップ選択信号CSと、バースト制御部3に活性化状態となる「H」レベルの出力選択信号OSを出力する。
入力バッファ1は、外部から入力されるアドレスバリッド信号ADVB、外部クロック信号、外部アドレス信号(例えば、A0〜A22)を波形整形等の処理を行う。また、入力バッファ1は、入力された信号から、アドレス有効信号ADVS、内部クロック信号CLK、アドレスラッチ信号ALAT、アドレスADを出力する。
ここで、入力バッファ1は、イネーブル制御部10から活性化状態を示す「H」レベルのチップ選択信号CSが入力されることにより、外部クロック信号とアドレスバリッド信号ADVBとからアドレス有効信号ADVSを生成し、入力された外部クロック信号を内部クロック信号CLKとして出力し、入力された外部アドレス信号をアドレスADとして出力し、入力されるアドレス有効信号ADVSに基づいてアドレスラッチ2にアドレスADをラッチするタイミングを示すアドレスラッチ信号ALATを出力する。
アドレスラッチ2は、入力バッファ1から入力されるアドレスADを、入力バッファ1により出力されるアドレスラッチ信号ALATにより示されるタイミングでラッチする。
バースト制御部3は、アドレスラッチ2から入力されるラッチアドレスLADをバースト読み出しの先頭アドレス(スタートアドレス、開始アドレス)とし、先頭アドレス(A0〜A22)の上位ビットをバーストアドレスBADとしてアドレス制御部4に出力する。ここで、先頭アドレスの上位ビットとは、8ワード単位の読み出しを対象とする場合、下位3ビットを省いた上位ビットであり、16ワード単位の読み出しを対象とする場合、下位4ビットを省いた上位ビットである。また、バースト制御部3は、バースト読み出しを行う場合、バーストアドレスBADを、後述するタイミングにて内部クロックに同期して「1」インクリメントして新たなバーストアドレスBADとして出力する。
また、バースト制御部3は、内部クロック信号CLKに同期して、ワードデータラッチ信号DL0〜DL3、ページコントロール信号PC、ウエイト信号WAITを生成して出力し、さらに、電源供給開始などにおける初期設定を行う際に設定されたアクセスモード(外部クロック信号に同期してデータを連続して出力するバーストアクセスモード、又は、外部クロック信号に同期せずに1ワードのデータを出力するランダムアクセスモード)に応じて、同期・非同期セレクト信号SELを生成して出力する。また、バースト制御部3は、開始アドレスの下位4ビットの値が「2〜7」のとき、16ワード境界信号を「H」レベルにし、開始アドレスと異なるブロックにアクセスして、アドレス境界を越えたときに「L」レベルにする。
アドレス制御部4は、バースト制御部3から入力されるバーストアドレスBADとラッチアドレスLADとのいずれかを選択してデコードし、ローアドレスRADを各メモリバンク7に備えられるローデコーダ5に出力すると共にカラムアドレスCADをカラムデコーダ8に出力する。ここで、アドレス制御部4は、アクセスモードがバーストアクセスモードのとき、バーストアドレスBADを選択し、アクセスモードがランダムアクセスモードのとき、ラッチアドレスLADを選択する。
また、アドレス制御部4は、選択したバーストアドレスBAD又はラッチアドレスLADの変化を検出すると、メモリバンク7からデータを読み出すのに要する時間(アクセス時間)が経過した後に、「H」レベルのラッチコントロール信号LCをセンスアンプ・センスデータラッチ9に出力して、センスアンプ・センスデータラッチ9にカラムデコーダ8から出力されたデータをラッチさせる。ここで、アクセス時間は、ローデコーダ5、メモリセルアレイ6、カラムデコーダ8、及び、センスアンプ・センスデータラッチ9が処理に要する時間に相当する。
メモリバンク7は、ローデコーダ5とメモリセルアレイ6とを含み構成される。メモリセルアレイ6は、複数のメモリセル(メモリ素子)がマトリックス状に配置されて形成されている。メモリセルは、M×N(M、Nは整数であり、例えば、Mは2であり、Nは8である)本の読み出し線ごとのブロックに分割されており、このブロックをまたいで一度にアクセスすることができない。ローデコーダ5は、アドレス制御部4から入力されたローアドレスRADをデコードし、メモリセルアレイ6において、ローアドレスRADの示すメモリ領域のメモリセル(例えば、8ワード単位、1ワード=16ビット)を選択する。
カラムデコーダ8は、アドレス制御部4から入力されたカラムアドレスCADをデコードして、メモリバンク7−0、…、7−nのうちいずれか1つのメモリバンク7から出力されるデータを選択し、選択したデータをセンスアンプ・センスデータラッチ9に出力する。
センスアンプ・センスデータラッチ9は、アドレス制御部4から入力されるラッチコントロール信号LCに応じて、カラムデコーダ8から出力されるデータをラッチする。ここで、センスアンプ・センスデータラッチ9は、開始アドレスに応じて次のように、データをラッチする。
センスアンプ・センスデータラッチ9は、開始アドレスの下位4ビットが「0〜1」のとき、読み出されるブロックの中からアドレスの下位4ビットが「0〜7」に対応するデータをラッチし、開始アドレスの下位4ビットが「2〜3」のとき、読み出されるブロックの中からアドレスの下位4ビットが「2〜9」に対応するデータをラッチし、開始アドレスの下位4ビットが「4〜5」のとき、読み出されるブロックの中からアドレスの下位4ビットが「4〜11」に対応するデータをラッチし、開始アドレスの下位4ビットが「6〜7」のとき、読み出されるブロックの中からアドレスの下位4ビットが「6〜13」に対応するデータをラッチし、開始アドレスの下位4ビットが「8〜15」のとき、読み出されるブロックの中からアドレスの下位4ビットが「8〜15」に対応したデータをラッチする。
8ワードデータラッチ11は、2ワードデータラッチ12−0〜12−3を含み構成される。2ワードデータラッチ12−0〜12−3は、バースト制御部3が出力するワードデータラッチ信号DL0〜DL3に応じて、それぞれ2ワード幅(32ビット幅)のデータをラッチする。ここで、2ワードデータラッチ12−0には、センスアンプ・センスデータラッチ9が出力するセンスアンプデータSAD[127:0]のうちのセンスアンプデータSAD[31:0](SAD0)が入力される。また、2ワードデータラッチ12−1には、センスアンプ・センスデータラッチ9が出力するセンスアンプデータSAD[127:0]のうちのセンスアンプデータSAD[63:32](SAD1)が入力される。また、2ワードデータラッチ12−2には、センスアンプ・センスデータラッチ9が出力するセンスアンプデータSAD[127:0]のうちのセンスアンプデータSAD[95:64](SAD2)が入力される。また、2ワードデータラッチ12−3には、センスアンプ・センスデータラッチ9が出力するセンスアンプデータSAD[127:0]のうちのセンスアンプデータSAD[127:96](SAD3)が入力される。
なお、読み出すデータに対応するアドレスの下位4ビットが「0〜1」の場合、バースト読み出し動作において、2ワードデータラッチ12−0には、アドレス下位4ビットの値が「0〜1」に対応したデータ、例えば、「D0、D1」がラッチされ、2ワードデータラッチ12−1には、アドレス下位4ビットの値が「2〜3」に対応したデータ、例えば、「D2、D3」がラッチされ、2ワードデータラッチ12−2には、アドレス下位4ビットの値が「4〜5」に対応したデータ、例えば、「D4、D5」がラッチされ、2ワードデータラッチ12−3には、アドレス下位4ビットの値が「6〜7」に対応したデータ、例えば、「D6、D7」がラッチされる。
また、読み出すデータに対応するアドレスの下位4ビットが「2〜3」の場合バースト読み出し動作において、2ワードデータラッチ12−0には、アドレス下位4ビットの値が「8〜9」に対応したデータ、例えば、「D8、D9」がラッチされ、2ワードデータラッチ12−1には、アドレス下位4ビットの値が「2〜3」に対応したデータ、例えば、「D2、D3」がラッチされ、2ワードデータラッチ12−2には、アドレス下位4ビットの値が「4〜5」に対応したデータ、例えば、「D4、D5」がラッチされ、2ワードデータラッチ12−3には、アドレス下位4ビットの値が「6〜7」に対応したデータ、例えば、「D6、D7」がラッチされる。
また、読み出すデータに対応するアドレスの下位4ビットが「4〜5」の場合バースト読み出し動作において、2ワードデータラッチ12−0には、アドレス下位4ビットの値が「8〜9」に対応したデータ、例えば、「D8、D9」がラッチされ、2ワードデータラッチ12−1には、アドレス下位4ビットの値が「10〜11」に対応したデータ、例えば、「D10、D11」がラッチされ、2ワードデータラッチ12−2には、アドレス下位4ビットの値が「4〜5」に対応したデータ、例えば、「D4、D5」がラッチされ、2ワードデータラッチ12−3には、アドレス下位4ビットの値が「6〜7」に対応したデータ、例えば、「D6、D7」がラッチされる。
また、読み出すデータに対応するアドレスの下位4ビットが「6〜7」の場合バースト読み出し動作において、2ワードデータラッチ12−0には、アドレス下位4ビットの値が「8〜9」に対応したデータ、例えば、「D8、D9」がラッチされ、2ワードデータラッチ12−1には、アドレス下位4ビットの値が「10〜11」に対応したデータ、例えば、「D10、D11」がラッチされ、2ワードデータラッチ12−2には、アドレス下位4ビットの値が「12〜13」に対応したデータ、例えば、「D12、D13」がラッチされ、2ワードデータラッチ12−3には、アドレス下位4ビットの値が「6〜7」に対応したデータ、例えば、「D6、D7」がラッチされる。
また、読み出すデータに対応するアドレスの下位4ビットが「8〜15」の場合バースト読み出し動作において、2ワードデータラッチ12−0には、アドレス下位4ビットの値が「8〜9」に対応したデータ、例えば、「D8、D9」がラッチされ、2ワードデータラッチ12−1には、アドレス下位4ビットの値が「10〜11」に対応したデータ、例えば、「D10、D11」がラッチされ、2ワードデータラッチ12−2には、アドレス下位4ビットの値が「12〜13」に対応したデータ、例えば、「D12、D13」がラッチされ、2ワードデータラッチ12−3には、アドレス下位4ビットの値が「14〜15」に対応したデータ、例えば、「D14、D15」がラッチされる。
ページセレクタ13は、バースト制御部3が出力するページコントロール信号PCにより、8ワードデータラッチ11から入力される8ワード幅のデータから1ワードを選択して、ページデータPD[15:0]として出力する。
出力ラッチ14は、内部クロック信号CLKに同期して、例えば、内部クロック信号CLKの立ち上がりエッジに同期して、ページセレクタ13の出力するページデータPD[15:0]を記憶する。
データセレクタ15は、バースト制御部3が出力する同期・非同期セレクト信号SELにより、出力ラッチ14とページセレクタ13とが出力する1ワード幅のデータのいずれかを選択する。また、データセレクタ15は、アクセスモードがバーストアクセスモードのとき、出力ラッチ14が出力するデータを選択して出力し、アクセスモードがランダムアクセスモードのとき、ページセレクタ13が出力するページデータPD[15:0]を選択して出力する。
データ出力制御部16は、バースト制御部3から入力されるアウトプットコントロール信号OPCにより、データセレクタ15が出力するデータをアウトプットデータOUT[15:0]として出力するか否かを選択する。ここで、データ出力制御部16は、アウトプットコントロール信号が「H」レベルの場合、データセレクタ15から出力されるデータをアウトプットデータOUT[15:0]として出力端子に出力し、アウトプットコントロール信号OPCが「L」レベルの場合、出力をハイインピーダンスとする。
レディ出力制御部17は、バースト制御部3から入力されるアウトプットコントロール信号OPCとウエイト信号WAITとの論理積を算出して、次のクロックサイクルにレディ信号RDYとして出力端子から外部に出力する。ここで、レディ信号RDYが「H」レベルのとき、有効なアウトプットデータOUT[15:0]が出力されていることを示し、レディ信号RDYが「L」レベルのとき、無効なアウトプットデータOUT[15:0]が出力されていることを示す。
次に、図2は、バースト制御部3の構成を示した概略ブロック図である。バースト制御部3は、有効データレジスタ書込部38、ファーストレイテンシレジスタ31、有効データレジスタ32、レイテンシカウンタ書込部37、データカウンタ書込部39、境界カウンタ書込部40、サイクルカウント部51、及び、サイクル制御部52を備えている。ここで、サイクルカウント部51は、アドレスカウンタ33、ファーストレイテンシカウンタ34、データカウンタ35、及び、16ワード境界カウンタ36(境界レイテンシカウンタ)を含み構成される。サイクル制御部52は、アドレス変化検知部41、ページラッチ信号生成部42、ページコントロール信号生成部43、及び、ウエイト信号生成部44を含み構成され、バースト読み出し命令が入力されてから当該命令によるデータの出力が開始されるまでのサイクル数をカウントする。
バースト制御部3において、ファーストレイテンシレジスタ31は、外部から入力されるファーストレイテンシのウエイトサイクル数から「1」を減算した値を記憶するレジスタである。このファーストレイテンシレジスタ31への書き込みは、バースト読み出しなどが実際に行われるよりも前のタイミングで、不図示の制御回路により行われる。なお、以下において、ファーストレイテンシのウエイトサイクル数から「1」減算した値を、ウエイト計数初期値という。
なお、ファーストレイテンシによるウエイトサイクル数は、非同期のメモリバンク7からデータを読み出すための時間、すなわち、データを読み出すときにメモリアクセス完了するまでの待ち時間が設定される。また、バースト読み出しにおいては、バースト読み出し命令が入力された最初のクロック有効エッジから、データ出力開始又はデータ出力が確定するクロックの有効エッジまでのクロックサイクル数として設定されている。
有効データレジスタ32は、メモリバンク7から読み出したデータのうち出力すべきデータである有効データの数から「1」を減算した値を記憶する。なお、以下、有効データ数から「1」減算した値をデータ計数初期値という。
アドレスカウンタ33は、入力される内部クロック信号CLKに同期してアドレスラッチ2から入力されるラッチアドレスLADの下位3ビットを除いた上位ビットが記憶されると共に、バーストアドレスBADとして出力される。また、アドレスカウンタ33は、ファーストレイテンシカウンタ34のカウント値が「1」の場合と、ファーストレイテンシカウンタ34のカウント値が「0」であり、且つ、データカウンタ35のカウント値が「0」又は「8」の場合とに、入力される内部クロック信号CLKに同期してバーストアドレスBADを「1」インクリメントする。すなわち、アドレスカウンタ33は、バースト読み出し動作に係る最初のデータの読み出しが完了した場合と、読み出した8ワードデータラッチ11が保持している有効データがなくなると、カウント値のインクリメントを行う。
ファーストレイテンシカウンタ34は、ファーストレイテンシのクロックサイクルをカウントする。バースト読み出しの開始における最初のメモリアクセスのアクセス時間に対応したクロックサイクル数をカウントするためにも利用する。ファーストレイテンシカウンタ34は、ファーストレイテンシレジスタ31に記憶されているウエイト計数初期値が初期値として書き込まれる。また、ファーストレイテンシカウンタ34は、入力される内部クロック信号CLKの立ち上がりに同期して、カウント値が「0」になるまで「1」デクリメントする。
データカウンタ35は、8ワードデータラッチ11が保持しているデータが含まれるブロック(16ワード単位)のうちの出力すべきデータ数をカウントし、入力される内部クロック信号CLKに同期して動作する。また、データカウンタ35には、有効データレジスタ32に記憶されているデータ計数初期値が初期値として書き込まれる。また、データカウンタ35は、入力される内部クロック信号CLKに同期して、カウント値を「1」デクリメントする。なお、本実施形態においては、1度に16ワードのデータを読み出して、8ワードデータラッチ11とセンスアンプ・センスデータラッチ9とに読み出したデータを保持するので、0〜15の値を記憶できるように4ビット幅のカウンタとなっており、「0」をデクリメントすると「15」が設定される。すなわち、データカウンタ35のカウント値は、「15」→「14」→…→「1」→「0」→「15」→…→「1」→「0」→「15」→…、と「15」から「0」の値を繰り返す。
16ワード境界カウンタ36は、境界カウンタ書込部40に初期値を書き込まれると共に、ファーストレイテンシカウンタ34のカウント値が「0」の場合に、入力される内部クロック信号CLKの立ち上がりに同期してカウント値が「0」になるまで「1」デクリメントする。
レイテンシカウンタ書込部37は、アドレスラッチ信号ALAT信号の立ち下りに同期して、ファーストレイテンシレジスタ31に記憶されているウエイト計数初期値を読み込み、読み込んだウエイト計数初期値をファーストレイテンシカウンタ34にカウント値の初期値として書き込む。
有効データレジスタ書込部38は、バースト読み出し開始時に、あるいは、後述するデータカウンタ書込部39が有効データレジスタ32からデータ計数初期値を読み込んだときに、データ計数初期値の算出を開始し、算出が完了した時点で算出したデータ計数初期値を有効データレジスタ32に書き込む。有効データレジスタ書込部38は、有効データの数から「1」減算した値(データ計数初期値)を算出し、算出結果を有効データレジスタ32に書き込む。
データカウンタ書込部39は、アドレスバリッド信号ADVBが「L」レベルの場合に、内部クロック信号CLKの立ち上がりに同期して、有効データレジスタ32に記憶されているデータ計数初期値を読み込み、読み込んだデータ計数初期値をデータカウンタ35に対してカウント値として書き込む。
境界カウンタ書込部40は、アドレスバリッド信号ADVBが「L」レベルの場合に、入力される内部クロック信号CLKの立ち上がりに同期して、16ワード境界カウンタ36の初期値を書き込む。ここで、境界カウンタ書込部40が16ワード境界カウンタ36に書き込む初期値は、開始アドレスの下位4ビットの示す値が0〜7の場合、2回目に読み出すデータのうちの有効データ数をファーストレイテンシレジスタ31に記憶されているウエイト計数初期値から減算した値であり、開始アドレスの下位4ビットの示す値が8〜15の場合、1回目に読み出すデータのうちの有効データの数をファーストレイテンシレジスタ31に記憶されているウエイト計数初期値から減算した値である。なお、減算した結果が負の値になる場合、境界カウンタ書込部40は、「0」を初期値として16ワード境界カウンタ36に書き込む。
ワード境界ウエイトサイクルが発生するか否かは、開始アドレスの下位4ビットの示す値が0〜7の場合、2回目に読み出すデータに含まれる有効データ数に依存し、開始アドレスの下位4ビットの示す値が8〜15の場合、1回目に読み出すデータに含まれる有効データ数に依存するので、境界カウンタ書込部40は、当該有効データ数に応じたウエイトサイクル数を算出して、16ワード境界カウンタ36の初期値とする。
アドレス変化検知部41は、バーストアドレスBADの変化を検出して、ワンショットのパルス信号であるアドレス遷移信号ATDを生成して出力する。
ページラッチ信号生成部42は、出力するワードデータラッチ信号DL0〜DL3により、メモリセルアレイ7から読み出されてセンスアンプ・センスデータラッチ9にラッチされているワードデータを8ワードデータラッチ11にラッチさせる制御を行う。なお、2ワードデータラッチ12−0は、ワードデータラッチ信号DL0が「L」レベルのとき、ラッチしているデータを出力し、ワードデータラッチ信号DL0が「H」レベルのとき、センスアンプ・センスデータラッチ9から入力されるSAD[31:0]を出力する。
また、ページラッチ信号生成部42は、以下に示す条件1又は条件2が満たされる場合、ワードデータラッチ信号DL0〜DL3を入力される内部クロック信号CLKの立ち上がりに同期して「H」レベルから「L」レベルに遷移させる。条件1は、ファーストレイテンシカウンタ34のカウント値が「1」である。条件2は、ファーストレイテンシカウンタ34のカウント値が「0」であり、且つ、データカウンタ35のカウント値が「0」又は「8」である。
また、ページラッチ信号生成部42は、以下に示す条件3又は条件4が満たされる場合、ワードデータラッチ信号DL0〜DL3を入力される内部クロック信号CLKの立ち上がりに同期して「L」レベルから「H」レベルに遷移させる。条件3は、ファーストレイテンシカウンタ34のカウント値及び16ワード境界カウンタ36のカウント値が共に「0」であり、且つ、データカウンタ35のカウント値が「1」又は「9」である。条件4は、「L」レベルのアドレスバリッド信号ADVBが入力されることである。
ただし、ページラッチ信号生成部42は、16ワード境界信号が「H」レベル、かつ、アドレスの下位4ビットが「2〜7」の場合、ワードデータラッチ信号DL0の「L」レベルから「H」レベルへの遷移を行わず、16ワード境界信号が「H」レベル、かつ、アドレスの下位4ビットが「4〜7」の場合、ワードデータラッチ信号DL1の「L」レベルから「H」レベルへの遷移を行わず、16ワード境界信号が「H」レベル、かつ、アドレスの下位4ビットが「6〜7」の場合、ワードデータラッチ信号DL2の「L」レベルから「H」レベルへの遷移を行わない。
ページコントロール信号生成部43は、ページコントロール信号PCを13に出力して、ページセレクタ13が8ワードデータラッチ11から出力される8ワードのデータのうちいずれかの1ワードを選択する制御をする。ページコントロール信号生成部43は、3ビット幅のページ選択カウンタを有しており、ページ選択カウンタの初期値として開始アドレスの下位3ビットを読み込む。ページコントロール信号生成部43は、ファーストレイテンシカウンタ34のカウント値と16ワード境界カウンタ36のカウント値との和が「1」以下になると、入力される内部クロック信号CLKの立ち上がりに同期してページ選択カウンタを「1」インクリメントする。ページコントロール信号生成部43は、ページ選択カウンタのカウント値に応じて、ページセレクタ13に選択させる1ワードを決定する。ページコントロール信号生成部43は、カウント値が「0」、「1」、「2」、…、「7」それぞれに応じて、WLD[15:0]、WLD[31:16]、WLD[47:32]、…、WLD[127:112]が選択されるページコントロール信号PC「P0」、「P1」、「P2」、…、「P7」を出力して、ページセレクタ13の制御を行う。例えば、ページコントロール信号生成部43は、ページ選択カウンタのカウント値が「6」の場合、8ワードデータWLD[127:0]の下位から7番目に該当するWLD[111:96]の1ワードを選択するページコントロール信号PC「P6」を出力する。
ウエイト信号生成部44は、アドレスラッチ信号ALATの立ち下りに同期して、ウエイト信号WAITを「H」レベルにする。また、ウエイト信号生成部44は、16ワード境界カウンタ36のカウント値が「1」のとき、入力される内部クロック信号CLKの立ち上がりに同期してウエイト信号WAITを「L」レベルにする。
また、ウエイト信号生成部44は、「H」レベルの出力制御信号OCが入力され、且つ、ファーストレイテンシカウンタ34のカウント値と16ワード境界カウンタ36のカウント値とが共に「0」になると、出力端子からアウトプットデータOUT[15:0]を出力することを示す「H」レベルのアウトプットコントロール信号OPCを出力する。
(半導体メモリ100の動作1)
以下、上述した半導体メモリ100のバースト読み出しの動作について、図3及び図4を用いて説明する。なお、図3及び図4では、アクセスモードがバーストアクセスモードであり、ファーストレイテンシが6サイクルを例として説明する。
図3は、開始アドレスの下位4ビットが「14」の場合におけるバースト読み出し動作の概略を示したタイミングチャートである。
時刻t100からの1クロックサイクルにおいて、入力バッファ1には、下位4ビットが「4」を示す外部アドレス信号が入力される。また、入力バッファ1は、入力されたアドレスバリッド信号ADVBが「H」レベルから「L」レベルに遷移することにより、アドレスラッチ信号ALATを立ち上げ、立ち上げた後に続く内部クロック信号CLKの立ち上がりに同期してアドレスラッチ信号ALATを立ち下げる。
時刻t101からの1クロックサイクルにおいて、外部から外部アドレス「14」が入力されると共に、外部アドレスが有効な値であることを示す「L」レベルのアドレスバリッド信号ADVBが入力される。入力バッファ1は、「L」レベルのアドレスバリッド信号ADVBが入力されると、アドレスラッチ信号ALATを「H」レベルにしてアドレスラッチ2をスルー状態にする。
アドレスカウンタ33は、内部クロック信号CLKの立ち上がりに同期して、アドレスラッチ2が出力するラッチアドレスLADの下位3ビットを除いた(A22〜A3)を初期値として記憶すると共に、記憶したアドレスをバーストアドレスBADとしてアドレス制御部4に出力する。
アドレス制御部4は、アドレスカウンタ33が出力したバーストアドレスBADの変化を検出し、バーストアドレスBADをデコードして、ローアドレスRADをメモリバンク7それぞれが有するローデコーダ5に出力すると共に、カラムアドレスCAD「C8」をカラムデコーダ8に出力する。
また、時刻t101において、レイテンシカウンタ書込部37は、ファーストレイテンシレジスタ31に記憶されているウエイト計数初期値「5」を読み出して、ファーストレイテンシカウンタ34に書き込んで記憶させる。また、ウエイト信号生成部44は、アドレスラッチ信号ALATの立ち下りに同期して、ウエイト信号WAITを「H」レベルにする。
ページラッチ信号生成部42は、「L」レベルのアドレスバリッド信号ADVBが入力されると、内部クロック信号CLKの立ち上がりに同期して、ワードデータラッチ信号DL0〜DL3を「H」レベルにする。また、ページコントロール信号生成部43は、開始アドレスの下位3ビット「110」をページ選択カウンタの初期値として記憶し、対応する「P6」のページコントロール信号PCを出力する。
また、時刻t101からの1クロックサイクルにおいて、外部から入力されるアドレスバリッド信号ADVBは、「H」レベルになる。すなわち、入力されている外部アドレスは、無効な値になる。
また、時刻t101において、境界カウンタ書込部40は、アドレスバリッド信号ADVBが「L」レベルの場合に、内部クロック信号CLKの立ち上がりに同期して16ワード境界カウンタ36に「3」((ファーストレイテンシサイクル数)−1)−(2回目に読み出すデータのうちの有効データ数))を書き込み記憶させる。
データカウンタ書込部39は、アドレスバリッド信号ADVBが「L」レベルの場合に、内部クロック信号CLKの立ち上がりに同期してデータカウンタ35に「1」(有効データ数−1)を書き込み記憶させる。
時刻t102において、ファーストレイテンシカウンタ34は、内部クロック信号CLKに同期して、カウント値のデクリメントを行い、カウント値を「5」から「4」にする。以降、時刻t106まで、内部クロック信号CLKの立ち上がりに同期して、デクリメントする(「4」→「3」→「2」→「1」→「0」)。
時刻t104からの1クロックサイクルにおいて、アドレス制御部4は、ローアドレスRADとカラムアドレスCAD「C8」とを出力してからアクセス時間経過しているので、「H」レベルのラッチコントロール信号LCをセンスアンプ・センスデータラッチ9に出力する。センスアンプ・センスデータラッチ9は、「H」レベルのラッチコントロール信号LCが入力されてスルー状態になり、カラムデコーダ8により選択された8ワードのデータ「D8−D15」を8ワードデータラッチ11に出力する。このデータ「D8−D15」は、カラムアドレスCAD「C8」により、カラムデコーダ8がメモリバンク7から読み出されたデータから選択した8ワードのデータである。
8ワードデータラッチ11は、ワードデータラッチ信号DL0〜DL3が「H」の場合に、センスアンプ・センスデータラッチ9から入力されたセンスアンプデータSAD[127:0]「D8−D15」を8ワードデータWLD[127:0]としてページセレクタ13に出力する。さらに、ページセレクタ13は、バースト制御部3から出力された下位から6ワード目を選択する「P6」のページコントロール信号PCにより、8ワードデータWLD[127:0]「D8−D15」からデータ「D14」を選択して出力する。データセレクタ15は、バースト制御部3から出力された同期・非同期セレクト信号SELにより、出力ラッチ14が出力する内部クロック信号CLKに同期して変化するデータを選択して、セレクトデータSD[15:0]としてデータ「D14」をデータ出力制御部16に出力する。このとき、データ出力制御部16は、バースト制御部3から「L」レベルのアウトプットコントロール信号OPCが入力されているので、出力はハイインピーダンス状態で無効なデータが出力されている。
時刻t105において、アドレス制御部4は、内部クロック信号CLKの立ち上がりに同期してラッチコントロール信号LCを「L」レベルにする。出力ラッチ14は、内部クロック信号CLKの立ち上がりに同期して、ページセレクタ13が出力するページデータPD[15:0]「D14」をラッチする。
時刻t106において、アドレスカウンタ33は、最初のメモリアクセスにより読み出された8ワードのデータが8ワードデータラッチ11に保持されている状態、すなわち、ファーストレイテンシカウンタ34のカウント値が「1」の場合に、内部クロック信号CLKの立ち上がりに同期して記憶しているアドレスを「1」インクリメントし、次に読み出すデータ(8ワード単位)が記憶されているアドレスを示すバーストアドレスBADとして出力する。
アドレス制御部4は、アドレスカウンタ33が出力したバーストアドレスBADの変化を検出し、バーストアドレスBADをデコードして、ローアドレスRADをメモリバンク7それぞれが有するローデコーダ5に出力すると共に、「C16」を示すカラムアドレスCADをカラムデコーダ8に出力する。
また、時刻t106において、ページラッチ信号生成部42は、ファーストレイテンシカウンタ34のカウント値が「1」の場合に、内部クロック信号CLKの立ち上がりに同期して2ワードデータラッチ信号DL3〜DL0を「L」レベルにする。
時刻t107において、16ワード境界カウンタ36は、ファーストレイテンシカウンタ34のカウント値が「0」の場合に、内部クロック信号CLKの立ち上がりに同期してカウント値を「1」デクリメントしてカウント値を「2」に更新する。
時刻t108において、16ワード境界カウンタ36は、ファーストレイテンシカウンタ34のカウント値が「0」の場合に、内部クロック信号CLKの立ち上がりに同期してカウント値を「1」デクリメントしてカウント値を「1」に更新する。
時刻t109において、ウエイト信号生成部44は、16ワード境界カウンタ36のカウント値が「1」の場合に、内部クロック信号CLKの立ち上がりに同期してウエイト信号WAITを「L」レベルにする。
ページコントロール信号生成部43は、ファーストレイテンシカウンタ34のカウンタ値と16ワード境界カウンタ36のカウンタ値との和が「1」以下の場合に、「1」インクリメントして、カウンタ値を「6」から「7」に更新し、ページ選択カウンタに応じてページコントロール信号PCを「P6」から「P7」に変化させる。ページコントロール信号生成部43は、以後、内部クロック信号CLKが立ち上がるごとにカウント値を「1」デクリメントして、ページ選択カウンタのカウンタ値に対応するページコントロール信号PCを「P7」、「P0」、…、と変化させてページセレクタ13に出力する。
ウエイト信号生成部44は、ファーストレイテンシカウンタ34のカウント値と16ワード境界カウンタ36のカウンタ値とが共に「0」の場合に、「H」レベルのアウトプットコントロール信号OPCをデータ出力制御部16とレディ出力制御部17とに出力する。
ページセレクタ13は、ページコントロール信号生成部43から「P7」のページコントロール信号PCが入力され、8ワードデータラッチ11から入力されているデータ「D15−D8」の下位から8番目のデータ「D15」をページデータPD[15:0]として出力する。
データ出力制御部16は、ウエイト信号生成部44から「H」レベルのアウトプットコントロール信号OPCが入力されている場合に、データセレクタ15を経由して出力ラッチ14に保持されているデータ「D14」をアウトプットデータOUT[15:0]として外部に出力する。
また、時刻t109からの1クロックサイクルにおいて、アドレス制御部4は、ローアドレスRADとカラムアドレスCAD「C16」とを出力してからアクセス時間経過しているので、「H」レベルのラッチコントロール信号LCをセンスアンプ・センスデータラッチ9に出力する。センスアンプ・センスデータラッチ9は、「H」レベルのラッチコントロール信号LCが入力されてスルー状態になり、カラムデコーダ8により選択された8ワードのデータ「D16−D23」を8ワードデータラッチ11に出力する。このデータ「D16−D23」は、カラムアドレスCAD「C16」により、カラムデコーダ8がメモリバンク7から読み出されたデータから選択した8ワードのデータである。
16ワード境界カウンタ36は、ファーストレイテンシカウンタ34のカウント値が「0」の場合に、内部クロック信号CLKの立ち上がりに同期してカウント値を「1」デクリメントしてカウント値を「0」に更新する。
時刻t110において、出力ラッチ14は、内部クロック信号CLKの立ち上がりに同期して、ページセレクタ13が出力するページデータPD[15:0]「D15」をラッチする。データ出力制御部16は、ウエイト信号生成部44から「H」レベルのアウトプットコントロール信号OPCが入力されている場合に、データセレクタ15を経由して出力ラッチ14に保持されているデータ「D15」をアウトプットデータOUT[15:0]として外部に出力する。
データカウンタ35は、ファーストレイテンシカウンタ34のカウント値と、16ワード境界カウンタ36のカウント値とが共に「0」の場合に、カウント値を「1」デクリメントして、カウント値を「0」に更新する。なお、データカウンタ35は、以後、内部クロック信号CLKが立ち上がるごとにカウント値を「1」デクリメントする。
アドレス制御部4は、内部クロック信号CLKの立ち上がりに同期してラッチコントロール信号LCを「L」レベルにして、センスアンプ・センスデータラッチ9に読み出したデータ「D16−D23」をラッチさせる。
ページラッチ信号生成部42は、ファーストレイテンシカウンタ34のカウント値と16ワード境界カウンタ36のカウント値とが共に「0」であり、且つ、データカウンタ35のカウント値が「1」の場合に、ワードデータラッチ信号DL0〜DL3を「H」レベルにして、8ワードデータラッチ11をスルー状態にする。8ワードデータラッチ11は、センスアンプ・センスデータラッチ9から入力されたデータ「D16−D23」をページセレクタ13に出力する。
ページセレクタ13は、ページコントロール信号生成部43から入力されるページコントロール信号「P0」により、8ワードデータとして入力されているデータ「D16−D23」から下位から1番目のデータ「D16」を選択し、ページデータPD[15:0]としてデータ「D16」を出力する。
時刻t111において、出力ラッチ14は、内部クロック信号CLKの立ち上がりに同期して、ページセレクタ13が出力するページデータPD[15:0]「D16」をラッチする。データ出力制御部16は、ウエイト信号生成部44から「H」レベルのアウトプットコントロール信号OPCが入力されている場合に、データセレクタ15を経由して出力ラッチ14に保持されているデータ「D16」をアウトプットデータOUT[15:0]として外部に出力する。
アドレスカウンタ33は、ファーストレイテンシカウンタ34のカウント値が「0」であり、且つ、データカウンタ35のカウント値が「0」の場合に、内部クロック信号CLKに同期してバーストアドレスBADを「1」インクリメントして更新し、更新したバーストアドレスBADをアドレス制御部4に出力する。
アドレス制御部4は、アドレスカウンタ33が出力したバーストアドレスBADの変化を検出し、バーストアドレスBADをデコードして、ローアドレスRADをメモリバンク7それぞれが有するローデコーダ5に出力すると共に、「C24」を示すカラムアドレスCADをカラムデコーダ8に出力する。
ページラッチ信号生成部42は、ファーストレイテンシカウンタ34のカウント値が「0」であり、且つ、データカウンタ35のカウント値が「0」の場合に、ワードデータラッチ信号DL0〜DL3を「L」レベルにして、8ワードデータラッチ11にデータ「D16−D23」をラッチさせる。
ページセレクタ13は、ページコントロール信号生成部43の出力するページコントロール信号PCが「P1」に変化したのに応じて、8ワードデータWLD[127:0]「D16−D23」からデータ「D17」を選択して出力する。
時刻t112から時刻t114までにおいて、出力ラッチ14は、ページセレクタ13が順に出力するページデータPD[15:0]を内部クロック信号CLKの立ち上がりに同期してラッチして順に出力する(「D17」→「D18」→「D19」)。
データ出力制御部16は、ウエイト信号生成部44から「H」レベルのアウトプットコントロール信号OPCが入力されている場合に、データセレクタ15を経由して出力ラッチ14に保持されているデータを順にアウトプットデータOUT[15:0]として外部に出力する(「D17」→「D18」→「D19」)。
ページセレクタ13は、ページコントロール信号生成部43の出力するページコントロール信号PCが変化するのに応じて、8ワードデータWLD[127:0]「D16−D23」からデータ「D18」、「D19」、「D20」と順に選択して、出力する。
時刻t114からの1クロックサイクルにおいて、アドレス制御部4は、ローアドレスRADとカラムアドレスCAD「C16」とを出力してからアクセス時間経過しているので、「H」レベルのラッチコントロール信号LCをセンスアンプ・センスデータラッチ9に出力する。センスアンプ・センスデータラッチ9は、「H」レベルのラッチコントロール信号LCが入力されてスルー状態になり、カラムデコーダ8により選択された8ワードのデータ「D16−D23」を8ワードデータラッチ11に出力する。このデータ「D24−D31」は、カラムアドレスCAD「C24」により、カラムデコーダ8がメモリバンク7から読み出されたデータから選択した8ワードのデータである。
時刻t115において、アドレス制御部4は、内部クロック信号CLKの立ち上がりに同期してラッチコントロール信号LCを「L」レベルにする。
また、時刻t115から時刻t117までにおいて、ページセレクタ13は、ページコントロール信号生成部43の出力するページコントロール信号PCが変化するのに応じて、8ワードデータWLD[127:0]「D16−D23」からデータ「D21」、「D22」、「D23」と順に選択して、出力する。
出力ラッチ14は、ページセレクタ13が順に出力するページデータPD[15:0]を内部クロック信号CLKの立ち上がりに同期してラッチして順に出力する(「D20」→「D21」→「D22」)。
データ出力制御部16は、ウエイト信号生成部44から「H」レベルのアウトプットコントロール信号OPCが入力されている場合に、データセレクタ15を経由して出力ラッチ14に保持されているデータを順にアウトプットデータOUT[15:0]として外部に出力する(「D20」→「D21」→「D22」)。
時刻t118において、出力ラッチ14は、ページセレクタ13が出力するページデータPD[15:0]「D23」を内部クロック信号CLKの立ち上がりに同期してラッチして出力する。データ出力制御部16は、ウエイト信号生成部44から「H」レベルのアウトプットコントロール信号OPCが入力されている場合に、データセレクタ15を経由して出力ラッチ14に保持されているデータ「D23」をアウトプットデータOUT[15:0]として外部に出力する。
ページラッチ信号生成部42は、ファーストレイテンシカウンタ34のカウント値が「0」であり、且つ、データカウンタ35のカウント値が「9」の場合に、ワードデータラッチ信号DL0〜DL3を「H」レベルにして、8ワードデータラッチ11をスルー状態にする。8ワードデータラッチ11は、センスアンプ・センスデータラッチ9から入力されるセンスアンプデータSAD[127:0]「D24−D31」をページセレクタ13に8ワードデータWLD[127:0]として出力する。
ページセレクタ13は、ページコントロール信号生成部43が出力するページコントロール信号PC「P0」に応じて、8ワードデータWLD[127:0]「D16−D23」のうち下位から1番目のデータ「D24」をページデータPD[15:0]として出力する。
時刻t119において、出力ラッチ14は、内部クロック信号CLKの立ち上がりに同期して、ページセレクタ13が出力するページデータPD[15:0]「D24」をラッチする。データ出力制御部16は、ウエイト信号生成部44から「H」レベルのアウトプットコントロール信号OPCが入力されている場合に、データセレクタ15を経由して出力ラッチ14に保持されているデータ「D24」をアウトプットデータOUT[15:0]として外部に出力する。
アドレスカウンタ33は、ファーストレイテンシカウンタ34のカウント値が「0」であり、且つ、データカウンタ35のカウント値が「8」の場合に、内部クロック信号CLKに同期してバーストアドレスBADを「1」インクリメントして更新し、更新したバーストアドレスBADをアドレス制御部4に出力する。
アドレス制御部4は、アドレスカウンタ33が出力したバーストアドレスBADの変化を検出し、バーストアドレスBADをデコードして、ローアドレスRADをメモリバンク7それぞれが有するローデコーダ5に出力すると共に、「C32」を示すカラムアドレスCADをカラムデコーダ8に出力する。
ページラッチ信号生成部42は、ファーストレイテンシカウンタ34のカウント値が「0」であり、且つ、データカウンタ35のカウント値が「8」の場合に、ワードデータラッチ信号DL0〜DL3を「L」レベルにして、8ワードデータラッチ11にデータ「D24−D31」をラッチさせる。
ページセレクタ13は、ページコントロール信号生成部43の出力するページコントロール信号PCが「P1」に変化したのに応じて、8ワードデータWLD[127:0]「D16−D23」のうち下位から2番目のデータ「D25」を選択して出力する。
(半導体メモリ100の動作2)
次に、図4は、開始アドレスの下位4ビットが「6」の場合におけるバースト読み出し動作の概略を示したタイミングチャートである。
図3に示した半導体メモリ100の動作と異なる動作は、境界カウンタ書込部40による16ワード境界カウンタ値の算出と、16ワード境界信号の変化と、ワードデータラッチ信号DL0〜DL2の変化とである。この違いは、開始アドレスの下位4ビットの値が「2〜7」に該当するためである。
また、図4において、開始アドレスが図3の場合と異なるので、データカウンタ35の初期値と、カラムアドレスCADと、開始アドレス「A6」に対応した読み出されるデータ「D8−13、D6−7」が異なるが、信号が変化するタイミングは、上述の16ワード境界信号、ワードデータラッチ信号DL0〜DL2により制御される8ワードデータラッチ11を除いて同様である。
以下、信号の変化のタイミングが図3と異なる点についてのみ説明する。
時刻t200において、バースト制御部3は、アドレスラッチ2から入力されたラッチアドレスLADの下位4ビットの値が「2〜7」に含まれる場合に、16ワード境界信号を「H」レベルにする。境界カウンタ書込部40は、アドレスバリッド信号ADVB「L」レベルの場合に、内部クロック信号CLKの立ち上がりに同期して16ワード境界カウンタ36に「3」(((ファーストレイテンシサイクル数)−1)−(1回目に読み出すデータのうち有効データ数))を記憶させる。
時刻t210において、ページラッチ信号生成部42は、ファーストレイテンシカウンタ34のカウント値と16ワード境界カウンタ36のカウント値とが共に「0」であり、且つ、データカウンタ35のカウント値が「9」であり、16ワード境界信号が「L」レベルの場合に、ワードデータラッチ信号DL3を「H」レベルにして、2ワードデータラッチ12−3のみをスルー状態にする。8ワードデータラッチ11は、2ワードデータラッチ12−0〜12−2に保持されているデータ「D8−D13」と、センスアンプ・センスデータラッチ9から入力されたデータ「D14−D15」とをページセレクタ13に出力する。
時刻t211において、ページラッチ信号生成部42は、ファーストレイテンシカウンタ34のカウント値が「0」であり、かつ、データカウンタ35のカウント値が「8」の場合に、ワードデータラッチ信号DL3を「L」レベルにして、8ワードデータラッチ11にデータ「D8−D15」をラッチさせる。
時刻t218において、バースト制御部3は、ファーストレイテンシカウンタ34のカウント値が「0」であり、且つ、データカウンタ35のカウント値が「1」の場合に、16ワード境界信号を「L」にする。
上述のように、半導体メモリ100は、境界カウンタ書込部40が開始アドレスからワード境界ウエイトサイクルに要するクロックサイクル数を決定し、ファーストレイテンシカウンタ34と16ワード境界カウンタ36とを順に動作させてカウントさせ、サイクル制御部52が、ファーストレイテンシカウンタ34のカウント値と16ワード境界カウンタ36のカウント値とが共に「0」になってから、データを外部に出力する制御をする。すなわち、半導体メモリ100は、データの読み出しに際して、開始アドレスから発生するファーストレイテンシとワード境界ウエイトサイクルとに要するサイクル数を算出し、データの出力を算出したサイクル数遅らせて出力するデータを読み出しに費やすことで、データ出力開始の後にワード境界ウエイトサイクルの発生を防いでいる。
これにより、半導体メモリ100は、バースト読み出しの動作において、データの読み出し完了を待つことによるワード境界ウエイトサイクルが発生することなく、データを出力することができる。
有効なデータを連続して出力し、無効なデータが出力されるクロックサイクルが生じなくなることで、半導体メモリ100からデータを受信する外部装置は、半導体メモリとの間でのデータの授受において、出力されているデータが有効か否かを判断する必要がなくなるので、データの授受に関するハンドシェイク回路を簡素化でき、データの転送速度の高速化に対応することが可能となる。
上述のように半導体メモリ100は動作する、すなわち、バースト読み出し命令が入力されると、当該バースト読み出し命令に含まれる開始アドレスから最初のアドレス境界までの読み出したデータを出力する際に要するサイクルと、予め設定されているファーストレイテンシのサイクルとに応じて、ファーストレイテンシカウンタ34と16ワード境界カウンタ36とのカウント値が設定される。このとき、レイテンシカウンタ書込部37が、ファーストレイテンシカウンタ34にカウント値を書き込み、境界カウンタ書込部40が16ワード境界カウンタ36にカウント値を書き込むことで、バースト読み出し命令に対応するデータの外部への出力を開始するまでのウエイトサイクルを設定する。
また、サイクル制御部52は、アドレス制御部4を介して、バースト読み出し命令が入力されると、開始アドレスから最初のアドレス境界までの読み出したデータをメモリバンク7から連続して読み出して、最初のアドレス境界までの読み出したデータを8ワードデータラッチ11にラッチさせると共に、アドレス境界直後に記憶されているデータの読み出しを行ってセンスアンプ・センスデータラッチ9にラッチさせる。また、サイクル制御部52は、ファーストレイテンシカウンタ34と16ワード境界カウンタ36とのカウント値が共に「0」になると、バースト読み出し命令に対応したデータの出力を開始し、8ワードデータラッチ11にラッチされているデータを順に出力させ、8ワードデータラッチ11に出力すべき有効なデータがなくなると、センスアンプ・センスデータラッチ9にラッチされているデータを8ワードデータラッチ11にラッチさせると共に、後続のデータをメモリバンク7から読み出してセンスアンプ・センスデータラッチ9にラッチさせる。以降、サイクル制御部52は、メモリバンク7から読み出したデータを、センスアンプ・センスデータラッチ9と8ワードデータラッチ11との順にラッチさせて、内部クロック信号CLKに同期して連続したクロックサイクルでデータを順に外部へ出力させる。
なお、境界カウンタ書込部40は、最初のアドレス境界までの読み出したデータを内部クロック信号CLKに同期して連続したクロックサイクルで外部へ出力する間に、最初のアドレス境界直後のデータを読み出せる場合、すなわち、最初のアドレス境界までの読み出したデータを外部へ出力するのに要するサイクル数(第1のサイクル数)が、最初のアドレス境界直後に記憶されているデータをメモリバンク7から読み出して8ワードデータラッチ11にラッチさせるまでに要するサイクル数(第2のサイクル数)以上の場合、カウント値として「0」を16ワード境界カウンタ36に書き込む。
一方、境界カウンタ書込部40は、最初のアドレス境界までの読み出したデータを内部クロック信号CLKに同期して連続したクロックサイクルで外部へ出力する間に、最初のアドレス境界直後のデータを読み出せない場合、すなわち、第1のサイクル数が第2のサイクル数より小さい場合、第1のサイクル数と第2のサイクル数との差をカウント値として16ワード境界カウンタ36に書き込む。
また、レイテンシカウンタ書込部37は、バースト読み出し命令が入力されてから、当該命令に対応する最初のデータがメモリ素子から読み出されるのに要する時間(アクセス時間)に対するクロックサイクル数をファーストレイテンシカウンタ34にカウント値として書き込む。
図5は、開始アドレスの下位4ビットの値それぞれに対して、有効データ数と、データの出力開始までの総ウエイトサイクル数とを示す図である。また、総ウエイトサイクル数は、ファーストレイテンシが「2」から「8」までのそれぞれの場合(図においては、wait2、…、wait8と記載)について示している。
「1st」は、最初の16ワード境界前の1回目に読み出されるブロックにおいて有効なデータのワード数であり、「2nd」は、最初の16ワード境界前の2回目に読み出されるブロックにおいて有効なデータのワード数である。
また、「境界前」は、最初の16ワード境界前のブロックにおける有効なデータのワード数、すなわち「1st」と「2nd」との和である。
図5に示されるとおり、ファーストレイテンシが6サイクル、開始アドレスの下位4ビットが「14」の場合(図3)、総ウエイトサイクル数は、8サイクルである。また、ファーストレイテンシが6サイクル、開始アドレスの下位4ビットが「6」の場合(図4)、総ウエイトサイクル数は、8サイクルである。
100…半導体メモリ
1…入力バッファ、2…アドレスラッチ、3…バースト制御部
4…アドレス制御部、5…ローデコーダ、6…メモリセルアレイ
7、7−0、7−1、7−n…メモリバンク
8…カラムデコーダ、9…センスアンプ・センスデータラッチ
10…イネーブル制御部、11…8ワードデータラッチ
12−0…2ワードデータラッチ
12−1…2ワードデータラッチ
12−2…2ワードデータラッチ
12−3…2ワードデータラッチ
13…ページセレクタ、14…出力ラッチ、15…データセレクタ
16…データ出力制御部、17…レディ出力制御部
31…ファーストレイテンシレジスタ、32…有効データレジスタ
33…アドレスカウンタ、34…ファーストレイテンシカウンタ
35…データカウンタ、36…16ワード境界カウンタ
37…レイテンシカウンタ書込部、38…有効データレジスタ書込部
39…データカウンタ書込部、40…境界カウンタ書込部
41…アドレス変化検知部、42…ページラッチ信号生成部
43…ページコントロール信号生成部、44…ウエイト信号生成部
51…サイクルカウント部、52…サイクル制御部
BAD…バーストアドレス、LAD…ラッチアドレス
AD…アドレス、RAD…ローアドレス、CAD…カラムアドレス
CLK…内部クロック信号
ADVB…アドレスバリッド信号、ALAT…アドレスラッチ信号

Claims (4)

  1. 備えられたメモリセルアレイの連続するメモリ領域に記憶されているデータを、入力されるクロック信号に同期して順次出力するバースト読み出し機能を有する半導体メモリであって、
    前記バースト読み出し命令が入力されると、該バースト読み出し命令に対応する開始アドレスから最初のアドレス境界までの前記メモリ領域から読み出した第1のデータを出力する際に要するクロックサイクル数と、予め設定されているファーストレイテンシとに応じてウエイトサイクルを設定すると共に、設定した該ウエイトサイクルを前記クロック信号に同期してカウントするサイクルカウント部と、
    前記バースト読み出し命令が入力されると、前記第1のデータの前記メモリ領域からの読み出しと、前記最初のアドレス境界直後に記憶されている第2のデータの前記メモリ領域からの読み出しとを連続して行い、前記サイクルカウント部のカウントが終了すると、前記第1のデータと前記第2のデータとを前記クロック信号に同期して連続したクロックサイクルで外部へのデータ出力を開始させるサイクル制御部と、
    を備え、
    前記アドレス境界は、
    前記メモリセルアレイの構成により、1回の前記データの読み出しに含めることができないアドレスの境界である
    ことを特徴とする半導体メモリ。
  2. 前記サイクルカウント部は、
    前記ファーストレイテンシを前記クロック信号に同期してカウントするファーストレイテンシカウンタと、
    前記ファーストレイテンシのサイクル数と、前記第1のデータの出力に要するサイクル数とに基づいて、前記バースト読み出しに対応する前記データを外部へ出力するタイミングを前記クロック信号に同期してカウントする境界レイテンシカウンタと、
    を備え、
    前記ファーストレイテンシカウンタと前記境界レイテンシカウンタとを順に動作させて、前記バースト読み出し命令が入力されてから、該命令に対応したデータの出力を開始するまでのウエイトサイクルをカウントし、
    前記境界レイテンシカウンタがカウントする値は、
    前記第1のデータを出力する際に要するサイクル数が、前記第2のデータを前記メモリ領域から読み出す時間に対応するサイクル数以上の場合、「0」であり、前記第1のデータを出力する際に要するサイクル数が、前記第2のデータを読み出すサイクル数より小さい場合、前記第1のデータを出力する際に要するサイクル数と前記第2のデータを前記メモリ領域から読み出す時間に対応するサイクル数との差である、
    ことを特徴とする請求項1に記載の半導体メモリ。
  3. 前記ファーストレイテンシは、前記クロック信号の周期と前記メモリセルアレイのデータ読み出し時間に応じて設定される
    ことを特徴とする請求項2に記載の半導体メモリ。
  4. 前記境界レイテンシカウンタは、前記バースト読み出し命令に含まれるアドレスの下位ビットに応じて前記境界レイテンシが設定される
    ことを特徴とする請求項2又は請求項3に記載の半導体メモリ。
JP2009042788A 2009-02-25 2009-02-25 半導体メモリ Active JP5239939B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009042788A JP5239939B2 (ja) 2009-02-25 2009-02-25 半導体メモリ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009042788A JP5239939B2 (ja) 2009-02-25 2009-02-25 半導体メモリ

Publications (2)

Publication Number Publication Date
JP2010198686A JP2010198686A (ja) 2010-09-09
JP5239939B2 true JP5239939B2 (ja) 2013-07-17

Family

ID=42823266

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009042788A Active JP5239939B2 (ja) 2009-02-25 2009-02-25 半導体メモリ

Country Status (1)

Country Link
JP (1) JP5239939B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8806071B2 (en) * 2012-01-25 2014-08-12 Spansion Llc Continuous read burst support at high clock rates

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0869696A (ja) * 1994-08-31 1996-03-12 Toshiba Corp 半導体記憶装置
JP3739104B2 (ja) * 1995-02-27 2006-01-25 株式会社ルネサステクノロジ 不揮発性半導体記憶装置
KR100274591B1 (ko) * 1997-07-29 2001-01-15 윤종용 동기형 버스트 매스크 롬 및 그것의 데이터 독출 방법
JPH11185484A (ja) * 1997-12-10 1999-07-09 Neucore Technol Inc 不揮発性半導体多値メモリ装置
JP2001344987A (ja) * 2000-05-29 2001-12-14 Nec Corp 半導体記憶装置及びデータの読み出し方法
JP2002251886A (ja) * 2001-02-22 2002-09-06 Seiko Instruments Inc シリアル入出力メモリ
JP3818863B2 (ja) * 2001-03-01 2006-09-06 シャープ株式会社 不揮発性半導体記憶装置
JP3932166B2 (ja) * 2001-08-07 2007-06-20 シャープ株式会社 同期型半導体記憶装置モジュールおよびその制御方法、情報機器
JP4684561B2 (ja) * 2004-02-13 2011-05-18 凸版印刷株式会社 半導体メモリ
JP2005235335A (ja) * 2004-02-20 2005-09-02 Toshiba Corp 半導体記憶装置
JP4943681B2 (ja) * 2005-09-15 2012-05-30 凸版印刷株式会社 半導体メモリ
JP4999302B2 (ja) * 2005-09-15 2012-08-15 凸版印刷株式会社 半導体メモリ
JP4943682B2 (ja) * 2005-09-15 2012-05-30 凸版印刷株式会社 半導体メモリ
JP5000872B2 (ja) * 2005-09-15 2012-08-15 凸版印刷株式会社 半導体メモリ

Also Published As

Publication number Publication date
JP2010198686A (ja) 2010-09-09

Similar Documents

Publication Publication Date Title
JP4786209B2 (ja) メモリアクセス装置
KR100914017B1 (ko) 메모리 컨트롤러, 반도체 메모리의 액세스 제어 방법 및시스템
JP4966404B2 (ja) メモリ制御装置、記憶装置、及びメモリ制御方法
JP5321189B2 (ja) メモリ制御装置
JP5428687B2 (ja) メモリ制御装置
US20060059320A1 (en) Memory control device
JP4370063B2 (ja) 半導体記憶装置の制御装置および半導体記憶装置の制御方法
JP4999302B2 (ja) 半導体メモリ
JP4085983B2 (ja) 情報処理装置およびメモリアクセス方法
JP5239939B2 (ja) 半導体メモリ
JPH11224221A (ja) メモリ制御装置および方法
JP4250989B2 (ja) メモリアクセス制御装置
US6769051B2 (en) Memory controller and memory control method for controlling an external memory device to be accessible even in an addressing mode that is not supported thereby
JP4266436B2 (ja) 半導体記憶装置
JP5569312B2 (ja) メモリアクセス判定回路、メモリアクセス判定方法、キャッシュ制御装置および電子機器
JPH07248963A (ja) Dram制御装置
JP5000872B2 (ja) 半導体メモリ
JP2512999B2 (ja) Dram制御装置
JP3939858B2 (ja) 同期型dramのアクセス方法、インタフェース回路、及び、半導体集積回路装置
JP5226161B2 (ja) 半導体記憶装置および情報処理システム
US7103707B2 (en) Access control unit and method for use with synchronous dynamic random access memory device
JPH09106669A (ja) シンクロナスdramと半導体記憶装置
JP5565864B2 (ja) キャッシュメモリ制御装置と方法
JP2010061498A (ja) メモリ制御装置、半導体試験装置およびメモリ制御方法
JP2002184179A (ja) Sdramのランダムアクセス装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120123

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130225

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130318

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

Free format text: PAYMENT UNTIL: 20160412

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 5239939

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250