(57)【要約】【課題】セットアップ及びホールド時間のマージンを確保する。【解決手段】半導体記憶装置１は、第１のクロックを受け、かつデータの入出力を行う第１のバッファ１２を有する第１のメモリ１０と、データの入出力を行う第２のバッファ２２を有する第２のメモリ２０とを含む。第１のメモリ１０は、第１のクロックを用いて第２のメモリ２０に第２のクロックを転送する。第１のバッファ１２は、第１のクロックに応答して第２のメモリ２０にデータを転送する。第２のバッファ２２は、第２のクロックに応答してデータを受ける。【選択図】      図１
2012128924.tif 000002
【特許請求の範囲】
【請求項１】
第１のクロックを受け、かつデータの入出力を行う第１のバッファを有する第１のメモリと、
データの入出力を行う第２のバッファを有する第２のメモリとを具備し、
前記第１のメモリは、前記第１のクロックを用いて前記第２のメモリに第２のクロックを転送し、
前記第１のバッファは、前記第１のクロックに応答して前記第２のメモリにデータを転送し、
前記第２のバッファは、前記第２のクロックに応答して前記データを受けることを特徴とする半導体記憶装置。
【請求項２】
前記第１のメモリは、前記第１のクロックを遅延して前記第２のクロックを生成する遅延回路を含むことを特徴とする請求項１に記載の半導体記憶装置。
【請求項３】
前記第２のクロックを活性化するためのイネーブル信号を生成する制御回路をさらに具備し、
前記第２のメモリは、前記第１のクロックを受け、かつ前記イネーブル信号に基づいて前記１及び第２のクロックを切り替えることを特徴とする請求項１又は２に記載の半導体記憶装置。
【請求項４】
第１のクロックを受け、かつデータの入出力を行う第１のバッファを有するメモリと、
データの入出力を行う第２のバッファを有するＥＣＣ回路とを具備し、
前記メモリは、前記第１のクロックを用いて前記ＥＣＣ回路に第２のクロックを転送し、
前記第１のバッファは、前記第１のクロックに応答して前記ＥＣＣ回路にデータを転送し、
前記第２のバッファは、前記第２のクロックに応答して前記データを受けることを特徴とする半導体記憶装置。
【請求項５】
前記メモリは、前記第１のクロックを遅延して前記第２のクロックを生成する遅延回路を含むことを特徴とする請求項４に記載の半導体記憶装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、半導体記憶装置に関する。
【背景技術】
【０００２】
異なる種類のメモリを１チップに集積したシステムＬＳＩが進展してきている。第１のメモリ（例えばＮＡＮＤ型フラッシュメモリ）、第２のメモリ（例えばＳＲＡＭ）、及びＮＡＮＤ型フラッシュメモリとＳＲＡＭとの間に配置されたＥＣＣ回路を含む半導体記憶装置を例に挙げると、ＮＡＮＤ型フラッシュメモリ、ＳＲＡＭ、及びＥＣＣ回路は、基準クロックを用いてデータの受け渡しを行う。
【０００３】
ＮＡＮＤ型フラッシュメモリとＳＲＡＭとがＥＣＣ回路を介してデータ転送を行う場合、クロックパスの配線遅延、メモリ内でデータ出力にかかる遅延、及びデータパスの配線遅延などが存在する。このように、半導体記憶装置が遅延要素を複数含むため、例えば、ＮＡＮＤ型フラッシュメモリとＥＣＣ回路との間でデータを転送する場合、データを取り込む際のセットアップ及びホールド時間を確保することが困難となる。これにより、ＮＡＮＤ型フラッシュメモリとＳＲＡＭとの間でデータ転送を正確に行うことが困難となる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００９−２１１２０８号公報
【特許文献２】特表２０１０−５１８５４７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
実施形態は、セットアップ及びホールド時間のマージンを確保することが可能な半導体記憶装置を提供する。
【課題を解決するための手段】
【０００６】
実施形態に係る半導体記憶装置は、第１のクロックを受け、かつデータの入出力を行う第１のバッファを有する第１のメモリと、データの入出力を行う第２のバッファを有する第２のメモリとを具備し、前記第１のメモリは、前記第１のクロックを用いて前記第２のメモリに第２のクロックを転送し、前記第１のバッファは、前記第１のクロックに応答して前記第２のメモリにデータを転送し、前記第２のバッファは、前記第２のクロックに応答して前記データを受ける。
【図面の簡単な説明】
【０００７】
【図１】第１の実施形態に係るメモリシステム１の構成を示すブロック図。
【図２】ブロックＢＬＫの構成を示す回路図。
【図３】ＮＡＮＤ型フラッシュメモリ１０からＥＣＣ回路３０へのデータ転送動作を示すタイミングチャート。
【図４】ロード動作におけるイネーブル信号のロジックを説明するタイミングチャート。
【図５】ＥＣＣ回路３０からＳＲＡＭ２０へのデータ転送動作を示すタイミングチャート。
【図６】プログラム動作におけるイネーブル信号のロジックを説明するタイミングチャート。
【図７】第２の実施形態に係るメモリシステム１の構成を示すブロック図。
【発明を実施するための形態】
【０００８】
以下、実施形態について図面を参照して説明する。ただし、図面は模式的または概念的なものであり、各図面の寸法および比率などは必ずしも現実のものと同一とは限らないことに留意すべきである。以下に示す幾つかの実施形態は、本発明の技術思想を具体化するための装置および方法を例示したものであって、構成部品の形状、構造、配置などによって、本発明の技術思想が特定されるものではない。なお、以下の説明において、同一の機能及び構成を有する要素については、同一符号を付し、重複説明は必要な場合にのみ行う。
【０００９】
［第１の実施形態］
複数種類のメモリを１チップに集積した半導体記憶装置の一例として、ＯｎｅＮＡＮＤ（登録商標）がある。このＯｎｅＮＡＮＤは、主記憶部としてのＮＡＮＤ型フラッシュメモリと、バッファ部としてのＳＲＡＭ（Static Random Access Memory）とを１チップで集積したものである。本実施形態では、複数種類のメモリを１チップに集積した半導体記憶装置（メモリシステム）としてＯｎｅＮＡＮＤを例に挙げて説明する。
【００１０】
図１は、第１の実施形態に係るメモリシステム１の構成を示すブロック図である。メモリシステム１は、ＮＡＮＤ型フラッシュメモリ１０、ＳＲＡＭ２０、ＥＣＣ（Error Checking and Correcting）回路３０、コマンドデコーダ４０、クロック発生回路５０、転送制御回路６０、セレクタ７０、及びＮＡＮＤゲート７１，７２を備えている。
【００１１】
メモリシステム１では、ＮＡＮＤ型フラッシュメモリ１０が主記憶部として機能し、ＳＲＡＭ２０がメモリバッファとして機能する。従って、ＮＡＮＤ型フラッシュメモリ１０からデータを外部（ホスト機器など）に読み出すには、まずＮＡＮＤ型フラッシュメモリ１０から読み出されたデータが、ＳＲＡＭ２０に格納される。その後、ＳＲＡＭ２０のデータがインターフェース（図示せず）を介してホスト機器に出力される。他方、データをＮＡＮＤ型フラッシュメモリ１０に格納するには、まずホスト機器からメモリシステム１に入力されたデータが、インターフェースを介してＳＲＡＭ２０に格納される。その後、ＳＲＡＭ２０のデータが、ＮＡＮＤ型フラッシュメモリ１０に書き込まれる。
【００１２】
以下の説明では、ＮＡＮＤ型フラッシュメモリ１０からデータが読み出されてから、ＳＲＡＭ２０に転送されるまでの動作を、“ロード”と呼ぶ。また、ＳＲＡＭ２０のデータがＮＡＮＤ型フラッシュメモリ１０に書き込まれる動作を、“プログラム”と呼ぶ。
【００１３】
コマンドデコーダ４０は、入出力パッド（Ｉ／Ｏパッド）を介して、ホスト機器などからコマンドを受ける。コマンドデコーダ４０は、このコマンドを解釈し、コマンド信号を出力する。このコマンド信号は、クロック発生回路５０及び転送制御回路６０に送られる。
【００１４】
クロック発生回路５０は、コマンド信号に応じて、転送制御クロックTC_CLKを発生する。この転送制御クロックTC_CLKは、ＮＡＮＤ型フラッシュメモリ１０及びＳＲＡＭ２０に送られる。転送制御クロックTC_CLKは、ＮＡＮＤ型フラッシュメモリ１０及びＳＲＡＭ２０のデータ出力処理に用いられる。
【００１５】
ＮＡＮＤ型フラッシュメモリ１０は、ＮＡＮＤコア１１、ＮＡＮＤ入出力バッファ（ＮＡＮＤ−Ｉ／Ｏバッファ）１２、及び遅延回路１３を備えている。遅延回路１３は、転送制御クロックTC_CLKを受け、この転送制御クロックTC_CLKを所定時間だけ遅延させたＮＡＮＤクロックNAND-CLKを出力する。ＮＡＮＤクロックNAND-CLKは、セレクタ７０に送られる。
【００１６】
ＮＡＮＤ−Ｉ／Ｏバッファ１２は、ＮＡＮＤ型フラッシュメモリ１０のデータ入出力処理を行う。このデータ入出力処理を行うために、ＮＡＮＤ−Ｉ／Ｏバッファ１２は、転送制御クロックTC_CLK、ＮＡＮＤ書き込みクロックNAND-W_CLK、及びＮＡＮＤ転送イネーブル信号NAND-T_ENを受け、さらに、ＮＡＮＤデータバスを介してＥＣＣ回路３０に接続されている。ロード動作時、ＮＡＮＤ−Ｉ／Ｏバッファ１２は、ＮＡＮＤコア１１から読み出されたデータを一時的に格納（保持）し、このデータをクロックTC_CLKに応答してＥＣＣ回路３０に送る。また、プログラム動作時、ＮＡＮＤ−Ｉ／Ｏバッファ１２は、クロックNAND-W_CLKに応答して、ＥＣＣ回路３０から転送されたデータを受け、このデータを一時的に格納する。
【００１７】
ＮＡＮＤコア１１は、ＮＡＮＤセルアレイ、ワード線に電圧を印加するロウデコーダ、及びビット線を介してＮＡＮＤセルアレイにデータを書き込んだり、ＮＡＮＤセルアレイからデータを読み出したりするページバッファなどから構成される。
【００１８】
ＮＡＮＤセルアレイは、データ消去の単位である複数のブロックＢＬＫを備えている。図２は、１個のブロックＢＬＫの構成を示す回路図である。
【００１９】
ブロックＢＬＫは、複数のメモリセルユニットＣＵを備えている。各メモリセルユニットＣＵは、複数のメモリセルトランジスタＭＴと、２個の選択トランジスタＳＴ１、ＳＴ２とから構成されている。メモリセルトランジスタＭＴは、半導体基板上にゲート絶縁膜を介在して形成された電荷蓄積層（例えば浮遊ゲート電極）と、電荷蓄積層上にゲート間絶縁膜を介在して形成された制御ゲート電極とを有する積層ゲート構造を備えている。メモリセルトランジスタＭＴは、浮遊ゲート構造に限らず、電荷蓄積層としての絶縁膜（例えば、窒化膜）に電子をトラップさせる方式を用いたＭＯＮＯＳ（Metal Oxide Nitride Oxide Silicon）構造であっても良い。
【００２０】
１個のメモリセルユニットＣＵ内で隣接するメモリセルトランジスタＭＴ同士の電流経路は直列接続されている。すなわち、（ｍ＋１）個のメモリセルトランジスタＭＴは、隣接するもの同士で拡散領域（ソース領域若しくはドレイン領域）を共有するような形でカラム方向に直列接続される。直列接続されたメモリセルトランジスタＭＴの一端側のドレインは選択トランジスタＳＴ１のソースに接続され、他端側のソースは選択トランジスタＳＴ２のドレインに接続されている。
【００２１】
同一行にあるメモリセルトランジスタＭＴの制御ゲート電極は、複数のワード線ＷＬ０〜ＷＬｍのいずれかに共通接続されている。同一行にある選択トランジスタＳＴ１，ＳＴ２のゲート電極は、選択ゲート線ＳＧＤ，ＳＧＳにそれぞれ共通接続されている。各選択トランジスタＳＴ１のドレインは、複数のビット線ＢＬ０〜ＢＬｎのいずれかに接続されている。選択トランジスタＳＴ２のソースは、ソース線ＣＥＬＳＲＣに共通接続されている。
【００２２】
同一のワード線ＷＬに接続された複数のメモリセルトランジスタＭＴはページを構成する。データの書き込み及び読み出しは、１つのページ内のメモリセルトランジスタＭＴに対して一括して行なわれる。
【００２３】
ビット線ＢＬは、ブロック間で、選択トランジスタＳＴ１のドレインを共通接続している。つまり、複数のブロック内において同一列にあるメモリセルユニットＣＵは、同一のビット線ＢＬに接続される。
【００２４】
各メモリセルトランジスタＭＴは、例えば、浮遊ゲート電極に注入された電子の多寡による閾値電圧の変化に応じて、１ビットのデータを記憶することが可能である。閾値電圧の制御を細分化し、各メモリセルトランジスタＭＴに２ビット以上のデータを記憶する構成としても良い。
【００２５】
ＳＲＡＭ２０は、ＳＲＡＭコア２１、ＳＲＡＭ入出力バッファ（ＳＲＡＭ−Ｉ／Ｏバッファ）２２、及び遅延回路２３を備えている。遅延回路２３は、転送制御クロックTC_CLKを受け、この転送制御クロックTC_CLKを所定時間だけ遅延させたＳＲＡＭクロックSRAM-CLKを出力する。
【００２６】
ＳＲＡＭ−Ｉ／Ｏバッファ２２は、ＳＲＡＭ２０のデータ入出力処理を行う。このデータ入出力処理を行うために、ＳＲＡＭ−Ｉ／Ｏバッファ２２は、転送制御クロックTC_CLK、ＳＲＡＭ書き込みクロックSRAM-W_CLK、及びＳＲＡＭ転送イネーブル信号SRAM-T_ENを受け、さらに、ＳＲＡＭデータバスを介してＥＣＣ回路３０に接続されている。プログラム動作時、ＳＲＡＭ−Ｉ／Ｏバッファ２２は、ＳＲＡＭコア２１から読み出されたデータを一時的に格納し、このデータを転送制御クロックTC_CLKに応答してＥＣＣ回路３０に送る。また、ロード動作時、ＳＲＡＭ−Ｉ／Ｏバッファ２２は、書き込みクロックSRAM-W_CLKに応答して、ＥＣＣ回路３０から転送されたデータを受け、このデータを一時的に格納する。
【００２７】
ＳＲＡＭコア２１は、ＳＲＡＭセルアレイ、ロウデコーダ、及びセンスアンプなどから構成される。ＳＲＡＭセルアレイは、複数のワード線と複数のビット線対との交差領域にマトリクス状に配置された複数のメモリセル（ＳＲＡＭセル）を備えている。
【００２８】
ＥＣＣ回路３０は、ＥＣＣ処理のために一時的にデータを格納するＥＣＣバッファ３１を備えている。プログラム動作時、ＥＣＣ回路３０は、ＳＲＡＭ２０からＥＣＣバッファ３１に入力されたデータを用いてパリティ信号を生成する。また、ロード動作時、ＥＣＣ回路３０は、ＮＡＮＤ型フラッシュメモリ１０からＥＣＣバッファ３１に入力されたデータ（パリティ信号を含む）を用いて、誤り訂正を行う。ＥＣＣバッファ３１は、セレクタ７０から送られたクロックに応答して、データ入出力処理を行う。
【００２９】
転送制御回路６０は、コマンド信号に基づいて、ＮＡＮＤ型フラッシュメモリ１０とＥＣＣ回路３０との間、及びＳＲＡＭ２０とＥＣＣ回路３０との間のデータ転送処理を制御する。このデータ転送処理のために、転送制御回路６０は、ＥＣＣ制御信号ECC_CNT、転送クロック制御信号TC_CNT、ＮＡＮＤライトイネーブル信号NAND-W_EN、ＮＡＮＤリードイネーブル信号NAND-R_EN、ＮＡＮＤ転送イネーブル信号NAND-T_EN、ＳＲＡＭライトイネーブル信号SRAM-W_EN、ＳＲＡＭリードイネーブル信号SRAM-R_EN、及びＳＲＡＭ転送イネーブル信号SRAM-T_ENを生成する。転送制御回路６０は、セレクタ７０から送られたクロックに応答して、各種制御信号を出力する。
【００３０】
ＥＣＣ制御信号ECC_CNTは、ＥＣＣ回路３０（具体的にはＥＣＣバッファ３１）が取り込むデータを制御する信号であり、ＥＣＣバッファ３１がデータを取り込む場合にハイレベルとなる。ＥＣＣ制御信号ECC_CNTは、ＥＣＣ回路３０に送られる。
【００３１】
転送クロック制御信号TC_CNTは、ＮＡＮＤクロックNAND-CLKとＳＲＡＭクロックSRAM-CLKとを切り替える信号であり、ロード動作時にハイレベル、プログラム動作時にローレベルとなる。転送クロック制御信号TC_CNTは、セレクタ７０、及びＮＡＮＤゲート７１，７２に送られる。
【００３２】
ＮＡＮＤライトイネーブル信号NAND-W_ENは、ＮＡＮＤ型フラッシュメモリ１０の書き込みパスを有効にするための信号であり、さらに、プログラム動作時にＮＡＮＤ型フラッシュメモリ１０がＮＡＮＤ書き込みクロックNAND-W_CLKを選択するための信号である。ＮＡＮＤリードイネーブル信号NAND-R_ENは、ＮＡＮＤ型フラッシュメモリ１０の読み出しパスを有効にするための信号であり、さらに、ロード動作時にＮＡＮＤ型フラッシュメモリ１０が転送制御クロックTC_CLKを選択するための信号である。ＮＡＮＤ転送イネーブル信号NAND-T_ENは、ＮＡＮＤ型フラッシュメモリ１０のデータ転送動作を活性化するための信号である。ＮＡＮＤ型フラッシュメモリ１０は、イネーブル信号NAND-T_ENがハイレベルの場合に、ＳＲＡＭ２０との間でデータ転送を行う。
【００３３】
ＳＲＡＭライトイネーブル信号SRAM-W_ENは、ＳＲＡＭ２０の書き込みパスを有効にするための信号であり、さらに、ロード動作時にＳＲＡＭ２０がＳＲＡＭ書き込みクロックSRAM-W_CLKを選択するための信号である。ＳＲＡＭリードイネーブル信号SRAM-R_ENは、ＳＲＡＭ２０の読み出しパスを有効にするための信号であり、さらに、プログラム動作時にＳＲＡＭ２０が転送制御クロックTC_CLKを選択するための信号である。ＳＲＡＭ転送イネーブル信号SRAM-T_ENは、ＳＲＡＭ２０のデータ転送動作を活性化するための信号である。ＳＲＡＭ２０は、イネーブル信号SRAM-T_ENがハイレベルの場合に、ＮＡＮＤ型フラッシュメモリ１０との間でデータ転送を行う。
【００３４】
セレクタ７０の第１の入力端子には、遅延回路１３からクロックNAND-CLKが入力され、第２の入力端子には、遅延回路２３からクロックSRAM-CLKが入力され、制御端子には、転送制御回路６０から制御信号TC_CNTが入力されている。セレクタ７０は、制御信号TC_CNTがハイレベルの場合に、クロックNAND-CLKを出力し、制御信号TC_CNTがローレベルの場合に、クロックSRAM-CLKを出力する。セレクタ７０から出力されたクロックは、ＮＡＮＤゲート７１，７２の第１の入力端子、ＥＣＣバッファ３１、及び転送制御回路６０に送られる。
【００３５】
ＮＡＮＤゲート７１の第２の入力端子（ローアクティブ端子）には、転送制御回路６０から制御信号TC_CNTが入力されている。ＮＡＮＤゲート７１は、制御信号TC_CNTがローレベルの場合に、セレクタ７０から送られたクロックSRAM-CLKを反転した書き込みクロックNAND-W_CLKを出力する。
【００３６】
ＮＡＮＤゲート７２の第２の入力端子には、転送制御回路６０から制御信号TC_CNTが入力されている。ＮＡＮＤゲート７２は、制御信号TC_CNTがハイレベルの場合に、セレクタ７０から送られたクロックNAND-CLKを反転した書き込みクロックSRAM-W_CLKを出力する。
【００３７】
（動作）
次に、このように構成されたメモリシステム１の動作について説明する。以下に、ロード動作、すなわちＮＡＮＤ型フラッシュメモリ１０からＳＲＡＭ２０へのデータ転送動作を例に挙げて説明する。図３は、ロード動作のうちＮＡＮＤ型フラッシュメモリ１０からＥＣＣ回路３０へのデータ転送動作を示すタイミングチャートである。図４は、ロード動作におけるイネーブル信号のロジックを説明するタイミングチャートである。
【００３８】
コマンド信号に基づいてロード動作が開始されると、ＮＡＮＤ型フラッシュメモリ１０は、クロック発生回路５０から転送制御クロックTC_CLKを受ける。ＮＡＮＤコア１１は、データ読み出し動作を実行する。ＮＡＮＤコア１１から読み出された読み出しデータは、ＮＡＮＤ−Ｉ／Ｏバッファ１２に送られ、ここで保持される。
【００３９】
続いて、転送制御回路６０は、リードイネーブル信号NAND-R_ENをハイレベルにする。リードイネーブル信号NAND-R_ENを受けて、ＮＡＮＤ型フラッシュメモリ１０は、以後、転送制御クロックTC_CLKを用いてデータ転送動作を実行する。
【００４０】
続いて、転送制御回路６０は、転送イネーブル信号NAND-T_ENをハイレベルにする。転送イネーブル信号NAND-T_ENを受けて、ＮＡＮＤ−Ｉ／Ｏバッファ１２は、転送制御クロックTC_CLKに応答して、読み出しデータをＮＡＮＤデータバスに出力する。ＮＡＮＤデータバスに出力された読み出しデータは、ＥＣＣ回路３０に入力される。図３に示すように、ＮＡＮＤコア１１から読み出された読み出しデータは、ＮＡＮＤ型フラッシュメモリ１０でデータ出力にかかる遅延時間Ｄ１と、ＮＡＮＤデータバスの配線遅延による遅延時間Ｄ２とが遅延されてＥＣＣ回路３０に入力される。
【００４１】
一方で、ＮＡＮＤ型フラッシュメモリ１０に入力された転送制御クロックTC_CLKは、遅延回路１３にも入力されている。遅延回路１３は、ＮＡＮＤ型フラッシュメモリ１０でデータ出力にかかる遅延時間Ｄ１と同様の遅延時間だけ転送制御クロックTC_CLKを遅延させる。この遅延時間Ｄ１を実現するために、遅延回路１３は、ＮＡＮＤ型フラッシュメモリ１０内のデータ読み出しパスと同様の回路、若しくは配線から構成される。そして、遅延回路１３は、ＮＡＮＤクロックNAND-CLKを出力する。ＮＡＮＤクロックNAND-CLKは、クロックパスを介して、セレクタ７０に入力される。
【００４２】
転送制御回路６０は、ロード動作時には、セレクタ７０、及びＮＡＮＤゲート７１，７２に、ハイレベルの転送クロック制御信号TC_CNTを供給する。よって、セレクタ７０は、ＮＡＮＤクロックNAND-CLKを出力する。セレクタ７０から出力されたＮＡＮＤクロックNAND-CLKは、ＥＣＣ回路３０、転送制御回路６０、及びＮＡＮＤゲート７１，７２に入力される。図３に示すように、転送制御クロックTC_CLKは、遅延回路１３による遅延時間Ｄ３と、クロックパスの配線遅延による遅延時間Ｄ４とが遅延されてＮＡＮＤクロックNAND-CLKとしてＥＣＣ回路３０などに入力される。
【００４３】
ここで、遅延時間Ｄ３は、遅延時間Ｄ１とほぼ同じである。また、ＮＡＮＤクロックNAND-CLKのクロックパスとＮＡＮＤデータバスとはほぼ同じ長さであるため、遅延時間Ｄ４は、遅延時間Ｄ２とほぼ同じである。よって、クロックとデータとの遅延時間を合わせることができるため、ＥＣＣ回路３０は、セットアップ及びホールド時間のマージンを確保することができる。
【００４４】
転送制御回路６０は、ＮＡＮＤクロックNAND-CLKに応答して、ＥＣＣ制御信号ECC_CNTをＥＣＣバッファ３１に送る。ＥＣＣバッファ３１は、ＥＣＣ制御信号ECC_CNTがハイレベルの場合に、ＮＡＮＤクロックNAND-CLKに応答して、ＮＡＮＤデータバスから読み出しデータを取り込む。そして、ＥＣＣ回路３０は、ＮＡＮＤクロックNAND-CLKを用いて、誤り訂正処理を実行する。ここでも、転送制御回路６０は、ＥＣＣ回路３０と同じクロック（ＮＡＮＤクロックNAND-CLK）を用いてＥＣＣ制御信号ECC_CNTを出力するので、ＥＣＣ回路３０は、セットアップ及びホールド時間のマージンを確保することができる。
【００４５】
続いて、ＥＣＣ回路３０からＳＲＡＭ２０へのデータ転送が行われる。図５は、ロード動作のうちＥＣＣ回路３０からＳＲＡＭ２０へのデータ転送動作を示すタイミングチャートである。
【００４６】
ＥＣＣバッファ３１は、ＮＡＮＤクロックNAND-CLKに応答して、ＳＲＡＭデータバスにデータを出力する。ＳＲＡＭデータバスに出力されたデータは、ＳＲＡＭ−Ｉ／Ｏバッファ２２に入力される。図５に示すように、ＮＡＮＤコア１１から読み出された読み出しデータは、ＮＡＮＤ型フラッシュメモリ１０でデータ出力にかかる遅延時間Ｄ１と、データバス（ＮＡＮＤデータバス及びＳＲＡＭデータバス）の配線遅延による遅延時間Ｄ５とが遅延されてＳＲＡＭ−Ｉ／Ｏバッファ２２に入力される。
【００４７】
セレクタ７０から出力されたＮＡＮＤクロックNAND-CLKは、ＮＡＮＤゲート７２を介して、ＳＲＡＭ書き込みクロックSRAM-W_CLKとしてＳＲＡＭ−Ｉ／Ｏバッファ２２に入力される。図５に示すように、転送制御クロックTC_CLKは、遅延回路１３による遅延時間Ｄ３と、クロックパスの配線遅延による遅延時間Ｄ６とが遅延されてクロックSRAM-W_CLKとしてＳＲＡＭ−Ｉ／Ｏバッファ２２に入力される。ＮＡＮＤ型フラッシュメモリ１０及びＳＲＡＭ２０間のクロックパスとデータパスとはほぼ同じ長さであるため、遅延時間Ｄ６は、遅延時間Ｄ５とほぼ同じである。よって、クロックとデータとの遅延時間を合わせることができるため、ＳＲＡＭ−Ｉ／Ｏバッファ２２は、セットアップ及びホールド時間のマージンを確保することができる。
【００４８】
転送制御回路６０は、リードイネーブル信号NAND-R_ENと同じタイミングでライトイネーブル信号SRAM-W_ENをハイレベルにしている。続いて、転送制御回路６０は、転送イネーブル信号SRAM-T_ENをハイレベルにする。ライトイネーブル信号SRAM-W_EN及び転送イネーブル信号SRAM-T_ENを受けて、ＳＲＡＭ２０は、クロックSRAM-W_CLKを用いてデータ転送動作を実行するとともに、データ書き込み動作を実行する。具体的には、ＳＲＡＭ−Ｉ／Ｏバッファ２２は、クロックSRAM-W_CLKに応答して、ＳＲＡＭデータバスからデータを受け、これを保持する。ＳＲＡＭ−Ｉ／Ｏバッファ２２に保持されたデータは、ＳＲＡＭコア２１に書き込まれる。
【００４９】
なお、プログラム動作、すなわちＳＲＡＭ２０からＮＡＮＤ型フラッシュメモリ１０へのデータ転送動作についても、前述したロード動作と同じ作用及び効果を得られる。プログラム動作では、ロード動作に対してクロック及びデータの流れが逆方向になる。
【００５０】
図６は、プログラム動作におけるイネーブル信号のロジックを説明するタイミングチャートである。プログラム動作時、転送制御回路６０は、リードイネーブル信号SRAM-R_EN及びライトイネーブル信号NAND-W_ENをハイレベルにする。リードイネーブル信号SRAM-R_ENを受けて、ＳＲＡＭ２０は、転送制御クロックTC_CLKを用いてデータ転送動作を実行する。
【００５１】
プログラム動作では、遅延回路２３は、ＳＲＡＭ２０内のデータ読み出しパスと同様の回路、若しくは配線から構成され、ＳＲＡＭ２０でデータ出力にかかる遅延時間と同様の遅延時間だけ転送制御クロックTC_CLKを遅延させてＳＲＡＭクロックSRAM-CLKを出力する。ＥＣＣ回路３０及び転送制御回路６０は、クロックSRAM-CLKを用いて動作する。また、ライトイネーブル信号NAND-W_ENを受けて、ＮＡＮＤ型フラッシュメモリ１０は、クロックSRAM-CLKから生成されたＮＡＮＤ書き込みクロックNAND-W_CLKを用いてデータ転送動作を実行する。
【００５２】
（効果）
以上詳述したように第１の実施形態では、「ＮＡＮＤ型フラッシュメモリ１０→ＥＣＣ回路３０→ＳＲＡＭ２０」のデータ転送動作（ロード動作）において、データ転送元であるＮＡＮＤ型フラッシュメモリ１０から、ＥＣＣ回路３０、ＳＲＡＭ２０及び転送制御回路６０にそれぞれクロックNAND-CLKを供給するようにしている。また、メモリシステム１は、ＮＡＮＤ型フラッシュメモリ１０でデータ出力にかかる遅延時間Ｄ１と同様の遅延時間だけ転送制御クロックTC_CLKを遅延させる遅延回路１３を備え、この遅延回路１３がクロックNAND-CLKを出力するようにしている。
【００５３】
同様に、「ＳＲＡＭ２０→ＥＣＣ回路３０→ＮＡＮＤ型フラッシュメモリ１０」のデータ転送動作（プログラム動作）においては、データ転送元であるＳＲＡＭ２０から、ＥＣＣ回路３０、ＮＡＮＤ型フラッシュメモリ１０及び転送制御回路６０にそれぞれクロックSRAM-CLKを供給するようにしている。また、メモリシステム１は、ＳＲＡＭ２０でデータ出力にかかる遅延時間と同様の遅延時間だけ転送制御クロックTC_CLKを遅延させる遅延回路２３を備え、この遅延回路２３がクロックSRAM-CLKを出力するようにしている。
【００５４】
従って第１の実施形態によれば、ＥＣＣバッファ３１へ入力されるデータとクロックとの遅延時間がほぼ同じになるため、ＥＣＣバッファ３１がデータを取り込む際にセットアップ及びホールド時間のマージンを確保することができる。さらに、転送制御回路６０がＥＣＣバッファ３１と同じクロックを用いて動作するため、転送制御回路６０からの制御信号に対してもセットアップ及びホールド時間のマージンを確保することができる。これにより、メモリシステム１は、正確なデータ転送を実現することができる。
【００５５】
また、ロード動作において、ＳＲＡＭ２０へ入力されるデータとクロックとの遅延時間が略同じになるため、ＳＲＡＭ−Ｉ／Ｏバッファ２２がデータを取り込む際にセットアップ及びホールド時間のマージンを確保することができる。プログラム動作についても同様の効果を得られる。
【００５６】
また、転送制御回路６０は、ＮＡＮＤ型フラッシュメモリ１０に、クロックTC_CLKとクロックNAND-W_CLKとを切り替えるためのイネーブル信号を供給するようにしている。これにより、ＮＡＮＤ型フラッシュメモリ１０は、最適なクロックを選択して動作を行うことが可能である。ＳＲＡＭ２０についても同様の効果を得られる。
【００５７】
［第２の実施形態］
ＥＣＣ回路３０を介さずにＮＡＮＤ型フラッシュメモリ１０及びＳＲＡＭ２０間で直接にデータ転送を行うようにしてもよい。図７は、第２の実施形態に係るメモリシステム１の構成を示すブロック図である。ＮＡＮＤ型フラッシュメモリ１０とＳＲＡＭ２０とは、データバスによって直接に接続されている。すなわち、第２の実施形態では、図１のＥＣＣ回路３０が省略されている。それ以外の構成は、図１と同じである。
【００５８】
次に、ＮＡＮＤ型フラッシュメモリ１０からＳＲＡＭ２０へのデータ転送動作について説明する。このタイミングチャートは、図５と同じである。なお、図５のＳＲＡＭデータバスは、データバスに読み替えられる。
【００５９】
コマンド信号に基づいてロード動作が開始されると、ＮＡＮＤ型フラッシュメモリ１０は、クロック発生回路５０から転送制御クロックTC_CLKを受ける。ＮＡＮＤコア１１は、データ読み出し動作を実行する。ＮＡＮＤコア１１から読み出された読み出しデータは、ＮＡＮＤ−Ｉ／Ｏバッファ１２に送られ、ここで保持される。
【００６０】
続いて、転送制御回路６０は、リードイネーブル信号NAND-R_ENをハイレベルにする。リードイネーブル信号NAND-R_ENを受けて、ＮＡＮＤ型フラッシュメモリ１０は、以後、転送制御クロックTC_CLKを用いてデータ転送動作を実行する。
【００６１】
続いて、転送制御回路６０は、転送イネーブル信号NAND-T_ENをハイレベルにする。転送イネーブル信号NAND-T_ENを受けて、ＮＡＮＤ−Ｉ／Ｏバッファ１２は、転送制御クロックTC_CLKに応答して、読み出しデータをデータバスに出力する。データバスに出力された読み出しデータは、ＳＲＡＭ−Ｉ／Ｏバッファ２２に入力される。図５に示すように、ＮＡＮＤコア１１から読み出された読み出しデータは、遅延時間Ｄ１及びＤ５が遅延されてＳＲＡＭ−Ｉ／Ｏバッファ２２に入力される。
【００６２】
一方で、ＮＡＮＤ型フラッシュメモリ１０に入力された転送制御クロックTC_CLKは、遅延回路１３、セレクタ７０、及びＮＡＮＤゲート７２を介して、ＳＲＡＭ書き込みクロックSRAM-W_CLKとしてＳＲＡＭ−Ｉ／Ｏバッファ２２に入力される。図５に示すように、転送制御クロックTC_CLKは、遅延時間Ｄ３及びＤ６が遅延されてクロックSRAM-W_CLKとしてＳＲＡＭ−Ｉ／Ｏバッファ２２に入力される。
【００６３】
ＮＡＮＤ型フラッシュメモリ１０及びＳＲＡＭ２０間のクロックパスとデータパスとはほぼ同じ長さである。よって、クロックとデータとの遅延時間を合わせることができるため、ＳＲＡＭ−Ｉ／Ｏバッファ２２は、セットアップ及びホールド時間のマージンを確保することができる。
【００６４】
転送制御回路６０は、リードイネーブル信号NAND-R_ENと同じタイミングでライトイネーブル信号SRAM-W_ENをハイレベルにしている。続いて、転送制御回路６０は、転送イネーブル信号SRAM-T_ENをハイレベルにする。ライトイネーブル信号SRAM-W_EN及び転送イネーブル信号SRAM-T_ENを受けて、ＳＲＡＭ２０は、クロックSRAM-W_CLKを用いてデータ転送動作を実行するとともに、データ書き込み動作を実行する。具体的には、ＳＲＡＭ−Ｉ／Ｏバッファ２２は、クロックSRAM-W_CLKに応答して、データバスからデータを受け、これを保持する。ＳＲＡＭ−Ｉ／Ｏバッファ２２に保持されたデータは、ＳＲＡＭコア２１に書き込まれる。
【００６５】
なお、ＳＲＡＭ２０からＮＡＮＤ型フラッシュメモリ１０へのデータ転送動作についても、前述した動作と同じ作用及び効果を得られる。さらに、イネーブル信号を用いたクロック切り替え動作についても、第１の実施形態と同じである。
【００６６】
以上詳述したように第２の実施形態によれば、ＮＡＮＤ型フラッシュメモリ１０及びＳＲＡＭ２０間のデータ転送動作においても、ＮＡＮＤ−Ｉ／Ｏバッファ１２若しくはＳＲＡＭ−Ｉ／Ｏバッファ２２がデータを取り込む際にセットアップ及びホールド時間のマージンを確保することができる。その他の効果は、第１の実施形態と同じである。
【００６７】
なお、上記各実施形態では、ＮＡＮＤ型フラッシュメモリ、ＥＣＣ回路、及びＳＲＡＭ間のデータ転送を例に説明したが、これに限定されるものではなく、上記各実施形態は、メモリ及びＥＣＣ回路を問わず２つ以上の回路モジュール間のデータ転送に広く適用可能である。
【００６８】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００６９】
１…メモリシステム、１０…ＮＡＮＤ型フラッシュメモリ、１１…ＮＡＮＤコア、１２…ＮＡＮＤ入出力バッファ、１３…遅延回路、２０…ＳＲＡＭ、２１…ＳＲＡＭコア、２２…ＳＲＡＭ入出力バッファ、２３…遅延回路、３０…ＥＣＣ回路、３１…ＥＣＣバッファ、４０…コマンドデコーダ、５０…クロック発生回路、６０…転送制御回路、７０…セレクタ、７１，７２…ＮＡＮＤゲート。
【図１】
2012128924.tif 000003
【図２】
2012128924.tif 000004
【図３】
2012128924.tif 000005
【図４】
2012128924.tif 000006
【図５】
2012128924.tif 000007
【図６】
2012128924.tif 000008
【図７】
2012128924.tif 000009