(57)【要約】  フラッシュメモリコントローラは、第１のコマンドと第１の部分アドレスパラメータを受信し、第２のコマンドと第２の部分アドレスパラメータを受信し、第１の部分アドレスパラメータと第２の部分アドレスパラメータとを組み合わせて完全なアドレスパラメータを取得し、完全なアドレスパラメータおよび第２のコマンドのコマンドタイプに応じて、フラッシュメモリ上で対応する動作を実行するように構成された処理回路を含む。
2021508878.tif 000002
【特許請求の範囲】
【請求項１】
セキュアデジタル（ＳＤ）メモリカードの内部バスを介して該ＳＤメモリカード内のフラッシュメモリに結合するように構成され、該ＳＤメモリカードの少なくとも１つの第１の外部信号ポートとホストデバイスの少なくとも１つの第２の外部信号ポートとを介して、該ホストデバイスのＳＤメモリカード駆動回路に接続するように構成された、該ＳＤメモリカードで使用されるフラッシュメモリコントローラであって、
前記ホストデバイスによって前記ＳＤメモリカード駆動回路から送信される第１のコマンドおよび第１の部分アドレスパラメータを受信し、該第１のコマンドおよび該第１の部分アドレスパラメータが、前記少なくとも１つの第２の外部信号ポートと前記ＳＤメモリカードの前記少なくとも１つの第１の外部信号ポートのＳＤモードのＣＭＤピンとを介して順次伝送され、
前記ホストデバイスによって前記ＳＤメモリカード駆動回路から送信される第２のコマンドおよび第２の部分アドレスパラメータを受信し、該第２のコマンドおよび該第２の部分アドレスパラメータが、前記少なくとも１つの第２の外部信号ポートと前記ＳＤメモリカードの前記少なくとも１つの第１の外部信号ポートの前記ＳＤモードの前記ＣＭＤピンとを介して順次伝送され、
前記第１の部分アドレスパラメータおよび前記第２の部分アドレスパラメータに応じて組み合わせて完全なアドレスパラメータを取得し、
該完全なアドレスパラメータおよび前記第２のコマンドのコマンドタイプに応じて、前記内部バスを介して前記ＳＤメモリカードの前記フラッシュメモリ上で該コマンドタイプに対応する処理動作を実行する
ように使用される処理回路を備え、
前記第１のコマンドはコマンドＣＭＤ２２、ＣＭＤ３１、ＣＭＤ３９、ＣＭＤ４１、およびＣＭＤ５１のいずれかであり、前記第２のコマンドのコマンドタイプはＣＭＤ１７の単一データユニット読取り、ＣＭＤ２４の単一データユニット書込み、ＣＭＤ１８の複数データユニット読取り、ＣＭＤ２５の複数データユニット書込み、ＣＭＤ４４またはＣＭＤ４５のコマンドキュータスク割当て、およびＣＭＤ３２、ＣＭＤ３３、またはＣＭＤ３８のブロック消去を含み、前記第１の部分アドレスパラメータは前記完全なアドレスパラメータの最上位ビットの一部であり、前記第２の部分アドレスパラメータは完全なアドレスパラメータの最下位ビットの一部であり、前記少なくとも１つの第１の外部信号ポートの前記ＳＤモードの前記ＣＭＤピンで開始ビット「０」および伝送ビット「１」を受信すると、前記処理回路は前記ホストデバイスが特定のコマンドのコマンドコンテンツを前記ＳＤメモリカード駆動回路から前記ＳＤメモリカードへ送信しているかどうかを判断するように構成され、前記送信ビット「１」を受信した後、前記特定のコマンドの前記コマンドコンテンツの複数のビットによって構成されるコマンドタイプおよびアドレスパラメータの情報を受信するために使用される、
フラッシュメモリコントローラ。
【請求項２】
前記処理回路は、
前記ホストデバイスによって前記ＳＤメモリカード駆動回路から送信される前記第１のコマンドおよび第１の３２ビット長論理アドレスを受信し、前記第１のコマンドおよび該第１の３２ビット長論理アドレスが前記少なくとも１つの第２の外部信号ポートと前記ＳＤメモリカードの前記少なくとも１つの第１の外部信号ポートの前記ＳＤモードの前記ＣＭＤピンとを介して順次伝送され、
前記ホストデバイスによって前記ＳＤメモリカード駆動回路から送信される書込みコマンドＣＭＤ２４またはＣＭＤ２５および第２の３２ビット長論理アドレスを受信し、該書込みコマンドＣＭＤ２４またはＣＭＤ２５および該第２の３２ビット長論理アドレスが、前記少なくとも１つの第２の外部信号ポートと前記ＳＤメモリカードの前記少なくとも１つの第１の外部信号ポートの前記ＳＤモードの前記ＣＭＤピンとを介して順次伝送され、
前記ホストデバイスによって前記ＳＤメモリカード駆動回路から送信される６４ビット長論理アドレスに対応する少なくとも１つのデータユニットを受信し、該少なくとも１つのデータユニットが前記少なくとも１つの第２の外部信号ポートと前記ＳＤメモリカードの前記少なくとも１つの第１の外部信号ポートの前記ＳＤモードの複数のデータラインピンを介して伝送され、
前記第１の３２ビット長論理アドレスと前記第２の３２ビット長論理アドレスに応じて組み合わせて前記６４ビット長論理アドレスを取得し、
前記６４ビット長論理アドレスおよび前記書込みコマンドに応じて、前記内部バスを介して前記少なくとも１つのデータユニットを前記フラッシュメモリに書き込む
ために使用される、
請求項１に記載のフラッシュメモリコントローラ。
【請求項３】
前記少なくとも１つの第２の外部信号ポートと前記ＳＤメモリカードの前記少なくとも１つの第１の外部信号ポートの前記ＳＤモードの前記ＣＭＤピンとを介して、前記ホストデバイスによって前記ＳＤメモリカード駆動回路から送信される第１のコマンドおよび前記第１の３２ビット長論理アドレスを受信する前に、前記処理回路が前記ホストデバイスによって前記ＳＤメモリカード駆動回路から送信される表示コマンドおよび指定書込みデータ長パラメータを受信するように構成され、該表示コマンドおよび該指定書込みデータ長パラメータが、前記少なくとも１つの第２の外部信号ポートと前記ＳＤメモリカードの前記少なくとも１つの第１の外部信号ポートの前記ＳＤモードの前記ＣＭＤピンとを介して順次伝送される、
請求項２に記載のフラッシュメモリコントローラ。
【請求項４】
前記処理回路は、
前記ホストデバイスによって前記ＳＤメモリカード駆動回路から送信される前記第１のコマンドと第１の３２ビット長論理アドレスとを受信し、前記第１のコマンドと該第１の３２ビット長論理アドレスが前記少なくとも１つの第２の外部信号ポートと前記ＳＤメモリカードの前記少なくとも１つの第１の外部信号ポートの前記ＳＤモードの前記ＣＭＤピンとを介して順次伝送され、
前記ホストデバイスによって前記ＳＤメモリカード駆動回路から送信される読取りコマンドＣＭＤ１７またはＣＭＤ１８と第２の３２ビット長論理アドレスとを受信し、該読取りコマンドＣＭＤ１７またはＣＭＤ１８と該第２の３２ビット長論理アドレスが、前記少なくとも１つの第２の外部信号ポートと前記ＳＤメモリカードの前記少なくとも１つの第１の外部信号ポートの前記ＳＤモードの前記ＣＭＤピンとを介して順次伝送され、
前記第１の３２ビット長論理アドレスおよび前記第２の３２ビット長論理アドレスに応じて組み合わせて前記６４ビット長論理アドレスを取得する
ために使用され、
前記処理回路は、前記６４ビット長論理アドレスおよび前記読取りコマンドＣＭＤ１７またはＣＭＤ１８に応じて前記内部バスを介して前記フラッシュメモリから伝送される少なくとも１つのデータユニットを取得し、次いで前記少なくとも１つのデータユニットを前記ホストデバイスへ伝送するように構成されており、前記少なくとも１つのデータユニットが、前記少なくとも１つの第１の外部信号ポートの前記ＳＤモードの複数のデータラインピンと前記少なくとも１つの第２の外部信号ポートとを介して前記ＳＤメモリカード駆動回路へ順次伝送される、
請求項１に記載のフラッシュメモリコントローラ。
【請求項５】
前記少なくとも１つの第２の外部信号ポートと前記ＳＤメモリカードの前記少なくとも１つの第１の外部信号ポートの前記ＳＤモードの前記ＣＭＤピンとを介して、前記ホストデバイスによって前記ＳＤメモリカード駆動回路から順次送信される前記第１のコマンドおよび前記第１の３２ビット長論理アドレスを受信する前に、前記処理回路は、前記ホストデバイスによって前記ＳＤメモリカード駆動回路から送信される表示コマンドおよび指定読取りデータ長パラメータを受信するように構成され、該表示コマンドおよび該指定読取りデータ長パラメータが、前記少なくとも１つの第２の外部信号ポートと前記ＳＤメモリカードの前記少なくとも１つの第１の外部信号ポートの前記ＳＤモードの前記ＣＭＤピンとを介して順次伝送される、
請求項４に記載のフラッシュメモリコントローラ。
【請求項６】
前記処理回路は、
前記ホストデバイスによって前記ＳＤメモリカード駆動回路から送信される前記第１のコマンドと第１の３２ビット長論理アドレスを受信し、前記第１のコマンドと該第１の３２ビット長論理アドレスが、前記少なくとも１つの第２の外部信号ポートと前記ＳＤメモリカードの前記少なくとも１つの第１の外部信号ポートの前記ＳＤモードの前記ＣＭＤピンとを介して順次伝送され、
前記ホストデバイスによって前記ＳＤメモリカード駆動回路から送信される消去コマンドＣＭＤ３２またはＣＭＤ３３および第２の３２ビット長論理アドレスを受信し、該消去コマンドＣＭＤ３２またはＣＭＤ３３および該第２の３２ビット長論理アドレスが、前記少なくとも１つの第２の外部信号ポートと前記少なくとも１つの第１の外部信号ポートの前記ＳＤモードの前記ＣＭＤピンとを介して順次伝送され、
前記ホストデバイスによって前記ＳＤメモリカード駆動回路から送信される消去コマンドＣＭＤ３８を受信し、
前記第１の３２ビット長論理アドレスおよび前記第２の３２ビット長論理アドレスに応じて組み合わせて６４ビット長論理アドレスの指定消去開始アドレスパラメータを取得し、
前記６４ビット長論理アドレスおよび前記消去コマンドＣＭＤ３２、ＣＭＤ３３、またはＣＭＤ３８に応じて、前記内部バスを介して、前記フラッシュメモリ内の前記６４ビット長論理アドレスによって示される指定消去セグメントに対応する少なくとも１つのブロック上で消去動作を実行する
ために使用される、
請求項１に記載のフラッシュメモリコントローラ。
【請求項７】
前記処理回路は、
前記ホストデバイスによって前記ＳＤメモリカード駆動回路から送信される第１の転送コマンドＣＭＤ４４および少なくとも１つの転送パラメータを受信し、該第１の転送コマンドＣＭＤ４４および該少なくとも１つの転送パラメータが、前記少なくとも１つの第２の外部信号ポートと前記ＳＤメモリカードの前記少なくとも１つの第１の外部信号ポートの前記ＳＤモードの前記ＣＭＤピンとを介して順次伝送され、
前記ホストデバイスによって前記ＳＤメモリカード駆動回路から送信される前記第１のコマンドおよび第１の３２ビット長論理アドレスを受信し、前記第１のコマンドおよび該第１の３２ビット長論理アドレスが、前記少なくとも１つの第２の外部信号ポートと前記ＳＤメモリカードの前記少なくとも１つの第１の外部信号ポートの前記ＳＤモードの前記ＣＭＤピンとを介して順次伝送され、
前記ホストデバイスによって前記ＳＤメモリカード駆動回路から送信される第２の転送コマンドＣＭＤ４５および第２の３２ビット長論理アドレスを受信し、該第２の転送コマンドＣＭＤ４５および該第２の３２ビット長論理アドレスが前記少なくとも１つの第２の外部信号ポートと前記ＳＤメモリカードの前記少なくとも１つの第１の外部信号ポートの前記ＳＤモードの前記ＣＭＤピンとを介して順次伝送され、
前記第１の３２ビット長論理アドレスおよび前記第２の３２ビット長論理アドレスに応じて組み合わせて６４ビット長論理アドレスの指定転送開始アドレスパラメータを取得し、
前記６４ビット長論理アドレスおよび前記少なくとも１つの転送パラメータに応じて、内部バスを介して前記指定転送開始アドレスパラメータによって示されるアドレスから前記フラッシュメモリの対応するデータを転送する
ために使用される、
請求項１に記載のフラッシュメモリコントローラ。
【請求項８】
ＳＤメモリカードであって、
フラッシュメモリと、
請求項１に記載の前記フラッシュメモリコントローラと、を備える、
ＳＤメモリカード。
【請求項９】
ＳＤメモリカードのフラッシュメモリコントローラで使用され、該フラッシュメモリコントローラが、該ＳＤメモリカードの内部バスを介して該ＳＤメモリカード内のフラッシュメモリに結合するように構成され、また、該ＳＤメモリカードの少なくとも１つの第１の外部信号ポートとホストデバイスの少なくとも１つの第２の外部信号ポートとを介して、該ホストデバイスのＳＤメモリカード駆動回路に接続するように構成される方法であって、
前記ホストデバイスによって前記ＳＤメモリカード駆動回路から送信される第１のコマンドおよび第１の部分アドレスパラメータを受信するステップであって、該第１のコマンドおよび該第１の部分アドレスパラメータが、前記少なくとも１つの第２の外部信号ポートと前記ＳＤメモリカードの前記少なくとも１つの第１の外部信号ポートのＳＤモードのＣＭＤピンとを介して順次伝送されるステップと、
前記ホストデバイスによって前記ＳＤメモリカード駆動回路から送信される第２のコマンドおよび第２の部分アドレスパラメータを受信するステップであって、該第２のコマンドおよび該第２の部分アドレスパラメータが、前記少なくとも１つの第２の外部信号ポートと前記ＳＤメモリカードの前記少なくとも１つの第１の外部信号ポートの前記ＳＤモードの前記ＣＭＤピンとを介して順次伝送されるステップと、
前記第１の部分アドレスパラメータおよび前記第２の部分アドレスパラメータに応じて組み合わせて完全なアドレスパラメータを取得するステップと、
前記完全なアドレスパラメータおよび前記第２のコマンドのコマンドタイプに応じて、前記内部バスを介して前記ＳＤメモリカードの前記フラッシュメモリ上で該コマンドタイプに対応する処理動作を実行するステップとを含み、
前記第１のコマンドはコマンドＣＭＤ２２、ＣＭＤ３１、ＣＭＤ３９、ＣＭＤ４１、およびＣＭＤ５１のいずれかであり、前記第２のコマンドの前記コマンドタイプはＣＭＤ１７の単一データユニット読取り、ＣＭＤ２４の単一データユニット書込み、ＣＭＤ１８の複数データユニット読取り、ＣＭＤ２５の複数データユニット書込み、ＣＭＤ４４またはＣＭＤ４５のコマンドキュータスク割当て、およびＣＭＤ３２、ＣＭＤ３３、またはＣＭＤ３８のブロック消去を含み、前記第１の部分アドレスパラメータは前記完全なアドレスパラメータの最上位ビットの一部であり、前記第２の部分アドレスパラメータは前記完全なアドレスパラメータの最下位ビットの一部であり、前記方法は、
前記少なくとも１つの第１の外部信号ポートの前記ＳＤモードの前記ＣＭＤピンで開始ビット「０」と伝送ビット「１」とを受信した場合、前記ホストデバイスが特定のコマンドのコマンドコンテンツを前記ＳＤメモリカード駆動回路から前記ＳＤメモリカードへ送信しているかどうかを判断するステップと、
伝送ビット「１」を受信した後、前記特定のコマンドの前記コマンドコンテンツの複数のビットによって構成されるコマンドタイプとアドレスパラメータの情報を受信するステップと、をさらに含む、
方法。
【請求項１０】
前記第１の部分アドレスパラメータは第１の３２ビット長論理アドレスであり、前記第２のコマンドは書込みコマンドＣＭＤ２４またはＣＭＤ２５であり、前記第２の部分アドレスパラメータは第２の３２ビット長論理アドレスであり、
前記方法は、
前記ホストデバイスによって前記ＳＤメモリカード駆動回路から送信される６４ビット長論理アドレスに対応する少なくとも１つのデータユニットを受信するステップであって、該少なくとも１つのデータユニットが、前記少なくとも１つの第２の外部信号ポートと前記ＳＤメモリカードの前記少なくとも１つの第１の外部信号ポートの前記ＳＤモードの複数のデータラインピンとを介して伝送されるステップと、
前記第１の３２ビット長論理アドレスおよび前記第２の３２ビット長論理アドレスに応じて組み合わせて前記６４ビット長論理アドレスを取得するステップと、
前記６４ビット長論理アドレスおよび前記書込みコマンドに応じて、前記内部バスを介して前記少なくとも１つのデータユニットを前記フラッシュメモリに書き込むステップと、を含む、
請求項９に記載の方法。
【請求項１１】
前記少なくとも１つの第２の外部信号ポートと前記ＳＤメモリカードの前記少なくとも１つの第１の外部信号ポートの前記ＳＤモードの前記ＣＭＤピンとを介して、前記ホストデバイスによって前記ＳＤメモリカード駆動回路から送信される前記第１のコマンドおよび前記第１の３２ビット長論理アドレスを受信する前に、前記ホストデバイスによって前記ＳＤメモリカード駆動回路から送信される、表示コマンドと指定書込みデータ長パラメータを受信するステップであって、該表示コマンドと該指定書込みデータ長パラメータが、前記少なくとも１つの第２の外部信号ポートと前記ＳＤメモリカードの前記少なくとも１つの第１の外部信号ポートの前記ＳＤモードの前記ＣＭＤピンを介して順次伝送されるステップをさらに含む、
請求項１０に記載の方法。
【請求項１２】
前記第１の部分アドレスパラメータは第１の３２ビット長論理アドレスであり、前記第２のコマンドは読取りコマンドＣＭＤ１７またはＣＭＤ１８であり、前記第２の部分アドレスパラメータは第２の３２ビット長論理アドレスであり、
前記方法は、
前記第１の３２ビット長論理アドレスおよび前記第２の３２ビット長論理アドレスに応じて組み合わせて前記６４ビット長論理アドレスを取得するステップと、
前記６４ビット長論理アドレスおよび読取りコマンドＣＭＤ１７またはＣＭＤ１８に応じて、前記内部バスを介して前記フラッシュメモリから伝送される少なくとも１つのデータユニットを取得するステップと、
前記少なくとも１つのデータユニットを前記ホストデバイスへ伝送するステップであって、前記少なくとも１つのデータユニットは、前記少なくとも１つの第１の外部信号ポートの前記ＳＤモードの複数のデータラインピンと前記少なくとも１つの第２の外部信号ポートとを介して、前記ＳＤメモリカード駆動回路へ順次伝送されるステップと、をさらに含む、
請求項９に記載の方法。
【請求項１３】
前記少なくとも１つの第２の外部信号ポートと前記ＳＤメモリカードの前記少なくとも１つの第１の外部信号ポートの前記ＳＤモードの前記ＣＭＤピンとを介して、前記ホストデバイスによって前記ＳＤメモリカード駆動回路から順次送信される前記第１のコマンドおよび前記第１の３２ビット長論理アドレスを受信する前に、前記ホストデバイスによって前記ＳＤメモリカード駆動回路から送信される表示コマンドおよび指定書込みデータ長パラメータを受信するステップであって、該表示コマンドおよび該指定書込みデータ長パラメータが、前記少なくとも１つの第２の外部信号ポートと前記ＳＤメモリカードの前記少なくとも１つの第１の外部信号ポートの前記ＳＤモードの前記ＣＭＤピンとを介して順次伝送されるステップをさらに含む、
請求項１２に記載の方法。
【請求項１４】
前記第１の部分アドレスパラメータは第１の３２ビット長論理アドレスであり、前記第２のコマンドは消去コマンドＣＭＤ３２、ＣＭＤ３３、またはＣＭＤ３８であり、前記第２の部分アドレスパラメータは第２の３２ビット長論理アドレスであり、
前記方法は、
前記第１の３２ビット長論理アドレスおよび前記第２の３２ビット長論理アドレスに応じて組み合わせて６４ビット長論理アドレスの指定消去開始アドレスパラメータを取得するステップと、
前記６４ビット長論理アドレスおよび前記消去コマンドＣＭＤ３２、ＣＭＤ３３、またはＣＭＤ３８に応じて、前記内部バスを介して前記フラッシュメモリ内の前記６４ビット長論理アドレスによって示される指定消去セグメントに対応する少なくとも１つのブロック上で消去動作を実行するステップと、をさらに含む、
請求項９に記載の方法。
【請求項１５】
前記第１の部分アドレスパラメータは第１の３２ビット長論理アドレスであり、前記第２のコマンドは第２の転送コマンドＣＭＤ４５であり、前記第２の部分アドレスパラメータは第２の３２ビット長論理アドレスであり、
前記方法は、
前記ホストデバイスによって前記ＳＤメモリカード駆動回路から送信される第１の転送コマンドＣＭＤ４４および少なくとも１つの転送パラメータを受信するステップであって、該第１の転送コマンドＣＭＤ４４および該少なくとも１つの転送パラメータが、前記少なくとも１つの第２の外部信号ポートと前記ＳＤメモリカードの前記少なくとも１つの第１の外部信号ポートの前記ＳＤモードの前記ＣＭＤピンとを介して順次送信されるステップと、
前記第１の３２ビット長論理アドレスおよび前記第２の３２ビット長論理アドレスに応じて組み合わせて６４ビット長論理アドレスの指定転送開始アドレスパラメータを取得するステップと、
前記６４ビット長論理アドレスおよび前記少なくとも１つの転送パラメータに応じて、前記内部バスを介して前記指定転送開始アドレスパラメータによって示されるアドレスから前記フラッシュメモリの対応するデータを転送するステップと、をさらに含む、
請求項９に記載の方法。
【請求項１６】
ＳＤメモリカードにアクセスするためのホストデバイスであって、該ホストデバイスは、該ホストデバイスのＳＤメモリカード駆動回路と、該ホストデバイスの少なくとも１つの第２の外部信号ポートと、該ＳＤメモリカードの少なくとも１つの第１の外部信号ポートと、該ＳＤメモリカードの内部バスとを介して、該ＳＤメモリカード内のフラッシュメモリおよびフラッシュメモリコントローラに結合するように構成され、
前記ホストデバイスは、
ＳＤメモリカード駆動回路と、
前記ＳＤメモリカード駆動回路に結合されるプロセッサであって、
前記ＳＤメモリカード駆動回路を制御して第１のコマンドおよび第１の部分アドレスパラメータを前記ＳＤメモリカードへ送信し、該第１のコマンドおよび該第１の部分アドレスパラメータが、前記少なくとも１つの第２の外部信号ポートと前記ＳＤメモリカードの前記少なくとも１つの第１の外部信号ポートのＳＤモードのＣＭＤピンとを介して、前記フラッシュメモリコントローラへ順次伝送され、
前記ＳＤメモリカード駆動回路を制御して第２のコマンドおよび第２の部分アドレスパラメータを前記ＳＤメモリカードへ送信し、該第２のコマンドおよび該第２の部分アドレスパラメータが、前記少なくとも１つの第２の外部信号ポートと前記ＳＤメモリカードの前記少なくとも１つの第１の外部信号ポートの前記ＳＤモードの前記ＣＭＤピンとを介して、前記フラッシュメモリコントローラへ順次伝送され、
前記ＳＤメモリカード駆動回路を制御して、前記第１の部分アドレスパラメータおよび前記第２の部分アドレスパラメータを送信し、前記フラッシュメモリコントローラに、前記第１の部分アドレスパラメータおよび前記第２の部分アドレスパラメータに応じて組み合わせて完全なアドレスパラメータを取得させ、
前記フラッシュメモリコントローラに、該完全なアドレスパラメータおよび前記第２のコマンドのコマンドタイプに応じて、前記内部バスを介して前記フラッシュメモリ上で該コマンドタイプに対応する処理動作を実行させる
ように構成されたプロセッサとを備え、
前記第１のコマンドはコマンドＣＭＤ２２、ＣＭＤ３１、ＣＭＤ３９、ＣＭＤ４１、およびＣＭＤ５１のいずれかであり、前記第２のコマンドの前記コマンドタイプは、少なくとも、ＣＭＤ１７の単一データユニット読取り、ＣＭＤ２４の単一データユニット書込み、ＣＭＤ１８の複数データユニット読取り、ＣＭＤ２５の複数データユニット書込み、ＣＭＤ４４またはＣＭＤ４５のコマンドキュータスク割当て、およびＣＭＤ３２、ＣＭＤ３３、またはＣＭＤ３８のデータユニット消去を含み、前記第１の部分アドレスパラメータは前記完全なアドレスパラメータの最上位ビットの一部であり、前記第２の部分アドレスパラメータは前記完全なアドレスパラメータの最下位ビットの一部であり、前記ＳＤメモリカード駆動回路は、前記少なくとも１つの第１の外部信号ポートの前記ＳＤモードの前記ＣＭＤピンを介して、開始ビット「０」および伝送ビット「１」を前記ＳＤメモリカードに順次送信し、前記フラッシュメモリコントローラに、前記少なくとも１つの第１の外部信号ポートの前記ＳＤモードの前記ＣＭＤピンを介して、前記開始ビット「０」と前記伝送ビット「１」を受信し、前記ホストデバイスが特定のコマンドのコマンドコンテンツを前記ＳＤメモリカード駆動回路から前記ＳＤメモリカードへ送信しているかどうかを判断させ、前記フラッシュメモリコントローラに、前記伝送ビット「１」を受信した後、前記特定のコマンドの前記コマンドコンテンツの複数のビットによって構成されるコマンドタイプとアドレスパラメータの情報を受信させるように構成される、
ホストデバイス。
【発明の詳細な説明】
【関連出願の相互参照】
【０００１】
本出願は、２０１７年１２月２８日に提出された米国仮出願第６２／６１０，９３７号および２０１８年１月２２日に提出された米国仮出願第６２／６１９，９３０号の優先権を主張するものであり、参照により全体が本明細書に組み込まれる。
【技術分野】
【０００２】
本発明は、メモリカード通信方式に関し、より詳細には、フラッシュメモリコントローラ、メモリカード、フラッシュメモリコントローラで使用される方法、およびメモリカードに接続されたホストデバイスに関する。
【背景技術】
【０００３】
一般的に言えば、フラッシュメモリとホストデバイスとの間で現在開発されている通信方式は、多くて３２ビット長の論理アドレス空間のアドレス指定をサポートする程度である。ホストデバイスはコマンドを送信し、最大３２ビット長論理アドレスを示すだけのアドレスパラメータを伝送する。これにより、フラッシュメモリの最大容量が２ＴＢ（兆バイト）に制限され、従来のセキュアデジタル（ＳＤ）メモリカードは、通常、２ＴＢの最大容量をホストデバイスに報告するように構成されている。
【０００４】
しかしながら、例えば、技術やアプリケーションの開発・進展に伴い、携帯電話の動画記録機能の画質に対する要求はますます高まっており、将来のアプリケーションでは、フラッシュメモリの最大容量を２ＴＢに制限するだけでは十分ではない可能性が非常に高くなる。したがって、最大容量が２ＴＢを超えるフラッシュメモリの場合、ＳＤメモリカードが２ＴＢを超える最大容量をホストデバイスに報告できるようにし、また、３２ビット長を超える論理アドレス空間のアドレス指定機能をサポートできるようにするために、新しい通信方式を提供する必要がある。
【発明の概要】
【０００５】
したがって、本発明の目的の１つは、フラッシュメモリコントローラ、メモリカードデバイス、フラッシュメモリコントローラで利用される方法、およびメモリカードデバイスに接続されるホストデバイスを提供することであり、該メモリカードデバイスは、メモリカードデバイスに２ＴＢを超える容量をホストデバイスに報告させる新しい通信方式をサポートでき、また、３２ビット長を超える論理アドレス空間のアドレス指定機能もサポートできる。提供されるソリューションは、現在開発されているフラッシュメモリ通信方式と互換性がある。即ち、この提供されるソリューションは、メモリカードデバイスに２ＴＢ未満の容量をホストデバイスに報告させるだけでなく、３２ビット長論理アドレス空間のアドレス指定機能をサポートできる。
【０００６】
本発明の実施形態によると、セキュアデジタル（ＳＤ）メモリカードで使用されるフラッシュメモリコントローラが開示される。フラッシュメモリコントローラは、ＳＤメモリカードの内部バスを介してＳＤメモリカード内のフラッシュメモリに結合するように構成される。フラッシュメモリコントローラは、ＳＤメモリカードの少なくとも１つの第１の外部信号ポートとホストデバイスの少なくとも１つの第２の外部信号ポートとを介して、ホストデバイスのＳＤメモリカード駆動回路に接続するように構成される。フラッシュメモリコントローラは、ホストデバイスによってＳＤメモリカード駆動回路から送信される第１のコマンドおよび第１の部分アドレスパラメータを受信し、該第１のコマンドおよび該第１の部分アドレスパラメータが、少なくとも１つの第２の外部信号ポートとＳＤメモリカードの少なくとも１つの第１の外部信号ポートのＳＤモードのＣＭＤピンとを介して順次伝送され、ホストデバイスによってＳＤメモリカード駆動回路から送信される第２のコマンドおよび第２の部分アドレスパラメータを受信し、該第２のコマンドおよび該第２の部分アドレスパラメータが、少なくとも１つの第２の外部信号ポートとＳＤメモリカードの少なくとも１つの第１の外部信号ポートのＳＤモードのＣＭＤピンとを介して順次伝送され、第１の部分アドレスパラメータおよび第２の部分アドレスパラメータに応じて組み合わせて完全なアドレスパラメータを取得し、完全なアドレスパラメータおよび第２のコマンドのコマンドタイプに応じて内部バスを介してＳＤメモリカードのフラッシュメモリ上で該コマンドタイプに対応する処理動作を実行するために使用される処理回路を備える。第１のコマンドは、ＣＭＤ２２、ＣＭＤ３１、ＣＭＤ３９、ＣＭＤ４１、およびＣＭＤ５１のいずれかのコマンドである。第２のコマンドのコマンドタイプは、ＣＭＤ１７の単一データユニットの読取り、ＣＭＤ２４の単一データユニットの書込み、ＣＭＤ１８の複数データユニットの読取り、ＣＭＤ２５の複数データユニットの書込み、ＣＭＤ４４またはＣＭＤ４５のコマンドキュータスク割当て、およびＣＭＤ３２、ＣＭＤ３３、またはＣＭＤ３８のブロック消去で構成される。第１の部分アドレスパラメータは完全なアドレスパラメータの最上位ビットの一部であり、第２の部分アドレスパラメータは完全なアドレスパラメータの最下位ビットの一部である。少なくとも１つの第１の外部信号ポートのＳＤモードのＣＭＤピンで開始ビット「０」および伝送ビット「１」を受信すると、処理回路は、ホストデバイスが、特定のコマンドのコマンドコンテンツをＳＤメモリカード駆動回路からＳＤメモリカードへ送信しているかどうか、および伝送ビット「１」を受信した後、特定のコマンドのコマンドコンテンツの複数のビットによって構成されるコマンドタイプとアドレスパラメータの情報を受信するために使用されているかどうかを判断するように構成される。
【０００７】
実施形態によれば、ＳＤメモリカードが開示される。ＳＤメモリカードは、上記のフラッシュメモリとフラッシュメモリコントローラとを備える。
【０００８】
実施形態によれば、ＳＤメモリカードのフラッシュメモリコントローラで使用される方法が開示される。フラッシュメモリコントローラは、ＳＤメモリカードの内部バスを介してＳＤメモリカード内のフラッシュメモリに結合するように構成され、フラッシュメモリコントローラは、ＳＤメモリカードの少なくとも１つの第１の外部信号ポートとホストデバイスの少なくとも１つの第２の外部信号ポートとを介して、ホストデバイスのＳＤメモリカード駆動回路に接続するように構成される。本方法は、ホストデバイスによってＳＤメモリカード駆動回路から送信される第１のコマンドおよび第１の部分アドレスパラメータを受信するステップであって、該第１のコマンドおよび該第１の部分アドレスパラメータが、少なくとも１つの第２の外部信号ポートとＳＤメモリカードの少なくとも１つの第１の外部信号ポートのＳＤモードのＣＭＤピンとを介して順次伝送されるステップと、ホストデバイスによってＳＤメモリカード駆動回路から送信される第２のコマンドおよび第２の部分アドレスパラメータを受信するステップであって、該第２のコマンドおよび該第２の部分アドレスパラメータが、少なくとも１つの第２の外部信号ポートとＳＤメモリカードの少なくとも１つの第１の外部信号ポートのＳＤモードのＣＭＤピンとを介して順次伝送されるステップと、第１の部分アドレスパラメータおよび第２の部分アドレスパラメータに応じて組み合わせて完全なアドレスパラメータを取得するステップと、該完全なアドレスパラメータおよび第２のコマンドのコマンドタイプに応じて内部バスを介してＳＤメモリカードのフラッシュメモリ上で該コマンドタイプに対応する処理動作を実行するステップとを含む。第１のコマンドは、ＣＭＤ２２、ＣＭＤ３１、ＣＭＤ３９、ＣＭＤ４１、およびＣＭＤ５１のいずれかのコマンドである。第２のコマンドのコマンドタイプは、ＣＭＤ１７の単一データユニットの読取り、ＣＭＤ２４の単一データユニットの書込み、ＣＭＤ１８の複数データユニットの読取り、ＣＭＤ２５の複数データユニットの書込み、ＣＭＤ４４またはＣＭＤ４５のコマンドキュータスク割当て、およびＣＭＤ３２、ＣＭＤ３３、またはＣＭＤ３８のブロック消去で構成される。第１の部分アドレスパラメータは完全なアドレスパラメータの最上位ビットの一部であり、第２の部分アドレスパラメータは完全なアドレスパラメータの最下位ビットの一部である。本方法は、少なくとも１つの第１の外部信号ポートのＳＤモードのＣＭＤピンで開始ビット「０」と伝送ビット「１」を受信した場合、ホストデバイスが特定のコマンドのコマンドコンテンツをＳＤメモリカード駆動回路からＳＤメモリカードへ送信しているかどうかを判断するステップと、伝送ビット「１」を受信した後、特定コマンドのコマンドコンテンツの複数のビットによって構成されるコマンドタイプとアドレスパラメータの情報を受信するステップとをさらに含む。
【０００９】
実施形態によれば、ＳＤメモリカードにアクセスし、ホストデバイスのＳＤメモリカード駆動回路を介してＳＤメモリカード内のフラッシュメモリおよびフラッシュメモリコントローラに結合するように構成されたホストデバイスと、ホストデバイスの少なくとも１つの第２の外部信号ポートと、ＳＤメモリカードの少なくとも１つの第１の外部信号ポートと、ＳＤメモリカードの内部バスとが開示される。ホストデバイスは、ＳＤメモリカード駆動回路とプロセッサで構成されている。プロセッサは、ＳＤメモリカード駆動回路に結合され、ＳＤメモリカード駆動回路を制御して第１のコマンドおよび第１の部分アドレスパラメータをＳＤメモリカードへ送信し、該第１のコマンドおよび該第１の部分アドレスパラメータが、少なくとも１つの第２の外部信号ポートとＳＤメモリカードの少なくとも１つの第１の外部信号ポートのＳＤモードのＣＭＤピンとを介して、フラッシュメモリコントローラへ順次伝送され、ＳＤメモリカード駆動回路を制御して第２のコマンドおよび第２の部分アドレスパラメータをＳＤメモリカードへ送信し、該第２のコマンドおよび該第２の部分アドレスパラメータが、少なくとも１つの第２の外部信号ポートとＳＤメモリカードの少なくとも１つの第１の外部信号ポートのＳＤモードのＣＭＤピンとを介して、フラッシュメモリコントローラへ順次伝送され、ＳＤメモリカード駆動回路を制御して第１の部分アドレスパラメータおよび第２の部分アドレスパラメータを送信し、フラッシュメモリコントローラに、該第１の部分アドレスパラメータおよび該第２の部分アドレスパラメータに応じて組み合わせて完全なアドレスパラメータを取得させ、フラッシュメモリコントローラに、該完全なアドレスパラメータおよび第２のコマンドのコマンドタイプに応じて内部バスを介してフラッシュメモリ上で該コマンドタイプに対応する処理動作を実行させるように構成される。第１のコマンドは、ＣＭＤ２２、ＣＭＤ３１、ＣＭＤ３９、ＣＭＤ４１、およびＣＭＤ５１のいずれかのコマンドである。第２のコマンドのコマンドタイプは、ＣＭＤ１７の単一データユニット読取り、ＣＭＤ２４の単一データユニット書込み、ＣＭＤ１８の複数データユニット読取り、ＣＭＤ２５の複数データユニット書込み、ＣＭＤ４４またはＣＭＤ４５のコマンドキュータスク割当て、およびＣＭＤ３２、ＣＭＤ３３、またはＣＭＤ３８のデータユニット消去を含む。第１の部分アドレスパラメータは完全なアドレスパラメータの最上位ビットの一部であり、第２の部分アドレスパラメータは完全なアドレスパラメータの最下位ビットの一部である。ＳＤメモリカード駆動回路は、少なくとも１つの第１の外部信号ポートのＳＤモードのＣＭＤピンを介して、開始ビット「０」および伝送ビット「１」をＳＤメモリカードに順次送信し、フラッシュメモリコントローラに、少なくとも１つの第１の外部信号ポートのＳＤモードのＣＭＤピンを介して開始ビット「０」と伝送ビット「１」を受信して、ホストデバイスが特定のコマンドのコマンドコンテンツをＳＤメモリカード駆動回路からＳＤメモリカードへ送信しているかどうかを判断させ、フラッシュメモリコントローラに、伝送ビット「１」を受信した後、特定のコマンドのコマンドコンテンツの複数のビットによって構成されるコマンドタイプとアドレスパラメータの情報を受信させるように構成される。
【００１０】
本発明のこれらおよび他の目的は、様々な図および図面に示される好ましい実施形態の以下の詳細な説明を読んだ後、当業者には疑いなく明らかになるであろう。
【図面の簡単な説明】
【００１１】
【図１】本発明の実施形態によるメモリカードデバイスおよび電子デバイス、例えば、ホストデバイスなどを示すブロック図である。
【００１２】
【図２】本発明の実施形態による最大容量通信のためのホストデバイスとＳＤメモリカードとの間の特定の通信インタフェースを介したデータ通信の一例の図である。
【００１３】
【図３】本発明の実施形態による表示装置にフラッシュメモリの最大容量の計算結果を表示するホストデバイスのプロセッサの一例の図である。
【００１４】
【図４】異なるビット長論理アドレスを有するデータユニットを書き込むためにＳＤメモリカードへ異なるコマンドを送信するホストデバイスの図である。
【００１５】
【図５】本発明の一実施形態による異なるビット長を有する論理アドレスに基づいてデータユニット読取り動作を実行するためにＳＤメモリカードに異なるコマンドを送信するホストデバイスを示す図である。
【００１６】
【図６】本発明の実施形態による指定データの読取りおよび書込み長に基づいて読取りおよび書込み動作を実行するために、ＳＤメモリカード１００に異なるコマンドを送信するホストデバイスを示す図である。
【００１７】
【図７】本発明の実施形態によるコマンドキュータスク割り当てのブロック消去動作およびブロック転送動作を実行するために、ＳＤメモリカードに異なるコマンドを送信するホストデバイスを示す図である。
【００１８】
【図８】本発明の実施形態によるＳＤメモリカードのコマンド伝送フォーマットの一例を示す図である。
【００１９】
【図９】本発明の実施形態によるＳＤメモリカードにデータを書き込むために、コマンドＣＭＤ２２と書込みコマンドＣＭＤ２４を送信するホストデバイスのコマンド伝送フォーマットの一例を示す図である。
【００２０】
【図１０】本発明の実施形態によるＳＤメモリカードの動作の状態図である。
【発明を実施するための形態】
【００２１】
本発明の実施形態による、メモリカードデバイス１００およびホストデバイスなどの電子デバイス１０５を示すブロック図である図１を参照する。メモリカードデバイス１００は、例えば、ホストデバイス１０５のメモリカード駆動回路１０５１に接続されることになるＵＳＢインタフェース（限定されない）などの通信インタフェースから成る少なくとも１つの第１の外部信号ポートを介して、ホストデバイス１０５の少なくとも１つの第２の外部信号ポートに接続される。メモリカードデバイス１００は、フラッシュメモリ１１０（１つ以上のフラッシュメモリチップを含む）およびフラッシュメモリコントローラ１２０を備える。フラッシュメモリコントローラ１２０は、少なくとも１つの第１の外部信号ポートに接続され、フラッシュメモリコントローラ１２０とフラッシュメモリ１１０との間のデータ伝送／通信は、内部バスを介して転送される。ホストデバイス１０５は、メモリカード駆動回路１０５１、表示装置１０５２、およびプロセッサ１０５３を備える。コントローラ１２０は、少なくとも処理回路１２０１およびレジスタ１１５を備える。メモリカードデバイス１００は、例えば、ＳＤＨＣカード、ＳＤＸＣカード、ＳＤＵＣカード、ＰＣＩｅ  ＳＤカード、ＮＶＭｅ  ＳＤカードなどのＳＤメモリカードである。メモリカード駆動回路１０５１は、例えば、ＳＤメモリカード駆動回路である。メモリカードデバイス１００は、ＳＤメモリカードに限定されないことに注意すべきである。他の実施形態では、メモリカードデバイス１００は、他の異なるタイプのメモリカードであり得る。ホストデバイス１０５のプロセッサ１０５３は、ＳＤメモリカード駆動回路１０５１と、少なくとも１つの第２の外部信号ポートと、少なくとも１つの第１の外部信号ポートとを介して、コントローラ１２０の処理回路１２０１と、例えば、制御コマンドの送信および受信など通信する。また、メモリカードコントローラ１２０は、内部バスを介してフラッシュメモリ１１０上で処理動作を行う。
【００２２】
メモリカードデバイス１００に電源が投入されると、コントローラ１２０は、内部バスを介してフラッシュメモリ１１０から基本特性情報を読み取り、レジスタ１１５にその情報を格納するように構成される。例えば、基本特性情報とはカード固有データ（ＣＳＤ）である。コントローラ１２０の処理回路１２０１は、フラッシュメモリ１１０の特性を検出およびチェックし、基本特性情報をレジスタ１１５に書き込むことができる。
【００２３】
初期化中にホストデバイス１０５がＳＤメモリカード１００と通信する場合、プロセッサ１０５３は、ホストデバイス１０５のレジスタ（図１には図示せず）にコマンドを書き込むように構成され、その後、ＳＤメモリカード駆動回路１０５１は、レジスタからこのようなコマンドを読み取り、少なくとも１つの第２の外部信号ポートと少なくとも１つの第１の外部信号ポートとを介して、要求コマンドをＳＤメモリカード１００のコントローラ１２０へ順次送信し、ＳＤメモリカード１００にホストデバイス１０５へ情報を報告するように要求する。例えば、ホストデバイス１０５は、要求コマンドＣＭＤ９をＳＤメモリカード１００へ送信して、カード１００にＣＳＤを報告するように要求する。ＳＤメモリカード１００のコントローラ１２０は、要求コマンドＣＭＤ９を受信した後、レジスタ１１５に格納されているＣＳＤをホストデバイス１０５に出力して報告する。コントローラ１２０は、レジスタ１１５からＣＳＤを取得し、次いで、少なくとも１つの第１の外部信号ポートと、少なくとも１つの第２の外部信号ポートと、ＳＤメモリカード駆動回路１０５１とを介して、ＣＳＤをホストデバイス１０５のプロセッサ１０５３へ順次送信する。プロセッサ１０５３は、ＣＳＤに基づいてフラッシュメモリ１１０の情報を計算および／または取得することができる。実際には、ＳＤメモリカード駆動回路１０５１は、対応するドライバソフトと連動して、コマンド伝送および情報伝送の機能を果たすることに注意すべきである。
【００２４】
ＣＳＤ情報はメモリカード製造業者によって生成され、カード初期化デバイスを使用して特定のカード初期化プログラムをロードし、製造業者がＳＤメモリカードデバイスを生成するときにＣＳＤを生成する。カード初期化プログラムは、例えば、ＳＤメモリコントローラ製造業者から提供される。例えば、メモリカード製造業者がフラッシュメモリの種類を決定し、対応するコントローラを選択した後、ＳＤメモリコントローラ製造業者は自身が提供する特定のカード初期化プログラムを使用してフラッシュメモリを初期化する。メモリカード製造業者がＳＤカードの最大容量を決定し、フラッシュメモリ用データを焼くように、最大容量に対応するＣＳＤ情報をフラッシュメモリに永久的に書き込むように準備される。
【００２５】
例えば、フラッシュメモリは最大容量３００ＴＢをサポートできる。メモリカード製造業者が最大容量わずか２ＴＢのＳＤメモリカードを生成する場合、メモリカード製造業者は、フラッシュメモリに永久的に書き込むべきＣＳＤ情報のうち所定のフィールドにおいて対応する情報をマークするように準備できる。代替的に、メモリカード製造業者が最大容量わずか３００ＴＢのＳＤメモリカードを生成する場合、メモリカード製造業者は、所定のフィールドで対応する情報をマークすることに加えて、フラッシュメモリに永久的に書き込むべきＣＳＤ情報のうち他の予約済みフィールド／アイドルフィールドに追加の容量情報を更にマークするように準備できる。したがって、永久的に書き込まれた上記の情報を参照することにより、このようなＳＤメモリカードに接続されることになるホストデバイスは、このようなＳＤメモリカードが最大３００ＴＢの容量をサポートすることを把握することができる。
【００２６】
第１の実施形態では、大量生産用のＳＤメモリカード１００を生成する場合、メモリカード製造業者のカード初期化デバイスによって、ＳＤメモリカード１００のＣＳＤ内の乗数パラメータをマークするように準備することができ、ここで該乗数パラメータはフラッシュメモリ１１０の最大容量を計算するために使用される。コントローラ１２０がレジスタ１１５に格納されたＣＳＤをホストデバイス１０５に報告した後、ホストデバイス１０５のプロセッサ１０５３は、メモリカード製造業者がマークした基本容量および追加容量情報の対応する情報をＣＳＤから取得することができるため、ＳＤメモリカード１００の最大容量（すなわち、フラッシュメモリ１１０の最大容量）を計算して取得することができる。これにより、ホストデバイス１０５に報告されるフラッシュメモリ１１０の最大容量の上限を可能な限り拡大することができ、従来のフラッシュメモリの最大容量２ＴＢに限定されない。
【００２７】
ＣＳＤの例をとると、ＣＳＤは、１２８ビットのデータ構造［１２７：０］を含んでもよい。このフラッシュメモリのバージョン情報を記録するために［１２７：１２６］などの２ビットが使用されてもよい。Ｃ＿ｓｉｚｅフィールド［６９：４８］などの２２ビットは、フラッシュメモリの容量を記録するために使用される。本実施形態では、Ｃ＿ｓｉｚｅフィールドを基本容量とし、基本容量の最大値が３２ビット長論理アドレス空間の上限に対応する。
【００２８】
ただし、２２ビット（即ち、Ｃ＿ｓｉｚｅフィールド［６９：４８］）は最大で２ＴＢの容量を示し、２ＴＢを超える容量を示すことはできない。したがって、これは適切ではない。
【００２９】
上記の問題を解決するために、本発明の提供される方法は、ＣＳＤ内の他のＮビットを使用してフラッシュメモリの最大容量の乗数パラメータを示すことである。例えば、乗数パラメータは２のＮ乗、即ち、２Ｎ、Ｎは、例えば、５である。Ｎビットは、ＣＳＤの予約済み／アイドルビットとして元々使用されている５ビット、例えば、［７５：７０］を使用して実現でき、フラッシュメモリの最大容量の乗数パラメータを示す。以下の説明の５ビットは、容量表示／インジケータ／マークビットまたは先頭ビットとして定義される。５ビットは、０〜３１の値の範囲を示すために使用できる。したがって、乗数パラメータの範囲は、２の０乗から２の３１乗、即ち、２０〜２３１までの範囲である。例えば、５ビットは「０００００」から「１１１１１」までで、０から３２までの値の範囲を示す。この５ビットを使用して３２の値を示す場合、５ビットをＣ＿ｓｉｚｅフィールド（最大２Ｔｂの基本容量を示すことができる）と共に使用して、６４ビット長アドレス空間のアドレス指定をサポートする最大容量を示すことができる。更に、他の実施形態では、ＣＳＤ内の６つのアイドルビット、例えば、［７５：７０］は、容量表示ビットとして使用してもよい。例えば、６ビットは「００００００」から「１０００００」までで、０〜３２までの値の範囲を示す。６ビットを使用して３２の値を示す場合、６ビットをＣ＿ｓｉｚｅフィールド（最大２Ｔｂの基本容量を示すことができる）と共に使用して、６４ビット長アドレス空間のアドレス指定をサポートする最大容量を示すことができる。Ｎの値は限定を意味するものではないことに注意すべきである。また、乗数パラメータは２Ｎに限定されない。他の実施形態では、乗数パラメータを、４のＮ乗など、別の異なる整数のＮ乗として構成してもよい。
【００３０】
本発明の実施形態による最大容量通信のためのホストデバイス１０５とＳＤメモリカード１００との間の特定の通信インタフェースを介したデータ通信の一例の図である図２を参照する。図２に示すように、ホストデバイス１０５は要求コマンドＣＭＤ９をＳＤメモリカード１００へ送信し、ＳＤメモリカード１００はＣＳＤをホストデバイス１０５へ報告するが、ＣＳＤのバージョンを示すために２ビットが使用され、上記の容量表示用の５ビットは、Ｃ＿ｓｉｚｅフィールドの前に構成される５ビットであり得る。しかしながら、これは制限を意図したものではない。
【００３１】
メモリカード製造業者のカード初期化デバイスは、フラッシュメモリ１１０の最大容量が、３２ビット長アドレス空間のアドレス指定に対応する特定の容量、例えば、最大容量２ＴＢなどの容量を超えるかどうかに応じて、ＣＳＤのバージョンを設定できる。例えば、フラッシュメモリ１１０の最大容量が２ＴＢ以下の場合、メモリカード製造業者は、このようなＣＳＤのバージョンを旧バージョンとして設定してこのフラッシュメモリが最大２ＴＢの容量をサポートすることを示し、ＳＤメモリカード１００を既存の従来のホストデバイスと互換性があるようにする。これにより、新バージョンの機能を備えたＳＤメモリカードを旧バージョンとして構成して、旧バージョンのドライバソフトのみを搭載したホストデバイスと互換性を持たせることができる。更に、ホストデバイスにインストールされている旧バージョンのドライバソフトを新バージョンに更新できる。フラッシュメモリ１１０の最大容量が２ＴＢを超える場合、メモリカード製造業者のカード初期化デバイスは、ＣＳＤのバージョンを新バージョンとして設定し、このフラッシュメモリが２ＴＢを超える容量をサポートできることを示すように構成する。
【００３２】
したがって、コントローラ１２０から報告されたＣＳＤを受信すると、ホストデバイス１０５のプロセッサ１０５３は、ＣＳＤのバージョンをチェックすることによって、このフラッシュメモリ１１０の最大容量が３２ビット長アドレス空間の最大容量２ＴＢを超えるかどうかを事前に判断できる。バージョンが旧バージョンである場合、プロセッサ１０５３は、Ｃ＿ｓｉｚｅフィールドの２２ビットによって示される値に応じて、このフラッシュメモリ１１０の最大容量を決定するように構成される。バージョンが新バージョンである場合、プロセッサ１０５３は、Ｃ＿ｓｉｚｅフィールドの２２ビットを参照することに加えて、上記の容量指示の５ビットによって指摘される乗数パラメータに基づいて最大容量を計算するように構成される。
【００３３】
上記の通り、ホストデバイス１０５がＣＳＤを受信すると、プロセッサ１０５３は、Ｃ＿ｓｉｚｅフィールドの２２ビットによって表される値および上記の容量指示の５ビットによって表される値を参照して、フラッシュメモリ１１０の最大容量を計算することができる。即ち、最大容量をホストデバイス１０５に直接通知する代わりに、ＳＤメモリカード１００は、ＣＳＤのデータ構造内にフラッシュメモリの容量の乗数をマークして、プロセッサ１０５３自体がフラッシュメモリ１１０の最大容量を計算するように構成される。例えば、次の表を参照してください。次の表は、ＣＳＤ内の情報の複数の例を示す。
【表１】
2021508878.tif 000003
【００３４】
上記の通り、Ｃ＿ｓｉｚｅフィールドは、フラッシュメモリの基本容量の情報を示すために配置されている。例えば、Ｃ＿ｓｉｚｅフィールドの値を使用して、最大２ＴＢの容量を示すことができる。一実施形態では、フラッシュメモリが最大容量１．５ＴＢを有することを示すために、メモリカード製造業者のカード初期化デバイスは、Ｃ＿ｓｉｚｅフィールドのビットによって表される値を１．５ＴＢに対応するように設定し、Ｎビットによって表される値をゼロに設定する、即ち、乗数パラメータが２０＝１として設定されるように構成することができる。したがって、ＣＳＤを受信した後、ホストデバイス１０５のプロセッサ１０５３は、フラッシュメモリ１１０の最大容量が１．５ＴＢに等しいことを計算して取得することができる。
【００３５】
別の実施形態では、フラッシュメモリが最大容量３ＴＢを有することを示すために、メモリカード製造業者のカード初期化デバイスは、Ｃ＿ｓｉｚｅフィールドのビットによって表される値を１．５ＴＢに対応するように設定し、Ｎビットによって表される値を１に設定する、即ち、乗数パラメータが２１＝２として設定されるように構成することができる。したがって、ＣＳＤを受信した後、ホストデバイス１０５のプロセッサ１０５３は、フラッシュメモリ１１０の最大容量が３ＴＢに等しいことを計算して取得することができる。
【００３６】
別の実施形態では、フラッシュメモリが最大容量２ＴＢを有することを示すために、メモリカード製造業者のカード初期化デバイスは、Ｃ＿ｓｉｚｅフィールドのビットによって表される値を２ＴＢに対応するように設定し、Ｎビットによって表される値をゼロに設定する、即ち、乗数パラメータが２０＝１として設定されるように構成することができる。したがって、ＣＳＤを受信した後、ホストデバイス１０５のプロセッサ１０５３は、フラッシュメモリ１１０の最大容量が２ＴＢに等しいことを計算して取得することができる。
【００３７】
更に、他の実施形態では、メモリカード製造業者のカード初期化デバイスは、Ｃ＿ｓｉｚｅフィールドのビットによって表される値を１ＴＢに対応するように設定し、Ｎビットによって表される値を１に設定する、即ち、乗数パラメータが２１＝２に設定されるように構成することができる。したがって、ＣＳＤを受信した後、プロセッサ１０５３は、フラッシュメモリ１１０の最大容量が２ＴＢに等しいことを計算することができる。すなわち、メモリカード製造業者のカード初期化デバイスは、様々な設定およびマークを使用して同じ容量サイズを示すように構成することができる。
【００３８】
一実施形態では、フラッシュメモリが最大容量４ＴＢを有することを示すために、メモリカード製造業者のカード初期化デバイスは、Ｃ＿ｓｉｚｅフィールドのビットによって表される値を２ＴＢに対応するように設定し、Ｎビットによって表される値を１として設定する、即ち、乗数パラメータが２１＝２として設定されるように構成することができる。したがって、ＣＳＤを受信した後、ホストデバイス１０５のプロセッサ１０５３は、フラッシュメモリ１１０の最大容量が４ＴＢに等しいことを計算して取得することができる。
【００３９】
一実施形態では、フラッシュメモリが最大容量１６ＥＢを有することを示すために、メモリカード製造業者のカード初期化デバイスは、Ｃ＿ｓｉｚｅフィールドのビットによって表される値を２ＴＢに対応するように設定し、Ｎビットによって表される値を２３として設定する、即ち、乗数パラメータが２の２３乗、２２３として設定されるように構成することができる。したがって、ＣＳＤを受信した後、ホストデバイス１０５のプロセッサ１０５３は、フラッシュメモリ１１０の最大容量が１６ＥＢに等しいことを計算して取得することができる。
【００４０】
更に、フラッシュメモリの最大容量が２．５ＴＢであることを示すために、メモリカードメーカーのカード初期化デバイスは、Ｃ＿ｓｉｚｅフィールドのビットによって表される値を１．２５ＴＢに対応するように設定し、Ｎビットによって表される値を１として設定する、即ち、乗数パラメータが２１＝２として構成することができる。したがって、ＣＳＤを受信した後、ホストデバイス１０５のプロセッサ１０５３は、フラッシュメモリ１１０の最大容量が２．５ＴＢに等しいことを計算して取得することができる。
【００４１】
他の例では、フラッシュメモリの最大容量が３ＴＢであることを示すために、メモリカード製造業者のカード初期化デバイスは、Ｃ＿ｓｉｚｅフィールドのビットによって表される値を１．５ＴＢに対応するように設定し、Ｎビットによって表される値を１として設定する、即ち、乗数パラメータが２１＝２として設定されるように構成することができる。したがって、ＣＳＤを受信した後、ホストデバイス１０５のプロセッサ１０５３は、フラッシュメモリ１１０の最大容量が３ＴＢに等しいことを計算して取得することができる。
【００４２】
更に、フラッシュメモリの最大容量が３０ＴＢであることを示すために、メモリカード製造業者のカード初期化デバイスは、Ｃ＿ｓｉｚｅフィールドのビットによって表される値を１．８７５ＴＢに対応するように設定し、Ｎビットによって表される値を４として設定する、即ち、乗数パラメータが２４＝１６として設定されるように構成することができる。したがって、ＣＳＤを受信した後、ホストデバイス１０５のプロセッサ１０５３は、フラッシュメモリ１１０の最大容量が３０ＴＢに等しいことを計算して取得することができる。
【００４３】
更に、フラッシュメモリの最大容量が３００ＴＢであることを示すために、メモリカード製造業者のカード初期化デバイスは、Ｃ＿ｓｉｚｅフィールドのビットで表される値を１．１７１８７５ＴＢに対応するように設定し、Ｎビットによって表される値を８として設定する、即ち、乗数パラメータが２８として設定されるように構成することができる。したがって、ＣＳＤを受信した後、ホストデバイス１０５のプロセッサ１０５３は、フラッシュメモリ１１０の最大容量が３００ＴＢに等しいことを計算して取得することができる。
【００４４】
更に、フラッシュメモリの最大容量が３０００ＴＢであることを示すために、メモリカード製造業者のカード初期化デバイスは、Ｃ＿ｓｉｚｅフィールドのビットで表される値を１．４６４８４３７５ＴＢに対応するように設定し、Ｎビットによって表される値を１１として設定する、即ち、乗数パラメータが２１１として設定されるように構成することができる。したがって、ＣＳＤを受信した後、ホストデバイス１０５のプロセッサ１０５３は、フラッシュメモリ１１０の最大容量が３０００ＴＢに等しいことを計算して取得することができる。
【００４５】
本発明の提供される方法は、ＣＳＤ内のＮ個の容量表示ビットのフィールドを使用して容量の乗数パラメータ（２Ｎ）の値を示し、フラッシュメモリの最大容量の上限の表示を大幅に拡張するように構成される。フラッシュメモリの最大容量が最大２ＴＢであることを示すためにＣ＿ｓｉｚｅフィールドのみを採用する従来の方法と比較して、提供される方法は、フラッシュメモリの最大容量の上限の表示を拡張することができるし、整数のＮ乗に等しい乗数パラメータを使用して、実装に多くのビットが使用されないようにすることもできる。例えば、容量表示の５ビットを使用して乗数パラメータを示し、２２ビットのＣ＿ｓｉｚｅフィールドを使用することで、フラッシュメモリの最大容量が１６ＥＢ、つまり最大容量の上限であることを示すことができる。
【００４６】
また、ホストデバイス１０５のプロセッサ１０５３は、ＣＳＤを受信すると、フラッシュメモリ１１０の最大容量を計算して取得し、計算結果を表示装置１０５２に表示して、フラッシュメモリ１１０の最大容量をユーザに知らせることができる。図３を参照してください。図３は、本発明の実施形態による、フラッシュメモリ１１０の最大容量の計算結果を表示装置１０５２に表示するホストデバイス１０５のプロセッサ１０５３の一例の図である。表示装置１０５２は、フラッシュメモリ１１０の最大容量が４６５ＴＢに等しい（すなわち、２ＴＢを超える）、使用済み容量領域が１０３ＴＢに等しい、および利用可能な容量領域が３６２ＴＢに等しいことを表示することができる。上記の値および表示内容は、単に例示の目的で使用されており、本発明の限定を意味するものではないことに注意すべきである。
【００４７】
更に、他の実施形態では、ホストデバイス１０５がフラッシュメモリ１１０の最大容量を取得するために計算する場合、プロセッサ１０５３はＳＤメモリカード駆動回路１０５１を制御して、最大容量に応じて少なくとも１つの第２の外部信号ポートと少なくとも１つの第１の外部信号ポートとを介して、異なるビット長論理アドレスをＳＤメモリカード１００のコントローラ１２０へ順次送信し、ＳＤメモリカード１００のコントローラ１２０に論理アドレスを物理アドレスに変換させ、次いで該物理アドレスに応じて内部バスを介してフラッシュメモリ１１０上で対応する処理動作を実行するように構成される。例えば、この実施形態では、最大容量が２ＴＢより大きくない場合、ホストデバイス１０５は、ＳＤメモリカード駆動回路１０５１を制御して、少なくとも１つの第２の外部信号ポートと少なくとも１つの第１の外部信号ポートとを介して、３２ビット長論理アドレスをＳＤメモリカード１００のコントローラ１２０へ順次送信するように構成されるが、３２ビット長論理アドレスが２ＴＢの論理容量空間サイズのアドレス指定をサポートする。代わりに、最大容量が２ＴＢより大きい場合、ホストデバイス１０５は、ＳＤメモリカード駆動回路１０５１を制御して、少なくとも１つの第２の外部信号ポートと少なくとも１つの第１の外部信号ポートとを介して、より長いビット長の論理アドレスをＳＤメモリカード１００のコントローラ１２０へ順次送信するように構成されるが、より長いビット長の論理アドレスは３２ビット長より長いビット長を有し、２ＴＢを超える論理容量スペースサイズのアドレス指定をサポートできる。例えば、より長いビット長とは、３８ビット長または６４ビット長であり、フラッシュメモリ１１０の最大容量に依存する。
【００４８】
３２ビット長論理アドレス空間と、３８ビット長または６４ビット長の論理アドレス空間などより長いビット長の論理アドレス空間とのアドレス指定互換性により、提供される本発明の方法では、他のピンまたは接続ポートを更に実装することは必要ではないし要求されもしない。提供される方法は、３２ビット長論理アドレス空間に適用される同じピンまたは接続ポートを使用して、より長いビット長論理アドレス空間のアドレス指定を実行するように構成される。ホストデバイス１０５は、３２ビット長論理アドレス空間に適用されるものと同じピンまたは接続ポートを介して、即ち、少なくとも１つの第２の外部信号ポートと少なくとも１つの第１の外部信号ポートとを介して、より長いビット長の論理アドレスの情報を含む様々な異なるコマンドをＳＤメモリカード１００へ送信するように構成することができる。
【００４９】
以下の実施形態では、ホストデバイス１０５の駆動回路１０５１は、第１のコマンドを送信し、最大３２ビット長アドレスパラメータを含むことができる第１の部分アドレスパラメータを伝送し、次いで、第２のコマンドを送信し、最大で別の３２ビット長アドレスパラメータを含むことのできる第２の部分アドレスパラメータを伝送するように構成され、ＳＤメモリカード１００のコントローラ１２０が、第１の部分アドレスパラメータおよび第２の部分アドレスパラメータを受信した後、組み合わせてより長いビット長アドレスパラメータ（３２ビット長アドレスよりも長いアドレス）を取得できるようにする。例えば、コントローラ１２０は、２つの３２ビット長アドレスを組み合わせて完全な６４ビット長アドレスパラメータを取得し、次いで、第２のコマンドのコマンドタイプに応じてコマンドキュータスク割当て、データユニットの読取り／書込み、またはデータユニットの消去などの動作を実行できる。なお、第１のコマンドは、ＳＤメモリカードの仕様で規定されている予約コマンド、例えば、コマンドＣＭＤ２２、ＣＭＤ３１、ＣＭＤ３９、ＣＭＤ４１、ＣＭＤ５１などのいずれかのコマンドを用いて実行できることに注意すべきである。更に、第１の部分アドレスパラメータおよび第２の部分アドレスパラメータは、３２ビット長アドレスに限定されない。ホストデバイス１０５のプロセッサ１０５３は、フラッシュメモリ１１０の実際の最大容量に応じて、第１の部分アドレスパラメータと第２の部分アドレスパラメータとによって構成される合計ビット長を決定することができる。例えば、最大容量が１２８ＴＢの場合、合計ビット長は３８ビット長として決定でき、例えば、第１の部分アドレスパラメータは６ビット長を示し、第２の部分アドレスパラメータは３２ビット長を示す。しかしながら、これは制限を意図したものではない。第１の部分アドレスパラメータおよび第２の部分アドレスパラメータは、可変であり得る。また、上記のデータユニットとは、ストレージページのデータ量やストレージブロックのデータ量を意味し、これは限界を意味するものではない。
【００５０】
ホストデバイス１０５が異なるコマンドをＳＤメモリカード１００へ送信して、異なるビット長論理アドレスでデータユニットを書き込む図である図４を参照する。図４に示すように、３２ビット長論理アドレスを含む書込みコマンドをＳＤメモリカード１００へ送信する場合、例えば、ホストデバイス１０５は、ＳＤメモリカード駆動回路１０５１を制御して、少なくとも１つの第２の外部信号ポートと少なくとも１つの第１の外部信号ポートとを介して、コマンドＣＭＤ２４を送信し、データユニットの論理アドレスなど３２ビット長アドレスパラメータをＳＤメモリカード１００のコントローラ１２０へ順次伝送し、次いで、上記と同じ経路を介して、データユニットをＳＤメモリカード１００のコントローラ１２０へ送信するので、コントローラ１２０は、書込みコマンドおよびデータユニットを受信した後、内部バスを介して３２ビット長論理アドレスに対応するデータユニットをフラッシュメモリ１１０に書き込む。
【００５１】
書込みコマンドおよび６４ビット長論理アドレスなどより長いビット長のアドレスをＳＤメモリカード１００へ送信する場合、例えば、ホストデバイス１０５は、ＳＤメモリカード駆動回路１０５１を制御して、少なくとも１つの第２の外部信号ポートと少なくとも１つの第１の外部信号ポートとを介して、例えば、第１のコマンドＣＭＤ２２（ただし、これに限定されない）など特定のコマンドを送信し、６４ビット長論理アドレスの３２の最上位ビット（第１の３２ビット長論理アドレスと見なすことができる）など第１の部分アドレスパラメータをＳＤメモリカード１００のコントローラ１２０へ順次伝送する。次いで、ＳＤメモリカード駆動回路１０５１は、少なくとも１つの第２の外部信号ポートと少なくとも１つの第１の外部信号ポートとを介して、コマンドＣＭＤ２４をＳＤメモリカード１００のコントローラ１２０へ送信し、６４ビット長論理アドレス（第２の３２ビット長論理アドレスと見なすことができる）の３２の最下位ビットなどの第２の部分アドレスパラメータをＳＤメモリカード１００のコントローラ１２０へ順次伝送する。次いで、駆動回路１０５１は、上記と同一の経路を介して、データユニットをコントローラ１２０へ送信するので、コントローラ１２０は、上記の２つのコマンドおよびそのようなデータユニットを受信した後、内部バスを介して、６４ビット長論理アドレスに対応するデータユニットをフラッシュメモリ１１０に書き込むことができる。
【００５２】
更に、別の実施形態では、ホストデバイス１０５は、コマンドＣＭＤ２２を送信する前に同じ信号経路を介してコマンドＣＭＤ２０をＳＤメモリカード１００へ送信し、ビデオスピードクラスデータ書込みを示すように構成することができる。
【００５３】
以下の実施形態では、ホストデバイス１０５からＳＤメモリカード１００のコントローラ１２０へコマンドを送信する動作は、上記の信号経路と同一の信号経路を使用することに注意すべきである。代わりに、コントローラ１２０からホストデバイス１０５へデータを送信する動作の場合、データは、少なくとも１つの第１の外部信号ポートと少なくとも１つの第２の外部信号ポートとを介して順次伝送される。説明は簡潔にするために詳述されていない。
【００５４】
複数データユニットを書き込む場合、例えば、３２ビット長論理アドレスを含む複数データユニット書込みコマンドをＳＤメモリカード１００へ送信するとき、例えば、ホストデバイス１０５は、ＳＤメモリカード駆動回路１０５１を制御してコマンドＣＭＤ２５をＳＤメモリカード１００へ送信し、論理アドレスなどの３２ビット長アドレスパラメータをＳＤメモリカード１００へ伝送し、次いで、複数データユニットをＳＤメモリカード１００へ送信して、３２ビット長論理アドレスに関連付けられた複数データユニットを書き込むが、ここで３２ビット長論理アドレスは複数データユニット用の書込み開始論理アドレスであってもよい。
【００５５】
更に、６４ビット長論理アドレスおよび複数データユニットの書込みコマンドをＳＤメモリカード１００へ送信する場合、例えば、ホストデバイス１０５は、ＳＤメモリカード駆動回路１０５１を制御して６４ビット長論理アドレスの３２の最上位ビットなど第１の部分アドレスパラメータを含む第１のコマンドＣＭＤ２２等の特定のコマンドをＳＤメモリカード１００へ送信し、次いで、６４ビット長論理アドレスの３２の最下位ビットなど第２の部分アドレスパラメータを含むコマンドＣＭＤ２５をＳＤメモリカード１００へ送信し、次いで、複数データユニットをＳＤメモリカード１００へ送信し、第１の部分アドレスパラメータと第２の部分アドレスパラメータとを組み合わせて形成できる６４ビット長アドレスパラメータであって、また上記の複数データユニット用の書込み開始論理アドレスであってもよい、６４ビット長論理アドレスに関連付けられた複数データユニットを書き込む。
【００５６】
したがって、処理回路１２０１は、コマンドＣＭＤ２２などの特定のコマンドを受信したときに第１の部分アドレスパラメータを取得し、次にコマンドＣＭＤ２４またはＣＭＤ２５を受信したときに第２の部分アドレスパラメータを取得し、次いで、第１の部分アドレスパラメータと第２の部分アドレスパラメータとを組み合わせて６４ビット長アドレスパラメータを取得し、そして、コマンドＣＭＤ２４またはＣＭＤ２５のコマンドタイプに応じて、後続の動作が単一データユニットの書込み動作か複数データユニットの書込み動作であるかを判断でき、したがって、６４ビット長論理アドレスに基づく単一データユニット書込み動作または複数データユニット書込み動作を実行することができる。代わりに、コントローラ１２０の処理回路１２０１がコマンドＣＭＤ２４またはＣＭＤ２５から伝送された第２の部分アドレスパラメータだけ受信する一方、特定のコマンドＣＭＤ２２および対応する第１の部分アドレスパラメータが受信されない場合、コントローラ１２０の処理回路１２０１は、第１の部分アドレスパラメータがゼロに等しいことを判断するように構成され、ホストデバイス１０５は、３２ビット長論理アドレスを有する１つまたは複数データユニットを書き込むように構成される。
【００５７】
本発明の一実施形態による、ホストデバイス１０５が異なるコマンドをＳＤメモリカード１００へ送信して、異なるビット長を有する論理アドレスに基づいてデータユニット読取り動作を実行することを示す図である図５を参照する。図５に示すように、読取りコマンドに関連付けられた３２ビット長論理アドレスをＳＤメモリカード１００へ送信する場合、例えば、ホストデバイス１０５は、ＳＤメモリカード駆動回路１０５１を用いて、コマンドＣＭＤ１７と単一データユニットの論理アドレスなど３２ビット長アドレスパラメータとをＳＤメモリカード１００へ送信し、次いで、ＳＤメモリカード１００から単一データユニットを読み取る。読取りコマンドに関連付けられた６４ビット長論理アドレスをＳＤメモリカード１００へ送信する場合、例えば、ホストデバイス１０５は、ＳＤメモリカード駆動回路１０５１を用いて、第１のコマンドＣＭＤ２２などの特定のコマンドと６４ビット長論理アドレスの３２の最上位ビットなど第１の部分アドレスパラメータとをＳＤメモリカード１００へ送信し、次いで、コマンドＣＭＤ１７と６４ビット長論理アドレスの３２の最下位ビットなどの第２の部分アドレスパラメータとをＳＤメモリカード１００へ送信し、そして、６４ビット長論理アドレスに対応する単一データユニットをＳＤメモリカード１００から読み取る。
【００５８】
複数データユニットの読取り動作の場合、（複数データユニットを読取るために）読取りコマンドに関連付けられた３２ビット長論理アドレスをＳＤメモリカード１００へ送信するとき、例えば、ホストデバイス１０５は、ＳＤメモリカード駆動回路１０５１を用いて、コマンドＣＭＤ１８と単一データユニットの論理アドレスなど３２ビット長アドレスパラメータとをＳＤメモリカード１００へ送信し、次いで、ＳＤメモリカード１００から複数データユニットを読み取るが、ここで３２ビット長アドレスパラメータは複数データユニットの読取り開始論理アドレスであってもよい。
【００５９】
更に、（複数データユニットを読み取るために）読取りコマンドに関連付けられた６４ビット長論理アドレスをＳＤメモリカード１００へ送信する場合、例えば、ホストデバイス１０５は、ＳＤメモリカード駆動回路１０５１を用いて、第１のコマンドＣＭＤ２２などの特定のコマンドと６４ビット長論理アドレスの３２の最上位ビットなどの第１の部分アドレスパラメータとをＳＤメモリカード１００へ送信し、次いで、コマンドＣＭＤ１８と６４ビット長論理アドレスの最下位３２ビットなどの第２の部分アドレスパラメータとをＳＤメモリカード１００へ送信し、そして、複数データユニットをＳＤメモリカード１００から読み取るが、ここで第１の部分アドレスパラメータおよび第２の部分アドレスパラメータによって構成される６４ビット長アドレスパラメータは、複数データユニットの読取り開始論理アドレスであってもよい。
【００６０】
したがって、コントローラ１２０の処理回路１２０１は、ＣＭＤ２２などの特定のコマンドを受信したときに第１の部分アドレスパラメータを取得でき、次いで、コマンドＣＭＤ１７またはＣＭＤ１８を受信したときに第２の部分アドレスパラメータを取得できる。処理回路１２０１は、第１の部分アドレスパラメータと第２の部分アドレスパラメータとを組み合わせて６４ビット長アドレスパラメータを取得でき、次いで、コマンドＣＭＤ１７またはＣＭＤ１８のコマンドタイプに応じて、読取りコマンドが単一データユニットまたは複数データユニットに関連付けられていることを認識できる。したがって、処理回路１２０１は、６４ビット長論理アドレスに基づいて、１つまたは複数のデータユニットに関連する読取り動作を正しく実行することができる。
【００６１】
代わりに、コントローラ１２０の処理回路１２０１がコマンドＣＭＤ１７またはＣＭＤ１８および対応する第２の部分アドレスパラメータを受信する一方で、特定のコマンドＣＭＤ２２および対応する第１の部分アドレスパラメータが受信されない場合、コントローラ１２０の処理回路１２０１が第１の部分アドレスパラメータがゼロに等しいことを判断するように構成され、３２ビット長論理アドレスに基づいてホストデバイス１０５が１つ以上のデータユニットを読み取るように構成されていることを決定する。
【００６２】
更に、ホストデバイス１０５は、第１のコマンドＣＭＤ２２を送信する前に、データの書込み／読取りの長さを示すコマンドＣＭＤ２３を送信するように構成されてもよい。本発明の実施形態による指定データの読取り長さおよび書込み長さに基づいて、ホストデバイス１０５が異なるコマンドをＳＤメモリカード１００へ送信して読取りおよび書込み動作を実行することを示す図である図６を参照する。図６に示すように、例えば、ホストデバイス１０５は、コマンドＣＭＤ２３を送信し、ＳＤメモリカード駆動回路１０５１を用いて指定データ長パラメータをＳＤメモリカード１００へ送信し、次いで、コマンドＣＭＤ２５と単一データユニットの論理アドレスなど３２ビット長アドレスパラメータをＳＤメモリカード１００へ送信し、次いで、指定データ長パラメータに対応する複数データユニットをＳＤメモリカード１００へ送信して、３２ビット長論理アドレスに対応する指定データ長パラメータの複数データユニットを書き込む。３２ビット長論理アドレスは、指定データ長パラメータの複数データユニットの開始アドレスである。
【００６３】
更に、例えば、ホストデバイス１００は、ＳＤメモリカード駆動回路１０５１を用いてコマンドＣＭＤ２３と指定データ長パラメータをＳＤメモリカード１００へ送信し、次いで、第１のコマンドＣＭＤ２２（これに限定されない）などの特定のコマンドと、６４ビット長論理アドレスの３２の最上位ビットなどの第１の部分アドレスパラメータを送信し、次いで、コマンドＣＭＤ２５および６４ビット長論理アドレスの３２の最下位ビットなど第２の部分アドレスパラメータをＳＤメモリカード１００へ送信し、そして、指定データ長パラメータに対応する複数データユニットをＳＤメモリカード１００へ送信し、６４ビット長論理アドレスに対応する指定データ長パラメータに対応する複数データユニットを書き込む。６４ビット長論理アドレスは、指定データ長パラメータの複数データユニットの開始アドレスであり、第１の部分アドレスパラメータと第２の部分アドレスパラメータとを組み合わせることによって得ることができる。
【００６４】
更に、データを読み取る場合、例えば、ホストデバイス１０５は、ＳＤメモリカード駆動回路１０５１を用いて、表示コマンドＣＭＤ２３と指定読取りデータ長パラメータをＳＤメモリカード１００へ送信し、次いで、コマンドＣＭＤ１８と単一データユニットの論理アドレスなど３２ビット長アドレスパラメータをＳＤメモリカード１００へ送信し、次いで、指定読取データ長パラメータに対応する複数データユニットをＳＤメモリカード１００から読み取る。３２ビット長アドレスパラメータは、指定読取りデータ長パラメータに対応する複数データユニットの開始アドレスである。
【００６５】
更に、例えば、ホストデバイス１０５は、コマンドＣＭＤ２３を送信し、ＳＤメモリカード駆動回路１０５１を用いて指定読取りデータ長パラメータをＳＤメモリカード１００へ伝送し、次いで、第１のコマンドＣＭＤ２２（ただし、これに限定されない）などの特定のコマンドを送信し、６４ビット長論理アドレスの３２の最上位ビットなどの第１の部分アドレスパラメータを伝送し、次いで、コマンドＣＭＤ２５と６４ビット長論理アドレスの３２の最下位ビットなどの第２の部分アドレスパラメータをＳＤメモリカード１００へ送信し、そしてＳＤメモリカード１００から、指定読取りデータ長パラメータに対応する複数データユニットを読み取る。６４ビット長アドレスパラメータは、指定読取データ長パラメータに対応する複数データユニットの開始アドレスであり、第１の部分アドレスパラメータと第２の部分アドレスパラメータとを組み合わせることによって得ることができる。
【００６６】
更に、上記の動作は、コマンドキュータスク割当てのブロック消去とブロック転送の実施形態に適用することができる。本発明の実施形態による、ホストデバイス１０５が異なるコマンドをＳＤメモリカード１００へ送信して、コマンドキュータスク割当てのブロック消去動作およびブロック転送動作を実行することを示す図である図７を参照する。図７に示すように、例えば、ホストデバイス１０５は、コマンドＣＭＤ３２を送信し、ＳＤメモリカード駆動回路１０５１を用いて３２ビット長指定消去開始アドレスパラメータをＳＤメモリカード１００へ伝送し、その後、コマンドＣＭＤ３３を送信し、３２ビット長指定消去終了アドレスパラメータをＳＤメモリカード１００へ伝送し、そしてコマンドＣＭＤ３８をＳＤメモリカード１００へ送信して、ブロック消去動作を実行する。したがって、コントローラ１２０の処理回路１２０１がコマンドＣＭＤ３２、３２ビット長指定消去開始アドレスパラメータ、コマンドＣＭＤ３３、３２ビット長指定消去終了アドレスパラメータ、およびコマンドＣＭＤ３８を順次受信すると、コントローラ１２０の処理回路１２０１は、消去されるべき指定アドレスセグメントのブロックコンテンツ上でブロック消去動作を相応に実行することができる。
【００６７】
更に、例えば、ホストデバイス１０５は、ＳＤメモリカード駆動回路１０５１を使用して、第１のコマンドＣＭＤ２２（ただし、これに限定されない）などの特定のコマンドを送信し、６４ビット長論理アドレスの３２の最上位ビットなど第１の部分アドレスパラメータをＳＤメモリカード１００へ伝送し、次いで、コマンドＣＭＤ３２を送信し、６４ビット長論理アドレスの３２の最下位ビットなど第２の部分アドレスパラメータをＳＤメモリカード１００へ伝送する。上記の第１の部分アドレスパラメータと第２の部分アドレスパラメータとを組み合わせて、６４ビット長指定消去開始アドレスパラメータを得ることができる。次に、ホストデバイス１０５は、ＳＤメモリカード駆動回路１０５１を使用して、特定のコマンドＣＭＤ２２を送信し、６４ビット長論理アドレスの３２の最上位ビットなど別の第１の部分アドレスパラメータを伝送し、次いで、コマンドＣＭＤ３３を送信し、６４ビット長論理アドレスの３２の最下位ビットなど別の第２の部分アドレスパラメータをＳＤメモリカード１００へ伝送する。上記の別の第１の部分アドレスパラメータと別の第２の部分アドレスパラメータとを組み合わせて、６４ビット長指定消去終了アドレスパラメータを得ることができる。ホストデバイス１０５は、最後に、コマンドＣＭＤ３８をＳＤメモリカード１００へ送信して、ブロック消去動作を実行する。したがって、上記のコマンドおよび対応するパラメータを順次受信する場合、コントローラ１２０の処理回路２１０１は、部分アドレスパラメータを組み合わせて、６４ビット長指定消去開始アドレスパラメータおよび６４ビット長指定消去終了パラメータを取得することができ、したがって、指定消去パラメータで示される６４ビット長アドレスセグメントのデータコンテンツ上でブロック消去動作を実行する。
【００６８】
更に、ホストデバイス１０５は、コマンドキュータスク割当てのデータユニットの転送では、ホストデバイス１０５は、例えば、ＳＤメモリカード駆動回路１０５１を用いて、第１の転送コマンドＣＭＤ４４を送信し、データの読取り／書込み、優先度、タスクＩＤ、データユニット総数に関する転送パラメータ情報をＳＤメモリカード１００へ伝送し、そして、第２の転送コマンドＣＭＤ４５を送信し、タスクＩＤに対応する３２ビット長指定データユニット開始アドレスパラメータをＳＤメモリカード１００へ伝送する。したがって、上記のコマンドおよび対応するパラメータを順次受信すると、コントローラ１２０の処理回路１２０１は、３２ビット長開始アドレスに基づいてデータユニット転送動作を実行することができる。
【００６９】
更に、６４ビット長アドレスのデータユニット転送では、例えば、ホストデバイス１０５は、ＳＤメモリカード駆動回路１０５１を用いて、コマンドＣＭＤ４４を送信し、データの読取り／書込み、優先度、タスクＩＤ、およびデータユニット総数に関するパラメータをＳＤメモリカード１００へ伝送し、次に、第１のコマンドＣＭＤ２２（限定されない）などの特定のコマンドを送信し、タスクＩＤに対応する第１の部分アドレスパラメータ、例えば、６４ビット長論理アドレスの３２の最上位ビットをＳＤメモリカード１００へ、次に第２の転送コマンドＣＭＤ４５へ伝送し、タスクＩＤに対応する第２の部分アドレスパラメータ、例えば、６４ビット長論理アドレスの３２の最下位ビットをＳＤメモリカード１００へ伝送する。したがって、上記のコマンドおよび対応するパラメータを順次受信する場合、コントローラ１２０の処理回路１２０１は、組み合わせて６４ビット長開始アドレスを取得し、その後、６４ビット長開始アドレスに基づいてデータユニット転送動作を実行することができる。
【００７０】
本発明の実施形態によれば、コントローラ１２０の処理回路１２０１は、第１の部分アドレスパラメータおよび第２の部分アドレスパラメータを受信した後、組み合わせてより長いビット長アドレスパラメータを取得するように構成される。例えば、処理回路１２０１は、２つの３２ビット長部分アドレスパラメータを組み合わせて完全な６４ビット長アドレスパラメータを取得し、次いで、対応するコマンドタイプに応じて、コマンドキュータスク割当て、データユニットの読取り／書込み、および消去などの対応する動作を実行することができる。言い換えると、本発明の提供される方法は、第１のコマンドを送信して、第１の部分アドレスパラメータをＳＤメモリカードへ伝送し、次いで、第２のコマンドを送信し、第２の部分アドレスパラメータをＳＤメモリカードへ伝送し、ＳＤメモリカードのコントローラ１２０の処理回路１２０１が、第１および第２の部分アドレスパラメータを参照して、６４ビット長アドレスパラメータなどのより長いビット長アドレスパラメータを取得し、コマンドキュータスク割当て、データユニットの読取り／書込み、または消去の動作を実行できるようにする。更に、第１の部分アドレスパラメータは上位ビットアドレスパラメータであり得て、第２の部分アドレスパラメータは下位ビットアドレスパラメータであり得る。また、第１の部分アドレスパラメータは下位ビットアドレスパラメータであり得て、第２の部分アドレスパラメータは上位ビットアドレスパラメータであり得る。これらの変更は全て、本発明の範囲に含まれる。更に、上記の特定のコマンドは、ＳＤメモリカード仕様で規定されている予約コマンドなどの第１のコマンドであり得て、コマンドＣＭＤ２２に限定されないが、第１のコマンドは、他のコマンドＣＭＤ３１、ＣＭＤ３９、ＣＭＤ４１、およびＣＭＤ５１のいずれかであり得る。
【００７１】
また、本発明の提供される方法では、追加のピンまたはポートを更に実装する必要がない。より長いビット長のアドレス空間のアドレス指定を実施するためには、３２ビット長アドレス空間のアドレス指定と互換性のある元のピンまたはポートのみが必要である。次の表は、本発明の実施形態における、特定のＳＤメモリカードのＳＤモードのピン番号、名前、タイプ、および対応する説明の一例を示す。
【表２】
2021508878.tif 000004
【００７２】
「Ｓ」は電源、「Ｉ」は入力、「Ｏ」はプッシュプル駆動出力、「ＰＰ」はプッシュプル駆動入出力を意味する。上記のコマンドはＣＭＤピンを介して伝送され、データはＤＡＴ０、ＤＡＴ１、ＤＡＴ２、およびＣＤ／ＤＡＴ３のピンを介して伝送される。
【００７３】
図８を参照してください。図８は、本発明の実施形態によるＳＤメモリカードのコマンド伝送フォーマットの一例を示す図である。図８に示すように、上記の各コマンドは、例えば、このようなコマンド伝送フォーマットに基づいて、ＣＭＤピンを介して伝送される。例えば、第２の信号ポートと第１の信号ポートとを介してホストデバイス１０５の駆動回路１０５１からＳＤメモリカード１００へ伝送されるときの第１のコマンド、読取りコマンド、および書込みコマンドの各コマンドには、順次送信される開始ビット「０」、伝送ビット「１」、コマンドコンテンツ、ＣＲＣパリティチェックコード、および終了ビット「１」が含まれ、ここで、コマンドコンテンツは、複数のビットによって構成されるコマンドタイプ（例えば、第１の、読取り、または書込み）と、順次伝送される上記の３２ビット長部分アドレスパラメータなどのアドレス情報またはパラメータで構成される。例えば、ＣＲＣパリティチェックコードは、７ビットで構成されるチェックサムである。例えば、コマンド伝送フォーマットのビット長は合計４８ビットである。したがって、内部バスを介して第１の信号ポートのＣＭＤピンで開始ビット「０」および伝送ビット「１」を順次受信すると、コントローラ１２０は、ホストデバイス１０５がコマンドをＳＤメモリカード１００に伝送していることを検出できる。コントローラ１２０は、コマンドの伝送フォーマットに応じて、コマンドタイプの情報およびアドレスパラメータの情報を順次受信して取得し、ＣＲＣパリティチェックコードを用いて、伝送されたコマンドのビット情報にエラーが発生していないかを確認できる。最後に、終了ビット「１」を検出すると、コントローラ１２０は、伝送されたコマンドの終了位置を知ることができる。
【００７４】
図９を参照してください。図９は、本発明の実施形態によるＳＤメモリカード１００にデータを書き込むためのコマンドＣＭＤ２２および書込みコマンドＣＭＤ２４を送信するホストデバイス１０５のコマンド送信フォーマットの一例を示す図である。例えば、図９に示されるように、ホストデバイス１０５は、例えば、０ｘ０５０５＿０５０５＿０Ａ０Ａ＿０Ａ０Ａ（ただし、これに限定されない）などの６４ビット長アドレスでデータを書き込むように構成される。ホストデバイス１０５は、コマンドＣＭＤ２２を送信する場合、開始ビット「０」、送信ビット「１」、コマンドＣＭＤ２２のコマンドコンテンツ、コマンドＣＭＤ２２のＣＲＣパリティチェックコード、対応する終了ビット「１」を順次送信する。次に、ホストデバイス１０５は、別の開始ビット「０」、別の送信ビット「１」、コマンドＣＭＤ２４のコマンドコンテンツ、コマンドＣＭＤ２４のＣＲＣパリティチェックコード、および対応する終了ビット「１」を送信し、次に、書き込まれるべきデータを送信する。コマンドＣＭＤ２２のコマンドコンテンツには、ＣＭＤ２２のコマンドタイプ、例えば、０ｘ１６の情報と、６４ビット長アドレスの３２の最上位ビット、例えば、０ｘ０５０５＿０５０５が含まれる。コマンドＣＭＤ２４のコマンドコンテンツは、ＣＭＤ２４のコマンドタイプ、例えば、０ｘ１８の情報と、６４ビット長アドレスの３２の最下位ビット、例えば、０ｘ０Ａ０Ａ＿０Ａ０Ａが含まれる。２つのコマンドのコマンドタイプの情報および対応するアドレス情報／パラメータを受信した後、コントローラ１２０の処理回路１２０１は、組み合わせて６４ビット長アドレスを取得し、ホストデバイス１０５が要求した実行すべき動作は書込みコマンド動作であると決定できる。コマンドＣＭＤ２２およびＣＭＤ２４は、コマンドタイプの情報および対応するアドレス情報を説明するための単なる例として使用されていることに注意すべきである。これらの例は、本発明を限定することを意味するものではない。
【００７５】
更に、本発明の教示に基づいて、当業者は、別の実施形態では、コマンドＣＭＤ２２のコマンドコンテンツには、０ｘ０Ａ０Ａ＿０Ａ０Ａ  ０５０５＿０５０５（ただし、これに限定されない）など、６４ビット長アドレスの３２の最下位ビットを表すアドレス情報（例えば、０ｘ０５０５＿０５０５）が含まれ、また、ホストデバイス１０５がこのような６４ビット長アドレスに基づいてデータ書込みを実行する場合、書き込みコマンドＣＭＤ２４のコマンドコンテンツには、０ｘ０Ａ０Ａ＿０Ａ０Ａ  ０５０５＿０５０５（ただし、これに限定されない）などの６４ビット長アドレスの３２の最上位ビットを表すアドレス情報（例えば、０ｘ０Ａ０Ａ＿０Ａ０Ａ）が含まれるということを理解することができるであろう。即ち、ホストデバイス１０５がコマンドＣＭＤ２２、ＣＭＤ２４を順次送信するという条件下では、コマンドＣＭＤ２２、ＣＭＤ２４をそれぞれ用いて、６４ビット長アドレスの一部と他の部分を送信することができる。また、フラッシュメモリコントローラ１２０が６４ビット長アドレスの一部および別の部分を受信する場合、コントローラ１２０は、ホストデバイス１０５とコントローラ１２０との間のコマンド通信プロトコルに応じて、正しく組み合わせて完全な６４ビット長アドレスを取得することもできる。これらの変更は全て、本発明の範囲に含まれる。
【００７６】
図１０は、本発明の実施形態によるＳＤメモリカード１００の動作の状態図である。図１０に示すように、状態図は状態１２００から始まると仮定する。状態１２００はデータ転送状態である。この状態では、ＳＤメモリカード１００はまだ１つのアクセスコマンドも受信していない。すなわち、ＳＤメモリカード１００は、６４ビット長論理アドレスのうち、最上位３２ビットと最下位３２ビットをまだ受信していない。状態１２００で、ＳＤメモリカード１００がコマンドＣＭＤ１７、ＣＭＤ１８、ＣＭＤ２４、またはＣＭＤ２５を受信する場合、これは、ＳＤメモリカード１００が単に３２ビット長アドレスパラメータを受信することを示す。ＳＤメモリカード１００がコマンドＣＭＤ１７、ＣＭＤ１８、ＣＭＤ２４、またはＣＭＤ２５によって搬送される６４ビット長論理アドレスの最下位３２ビットを受信する。次に、ＳＤメモリカード１００が状態１２０４に移行する。状態１２０４は、下位ビットアドレスパラメータを取得する状態である。その後、ＳＤメモリカード１００が状態１２０４から状態１２５０に移行する。状態１２５０は、実行または拒否の状態である。例えば、状態１２５０で、ＳＤメモリカード１００が、コマンドＣＭＤ１７、ＣＭＤ１８、ＣＭＤ２４、またはＣＭＤ２５によって搬送される６４ビット長論理アドレスの最下位３２ビットを単に受信する場合、最下位３２ビットは、対応する実行動作用の３２ビット長アドレスと見なされる。この状況では、ＳＤメモリカード１００のコントローラ１２０が、３２ビット長アドレスに基づいて、フラッシュメモリ１１０上で読取り／書込み動作を実行するように構成される。コマンドを実行できない場合（例えば、コマンドのアドレスが範囲外である、またはコマンドが書込みコマンドであるが、決定されたアドレスが読取り専用領域に関連付けられているために書き込みできないなど）、ＳＤメモリカード１００が実行動作を拒否する。そして、ＳＤメモリカード１００が状態１２５０から状態１２００に切り替わる。
【００７７】
状態１２００でコマンドＣＭＤ２２を受信する場合、これは、ＳＤメモリカード１００がコマンドＣＭＤ２２によって搬送される６４ビット長論理アドレスの最上位３２ビットを受信することを示す。そして、ＳＤメモリカード１００が上位ビットアドレスパラメータを取得する状態１２０２に移行する。状態１２０２でコマンドＣＭＤ２２を再び受信する場合、ＳＤメモリカード１００が、最後に受信したコマンドＣＭＤ２２に従って、６４ビット長論理アドレスの最上位３２ビットを更新するように構成される。状態１２０２でＳＤメモリカード１００がコマンドＣＭＤ１７、ＣＭＤ１８、ＣＭＤ２４、またはＣＭＤ２５を受信すると、ＳＤメモリカード１００が状態１２０４に移行する。これは、ＳＤメモリカード１００が、コマンドＣＭＤ１７、ＣＭＤ１８、ＣＭＤ２４、またはＣＭＤ２５によって搬送される６４ビット長論理アドレスの最下位３２ビットを受信することを示す。この状況では、状態１２５０に移行すると、ＳＤメモリカード１００のコントローラ１２０が、６４ビット長論理アドレスに基づいて、フラッシュメモリ１１０上でデータ読取り／書込み動作を実行するように構成される。状態１２０２でコマンドＣＭＤ３２を受信すると、ＳＤメモリカード１００が状態１２１２に移行する。
【００７８】
状態１２０２で、コマンドＣＭＤ２２、ＣＭＤ１７、ＣＭＤ１８、ＣＭＤ２４、ＣＭＤ２５、およびＣＭＤ３２とは異なる他のコマンドを受信すると、ＳＤメモリカード１００が状態１２６０に移行する。状態１２６０に移行すると、ＳＤメモリカード１００がデータ転送状態１２００に戻るように構成される。
【００７９】
状態１２００でコマンドＣＭＤ２３を受信する場合、ＳＤメモリカード１００が指定読取り書込みデータ長のコマンドを受信することを示す。ＳＤメモリカード１００が、上位ビットアドレスパラメータがゼロの状態である状態１２２２に移行する。即ち、６４ビット長論理アドレスの上位３２ビットは受信されない。状態１２２２でコマンドＣＭＤ２３を繰り返し受信する場合、ＳＤメモリカード１００が状態１２２２を維持する。状態１２２２でコマンドＣＭＤ２２を受信する場合、これは、ＳＤメモリカード１００が、コマンドＣＭＤ２２によって搬送される６４ビット長論理アドレスの最上位３２ビットを現在受信していることを示す。次いで、ＳＤメモリカード１００が状態１２２３に移行する。
【００８０】
状態１２２３は、上位ビットアドレスパラメータを取得する状態である。状態１２２３でコマンドＣＭＤ２３を再度受信する場合、これは以前に受信したコマンドＣＭＤ２２が失敗したことを示す。ＳＤメモリカード１００が状態１２２３から状態１２２２に切り替わる。状態１２２３で他のコマンドを受信する場合、ＳＤメモリカード１００が状態１２６０に移行する。状態１２６０に移行すると、ＳＤメモリカード１００がデータ転送状態１２００に戻るように構成される。状態１２２３でコマンドＣＭＤ１８／２５を受信する場合、これは、ＳＤメモリカード１００が、コマンドＣＭＤ１８／２５によって搬送される６４ビット長論理アドレスの最下位３２ビットを現在受信していることを示す。この状況では、ＳＤメモリカード１００が下位ビットアドレスパラメータを取得する状態１２２４に切り替わる。次いで、ＳＤメモリカード１００が状態１２２４から状態１２５０に移行する。ＳＤメモリカード１００が６４ビット長論理アドレスの最上位３２ビットおよび最下位３２ビットを受信する場合、状態１２５０にあるコントローラ１２０が、６４ビット長論理アドレスに基づいて、フラッシュメモリ１１０上で指定データ長の読取り／書込み動作を実行するように構成される。
【００８１】
状態１２２２でＳＤメモリカード１００がコマンドＣＭＤ１８／２５を受信する場合、これは、ＳＤメモリカード１００が単に３２ビット長アドレスを受信し、その後、状態１２２４に移行することを示す。そして、ＳＤメモリカード１００が状態１２２４から状態１２５０に切り替わる。状態１２５０で、コントローラ１２０が、３２ビット長論理アドレスに基づいて、フラッシュメモリ１１０上で指定データ長の読取り／書込み動作を実行するように構成される。
【００８２】
状態１２００でコマンドＣＭＤ３２を受信する場合、これはＳＤメモリカード１００がコマンドＣＭＤ３２によって搬送される３２ビットアドレスパラメータを受信することを示す（３２ビットアドレスパラメータは、３２ビット長論理開始アドレス、または６４ビット長論理開始アドレスの最下位３２ビットを意味する場合がある）。この状況では、ＳＤメモリカード１００が論理開始アドレスの３２ビットを取得する状態１２１２に移行する。そして、ＳＤメモリカード１００がアドレス情報待ちの状態である状態１２１４に移行する。
【００８３】
状態１２１４でコマンドＣＭＤ３３を受信する場合、これは、ＳＤメモリカード１００がコマンドＣＭＤ３３によって搬送される３２ビットアドレスパラメータを受信することを示す（３２ビットアドレスパラメータは、３２ビット長論理終了アドレスまたは６４ビット長論理終了アドレスの最下位３２ビットを意味する場合がある）。この状態では、ＳＤメモリカード１００が論理終了アドレスの３２ビットを取得する状態１２１６に移行する。その後、コマンドＣＭＤ３８を受信すると、ＳＤメモリカード１００が実行動作を行う状態１２１８に移行する。したがって、ＳＤメモリカード１００が状態１２１２、１２１４、１２１６、および１２１８を順次通過すると、次に、コントローラ１２０が、３２ビット長論理開始アドレスおよび３２ビット長論理終了アドレスに基づいて、フラッシュメモリ１１０上で消去動作を実行するように構成される。
【００８４】
状態１２１４でコマンドＣＭＤ２２を受信する場合、これは、ＳＤメモリカード１００がコマンドＣＭＤ２２によって搬送される３２ビット長アドレスパラメータを受信することを示す。ＳＤメモリカード１００が状態１２１２から状態１２１４に切り替わったので、コントローラ１２０は状態１２１４で受信されたコマンドＣＭＤ２２が６４ビット長論理終了アドレスの最上位３２ビットを搬送すると判断することができ、次いで、ＳＤメモリカード１００が６４ビット長論理終了アドレスの最上位３２ビットを取得する状態１２１５に移行する。状態１２１５でコマンドＣＭＤ２２を再び受信する場合、これは、ホストデバイス１０５が６４ビット長論理終了アドレスの最上位３２ビットを更新したいことを示している。新しいコマンドＣＭＤ２２を受信した後、ＳＤメモリカード１００が６４ビット長論理終了アドレスの最上位３２ビットを更新するように構成される。
【００８５】
状態１２１５でコマンドＣＭＤ３３を受信する場合、これは、ＳＤメモリカード１００がコマンドＣＭＤ３３によって搬送される３２ビット長アドレスパラメータを受信することを示し（３２ビット長アドレスパラメータは、６４ビット長論理終了アドレスの最下位３２ビットである）、次いで、この状況では、論理終了アドレスの３２ビットを取得する状態１２１６に移行する。その後、コマンドＣＭＤ３８を受信すると、ＳＤメモリカード１００が実行動作を取得する状態１２１８に移行する。したがって、ＳＤメモリカード１００が状態１２０２、１２１２、１２１４、１２１５、１２１６、および１２１８を順次通過する場合、コントローラ１２０が、６４ビット長論理開始アドレスおよび６４ビット長論理終了アドレスに応じて、フラッシュメモリ１１０上でデータ消去動作を実行するように構成される。
【００８６】
なお、状態１２０２、１２２２、１２２３、１２１４、１２１５、および１２１６のいずれかにおいて、予期しないコマンド（上記コマンドとは異なる他のコマンド）を受信する場合、ＳＤメモリカード１００は、状態１２６０に切り替わるように構成され、次いでデータ転送状態１２００に戻る。
【００８７】
当業者は、本開示の教示を保持しながら、デバイスおよび方法に関する多くの修正および変更を行うことができることを容易に理解するであろう。したがって、上記の開示は、添付の特許請求の範囲の境界によってのみ限定されると解釈されるべきである。
【図１】
2021508878.tif 000005
【図２】
2021508878.tif 000006
【図３】
2021508878.tif 000007
【図４】
2021508878.tif 000008
【図５】
2021508878.tif 000009
【図６】
2021508878.tif 000010
【図７】
2021508878.tif 000011
【図８】
2021508878.tif 000012
【図９】
2021508878.tif 000013
【図１０】
2021508878.tif 000014
【手続補正書】
【提出日】令和2年8月13日(2020.8.13)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】００３１
【補正方法】変更
【補正の内容】
【００３１】
メモリカード製造業者のカード初期化デバイスは、フラッシュメモリ１１０の最大容量が、３２ビット長アドレス空間のアドレス指定に対応する特定の容量、例えば、最大容量２ＴＢなどの容量を超えるかどうかに応じて、ＣＳＤのバージョンを設定できる。例えば、フラッシュメモリ１１０の最大容量が２ＴＢ以下の場合、メモリカード製造業者のカード初期化デバイスは、このようなＣＳＤのバージョンを旧バージョンとして設定してこのフラッシュメモリが最大２ＴＢの容量をサポートすることを示し、ＳＤメモリカード１００を既存の従来のホストデバイスと互換性があるようにする。これにより、新バージョンの機能を備えたＳＤメモリカードを旧バージョンとして構成して、旧バージョンのドライバソフトのみを搭載したホストデバイスと互換性を持たせることができる。更に、ホストデバイスにインストールされている旧バージョンのドライバソフトを新バージョンに更新できる。フラッシュメモリ１１０の最大容量が２ＴＢを超える場合、メモリカード製造業者のカード初期化デバイスは、ＣＳＤのバージョンを新バージョンとして設定し、このフラッシュメモリが２ＴＢを超える容量をサポートできることを示すように構成する。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００６３
【補正方法】変更
【補正の内容】
【００６３】
更に、例えば、ホストデバイス１０５は、ＳＤメモリカード駆動回路１０５１を用いてコマンドＣＭＤ２３と指定データ長パラメータをＳＤメモリカード１００へ送信し、次いで、第１のコマンドＣＭＤ２２（これに限定されない）などの特定のコマンドと、６４ビット長論理アドレスの３２の最上位ビットなどの第１の部分アドレスパラメータを送信し、次いで、コマンドＣＭＤ２５および６４ビット長論理アドレスの３２の最下位ビットなど第２の部分アドレスパラメータをＳＤメモリカード１００へ送信し、そして、指定データ長パラメータに対応する複数データユニットをＳＤメモリカード１００へ送信し、６４ビット長論理アドレスに対応する指定データ長パラメータに対応する複数データユニットを書き込む。６４ビット長論理アドレスは、指定データ長パラメータの複数データユニットの開始アドレスであり、第１の部分アドレスパラメータと第２の部分アドレスパラメータとを組み合わせることによって得ることができる。
【国際調査報告】
2021508878.tif 000015
2021508878.tif 000016