(57)【要約】【課題】不揮発性メモリカードを制御するホスト、それを含むシステム及びその動作方法を提供する。【解決手段】本発明の不揮発性メモリカードとクロックバス、命令バス、及び１つ以上のデータバスを通じて連結されるホストの動作方法は、命令バスを通じて不揮発性メモリカードに第１命令を送信する段階と、第１命令に相応する第１データを１つ以上のデータバスを通じて、不揮発性メモリカードに伝送するか、不揮発性メモリカードから受信する段階と、第１データ伝送中に、または第１データ伝送前に、命令バスを通じて第２命令を１回以上不揮発性メモリカードに伝送する段階と、を含む。【選択図】図２
2014059876.tif 000002
【特許請求の範囲】
【請求項１】
不揮発性メモリカードと、クロックバス、命令バス、及び１つ以上のデータバスを通じて連結されるホストの動作方法において、
前記命令バスを通じて前記不揮発性メモリカードに第１命令を送信する段階と、
前記第１命令に相応する第１データを前記１つ以上のデータバスを通じて、前記不揮発性メモリカードに伝送するか、前記不揮発性メモリカードから受信する段階と、
前記第１データ伝送中に、または前記第１データ伝送前に、前記命令バスを通じて１つ以上の第２命令を１回以上前記不揮発性メモリカードに伝送する段階と、
を含むことを特徴とするホストの動作方法。
【請求項２】
前記第２命令は、
前記不揮発性メモリカードが“ビジー”状態である時に伝送されることを特徴とする請求項１に記載のホストの動作方法。
【請求項３】
前記不揮発性メモリカードの“ビジー”状態は、
前記１つ以上のデータバスのうちの何れか１つによって表示されることを特徴とする請求項２に記載のホストの動作方法。
【請求項４】
前記命令バスの状態を管理するための命令バス状態マシンを動作させる段階と、
前記１つ以上のデータバスの状態を管理するためのデータバス状態マシンを前記命令バス状態マシンと独立して動作させる段階と、をさらに含み、
前記１つ以上のデータバスの状態は、アイドル状態、データ伝達状態及び応答受信／待機状態を含み、
前記第２命令は、前記１つ以上のデータバスに対する状態がデータ伝達状態または応答受信／待機状態である場合に、前記不揮発性メモリカードに伝送されることを特徴とする請求項１に記載のホストの動作方法。
【請求項５】
前記第１命令は、データを伴う命令であり、
前記第２命令は、データを伴わない命令であることを特徴とする請求項１に記載のホストの動作方法。
【請求項６】
前記第２命令が伝送される回数を管理する段階をさらに含むことを特徴とする請求項１に記載のホストの動作方法。
【請求項７】
前記ホストの動作方法は、
ホストマルチキューデプス（ｍｕｌｔｉ  ｑｕｅｕｅ  ｄｅｐｔｈ）を保存する段階をさらに含み、
前記ホストマルチキューデプスは、前記第２命令が伝送できる最大回数を表わすものであることを特徴とする請求項６に記載のホストの動作方法。
【請求項８】
前記ホストマルチキューデプスを保存する方法は、
前記不揮発性メモリカードからＥｘｔｅｎｄｅｄ  ＣＳＤレジスタの情報を読み取る段階と、
前記Ｅｘｔｅｎｄｅｄ  ＣＳＤレジスタ情報に含まれたマルチキューデプスを抽出して、前記ホストマルチキューデプスに保存する段階と、
を含むことを特徴とする請求項７に記載のホストの動作方法。
【請求項９】
前記第２命令は、リード準備命令であり、
リード準備命令は、リードするデータのサイズを表わすデータサイズ情報及び開始アドレス情報を含むことを特徴とする請求項１に記載のホストの動作方法。
【請求項１０】
前記不揮発性メモリカードは、前記第２命令に応答して不揮発性メモリ装置からデータを読み出して、前記不揮発性メモリカード内のデータバッファに保存し、
前記ホストは、
前記データバッファに保存されたデータを前記ホストに読み出すための第３命令を前記不揮発性メモリカードに伝送する段階をさらに含むことを特徴とする請求項９に記載のホストの動作方法。
【請求項１１】
前記第３命令は、前記１つ以上の第２命令の全部または一部を特定し、
前記不揮発性メモリカードは、前記第３命令に応答して、前記特定された命令に相応するデータのみを前記ホストに伝送することを特徴とする請求項１０に記載のホストの動作方法。
【請求項１２】
前記１つ以上の第２命令の全部または一部を特定して、取り消すための取り消し命令を前記不揮発性メモリカードに伝送する段階をさらに含むことを特徴とする請求項１０に記載のホストの動作方法。
【請求項１３】
前記１つ以上の第２命令は、
ライトするデータのサイズを表わすデータサイズ情報及び開始アドレス情報を含むライト準備命令であることを特徴とする請求項１に記載のホストの動作方法。
【請求項１４】
前記１つ以上の第２命令のうち、最初の第２命令に相応するデータを１つ以上のデータバスを通じて前記不揮発性メモリカードに伝送する段階をさらに含み、
前記１つ以上の第２命令のうち、二番目の第２命令は、前記最初の第２命令に相応するデータが前記１つ以上のデータバスを通じて伝送される途中で、前記不揮発性メモリカードに伝送されることを特徴とする請求項１３に記載のホストの動作方法。
【請求項１５】
前記１つ以上の第２命令のうち、少なくとも１つに相応するデータを伝送するための第３命令を前記命令バスを通じて前記不揮発性メモリカードに伝送する段階と、
前記１つ以上のデータバスを通じて前記少なくとも１つの第２命令に相応するデータを前記不揮発性メモリカードに伝送する段階と、
をさらに含むことを特徴とする請求項１３に記載のホストの動作方法。
【請求項１６】
不揮発性メモリカードと、クロックバス、命令バス、及び１つ以上のデータバスを通じて連結されるホストを含む不揮発性メモリカードシステムの動作方法において、
前記ホストから前記命令バスを通じて前記不揮発性メモリカードに第１命令を送信する段階と、
前記ホスト及び前記不揮発性メモリカードとの間に、前記１つ以上のデータバスを通じて前記第１命令に相応する第１データを伝送する段階と、
前記第１データ伝送中に、前記ホストから前記命令バスを通じて１つ以上の第２命令を前記不揮発性メモリカードに伝送する段階と、
を含むことを特徴とする不揮発性メモリカードシステムの動作方法。
【請求項１７】
前記不揮発性メモリカードが前記１つ以上の第２命令を順次に受信して、命令レジスタに保存する段階をさらに含み、
前記１つ以上の第２命令を前記不揮発性メモリカードに伝送する段階は、
前記ホストが同じ命令タイプの前記１つ以上の第２命令を複数（２以上）個前記不揮発性メモリカードに伝送する段階を含むことを特徴とする請求項１６に記載の不揮発性メモリカードシステムの動作方法。
【請求項１８】
前記複数の第２命令のそれぞれは、リードするデータのサイズを表わすデータサイズ情報及び開始アドレス情報を含むリード準備命令であり、
前記データサイズ情報及び前記開始アドレス情報は、前記命令レジスタに保存される請求項１７に記載の不揮発性メモリカードシステムの動作方法。
【請求項１９】
前記不揮発性メモリカードが前記第２命令に応答して、不揮発性メモリ装置からデータを読み出して、前記不揮発性メモリカード内のデータバッファに保存する段階をさらに含むことを特徴とする請求項１８に記載の不揮発性メモリカードシステムの動作方法。
【請求項２０】
前記ホストが第３命令を前記不揮発性メモリカードに伝送する段階と、
前記不揮発性メモリカードが前記第３命令に応答して、前記データバッファに保存されたデータを前記ホストに伝送する段階と、
をさらに含むことを特徴とする請求項１９に記載の不揮発性メモリカードシステムの動作方法。
【請求項２１】
前記第３命令に応答して、前記ホストに伝送されるデータは、
前記複数個の第２命令に応答して、前記不揮発性メモリ装置からリードされたデータであることを特徴とする請求項２０に記載の不揮発性メモリカードシステムの動作方法。
【請求項２２】
前記ホストが前記複数個の第２命令の全部または一部を特定して、取り消すための取り消し命令を前記不揮発性メモリカードに伝送する段階と、
前記不揮発性メモリカードが前記取り消し命令に応答して、前記取り消し命令によって特定された第２命令またはデータを無効化する段階と、
をさらに含むことを特徴とする請求項１７に記載の不揮発性メモリカードシステムの動作方法。
【請求項２３】
前記第２命令は、ライト準備命令であり、
ライト準備命令は、ライトするデータのサイズを表わすデータサイズ情報及び開始アドレス情報を含むことを特徴とする請求項１７に記載の不揮発性メモリカードシステムの動作方法。
【請求項２４】
前記ホストが前記複数個の第２命令のうち、最初の第２命令に相応する第２データを前記１つ以上のデータバスを通じて前記不揮発性メモリカードに伝送する段階と、
前記不揮発性メモリカードが前記最初の第２命令に応答して、前記第２データを受信して、前記不揮発性メモリ装置にプログラムする段階と、
前記ホストが前記複数個の第２命令のうち、二番目の第２命令を前記第２データが前記１つ以上のデータバスを通じて伝送される途中で、前記不揮発性メモリカードに伝送する段階と、
前記第２データの伝送完了後、前記ホストが前記二番目の第２命令に相応する第３データを前記１つ以上のデータバスを通じて前記不揮発性メモリカードに伝送する段階と、
前記不揮発性メモリカードが前記二番目の第２命令に応答して、前記第３データを受信して、前記不揮発性メモリ装置にプログラムする段階と、
を含むことを特徴とする請求項２３に記載の不揮発性メモリカードシステムの動作方法。
【請求項２５】
前記ホストが第３命令を前記命令バスを通じて前記不揮発性メモリカードに伝送する段階と、
前記ホストが前記複数個の第２命令に相応する第２データを順次に前記１つ以上のデータバスを通じて前記不揮発性メモリカードに伝送する段階と、
前記不揮発性メモリカードが前記第３命令に応答して、前記第２データを受信して、前記不揮発性メモリ装置にプログラムする段階と、
をさらに含むことを特徴とする請求項２３に記載の不揮発性メモリカードシステムの動作方法。
【請求項２６】
不揮発性メモリカードと、クロックバス、命令バス、及び１つ以上のデータバスを通じて連結されるホストにおいて、
前記ホストの動作全般を制御するプロセッサと、
前記プロセッサに電気的に連結され、前記不揮発性メモリカードとインターフェースするためのホストコントローラと、を含み、
前記ホストコントローラは、
前記命令バスを通じて前記不揮発性メモリカードに第１命令を送信し、前記第１命令に相応する第１データを前記１つ以上のデータバスを通じて、ｅＭＭＣ（ｅｍｂｅｄｄｅｄ  ＭｕｌｔｉＭｅｄｉａ  Ｃａｒｄ）装置に伝送するか、前記ｅＭＭＣ装置から受信し、前記第１データ伝送中に、または前記第１データ伝送前に、前記命令バスを通じて第２命令を前記不揮発性メモリカードに伝送することを特徴とするホスト。
【請求項２７】
前記第２命令は、
前記不揮発性メモリカードが“ビジー”状態である時に伝送されることを特徴とする請求項２６に記載のホスト。
【請求項２８】
前記ホストコントローラは、
前記命令バスの状態を管理するための命令バス状態マシンを動作させ、前記１つ以上のデータバスの状態を管理するためのデータバス状態マシンを前記命令バス状態マシンと独立して動作させる状態制御ユニットを含み、
前記データバス状態は、アイドル状態、データトランスファー状態及び応答受信／待機状態を含み、
前記第２命令は、前記１つ以上のデータバスに対する状態がデータトランスファー状態または応答受信／待機状態である場合に、前記不揮発性メモリカードに伝送されることを特徴とする請求項２６に記載のホスト。
【請求項２９】
前記ホストコントローラは、
前記第２命令が伝送される最大回数を管理するためのカウンターをさらに含むことを特徴とする請求項２８に記載のホスト。
【請求項３０】
不揮発性メモリカードに連結されるホストの動作方法において、
第１データを表わす第１命令を命令バスを通じてホストから不揮発性メモリカードに伝送する段階と、
１つ以上のデータバスを通じて前記第１データを前記ホストから前記不揮発性メモリカードに伝送する段階と、
前記１つ以上のデータバスを通じて前記不揮発性メモリ装置から前記ホストに前記第１データを伝送する段階のうち少なくとも１つを行うことによって、  
前記第１データを伝送する段階と、
前記第１データの伝送中に、または伝送前に、前記命令バスを通じて前記不揮発性メモリカードに第２命令を伝送する段階と、
を含むことを特徴とするホストの動作方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、不揮発性メモリカードを制御するホストに係り、より詳しくは、リード（ｒｅａｄ）／ライト（ｗｒｉｔｅ）性能を改善しうるホスト、ホストを含むシステム及びホストの動作方法に関する。
【背景技術】
【０００２】
不揮発性メモリカードとしては、代表的にマルチメディアカード（Ｍｕｌｔｉ−Ｍｅｄｉａ  Ｃａｒｄ：ＭＭＣ）がある。マルチメディアカードは、フラッシュ（ｆｌａｓｈ）メモリのメモリカード標準である。
ｅＭＭＣ（ｅｍｂｅｄｄｅｄ  ＭｕｌｔｉＭｅｄｉａ  Ｃａｒｄ）は、ＪＥＤＥＣで標準として定めた内蔵型ＭＭＣに対する標準である。ｅＭＭＣ通信は、１０つの信号バス（１０−ｓｉｇｎａｌ  ｂｕｓ）を基盤とする。ｅＭＭＣは、スマートフォンのような移動通信装置に内蔵されて使われる。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
本発明が解決しようとする技術的な課題は、リード／ライト性能を改善しうる不揮発性メモリカードを制御するホスト、それを含むシステム及びホストの動作方法を提供することにある。
【課題を解決するための手段】
【０００４】
本発明の実施形態による不揮発性メモリカード（ｎｏｎ−ｖｏｌａｔｉｌｅ  ｍｅｍｏｒｙ  ｃａｒｄ）と、クロックバス、命令バス、及び１つ以上のデータバスを通じて連結されるホストの動作方法は、前記命令バスを通じて前記不揮発性メモリカードに第１命令を送信する段階と、前記第１命令に相応する第１データを前記１つ以上のデータバスを通じて、前記不揮発性メモリカードに伝送するか、前記不揮発性メモリカードから受信する段階と、前記第１データ伝送中に、または前記第１データ伝送前に、前記命令バスを通じて１つ以上の第２命令を１回以上前記不揮発性メモリカードに伝送する段階と、を含む。
【０００５】
前記第２命令は、前記不揮発性メモリカードが“ビジー”状態である時に伝送することができる。
【０００６】
前記不揮発性メモリカードの“ビジー”状態は、前記１つ以上のデータバスのうちの何れか１つによって表示される。
【０００７】
前記命令バスの状態を管理するための命令バス状態マシンを動作させる段階と、前記１つ以上のデータバスの状態を管理するためのデータバス状態マシンを前記命令バス状態マシンと独立して動作させる段階と、をさらに含み、前記１つ以上のデータバス状態は、アイドル状態、データ伝達状態及び応答受信／待機状態を含み、前記第２命令は、前記１つ以上のデータバスに対する状態がデータ伝達状態または応答受信／待機状態である場合に、前記不揮発性メモリカードに伝送することができる。
【０００８】
前記第１命令は、データを伴う命令であり、前記第２命令は、データを伴わない命令であり得る。
【０００９】
前記第２命令が伝送することができる最大回数を管理する段階をさらに含みうる。
【００１０】
本発明の実施形態による不揮発性メモリカードとクロックバス、命令バス、及び１つ以上のデータバスを通じて連結されるホストを含む不揮発性メモリカードシステムの動作方法は、前記ホストから前記命令バスを通じて前記不揮発性メモリカードに第１命令を送信する段階と、前記ホスト及び前記不揮発性メモリカードとの間に、前記１つ以上のデータバスを通じて前記第１命令に相応する第１データを伝送する段階と、前記第１データ伝送中に、前記ホストから前記命令バスを通じて１つ以上の第２命令を前記不揮発性メモリカードに伝送する段階と、を含む。
【００１１】
前記不揮発性メモリカードが前記１つ以上の第２命令を順次に受信して、命令レジスタに保存する段階をさらに含み、前記１つ以上の第２命令を前記不揮発性メモリカードに伝送する段階は、前記ホストが同じ命令タイプの前記１つ以上の第２命令を複数（２以上）個前記不揮発性メモリカードに伝送する段階を含みうる。
【００１２】
前記複数の第２命令のそれぞれは、リードするデータのサイズを表わすデータサイズ情報及び開始アドレス情報を含むリード準備命令であり、前記データサイズ情報及び前記開始アドレス情報は、前記命令レジスタに保存することができる。
【００１３】
前記不揮発性メモリカードが前記第２命令に応答して、不揮発性メモリ装置からデータを読み出して、前記不揮発性メモリカード内のデータバッファに保存する段階をさらに含みうる。
【００１４】
前記動作方法は、前記ホストが第３命令を前記不揮発性メモリカードに伝送する段階と、前記不揮発性メモリカードが前記第３命令に応答して、前記データバッファに保存されたデータを前記ホストに伝送する段階と、をさらに含みうる。
【００１５】
前記ホストが前記複数個の第２命令の全部または一部を特定して、取り消すための取り消し命令を前記不揮発性メモリカードに伝送する段階と、前記不揮発性メモリカードが前記取り消し命令に応答して、前記取り消し命令によって特定された第２命令またはデータを無効化する段階と、をさらに含みうる。
【００１６】
前記第２命令のそれぞれは、ライト準備命令であり、ライト準備命令は、ライトするデータのサイズを表わすデータサイズ情報及び開始アドレス情報を含みうる。
【００１７】
前記ホストが前記複数個の第２命令のうち、最初の第２命令に相応する第２データを前記１つ以上のデータバスを通じて前記不揮発性メモリカードに伝送する段階と、前記不揮発性メモリカードが前記最初の第２命令に応答して、前記第２データを受信して、前記不揮発性メモリ装置にプログラムする段階と、前記ホストが前記複数個の第２命令のうち、二番目の第２命令を前記第２データが前記１つ以上のデータバスを通じて伝送される途中で、前記不揮発性メモリカードに伝送する段階と、前記第２データの伝送完了後、前記ホストが前記二番目の第２命令に相応する第３データを前記１つ以上のデータバスを通じて前記不揮発性メモリカードに伝送する段階と、前記不揮発性メモリカードが前記二番目の第２命令に応答して、前記第３データを受信して、前記不揮発性メモリ装置にプログラムする段階と、を含みうる。
【００１８】
本発明の実施形態による不揮発性メモリカードと、クロックバス、命令バス、及び１つ以上のデータバスを通じて連結されるホストは、前記ホストの動作全般を制御するプロセッサと、前記プロセッサに電気的に連結され、前記不揮発性メモリカードとインターフェースするためのホストコントローラと、を含む。
【００１９】
前記ホストコントローラは、前記命令バスを通じて前記不揮発性メモリカードに第１命令を送信し、前記第１命令に相応する第１データを前記１つ以上のデータバスを通じて、前記ｅＭＭＣに伝送するか、前記ｅＭＭＣから受信し、前記第１データ伝送中に、または前記第１データ伝送前に、前記命令バスを通じて第２命令を前記不揮発性メモリカードに伝送する。
【００２０】
本発明の実施形態による不揮発性メモリカードに連結されるホストの動作方法は、第１データを表わす第１命令を命令バスを通じてホストから不揮発性メモリカードに伝送する段階と、１つ以上のデータバスを通じて前記第１データを前記ホストから前記不揮発性メモリ装置に伝送する段階と、前記１つ以上のデータバスを通じて前記不揮発性メモリ装置から前記ホストに前記第１データを伝送する段階のうち少なくとも１つを行うことによって、前記第１データを伝送する段階と、前記第１データの伝送中に、または伝送前に、前記命令バーストを通じて前記不揮発性メモリカードに第２命令を伝送する段階と、を含む。
【発明の効果】
【００２１】
本発明の実施形態によれば、ホストは、データ伝送中に、または不揮発性メモリカード（以下、ｅＭＭＣで代表するが、これに限定されない）のリード／ライト動作が完了する前に、命令をｅＭＭＣに送ることができる。したがって、ｅＭＭＣのリード／ライト動作中でも、次のリード／ライト命令に対する準備動作を行うことができる。したがって、ｅＭＭＣのリード／ライト性能を向上させうる。
【図面の簡単な説明】
【００２２】
本発明の詳細な説明で引用する図面をより十分に理解するために、各図面の簡単な説明を提供する。
【図１】本発明の一実施形態による不揮発性メモリカードシステムを示すブロック図である。
【図２】図１に示したホストコントローラの一実施形態を示すブロック図である。
【図３】本発明の一実施形態によるｅＭＭＣ装置のブロック図である。
【図４】（Ａ）は、図３に示したデバイス命令レジスタの一実施形態を示す図である。（Ｂ）は、図４Ａの命令レジスタに保存される命令情報の一実施形態を示す図である。
【図５】図３に示したデバイス命令レジスタの他の実施形態を示す図である。
【図６】本発明の一実施形態による命令バス状態マシンを示す図である。
【図７】本発明の一実施形態によるデータバス状態マシンを示す図である。
【図８】本発明の一実施形態による不揮発性メモリカードシステムの動作方法を示すフローチャートである。
【図９】本発明の一実施形態によるデータリード動作方法と通常のｅＭＭＣのデータリード動作方法とを比較するための概略的なタイミング図であり、ａ）は、通常のリード動作方法を示し、（ｂ）は、本発明の一実施形態によるリード動作方法を示す。
【図１０】本発明の他の実施形態による不揮発性メモリカードシステムの動作方法を示す概略的なタイミング図である。
【図１１】本発明の他の実施形態によるデータリード動作方法と通常のｅＭＭＣのデータリード動作方法とを比較するための概略的なタイミング図である。
【図１２】本発明の一実施形態によるライト動作方法と、通常のｅＭＭＣのライト動作方法とを比較するための概略的なタイミング図である。
【図１３】本発明のさらに他の実施形態によるリード動作方法を示すフローチャートである。
【図１４】本発明のさらに他の実施形態によるリード動作方法と通常のｅＭＭＣのリード動作方法とを比較するための概略的なタイミング図である。
【図１５】本発明の他の実施形態によるライト動作方法を示すフローチャートである。
【図１６】本発明の他の実施形態によるライト動作方法と、通常のｅＭＭＣのライト動作方法とを比較するための概略的なタイミング図である。
【発明を実施するための形態】
【００２３】
以下、本明細書に添付した図面を参照して、本発明の実施形態を詳しく説明する。
本明細書は、ＪＥＤＥＣ（ｈｔｔｐ：／／ｗｗｗ．ｊｅｄｅｃ．ｏｒｇ）によって２０１２年６月に公開されたＥｍｂｅｄｄｅｄ  ＭｕｌｔｉＭｅｄｉａ  Ｃａｒｄ（ｅＭＭＣ）、Ｅｌｅｃｔｒｉｃａｌ  Ｓｔａｎｄａｒｄ４．５１、すなわち、ＪＥＳＤ８４−Ｂ４５１をレファレンス（ｒｅｆｅｒｅｎｃｅ）として含む。
【００２４】
したがって、本明細書の用語と定義（ｔｅｒｍｓ  ａｎｄ  ｄｅｆｉｎｉｔｉｏｎｓ）が、ＪＥＳＤ８４−Ｂ４５１の用語と定義と異なる定義がない限り、本明細書の用語と定義は、ＪＥＳＤ８４−Ｂ４５１の用語と定義と同一である。
【００２５】
本発明の概念による多様な実施形態は、ホスト（ｈｏｓｔ）と装置（ｄｅｖｉｃｅ）との間で送受信するデータの伝送速度を高め、ノイズ兔疫性（ｎｏｉｓｅ  ｉｍｍｕｎｉｔｙ）を高めるために、既存の１０ワイヤバス（１０−ｗｉｒｅ  ｂｕｓ）以外に追加ライン（または、チャネル）をさらに含みうる。
【００２６】
本明細書で、信号または電圧を伝送するチャネル（ｃｈａｎｎｅｌ）は、ホストパッド、ｅＭＭＣパッド、バス、ライン、ドライバ（実施形態によって、差動増幅器を含む）、受信器（実施形態によって、差動増幅器を含む）、またはこれらのうちから少なくとも２つの組合わせを意味する。
【００２７】
前記ラインの機能と、前記ラインを通じて伝送される信号を生成する回路と方法を、本明細書で詳しく説明する。
本明細書では、特別な意図を有し、明示的に区分しない限り、説明の便宜上、機能回路、例えば、バス（ｂｕｓ）、ワイヤ（ｗｉｒｅ）、パッド（または、ピン（ｐｉｎ））、ドライバ（ｄｒｉｖｅｒ）、受信器（ｒｅｃｅｉｖｅｒ）、及び／または差動増幅器などの伝送遅延（ｐｒｏｐａｇａｔｉｏｎ  ｄｅｌａｙ）は考慮しない。
【００２８】
図１は、本発明の一実施形態による不揮発性メモリカードシステム１００のブロック図を示す。
図１を参照すると、不揮発性メモリカードシステム１００は、ホスト２００とｅＭＭＣ装置３００とを含む。ｅＭＭＣ装置３００は、不揮発性メモリカード装置であって、ＳＤ（Ｓｅｃｕｒｅ  Ｄｉｇｉｔａｌ）カード、ＭＭＣ（ＭｕｌｔｉＭｅｄｉａ  Ｃａｒｄ）、ｅＭＭＣでありうるが、これらに限定されるものではない。
【００２９】
本実施形態では、ｅＭＭＣ装置３００は、エンベデッドマルチメディアカード（ｅｍｂｅｄｄｅｄ  ＭｕｌｔｉＭｅｄｉａ  Ｃａｒｄ：ｅＭＭＣ）であると仮定する。
【００３０】
ホスト２００は、ｅＭＭＣ装置３００のデータ処理動作、例えば、データリード動作またはデータライト動作などを制御する。前記データ処理動作は、ＳＤＲ（Ｓｉｎｇｌｅ  Ｄａｔａ  Ｒａｔｅ）またはＤＤＲで行われる。
【００３１】
ホスト２００は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、プロセッサ、マイクロプロセッサ（ｍｉｃｒｏｐｒｏｃｅｓｓｏｒ）またはアプリケーションプロセッサ（ａｐｐｌｉｃａｔｉｏｎ  ｐｒｏｃｅｓｓｏｒ）のようにデータを処理するデータ処理装置を意味し、前記データ処理装置は、電子装置に内臓（ｅｍｂｅｄｄｅｄ）または具現されうる。
【００３２】
前記電子装置は、ＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）、ラップトップコンピュータ（ｌａｐｔｏｐ  ｃｏｍｐｕｔｅｒ）、携帯電話、スマートフォン（ｓｍａｒｔｐｈｏｎｅ）、タブレット（ｔａｂｌｅｔ）ＰＣ、ＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔ）、ＥＤＡ（Ｅｎｔｅｒｐｒｉｓｅ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔ）、デジタルスチルカメラ（ｄｉｇｉｔａｌ  ｓｔｉｌｌ  ｃａｍｅｒａ）、デジタルビデオカメラ（ｄｉｇｉｔａｌ  ｖｉｄｅｏ  ｃａｍｅｒａ）、オーディオ装置（ａｕｄｉｏｄｅｖｉｃｅ）、ＰＭＰ（Ｐｏｒｔａｂｌｅ  Ｍｕｌｔｉｍｅｄｉａ  Ｐｌａｙｅｒ）、ＰＮＤ（Ｐｅｒｓｏｎａｌ  Ｎａｖｉｇａｔｉｏｎ  ＤｅｖｉｃｅまたはＰｏｒｔａｂｌｅＮａｖｉｇａｔｉｏｎ  Ｄｅｖｉｃｅ）、ＭＰ３プレーヤー、携帯用ゲームコンソール（ｈａｎｄｈｅｌｄ  ｇａｍｅ  ｃｏｎｓｏｌｅ）、または電子ブック（ｅ−ｂｏｏｋ）として具現可能である。
【００３３】
ｅＭＭＣ装置３００は、ホスト２００とデータ通信のために、前記電子装置と接続手段（例えば、パッド（ｐａｄｓ）、ピン（ｐｉｎｓ）、バス、または通信ライン）を通じて電気的に互いに接続される。
【００３４】
本発明の一実施形態によるホスト２００は、プロセッサ２１５、ＲＡＭ２２０、及びホストコントローラ２３０を含みうる。プロセッサ２１５によって運用システム（ＯＳ）及び／またはホストファームウエア２１０が駆動されうる。メモリ２２０は、ＤＲＡＭ及びＳＲＡＭを含みうるが、これらに限定されるものではない。
【００３５】
示した構成要素以外にも、ホスト２００は、クロック生成器（図示せず）などをさらに含みうる。
【００３６】
クロック生成器は、ホスト２００とｅＭＭＣ装置３００とで使われるクロック信号ＣＬＫを生成する。例えば、クロック生成器は、位相同期ループ（Ｐｈａｓｅ  ＬｏｃｋｅｄＬｏｏｐ：ＰＬＬ）として具現可能である。
【００３７】
プロセッサ２１５は、命令ＣＭＤの生成、応答ＲＥＳの解釈、Ｅｘｔｅｎｄｅｄ（ＥＸＴ）＿ＣＳＤレジスタ３７１に保存されたデータ、及び／またはデータ処理動作を制御するハードウェアを意味する。プロセッサ２１５は、ＯＳ／ホストファームウエア２１０を駆動して、前記のような動作を行う。
【００３８】
ホストコントローラ２３０は、ｅＭＭＣ装置３００とインターフェースするためのブロックである。
ホストコントローラ２３０は、ｅＭＭＣ装置３００に命令ＣＭＤを発給し（ｉｓｓｕｉｎｇ）、命令ＣＭＤに対する応答ＲＥＳを受け、ｅＭＭＣ装置３００に保存されるライトデータを伝送し、ｅＭＭＣ装置３００からリードしたリードデータを受信する。
【００３９】
ホストコントローラ２３０は、ｅＭＭＣ装置３００に送信した命令の情報を保存するためのホスト命令レジスタ２３５を含みうる。ホスト命令レジスタ２３５は、ホスト２００内のメモリ（例えば、２２０）と別途に具現されることもあり、メモリ（例えば、２２０）を利用することもできる。
【００４０】
図１に示したｅＭＭＣバスは、従来（例えば、ｅＭＭＣ４．５１に規定された）の１０ワイヤバスであるバス１０１、１０２、及び１０３を含みうる。しかし、本発明の実施形態が、これに限定されるものではない。例えば、ｅＭＭＣバスは、１０ワイヤバスであるバス１０１、１０２、及び１０３以外に、リターンクロック信号（図示せず）をｅＭＭＣ装置３００からホスト２００に伝送しうる単方向リターンクロックバス（図示せず）をさらに含みうる。
【００４１】
クロックバス１０１は、クロック信号ＣＬＫを伝送し、双方向（ｂｉｄｉｒｅｃｔｉｏｎａｌ）命令バス１０２は、命令ＣＭＤをｅＭＭＣ装置３００に伝送し、命令ＣＭＤに対する応答ＲＥＳをホスト２００に伝送する。双方向データバス１０３は、データライト動作のためのライトデータＤＡＴ［７：０］をｅＭＭＣ装置３００に伝送するか、データリード動作のためのリードデータＤＡＴ［７：０］をホスト２００に伝送しうる。
【００４２】
ホスト２００は、リセットライン（図示せず）を通じてハードウェアリセット信号をｅＭＭＣ装置３００に伝送しうる。
ホスト２００は、ｅＭＭＣ装置３００の動作に必要な動作電圧を生成して、ｅＭＭＣ装置３００に伝送しうる。
【００４３】
図２は、図１に示したホストコントローラの一実施形態を示すブロック図である。
図２を参照すると、ホストコントローラ２３０は、命令生成ユニット２３１、データ入出力ユニット２３４、タスク管理ユニット２３２、及び状態制御ユニット２３３を含む。タスク管理ユニット２３２は、タスクの生成、終了などを管理する。
【００４４】
命令生成ユニット２３１は、タスクの要請に応じて命令ＣＭＤを生成して、ｅＭＭＣ装置３００に伝送し、命令ＣＭＤに対する応答ＲＥＳを受信する。
【００４５】
データ入出力ユニット２３４は、双方向データバス１０３を通じてデータライト動作のためのライトデータＤＡＴ［７：０］をｅＭＭＣ装置３００に伝送するか、フラッシュメモリ３７０からリードされたリードデータＤＡＴ［７：０］を受信する。
【００４６】
状態制御ユニット２３３は、命令バス１０２の状態を管理するための命令バス状態マシンとデータバス１０３の状態を管理するためのデータバス状態マシンとを独立して制御する。これについては、図６及び図７を参照して説明する。
【００４７】
図２に示したホストコントローラ２３０の各構成要素は、ハードウェア、ソフトウェア、またはハードウェアとソフトウェアとの結合として具現可能である。例えば、図２に示したホストコントローラ２３０の構成要素のうちの一部または全部は、ファームウエアとして具現可能である。
【００４８】
図３は、本発明の一実施形態によるｅＭＭＣ装置３００のブロック図である。
図３を参照すると、ｅＭＭＣ装置３００は、装置コントローラ、例えば、デバイスコントローラ３１０とフラッシュメモリ３７０とを含む。
【００４９】
デバイスコントローラ３１０は、ホスト２００とフラッシュメモリ３７０との間でデータ通信を制御する。
【００５０】
デバイスコントローラ３１０は、ｅＭＭＣホストインターフェース３２０、ＣＰＵ３３０、メモリ３４０、エラー検出／訂正ブロック（ＥＣＣ）３６０及びフラッシュインターフェース３６５を含む。
【００５１】
ｅＭＭＣホストインターフェース３２０は、ホストからクロック信号ＣＬＫと命令ＣＭＤとを受信し、該受信された命令ＣＭＤを解釈し、該解釈の結果によって応答ＲＥＳを生成し、該生成された応答ＲＥＳと応答ＲＥＳに基づいて生成されたデータをホストに伝送する。
【００５２】
ｅＭＭＣホストインターフェース３２０は、ホストから受信される命令の情報を保存するためのデバイス命令レジスタ３２５を含みうる。デバイス命令レジスタ３２５は、デバイスコントローラ３１０内のメモリ（例えば、３４０）と別途に具現されることもあり、メモリ（例えば、３４０）を利用することもできる。
【００５３】
図４（Ａ）は、図３に示したデバイス命令レジスタ３２５の一実施形態を示す。
図４（Ａ）を参照すると、一実施形態による命令レジスタ３２５Ａは、Ｎ（２以上の自然数）個のレジスタ３２５−１ないし３２５−Ｎを含む。Ｎは、命令レジスタのサイズ（すなわち、個数）を表わし、２以上の自然数である。Ｎをマルチキューデプス（ｍｕｌｔｉ  ｑｕｅｕｅ  ｄｅｐｔｈ）と定義する。
【００５４】
したがって、ｅＭＭＣホストインターフェース３２０は、最大マルチキューデプスほどの命令をホストから受信して、レジスタ３２５−１ないし３２５−Ｎに保存できる。
【００５５】
本実施形態による命令は、ホストから受信された命令をｅＭＭＣ装置３００に保存することによって、以前の命令に対する動作を完了する前（例えば、フラッシュメモリ３７０からリードしたデータを前記ホストに伝送する前、またはホストから受信したデータをフラッシュメモリ３７０にプログラムする前）に、次の命令を受信できるように、ホスト２００とｅＭＭＣ装置３００との間の既定の命令であり得る。
【００５６】
すなわち、本実施形態による命令は、通常のｅＭＭＣで定義された命令ではなく、ｅＭＭＣ装置３００が動作（例えば、データリード動作またはデータライト動作など）中であるビジー（ｂｕｓｙ）状態でも、次の命令を受けることによって、全体的なデータ伝送速度を高めるために、新たに定義された命令である。
【００５７】
通常のｅＭＭＣプロトコルによれば、データ伝送中またはｅＭＭＣのビジー（ｂｕｓｙ）状態では、ホストは、中止（ｓｔｏｐ、ａｂｏｒｔ）命令や、状態（ｓｔａｔｕｓ）確認命令のみｅＭＭＣに伝送可能であり、他の命令（例えば、リード命令やライト命令）は、伝送できない。ｓｔｏｐやａｂｏｒｔ命令は、伝送中であるデータを中断させるための命令であり、状態確認命令は、デバイスの状態を確認するための命令である。
【００５８】
例えば、通常のｅＭＭＣプロトコル上でデータ送信状態（ｓｅｎｄｉｎｇ−ｄａｔａ  ｓｔａｔｅ）、データ受信状態（ｒｅｃｅｉｖｅ−ｄａｔａ  ｓｔａｔｅ）、プログラミング状態（ｐｒｏｇｒａｍｍｉｎｇ  ｓｔａｔｅ）の間には、命令伝送が不可能であり、動作完了（ｏｐｅｒａｔｉｏｎ  ｃｏｍｐｌｅｔｅ）以後であるトランスファー状態（ｔｒａｎｓｆｅｒ  ｓｔａｔｅ）の間にのみ命令を送ることができる。これによりプロトコルオーバーヘッドで性能が落ちる。
【００５９】
本発明の実施形態では、データ伝送中またはｅＭＭＣのビジー状態でも、ホストがｅＭＭＣ装置３００に命令をあらかじめ送って、次のデータ伝送を準備させることによって、データ伝送性能を高める。本発明の実施形態による命令は、前述した中止命令や状態確認命令ではない、次のデータ伝送を準備するための命令（すなわち、準備命令）、準備命令を取り消すための命令、準備命令によって準備されたデータを読み出すための命令などであり得る。
【００６０】
本発明の一実施形態によれば、命令は、図４（Ａ）に示した命令レジスタ３２５−１ないし３２５−Ｎに保存できる。
【００６１】
各レジスタ３２５−１ないし３２５−Ｎは、ホストから発給された命令についての情報（以下、命令情報と称する）を保存する。例えば、ｅＭＭＣホストインターフェース３２０は、第１命令についての情報は、第１命令レジスタ３２５−１に保存し、第１命令の次に受信される第２命令についての情報は、第２命令レジスタ３２５−２に保存する方式で、最大Ｎ個の命令を受信して、各命令情報を各レジスタ３２５−１ないし３２５−Ｎに保存する。
【００６２】
図４（Ｂ）は、図４（Ａ）の命令レジスタに保存される命令情報の一実施形態を示す。図４（Ｂ）を参照すると、レジスタに保存される命令情報は、命令タイプ（ｃｏｍｍａｎｄ  ｔｙｐｅ）、アドレス（ａｄｄｒｅｓｓ）、及びデータサイズ（ｄａｔａ  ｓｉｚｅ）を含みうるが、これらに限定されるものではない。
【００６３】
命令タイプ、アドレス、及びデータサイズは、ホストから発給される命令に含まれてｅＭＭＣ装置３００に伝送できる。
【００６４】
命令タイプは、命令の種類を表わすフィールドであって、リード準備命令及びライト準備命令を含みうる。アドレスは、命令を行うアドレスを表わす。データサイズは、命令を行うデータのサイズである。例えば、命令がリード準備命令であり、アドレスは１００、データサイズが１０２４であれば、１００番アドレスで１０２４バイト（ｂｙｔｅｓ）ほどのデータをリードせよとの意味である。
【００６５】
しかし、データサイズの単位が、バイトと限定されるものではなく、他の単位（例えば、特定のサイズと定義されたブロック数、ページ数など）であり得る。
【００６６】
図５は、図３に示したデバイス命令レジスタ３２５の他の実施形態を示す。      図５に示した命令レジスタ３２５Ｂは、データサイズＤＳ１ないしＤＳＮを保存するためのデータサイズレジスタ３２６−１ないし３２６−Ｎと開始アドレスＳＡ１ないしＳＡＮを保存するためのアドレスレジスタ３２７−１ないし３２７−Ｎとを含む。データサイズＤＳ１ないしＤＳＮ及び開始アドレスＳＡ１ないしＳＡＮは、命令に含まれた情報であり得る。
【００６７】
本発明の一実施形態で、命令は、リードまたはライトするデータのサイズを指定するための命令（以下、サイズ指定命令と称する）とリードまたはライトするデータの位置を表わす開始アドレスを指定するための命令（以下、アドレス指定命令と称する）とを含みうる。
【００６８】
サイズ指定命令は、命令タイプ、及びデータサイズを含みうる。命令タイプは、命令の種類を表わすフィールド（ｆｉｅｌｄ、あるいはアーギュメント（ａｒｇｕｍｅｎｔ））である。一実施形態で、データサイズは、ブロック数（ｂｌｏｃｋ  ｃｏｕｎｔ）でありうるが、これに限定されるものではない。
【００６９】
ブロックとは、既定のサイズを有するデータの単位であって、例えば、フラッシュメモリのページに該当するが、これに限定されるものではない。
【００７０】
サイズ指定命令のデータサイズは、データサイズレジスタ３２６−１ないし３２６−Ｎのうち対応する１つに保存する。
【００７１】
アドレス指定命令は、命令タイプ及び開始アドレス（ｓｔａｒｔ  ａｄｄｒｅｓｓ）を含みうる。アドレス指定命令の開始アドレスは、アドレスレジスタ３２７−１ないし３２７−Ｎのうち対応する１つに保存する。
【００７２】
ホスト２００のホスト命令レジスタ２３５は、図４（Ａ）または図５に示したデバイス命令レジスタと類似している。
【００７３】
ホストコントローラ２３０は、ｅＭＭＣ装置３００に伝送する命令を管理するために、ホスト命令レジスタ２３５を備えて、命令情報を保存する。
【００７４】
ＣＰＵ３３０は、各インターフェース３２０、３６５の動作を制御し、ｅＭＭＣ装置３００の動作全般を制御する。
【００７５】
メモリ３４０は、インターフェース３２０、３６５の間で送受信するデータを一時的に保存する。メモリ３４０は、揮発性メモリとして具現可能である。
【００７６】
フラッシュメモリ３７０は、データを保存し、フラッシュメモリ３７０がＮＡＮＤフラッシュメモリとして具現される時、フラッシュインターフェース３６５は、ＮＡＮＤフラッシュインターフェースとして具現可能である。フラッシュメモリ３７０は、装置特性（ｄｅｖｉｃｅ  ｐｒｏｐｅｒｔｉｅｓ）と選択されたモードを保存するＥＸＴ＿ＣＳＤレジスタ３７１とを含む。
【００７７】
フラッシュメモリ３７０は、多数のメモリ素子ＣＥ０ないしＣＥ３を含む。図３では、４つのメモリ素子ＣＥ０ないしＣＥ３を例示的に示すが、これに限定されるものではない。フラッシュメモリ３７０は、２つ以上のチャネルを支援する構造を有しうる。
【００７８】
ホスト２００は、ＳＥＮＤ＿ＥＸＴ＿ＣＳＤ命令（＝ＣＭＤ８）をイシュイングして（ｂｙ  ｉｓｓｕｉｎｇ）ＥＸＴ＿ＣＳＤレジスタ３７１を読み取る。ｅＭＭＣ装置３００は、５１２バイト長（ｂｙｔｅｓ  ｌｏｎｇ）のＥＸＴ＿ＣＳＤレジスタ３７１をデータブロックとして伝送する。
【００７９】
マルチキューデプスは、ＥＸＴ＿ＣＳＤレジスタ３７１の留保フィールド（ｒｅｓｅｒｖｅｄ  ｆｉｅｌｄ）に設定しうる。しかし、他の実施形態では、マルチキューデプスは、他のホスト制御レジスタに設定することもある。ホスト制御レジスタとは、ホストが制御または設定を行うことができるレジスタを意味する。
【００８０】
図６は、本発明の一実施形態による命令バス状態マシンを示し、図７は、本発明の一実施形態によるデータバス状態マシンを示す。
【００８１】
図６を参照すると、命令バス状態は、アイドル（ｉｄｌｅ）状態（ステップＳ１０）、命令伝送状態（ステップＳ１１）、及び応答受信状態（ステップＳ１３）を含みうる。しかし、命令バス状態は、図６に示した３つの状態に限定されるものではない。ホストコントローラ２３０は、ｅＭＭＣ装置３００に伝送する命令がある場合、命令バス状態をアイドル状態（ステップＳ１０）から命令伝送状態（ステップＳ１１）に遷移して、命令をｅＭＭＣ装置３００に伝送する。ｅＭＭＣ装置３００に命令を伝送した後、その命令が応答を必要とする命令である場合、命令バス状態は、応答受信状態（ステップＳ１３）に遷移し、ｅＭＭＣ装置３００から命令に対する応答を受信した場合、アイドル状態（ステップＳ１０）に遷移する。ｅＭＭＣ装置３００に命令を伝送した後、その命令が応答を要しない命令である場合、命令伝送状態（ステップＳ１１）からアイドル状態（ステップＳ１０）に遷移する。
【００８２】
応答受信状態（ステップＳ１３）からアイドル状態（ステップＳ１０）に遷移する時、または命令伝送状態（ステップＳ１１）からアイドル状態（ステップＳ１０）に遷移する時、特定のクロックサイクルを待機する待機状態（図示せず）を経ることができる。
【００８３】
図７を参照すると、データバス状態は、アイドル状態（ステップＳ２０）、データ伝送状態（ステップＳ２１）、及び応答受信／待機状態（ステップＳ２２）を含みうる。しかし、データバス状態は、図７に示した３つの状態に限定されるものではない。ホストコントローラ２３０が、ｅＭＭＣにデータ伝送を伴う命令（ｄａｔａ  ｔｒａｎｓｆｅｒ  ｃｏｍｍａｎｄ、以下、データトランスファー命令と称する）を伝送した場合、データバス状態は、アイドル状態（ステップＳ２０）からデータ伝送状態（ステップＳ２１）に遷移して、データトランスファー命令に相応するデータを伝送する。データは、ブロック単位で伝送できる。例えば、１つのブロックのデータ伝送が完了すれば、応答受信／待機状態（ステップＳ２２）に遷移して、当該ブロックに対するＣＲＣ状態応答を受信するまで待機する。
【００８４】
ＣＲＣ状態応答を受信すれば、再びデータ伝送状態（ステップＳ２１）に遷移して、次のブロックのデータを伝送し、再び応答受信／待機状態（ステップＳ２２）になる。あらゆるブロックのデータ伝送が完了すれば、アイドル状態（ステップＳ２０）に遷移する。
【００８５】
本発明の実施形態によれば、状態制御ユニット２３３は、命令バス状態マシンとデータバス状態マシンとを独立して動作させる。もちろん、命令バス状態とデータバス状態とが互いに関連する。しかし、命令バス状態とデータバス状態は、１つの状態マシンで動作するものではなく、別個に動作する。
【００８６】
例えば、データバス状態が、アイドル状態ではない時、すなわち、データバス状態が、データトランスファー状態または応答受信／待機状態でも、ホスト２００は、ｅＭＭＣ装置３００に命令（例えば、データ伝送を伴わない命令や、取り消し命令など）を伝送しうる。
【００８７】
命令は、大きく２つのタイプに分けることができる。１つは、データトランスファーを伴う命令（データトランスファー命令）、他の１つは、データトランスファーを伴わない命令（非データトランスファー命令）である。
【００８８】
図８は、本発明の一実施形態による不揮発性メモリカードシステムの動作方法を示すフローチャートである。図８に示したシステムの動作方法は、図１に示したシステム１００によって具現されうる。
【００８９】
図８を参照すると、ホスト２００は、リード準備命令ＰＲをデバイスコントローラ３１０に伝送する（ステップＳ１１０）。デバイスコントローラ３１０は、リード準備命令ＰＲに応答して、応答Ｒ１をホストに送り（ステップＳ１１５）、リード準備命令情報を命令レジスタに保存する。
【００９０】
リード準備命令ＰＲは、ｅＭＭＣ装置３００をしてデータリード準備を行うようにする命令であって、データトランスファーを伴わない命令の一種である。
リード準備命令ＰＲは、データ伝送中またはｅＭＭＣ装置３００のビジー状態でも送られ、また複数（例えば、マルチキューデプス）個のリード準備命令ＰＲを伝送できる。例えば、ステップＳ１１０及びステップＳ１１５段階が、複数回反復されうる。ホストは、リード準備命令ＰＲの伝送数をカウントするための命令カウンター（図示せず）をさらに備えることができる。
【００９１】
リード準備命令ＰＲは、リードするデータのサイズ及び開始アドレスを指定するためのデータサイズ及び開始アドレス情報を含みうる。データサイズ及び開始アドレス情報は、図４（Ａ）または図５に示したように、命令レジスタに保存する。
【００９２】
デバイスコントローラ３１０は、命令レジスタに保存された開始アドレス及びデータサイズによってフラッシュメモリにリード命令を送って（ステップＳ１２０）、フラッシュメモリから当該データをリードする（ステップＳ１２５）。リードしたデータは、データバッファに保存される（ステップＳ１３０）。
データバッファは、リード準備命令によるデータを保存するためのバッファであって、図３のメモリ３４０が使われる。
【００９３】
以前のデータの伝送が完了すれば（ステップＳ１３５で、ＹＥＳである場合）、ホスト２００は、データリードアウト命令ＲＯをデバイスコントローラ３１０に伝送する（ステップＳ１４０）。ホスト２００からのデータリードアウト命令ＲＯに応答して、デバイスコントローラ３１０は、応答Ｒ１をホスト２００に伝送する（ステップＳ１４５）。同時に、データバッファのデータをホスト２００に伝送する（ステップＳ１５０）。
【００９４】
データリードアウト命令ＲＯは、リード準備命令ＰＲに基づいてデータバッファに保存されているデータをホスト２００に読み出すための命令であって、データトランスファーを伴う命令である。データリードアウト命令ＲＯは、以前のデータの伝送が完了して、データバス状態がアイドル状態である時、ｅＭＭＣ装置３００に伝送できる。
【００９５】
図９は、本発明の一実施形態によるデータリード動作方法と通常のｅＭＭＣのデータリード動作方法とを比較するための概略的なタイミング図である。
図９の（ａ）は、通常のリード動作方法を示し、図９の（ｂ）は、本発明の一実施形態によるリード動作方法を示す。
【００９６】
図９の（ａ）に示した通常のリード動作方法によれば、ホストが命令バスを通じてデータリード命令ＲＤ（９１１）をｅＭＭＣに送れば、ｅＭＭＣは、データリード命令ＲＤ（９１１）に応答して、フラッシュメモリからデータをリードして（９１２）、リードデータをデータバスＤＡＴを通じてホストに伝送する（９１３）。ホストは、データバスＤＡＴを通じてリードデータを受信して、ホストメモリに保存する（９１４）。
【００９７】
ホストは、データリード命令ＲＤ（９１１）に相応したリードデータ（９１３）を受信した後に、次のデータリード命令ＲＤ（９１５）をｅＭＭＣに送る。
したがって、ホストは、データリード命令ＲＤ（９１１）を伝送した後、リードデータ（９１３）を受信するまで待機するしかない。
【００９８】
一方、図９の（ｂ）を参照すると、本発明の実施形態によれば、ホスト２００は、最初のリード準備命令ＲＤ（９２１）をｅＭＭＣ装置３００に送る。ｅＭＭＣ装置３００は、リード準備命令ＲＤ（９２１）に応答して、フラッシュメモリからデータを読み出して、データバッファに保存する（９２２）。
ホスト２００は、データバッファに保存されたデータを読み取るためにデータリードアウト命令ＲＯ（９２３）をｅＭＭＣ装置３００に送る。ｅＭＭＣ装置３００は、データリードアウト命令ＲＯ（９２３）に応答して、データバッファに保存されたデータをデータバスＤＡＴを通じてホストに伝送する（９２４）。ホスト２００は、データバスＤＡＴを通じてリードデータを受信して、ホストメモリに保存する（９２５）。一方、ホスト２００は、データ伝送（９２４）が完了していない状態で、すなわち、データ伝送中に次のリード準備命令ＰＲ（９２６）をｅＭＭＣ装置３００に伝送することによって、次のリードデータをあらかじめ準備させる。
【００９９】
ｅＭＭＣ装置３００は、リード準備命令ＰＲ（９２６）に応答して、フラッシュメモリからデータを読み出して、データバッファに保存する（９２７）。
このような方式で、ホスト２００は、データ伝送中にも、またはｅＭＭＣ装置３００がビジー（ｂｕｓｙ）状態である時も、リード準備命令ＰＲをｅＭＭＣ装置３００に伝送して、次のリードデータをあらかじめ準備させることによって、データリード性能を高めうる。すなわち、リード準備命令ＰＲをあらかじめ受けて、次のリード動作に対する準備（例えば、フラッシュメモリからデータバッファにあらかじめデータを読み取る準備）を行うために、リード性能を向上させうる。
【０１００】
図９（ｂ）の実施形態では、リードアウト命令ＲＯとリード準備命令ＰＲは、一対一で相応するが、本発明の実施形態が、これに限定されるものではない。他の実施形態では、複数（２以上）のリード準備命令ＰＲで準備されたリードデータを一回のリードアウト命令ＲＯでホスト２００に読み取ることもできる。
【０１０１】
図１０は、本発明の他の実施形態による不揮発性メモリカードシステムの動作方法を示す概略的なタイミング図である。
図１０を参照すると、ホスト２００は、第１リード準備命令ＰＲ（９５１）をｅＭＭＣ装置３００に送る。ｅＭＭＣ装置３００は、リード準備命令ＰＲ（９５１）に応答して、フラッシュメモリからデータを読み出して、データバッファに保存する（９５２）。
ホスト２００は、データバッファに保存されたデータを読み取るためにデータリードアウト命令ＲＯ（９５３）をｅＭＭＣ装置３００に送る。ｅＭＭＣ装置３００は、データリードアウト命令ＲＯ（９５３）に応答して、データバッファに保存されたデータをデータバスＤＡＴを通じてホストに伝送する（９５４）。ホスト２００は、データバスＤＡＴを通じてリードデータを受信して、ホストメモリに保存する（９５６）。
【０１０２】
データ伝送中（９５４）、ホスト２００は、第２リード準備命令ＰＲ（９５７）と第３リード準備命令ＰＲ（９５９）とを連続してｅＭＭＣ装置３００に送る。ｅＭＭＣ装置３００は、第２リード準備命令ＰＲ（９５７）に応答して、フラッシュメモリからデータを読み出して、データバッファに保存し（９５８）、また、第３リード準備命令ＰＲ（９５９）に応答して、フラッシュメモリからデータを読み出して、データバッファに保存する（９６１）。ホスト２００は、データバッファに保存されたデータを読み取る前に第３リード準備命令ＰＲ（９５９）を取り消すことができる。
【０１０３】
例えば、ホスト２００は、第３リード準備命令に対する取り消し命令（９６０）をｅＭＭＣ装置３００に伝送しうる。取り消し命令（９６０）は、その前に伝送された準備命令のうちの一部あるいは全部を特定して取り消すことができる。ｅＭＭＣ装置３００は、第３リード準備命令に対する取り消し命令（９６０）に応答して、第３リード準備命令ＰＲ（９５９）を無効化する。例えば、第３リード準備命令ＰＲ（９５９）によるデータリード動作を行う前であれば、データリード動作を行わず、命令レジスタで第３リード準備命令を削除できる。第３リード準備命令ＰＲ（９５９）によるデータリード動作が行われて、リードされたデータがデータバッファに保存されているならば、データバッファのデータを削除するか、無効化することができる。
【０１０４】
ホスト２００は、データバッファに保存されたデータを読み取るためにデータリードアウト命令ＲＯ（９６２）をｅＭＭＣ装置３００に送る。ｅＭＭＣ装置３００は、データリードアウト命令ＲＯ（９６２）に応答して、データバッファに保存されたデータ（９５８）をデータバスＤＡＴを通じてホストに伝送する（９６３）。ホスト２００は、データバスＤＡＴを通じてリードデータを受信して、ホストメモリに保存する（９６４）。
【０１０５】
図１１は、本発明の他の実施形態によるデータリード動作方法と通常のｅＭＭＣのデータリード動作方法とを比較するための概略的なタイミング図である。
図１１の（ａ）は、通常のリード動作方法を示し、図１１の（ｂ）は、本発明の他の実施形態によるリード動作方法を示す。
【０１０６】
図１１の（ａ）に示した通常のリード動作方法によれば、ホストが命令バスを通じてデータリード命令ＲＤ（４１１）をｅＭＭＣに送れば、ｅＭＭＣは、データリード命令ＲＤ（４１１）に対する応答Ｒ１（４１２）を命令バスを通じてホストに伝送する。ｅＭＭＣは、データリード命令ＲＤ（４１１）に応答して、フラッシュメモリＮＡＮＤにデータを読み取る準備を行い（４３１）、フラッシュメモリセルからデータをリードし（４３２、４３３）、該リードされたデータは、データバスを通じてホストに伝送される（４２１）。
【０１０７】
ホストは、データリード命令ＲＤ（４１１）に対するデータ（４２１）を受信した後に、次のデータリード命令ＲＤ（４１４）をｅＭＭＣに送ることができる。したがって、ホストは、データリード命令ＲＤ（４１１）に対する応答Ｒ１（４１２）を受けた後、データ（４２１）を受信するまで待機するしかない（４１３）。
【０１０８】
一方、図１１の（ｂ）を参照すると、本発明の実施形態によれば、ホスト２００は、第１リード準備命令ＰＲ（４４１）をｅＭＭＣ装置３００に送る。ｅＭＭＣ装置３００は、第１リード準備命令ＰＲ（４４１）に対する応答Ｒ１（４４２）をホスト２００に伝送する。同時に、第１リード準備命令ＰＲ（４４１）に応答して、フラッシュメモリＣＥ０からデータを読み出して（４６１、４６２）、データバッファに保存する（４６３）。
ホスト２００は、ｅＭＭＣ装置３００から応答Ｒ１（４４２）を受信すれば、次のリード準備命令ＰＲ（４４３）をｅＭＭＣ装置３００に送る。すなわち、ホスト２００は、第１リード準備命令ＰＲ（４４１）に対するリードデータを受信していない状態で、ｅＭＭＣ装置３００に次のデータを読み取るための命令である第２リード準備命令ＰＲ（４４３）をｅＭＭＣ装置３００に送ることができる。
【０１０９】
ｅＭＭＣは、第２リード準備命令ＰＲ（４４３）に対する応答Ｒ１（４４４）をホスト２００に伝送し、また、第２リード準備命令ＰＲ（４４３）に応答して、フラッシュメモリＣＥ１からデータを読み出して（４７１、４７２）、データバッファに保存する（４７３）。
【０１１０】
このような方式で、ホスト２００は、最大マルチキューデプス（Ｍｕｌｔｉ−Ｑｕｅｕｅ  ｄｅｐｔｈ、Ｎ）のリード準備命令ＰＲを送ることができる。例えば、マルチキューデプス（Ｎ）が４である場合、ホスト２００は、最大４つまでリード準備命令ＰＲを送ることができる。
【０１１１】
マルチキューデプス（Ｎ）は、ｅＭＭＣ装置３００のＥｘｔｅｎｄｅｄ  ＣＳＤレジスタ３７１に保存する。ホスト２００は、特定の命令（例えば、ＳＥＮＤ＿ＥＸＴ＿ＣＳＤ命令）を用いてＥｘｔｅｎｄｅｄ  ＣＳＤレジスタ３７１を読出し、マルチキューデプス（Ｎ）が分かる。
【０１１２】
ｅＭＭＣ装置３００は、フラッシュメモリ３７０から並列動作でデータをリードできる。例えば、ｅＭＭＣ装置３００は、マルチプレーンリード（Ｍｕｌｔｉ  ｐｌａｎｅ  Ｒｅａｄ）方式でフラッシュメモリ３７０の第１チップＣＥ０からデータを読み取る動作（４６１ないし４６３）とフラッシュメモリ３７０の第２チップＣＥ１からデータを読み取る動作（４７１ないし４７３）とを並列的に行う。
【０１１３】
ホスト２００は、データバッファに保存されたデータを読み出すために、データリードアウト命令ＲＯ（４４５）をｅＭＭＣ装置３００に伝送する。ｅＭＭＣは、データリードアウト命令ＲＯ（４４５）に応答して、応答Ｒ１（４４６）を送り、また、データバッファに保存されたデータをデータバスを通じてホスト２００に伝送する。この際、伝送されるデータ（４５１）は、第１リード準備命令ＰＲ（４４１）に応答して、フラッシュメモリＣＥ０からリードされたデータ（４６３）であり得る。データリードアウト命令ＲＯ（４４５）は、本発明の実施形態によるデータリード動作のためにホスト２００とｅＭＭＣ装置３００との間に新たに定義された命令であり得る。
【０１１４】
ホスト２００は、データバッファに保存された次のデータを読み出すために、データリードアウト命令ＲＯ（４４７）をｅＭＭＣ装置３００に伝送する。ｅＭＭＣ装置３００は、データリードアウト命令ＲＯ（４４７）に応答して、応答Ｒ１（４４８）を送り、また、データバッファに保存されたデータをデータバスを通じてホスト２００に伝送する。この際、伝送されるデータ（４５２）は、第２リード準備命令ＰＲ（４４３）に応答して、フラッシュメモリＣＥ１からリードされたデータ（４７３）であり得る。
【０１１５】
前述したように、本発明の実施形態によれば、通常の技術に比べて、命令と命令との間のアイドルタイム（ｉｄｌｅ  ｔｉｍｅ）が縮小されることによって、リード性能が向上する。
【０１１６】
このように、リード準備命令ＰＲをあらかじめ受けて、次のリード動作に対する準備（例えば、フラッシュメモリからデータバッファにあらかじめデータを読み取る準備）を同時に、あるいは並列的にできるために、リード性能を向上させうる。
【０１１７】
図１２は、本発明の一実施形態によるライト動作方法と、通常のｅＭＭＣのライト動作方法とを比較するための概略的なタイミング図である。
図１２の（ａ）は、通常のライト動作方法を示し、図１２の（ｂ）は、本発明の一実施形態によるライト動作方法を示す。
【０１１８】
図１２の（ａ）に示した通常のライト動作方法によれば、ホストが命令バスを通じてライト命令ＷＲ（５１１）をｅＭＭＣに送れば、ｅＭＭＣは、ライト命令ＷＲ（５１１）に対する応答Ｒ１（５１２）を命令バスを通じてホストに伝送する。
ホストは、応答Ｒ１（５１２）を受信すれば、データライト命令ＷＲ（５１１）に関連したデータＤＡＴをデータバスを通じてｅＭＭＣに伝送し（５２１）、ｅＭＭＣは、ホストから受信したデータＤＡＴをフラッシュメモリＮＡＮＤにプログラムする（５２５）。ｅＭＭＣがホストから受信したデータＤＡＴをフラッシュメモリにプログラム完了するまでは、ｅＭＭＣは、ビジー状態になる。ｅＭＭＣは、データバスのうちの１つ（例えば、ＤＡＴ［０］）を通じてビジー状態であることをホストに知らせる。
ホストは、フラッシュメモリにデータライティングを完了するまで待機した（５１３）後に、次のデータライト命令ＷＲ（５１４）をｅＭＭＣに送ることができる。
【０１１９】
一方、図１２の（ｂ）を参照すると、本発明の実施形態によれば、ホスト２００は、第１ライト命令ＷＲ（５３１）をｅＭＭＣ装置３００に送る。ｅＭＭＣ装置３００は、第１ライト命令ＷＲ（５３１）に対する応答Ｒ１（５３２）をホスト２００に伝送する。
ホスト２００は、応答Ｒ１（５３２）を受信すれば、第１ライト命令ＷＲ（５３１）に関連したデータＤＡＴをデータバスを通じてｅＭＭＣに伝送しながら（５４１）、第２ライト命令ＷＲ（５３３）をｅＭＭＣ装置３００に送ることができる。ｅＭＭＣ装置３００は、第１ライト命令ＷＲ（５３１）に関連したデータＤＡＴ（５４１）をフラッシュメモリにプログラム（５４５）完了する前に、第２ライト命令ＷＲ（５３３）をホスト２００から受信し、これに対する応答Ｒ１（６３４）をホスト２００に送ることができる。
【０１２０】
このような方式で、ホスト２００は、最大マルチキューデプス（Ｎ）（ｍｕｌｔｉ  ｑｕｅｕｅ  ｄｅｐｔｈ  （Ｎ））のライト命令ＷＲを送ることができる。例えば、マルチキューデプス（Ｎ）が４である場合、ホスト２００は、最大４つまでライト命令を送ることができる。
ｅＭＭＣ装置３００は、順次にフラッシュメモリ３７０にデータをライトすることができる（５４５、５４６）。他の実施形態では、ｅＭＭＣ装置３００は、並列動作でフラッシュメモリ３７０にデータをライトすることができる。例えば、ｅＭＭＣ装置３００は、マルチプレーンプログラム（Ｍｕｌｔｉ  ｐｌａｎｅ  ｐｒｏｇｒａｍ）方式でフラッシュメモリ３７０の第１チップＣＥ０にデータをプログラムする動作とフラッシュメモリ３７０の第２チップＣＥ１にデータをプログラムする動作とを並列的に行うことができる。
【０１２１】
図１３は、本発明のさらに他の実施形態によるリード動作方法を示すフローチャートである。
図１３を参照すると、ホスト２００は、リードするデータのサイズを指定するためのサイズ指定命令ＣＭＤ＿ｄｓをデバイスコントローラ３１０に伝送する（ステップＳ５１０）。デバイスコントローラ３１０は、サイズ指定命令ＣＭＤ＿ｄｓに応答して、応答Ｒ１をホスト２００に送り（ステップＳ５１５）、サイズ指定命令ＣＭＤ＿ｄｓのデータサイズを命令レジスタ３２５に保存する。
ホスト２００は、ｅＭＭＣから応答Ｒ１を受けた後、アドレス指定命令ＣＭＤ＿ｓａをデバイスコントローラ３１０に伝送する（ステップＳ５２０）。デバイスコントローラ３１０は、アドレス指定命令ＣＭＤ＿ｓａに応答して、応答Ｒ１をホスト２００に送り（ステップＳ５２５）、開始アドレスを命令レジスタ３２５に保存する。
【０１２２】
このような過程（ステップＳ５１０ないしステップＳ５２５）は、最大マルチキューデプス（Ｎ）ほど反復され、またデータバスを通じて以前のデータが伝送される途中でもなされうる。
【０１２３】
サイズ指定命令ＣＭＤ＿ｄｓとアドレス指定命令ＣＭＤ＿ｓａは、前述したリード準備命令ＰＲに該当する。すなわち、リード準備命令ＰＲが、１つの命令ではない２つ以上の命令を含む命令セット（ｃｏｍｍａｎｄ  ｓｅｔ）として具現可能である。
【０１２４】
デバイスコントローラ３１０は、命令レジスタ３２５に保存された開始アドレス及びデータサイズによってフラッシュメモリにリード命令を送って（ステップＳ５３０）、フラッシュメモリから当該データをリードする（ステップＳ５４０）。該リードしたデータは、データバッファに保存される（ステップＳ５４５）。
【０１２５】
以前のデータの伝送が完了すれば（ステップＳ５５０で、ＹＥＳである場合）、ホスト２００は、データリードアウト命令ＣＭＤ＿ｒｏをデバイスコントローラ３１０に伝送する（ステップＳ５５５）。ホスト２００からデータリードアウト命令ＣＭＤ＿ｒｏに応答して、デバイスコントローラ３１０は、応答Ｒ１をホスト２００に伝送する（ステップＳ５６０）。同時に、データバッファのデータをホストに伝送する（ステップＳ５６５）。データリードアウト命令ＣＭＤ＿ｒｏは、前述したデータリードアウト命令ＲＯと同じ命令であり得る。
【０１２６】
図１４は、本発明のさらに他の実施形態によるリード動作方法と通常のｅＭＭＣのリード動作方法とを比較するための概略的なタイミング図である。
図１４の（ａ）は、通常のリード動作方法を示し、図１４の（ｂ）は、本発明のさらに他の実施形態によるマルチキューリード動作方法を示す。
【０１２７】
図１４の（ａ）に示した通常のリード動作方法によれば、現状態（ｃｕｒｒｅｎｔ  ｓｔａｔｅ）がデータ伝送状態である時、すなわち、データバスを通じてデータの伝送中（６１０）には、ホストは、特定の命令−例えば、以前の命令を中断させるためのストップ（ｓｔｏｐ）命令、アボート（ａｂｏｒｔ）命令など−を除いては、フラッシュメモリにデータをリードするか、ライトするための命令を送ることができない。
【０１２８】
ホストは、データ伝送（６１０）が完了した後に、通常のデータリード命令（６２０）をｅＭＭＣに送ることができる。ｅＭＭＣは、通常のデータリード命令（６２１、６２３）に応答して、フラッシュメモリからデータをリードｔＲ（６２５）し、該リードしたデータをホストに伝送する（６２７）。ｅＭＭＣがフラッシュメモリからデータをリードし、データをホストに伝送する間（６２５、６２７）には、ホストは、次のデータリード命令を送ることができない。
したがって、ホストは、データリード命令を送った後、リードデータを受信するまで待機するしかない。
【０１２９】
一方、図１４の（ｂ）を参照すると、本発明の実施形態によれば、データ伝送中（７１０）にも、ホスト２００は、リード準備命令（７２０）をｅＭＭＣ装置３００に送る。
さらに具体的には、まず、ホスト２００は、サイズ指定命令ＣＭＤ５７（７２１）をｅＭＭＣ装置３００に伝送し、ｅＭＭＣ装置３００は、サイズ指定命令ＣＭＤ５７（７２１）に対する応答Ｒ１（７２２）をホスト２００に伝送する。次いで、ホスト２００は、アドレス指定命令ＣＭＤ５８（７２３）をｅＭＭＣ装置３００に伝送し、ｅＭＭＣ装置３００は、アドレス指定命令ＣＭＤ５８（７２３）に対する応答Ｒ１（７２４）をホスト２００に伝送する。
【０１３０】
ここで、サイズ指定命令ＣＭＤ５７（７２１）は、図１３に示したサイズ指定命令ＣＭＤ＿ｄｓに該当し、アドレス指定命令ＣＭＤ５８（７２３）は、図１３に示したアドレス指定命令ＣＭＤ＿ｓａに該当する。また、リード準備命令（７２０）は、サイズ指定命令ＣＭＤ５７とアドレス指定命令ＣＭＤ５８（７２３）とを含む命令セットとして具現される。
【０１３１】
ホスト２００は、ＣＭＤ５７及びＣＭＤ５８で構成されたリード準備命令をＮ（１以上の整数）回ｅＭＭＣ装置３００に送ることができる。
【０１３２】
ｅＭＭＣ装置３００は、リード準備命令（７２０）に応答して、フラッシュメモリ３７０からデータを読み出して、データバッファに保存する。一方、伝送中であるデータ（７１０）は、データバッファと別途のノーマルバッファとに保存することができる。
【０１３３】
ホスト２００は、以前のデータ（７１０）の伝送が完了すれば、データバッファに保存されたデータ（７３１ないし７３３）を読み出すために、データリードアウト命令ＣＭＤ５９（７２５）をｅＭＭＣ装置３００に伝送する。ｅＭＭＣ装置３００は、データリードアウト命令ＣＭＤ５９（７２５）に応答して、応答Ｒ１（７２６）を送り、また、データバッファに保存されたデータ（７３１ないし７３３）をデータバスを通じてホスト２００に伝送する。
【０１３４】
図１５は、本発明の他の実施形態によるライト動作方法を示すフローチャートである。
図１５を参照すると、ホスト２００は、ライトするデータのサイズを指定するためのサイズ指定命令ＣＭＤ＿ｄｓをデバイスコントローラ３１０に伝送する（ステップＳ６１０）。デバイスコントローラ３１０は、サイズ指定命令ＣＭＤ＿ｄｓに応答して、応答Ｒ１をホスト２００に送り（ステップＳ６１５）、サイズ指定命令ＣＭＤ＿ｄｓのデータサイズを命令レジスタ３２５に保存する。
【０１３５】
ホスト２００は、ｅＭＭＣ装置３００から応答Ｒ１を受けた後、アドレス指定命令ＣＭＤ＿ｓａをデバイスコントローラ３１０に伝送する（ステップＳ６２０）。デバイスコントローラ３１０は、アドレス指定命令ＣＭＤ＿ｓａを応答して、応答Ｒ１をホスト２００に送り（ステップＳ６２５）、開始アドレスを命令レジスタ３２５に保存する。
【０１３６】
このような過程（ステップＳ６１０ないしステップＳ６２５）は、最大マルチキューデプス（Ｎ）ほど反復され、またデータバスを通じて以前のデータが伝送される途中でもなされうる（図示せず）。また、デバイスコントローラ３１０が以前のデータのプログラムのために、フラッシュメモリにプログラム命令を印加し（ステップＳ６３０）、フラッシュメモリにデータをプログラムする途中（ステップＳ６４０）でもなされうる。この際、伝送中であるデータまたはフラッシュメモリにプログラムされるデータは、ノーマルバッファに保存することができる。
【０１３７】
以前のデータの伝送が完了すれば（ステップＳ６５０で、ＹＥＳである場合）、ホスト２００は、データライトイン命令ＣＭＤ＿ｗｒをデバイスコントローラ３１０に伝送する（ステップＳ６５５）。ホスト２００からデータライトイン命令ＣＭＤ＿ｗｒに応答して、デバイスコントローラ３１０は、応答Ｒ１をホスト２００に伝送する（ステップＳ６６０）。そうすると、ホスト２００は、ライトデータをｅＭＭＣ装置３００に伝送する（ステップＳ６６５）。
【０１３８】
ｅＭＭＣ装置３００は、ライトデータをデータバッファに保存する（ステップＳ６７０）。デバイスコントローラ３１０は、データバッファに保存されたデータのプログラムのために、フラッシュメモリにプログラム命令を印加して（ステップＳ６７５）、フラッシュメモリにデータをプログラムする（ステップＳ６８０）。
【０１３９】
図１５の実施形態で、サイズ指定命令ＣＭＤ＿ｄｓとアドレス指定命令ＣＭＤ＿ｓａは、データ伝送を伴わない非データトランスファー命令の一種であるライト準備命令を構成することができる。データライトイン命令ＣＭＤ＿ｗｒは、ライトデータの伝送を伴うデータトランスファー命令であり得る。
【０１４０】
図１６は、本発明の他の実施形態によるライト動作方法と、通常のｅＭＭＣのライト動作方法とを比較するための概略的なタイミング図である。
図１６の（ａ）は、通常のライト動作方法を示し、図１６の（ｂ）は、本発明の他の実施形態によるライト動作方法を示す。
【０１４１】
図１６の（ａ）に示した通常のライト動作方法によれば、以前のデータ（８１１）の伝送が完了した後、ホストは、ライト命令ＣＭＤ（８２１）と、ライト命令ＣＭＤ（８２１）によるデータ（８１２）とをｅＭＭＣに送る。ｅＭＭＣは、受信したデータＤＡＴ−ａ（８１２）をフラッシュメモリにプログラムする（ｔＰＲＧ１）。フラッシュメモリにデータのプログラムが完了するとデータＤＡＴ−ａ伝送が完了する。
したがって、ホストは、フラッシュメモリにデータＤＡＴ−ａのプログラムが完了するまで待機した後、次のライト命令ＣＭＤ（８２２）と、これによるデータＤＡＴ−ｂ（８１３）とをｅＭＭＣに送る。
【０１４２】
一方、図１６の（ｂ）を参照すると、本発明の実施形態によれば、データ伝送中（８３１）でも、ホスト２００は、ライト準備命令ＣＳ（８４１ないし８４４）をｅＭＭＣ装置３００に送る。ここでは、４つのライト準備命令ＣＳ（８４１ないし８４４）が伝送されると仮定するが、ライト準備命令ＣＳの伝送回数は変わりうる。
ライト準備命令ＣＳ（８４１ないし８４４）は、図１５に示したように、サイズ指定命令ＣＭＤ＿ｄｓとアドレス指定命令ＣＭＤ＿ｓａとで構成することができる。
【０１４３】
ｅＭＭＣ装置３００は、ライト準備命令ＣＳ（８４１ないし８４４）を順次に受信して、命令レジスタ３２５に保存する。ホスト２００は、以前のデータ（８３１）の伝送とプログラム（ｔＰＲＯＧ）とが完了すれば、データライトイン命令ＣＭＤ（８４５）と、データライトイン命令ＣＭＤ（８４５）に関するデータＤＡＴ−ａ、ＤＡＴ−ｂ、ＤＡＴ−ｃ、ＤＡＴ−ｄとをｅＭＭＣ装置３００に送る。
【０１４４】
ｅＭＭＣ装置３００は、データＤＡＴ−ａ、ＤＡＴ−ｂ、ＤＡＴ−ｃ、ＤＡＴ−ｄをデータバッファに保存し、キュー（ｑｕｅｕｅ）データバッファに保存されたデータＤＡＴ−ａ、ＤＡＴ−ｂ、ＤＡＴ−ｃ、ＤＡＴ−ｄをフラッシュメモリにプログラムする。
【０１４５】
前述した実施形態では、ｅＭＭＣを例として説明したが、本発明の実施形態が、これに限定されるものではなく、命令バスとデータバスとを別途に備える不揮発性メモリカード及びそれを制御するホストには、いずれも適用可能である。
【０１４６】
本発明を、図面に示した実施形態を参考にして説明したが、これは例示的なものに過ぎず、当業者ならば、より多様な変形及び均等な他実施形態が可能であるという点を理解できるであろう。したがって、本発明の真の技術的保護範囲は、特許請求の範囲の技術的思想によって決定されるべきである。
【産業上の利用可能性】
【０１４７】
本発明は、不揮発性メモリカードを制御するホスト、それを含むシステム及びその動作方法関連の技術分野に適用可能である。
【符号の説明】
【０１４８】
１００  ｅＭＭＣシステム
２００  ホスト
２１０  ＯＳ／ホストファームウエア
２１５  プロセッサ
２２０  ＲＡＭ
２３０  ホストコントローラ
３００  ｅＭＭＣ装置
３１０  デバイスコントローラ
３２０  ｅＭＭＣホストインターフェース
３２５  命令レジスタ
３３０  ＣＰＵ
３４０  メモリ
３６０  ＥＣＣ
３６５  フラッシュインターフェース
【図１】
2014059876.tif 000003
【図２】
2014059876.tif 000004
【図３】
2014059876.tif 000005
【図４】
2014059876.tif 000006
【図５】
2014059876.tif 000007
【図６】
2014059876.tif 000008
【図７】
2014059876.tif 000009
【図８】
2014059876.tif 000010
【図９】
2014059876.tif 000011
【図１０】
2014059876.tif 000012
【図１１】
2014059876.tif 000013
【図１２】
2014059876.tif 000014
【図１３】
2014059876.tif 000015
【図１４】
2014059876.tif 000016
【図１５】
2014059876.tif 000017
【図１６】
2014059876.tif 000018