(57)【要約】      （修正有）【課題】ＥＣＣ機能を有する半導体記憶回路について、動作周波数を高く維持すると共にランダムアクセス性を向上させる。【解決手段】半導体記憶回路が、複数のメモリセルを含むメモリコアと、ＥＣＣエンコーダと、ＥＣＣデコーダとを備えている。メモリコアは、各動作サイクルにおけるコマンド入力に応答して活性化される。ＥＣＣエンコーダは、ライトコマンドと共に入力される入力データに対してＥＣＣ符号化を行ってＥＣＣデータを生成し、入力データとＥＣＣデータとを含む書き込みデータを生成する。ＥＣＣデコーダは、リードコマンドに応じてメモリコアから読み出された読み出しデータに対して読み出しデータに含まれるＥＣＣデータを用いてＥＣＣ復号化を行って出力データを生成する。ライトコマンドの入力からメモリコアの活性化までの遅延と、リードコマンドの入力からメモリコアの活性化までの遅延とが、同一であるように調節されている。【選択図】図４
2014017034.tif 000002
【特許請求の範囲】
【請求項１】
複数のメモリセルを含むメモリコアと、
ＥＣＣ（error checking and correction）エンコーダと、
ＥＣＣデコーダ
とを備え、
前記メモリコアは、各動作サイクルにおけるコマンド入力に応答して活性化され、
前記ＥＣＣエンコーダは、ライトコマンドと共に入力される入力データに対してＥＣＣ符号化を行ってＥＣＣデータを生成し、前記入力データと前記ＥＣＣデータとを含む書き込みデータを生成し、
前記ＥＣＣデコーダは、リードコマンドに応じて前記メモリコアから読み出された読み出しデータに対して前記読み出しデータに含まれるＥＣＣデータを用いてＥＣＣ復号化を行って出力データを生成し、
前記ライトコマンドの入力から前記メモリコアの活性化までの遅延と、前記リードコマンドの入力から前記メモリコアの活性化までの遅延とが同一であるように調節されている
半導体記憶回路。
【請求項２】
請求項１に記載の半導体記憶回路であって、
更に、
外部から供給されるクロック信号に同期して前記入力データを受け取り、受け取った前記入力データを前記メモリコアに転送するデータ入力バッファと、
前記クロック信号に同期して前記ライトコマンドと共に入力される書き込みアドレス及び前記リードコマンドと共に入力される読み出しアドレスを受け取り、受け取った前記書き込みアドレス及び前記読み出しアドレスを前記メモリコアに転送するアドレス入力バッファと、
前記クロック信号を遅延して遅延クロックを生成する遅延回路
とを具備し、
前記メモリコアの活性化が前記遅延クロックに同期して行われる
半導体記憶回路。
【請求項３】
請求項２に記載の半導体記憶回路であって、
前記遅延クロックは、前記メモリコアの活性化が前記ＥＣＣ符号化の完了の後に行われ、且つ、前記書き込みデータが書き込まれた前記メモリセルのデータが前記第１動作サイクルの最後までに確定するように、前記クロック信号を遅延させたものである
半導体記憶回路。
【請求項４】
請求項２又は３に記載の半導体記憶回路であって、
前記ＥＣＣデコーダは、前記ＥＣＣ復号化を前記遅延クロックに同期して行う
半導体記憶回路。
【請求項５】
請求項１に記載の半導体記憶回路であって、
前記ライトコマンドに応答した前記書き込みデータの前記メモリコアへの書き込みは、前記ライトコマンドが入力された第１動作サイクルより後の第２動作サイクルにおいて入力された他のライトコマンドの入力に応答して前記メモリコアが活性化された時に行われる
半導体記憶回路。
【請求項６】
請求項５に記載の半導体記憶回路であって、
更に、
データレジスタと、
アドレスレジスタ
とを具備し、
前記第１動作サイクルにおいて、前記書き込みデータが前記データレジスタに保存されると共に前記ライトコマンドと共に入力された書き込みアドレスが前記アドレスレジスタに保存され、
前記第２動作サイクルにおいて、前記データレジスタに保存された前記書き込みデータが、前記アドレスレジスタに保存された前記書き込みアドレスに対応する前記メモリセルに書き込まれる
半導体記憶回路。
【請求項７】
請求項６に記載の半導体記憶回路であって、
更に、
前記半導体記憶回路の外部から供給されるクロック信号に同期して前記入力データを受け取り、受け取った前記入力データを前記ＥＣＣエンコーダに転送するデータ入力バッファと、
前記クロック信号に同期して、前記書き込みアドレス及び前記読み出しアドレスを受け取り、受け取った前記書き込みアドレス及び前記読み出しアドレスを出力するアドレス入力バッファと、
前記第２動作サイクルにおいて入力された他のライトコマンドに応答して前記アドレスレジスタに書き込まれた前記書き込みアドレスを選択し、前記リードコマンドに応答して前記アドレス入力バッファから出力された前記読み出しアドレスを選択し、選択したアドレスを前記メモリコアに出力するセレクタと、
制御回路
とを具備し、
前記制御回路は、前記クロック信号に同期して、前記書き込みデータの前記メモリコアへの書き込みタイミングが、前記ライトコマンドの入力から前記メモリコアの活性化までの遅延と、前記リードコマンドの入力から前記メモリコアの活性化までの遅延とが同一であるように前記メモリコアを活性化する
半導体記憶回路。
【請求項８】
請求項６又は７に記載の半導体記憶回路であって、
前記第２動作サイクルの次の第３動作サイクルにおいて前記ＥＣＣ復号化が行われ、
前記第３動作サイクルの末尾までに前記出力データが前記半導体記憶回路の外部に出力される
半導体記憶回路。
【請求項９】
請求項２乃至４のいずれかに記載の半導体記憶回路であって、
更に、
前記書き込みアドレスに基づいて、前記メモリコアに含まれる冗長メモリセルへのアクセスを判定するリダンダンシー判定処理を行うリダンダンシー判定回路を具備し、
前記リダンダンシー判定処理が、前記ＥＣＣ符号化と並行して行われる
半導体記憶回路。
【請求項１０】
請求項７に記載の半導体記憶回路であって、
前記第２動作サイクルの次の第３動作サイクルにおいて前記ＥＣＣ復号化が行われ、
前記第２動作サイクルでは、前記メモリコアの活性化が前記クロック信号のアサートに応答して行われ、
前記第３動作サイクルでは、前記クロック信号のネゲートに応答して前記出力データが出力バッファに取り込まれて前記半導体記憶回路の外部に出力される
半導体記憶回路。
【請求項１１】
請求項７に記載の半導体記憶回路であって、
更に、
出力バッファ
を具備し、
前記第２動作サイクルの次の第３動作サイクルにおいて前記ＥＣＣ復号化が行われ、
前記制御回路は、前記第２動作サイクルにおいて、前記クロック信号に同期して前記メモリコアを活性化すると共に、
前記制御回路は、前記クロック信号を遅延して出力クロック信号を生成し、
前記出力バッファは、前記出力クロック信号に同期して前記出力データを取り込んで前記半導体記憶回路の外部に出力する
半導体記憶回路。
【請求項１２】
請求項１乃至１１のいずれかに記載の半導体記憶回路であって、
前記各動作サイクルのうちの第５動作サイクルにおいて前記コマンドとしてリフレッシュコマンドが入力された場合に、前記メモリコアが活性化されると共にリフレッシュ動作が行われ、
前記リフレッシュコマンドの入力から前記メモリコアの活性化までの遅延が、前記ライトコマンドの入力から前記メモリコアの活性化までの遅延及び前記リードコマンドの入力から前記メモリコアの活性化までの遅延と同一である
半導体記憶回路。
【請求項１３】
複数のメモリセルを含むメモリコアを備えた半導体記憶回路の動作方法であって、
各動作サイクルにおいて、コマンドの入力に応答して前記メモリコアを活性化するステップと、
前記各動作サイクルのうちの第１動作サイクルにおいて前記コマンドとしてライトコマンドが入力された場合に、前記第１動作サイクルで入力された入力データに対してＥＣＣ（error checking and correction）符号化を行ってＥＣＣデータを生成し、前記入力データと前記ＥＣＣデータとを含む書き込みデータを生成するステップと、
前記メモリコアが活性化されている間に、前記第１動作サイクルで入力された書き込みアドレスに対応するメモリセルに前記書き込みデータを書き込むステップと、
前記各動作サイクルのうちの第２動作サイクルにおいて、前記コマンドとしてリードコマンドが入力された場合に、前記第２動作サイクルで入力された読み出しアドレスに対応するメモリセルから読み出しデータを読み出すステップと、
前記読み出しデータに対し、前記読み出しデータに含まれるＥＣＣデータを用いてＥＣＣ復号化を行って出力データを生成するステップ
とを具備し、
前記ライトコマンドの入力から前記メモリコアの活性化までの遅延と、前記リードコマンドの入力から前記メモリコアの活性化までの遅延とが同一である
半導体記憶回路の動作方法。
【請求項１４】
請求項１３に記載の半導体記憶回路の動作方法であって、
更に、
前記半導体記憶回路のデータ入力バッファが、外部から供給されるクロック信号に同期して前記入力データを受け取り、受け取った前記入力データを前記メモリコアに転送するステップと、
前記半導体記憶回路のアドレス入力バッファが、前記クロック信号に同期して前記書き込みアドレスを受け取り、受け取った前記書き込みアドレスを前記メモリコアに転送するステップと、
前記半導体記憶回路のアドレス入力バッファが、前記クロック信号に同期して前記読み出しアドレスを受け取り、受け取った前記読み出しアドレスを前記メモリコアに転送するステップと、
前記クロック信号を遅延して遅延クロックを生成するステップ
とを具備し、
前記メモリコアの活性化が前記遅延クロックに同期して行われる
半導体記憶回路の動作方法。
【請求項１５】
請求項１３に記載の半導体記憶回路の動作方法であって、
前記第１動作サイクルに入力された前記ライトコマンドに応答した前記メモリコアへの前記書き込みデータの書き込みは、前記第１動作サイクルの後の第３動作サイクルにおける他のライトコマンドの入力に応答して前記メモリコアが活性化された時に行われる
半導体記憶回路の動作方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体記憶回路及びその動作方法に関し、特に、ＥＣＣ（error checking and
correcting）機能を有する半導体記憶回路の動作方法に関する。
【背景技術】
【０００２】
記憶データのエラーを検出し、訂正するＥＣＣ機能は、半導体記憶回路のデータ信頼性を高めるための技術として広く用いられている。近年では、独立したメモリチップのみならず、メモリ混載ＬＳＩに集積化されたメモリマクロにおいてもＥＣＣ機能が搭載されることがある。
【０００３】
ＥＣＣ機能を搭載したメモリマクロは、例えば、特開２０１０−８６２１０号公報に開示されている。図１は、この公報に開示されているコントローラ１０６の構成を示している。コントローラ１０６は、メモリ１０１とメモリコントローラ１０２とプロセッサ１０４とを備えている。メモリ１０１とメモリコントローラ１０２とは、信号線群１０３で接続され、メモリコントローラ１０２とプロセッサ１０４とは信号線群１０５で接続されている。プロセッサ１０４が、信号線群１０５で伝送される制御信号（クロックＣＬＫ、リードライト制御ＲＷ、転送開始ＢＳ、アドレス及びデータＡＤ）によってメモリコントローラ１０２にリード動作又はライト動作を指示すると、メモリコントローラ１０２は、信号線群１０３で伝送される制御信号（クロックＣＬＫ、アドレスＡ、ローアドレスストローブＲＡＳ、カラムアドレスストローブＣＡＳ、ライトイネーブルＷＥ、データマスクＤＭ、データストローブＤＱＳ、データＤＱ）によってメモリ１０１にアクセス（リード動作又はライト動作）を行う。ここで、メモリコントローラ１０２は、ＥＣＣ機能を有しており、ＥＣＣ符号化やＥＣＣ復号化処理を行う。
【０００４】
ＥＣＣ機能を搭載したメモリマクロについては、他にも、特開２００２−７４９８３号公報、特開２００６−２４４６３２号公報、及び、特開２００８−９０４１９号公報にも開示されている。
【０００５】
半導体記憶回路に対する一つの要求は、リード動作、ライト動作における動作周波数を高めることである。動作周波数を高めることで、高速なリード動作、ライト動作を実現することが可能になる。
【０００６】
もう一つの要求は、リード動作とライト動作との切り替えを含め、各動作サイクルにおいて完全なランダムアクセス性を維持することである。例えば、ライト動作が指示された動作サイクルの次のサイクルにおいてリード動作が禁止されるような事態は、外部から半導体記憶回路を制御するために使用される制御ロジックを複雑化し、ランダムアクセス性を低下させてしまう。
【０００７】
しかしながら、ＥＣＣ機能を付加することで、上記の要求を同時に満たせなくなることがある。例えば、動作周波数を高くすると、ＥＣＣ符号化処理とメモリセルへの書き込みとを一つの動作サイクルで完了することができなくなり、同様に、メモリセルからの読み出しとＥＣＣ復号化処理とが一つの動作サイクルで完了することができなくなる。ＥＣＣ処理（即ち、ＥＣＣ符号化処理又はＥＣＣ復号化処理）とメモリセルへのアクセスを単一の動作サイクルで完了させるという条件の下では、動作周波数は、ＥＣＣ処理に要する時間とメモリセルへのアクセスに要する時間の和に対応する周波数に制約されてしまう。
【０００８】
このような問題に対処するための一つの手法は、例えば上記の特開２０１０−０８６１２０号公報に開示されているように、メモリアクセスのための処理とＥＣＣ符号化処理又はＥＣＣ復号化処理とをパイプライン化することである。即ち、ライト動作では、ライトコマンドとデータとアドレスが入力された動作サイクルにおいてＥＣＣ符号化処理が行われ、その次の動作サイクルにおいてデータがメモリコアに書き込まれる。リード動作では、リードコマンドとアドレスとが入力された動作サイクルにおいてメモリコアからデータが読みだされ、その次の動作サイクルにおいてＥＣＣ復号化処理が行われる。このような動作によれば、一の動作サイクルの長さ自体は短くできるので、動作周波数を低減させずにＥＣＣ処理を行うことができる。
【０００９】
図２は、図１の半導体記憶回路のライト動作とリード動作の例を示すタイミングチャートである。図２には、上述のようなＥＣＣ処理とメモリアクセスとがパイプライン化された動作が図示されている。ここで、図１の回路では、メモリコントローラ１０２は、プロセッサ１０４から受け取ったアドレスをそのままメモリ１０１に転送すると同時にＥＣＣ処理を行うように構成されているから、結果として、ライトコマンドとデータとアドレスが入力された動作サイクルにおいてＥＣＣ符号化処理が行われ、その次の動作サイクルにおいてデータがメモリコアに書き込まれる動作を行うことになることに留意されたい。
【００１０】
例えば、図２の動作では、時刻ｔ１において、ライトコマンドが入力され、アドレスＡ１を指定するアドレス信号が入力され、更に、データ入力にデータＤ１が入力されると、時刻ｔ１から開始される動作サイクルにおいてＥＣＣ処理が行われ、次の動作サイクル（時刻ｔ２で開始される動作サイクル）においてメモリ１０１が活性化されてデータ書き込みが行われる。また、時刻ｔ３において、リードコマンドが入力されると共に、アドレスＡ２を指定するアドレス信号が入力されると、時刻ｔ３から開始される動作サイクルにおいてメモリ１０１が活性化されてデータ読み出しが行われ、次の動作サイクル（時刻ｔ４で開始される動作サイクル）においてＥＣＣ復号化処理が行われる。
【００１１】
しかしながら、図２に図示されている動作では、ライトサイクル数（ライトコマンドの入力の後、データ書き込みを完了するのに必要な動作サイクルの数）が２に悪化し、また、リードサイクル数（リードコマンドの入力の後、データ読み出しを完了するのに必要な動作サイクルの数）も２に劣化してしまう。
【００１２】
加えて、図２に図示されている動作では、ライトコマンドの入力の次の動作サイクルでリードコマンドの入力を禁止する必要があり、ランダムアクセス性が失われる。ライト動作は、ライトコマンドが入力された動作サイクルの次の動作サイクルでメモリ１０１へのアクセスが行われる一方で、リード動作は、リードコマンドが入力された動作サイクルでメモリ１０１へのアクセスが行われるので、ライトコマンドの入力の次の動作サイクルでリードコマンドが入力されるとメモリ１０１へのアクセスが衝突してしまう。
【００１３】
このような不具合を解消するためには、リードコマンドが入力された動作サイクルの次の動作サイクルでメモリ１０１へのアクセスを行い、アクセスの衝突を回避することも考えられる。しかしながら、そのような動作では、リードサイクル数が３に増大してしまう。
【００１４】
このような問題は、メモリ混載ＬＳＩにおいて特に問題になる。メモリ混載ＬＳＩでは、メモリインターフェースがボトルネックとならないため、メモリコアの動作速度が増大される上、ランダムアクセス性能に対する要求が大きい。このため、ライド動作、リード動作に必要な動作サイクル数の増大の問題や、ライトコマンド、リードコマンドの入力タイミングの制約の問題は、特に深刻になる。
【先行技術文献】
【特許文献】
【００１５】
【特許文献１】特開２０１０−８６２１０号公報
【特許文献２】特開２００２−７４９８３号公報
【特許文献３】特開２００６−２４４６３２号公報
【特許文献４】特開２００８−９０４１９号公報
【発明の概要】
【発明が解決しようとする課題】
【００１６】
したがって、本発明の目的は、ＥＣＣ機能を有する半導体記憶回路について、動作周波数を高く維持すると共に、ランダムアクセス性を向上させる技術を提供することにある。
【課題を解決するための手段】
【００１７】
本発明の一の観点では、半導体記憶回路が、複数のメモリセルを含むメモリコアと、ＥＣＣ（error
checking and correction）エンコーダと、ＥＣＣデコーダとを備えている。メモリコアは、各動作サイクルにおけるコマンド入力に応答して活性化される。ＥＣＣエンコーダは、ライトコマンドと共に入力される入力データに対してＥＣＣ符号化を行ってＥＣＣデータを生成し、入力データとＥＣＣデータとを含む書き込みデータを生成する。ＥＣＣデコーダは、リードコマンドに応じてメモリコアから読み出された読み出しデータに対して読み出しデータに含まれるＥＣＣデータを用いてＥＣＣ復号化を行って出力データを生成する。書き込みデータのメモリコアへの書き込みタイミングは、ライトコマンドの入力からメモリコアの活性化までの遅延と、リードコマンドの入力からメモリコアの活性化までの遅延とが同一であるように調節されている。
【００１８】
本発明の他の観点では、複数のメモリセルを含むメモリコアを備えた半導体記憶回路の動作方法が提供される。当該動作方法は、
各動作サイクルにおいて、コマンドの入力に応答してメモリコアを活性化するステップと、
各動作サイクルのうちの第１動作サイクルにおいてコマンドとしてライトコマンドが入力された場合に、第１動作サイクルで入力された入力データに対してＥＣＣ（error checking and correction）符号化を行ってＥＣＣデータを生成し、入力データとＥＣＣデータとを含む書き込みデータを生成するステップと、
メモリコアが活性化されている間に、第１動作サイクルで入力された書き込みアドレスに対応するメモリセルに書き込みデータを書き込むステップと、
各動作サイクルのうちの第２動作サイクルにおいてコマンドとしてリードコマンドが入力された場合に、第２動作サイクルで入力された読み出しアドレスに対応するメモリセルから読み出しデータを読み出すステップと、
読み出しデータに対し、読み出しデータに含まれるＥＣＣデータを用いてＥＣＣ復号化を行って出力データを生成するステップ
とを具備する。ここで、ライトコマンドの入力からメモリコアの活性化までの遅延と、リードコマンドの入力からメモリコアの活性化までの遅延とが同一である。
【発明の効果】
【００１９】
本発明によれば、ＥＣＣ機能を有する半導体記憶回路について、動作周波数を高く維持すると共に、ランダムアクセス性を向上させる技術が提供される。
【図面の簡単な説明】
【００２０】
【図１】従来のＥＣＣ機能を有する半導体記憶回路の構成を示すブロック図である。
【図２】図１の半導体記憶回路の動作を示すタイミングチャートである。
【図３】本発明の第１の実施形態の半導体記憶回路の構成を示すブロック図である。
【図４】第１の実施形態の半導体記憶回路の動作を示すタイミングチャートである。
【図５】本発明の第２の実施形態の半導体記憶回路の構成を示すブロック図である。
【図６】第２の実施形態の半導体記憶回路の動作を示すタイミングチャートである。
【図７】本発明の第３の実施形態の半導体記憶回路の構成を示すブロック図である。
【図８】本発明の第４の実施形態の半導体記憶回路の動作を示すタイミングチャートである。
【図９】本発明の第５の実施形態の半導体記憶回路の構成を示すブロック図である。
【図１０】第５の実施形態の半導体記憶回路の動作を示すタイミングチャートである。
【図１１】第６の実施形態の半導体記憶回路の動作の一例を示すタイミングチャートである。
【図１２】第６の実施形態の半導体記憶回路の動作の他の例を示すタイミングチャートである。
【発明を実施するための形態】
【００２１】
第１の実施形態：
図３は、本発明の第１の実施形態の半導体記憶回路の構成を示すブロック図である。第１の実施形態では、本発明の半導体記憶回路がＲＡＭマクロ１０として構成されている。ＲＡＭマクロ１０は、メモリコア１と、アドレス入力バッファ２と、データ入力バッファ３と、ＥＣＣエンコーダ４と、ＥＣＣデコーダ５と、出力バッファ６と、遅延回路７とを備えている。
【００２２】
メモリコア１は、メモリセルが行列に配置されたセルアレイを備えており、該セルアレイにデータが記憶される。メモリコア１には、ランダムアクセスに対応した様々なメモリセルが使用可能であり、例えば、ＤＲＡＭ（dynamic random access memory）セル、ＳＲＡＭ（static
random access memory）セル等がメモリコア１のメモリセルとして使用可能である。アドレス入力バッファ２は、当該ＲＡＭマクロ１０の外部から入力されたアドレスＡＤＤ及びコマンドＣＯＭをメモリコア１に転送する。データ入力バッファ３は、当該ＲＡＭマクロ１０の外部から入力された入力データＤＡＴＡ＿ＩＮをＥＣＣエンコーダ４に転送する。データ入力バッファ３には、データマスク信号Ｍａｓｋが供給されており、データ入力バッファ３は、入力データＤＡＴＡ＿ＩＮの一部のビットをマスクする機能を有している。
【００２３】
ＥＣＣエンコーダ４は、入力データＤＡＴＡ＿ＩＮに対してＥＣＣ符号化処理を行い、ＥＣＣデータを生成する。ここで、ＥＣＣデータとは、メモリコア１に記憶されたデータの誤り検出及び誤り訂正に使用されるデータである。ＥＣＣエンコーダ４は、入力データＤＡＴＡ＿ＩＮとＥＣＣデータとを書き込みデータとしてメモリコア１に転送する。メモリコア１に送られた書き込みデータは、メモリコア１に記憶される。
【００２４】
ＥＣＣデコーダ５は、メモリコア１から読み出された読み出しデータに対しＥＣＣ復号化処理を行い、出力データＤＡＴＡ＿ＯＵＴを生成する。詳細には、メモリコア１から読み出された読み出しデータには、実効データ（即ち、入力データに相当するデータ）とＥＣＣデータとが含まれている。ＥＣＣデコーダ５は、メモリコア１から読み出された読み出しデータに対し、ＥＣＣデータを用いて誤り検出を行う。誤りが検出されなかった場合、読み出しデータに含まれている実効データを出力データＤＡＴＡ＿ＯＵＴとして出力する。また、誤りが検出され、且つ、誤り訂正可能な場合、ＥＣＣデコーダ５は、読み出しデータに対して誤り訂正を行い、得られた訂正後データを出力データＤＡＴＡ＿ＯＵＴとして出力バッファ６に送る。出力バッファ６は、出力データＤＡＴＡ＿ＯＵＴを外部に出力する。
【００２５】
該ＲＡＭマクロ１０には、外部からクロック信号ＣＬＫが供給されており、メモリコア１と、アドレス入力バッファ２と、データ入力バッファ３と、ＥＣＣデコーダ５と、出力バッファ６とは、該クロック信号ＣＬＫに応答して動作する。ここで、クロック信号ＣＬＫは、動作サイクルの長さと同一の周期を有している。クロック信号ＣＬＫの１周期が動作サイクルに対応している。
【００２６】
ただし、メモリコア１とＥＣＣデコーダ５には、クロック信号ＣＬＫが遅延回路７によって遅延されて得られる遅延クロック信号ＣＬＫＤが供給される。これは、メモリコア１の活性化タイミングを遅延させると共に、メモリコア１の活性化タイミングに合わせてＥＣＣデコーダ５の動作タイミングを遅延させるためである。以下に詳細に述べられるように、本実施形態のＲＡＭマクロ１０では、メモリコア１の活性化タイミングとＥＣＣデコーダ５の動作タイミングを遅らせることが高い動作周波数の維持とランダムアクセス性の向上のために重要である。
【００２７】
図４は、第１の実施形態のＲＡＭマクロ１０の動作を示すタイミングチャートである。クロック信号ＣＬＫが遅延回路７によって遅延され、遅延クロック信号ＣＬＫＤが生成される。図４の例では、遅延クロック信号ＣＬＫＤのクロック信号ＣＬＫからの遅延時間はｔＤとして図示されている。
【００２８】
ライト動作では、ライト動作が行われる動作サイクルの開始時に、クロック信号ＣＬＫのアサート（本実施形態では、クロック信号ＣＬＫの立ち上がりエッジ）に同期して、コマンドＣＯＭとしてライトコマンドが入力される。ライトコマンドの入力と共に、書き込みアドレスを指定するアドレスＡＤＤと、入力データＤＡＴＡ＿ＩＮとが同時に入力される。アドレス入力バッファ２及びデータ入力バッファ３は、クロック信号ＣＬＫのアサートに同期してアドレスＡＤＤ及び入力データＤＡＴＡ＿ＩＮを取り込む。続いて、ＥＣＣエンコーダ４によってＥＣＣ符号化処理が行われてＥＣＣデータが生成される。更に、遅延クロック信号ＣＬＫＤのアサート（本実施形態では、遅延クロック信号ＣＬＫＤの立ち上がりエッジ）に応答してメモリコア１が活性化され（即ち、書き込みアドレスに対応する選択ワード線が活性化され）、メモリコア１への書き込みデータ（即ち、入力データＤＡＴＡ＿ＩＮとＥＣＣデータ）の書き込みが行われる。
【００２９】
ここで、遅延クロック信号ＣＬＫＤの遅延時間ｔＤは、メモリコア１が活性化されるタイミングがＥＣＣ符号化処理の完了の後になり、且つ、次の動作サイクルの開始時には、メモリコア１の書き込みアドレスのメモリセルのデータが確定しているように調節されている。次の動作サイクルの開始時点においては、メモリコア１の書き込みアドレスのメモリセルのデータが確定しているから、ライトサイクル数は１であることに留意されたい。
【００３０】
例えば、ある動作サイクルが開始される時刻ｔ１において、ライトコマンドとアドレスＡ１と入力データＤ１とが入力されると、入力データＤ１に対してＥＣＣ符号化処理が行われてＥＣＣデータが生成される。続いて、遅延クロック信号ＣＬＫＤのアサートに応答してメモリコア１が活性化される。このとき、メモリコア１では、アドレスＡ１によって選択されるワード線ＷＬ１が活性化され、書き込みデータがアドレスＡ１に対応するメモリセルに書き込まれる。
【００３１】
時刻ｔ４においてライトコマンドとアドレスＡ４と入力データＤ４とが入力された場合、時刻ｔ５においてライトコマンドとアドレスＡ５と入力データＤ５とが入力された場合についても同様にしてライト動作が行われる。
【００３２】
ここで、ライト動作の完全な完了は、ライト動作が開始された動作サイクルの次の動作サイクルに跨っていることに留意されたい。しかしながら、後述のように、次の動作サイクルにおいてもメモリコア１の活性化タイミングが遅延されるから、ライト動作の完了の遅延は問題にならない。
【００３３】
一方、リード動作では、リード動作が開始される動作サイクルの開始時に、クロック信号ＣＬＫのアサートに同期して、コマンドＣＯＭとしてリードコマンドが入力され、更に、読み出しアドレスを指定するアドレスＡＤＤが入力される。続いて、遅延クロック信号ＣＬＫＤのアサートに応答してメモリコア１が活性化され（即ち、読み出しアドレスに対応する選択ワード線が活性化され）、メモリコア１のアドレスＡＤＤに対応するメモリセルから読み出しデータが読みだされる。
【００３４】
続いて、次の動作サイクルの遅延クロック信号ＣＬＫＤのアサートに応答してメモリコア１から読み出された読み出しデータがＥＣＣデコーダ５に取り込まれ、ＥＣＣデコーダ５によってＥＣＣ復号化処理が行われる。ＥＣＣ復号化処理で得られた出力データＤＡＴＡ＿ＯＵＴは、出力バッファ６に送られる。出力バッファ６は、リード動作が開始される動作サイクルの次の次の動作サイクルの開始時に出力データＤＡＴＡ＿ＯＵＴをＥＣＣデコーダ５から取り込み、取り込んだ出力データＤＡＴＡ＿ＯＵＴを外部に出力する。このようなリード動作では、リードサイクル数は２であることに留意されたい。
【００３５】
例えば、ある動作サイクルが開始される時刻ｔ２において、リードコマンドとアドレスＡ２とが入力されたとする。その後、遅延クロック信号ＣＬＫＤのアサートに応答してメモリコア１が活性化され（即ち、アドレスＡ２に対応するワード線が活性化され）、メモリコア１からアドレスＡ２に対応する読み出しデータが読みだされる。更に、次の動作サイクル（時刻ｔ３に開始される動作サイクル）の遅延クロック信号ＣＬＫＤのアサートに応答してメモリコア１から読み出された読み出しデータがＥＣＣデコーダ５に取り込まれ、ＥＣＣデコーダ５によってＥＣＣ復号化処理が行われる。ＥＣＣ復号化処理によって得られた出力データＱ２は、出力バッファ６に送られる。出力バッファ６に送られた出力データＱ２は、その次の動作サイクル（時刻ｔ４に開始される動作サイクル）の開始時に出力バッファ６に取り込まれ、外部に出力される。
【００３６】
時刻ｔ３においてライトコマンドとアドレスＡ３とが入力された場合についても同様にしてリード動作が行われる。
【００３７】
ここで、リード動作の完全な完了は、リード動作が開始された動作サイクルの次の次の動作サイクルに跨っていることに留意されたい。しかしながら、後述のように、各動作サイクルにおいてメモリコア１の活性化タイミングが遅延されるから、リード動作の完了の遅延は問題にならない。
【００３８】
上述された本実施形態のＲＡＭマクロ１０の動作では、ライト動作時に、遅延クロック信号ＣＬＫＤに同期してメモリコア１が活性化されるため、ＥＣＣ符号化処理が行われる動作サイクルと同一の動作サイクルにおいて書き込みアドレスのメモリセルへの書き込みを開始できる。その結果、ライト動作におけるメモリコア１の内部動作はライトコマンドが入力された動作サイクルの次の動作サイクルに跨るものの、ライトサイクル数は１に低減できる。
【００３９】
また、リード動作が開始された次の動作サイクルにおいて遅延クロック信号ＣＬＫＤに同期してＥＣＣ復号化処理が開始されるため、このため、動作周波数を低減しなくてもその次の動作サイクルの開始時には読み出しデータの出力が可能になる。即ち、動作周波数を高く維持することができる。更に、このような動作によれば、リード動作におけるメモリコア１の内部動作はリードコマンドが入力された動作サイクルの次の次の動作サイクルに跨るものの、リードサイクル数は２に維持される。
【００４０】
加えて、本実施形態のＲＡＭマクロ１０の動作では、リード動作時及びライト動作時の両方において、遅延クロック信号ＣＬＫＤに同期してメモリコア１が活性化される。これにより、各ライトコマンドが入力された後、メモリコア１が活性化されるタイミング（即ち、選択ワード線が活性化されるタイミング）までの遅延時間と、各リードコマンドが入力された後、メモリコア１が活性化されるタイミングまでの遅延時間とが同一となる。
【００４１】
このような動作によれば、ランダムアクセス性が向上される。図４から理解されるように、ライトコマンドが入力された動作サイクルの次の動作サイクルにリードコマンドを入力しても、ライト動作とリード動作のメモリコア１の活性化が衝突することはない。同様に、リードコマンドが入力された動作サイクルの次の動作サイクルにライトコマンドを入力しても、ライト動作とリード動作のメモリコア１の活性化が衝突することはない。
【００４２】
第２の実施形態：
図５は、本発明の第２の実施形態の半導体記憶回路の構成を示すブロック図である。第２の実施形態の半導体記憶回路は、レイトライト（late write）方式でライト動作を行うＲＡＭマクロ１０Ａとして構成されている。ここで、レイトライト方式とは、ライトコマンドの入力と共に入力された書き込みアドレス及びデータをレジスタに保存しておき、次のライトコマンドが入力された動作サイクルにおいて、保存された書き込みアドレスのメモリセルに、保存されたデータを書き込む方式である。以下、第２の実施形態のＲＡＭマクロ１０Ａの構成と動作を説明する。
【００４３】
第２の実施形態のＲＡＭマクロ１０Ａは、第１の実施形態のＲＡＭマクロ１０と類似した構成を有しているが、アドレスレジスタ８、データレジスタ９及びセレクタ１１を追加的に備え、且つ、遅延回路７の代わりにレイトライト制御回路７Ａを備えている点で異なる。アドレスレジスタ８は、アドレスＡＤＤを一時的に保存する機能を有しており、データレジスタ９は、ＥＣＣエンコーダ４から書き込みデータ（入力データＤＡＴＡ＿ＩＮとＥＣＣデータ）を受け取り、一時的に保存する機能を有している。セレクタ１１は、リード動作が行われる場合にアドレス入力バッファ２から出力されるアドレスをメモリコア１に送り、ライト動作が行われる場合にアドレスレジスタ８から出力されるアドレスをメモリコア１に送る。後述のように、アドレスレジスタ８、データレジスタ９及びセレクタ１１は、レイトライト方式のライト動作を実現するために使用される。
【００４４】
レイトライト制御回路７Ａは、外部から供給されるクロック信号ＣＬＫに同期して、ＲＡＭマクロ１０Ａの各回路（メモリコア１、アドレス入力バッファ２、データ入力バッファ３、ＥＣＣエンコーダ４、ＥＣＣデコーダ５、アドレスレジスタ８、データレジスタ９、及びセレクタ１１）を制御する。レイトライト制御回路７ＡにはコマンドＣＯＭが入力されており、レイトライト制御回路７Ａは、そのコマンドＣＯＭに応じて各種の制御を行う。図５において、記号ＣＴＲＬ＿ＲＡＭは、メモリコア１を制御するための制御信号である。他の回路にも動作を制御するための制御信号が供給される。また、データ入力バッファ３にデータマスク信号Ｍａｓｋが供給されており、データ入力バッファ３が入力データＤＡＴＡ＿ＩＮの一部のビットをマスクする機能を有している。
【００４５】
図６は、第２の実施形態のＲＡＭマクロ１０Ａの動作を示すタイミングチャートである。ライト動作が開始される動作サイクルの開始時に、クロック信号ＣＬＫのアサートに同期して、コマンドＣＯＭとしてライトコマンドが入力される。ライトコマンドの入力と共に、書き込みアドレスを指定するアドレスＡＤＤと、入力データＤＡＴＡ＿ＩＮとが同時に入力される。アドレス入力バッファ２及びデータ入力バッファ３は、それぞれ、クロック信号ＣＬＫのアサートに同期してアドレスＡＤＤと入力データＤＡＴＡ＿ＩＮとを取り込む。
【００４６】
更に、クロック信号ＣＬＫのアサートに応答してメモリコア１が活性化され（即ち、選択ワード線が活性化され）、書き込みデータのメモリコア１への書き込みが行われる。ここで、ライト動作では、セレクタ１１によってアドレスレジスタ８の出力が選択されるため、メモリコア１が活性化されたときに選択されるアドレスは、アドレスレジスタ８に記憶されていたアドレス、即ち、その前のライトコマンドと共に入力された書き込みアドレスである。また、書き込まれる書き込みデータは、データレジスタ９に記憶されていた書き込みデータ、即ち、当該前のライトコマンドと共に入力された入力データＤＡＴＡ＿ＩＮ及びその入力データＤＡＴＡ＿ＩＮからＥＣＣ符号化処理によって生成されたＥＣＣデータである。このような動作により、レイトライト方式のライト動作が実現されている。
【００４７】
データレジスタ９に記憶されていた書き込みデータとＥＣＣデータのメモリコア１への書き込みと並行して、アドレスレジスタ８及びデータレジスタ９の更新が行われる。最新のライトコマンドの入力と共に入力されたアドレスＡＤＤがアドレスレジスタ８に書き込まれる。更に、最新のライトコマンドの入力と共に入力された入力データＤＡＴＡ＿ＩＮに対してＥＣＣエンコーダ４によってＥＣＣ符号化処理が行われてＥＣＣデータが生成される。入力された入力データＤＡＴＡ＿ＩＮと生成されたＥＣＣデータとは、ＥＣＣエンコーダ４からデータレジスタ９に送られて書き込みデータとして保存される。データレジスタ９に保存された書き込みデータが、ライトコマンドが次に入力されたときにメモリコア１に送られて書き込まれる。
【００４８】
例えば、時刻ｔ１以前に、アドレスレジスタ８にアドレスＡ０が保存され、データレジスタ９に書き込みデータＤ０Ｅが保存されていたとする。ある動作サイクルが開始される時刻ｔ１において、ライトコマンドとアドレスＡ１と入力データＤ１とが入力されると、ライトコマンドの入力に応答して、メモリコア１が活性化される。このとき、アドレスレジスタ８に保存されていたアドレスＡ０に対応するワード線が選択され、データレジスタ９に保存されていた書き込みデータＤ０ＥがアドレスＡ０に対応するメモリセルに書き込まれる。
【００４９】
並行して、入力データＤ１に対してＥＣＣ符号化処理が行われてＥＣＣデータが生成され、入力データＤ１と生成されたＥＣＣデータとが書き込みデータＤ１Ｅとしてデータレジスタ９に保存される。加えて、アドレスＡ１がアドレスレジスタ８に保存される。
【００５０】
次に時刻ｔ４においてライトコマンドとアドレスＡ４と入力データＤ４とが入力されると、ライトコマンドの入力に応答してメモリコア１が活性化される。このとき、アドレスレジスタ８に保存されていたアドレスＡ１に対応するワード線が選択され、データレジスタ９に保存されていた書き込みデータＤ１ＥがアドレスＡ１に対応するメモリセルに書き込まれる。
【００５１】
並行して、入力データＤ４に対してＥＣＣ符号化処理が行われてＥＣＣデータが生成され、入力データＤ４と生成されたＥＣＣデータとが書き込みデータＤ４Ｅとしてデータレジスタ９に保存される。時刻ｔ５においてライトコマンドが入力されると、同様にして、データレジスタ９に保存されていた書き込みデータＤ４Ｅがアドレスレジスタ８に保存されていたアドレスＡ４に対応するメモリセルに書き込まれる。時刻ｔ５においてライトコマンドと共に入力された入力データＤ５及びアドレスＡ５についても、同様にしてライト動作が行われる。
【００５２】
一方、リード動作では、リード動作が開始される動作サイクルの開始時に、クロック信号ＣＬＫのアサートに同期して、コマンドＣＯＭとしてリードコマンドが入力され、更に、読み出しアドレスを指定するアドレスＡＤＤが入力される。更に、クロック信号ＣＬＫのアサートに応答してメモリコア１が活性化され（即ち、読み出しアドレスに対応する選択ワード線が活性化され）、メモリコア１から読み出しデータが読みだされる。読み出された読み出しデータには、実効データとＥＣＣデータとが含まれている。
【００５３】
続いて、次の動作サイクルの開始時のクロック信号ＣＬＫのアサートに応答してメモリコア１から読み出された読み出しデータがＥＣＣデコーダ５に取り込まれ、ＥＣＣデコーダ５によってＥＣＣ復号化処理が行われる。ＥＣＣ復号化処理で得られた出力データＤＡＴＡ＿ＯＵＴは、出力バッファ６に送られる。出力バッファ６は、ＥＣＣデコーダ５から受け取った出力データＤＡＴＡ＿ＯＵＴを外部に出力する。リード動作は、リードコマンドが入力された動作サイクルの次の次の動作サイクルの開始時には完了している。このようなリード動作では、リードサイクル数は２であることに留意されたい。
【００５４】
例えば、ある動作サイクルが開始される時刻ｔ２において、リードコマンドとアドレスＡ２とが入力されたとする。リードコマンドの入力に応答してメモリコア１が活性化され（即ち、アドレスＡ２に対応するワード線が活性化され）、メモリコア１からアドレスＡ２に対応する読み出しデータが読みだされる。更に、次の動作サイクル（時刻ｔ３に開始される動作サイクル）の開始時のクロック信号ＣＬＫのアサートに応答してメモリコア１から読み出された読み出しデータがＥＣＣデコーダ５に取り込まれ、ＥＣＣデコーダ５によってＥＣＣ復号化処理が行われる。ＥＣＣ復号化処理によって得られた出力データＱ２は、出力バッファ６に送られる。出力データＱ２は、出力バッファ６から外部に出力される。
【００５５】
時刻ｔ３においてライトコマンドとアドレスＡ３とが入力された場合についても同様にしてリード動作が行われる。
【００５６】
上述された本実施形態のＲＡＭマクロ１０Ａの動作では、ライト動作としてレイトライト方式が採用されているため、あるライトコマンドと同時に入力された入力データＤＡＴＡ＿ＩＮがメモリコア１に実際に書き込まれる動作サイクルは、次のライトコマンドが入力された動作サイクルである。このため、第１の実施形態のように、遅延クロック信号ＣＬＫＤを用いてメモリコア１の活性化のタイミングを遅延させなくとも、ＥＣＣ符号化処理に必要な時間を確保できる。その一方で、ライトコマンドが入力された動作サイクルにおいてライト動作が完了できるので、実効的なライトサイクル数は１に低減できる。
【００５７】
また、リード動作が開始された次の動作サイクルの開始時にクロック信号ＣＬＫに同期してＥＣＣ復号化処理が開始されるため、動作周波数を低減しなくても、その次の動作サイクルの開始時には出力データＤＡＴＡ＿ＯＵＴの出力が可能になる。即ち、動作周波数を高く維持することができる。更に、このような動作によれば、リードサイクル数は２に維持される。
【００５８】
加えて、本実施形態のＲＡＭマクロ１０Ａの動作では、リード動作時及びライト動作時の両方において、動作サイクルの開始時のクロック信号ＣＬＫのアサートに応答してメモリコア１が活性化される。これにより、各ライトコマンドが入力された後、メモリコア１が活性化されるタイミング（即ち、選択ワード線が活性化されるタイミング）までの遅延時間と、各リードコマンドが入力された後、メモリコア１が活性化されるタイミングまでの遅延時間とが同一となる。
【００５９】
このような動作によれば、ランダムアクセス性が向上される。図６から理解されるように、ライトコマンドが入力された動作サイクルの次の動作サイクルにリードコマンドを入力しても、ライト動作とリード動作のメモリコア１の活性化が衝突することはない。同様に、リードコマンドが入力された動作サイクルの次の動作サイクルにライトコマンドを入力しても、ライト動作とリード動作のメモリコア１の活性化が衝突することはない。
【００６０】
第３の実施形態：
図７は、本発明の第３の実施形態の半導体記憶回路の構成を示すブロック図である。第３の実施形態の半導体記憶回路は、メモリリダンダンシー(memory redundancy)技術による信頼性の向上に対応した構成を有するＲＡＭマクロ１０Ｂとして構成されている。詳細には、第３の実施形態のＲＡＭマクロ１０Ｂは、第１の実施形態のＲＡＭマクロ１０と類似した構成を有しているが、リダンダンシー判定回路１２を有している点で異なる。更に、メモリコア１には冗長メモリセルが設けられる。
【００６１】
リダンダンシー判定回路１２は、アドレス入力バッファ２からアドレスＡＤＤ（書き込みアドレス又は読み出しアドレス）を受け取り、受け取ったアドレスＡＤＤに対してリダンダンシー判定処理を行ってリダンダンシー判定信号を生成する。詳細には、リダンダンシー判定回路１２は、受け取ったアドレスＡＤＤが故障のあるメモリセルを選択するものであった場合、当該故障のあるメモリセルの代わりに冗長メモリセルを選択することを指示するリダンダンシー判定信号をメモリコア１に送る。メモリコア１のデコーダ１ａは、アドレス入力バッファ２から受け取ったアドレスＡＤＤとリダンダンシー判定信号に応答して、故障のあるメモリセルの代わりに冗長メモリセルを選択する。例えば、故障のあるメモリセルが接続されたワード線の代わりに、冗長メモリセルに対応する冗長ワード線を選択してもよく、また、故障のあるメモリセルが接続されたビット線の代わりに、冗長メモリセルに対応する冗長ビット線を選択してもよい。ここで、リダンダンシー判定回路１２の動作が、ＥＣＣエンコーダ４の動作と並行して行われることに留意されたい。
【００６２】
第１の実施形態では、メモリコア１の活性化のタイミングが遅延されているため、動作速度を決定するクリティカルパスが、アドレスＡＤＤを伝送するパスではなく、入力データＤＡＴＡ＿ＩＮ又は出力データＤＡＴＡ＿ＯＵＴを伝送するパスになる。一方、第３の実施形態では、このことを有効に利用し、動作速度の低下や面積増大の一因となっているリダンダンシー判定回路１２とデコーダ１ａにおける信号処理（リダンダンシー判定処理と、メモリコア１のワード線及び／又はビット線の置換）が、ＥＣＣエンコーダ４によるＥＣＣ符号化処理と並列に行われる。これにより、面積や消費電力を低減できる回路構成やレイアウトを選択できるようになる。
【００６３】
第４の実施形態：
図８は、本発明の第４の実施形態の半導体記憶回路の動作を示すタイミングチャートである。第４の実施形態では、第２の実施形態のＲＡＭマクロ１０Ａと同一の構成のＲＡＭマクロが使用される。但し、第４の実施形態では、リード動作において、クロック信号ＣＬＫのネゲート（本実施形態ではクロック信号ＣＬＫの立ち下がりエッジ）に応答して出力データＤＡＴＡ＿ＯＵＴが出力されるようにＲＡＭマクロの動作が変更される。これにより、リードサイクル数が１．５に短縮される。第４の実施形態のＲＡＭマクロのライト動作は、第２の実施形態と同一である。
【００６４】
詳細には、リード動作が開始される動作サイクルの開始時に、クロック信号ＣＬＫのアサートに同期して、コマンドＣＯＭとしてリードコマンドが入力され、更に、読み出しアドレスを指定するアドレスＡＤＤが入力される。更に、クロック信号ＣＬＫのアサートに応答してメモリコア１が活性化され（即ち、読み出しアドレスに対応する選択ワード線が活性化され）、メモリコア１から読み出しデータが読みだされる。
【００６５】
続いて、次の動作サイクルの開始時のクロック信号ＣＬＫのアサートに応答してメモリコア１から読み出された読み出しデータがＥＣＣデコーダ５に取り込まれ、ＥＣＣデコーダ５によってＥＣＣ復号化処理が行われる。ＥＣＣ復号化処理で得られた出力データＤＡＴＡ＿ＯＵＴは、出力バッファ６に送られる。
【００６６】
出力バッファ６は、クロック信号ＣＬＫのネゲートに応答してＥＣＣデコーダ５から出力データＤＡＴＡ＿ＯＵＴを受け取り、受け取った出力データＤＡＴＡ＿ＯＵＴを外部に出力する。リード動作は、リードコマンドが入力された動作サイクルの次の動作サイクルの中間において完了することになる。このようなリード動作によれば、リードサイクル数を１．５に短縮することができる。
【００６７】
第５の実施形態：
図９は、本発明の第５の実施形態の半導体記憶回路の構成を示すブロック図である。第５の実施形態の半導体記憶回路は、第２の実施形態のＲＡＭマクロ１０Ａと同様に、レイトライト（late write）方式でライト動作を行うＲＡＭマクロ１０Ｃとして構成されている。ただし、第５の実施形態のＲＡＭマクロ１０Ｃでは、出力バッファ６に、専用の出力クロック信号ＣＬＫ＿ＯＵＴが供給される。第２の実施形態のＲＡＭマクロ１０Ａの構成では、出力データＤＡＴＡ＿ＯＵＴの生成タイミングがＥＣＣデコーダ５における遅延に影響されるため、読み出しデータの内容によってデータリリースのタイミングがバラつくことが問題になり得る。このような問題に対処するために、第５の実施形態では、クロック信号ＣＬＫを遅延して得られる出力クロック信号ＣＬＫ＿ＯＵＴがレイトライト制御回路７Ａから出力バッファ６に供給され、出力バッファ６が出力クロック信号ＣＬＫ＿ＯＵＴに同期して出力データＤＡＴＡ＿ＯＵＴを出力する。これにより、各動作サイクルにおけるデータリリースのタイミングが一定になる。
【００６８】
図１０は、第５の実施形態のＲＡＭマクロ１０Ｃの動作を示すタイミングチャートである。第５の実施形態のＲＡＭマクロ１０Ｃのライト動作は、第２の実施形態の同一である。
【００６９】
一方、リード動作は下記のようにして行われる。リード動作が開始される動作サイクルの開始時に、クロック信号ＣＬＫのアサートに同期して、コマンドＣＯＭとしてリードコマンドが入力され、更に、読み出しアドレスを指定するアドレスＡＤＤが入力される。更に、クロック信号ＣＬＫのアサートに応答してメモリコア１が活性化され（即ち、読み出しアドレスに対応する選択ワード線が活性化され）、メモリコア１から読み出しデータとＥＣＣデータとが読みだされる。
【００７０】
続いて、次の動作サイクルの開始時のクロック信号ＣＬＫのアサートに応答してメモリコア１から読み出された読み出しデータがＥＣＣデコーダ５に取り込まれ、ＥＣＣデコーダ５によってＥＣＣ復号化処理が行われる。ＥＣＣ復号化処理で得られた出力データＤＡＴＡ＿ＯＵＴは、出力バッファ６に送られる。
【００７１】
出力バッファ６は、出力クロック信号ＣＬＫ＿ＯＵＴのアサートに応答してＥＣＣデコーダ５から出力データＤＡＴＡ＿ＯＵＴを受け取り、受け取った出力データＤＡＴＡ＿ＯＵＴを外部に出力する。このようなリード動作では、リードサイクル数を２に維持する一方で、各動作サイクルにおけるデータリリースのタイミングを一定にすることができる。
【００７２】
また、第５の実施形態において、出力クロック信号ＣＬＫ＿ＯＵＴを、クロック信号ＣＬＫを半周期だけ遅延させることによって生成すれば、第４の実施形態と同様に、リードサイクル数を１．５に短縮することもできる。
【００７３】
第６の実施形態：
図１１及び図１２は、本発明の第６の実施形態の半導体記憶回路の動作を示すタイミングチャートである。第６の実施形態では、リフレッシュ動作を必要とするメモリセルが集積化されたメモリコア１が使用される場合のＲＡＭマクロの動作が提示される。ＤＲＡＭセルは、リフレッシュ動作が必要なメモリセルの典型的な例である。
【００７４】
ここで、図１１は、第１の実施形態のＲＡＭマクロ１０の動作の変形例を示しており、遅延クロック信号ＣＬＫＤが使用される場合のＲＡＭマクロの動作を示している。一方、図１２は、第２の実施形態のＲＡＭマクロ１０Ａの動作の変形例を示しており、レイトライト方式でのライト動作が行われる場合のＲＡＭマクロの動作を示している。図１１、図１２の何れの動作においても、リフレッシュ動作の実行を指示するコマンド（リフレッシュコマンド）に応答してリフレッシュ動作が行われる。リフレッシュコマンドと共にアドレスＡＤＤが入力され、当該アドレスＡＤＤに対応する選択ワード線に接続されたメモリセルがリフレッシュされる。
【００７５】
本実施形態では、リフレッシュコマンドが入力された後、メモリコア１が活性化されるタイミング（即ち、選択ワード線が活性化されるタイミング）までの遅延時間が、各ライトコマンドが入力された後、メモリコア１が活性化されるタイミング（即ち、選択ワード線が活性化されるタイミング）までの遅延時間、及び、各リードコマンドが入力された後、メモリコア１が活性化されるタイミングまでの遅延時間と同一に調節される。具体的には、図１１の動作では、リード動作時、ライト動作時、リフレッシュ動作のいずれにおいても、遅延クロック信号ＣＬＫＤに同期してメモリコア１が活性化される。一方、図１２の動作では、リード動作時、ライト動作時、リフレッシュ動作のいずれにおいても、動作サイクルの開始時のクロック信号ＣＬＫのアサートに応答してメモリコア１が活性化される。これにより、リフレッシュコマンドが入力された後、メモリコア１が活性化されるタイミングまでの遅延時間が、各ライトコマンドが入力された後、メモリコア１が活性化されるタイミングまでの遅延時間（即ち、各リードコマンドが入力された後、メモリコア１が活性化されるタイミングまでの遅延時間）と同一になる。このような動作によれば、リフレッシュ動作を含めてランダムアクセス性を向上させることができる。
【００７６】
なお、上述には、本発明の実施形態が様々に記述されているが、本発明は上記の実施形態に限定されると解釈してはならない。本発明は、上記の実施形態に対して当業者に自明的な変更して実施してもよいことに留意されたい。また、上記には様々な実施形態が記載されているが、技術的に矛盾がない限り、複数の実施形態が組み合わせて実施されることも可能である。
【符号の説明】
【００７７】
１０、１０Ａ、１０Ｂ、１０Ｃ：ＲＡＭマクロ
１：メモリコア
１ａ：デコーダ
２：アドレス入力バッファ
３：データ入力バッファ
４：ＥＣＣエンコーダ
５：ＥＣＣデコーダ
６：出力バッファ
７：遅延回路
７Ａ：レイトライト制御回路
８：アドレスレジスタ
９：データレジスタ
１１：セレクタ
１２：リダンダンシー判定回路
１０１：メモリ
１０２：メモリコントローラ
１０３：信号線群
１０４：プロセッサ
１０５：信号線群
１０６：コントローラ
【図１】
2014017034.tif 000003
【図２】
2014017034.tif 000004
【図３】
2014017034.tif 000005
【図４】
2014017034.tif 000006
【図５】
2014017034.tif 000007
【図６】
2014017034.tif 000008
【図７】
2014017034.tif 000009
【図８】
2014017034.tif 000010
【図９】
2014017034.tif 000011
【図１０】
2014017034.tif 000012
【図１１】
2014017034.tif 000013
【図１２】
2014017034.tif 000014