(57)【要約】【課題】読み出し信号タイミングを調整するフラッシュメモリ装置およびフラッシュメモリ装置の読み出し制御方法を提供する。【解決手段】複数のフラッシュメモリユニットと、前記複数のフラッシュメモリユニットそれぞれに接続される共通の入出力バスと、前記共通の入出力バスに接続され、前記複数のフラッシュメモリユニットのうちに選択されたフラッシュメモリユニットに読み出し制御信号を送信し、前記選択されたフラッシュメモリユニットから前記共通の入出力バスを経由して読み出したデータを受信する制御部を含み、制御部は、選択されたフラッシュメモリユニットとの送信遅延に基づいて読み出し制御信号の送信時点を調整することを特徴とし、これによって各フラッシュメモリユニットに最適化されたタイミング制御が可能になる。【選択図】図１
2011508335.tif 000002
【特許請求の範囲】
【請求項１】
複数のフラッシュメモリユニットと、
前記複数のフラッシュメモリユニットにそれぞれ接続される共通の入出力バスと、
前記共通の入出力バスに接続され、前記複数のフラッシュメモリユニットの中から選択されたフラッシュメモリユニットに読み出し制御信号を送信し、前記選択されたフラッシュメモリユニットから前記共通の入出力バスを経由して読み出しデータを受信する制御部と、を含み、
前記制御部は、前記選択されたフラッシュメモリユニットに関する送信遅延に基づいて、前記読み出し制御信号の送信タイミングを調整することを特徴とするフラッシュメモリ装置。
【請求項２】
前記制御部は、前記選択されたフラッシュメモリユニットに対して、それぞれ個別に前記読み出し制御信号の送信タイミングを調整することを特徴とする請求項１に記載のフラッシュメモリ装置。
【請求項３】
前記選択されたフラッシュメモリユニットは、前記読み出し制御信号を受信した時点から、予め設定された時間が経過した後に、前記読み出しデータを前記共通の入出力バスを経由して前記制御部に送信することを特徴とする請求項１に記載のフラッシュメモリ装置。
【請求項４】
前記制御部は、前記複数のフラッシュメモリユニットにそれぞれクロック信号を送信し、前記選択されたフラッシュメモリユニットに対する前記送信遅延および前記読み出しデータのクロック信号に対するセットアップ時間に基づいて、前記読み出し制御信号の送信タイミングを調整することを特徴とする請求項１に記載のフラッシュメモリ装置。
【請求項５】
フラッシュメモリユニットと、
前記フラッシュメモリユニットに読み出し制御信号を送信し、前記フラッシュメモリユニットからデータ経路を経由して読み出しデータを受信する制御部と、を含み、
前記制御部は、前記フラッシュメモリユニットに対する送信遅延に基づいて、前記読み出し制御信号の送信タイミングを調整することを特徴とするフラッシュメモリ装置。
【請求項６】
前記フラッシュメモリユニットは、前記読み出し制御信号を受信した時点から、予め設定された時間が経過した後、前記読み出しデータを前記データ経路を経由して、前記制御部に送信することを特徴とする請求項５に記載のフラッシュメモリ装置。
【請求項７】
前記制御部は、前記メモリユニットに対する前記送信遅延および前記読み出しデータのエラーの有無に基づいて前記読み出し制御信号の送信タイミングを調整することを特徴とする請求項５に記載のフラッシュメモリ装置。
【請求項８】
前記制御部は、前記フラッシュメモリユニットにクロック信号を送信し、前記フラッシュメモリユニットに対する前記送信遅延および前記読み出しデータのクロック信号に対するセットアップ時間に基づいて、前記読み出し制御信号の送信タイミングを調整することを特徴とする請求項５に記載のフラッシュメモリ装置。
【請求項９】
テストパターンが記憶されたフラッシュメモリユニットと、
前記フラッシュメモリユニットに前記テストパターンに対する読み出し制御信号を送信し、前記フラッシュメモリユニットから前記記憶されたテストパターンを受信する制御部と、を含み、
前記制御部は、前記受信したテストパターンのエラーの有無を検出して最適化された読み出し制御タイミングを探索し、前記探索された読み出し制御タイミングに基づいて前記フラッシュメモリユニットに対する読み出し制御信号の送信タイミングを調整することを特徴とするフラッシュメモリ装置。
【請求項１０】
前記制御部は、前記調整された送信タイミングに応じて前記読み出し制御信号を前記フラッシュメモリユニットに送信し、
前記フラッシュメモリユニットは、前記読み出し制御信号を受信した時点から、予め設定された時間が経過した後、読み出しデータを前記制御部に送信することを特徴とする請求項９に記載のフラッシュメモリ装置。
【請求項１１】
前記制御部は、電源遮断の後に供給をすることによる再始動シーケンス、ソフトウェアに基づく再始動シーケンス、装置診断モードのうちのいずれかであるとき、前記テストパターンに対する前記読み出し制御信号を送信することを特徴とする請求項９に記載のフラッシュメモリ装置。
【請求項１２】
フラッシュメモリユニットにテストパターンに対する読み出し制御信号を送信するステップと、
前記フラッシュメモリユニットからテストパターンを受信するステップと、
前記受信したテストパターンのエラーの有無を判定するステップと、
前記判定されたエラーの有無によって、前記テストパターンに対する前記読み出し制御信号の送信タイミングを調整するステップと、
を含むことを特徴とするフラッシュメモリ読み出し制御方法。
【請求項１３】
前記判定された結果としてエラーが存在した場合に、前記調整された送信タイミングに応じて前記フラッシュメモリユニットに、前記テストパターンに対する前記読み出し制御信号を再送信するステップをさらに含むことを特徴とする請求項１２に記載のフラッシュメモリ読み出し制御方法。
【請求項１４】
前記調整された送信タイミングに応じて前記フラッシュメモリユニットにデータに対する読み出し制御信号を送信するステップと、
前記データに対する前記読み出し制御信号に対応する読み出しデータを前記フラッシュメモリユニットから受信するステップと、
をさらに含むことを特徴とする請求項１２に記載のフラッシュメモリ読み出し制御方法。
【請求項１５】
請求項１２から１４のいずれかに記載のフラッシュメモリ読み出し制御方法を実行するためのプログラムが記録されていることを特徴とするコンピュータで読み出し可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、フラッシュメモリ装置に関し、特に、フラッシュメモリの読み出し動作を制御するコントローラ及び方法に関する。
【背景技術】
【０００２】
フラッシュメモリは、集積度が高くて衝撃に強く、低電力で動作可能な不揮発性メモリ素子であり、携帯端末や組み込みシステム（embedded system）などのストレージ媒体として主に使われてきた。近年、フラッシュメモリの価格が次第に低下するにつれて、複数のフラッシュメモリを接続して、ストレージ容量を拡大させたＳＳＤ（Solid State Disk）のような製品が登場し、ＳＳＤは多くの分野において、ハードディスクに代わるストレージ媒体として注目を浴びている。
【０００３】
現在発売されているフラッシュメモリは、およそ８ＧＢ〜６４ＧＢの容量、内部処理時間が２００μｓ、データ転送速度が２５ｎｓ／ｂｙｔｅ程度の特性を有している。したがって、ハードディスクに匹敵する大容量ストレージ装置として用いるためには、数個のフラッシュメモリを接続して容量と帯域幅を拡張しなければならない。
【０００４】
一般的なＳＳＤは、複数のフラッシュメモリユニットを含んでいる。ＳＳＤは、互いに独立的に動作する複数のチャネルからなり、１つのチャネルはバスを共有する複数のフラッシュメモリバンクからなる。１つのバンクは、アドレスバスを共有して別のデータバスを有する１つ以上のフラッシュメモリで構成してもよい。
【０００５】
１つのチャネルのｎＲＥ（negative READ ENABLE）信号が０に落ちて、所定の遅延時間Ｔｄが経過した後、現在活性化されているメモリバンクからバスに読み出しデータが出力され始め、ｎＲＥ信号が１に上がって、所定の遅延時間Ｔｄが経過した後、読み出しデータはバスから消える。コンピュータシステム（ホストシステムやプロセッサー）は、読み出しデータが正常にバスに出力される間、バッファを用いてデータを読み出さなければならないが、このとき、正常な読み出しデータがバスを占有する時点から、コンピュータシステムが読み出しデータを読み出す時点までをセットアップ時間と呼ぶ。コンピュータシステムがバスから読み出しデータを正常に読み出すためには、このセットアップ時間が各フラッシュメモリが要求する時間だけ十分に保障されなければならない。
【０００６】
遅延時間Ｔｄは、フラッシュメモリごとに異なっていてもよい。Ｔｄの差は、フラッシュメモリ素子の特性のばらつきやコンピュータシステムとの距離変動によって発生することもあり、１つのフラッシュメモリにおいても温度などの動作状況に応じてＴｄが片化することもある。
【０００７】
フラッシュメモリ素子の遅延時間が極めて大きい場合、コンピュータシステムがバスから読み出しデータを読み出すべきタイミングに、バスに正常な読み出しデータが現れない場合がある。このとき、フラッシュメモリ素子およびコンピュータシステムは、セットアップ時間を満たすことができず、コンピュータシステムの読み出した値が正常な読み出しデータであるか信頼することができない。
【０００８】
ＳＳＤが大容量化し、さらに多数のフラッシュメモリ素子が互いに接続され、１つのコントローラまたは１つのコンピュータシステムがフラッシュメモリ素子を制御する場合が増えている。大容量化およびシステムクロックが高速化されるに際して、読み出しデータの読み出しエラーを減らすことができるタイミング制御方法が必要となる。
【発明の概要】
【発明が解決しようとする課題】
【０００９】
本発明は、上述するような従来技術の問題点を解決するために発明されたものであって、フラッシュメモリごとに最適化された読み出しタイミング制御を可能にする装置および方法を提供することを目的とする。
【００１０】
また、本発明は、高い動作周波数のクロックによって動作する環境においても、フラッシュメモリの読み出し動作におけるエラーを減らすことができる装置および方法を提供することを目的とする。
【００１１】
また、本発明は、広帯域幅を得るために多数のフラッシュメモリを互いに接続して用いる環境においても、フラッシュメモリの読み出し動作におけるエラーを減らすことができる装置および方法を提供することを目的とする。
【課題を解決するための手段】
【００１２】
上述するような本発明の目的を達成するために、本発明のフラッシュメモリ装置は、複数のフラッシュメモリユニットと、前記複数のフラッシュメモリユニットにそれぞれ接続される共通の入出力バスと、前記共通の入出力バスに接続され、前記複数のフラッシュメモリユニットの中から選択されたフラッシュメモリユニットに読み出し制御信号を送信し、前記選択されたフラッシュメモリユニットから前記共通の入出力バスを経由して読み出しデータを受信する制御部とを含み、前記制御部は、前記選択されたフラッシュメモリユニットに関する送信遅延に基づいて、前記読み出し制御信号の送信タイミングを調整することを特徴とする。
【００１３】
また、本発明のフラッシュメモリ装置は、フラッシュメモリユニットと、前記フラッシュメモリユニットに読み出し制御信号を送信し、前記フラッシュメモリユニットからデータ経路を経由して読み出しデータを受信する制御部とを含み、前記制御部は、前記フラッシュメモリユニットに対する送信遅延に基づいて、前記読み出し制御信号の送信タイミングを調整することを特徴とする。
【００１４】
また、本発明のフラッシュメモリ装置は、テストパターンが記憶されたフラッシュメモリユニットと、前記フラッシュメモリユニットに前記テストパターンに対する読み出し制御信号を送信し、前記フラッシュメモリユニットから前記記憶されたテストパターンを受信する制御部とを含み、前記制御部は、前記受信したテストパターンのエラーの有無を検出して最適化された読み出し制御タイミングを探索し、前記探索された読み出し制御タイミングに基づいて前記フラッシュメモリユニットに対する読み出し制御信号の送信タイミングを調整することを特徴とする。
【００１５】
また、本発明のフラッシュメモリ読み出し制御方法は、フラッシュメモリユニットにテストパターンに対する読み出し制御信号を送信するステップと、前記フラッシュメモリユニットからテストパターンを受信するステップと、前記受信したテストパターンのエラーの有無を判定するステップと、前記判定されたエラーの有無によって、前記テストパターンに対する前記読み出し制御信号の送信タイミングを調整するステップとを含むことを特徴とする。
【発明の効果】
【００１６】
本発明によれば、フラッシュメモリごとに最適化された読み出しタイミング制御が可能である。
【００１７】
また、本発明によれば、高い動作周波数のクロックによって動作する環境においても、フラッシュメモリの読み出し動作におけるエラーを減らすことができる。
【００１８】
また、本発明によれば、広帯域幅を得るために多数のフラッシュメモリを互いに接続して用いる環境においても、フラッシュメモリの読み出し動作におけるエラーを減らすことができる。
【図面の簡単な説明】
【００１９】
【図１】図１は、本発明の一実施形態におけるフラッシュメモリ装置を示す。
【図２】図２は、フラッシュメモリ装置が行うフラッシュメモリ読み出し制御方法の実施例を示す。
【図３】図３は、フラッシュメモリ装置が行うフラッシュメモリ読み出し制御方法の他の実施例を示す。
【図４】図４は、フラッシュメモリ装置が行うフラッシュメモリ読み出し制御方法のさらに他の実施例を示す。
【図５】図５は、本発明の一実施形態におけるフラッシュメモリ読み出し制御方法のフローチャートを示す。
【発明を実施するための形態】
【００２０】
以下、本発明にかかる好適な実施形態について図面を参照して詳細に説明するが、本発明が実施形態によって制限されたり限定されたりすることはない。各図面に記された同一の参照符号は同一の部材を示す。
【００２１】
図１は、本発明の一実施形態におけるフラッシュメモリ装置１００を示す。
【００２２】
図１によれば、フラッシュメモリ装置１００は、制御部１１０および入出力バス１６０を有している。また、フラッシュメモリ装置１００は、フラッシュメモリユニット（０）１２０、フラッシュメモリユニット（１）１３０、フラッシュメモリユニット（２）１４０、フラッシュメモリユニット（３）１５０を有している。
【００２３】
入出力バス１６０は、フラッシュメモリユニット（０）１２０、フラッシュメモリユニット（１）１３０、フラッシュメモリユニット（２）１４０、フラッシュメモリユニット（３）１５０にそれぞれ接続され、共通してデータの送受信を行う。
【００２４】
制御部１１０は、共通の入出力バス１６０に接続され、制御部１１０は、例えば、フラッシュメモリからなるＳＳＤ内部のコントローラであっても、ＳＳＤ外部のコンピュータシステムやホストシステムであってもよい。
【００２５】
入出力バス１６０は、１つのチャネルに対応する共通のデータ入出力バスであってもよい。
【００２６】
制御部１１０とフラッシュメモリユニット（０）１２０との間の送信遅延は、制御部１１０とフラッシュメモリユニット（１）１３０との間の送信遅延よりも小さくてもよい。このような遅延時間のばらつきは、入出力バス１６０に接続されるフラッシュメモリユニットの数が増加するほど大きくなる。
【００２７】
各フラッシュメモリユニット（０，１，２，および３）１２０，１３０，１４０，および１５０と制御部１１０との間の送信遅延のばらつきによるデータ送受信エラーを除去するために、フラッシュメモリ装置１００は、読み出し制御信号ｎＲＥのタイミングを調整する。フラッシュメモリ装置１００は、読み出し制御信号ｎＲＥのタイミングの調整によって、送信時間のばらつきを補償することができる。
【００２８】
フラッシュメモリ装置１００は、各フラッシュメモリユニット（０，１，２，および３）１２０，１３０，１４０，および１５０に最適化されたｎＲＥ送信時間を提供することによって、ＳＳＤのような大容量フラッシュメモリシステムにも適用することができる。大容量フラッシュメモリシステムでは、多数のフラッシュメモリユニットが用いられるため、送信遅延のばらつきが増加することから、従来の構成では送信遅延のばらつきの増加によって、データのスループットを高めることは困難であった。
【００２９】
本実施例のフラッシュメモリ装置１００は、複数のフラッシュメモリユニット（０，１，２，および３）１２０，１３０，１４０，および１５０それぞれに対してリアルタイムで読み出し制御信号ｎＲＥのタイミングを調整することによって、高いシステムクロックの環境においてもエラーなくデータの送受信を行うことができる。また、フラッシュメモリ装置１００は、図１に示す実施形態より多数のフラッシュメモリユニット（図示せず）を含むフラッシュメモリシステムにおいてもデータのエラーなくデータのスループットを高めることができる。
【００３０】
制御部１１０は、フラッシュメモリユニット（０，１，２，および３）１２０，１３０，１４０，および１５０の中から選択されたフラッシュメモリユニット（例えば、フラッシュメモリユニット（２）１４０が選択されたとここでは仮定する）に読み出し制御信号ｎＲＥを送信する。
【００３１】
選択されたフラッシュメモリユニット（２）１４０は、読み出し制御信号ｎＲＥが受信されれば、所定の時間が経過した後に、共通の入出力バス１６０を経由して読み出したデータを送信する。このとき、読み出し制御信号ｎＲＥが受信したタイミングから共通の入出力バス１６０にデータが出力されるタイミングの間の所定の時間は、フラッシュメモリユニット（２）１４０固有のシステムの遅延時間であってもよく、フラッシュメモリユニット（２）１４０と共通の入出力バス１６０との間の出力活性化時間であってもよい。
【００３２】
選択されたフラッシュメモリユニット（２）１４０は、自然な遅延時間の他にも読み出し制御信号ｎＲＥが受信すれば、予め設定された時間が経過した後に読み出しデータを共通の入出力バス１６０を経由して制御部１１０に送信してもよい。
【００３３】
制御部１１０は、共通の入出力バス１６０を経由して選択されたフラッシュメモリユニット（２）１４０から送信された読み出しデータを受信する。
【００３４】
制御部１１０は、選択されたフラッシュメモリユニット（２）１４０と制御部１１０との間の送信遅延に基づいて、選択されたフラッシュメモリユニット（２）１４０に送信される読み出し制御信号ｎＲＥの送信タイミングを調整する。このとき、制御部１１０は、選択されたフラッシュメモリユニット（２）１４０と共通の入出力バス１６０との間の時間遅延に基づいて、読み出し制御信号ｎＲＥの送信タイミングを調整してもよい。
【００３５】
入出力バス１６０は、１つのチャネルに対応する共通の入出力バスであってもよい。各フラッシュメモリユニット（０，１，２，および３）１２０，１３０，１４０，および１５０は、１つのチャネルに接続される各バンクであってもよい。制御部１１０は、各バンクに対して個別に読み出し制御信号の送信タイミングを調整してもよい。
【００３６】
制御部１１０は、各フラッシュメモリ（０，１，２，および３）１２０，１３０，１４０，および１５０にシステムクロック信号を送信してもよい。制御部１１０によって送信されるシステムクロックは、フェーズロックドループ（ＰＬＬ：phase locked loop）回路、または、ディレイロックドループ（ＤＬＬ：delay locked loop）回路などによって同期化された信号であってもよい。制御部１１０は、選択されたフラッシュメモリユニット（２）１４０と制御部１１０との間の送信遅延および読み出しデータのシステムクロック信号に対するセットアップ時間に基づいて、読み出し制御信号ｎＲＥの送信タイミングを調整してもよい。
【００３７】
制御部１１０は、システムクロックが上昇する時に、共通の入出力バス１６０に現れる読み出しデータを受信してもよい。システムクロックが上昇する時に先だって、共通の入出力バス１６０に読み出しデータが正常に現れなければ、制御部１１０はエラーなく読み出しデータを受信することができない。システムクロックが上昇する時に先だって共通の入出力バス１６０に読み出しデータが正常に現れる時間をセットアップ時間という。制御部１１０は、十分なセットアップ時間が得られるように読み出し制御信号ｎＲＥの送信タイミングを調整してもよい。セットアップ時間は、選択されたフラッシュメモリユニット（２）１４０と制御部１１０との間の送信遅延に影響を受けるため、制御部１１０は送信遅延およびセットアップ時間に基づいて読み出し制御信号ｎＲＥの送信タイミングを調整してもよい。
【００３８】
制御部１１０は、読み出しデータのエラーの有無をチェックして、エラーが発生した場合には読み出し制御信号の送信タイミングを変更することによって送信タイミングを調整してもよい。
【００３９】
読み出しデータのエラーの有無のチェック方法としては、例えば、エラー制御コード（ＥＣＣ：error control codes）の複合化後のエラー判定やパリティビット（parity bit）のインテグリティ（integrity）のチェックなどを用いることができる。
【００４０】
本発明の別の実施例におけるフラッシュメモリ装置（図示せず）は、装置診断を行う際に各チャネル、各バンク、各フラッシュメモリチップに対してタイミング調整を行ってもよい。タイミング調整を行う装置診断としては、例えば、電源接続の再始動、ソフトの再始動、装置診断の命令実行などであってもよい。
【００４１】
フラッシュメモリの制御部（図示せず）は、メモリユニットと制御部との間の送信遅延に基づいて読み出し制御信号ｎＲＥの送信タイミングを調整してもよい。
【００４２】
図２は、フラッシュメモリ装置１００が行うフラッシュメモリ読み出し制御方法の実施例を示す。
【００４３】
図２によれば、制御部１１０は、システムクロック２１０を各フラッシュメモリユニット（０，１，２，および３）１２０，１３０，１４０，および１５０に送信する。
【００４４】
制御部１１０は、読み出しデータを受信しようとするシステムクロック２１０の目標上昇エッジのタイミングよりも１クロック先のタイミングに読み出し制御信号ｎＲＥ２２０を送信する。
【００４５】
ここでは、フラッシュメモリユニット（０）１２０が選択されたとする。
【００４６】
制御部１１０は、選択されたフラッシュメモリユニット（０）１２０と制御部１１０との間の送信遅延が小さいことに基づいて、読み出し制御信号ｎＲＥ２２０の送信タイミングを調整してもよい。制御部１１０は、読み出し制御信号ｎＲＥ２２０の調整された送信タイミングに応じて読み出し制御信号ｎＲＥ２２０を選択されたフラッシュメモリユニット（０）１２０に送信する。
【００４７】
選択されたフラッシュメモリユニット（０）１２０は、読み出し制御信号ｎＲＥ２２０を受信してから時間Ｔｄが経過した後、読み出しデータを共通の入出力バス１６０に送信してもよい。波形２３０は共通の入出力バス１６０に現れる信号を表現する。波形２３０によれば、読み出しデータは、システムクロック２１０の目標情報エッジから時間Ｔｓだけ前に共通の入出力バス１６０に正常に現れる。
【００４８】
制御部１１０は、システムクロック２１０の目標上昇エッジに共通の入出力バス１６０から読み出しデータを受信してもよい。このとき、時間Ｔｓは、読み出しデータのシステムクロック２１０に対するセットアップ時間であり、十分に長い時間であるため、制御部１１０はエラーなく選択されたフラッシュメモリユニット（０）１２０から読み出しデータを受信してもよい。
【００４９】
図３は、フラッシュメモリ装置１００が行うフラッシュメモリ読み出し制御方法の他の実施例を示す。
【００５０】
図３によれば、制御部１１０は、システムクロック３１０を各フラッシュメモリユニット（０，１，２，および３）１２０，１３０，１４０，および１５０に送信する。
【００５１】
制御部１１０は、読み出しデータを受信しようとするシステムクロック３１０の目標上昇エッジのタイミングよりも３／２クロック先のタイミングに読み出し制御信号ｎＲＥを送信してもよい。
【００５２】
ここでは、フラッシュメモリユニット（２）１４０が選択されたとする。
【００５３】
制御部１１０は、選択されたフラッシュメモリユニット（２）１４０と制御部１１０との間の送信遅延に基づいて読み出し制御信号ｎＲＥ３２０の送信タイミングを調整してもよい。
【００５４】
制御部１１０は、読み出し制御信号ｎＲＥ３２０の調整された送信タイミングに応じて読み出し制御信号ｎＲＥ３２０を選択されたフラッシュメモリユニット（２）１４０に送信してもよい。
【００５５】
選択されたフラッシュメモリユニット（２）１４０と制御部１１０との間の送信遅延は、フラッシュメモリユニット（０）１２０と制御部１１０との間の送信遅延よりも大きく、図２に示すような読み出し制御方法では十分なセットアップ時間を得ることができないため、制御部１１０は、読み出し制御信号ｎＲＥ３２０の送信タイミングを図２に示すよりも遅れた時刻としてもよい。
【００５６】
このとき、制御部１１０は、読み出し信号ｎＲＥ３２０が送信された時点から３／２クロックが経過したタイミングを目標上昇エッジに設定し、目標上昇エッジに共通の入出力バス１６０から読み出しデータを受信してもよい。
【００５７】
選択されたフラッシュメモリユニット（２）１４０は、読み出し制御信号ｎＲＥ３２０を受信してから時間Ｔｄが経過した後、読み出しデータを共通の入出力バス１６０に送信してもよい。波形３３０は、共通の入出力バス１６０に現れる信号を表現している。波形３３０によれば、読み出しデータはシステムクロック３１０の目標上昇エッジから時間Ｔｓだけ前に共通の入出力バス１６０に正常に現れる。
【００５８】
制御部１１０は、システムクロック３１０の目標上昇エッジに共通の入出力バス１６０から読み出しデータを受信してもよい。このとき、時間Ｔｓは、読み出しデータのシステムクロック３１０に対するセットアップ時間であり、十分に長い時間であるため、制御部１１０はエラーなく選択されたフラッシュメモリユニット（２）１４０から読み出しデータを受信できる。
【００５９】
図４は、フラッシュメモリ装置１００が行うフラッシュメモリ読み出し制御方法のさらに他の実施例を示す。
【００６０】
図４によれば、制御部１１０は、システムクロック４１０を各フラッシュメモリユニット（０，１，２，および３）１２０，１３０，１４０，および１５０に送信する。
【００６１】
制御部１１０は、システムクロック４１０の目標上昇エッジタイミングよりも２クロック先のタイミングで、読み出し制御信号ｎＲＥ４２０を送信する。
【００６２】
ここでは、フラッシュメモリユニット（３）１５０が選択されたものとする。
【００６３】
制御部１１０は、選択されたフラッシュメモリユニット（３）１５０と制御部１１０との間の送信遅延が極めて大きいことに基づいて、読み出し制御信号ｎＲＥ４２０の送信タイミングを調整する。制御部１１０は、読み出し制御信号ｎＲＥ４２０の調整された送信タイミングに応じて、読み出し制御信号ｎＲＥ４２０を選択されたフラッシュメモリユニット（３）１５０に送信してもよい。
【００６４】
選択されたフラッシュメモリユニット（３）１５０と制御部１１０との間の送信遅延は、フラッシュメモリユニット（２）１４０と制御部１１０との間の送信遅延よりも大きく、図３に示すような読み出し制御方法では十分なセットアップ時間が得られないため、制御部１１０は、読み出し制御信号ｎＲＥ４２０の送信タイミングを図３に示すよりも遅れた時刻としてもよい。
【００６５】
このとき、制御部１１０は、読み出し制御信号ｎＲＥ４２０が送信されたタイミングから２クロックが経過したタイミングを目標上昇エッジに設定し、目標上昇エッジに共通の入出力バス１６０から読み出しデータを受信してもよい。
【００６６】
選択されたフラッシュメモリユニット（３）１５０は、読み出し制御信号ｎＲＥ４２０を受信してから時間Ｔｄが経過した後、読み出しデータを共通の入出力バス１６０に送信してもよい。波形４３０は、共通の入出力バス１６０に現れる信号を表現している。波形４３０によれば、読み出しデータは、システムクロック４１０の目標上昇エッジから時間Ｔｓだけ前に共通の入出力バス１６０に正常に現れる。
【００６７】
制御部１１０は、システムクロック４１０の目標上昇エッジに共通の入出力バス１６０から読み出しデータを受信してもよい。このとき、時間Ｔｓは、読み出しデータのシステムクロック４１０に対するセットアップ時間であり、十分に長い時間であるため、制御部１１０はエラーなく選択されたフラッシュメモリユニット（３）１５０から読み出しデータを受信できる。
【００６８】
図１から図４によれば、制御部１１０は、各フラッシュメモリユニット（０，１，２，および３）１２０，１３０，１４０，および１５０に最適化された読み出し制御信号のタイミングを調整してもよい。制御部１１０とフラッシュメモリユニット（０）１２０との間の送信遅延は小さいため、制御部１１０はフラッシュメモリユニット（０）１２０に対しては読み出し制御信号を早い時点で送信して、読み出しデータを早い時点で受信してもよい。
【００６９】
制御部１１０とフラッシュメモリユニット（３）１５０との間の送信遅延は大きいため、制御部１１０はフラッシュメモリユニット（３）１５０に対しては読み出し制御信号を送れた時点で送信して、読み出しデータを遅れた時点で受信してもよい。
【００７０】
本発明の別の実施例におけるフラッシュメモリ装置（図示せず）は、多数のフラッシュメモリユニットが接続されたフラッシュメモリシステムに適用できる。フラッシュメモリ装置は、各フラッシュメモリユニットに最適化された読み出し制御信号の送信タイミングを提供することができる。フラッシュメモリ装置は、各フラッシュメモリユニットからエラーなく最も短い時間遅延で読み出しデータが受信されるように読み出し制御信号の送信タイミングを調整することができる。このような方法によって、フラッシュメモリ装置は、多数のメモリユニットが接続されたフラッシュメモリシステムにおいて、高いシステムクロックを用いることができ、高いデータスループットを得ることができる。
【００７１】
１つの共通の入出力バス１６０を共有するフラッシュメモリユニット（０，１，２，および３）１２０，１３０，１４０，および１５０と制御部１１０が示されているが、本発明のフラッシュメモリ読み出し制御方法は、共通の入出力バスを共有する場合にのみ限定されることはなく、フラッシュメモリユニットが別々の入出力バスを経由してデータを送受信する場合にも適用することができる。
【００７２】
本実施例において、フラッシュメモリチャネル、フラッシュメモリバンク、フラッシュメモリチップは、本明細書においてフラッシュメモリユニットのように記載された事項として応用されてもよく、このことは当業者にとって自明である。
【００７３】
本発明の別の実施例におけるフラッシュメモリ装置（図示せず）は、予め設定された特定ビットパターン（以下、「テストパターン」という）をフラッシュメモリに記憶してもよい。
【００７４】
制御部は、フラッシュメモリユニットにテストパターンに対する読み出し制御信号を送信し、フラッシュメモリユニットから記憶されたテストパターンを受信する。
【００７５】
制御部とフラッシュメモリユニットとの間の送信遅延が大きいため、読み出しデータが十分なセットアップ時間を有することができなければ、制御部が受信したテストパターンは、予め設定されたテストパターンと異なることになる。
【００７６】
このとき、制御部は、受信したテストパターンを予め設定されたテストパターンと比較し、受信したテストパターンのエラー有無を検出してもよい。エラーが検出されれば、制御部は読み出し制御信号の送信タイミングを遅延させ、フラッシュメモリユニットから再びテストパターンを受信してもよい。
【００７７】
制御部は、受信したテストパターンのエラーが検出されない範囲で最も早い送信タイミングを探索することもでき、探索された送信タイミングを最適化した送信タイミングと決定してもよい。
【００７８】
本実施形態は、テストパターンをフラッシュメモリユニットに記憶する課程を含んでいるが、他の実施形態によれば、フラッシュメモリユニットの製造過程において予め設定されたアドレスにテストパターンを記憶させてもよい。他の実施形態によっても、テストパターンを用いて最適な送信タイミングを探索する課程は同一であってもよい。
【００７９】
本発明のフラッシュメモリ装置は、読み出し制御信号の送信タイミングの対策を書くチャネル別に実行してもよく、システムは、各チャネル別に探索された最適な送信タイミングに応じて読み出し動作を実行してもよい。
【００８０】
また、本発明のフラッシュメモリ装置は、読み出し制御信号の送信タイミングの探索を各チャネル内の各バンク別に実行してもよく、システムは、各バンク別に探索された最適な送信タイミングに応じて読み出し動作を実行してもよい。
【００８１】
また、本発明のフラッシュメモリ装置は、読み出し制御信号の送信タイミングの探索を各チャネル内の各バンク内の各チップ別に実行してもよく、システムは、各チップ別に探索された最適な送信タイミングに応じて読み出し動作を実行してもよい。
【００８２】
本発明のフラッシュメモリ装置は、読み出し制御信号の送信タイミングの探索を電源接続の再始動、ソフトの再始動過程の間に実行してもよい。また、本発明のフラッシュメモリ装置は、読み出し制御信号の送信タイミングの探索を装置診断過程の間に実行してもよい。
【００８３】
また、本発明のフラッシュメモリ装置は、読み出し制御信号の送信タイミングの探索を読み出し動作エラー発生の場合に実行してもよい。また、本発明のフラッシュメモリ装置は、読み出し制御信号の送信タイミングの探索を周期的に実行してもよい。
【００８４】
また、本発明のフラッシュメモリ装置は、読み出し制御信号の送信タイミングの探索を任意の時間に、オペレーションシステムまたはユーザーの明示的なリクエストに応じて実行してもよい。
【００８５】
送信遅延は、製造過程で各フラッシュメモリユニットの特性に基づいて決定してもよく、各フラッシュメモリユニットの配置に基づいて決定してもよく、温度などの周辺環境によって決定してもよい。
【００８６】
従来の読み出し制御方法は、一定の送信タイミングを用いるため、１つのフラッシュメモリユニットでエラーが発生すると、全てのフラッシュメモリユニットが不良と判定されていた。しかし、本発明のフラッシュメモリ装置は、各フラッシュメモリユニットに最適化された送信タイミングを提供するため、フラッシュメモリシステムの収率を著しく高めることができる。
【００８７】
図５は、本発明の一実施形態におけるフラッシュメモリ読み出し制御方法のフローチャートを示す。
【００８８】
図５によれば、読み出し制御方法はフラッシュメモリユニットにテストパターンに対する読み出し制御信号を送信する（Ｓ５１０）。
【００８９】
読み出し制御方法は、フラッシュメモリユニットからテストパターンを受信する（Ｓ５２０）。
【００９０】
読み出し制御方法は、受信したテストパターンの有無を判定する（Ｓ５３０）。
【００９１】
読み出し制御方法は、受信したテストパターンに対するエラーがあれば、テストパターンに対する読み出し制御信号の送信タイミングを調整する（Ｓ５４０）。
【００９２】
読み出し制御方法は、受信したテストパターンに対するエラーがなければ、読み出し制御方法を終了してもよい。
【００９３】
読み出し制御方法は、受信したテストパターンに対するエラーがなければ、現在の送信タイミングを用いてフラッシュメモリユニットにデータに対する読み出し制御信号を送信してもよい。このとき、読み出し制御方法は、フラッシュメモリユニットから読み出し制御信号に対応する読み出しデータを受信してもよい。
【００９４】
読み出し制御方法は、ステップＳ５４０を行った後、ステップＳ５１０を再び行う。
【００９５】
読み出し制御方法は、ステップＳ５１０からＳ５４０を繰り返して行うことによって、最終的に決定された送信タイミングに応じてフラッシュメモリユニットにデータに対する読み出し制御信号を送信してもよい。
【００９６】
本実施例におけるフラッシュメモリ読み出し制御方法は、多様なコンピュータ手段により行われるプログラム命令によって実現され、コンピュータ読み取り可能な記録媒体に記録してもよい。コンピュータ読み取り可能な記録媒体は、プログラム命令、データファイル、データ構造などを単独または組み合わせて含むこともできる。記録媒体に記録されるプログラム命令は、本発明の目的のために特別に設計されて構成されたものでもよく、コンピュータソフトウェア分野の技術を有する当業者にとって公知であり使用可能なものであってもよい。コンピュータ読み取り可能な記録媒体としては、例えば、ハードディスク、フレキシブルディスク、および磁気テープなどの磁気媒体、ＣＤ−ＲＯＭ、ＤＶＤなどの光記録媒体、フロプティカルディスクのような磁気−光媒体、およびＲＯＭ（read-only memory）、ＲＡＭ（random access memory）、フラッシュメモリなどのようなプログラム命令を保存して実行するように構成されたハードウェア装置が含まれる。プログラム命令としては、例えば、コンパイラによって生成されるような機械語コードだけでなく、インタプリタなどを用いてコンピュータによって実行され得る高級言語コードも含まれる。上述したハードウェア装置は、本実施例における動作を行うため１つ以上のソフトウェアモジュールとして作動するように構成され、その逆も同様である。
【００９７】
本実施例におけるフラッシュメモリ装置および／またはメモリコントローラは、多様な形態のパッケージを用いて実現することができる。例えば、本実施例におけるフラッシュメモリ装置および／またはメモリコントローラは、ＰｏＰ（Package on Packages）、ＢＧＡ（Ball Grid Arrays）、ＣＳＰ（Chip Scale Packages）、ＰＬＣＣ（Plastic Leaded Chip Carrier）、ＰＤＩＰ（Plastic Dual In-Line Package）、ダイインワッフルパック（Die in Waffle Pack）、ダイインウェハフォーム（Die in Wafer Form）、ＣＯＢ（Chip On Board）、ＣＥＲＤＩＰ（Ceramic Dual In-Line Package）、ＭＱＦＰ（Plastic Metric Quad Flat Pack）、ＱＦＰ（Quad Flatpack）、ＳＯＩＣ（Small Outline Integrated Circuit）、ＳＳＯＰ（Shrink Small Outline Package）、ＴＳＯＰ（Thin Small Outline）、ＴＱＦＰ（Thin Quad Flatpack）、ＳＩＰ（System In Package）、ＭＣＰ（Multi Chip Package）、ＷＦＰ（Wafer-level Fabricated Package）、ＷＳＰ（Wafer-Level Processed Stack Package）などのようなパッケージを用いて実現してもよい。
【００９８】
フラッシュメモリ装置および／またはメモリコントローラは、メモリーカードを構成してもよい。このような場合、メモリコントローラは、ＵＳＢ、ＭＭＣ（Multi Media Card）、ＰＣＩ  Ｅｘｐｒｅｓｓ、ＳＡＴＡ（シリアルＡＴＡ）、ＰＡＴＡ（パラレルＡＴＡ）、ＳＣＳＩ、ＥＳＤＩ（Enhanced Small Device Interface）、ＩＤＥなどのような多様なインターフェースプロトコルの中のいずれかを用いて外部装置（例えば、ホスト）と通信するように構成してもよい。
【００９９】
フラッシュメモリ装置は、電力が遮断されても記憶されたデータを維持できる不揮発性メモリ装置である。携帯電話、ＰＤＡ（personal digital assistant）、デジタルカメラ、ポータブルゲーム機、ＭＰ３プレーヤーなどのモバイル装置の使用増加に応じてフラッシュメモリ装置は、データストレージとしてだけでなくコードストレージとしてより広く用いられることになる。フラッシュメモリ装置は、さらに、高精細度テレビジョン放送（ＨＤＴＶ：high definition television）、ＤＶＤ、ルーター、グローバル・ポジショニング・システム（ＧＰＳ：Global Positioning System）などのホームアプリケーションに用いられてもよい。
【０１００】
本実施例におけるコンピュータシステムは、バスに電気的に接続されたマイクロプロセッサ、ユーザーインターフェース、ベースバンドチップセットなどのモデム、メモリコントローラ、フラッシュメモリ装置を含む。フラッシュメモリ装置には、マイクロプロセッサによって処理された、もしくは、処理されるＮビットデータ（Ｎは１またはそれよりも大きい整数）がメモリコントローラに記憶される。本実施例におけるコンピュータシステムがモバイル装置の場合、コンピュータシステムの動作電圧を供給するためのバッテリーが追加されてもよい。
【０１０１】
本実施例におけるコンピュータシステムには、応用チップセット、カメライメージプロセッサ（ＣＩＰ：Camera Image Processor）、モバイルＤＲＡＭ（mobile Dynamic Random Access Memory）などがさらに含まれることは、当業者にとって自明である。メモリコントローラとフラッシュメモリ装置は、例えば、データを記憶するための不揮発性メモリを用いるＳＳＤ（Solid State Drive/Disk）を構成してもよい。
【０１０２】
上述したように、本発明の限定された実施形態と図面によって説明したが、本発明は上記の実施形態に限定されることなく、本発明が属する分野における通常の知識を有する者であれば、多様な修正および変形が可能である。したがって、本発明の範囲は記載された実施形態に限定されて決めてはならず、特許請求の範囲だけでなく、この特許請求の範囲と均等なものなどによって定めなければならない。
【図１】
2011508335.tif 000003
【図２】
2011508335.tif 000004
【図３】
2011508335.tif 000005
【図４】
2011508335.tif 000006
【図５】
2011508335.tif 000007
【国際調査報告】
2011508335.tif 000008
2011508335.tif 000009