JP6622446B2 - エンベデッドマルチメディアカード(eMMC)、それを制御するホスト、及びeMMCシステムの動作方法 - Google Patents
エンベデッドマルチメディアカード(eMMC)、それを制御するホスト、及びeMMCシステムの動作方法 Download PDFInfo
- Publication number
- JP6622446B2 JP6622446B2 JP2013191126A JP2013191126A JP6622446B2 JP 6622446 B2 JP6622446 B2 JP 6622446B2 JP 2013191126 A JP2013191126 A JP 2013191126A JP 2013191126 A JP2013191126 A JP 2013191126A JP 6622446 B2 JP6622446 B2 JP 6622446B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- emmc
- instruction
- host
- queue
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims description 42
- 239000000872 buffer Substances 0.000 claims description 69
- 230000004044 response Effects 0.000 claims description 31
- 230000005540 biological transmission Effects 0.000 claims description 20
- 238000011017 operating method Methods 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 14
- 238000012545 processing Methods 0.000 description 5
- 230000002457 bidirectional effect Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 230000009118 appropriate response Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000036039 immunity Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data buffering arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
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)
- Memory System (AREA)
- Information Transfer Systems (AREA)
- Read Only Memory (AREA)
Description
eMMCは、JEDECで標準として定めた内蔵型MMCに対する標準の一つである。一般的な構成及び応用で、eMMCは、スマートフォンのような移動通信装置内に挿入(または、内蔵)されるように設計されうる。
通常、eMMC通信は、標準化された10本のラインバス(10−line bus)を通じて連結されたホストとデータ信号、制御信号、命令、クロック及び/またはパワー信号を通信する。
前記eMMCコントローラは、現在動作によって特定された第1データの伝送と同時に、第2データを特定する次の動作を定義する命令セットをホストから受信する命令レジスタと、前記第1データを保存する第1メモリと、前記第2データを保存する第2メモリと、を含む。
本発明が属する技術分野で通常の知識を有した者(当業者)は、eMMCの構造、構成及び/または動作条件を定義する多様なJEDEC標準が利用可能であることを理解できる。このような標準は、JEDECウェブサイト(http://www.jedec.org)で容易に探すことができる。
例えば、2012年6月に公開されたEmbedded Multimedia Card(eMMC)、Electrical Standard4.51、すなわち、JESD84−B451は、本発明の概念を理解するのに有用な多くの用語及び技術的な定義を含む。
図1を参照すると、eMMCシステム100は、装置300と、例えば、eMMC装置300に連結されたホスト200とを含む。
ホスト200は、eMMC装置300のデータ処理動作、例えば、リード動作またはライト動作などを制御することができる。このデータ処理動作は、SDR(Single Data Rate)またはDDR(Double Data Rate)で行われる。
本発明の一実施形態によるホスト200は、プロセッサ215、メモリ220、及びホストコントローラ230を含みうる。プロセッサ215は、データ/アドレス/命令/制御信号をeMMC300に駆動するために、運用システム(OS)及び/またはホストファームウエア210がプロセッサ215によって使用される。
図示した構成要素以外にも、ホスト200またはホスト200のホストコントローラ230は、クロック生成器(図示せず)、状態制御ユニット(図示せず)などをさらに含みうる。
プロセッサ215は、eMMC300に伝送される命令CMDの生成を制御することができるハードウェアを意味する。プロセッサ215は、また命令に応答して、eMMC300から受信された応答RESを解釈することもでき、eMMC300の拡張カード特定データExtended(EXT)_CSDレジスタ371に保存されたデータを処理することができる。プロセッサ215は、OS/ファームウエア210を駆動して、前記のような動作を行うことができる。
ホストコントローラ230は、eMMC300に命令CMDを発給し(issuing)、命令CMDに対する応答RESを受け、eMMC装置300に保存されるライトデータを伝送し、eMMC装置300からリードしたリードデータを受信する。
図1の標準信号ライン/バス構成で、双方向クロックライン101は、ホスト200からeMMC300へのクロック信号CLKの伝送に使われる。
ホスト200は、1つ以上の電圧生成回路(図示せず)を使って1つ以上の動作電圧を生成して、eMMC300に提供することができる。このようなホストが生成した動作電圧は、1本以上の電圧ライン(図示せず)を通じてeMMC300に伝送可能である。
図2は、本発明の一実施形態によるeMMC装置300のブロック図である。
これを参照すると、eMMC装置300は、デバイスコントローラ、例えば、eMMCコントローラ310とフラッシュメモリ370とを備える。
eMMCコントローラ310は、eMMCホストインターフェース320、CPU330、メモリ340、エラー検出/訂正ブロックECC360及びフラッシュインターフェース365を含む。
eMMCホストインターフェース320は、ホストからクロック信号CLKと命令CMDとを受信し、該受信された命令CMDを解釈し、適切な応答RESを生成し、該生成された応答RESを必要に応じてリードデータと共にホストに伝送する。
図3は、図2に示された命令レジスタ325の一実施形態を示す。
図3を参照すると、命令レジスタ325は、N(1以上の自然数)個のレジスタセット326−1〜326−N及び327−1〜327−Nを含む。Nは、命令レジスタセットのサイズ(すなわち、個数)を表わし、Nをマルチキューデプス(multi queue depth)と定義する。
図4Aないし図4Cは、マルチキュー命令、及び前記命令と関連した情報の例示を示す図である。
まず、図4Aを参照すると、マルチキュー命令は、少なくとも1つの命令レジスタエントリを含む“命令セット(command set)CSとして具現されうるが、これに限定されるものではない。
命令レジスタエントリの最初のパートCMD_ds430は、フラッシュメモリから読み取る(抽出する)データまたはフラッシュメモリに書き込むデータのサイズを指定(特定)するための命令(以下、サイズ命令と称する)であり、二番目のパートCMD_sa440は、リードデータまたは書き込みデータのための開始アドレスを指定するための命令(以下、アドレス命令と称する)であり得る。本発明の実施形態では、サイズ命令CMD_dsが先に発給され、アドレス命令CMD_saが、次に発給されるように示されているが、その順序は、変更されうる。
ブロックとは、既定のサイズを有するデータの単位であって、例えば、フラッシュメモリのページに該当するが、これに限定されるものではない。
図4Cを参照すると、アドレス命令440は、命令タイプ441、及び開始アドレス(start address)442を含みうる。アドレス命令440の開始アドレス442は、レジスタセット325のアドレスレジスタ327−1〜327−Nのうち対応する1つに保存することができる。
本発明の他の実施形態では、データサイズ432と開始アドレス442とが1つの命令に含まれて、ホスト200からeMMC300に伝送することもできる。
開始アドレス(SA)は、マルチキュー命令によって識別されるデータの開始位置を表わす。データサイズは、マルチキュー命令を行うデータのサイズである。例えば、マルチキュー命令がリード命令であり、開始アドレスは100、データサイズが10であれば、フラッシュメモリ370で100番開始アドレスから10ブロック(blocks)だけのデータをリードせよとの意味であり得る。
メモリ340は、ホストインターフェース325とフラッシュインターフェース365との間で送受信するライトデータ及び/またはリードデータを一時的に保存する。メモリ340は、揮発性メモリとして具現可能である。
メモリ340は、ノーマルバッファ341、キューデータバッファ345及びデバイスファームウエア350に指定されうるメモリ領域を含みうる。デバイスファームウエア350は、メモリ340に保存され、CPU330によって実行されるプログラムコードを含みうる。
フラッシュメモリ370は、多様な命令に応答してデータを受信し、保存し、削除し、リードし、提供することができる。
例えば、フラッシュメモリ370がNANDフラッシュメモリとして具現される時、フラッシュインターフェース365は、NANDフラッシュインターフェースとして具現可能である。フラッシュメモリ370は、装置特性(device properties)と選択可能なモードを保存するEXT_CSDレジスタ371とを含む。
図2の実施形態では、フラッシュメモリ370は、多数のメモリ素子CE0〜CE3を含みうる。図2では、4つのメモリ素子CE0〜CE3が例示的に示されるが、これに限定されるものではない。フラッシュメモリ370は、2つ以上のチャネルを運用することができる。
図5を参照すると、ノーマルバッファ341及びキューデータバッファ345が備えられうる。ノーマルバッファ341及びキューデータバッファ345は、それぞれホスト200から受信して、フラッシュメモリ370にライトするデータ(すなわち、ライトデータ)あるいはフラッシュメモリ370からリードして、ホスト200に伝送するデータ(すなわち、リードデータ)を一時的に保存する。
eMMCコントローラ310内のメモリ340の一部が、バッファ341、345として使われうるが、eMMCコントローラ310の内部または外部にバッファ341、345のためのメモリ、すなわち、バッファメモリが別途に備えられることもある。
キューデータバッファ345は、本発明の実施形態によるマルチキュー命令によるデータを保存するためのバッファである。キューデータバッファ345のサイズは、マルチキューデプス(N)でありうるが、これに限定されるものではない。
前述したように、ノーマルバッファ341と別途にキューデータバッファ345を置くことによって、ノーマルバッファ341のデータをホスト200に伝送するか、またはホスト200にデータを受信して、ノーマルバッファ341に保存する間(すなわち、それぞれの命令に対する実行区間が少なくとも一部重畳される区間)にも、マルチキュー命令によるデータをキューデータバッファ345に保存することができる。
図1ないし図6を参照すると、ホスト200は、以前データ(previous data)401の伝送中にも、マルチキュー命令CS411〜414をeMMC300に伝送しうる。
各マルチキュー命令セットCS411〜414は、図4Aに示したように、サイズ命令とアドレス命令とを含みうる。本実施形態で、各マルチキュー命令セットCS411〜414は、図4Aないし図4Cに示したように、命令セットで構成され、リード命令であると仮定する。
eMMC300は、レジスタセット326−1、327−1に保存された第1マルチキュー命令のデータサイズDS1及び開始アドレスSA1によってフラッシュメモリCE0から第1データDAT−aを読み出して、キューデータバッファ345に保存する。
eMMC300は、レジスタセット326−2、327−2に保存された第2マルチキューリード命令のデータサイズDS2及び開始アドレスSA2によってフラッシュメモリCE1から第2データDAT−bを読み出して、キューデータバッファ345に保存する。
フラッシュメモリ370からの第1ないし第4データDAT−a、DAT−b、DTA−c、DAT−dの読み出しは、順次になされることもあり、並列的になされることもある。
現在動作データ401の伝送が完了すれば、ホスト200は、キューデータバッファ345に保存された第1ないし第4データDAT−a、DAT−b、DTA−c、DAT−dを読み出すことができる。
これを参照すると、ホストは、リードするデータのサイズを指定するためのサイズ命令CMD_daをeMMCコントローラに伝送する(ステップS510)。eMMCコントローラは、サイズ命令CMD_daに応答して、応答R1をホストに送り(ステップS515)、サイズ命令CMD_daのデータサイズをレジスタセットに保存する。
ホストは、eMMCから応答R1を受けた後、アドレス命令CMD_saをeMMCコントローラに伝送する(ステップS520)。eMMCコントローラは、アドレス命令CMD_saに応答して、応答R1をホストに送り(ステップS525)、開始アドレスをレジスタセットに保存する。
eMMCコントローラは、レジスタセットに保存された開始アドレス及びデータサイズセットによってフラッシュメモリにリード命令を送って(ステップS530)、フラッシュメモリから当該データをリードする(ステップS540)。リードしたデータは、キューデータバッファに保存される(ステップS545)。
図8Aは、通常のリード動作方法を示し、図8Bは、本発明の一実施形態によるマルチキューリード動作方法を示す。
図8Aに示された通常のリード動作方法によれば、現状態(current state)がデータ伝送状態である時、すなわち、データバスを通じてデータの伝送中(610)には、ホストは、特定の命令−例えば、以前命令を中断させるためのstop命令abort命令など−を除いては、フラッシュメモリにデータをリードするか、ライトするための命令を送ることができない。
したがって、ホストは、データリード命令を送った後、リードデータを受信するまで待機するしかない(413)。
さらに具体的には、まず、ホスト200は、サイズ命令CMD57(721)をeMMC300に伝送し、eMMC300は、サイズ命令CMD57(721)に対する応答R1(722)をホスト200に伝送する。次いで、ホスト200は、アドレス命令CMD58(723)をeMMC300に伝送し、eMMC300は、アドレス命令CMD58(723)に対する応答R1(724)をホスト200に伝送する。
ここで、サイズ命令CMD57(721)は、図4Aに示されたサイズ命令CMD_ds430に該当し、アドレス命令CMD58(723)は、図4Aに示されたアドレス命令CMD_sa440に該当する。
eMMC300は、マルチキューリード命令セット(720)に応答して、フラッシュメモリ370からデータを読み出して、キューデータバッファ345に保存する。一方、伝送中であるデータ(710)は、ノーマルバッファ341に保存されている。
これを参照すると、ホストは、ライトするデータのサイズを指定するためのサイズ命令CMD_daをeMMCコントローラに伝送する(ステップS610)。eMMCコントローラは、サイズ命令CMD_daに応答して、応答R1をホストに送り(ステップS615)、サイズ命令CMD_daのデータサイズをレジスタセットに保存する。
eMMC300は、ライトデータをキューデータバッファに保存する(ステップS670)。eMMCコントローラは、キューデータバッファに保存されたデータのプログラムのために、フラッシュメモリにプログラム命令を印加して(ステップS675)、フラッシュメモリにデータをプログラムする(ステップS680)。
図10Aは、通常のライト動作方法を示し、図10Bは、本発明の一実施形態によるマルチキューライト動作方法を示す。
図10Aに示された通常のライト動作方法によれば、以前データ(810)の伝送が完了した後、ホストは、ライト命令CMD(821)と、ライト命令CMD(821)によるデータ(812)とをeMMCに送る。eMMCは、受信したデータDAT−a(812)をフラッシュメモリにプログラムする(tPRG1)。フラッシュメモリにデータプログラムが完了するとデータDAT−aの伝送が完了する。
一方、図10Bを参照すると、本発明の実施形態によれば、データ伝送中(831)にも、ホスト200は、マルチキューライト命令セット(841〜844)をeMMC300に送る。
各マルチキューライト命令セット(841〜844)は、図4Aないし図4Cに示したように、サイズ命令とアドレス命令とで構成することができる。
eMMC300は、データDAT−a、DAT−b、DAT−c、DAT−dをキューデータバッファ345に保存し、キューデータバッファ345に保存されたデータDAT−a、DAT−b、DAT−c、DAT−dをフラッシュメモリにプログラムする。
200:ホスト
300:eMMC装置
210:OS/ホストファームウエア
215:プロセッサ
220:RAM
230:ホストコントローラ
310:デバイスコントローラ(eMMCコントローラ)
320:ホストインターフェース
325:命令レジスタ
330:CPU
340:メモリ
341:ノーマルバッファ
345:キューデータバッファ
350:デバイスファームウエア
360:ECC
365:フラッシュインターフェース
370:フラッシュメモリ
Claims (14)
- エンベデッドマルチメディアカード(embedded Multimedia Card;eMMC)であって、
フラッシュメモリと、
前記フラッシュメモリを制御するeMMCコントローラと、を備え、
前記eMMCコントローラは、
第1データに対する現在の動作を遂行する途中で、第2データを特定する次の動作を定義する命令セットをホストから受信する命令レジスタと、
前記第1データを保存するノーマルバッファと、
前記第2データを保存するキューデータバッファと、
を含み、
前記eMMCコントローラが前記第1データに対するリード動作を遂行する途中で、前記第2データに対するリード動作を遂行する場合、
前記eMMCコントローラは、
データバスを通じて前記第1データを前記ノーマルバッファから前記ホストに伝送すると同時に、サイズ命令とアドレス命令からなるリード命令である前記命令セットを命令ラインを通じて受信して前記命令レジスタに保存し、
1つ以上の前記命令セットに対応して前記第2データを構成する1つ以上のデータを前記フラッシュメモリから読み出し、前記キューデータバッファに保存し、
前記第1データの伝送が完了すれば、
前記ホストからの1回のマルチキューデータリードアウト命令に応答して、
前記1つ以上のデータを前記キューデータバッファから順次ホストに伝送し、
前記eMMCコントローラが前記第1データに対するライト動作を遂行する途中で、前記第2データに対するライト動作を遂行する場合、
前記eMMCコントローラは、前記第1データを前記ノーマルバッファから前記フラッシュメモリにプログラムする間、前記ホストからサイズ命令とアドレス命令からなる書き込み命令である前記命令セットを受信して前記命令レジスタに保存し、
前記第1データに対するプログラムが完了すれば、前記eMMCコントローラは前記ホストから、前記キューデータバッファのデータを前記フラッシュメモリに保存するデータライトイン命令CMDと前記第2データを受信して前記第2データを前記キューデータバッファに保存し、前記フラッシュメモリにプログラム命令を印加して前記キューデータバッファに保存された前記第2データを前記フラッシュメモリにプログラムするエンベデッドマルチメディアカード(eMMC)。 - 前記命令レジスタは、
最大サイズNであるマルチキューデプスを有し、複数の命令レジスタエントリを含む前記命令セットを前記最大サイズNまで受信して保存可能な請求項1に記載のeMMC。 - 前記複数の命令レジスタエントリの各命令レジスタエントリは、データのサイズを特定するサイズ命令及び前記データの開始アドレスを特定するアドレス命令を含む請求項2に記載のeMMC。
- 前記次の動作は、マルチキューリード動作であり、前記サイズ命令は、前記フラッシュメモリから読出すリードデータのサイズを特定し、前記アドレス命令は、前記フラッシュメモリで前記リードデータのための開始アドレスを特定する請求項3に記載のeMMC。
- 前記次の動作は、マルチキュー書き込み動作であり、前記サイズ命令は、前記フラッシュメモリに書き込む書き込みデータのサイズを特定し、前記アドレス命令は、前記フラッシュメモリで前記書き込みデータのための開始アドレスを特定する請求項3に記載のeMMC。
- 前記フラッシュメモリは、
前記ホストに前記マルチキューデプスを表わす情報を保存する拡張カード特定データExtended CSDレジスタを含む請求項2に記載のeMMC。 - 前記フラッシュメモリは、拡張カード特定データExtended CSDレジスタを含み、
前記eMMCコントローラは、前記ホストに前記マルチキューデプスを表わす情報を保存する前記拡張カード特定データExtended CSDレジスタとは別途のホスト制御レジスタを含む請求項2に記載のeMMC。 - 前記ノーマルバッファと前記キューデータバッファは、別途のメモリ装置によって独立して備えられる請求項1に記載のeMMC。
- ホストと命令ライン、及びデータバスを通じて連結され、フラッシュメモリを含むエンベデッドマルチメディアカード(embedded Multimedia Card:eMMC)の動作方法において、
第1データに対する現在の動作を遂行する途中で、前記命令ラインを通じて前記ホストから前記eMMCに第2データを特定する次の動作を定義する命令セットを伝送して、前記eMMCにある命令レジスタに前記命令セットを保存する段階と、
を含み、
eMMCコントローラが前記第1データに対するリード動作を遂行する途中で、前記第2データに対するリード動作を遂行する場合、
前記eMMCコントローラは、データバスを通じて前記第1データをノーマルバッファから前記ホストに伝送すると同時に、サイズ命令とアドレス命令からなるリード命令である前記命令セットを命令ラインを通じて受信して前記命令レジスタに保存し、
1つ以上の前記命令セットに対応して前記第2データを構成する1つ以上のデータを前記フラッシュメモリから読み出し、キューデータバッファに保存する段階と、
前記第1データの伝送が完了すれば、前記ホストからの1回のマルチキューデータリードアウト命令に応答して、前記1つ以上のデータを前記キューデータバッファから順次ホストに伝送する段階と、を含み、
前記eMMCコントローラが前記第1データに対するライト動作を遂行する途中で、前記第2データに対するライト動作を遂行する場合、
前記eMMCコントローラは、前記第1データを前記ノーマルバッファから前記フラッシュメモリにプログラムする間、前記ホストからサイズ命令とアドレス命令からなる書き込み命令を受信し、前記書き込み命令を前記命令レジスタに保存する段階と、
前記第1データに対するプログラムが完了すれば、前記eMMCコントローラは前記ホストから、キューデータバッファの書き込みデータを前記フラッシュメモリが保存するデータライトイン命令CMDと前記第2データを受信して前記第2データを前記キューデータバッファに保存し、前記フラッシュメモリにプログラム命令を印加して前記キューデータバッファに保存された前記第2データを前記フラッシュメモリにプログラムする段階と、を含むeMMCの動作方法。 - 前記次の動作は、マルチキューリード動作であり、前記第2データは、前記ノーマルバッファと別途に指定された前記eMMCの前記キューデータバッファに一時的に保存されたリードデータである請求項9に記載のeMMCの動作方法。
- 前記命令レジスタは、
最大サイズNであるマルチキューデプスを有し、複数の命令レジスタエントリを含む前記命令セットを前記最大サイズNまで受信して保存可能な請求項9に記載のeMMCの動作方法。 - 前記複数の命令レジスタエントリの各命令レジスタエントリは、データのサイズを特定するサイズ命令及び前記データの開始アドレスを特定するアドレス命令を含む請求項11に記載のeMMCの動作方法。
- 前記次の動作は、マルチキューリード動作であり、前記サイズ命令は、前記フラッシュメモリから読出すリードデータのサイズを特定し、前記アドレス命令は、前記フラッシュメモリで前記リードデータのための開始アドレスを特定する請求項12に記載のeMMCの動作方法。
- 前記フラッシュメモリは、前記ホストにマルチキューデプスを表わす情報を保存する拡張カード特定データExtended CSDレジスタを含み、
前記eMMCの動作方法は、
前記ホストから前記eMMCにSEND_EXT_CSD命令を受信する段階と、
前記SEND_EXT_CSD命令に応答して、EXT_CSDレジスタのデータを前記ホストに伝送する段階と、
をさらに含む請求項9に記載のeMMCの動作方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020120102483A KR101919903B1 (ko) | 2012-09-14 | 2012-09-14 | 임베디드 멀티미디어 카드, 이를 제어하는 호스트, 및 이들의 동작 방법 |
KR10-2012-0102483 | 2012-09-14 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2014059872A JP2014059872A (ja) | 2014-04-03 |
JP6622446B2 true JP6622446B2 (ja) | 2019-12-18 |
Family
ID=50181886
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013191126A Active JP6622446B2 (ja) | 2012-09-14 | 2013-09-13 | エンベデッドマルチメディアカード(eMMC)、それを制御するホスト、及びeMMCシステムの動作方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US9792072B2 (ja) |
JP (1) | JP6622446B2 (ja) |
KR (1) | KR101919903B1 (ja) |
CN (1) | CN103677665B (ja) |
DE (2) | DE102013110086A1 (ja) |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102111741B1 (ko) * | 2014-01-10 | 2020-05-15 | 삼성전자주식회사 | 임베디드 멀티미디어 카드 및 이의 동작 방법 |
CN104461754B (zh) * | 2014-12-10 | 2018-06-19 | 福州瑞芯微电子股份有限公司 | 一种监控eMMC的方法和装置 |
CN104409099B (zh) * | 2014-12-15 | 2017-12-29 | 成都傅立叶电子科技有限公司 | 基于FPGA的高速eMMC阵列控制器 |
US10067688B2 (en) * | 2015-01-23 | 2018-09-04 | Qualcomm Incorporated | Storage resource management in virtualized environments |
CN106155580B (zh) * | 2015-04-27 | 2019-04-12 | 华为技术有限公司 | 一种基于嵌入式多媒体卡eMMC的存储方法及*** |
US10318193B2 (en) * | 2015-09-14 | 2019-06-11 | Sandisk Technologies Llc | Systems and methods of command authorization |
US9880772B2 (en) * | 2015-09-21 | 2018-01-30 | Micron Technology, Inc. | Systems and methods for providing file information in a memory system protocol |
KR102641107B1 (ko) * | 2016-07-29 | 2024-02-27 | 삼성전자주식회사 | 스토리지 장치, 이를 포함하는 시스템 및 그 동작 방법 |
TWI661352B (zh) * | 2016-09-22 | 2019-06-01 | 慧榮科技股份有限公司 | 資料儲存裝置及其資料寫入方法 |
US10585624B2 (en) * | 2016-12-01 | 2020-03-10 | Micron Technology, Inc. | Memory protocol |
CN108228405A (zh) * | 2016-12-15 | 2018-06-29 | 北京兆易创新科技股份有限公司 | 一种数据传输方法及装置 |
CN107729140B (zh) * | 2017-09-22 | 2020-07-28 | 华南理工大学 | 一种并行实现多个eMMC主机接口命令排队功能的装置及方法 |
CN109977041B (zh) * | 2017-12-27 | 2024-05-24 | 恩智浦有限公司 | 与嵌入式多媒体卡装置通信的主机装置 |
US10318179B1 (en) * | 2017-12-27 | 2019-06-11 | Nxp B.V. | Host device to embedded multi-media card device communication |
US10817363B2 (en) | 2018-03-19 | 2020-10-27 | Micron Technology, Inc. | Health characteristics of a memory device |
CN108958950A (zh) * | 2018-05-29 | 2018-12-07 | 联发科技(新加坡)私人有限公司 | 电子存储设备的任务管理方法、主机和存储装置 |
CN111176566B (zh) * | 2019-12-25 | 2023-09-19 | 山东方寸微电子科技有限公司 | 一种支持queue命令的eMMC读写控制方法及存储介质 |
US11029958B1 (en) * | 2019-12-28 | 2021-06-08 | Intel Corporation | Apparatuses, methods, and systems for configurable operand size operations in an operation configurable spatial accelerator |
JP2022010951A (ja) | 2020-06-29 | 2022-01-17 | キオクシア株式会社 | 半導体記憶装置 |
CN116705136B (zh) * | 2023-04-23 | 2024-06-28 | 珠海妙存科技有限公司 | eMMC内部信息分析方法和*** |
Family Cites Families (35)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0797319B2 (ja) * | 1986-03-11 | 1995-10-18 | 日本電気株式会社 | マイクロコンピュータシステム |
US6081860A (en) * | 1997-11-20 | 2000-06-27 | International Business Machines Corporation | Address pipelining for data transfers |
US6323867B1 (en) * | 1999-04-26 | 2001-11-27 | Mediaq Inc. | Parsing graphics data structure into command and data queues |
US6496192B1 (en) * | 1999-08-05 | 2002-12-17 | Matsushita Electric Industrial Co., Ltd. | Modular architecture for image transposition memory using synchronous DRAM |
US8296467B2 (en) | 2000-01-06 | 2012-10-23 | Super Talent Electronics Inc. | Single-chip flash device with boot code transfer capability |
JP2002082830A (ja) * | 2000-02-14 | 2002-03-22 | Mitsubishi Electric Corp | インターフェイス回路 |
US6785793B2 (en) | 2001-09-27 | 2004-08-31 | Intel Corporation | Method and apparatus for memory access scheduling to reduce memory access latency |
JP2003122702A (ja) | 2001-10-10 | 2003-04-25 | Hitachi Communication Technologies Ltd | 記憶装置 |
CN1318993C (zh) * | 2001-10-16 | 2007-05-30 | 皇家飞利浦电子股份有限公司 | 计算机***和操作计算机***的方法 |
KR100450080B1 (ko) * | 2001-11-13 | 2004-10-06 | (주)지에스텔레텍 | 유에스비기반의 이동형 저장장치 및 그 제어방법 |
JP4082913B2 (ja) * | 2002-02-07 | 2008-04-30 | 株式会社ルネサステクノロジ | メモリシステム |
JP4460867B2 (ja) * | 2003-09-26 | 2010-05-12 | 東芝ストレージデバイス株式会社 | インターフェース装置及びパケット転送方法 |
KR100626371B1 (ko) * | 2004-03-30 | 2006-09-20 | 삼성전자주식회사 | 캐쉬 읽기 동작을 수행하는 비휘발성 메모리 장치, 그것을포함한 메모리 시스템, 그리고 캐쉬 읽기 방법 |
US7366865B2 (en) * | 2004-09-08 | 2008-04-29 | Intel Corporation | Enqueueing entries in a packet queue referencing packets |
KR100626391B1 (ko) * | 2005-04-01 | 2006-09-20 | 삼성전자주식회사 | 원낸드 플래시 메모리 및 그것을 포함한 데이터 처리시스템 |
JP2007026041A (ja) | 2005-07-15 | 2007-02-01 | Renesas Technology Corp | 情報処理装置 |
KR100875978B1 (ko) | 2007-02-06 | 2008-12-26 | 삼성전자주식회사 | 메모리 카드 및 그것을 포함한 메모리 시스템 |
US20090094678A1 (en) | 2007-10-05 | 2009-04-09 | Nokia Corporation | Mulimode device |
JP5345679B2 (ja) | 2008-05-13 | 2013-11-20 | ラムバス・インコーポレーテッド | メモリデバイス用の部分プログラムコマンド |
KR101541344B1 (ko) | 2008-12-05 | 2015-08-03 | 삼성전자주식회사 | 메모리 장치 및 메모리 장치의 제어 방법 |
KR101505005B1 (ko) | 2008-12-05 | 2015-03-24 | 삼성전자주식회사 | 메모리 장치 및 메모리 장치의 관리 방법 |
US8645617B2 (en) * | 2008-12-09 | 2014-02-04 | Rambus Inc. | Memory device for concurrent and pipelined memory operations |
US8341338B2 (en) | 2009-05-06 | 2012-12-25 | Samsung Electronics Co., Ltd. | Data storage device and related method of operation |
TWI454906B (zh) | 2009-09-24 | 2014-10-01 | Phison Electronics Corp | 資料讀取方法、快閃記憶體控制器與儲存系統 |
TW201111986A (en) | 2009-09-29 | 2011-04-01 | Silicon Motion Inc | Memory apparatus and data access method for memories |
US20110296131A1 (en) | 2010-05-31 | 2011-12-01 | Samsung Electronics Co., Ltd | Nonvolatile memory system and the operation method thereof |
WO2012039143A1 (ja) * | 2010-09-21 | 2012-03-29 | 三菱電機株式会社 | Dmaコントローラ及びデータ読出装置 |
JP4966404B2 (ja) | 2010-10-21 | 2012-07-04 | 株式会社東芝 | メモリ制御装置、記憶装置、及びメモリ制御方法 |
US20120124272A1 (en) * | 2010-11-12 | 2012-05-17 | Ememory Technology Inc. | Flash memory apparatus |
JP2012128644A (ja) | 2010-12-15 | 2012-07-05 | Toshiba Corp | メモリシステム |
CN102082798B (zh) | 2011-01-21 | 2013-04-17 | 华南理工大学 | 基于sdio接口的多媒体信息协处理设备及其通信方法 |
KR101887688B1 (ko) | 2011-02-25 | 2018-08-10 | 가부시끼 가이샤 구보다 | 짚 배출 세단 장치, 및 탈곡 장치 |
US20130019053A1 (en) | 2011-07-14 | 2013-01-17 | Vinay Ashok Somanache | Flash controller hardware architecture for flash devices |
CN102663471B (zh) * | 2012-04-17 | 2015-09-23 | 惠州Tcl移动通信有限公司 | 基于emmc芯片的移动终端安全信息存储方法及*** |
CN102883471B (zh) | 2012-08-30 | 2016-06-29 | 锐迪科科技有限公司 | 单芯片多卡多待手机及其冲突解决方法 |
-
2012
- 2012-09-14 KR KR1020120102483A patent/KR101919903B1/ko active IP Right Grant
-
2013
- 2013-09-12 US US14/024,786 patent/US9792072B2/en active Active
- 2013-09-13 JP JP2013191126A patent/JP6622446B2/ja active Active
- 2013-09-13 DE DE102013110086.4A patent/DE102013110086A1/de not_active Withdrawn
- 2013-09-16 CN CN201310421543.6A patent/CN103677665B/zh active Active
- 2013-10-14 DE DE102013016993.3A patent/DE102013016993B4/de active Active
Also Published As
Publication number | Publication date |
---|---|
JP2014059872A (ja) | 2014-04-03 |
US20140082267A1 (en) | 2014-03-20 |
CN103677665B (zh) | 2018-05-18 |
US9792072B2 (en) | 2017-10-17 |
CN103677665A (zh) | 2014-03-26 |
DE102013110086A8 (de) | 2014-05-15 |
KR20140035774A (ko) | 2014-03-24 |
DE102013016993A1 (de) | 2014-04-17 |
DE102013016993B4 (de) | 2021-10-28 |
DE102013110086A1 (de) | 2014-03-20 |
KR101919903B1 (ko) | 2018-11-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6622446B2 (ja) | エンベデッドマルチメディアカード(eMMC)、それを制御するホスト、及びeMMCシステムの動作方法 | |
JP6341642B2 (ja) | ホスト、不揮発性メモリ装置、及び不揮発性メモリカードシステム | |
KR101988260B1 (ko) | 임베디드 멀티미디어 카드, 및 이의 동작 방법 | |
US9563368B2 (en) | Embedded multimedia card and method of operating the same | |
US7788427B1 (en) | Flash memory interface for disk drive | |
EP2973572B1 (en) | System and method of reading data from memory concurrently with sending write data to the memory | |
TWI639086B (zh) | 具有可中斷指令序列的記憶體及其操作方法 | |
KR20140035772A (ko) | 임베디드 멀티미디어 카드, 상기 임베디드 멀티미디어 카드를 포함하는 임베디드 멀티미디어 카드 시스템 및 상기 임베디드 멀티미디어 카드의 동작 방법 | |
KR20130086572A (ko) | 높은 클럭 속도에서 연속하는 판독 버스트 지원 | |
BR102013022935A2 (pt) | Dispositivo de memória flash serial de múltiplos fluxos de dados | |
TWI626540B (zh) | 一般及垃圾回收的資料存取方法以及使用該方法的裝置 | |
KR20190113107A (ko) | 메모리 컨트롤러 및 이를 포함하는 메모리 시스템 | |
KR20170038282A (ko) | 전자 장치 및 그 부팅 방법 | |
JP2009187337A (ja) | デバイス制御方法、プログラム、制御回路及び電子機器 | |
KR101175250B1 (ko) | 낸드 플래시 메모리 장치와 그의 컨트롤러 및 이들의 라이트 오퍼레이션 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20160829 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20161222 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20161228 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20170925 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20171017 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20171228 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20180313 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20180713 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20180723 |
|
A912 | Re-examination (zenchi) completed and case transferred to appeal board |
Free format text: JAPANESE INTERMEDIATE CODE: A912 Effective date: 20180810 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20190913 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20191122 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6622446 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S201 | Request for registration of exclusive licence |
Free format text: JAPANESE INTERMEDIATE CODE: R314201 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |