JP2009518698A - 改良されたホストインターフェイス - Google Patents
改良されたホストインターフェイス Download PDFInfo
- Publication number
- JP2009518698A JP2009518698A JP2008525201A JP2008525201A JP2009518698A JP 2009518698 A JP2009518698 A JP 2009518698A JP 2008525201 A JP2008525201 A JP 2008525201A JP 2008525201 A JP2008525201 A JP 2008525201A JP 2009518698 A JP2009518698 A JP 2009518698A
- Authority
- JP
- Japan
- Prior art keywords
- host
- file
- data
- memory
- protocol
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 230000015654 memory Effects 0.000 claims abstract description 367
- 230000004044 response Effects 0.000 claims abstract description 44
- 238000000034 method Methods 0.000 claims description 53
- 238000013519 translation Methods 0.000 claims description 32
- 238000004891 communication Methods 0.000 claims description 13
- 238000001514 detection method Methods 0.000 claims 5
- 239000003999 initiator Substances 0.000 description 42
- 230000014616 translation Effects 0.000 description 26
- 238000012546 transfer Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 9
- 230000005540 biological transmission Effects 0.000 description 8
- 230000008569 process Effects 0.000 description 7
- 238000013500 data storage Methods 0.000 description 6
- 238000007726 management method Methods 0.000 description 6
- 230000008520 organization Effects 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 238000013507 mapping Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000003491 array Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 239000004065 semiconductor Substances 0.000 description 3
- 230000003044 adaptive effect Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000011960 computer-aided design Methods 0.000 description 2
- 239000004020 conductor Substances 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 238000013144 data compression Methods 0.000 description 2
- 230000002950 deficient Effects 0.000 description 2
- 230000009977 dual effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000000977 initiatory effect Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000009118 appropriate response Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000013011 mating Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000008672 reprogramming Effects 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
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
-
- 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/0604—Improving or facilitating administration, e.g. storage management
- G06F3/0607—Improving 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- 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/0661—Format or protocol conversion 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
- 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/08—Digital 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
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)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Communication Control (AREA)
Abstract
Description
現在のフラッシュメモリシステムおよびホストデバイスとの典型的な動作を、図1〜8との関係で説明する。このようなシステムで本発明の様々な態様を実施できる。図1のホストシステム1は、フラッシュメモリ2の中にデータを記憶し、かつフラッシュメモリ2からデータを引き出す。フラッシュメモリはホストの中に埋め込むこともできるが、メモリ2はそれよりも一般的なカードの形で図に示され、このカードは、機械的および電気的コネクタの嵌合部分3および4を通じて着脱可能な状態でホストへ接続される。例えばコンパクトフラッシュ(CF)、マルチメディアカード(MMC)、セキュアデジタル(SD)、ミニSD、メモリスティック、スマートメディア、トランスフラッシュカード等、様々なフラッシュメモリカードが現在多く市販されている。これらのカードの各々はそれぞれの規格化された仕様に従い独特の機械的および/または電気的インターフェイスを有するが、各々に内蔵されたフラッシュメモリシステムは類似する。これらのカードはいずれも、本願の譲受人であるサンディスク コーポレイション(SanDisk Corporation) から入手できる。サンディスク コーポレイションはまた、クルーザー(Cruzer)という商標のもとで一連のフラッシュドライブを提供し、フラッシュドライブは、ホストのユニバーサル・シリアル・バス(USB)差込口に差し込まれることによってホストと接続するUSBプラグを有する小形の手持ち式メモリシステムである。これらのメモリカードとフラッシュドライブの各々は、ホストと連動して内蔵されたフラッシュメモリの動作を制御するコントローラを内蔵する。
図7には、ホストとメモリシステムとの間の一般的な論理インターフェイスが示されている。連続する論理アドレス空間161は、メモリシステムに記憶される全データのためアドレスを提供するにあたって十分に大きい。ホストアドレス空間は通常、データクラスタの単位に分割される。所与のホストシステムにおいて、いくつかのデータセクタを収容するように各クラスタを設計でき、4から64セクタあたりが一般的である。標準的なセクタは512バイトのデータを収容する。
大量データ記憶のためのホストとメモリシステムとの間のファイル本位インターフェイスは、論理アドレス空間の使用を解消する。代わりに、ホストは、一意なファイルID(またはその他の一意な参照符)およびファイル内でのデータ単位(バイトなど)のオフセットアドレスによって各ファイルを論理的にアドレスする。このファイルアドレスはメモリシステムコントローラへ直接提供され、メモリシステムコントローラは、各ホストファイルのデータが物理的に記憶される位置について独自のテーブルを保管する。この新しいインターフェイスは、図2〜6との関係で前述したのと同じメモリシステムで実施できる。図2〜6で説明したものとの主な違いは、メモリシステムとホストシステムとの通信のあり方にある。
一部のメモリシステム、特に様々なホストと連動できる着脱可能なメモリカードに内蔵されたメモリシステムにとって、後方互換性は重要課題である。多くのホストシステムは図7および8に示すものと同様にセクタ本位記憶形式を使用し、これらのホストシステムのいくつかは、図9および10に示すようなファイル本位記憶に容易く適合できない。したがって、論理アドレスインターフェイスまたはファイル本位インターフェイスのいずれかを使用するホストと連動できるメモリシステムを用意することが望まれる。LBAインターフェイスとファイル本位バックエンドとの間に置かれたLBAプロトコルアダプタは、論理アドレス指定を使用するホストが、データをファイルとして管理するメモリアレイにデータを記憶することを可能にする。
電子デバイス間のデータ転送のために様々なファイル本位インターフェイスを使用できる。一部のプロトコルは、所定のサイズを有するファイルを、そのサイズの指示と併せて提供する。このようなシステムでは通常、ファイルのサイズが変化しないから、このようなシステムは、ファイルの編集が要求される用途にとって相応しくないかもしれない。しかし、あるデバイスから別のデバイスへファイルを転送する場合、このようなプロトコルは有利であり、高度なセキュリティを可能にするかもしれない。サイズの指示は通常、ファイルデータが送信される前に送信される。所定サイズのファイルをファイルサイズの標識と併せて転送するプロトコルはオブジェクトプロトコルとみなすことができる。マイクロソフト コーポレイション(Microsoft Corporation) によるピクチャ転送プロトコル(PTP)は、オブジェクトプロトコルのひとつである。同じくマイクロソフト コーポレイションによる、メディアトランスポートプロトコル(MTP)として知られる、メディア転送プロトコルもまた、このようなプロトコルのひとつである。オブジェクトプロトコルは、デジタル写真やMP3音楽ファイルなどの所定の量のデータを収容するファイルの送信に特に適している。例えば、デジタルカメラとPCとの間でデジタル写真を転送したり、あるいはPCからMP3プレイヤへMP3音楽ファイルを転送したりするために、このようなプロトコルを使用することができる。
1.1イニシエータおよびレスポンダ:交換は必ず一度に2つのデバイスの間で起こり、一方のデバイスはイニシエータとして動作し、他方のデバイスはレスポンダとして動作する。イニシエータは、オペレーションを送信することによってレスポンダを相手にアクションを開始するデバイスである。レスポンダはアクションを開始せず、イニシエータによって送信されたオペレーションに対し応答を送信する。イニシエータとして動作するデバイスは、応答デバイスの内容を列挙でき、これを理解でき、プロトコルの中でオペレーションの流れを制御できなければならない。イニシエータは通常、レスポンダより性能の高いデバイスである。レスポンダの例として、デジタルカメラなどの簡素なコンテンツ製作デバイスや、携帯用オーディオプレイヤなどの簡素なコンテンツ出力デバイスが挙げられる。
データの交換にあたっては、データセットと呼ばれる所定の構造の中でデータが回収される。3つの情報データセットがあり、適切なオペレーションを用いてアクセスできる。
3.1デバイスプロパティ:デバイスプロパティはデバイスの設定や状態を明らかにするものであり、デバイス上のデータオブジェクトには関連しない。デバイスプロパティは読み出し専用であってよく、または読み出し−書き込みであってもよい。プロパティはデバイスプロパティ記述データセットに収容され、適切なオペレーションを用いて設定できるるか、または引き出すことができる。
オブジェクトハンドルは、デバイス上の論理オブジェクトに対する参照に一貫性を与える識別子であって、1セッションの中で一意である。オブジェクトハンドルの値に特別な意味はない。レスポンダは、イニシエータからのセッション開放オペレーションに応じてデバイス内のオブジェクトのためにオブジェクトハンドルのアレイを作成する。イニシエータはオブジェクトハンドル取得オペレーションによってオブジェクトハンドルを入手し、このオブジェクトハンドル取得オペレーションによってレスポンダはイニシエータへオブジェクトハンドルアレイを送信する。送信されるオブジェクトを規定するためにイニシエータがオブジェクト情報送信オペレーションを使用すると、レスポンダデバイスはオブジェクトハンドルを割り振り、オペレーションの応答段階でこれをイニシエータに返す。セッションが閉鎖されると全てのオブジェクトハンドルが無効となり、イニシエータはこれを改めて入手しなければならない。デバイスは同じオブジェクトハンドルを維持してよく、あるいは次のセッションでオブジェクトハンドルの値を変更してもよい。
オブジェクトインターフェイスはファイルシステムに依存しないプロトコルだから、ファイル名を埋め込むことによってオブジェクト間に複雑なリンクが形成されることはない。任意のオブジェクト参照を可能にするために抽象的参照メカニズムが規定されている。参照は一方向であり、デバイス上の全てのオブジェクトで全ての参照を調べない限り、所与のオブジェクトを参照するオブジェクトがどれなのかを判断することはできない。参照は、適切なオペレーションを用いることによって設定できるか、または引き出すことができる。ファイルハンドルによって参照されるオブジェクトはセッションからセッションにかけて一貫しなければならない。削除済みオブジェクトに対する参照が誤って別のオブジェクトを参照することはあってはならない。オブジェクトハンドルは決して再使用してはならず、さもなくばデバイスがオブジェクトに対する全ての参照をオブジェクトと併せて削除しなければならない。
トランザクションの中でイニシエータとレスポンダとの間で起こる通信はオペレーションによって決まる。開始されたオペレーションにレスポンダが働きかけるにあたって必要となる情報は、オペレーション要求でパラメータとして引き渡すことができる。5つのパラメータを送信できる。トランザクションのデータ段階では既定のデータセットの中で追加の情報を引き渡すこともできる。レスポンダはオペレーションの後に、最高5つまでのパラメータを伴う応答データセットと、オペレーションの結果を伝える応答コードとを返す。多数のオペレーションが定められている。一連のオペレーションの例として、「オブジェクト情報送信」オペレーションとその後に続く「オブジェクト送信」オペレーションがあり、これによりイニシエータはレスポンダへオブジェクトを送信し、さらに「オブジェクト情報取得」オペレーションとその後に続く「オブジェクト取得」オペレーションがあり、これによりイニシエータはレスポンダからオブジェクトを受信する。
本発明の一実施形態において、前述したようにオブジェクトプロトコルを使用するホストがファイル本位バックエンドを使用するメモリシステムと連動できるようにするオブジェクトプロトコルアダプタがメモリシステムに用意される。オブジェクトプロトコルアダプタはオブジェクトプロトコルに従いオブジェクトインターフェイスを通じてデータおよびコマンドを受信し、データおよびコマンドをバックエンドへ送信する前に適切な翻訳を遂行する。一例において、ホストはMTPを使ってメモリシステムと連動し、メモリシステムは直接データファイルバックエンドを使ってデータを記憶する。オブジェクトプロトコルアダプタは、ホストインターフェイスおよびバックエンドとの間でコマンドとデータの両方で適切な変換を遂行する。
本発明の一実施形態では、所定のサイズを有するオブジェクトと(例えば、MTPプロトコルに準拠)、所定のサイズを有さないストリーミングファイルとして受信されるファイルと、メモリシステムのために規定された論理アドレス空間の論理アドレスを持つデータセクタとを、受信でき記憶できるメモリシステムが提供される。プロトコルアダプタはこれらの3つのプロトコルに合わせて構成され、ホストで使われるプロトコルに応じて選択される。
これまで本発明の様々な態様をその代表的な実施形態との関係で説明してきたが、添付の特許請求の範囲の全範囲内においてその権利が保護されるべきであることが理解できよう。
Claims (37)
- 不揮発性メモリアレイにデータを記憶するメモリシステムであって、前記メモリシステムは1つ以上のアプリケーションから異なる論理形式でデータを受信し、かつ前記メモリアレイにて共通の論理形式でデータを記憶するメモリシステムにおいて、
第1のアプリケーションから第1のデータを、第1のホストファイルとして、前記第1のホストファイルの長さを指示した後に、受信し、かつ前記第1のデータを前記不揮発性メモリアレイへ送信する第1のプロトコルアダプタであって、前記不揮発性メモリアレイでは第1のファイル識別子を用いて記録される位置に前記第1のデータが記憶される、第1のプロトコルアダプタと、
第2のアプリケーションから第2のデータを、第2のホストファイルのデータとして識別されるデータストリームとして、前記第2のホストファイルの長さを指示せずに受信し、かつ前記第2のデータを前記不揮発性メモリアレイへ送信する第2のプロトコルアダプタであって、前記不揮発性メモリアレイでは第2のファイル識別子を用いて記録される位置に前記第2のデータが記憶される、第2のプロトコルアダプタと、
第3のアプリケーションから第3のデータを、前記メモリシステムのために規定される論理アドレス範囲の中の個別論理アドレスを有する複数のセクタとして受信し、かつ前記第3のデータを前記不揮発性メモリアレイへ送信する第3のプロトコルアダプタであって、前記不揮発性メモリアレイでは第3のファイル識別子を用いて記録される位置に前記第3のデータが記憶される、第3のプロトコルアダプタと、
を備えるメモリシステム。 - 請求項1記載のメモリシステムにおいて、
前記メモリシステムは、規格化された接続により着脱可能な状態でホストシステムへ接続できるメモリカードに内蔵されるメモリシステム。 - 請求項2記載のメモリシステムにおいて、
前記第1のアプリケーションは第1のホストシステムで実行し、前記メモリカードは第1のときに前記第1のホストシステムへ接続され、
前記第2のアプリケーションは第2のホストシステムで実行し、前記メモリカードは第2のときに前記第2のホストシステムへ接続され、
前記第3のアプリケーションは第3のホストシステムで実行し、前記メモリカードは第3のときに前記第3のホストシステムへ接続されるメモリシステム。 - 請求項1記載のメモリシステムにおいて、
前記第1、第2、および第3のデータの前記位置は、前記第1、第2、および第3のファイル識別子の各々に対応する前記メモリアレイ内の1つ以上のブロックを指示する項目により記録されるメモリシステム。 - 請求項1記載のメモリシステムにおいて、
前記第1のプロトコルアダプタは、前記第1のホストファイルが受信済みであることを伝える指示を前記ホストに向けて生成するメモリシステム。 - 請求項1記載のメモリシステムにおいて、
前記第1のプロトコルアダプタは前記第1のホストファイルの終了の標識を生成し、標識により前記第1のデータはガーベッジコレクションのスケジュールに組み入れられるメモリシステム。 - ホストインターフェイスへ接続しかつ前記ホストインターフェイスを通じて受信するデータを記憶する着脱可能なメモリカードに埋め込まれたメモリシステムであって、
不揮発性メモリアレイと、
前記不揮発性メモリアレイの中でファイルとしてデータを管理するバックエンドメモリ管理システムと、
ホストと通信するインターフェイス層と、
前記インターフェイス層と前記バックエンドメモリ管理システムとの間に位置する翻訳層であって、前記翻訳層は前記インターフェイス層からホストコマンドを受信し、前記ホストコマンドはオブジェクトプロトコルに適合し、前記翻訳層は前記ホストコマンドの受信に応じて前記バックエンドメモリ管理システムに向けて翻訳済みコマンドを生成し、前記翻訳済みコマンドは前記オブジェクトプロトコルに適合しない、翻訳層と、
を備えるメモリシステム。 - 請求項7記載のメモリシステムにおいて、
前記オブジェクトプロトコルは、メディアトランスポートプロトコル(MTP)であるメモリシステム。 - 請求項7記載のメモリシステムにおいて、
ホストはオブジェクトのサイズの指示を含むメタデータを前記オブジェクトを送信する前に送信し、前記翻訳層は前記ホストから前記オブジェクトの全体が受信済みであることを前記指示から判断するメモリシステム。 - 請求項9記載のメモリシステムにおいて、
前記翻訳層は、前記オブジェクトの全体が受信済みとの判断に応じて、前記ホストへ送信される応答を生成し、かつ前記バックエンドメモリ管理システムへ送信されるファイル終了標識を生成するメモリシステム。 - 請求項7記載のメモリシステムであって、
前記翻訳層は、
ホストファイルプロトコルを使用する第2のホストから前記バックエンドファイルプロトコルにかけて通信を翻訳するファイルプロトコルアダプタと、
論理アドレスプロトコルを使用する第3のホストから前記バックエンドファイルプロトコルにかけて通信を翻訳するLBAプロトコルアダプタと、
をさらに備えるメモリシステム。 - 請求項11記載のメモリシステムにおいて、
前記LBAプロトコルアダプタは、前記メモリシステムのために規定される論理アドレス空間から前記第3のホストによって割り振られた論理アドレスを有するデータセクタを受信し、かつ前記セクタを前記メモリアレイの1メタブロックの容量にサイズが等しい仮想ファイルにマッピングするメモリシステム。 - 不揮発性メモリアレイにデータを記憶するメモリシステムであって、前記メモリシステムは1つ以上のアプリケーションから異なる論理形式でデータを受信し、かつ前記メモリアレイにて共通の論理形式でデータを記憶するメモリシステムにおいて、
第1のアプリケーションから第1のデータを、第1のホストファイルとして、前記第1のホストファイルの長さを指示した後に、受信し、かつ前記第1のデータを前記不揮発性メモリアレイへ送信する第1のプロトコルアダプタであって、前記不揮発性メモリアレイでは第1のファイル識別子を用いて記録される位置に前記第1のデータが記憶される、第1のプロトコルアダプタと、
第2のアプリケーションから第2のデータを、第2のホストファイルのデータとして識別されるデータストリームとして、前記第2のホストファイルの長さを伝える先行の指示をせずに受信し、かつ前記第2のデータを前記不揮発性メモリアレイへ送信する第2のプロトコルアダプタであって、前記不揮発性メモリアレイでは第2のファイル識別子を用いて記録される位置に前記第2のデータが記憶される、第2のプロトコルアダプタと、
を備えるメモリシステム。 - 請求項13記載のメモリシステムにおいて、
前記メモリシステムは、規格化された接続により着脱可能な状態でホストシステムへ接続できるメモリカードに内蔵されるメモリシステム。 - 請求項14記載のメモリシステムにおいて、
前記第1のアプリケーションは第1のホストシステムで実行し、前記メモリカードは第1のときに前記第1のホストシステムへ接続され、
前記第2のアプリケーションは第2のホストシステムで実行し、前記メモリカードは第2のときに前記第2のホストシステムへ接続されるメモリシステム。 - 請求項13記載のメモリシステムにおいて、
前記第1のデータと第2のデータとの前記位置は、前記第1および第2のファイル識別子の各々に対応する前記メモリアレイ内の1つ以上のブロックを指示する項目により記録されるメモリシステム。 - 請求項13記載のメモリシステムにおいて、
前記第1のプロトコルアダプタは、前記第1のホストファイルが受信済みであることを伝える指示を前記ホストに向けて生成するメモリシステム。 - 請求項13記載のメモリシステムにおいて、
前記第1のプロトコルアダプタは前記第1のホストファイルの終了の標識を生成し、標識により前記第1のデータはガーベッジコレクションのスケジュールに組み入れられるメモリシステム。 - 複数のホストプロトコルに適合するようにメモリシステムを操作する方法であって、前記メモリシステムはブロック消去可能なメモリアレイおよびコントローラを備える方法において、
ホストへ接続されるときにホストプロトコルを検出し、検出された前記ホストプロトコルに応じて複数のプロトコルアダプタからプロトコルアダプタを選択するステップであって、前記複数のプロトコルアダプタは少なくとも第1、第2、および第3のプロトコルアダプタを含むステップと、
所定の長さのファイルを、ファイルの長さの標識の後に、送信する第1のホストプロトコルの検出に応じて前記第1のプロトコルアダプタを選択するステップであって、個々のファイルは一意なファイル識別子を有するステップと、
ファイルを、ファイルの長さの標識なしで、送信する第2のホストプロトコルの検出に応じて前記第2のプロトコルアダプタを選択するステップであって、個々のファイルは一意なファイル識別子を有するステップと、
データセクタを送信する第3のホストプロトコルの検出に応じて前記第3のプロトコルアダプタを選択するステップであって、各セクタは前記メモリシステムのために規定される論理アドレス範囲の中の論理アドレスを有するステップと、
を含む方法。 - 請求項19記載の方法において、
前記第1のプロトコルアダプタを通じて受信する第1のファイルを前記メモリアレイの第1の複数のブロックに記憶し、前記第1のファイル識別子と前記第1の複数のブロックとの間の第1のアソシエーションを記録するステップと、
前記第2のプロトコルアダプタを通じて受信する第2のファイルを前記メモリアレイの第2の複数のブロックに記憶し、前記第2のファイル識別子と前記第2の複数のブロックとの間の第2のアソシエーションを記録するステップと、
前記第3のプロトコルアダプタを通じて受信する複数のセクタを第3の複数のブロックに記憶し、前記第3のファイル識別子と前記第3の複数のブロックとの間の第3のアソシエーションを記録するステップと、
をさらに含む方法。 - 請求項19記載の方法において、
前記第1のプロトコルアダプタは、前記所定の長さのデータが受信された後に前記第1のホストに向けて応答を生成する方法。 - 請求項19記載の方法において、
前記第1のプロトコルアダプタは、前記所定の長さのデータの受信に応じてファイル終了標識を生成し、前記標識は、前記ファイルを閉鎖させ、かつガーベッジコレクションのスケジュールに組み入れる方法。 - 請求項19記載の方法において、
前記第1、第2、または第3のプロトコルアダプタのうちのただひとつのプロトコルアダプタを随時一度に選択するステップをさらに含む方法。 - 請求項19記載の方法において、
2つ以上のホストアプリケーションによる互い違いのアクセスを可能にするため、前記第1、第2、および第3のプロトコルアダプタのそれぞれをかわるがわるに選択するステップをさらに含む方法。 - 請求項19記載の方法において、
前記メモリシステムは、着脱可能なメモリカードに埋め込まれる方法。 - 請求項25記載の方法において、
前記メモリカードは、コンパクトフラッシュ、マルチメディアカード、セキュアデジタル、ミニSD、メモリスティック、スマートメディア、またはトランスフラッシュから選ばれる規格に準拠する方法。 - 着脱可能なメモリカードで不揮発性メモリシステムを操作する方法であって、
オブジェクトの中のデータ量の指示を含むメタデータをホストから受信するステップと、
引き続き前記ホストから前記オブジェクトを受信し、前記ホストから受信したオブジェクトデータの量を前記メタデータによって指示される前記データ量に比較することによって前記オブジェクトの全体が受信済みか否かを判断するステップと、
前記オブジェクトの全体が受信済みとの判断に応じて、前記ホストへ応答を送信し、前記オブジェクトに対応する前記メモリシステム内のファイルを閉鎖するステップであって、前記ファイルは閉鎖の結果としてガーベッジコレクションに向けてマークされるステップと、
を含む方法。 - 請求項27記載の方法において、
前記不揮発性メモリシステムに前記メタデータを記憶するステップをさらに含む方法。 - 請求項27記載の方法において、
前記ホストは前記オブジェクトを含む階層を保守し、前記階層の中での前記オブジェクトの位置は前記メタデータによって提供される方法。 - 請求項29記載の方法において、
前記ファイルは、前記階層におけるその位置にかかわりなく前記メモリシステムに記憶される方法。 - 請求項30記載の方法において、
前記メタデータは、その後前記ファイルがホストによって要求されるときに、前記階層を再現するために使用される方法。 - 複数のホストプロトコルに適合するように着脱可能なメモリシステムを操作する方法であって、前記メモリシステムはブロック消去可能なメモリアレイおよびコントローラを備える方法において、
ホストへ接続されるときにホストプロトコルを検出し、検出された前記ホストプロトコルに応じて複数のプロトコルアダプタからプロトコルアダプタを選択するステップであって、前記複数のプロトコルアダプタは少なくとも第1のプロトコルアダプタと第2のプロトコルアダプタとを含むステップと、
所定の長さのファイルを、ファイルの長さの標識の後に、送信する第1のホストプロトコルの検出に応じて前記第1のプロトコルアダプタを選択するステップであって、個々のファイルは一意なファイル識別子を有するステップと、
ファイルを、ファイルの長さの標識なしで、送信する第2のホストプロトコルの検出に応じて前記第2のプロトコルアダプタを選択するステップであって、個々のファイルは一意なファイル識別子を有するステップと、
を含む方法。 - 請求項32記載の方法において、
前記第1のプロトコルアダプタを通じて受信する第1のファイルを前記メモリアレイの第1の複数のブロックに記憶し、第1のファイル識別子と前記第1の複数のブロックとの間の第1のアソシエーションを記録するステップと、
前記第2のプロトコルアダプタを通じて受信する第2のファイルを前記メモリアレイの第2の複数のブロックに記憶し、第2のファイル識別子と前記第2の複数のブロックとの間の第2のアソシエーションを記録するステップと、
をさらに含む方法。 - 請求項32記載の方法において、
前記第1のプロトコルアダプタは、前記所定の長さのデータが受信された後に前記第1のホストに向けて応答を生成する方法。 - 請求項32記載の方法において、
前記第1のプロトコルアダプタは、前記所定の長さのデータの受信に応じてファイル終了標識を生成し、前記標識は、前記ファイルを閉鎖させ、かつガーベッジコレクションのスケジュールに組み入れる方法。 - 請求項32記載の方法において、
前記第1または第2のプロトコルアダプタのうちのただひとつのプロトコルアダプタを随時一度に選択するステップをさらに含む方法。 - 請求項32記載の方法において、
前記着脱可能なメモリシステムが2つ以上のホストと通信する場合に、前記第1または第2のプロトコルアダプタのそれぞれをかわるがわるに選択するステップをさらに含む方法。
Applications Claiming Priority (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US70538805P | 2005-08-03 | 2005-08-03 | |
US60/705,388 | 2005-08-03 | ||
US11/316,577 US20070033326A1 (en) | 2005-08-03 | 2005-12-21 | Enhanced host interfacing methods |
US11/316,578 US8291151B2 (en) | 2005-08-03 | 2005-12-21 | Enhanced host interface |
US11/316,578 | 2005-12-21 | ||
US11/316,577 | 2005-12-21 | ||
PCT/US2006/030342 WO2007019258A2 (en) | 2005-08-03 | 2006-08-01 | Enhanced host interface |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2009518698A true JP2009518698A (ja) | 2009-05-07 |
JP5068754B2 JP5068754B2 (ja) | 2012-11-07 |
Family
ID=37453103
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008525201A Expired - Fee Related JP5068754B2 (ja) | 2005-08-03 | 2006-08-01 | 改良されたホストインターフェイス |
Country Status (4)
Country | Link |
---|---|
EP (1) | EP1920318A2 (ja) |
JP (1) | JP5068754B2 (ja) |
KR (1) | KR101055324B1 (ja) |
WO (1) | WO2007019258A2 (ja) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8583878B2 (en) | 2008-01-02 | 2013-11-12 | Sandisk Il Ltd. | Storage device having direct user access |
US8452927B2 (en) | 2008-01-02 | 2013-05-28 | Sandisk Technologies Inc. | Distributed storage service systems and architecture |
US9098506B2 (en) | 2008-01-02 | 2015-08-04 | Sandisk Il, Ltd. | Data indexing by local storage device |
US8370402B2 (en) | 2008-01-02 | 2013-02-05 | Sandisk Il Ltd | Dual representation of stored digital content |
US8683148B2 (en) | 2010-06-30 | 2014-03-25 | Sandisk Il Ltd. | Status indication when a maintenance operation is to be performed at a memory device |
KR101278591B1 (ko) * | 2011-05-30 | 2013-06-25 | 성균관대학교산학협력단 | 플래시 메모리 시스템 및 그 동작 방법 |
US9471484B2 (en) | 2012-09-19 | 2016-10-18 | Novachips Canada Inc. | Flash memory controller having dual mode pin-out |
EP2725477B1 (en) * | 2012-10-25 | 2015-06-24 | BlackBerry Limited | Method and system for managing data storage and access on a client device |
US8943110B2 (en) | 2012-10-25 | 2015-01-27 | Blackberry Limited | Method and system for managing data storage and access on a client device |
US9165006B2 (en) | 2012-10-25 | 2015-10-20 | Blackberry Limited | Method and system for managing data storage and access on a client device |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002369106A (ja) * | 2001-04-06 | 2002-12-20 | Sony Corp | ディジタルカメラおよびデータ転送方法 |
US20040073727A1 (en) * | 2002-07-29 | 2004-04-15 | M-Systems Flash Disk Pioneers, Ltd. | Portable storage media as file servers |
WO2004042724A1 (en) * | 2002-11-07 | 2004-05-21 | Koninklijke Philips Electronics N.V. | Record carrier having a main file system area and a virtual file system area |
WO2004077335A2 (en) * | 2003-02-25 | 2004-09-10 | Infineon Technologies Flash Ltd. | Multi-protocol memory card |
JP2005122439A (ja) * | 2003-10-16 | 2005-05-12 | Sharp Corp | デバイス機器、及びデバイス機器の記録装置のフォーマット変換方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7039727B2 (en) * | 2000-10-17 | 2006-05-02 | Microsoft Corporation | System and method for controlling mass storage class digital imaging devices |
WO2002084999A1 (fr) * | 2001-04-06 | 2002-10-24 | Sony Corporation | Camera numerique et procede de transfert de donnees |
US20020188592A1 (en) * | 2001-06-11 | 2002-12-12 | Storage Technology Corporation | Outboard data storage management system and method |
WO2005001701A1 (ja) * | 2003-06-27 | 2005-01-06 | Matsushita Electric Industrial Co., Ltd. | スレイブ装置、通信設定方法 |
JP4318075B2 (ja) * | 2003-08-29 | 2009-08-19 | 富士フイルム株式会社 | Usbファンクション装置 |
-
2006
- 2006-08-01 KR KR1020087005053A patent/KR101055324B1/ko active IP Right Grant
- 2006-08-01 EP EP06789350A patent/EP1920318A2/en not_active Withdrawn
- 2006-08-01 WO PCT/US2006/030342 patent/WO2007019258A2/en active Application Filing
- 2006-08-01 JP JP2008525201A patent/JP5068754B2/ja not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002369106A (ja) * | 2001-04-06 | 2002-12-20 | Sony Corp | ディジタルカメラおよびデータ転送方法 |
US20040073727A1 (en) * | 2002-07-29 | 2004-04-15 | M-Systems Flash Disk Pioneers, Ltd. | Portable storage media as file servers |
WO2004042724A1 (en) * | 2002-11-07 | 2004-05-21 | Koninklijke Philips Electronics N.V. | Record carrier having a main file system area and a virtual file system area |
WO2004077335A2 (en) * | 2003-02-25 | 2004-09-10 | Infineon Technologies Flash Ltd. | Multi-protocol memory card |
JP2005122439A (ja) * | 2003-10-16 | 2005-05-12 | Sharp Corp | デバイス機器、及びデバイス機器の記録装置のフォーマット変換方法 |
Also Published As
Publication number | Publication date |
---|---|
JP5068754B2 (ja) | 2012-11-07 |
EP1920318A2 (en) | 2008-05-14 |
WO2007019258A2 (en) | 2007-02-15 |
KR101055324B1 (ko) | 2011-08-08 |
KR20080042850A (ko) | 2008-05-15 |
WO2007019258A3 (en) | 2007-07-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8291151B2 (en) | Enhanced host interface | |
JP5068754B2 (ja) | 改良されたホストインターフェイス | |
US8880483B2 (en) | System and method for implementing extensions to intelligently manage resources of a mass storage system | |
US8762627B2 (en) | Memory logical defragmentation during garbage collection | |
US7949845B2 (en) | Indexing of file data in reprogrammable non-volatile memories that directly store data files | |
US7669003B2 (en) | Reprogrammable non-volatile memory systems with indexing of directly stored data files | |
JP4533956B2 (ja) | フラッシュメモリシステムのデータ記憶容量の解放 | |
US7877540B2 (en) | Logically-addressed file storage methods | |
US8239639B2 (en) | Method and apparatus for providing data type and host file information to a mass storage system | |
US8713283B2 (en) | Method of interfacing a host operating through a logical address space with a direct file storage medium | |
JP2009503729A (ja) | 論理アドレス空間と直接データファイル方式で動作するインターフェイスシステム | |
KR101378031B1 (ko) | 데이터 파일을 직접적으로 저장하는 메모리 블록의 관리 | |
KR101464199B1 (ko) | 연속 논리 주소 공간 인터페이스를 구비한 다이렉트 데이터 파일 시스템을 사용하는 방법 | |
JP2009503744A (ja) | 予定再生操作を伴う不揮発性メモリ | |
JP4441577B2 (ja) | 固定サイズ格納ブロックを有するメモリシステムにおける変換データ単位格納 | |
JP2009519555A (ja) | 論理アドレス形ファイル記憶 | |
US20070136553A1 (en) | Logically-addressed file storage systems |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20101108 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20101124 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110217 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20111101 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120201 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20120615 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20120724 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20120815 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150824 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5068754 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
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 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |