説明

相補性メモリ管理

【課題】効率的な資源の割り当てが可能である大容量のデジタルデータのストレージシステムを提供する。
【解決手段】メモリカード装置を含む相補性メモリカードシステムに於いて、メモリカード装置と信号通信するホストを備えると共に、ホストはメモリカード装置のための少なくとも一つのメモリ管理機能を行う。ホストによって行われる複数のメモリ管理機能の中で何れか一つを選択する段階を含むホストとメモリカード装置との間の相補性メモリ管理方法を提供する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明はフラッシュメモリの技術を使用する大容量のデジタルデータのストレージシステムに係わり、さらに詳しくは斯かるシステムに於いて、より効率的な資源の割り当てを可能にする技術に関する。
【背景技術】
【0002】
コンピュータ、デジタルカメラ、デジタル音楽プレーヤ、携帯電話機、個人情報端末機の様な携帯用電子装置の登場は、フラッシュメモリ装置の使用を急激に増加させている。フラッシュメモリカードは、SSD、SDカード、MMC、メモリスティック、埋め込みカード(moviNAND、GBNAND、iNAND)の様な貯蔵媒体を含む。ホストは、フラッシュ変換レイヤ(以下、FTLと称する)を介してフラッシュメモリと通信する。FTLは一般にフラッシュカードやフラッシュメモリのコントローラにファームウェアの形態で格納され、効果的にカードを管理するために使用される。
【0003】
FTLは基本的にアドレスマッピング、ウェアレベル、ガベージコレクションの様な機能を行う。アドレスマッピング動作は、ホストからの論理アドレスをフラッシュメモリから実質的にデータが格納される物理アドレスに変換する動作を意味する。ウェアレベルは、NANDフラッシュの物理ブロックの消去の回数を均一に管理するファームウェアの技術である。ガベージコレクション動作は、複数のブロックから有効なデータを集めて一つのブロックに格納して、複数のブロックを空いているブロックに戻す動作である。
【0004】
一般にフラッシュカードは、全てのFTL機能をメモリコントローラから行う。しかし、フラッシュコントローラの資源はホストの資源に比べて少ない。従って、コントローラにより行われる上述したFTL機能の実行速度は遅くなる。コントローラが過負荷になった場合、上述したFTL機能が実行されないこともある。
【発明の開示】
【発明が解決しようとする課題】
【0005】
本発明はより効率的な資源の割り当てを可能にする大容量のデジタルデータのストレージシステムおよび管理方法を提供する。
【課題を解決するための手段】
【0006】
本発明による相補性メモリカードシステムは、メモリカード装置と、前記メモリカード装置と信号通信するホストとを備え、前記ホストは、前記メモリカード装置のための少なくとも一つのメモリ管理機能を行う。
【0007】
更に、上述したメモリカードシステムと同様な実施形態が提供される。この実施形態に於いて、前記ホストは、少なくとも一つのコマンドを前記メモリカード装置に提供する。この実施形態に於いて、前記少なくとも一つのコマンドは読み出し、書き込み、複写または消去の中で少なくとも一つを含む。この実施形態に於いて、前記メモリカード装置は、フラッシュメモリ、FRAM、PRAM、MRAM、DRAM、EEPROMの中で少なくとも一つを含む。この実施形態に於いて、前記少なくとも一つのメモリ管理機能は、フラッシュ変換レイヤ(flash translation layer)に関連する機能である。この実施形態に於いて、前記少なくとも一つのメモリ管理機能は、動作システム(OS:operating system)に関連する機能である。この実施形態に於いて、前記少なくとも一つのメモリ管理機能は、装置ドライバに関連する機能である。
【0008】
また他の実施形態によると、前記ホストは、ホストプロセッサと、前記ホストプロセッサと信号通信するワーキングメモリとを備える。この実施形態に於いて、前記ホストは、前記メモリカード装置の資源チェックを行い、それに応じて前記メモリカード装置の少なくとも一つの任務(task)を行う。この実施形態に於いて、前記ホストは、自己が利用可能な資源等をチェックし、それに応じて前記メモリカード装置の少なくとも一つの任務を行う。この実施形態に於いて、前記ホストは、前記メモリカード装置の資源チェックを行い、前記メモリカード装置の資源と前記ホストの利用可能な資源とを比較し、前記比較に応じて前記メモリカード装置の少なくとも一つの任務を行う。
【0009】
また他の実施形態に於いて、前記ホストにより行われる前記メモリカード装置の少なくとも一つの任務は、アドレスマッピング、ウェアレベル、ガベージコレクション、パワーオフリカバリ(power−off recovery)、バッドブロック管理、エラー訂正符号化(error correction coding)、実時間管理のための書き込みバッファリング(write buffering for real−time management)、データ管理、暗号化、復号化、圧縮、圧縮解除機能の中で少なくとも一つを含む。この実施形態に於いて、前記メモリカード装置のドライバは、メモリ管理機能等を行うためのソフトウェアのモジュールを備える。この実施形態に於いて、前記メモリカード装置は、SSD(Solid−State Disk)、USBカード、SDカード、MMC、メモリスティック、内装装置(embedded device)の中で少なくとも一つを含む。この実施形態に於いて、前記メモリカード装置は、コントローラと、前記コントローラと信号通信するメモリを備える。
【0010】
本発明の実施形態によるホストとメモリカードとの間の相補性メモリ管理方法は、前記メモリカード装置のために前記ホストにより行われる複数のメモリ管理機能の中で少なくとも一つを選択する。
【0011】
また、前記実施形態と同様な実施形態が次の様に構成される。この実施形態に於いて、前記ホストまたは前記メモリカード装置の中で少なくとも一つの利用可能な資源をチェックする段階、前記チェックされた利用可能な資源に応じて前記少なくとも一つのメモリ管理機能を選択する段階をさらに含む。この実施形態に於いて、前記チェックされる資源は、前記ホストの資源である。この実施形態に於いて、前記チェックされる資源は、前記メモリカード装置の資源等である。この実施形態に於いて、前記チェックされる資源は、前記ホストと前記メモリカード装置の資源である。この実施形態に於いて、前記利用可能な資源をチェックする段階は、前記ホストが前記選択された少なくとも一つのメモリ管理機能を行う様に、前記ホストに対する要求を提供する。この実施形態に於いて、前記ホストは、少なくとも一つのコマンドを前記メモリカード装置に提供する。この実施形態に於いて、前記選択された少なくとも一つのメモリ管理機能を前記メモリカード装置から前記ホストのRAMにロードする段階をさらに含む。
【0012】
また他の実施形態によると、前記少なくとも一つのメモリ管理機能は、フラッシュ変換レイヤの機能を含む。この実施形態に於いて、前記ホストを使用して前記メモリカード装置の利用可能な資源をチェックする段階、前記ホストの利用可能な資源と前記メモリカード装置の利用可能な資源とを比較する段階、前記比較に応じて前記ホスト内の何れのメモリ管理機能等および前記メモリカード装置内の何れのものを行うかを決定する段階を含む。この実施形態に於いて、前記ホストの利用可能な資源は、プロセッサ型、プロセッサ速度、メモリサイズ、メモリ速度、バス型、バス速度、暗号化型、復号化速度の中で少なくとも一つを含む。この実施形態に於いて、前記メモリ管理機能は、アドレスマッピング、ウェアレベル、ガベージコレクション、消去カウント蓄積(erase count accumulation)の中で少なくとも一つを含む。この実施形態に於いて、前記ホストのために選択された少なくとも一つのメモリ管理機能は、前記ホストのためにセットされるが、前記メモリカード装置のためにリセットされるパラメータを含む。この実施形態に於いて、前記ホストと前記メモリカード装置との間の通信プロトコルは、USBプロトコル、ATAプロトコルの中で少なくとも一つを含む。
【0013】
本発明のまた他の実施形態によると、前記選択された少なくとも一つのメモリ管理機能は、前記メモリカード装置からのフラッシュ変換レイヤコードに含まれる。前記選択された少なくとも一つのメモリ管理機能は、前記装置ドライバに含まれる。この実施形態に於いて、前記メモリカード装置からの動作システムは、前記選択された少なくとも一つのメモリ管理機能を含む。この実施形態に於いて、前記メモリ管理機能コードを前記メモリカード装置のメモリから前記メモリカード装置のRAMコントローラにロードする段階、動作システムを前記メモリカード装置のメモリから前記ホストのRAMにロードする段階をさらに含む。
【0014】
また他の実施形態によると、少なくとも一つの販売者の特定メモリカード装置のドライバを前記ホストのRAMにロードする段階をさらに含む。この実施形態に於いて、メモリカード装置から前記ホストにメタデータをロードする段階をさらに含む。この実施形態に於いて、前記ホスト内部の選択されたメモリ管理機能を初期化する段階をさらに含む。この実施形態に於いて、前記ホスト内部の選択されたメモリ管理機能を活性化する段階をさらに含む。この実施形態に於いて、ホストから書き込み要求を生成する段階、ホストメモリ管理機能を使用してマッピング情報を読み出す段階、前記メモリカード装置の書き込み可能な空間をチェックする段階、前記メモリカード装置に書き込み可能な空間がある場合、前記メモリカード装置に書き込み要求の信号を伝送する段階をさらに含む。
【0015】
また他の実施形態に於いて、前記メモリカード装置のガベージブロックをチェックする段階、前記メモリカード装置にガベージブロックがない場合、ガベージコレクションを行い、ガベージブロックを指定し、ガベージコレクションデータをアップデータする段階をさらに含む。この実施形態に於いて、メモリカード装置のウェアレベルの必要性をチェックする段階、ウェアレベルを必要とする場合、ウェアレベルを実施しウェアレベルによるメタデータのアップデータを行う段階を含む。
【発明の効果】
【0016】
本発明は実行速度が速く、効率的な資源の割り当てが可能である大容量のデジタルデータのストレージシステムおよび方法を得る。
【発明を実施するための最良の形態】
【0017】
本発明はホストとフラッシュメモリ装置との間の相補性メモリ管理を提供する。例示的な実施形態等は分割されたFTLと、それに対応する方法等を有する。相補性メモリ管理方法に於いて、フラッシュカードの資源をチェックし、ホストとフラッシュカードの資源を比較し、ホストとカードの中で何れの構成がFTL機能を行うか決定するためのホストを使用する。
【0018】
図1を参照すれば、フラッシュメモリカードのシステム100が図示されている。システム100は、コンピュータ、デジタルカメラ、デジタル音源再生機、携帯電話機、PDA等の様な携帯用電子装置である。システム100は、フラッシュカード120と信号を交換するホスト110を備える。フラッシュカード120は半導体ディスク装置(SSD)、SDカード、MMC、メモリスティック、埋め込みカード(例えば、moviNAND、GBNAND、iNAND)等の中で何れか一つである。
【0019】
フラッシュカード120は、フラッシュメモリ150と信号を交換するコントローラ130を備える。ホスト110は効果的にカード120を管理するためのロジックまたは/およびファームウェアに提供されるフラッシュ変換レイヤを利用してフラッシュメモリ150とデータを交換する。
【0020】
コントローラ130は、コントローラバス132を介して夫々信号通信を行うホストインタフェース131、フラッシュインタフェース133、バッファメモリ135、CPU137、ROM139を備える。図2を参照すれば、相補性メモリ管理スキームを有するフラッシュメモリカードのシステム200が図示されている。カードシステム200は、フラッシュカード220と信号通信を行うホスト210とを備える。ホスト210はホストバス211、ワーキングメモリ213、ホストCPU215を備えると共に、ワーキングメモリ213およびホストCPU215は、ホストバス211を介して信号通信を行う。
【0021】
フラッシュカード220は、フラッシュメモリ250と信号通信を行うコントローラ230を備える。コントローラ230は、コントローラバス232と、コントローラバス232を介して信号通信を行うコントローラCPU233、コントローラバス232を介して信号通信を行うバッファメモリ235、コントローラバス232を介して信号通信を行うROM237を備える。フラッシュメモリ250は、フラッシュ変換レイヤコードブロック253、OSイメージブロック255、ユーザデータブロック257を備える。
【0022】
ホスト210に含まれるワーキングメモリ213とホストCPU215とは、コントローラ230に含まれるコントローラCPU233とバッファメモリ235より相対的に高速で動作する。従って、ホスト210は、FTLの機能等の一部を行う様に設定される。元々、FTLコード253とOSイメージ255は、フラッシュメモリ250に格納される。例えば、OSイメージ255は、一般的な動作のためにファイルシステムまたは装置ドライバを備える。本発明によるOSイメージ255は、アドレスマッピング、ウェアレベル、ガベージコレクション等のFTL機能を行うためのソフトウェアのモジュールをさらに備える。
【0023】
図3を参照すれば、分割されたFTLを有する図2のシステム200の様なフラッシュメモリカードのシステム300が詳しく図示されている。カードシステム300は、フラッシュカード320と信号通信を行うホスト310を備える。ホスト310は、ホストバス311と、ホストバス311とデータを交換するワーキングメモリ313と、ホストバス311とデータを交換するホストCPU315とを備える。ワーキングメモリ313は、ウェアレベルブロック314を備える。
【0024】
フラッシュカード320は、フラッシュメモリ350と信号通信を行うコントローラ330を備える。コントローラ330は、コントローラバス332と、コントローラバス332と信号通信を行うコントローラCPU333と、コントローラバス332と信号通信を行うバッファメモリ335と、そして、コントローラバス332と信号通信を行うROM337とを備える。バッファメモリ335は、アドレスマッピングブロック336およびガベージコレクションブロック338を備える。フラッシュメモリ350は、フラッシュ変換レイヤコードブロック353、OSイメージブロック355およびユーザデータブロック357を備える。
【0025】
パワーオンの後の動作の際、FTLコード353はバッファメモリ335に、FTL機能の一部を含むOSイメージ355はホスト310の内部のワーキングメモリ313にロードされる。斯かる方式によって、アドレスマッピング336、ガベージコレクション338の様なFTL機能の一部はコントローラから、ウェアレベル314の様なまた他のFTL機能等はホストの内部から動作する。
【0026】
ホスト310の内部から動作するFTL機能は、フラッシュコントローラ330のFTL機能より相対的に大容量であり高速で運用される資源を使用することができるので、結果的に効率的なFTL機能を実行してシステムの性能を向上させる。ここで、OSイメージは、ホストの内部から一部または全てのFTL機能を行うためのソフトウェアのモジュールを備える。FTL機能は、ファイルシステムまたは装置ドライバに含まれるOSコードに内装される。FTL機能の一部または全てがOSイメージを含み、ファイルシステムまたは装置ドライバは、コントローラの代わりにホストによって駆動される。
【0027】
他の実施形態に於いて、OSイメージ355は、一部FTL機能を行うソフトウェアのモジュールを備えなくても良い。この場合、販売者の特定装置ドライバがFTLソフトウェアのモジュールを備える。一般に、装置ドライバ等はSSD生産者、USB/SD/MMCアプリケーションの提供者の様なハードウェアの供給者から提供される。従って、斯かる実施形態に於いて、ホストは、全ての埋め込みFTL機能の中で何れのFTL機能をホストにロードするかを決定する。
【0028】
図4を参照すれば、相補性メモリ管理方法400が図示されている。この管理方法400は、機能ブロック412に制御を渡す試作またはパワーオンブロック410を含む。機能ブロック412は、FTLコードをコントローラRAMに、OSコードをホストRAMにロードし機能ブロック414に制御を渡す。機能ブロック414は、ホストのOSを初期化し制御を機能ブロック418に渡す。
【0029】
続いて、機能ブロック418は、ホストに残っている資源を参照して何れのFTL機能がホストから行われるかを決定した後、制御を機能ブロック420に渡す。機能ブロック420は、ホストに割り当てられる様に決定されたFTL機能を初期化した後、制御を機能ブロック422に渡す。機能ブロック422は、フラッシュメモリから消去カウント、ガベージコレクションデータ、マッピングテーブルの様なメタデータをホストRAMにロードした後、制御を機能ブロック424に渡す。機能ブロック424は、決定されたホストFTL機能を活性化し、制御を機能ブロック426に渡す
【0030】
続いて、機能ブロック426は、ホストからの書き込み要求を実行した後、制御を機能ブロック428に渡す。機能ブロック428からホストFTLは、マッピング情報を読み出す。続いて、制御は機能ブロック428から決定ブロック430に渡される。決定ブロック430は、フラッシュメモリに書き込み可能な空間があるかを決定し、仮にフラッシュメモリに書き込み可能な空間がある場合、制御を機能ブロック444に渡す。仮にフラッシュメモリに書き込み可能な空間がない場合、決定ブロック430は制御を決定ブロック432に渡す。決定ブロック432はフラッシュメモリにガベージブロックがあるかを決定し、仮に、ガベージブロックがある場合、制御を決定ブロック438に渡す。仮にガベージブロックがない場合、決定ブロック432は制御を機能ブロック434に渡す。
【0031】
機能ブロック434は、ガベージコレクションを行い、制御を機能ブロック436に渡す。機能ブロック436は、ガベージブロックを生成しガベージ情報をアップデータした後、決定ブロック436に制御を渡す。決定ブロック438は、ウェアレベルの必要性を判断して決定する。仮にウェアレベルが要らない場合、決定ブロック438は制御を機能ブロック442に渡し、ウェアレベルを必要とする場合、決定ブロック438は制御を機能ブロック440に渡す。機能ブロック440は、ウェアレベルを実施しメタ情報をアップデータした後、制御を機能ブロック442に渡す。機能ブロック442はガベージブロック等を消去した後、制御を機能ブロック444に渡す。機能ブロック444は書き込み要求をフラッシュメモリに伝送し制御を終了ブロック446に渡す。
【0032】
動作に於いて、販売者の特定装置のドライバは、本発明の分割されたFTLによる相補性FTL機能等を行うための一部または全てのソフトウェアのモジュールを含む。フラッシュソフトウェアは、セクタマッピングアルゴリズム(Sector mapping algorithm)、ガベージコレクション、パワーオフリカバリ(Power−off recovery)、バッドブロック管理(Bad block management)、ウェアレベル、エラー訂正符号化(ECC)、実時間管理のための書き込みバッファリング、データ管理、暗号化、復号化、圧縮、または圧縮解除機能等を含む。
【0033】
図5を参照すれば、相補性メモリ管理システムのメモリマップ500が図示されている。メモリマップ500は、ホストソフトウェア510と装置ソフトウェア530を備える。ホストソフトウェア510は、OSイメージ512、ファイルシステム514、販売者の特定ドライバ520を備える。販売者の特定ドライバ520は、付加的なファイルシステム522または/および付加的なOSコード524と関連がある。装置ソフトウェア530は、アドレスマッピング機能534を含むFTLコード532と、ウェアレベル機能536およびバッドブロック管理機能538を備える。
【0034】
図6を参照すれば、本発明による分割されたFTLを有する相補性メモリ管理システムの動作方法600が図示されている。この動作方法600は、使用可能なホストと装置の資源をチェックする段階610を含む。使用可能な資源は、例えば、CPUのスピード、バッファリングのためのメモリ容量である。段階612から、ホストはホストによって支援される機能等の種類を決定する様に、そして、装置によって支援される機能等の種類を決定する様にチェックする。段階614から、ホストと装置とは、相互データ交換を通じてホストと装置の夫々の分割パラメータを設定する。段階616から、ホストと装置とは、相互データ交換を通じてホストと装置との間の通信方法およびパラメータを設定する。
【0035】
図7を参照すれば、本発明の好ましい支援可能な機能のセット700が図示されている。支援可能な機能700は、ホストからの支援機能710とデバイスからの支援機能720とを含む。ここで、ホストからの支援機能710は、マッピング機能、ウェアレベル機能、圧縮/圧縮解除機能を含む。装置からの支援機能720は、マッピング機能、バッドブロック管理機能、ガベージコレクション機能、ウェアレベル機能、圧縮/圧縮解除機能およびその他の機能等を含む。ホストと装置とに対する詳しい機能等に対しては夫々上述した支援可能な機能等によって説明される。ホストと装置とは、一つまたはそれ以上の重複される機能を有する。従って、ホストと装置から重複される機能を実質的に行う側をどちらにするか決定する課題は残っている。
【0036】
図8を参照すれば、ホストと装置との間の交渉を通じて決定される分割パラメータ800が図示されている。図に於いて、‘O’は該当構成のローカル機能が活性化されたことを意味し、‘X’はローカル機能が非活性化されたことを意味する。支援される機能800は、ホストによって支援される機能810と、装置から支援される機能820を含む。ここで、ホストによって支援される機能810は、ホストによって活性化されるマッピング機能、ホストによって活性化されるウェアレベル機能、そして、ホストによって活性化されない圧縮/圧縮解除機能が含まれる。
【0037】
装置によって支援される機能820は、デバイスによって活性化されないマッピング機能、装置によって活性化されるバッドブロック管理機能、装置によって活性化されるガベージコレクション機能、装置によって活性化されないウェアレベル機能、そして、装置によって活性化される圧縮/圧縮解除機能が含まれる。
ここで、ホストや装置の活性化機能等は、上述した説明による。ホストと装置とは、一つまたはそれ以上の重複される機能等を有する、従って、ホストと装置の中で何れか一つから活性化された機能は、他の一つでは非活性化される。
【0038】
図9を参照すれば、動作の際、通信方法900が図示されている。通信方法900は、ホストからFTL機能を活性化するためのホスト命令語を含む。ここで、ホストから活性化されるFTL機能は、論理アドレスを物理アドレスにマッピングするマッピング機能910、データ管理機能920、データ暗号化機能930が含まれる。
【0039】
マッピング機能910を要求すれば、ホストはフラッシュ読み出し命令、フラッシュ書き込み命令、フラッシュ複写命令、またはフラッシュ消去命令の様な複数のマッピング命令語912の中で何れか一つを発行(Issue)する。データ確認機能920を要求すれば、ホストはシングルレベルのセル領域にデータ書き込みまたはマルチレベルのセル領域にデータ書き込みの様な複数の確認命令語922の中で何れか一つを発行する。暗号化機能930を要求すれば、ホストは暗号化を活性化する暗号化命令または暗号機能を非活性化する非暗号化命令の様な複数の暗号化命令語932の中で何れか一つを発行する。
【0040】
なお、本発明を様々な実施形態に対して説明したが、本発明の範囲から外れない限度内で様々に変形できるであろう。従って、本発明の範囲は上述した実施形態に限定されるものではなく、本発明の特許請求範囲またはそれと均等のものによって決められるべきである。
【図面の簡単な説明】
【0041】
【図1】FTLを有するフラッシュメモリカードのシステムを示すブロック図である。
【図2】本発明の実施形態による相補性メモリ管理機能を有するフラッシュメモリカードのシステムを示すブロック図である。
【図3】本発明の実施形態による分割されたFTLを有するフラッシュメモリカードのシステムを示すブロック図である。
【図4】本発明の一実施形態による相補性メモリ管理方法を示すフロー図である。
【図5】本発明の一実施形態による相補性メモリ管理システムのメモリマップを示す図である。
【図6】本発明の分割されたFTLを有するメモリ管理方法を示すフロー図である。
【図7】本発明の実施形態によるメモリ管理機能を支援するためのホストおよび装置のブロック図である。
【図8】本発明の実施形態によるメモリ管理機能を活性化するためのホストおよび装置のブロック図である。
【図9】本発明による相補性メモリ管理システムを有するホストと装置との間の通信方法を示すブロック図である。
【符号の説明】
【0042】
100 フラッシュメモリカードのシステム
110 ホスト
120 カード
130 コントローラ
131 ホストインタフェース
132 コントローラバス
133 フラッシュインタフェース
135 バッファメモリ
137 CPU
139 ROM
150 フラッシュメモリ

【特許請求の範囲】
【請求項1】
相補性メモリカードシステムに於いて、
メモリカード装置と、
前記メモリカード装置と信号通信するホストとを備え、
前記ホストは、前記メモリカード装置のための少なくとも一つのメモリ管理機能を行うことを特徴とするメモリカードシステム。
【請求項2】
前記ホストは、少なくとも一つのコマンドを前記メモリカード装置に提供することを特徴とする請求項1に記載のメモリカードシステム。
【請求項3】
前記少なくとも一つのコマンドは、読み出し、書き込み、複写、消去の中で少なくとも一つを含むことを特徴とする請求項2に記載のメモリカードシステム。
【請求項4】
前記少なくとも一つのコマンドは、シングルレベルのセル領域に対する書き込み、マルチレベルのセル領域に対する書き込みの中で少なくとも一つのためのコマンドを含むことを特徴とする請求項2に記載のメモリカードシステム。
【請求項5】
前記少なくとも一つのコマンドは、暗号化、復号化の中で少なくとも一つをイネーブルしたりディセーブルするためのコマンドを含むことを特徴とする請求項2に記載のメモリカードシステム。
【請求項6】
前記メモリカード装置は、フラッシュメモリ、FRAM、PRAM、MRAM、DRAM、EEPROMの中で少なくとも一つを含むことを特徴とする請求項1に記載のメモリカードシステム。
【請求項7】
前記少なくとも一つのメモリ管理機能は、フラッシュ変換レイヤに関連することを特徴とする請求項1に記載のメモリカードシステム。
【請求項8】
前記少なくとも一つのメモリ管理機能は、動作システムに関連することを特徴とする請求項1に記載のメモリカードシステム。
【請求項9】
前記少なくとも一つのメモリ管理機能は、装置ドライバに関連することを特徴とする請求項1に記載のメモリカードシステム。
【請求項10】
前記ホストは、
ホストプロセッサと、
前記ホストプロセッサと信号通信するワーキングメモリとを備えることを特徴とする請求項1に記載のメモリカードシステム。
【請求項11】
前記ホストは、前記メモリカード装置の資源チェックを行い、それに応じて前記メモリカード装置の少なくとも一つの任務を行うことを特徴とする請求項1に記載のメモリカードシステム。
【請求項12】
前記ホストは、自己が利用可能な資源等をチェックし、それに応じて前記メモリカード装置の少なくとも一つの任務を行うことを特徴とする請求項1に記載のメモリカードシステム。
【請求項13】
前記ホストは、前記メモリカード装置の資源チェックを行い、前記メモリカード装置の資源と前記ホストの利用可能な資源とを比較し、前記比較に応じて前記メモリカード装置の少なくとも一つの任務を行うことを特徴とする請求項1に記載のメモリカードシステム。
【請求項14】
前記ホストにより行われる前記メモリカード装置の少なくとも一つの任務は、アドレスマッピング、ウェアレベル、ガベージコレクション、パワーオフリカバリ、バッドブロック管理、エラー訂正符号化、実時間管理のための書き込みバッファリング、データ管理、暗号化、復号化、圧縮、圧縮解除機能の中で少なくとも一つであることを特徴とする請求項1に記載のメモリカードシステム。
【請求項15】
販売者の特定メモリカード装置のドライバは、メモリ管理機能を行うためのソフトウェアのモジュールを含むことを特徴とする請求項1に記載のメモリカードシステム。
【請求項16】
前記ホストは、メモリ管理機能を行うための前記ソフトウェアのモジュールの何れが前記ホストにロードされるかを決定することを特徴とする請求項15に記載のメモリカードシステム。
【請求項17】
前記メモリカード装置は、SSD、USBカード、SDカード、MMC、メモリスティック、内装装置の中で少なくとも一つを含むことを特徴とする請求項1に記載のメモリカードシステム。
【請求項18】
前記内装装置は、moviNAND、GBNAND、iNANDの中で少なくとも一つを含むことを特徴とする請求項17に記載のメモリカードシステム。
【請求項19】
前記メモリカード装置は、
コントローラと、
前記コントローラと信号通信するメモリとを備えることを特徴とする請求項1に記載のメモリカードシステム。
【請求項20】
前記コントローラは、
コントローラプロセッサと、
前記コントローラプロセッサと信号通信する読み出し専用メモリと、
前記コントローラプロセッサと信号通信するバッファメモリとを備えることを特徴とする請求項19に記載のメモリカードシステム。
【請求項21】
前記メモリは、
メモリ管理機能コードを有する領域と、
使用者データを有する領域とを備えることを特徴とする請求項19に記載のメモリカードシステム。
【請求項22】
前記メモリ管理機能コードを有する領域は、フラッシュ変換レイヤであることを特徴とすることを特徴とする請求項21に記載のメモリカードシステム。
【請求項23】
前記ホストにより行われる前記メモリカード装置の少なくとも一つの任務は、前記メモリ管理機能コードの機能であることを特徴とする請求項21に記載のメモリカードシステム。
【請求項24】
前記メモリ管理機能コードは、プログラム命令、データの中で少なくとも一つを含むことを特徴とする請求項21に記載のメモリカードシステム。
【請求項25】
前記メモリは、
動作システムイメージを有する領域と、
使用者データを有する領域とを備えることを特徴とする請求項19に記載のメモリカードシステム。
【請求項26】
メモリ管理機能は、動作システムイメージのファイルシステム内に内装されることを特徴とする請求項25に記載のメモリカードシステム。
【請求項27】
メモリ管理機能は、前記ホストの少なくとも一つの装置ドライバ内に内装されることを特徴とする請求項25に記載のメモリカードシステム。
【請求項28】
メモリ管理機能は、前記メモリカード装置のフラッシュ変換レイヤ内に内装されることを特徴とする請求項25に記載のメモリカードシステム。
【請求項29】
前記ホストにより行われるメモリカード装置の少なくとも一つの任務は、前記動作システムイメージの機能であることを特徴とする請求項25に記載のメモリカードシステム。
【請求項30】
前記動作システムイメージは、全てのメモリ管理機能を実行するためのソフトウェアのモジュールを含むことを特徴とする請求項25に記載のメモリカードシステム。
【請求項31】
前記動作システムイメージは、メモリ管理機能を行うためのソフトウェアのモジュールを含まないことを特徴とする請求項25に記載のメモリカードシステム。
【請求項32】
ホストとメモリカード装置との間の相補性メモリ管理方法に於いて、
前記メモリカード装置のために前記ホストにより行われる複数のメモリ管理機能の中で少なくとも一つを選択することを特徴とするメモリ管理方法。
【請求項33】
前記ホスト、前記メモリカード装置の中で少なくとも一つの利用可能な資源をチェックする段階と、
前記チェックされた利用可能な資源に応じて前記少なくとも一つのメモリ管理機能を選択する段階とをさらに含むことを特徴とする請求項32に記載のメモリ管理方法。
【請求項34】
前記チェックされる資源は、前記ホストの資源であることを特徴とする請求項32に記載のメモリ管理方法。
【請求項35】
前記チェックされる資源は、前記メモリカード装置の資源であることを特徴とする請求項32に記載のメモリ管理方法。
【請求項36】
前記チェックされる資源は、前記ホストと前記メモリカード装置の資源であることを特徴とする請求項32に記載のメモリ管理方法。
【請求項37】
前記利用可能な資源をチェックする段階は、
前記ホストが前記選択された少なくとも一つのメモリ管理機能を行う様に、前記ホストに対する要求を提供する前記メモリカード装置を含むことを特徴とする請求項32に記載のメモリ管理方法。
【請求項38】
前記ホストは、少なくとも一つのコマンドを前記メモリカード装置に提供することを特徴とする請求項32に記載のメモリ管理方法。
【請求項39】
前記少なくとも一つのコマンドは、読み出し、書き込み、複写、消去の中で少なくとも一つのためのコマンドを含むことを特徴とする請求項38に記載のメモリ管理方法。
【請求項40】
前記少なくとも一つのコマンドは、シングルレベルのセル領域に対する書き込み、マルチレベルのセル領域に対する書き込みの中で少なくとも一つを含むことを特徴とする請求項38に記載のメモリ管理方法。
【請求項41】
前記少なくとも一つのコマンドは、暗号化、復号化の中で少なくとも一つをイネーブルしたりディセーブルするためのコマンドを含むことを特徴とする請求項38に記載のメモリ管理方法。
【請求項42】
前記少なくとも一つのコマンドは、前記メモリカード装置の利用可能な資源をチェックするためのコマンドを含むことを特徴とする請求項38に記載のメモリ管理方法。
【請求項43】
前記少なくとも一つのコマンドは、条件が無いことを特徴とする請求項38に記載のメモリ管理方法。
【請求項44】
前記選択された少なくとも一つのメモリ管理機能を前記メモリカード装置から前記ホストのRAMにロードする段階をさらに含むことを特徴とする請求項32に記載のメモリ管理方法。
【請求項45】
前記少なくとも一つのメモリ管理機能は、フラッシュ変換レイヤ機能を含むことを特徴とする請求項32に記載のメモリ管理方法。
【請求項46】
前記ホストを使用して前記メモリカード装置の利用可能な資源をチェックする段階、
前記ホストの利用可能な資源と前記メモリカード装置の利用可能な資源とを比較する段階、
前記比較に応じて前記ホスト内の何れのメモリ管理機能および前記メモリカード装置内の何れのものを行うかを決定する段階を含むことを特徴とする請求項32に記載のメモリ管理方法。
【請求項47】
前記ホストの利用可能な資源は、プロセッサ型、プロセッサ速度、メモリサイズ、メモリ速度、バス型、バス速度、暗号化型、復号化速度の中で少なくとも一つを含むことを特徴とする請求項32に記載のメモリ管理方法。
【請求項48】
前記メモリ管理機能は、アドレスマッピング、ウェアレベル、ガベージコレクション、消去カウント蓄積の中で少なくとも一つを含むことを特徴とする請求項32に記載のメモリ管理方法。
【請求項49】
前記ホストのために選択された少なくとも一つのメモリ管理機能は、前記ホストのためにセットされるが、前記メモリカード装置のためにリセットされるパラメータを有することを特徴とする請求項32に記載のメモリ管理方法。
【請求項50】
前記ホストのために選択されないメモリ管理機能等の残りは、前記ホストのためにリセットされるが、前記メモリカード装置のためにセットされるパラメータを有することを特徴とする請求項49に記載のメモリ管理方法。
【請求項51】
前記ホストと前記メモリカード装置との間の通信プロトコルは、USBプロトコル、ATAプロトコルの中で少なくとも一つを含むことを特徴とする請求項32に記載のメモリ管理方法。
【請求項52】
前記選択された少なくとも一つのメモリ管理機能は、前記メモリカード装置からのフラッシュ変換レイヤコードに含まれることを特徴とする請求項32に記載のメモリ管理方法。
【請求項53】
装置ドライバは、前記選択された少なくとも一つのメモリ管理機能を含むことを特徴とする請求項32に記載のメモリ管理方法。
【請求項54】
前記メモリカード装置からの動作システムは、前記選択された少なくとも一つのメモリ管理機能を含むことを特徴とする請求項32に記載のメモリ管理方法。
【請求項55】
メモリ管理機能コードを前記メモリカード装置のメモリから前記メモリカード装置のRAMコントローラにロードする段階、
動作システムを前記メモリカード装置のメモリから前記ホストのRAMにロードする段階をさらに含むことを特徴とする請求項32に記載のメモリ管理方法。
【請求項56】
前記ホストにある動作システムを初期化する段階をさらに含むことを特徴とする請求項55に記載のメモリ管理方法。
【請求項57】
少なくとも一つの販売者の特定メモリカード装置のドライバを前記ホストのRAMにロードする段階をさらに含むことを特徴とする請求項32に記載のメモリ管理方法。
【請求項58】
メモリカード装置から前記ホストにメタデータをロードする段階をさらに含むことを特徴とする請求項32に記載のメモリ管理方法。
【請求項59】
前記メタデータは、前記メモリカード装置から前記ホストのRAMにロードされる消去カウントデータ、ガベージコレクションデータ、マッピングテーブルデータの中で少なくとも何れか一つを含むことを特徴とする請求項58に記載のメモリ管理方法。
【請求項60】
前記ホスト内部の選択されたメモリ管理機能を初期化する段階をさらに含むことを特徴とする請求項32に記載のメモリ管理方法。
【請求項61】
前記ホスト内部の選択されたメモリ管理機能を活性化する段階をさらに含むことを特徴とする請求項32に記載のメモリ管理方法。
【請求項62】
ホストから書き込み要求を生成する段階、
ホストメモリ管理機能を使用してマッピング情報を読み出す段階、
前記メモリカード装置の書き込み可能な空間をチェックする段階、
前記メモリカード装置に書き込み可能な空間がある場合、前記メモリカード装置に書き込み要求の信号を伝送する段階をさらに含むことを特徴とする請求項32に記載のメモリ管理方法。
【請求項63】
前記メモリカード装置のガベージブロックをチェックする段階、
前記メモリカード装置にガベージブロックがない場合、ガベージコレクションを行い、ガベージブロックを指定し、ガベージコレクションデータをアップデータする段階をさらに含むことを特徴とする請求項32に記載のメモリ管理方法。
【請求項64】
前記メモリカード装置のウェアレベルを必要とするかをチェックする段階、
ウェアレベルを必要とする場合、ウェアレベルを行いウェアレベルによるメタデータのアップデータを行う段階を含むことを特徴とする請求項32に記載のメモリ管理方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate


【公開番号】特開2008−192153(P2008−192153A)
【公開日】平成20年8月21日(2008.8.21)
【国際特許分類】
【出願番号】特願2008−21198(P2008−21198)
【出願日】平成20年1月31日(2008.1.31)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.FRAM
2.PRAM
【出願人】(390019839)三星電子株式会社 (8,520)
【氏名又は名称原語表記】SAMSUNG ELECTRONICS CO.,LTD.
【住所又は居所原語表記】416,Maetan−dong,Yeongtong−gu,Suwon−si,Gyeonggi−do 442−742(KR)
【Fターム(参考)】