JP2021508878A - フラッシュメモリコントローラ、sdカードデバイス、フラッシュメモリコントローラで使用される方法、およびsdカードデバイスに結合されたホストデバイス - Google Patents

フラッシュメモリコントローラ、sdカードデバイス、フラッシュメモリコントローラで使用される方法、およびsdカードデバイスに結合されたホストデバイス Download PDF

Info

Publication number
JP2021508878A
JP2021508878A JP2020535174A JP2020535174A JP2021508878A JP 2021508878 A JP2021508878 A JP 2021508878A JP 2020535174 A JP2020535174 A JP 2020535174A JP 2020535174 A JP2020535174 A JP 2020535174A JP 2021508878 A JP2021508878 A JP 2021508878A
Authority
JP
Japan
Prior art keywords
command
memory card
external signal
signal port
parameter
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.)
Pending
Application number
JP2020535174A
Other languages
English (en)
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 JP2021508878A publication Critical patent/JP2021508878A/ja
Pending legal-status Critical Current

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
    • 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
    • G06F12/0615Address space extension
    • G06F12/0623Address space extension for memory modules
    • 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/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/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
    • 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/08Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers from or to individual record carriers, e.g. punched card, memory card, integrated circuit [IC] card or smart card
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/14Circuits for erasing electrically, e.g. erase voltage switching circuits
    • G11C16/16Circuits for erasing electrically, e.g. erase voltage switching circuits for erasing blocks, e.g. arrays, words, groups
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/26Sensing or reading circuits; Data output circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1051Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
    • G11C7/1063Control signal output circuits, e.g. status or busy flags, feedback command signals
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1078Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
    • G11C7/109Control signal input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/20Memory cell initialisation circuits, e.g. when powering up or down, memory clear, latent image memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1004Compatibility, e.g. with legacy hardware
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1056Simplification
    • 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/7201Logical to physical mapping or translation of blocks or pages
    • 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/7204Capacity control, e.g. partitioning, end-of-life degradation
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Read Only Memory (AREA)
  • Memory System (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Storage Device Security (AREA)

Abstract

フラッシュメモリコントローラは、第1のコマンドと第1の部分アドレスパラメータを受信し、第2のコマンドと第2の部分アドレスパラメータを受信し、第1の部分アドレスパラメータと第2の部分アドレスパラメータとを組み合わせて完全なアドレスパラメータを取得し、完全なアドレスパラメータおよび第2のコマンドのコマンドタイプに応じて、フラッシュメモリ上で対応する動作を実行するように構成された処理回路を含む。

Description

関連出願の相互参照
本出願は、2017年12月28日に提出された米国仮出願第62/610,937号および2018年1月22日に提出された米国仮出願第62/619,930号の優先権を主張するものであり、参照により全体が本明細書に組み込まれる。
本発明は、メモリカード通信方式に関し、より詳細には、フラッシュメモリコントローラ、メモリカード、フラッシュメモリコントローラで使用される方法、およびメモリカードに接続されたホストデバイスに関する。
一般的に言えば、フラッシュメモリとホストデバイスとの間で現在開発されている通信方式は、多くて32ビット長の論理アドレス空間のアドレス指定をサポートする程度である。ホストデバイスはコマンドを送信し、最大32ビット長論理アドレスを示すだけのアドレスパラメータを伝送する。これにより、フラッシュメモリの最大容量が2TB(兆バイト)に制限され、従来のセキュアデジタル(SD)メモリカードは、通常、2TBの最大容量をホストデバイスに報告するように構成されている。
しかしながら、例えば、技術やアプリケーションの開発・進展に伴い、携帯電話の動画記録機能の画質に対する要求はますます高まっており、将来のアプリケーションでは、フラッシュメモリの最大容量を2TBに制限するだけでは十分ではない可能性が非常に高くなる。したがって、最大容量が2TBを超えるフラッシュメモリの場合、SDメモリカードが2TBを超える最大容量をホストデバイスに報告できるようにし、また、32ビット長を超える論理アドレス空間のアドレス指定機能をサポートできるようにするために、新しい通信方式を提供する必要がある。
したがって、本発明の目的の1つは、フラッシュメモリコントローラ、メモリカードデバイス、フラッシュメモリコントローラで利用される方法、およびメモリカードデバイスに接続されるホストデバイスを提供することであり、該メモリカードデバイスは、メモリカードデバイスに2TBを超える容量をホストデバイスに報告させる新しい通信方式をサポートでき、また、32ビット長を超える論理アドレス空間のアドレス指定機能もサポートできる。提供されるソリューションは、現在開発されているフラッシュメモリ通信方式と互換性がある。即ち、この提供されるソリューションは、メモリカードデバイスに2TB未満の容量をホストデバイスに報告させるだけでなく、32ビット長論理アドレス空間のアドレス指定機能をサポートできる。
本発明の実施形態によると、セキュアデジタル(SD)メモリカードで使用されるフラッシュメモリコントローラが開示される。フラッシュメモリコントローラは、SDメモリカードの内部バスを介してSDメモリカード内のフラッシュメモリに結合するように構成される。フラッシュメモリコントローラは、SDメモリカードの少なくとも1つの第1の外部信号ポートとホストデバイスの少なくとも1つの第2の外部信号ポートとを介して、ホストデバイスのSDメモリカード駆動回路に接続するように構成される。フラッシュメモリコントローラは、ホストデバイスによってSDメモリカード駆動回路から送信される第1のコマンドおよび第1の部分アドレスパラメータを受信し、該第1のコマンドおよび該第1の部分アドレスパラメータが、少なくとも1つの第2の外部信号ポートとSDメモリカードの少なくとも1つの第1の外部信号ポートのSDモードのCMDピンとを介して順次伝送され、ホストデバイスによってSDメモリカード駆動回路から送信される第2のコマンドおよび第2の部分アドレスパラメータを受信し、該第2のコマンドおよび該第2の部分アドレスパラメータが、少なくとも1つの第2の外部信号ポートとSDメモリカードの少なくとも1つの第1の外部信号ポートのSDモードのCMDピンとを介して順次伝送され、第1の部分アドレスパラメータおよび第2の部分アドレスパラメータに応じて組み合わせて完全なアドレスパラメータを取得し、完全なアドレスパラメータおよび第2のコマンドのコマンドタイプに応じて内部バスを介してSDメモリカードのフラッシュメモリ上で該コマンドタイプに対応する処理動作を実行するために使用される処理回路を備える。第1のコマンドは、CMD22、CMD31、CMD39、CMD41、およびCMD51のいずれかのコマンドである。第2のコマンドのコマンドタイプは、CMD17の単一データユニットの読取り、CMD24の単一データユニットの書込み、CMD18の複数データユニットの読取り、CMD25の複数データユニットの書込み、CMD44またはCMD45のコマンドキュータスク割当て、およびCMD32、CMD33、またはCMD38のブロック消去で構成される。第1の部分アドレスパラメータは完全なアドレスパラメータの最上位ビットの一部であり、第2の部分アドレスパラメータは完全なアドレスパラメータの最下位ビットの一部である。少なくとも1つの第1の外部信号ポートのSDモードのCMDピンで開始ビット「0」および伝送ビット「1」を受信すると、処理回路は、ホストデバイスが、特定のコマンドのコマンドコンテンツをSDメモリカード駆動回路からSDメモリカードへ送信しているかどうか、および伝送ビット「1」を受信した後、特定のコマンドのコマンドコンテンツの複数のビットによって構成されるコマンドタイプとアドレスパラメータの情報を受信するために使用されているかどうかを判断するように構成される。
実施形態によれば、SDメモリカードが開示される。SDメモリカードは、上記のフラッシュメモリとフラッシュメモリコントローラとを備える。
実施形態によれば、SDメモリカードのフラッシュメモリコントローラで使用される方法が開示される。フラッシュメモリコントローラは、SDメモリカードの内部バスを介してSDメモリカード内のフラッシュメモリに結合するように構成され、フラッシュメモリコントローラは、SDメモリカードの少なくとも1つの第1の外部信号ポートとホストデバイスの少なくとも1つの第2の外部信号ポートとを介して、ホストデバイスのSDメモリカード駆動回路に接続するように構成される。本方法は、ホストデバイスによってSDメモリカード駆動回路から送信される第1のコマンドおよび第1の部分アドレスパラメータを受信するステップであって、該第1のコマンドおよび該第1の部分アドレスパラメータが、少なくとも1つの第2の外部信号ポートとSDメモリカードの少なくとも1つの第1の外部信号ポートのSDモードのCMDピンとを介して順次伝送されるステップと、ホストデバイスによってSDメモリカード駆動回路から送信される第2のコマンドおよび第2の部分アドレスパラメータを受信するステップであって、該第2のコマンドおよび該第2の部分アドレスパラメータが、少なくとも1つの第2の外部信号ポートとSDメモリカードの少なくとも1つの第1の外部信号ポートのSDモードのCMDピンとを介して順次伝送されるステップと、第1の部分アドレスパラメータおよび第2の部分アドレスパラメータに応じて組み合わせて完全なアドレスパラメータを取得するステップと、該完全なアドレスパラメータおよび第2のコマンドのコマンドタイプに応じて内部バスを介してSDメモリカードのフラッシュメモリ上で該コマンドタイプに対応する処理動作を実行するステップとを含む。第1のコマンドは、CMD22、CMD31、CMD39、CMD41、およびCMD51のいずれかのコマンドである。第2のコマンドのコマンドタイプは、CMD17の単一データユニットの読取り、CMD24の単一データユニットの書込み、CMD18の複数データユニットの読取り、CMD25の複数データユニットの書込み、CMD44またはCMD45のコマンドキュータスク割当て、およびCMD32、CMD33、またはCMD38のブロック消去で構成される。第1の部分アドレスパラメータは完全なアドレスパラメータの最上位ビットの一部であり、第2の部分アドレスパラメータは完全なアドレスパラメータの最下位ビットの一部である。本方法は、少なくとも1つの第1の外部信号ポートのSDモードのCMDピンで開始ビット「0」と伝送ビット「1」を受信した場合、ホストデバイスが特定のコマンドのコマンドコンテンツをSDメモリカード駆動回路からSDメモリカードへ送信しているかどうかを判断するステップと、伝送ビット「1」を受信した後、特定コマンドのコマンドコンテンツの複数のビットによって構成されるコマンドタイプとアドレスパラメータの情報を受信するステップとをさらに含む。
実施形態によれば、SDメモリカードにアクセスし、ホストデバイスのSDメモリカード駆動回路を介してSDメモリカード内のフラッシュメモリおよびフラッシュメモリコントローラに結合するように構成されたホストデバイスと、ホストデバイスの少なくとも1つの第2の外部信号ポートと、SDメモリカードの少なくとも1つの第1の外部信号ポートと、SDメモリカードの内部バスとが開示される。ホストデバイスは、SDメモリカード駆動回路とプロセッサで構成されている。プロセッサは、SDメモリカード駆動回路に結合され、SDメモリカード駆動回路を制御して第1のコマンドおよび第1の部分アドレスパラメータをSDメモリカードへ送信し、該第1のコマンドおよび該第1の部分アドレスパラメータが、少なくとも1つの第2の外部信号ポートとSDメモリカードの少なくとも1つの第1の外部信号ポートのSDモードのCMDピンとを介して、フラッシュメモリコントローラへ順次伝送され、SDメモリカード駆動回路を制御して第2のコマンドおよび第2の部分アドレスパラメータをSDメモリカードへ送信し、該第2のコマンドおよび該第2の部分アドレスパラメータが、少なくとも1つの第2の外部信号ポートとSDメモリカードの少なくとも1つの第1の外部信号ポートのSDモードのCMDピンとを介して、フラッシュメモリコントローラへ順次伝送され、SDメモリカード駆動回路を制御して第1の部分アドレスパラメータおよび第2の部分アドレスパラメータを送信し、フラッシュメモリコントローラに、該第1の部分アドレスパラメータおよび該第2の部分アドレスパラメータに応じて組み合わせて完全なアドレスパラメータを取得させ、フラッシュメモリコントローラに、該完全なアドレスパラメータおよび第2のコマンドのコマンドタイプに応じて内部バスを介してフラッシュメモリ上で該コマンドタイプに対応する処理動作を実行させるように構成される。第1のコマンドは、CMD22、CMD31、CMD39、CMD41、およびCMD51のいずれかのコマンドである。第2のコマンドのコマンドタイプは、CMD17の単一データユニット読取り、CMD24の単一データユニット書込み、CMD18の複数データユニット読取り、CMD25の複数データユニット書込み、CMD44またはCMD45のコマンドキュータスク割当て、およびCMD32、CMD33、またはCMD38のデータユニット消去を含む。第1の部分アドレスパラメータは完全なアドレスパラメータの最上位ビットの一部であり、第2の部分アドレスパラメータは完全なアドレスパラメータの最下位ビットの一部である。SDメモリカード駆動回路は、少なくとも1つの第1の外部信号ポートのSDモードのCMDピンを介して、開始ビット「0」および伝送ビット「1」をSDメモリカードに順次送信し、フラッシュメモリコントローラに、少なくとも1つの第1の外部信号ポートのSDモードのCMDピンを介して開始ビット「0」と伝送ビット「1」を受信して、ホストデバイスが特定のコマンドのコマンドコンテンツをSDメモリカード駆動回路からSDメモリカードへ送信しているかどうかを判断させ、フラッシュメモリコントローラに、伝送ビット「1」を受信した後、特定のコマンドのコマンドコンテンツの複数のビットによって構成されるコマンドタイプとアドレスパラメータの情報を受信させるように構成される。
本発明のこれらおよび他の目的は、様々な図および図面に示される好ましい実施形態の以下の詳細な説明を読んだ後、当業者には疑いなく明らかになるであろう。
本発明の実施形態によるメモリカードデバイスおよび電子デバイス、例えば、ホストデバイスなどを示すブロック図である。
本発明の実施形態による最大容量通信のためのホストデバイスとSDメモリカードとの間の特定の通信インタフェースを介したデータ通信の一例の図である。
本発明の実施形態による表示装置にフラッシュメモリの最大容量の計算結果を表示するホストデバイスのプロセッサの一例の図である。
異なるビット長論理アドレスを有するデータユニットを書き込むためにSDメモリカードへ異なるコマンドを送信するホストデバイスの図である。
本発明の一実施形態による異なるビット長を有する論理アドレスに基づいてデータユニット読取り動作を実行するためにSDメモリカードに異なるコマンドを送信するホストデバイスを示す図である。
本発明の実施形態による指定データの読取りおよび書込み長に基づいて読取りおよび書込み動作を実行するために、SDメモリカード100に異なるコマンドを送信するホストデバイスを示す図である。
本発明の実施形態によるコマンドキュータスク割り当てのブロック消去動作およびブロック転送動作を実行するために、SDメモリカードに異なるコマンドを送信するホストデバイスを示す図である。
本発明の実施形態によるSDメモリカードのコマンド伝送フォーマットの一例を示す図である。
本発明の実施形態によるSDメモリカードにデータを書き込むために、コマンドCMD22と書込みコマンドCMD24を送信するホストデバイスのコマンド伝送フォーマットの一例を示す図である。
本発明の実施形態によるSDメモリカードの動作の状態図である。
本発明の実施形態による、メモリカードデバイス100およびホストデバイスなどの電子デバイス105を示すブロック図である図1を参照する。メモリカードデバイス100は、例えば、ホストデバイス105のメモリカード駆動回路1051に接続されることになるUSBインタフェース(限定されない)などの通信インタフェースから成る少なくとも1つの第1の外部信号ポートを介して、ホストデバイス105の少なくとも1つの第2の外部信号ポートに接続される。メモリカードデバイス100は、フラッシュメモリ110(1つ以上のフラッシュメモリチップを含む)およびフラッシュメモリコントローラ120を備える。フラッシュメモリコントローラ120は、少なくとも1つの第1の外部信号ポートに接続され、フラッシュメモリコントローラ120とフラッシュメモリ110との間のデータ伝送/通信は、内部バスを介して転送される。ホストデバイス105は、メモリカード駆動回路1051、表示装置1052、およびプロセッサ1053を備える。コントローラ120は、少なくとも処理回路1201およびレジスタ115を備える。メモリカードデバイス100は、例えば、SDHCカード、SDXCカード、SDUCカード、PCIe SDカード、NVMe SDカードなどのSDメモリカードである。メモリカード駆動回路1051は、例えば、SDメモリカード駆動回路である。メモリカードデバイス100は、SDメモリカードに限定されないことに注意すべきである。他の実施形態では、メモリカードデバイス100は、他の異なるタイプのメモリカードであり得る。ホストデバイス105のプロセッサ1053は、SDメモリカード駆動回路1051と、少なくとも1つの第2の外部信号ポートと、少なくとも1つの第1の外部信号ポートとを介して、コントローラ120の処理回路1201と、例えば、制御コマンドの送信および受信など通信する。また、メモリカードコントローラ120は、内部バスを介してフラッシュメモリ110上で処理動作を行う。
メモリカードデバイス100に電源が投入されると、コントローラ120は、内部バスを介してフラッシュメモリ110から基本特性情報を読み取り、レジスタ115にその情報を格納するように構成される。例えば、基本特性情報とはカード固有データ(CSD)である。コントローラ120の処理回路1201は、フラッシュメモリ110の特性を検出およびチェックし、基本特性情報をレジスタ115に書き込むことができる。
初期化中にホストデバイス105がSDメモリカード100と通信する場合、プロセッサ1053は、ホストデバイス105のレジスタ(図1には図示せず)にコマンドを書き込むように構成され、その後、SDメモリカード駆動回路1051は、レジスタからこのようなコマンドを読み取り、少なくとも1つの第2の外部信号ポートと少なくとも1つの第1の外部信号ポートとを介して、要求コマンドをSDメモリカード100のコントローラ120へ順次送信し、SDメモリカード100にホストデバイス105へ情報を報告するように要求する。例えば、ホストデバイス105は、要求コマンドCMD9をSDメモリカード100へ送信して、カード100にCSDを報告するように要求する。SDメモリカード100のコントローラ120は、要求コマンドCMD9を受信した後、レジスタ115に格納されているCSDをホストデバイス105に出力して報告する。コントローラ120は、レジスタ115からCSDを取得し、次いで、少なくとも1つの第1の外部信号ポートと、少なくとも1つの第2の外部信号ポートと、SDメモリカード駆動回路1051とを介して、CSDをホストデバイス105のプロセッサ1053へ順次送信する。プロセッサ1053は、CSDに基づいてフラッシュメモリ110の情報を計算および/または取得することができる。実際には、SDメモリカード駆動回路1051は、対応するドライバソフトと連動して、コマンド伝送および情報伝送の機能を果たすることに注意すべきである。
CSD情報はメモリカード製造業者によって生成され、カード初期化デバイスを使用して特定のカード初期化プログラムをロードし、製造業者がSDメモリカードデバイスを生成するときにCSDを生成する。カード初期化プログラムは、例えば、SDメモリコントローラ製造業者から提供される。例えば、メモリカード製造業者がフラッシュメモリの種類を決定し、対応するコントローラを選択した後、SDメモリコントローラ製造業者は自身が提供する特定のカード初期化プログラムを使用してフラッシュメモリを初期化する。メモリカード製造業者がSDカードの最大容量を決定し、フラッシュメモリ用データを焼くように、最大容量に対応するCSD情報をフラッシュメモリに永久的に書き込むように準備される。
例えば、フラッシュメモリは最大容量300TBをサポートできる。メモリカード製造業者が最大容量わずか2TBのSDメモリカードを生成する場合、メモリカード製造業者は、フラッシュメモリに永久的に書き込むべきCSD情報のうち所定のフィールドにおいて対応する情報をマークするように準備できる。代替的に、メモリカード製造業者が最大容量わずか300TBのSDメモリカードを生成する場合、メモリカード製造業者は、所定のフィールドで対応する情報をマークすることに加えて、フラッシュメモリに永久的に書き込むべきCSD情報のうち他の予約済みフィールド/アイドルフィールドに追加の容量情報を更にマークするように準備できる。したがって、永久的に書き込まれた上記の情報を参照することにより、このようなSDメモリカードに接続されることになるホストデバイスは、このようなSDメモリカードが最大300TBの容量をサポートすることを把握することができる。
第1の実施形態では、大量生産用のSDメモリカード100を生成する場合、メモリカード製造業者のカード初期化デバイスによって、SDメモリカード100のCSD内の乗数パラメータをマークするように準備することができ、ここで該乗数パラメータはフラッシュメモリ110の最大容量を計算するために使用される。コントローラ120がレジスタ115に格納されたCSDをホストデバイス105に報告した後、ホストデバイス105のプロセッサ1053は、メモリカード製造業者がマークした基本容量および追加容量情報の対応する情報をCSDから取得することができるため、SDメモリカード100の最大容量(すなわち、フラッシュメモリ110の最大容量)を計算して取得することができる。これにより、ホストデバイス105に報告されるフラッシュメモリ110の最大容量の上限を可能な限り拡大することができ、従来のフラッシュメモリの最大容量2TBに限定されない。
CSDの例をとると、CSDは、128ビットのデータ構造[127:0]を含んでもよい。このフラッシュメモリのバージョン情報を記録するために[127:126]などの2ビットが使用されてもよい。C_sizeフィールド[69:48]などの22ビットは、フラッシュメモリの容量を記録するために使用される。本実施形態では、C_sizeフィールドを基本容量とし、基本容量の最大値が32ビット長論理アドレス空間の上限に対応する。
ただし、22ビット(即ち、C_sizeフィールド[69:48])は最大で2TBの容量を示し、2TBを超える容量を示すことはできない。したがって、これは適切ではない。
上記の問題を解決するために、本発明の提供される方法は、CSD内の他のNビットを使用してフラッシュメモリの最大容量の乗数パラメータを示すことである。例えば、乗数パラメータは2のN乗、即ち、2、Nは、例えば、5である。Nビットは、CSDの予約済み/アイドルビットとして元々使用されている5ビット、例えば、[75:70]を使用して実現でき、フラッシュメモリの最大容量の乗数パラメータを示す。以下の説明の5ビットは、容量表示/インジケータ/マークビットまたは先頭ビットとして定義される。5ビットは、0〜31の値の範囲を示すために使用できる。したがって、乗数パラメータの範囲は、2の0乗から2の31乗、即ち、2〜231までの範囲である。例えば、5ビットは「00000」から「11111」までで、0から32までの値の範囲を示す。この5ビットを使用して32の値を示す場合、5ビットをC_sizeフィールド(最大2Tbの基本容量を示すことができる)と共に使用して、64ビット長アドレス空間のアドレス指定をサポートする最大容量を示すことができる。更に、他の実施形態では、CSD内の6つのアイドルビット、例えば、[75:70]は、容量表示ビットとして使用してもよい。例えば、6ビットは「000000」から「100000」までで、0〜32までの値の範囲を示す。6ビットを使用して32の値を示す場合、6ビットをC_sizeフィールド(最大2Tbの基本容量を示すことができる)と共に使用して、64ビット長アドレス空間のアドレス指定をサポートする最大容量を示すことができる。Nの値は限定を意味するものではないことに注意すべきである。また、乗数パラメータは2に限定されない。他の実施形態では、乗数パラメータを、4のN乗など、別の異なる整数のN乗として構成してもよい。
本発明の実施形態による最大容量通信のためのホストデバイス105とSDメモリカード100との間の特定の通信インタフェースを介したデータ通信の一例の図である図2を参照する。図2に示すように、ホストデバイス105は要求コマンドCMD9をSDメモリカード100へ送信し、SDメモリカード100はCSDをホストデバイス105へ報告するが、CSDのバージョンを示すために2ビットが使用され、上記の容量表示用の5ビットは、C_sizeフィールドの前に構成される5ビットであり得る。しかしながら、これは制限を意図したものではない。
メモリカード製造業者のカード初期化デバイスは、フラッシュメモリ110の最大容量が、32ビット長アドレス空間のアドレス指定に対応する特定の容量、例えば、最大容量2TBなどの容量を超えるかどうかに応じて、CSDのバージョンを設定できる。例えば、フラッシュメモリ110の最大容量が2TB以下の場合、メモリカード製造業者は、このようなCSDのバージョンを旧バージョンとして設定してこのフラッシュメモリが最大2TBの容量をサポートすることを示し、SDメモリカード100を既存の従来のホストデバイスと互換性があるようにする。これにより、新バージョンの機能を備えたSDメモリカードを旧バージョンとして構成して、旧バージョンのドライバソフトのみを搭載したホストデバイスと互換性を持たせることができる。更に、ホストデバイスにインストールされている旧バージョンのドライバソフトを新バージョンに更新できる。フラッシュメモリ110の最大容量が2TBを超える場合、メモリカード製造業者のカード初期化デバイスは、CSDのバージョンを新バージョンとして設定し、このフラッシュメモリが2TBを超える容量をサポートできることを示すように構成する。
したがって、コントローラ120から報告されたCSDを受信すると、ホストデバイス105のプロセッサ1053は、CSDのバージョンをチェックすることによって、このフラッシュメモリ110の最大容量が32ビット長アドレス空間の最大容量2TBを超えるかどうかを事前に判断できる。バージョンが旧バージョンである場合、プロセッサ1053は、C_sizeフィールドの22ビットによって示される値に応じて、このフラッシュメモリ110の最大容量を決定するように構成される。バージョンが新バージョンである場合、プロセッサ1053は、C_sizeフィールドの22ビットを参照することに加えて、上記の容量指示の5ビットによって指摘される乗数パラメータに基づいて最大容量を計算するように構成される。
上記の通り、ホストデバイス105がCSDを受信すると、プロセッサ1053は、C_sizeフィールドの22ビットによって表される値および上記の容量指示の5ビットによって表される値を参照して、フラッシュメモリ110の最大容量を計算することができる。即ち、最大容量をホストデバイス105に直接通知する代わりに、SDメモリカード100は、CSDのデータ構造内にフラッシュメモリの容量の乗数をマークして、プロセッサ1053自体がフラッシュメモリ110の最大容量を計算するように構成される。例えば、次の表を参照してください。次の表は、CSD内の情報の複数の例を示す。
上記の通り、C_sizeフィールドは、フラッシュメモリの基本容量の情報を示すために配置されている。例えば、C_sizeフィールドの値を使用して、最大2TBの容量を示すことができる。一実施形態では、フラッシュメモリが最大容量1.5TBを有することを示すために、メモリカード製造業者のカード初期化デバイスは、C_sizeフィールドのビットによって表される値を1.5TBに対応するように設定し、Nビットによって表される値をゼロに設定する、即ち、乗数パラメータが2=1として設定されるように構成することができる。したがって、CSDを受信した後、ホストデバイス105のプロセッサ1053は、フラッシュメモリ110の最大容量が1.5TBに等しいことを計算して取得することができる。
別の実施形態では、フラッシュメモリが最大容量3TBを有することを示すために、メモリカード製造業者のカード初期化デバイスは、C_sizeフィールドのビットによって表される値を1.5TBに対応するように設定し、Nビットによって表される値を1に設定する、即ち、乗数パラメータが2=2として設定されるように構成することができる。したがって、CSDを受信した後、ホストデバイス105のプロセッサ1053は、フラッシュメモリ110の最大容量が3TBに等しいことを計算して取得することができる。
別の実施形態では、フラッシュメモリが最大容量2TBを有することを示すために、メモリカード製造業者のカード初期化デバイスは、C_sizeフィールドのビットによって表される値を2TBに対応するように設定し、Nビットによって表される値をゼロに設定する、即ち、乗数パラメータが2=1として設定されるように構成することができる。したがって、CSDを受信した後、ホストデバイス105のプロセッサ1053は、フラッシュメモリ110の最大容量が2TBに等しいことを計算して取得することができる。
更に、他の実施形態では、メモリカード製造業者のカード初期化デバイスは、C_sizeフィールドのビットによって表される値を1TBに対応するように設定し、Nビットによって表される値を1に設定する、即ち、乗数パラメータが2=2に設定されるように構成することができる。したがって、CSDを受信した後、プロセッサ1053は、フラッシュメモリ110の最大容量が2TBに等しいことを計算することができる。すなわち、メモリカード製造業者のカード初期化デバイスは、様々な設定およびマークを使用して同じ容量サイズを示すように構成することができる。
一実施形態では、フラッシュメモリが最大容量4TBを有することを示すために、メモリカード製造業者のカード初期化デバイスは、C_sizeフィールドのビットによって表される値を2TBに対応するように設定し、Nビットによって表される値を1として設定する、即ち、乗数パラメータが2=2として設定されるように構成することができる。したがって、CSDを受信した後、ホストデバイス105のプロセッサ1053は、フラッシュメモリ110の最大容量が4TBに等しいことを計算して取得することができる。
一実施形態では、フラッシュメモリが最大容量16EBを有することを示すために、メモリカード製造業者のカード初期化デバイスは、C_sizeフィールドのビットによって表される値を2TBに対応するように設定し、Nビットによって表される値を23として設定する、即ち、乗数パラメータが2の23乗、223として設定されるように構成することができる。したがって、CSDを受信した後、ホストデバイス105のプロセッサ1053は、フラッシュメモリ110の最大容量が16EBに等しいことを計算して取得することができる。
更に、フラッシュメモリの最大容量が2.5TBであることを示すために、メモリカードメーカーのカード初期化デバイスは、C_sizeフィールドのビットによって表される値を1.25TBに対応するように設定し、Nビットによって表される値を1として設定する、即ち、乗数パラメータが2=2として構成することができる。したがって、CSDを受信した後、ホストデバイス105のプロセッサ1053は、フラッシュメモリ110の最大容量が2.5TBに等しいことを計算して取得することができる。
他の例では、フラッシュメモリの最大容量が3TBであることを示すために、メモリカード製造業者のカード初期化デバイスは、C_sizeフィールドのビットによって表される値を1.5TBに対応するように設定し、Nビットによって表される値を1として設定する、即ち、乗数パラメータが2=2として設定されるように構成することができる。したがって、CSDを受信した後、ホストデバイス105のプロセッサ1053は、フラッシュメモリ110の最大容量が3TBに等しいことを計算して取得することができる。
更に、フラッシュメモリの最大容量が30TBであることを示すために、メモリカード製造業者のカード初期化デバイスは、C_sizeフィールドのビットによって表される値を1.875TBに対応するように設定し、Nビットによって表される値を4として設定する、即ち、乗数パラメータが2=16として設定されるように構成することができる。したがって、CSDを受信した後、ホストデバイス105のプロセッサ1053は、フラッシュメモリ110の最大容量が30TBに等しいことを計算して取得することができる。
更に、フラッシュメモリの最大容量が300TBであることを示すために、メモリカード製造業者のカード初期化デバイスは、C_sizeフィールドのビットで表される値を1.171875TBに対応するように設定し、Nビットによって表される値を8として設定する、即ち、乗数パラメータが2として設定されるように構成することができる。したがって、CSDを受信した後、ホストデバイス105のプロセッサ1053は、フラッシュメモリ110の最大容量が300TBに等しいことを計算して取得することができる。
更に、フラッシュメモリの最大容量が3000TBであることを示すために、メモリカード製造業者のカード初期化デバイスは、C_sizeフィールドのビットで表される値を1.46484375TBに対応するように設定し、Nビットによって表される値を11として設定する、即ち、乗数パラメータが211として設定されるように構成することができる。したがって、CSDを受信した後、ホストデバイス105のプロセッサ1053は、フラッシュメモリ110の最大容量が3000TBに等しいことを計算して取得することができる。
本発明の提供される方法は、CSD内のN個の容量表示ビットのフィールドを使用して容量の乗数パラメータ(2)の値を示し、フラッシュメモリの最大容量の上限の表示を大幅に拡張するように構成される。フラッシュメモリの最大容量が最大2TBであることを示すためにC_sizeフィールドのみを採用する従来の方法と比較して、提供される方法は、フラッシュメモリの最大容量の上限の表示を拡張することができるし、整数のN乗に等しい乗数パラメータを使用して、実装に多くのビットが使用されないようにすることもできる。例えば、容量表示の5ビットを使用して乗数パラメータを示し、22ビットのC_sizeフィールドを使用することで、フラッシュメモリの最大容量が16EB、つまり最大容量の上限であることを示すことができる。
また、ホストデバイス105のプロセッサ1053は、CSDを受信すると、フラッシュメモリ110の最大容量を計算して取得し、計算結果を表示装置1052に表示して、フラッシュメモリ110の最大容量をユーザに知らせることができる。図3を参照してください。図3は、本発明の実施形態による、フラッシュメモリ110の最大容量の計算結果を表示装置1052に表示するホストデバイス105のプロセッサ1053の一例の図である。表示装置1052は、フラッシュメモリ110の最大容量が465TBに等しい(すなわち、2TBを超える)、使用済み容量領域が103TBに等しい、および利用可能な容量領域が362TBに等しいことを表示することができる。上記の値および表示内容は、単に例示の目的で使用されており、本発明の限定を意味するものではないことに注意すべきである。
更に、他の実施形態では、ホストデバイス105がフラッシュメモリ110の最大容量を取得するために計算する場合、プロセッサ1053はSDメモリカード駆動回路1051を制御して、最大容量に応じて少なくとも1つの第2の外部信号ポートと少なくとも1つの第1の外部信号ポートとを介して、異なるビット長論理アドレスをSDメモリカード100のコントローラ120へ順次送信し、SDメモリカード100のコントローラ120に論理アドレスを物理アドレスに変換させ、次いで該物理アドレスに応じて内部バスを介してフラッシュメモリ110上で対応する処理動作を実行するように構成される。例えば、この実施形態では、最大容量が2TBより大きくない場合、ホストデバイス105は、SDメモリカード駆動回路1051を制御して、少なくとも1つの第2の外部信号ポートと少なくとも1つの第1の外部信号ポートとを介して、32ビット長論理アドレスをSDメモリカード100のコントローラ120へ順次送信するように構成されるが、32ビット長論理アドレスが2TBの論理容量空間サイズのアドレス指定をサポートする。代わりに、最大容量が2TBより大きい場合、ホストデバイス105は、SDメモリカード駆動回路1051を制御して、少なくとも1つの第2の外部信号ポートと少なくとも1つの第1の外部信号ポートとを介して、より長いビット長の論理アドレスをSDメモリカード100のコントローラ120へ順次送信するように構成されるが、より長いビット長の論理アドレスは32ビット長より長いビット長を有し、2TBを超える論理容量スペースサイズのアドレス指定をサポートできる。例えば、より長いビット長とは、38ビット長または64ビット長であり、フラッシュメモリ110の最大容量に依存する。
32ビット長論理アドレス空間と、38ビット長または64ビット長の論理アドレス空間などより長いビット長の論理アドレス空間とのアドレス指定互換性により、提供される本発明の方法では、他のピンまたは接続ポートを更に実装することは必要ではないし要求されもしない。提供される方法は、32ビット長論理アドレス空間に適用される同じピンまたは接続ポートを使用して、より長いビット長論理アドレス空間のアドレス指定を実行するように構成される。ホストデバイス105は、32ビット長論理アドレス空間に適用されるものと同じピンまたは接続ポートを介して、即ち、少なくとも1つの第2の外部信号ポートと少なくとも1つの第1の外部信号ポートとを介して、より長いビット長の論理アドレスの情報を含む様々な異なるコマンドをSDメモリカード100へ送信するように構成することができる。
以下の実施形態では、ホストデバイス105の駆動回路1051は、第1のコマンドを送信し、最大32ビット長アドレスパラメータを含むことができる第1の部分アドレスパラメータを伝送し、次いで、第2のコマンドを送信し、最大で別の32ビット長アドレスパラメータを含むことのできる第2の部分アドレスパラメータを伝送するように構成され、SDメモリカード100のコントローラ120が、第1の部分アドレスパラメータおよび第2の部分アドレスパラメータを受信した後、組み合わせてより長いビット長アドレスパラメータ(32ビット長アドレスよりも長いアドレス)を取得できるようにする。例えば、コントローラ120は、2つの32ビット長アドレスを組み合わせて完全な64ビット長アドレスパラメータを取得し、次いで、第2のコマンドのコマンドタイプに応じてコマンドキュータスク割当て、データユニットの読取り/書込み、またはデータユニットの消去などの動作を実行できる。なお、第1のコマンドは、SDメモリカードの仕様で規定されている予約コマンド、例えば、コマンドCMD22、CMD31、CMD39、CMD41、CMD51などのいずれかのコマンドを用いて実行できることに注意すべきである。更に、第1の部分アドレスパラメータおよび第2の部分アドレスパラメータは、32ビット長アドレスに限定されない。ホストデバイス105のプロセッサ1053は、フラッシュメモリ110の実際の最大容量に応じて、第1の部分アドレスパラメータと第2の部分アドレスパラメータとによって構成される合計ビット長を決定することができる。例えば、最大容量が128TBの場合、合計ビット長は38ビット長として決定でき、例えば、第1の部分アドレスパラメータは6ビット長を示し、第2の部分アドレスパラメータは32ビット長を示す。しかしながら、これは制限を意図したものではない。第1の部分アドレスパラメータおよび第2の部分アドレスパラメータは、可変であり得る。また、上記のデータユニットとは、ストレージページのデータ量やストレージブロックのデータ量を意味し、これは限界を意味するものではない。
ホストデバイス105が異なるコマンドをSDメモリカード100へ送信して、異なるビット長論理アドレスでデータユニットを書き込む図である図4を参照する。図4に示すように、32ビット長論理アドレスを含む書込みコマンドをSDメモリカード100へ送信する場合、例えば、ホストデバイス105は、SDメモリカード駆動回路1051を制御して、少なくとも1つの第2の外部信号ポートと少なくとも1つの第1の外部信号ポートとを介して、コマンドCMD24を送信し、データユニットの論理アドレスなど32ビット長アドレスパラメータをSDメモリカード100のコントローラ120へ順次伝送し、次いで、上記と同じ経路を介して、データユニットをSDメモリカード100のコントローラ120へ送信するので、コントローラ120は、書込みコマンドおよびデータユニットを受信した後、内部バスを介して32ビット長論理アドレスに対応するデータユニットをフラッシュメモリ110に書き込む。
書込みコマンドおよび64ビット長論理アドレスなどより長いビット長のアドレスをSDメモリカード100へ送信する場合、例えば、ホストデバイス105は、SDメモリカード駆動回路1051を制御して、少なくとも1つの第2の外部信号ポートと少なくとも1つの第1の外部信号ポートとを介して、例えば、第1のコマンドCMD22(ただし、これに限定されない)など特定のコマンドを送信し、64ビット長論理アドレスの32の最上位ビット(第1の32ビット長論理アドレスと見なすことができる)など第1の部分アドレスパラメータをSDメモリカード100のコントローラ120へ順次伝送する。次いで、SDメモリカード駆動回路1051は、少なくとも1つの第2の外部信号ポートと少なくとも1つの第1の外部信号ポートとを介して、コマンドCMD24をSDメモリカード100のコントローラ120へ送信し、64ビット長論理アドレス(第2の32ビット長論理アドレスと見なすことができる)の32の最下位ビットなどの第2の部分アドレスパラメータをSDメモリカード100のコントローラ120へ順次伝送する。次いで、駆動回路1051は、上記と同一の経路を介して、データユニットをコントローラ120へ送信するので、コントローラ120は、上記の2つのコマンドおよびそのようなデータユニットを受信した後、内部バスを介して、64ビット長論理アドレスに対応するデータユニットをフラッシュメモリ110に書き込むことができる。
更に、別の実施形態では、ホストデバイス105は、コマンドCMD22を送信する前に同じ信号経路を介してコマンドCMD20をSDメモリカード100へ送信し、ビデオスピードクラスデータ書込みを示すように構成することができる。
以下の実施形態では、ホストデバイス105からSDメモリカード100のコントローラ120へコマンドを送信する動作は、上記の信号経路と同一の信号経路を使用することに注意すべきである。代わりに、コントローラ120からホストデバイス105へデータを送信する動作の場合、データは、少なくとも1つの第1の外部信号ポートと少なくとも1つの第2の外部信号ポートとを介して順次伝送される。説明は簡潔にするために詳述されていない。
複数データユニットを書き込む場合、例えば、32ビット長論理アドレスを含む複数データユニット書込みコマンドをSDメモリカード100へ送信するとき、例えば、ホストデバイス105は、SDメモリカード駆動回路1051を制御してコマンドCMD25をSDメモリカード100へ送信し、論理アドレスなどの32ビット長アドレスパラメータをSDメモリカード100へ伝送し、次いで、複数データユニットをSDメモリカード100へ送信して、32ビット長論理アドレスに関連付けられた複数データユニットを書き込むが、ここで32ビット長論理アドレスは複数データユニット用の書込み開始論理アドレスであってもよい。
更に、64ビット長論理アドレスおよび複数データユニットの書込みコマンドをSDメモリカード100へ送信する場合、例えば、ホストデバイス105は、SDメモリカード駆動回路1051を制御して64ビット長論理アドレスの32の最上位ビットなど第1の部分アドレスパラメータを含む第1のコマンドCMD22等の特定のコマンドをSDメモリカード100へ送信し、次いで、64ビット長論理アドレスの32の最下位ビットなど第2の部分アドレスパラメータを含むコマンドCMD25をSDメモリカード100へ送信し、次いで、複数データユニットをSDメモリカード100へ送信し、第1の部分アドレスパラメータと第2の部分アドレスパラメータとを組み合わせて形成できる64ビット長アドレスパラメータであって、また上記の複数データユニット用の書込み開始論理アドレスであってもよい、64ビット長論理アドレスに関連付けられた複数データユニットを書き込む。
したがって、処理回路1201は、コマンドCMD22などの特定のコマンドを受信したときに第1の部分アドレスパラメータを取得し、次にコマンドCMD24またはCMD25を受信したときに第2の部分アドレスパラメータを取得し、次いで、第1の部分アドレスパラメータと第2の部分アドレスパラメータとを組み合わせて64ビット長アドレスパラメータを取得し、そして、コマンドCMD24またはCMD25のコマンドタイプに応じて、後続の動作が単一データユニットの書込み動作か複数データユニットの書込み動作であるかを判断でき、したがって、64ビット長論理アドレスに基づく単一データユニット書込み動作または複数データユニット書込み動作を実行することができる。代わりに、コントローラ120の処理回路1201がコマンドCMD24またはCMD25から伝送された第2の部分アドレスパラメータだけ受信する一方、特定のコマンドCMD22および対応する第1の部分アドレスパラメータが受信されない場合、コントローラ120の処理回路1201は、第1の部分アドレスパラメータがゼロに等しいことを判断するように構成され、ホストデバイス105は、32ビット長論理アドレスを有する1つまたは複数データユニットを書き込むように構成される。
本発明の一実施形態による、ホストデバイス105が異なるコマンドをSDメモリカード100へ送信して、異なるビット長を有する論理アドレスに基づいてデータユニット読取り動作を実行することを示す図である図5を参照する。図5に示すように、読取りコマンドに関連付けられた32ビット長論理アドレスをSDメモリカード100へ送信する場合、例えば、ホストデバイス105は、SDメモリカード駆動回路1051を用いて、コマンドCMD17と単一データユニットの論理アドレスなど32ビット長アドレスパラメータとをSDメモリカード100へ送信し、次いで、SDメモリカード100から単一データユニットを読み取る。読取りコマンドに関連付けられた64ビット長論理アドレスをSDメモリカード100へ送信する場合、例えば、ホストデバイス105は、SDメモリカード駆動回路1051を用いて、第1のコマンドCMD22などの特定のコマンドと64ビット長論理アドレスの32の最上位ビットなど第1の部分アドレスパラメータとをSDメモリカード100へ送信し、次いで、コマンドCMD17と64ビット長論理アドレスの32の最下位ビットなどの第2の部分アドレスパラメータとをSDメモリカード100へ送信し、そして、64ビット長論理アドレスに対応する単一データユニットをSDメモリカード100から読み取る。
複数データユニットの読取り動作の場合、(複数データユニットを読取るために)読取りコマンドに関連付けられた32ビット長論理アドレスをSDメモリカード100へ送信するとき、例えば、ホストデバイス105は、SDメモリカード駆動回路1051を用いて、コマンドCMD18と単一データユニットの論理アドレスなど32ビット長アドレスパラメータとをSDメモリカード100へ送信し、次いで、SDメモリカード100から複数データユニットを読み取るが、ここで32ビット長アドレスパラメータは複数データユニットの読取り開始論理アドレスであってもよい。
更に、(複数データユニットを読み取るために)読取りコマンドに関連付けられた64ビット長論理アドレスをSDメモリカード100へ送信する場合、例えば、ホストデバイス105は、SDメモリカード駆動回路1051を用いて、第1のコマンドCMD22などの特定のコマンドと64ビット長論理アドレスの32の最上位ビットなどの第1の部分アドレスパラメータとをSDメモリカード100へ送信し、次いで、コマンドCMD18と64ビット長論理アドレスの最下位32ビットなどの第2の部分アドレスパラメータとをSDメモリカード100へ送信し、そして、複数データユニットをSDメモリカード100から読み取るが、ここで第1の部分アドレスパラメータおよび第2の部分アドレスパラメータによって構成される64ビット長アドレスパラメータは、複数データユニットの読取り開始論理アドレスであってもよい。
したがって、コントローラ120の処理回路1201は、CMD22などの特定のコマンドを受信したときに第1の部分アドレスパラメータを取得でき、次いで、コマンドCMD17またはCMD18を受信したときに第2の部分アドレスパラメータを取得できる。処理回路1201は、第1の部分アドレスパラメータと第2の部分アドレスパラメータとを組み合わせて64ビット長アドレスパラメータを取得でき、次いで、コマンドCMD17またはCMD18のコマンドタイプに応じて、読取りコマンドが単一データユニットまたは複数データユニットに関連付けられていることを認識できる。したがって、処理回路1201は、64ビット長論理アドレスに基づいて、1つまたは複数のデータユニットに関連する読取り動作を正しく実行することができる。
代わりに、コントローラ120の処理回路1201がコマンドCMD17またはCMD18および対応する第2の部分アドレスパラメータを受信する一方で、特定のコマンドCMD22および対応する第1の部分アドレスパラメータが受信されない場合、コントローラ120の処理回路1201が第1の部分アドレスパラメータがゼロに等しいことを判断するように構成され、32ビット長論理アドレスに基づいてホストデバイス105が1つ以上のデータユニットを読み取るように構成されていることを決定する。
更に、ホストデバイス105は、第1のコマンドCMD22を送信する前に、データの書込み/読取りの長さを示すコマンドCMD23を送信するように構成されてもよい。本発明の実施形態による指定データの読取り長さおよび書込み長さに基づいて、ホストデバイス105が異なるコマンドをSDメモリカード100へ送信して読取りおよび書込み動作を実行することを示す図である図6を参照する。図6に示すように、例えば、ホストデバイス105は、コマンドCMD23を送信し、SDメモリカード駆動回路1051を用いて指定データ長パラメータをSDメモリカード100へ送信し、次いで、コマンドCMD25と単一データユニットの論理アドレスなど32ビット長アドレスパラメータをSDメモリカード100へ送信し、次いで、指定データ長パラメータに対応する複数データユニットをSDメモリカード100へ送信して、32ビット長論理アドレスに対応する指定データ長パラメータの複数データユニットを書き込む。32ビット長論理アドレスは、指定データ長パラメータの複数データユニットの開始アドレスである。
更に、例えば、ホストデバイス100は、SDメモリカード駆動回路1051を用いてコマンドCMD23と指定データ長パラメータをSDメモリカード100へ送信し、次いで、第1のコマンドCMD22(これに限定されない)などの特定のコマンドと、64ビット長論理アドレスの32の最上位ビットなどの第1の部分アドレスパラメータを送信し、次いで、コマンドCMD25および64ビット長論理アドレスの32の最下位ビットなど第2の部分アドレスパラメータをSDメモリカード100へ送信し、そして、指定データ長パラメータに対応する複数データユニットをSDメモリカード100へ送信し、64ビット長論理アドレスに対応する指定データ長パラメータに対応する複数データユニットを書き込む。64ビット長論理アドレスは、指定データ長パラメータの複数データユニットの開始アドレスであり、第1の部分アドレスパラメータと第2の部分アドレスパラメータとを組み合わせることによって得ることができる。
更に、データを読み取る場合、例えば、ホストデバイス105は、SDメモリカード駆動回路1051を用いて、表示コマンドCMD23と指定読取りデータ長パラメータをSDメモリカード100へ送信し、次いで、コマンドCMD18と単一データユニットの論理アドレスなど32ビット長アドレスパラメータをSDメモリカード100へ送信し、次いで、指定読取データ長パラメータに対応する複数データユニットをSDメモリカード100から読み取る。32ビット長アドレスパラメータは、指定読取りデータ長パラメータに対応する複数データユニットの開始アドレスである。
更に、例えば、ホストデバイス105は、コマンドCMD23を送信し、SDメモリカード駆動回路1051を用いて指定読取りデータ長パラメータをSDメモリカード100へ伝送し、次いで、第1のコマンドCMD22(ただし、これに限定されない)などの特定のコマンドを送信し、64ビット長論理アドレスの32の最上位ビットなどの第1の部分アドレスパラメータを伝送し、次いで、コマンドCMD25と64ビット長論理アドレスの32の最下位ビットなどの第2の部分アドレスパラメータをSDメモリカード100へ送信し、そしてSDメモリカード100から、指定読取りデータ長パラメータに対応する複数データユニットを読み取る。64ビット長アドレスパラメータは、指定読取データ長パラメータに対応する複数データユニットの開始アドレスであり、第1の部分アドレスパラメータと第2の部分アドレスパラメータとを組み合わせることによって得ることができる。
更に、上記の動作は、コマンドキュータスク割当てのブロック消去とブロック転送の実施形態に適用することができる。本発明の実施形態による、ホストデバイス105が異なるコマンドをSDメモリカード100へ送信して、コマンドキュータスク割当てのブロック消去動作およびブロック転送動作を実行することを示す図である図7を参照する。図7に示すように、例えば、ホストデバイス105は、コマンドCMD32を送信し、SDメモリカード駆動回路1051を用いて32ビット長指定消去開始アドレスパラメータをSDメモリカード100へ伝送し、その後、コマンドCMD33を送信し、32ビット長指定消去終了アドレスパラメータをSDメモリカード100へ伝送し、そしてコマンドCMD38をSDメモリカード100へ送信して、ブロック消去動作を実行する。したがって、コントローラ120の処理回路1201がコマンドCMD32、32ビット長指定消去開始アドレスパラメータ、コマンドCMD33、32ビット長指定消去終了アドレスパラメータ、およびコマンドCMD38を順次受信すると、コントローラ120の処理回路1201は、消去されるべき指定アドレスセグメントのブロックコンテンツ上でブロック消去動作を相応に実行することができる。
更に、例えば、ホストデバイス105は、SDメモリカード駆動回路1051を使用して、第1のコマンドCMD22(ただし、これに限定されない)などの特定のコマンドを送信し、64ビット長論理アドレスの32の最上位ビットなど第1の部分アドレスパラメータをSDメモリカード100へ伝送し、次いで、コマンドCMD32を送信し、64ビット長論理アドレスの32の最下位ビットなど第2の部分アドレスパラメータをSDメモリカード100へ伝送する。上記の第1の部分アドレスパラメータと第2の部分アドレスパラメータとを組み合わせて、64ビット長指定消去開始アドレスパラメータを得ることができる。次に、ホストデバイス105は、SDメモリカード駆動回路1051を使用して、特定のコマンドCMD22を送信し、64ビット長論理アドレスの32の最上位ビットなど別の第1の部分アドレスパラメータを伝送し、次いで、コマンドCMD33を送信し、64ビット長論理アドレスの32の最下位ビットなど別の第2の部分アドレスパラメータをSDメモリカード100へ伝送する。上記の別の第1の部分アドレスパラメータと別の第2の部分アドレスパラメータとを組み合わせて、64ビット長指定消去終了アドレスパラメータを得ることができる。ホストデバイス105は、最後に、コマンドCMD38をSDメモリカード100へ送信して、ブロック消去動作を実行する。したがって、上記のコマンドおよび対応するパラメータを順次受信する場合、コントローラ120の処理回路2101は、部分アドレスパラメータを組み合わせて、64ビット長指定消去開始アドレスパラメータおよび64ビット長指定消去終了パラメータを取得することができ、したがって、指定消去パラメータで示される64ビット長アドレスセグメントのデータコンテンツ上でブロック消去動作を実行する。
更に、ホストデバイス105は、コマンドキュータスク割当てのデータユニットの転送では、ホストデバイス105は、例えば、SDメモリカード駆動回路1051を用いて、第1の転送コマンドCMD44を送信し、データの読取り/書込み、優先度、タスクID、データユニット総数に関する転送パラメータ情報をSDメモリカード100へ伝送し、そして、第2の転送コマンドCMD45を送信し、タスクIDに対応する32ビット長指定データユニット開始アドレスパラメータをSDメモリカード100へ伝送する。したがって、上記のコマンドおよび対応するパラメータを順次受信すると、コントローラ120の処理回路1201は、32ビット長開始アドレスに基づいてデータユニット転送動作を実行することができる。
更に、64ビット長アドレスのデータユニット転送では、例えば、ホストデバイス105は、SDメモリカード駆動回路1051を用いて、コマンドCMD44を送信し、データの読取り/書込み、優先度、タスクID、およびデータユニット総数に関するパラメータをSDメモリカード100へ伝送し、次に、第1のコマンドCMD22(限定されない)などの特定のコマンドを送信し、タスクIDに対応する第1の部分アドレスパラメータ、例えば、64ビット長論理アドレスの32の最上位ビットをSDメモリカード100へ、次に第2の転送コマンドCMD45へ伝送し、タスクIDに対応する第2の部分アドレスパラメータ、例えば、64ビット長論理アドレスの32の最下位ビットをSDメモリカード100へ伝送する。したがって、上記のコマンドおよび対応するパラメータを順次受信する場合、コントローラ120の処理回路1201は、組み合わせて64ビット長開始アドレスを取得し、その後、64ビット長開始アドレスに基づいてデータユニット転送動作を実行することができる。
本発明の実施形態によれば、コントローラ120の処理回路1201は、第1の部分アドレスパラメータおよび第2の部分アドレスパラメータを受信した後、組み合わせてより長いビット長アドレスパラメータを取得するように構成される。例えば、処理回路1201は、2つの32ビット長部分アドレスパラメータを組み合わせて完全な64ビット長アドレスパラメータを取得し、次いで、対応するコマンドタイプに応じて、コマンドキュータスク割当て、データユニットの読取り/書込み、および消去などの対応する動作を実行することができる。言い換えると、本発明の提供される方法は、第1のコマンドを送信して、第1の部分アドレスパラメータをSDメモリカードへ伝送し、次いで、第2のコマンドを送信し、第2の部分アドレスパラメータをSDメモリカードへ伝送し、SDメモリカードのコントローラ120の処理回路1201が、第1および第2の部分アドレスパラメータを参照して、64ビット長アドレスパラメータなどのより長いビット長アドレスパラメータを取得し、コマンドキュータスク割当て、データユニットの読取り/書込み、または消去の動作を実行できるようにする。更に、第1の部分アドレスパラメータは上位ビットアドレスパラメータであり得て、第2の部分アドレスパラメータは下位ビットアドレスパラメータであり得る。また、第1の部分アドレスパラメータは下位ビットアドレスパラメータであり得て、第2の部分アドレスパラメータは上位ビットアドレスパラメータであり得る。これらの変更は全て、本発明の範囲に含まれる。更に、上記の特定のコマンドは、SDメモリカード仕様で規定されている予約コマンドなどの第1のコマンドであり得て、コマンドCMD22に限定されないが、第1のコマンドは、他のコマンドCMD31、CMD39、CMD41、およびCMD51のいずれかであり得る。
また、本発明の提供される方法では、追加のピンまたはポートを更に実装する必要がない。より長いビット長のアドレス空間のアドレス指定を実施するためには、32ビット長アドレス空間のアドレス指定と互換性のある元のピンまたはポートのみが必要である。次の表は、本発明の実施形態における、特定のSDメモリカードのSDモードのピン番号、名前、タイプ、および対応する説明の一例を示す。
「S」は電源、「I」は入力、「O」はプッシュプル駆動出力、「PP」はプッシュプル駆動入出力を意味する。上記のコマンドはCMDピンを介して伝送され、データはDAT0、DAT1、DAT2、およびCD/DAT3のピンを介して伝送される。
図8を参照してください。図8は、本発明の実施形態によるSDメモリカードのコマンド伝送フォーマットの一例を示す図である。図8に示すように、上記の各コマンドは、例えば、このようなコマンド伝送フォーマットに基づいて、CMDピンを介して伝送される。例えば、第2の信号ポートと第1の信号ポートとを介してホストデバイス105の駆動回路1051からSDメモリカード100へ伝送されるときの第1のコマンド、読取りコマンド、および書込みコマンドの各コマンドには、順次送信される開始ビット「0」、伝送ビット「1」、コマンドコンテンツ、CRCパリティチェックコード、および終了ビット「1」が含まれ、ここで、コマンドコンテンツは、複数のビットによって構成されるコマンドタイプ(例えば、第1の、読取り、または書込み)と、順次伝送される上記の32ビット長部分アドレスパラメータなどのアドレス情報またはパラメータで構成される。例えば、CRCパリティチェックコードは、7ビットで構成されるチェックサムである。例えば、コマンド伝送フォーマットのビット長は合計48ビットである。したがって、内部バスを介して第1の信号ポートのCMDピンで開始ビット「0」および伝送ビット「1」を順次受信すると、コントローラ120は、ホストデバイス105がコマンドをSDメモリカード100に伝送していることを検出できる。コントローラ120は、コマンドの伝送フォーマットに応じて、コマンドタイプの情報およびアドレスパラメータの情報を順次受信して取得し、CRCパリティチェックコードを用いて、伝送されたコマンドのビット情報にエラーが発生していないかを確認できる。最後に、終了ビット「1」を検出すると、コントローラ120は、伝送されたコマンドの終了位置を知ることができる。
図9を参照してください。図9は、本発明の実施形態によるSDメモリカード100にデータを書き込むためのコマンドCMD22および書込みコマンドCMD24を送信するホストデバイス105のコマンド送信フォーマットの一例を示す図である。例えば、図9に示されるように、ホストデバイス105は、例えば、0x0505_0505_0A0A_0A0A(ただし、これに限定されない)などの64ビット長アドレスでデータを書き込むように構成される。ホストデバイス105は、コマンドCMD22を送信する場合、開始ビット「0」、送信ビット「1」、コマンドCMD22のコマンドコンテンツ、コマンドCMD22のCRCパリティチェックコード、対応する終了ビット「1」を順次送信する。次に、ホストデバイス105は、別の開始ビット「0」、別の送信ビット「1」、コマンドCMD24のコマンドコンテンツ、コマンドCMD24のCRCパリティチェックコード、および対応する終了ビット「1」を送信し、次に、書き込まれるべきデータを送信する。コマンドCMD22のコマンドコンテンツには、CMD22のコマンドタイプ、例えば、0x16の情報と、64ビット長アドレスの32の最上位ビット、例えば、0x0505_0505が含まれる。コマンドCMD24のコマンドコンテンツは、CMD24のコマンドタイプ、例えば、0x18の情報と、64ビット長アドレスの32の最下位ビット、例えば、0x0A0A_0A0Aが含まれる。2つのコマンドのコマンドタイプの情報および対応するアドレス情報/パラメータを受信した後、コントローラ120の処理回路1201は、組み合わせて64ビット長アドレスを取得し、ホストデバイス105が要求した実行すべき動作は書込みコマンド動作であると決定できる。コマンドCMD22およびCMD24は、コマンドタイプの情報および対応するアドレス情報を説明するための単なる例として使用されていることに注意すべきである。これらの例は、本発明を限定することを意味するものではない。
更に、本発明の教示に基づいて、当業者は、別の実施形態では、コマンドCMD22のコマンドコンテンツには、0x0A0A_0A0A 0505_0505(ただし、これに限定されない)など、64ビット長アドレスの32の最下位ビットを表すアドレス情報(例えば、0x0505_0505)が含まれ、また、ホストデバイス105がこのような64ビット長アドレスに基づいてデータ書込みを実行する場合、書き込みコマンドCMD24のコマンドコンテンツには、0x0A0A_0A0A 0505_0505(ただし、これに限定されない)などの64ビット長アドレスの32の最上位ビットを表すアドレス情報(例えば、0x0A0A_0A0A)が含まれるということを理解することができるであろう。即ち、ホストデバイス105がコマンドCMD22、CMD24を順次送信するという条件下では、コマンドCMD22、CMD24をそれぞれ用いて、64ビット長アドレスの一部と他の部分を送信することができる。また、フラッシュメモリコントローラ120が64ビット長アドレスの一部および別の部分を受信する場合、コントローラ120は、ホストデバイス105とコントローラ120との間のコマンド通信プロトコルに応じて、正しく組み合わせて完全な64ビット長アドレスを取得することもできる。これらの変更は全て、本発明の範囲に含まれる。
図10は、本発明の実施形態によるSDメモリカード100の動作の状態図である。図10に示すように、状態図は状態1200から始まると仮定する。状態1200はデータ転送状態である。この状態では、SDメモリカード100はまだ1つのアクセスコマンドも受信していない。すなわち、SDメモリカード100は、64ビット長論理アドレスのうち、最上位32ビットと最下位32ビットをまだ受信していない。状態1200で、SDメモリカード100がコマンドCMD17、CMD18、CMD24、またはCMD25を受信する場合、これは、SDメモリカード100が単に32ビット長アドレスパラメータを受信することを示す。SDメモリカード100がコマンドCMD17、CMD18、CMD24、またはCMD25によって搬送される64ビット長論理アドレスの最下位32ビットを受信する。次に、SDメモリカード100が状態1204に移行する。状態1204は、下位ビットアドレスパラメータを取得する状態である。その後、SDメモリカード100が状態1204から状態1250に移行する。状態1250は、実行または拒否の状態である。例えば、状態1250で、SDメモリカード100が、コマンドCMD17、CMD18、CMD24、またはCMD25によって搬送される64ビット長論理アドレスの最下位32ビットを単に受信する場合、最下位32ビットは、対応する実行動作用の32ビット長アドレスと見なされる。この状況では、SDメモリカード100のコントローラ120が、32ビット長アドレスに基づいて、フラッシュメモリ110上で読取り/書込み動作を実行するように構成される。コマンドを実行できない場合(例えば、コマンドのアドレスが範囲外である、またはコマンドが書込みコマンドであるが、決定されたアドレスが読取り専用領域に関連付けられているために書き込みできないなど)、SDメモリカード100が実行動作を拒否する。そして、SDメモリカード100が状態1250から状態1200に切り替わる。
状態1200でコマンドCMD22を受信する場合、これは、SDメモリカード100がコマンドCMD22によって搬送される64ビット長論理アドレスの最上位32ビットを受信することを示す。そして、SDメモリカード100が上位ビットアドレスパラメータを取得する状態1202に移行する。状態1202でコマンドCMD22を再び受信する場合、SDメモリカード100が、最後に受信したコマンドCMD22に従って、64ビット長論理アドレスの最上位32ビットを更新するように構成される。状態1202でSDメモリカード100がコマンドCMD17、CMD18、CMD24、またはCMD25を受信すると、SDメモリカード100が状態1204に移行する。これは、SDメモリカード100が、コマンドCMD17、CMD18、CMD24、またはCMD25によって搬送される64ビット長論理アドレスの最下位32ビットを受信することを示す。この状況では、状態1250に移行すると、SDメモリカード100のコントローラ120が、64ビット長論理アドレスに基づいて、フラッシュメモリ110上でデータ読取り/書込み動作を実行するように構成される。状態1202でコマンドCMD32を受信すると、SDメモリカード100が状態1212に移行する。
状態1202で、コマンドCMD22、CMD17、CMD18、CMD24、CMD25、およびCMD32とは異なる他のコマンドを受信すると、SDメモリカード100が状態1260に移行する。状態1260に移行すると、SDメモリカード100がデータ転送状態1200に戻るように構成される。
状態1200でコマンドCMD23を受信する場合、SDメモリカード100が指定読取り書込みデータ長のコマンドを受信することを示す。SDメモリカード100が、上位ビットアドレスパラメータがゼロの状態である状態1222に移行する。即ち、64ビット長論理アドレスの上位32ビットは受信されない。状態1222でコマンドCMD23を繰り返し受信する場合、SDメモリカード100が状態1222を維持する。状態1222でコマンドCMD22を受信する場合、これは、SDメモリカード100が、コマンドCMD22によって搬送される64ビット長論理アドレスの最上位32ビットを現在受信していることを示す。次いで、SDメモリカード100が状態1223に移行する。
状態1223は、上位ビットアドレスパラメータを取得する状態である。状態1223でコマンドCMD23を再度受信する場合、これは以前に受信したコマンドCMD22が失敗したことを示す。SDメモリカード100が状態1223から状態1222に切り替わる。状態1223で他のコマンドを受信する場合、SDメモリカード100が状態1260に移行する。状態1260に移行すると、SDメモリカード100がデータ転送状態1200に戻るように構成される。状態1223でコマンドCMD18/25を受信する場合、これは、SDメモリカード100が、コマンドCMD18/25によって搬送される64ビット長論理アドレスの最下位32ビットを現在受信していることを示す。この状況では、SDメモリカード100が下位ビットアドレスパラメータを取得する状態1224に切り替わる。次いで、SDメモリカード100が状態1224から状態1250に移行する。SDメモリカード100が64ビット長論理アドレスの最上位32ビットおよび最下位32ビットを受信する場合、状態1250にあるコントローラ120が、64ビット長論理アドレスに基づいて、フラッシュメモリ110上で指定データ長の読取り/書込み動作を実行するように構成される。
状態1222でSDメモリカード100がコマンドCMD18/25を受信する場合、これは、SDメモリカード100が単に32ビット長アドレスを受信し、その後、状態1224に移行することを示す。そして、SDメモリカード100が状態1224から状態1250に切り替わる。状態1250で、コントローラ120が、32ビット長論理アドレスに基づいて、フラッシュメモリ110上で指定データ長の読取り/書込み動作を実行するように構成される。
状態1200でコマンドCMD32を受信する場合、これはSDメモリカード100がコマンドCMD32によって搬送される32ビットアドレスパラメータを受信することを示す(32ビットアドレスパラメータは、32ビット長論理開始アドレス、または64ビット長論理開始アドレスの最下位32ビットを意味する場合がある)。この状況では、SDメモリカード100が論理開始アドレスの32ビットを取得する状態1212に移行する。そして、SDメモリカード100がアドレス情報待ちの状態である状態1214に移行する。
状態1214でコマンドCMD33を受信する場合、これは、SDメモリカード100がコマンドCMD33によって搬送される32ビットアドレスパラメータを受信することを示す(32ビットアドレスパラメータは、32ビット長論理終了アドレスまたは64ビット長論理終了アドレスの最下位32ビットを意味する場合がある)。この状態では、SDメモリカード100が論理終了アドレスの32ビットを取得する状態1216に移行する。その後、コマンドCMD38を受信すると、SDメモリカード100が実行動作を行う状態1218に移行する。したがって、SDメモリカード100が状態1212、1214、1216、および1218を順次通過すると、次に、コントローラ120が、32ビット長論理開始アドレスおよび32ビット長論理終了アドレスに基づいて、フラッシュメモリ110上で消去動作を実行するように構成される。
状態1214でコマンドCMD22を受信する場合、これは、SDメモリカード100がコマンドCMD22によって搬送される32ビット長アドレスパラメータを受信することを示す。SDメモリカード100が状態1212から状態1214に切り替わったので、コントローラ120は状態1214で受信されたコマンドCMD22が64ビット長論理終了アドレスの最上位32ビットを搬送すると判断することができ、次いで、SDメモリカード100が64ビット長論理終了アドレスの最上位32ビットを取得する状態1215に移行する。状態1215でコマンドCMD22を再び受信する場合、これは、ホストデバイス105が64ビット長論理終了アドレスの最上位32ビットを更新したいことを示している。新しいコマンドCMD22を受信した後、SDメモリカード100が64ビット長論理終了アドレスの最上位32ビットを更新するように構成される。
状態1215でコマンドCMD33を受信する場合、これは、SDメモリカード100がコマンドCMD33によって搬送される32ビット長アドレスパラメータを受信することを示し(32ビット長アドレスパラメータは、64ビット長論理終了アドレスの最下位32ビットである)、次いで、この状況では、論理終了アドレスの32ビットを取得する状態1216に移行する。その後、コマンドCMD38を受信すると、SDメモリカード100が実行動作を取得する状態1218に移行する。したがって、SDメモリカード100が状態1202、1212、1214、1215、1216、および1218を順次通過する場合、コントローラ120が、64ビット長論理開始アドレスおよび64ビット長論理終了アドレスに応じて、フラッシュメモリ110上でデータ消去動作を実行するように構成される。
なお、状態1202、1222、1223、1214、1215、および1216のいずれかにおいて、予期しないコマンド(上記コマンドとは異なる他のコマンド)を受信する場合、SDメモリカード100は、状態1260に切り替わるように構成され、次いでデータ転送状態1200に戻る。
当業者は、本開示の教示を保持しながら、デバイスおよび方法に関する多くの修正および変更を行うことができることを容易に理解するであろう。したがって、上記の開示は、添付の特許請求の範囲の境界によってのみ限定されると解釈されるべきである。
メモリカード製造業者のカード初期化デバイスは、フラッシュメモリ110の最大容量が、32ビット長アドレス空間のアドレス指定に対応する特定の容量、例えば、最大容量2TBなどの容量を超えるかどうかに応じて、CSDのバージョンを設定できる。例えば、フラッシュメモリ110の最大容量が2TB以下の場合、メモリカード製造業者のカード初期化デバイスは、このようなCSDのバージョンを旧バージョンとして設定してこのフラッシュメモリが最大2TBの容量をサポートすることを示し、SDメモリカード100を既存の従来のホストデバイスと互換性があるようにする。これにより、新バージョンの機能を備えたSDメモリカードを旧バージョンとして構成して、旧バージョンのドライバソフトのみを搭載したホストデバイスと互換性を持たせることができる。更に、ホストデバイスにインストールされている旧バージョンのドライバソフトを新バージョンに更新できる。フラッシュメモリ110の最大容量が2TBを超える場合、メモリカード製造業者のカード初期化デバイスは、CSDのバージョンを新バージョンとして設定し、このフラッシュメモリが2TBを超える容量をサポートできることを示すように構成する。
更に、例えば、ホストデバイス105は、SDメモリカード駆動回路1051を用いてコマンドCMD23と指定データ長パラメータをSDメモリカード100へ送信し、次いで、第1のコマンドCMD22(これに限定されない)などの特定のコマンドと、64ビット長論理アドレスの32の最上位ビットなどの第1の部分アドレスパラメータを送信し、次いで、コマンドCMD25および64ビット長論理アドレスの32の最下位ビットなど第2の部分アドレスパラメータをSDメモリカード100へ送信し、そして、指定データ長パラメータに対応する複数データユニットをSDメモリカード100へ送信し、64ビット長論理アドレスに対応する指定データ長パラメータに対応する複数データユニットを書き込む。64ビット長論理アドレスは、指定データ長パラメータの複数データユニットの開始アドレスであり、第1の部分アドレスパラメータと第2の部分アドレスパラメータとを組み合わせることによって得ることができる。

Claims (16)

  1. セキュアデジタル(SD)メモリカードの内部バスを介して該SDメモリカード内のフラッシュメモリに結合するように構成され、該SDメモリカードの少なくとも1つの第1の外部信号ポートとホストデバイスの少なくとも1つの第2の外部信号ポートとを介して、該ホストデバイスのSDメモリカード駆動回路に接続するように構成された、該SDメモリカードで使用されるフラッシュメモリコントローラであって、
    前記ホストデバイスによって前記SDメモリカード駆動回路から送信される第1のコマンドおよび第1の部分アドレスパラメータを受信し、該第1のコマンドおよび該第1の部分アドレスパラメータが、前記少なくとも1つの第2の外部信号ポートと前記SDメモリカードの前記少なくとも1つの第1の外部信号ポートのSDモードのCMDピンとを介して順次伝送され、
    前記ホストデバイスによって前記SDメモリカード駆動回路から送信される第2のコマンドおよび第2の部分アドレスパラメータを受信し、該第2のコマンドおよび該第2の部分アドレスパラメータが、前記少なくとも1つの第2の外部信号ポートと前記SDメモリカードの前記少なくとも1つの第1の外部信号ポートの前記SDモードの前記CMDピンとを介して順次伝送され、
    前記第1の部分アドレスパラメータおよび前記第2の部分アドレスパラメータに応じて組み合わせて完全なアドレスパラメータを取得し、
    該完全なアドレスパラメータおよび前記第2のコマンドのコマンドタイプに応じて、前記内部バスを介して前記SDメモリカードの前記フラッシュメモリ上で該コマンドタイプに対応する処理動作を実行する
    ように使用される処理回路を備え、
    前記第1のコマンドはコマンドCMD22、CMD31、CMD39、CMD41、およびCMD51のいずれかであり、前記第2のコマンドのコマンドタイプはCMD17の単一データユニット読取り、CMD24の単一データユニット書込み、CMD18の複数データユニット読取り、CMD25の複数データユニット書込み、CMD44またはCMD45のコマンドキュータスク割当て、およびCMD32、CMD33、またはCMD38のブロック消去を含み、前記第1の部分アドレスパラメータは前記完全なアドレスパラメータの最上位ビットの一部であり、前記第2の部分アドレスパラメータは完全なアドレスパラメータの最下位ビットの一部であり、前記少なくとも1つの第1の外部信号ポートの前記SDモードの前記CMDピンで開始ビット「0」および伝送ビット「1」を受信すると、前記処理回路は前記ホストデバイスが特定のコマンドのコマンドコンテンツを前記SDメモリカード駆動回路から前記SDメモリカードへ送信しているかどうかを判断するように構成され、前記送信ビット「1」を受信した後、前記特定のコマンドの前記コマンドコンテンツの複数のビットによって構成されるコマンドタイプおよびアドレスパラメータの情報を受信するために使用される、
    フラッシュメモリコントローラ。
  2. 前記処理回路は、
    前記ホストデバイスによって前記SDメモリカード駆動回路から送信される前記第1のコマンドおよび第1の32ビット長論理アドレスを受信し、前記第1のコマンドおよび該第1の32ビット長論理アドレスが前記少なくとも1つの第2の外部信号ポートと前記SDメモリカードの前記少なくとも1つの第1の外部信号ポートの前記SDモードの前記CMDピンとを介して順次伝送され、
    前記ホストデバイスによって前記SDメモリカード駆動回路から送信される書込みコマンドCMD24またはCMD25および第2の32ビット長論理アドレスを受信し、該書込みコマンドCMD24またはCMD25および該第2の32ビット長論理アドレスが、前記少なくとも1つの第2の外部信号ポートと前記SDメモリカードの前記少なくとも1つの第1の外部信号ポートの前記SDモードの前記CMDピンとを介して順次伝送され、
    前記ホストデバイスによって前記SDメモリカード駆動回路から送信される64ビット長論理アドレスに対応する少なくとも1つのデータユニットを受信し、該少なくとも1つのデータユニットが前記少なくとも1つの第2の外部信号ポートと前記SDメモリカードの前記少なくとも1つの第1の外部信号ポートの前記SDモードの複数のデータラインピンを介して伝送され、
    前記第1の32ビット長論理アドレスと前記第2の32ビット長論理アドレスに応じて組み合わせて前記64ビット長論理アドレスを取得し、
    前記64ビット長論理アドレスおよび前記書込みコマンドに応じて、前記内部バスを介して前記少なくとも1つのデータユニットを前記フラッシュメモリに書き込む
    ために使用される、
    請求項1に記載のフラッシュメモリコントローラ。
  3. 前記少なくとも1つの第2の外部信号ポートと前記SDメモリカードの前記少なくとも1つの第1の外部信号ポートの前記SDモードの前記CMDピンとを介して、前記ホストデバイスによって前記SDメモリカード駆動回路から送信される第1のコマンドおよび前記第1の32ビット長論理アドレスを受信する前に、前記処理回路が前記ホストデバイスによって前記SDメモリカード駆動回路から送信される表示コマンドおよび指定書込みデータ長パラメータを受信するように構成され、該表示コマンドおよび該指定書込みデータ長パラメータが、前記少なくとも1つの第2の外部信号ポートと前記SDメモリカードの前記少なくとも1つの第1の外部信号ポートの前記SDモードの前記CMDピンとを介して順次伝送される、
    請求項2に記載のフラッシュメモリコントローラ。
  4. 前記処理回路は、
    前記ホストデバイスによって前記SDメモリカード駆動回路から送信される前記第1のコマンドと第1の32ビット長論理アドレスとを受信し、前記第1のコマンドと該第1の32ビット長論理アドレスが前記少なくとも1つの第2の外部信号ポートと前記SDメモリカードの前記少なくとも1つの第1の外部信号ポートの前記SDモードの前記CMDピンとを介して順次伝送され、
    前記ホストデバイスによって前記SDメモリカード駆動回路から送信される読取りコマンドCMD17またはCMD18と第2の32ビット長論理アドレスとを受信し、該読取りコマンドCMD17またはCMD18と該第2の32ビット長論理アドレスが、前記少なくとも1つの第2の外部信号ポートと前記SDメモリカードの前記少なくとも1つの第1の外部信号ポートの前記SDモードの前記CMDピンとを介して順次伝送され、
    前記第1の32ビット長論理アドレスおよび前記第2の32ビット長論理アドレスに応じて組み合わせて前記64ビット長論理アドレスを取得する
    ために使用され、
    前記処理回路は、前記64ビット長論理アドレスおよび前記読取りコマンドCMD17またはCMD18に応じて前記内部バスを介して前記フラッシュメモリから伝送される少なくとも1つのデータユニットを取得し、次いで前記少なくとも1つのデータユニットを前記ホストデバイスへ伝送するように構成されており、前記少なくとも1つのデータユニットが、前記少なくとも1つの第1の外部信号ポートの前記SDモードの複数のデータラインピンと前記少なくとも1つの第2の外部信号ポートとを介して前記SDメモリカード駆動回路へ順次伝送される、
    請求項1に記載のフラッシュメモリコントローラ。
  5. 前記少なくとも1つの第2の外部信号ポートと前記SDメモリカードの前記少なくとも1つの第1の外部信号ポートの前記SDモードの前記CMDピンとを介して、前記ホストデバイスによって前記SDメモリカード駆動回路から順次送信される前記第1のコマンドおよび前記第1の32ビット長論理アドレスを受信する前に、前記処理回路は、前記ホストデバイスによって前記SDメモリカード駆動回路から送信される表示コマンドおよび指定読取りデータ長パラメータを受信するように構成され、該表示コマンドおよび該指定読取りデータ長パラメータが、前記少なくとも1つの第2の外部信号ポートと前記SDメモリカードの前記少なくとも1つの第1の外部信号ポートの前記SDモードの前記CMDピンとを介して順次伝送される、
    請求項4に記載のフラッシュメモリコントローラ。
  6. 前記処理回路は、
    前記ホストデバイスによって前記SDメモリカード駆動回路から送信される前記第1のコマンドと第1の32ビット長論理アドレスを受信し、前記第1のコマンドと該第1の32ビット長論理アドレスが、前記少なくとも1つの第2の外部信号ポートと前記SDメモリカードの前記少なくとも1つの第1の外部信号ポートの前記SDモードの前記CMDピンとを介して順次伝送され、
    前記ホストデバイスによって前記SDメモリカード駆動回路から送信される消去コマンドCMD32またはCMD33および第2の32ビット長論理アドレスを受信し、該消去コマンドCMD32またはCMD33および該第2の32ビット長論理アドレスが、前記少なくとも1つの第2の外部信号ポートと前記少なくとも1つの第1の外部信号ポートの前記SDモードの前記CMDピンとを介して順次伝送され、
    前記ホストデバイスによって前記SDメモリカード駆動回路から送信される消去コマンドCMD38を受信し、
    前記第1の32ビット長論理アドレスおよび前記第2の32ビット長論理アドレスに応じて組み合わせて64ビット長論理アドレスの指定消去開始アドレスパラメータを取得し、
    前記64ビット長論理アドレスおよび前記消去コマンドCMD32、CMD33、またはCMD38に応じて、前記内部バスを介して、前記フラッシュメモリ内の前記64ビット長論理アドレスによって示される指定消去セグメントに対応する少なくとも1つのブロック上で消去動作を実行する
    ために使用される、
    請求項1に記載のフラッシュメモリコントローラ。
  7. 前記処理回路は、
    前記ホストデバイスによって前記SDメモリカード駆動回路から送信される第1の転送コマンドCMD44および少なくとも1つの転送パラメータを受信し、該第1の転送コマンドCMD44および該少なくとも1つの転送パラメータが、前記少なくとも1つの第2の外部信号ポートと前記SDメモリカードの前記少なくとも1つの第1の外部信号ポートの前記SDモードの前記CMDピンとを介して順次伝送され、
    前記ホストデバイスによって前記SDメモリカード駆動回路から送信される前記第1のコマンドおよび第1の32ビット長論理アドレスを受信し、前記第1のコマンドおよび該第1の32ビット長論理アドレスが、前記少なくとも1つの第2の外部信号ポートと前記SDメモリカードの前記少なくとも1つの第1の外部信号ポートの前記SDモードの前記CMDピンとを介して順次伝送され、
    前記ホストデバイスによって前記SDメモリカード駆動回路から送信される第2の転送コマンドCMD45および第2の32ビット長論理アドレスを受信し、該第2の転送コマンドCMD45および該第2の32ビット長論理アドレスが前記少なくとも1つの第2の外部信号ポートと前記SDメモリカードの前記少なくとも1つの第1の外部信号ポートの前記SDモードの前記CMDピンとを介して順次伝送され、
    前記第1の32ビット長論理アドレスおよび前記第2の32ビット長論理アドレスに応じて組み合わせて64ビット長論理アドレスの指定転送開始アドレスパラメータを取得し、
    前記64ビット長論理アドレスおよび前記少なくとも1つの転送パラメータに応じて、内部バスを介して前記指定転送開始アドレスパラメータによって示されるアドレスから前記フラッシュメモリの対応するデータを転送する
    ために使用される、
    請求項1に記載のフラッシュメモリコントローラ。
  8. SDメモリカードであって、
    フラッシュメモリと、
    請求項1に記載の前記フラッシュメモリコントローラと、を備える、
    SDメモリカード。
  9. SDメモリカードのフラッシュメモリコントローラで使用され、該フラッシュメモリコントローラが、該SDメモリカードの内部バスを介して該SDメモリカード内のフラッシュメモリに結合するように構成され、また、該SDメモリカードの少なくとも1つの第1の外部信号ポートとホストデバイスの少なくとも1つの第2の外部信号ポートとを介して、該ホストデバイスのSDメモリカード駆動回路に接続するように構成される方法であって、
    前記ホストデバイスによって前記SDメモリカード駆動回路から送信される第1のコマンドおよび第1の部分アドレスパラメータを受信するステップであって、該第1のコマンドおよび該第1の部分アドレスパラメータが、前記少なくとも1つの第2の外部信号ポートと前記SDメモリカードの前記少なくとも1つの第1の外部信号ポートのSDモードのCMDピンとを介して順次伝送されるステップと、
    前記ホストデバイスによって前記SDメモリカード駆動回路から送信される第2のコマンドおよび第2の部分アドレスパラメータを受信するステップであって、該第2のコマンドおよび該第2の部分アドレスパラメータが、前記少なくとも1つの第2の外部信号ポートと前記SDメモリカードの前記少なくとも1つの第1の外部信号ポートの前記SDモードの前記CMDピンとを介して順次伝送されるステップと、
    前記第1の部分アドレスパラメータおよび前記第2の部分アドレスパラメータに応じて組み合わせて完全なアドレスパラメータを取得するステップと、
    前記完全なアドレスパラメータおよび前記第2のコマンドのコマンドタイプに応じて、前記内部バスを介して前記SDメモリカードの前記フラッシュメモリ上で該コマンドタイプに対応する処理動作を実行するステップとを含み、
    前記第1のコマンドはコマンドCMD22、CMD31、CMD39、CMD41、およびCMD51のいずれかであり、前記第2のコマンドの前記コマンドタイプはCMD17の単一データユニット読取り、CMD24の単一データユニット書込み、CMD18の複数データユニット読取り、CMD25の複数データユニット書込み、CMD44またはCMD45のコマンドキュータスク割当て、およびCMD32、CMD33、またはCMD38のブロック消去を含み、前記第1の部分アドレスパラメータは前記完全なアドレスパラメータの最上位ビットの一部であり、前記第2の部分アドレスパラメータは前記完全なアドレスパラメータの最下位ビットの一部であり、前記方法は、
    前記少なくとも1つの第1の外部信号ポートの前記SDモードの前記CMDピンで開始ビット「0」と伝送ビット「1」とを受信した場合、前記ホストデバイスが特定のコマンドのコマンドコンテンツを前記SDメモリカード駆動回路から前記SDメモリカードへ送信しているかどうかを判断するステップと、
    伝送ビット「1」を受信した後、前記特定のコマンドの前記コマンドコンテンツの複数のビットによって構成されるコマンドタイプとアドレスパラメータの情報を受信するステップと、をさらに含む、
    方法。
  10. 前記第1の部分アドレスパラメータは第1の32ビット長論理アドレスであり、前記第2のコマンドは書込みコマンドCMD24またはCMD25であり、前記第2の部分アドレスパラメータは第2の32ビット長論理アドレスであり、
    前記方法は、
    前記ホストデバイスによって前記SDメモリカード駆動回路から送信される64ビット長論理アドレスに対応する少なくとも1つのデータユニットを受信するステップであって、該少なくとも1つのデータユニットが、前記少なくとも1つの第2の外部信号ポートと前記SDメモリカードの前記少なくとも1つの第1の外部信号ポートの前記SDモードの複数のデータラインピンとを介して伝送されるステップと、
    前記第1の32ビット長論理アドレスおよび前記第2の32ビット長論理アドレスに応じて組み合わせて前記64ビット長論理アドレスを取得するステップと、
    前記64ビット長論理アドレスおよび前記書込みコマンドに応じて、前記内部バスを介して前記少なくとも1つのデータユニットを前記フラッシュメモリに書き込むステップと、を含む、
    請求項9に記載の方法。
  11. 前記少なくとも1つの第2の外部信号ポートと前記SDメモリカードの前記少なくとも1つの第1の外部信号ポートの前記SDモードの前記CMDピンとを介して、前記ホストデバイスによって前記SDメモリカード駆動回路から送信される前記第1のコマンドおよび前記第1の32ビット長論理アドレスを受信する前に、前記ホストデバイスによって前記SDメモリカード駆動回路から送信される、表示コマンドと指定書込みデータ長パラメータを受信するステップであって、該表示コマンドと該指定書込みデータ長パラメータが、前記少なくとも1つの第2の外部信号ポートと前記SDメモリカードの前記少なくとも1つの第1の外部信号ポートの前記SDモードの前記CMDピンを介して順次伝送されるステップをさらに含む、
    請求項10に記載の方法。
  12. 前記第1の部分アドレスパラメータは第1の32ビット長論理アドレスであり、前記第2のコマンドは読取りコマンドCMD17またはCMD18であり、前記第2の部分アドレスパラメータは第2の32ビット長論理アドレスであり、
    前記方法は、
    前記第1の32ビット長論理アドレスおよび前記第2の32ビット長論理アドレスに応じて組み合わせて前記64ビット長論理アドレスを取得するステップと、
    前記64ビット長論理アドレスおよび読取りコマンドCMD17またはCMD18に応じて、前記内部バスを介して前記フラッシュメモリから伝送される少なくとも1つのデータユニットを取得するステップと、
    前記少なくとも1つのデータユニットを前記ホストデバイスへ伝送するステップであって、前記少なくとも1つのデータユニットは、前記少なくとも1つの第1の外部信号ポートの前記SDモードの複数のデータラインピンと前記少なくとも1つの第2の外部信号ポートとを介して、前記SDメモリカード駆動回路へ順次伝送されるステップと、をさらに含む、
    請求項9に記載の方法。
  13. 前記少なくとも1つの第2の外部信号ポートと前記SDメモリカードの前記少なくとも1つの第1の外部信号ポートの前記SDモードの前記CMDピンとを介して、前記ホストデバイスによって前記SDメモリカード駆動回路から順次送信される前記第1のコマンドおよび前記第1の32ビット長論理アドレスを受信する前に、前記ホストデバイスによって前記SDメモリカード駆動回路から送信される表示コマンドおよび指定書込みデータ長パラメータを受信するステップであって、該表示コマンドおよび該指定書込みデータ長パラメータが、前記少なくとも1つの第2の外部信号ポートと前記SDメモリカードの前記少なくとも1つの第1の外部信号ポートの前記SDモードの前記CMDピンとを介して順次伝送されるステップをさらに含む、
    請求項12に記載の方法。
  14. 前記第1の部分アドレスパラメータは第1の32ビット長論理アドレスであり、前記第2のコマンドは消去コマンドCMD32、CMD33、またはCMD38であり、前記第2の部分アドレスパラメータは第2の32ビット長論理アドレスであり、
    前記方法は、
    前記第1の32ビット長論理アドレスおよび前記第2の32ビット長論理アドレスに応じて組み合わせて64ビット長論理アドレスの指定消去開始アドレスパラメータを取得するステップと、
    前記64ビット長論理アドレスおよび前記消去コマンドCMD32、CMD33、またはCMD38に応じて、前記内部バスを介して前記フラッシュメモリ内の前記64ビット長論理アドレスによって示される指定消去セグメントに対応する少なくとも1つのブロック上で消去動作を実行するステップと、をさらに含む、
    請求項9に記載の方法。
  15. 前記第1の部分アドレスパラメータは第1の32ビット長論理アドレスであり、前記第2のコマンドは第2の転送コマンドCMD45であり、前記第2の部分アドレスパラメータは第2の32ビット長論理アドレスであり、
    前記方法は、
    前記ホストデバイスによって前記SDメモリカード駆動回路から送信される第1の転送コマンドCMD44および少なくとも1つの転送パラメータを受信するステップであって、該第1の転送コマンドCMD44および該少なくとも1つの転送パラメータが、前記少なくとも1つの第2の外部信号ポートと前記SDメモリカードの前記少なくとも1つの第1の外部信号ポートの前記SDモードの前記CMDピンとを介して順次送信されるステップと、
    前記第1の32ビット長論理アドレスおよび前記第2の32ビット長論理アドレスに応じて組み合わせて64ビット長論理アドレスの指定転送開始アドレスパラメータを取得するステップと、
    前記64ビット長論理アドレスおよび前記少なくとも1つの転送パラメータに応じて、前記内部バスを介して前記指定転送開始アドレスパラメータによって示されるアドレスから前記フラッシュメモリの対応するデータを転送するステップと、をさらに含む、
    請求項9に記載の方法。
  16. SDメモリカードにアクセスするためのホストデバイスであって、該ホストデバイスは、該ホストデバイスのSDメモリカード駆動回路と、該ホストデバイスの少なくとも1つの第2の外部信号ポートと、該SDメモリカードの少なくとも1つの第1の外部信号ポートと、該SDメモリカードの内部バスとを介して、該SDメモリカード内のフラッシュメモリおよびフラッシュメモリコントローラに結合するように構成され、
    前記ホストデバイスは、
    SDメモリカード駆動回路と、
    前記SDメモリカード駆動回路に結合されるプロセッサであって、
    前記SDメモリカード駆動回路を制御して第1のコマンドおよび第1の部分アドレスパラメータを前記SDメモリカードへ送信し、該第1のコマンドおよび該第1の部分アドレスパラメータが、前記少なくとも1つの第2の外部信号ポートと前記SDメモリカードの前記少なくとも1つの第1の外部信号ポートのSDモードのCMDピンとを介して、前記フラッシュメモリコントローラへ順次伝送され、
    前記SDメモリカード駆動回路を制御して第2のコマンドおよび第2の部分アドレスパラメータを前記SDメモリカードへ送信し、該第2のコマンドおよび該第2の部分アドレスパラメータが、前記少なくとも1つの第2の外部信号ポートと前記SDメモリカードの前記少なくとも1つの第1の外部信号ポートの前記SDモードの前記CMDピンとを介して、前記フラッシュメモリコントローラへ順次伝送され、
    前記SDメモリカード駆動回路を制御して、前記第1の部分アドレスパラメータおよび前記第2の部分アドレスパラメータを送信し、前記フラッシュメモリコントローラに、前記第1の部分アドレスパラメータおよび前記第2の部分アドレスパラメータに応じて組み合わせて完全なアドレスパラメータを取得させ、
    前記フラッシュメモリコントローラに、該完全なアドレスパラメータおよび前記第2のコマンドのコマンドタイプに応じて、前記内部バスを介して前記フラッシュメモリ上で該コマンドタイプに対応する処理動作を実行させる
    ように構成されたプロセッサとを備え、
    前記第1のコマンドはコマンドCMD22、CMD31、CMD39、CMD41、およびCMD51のいずれかであり、前記第2のコマンドの前記コマンドタイプは、少なくとも、CMD17の単一データユニット読取り、CMD24の単一データユニット書込み、CMD18の複数データユニット読取り、CMD25の複数データユニット書込み、CMD44またはCMD45のコマンドキュータスク割当て、およびCMD32、CMD33、またはCMD38のデータユニット消去を含み、前記第1の部分アドレスパラメータは前記完全なアドレスパラメータの最上位ビットの一部であり、前記第2の部分アドレスパラメータは前記完全なアドレスパラメータの最下位ビットの一部であり、前記SDメモリカード駆動回路は、前記少なくとも1つの第1の外部信号ポートの前記SDモードの前記CMDピンを介して、開始ビット「0」および伝送ビット「1」を前記SDメモリカードに順次送信し、前記フラッシュメモリコントローラに、前記少なくとも1つの第1の外部信号ポートの前記SDモードの前記CMDピンを介して、前記開始ビット「0」と前記伝送ビット「1」を受信し、前記ホストデバイスが特定のコマンドのコマンドコンテンツを前記SDメモリカード駆動回路から前記SDメモリカードへ送信しているかどうかを判断させ、前記フラッシュメモリコントローラに、前記伝送ビット「1」を受信した後、前記特定のコマンドの前記コマンドコンテンツの複数のビットによって構成されるコマンドタイプとアドレスパラメータの情報を受信させるように構成される、
    ホストデバイス。
JP2020535174A 2017-12-28 2018-12-28 フラッシュメモリコントローラ、sdカードデバイス、フラッシュメモリコントローラで使用される方法、およびsdカードデバイスに結合されたホストデバイス Pending JP2021508878A (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201762610937P 2017-12-28 2017-12-28
US62/610,937 2017-12-28
US201862619930P 2018-01-22 2018-01-22
US62/619,930 2018-01-22
PCT/CN2018/124809 WO2019129194A1 (en) 2017-12-28 2018-12-28 Flash memory controller, sd card device, method used in flash memory controller, and host device coupled to sd card device

Publications (1)

Publication Number Publication Date
JP2021508878A true JP2021508878A (ja) 2021-03-11

Family

ID=67058286

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020535174A Pending JP2021508878A (ja) 2017-12-28 2018-12-28 フラッシュメモリコントローラ、sdカードデバイス、フラッシュメモリコントローラで使用される方法、およびsdカードデバイスに結合されたホストデバイス

Country Status (7)

Country Link
US (5) US10853239B2 (ja)
EP (1) EP3732575A4 (ja)
JP (1) JP2021508878A (ja)
KR (1) KR20200095526A (ja)
CN (2) CN110046104B (ja)
TW (5) TWI709858B (ja)
WO (2) WO2019129194A1 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11392470B2 (en) * 2019-05-15 2022-07-19 Dell Products L.P. Information handling system to allow system boot when an amount of installed memory exceeds processor limit
US11500901B2 (en) * 2019-06-28 2022-11-15 Nxp B.V. Apparatuses and methods involving synchronization using data in the data/address field of a communications protocol
CN111309482B (zh) * 2020-02-20 2023-08-15 浙江亿邦通信科技有限公司 基于哈希算法的区块链任务分配系统、装置及可存储介质
US11249847B2 (en) * 2020-04-09 2022-02-15 Micron Technology, Inc. Targeted command/address parity low lift
US12067233B2 (en) * 2022-07-14 2024-08-20 Samsung Electronics Co., Ltd. Method and system for tuning a memory device for high-speed transitions

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04112251A (ja) * 1990-08-31 1992-04-14 Nec Ic Microcomput Syst Ltd マイクロコンピュータ
JPH09231070A (ja) * 1995-12-20 1997-09-05 Seiko Epson Corp 情報処理回路、半導体集積回路装置、マイクロコンピュータ、電子機器
JP2005258804A (ja) * 2004-03-11 2005-09-22 Toshiba Corp メモリカード装置およびメモリカード制御方法
JP2008521080A (ja) * 2004-11-17 2008-06-19 ノキア コーポレイション マルチメディア・カード・インターフェース方法、コンピュータ・プログラム及び装置
US20090235025A1 (en) * 2007-09-28 2009-09-17 Atsushi Kondo Memory card capable of reducing power consumption
JP2011107851A (ja) * 2009-11-13 2011-06-02 Toshiba Corp メモリシステム
JP2012212396A (ja) * 2011-03-31 2012-11-01 Toshiba Corp メモリカード及びホスト機器
JP2017513089A (ja) * 2014-02-14 2017-05-25 マイクロン テクノロジー, インク. コマンドキューイング
JP2017157209A (ja) * 2016-03-03 2017-09-07 三星電子株式会社Samsung Electronics Co.,Ltd. メモリ装置のデータアドレッシング方法及びメモリ装置並びにメモリモジュール

Family Cites Families (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7676640B2 (en) * 2000-01-06 2010-03-09 Super Talent Electronics, Inc. Flash memory controller controlling various flash memory cells
US20050204187A1 (en) * 2004-03-11 2005-09-15 Lee Charles C. System and method for managing blocks in flash memory
US6914550B2 (en) * 2003-10-09 2005-07-05 Texas Instruments Incorporated Differential pipelined analog to digital converter with successive approximation register subconverter stages using thermometer coding
TWM253045U (en) * 2003-12-16 2004-12-11 I O Interconnect Inc Removable flash memory portable storage device task
US20080082736A1 (en) * 2004-03-11 2008-04-03 Chow David Q Managing bad blocks in various flash memory cells for electronic data flash card
US7814377B2 (en) 2004-07-09 2010-10-12 Sandisk Corporation Non-volatile memory system with self test capability
US20070119931A1 (en) * 2005-11-25 2007-05-31 C-Media Electronics Inc. Apparatus for reading/writing storage devices
JP5190800B2 (ja) * 2006-02-21 2013-04-24 日本電気株式会社 プログラムの実行制御システム、実行制御方法、実行制御用コンピュータプログラム
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
CN101681253B (zh) * 2007-05-09 2013-10-16 金士顿科技股份有限公司 安全且可扩充的固态磁盘系统
CN101324867B (zh) * 2007-06-16 2011-07-20 深圳市硅格半导体有限公司 基于半导体存储介质的数据管理装置及管理方法
JP2009104729A (ja) * 2007-10-24 2009-05-14 Toshiba Corp 不揮発性半導体記憶装置
KR100979744B1 (ko) * 2008-06-26 2010-09-02 에스디씨마이크로 주식회사 메모리 주소 확장 기능을 가지는 씨피유 메모리 결합어셈블리
CN101782870B (zh) 2009-01-16 2011-12-14 旺宏电子股份有限公司 存储器装置与其控制方法
CN101650690B (zh) 2009-09-21 2011-03-02 中兴通讯股份有限公司 大容量存储卡的应用方法及移动终端
CN102023927A (zh) * 2009-09-22 2011-04-20 点序科技股份有限公司 闪存控制装置及其存取方法
JP5150591B2 (ja) 2009-09-24 2013-02-20 株式会社東芝 半導体装置及びホスト機器
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
JP2012204880A (ja) * 2011-03-23 2012-10-22 Toshiba Corp メモリ装置及びその制御方法
TWI471862B (zh) 2011-08-19 2015-02-01 Silicon Motion Inc 快閃記憶體控制器
JP2013191169A (ja) * 2012-03-15 2013-09-26 Toshiba Corp ホスト機器、メモリコントローラ、及びメモリ装置
US9311226B2 (en) * 2012-04-20 2016-04-12 Memory Technologies Llc Managing operational state data of a memory module using host memory in association with state change
KR101988260B1 (ko) 2012-09-14 2019-06-12 삼성전자주식회사 임베디드 멀티미디어 카드, 및 이의 동작 방법
JP5976608B2 (ja) * 2012-10-30 2016-08-23 株式会社東芝 メモリデバイス
CN103268775A (zh) 2013-05-17 2013-08-28 深圳市江波龙电子有限公司 存储芯片、存储设备及存储芯片使用方法
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 株式会社東芝 ホスト機器および拡張性デバイス
US10194809B2 (en) * 2015-08-24 2019-02-05 Verily Life Sciences Llc Integrated electronics for photoplethysmography and electrocardiography
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 慧榮科技股份有限公司 資料儲存裝置之資料頁對齊方法及其查找表的製作方法
TWI592864B (zh) * 2016-06-21 2017-07-21 慧榮科技股份有限公司 資料儲存裝置及其資料維護方法
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
US10705997B2 (en) * 2018-05-16 2020-07-07 Mixd Media Llc. MIXDTAPE—cassette tape replica record/playback device

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04112251A (ja) * 1990-08-31 1992-04-14 Nec Ic Microcomput Syst Ltd マイクロコンピュータ
JPH09231070A (ja) * 1995-12-20 1997-09-05 Seiko Epson Corp 情報処理回路、半導体集積回路装置、マイクロコンピュータ、電子機器
JP2005258804A (ja) * 2004-03-11 2005-09-22 Toshiba Corp メモリカード装置およびメモリカード制御方法
JP2008521080A (ja) * 2004-11-17 2008-06-19 ノキア コーポレイション マルチメディア・カード・インターフェース方法、コンピュータ・プログラム及び装置
US20090235025A1 (en) * 2007-09-28 2009-09-17 Atsushi Kondo Memory card capable of reducing power consumption
JP2011107851A (ja) * 2009-11-13 2011-06-02 Toshiba Corp メモリシステム
JP2012212396A (ja) * 2011-03-31 2012-11-01 Toshiba Corp メモリカード及びホスト機器
JP2017513089A (ja) * 2014-02-14 2017-05-25 マイクロン テクノロジー, インク. コマンドキューイング
JP2017157209A (ja) * 2016-03-03 2017-09-07 三星電子株式会社Samsung Electronics Co.,Ltd. メモリ装置のデータアドレッシング方法及びメモリ装置並びにメモリモジュール

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
赤松 武史, TECH I EMBEDDED SOFTWARE SDカード全種/CFカード/NANDフラッシュ/ID, vol. 第55巻 第2版, JPN6021042718, 1 December 2014 (2014-12-01), JP, pages 102 - 118, ISSN: 0004793514 *

Also Published As

Publication number Publication date
TWI709858B (zh) 2020-11-11
TW202314512A (zh) 2023-04-01
US20240045798A1 (en) 2024-02-08
WO2019129194A1 (en) 2019-07-04
CN110032336B (zh) 2023-04-07
CN110046104B (zh) 2022-11-15
EP3732575A1 (en) 2020-11-04
US11249893B2 (en) 2022-02-15
US10691589B2 (en) 2020-06-23
CN110032336A (zh) 2019-07-19
TW202030612A (zh) 2020-08-16
TWI692689B (zh) 2020-05-01
TWI792073B (zh) 2023-02-11
CN110046104A (zh) 2019-07-23
US10853239B2 (en) 2020-12-01
US20190205248A1 (en) 2019-07-04
US11829289B2 (en) 2023-11-28
EP3732575A4 (en) 2021-10-27
US20190205068A1 (en) 2019-07-04
US20200293440A1 (en) 2020-09-17
KR20200095526A (ko) 2020-08-10
TW201931127A (zh) 2019-08-01
TW202117545A (zh) 2021-05-01
TWI714487B (zh) 2020-12-21
TW201931125A (zh) 2019-08-01
US20220147445A1 (en) 2022-05-12
WO2019129193A1 (en) 2019-07-04

Similar Documents

Publication Publication Date Title
JP2021508878A (ja) フラッシュメモリコントローラ、sdカードデバイス、フラッシュメモリコントローラで使用される方法、およびsdカードデバイスに結合されたホストデバイス
US20190018615A1 (en) Host for controlling non-volatile memory card, system including the same, and methods operating the host and the system
US11630791B2 (en) Data storage system and method for multiple communication protocols and memory access
US8037228B2 (en) Bridge device with page-access based processor interface
JP5443998B2 (ja) 不揮発性記憶装置、ホスト装置、不揮発性記憶システム、データ記録方法、およびプログラム
US7925819B2 (en) Non-volatile memory storage system and method for reading an expansion read only memory image thereof
TWI704456B (zh) 資料儲存裝置與資料存取方法
CN110058809B (zh) 存储装置及其调试系统
TW202036301A (zh) 用來進行主裝置與記憶裝置之間的存取控制的方法以及設備
CN110874297B (zh) 数据访问方法、装置和主机
KR20080023408A (ko) 공유 메모리를 구비한 장치 및 코드 데이터 전송 방법
TWI817645B (zh) 藉助於相容性管理來進行在預定通訊架構中的記憶體裝置的通訊規範版本控制的方法、記憶體裝置、電子裝置、記憶體裝置的記憶體控制器、以及計算機可讀媒體
CN118192875A (zh) NVMe命令生成的方法及其相关产品

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200813

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200813

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210921

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20211102

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20220126

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20220607