JP2009533763A - 大蓄積容量を備えるマルチメディアカード - Google Patents
大蓄積容量を備えるマルチメディアカード Download PDFInfo
- Publication number
- JP2009533763A JP2009533763A JP2009505396A JP2009505396A JP2009533763A JP 2009533763 A JP2009533763 A JP 2009533763A JP 2009505396 A JP2009505396 A JP 2009505396A JP 2009505396 A JP2009505396 A JP 2009505396A JP 2009533763 A JP2009533763 A JP 2009533763A
- Authority
- JP
- Japan
- Prior art keywords
- command
- predetermined
- memory module
- multimedia card
- memory modules
- 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
Links
Images
Classifications
-
- 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/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
- G06F12/0615—Address space extension
- G06F12/0623—Address space extension for memory modules
-
- 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/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
-
- 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
-
- 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
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/20—Employing a main memory using a specific memory technology
- G06F2212/202—Non-volatile memory
- G06F2212/2022—Flash memory
Abstract
マルチメディアカード(204)は、複数のメモリモジュール(206、208)と、外部コマンドデコーダ(238)と、を含む。前記外部コマンドデコーダは、所定のコマンドの所定のビットが所定の論理レベルに設定されるとき、アクセスされるべき選択メモリモジュールを前記複数のメモリモジュールから決定するための前記所定のコマンドをデコードする。
【選択図】図6
【選択図】図6
Description
本発明は、マルチメディアカード、特にマルチメディアカードの蓄積容量を増やすための効率的な機構に関する。
図1を参照に、電子デバイス102は、ウェブサイトhttp://www.mmca.orgに述べられているように、大容量の音声及び映像データを格納するマルチメディアカード(MMC)104を扱う。電子デバイス102はMMC104を収容するスロット106を含む。電子デバイス102は、携帯電話、PDA(personal digital assistant)、デジタルカメラ等である。MMC104は一般的に約4GB(giga−bytes)のメモリ容量を有する。
しかしながら、電子デバイスは、例えば、電子デバイス102が多くのアプリケーションを実行するときに、4GBより大きいメモリ容量を必要とする場合もある。図2は、それぞれが大容量のデータにアクセスする第1アプリケーション108と第2アプリケーション110とを有する電子デバイス102のブロック図を示す。2つのアプリケーション108及び110は電子デバイス102のホストシステム112の内部に備わる。またホストシステム112は、第1MMC(multi media card)ホストコントローラ116及び第2MMCホストコントローラ118を有するCPU(central processing unit)114を含む。
第1及び第2アプリケーション108及び110は4GBより大きいデータを扱うので、電子デバイス102は第1MMC(multi media card)120及び第2MMC(multi media card)122を含む。第1MMC120は、4GBのメモリ容量を備える第1メモリモジュール126に対してメモリ処理を行う第1MMCスレーブコントローラ124を含む。第2MMC122は、4GBのメモリ容量を備える第1メモリモジュール130に対してメモリ処理を行う第1MMCスレーブコントローラ128を含む。
また電子デバイス102は、第1MMCホストコントローラ116と第1MMC120との間で信号のやり取りを行う第1接続ピン132と、第2MMCホストコントローラ118と第2MMC122との間で信号のやり取りを行う第2接続ピン134と、を含む。
図3は、4GBより大きいメモリ容量を必要とするアプリケーション108をただひとつ有する電子デバイス140のブロック図を示す。このように、電子デバイス140は、複数のMMC120及び122を扱う。図1、図2及び図3において同じ参照番号をもつ要素は、同様の構造及び/又は機能を有する要素を参照する。
図2及び図3の場合、ホストコントローラ116及び118は、ウェブサイトhttp://www.mmca.orgに規定されているように、マルチメディアカードのコマンド生成のための現在の標準に従って、アドレス指定用の32ビットを含む48ビットのコマンドを生成する。したがって、各MMC120、122は、それぞれ、約4GB(すなわち232)のデータ容量のメモリモジュール126、130を有する。
しかしながら、図2及び図3に示す複数のMMC120及び122を使用すると、電子デバイスに複数のスロットや複数の接続ピン132及び134が形成され高コストであり、複数のMMC120及び122は高コストであるため、非効率である。さらに、MMCを扱う電子デバイスは携帯デバイスが典型的であるため、複数のMMCが携帯電子デバイスのサイズを大きくすることは望ましくない。
このように、MMCのメモリ容量を増やすにあたって、効率的な機構が望まれている。解決策として、新たなコマンド標準においてアドレス指定用ビットを32ビットよりも大きくしてもよい。しかしながら、新たなコマンド標準の認可と採用には時間を要する。さらに、新たなコマンド体系の実装には、ホストコントローラ116及び118におけるハードウェアの変更が必要であり、これには大抵大きな労力を要する。
したがって、本発明は、既存のコマンド標準を使用して、MMC(multi media card)のメモリ容量を効率的に増やすことを目的とする。
本発明のマルチメディアカードは、複数のメモリモジュールと、外部コマンドデコーダと、を含む。外部コマンドデコーダは、所定のコマンドの所定のビットが定められた論理レベルに設定された場合、複数のメモリモジュールのうち所定のメモリモジュールで実行される処理を指定する所定のコマンドをデコードする。
本発明の別の実施形態では、マルチメディアカードは、さらに、所定のコマンドの所定のビットが所定の論理レベルに設定されないとき、複数のメモリモジュールのうち所定のメモリモジュールで実行される処理を指定する所定のコマンドをデコードする通常コマンドデコーダを含む。本発明の例では、複数のメモリモジュールで実行される処理は、ブロックの読み出し/書き込みの処理であり、所定のコマンドは、ブロックの読み出し/書き込みの処理のためにブロック長を指定する。
本発明の別の実施形態では、通常コマンドデコーダは、選択メモリモジュールにおける少なくともひとつのメモリ処理のための少なくともひとつの次のコマンドをデコードする。
本発明の実施形態の一例では、所定のコマンドのビットの集合のうちひとつのホットビットは、選択メモリモジュールを示す。本発明の実施形態の一例では、所定のコマンドのビットの集合のうちひとつのビットパターンは、選択メモリモジュールを示す。
この方式では、既存のコマンドは、マルチメディアカードに複数のメモリモジュールが形成されてアクセスされるように、選択メモリモジュールを示すのに使われる。既存のコマンドは、所定のメモリモジュール用に通常コマンドを規定すること(これにより初期のMMCモデルとの後方互換性を保つ)、又は、マルチメディアカードにおいて複数のメモリモジュールのうち選択メモリモジュールを指定すること(これによりメモリ容量の増加を許容する)の二つの目的に使われる。電子デバイスのホストシステムにおけるソフトウェア変更とマルチメディアカードのスレーブコントローラにおけるハードウェア変更により、本発明の上記の機構は効率的に実装される。
図4は、本発明の実施例に係る、ホストシステム202、及び、マルチメディアカード204を有する電子デバイス200のブロック図を示す。電子デバイス200は、携帯電話、PDA(personal digital assistant)、デジタルカメラ、マルチメディアカードを使うその他の電子デバイス等である。
マルチメディアカード(MMC)204は、複数のメモリモジュール206〜208によりメモリ容量を増やしている。一般に、マルチメディアカード204はN個のメモリモジュールを有し、各メモリ容量は例えば4GBである。また、マルチメディアカードは複数のメモリモジュール206〜208へアクセスするために拡張MMCスレーブコントローラ210を含む。
ホストシステム202は、メモリモジュール206〜208に蓄積されたデータを用いて、複数のアプリケーション212〜214を実行する。各アプリケーション212〜214は、それぞれ拡張ソフトウェアドライバ213〜215を有する。また、ホストシステム202は、MMCホストコントローラ218を有する、ホストCPU(central processing unit、すなわちデータプロセッサ)216を含む。ホストシステム202は、さらに、命令列を格納するホストメモリデバイス220を含む。拡張ソフトウェアドライバ213〜215による命令列の実行により、ソフトウェアドライバは図7及び図8のフローチャートの処理を実行する。
電子デバイス200は、さらに、ホストシステム202のMMCホストコントローラ218とMMC204のMMCスレーブコントローラ210との間の信号のやり取りを行う接続ピン222を含む。13本のピン222は、ウェブサイトhttp://www.mmca.orgに規定されているように、MMCを実現する現在の物理標準に従って使用される。
図5は本発明の他の実施例に係る電子デバイス230のブロック図を示す。図5の電子デバイス230は、図4の電子デバイス200に類似しており、図4及び図5において同一の参照番号で示す要素は、類似の構造及び/又は機能を有する要素を表す。しかし、図5のホストシステム202は、複数のメモリモジュール206〜208が大量のデータを必要とする単一のアプリケーション232を実行する。単一のアプリケーション232は、拡張ソフトウェアドライバ233を有し、拡張ソフトウェアドライバ233によるメモリデバイス220に格納された命令列の実行により、ソフトウェアドライバ233は図7及び図8のフローチャートの処理を実行する。
図6は、本発明の実施例に係る、図4又は図5の拡張MMCスレーブコントローラ210のブロック図を示す。スレーブコントローラ210は、接続ピン222のうち8本のピンDATAと接続されたデータマルチプレクサ232を含む。スレーブコントローラ210はまた、接続ピン222のうちコマンドピンCMDと接続されたコマンドデシリアライザ234を含む。
コマンドデシリアライザ234は、通常コマンドデコータ236と外部コマンドデコーダ238とに接続される。通常コマンドデコーダ236は、メモリインターフェース242を介して複数のメモリモジュール206〜208へアクセスするメモリコントローラステートマシン240と接続される。
データマルチプレクサ232は、データピンDATAとメモリコントローラステートマシン240とのデータのやり取りを行う。コマンドデシリアライザ234は、コマンドピンCMDを介して、ホストコントローラ218からコマンドの全ビット(例えば48ビット)を受信する。コマンドデシリアライザ234は、コマンドを分けて、コマンドのビットを通常コマンドデコーダ236と外部コマンドデコーダ238とへ送る。
通常コマンドデコーダ236は、メモリモジュール206〜208へのメモリ処理を実行するメモリコントローラステートマシンを制御するコマンドをデコードする。外部コマンドデコーダ238は、メモリモジュール206〜208のうちいずれがアクセスのために選択されているか(すなわち、選択メモリモジュールSMM)を示す所定のコマンドをデコードする。
スレーブコントローラ210の要素232、234、236、240及び242は、それぞれ、マルチメディアカードの技術においてよく知られたものである。本発明の実施例に係るスレーブコントローラ210は、外部コマンドデコーダ238を含むことにより、機能が向上している。図9は、本発明の実施例に係る外部コマンドデコーダ238によって実行されるフローチャートの処理を示す。
図7、図8及び図9のフローチャートを参照して、図4のマルチメディアカード200又は図5の230の処理が説明される。図4、図5及び図7を参照に、拡張ソフトウェアドライバ213〜215(又は233)のひとつは、アプリケーション212〜214(又は232)のひとつから、複数のメモリモジュール206〜208のうち選択メモリモジュール(SMM)へのアクセス要求を受信する(図7のステップ252)。拡張ソフトウェアドライバは、SMMがメモリモジュール206〜208のうち所定のものであるかどうかを判定する(図7のステップ254)。例えば、拡張ソフトウェアドライバはSMMが第1メモリモジュール206であるかどうかを判定する。この機能によりただひとつのメモリモジュール206を使うマルチメディアカードの過去モデルとの後方互換性が保たれる。
SMMが第1メモリモジュール206である場合、拡張ソフトウェアドライバはコマンドがブロック読み出し/書き込み用であるかどうかを判定する(図7のステップ256)。各コマンドは、コマンドの識別子を有する。例えば、コマンドの全48ビットのうち6ビットは64個の異なるコマンドを実現するための識別子として使われる。コマンドの現在の標準において、ブロック読み出し/書き込み処理のブロック長を示すコマンドはコマンド16(CMD16)と確認される。
コマンドがCMD16でない場合、拡張ソフトウェアドライバは、コマンドの特定のタイプを識別するためのビット集合を含む、48ビットのコマンドを生成する(図7のステップ258)。さらに、コマンドの全48ビットのうちその他のビット(例えば32ビット)は、コマンドに対応する処理のためにアクセスされる第1メモリモジュール206のアドレスを示す。48ビットのコマンドは、MMCホストコントローラ218とコマンドピンCMDを介して、マルチメディアカードのスレーブコントローラ210へ送られる(図7のステップ260)。拡張ソフトウェアドライバは、アプリケーション212〜214(又は232)のひとつから他のコマンドが受信されるまでアイドル状態262に遷移する。
図7のステップ256に戻って参照すると、コマンドがCMD16の場合、拡張ソフトウェアドライバは、第1メモリモジュール206がアクセスされることを示すために、アドレス指定用として割り付けられた32ビットのうちMSB(most significant bit)を論理レベルが低の”0”と設定することにより、コマンドを生成する(図7のステップ264)。さらに、拡張ソフトウェアドライバは、6ビットのコマンド識別子を含む、CMD16の全48ビットの残りを生成する。またさらに、拡張ソフトウェアドライバは、ブロック読み出し/書き込み処理のブロック長を示すため、アドレス指定用の32ビットの残り(MSBを除く)を設定する(図7のステップ266)。
図7のステップ266の後、CMD16の全48ビットは、MMCホストコントローラ218及びコマンドピンCMDを介して、マルチメディアカードのスレーブコントローラ210に送られる(図7のステップ260)。拡張ソフトウェアドライバは、アプリケーション212〜214(又は232)のひとつから他のコマンドが受信されるまでアイドル状態262に遷移する。
図7のステップ254に戻って参照すると、SMMが第1モジュールでない場合、拡張ソフトウェアドライバは、コマンドがブロック読み出し/書き込み用であるか否かを判定する(図8のステップ268)。コマンドがブロック読み出し/書き込み用でない場合、拡張ソフトウェアドライバは、まず、32ビットのうちMSB(most significant bit)を論理レベルが高の”1”と設定してCMD16を生成する(図8のステップ270)。
さらに、アドレス指定用の32ビットの残り(MSBを除く)が、選択メモリモジュールを示すように、拡張ソフトウェアによって使われる(図8のステップ270)。例えば、メモリモジュールのいずれが選択メモリモジュールであるかを示すために、アドレス指定用の残りの31ビットのうちひとつがホットビットとして論理レベルが高に設定される(31ビットの残りは論理レベルが低に設定される)。そのような例は、マルチメディアカード204で使われる32個のメモリモジュールの全てで許容される。
あるいは、拡張ソフトウェアドライバは、選択メモリモジュールを示すために、CMD16においてアドレス指定用の残りの31ビットのビットパターンを設定する。この場合、第1のメモリモジュール206とは別に、追加で231個のメモリモジュールがマルチメディアカード204で使われてもよい。どちらの場合でも、生成されたCMD16がマルチメディアカード204に送られる(図8のステップ270)。
さらに、拡張ソフトウェアドライバは、ステップ252のアクセスの要求に対応して、選択メモリモジュールで実行されるメモリ処理を示すために少なくともひとつの次のコマンドを生成する(図8のステップ272)。このような次のコマンドが、マルチメディアカード204に送られる(図8のステップ272)。ステップ270において選択メモリモジュールが示されると、ステップ272において次のコマンドが通常どおり生成される。他のコマンドがアプリケーション212〜214(又は232)のひとつから受信されるまで、拡張ソフトウェアドライバは、図8のアイドル状態274に遷移する。
図8のステップ268に戻って参照すると、現在のコマンドがブロック読み出し/書き込み用であって、選択メモリモジュールが第1メモリモジュール206でない場合、拡張ソフトウェアドライバはまずステップ270のようにCMD16を生成する(図8のステップ276)。よって、CMD16のアドレス指定用の32ビットのMSB(most significant bit)が論理レベルが高の”1”と設定され(図8のステップ276)、アドレス指定用の32ビットの残り(MSBを除く)が選択メモリモジュールを指定する(図8のステップ276)。このようなCMD16がマルチメディアカード204に送られる(図8のステップ276)。
選択メモリモジュールがCMD16により示されると、拡張ソフトウェアドライバは、選択メモリモジュールでブロック読み出し/書き込みを実行するために、いくつかの次のコマンドを生成する。CMD18/CMD25は、拡張ソフトウェアドライバにより生成され、ブロック読み出し/書き込み処理のために選択メモリモジュールにおける開始アドレスを示すために、マルチメディアカード204に送られる(図8のステップ278)。
それから、マルチメディアカード204は、選択メモリモジュールの開始アドレスからブロック読み出し/書き込みを開始する。拡張ソフトウェアドライバが所望のデータ量を受信すると、拡張ソフトウェアドライバは、ブロック読み出し/書き込み処理に対するSTOPを示すためにCMD12を生成してマルチメディアカード204に送信する(図8のステップ280)。そのあと、他のコマンドがアプリケーション212〜214(又は232)のひとつから受信されるまで、拡張ソフトウェアドライバは図8のアイドル状態274に遷移する。
図9は、本発明に係る、MMCスレーブコントローラ210によって実行される処理のフローチャートを示す。スレーブコントローラ210は、CMDピンを介して、ホストコントローラ218からコマンドを受信する(図9のステップ282)。コマンドデシリアライザ234はシリアルにコマンドの全48ビットを受信して、48ビットのコマンドをコマンドデコーダ236及び238に送るようにビットを分離する。
コマンドデコーダ236及び238は、コマンドがCMD16であるか否かを判定する(図9のステップ284)。コマンドがCMD16でない場合、通常コマンドデコーダ236はコマンドをデコードして、最近の選択モジュールにおいてコマンドで指定されるメモリ処理を実行するためにメモリコントローラステートマシン240を制御する(図9のステップ286)。スレーブコントローラ210は、他のコマンドがステップ282で受信されるまで、図9のアイドル状態288に遷移する。
ステップ284に戻って参照すると、コマンドがCMD16である場合、コマンドデコーダ236及び238は、コマンドのアドレス指定用の32ビットのMSB(most significant bit)が所定の論理レベルが高の”1”と設定されているか否かを判定する(図9のステップ290)。MSBが”1”と設定されない場合、外部コマンドデコーダ238は不活性化され、通常コマンドデコーダ236は、第1メモリモジュール206で通常のブロック読み出し/書き込みを実行するために、CMD16をデコードする(図9のステップ292)。スレーブコントローラ210は、他のコマンドがステップ282で受信されるまで、図9のアイドル状態288に遷移する。
一方、MSBが”1”と設定される場合、外部コマンドデコーダ238は、第1メモリモジュール206を除いて、マルチメディアカード204の選択メモリモジュールを決定するために、CMD16のアドレス指定用の32ビットの残りをデコードする(図9のステップ294)。外部コマンドデコーダ238は、MSBを除くアドレス指定用の残りの31ビットに論理レベルが高の”1”と設定されるひとつのホットビットに基づいて、選択メモリモジュールを決定してもよい。あるいは、外部コマンドデコーダ238が、MSBを除く、アドレス指定用の残りの31ビットのビットパターンに基づいて選択メモリモジュールを決定してもよい。
外部コマンドデコーダ238は、選択メモリモジュールの決定に従って、選択メモリモジュールのみがアクセス可能なように、メモリモジュールを制御してもよい。スレーブコントローラ210は、他のコマンドがステップ282で受信されるまで、図9のアイドル状態288に遷移する。
図10、図11及び図12は、図4又は図5の構成要素の処理の例における、信号のタイミングチャートを示す。図10は、第1メモリモジュール206がブロック読み出し/書き込み処理のためにアクセスされるときのタイミングチャートを示す。その場合、マルチメディアカード204の選択を示すために、コマンドCMD7が生成され、拡張ソフトウェアドライバ213、215又は233によりスレーブコントローラ210へ送信される(図10の時間T1)。それから、コマンドCMD16が生成され、拡張ソフトウェアドライバによりスレーブコントローラ210へ、アドレス指定用の32ビットのMSBが論理レベルが低の”0”と設定されて送信される(図10の期間T2)。ブロック読み出しのブロック長を示すために、アドレス指定用の残りの31ビットが使われる。
図10のその後、コマンドCMD17が生成され、拡張ソフトウェアドライバによりスレーブコントローラ210へ、ブロック読み出しの開始アドレスを示すために、送信される(図10の期間T3)。その後、スレーブコントローラはデータを第1メモリモジュール206の開始アドレスから先のCMD16で指定されるブロック長の終端まで転送する(図10の期間T4に”レスポンス”と示す)。第1メモリモジュール206のブロック書き込み処理は、ブロック読み出し処理と同様であるが、図10のCMD17が図10のCMD24と置き換えられる。図10で説明される処理は、ただひとつのメモリモジュール206を使うマルチメディアカードの古いモデルとの後方互換性を保証する。
図11は、選択メモリモジュールが第1メモリモジュール206でないときのブロック読み出し処理を説明する。コマンドCMD7は生成され、拡張ソフトウェアドライバによりスレーブコントローラ210へ、マルチメディアカード204の選択を示すために、送信される(図11の時間T1)。それから、コマンドCMD16が生成され、拡張ソフトウェアドライバによりスレーブコントローラ210へ、アドレス指定用の32ビットのMSBは論理レベルが高の”1”と設定されて送信される(図11の期間T2)。アドレス指定用の残りの31ビットは、第1メモリモジュールではない選択メモリモジュールを示すために使われる。
図11のその後、コマンドCMD18が生成され、拡張ソフトウェアドライバによりスレーブコントローラ210へ、複数のブロックから読み出す開始アドレスを示すために、送信される(図11の期間T3)。スレーブコントローラ210は、開始アドレスからブロック長の既定量を読み出し始めることにより応答を返す(図11の期間T4)。
拡張ソフトウェアドライバが所望のデータブロック数を受信すると、コマンドCMD12が生成され、拡張ソフトウェアドライバによりスレーブコントローラ210へ、ブロックの読み出しの停止を示すために、送信される(図11の時間T4の後)。選択メモリモジュール206のブロック書き込み処理は、ブロック読み出し処理と同様であるが、図11のCMD18は図11のCMD25と置き換えられる。
図12は、異なる選択メモリモジュール間の切り替えを示す。他の選択メモリモジュールが所望されるときは常に、コマンドCMD16が生成され、拡張ソフトウェアドライバによりスレーブコントローラ210へ送信される(例えば図12の期間T3及びT6)。第1メモリモジュール206とは異なるメモリモジュールを選択するために、CMD16のアドレス指定用の32ビットのMSBに論理レベルが高の”1”が設定される。そして、残りの31ビットは選択メモリモジュールを示すために使われる。図12の各CMD16の後に続くコマンド(例えば、図12の期間T4、T5及びT7)は、対応する選択メモリモジュールに対して実行される典型的なメモリ処理を示し、対応する選択メモリモジュールは直前のCMD16によって示される。
この方式において、既存のコマンド(例えばCMD16)は、マルチメディアカード204において複数のメモリモジュールが形成されアクセスされるように、選択メモリモジュールを示すために使われる。既存のコマンドは、第1メモリモジュール206用に通常コマンドを規定すること(これにより初期のMMCモデルとの後方互換性を保つ)、又は、マルチメディアカード204において追加のメモリモジュールのうち選択メモリモジュールを指定すること(これによりメモリ容量の増加を許容する)の二つの目的に使われる。本発明のメモリ容量を効率的に増やす機構は、ホストシステム202におけるソフトウェア変更とマルチメディアカード204のスレーブコントローラ210におけるハードウェア変更とを必要とする。
ブロック長を示すCMD16において使われる32ビットのMSB(most significant bit)は、本発明では、CMD16が選択メモリモジュールを指定する目的のために使われているかどうかを示すために使われる。通常のブロック長は32ビット全体で指定されるよりも小さいので、MSBはこの目的で使われてもよい。概して、読み出し/書き込み処理では、最大の可能なブロック長を指定するのに、32ビットより小さくとも十分である。本発明はまた、通常コマンドで使用されないビットを有する他の所定のコマンド(例えばCMD16を除く)で実装してもよい。
上記は例にすぎず、制限を意図していない。例えば、ここで示した、又は、説明した、コマンド、又は、要素の数は、例にすぎない。CMD7、CMD12、CMD16、CMD17、CMD18、CMD24、及び、CMD25は、それぞれ、ウェブサイトhttp://www.mmca.orgにおいて先行技術で使われているとして説明されている。さらに、メモリモジュールという用語は、メモリの離散的な容量を意味している。メモリモジュール206〜208は、それぞれが独立したIC(integrated circuit)チップ、又は、それぞれが同一のICチップ上に形成されたメモリセグメントでもよい。
本発明は、請求項、及び、その均等物で定義されるように限り、制限される。
本発明の特徴及び利点は、添付の図面と共に表される、以下の本発明の詳細な説明を考慮することにより、よりよく理解される。
図1は、先行技術において周知のように、マルチメディアカードを使用する電子デバイスを示す。
図2は、先行技術に係る、複数のアプリケーションを実行する複数のマルチメディアカードを使用する、電子デバイスのブロック図を示す。
図3は、先行技術に係る、大容量のデータを必要とするひとつのアプリケーションを実行する複数のマルチメディアカードを使用する、電子デバイスのブロック図を示す。
図4は、本発明の実施例に係る、複数のアプリケーションを実行する大容量の単一マルチメディアカードを使用する、電子デバイスのブロック図を示す。
図5は、本発明の実施例に係る、大容量のデータを必要とする単一のアプリケーションを実行する大容量の単一マルチメディアカードを使用する、電子デバイスのブロック図を示す。
図6は、本発明の実施例に係る、図4又は図5における拡張マルチメディアカードスレーブコントローラのブロック図を示す。
図7は、本発明の実施例に係る、図4又は図5における、拡張ソフトウェアドライバにより実行される処理のフローチャートを示す。
図8は、本発明の実施例に係る、図4又は図5における、拡張ソフトウェアドライバにより実行される処理のフローチャートを示す。
図9は、本発明の実施例に係る、図6の拡張マルチメディアカードスレーブコントローラにより実行される処理のフローチャートを示す。
図10は、本発明の実施例に係る、図4又は図5のマルチメディアカードのメモリモジュールの所定のひとつにおけるブロックの読み出し/書き込み処理に伴う信号のタイミングチャートを示す。
図11は、本発明の実施例に係る、図4又は図5のマルチメディアカードの、図10の所定のひとつとは別の選択メモリモジュールにおけるブロックの読み出し/書き込み処理に伴う信号のタイミングチャートを示す。
図12は、本発明の実施例に係る、異なる選択メモリモジュール間の切り替えを例示するコマンド信号のタイミングチャートを示す。
ここで参照される図面は説明を明確にするために記載されており、必ずしも一定の縮尺では記載されていない。図1、2、3、4、5、6、7、8、9、10、11及び12において同一の参照番号で示す要素は、類似の構造及び/又は機能を有する要素を表す。
Claims (10)
- 複数のメモリモジュール(206、208)と、
所定のコマンドの所定のビットが所定の論理レベルに設定されるとき、アクセスされるべき選択メモリモジュールを前記複数のメモリモジュールから決定するための前記所定のコマンドをデコードする外部コマンドデコーダ(238)と、
を含むことを特徴とするマルチメディアカード(204)。 - 前記所定のコマンドの前記所定のビットが前記所定の論理レベルに設定されないとき、前記複数のメモリモジュールのうち所定のひとつで実行される処理を指定する前記所定のコマンドをデコードする通常コマンドデコーダ(236)を含むことを特徴とする請求項1記載のマルチメディアカード。
- 前記メモリモジュールのうち前記所定のメモリモジュールで実行される前記処理はブロック読み出し/書き込み処理であって、前記所定のコマンドは前記ブロック読み出し/書き込み処理のブロック長を指定することを特徴とする請求項2記載のマルチメディアカード。
- 前記通常コマンドデコーダは、前記選択メモリモジュールにおける少なくともひとつのメモリ処理のための少なくともひとつの次のコマンドをデコードすることを特徴とする請求項2記載のマルチメディアカード。
- 前記所定のコマンドのビットの集合からなるビットパターンは前記選択メモリモジュールを示すことを特徴とする請求項1記載のマルチメディアカード。
- 電子デバイスのホストシステム(202)において、マルチメディアカード(204)の複数のメモリモジュール(206、208)のうち選択メモリモジュールへのアクセスを示すために、所定のコマンドの所定のビットに所定の論理レベルを設定するステップと、
前記マルチメディアカードにおいて、前記所定のコマンドの前記所定のビットが前記所定の論理レベルに設定されるとき、アクセスされるべき前記選択メモリモジュールを決定するための前記所定のコマンドをデコードするステップと、
を含むことを特徴とする電子デバイス(200)の複数のメモリモジュール(206、208)へアクセスする方法。 - 前記所定のコマンドの前記所定のビットが前記所定の論理レベルに設定されないとき、前記複数のメモリモジュールのうち所定のひとつで実行される処理を指定する前記所定のコマンドをデコードするステップを含むことを特徴とする請求項6記載の電子デバイスの複数のメモリモジュールへアクセスする方法。
- 前記メモリモジュールのうち前記所定のメモリモジュールで実行される前記処理はブロック読み出し/書き込み処理であって、前記所定のコマンドは前記ブロック読み出し/書き込み処理のブロック長を指定することを特徴とする請求項7記載の電子デバイスの複数のメモリモジュールへアクセスする方法。
- 前記選択メモリモジュールを示すため前記所定のコマンドのビットの集合のうちひとつのホットビットを設定することを特徴とする請求項6記載の電子デバイスの複数のメモリモジュールへアクセスする方法。
- 前記選択メモリモジュールを示すため前記所定のコマンドのビットの集合のうちビットパターンを設定することを特徴とする請求項6記載の電子デバイスの複数のメモリモジュールへアクセスする方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/400,902 US7404026B2 (en) | 2006-04-10 | 2006-04-10 | Multi media card with high storage capacity |
PCT/US2007/008533 WO2007120569A1 (en) | 2006-04-10 | 2007-04-05 | Multi media card with high storage capacity |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2009533763A true JP2009533763A (ja) | 2009-09-17 |
Family
ID=38456538
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009505396A Pending JP2009533763A (ja) | 2006-04-10 | 2007-04-05 | 大蓄積容量を備えるマルチメディアカード |
Country Status (7)
Country | Link |
---|---|
US (1) | US7404026B2 (ja) |
EP (1) | EP2008187A1 (ja) |
JP (1) | JP2009533763A (ja) |
KR (1) | KR101375797B1 (ja) |
CN (1) | CN101421705B (ja) |
TW (1) | TWI375172B (ja) |
WO (1) | WO2007120569A1 (ja) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100823166B1 (ko) * | 2006-12-04 | 2008-04-18 | 삼성전자주식회사 | 통신 속도가 향상된 메모리 카드 및 메모리 카드를포함하는 메모리 카드 시스템 |
US8006044B2 (en) * | 2006-12-21 | 2011-08-23 | Intel Corporation | Flexible selection command for non-volatile memory |
US8131912B2 (en) * | 2007-09-27 | 2012-03-06 | Kabushiki Kaisha Toshiba | Memory system |
US8990605B2 (en) | 2010-09-10 | 2015-03-24 | Spansion Llc | Apparatus and method for read preamble disable |
US9355051B2 (en) | 2010-09-10 | 2016-05-31 | Cypress Semiconductor Corporation | Apparatus, method, and manufacture for using a read preamble to optimize data capture |
US8140778B1 (en) * | 2010-09-10 | 2012-03-20 | Spansion Llc | Apparatus and method for data capture using a read preamble |
US9223726B2 (en) | 2010-09-10 | 2015-12-29 | Cypress Semiconductor Corporation | Apparatus and method for programmable read preamble with training pattern |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4368514A (en) * | 1980-04-25 | 1983-01-11 | Timeplex, Inc. | Multi-processor system |
CA1330596C (en) * | 1986-11-19 | 1994-07-05 | Yoshiaki Nakanishi | Memory cartridge and data processing apparatus |
US5749088A (en) * | 1994-09-15 | 1998-05-05 | Intel Corporation | Memory card with erasure blocks and circuitry for selectively protecting the blocks from memory operations |
US7103684B2 (en) * | 2003-12-02 | 2006-09-05 | Super Talent Electronics, Inc. | Single-chip USB controller reading power-on boot code from integrated flash memory for user storage |
JP4294894B2 (ja) * | 2001-09-13 | 2009-07-15 | 株式会社ルネサステクノロジ | メモリカード |
JP4061272B2 (ja) * | 2002-01-09 | 2008-03-12 | 株式会社ルネサステクノロジ | メモリシステム及びメモリカード |
TW200604810A (en) | 2004-02-20 | 2006-02-01 | Renesas Tech Corp | Nonvolatile memory and data processing system |
US7126873B2 (en) | 2004-06-29 | 2006-10-24 | Super Talent Electronics, Inc. | Method and system for expanding flash storage device capacity |
TWI257583B (en) | 2004-07-28 | 2006-07-01 | C One Technology Corp | Expandable reduced-size memory card and corresponding extended memory card |
-
2006
- 2006-04-10 US US11/400,902 patent/US7404026B2/en not_active Expired - Fee Related
-
2007
- 2007-04-05 WO PCT/US2007/008533 patent/WO2007120569A1/en active Application Filing
- 2007-04-05 CN CN2007800129519A patent/CN101421705B/zh not_active Expired - Fee Related
- 2007-04-05 JP JP2009505396A patent/JP2009533763A/ja active Pending
- 2007-04-05 EP EP07754965A patent/EP2008187A1/en not_active Withdrawn
- 2007-04-05 KR KR1020087027539A patent/KR101375797B1/ko active IP Right Grant
- 2007-04-09 TW TW096112276A patent/TWI375172B/zh active
Also Published As
Publication number | Publication date |
---|---|
EP2008187A1 (en) | 2008-12-31 |
US7404026B2 (en) | 2008-07-22 |
KR20090007412A (ko) | 2009-01-16 |
US20070239918A1 (en) | 2007-10-11 |
CN101421705A (zh) | 2009-04-29 |
CN101421705B (zh) | 2012-02-01 |
KR101375797B1 (ko) | 2014-03-19 |
WO2007120569A1 (en) | 2007-10-25 |
TWI375172B (en) | 2012-10-21 |
TW200745961A (en) | 2007-12-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4901285B2 (ja) | 読み出し性能を向上させることができるメモリカード | |
JP2009533763A (ja) | 大蓄積容量を備えるマルチメディアカード | |
JP4317166B2 (ja) | データを転送するインタフェースを有する光記憶システム | |
JP5292978B2 (ja) | 制御装置、情報処理装置、及びメモリモジュール認識方法 | |
JP2005050324A (ja) | インタフェース変換システム及びその方法 | |
JP7229326B2 (ja) | メモリアドレス指定方法と関連するコントローラ、メモリデバイス、及びホスト | |
JP2008033648A (ja) | 記憶装置およびその接続方法 | |
JP2000105725A (ja) | チップイネーブル信号生成回路及びメモリ装置 | |
JP2008009817A (ja) | 半導体装置及びデータ転送方法 | |
CN116679887B (zh) | 用于NAND Flash的通用控制模块及方法 | |
US20050198425A1 (en) | Combined optical storage and flash card reader using single ide or sata port and method thereof | |
KR100746364B1 (ko) | 메모리 공유 방법 및 장치 | |
TW200521847A (en) | Programmable chip select | |
CN115048041A (zh) | 存储器设备的操作方法及包括其的电子设备的操作方法 | |
CN110633225A (zh) | 实体存储对照表产生装置及方法 | |
JP4726187B2 (ja) | 半導体集積回路 | |
EP4057286A1 (en) | Operating method of memory device for extending synchronization of data clock signal, and operating method of electronic device including the same | |
JP2010039503A (ja) | シリアルメモリ装置及び信号処理システム | |
US10719440B2 (en) | Semiconductor device and memory access method | |
CN115480706A (zh) | 一种执行指令的方法及介质接口控制器 | |
JP2006099598A (ja) | インターフェース拡張回路 | |
JP2000099394A (ja) | メモリ制御回路 | |
CN114300009A (zh) | 一种自适应工作频率的铁电存储器写入方法、装置及电子设备 | |
JP2008083772A (ja) | データ処理装置 | |
JP2007317078A (ja) | 不揮発性メモリ、メモリコントローラ、不揮発性記憶装置、及び不揮発性記憶システム |