IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ シリコン モーション インコーポレイティッドの特許一覧

特許7229326メモリアドレス指定方法と関連するコントローラ、メモリデバイス、及びホスト
<>
  • 特許-メモリアドレス指定方法と関連するコントローラ、メモリデバイス、及びホスト 図1
  • 特許-メモリアドレス指定方法と関連するコントローラ、メモリデバイス、及びホスト 図2
  • 特許-メモリアドレス指定方法と関連するコントローラ、メモリデバイス、及びホスト 図3
  • 特許-メモリアドレス指定方法と関連するコントローラ、メモリデバイス、及びホスト 図4A
  • 特許-メモリアドレス指定方法と関連するコントローラ、メモリデバイス、及びホスト 図4B
  • 特許-メモリアドレス指定方法と関連するコントローラ、メモリデバイス、及びホスト 図5A
  • 特許-メモリアドレス指定方法と関連するコントローラ、メモリデバイス、及びホスト 図5B
  • 特許-メモリアドレス指定方法と関連するコントローラ、メモリデバイス、及びホスト 図6
  • 特許-メモリアドレス指定方法と関連するコントローラ、メモリデバイス、及びホスト 図7
  • 特許-メモリアドレス指定方法と関連するコントローラ、メモリデバイス、及びホスト 図8
  • 特許-メモリアドレス指定方法と関連するコントローラ、メモリデバイス、及びホスト 図9
  • 特許-メモリアドレス指定方法と関連するコントローラ、メモリデバイス、及びホスト 図10
  • 特許-メモリアドレス指定方法と関連するコントローラ、メモリデバイス、及びホスト 図11
  • 特許-メモリアドレス指定方法と関連するコントローラ、メモリデバイス、及びホスト 図12
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-02-16
(45)【発行日】2023-02-27
(54)【発明の名称】メモリアドレス指定方法と関連するコントローラ、メモリデバイス、及びホスト
(51)【国際特許分類】
   G06F 12/02 20060101AFI20230217BHJP
【FI】
G06F12/02 570Q
G06F12/02 580J
【請求項の数】 14
(21)【出願番号】P 2021193423
(22)【出願日】2021-11-29
(62)【分割の表示】P 2020547277の分割
【原出願日】2018-12-28
(65)【公開番号】P2022028890
(43)【公開日】2022-02-16
【審査請求日】2021-11-30
(31)【優先権主張番号】62/610,937
(32)【優先日】2017-12-28
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】520189588
【氏名又は名称】シリコン モーション インコーポレイティッド
【氏名又は名称原語表記】SILICON MOTION INC.
【住所又は居所原語表記】8F-1, NO.36, TAIYUAN ST., ZHUBEI CITY, HSINCHU COUNTY, Taiwan 30265 CHINA
(74)【代理人】
【識別番号】100125450
【弁理士】
【氏名又は名称】河野 広明
(72)【発明者】
【氏名】シェ チャオ クイ
【審査官】後藤 彰
(56)【参考文献】
【文献】特開2017-157209(JP,A)
【文献】特許第6232109(JP,B1)
【文献】米国特許出願公開第2009/0327644(US,A1)
【文献】中国特許出願公開第103268775(CN,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 12/02
(57)【特許請求の範囲】
【請求項1】
電子デバイスがセキュアデジタル(SD)カードにアクセスするための方法であって、
前記電子デバイスは、
前記SDカードに電圧を供給するための電圧供給接点と、
少なくとも1つの接地接点と、
前記SDカードにクロック信号を提供するためのクロック接点と、
前記SDカードにコマンドを提供するためのコマンド接点と、
前記SDカードへのデータ書込み用又は該SDカードからのデータ読取り用の4つのデータ接点と、を含むI/Oインタフェースを備え、
該方法は、
前記コマンド接点を介して、第1のアドレスを含むアドレス拡張コマンドを前記SDカードへ送信することと、
前記コマンド接点を介して、第2のアドレスを含むアクセスコマンドを前記SDカードへ送信することと、
前記第1のアドレスと前記第2のアドレスとの結合体である第3のアドレスによって少なくとも示される前記SDカードの少なくとも1つのメモリロケーションにアクセスすることと、を含み、
前記アクセスコマンドは、単一読取り動作、単一書込み動作、複数読取り動作、複数書込み動作、及び消去動作から選択される前記SDカード上で実行されるアクセス動作を示し、
前記アドレス拡張コマンドがCMD22コマンドを含み、前記アクセスコマンドがCMD23コマンド及びCMD18コマンドを含む場合、前記SDカードの前記少なくとも1つのメモリロケーションにアクセスすることは、前記第3のアドレスによって示される前記少なくとも1つのメモリロケーションのうちの第1のメモリロケーションから前記複数の読取り動作を実行することを含み、前記第3のアドレスは、前記CMD22コマンド内に含まれる前記第1のアドレスと前記CMD18コマンド内に含まれる前記第2のアドレスとに従って生成される、
方法。
【請求項2】
前記第3のアドレスは、前記第1のアドレス及び前記第2のアドレスを直列に接続することによって生成される、
請求項1に記載の方法。
【請求項3】
前記第1のアドレス及び前記第2のアドレスは両方とも32ビットである、
請求項1に記載の方法。
【請求項4】
前記第1のアドレスは6ビットであり、前記第2のアドレスは32ビットである、
請求項1に記載の方法。
【請求項5】
前記アドレス拡張コマンドがCMD22コマンドを含み、前記アクセスコマンドがCMD17コマンドを含む場合、前記SDカードの前記少なくとも1つのメモリロケーションにアクセスすることは、第4のアドレスによって示される前記少なくとも1つのメモリロケーションのうちの第2のメモリロケーションに対して前記単一読取り動作を実行することを含み、前記第4のアドレスは、前記CMD22コマンド内に含まれる第5のアドレスと前記CMD17コマンド内に含まれる第6のアドレスとに従って生成される、
請求項1に記載の方法。
【請求項6】
前記アドレス拡張コマンドがCMD22コマンドを含み、前記アクセスコマンドがCMD24コマンドを含む場合、前記SDカードの前記少なくとも1つのメモリロケーションにアクセスすることは、第4のアドレスによって示される前記少なくとも1つのメモリロケーションのうちの第2のメモリロケーションに対して前記単一書込み動作を実行することを含み、前記第4のアドレスは、前記CMD22コマンド内に含まれる第5のアドレスと前記CMD24コマンド内に含まれる第6のアドレスとに従って生成される、
請求項1に記載の方法。
【請求項7】
前記アドレス拡張コマンドがCMD22コマンドを含み、前記アクセスコマンドがCMD23コマンド及びCMD25コマンドを含む場合、前記SDカードの前記少なくとも1つのメモリロケーションにアクセスすることは、第4のアドレスによって示される前記少なくとも1つのメモリロケーションのうちの第2のメモリロケーションから前記複数書込み動作を実行することを含み、前記第4のアドレスは、前記CMD22コマンド内に含まれる第5のアドレスと前記CMD25コマンド内に含まれる前記第2のアドレスとに従って生成される、
請求項1に記載の方法。
【請求項8】
前記アドレス拡張コマンドがCMD22コマンドを含み、前記アクセスコマンドがCMD32及びCMD38コマンドを含む場合、前記SDカードの前記少なくとも1つのメモリロケーションにアクセスすることは、前記CMD38コマンドに応答して、前記第4のアドレスによって示される前記少なくとも1つのメモリロケーションのうちの第2のメモリロケーションから前記消去動作を実行することを含み、前記第4のアドレスは、前記CMD22コマンドと前記CMD32コマンドとに従って生成される、
請求項1に記載の方法。
【請求項9】
前記アドレス拡張コマンドが第1のCMD22コマンド及び第2のCMD22コマンドを含み、前記アクセスコマンドがCMD32コマンド、CMD33コマンド及びCMD38コマンドを含む場合、前記SDカードの前記少なくとも1つのメモリロケーションにアクセスすることは、前記CMD38コマンドに応答して、第4のアドレスによって示される前記少なくとも1つのメモリロケーションのうちの第2のメモリロケーションから第5のアドレスによって示される別のメモリロケーションまで前記消去動作を実行することを含み、前記第4のアドレスは、前記第1のCMD22コマンドと前記CMD32コマンドとに従って生成され、前記第5のアドレスは、前記第2のCMD22コマンドと前記CMD33コマンドとに従って生成される、
請求項1に記載の方法。
【請求項10】
前記アドレス拡張コマンドがCMD22コマンドを含み、前記アクセスコマンドがCMD44コマンド及びCMD45コマンドを含む場合、前記SDカードの前記少なくとも1つのメモリロケーションにアクセスすることは、第4のアドレスによって示される前記少なくとも1つのメモリロケーションのうちの第2のメモリロケーションからデータ転送を実行することを含み、前記第4のアドレスは、前記CMD22コマンド内に含まれる第5のアドレスと前記CMD45コマンド内に含まれる第6のアドレスとに従って生成される、
請求項1に記載の方法。
【請求項11】
電子デバイスがSDカードにアクセスするための方法であって、
前記電子デバイスは、
前記SDカードに電圧を供給するための電圧供給接点と、
少なくとも1つの接地接点と、
前記SDカードにクロック信号を提供するためのクロック接点と、
前記SDカードにコマンドを提供するためのコマンド接点と、
前記SDカードへのデータ書込み又は前記SDカードからのデータ読取りのための4つのデータ接点と、を含むI/Oインタフェースを備え、
前記方法は、
前記コマンド接点を介して、第1のアドレスを含むアドレス拡張コマンドを前記SDカードへ送信することと、
前記コマンド接点を介して、第2のアドレスを含むアクセスコマンドを前記SDカードへ送信することと、
前記第1のアドレスと前記第2のアドレスの組合せである第3のアドレスによって少なくとも示される前記SDカードの少なくとも1つのメモリロケーションにアクセスすることと、を含み、
前記アクセスコマンドは、単一読取り動作、単一書込み動作、複数読取り動作、複数書込み動作、及び消去動作から選択される前記SDカード上で実行されるアクセス動作を示し、
前記アドレス拡張コマンドが第1のCMD22コマンド及び第2のCMD22コマンドを含み、前記アクセスコマンドがCMD32コマンド、CMD33コマンド、及びCMD38コマンドを含む場合、前記SDカードの前記少なくとも1つのメモリロケーションにアクセスすることは、前記CMD38コマンドに応答して、前記第3のアドレスによって示される前記少なくとも1つのメモリロケーションのうちの第1のメモリロケーションから第4のアドレスによって示される別のメモリロケーションまで前記消去動作を実行することを含み、前記第3のアドレスは、前記第1のCMD22コマンドと前記CMD32コマンドとに従って生成され、前記第4のアドレスは、前記第2のCMD22コマンドと前記CMD33コマンドとに従って生成される、
方法。
【請求項12】
前記アドレス拡張コマンドがCMD22コマンドを含み、前記アクセスコマンドがCMD44コマンド及びCMD45コマンドを含む場合、前記SDカードの前記少なくとも1つのメモリロケーションにアクセスすることは、第5のアドレスによって示される前記少なくとも1つのメモリロケーションのうちの第2のメモリロケーションからデータ転送を実行することを含み、前記第5のアドレスは、前記CMD22コマンド内に含まれる第6のアドレスと前記CMD45コマンド内に含まれる第7のアドレスとに従って生成される、
請求項11に記載の方法。
【請求項13】
前記SDカードの容量に関する情報を受信することをさらに含む、
請求項11に記載の方法。
【請求項14】
電子デバイスであって、
前記SDカードに電圧を供給するための電圧供給接点と、
少なくとも1つの接地接点と、
前記SDカードにクロック信号を提供するためのクロック接点と、
前記SDカードにコマンドを提供するためのコマンド接点と、
前記SDカードへのデータ書込み又は前記SDカードからのデータ読取りのための4つのデータ接点と、
請求項1~13のいずれか一項に記載の方法を実行するように構成されたプロセッサと、
を含むI/Oインタフェースを備える、
電子デバイス。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、メモリデバイス及び関連するコントローラ、メモリデバイス及びホストのための方法に関し、より詳細には、メモリデバイス及び関連するコントローラ、メモリデバイス及びホストのためのメモリアドレス指定方法に関する。
【背景技術】
【0002】
ビデオデータ及び/又は音楽データを処理するためのデジタル通信デバイス又は電子デバイスの普及、ならびにIA(インターネットアプライアンス)製品の一般化に伴い、デジタルデータを格納するための様々なタイプのストレージデバイスが開発されてきた。メモリカードは、コンパクトで低消費電力という優位性から、市場の主流となっている。メモリカードは、デジタルカメラ、デジタルビデオカメラ、MP3プレーヤー、携帯電話、携帯情報端末(PDA)、全地球測位システム(GPS)デバイスなど、様々な種類のホスト/デバイス/システムでの使用に非常に適している。
【0003】
セキュアデジタル(SD)カードは、市場で人気のあるメモリカードである。ただし、SDカードのコマンドのアドレスパラメータ又は引数は32ビットしかないため、現在SDカードがサポートできる最大ストレージ容量は2テラバイト(TB)であり、様々なアプリケーションの容量要件に対して不十分になっている。より大きな容量をサポートできるSDカードを用意することが望ましく、そのようなSDカードにアドレス指定又はアクセスの方法を提供する必要もある。
【発明の概要】
【0004】
したがって、本発明の1つの目的は、2TBを超える容量をサポートするSDカードにアクセスできるアドレス指定方法を提供し、関連するSDカード、SDカードのコントローラ及びホストを提供することである。
【0005】
本発明の実施形態は、ホストから電圧供給を受けるための電圧供給ピン、少なくとも1つの接地ピン、ホストからクロック信号を受信するためのクロックピン、ホストからコマンドを受信するためのコマンドピン、及びSDカードへのデータ書込み用又はSDカードからのデータ読取り用の4つのデータピンを含む、セキュアデジタル(SD)カードにアクセスする方法を開示する。本方法は、コマンドピンを介して、ホストから第1のアドレスを含むアドレス拡張コマンドを受信することと、コマンドピンを介して、ホストから第2のアドレスを含むアクセスコマンドを受信することと、データピンを介して、少なくとも、第1のアドレスと第2のアドレスとの結合体である第3のアドレスによって示されるSDカードのメモリロケーションにアクセスすることとを含む。アクセスコマンドは、単一読取り動作、単一書込み動作、複数読取り動作、複数書込み動作及び消去動作から選択されたSDカード上で実行されるアクセス動作を示す。
【0006】
本発明の別の実施形態は、上記の方法を実行するように構成されたSDカードのコントローラを開示する。
【0007】
本発明の別の実施形態は、ホストから電圧供給を受けるための電圧供給ピン、少なくとも1つの接地ピン、ホストからクロック信号を受信するためのクロックピン、ホストからコマンドを受信するためのコマンドピン、SDカードへのデータ書込み用又はSDカードからのデータ読取り用の4つのデータピン、を含むSDカードにアクセスする方法を開示する。本方法は、コマンドピンを介して、第1のアドレスを含むアドレス拡張コマンドをSDカードに送信すること、コマンドピンを介して、第2のアドレスを含むアクセスコマンドをSDカードに送信すること、及びデータピンを介して、少なくとも、第1のアドレスと第2のアドレスとの結合体である第3のアドレスによって示されるSDカードのメモリロケーションにアクセスすることを含む。アクセスコマンドは、単一読取り動作、単一書込み動作、複数読取り動作、複数書込み動作及び消去動作から選択されたSDカード上で実行されるアクセス動作を示す。
【0008】
本発明の別の実施形態は、メモリモジュール、入力/出力(I/O)インタフェース、及びコントローラを含むSDカードを開示する。メモリモジュールは、複数のメモリロケーションを含む。I/Oインタフェースには、ホストから電圧供給を受けるための電圧供給ピン、少なくとも1つの接地ピン、ホストからクロック信号を受信するためのクロックピン、ホストからコマンドを受信するためのコマンドピン、及びSDカードへのデータ書込み用又はSDカードからのデータ読取り用の4つのデータピンが含まれる。コントローラは、コマンドピンを介して、I/Oインタフェースから第1のアドレスを含むアドレス拡張コマンドを受信すること、コマンドピンを介して、I/Oインタフェースから第2のアドレスを含むアクセスコマンドを受信すること、及び第1のアドレスと第2のアドレスとの結合体である第3のアドレスによって示される複数のメモリロケーションの少なくとも1つにアクセスすることを行うように構成される。アクセスコマンドは、単一読取り動作、単一書込み動作、複数読取り動作、複数書込み動作及び消去動作から選択されたSDカード上で実行されるアクセス動作を示す。
【0009】
本発明のさらに別の実施形態は、SDカードにアクセスすることができる電子デバイスを開示する。SDカードには、I/Oインタフェースとプロセッサが含まれている。I/Oインタフェースには、SDカードに電圧を供給するための電圧供給接点、少なくとも1つの接地接点、SDカードにクロック信号を供給するためのクロック接点、SDカードにコマンドを提供するためのコマンド接点、及びSDカードへのデータ書込み用又はSDカードからのデータ読取り用の4つのデータ接点が含まれる。プロセッサは、コマンド接点を介して、第1のアドレスを含むアドレス拡張コマンドをSDカードに送信すること、コマンド接点を介して、第2のアドレスを含むアクセスコマンドをSDカードに送信すること、及びデータ接点を介して、第1のアドレスと第2のアドレスとの結合体である第3のアドレスによって示されるSDカードの少なくともメモリロケーションにアクセスすることを行うように構成される。アクセスコマンドは、単一読取り動作、単一書込み動作、複数読取り動作、複数書込み動作及び消去動作から選択されたSDカード上で実行されるアクセス動作を示す。
【0010】
本発明の目的は、様々な図及び図面に示されている好ましい実施形態の以下の詳細な説明を読んだ後、当業者には疑いなく明らかになるであろう。
【図面の簡単な説明】
【0011】
図1】本発明のいくつかの実施形態による、SDカードに対するコマンドの概略図を示す。
図2】本発明のいくつかの実施形態による、メモリ・コマンド・シーケンスを示す。
図3】本発明のいくつかの実施形態による、メモリ・コマンド・シーケンスを示す。
図4A】本発明のいくつかの実施形態による、メモリ・コマンド・シーケンスを示す。
図4B】本発明のいくつかの実施形態による、メモリ・コマンド・シーケンスを示す。
図5A】本発明のいくつかの実施形態による、SDカードの概略図である。
図5B】本発明のいくつかの実施形態による、SDカードのピンの説明の表である。
図6】本発明のいくつかの実施形態による、SDカードとホストの組合せを示すブロック図である。
図7】本発明のいくつかの実施形態による、SDカードにアクセスするためのホストの方法のフローチャートである。
図8】本発明のいくつかの実施形態による、SDカードにアクセスするためのホストの方法のフローチャートである。
図9】本発明のいくつかの実施形態による、SDカードにアクセスするためのホストの方法のフローチャートである。
図10】本発明のいくつかの実施形態による、SDカードにアクセスするためにSDカード又はSDカードのコントローラによって実行される方法のフローチャートである。
図11】本発明のいくつかの実施形態による、SDカードにアクセスするためにSDカード又はSDカードのコントローラによって実行される方法のフローチャートである。
図12】本発明のいくつかの実施形態による、SDカードがアクセスされているときのSDカードの状態の変化を示す状態図である。
【発明を実施するための形態】
【0012】
図1は、本発明のいくつかの実施形態による、SDカードに対するコマンドの概略図を示す。
【0013】
SDカードとホスト間の通信は、コマンドとデータストリームに基づいている。コマンドは、特定の動作を実行するための要求と見なしてもよい。コマンドは、SDカードのコマンド(CMD)ピンを介してホストからSDカードに送信される。図1に示すように、コマンドの全長は48ビットである。コマンドは、開始ビット(「0」)によって開始又は先行され、ストップビット又は終了ビット(「1」)によって終了又は成功となる。トランスミッタビットが「1」であることは、コマンドがホストからSDカードに送信されることを示す。SDカードからホストへの応答もコマンドピンを介して送信される。この場合、トランスミッタビットは「0」に設定される。インデックスには6ビットが含まれており、SDカード上で実行する動作を決定するコマンドのタイプを示す。SDカードの様々なコマンドの定義は、SD Card Associationによって発行された「パート1 物理層の仕様」のセクション4.7.3で詳しく説明されている。アドレス引数(又はアドレスパラメータ)には32ビットが含まれ、コマンドのアドレス情報が示される。巡回冗長検査(CRC)コードには7ビットが含まれ、伝送エラーを検出し、インデックスの内容とコマンドのアドレスを保護するために使用される。
【0014】
様々な種類のコマンドの例を以下に示す。
【0015】
CMD17コマンドは、コマンド内の32ビットアドレスによって示されるSDカード内のメモリロケーションに対して単一読取り(又は単一ブロック読取り)動作を実行するコマンドを示す。10進数17の2進コードは「10001」なので、CMD 17コマンドのインデックスは「10001」である。CMD24コマンドは、インデックス「11000」を有し、コマンド内の32ビットアドレスによって示されるSDカード内のメモリロケーションに対して単一書込み(又は単一ブロック書込み)動作を実行するコマンドを示す。10進数24の2進コードは「11000」なので、CMD 24コマンドのインデックスは「11000」である。
【0016】
CMD18コマンドは、インデックス「10010」を有し、コマンド内の32ビットアドレスによって示されるSDカード内のメモリロケーションから複数読取り(又は複数ブロック読取り)動作を実行するコマンドを示す。CMD23コマンドとCMD18コマンドとの結合体(例えば、CMD23コマンドの後にCMD18コマンドが続く)は、CMD18コマンド内の32ビットアドレスによって示されるSDカードのメモリロケーションから複数読取り動作を示し、CMD23はデータ読取り長さの情報を有する。
【0017】
CMD25コマンドは、インデックス「11001」を有し、コマンド内の32ビットアドレスによって示されるSDカード内のメモリロケーションから複数書込み(又は複数ブロック読取り)動作を実行するコマンドを示す。CMD23コマンドとCMD25コマンドとの結合体(例えば、CMD23コマンドの後にCMD25コマンドが続く)は、CMD25コマンド内の32ビットアドレスによって示されるSDカード内のメモリロケーションからの複数書込み動作を示し、CMD23はデータ書込み長さの情報を有する。
【0018】
CMD38コマンドは、インデックス「100110」を有し、SDカード上で消去動作を実行するコマンドを示す。例えば、CMD32コマンドとCMD38コマンドとの結合体(例えば、CMD32コマンドの後にCMD38コマンドが続く)は、CMD32コマンド内の32ビットアドレスによって示されるSDカード内のメモリロケーションから消去動作を示す。CMD32コマンド、CMD33コマンド、及びCMD38コマンドの結合体(例えば、CMD32コマンドの後にCMD33コマンドが続き、その後にCMD38コマンドが続く)は、CMD32コマンド内の32ビットアドレスによって示されるSDカード内のメモリロケーションから、CMD33コマンド内の32ビットアドレスによって示されるSDカード内のメモリロケーションまでの消去動作を示す。
【0019】
CMD44コマンドは、インデックス「101100」を有し、SDカード上でデータ転送動作を実行するコマンドを示す。例えば、CMD44コマンドとCMD45コマンドとの結合体(例えば、CMD44コマンドの後にCMD45コマンドが続く)は、CMD45コマンド内の32ビットアドレスによって示されるSDカード内のメモリロケーションから開始されたデータ転送動作を示す。
【0020】
従来、実行されるべき動作のアドレス情報は、動作に対応する1つのコマンド内で32ビットのアドレスで示されていたため、1つのコマンドのアドレス指定能力又はアクセス能力は2TB(232(32ビットアドレス)(512Bブロック)=241バイト=2TB)に制限されており、これにより、SDカードがサポートできる最大容量も2TBに制限される。
【0021】
本発明のいくつかの実施形態では、2TBを超える容量をサポートできるメモリアドレス指定方法が提供される。アドレス拡張コマンドは、アクセスコマンド内の32ビットアドレスを32ビット以上に拡張するために使用されるので、2TBを超える容量を提供できる。アクセスコマンドは、上述のコマンドCMD17、CMD18、CMD24、CMD25、CMD32、CMD33又はCMD44を含み得、これは、実行されるべき対応する動作のためのアドレス情報を伝送する。いくつかの実施形態では、アクセスコマンドは、上記のコマンドCMD17、CMD18、CMD24、CMD25、CMD32、CMD33又はCMD44の結合体であってもよい。アドレス拡張コマンドは、従来のSDカードアプリケーションにおける予約されたコマンドプールから選択されたコマンドであってもよく、すなわち、アドレス拡張コマンドは、CMD22、CMD31、CMD39、CMD41又はCMD51であってもよい。いくつかの実施形態では、アドレス拡張コマンドは、予約されたコマンドプールから選択されたコマンドの結合体であってもよく、例えば、アドレス拡張コマンドは、2つのCMD22コマンドを含んでもよい。
【0022】
特に、アドレス拡張コマンドは、インデックス「010110」(CMD22)を有することができ、その32ビットアドレス引数でアドレスを伝送するが、ここで、アドレスは6ビット(例えば、32ビットアドレス引数の下位6ビット)、32ビット、又は32ビットアドレス引数の任意のその他のビット数を占めてもよい。アドレス拡張コマンド内のアドレスは、アドレス拡張コマンドに続くアクセスコマンド内のアドレスと結合されて、32ビットを超える結合アドレスを形成し、2TBを超えるメモリ容量へのアクセスに使用できる。アドレス拡張コマンド内のアドレスが6ビットの場合、結合アドレスは38ビットで、128TB(26*2TB=128TB)のメモリ空間へのアクセスが可能になる。アドレス拡張コマンド内のアドレスが32ビットである場合、結合アドレスは64ビットであり、232*2TBのメモリ空間へのアクセスが可能になる。好ましい実施形態によれば、アドレス拡張コマンド内のアドレスは、結合アドレスの上位アドレスであってもよく、アクセスコマンド内のアドレスは、結合アドレスの下位アドレスであってもよい。別の実施形態では、アドレス拡張コマンド内のアドレスは、結合アドレスの下位アドレスであってもよく、アクセスコマンド内のアドレスは、結合アドレスの上位アドレスであってもよい。
【0023】
好ましい実施形態では、結合アドレスは、アドレス拡張コマンドに含まれるアドレスとアクセスコマンドを含んだアドレスとを直列に接続することによって生成される。例えば、アドレス拡張コマンド内に含まれるアドレスが[X31:X0]で、アクセスコマンドを含んだアドレスが[Y31:Y0]の場合、結合アドレスは[X31:X0、Y31:Y0](又は、いくつかの実施形態で[Y31:Y0、X31、X0])である。図2は、本発明のいくつかの実施形態によるメモリ読取りコマンドシーケンスの例を示す。アドレス拡張コマンドCMD22は、単一読取りコマンドCMD17又は複数読取りコマンドCMD18に先行する。アドレス拡張コマンドCMD22は、単一読取りコマンドCMD17内又は複数読取りコマンドCMD18内のアドレスと結合される(32ビットアドレス引数で)アドレスを伝送し、単一読取り動作又は複数読取り動作が実行されるメモリロケーションを示す、32ビットを超える結合アドレスを形成する。
【0024】
複数読取り動作に関しては、CMD23コマンドを使用して、動作のデータ読取り長さを設定できる。CMD12コマンドを使用して、CMD23コマンドによる複数読取り動作のデータ読取り長さを設定せずに、複数読取り動作を停止させてもよい。
【0025】
図3は、本発明のいくつかの実施形態によるメモリ書込みコマンドシーケンスの例を示す。アドレス拡張コマンドCMD22は、単一書込みコマンドCMD24又は複数書込みコマンドCMD25に先行する。アドレス拡張コマンドCMD22は、単一書込みコマンドCMD24内又は複数書込みコマンドCMD25内のアドレスと結合され、(32ビットアドレス引数で)アドレスを伝送し、単一書込み動作又は複数書込み動作が実行されるメモリロケーションを示す32ビットを超える結合アドレスを形成する。
【0026】
複数書込み動作に関しては、CMD23コマンドを使用して、動作のデータ書込み長さを設定してもよい。CMD12コマンドを使用して、CMD23コマンドによる複数書込み動作のデータ書込み長さを設定せずに、複数書込み動作を停止させてもよい。
【0027】
図4Aは、本発明のいくつかの実施形態によるメモリ消去コマンドシーケンスの例を示す。1つのアドレス拡張コマンドCMD22はCMD32コマンドに先行し、(32ビットアドレス引数で)アドレスを伝送してCMD32コマンド内のアドレスと結合され、消去動作が開始されるメモリロケーションを示す、32ビットを超える結合アドレスを形成する。別のアドレス拡張コマンドCMD22はCMD33コマンドに先行し、(32ビットアドレス引数で)アドレスを伝送してCMD33コマンド内のアドレスと結合され、消去動作が終了されるメモリロケーションを示す、32ビットを超える別の結合アドレスを形成する。CMD38コマンドは、消去動作を開始する。
【0028】
図4Bは、本発明のいくつかの実施形態によるメモリデータ転送コマンドシーケンスの例を示す。CMD44コマンドは、SDカード上でデータ転送動作を示す。アドレス拡張コマンドCMD22はCMD45コマンドに先行し、(32ビットアドレス引数で)アドレスを伝送してCMD45コマンド内のアドレスと結合され、データ転送が開始されるメモリロケーションを示す、32ビットを超える結合アドレスを形成する。
【0029】
図5Aは、SDカードAの上面図である。図5Aに示すように、SDカードAは、A1からA9とラベル付けされた9つのピンを含む。
【0030】
図5Bは、図5Aに示すSDカードAのピンA1~A9の説明又は定義の表である。表に示すように、ピンA1及びA7~A9は、SDカードAへのデータ書込み用又はSDカードAからのデータ読取り用のデータピンである。ピンA2はコマンドピンと呼ばれ、ホストからSDカードAに送信されたコマンドを受信し、コマンドに応答して、SDカードAからホストに応答を送信できる。ピンA4はVDDピンと呼ばれ、SDカードAの電圧供給ピンとして動作する。ピンA4は、2.7から3.6ボルト(V)の範囲内の電圧を受電するように構成できる。ピンA5はクロック(CLK)ピンと呼ばれ、クロック信号を受信するように構成される。ピンA3及び/又はA6は、接地ピンである。
【0031】
図6は、本発明のいくつかの実施形態による、SDカードAとホストHの組合せを示すブロック図である。SDカードAは、フラッシュ・メモリ・モジュール120及びフラッシュ・メモリ・コントローラ(又はコントローラ)110を含み、フラッシュ・メモリ・コントローラ110は、フラッシュ・メモリ・モジュール120にアクセスするように構成される。フラッシュ・メモリ・コントローラ110は、ホストHからコマンド(例えば、アドレス拡張コマンド又はアクセスコマンド)を受信し、コマンド内のアドレスに従ってフラッシュ・メモリ・モジュール120内のメモリロケーションにアクセスするように構成され得る。フラッシュ・メモリ・コントローラ110は、マイクロプロセッサ112、読取り専用メモリ(ROM)112M、制御ロジック114、バッファメモリ116、及びインタフェースロジック118を備える。ROM112Mは、プログラムコード112Cを記憶するように構成され、マイクロプロセッサ112は、フラッシュ・メモリ・モジュール120へのアクセスを制御するためにプログラムコード112Cを実行するように構成される。制御ロジック114は、エンコーダ142及びデコーダ144を備える。
【0032】
いくつかの実施形態では、フラッシュ・メモリ・モジュール120は、それぞれが複数のブロックを含む複数のフラッシュ・メモリ・チップを含み、フラッシュ・メモリ・コントローラ110は、フラッシュ・メモリ・モジュール120上で動作を実行する消去ユニットとして「ブロック」をとる。フラッシュ・メモリ・コントローラ110は、マイクロプロセッサ112を介してプログラムコード112Cを実行することができる。いくつかの実施形態では、ブロックは特定の数のページを含むことができ、フラッシュ・メモリ・コントローラ110は、フラッシュ・メモリ・モジュール120にデータを書き込む単位として「ページ」を用いる。いくつかの実施形態では、フラッシュ・メモリ・モジュール120は、3D NAND型フラッシュメモリを含んでもよい。
【0033】
実際には、マイクロプロセッサ112を介してプログラムコード112Cを実行するフラッシュ・メモリ・コントローラ110は、その内部要素を使用して、様々な制御動作を実行、例えば、制御ロジック114を使用してフラッシュ・メモリ・モジュール120のアクセス動作(特に、少なくとも1つのブロック又は少なくとも1つのページに対するアクセス動作)を制御、バッファメモリ116を使用して必要なバッファリングプロセスを実行、及びインタフェースロジック118を使用してSDカードAのデータピンを介してホストHと通信してもよい。バッファメモリ116は、例えば、スタティック・ランダム・アクセス・メモリ(スタティックRAM(SRAM))であってもよいが、本発明はそれに限定されない。
【0034】
ホストHは、プロセッサ132と、SDカードAに結合された入力/出力(I/O)インタフェース134とを含むことができる。I/Oインタフェース134は、SDカードAのピンにそれぞれ対応する接点を含み得る(すなわち、I/Oインタフェースは、9つの接点を含み得る)。I/Oインタフェース134は、電圧供給を提供するための電圧供給接点、1つ以上の接地接点、クロック信号を提供するためのクロック接点、及びSDカードAのコマンドピンに電気的に接続するためのコマンド接点を含んでもよい。ホストHの各接点の定義は、図5Bに示される表を参照してもよい。
【0035】
図7は、本発明のいくつかの実施形態による、SDカードにアクセスするためにホスト(又はホストのプロセッサ)によって実行される方法700のフローチャートである。詳細なステップは以下の通りである。
【0036】
ステップ702で、ホストは、SDカード上で実行されるアクセス動作を決定する。アクセス動作は、単一読取り動作、単一書込み動作、複数読取り動作、複数書込み動作、及び消去動作から選択することができる。
【0037】
ステップ704で、ホストは、アクセス動作の対象となるSDカードのメモリロケーションを決定し、メモリロケーションは、64ビットアドレスによって示され得る。
【0038】
ステップ706で、ホストは、64ビットのアドレスを32ビットの上位アドレスと32ビットの下位アドレスとに分離する。
【0039】
ステップ708で、ホストは、(アドレス引数内の)上位アドレスを含むアドレス拡張コマンドを、ホストのI/OインタフェースからSDカードのコマンドピンを介してSDカードに送信する。
【0040】
ステップ710で、ホストは、(アドレス引数内の)下位アドレスと(インデックス内の)アクセス動作を示す情報とを含むアクセスコマンドを、SDカードのコマンドピンを介してSDカードに送信する。
【0041】
ステップ712で、ホストは、SDカードのデータピンを介して、上位アドレスと下位アドレスとの結合体である結合アドレスによって示されるSDカードのメモリロケーションにアクセスする。
【0042】
上述の実施形態では、上位アドレス及び下位アドレスは両方とも32ビットである。他のいくつかの実施形態では、ステップ704で決定されたメモリロケーションを示すアドレスは38ビットであり得、上位アドレスは6ビット、下位アドレスは32ビットであり得る。本開示によれば、上位アドレスのビット数は、32以下の任意の数であってよく、したがって、上記の実施形態に限定されない。さらに、いくつかの実施形態では、アドレス拡張コマンドは下位アドレスを含むことができ、アクセスコマンドは上位アドレスを含むことができる。
【0043】
いくつかの実施形態では、アドレス拡張コマンドがCMD22コマンドを含み、アクセスコマンドがCMD17コマンドを含む場合、SDカードのメモリロケーションにアクセスするステップ(ステップ712)は、CMD22コマンド内に含まれる上位アドレスとCMD17コマンド内に含まれる下位アドレスとに従って生成される結合アドレスによって示されるメモリロケーションに対して単一読取り動作を実行することを含む。
【0044】
いくつかの実施形態では、アドレス拡張コマンドがCMD22コマンドを含み、アクセスコマンドがCMD24コマンドを含む場合、SDカードのメモリロケーションにアクセスするステップ(ステップ712)は、CMD22コマンド内に含まれる上位アドレスとCMD24コマンド内に含まれる下位アドレスとに従って生成される結合アドレスによって示されるメモリロケーションに対して単一書込み動作を実行することを含む。
【0045】
いくつかの実施形態では、アドレス拡張コマンドがCMD22コマンドを含み、アクセスコマンドがCMD23コマンド及びCMD18コマンドを含む場合(図2に示すように)、SDカードのメモリロケーションにアクセスするステップ(ステップ712)は、CMD22コマンド内に含まれる上位アドレスとCMD18コマンド内に含まれる下位アドレスとに従って生成される結合アドレスによって示されるメモリロケーションから複数の読取り動作を実行することを含む。CMD23コマンドを使用して、複数読取り動作のデータ読取り長さを設定する。
【0046】
いくつかの実施形態では、アドレス拡張コマンドがCMD22コマンドを含み、アクセスコマンドがCMD23コマンド及びCMD25コマンドを含む場合(図3に示すように)、SDカードのメモリロケーションにアクセスするステップ(ステップ712)は、CMD22コマンド内に含まれる上位アドレスとCMD25コマンド内に含まれる下位アドレスとに従って生成される結合アドレスによって示されるメモリロケーションから複数の書込み動作を実行することを含む。CMD23コマンドを使用して、複数書込み動作のデータ書込み長さを設定する。
【0047】
いくつかの実施形態では、アドレス拡張コマンドがCMD22コマンドを含み、アクセスコマンドがCMD32及びCMD38コマンドを含む場合、SDカードのメモリロケーションにアクセスするステップ(ステップ712)は、CMD38コマンドに応答して、結合アドレスによって示されるメモリロケーションから消去動作を実行することを含む。結合アドレスは、CMD22コマンド内に含まれる上位アドレスとCMD32コマンド内に含まれる下位アドレスとに従って生成される。
【0048】
いくつかの実施形態では、アドレス拡張コマンドが第1のCMD22コマンド及び第2のCMD22コマンドを含み、アクセスコマンドがCMD32コマンド、CMD33コマンド及びCMD38コマンドを含む場合(図4Aに示すように)、SDカードのメモリロケーションにアクセスするステップ(ステップ712)は、開始アドレスによって示されるメモリロケーションから終了アドレスによって示される別のメモリロケーションまでの消去動作の実行を含み、開始アドレスは、第1のCMD22コマンド内に含まれる上位アドレスとCMD32コマンド内に含まれる下位アドレスとに従って生成され、終了アドレスは、第2のCMD22コマンド内に含まれる上位アドレスとCMD33コマンド内に含まれる下位アドレスとに従って生成される。消去動作は、CMD38コマンドによって開始される。
【0049】
いくつかの実施形態では、アドレス拡張コマンドがCMD22コマンドを含み、アクセスコマンドがCMD44コマンド及びCMD45コマンドを含む場合(図4Bに示されるように)、SDカードのメモリロケーションにアクセスするステップ(ステップ712)は、CMD22コマンド内に含まれる上位アドレスとCMD45コマンド内に含まれる下位アドレスとに従って生成される結合アドレスによって示されるメモリロケーションからデータ転送を実行することを含む。CMD44コマンドを使用して、データの方向、優先タスクID、及び転送ブロックの総数を設定する。
【0050】
図7に示されるステップの順序は例示に過ぎず、ステップは、様々な用途に応じて、任意の他の適切な順序に再配置できることに注意すべきである。例えば、いくつかの他の実施形態では、ステップ704はステップ702に先行してもよく、又はステップ710はステップ708に先行してもよい。
【0051】
図8は、本発明のいくつかの実施形態による、SDカードにアクセスするためにホストによって実行される方法800のフローチャートである。詳細なステップは以下の通りである。
【0052】
ステップ802で、ホストは、SDカードの容量に関する情報を受信する。情報は、SDカード内のカード固有データ(CSD)レジスタに記憶できる。
【0053】
ステップ804で、ホストは、SDカードの容量が所定の閾値、例えば、32ビットアドレスで提示できる容量を超えるかどうかを決定する。しきい値は2TB又は2TB未満であってもよい。結果が肯定の場合、プロセスはステップ806に進む。結果が否定の場合、プロセスはステップ820に進む。
【0054】
ステップ806で、ホストは、SDカード上で実行されるアクセス動作を決定する。アクセス動作は、単一読取り動作、単一書込み動作、複数読取り動作、複数書込み動作、及び消去動作から選択することができる。
【0055】
ステップ808で、ホストは、アクセス動作の対象となるSDカードのメモリロケーションを決定し、メモリロケーションは、64ビットアドレスによって示され得る。
【0056】
ステップ810で、ホストは、64ビットのアドレスを32ビットの上位アドレスと32ビットの下位アドレスに分離する。
【0057】
ステップ812で、ホストは、(アドレス引数内の)上位アドレスを含むアドレス拡張コマンドを、ホストのI/OインタフェースからSDカードのコマンドピンを介してSDカードに送信する。
【0058】
ステップ814で、ホストは、(アドレス引数内の)下位アドレスと(インデックス内の)アクセス動作を示す情報を含むアクセスコマンドを、SDカードのコマンドピンを介してSDカードに送信する。
【0059】
ステップ816で、ホストは、SDカードのデータピンを介して、上位アドレスと下位アドレスとの結合体である結合アドレスによって示されるSDカードのメモリロケーションにアクセスする。
【0060】
ステップ820で、ホストは、SDカード上で実行されるアクセス動作を決定する。アクセス動作は、単一読取り動作、単一書込み動作、複数読取り動作、複数書込み動作、及び消去動作から選択することができる。
【0061】
ステップ822で、ホストは、アクセス動作の対象となるSDカードのメモリロケーションを決定し、メモリロケーションは32ビットアドレスによって示される。
【0062】
ステップ824で、ホストは、(アドレス引数内の)32ビットアドレス及び(インデックス内の)アクセス動作を示す情報を含むアクセスコマンドを、SDカードのコマンドピンを介してSDカードに送信する。
【0063】
ステップ826で、ホストは、ステップ824におけるアクセス動作に従って、SDカードのデータピンを介して、32ビットアドレスによって示されるSDカードのメモリロケーションにアクセスする。
【0064】
現在の実施形態では、ホストHは最初にSDカードの容量を決定する。SDカードの容量が閾値、例えば2TBを超える場合、プロセスはステップ806に進み、そうでなければ、プロセスはステップ820に進む。ステップ806~816の動作は、ステップ702~712の動作と同じである。つまり、SDカードの容量が2TBを超えるとホストHが判断した場合、SDカードにアクセスするにはアドレス拡張コマンドが必要であり、それ以外の場合、SDカードにアクセスするには、アクセスコマンドのみで十分である。
【0065】
図8に示されるステップの順序は例示に過ぎず、ステップは、様々な用途に応じて他の任意の適切な順序に再配置できることに注意すべきである。例えば、いくつかの他の実施形態では、ステップ806及びステップ820は結合されて、ステップ802に先行してもよく、又は、ステップ814は、ステップ812に先行してもよい。
【0066】
図9は、本発明のいくつかの実施形態による、SDカードにアクセスするためにホストによって実行される方法900のフローチャートである。詳細なステップは以下の通りである。
【0067】
ステップ901で、ホストは、SDカード上で実行されるアクセス動作を決定する。アクセス動作は、単一読取り動作、単一書込み動作、複数読取り動作、複数書込み動作、及び消去動作から選択することができる。
【0068】
ステップ902で、ホストは、SDカードの容量に関する情報を受信する。情報は、SDカード内のCSDレジスタに記憶できる。
【0069】
ステップ904で、ホストは、SDカードの容量が所定の閾値を超えるかどうかを決定する。しきい値は2TB又は2TB未満であってもよい。結果が肯定の場合、プロセスはステップ906に進む。結果が否定の場合、プロセスはステップ922に進む。
【0070】
ステップ906で、ホストは、ステップ901で決定されたアクセス動作の対象となるSDカードのメモリロケーションを決定し、メモリロケーションは、64ビットアドレス又は32ビットアドレスによって示されてもよい。メモリロケーションが32ビットより大きいアドレスによって示されなければならない場合、プロセスはステップ908に進む。メモリロケーションを32ビットアドレスによって示すことができる場合、プロセスはステップ922に進む。
【0071】
ステップ908で、ホストは、64ビットアドレスを32ビットの上位アドレスと32ビットの下位アドレスに分離する。
【0072】
ステップ910で、ホストは、(アドレス引数内の)上位アドレスを含むアドレス拡張コマンドを、ホストのI/OインタフェースからSDカードのコマンドピンを介してSDカードに送信する。
【0073】
ステップ912で、ホストは、(アドレス引数内の)下位アドレス及び(インデックス内の)アクセス動作を示す情報を含むアクセスコマンドを、SDカードのコマンドピンを介してSDカードに送信する。
【0074】
ステップ914で、ホストは、SDカードのデータピンを介して、上位アドレスと下位アドレスとの結合体である結合アドレスによって示されるSDカードのメモリロケーションにアクセスする。
【0075】
ステップ922:ホストは、アクセス動作の対象となるSDカードのメモリロケーションを決定し、メモリロケーションは32ビットアドレスによって示される。
【0076】
ステップ924で、ホストは、(アドレス引数内の)32ビットアドレス及び(インデックス内の)アクセス動作を示す情報を含むアクセスコマンドを、SDカードのコマンドピンを介してSDカードに送信する。
【0077】
ステップ926で、ホストは、ステップ824におけるアクセス動作に従って、SDカードのデータピンを介して、32ビットアドレスによって示されるSDカードのメモリロケーションにアクセスする。
【0078】
方法900では、SDカードが例えば2TBより大きい容量をサポートすることをホストが認識した場合でも、ホストは、32ビットアドレスによって示されることができるメモリロケーションを選択して、アクセス動作を実行でき、アドレス拡張コマンドを送信する必要がないことに注意すべきである。
【0079】
図10は、本発明のいくつかの実施形態による、SDカードにアクセスするためにSDカード又はSDカードのコントローラによって実行される方法1000のフローチャートである。詳細なステップは以下の通りである。
【0080】
ステップ1002で、SDカード(又はSDカードのコントローラ)は、ホストのI/OインタフェースからSDカードのコマンドピンを介して(アドレス引数内の)上位アドレスを含むアドレス拡張コマンドを受信する。
【0081】
ステップ1004で、SDカード(又はSDカードのコントローラ)は、(アドレス引数内の)下位アドレス及び(インデックス内の)アクセス動作を示す情報を含むアクセスコマンドを、SDカードのコマンドピンを介して受信する。アクセス動作は、単一読取り動作、単一書込み動作、複数読取り動作、複数書込み動作、及び消去動作から選択することができる。
【0082】
ステップ1006で、SDカード(又はSDカードのコントローラ)は、上位アドレスと下位アドレスとの結合体である結合アドレスによって示されるSDカードのメモリロケーションにアクセスする。
【0083】
上位アドレスと下位アドレスはどちらも32ビットであってもよい。いくつかの他の実施形態では、上位アドレスは6ビットであってもよく、下位アドレスは32ビットである。それ以外の場合、上位アドレスは32ビットで、6ビットの意味のあるビットのみを含む場合がある。本開示によれば、上位アドレスのビット数(例えば、意味のあるビット)は、32以下の任意の数であってよく、したがって、上記の実施形態に限定されない。さらに、いくつかの実施形態では、アドレス拡張コマンドは下位アドレスを含むことができ、アクセスコマンドは上位アドレスを含むことができる。
【0084】
いくつかの実施形態では、アドレス拡張コマンドがCMD22コマンドを含み、アクセスコマンドがCMD17コマンドを含む場合、SDカードのメモリロケーションにアクセスするステップ(ステップ1006)は、CMD22コマンド内に含まれる上位アドレスとCMD17コマンド内に含まれる下位アドレスとに従って生成される結合アドレスによって示されるメモリロケーションに対して単一読取り動作を実行することを含む。
【0085】
いくつかの実施形態では、アドレス拡張コマンドがCMD22コマンドを含み、アクセスコマンドがCMD24コマンドを含む場合、SDカードのメモリロケーションにアクセスするステップ(ステップ1006)は、CMD22コマンド内に含まれる上位アドレスとCMD24コマンド内に含まれる下位アドレスとに従って生成される結合アドレスによって示されるメモリロケーションに対して単一書込み動作を実行することを含む。
【0086】
いくつかの実施形態では、アドレス拡張コマンドがCMD22コマンドを含み、アクセスコマンドがCMD23コマンド及びCMD18コマンドを含む場合(図2に示すように)、SDカードのメモリロケーションにアクセスするステップ(ステップ1006)は、CMD22コマンド内に含まれる上位アドレスとCMD18コマンド内に含まれる下位アドレスとに従って生成される結合アドレスによって示されるメモリロケーションからの複数読取り動作を含む。CMD23コマンドを使用して、複数読取り動作のデータ読取り長さを設定する。
【0087】
いくつかの実施形態では、アドレス拡張コマンドがCMD22コマンドを含み、アクセスコマンドがCMD23コマンド及びCMD25コマンドを含む場合(図3に示すように)、SDカードのメモリロケーションにアクセスするステップ(ステップ1006)は、CMD22コマンド内に含まれる上位アドレスとCMD25コマンド内に含まれる下位アドレスとに従って生成される結合アドレスによって示されるメモリロケーションからの複数書込み動作を含む。CMD23コマンドを使用して、複数書込み動作のデータ書込み長さを設定する。
【0088】
いくつかの実施形態では、アドレス拡張コマンドがCMD22コマンドを含み、アクセスコマンドがCMD32及びCMD38コマンドを含む場合、SDカードのメモリロケーションにアクセスするステップ(ステップ1006)は、CMD38コマンドに応答して、結合アドレスによって示されるメモリロケーションから消去動作を実行することを含む。結合アドレスは、CMD22コマンド内に含まれる上位アドレスとCMD32コマンド内に含まれる下位アドレスとに従って生成される。
【0089】
いくつかの実施形態では、アドレス拡張コマンドが第1のCMD22コマンド及び第2のCMD22コマンドを含み、アクセスコマンドがCMD32コマンド、CMD33コマンド及びCMD38コマンドを含む場合(図4Aに示すように)、SDカードのメモリロケーションにアクセスするステップ(ステップ1006)は、開始アドレスによって示されるメモリロケーションから終了アドレスによって示される別のメモリロケーションまでの消去動作の実行を含み、開始アドレスは、第1のCMD22コマンド内に含まれる上位アドレスとCMD32コマンド内に含まれる下位アドレスとに従って生成され、終了アドレスは、第2のCMD22コマンド内に含まれる上位アドレスとCMD33コマンド内に含まれる下位アドレスとに従って生成されてもよい。消去動作は、CMD38コマンドによって開始される。
【0090】
いくつかの実施形態では、アドレス拡張コマンドがCMD22コマンドを含み、アクセスコマンドがCMD44コマンド及びCMD45コマンドを含む場合(図4Bに示すように)、SDカードのメモリロケーションにアクセスするステップ(ステップ1006)は、CMD22コマンド内に含まれる上位アドレスとCMD45コマンド内に含まれる下位アドレスとに従って生成される結合アドレスによって示されるメモリロケーションからデータ転送を実行することを含む。CMD44コマンドを使用して、データの方向、優先タスクID、及び転送ブロックの総数を設定する。
【0091】
図10に示すステップの順序は例示に過ぎず、ステップは、様々な用途に応じて他の任意の適切な順序に再配置できることに注意すべきである。例えば、いくつかの他の実施形態では、ステップ1004はステップ1002に先行してもよい。
【0092】
図11は、本発明のいくつかの実施形態による、SDカードにアクセスするためにSDカード又はSDカードのコントローラによって実行される方法1100のフローチャートである。詳細なステップは以下の通りである。
【0093】
ステップ1102で、SDカード(又はSDカードのコントローラ)は、SDカードの容量に関する情報をホストに送信する。情報は、SDカード内のCSDレジスタに記憶できる。
【0094】
ステップ1104で、SDカードは、(アドレス引数内の)上位アドレスを含むアドレス拡張コマンドが受信されたかどうかを判定する。アドレス拡張コマンドが受信された場合、プロセスはステップ1106に進み、それ以外の場合は、ステップ1120に進む。
【0095】
ステップ1106で、SDカード(又はSDカードのコントローラ)は、(アドレス引数内の)下位アドレス及び(インデックス内の)アクセス動作を示す情報を含むアクセスコマンドを、SDカードのコマンドピンを介して受信する。アクセス動作は、単一読取り動作、単一書込み動作、複数読取り動作、複数書込み動作、及び消去動作から選択することができる。
【0096】
ステップ1108で、SDカード(又はSDカードのコントローラ)は、上位アドレスと下位アドレスとの結合体である結合アドレスによって示されるSDカードのメモリロケーションにアクセスする。アクセス動作は、単一読取り動作、単一書込み動作、複数読取り動作、複数書込み動作、及び消去動作から選択することができる。
【0097】
ステップ1120で、SDカード(又はSDカードのコントローラ)は、(アドレス引数内の)32ビットアドレスと、(インデックス内の)アクセス動作を示す情報を含むアクセスコマンドを、SDカードのコマンドピンを介して、ホストのI/Oインタフェースから受信する。
【0098】
ステップ1122で、SDカード(又はSDカードのコントローラ)は、ステップ1120でのアクセス動作に従って、32ビットアドレスによって示されるSDカードのメモリロケーションにアクセスする。
【0099】
図11に示すステップの順序は例示に過ぎず、ステップは、様々な用途に応じて他の任意の適切な順序に再配置できることに注意すべきである。例えば、アクセスコマンドを受信するためのステップ1106及び1120は、結合されてもよく、ステップ1104に先行してもよい。
【0100】
図12は、本発明のいくつかの実施形態による、SDカードがアクセスされているときのSDカードの状態の変化を示す状態図である。
【0101】
状態図は、転送状態である状態1200で始まり、SDカードは、特定の時間内にまだアクセスコマンドを受信していない。すなわち、SDカードはまだ上位アドレス又は下位アドレスを受信していない。
【0102】
状態1200では、CMD17、CMD18、CMD24又はCMD25コマンドが受信されると、SDカードはCMD17、CMD18、CMD24又はCMD25コマンドによって伝送される下位アドレスを受信し、SDカードは状態1204に入る。その後、SDカードは状態1250に入る。
【0103】
状態1200では、CMD22コマンドが受信されると、SDカードはCMD22コマンドによって伝送される上位アドレスを受信し、SDカードは状態1202に入る。
【0104】
状態1200では、CMD23コマンドが受信されると、SDカードはCMD23コマンドによって伝送されるデータ長を受信し、SDカードは状態1222に入るが、SDカードはまだ上位アドレス又は下位アドレスを受信していない。
【0105】
状態1200では、CMD32コマンドが受信されると、SDカードはCMD32コマンドによって伝送される下位アドレスを受信し、SDカードは状態1212に入る。
【0106】
状態1202では、新しいCMD22コマンドが受信されると、SDカードが状態1200から状態1202に切り替わるときに受信された上位アドレスが、新しいCMD22コマンドによって伝送される上位アドレスに置き換わり、SDカードは状態1202のままである。
【0107】
状態1202では、CMD17、CMD18、CMD24又はCMD25コマンドが受信されると、SDカードはCMD17、CMD18、CMD24又はCMD25コマンドによって伝送される下位アドレスを受信し、SDカードは状態1204に入る。その後、SDカードは状態1250に入る。
【0108】
状態1202では、コマンド32が受信されると、SDカードはCMD32コマンドによって伝送される下位アドレスを受信し、SDカードは状態1212に入る。
【0109】
状態1222では、新しいCMD23コマンドを受信すると、SDカードが状態1200から状態1222に切り替わるときに受信したデータ長が、新しいCMD23コマンドによって伝送されるデータ長に置き換わり、SDカードは状態1222のままである。
【0110】
状態1222では、CMD22コマンドが受信されると、SDカードはCMD22コマンドによって伝送される上位アドレスを受信し、SDカードは状態1223に入る。
【0111】
状態1222では、CMD18又はCMD25コマンドが受信されると、SDカードはCMD18又はCMD25コマンドによって伝送される下位アドレスを受信し、SDカードは状態1224に入り、その後状態1250に入る。
【0112】
状態1223では、新しいCMD22コマンドが受信されると、SDカードが状態1222から状態1223に切り替わるときに受信された上位アドレスが、新しいCMD22コマンドによって伝送される上位アドレスに置き換わり、SDカードは状態1223のままである。
【0113】
状態1223では、新しいCMD23コマンドが受信されると、現在のデータ長が、新しいCMD23コマンドによって伝送されるデータ長に置き換わり、SDカードは状態1222に戻る。
【0114】
状態1223では、CMD18又はCMD25コマンドが受信されると、SDカードはCMD18又はCMD25コマンドによって伝送される下位アドレスを受信し、SDカードは状態1224に入り、その後状態1250に入る。
【0115】
状態1212では、SDカードは、その後、状態1214に入る。
【0116】
状態1214では、CMD33コマンドが受信されると、SDカードはCMD33コマンドによって伝送される下位アドレスを受信し、SDカードは状態1216に入る。
【0117】
状態1214では、CMD22コマンドが受信されると、SDカードはCMD22コマンドによって伝送される上位アドレスを受信し、SDカードは状態1215に入る。
【0118】
状態1215では、新しいCMD22コマンドが受信されると、SDカードが状態1214から状態1215に切り替わるときに受信された上位アドレスが、新しいCMD22コマンドによって伝送される上位アドレスに置き換わり、SDカードは状態1215のままである。
【0119】
状態1215では、CMD33コマンドが受信されると、SDカードはCMD33コマンドによって伝送される下位アドレスを受信し、SDカードは状態1216に入る。
【0120】
状態1216では、CMD38コマンドが受信されると、対応する動作(例えば、消去動作)がSDカードに命令され、SDカードは状態1218に入り、その後、SDカードは状態1250に入る。
【0121】
状態1250では、SDカードは、アクセスコマンド(CMD17、CMD18、CMD24、CMD25、CMD32、及びCMD33)のインデックスフィールドによって示される動作に従って、下位アドレス又は上位アドレスと下位アドレスとの結合体によって決定されるSDカードのロケーションでアクセスされる。決定されたロケーションにアクセスできない場合(例えば、読取り専用領域内)、又はSDカード内に存在しない場合(例えば、SDカードの容量を超える場合)、アクセスは拒否され、SDカードは状態1200に戻る。
【0122】
図12に示す例示的な実施形態において、状態1202、状態1222、状態1223、状態1214、状態1215、及び状態1216では、予期しないコマンド(すなわち、上記のそれぞれの説明で説明されているコマンド以外のコマンド)が受信されると、SDカードは転送状態1200に戻る(点線の矢印で示されている)。
【0123】
上記を考慮して、当業者は、図7図11に示されるフローチャートが主題開示の実施形態であることを理解でき、図12の状態図に基づいてSDカード又はホストによって実行される他のフローチャートを導き出すことができる。
【0124】
本開示は、以下の条項を使用してさらに説明することができる。
条項1.ホストから電圧供給を受けるための電圧供給ピンと、
少なくとも1つの接地ピンと、
前記ホストからクロック信号を受信するためのクロックピンと、
前記ホストからコマンドを受信するためのコマンドピンと、
セキュアデジタル(SD)カードへのデータ書込み用又はSDカードからのデータ読取り用の4つのデータピンとを備えた前記SDカードにアクセスする方法であって、
前記コマンドピンを介して、前記ホストから、第1のアドレスを含むアドレス拡張コマンドを受信することと、
前記コマンドピンを介して、前記ホストから、第2のアドレスを含むアクセスコマンドを受信することと、
前記データピンを介して、少なくとも、前記第1のアドレスと前記第2のアドレスとの結合体である第3のアドレスによって示される前記SDカードのメモリロケーションにアクセスすることとを含み、
前記アクセスコマンドは、単一読取り動作、単一書込み動作、複数読取り動作、複数書込み動作、及び消去動作から選択される前記SDカード上で実行されるアクセス動作を示す、方法。
条項2.前記第3のアドレスは、前記第1のアドレス及び前記第2のアドレスを直列に接続することによって生成される、条項1に記載の方法。
条項3.前記第1のアドレス及び前記第2のアドレスは両方とも32ビットである、条項1に記載の方法。
条項4.前記第1のアドレスは6ビットであり、前記第2のアドレスは32ビットである、条項1に記載の方法。
条項5.前記アドレス拡張コマンドがCMD22コマンドを含み、前記アクセスコマンドがCMD17コマンドを含む場合、前記SDカードの前記メモリロケーションにアクセスする前記ステップは、前記第3のアドレスによって示される前記メモリロケーションに対して前記単一読取り動作を実行することを含み、前記第3のアドレスは、前記CMD22コマンド内に含まれる前記第1のアドレスと前記CMD17コマンド内に含まれる前記第2のアドレスとに従って生成される、条項1に記載の方法。
条項6.前記アドレス拡張コマンドがCMD22コマンドを含み、前記アクセスコマンドがCMD24コマンドを含む場合、前記SDカードの前記メモリロケーションにアクセスする前記ステップは、前記第3のアドレスによって示される前記メモリロケーションに対して前記単一書込み動作を実行することを含み、前記第3のアドレスは、前記CMD22コマンド内に含まれる前記第1のアドレスと前記CMD24コマンド内に含まれる前記第2のアドレスとに従って生成される、条項1に記載の方法。
条項7.前記アドレス拡張コマンドがCMD22コマンドを含み、前記アクセスコマンドがCMD23コマンド及びCMD18コマンドを含む場合、前記SDカードの前記メモリロケーションにアクセスする前記ステップは、前記第3のアドレスによって示される前記メモリロケーションから前記複数読取り動作を実行することを含み、前記第3のアドレスは、前記CMD22コマンド内に含まれる前記第1のアドレスと前記CMD18コマンド内に含まれる前記第2のアドレスとに従って生成される、条項1に記載の方法。
条項8.前記アドレス拡張コマンドがCMD22コマンドを含み、前記アクセスコマンドがCMD23コマンド及びCMD25コマンドを含む場合、前記SDカードの前記メモリロケーションにアクセスする前記ステップは、前記第3のアドレスによって示される前記メモリロケーションから前記複数書込み動作を実行することを含み、前記第3のアドレスは、前記CMD22コマンド内に含まれる前記第1のアドレスと前記CMD25コマンド内に含まれる前記第2のアドレスとに従って生成される、条項1に記載の方法。
条項9.前記アドレス拡張コマンドがCMD22コマンドを含み、前記アクセスコマンドがCMD32及びCMD38コマンドを含む場合、前記SDカードの前記メモリロケーションにアクセスする前記ステップは、前記CMD38コマンドに応答して、前記第3のアドレスによって示される前記メモリロケーションから前記消去動作を実行することを含み、前記第3のアドレスは、前記CMD22コマンドと前記CMD32コマンドとに従って生成される、条項1に記載の方法。
条項10.前記アドレス拡張コマンドが第1のCMD22コマンド及び第2のCMD22コマンドを含み、前記アクセスコマンドがCMD32コマンド、CMD33コマンド及びCMD38コマンドを含む場合、前記SDカードの前記メモリロケーションにアクセスする前記ステップは、前記CMD38コマンドに応答して、前記第3のアドレスによって示される前記メモリロケーションから第4のアドレスによって示される別のメモリロケーションまで消去動作を実行することを含み、前記第3のアドレスは、前記第1のCMD22コマンドと前記CMD32コマンドとに従って生成され、前記第4のアドレスは、前記第2のCMD22コマンドと前記CMD33コマンドとに従って生成される、条項1に記載の方法。
条項11.前記アドレス拡張コマンドがCMD22コマンドを含み、前記アクセスコマンドがCMD44コマンド及びCMD45コマンドを含む場合、前記SDカードの前記メモリロケーションにアクセスする前記ステップは、前記第3のアドレスによって示される前記メモリロケーションからデータ転送を実行することを含み、前記第3のアドレスは、前記CMD22コマンド内に含まれる前記第1のアドレスと前記CMD45コマンド内に含まれる前記第2のアドレスとに従って生成される、条項1に記載の方法。
条項12.前記SDカードの容量に関する情報を前記ホストに送信することをさらに含む、条項1に記載の方法。
条項13.条項1から12のいずれか一項に記載の方法を実行するように構成されたSDカードのコントローラ。
条項14.ホストから電圧供給を受けるための電圧供給ピンと、
少なくとも1つの接地ピンと、
前記ホストからクロック信号を受信するためのクロックピンと、
前記ホストからコマンドを受信するためのコマンドピンと、
SDカードへのデータ書込み用又は前記SDカードからのデータ読取り用の4つのデータピンとを備えた前記SDカードにアクセスする方法であって、
前記コマンドピンを介して、第1のアドレスを含むアドレス拡張コマンドを前記SDカードに送信することと、
前記コマンドピンを介して、第2のアドレスを含むアクセスコマンドを前記SDカードに送信することと、
前記データピンを介して、少なくとも、前記第1のアドレスと前記第2のアドレスとの結合体である第3のアドレスによって示される前記SDカードのメモリロケーションにアクセスすることとを含み、
前記アクセスコマンドは、単一読取り動作、単一書込み動作、複数読取り動作、複数書込み動作、及び消去動作から選択される前記SDカード上で実行されるアクセス動作を示す、方法。
条項15.前記第3のアドレスは、前記第1のアドレス及び前記第2のアドレスを直列に接続することによって生成される、条項14に記載の方法。
条項16.前記SDカードの容量に関する情報を受信することをさらに含み、前記アドレス拡張コマンドを送信する前記ステップは、前記SDカードの容量が所定の閾値を超える場合に実行される、条項14に記載の方法。
条項17.前記第1のアドレス及び前記第2のアドレスは両方とも32ビットである、条項14に記載の方法。
条項18.前記第1のアドレスは6ビットであり、前記第2のアドレスは32ビットである、条項14に記載の方法。
条項19.前記アドレス拡張コマンドがCMD22コマンドを含み、前記アクセスコマンドがCMD17コマンドを含む場合、前記SDカードの前記メモリロケーションにアクセスする前記ステップは、前記第3のアドレスによって示される前記メモリロケーションに対して前記単一読取り動作を実行することを含み、前記第3のアドレスは、前記CMD22コマンド内に含まれる前記第1のアドレスと前記CMD17コマンド内に含まれる前記第2のアドレスとに従って生成される、条項14に記載の方法。
条項20.前記アドレス拡張コマンドがCMD22コマンドを含み、前記アクセスコマンドがCMD24コマンドを含む場合、前記SDカードの前記メモリロケーションにアクセスする前記ステップは、前記第3のアドレスによって示される前記メモリロケーションに対して前記単一書込み動作を実行することを含み、前記第3のアドレスは、前記CMD22コマンド内に含まれる前記第1のアドレスと前記CMD24コマンド内に含まれる前記第2のアドレスとに従って生成される、条項14に記載の方法。
条項21.前記アドレス拡張コマンドがCMD22コマンドを含み、前記アクセスコマンドがCMD23コマンド及びCMD18コマンドを含む場合、前記SDカードの前記メモリロケーションにアクセスする前記ステップは、前記第3のアドレスによって示される前記メモリロケーションから前記複数読取り動作を実行することを含み、前記第3のアドレスは、前記CMD22コマンド内に含まれる前記第1のアドレスと前記CMD18コマンド内に含まれる前記第2のアドレスとに従って生成される、条項14に記載の方法。
条項22.前記アドレス拡張コマンドがCMD22コマンドを含み、前記アクセスコマンドがCMD23コマンド及びCMD25コマンドを含む場合、前記SDカードの前記メモリロケーションにアクセスする前記ステップは、前記第3のアドレスによって示される前記メモリロケーションから前記複数書込み動作を実行することを含み、前記第3のアドレスは、前記CMD22コマンド内に含まれる前記第1のアドレスと前記CMD25コマンド内に含まれる前記第2のアドレスとに従って生成される、条項14に記載の方法。
条項23.前記アドレス拡張コマンドがCMD22コマンドを含み、前記アクセスコマンドがCMD32及びCMD38コマンドを含む場合、前記SDカードの前記メモリロケーションにアクセスする前記ステップは、前記CMD38コマンドに応答して、前記第3のアドレスによって示される前記メモリロケーションから前記消去動作を実行することを含み、前記第3のアドレスは、前記CMD22コマンドと前記CMD32コマンドとに従って生成される、条項14に記載の方法。
条項24.前記アドレス拡張コマンドが第1のCMD22コマンド及び第2のCMD22コマンドを含み、前記アクセスコマンドがCMD32コマンド、CMD33コマンド及びCMD38コマンドを含む場合、前記SDカードの前記メモリロケーションにアクセスする前記ステップは、前記CMD38コマンドに応答して、前記第3のアドレスによって示される前記メモリロケーションから第4のアドレスによって示される別のメモリロケーションまで消去動作を実行することを含み、前記第3のアドレスは、前記第1のCMD22コマンドと前記CMD32コマンドとに従って生成され、前記第4のアドレスは、前記第2のCMD22コマンドと前記CMD33コマンドとに従って生成される、条項14に記載の方法。
条項25.前記アドレス拡張コマンドがCMD22コマンドを含み、前記アクセスコマンドがCMD44コマンド及びCMD45コマンドを含む場合、前記SDカードの前記メモリロケーションにアクセスする前記ステップは、前記第3のアドレスによって示される前記メモリロケーションからデータ転送を実行することを含み、前記第3のアドレスは、前記CMD22コマンド内に含まれる前記第1のアドレスと前記CMD45コマンド内に含まれる前記第2のアドレスとに従って生成される、条項14に記載の方法。
条項26.第4のアドレスによって示され得るメモリロケーションにアクセスすることを決定することと、
前記コマンドピンを介して、前記第4のアドレスを含む別のアクセスコマンドを前記SDカードに送信することと、
前記データピンを介して、前記第4のアドレスによって示される前記SDカードの前記メモリロケーションにアクセスすることとをさらに含む、条項14に記載の方法。
条項27.SDカードであって、
複数のメモリロケーションを含むメモリモジュールと、
入出力(I/O)インタフェースであって、
ホストから電圧供給を受けるための電圧供給ピンと、
少なくとも1つの接地ピンと、
ホストからクロック信号を受信するためのクロックピンと、
ホストからコマンドを受信するためのコマンドピンと、
前記SDカードへのデータ書込み用又は前記SDカードからのデータ読取り用の4つのデータピンと、を含む、入出力(I/O)インタフェースと、
次のコントローラであって、
前記コマンドピンを介して、前記I/Oインタフェースから第1のアドレスを含むアドレス拡張コマンドを受信し、
前記コマンドピンを介して、前記I/Oインタフェースから第2のアドレスを含むアクセスコマンドを受信し、
前記第1のアドレスと前記第2のアドレスとの結合体である第3のアドレスによって示される前記複数のメモリロケーションのうちの少なくとも1つにアクセスするように構成された前記コントローラとを備え、
前記アクセスコマンドは、単一読取り動作、単一書込み動作、複数読取り動作、複数書込み動作、及び消去動作から選択される前記SDカード上で実行されるアクセス動作を示す、SDカード。
条項28.前記第3のアドレスは、前記第1のアドレス及び前記第2のアドレスを直列に接続することによって生成される、請求項27に記載のSDカード。
条項29.前記上位アドレス及び前記下位アドレスが両方とも32ビットである、請求項27に記載のSDカード。
条項30.前記上位アドレスが6ビットであり、前記下位アドレスが32ビットである、請求項27に記載のSDカード。
条項31.前記アドレス拡張コマンドがCMD22コマンドを含み、前記アクセスコマンドがCMD17コマンドを含む場合、前記コントローラは、前記第3のアドレスによって示される前記メモリロケーションに対して単一読取り動作を実行し、前記第3のアドレスは、前記CMD22コマンド内に含まれる前記第1のアドレスと前記CMD17コマンド内に含まれる前記第2のアドレスとに従って生成される、条項27に記載のSDカード。
条項32.前記アドレス拡張コマンドがCMD22コマンドを含み、前記アクセスコマンドがCMD24コマンドを含む場合、前記コントローラは、前記第3のアドレスによって示されるメモリロケーションに対して単一書込み動作を実行し、前記第3のアドレスは、前記CMD22コマンド内に含まれる前記第1のアドレスと前記CMD24コマンド内に含まれる前記第2のアドレスとに従って生成される、条項27に記載のSDカード。
条項33.前記アドレス拡張コマンドがCMD22コマンドを含み、前記アクセスコマンドがCMD23コマンド及びCMD18コマンドを含む場合、前記コントローラは第3のアドレスによって示される前記メモリロケーションから複数読取り動作を実行し、前記第3のアドレスは、前記CMD22コマンド内に含まれる前記第1のアドレスと前記CMD18コマンド内に含まれる前記第2のアドレスとに従って生成される、条項27に記載のSDカード。
条項34.前記アドレス拡張コマンドがCMD22コマンドを含み、前記アクセスコマンドがCMD23コマンド及びCMD25コマンドを含む場合、前記コントローラは、前記第3のアドレスによって示される前記メモリロケーションから複数書込み動作を実行し、前記第3のアドレスは、CMD22コマンド内に含まれる前記第1のアドレスと前記CMD25コマンド内に含まれる前記第2のアドレスとに従って生成される、条項27に記載のSDカード。
条項35.前記アドレス拡張コマンドがCMD22コマンドを含み、前記アクセスコマンドがCMD32及びCMD38コマンドを含む場合、前記コントローラは、CMD38コマンドに対応して前記第3のアドレスによって示される前記メモリロケーションから消去動作を実行し、前記第3のアドレスは、前記CMD22コマンドと前記CMD32コマンドとに従って生成される、条項27に記載のSDカード。
条項36.前記アドレス拡張コマンドが第1のCMD22コマンド及び第2のCMD22コマンドを含み、前記アクセスコマンドがCMD32コマンド、CMD33コマンド及びCMD38コマンドを含む場合、前記コントローラは、前記CMD38コマンドに応答して、前記第3のアドレスによって示される前記メモリロケーションから前記第4のアドレスによって示される別のメモリロケーションまで消去動作を実行し、前記第3のアドレスは前記第1のCMD22コマンドと前記CMD32コマンドとに従って生成され、前記第4のアドレスは前記第2のCMD22コマンドと前記CMD33コマンドとに従って生成される、条項27に記載のSDカード。
条項37.前記アドレス拡張コマンドがCMD22コマンドを含み、前記アクセスコマンドがCMD44コマンド及びCMD45コマンドを含む場合、前記コントローラは、前記第3のアドレスによって示される前記メモリロケーションからデータ転送を実行し、前記第3のアドレスは、前記CMD22コマンド内に含まれる前記第1のアドレスと前記CMD45コマンド内に含まれる前記第2のアドレスとに従って生成される、条項27に記載のSDカード。
条項38.前記コントローラは、前記SDカードの容量に関する情報を前記ホストに送信するようにさらに構成される、条項27に記載のSDカード。
条項39.SDカードにアクセスできる電子デバイスであって、
I/Oインタフェースと、
前記SDカードに電圧供給を提供するための電圧供給接点と、
少なくとも1つの接地接点と、
前記SDカードにクロック信号を提供するためのクロック接点と、
前記SDカードにコマンドを提供するためのコマンド接点と、
前記SDカードへのデータ書込み用又は前記SDカードからのデータ読取り用の4つのデータ接点と、
プロセッサであって、
前記コマンド接点を介して、前記第1のアドレスを含むアドレス拡張コマンドを前記SDカードに送信し、
前記コマンド接点を介して、前記第2のアドレスを含むアクセスコマンドを前記SDカードに送信し、
前記データ接点を介して、前記第1のアドレスと前記第2のアドレスとの結合体である第3のアドレスによって示される少なくとも前記SDカードのメモリロケーションにアクセスするように構成されたプロセッサとを備え、
前記アクセスコマンドは、単一読取り動作、単一書込み動作、複数読取り動作、複数書込み動作、及び消去動作から選択される前記SDカード上で実行されるアクセス動作を示す、電子デバイス。
条項40.前記第3のアドレスは、前記第1のアドレス及び前記第2のアドレスを直列に接続することによって生成される、条項39に記載の電子デバイス。
条項41.前記プロセッサは、前記I/Oインタフェースから受信された情報に基づいて前記SDカードの容量を決定するようにさらに構成されており、前記決定されたSDカードの容量が所定の閾値を超える場合、前記アドレス拡張コマンドが送信される、条項39に記載の電子デバイス。
条項42.前記第1のアドレス及び前記第2のアドレスは両方とも32ビットである、条項39に記載の電子デバイス。
条項43.前記第1のアドレスが6ビットであり、前記第2のアドレスは32ビットである、条項39に記載の電子デバイス。
条項44.前記アドレス拡張コマンドがCMD22コマンドを含み、前記アクセスコマンドがCMD17コマンドを含む場合、前記プロセッサは、前記第3のアドレスによって示される前記メモリロケーションに対して単一読取り動作を実行し、前記第3のアドレスは、前記CMD22コマンド内に含まれる前記第1のアドレスと前記CMD17コマンド内に含まれる前記第2のアドレスとに従って生成される、条項39に記載のSDカード。
条項45.前記アドレス拡張コマンドがCMD22コマンドを含み、前記アクセスコマンドがCMD24コマンドを含む場合、前記プロセッサは、前記第3のアドレスによって示される前記メモリロケーションに対して単一書込み動作を実行し、前記第3のアドレスは、前記CMD22コマンド内に含まれる前記第1のアドレスと前記CMD24コマンド内に含まれる前記第2のアドレスとに従って生成される、条項39に記載の電子デバイス。
条項46.前記アドレス拡張コマンドがCMD22コマンドを含み、前記アクセスコマンドがCMD23コマンド及びCMD18コマンドを含む場合、前記プロセッサは、前記第3のアドレスによって示される前記メモリロケーションから複数読取り動作を実行し、前記第3のアドレスは、前記CMD22コマンド内に含まれる前記第1のアドレスと前記CMD18コマンド内に含まれる前記第2のアドレスとに従って生成される、条項39に記載の電子デバイス。
条項47.前記アドレス拡張コマンドがCMD22コマンドを含み、前記アクセスコマンドがCMD23コマンド及びCMD25コマンドを含む場合、前記プロセッサは、前記第3のアドレスによって示される前記メモリロケーションから複数書込み動作を実行し、前記第3のアドレスは、前記CMD22コマンド内に含まれる前記第1のアドレスと前記CMD25コマンド内に含まれる前記第2のアドレスとに従って生成される、条項39に記載の電子デバイス。
条項48.前記アドレス拡張コマンドがCMD22コマンドを含み、前記アクセスコマンドがCMD32及びCMD38コマンドを含む場合、前記プロセッサは、前記CMD38コマンドに応答して、前記第3のアドレスによって示される前記メモリロケーションから消去動作を実行し、前記第3のアドレスは、前記CMD22コマンドと前記CMD32コマンドとに従って生成される、条項39に記載の電子デバイス。
条項49.前記アドレス拡張コマンドが第1のCMD22コマンド及び第2のCMD22コマンドを含み、前記アクセスコマンドがCMD32コマンド、CMD33コマンド及びCMD38コマンドを含む場合、前記プロセッサは、前記CMD38コマンドに応答して、前記第3のアドレスによって示される前記メモリロケーションから前記第4のアドレスによって示される別のメモリロケーションまで消去動作を実行し、前記第3のアドレスは、前記第1のCMD22コマンドと前記CMD32コマンドとに従って生成され、前記第4のアドレスは、前記第2のCMD22コマンドと前記CMD33コマンドとに従って生成される、条項39に記載の電子デバイス。
条項50.前記アドレス拡張コマンドがCMD22コマンドを含み、前記アクセスコマンドがCMD44コマンド及びCMD45コマンドを含む場合、前記プロセッサは、前記第3のアドレスによって示される前記メモリロケーションからデータ転送を実行し、前記第3のアドレスは、前記CMD22コマンド内に含まれる前記第1のアドレスと前記CMD45コマンド内に含まれる前記第2のアドレスとに従って生成される、条項39に記載の電子デバイス。
条項51.前記電子デバイスが第4のアドレスによって示され得るメモリロケーションにアクセスすることを決定する場合、前記プロセッサはさらに以下のように構成される、前記コマンドピンを介して、前記第4のアドレスを含む別のアクセスコマンドを前記SDカードに送信し、前記データピンを介して、前記第4のアドレスによって示される前記SDカードの前記メモリロケーションにアクセスする、条項39に記載の電子デバイス。
【0125】
上記の開示は例示を目的としたものであり、本開示を限定するものと見なされるべきではないことに注意すべきである。当業者は、本開示の教示を保持しながら、デバイス及び方法に関する多くの修正及び変更が行われ得ることを容易に観察するであろう。したがって、上記の開示は、添付の特許請求の範囲の境界によってのみ限定されると解釈されるべきである。
図1
図2
図3
図4A
図4B
図5A
図5B
図6
図7
図8
図9
図10
図11
図12