JP2021504863A - メモリアドレス指定方法と関連するコントローラ、メモリデバイス、及びホスト - Google Patents

メモリアドレス指定方法と関連するコントローラ、メモリデバイス、及びホスト Download PDF

Info

Publication number
JP2021504863A
JP2021504863A JP2020547277A JP2020547277A JP2021504863A JP 2021504863 A JP2021504863 A JP 2021504863A JP 2020547277 A JP2020547277 A JP 2020547277A JP 2020547277 A JP2020547277 A JP 2020547277A JP 2021504863 A JP2021504863 A JP 2021504863A
Authority
JP
Japan
Prior art keywords
command
address
card
memory location
cmd22
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2020547277A
Other languages
English (en)
Other versions
JP6987267B2 (ja
Inventor
チャオ クイ シェ
チャオ クイ シェ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Silicon Motion Inc
Original Assignee
Silicon Motion Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Silicon Motion Inc filed Critical Silicon Motion Inc
Publication of JP2021504863A publication Critical patent/JP2021504863A/ja
Priority to JP2021193423A priority Critical patent/JP7229326B2/ja
Application granted granted Critical
Publication of JP6987267B2 publication Critical patent/JP6987267B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1004Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0607Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/062Securing storage systems
    • G06F3/0622Securing storage systems in relation to access
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0637Permissions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0644Management of space entities, e.g. partitions, extents, pools
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0658Controller construction arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0662Virtualisation aspects
    • G06F3/0667Virtualisation aspects at data level, e.g. file, record or object virtualisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7207Details relating to flash memory management management of metadata or control data

Abstract

本発明は、ホストから電圧供給を受けるための電圧供給ピン、少なくとも1つの接地ピン、ホストからクロック信号を受信するためのクロックピン、ホストからコマンドを受信するためのコマンドピン、及びSDカードへのデータ書込み用又はSDカードからのデータ読取り用の4つのデータピンを含む、セキュアデジタル(SD)カードにアクセスする方法を提供する。本方法は、コマンドピンを介して、ホストから第1のアドレスを含むアドレス拡張コマンドを受信することと、コマンドピンを介して、ホストから第2のアドレスを含むアクセスコマンドを受信することと、データピンを介して、少なくとも、第1のアドレスと第2のアドレスとの結合体である第3のアドレスによって示されるSDカードのメモリロケーションにアクセスすることとを含む。アクセスコマンドは、単一読取り動作、単一書込み動作、複数読取り動作、複数書込み動作及び消去動作から選択されたSDカード上で実行されるアクセス動作を示す。

Description

本発明は、メモリデバイス及び関連するコントローラ、メモリデバイス及びホストのための方法に関し、より詳細には、メモリデバイス及び関連するコントローラ、メモリデバイス及びホストのためのメモリアドレス指定方法に関する。
ビデオデータ及び/又は音楽データを処理するためのデジタル通信デバイス又は電子デバイスの普及、ならびにIA(インターネットアプライアンス)製品の一般化に伴い、デジタルデータを格納するための様々なタイプのストレージデバイスが開発されてきた。メモリカードは、コンパクトで低消費電力という優位性から、市場の主流となっている。メモリカードは、デジタルカメラ、デジタルビデオカメラ、MP3プレーヤー、携帯電話、携帯情報端末(PDA)、全地球測位システム(GPS)デバイスなど、様々な種類のホスト/デバイス/システムでの使用に非常に適している。
セキュアデジタル(SD)カードは、市場で人気のあるメモリカードである。ただし、SDカードのコマンドのアドレスパラメータ又は引数は32ビットしかないため、現在SDカードがサポートできる最大ストレージ容量は2テラバイト(TB)であり、様々なアプリケーションの容量要件に対して不十分になっている。より大きな容量をサポートできるSDカードを用意することが望ましく、そのようなSDカードにアドレス指定又はアクセスの方法を提供する必要もある。
したがって、本発明の1つの目的は、2TBを超える容量をサポートするSDカードにアクセスできるアドレス指定方法を提供し、関連するSDカード、SDカードのコントローラ及びホストを提供することである。
本発明の実施形態は、ホストから電圧供給を受けるための電圧供給ピン、少なくとも1つの接地ピン、ホストからクロック信号を受信するためのクロックピン、ホストからコマンドを受信するためのコマンドピン、及びSDカードへのデータ書込み用又はSDカードからのデータ読取り用の4つのデータピンを含む、セキュアデジタル(SD)カードにアクセスする方法を開示する。本方法は、コマンドピンを介して、ホストから第1のアドレスを含むアドレス拡張コマンドを受信することと、コマンドピンを介して、ホストから第2のアドレスを含むアクセスコマンドを受信することと、データピンを介して、少なくとも、第1のアドレスと第2のアドレスとの結合体である第3のアドレスによって示されるSDカードのメモリロケーションにアクセスすることとを含む。アクセスコマンドは、単一読取り動作、単一書込み動作、複数読取り動作、複数書込み動作及び消去動作から選択されたSDカード上で実行されるアクセス動作を示す。
本発明の別の実施形態は、上記の方法を実行するように構成されたSDカードのコントローラを開示する。
本発明の別の実施形態は、ホストから電圧供給を受けるための電圧供給ピン、少なくとも1つの接地ピン、ホストからクロック信号を受信するためのクロックピン、ホストからコマンドを受信するためのコマンドピン、SDカードへのデータ書込み用又はSDカードからのデータ読取り用の4つのデータピン、を含むSDカードにアクセスする方法を開示する。本方法は、コマンドピンを介して、第1のアドレスを含むアドレス拡張コマンドをSDカードに送信すること、コマンドピンを介して、第2のアドレスを含むアクセスコマンドをSDカードに送信すること、及びデータピンを介して、少なくとも、第1のアドレスと第2のアドレスとの結合体である第3のアドレスによって示されるSDカードのメモリロケーションにアクセスすることを含む。アクセスコマンドは、単一読取り動作、単一書込み動作、複数読取り動作、複数書込み動作及び消去動作から選択されたSDカード上で実行されるアクセス動作を示す。
本発明の別の実施形態は、メモリモジュール、入力/出力(I/O)インタフェース、及びコントローラを含むSDカードを開示する。メモリモジュールは、複数のメモリロケーションを含む。I/Oインタフェースには、ホストから電圧供給を受けるための電圧供給ピン、少なくとも1つの接地ピン、ホストからクロック信号を受信するためのクロックピン、ホストからコマンドを受信するためのコマンドピン、及びSDカードへのデータ書込み用又はSDカードからのデータ読取り用の4つのデータピンが含まれる。コントローラは、コマンドピンを介して、I/Oインタフェースから第1のアドレスを含むアドレス拡張コマンドを受信すること、コマンドピンを介して、I/Oインタフェースから第2のアドレスを含むアクセスコマンドを受信すること、及び第1のアドレスと第2のアドレスとの結合体である第3のアドレスによって示される複数のメモリロケーションの少なくとも1つにアクセスすることを行うように構成される。アクセスコマンドは、単一読取り動作、単一書込み動作、複数読取り動作、複数書込み動作及び消去動作から選択されたSDカード上で実行されるアクセス動作を示す。
本発明のさらに別の実施形態は、SDカードにアクセスすることができる電子デバイスを開示する。SDカードには、I/Oインタフェースとプロセッサが含まれている。I/Oインタフェースには、SDカードに電圧を供給するための電圧供給接点、少なくとも1つの接地接点、SDカードにクロック信号を供給するためのクロック接点、SDカードにコマンドを提供するためのコマンド接点、及びSDカードへのデータ書込み用又はSDカードからのデータ読取り用の4つのデータ接点が含まれる。プロセッサは、コマンド接点を介して、第1のアドレスを含むアドレス拡張コマンドをSDカードに送信すること、コマンド接点を介して、第2のアドレスを含むアクセスコマンドをSDカードに送信すること、及びデータ接点を介して、第1のアドレスと第2のアドレスとの結合体である第3のアドレスによって示されるSDカードの少なくともメモリロケーションにアクセスすることを行うように構成される。アクセスコマンドは、単一読取り動作、単一書込み動作、複数読取り動作、複数書込み動作及び消去動作から選択されたSDカード上で実行されるアクセス動作を示す。
本発明の目的は、様々な図及び図面に示されている好ましい実施形態の以下の詳細な説明を読んだ後、当業者には疑いなく明らかになるであろう。
本発明のいくつかの実施形態による、SDカードに対するコマンドの概略図を示す。 本発明のいくつかの実施形態による、メモリ・コマンド・シーケンスを示す。 本発明のいくつかの実施形態による、メモリ・コマンド・シーケンスを示す。 本発明のいくつかの実施形態による、メモリ・コマンド・シーケンスを示す。 本発明のいくつかの実施形態による、メモリ・コマンド・シーケンスを示す。 本発明のいくつかの実施形態による、SDカードの概略図である。 本発明のいくつかの実施形態による、SDカードのピンの説明の表である。 本発明のいくつかの実施形態による、SDカードとホストの組合せを示すブロック図である。 本発明のいくつかの実施形態による、SDカードにアクセスするためのホストの方法のフローチャートである。 本発明のいくつかの実施形態による、SDカードにアクセスするためのホストの方法のフローチャートである。 本発明のいくつかの実施形態による、SDカードにアクセスするためのホストの方法のフローチャートである。 本発明のいくつかの実施形態による、SDカードにアクセスするためにSDカード又はSDカードのコントローラによって実行される方法のフローチャートである。 本発明のいくつかの実施形態による、SDカードにアクセスするためにSDカード又はSDカードのコントローラによって実行される方法のフローチャートである。 本発明のいくつかの実施形態による、SDカードがアクセスされているときのSDカードの状態の変化を示す状態図である。
図1は、本発明のいくつかの実施形態による、SDカードに対するコマンドの概略図を示す。
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ビットが含まれ、伝送エラーを検出し、インデックスの内容とコマンドのアドレスを保護するために使用される。
様々な種類のコマンドの例を以下に示す。
CMD17コマンドは、コマンド内の32ビットアドレスによって示されるSDカード内のメモリロケーションに対して単一読取り(又は単一ブロック読取り)動作を実行するコマンドを示す。10進数17の2進コードは「10001」なので、CMD 17コマンドのインデックスは「10001」である。CMD24コマンドは、インデックス「11000」を有し、コマンド内の32ビットアドレスによって示されるSDカード内のメモリロケーションに対して単一書込み(又は単一ブロック書込み)動作を実行するコマンドを示す。10進数24の2進コードは「11000」なので、CMD 24コマンドのインデックスは「11000」である。
CMD18コマンドは、インデックス「10010」を有し、コマンド内の32ビットアドレスによって示されるSDカード内のメモリロケーションから複数読取り(又は複数ブロック読取り)動作を実行するコマンドを示す。CMD23コマンドとCMD18コマンドとの結合体(例えば、CMD23コマンドの後にCMD18コマンドが続く)は、CMD18コマンド内の32ビットアドレスによって示されるSDカードのメモリロケーションから複数読取り動作を示し、CMD23はデータ読取り長さの情報を有する。
CMD25コマンドは、インデックス「11001」を有し、コマンド内の32ビットアドレスによって示されるSDカード内のメモリロケーションから複数書込み(又は複数ブロック読取り)動作を実行するコマンドを示す。CMD23コマンドとCMD25コマンドとの結合体(例えば、CMD23コマンドの後にCMD25コマンドが続く)は、CMD25コマンド内の32ビットアドレスによって示されるSDカード内のメモリロケーションからの複数書込み動作を示し、CMD23はデータ書込み長さの情報を有する。
CMD38コマンドは、インデックス「100110」を有し、SDカード上で消去動作を実行するコマンドを示す。例えば、CMD32コマンドとCMD38コマンドとの結合体(例えば、CMD32コマンドの後にCMD38コマンドが続く)は、CMD32コマンド内の32ビットアドレスによって示されるSDカード内のメモリロケーションから消去動作を示す。CMD32コマンド、CMD33コマンド、及びCMD38コマンドの結合体(例えば、CMD32コマンドの後にCMD33コマンドが続き、その後にCMD38コマンドが続く)は、CMD32コマンド内の32ビットアドレスによって示されるSDカード内のメモリロケーションから、CMD33コマンド内の32ビットアドレスによって示されるSDカード内のメモリロケーションまでの消去動作を示す。
CMD44コマンドは、インデックス「101100」を有し、SDカード上でデータ転送動作を実行するコマンドを示す。例えば、CMD44コマンドとCMD45コマンドとの結合体(例えば、CMD44コマンドの後にCMD45コマンドが続く)は、CMD45コマンド内の32ビットアドレスによって示されるSDカード内のメモリロケーションから開始されたデータ転送動作を示す。
従来、実行されるべき動作のアドレス情報は、動作に対応する1つのコマンド内で32ビットのアドレスで示されていたため、1つのコマンドのアドレス指定能力又はアクセス能力は2TB(232(32ビットアドレス)(512Bブロック)=241バイト=2TB)に制限されており、これにより、SDカードがサポートできる最大容量も2TBに制限される。
本発明のいくつかの実施形態では、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コマンドを含んでもよい。
特に、アドレス拡張コマンドは、インデックス「010110」(CMD22)を有することができ、その32ビットアドレス引数でアドレスを伝送するが、ここで、アドレスは6ビット(例えば、32ビットアドレス引数の下位6ビット)、32ビット、又は32ビットアドレス引数の任意のその他のビット数を占めてもよい。アドレス拡張コマンド内のアドレスは、アドレス拡張コマンドに続くアクセスコマンド内のアドレスと結合されて、32ビットを超える結合アドレスを形成し、2TBを超えるメモリ容量へのアクセスに使用できる。アドレス拡張コマンド内のアドレスが6ビットの場合、結合アドレスは38ビットで、128TB(26*2TB=128TB)のメモリ空間へのアクセスが可能になる。アドレス拡張コマンド内のアドレスが32ビットである場合、結合アドレスは64ビットであり、232*2TBのメモリ空間へのアクセスが可能になる。好ましい実施形態によれば、アドレス拡張コマンド内のアドレスは、結合アドレスの上位アドレスであってもよく、アクセスコマンド内のアドレスは、結合アドレスの下位アドレスであってもよい。別の実施形態では、アドレス拡張コマンド内のアドレスは、結合アドレスの下位アドレスであってもよく、アクセスコマンド内のアドレスは、結合アドレスの上位アドレスであってもよい。
好ましい実施形態では、結合アドレスは、アドレス拡張コマンドに含まれるアドレスとアクセスコマンドを含んだアドレスとを直列に接続することによって生成される。例えば、アドレス拡張コマンド内に含まれるアドレスが[X31:X0]で、アクセスコマンドを含んだアドレスが[Y31:Y0]の場合、結合アドレスは[X31:X0、Y31:Y0](又は、いくつかの実施形態で[Y31:Y0、X31、X0])である。図2は、本発明のいくつかの実施形態によるメモリ読取りコマンドシーケンスの例を示す。アドレス拡張コマンドCMD22は、単一読取りコマンドCMD17又は複数読取りコマンドCMD18に先行する。アドレス拡張コマンドCMD22は、単一読取りコマンドCMD17内又は複数読取りコマンドCMD18内のアドレスと結合される(32ビットアドレス引数で)アドレスを伝送し、単一読取り動作又は複数読取り動作が実行されるメモリロケーションを示す、32ビットを超える結合アドレスを形成する。
複数読取り動作に関しては、CMD23コマンドを使用して、動作のデータ読取り長さを設定できる。CMD12コマンドを使用して、CMD23コマンドによる複数読取り動作のデータ読取り長さを設定せずに、複数読取り動作を停止させてもよい。
図3は、本発明のいくつかの実施形態によるメモリ書込みコマンドシーケンスの例を示す。アドレス拡張コマンドCMD22は、単一書込みコマンドCMD24又は複数書込みコマンドCMD25に先行する。アドレス拡張コマンドCMD22は、単一書込みコマンドCMD24内又は複数書込みコマンドCMD25内のアドレスと結合され、(32ビットアドレス引数で)アドレスを伝送し、単一書込み動作又は複数書込み動作が実行されるメモリロケーションを示す32ビットを超える結合アドレスを形成する。
複数書込み動作に関しては、CMD23コマンドを使用して、動作のデータ書込み長さを設定してもよい。CMD12コマンドを使用して、CMD23コマンドによる複数書込み動作のデータ書込み長さを設定せずに、複数書込み動作を停止させてもよい。
図4Aは、本発明のいくつかの実施形態によるメモリ消去コマンドシーケンスの例を示す。1つのアドレス拡張コマンドCMD22はCMD32コマンドに先行し、(32ビットアドレス引数で)アドレスを伝送してCMD32コマンド内のアドレスと結合され、消去動作が開始されるメモリロケーションを示す、32ビットを超える結合アドレスを形成する。別のアドレス拡張コマンドCMD22はCMD33コマンドに先行し、(32ビットアドレス引数で)アドレスを伝送してCMD33コマンド内のアドレスと結合され、消去動作が終了されるメモリロケーションを示す、32ビットを超える別の結合アドレスを形成する。CMD38コマンドは、消去動作を開始する。
図4Bは、本発明のいくつかの実施形態によるメモリデータ転送コマンドシーケンスの例を示す。CMD44コマンドは、SDカード上でデータ転送動作を示す。アドレス拡張コマンドCMD22はCMD45コマンドに先行し、(32ビットアドレス引数で)アドレスを伝送してCMD45コマンド内のアドレスと結合され、データ転送が開始されるメモリロケーションを示す、32ビットを超える結合アドレスを形成する。
図5Aは、SDカードAの上面図である。図5Aに示すように、SDカードAは、A1からA9とラベル付けされた9つのピンを含む。
図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は、接地ピンである。
図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を備える。
いくつかの実施形態では、フラッシュ・メモリ・モジュール120は、それぞれが複数のブロックを含む複数のフラッシュ・メモリ・チップを含み、フラッシュ・メモリ・コントローラ110は、フラッシュ・メモリ・モジュール120上で動作を実行する消去ユニットとして「ブロック」をとる。フラッシュ・メモリ・コントローラ110は、マイクロプロセッサ112を介してプログラムコード112Cを実行することができる。いくつかの実施形態では、ブロックは特定の数のページを含むことができ、フラッシュ・メモリ・コントローラ110は、フラッシュ・メモリ・モジュール120にデータを書き込む単位として「ページ」を用いる。いくつかの実施形態では、フラッシュ・メモリ・モジュール120は、3D NAND型フラッシュメモリを含んでもよい。
実際には、マイクロプロセッサ112を介してプログラムコード112Cを実行するフラッシュ・メモリ・コントローラ110は、その内部要素を使用して、様々な制御動作を実行、例えば、制御ロジック114を使用してフラッシュ・メモリ・モジュール120のアクセス動作(特に、少なくとも1つのブロック又は少なくとも1つのページに対するアクセス動作)を制御、バッファメモリ116を使用して必要なバッファリングプロセスを実行、及びインタフェースロジック118を使用してSDカードAのデータピンを介してホストHと通信してもよい。バッファメモリ116は、例えば、スタティック・ランダム・アクセス・メモリ(スタティックRAM(SRAM))であってもよいが、本発明はそれに限定されない。
ホストHは、プロセッサ132と、SDカードAに結合された入力/出力(I/O)インタフェース134とを含むことができる。I/Oインタフェース134は、SDカードAのピンにそれぞれ対応する接点を含み得る(すなわち、I/Oインタフェースは、9つの接点を含み得る)。I/Oインタフェース134は、電圧供給を提供するための電圧供給接点、1つ以上の接地接点、クロック信号を提供するためのクロック接点、及びSDカードAのコマンドピンに電気的に接続するためのコマンド接点を含んでもよい。ホストHの各接点の定義は、図5Bに示される表を参照してもよい。
図7は、本発明のいくつかの実施形態による、SDカードにアクセスするためにホスト(又はホストのプロセッサ)によって実行される方法700のフローチャートである。詳細なステップは以下の通りである。
ステップ702で、ホストは、SDカード上で実行されるアクセス動作を決定する。アクセス動作は、単一読取り動作、単一書込み動作、複数読取り動作、複数書込み動作、及び消去動作から選択することができる。
ステップ704で、ホストは、アクセス動作の対象となるSDカードのメモリロケーションを決定し、メモリロケーションは、64ビットアドレスによって示され得る。
ステップ706で、ホストは、64ビットのアドレスを32ビットの上位アドレスと32ビットの下位アドレスとに分離する。
ステップ708で、ホストは、(アドレス引数内の)上位アドレスを含むアドレス拡張コマンドを、ホストのI/OインタフェースからSDカードのコマンドピンを介してSDカードに送信する。
ステップ710で、ホストは、(アドレス引数内の)下位アドレスと(インデックス内の)アクセス動作を示す情報とを含むアクセスコマンドを、SDカードのコマンドピンを介してSDカードに送信する。
ステップ712で、ホストは、SDカードのデータピンを介して、上位アドレスと下位アドレスとの結合体である結合アドレスによって示されるSDカードのメモリロケーションにアクセスする。
上述の実施形態では、上位アドレス及び下位アドレスは両方とも32ビットである。他のいくつかの実施形態では、ステップ704で決定されたメモリロケーションを示すアドレスは38ビットであり得、上位アドレスは6ビット、下位アドレスは32ビットであり得る。本開示によれば、上位アドレスのビット数は、32以下の任意の数であってよく、したがって、上記の実施形態に限定されない。さらに、いくつかの実施形態では、アドレス拡張コマンドは下位アドレスを含むことができ、アクセスコマンドは上位アドレスを含むことができる。
いくつかの実施形態では、アドレス拡張コマンドがCMD22コマンドを含み、アクセスコマンドがCMD17コマンドを含む場合、SDカードのメモリロケーションにアクセスするステップ(ステップ712)は、CMD22コマンド内に含まれる上位アドレスとCMD17コマンド内に含まれる下位アドレスとに従って生成される結合アドレスによって示されるメモリロケーションに対して単一読取り動作を実行することを含む。
いくつかの実施形態では、アドレス拡張コマンドがCMD22コマンドを含み、アクセスコマンドがCMD24コマンドを含む場合、SDカードのメモリロケーションにアクセスするステップ(ステップ712)は、CMD22コマンド内に含まれる上位アドレスとCMD24コマンド内に含まれる下位アドレスとに従って生成される結合アドレスによって示されるメモリロケーションに対して単一書込み動作を実行することを含む。
いくつかの実施形態では、アドレス拡張コマンドがCMD22コマンドを含み、アクセスコマンドがCMD23コマンド及びCMD18コマンドを含む場合(図2に示すように)、SDカードのメモリロケーションにアクセスするステップ(ステップ712)は、CMD22コマンド内に含まれる上位アドレスとCMD18コマンド内に含まれる下位アドレスとに従って生成される結合アドレスによって示されるメモリロケーションから複数の読取り動作を実行することを含む。CMD23コマンドを使用して、複数読取り動作のデータ読取り長さを設定する。
いくつかの実施形態では、アドレス拡張コマンドがCMD22コマンドを含み、アクセスコマンドがCMD23コマンド及びCMD25コマンドを含む場合(図3に示すように)、SDカードのメモリロケーションにアクセスするステップ(ステップ712)は、CMD22コマンド内に含まれる上位アドレスとCMD25コマンド内に含まれる下位アドレスとに従って生成される結合アドレスによって示されるメモリロケーションから複数の書込み動作を実行することを含む。CMD23コマンドを使用して、複数書込み動作のデータ書込み長さを設定する。
いくつかの実施形態では、アドレス拡張コマンドがCMD22コマンドを含み、アクセスコマンドがCMD32及びCMD38コマンドを含む場合、SDカードのメモリロケーションにアクセスするステップ(ステップ712)は、CMD38コマンドに応答して、結合アドレスによって示されるメモリロケーションから消去動作を実行することを含む。結合アドレスは、CMD22コマンド内に含まれる上位アドレスとCMD32コマンド内に含まれる下位アドレスとに従って生成される。
いくつかの実施形態では、アドレス拡張コマンドが第1のCMD22コマンド及び第2のCMD22コマンドを含み、アクセスコマンドがCMD32コマンド、CMD33コマンド及びCMD38コマンドを含む場合(図4Aに示すように)、SDカードのメモリロケーションにアクセスするステップ(ステップ712)は、開始アドレスによって示されるメモリロケーションから終了アドレスによって示される別のメモリロケーションまでの消去動作の実行を含み、開始アドレスは、第1のCMD22コマンド内に含まれる上位アドレスとCMD32コマンド内に含まれる下位アドレスとに従って生成され、終了アドレスは、第2のCMD22コマンド内に含まれる上位アドレスとCMD33コマンド内に含まれる下位アドレスとに従って生成される。消去動作は、CMD38コマンドによって開始される。
いくつかの実施形態では、アドレス拡張コマンドがCMD22コマンドを含み、アクセスコマンドがCMD44コマンド及びCMD45コマンドを含む場合(図4Bに示されるように)、SDカードのメモリロケーションにアクセスするステップ(ステップ712)は、CMD22コマンド内に含まれる上位アドレスとCMD45コマンド内に含まれる下位アドレスとに従って生成される結合アドレスによって示されるメモリロケーションからデータ転送を実行することを含む。CMD44コマンドを使用して、データの方向、優先タスクID、及び転送ブロックの総数を設定する。
図7に示されるステップの順序は例示に過ぎず、ステップは、様々な用途に応じて、任意の他の適切な順序に再配置できることに注意すべきである。例えば、いくつかの他の実施形態では、ステップ704はステップ702に先行してもよく、又はステップ710はステップ708に先行してもよい。
図8は、本発明のいくつかの実施形態による、SDカードにアクセスするためにホストによって実行される方法800のフローチャートである。詳細なステップは以下の通りである。
ステップ802で、ホストは、SDカードの容量に関する情報を受信する。情報は、SDカード内のカード固有データ(CSD)レジスタに記憶できる。
ステップ804で、ホストは、SDカードの容量が所定の閾値、例えば、32ビットアドレスで提示できる容量を超えるかどうかを決定する。しきい値は2TB又は2TB未満であってもよい。結果が肯定の場合、プロセスはステップ806に進む。結果が否定の場合、プロセスはステップ820に進む。
ステップ806で、ホストは、SDカード上で実行されるアクセス動作を決定する。アクセス動作は、単一読取り動作、単一書込み動作、複数読取り動作、複数書込み動作、及び消去動作から選択することができる。
ステップ808で、ホストは、アクセス動作の対象となるSDカードのメモリロケーションを決定し、メモリロケーションは、64ビットアドレスによって示され得る。
ステップ810で、ホストは、64ビットのアドレスを32ビットの上位アドレスと32ビットの下位アドレスに分離する。
ステップ812で、ホストは、(アドレス引数内の)上位アドレスを含むアドレス拡張コマンドを、ホストのI/OインタフェースからSDカードのコマンドピンを介してSDカードに送信する。
ステップ814で、ホストは、(アドレス引数内の)下位アドレスと(インデックス内の)アクセス動作を示す情報を含むアクセスコマンドを、SDカードのコマンドピンを介してSDカードに送信する。
ステップ816で、ホストは、SDカードのデータピンを介して、上位アドレスと下位アドレスとの結合体である結合アドレスによって示されるSDカードのメモリロケーションにアクセスする。
ステップ820で、ホストは、SDカード上で実行されるアクセス動作を決定する。アクセス動作は、単一読取り動作、単一書込み動作、複数読取り動作、複数書込み動作、及び消去動作から選択することができる。
ステップ822で、ホストは、アクセス動作の対象となるSDカードのメモリロケーションを決定し、メモリロケーションは32ビットアドレスによって示される。
ステップ824で、ホストは、(アドレス引数内の)32ビットアドレス及び(インデックス内の)アクセス動作を示す情報を含むアクセスコマンドを、SDカードのコマンドピンを介してSDカードに送信する。
ステップ826で、ホストは、ステップ824におけるアクセス動作に従って、SDカードのデータピンを介して、32ビットアドレスによって示されるSDカードのメモリロケーションにアクセスする。
現在の実施形態では、ホストHは最初にSDカードの容量を決定する。SDカードの容量が閾値、例えば2TBを超える場合、プロセスはステップ806に進み、そうでなければ、プロセスはステップ820に進む。ステップ806〜816の動作は、ステップ702〜712の動作と同じである。つまり、SDカードの容量が2TBを超えるとホストHが判断した場合、SDカードにアクセスするにはアドレス拡張コマンドが必要であり、それ以外の場合、SDカードにアクセスするには、アクセスコマンドのみで十分である。
図8に示されるステップの順序は例示に過ぎず、ステップは、様々な用途に応じて他の任意の適切な順序に再配置できることに注意すべきである。例えば、いくつかの他の実施形態では、ステップ806及びステップ820は結合されて、ステップ802に先行してもよく、又は、ステップ814は、ステップ812に先行してもよい。
図9は、本発明のいくつかの実施形態による、SDカードにアクセスするためにホストによって実行される方法900のフローチャートである。詳細なステップは以下の通りである。
ステップ901で、ホストは、SDカード上で実行されるアクセス動作を決定する。アクセス動作は、単一読取り動作、単一書込み動作、複数読取り動作、複数書込み動作、及び消去動作から選択することができる。
ステップ902で、ホストは、SDカードの容量に関する情報を受信する。情報は、SDカード内のCSDレジスタに記憶できる。
ステップ904で、ホストは、SDカードの容量が所定の閾値を超えるかどうかを決定する。しきい値は2TB又は2TB未満であってもよい。結果が肯定の場合、プロセスはステップ906に進む。結果が否定の場合、プロセスはステップ922に進む。
ステップ906で、ホストは、ステップ901で決定されたアクセス動作の対象となるSDカードのメモリロケーションを決定し、メモリロケーションは、64ビットアドレス又は32ビットアドレスによって示されてもよい。メモリロケーションが32ビットより大きいアドレスによって示されなければならない場合、プロセスはステップ908に進む。メモリロケーションを32ビットアドレスによって示すことができる場合、プロセスはステップ922に進む。
ステップ908で、ホストは、64ビットアドレスを32ビットの上位アドレスと32ビットの下位アドレスに分離する。
ステップ910で、ホストは、(アドレス引数内の)上位アドレスを含むアドレス拡張コマンドを、ホストのI/OインタフェースからSDカードのコマンドピンを介してSDカードに送信する。
ステップ912で、ホストは、(アドレス引数内の)下位アドレス及び(インデックス内の)アクセス動作を示す情報を含むアクセスコマンドを、SDカードのコマンドピンを介してSDカードに送信する。
ステップ914で、ホストは、SDカードのデータピンを介して、上位アドレスと下位アドレスとの結合体である結合アドレスによって示されるSDカードのメモリロケーションにアクセスする。
ステップ922:ホストは、アクセス動作の対象となるSDカードのメモリロケーションを決定し、メモリロケーションは32ビットアドレスによって示される。
ステップ924で、ホストは、(アドレス引数内の)32ビットアドレス及び(インデックス内の)アクセス動作を示す情報を含むアクセスコマンドを、SDカードのコマンドピンを介してSDカードに送信する。
ステップ926で、ホストは、ステップ824におけるアクセス動作に従って、SDカードのデータピンを介して、32ビットアドレスによって示されるSDカードのメモリロケーションにアクセスする。
方法900では、SDカードが例えば2TBより大きい容量をサポートすることをホストが認識した場合でも、ホストは、32ビットアドレスによって示されることができるメモリロケーションを選択して、アクセス動作を実行でき、アドレス拡張コマンドを送信する必要がないことに注意すべきである。
図10は、本発明のいくつかの実施形態による、SDカードにアクセスするためにSDカード又はSDカードのコントローラによって実行される方法1000のフローチャートである。詳細なステップは以下の通りである。
ステップ1002で、SDカード(又はSDカードのコントローラ)は、ホストのI/OインタフェースからSDカードのコマンドピンを介して(アドレス引数内の)上位アドレスを含むアドレス拡張コマンドを受信する。
ステップ1004で、SDカード(又はSDカードのコントローラ)は、(アドレス引数内の)下位アドレス及び(インデックス内の)アクセス動作を示す情報を含むアクセスコマンドを、SDカードのコマンドピンを介して受信する。アクセス動作は、単一読取り動作、単一書込み動作、複数読取り動作、複数書込み動作、及び消去動作から選択することができる。
ステップ1006で、SDカード(又はSDカードのコントローラ)は、上位アドレスと下位アドレスとの結合体である結合アドレスによって示されるSDカードのメモリロケーションにアクセスする。
上位アドレスと下位アドレスはどちらも32ビットであってもよい。いくつかの他の実施形態では、上位アドレスは6ビットであってもよく、下位アドレスは32ビットである。それ以外の場合、上位アドレスは32ビットで、6ビットの意味のあるビットのみを含む場合がある。本開示によれば、上位アドレスのビット数(例えば、意味のあるビット)は、32以下の任意の数であってよく、したがって、上記の実施形態に限定されない。さらに、いくつかの実施形態では、アドレス拡張コマンドは下位アドレスを含むことができ、アクセスコマンドは上位アドレスを含むことができる。
いくつかの実施形態では、アドレス拡張コマンドがCMD22コマンドを含み、アクセスコマンドがCMD17コマンドを含む場合、SDカードのメモリロケーションにアクセスするステップ(ステップ1006)は、CMD22コマンド内に含まれる上位アドレスとCMD17コマンド内に含まれる下位アドレスとに従って生成される結合アドレスによって示されるメモリロケーションに対して単一読取り動作を実行することを含む。
いくつかの実施形態では、アドレス拡張コマンドがCMD22コマンドを含み、アクセスコマンドがCMD24コマンドを含む場合、SDカードのメモリロケーションにアクセスするステップ(ステップ1006)は、CMD22コマンド内に含まれる上位アドレスとCMD24コマンド内に含まれる下位アドレスとに従って生成される結合アドレスによって示されるメモリロケーションに対して単一書込み動作を実行することを含む。
いくつかの実施形態では、アドレス拡張コマンドがCMD22コマンドを含み、アクセスコマンドがCMD23コマンド及びCMD18コマンドを含む場合(図2に示すように)、SDカードのメモリロケーションにアクセスするステップ(ステップ1006)は、CMD22コマンド内に含まれる上位アドレスとCMD18コマンド内に含まれる下位アドレスとに従って生成される結合アドレスによって示されるメモリロケーションからの複数読取り動作を含む。CMD23コマンドを使用して、複数読取り動作のデータ読取り長さを設定する。
いくつかの実施形態では、アドレス拡張コマンドがCMD22コマンドを含み、アクセスコマンドがCMD23コマンド及びCMD25コマンドを含む場合(図3に示すように)、SDカードのメモリロケーションにアクセスするステップ(ステップ1006)は、CMD22コマンド内に含まれる上位アドレスとCMD25コマンド内に含まれる下位アドレスとに従って生成される結合アドレスによって示されるメモリロケーションからの複数書込み動作を含む。CMD23コマンドを使用して、複数書込み動作のデータ書込み長さを設定する。
いくつかの実施形態では、アドレス拡張コマンドがCMD22コマンドを含み、アクセスコマンドがCMD32及びCMD38コマンドを含む場合、SDカードのメモリロケーションにアクセスするステップ(ステップ1006)は、CMD38コマンドに応答して、結合アドレスによって示されるメモリロケーションから消去動作を実行することを含む。結合アドレスは、CMD22コマンド内に含まれる上位アドレスとCMD32コマンド内に含まれる下位アドレスとに従って生成される。
いくつかの実施形態では、アドレス拡張コマンドが第1のCMD22コマンド及び第2のCMD22コマンドを含み、アクセスコマンドがCMD32コマンド、CMD33コマンド及びCMD38コマンドを含む場合(図4Aに示すように)、SDカードのメモリロケーションにアクセスするステップ(ステップ1006)は、開始アドレスによって示されるメモリロケーションから終了アドレスによって示される別のメモリロケーションまでの消去動作の実行を含み、開始アドレスは、第1のCMD22コマンド内に含まれる上位アドレスとCMD32コマンド内に含まれる下位アドレスとに従って生成され、終了アドレスは、第2のCMD22コマンド内に含まれる上位アドレスとCMD33コマンド内に含まれる下位アドレスとに従って生成されてもよい。消去動作は、CMD38コマンドによって開始される。
いくつかの実施形態では、アドレス拡張コマンドがCMD22コマンドを含み、アクセスコマンドがCMD44コマンド及びCMD45コマンドを含む場合(図4Bに示すように)、SDカードのメモリロケーションにアクセスするステップ(ステップ1006)は、CMD22コマンド内に含まれる上位アドレスとCMD45コマンド内に含まれる下位アドレスとに従って生成される結合アドレスによって示されるメモリロケーションからデータ転送を実行することを含む。CMD44コマンドを使用して、データの方向、優先タスクID、及び転送ブロックの総数を設定する。
図10に示すステップの順序は例示に過ぎず、ステップは、様々な用途に応じて他の任意の適切な順序に再配置できることに注意すべきである。例えば、いくつかの他の実施形態では、ステップ1004はステップ1002に先行してもよい。
図11は、本発明のいくつかの実施形態による、SDカードにアクセスするためにSDカード又はSDカードのコントローラによって実行される方法1100のフローチャートである。詳細なステップは以下の通りである。
ステップ1102で、SDカード(又はSDカードのコントローラ)は、SDカードの容量に関する情報をホストに送信する。情報は、SDカード内のCSDレジスタに記憶できる。
ステップ1104で、SDカードは、(アドレス引数内の)上位アドレスを含むアドレス拡張コマンドが受信されたかどうかを判定する。アドレス拡張コマンドが受信された場合、プロセスはステップ1106に進み、それ以外の場合は、ステップ1120に進む。
ステップ1106で、SDカード(又はSDカードのコントローラ)は、(アドレス引数内の)下位アドレス及び(インデックス内の)アクセス動作を示す情報を含むアクセスコマンドを、SDカードのコマンドピンを介して受信する。アクセス動作は、単一読取り動作、単一書込み動作、複数読取り動作、複数書込み動作、及び消去動作から選択することができる。
ステップ1108で、SDカード(又はSDカードのコントローラ)は、上位アドレスと下位アドレスとの結合体である結合アドレスによって示されるSDカードのメモリロケーションにアクセスする。アクセス動作は、単一読取り動作、単一書込み動作、複数読取り動作、複数書込み動作、及び消去動作から選択することができる。
ステップ1120で、SDカード(又はSDカードのコントローラ)は、(アドレス引数内の)32ビットアドレスと、(インデックス内の)アクセス動作を示す情報を含むアクセスコマンドを、SDカードのコマンドピンを介して、ホストのI/Oインタフェースから受信する。
ステップ1122で、SDカード(又はSDカードのコントローラ)は、ステップ1120でのアクセス動作に従って、32ビットアドレスによって示されるSDカードのメモリロケーションにアクセスする。
図11に示すステップの順序は例示に過ぎず、ステップは、様々な用途に応じて他の任意の適切な順序に再配置できることに注意すべきである。例えば、アクセスコマンドを受信するためのステップ1106及び1120は、結合されてもよく、ステップ1104に先行してもよい。
図12は、本発明のいくつかの実施形態による、SDカードがアクセスされているときのSDカードの状態の変化を示す状態図である。
状態図は、転送状態である状態1200で始まり、SDカードは、特定の時間内にまだアクセスコマンドを受信していない。すなわち、SDカードはまだ上位アドレス又は下位アドレスを受信していない。
状態1200では、CMD17、CMD18、CMD24又はCMD25コマンドが受信されると、SDカードはCMD17、CMD18、CMD24又はCMD25コマンドによって伝送される下位アドレスを受信し、SDカードは状態1204に入る。その後、SDカードは状態1250に入る。
状態1200では、CMD22コマンドが受信されると、SDカードはCMD22コマンドによって伝送される上位アドレスを受信し、SDカードは状態1202に入る。
状態1200では、CMD23コマンドが受信されると、SDカードはCMD23コマンドによって伝送されるデータ長を受信し、SDカードは状態1222に入るが、SDカードはまだ上位アドレス又は下位アドレスを受信していない。
状態1200では、CMD32コマンドが受信されると、SDカードはCMD32コマンドによって伝送される下位アドレスを受信し、SDカードは状態1212に入る。
状態1202では、新しいCMD22コマンドが受信されると、SDカードが状態1200から状態1202に切り替わるときに受信された上位アドレスが、新しいCMD22コマンドによって伝送される上位アドレスに置き換わり、SDカードは状態1202のままである。
状態1202では、CMD17、CMD18、CMD24又はCMD25コマンドが受信されると、SDカードはCMD17、CMD18、CMD24又はCMD25コマンドによって伝送される下位アドレスを受信し、SDカードは状態1204に入る。その後、SDカードは状態1250に入る。
状態1202では、コマンド32が受信されると、SDカードはCMD32コマンドによって伝送される下位アドレスを受信し、SDカードは状態1212に入る。
状態1222では、新しいCMD23コマンドを受信すると、SDカードが状態1200から状態1222に切り替わるときに受信したデータ長が、新しいCMD23コマンドによって伝送されるデータ長に置き換わり、SDカードは状態1222のままである。
状態1222では、CMD22コマンドが受信されると、SDカードはCMD22コマンドによって伝送される上位アドレスを受信し、SDカードは状態1223に入る。
状態1222では、CMD18又はCMD25コマンドが受信されると、SDカードはCMD18又はCMD25コマンドによって伝送される下位アドレスを受信し、SDカードは状態1224に入り、その後状態1250に入る。
状態1223では、新しいCMD22コマンドが受信されると、SDカードが状態1222から状態1223に切り替わるときに受信された上位アドレスが、新しいCMD22コマンドによって伝送される上位アドレスに置き換わり、SDカードは状態1223のままである。
状態1223では、新しいCMD23コマンドが受信されると、現在のデータ長が、新しいCMD23コマンドによって伝送されるデータ長に置き換わり、SDカードは状態1222に戻る。
状態1223では、CMD18又はCMD25コマンドが受信されると、SDカードはCMD18又はCMD25コマンドによって伝送される下位アドレスを受信し、SDカードは状態1224に入り、その後状態1250に入る。
状態1212では、SDカードは、その後、状態1214に入る。
状態1214では、CMD33コマンドが受信されると、SDカードはCMD33コマンドによって伝送される下位アドレスを受信し、SDカードは状態1216に入る。
状態1214では、CMD22コマンドが受信されると、SDカードはCMD22コマンドによって伝送される上位アドレスを受信し、SDカードは状態1215に入る。
状態1215では、新しいCMD22コマンドが受信されると、SDカードが状態1214から状態1215に切り替わるときに受信された上位アドレスが、新しいCMD22コマンドによって伝送される上位アドレスに置き換わり、SDカードは状態1215のままである。
状態1215では、CMD33コマンドが受信されると、SDカードはCMD33コマンドによって伝送される下位アドレスを受信し、SDカードは状態1216に入る。
状態1216では、CMD38コマンドが受信されると、対応する動作(例えば、消去動作)がSDカードに命令され、SDカードは状態1218に入り、その後、SDカードは状態1250に入る。
状態1250では、SDカードは、アクセスコマンド(CMD17、CMD18、CMD24、CMD25、CMD32、及びCMD33)のインデックスフィールドによって示される動作に従って、下位アドレス又は上位アドレスと下位アドレスとの結合体によって決定されるSDカードのロケーションでアクセスされる。決定されたロケーションにアクセスできない場合(例えば、読取り専用領域内)、又はSDカード内に存在しない場合(例えば、SDカードの容量を超える場合)、アクセスは拒否され、SDカードは状態1200に戻る。
図12に示す例示的な実施形態において、状態1202、状態1222、状態1223、状態1214、状態1215、及び状態1216では、予期しないコマンド(すなわち、上記のそれぞれの説明で説明されているコマンド以外のコマンド)が受信されると、SDカードは転送状態1200に戻る(点線の矢印で示されている)。
上記を考慮して、当業者は、図7〜図11に示されるフローチャートが主題開示の実施形態であることを理解でき、図12の状態図に基づいてSDカード又はホストによって実行される他のフローチャートを導き出すことができる。
本開示は、以下の条項を使用してさらに説明することができる。
条項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に記載の電子デバイス。
上記の開示は例示を目的としたものであり、本開示を限定するものと見なされるべきではないことに注意すべきである。当業者は、本開示の教示を保持しながら、デバイス及び方法に関する多くの修正及び変更が行われ得ることを容易に観察するであろう。したがって、上記の開示は、添付の特許請求の範囲の境界によってのみ限定されると解釈されるべきである。

Claims (13)

  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のいずれか1項に記載の方法を実行するように構成された、
    SDカードのコントローラ。
JP2020547277A 2017-12-28 2018-12-28 メモリアドレス指定方法と関連するコントローラ、メモリデバイス、及びホスト Active JP6987267B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2021193423A JP7229326B2 (ja) 2017-12-28 2021-11-29 メモリアドレス指定方法と関連するコントローラ、メモリデバイス、及びホスト

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201762610937P 2017-12-28 2017-12-28
US62/610,937 2017-12-28
PCT/CN2018/125004 WO2019129226A1 (en) 2017-12-28 2018-12-28 Memory addressing methods and associated controller, memory device and host

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2021193423A Division JP7229326B2 (ja) 2017-12-28 2021-11-29 メモリアドレス指定方法と関連するコントローラ、メモリデバイス、及びホスト

Publications (2)

Publication Number Publication Date
JP2021504863A true JP2021504863A (ja) 2021-02-15
JP6987267B2 JP6987267B2 (ja) 2021-12-22

Family

ID=67058813

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2020547277A Active JP6987267B2 (ja) 2017-12-28 2018-12-28 メモリアドレス指定方法と関連するコントローラ、メモリデバイス、及びホスト
JP2021193423A Active JP7229326B2 (ja) 2017-12-28 2021-11-29 メモリアドレス指定方法と関連するコントローラ、メモリデバイス、及びホスト

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2021193423A Active JP7229326B2 (ja) 2017-12-28 2021-11-29 メモリアドレス指定方法と関連するコントローラ、メモリデバイス、及びホスト

Country Status (7)

Country Link
US (3) US10866746B2 (ja)
EP (1) EP3732574A4 (ja)
JP (2) JP6987267B2 (ja)
KR (1) KR102372972B1 (ja)
CN (2) CN115794665A (ja)
TW (2) TWI695382B (ja)
WO (1) WO2019129226A1 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI714487B (zh) 2017-12-28 2020-12-21 慧榮科技股份有限公司 記憶卡控制器以及使用於記憶卡控制器的方法
US10866746B2 (en) * 2017-12-28 2020-12-15 Silicon Motion Inc. Memory addressing methods and associated controller, memory device and host
US11288187B2 (en) * 2018-03-28 2022-03-29 SK Hynix Inc. Addressing switch solution
US11544185B2 (en) * 2020-07-16 2023-01-03 Silicon Motion, Inc. Method and apparatus for data reads in host performance acceleration mode
US11544186B2 (en) * 2020-07-16 2023-01-03 Silicon Motion, Inc. Method and apparatus for data reads in host performance acceleration mode

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090327644A1 (en) * 2008-06-26 2009-12-31 Sdc Micro Inc. Cpu and memory connection assembly to extend memory address space
CN103268775A (zh) * 2013-05-17 2013-08-28 深圳市江波龙电子有限公司 存储芯片、存储设备及存储芯片使用方法
JP2017157209A (ja) * 2016-03-03 2017-09-07 三星電子株式会社Samsung Electronics Co.,Ltd. メモリ装置のデータアドレッシング方法及びメモリ装置並びにメモリモジュール
JP6232109B1 (ja) * 2016-09-27 2017-11-15 ウィンボンド エレクトロニクス コーポレーション 半導体記憶装置および連続読出し方法

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3923715B2 (ja) * 2000-09-29 2007-06-06 株式会社東芝 メモリカード
TWM253045U (en) 2003-12-16 2004-12-11 I O Interconnect Inc Removable flash memory portable storage device task
JP4515793B2 (ja) 2004-03-11 2010-08-04 株式会社東芝 メモリカード装置およびメモリカード制御方法
US7814377B2 (en) 2004-07-09 2010-10-12 Sandisk Corporation Non-volatile memory system with self test capability
CN101089830B (zh) * 2006-06-16 2010-06-09 亮发科技股份有限公司 记忆装置及其运作方法
KR100783988B1 (ko) 2006-10-31 2007-12-07 주식회사 하이닉스반도체 플래시 메모리 장치 및 동작방법
JP4956143B2 (ja) 2006-11-02 2012-06-20 株式会社東芝 半導体メモリカード、ホスト装置、及びデータ転送方法
US7694099B2 (en) 2007-01-16 2010-04-06 Advanced Risc Mach Ltd Memory controller having an interface for providing a connection to a plurality of memory devices
US7916557B2 (en) 2007-04-25 2011-03-29 Micron Technology, Inc. NAND interface
JP2009026296A (ja) * 2007-06-21 2009-02-05 Toshiba Corp 電子デバイス、メモリデバイス、ホスト装置
CN101782870B (zh) 2009-01-16 2011-12-14 旺宏电子股份有限公司 存储器装置与其控制方法
CN101650690B (zh) 2009-09-21 2011-03-02 中兴通讯股份有限公司 大容量存储卡的应用方法及移动终端
JP2011107851A (ja) * 2009-11-13 2011-06-02 Toshiba Corp メモリシステム
TWI421871B (zh) * 2009-11-27 2014-01-01 Macronix Int Co Ltd 定址一記憶積體電路之方法與裝置
CN102214482B (zh) 2010-04-07 2013-05-01 中国科学院电子学研究所 高速大容量固态电子记录器
US8713242B2 (en) 2010-12-30 2014-04-29 Solid State System Co., Ltd. Control method and allocation structure for flash memory device
TWI471862B (zh) 2011-08-19 2015-02-01 Silicon Motion Inc 快閃記憶體控制器
KR101988260B1 (ko) 2012-09-14 2019-06-12 삼성전자주식회사 임베디드 멀티미디어 카드, 및 이의 동작 방법
JP5976608B2 (ja) * 2012-10-30 2016-08-23 株式会社東芝 メモリデバイス
KR102210961B1 (ko) 2013-06-12 2021-02-03 삼성전자주식회사 불휘발성 메모리 장치를 포함하는 메모리 시스템 및 그것의 동적 접근 방법
CN103488436B (zh) 2013-09-25 2017-04-26 华为技术有限公司 内存扩展系统及方法
CN104679592A (zh) 2013-12-02 2015-06-03 北京兆易创新科技股份有限公司 一种微控制单元mcu中资源动态分配的方法和系统
CN103809920B (zh) 2014-02-13 2017-05-17 杭州电子科技大学 一种超大容量固态硬盘的实现方法
US9606738B2 (en) 2014-03-10 2017-03-28 Kabushiki Kaisha Toshiba Memory system with a bridge part provided between a memory and a controller
JP2016029556A (ja) 2014-07-15 2016-03-03 株式会社東芝 ホスト機器および拡張性デバイス
US9418731B1 (en) 2015-11-06 2016-08-16 Phison Electronics Corp. Memory management method, memory storage device and memory control circuit unit
TWI599880B (zh) 2016-03-22 2017-09-21 威盛電子股份有限公司 非揮發性記憶體裝置及其操作方法
TWI637264B (zh) 2016-05-20 2018-10-01 慧榮科技股份有限公司 資料儲存裝置之資料頁對齊方法及其查找表的製作方法
US10303384B1 (en) * 2017-11-28 2019-05-28 Western Digital Technologies, Inc. Task readiness for queued storage tasks
US10866746B2 (en) * 2017-12-28 2020-12-15 Silicon Motion Inc. Memory addressing methods and associated controller, memory device and host

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090327644A1 (en) * 2008-06-26 2009-12-31 Sdc Micro Inc. Cpu and memory connection assembly to extend memory address space
CN103268775A (zh) * 2013-05-17 2013-08-28 深圳市江波龙电子有限公司 存储芯片、存储设备及存储芯片使用方法
JP2017157209A (ja) * 2016-03-03 2017-09-07 三星電子株式会社Samsung Electronics Co.,Ltd. メモリ装置のデータアドレッシング方法及びメモリ装置並びにメモリモジュール
JP6232109B1 (ja) * 2016-09-27 2017-11-15 ウィンボンド エレクトロニクス コーポレーション 半導体記憶装置および連続読出し方法

Also Published As

Publication number Publication date
TWI790456B (zh) 2023-01-21
EP3732574A4 (en) 2021-10-27
TW202314723A (zh) 2023-04-01
JP7229326B2 (ja) 2023-02-27
US11422717B2 (en) 2022-08-23
US10866746B2 (en) 2020-12-15
CN110059017B (zh) 2022-11-04
US20210081118A1 (en) 2021-03-18
US20220350502A1 (en) 2022-11-03
US20190205047A1 (en) 2019-07-04
TW201939509A (zh) 2019-10-01
KR102372972B1 (ko) 2022-03-10
JP2022028890A (ja) 2022-02-16
KR20200060758A (ko) 2020-06-01
CN115794665A (zh) 2023-03-14
WO2019129226A1 (en) 2019-07-04
TW202046326A (zh) 2020-12-16
CN110059017A (zh) 2019-07-26
TWI695382B (zh) 2020-06-01
EP3732574A1 (en) 2020-11-04
JP6987267B2 (ja) 2021-12-22

Similar Documents

Publication Publication Date Title
JP6987267B2 (ja) メモリアドレス指定方法と関連するコントローラ、メモリデバイス、及びホスト
US10891236B2 (en) Data storage device and operating method thereof
US11809718B2 (en) Channel optimized storage modules
US20190317892A1 (en) Memory system, data processing system, and operating method of memory system
US10235300B2 (en) Memory system including memory device and operation method thereof
CN108572798B (zh) 针对快速数据传输执行监听操作的存储装置及其方法
US20180239557A1 (en) Nonvolatile memory device, data storage device including the same, and operating method of data storage device
US10754768B2 (en) Memory system using descriptor lookup tables to access setting information for a non-volatile memory, and an operating method thereof
TWI507883B (zh) 記憶卡存取裝置、其控制方法與記憶卡存取系統
US20190278703A1 (en) Memory system, operating method thereof and electronic device
US20150160863A1 (en) Unified memory type aware storage module
CN107301872B (zh) 半导体存储器装置的操作方法
KR20190105869A (ko) 메모리 컨트롤러 및 그 동작 방법
US11188265B2 (en) Method for performing storage space management, associated data storage device, and controller thereof
US20230112776A1 (en) Operation method of memory module, operation method of memory controller, and operation method of memory system
US20230096111A1 (en) Memory controller, storage device, and host device
US10628322B2 (en) Memory system and operating method thereof
KR20230041570A (ko) 메모리 컨트롤러, 스토리지 장치 및 호스트 장치
KR20230064538A (ko) 메모리 컨트롤러 및 스토리지 장치

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200529

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200529

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210608

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210907

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20211005

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20211029

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20211130

R150 Certificate of patent or registration of utility model

Ref document number: 6987267

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150