JP5068754B2 - 改良されたホストインターフェイス - Google Patents
改良されたホストインターフェイス Download PDFInfo
- Publication number
- JP5068754B2 JP5068754B2 JP2008525201A JP2008525201A JP5068754B2 JP 5068754 B2 JP5068754 B2 JP 5068754B2 JP 2008525201 A JP2008525201 A JP 2008525201A JP 2008525201 A JP2008525201 A JP 2008525201A JP 5068754 B2 JP5068754 B2 JP 5068754B2
- Authority
- JP
- Japan
- Prior art keywords
- file
- host
- data
- volatile 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.)
- Expired - Fee Related
Links
- 230000015654 memory Effects 0.000 claims description 322
- 238000000034 method Methods 0.000 claims description 49
- 230000004044 response Effects 0.000 claims description 44
- 238000013519 translation Methods 0.000 claims description 35
- 238000004891 communication Methods 0.000 claims description 13
- 239000003999 initiator Substances 0.000 description 42
- 230000014616 translation Effects 0.000 description 27
- 238000012546 transfer Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 9
- 230000005540 biological transmission Effects 0.000 description 8
- 238000007726 management method Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 7
- 238000013500 data storage 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
- 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
- G06F12/02—Addressing or allocation; Relocation
-
- 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)
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 (30)
- 不揮発性メモリアレイにデータを記憶するために異なるプロトコルを使用する異なるホストデバイスに着脱可能な状態で接続できる不揮発性メモリデバイスであって、
不揮発性メモリアレイと、
コントローラであって、
第1のプロトコルアダプタであって、第1のデータを第1のホストファイルとして第1のアプリケーションから受信し、前記第1のホストファイルの長さの標示と前記第1のホストファイルを一意なものとして識別する第1のファイル識別子とが前記第1のデータに先行するとともに、前記第1のデータを前記不揮発性メモリアレイに送信し、前記第1のファイル識別子でマッピングされる前記不揮発性メモリアレイ内のある位置に前記第1のデータが記憶される、第1のプロトコルアダプタと、
第2のプロトコルアダプタであって、第2のデータを第2のホストファイルのデータとして第2のファイル識別子によって識別されるデータストリームとして、前記第2のホストファイルの長さの標示はなく第2のアプリケーションから受信するとともに、前記第2のデータを前記不揮発性メモリアレイに送信し、前記第2のファイル識別子でマッピングされる前記不揮発性メモリアレイ内のある位置に前記第2のデータが記憶される、第2のプロトコルアダプタと、
第3のプロトコルアダプタであって、第3のデータを前記不揮発性メモリデバイスのために規定される論理アドレス空間にわたって規定される個別の論理アドレスを有する複数のセクタとして、第3のアプリケーションから受信するとともに、前記第3のデータを前記不揮発性メモリアレイに送信し、第3のファイル識別子でマッピングされる前記不揮発性メモリアレイ内のある位置に前記第3のデータが記憶される、第3のプロトコルアダプタと、を有するように構成されたコントローラと、を備え、
前記第1、第2、および第3のデータの位置は、前記第1、第2、および第3のファイル識別子のそれぞれに対応する前記不揮発性メモリアレイ内の1つ以上のブロックを指示する項目によってマッピングされ、前記第1、第2、および第3のデータをファイル本位プロトコルを使用して前記不揮発性メモリアレイに記憶する不揮発性メモリデバイス。 - 請求項1記載の不揮発性メモリデバイスにおいて、
前記不揮発性メモリデバイスは、規格化された接続により着脱可能な状態でホストデバイスに接続できるメモリカードに内蔵される不揮発性メモリデバイス。 - 請求項2記載の不揮発性メモリデバイスにおいて、
前記第1のアプリケーションを第1のホストデバイスで実行し、前記メモリカードを最初に前記第1のホストデバイスに接続し、
前記第2のアプリケーションを第2のホストデバイスで実行し、前記メモリカードを2番目に前記第2のホストデバイスに接続し、
前記第3のアプリケーションを第3のホストデバイスで実行し、前記メモリカードを3番目に前記第3のホストデバイスに接続する不揮発性メモリデバイス。 - 請求項1記載の不揮発性メモリデバイスにおいて、
前記第1のプロトコルアダプタは、前記第1のデータを受信した後で、前記第1のホストファイルを受信済みである標示をホストデバイスに生成する不揮発性メモリデバイス。 - 請求項1記載の不揮発性メモリデバイスにおいて、
前記第1のプロトコルアダプタは、前記第1のホストファイルの終了を受信したことを示す標識を生成し、その標識により、前記第1のホストファイルの終了を受信した後で、前記第1のデータがガーベッジコレクション用にスケジュールされる不揮発性メモリデバイス。 - 異なるプロトコルを使用し、かつホストインターフェイスを通じて受信するデータを記憶するように構成される異なるホストに着脱可能な状態で接続できる着脱可能なメモリカードとして埋め込まれた不揮発性メモリデバイスであって、
不揮発性メモリアレイと、
ファイル本位プロトコルを使用して前記不揮発性メモリアレイ内でデータを管理するバックエンドメモリ管理システムと、
ホストと通信するインターフェイス層と、
前記インターフェイス層と前記バックエンドメモリ管理システムとの間に位置する翻訳層であって、前記翻訳層が前記インターフェイス層からホストコマンドを受信し、前記ホストコマンドはオブジェクトプロトコルに適合し、前記ホストコマンドの受信に応じて、前記翻訳層が、前記オブジェクトプロトコルに適合しない翻訳済みコマンドを前記バックエンドメモリ管理システムに対して生成するために構成される、翻訳層と、を備え、
オブジェクトを送信する前に前記オブジェクトのサイズの標示を含むメタデータをホストが送信した後で、前記翻訳層は、前記オブジェクト全体を前記ホストから受信したことを前記標示から判断するように構成され、
前記翻訳層は、前記バックエンドメモリ管理システムのファイル本位プロトコルを使用するホストコマンドを受信し、かつそれに応じて、前記バックエンドメモリ管理システムに前記ホストコマンドを送信するようにさらに構成される不揮発性メモリデバイス。 - 請求項6記載の不揮発性メモリデバイスにおいて、
前記オブジェクトプロトコルは、メディアトランスポートプロトコル(MTP)である不揮発性メモリデバイス。 - 請求項6記載の不揮発性メモリデバイスにおいて、
前記翻訳層は、前記オブジェクト全体が受信されたと判断したことに応じて、前記ホストに送信する応答を生成するように、かつ前記バックエンドメモリ管理システムに送信するファイルの終了を示す標識を生成するように構成される不揮発性メモリデバイス。 - 請求項6記載の不揮発性メモリデバイスであって、
前記翻訳層は、
第2のホストで使用するホストファイルプロトコルからバックエンドファイル本位プロトコルへ通信を翻訳するファイルプロトコルアダプタと、
第3のホストで使用する論理アドレスプロトコルからバックエンドファイル本位プロトコルへ通信を翻訳するLBAプロトコルアダプタと、
をさらに備える不揮発性メモリデバイス。 - 請求項9記載の不揮発性メモリデバイスにおいて、
前記LBAプロトコルアダプタは、前記不揮発性メモリデバイスのために規定される論理アドレス空間から前記第3のホストによって割り振られた論理アドレスを有するデータセクタを受信するように、かつ前記セクタを前記不揮発性メモリアレイの1メタブロックの容量にサイズが等しい仮想ファイルにマッピングするように構成される不揮発性メモリデバイス。 - 不揮発性メモリアレイにデータを記憶するために異なるプロトコルを使用する異なるホストデバイスに着脱可能な状態で接続できる不揮発性メモリデバイスであって、
不揮発性メモリアレイと、
コントローラであって、
第1のプロトコルアダプタであって、第1のデータを第1のホストファイルとして第1のアプリケーションから受信し、前記第1のホストファイルの長さの標示と前記第1のホストファイルを一意なものとして識別する第1のファイル識別子とが前記第1のデータに先行するとともに、前記第1のデータを前記不揮発性メモリアレイに送信し、前記第1のファイル識別子でマッピングされる前記不揮発性メモリアレイ内のある位置に前記第1のデータが記憶される、第1のプロトコルアダプタと、
第2のプロトコルアダプタであって、第2のデータを第2のホストファイルのデータとして第2のファイル識別子によって識別されるデータストリームとして、前記第2のホストファイルの長さの標示はなく第2のアプリケーションから受信するとともに、前記第2のデータを前記不揮発性メモリアレイに送信し、前記第2のファイル識別子でマッピングされる前記不揮発性メモリアレイ内のある位置に前記第2のデータが記憶される、第2のプロトコルアダプタと、を有するように構成されたコントローラと、を備え、
前記第1および第2のデータの位置は、ファイル本位プロトコルを使用して前記第1および第2のファイル識別子のそれぞれに対応する前記不揮発性メモリアレイ内の1つ以上のブロックを指示する項目によってマッピングされる不揮発性メモリデバイス。 - 請求項11記載の不揮発性メモリデバイスにおいて、
前記不揮発性メモリデバイスは、規格化された接続により着脱可能な状態でホストデバイスに接続できるメモリカードに内蔵される不揮発性メモリデバイス。 - 請求項12記載の不揮発性メモリデバイスにおいて、
前記第1のアプリケーションを第1のホストデバイスで実行し、前記メモリカードを最初に前記第1のホストデバイスに接続し、
前記第2のアプリケーションを第2のホストデバイスで実行し、前記メモリカードを2番目に前記第2のホストデバイスに接続する不揮発性メモリデバイス。 - 請求項11記載の不揮発性メモリデバイスにおいて、
前記第1のプロトコルアダプタは、前記第1のデータを受信した後で、前記第1のホストファイルを受信済みである標示をホストデバイスに生成する不揮発性メモリデバイス。 - 請求項11記載の不揮発性メモリデバイスにおいて、
前記第1のプロトコルアダプタは、前記第1のホストファイルの終了を受信したことを示す標識を生成し、その標識により、前記第1のホストファイルの終了を受信した後で、前記第1のデータがガーベッジコレクション用にスケジュールされる不揮発性メモリデバイス。 - ブロック消去可能なメモリアレイおよびコントローラを備え、前記ブロック消去可能なメモリアレイにデータを記憶するための複数のホストプロトコルに適合する不揮発性メモリデバイスを操作する方法であって、
ホストに接続されるときにホストプロトコルを検出するステップと、
一意なファイル識別子を個々に有し、ファイルの長さの標示に先行される所定の長さのファイルを送信する、第1のホストプロトコルを検出したことに応じて、前記不揮発性メモリデバイスの第1のプロトコルアダプタを選択するステップと、
一意なファイル識別子を個々に有し、ファイルの長さの標示のないファイルを送信する、第2のホストプロトコルを検出したことに応じて、前記不揮発性メモリデバイスの第2のプロトコルアダプタを選択するステップと、
前記不揮発性メモリデバイスのために規定される論理アドレス空間にわたって規定される論理アドレスを各々有するデータセクタを送信する、第3のホストプロトコルを検出したことに応じて、前記不揮発性メモリデバイスの第3のプロトコルアダプタを選択するステップと、
前記第1のプロトコルアダプタを通じて受信される第1のファイル識別子を有する第1のファイルを前記不揮発性メモリアレイの第1の複数のブロックに記憶し、かつ前記第1のファイル識別子と前記第1の複数のブロックとの間の第1のアソシエーションを記録するステップと、
前記第2のプロトコルアダプタを通じて受信される第2のファイル識別子を有する第2のファイルを前記不揮発性メモリアレイの第2の複数のブロックに記憶し、かつ前記第2のファイル識別子と前記第2の複数のブロックとの間の第2のアソシエーションを記録するステップと、
前記第3のプロトコルアダプタを通じて受信される複数のセクタを第3の複数のブロックに記憶し、かつ第3のファイル識別子と前記第3の複数のブロックとの間の第3のアソシエーションを記録するステップと、
を含む方法。 - 請求項16記載の方法において、
前記第1のプロトコルアダプタは、所定の長さのデータを受信した後で、前記第1のホストプロトコルに対しての応答を生成する方法。 - 請求項16記載の方法において、
前記第1のプロトコルアダプタは、特定のファイル用の所定の長さのデータを受信したことに応じて、特定のファイルの終了を指示するファイル終了標識を生成し、その標識により、前記特定のファイルを閉鎖するとともにガーベッジコレクション用にスケジュールする方法。 - 請求項16記載の方法において、
前記第1、第2、または第3のプロトコルアダプタのうちの1つだけを一時に選択する方法。 - 請求項16記載の方法において、
前記第1、第2、または第3のプロトコルアダプタの中の異なるプロトコルアダプタを異なるときに交替的に選択して、2つ以上のホストアプリケーションによる交替的なアクセスを可能にする方法。 - 請求項16記載の方法において、
前記不揮発性メモリデバイスは、着脱可能なメモリカードに埋め込まれる方法。 - 請求項21記載の方法において、
前記メモリカードは、コンパクトフラッシュ(登録商標)、マルチメディアカード、セキュアデジタル、ミニSD、メモリスティック、スマートメディア、またはトランスフラッシュの中から選択された規格に準拠する方法。 - 不揮発性メモリデバイスにデータを記憶するための複数のホストプロトコルに適合する着脱可能なメモリカードの形で不揮発性メモリデバイスを操作する方法であって、
オブジェクトのデータ量を示す指示を含むメタデータをホストから受信するステップと、
引き続き前記ホストから前記オブジェクトを受信し、前記ホストから受信されたオブジェクトのデータ量と前記メタデータが指示するデータ量とを比較することにより、前記オブジェクト全体を受信したかどうかを判断するステップと、
前記オブジェクト全体が受信されたと判断したことに応じて、前記ホストに対してその応答を送信し、前記オブジェクトに対応する前記不揮発性メモリデバイス内のファイルを閉鎖し、前記ファイルが閉鎖されたその結果として、前記ファイルをガーベッジコレクション用にマークするステップと、
前記不揮発性メモリデバイスに前記メタデータを記憶するステップと、
引き続き前記ファイルをホストが要求したときに、階層を再現するために前記メタデータが使用されるステップと、
を含む方法。 - 請求項23記載の方法において、
前記ホストは前記オブジェクトを含む階層を保守し、前記階層内の前記オブジェクトの位置は前記メタデータによって提供される方法。 - 請求項24記載の方法において、
前記ファイルは、前記階層におけるその位置にかかわりなく前記不揮発性メモリデバイスに記憶される方法。 - ブロック消去可能なメモリアレイおよびコントローラを備え、前記ブロック消去可能なメモリアレイにデータを記憶するための複数のホストプロトコルに適合する不揮発性メモリデバイスを操作する方法であって、
ホストに接続されるときにホストプロトコルを検出するステップと、
一意なファイル識別子を個々に有し、ファイルの長さの標示に先行される所定の長さのファイルを送信する、第1のホストプロトコルを検出したことに応じて、前記不揮発性メモリデバイスの第1のプロトコルアダプタを選択するステップと、
一意なファイル識別子を個々に有し、ファイルの長さの標示のないファイルを送信する、第2のホストプロトコルを検出したことに応じて、前記不揮発性メモリデバイスの第2のプロトコルアダプタを選択するステップと、
前記第1のプロトコルアダプタを通じて受信される第1のファイルを前記不揮発性メモリアレイの第1の複数のブロックに記憶し、かつ第1のファイルの一意な識別子と前記第1の複数のブロックとの間の第1のアソシエーションを記録するステップと、
前記第2のプロトコルアダプタを通じて受信される第2のファイルを前記不揮発性メモリアレイの第2の複数のブロックに記憶し、かつ第2のファイルの一意な識別子と前記第2の複数のブロックとの間の第2のアソシエーションを記録するステップと、
を含む方法。 - 請求項26記載の方法において、
前記第1のプロトコルアダプタは、所定の長さのデータを受信した後で、前記第1のホストプロトコルに対しての応答を生成する方法。 - 請求項26記載の方法において、
前記第1のプロトコルアダプタは、特定のファイル用の所定の長さのデータを受信したことに応じて、特定のファイルの終了を指示するファイル終了標識を生成し、その標識により、前記特定のファイルを閉鎖するとともにガーベッジコレクション用にスケジュールする方法。 - 請求項26記載の方法において、
前記第1または第2のプロトコルアダプタのうちの1つだけを一時に選択する方法。 - 請求項26記載の方法において、
前記第1または第2のプロトコルアダプタの中の異なるプロトコルアダプタを異なるときに交替的に選択して、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 | 2005-12-21 | ||
US11/316,578 US8291151B2 (en) | 2005-08-03 | 2005-12-21 | Enhanced host interface |
US11/316,577 US20070033326A1 (en) | 2005-08-03 | 2005-12-21 | Enhanced host interfacing methods |
US11/316,578 | 2005-12-21 | ||
PCT/US2006/030342 WO2007019258A2 (en) | 2005-08-03 | 2006-08-01 | Enhanced host interface |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2009518698A JP2009518698A (ja) | 2009-05-07 |
JP5068754B2 true 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 |
---|---|---|---|---|
US8452927B2 (en) | 2008-01-02 | 2013-05-28 | Sandisk Technologies Inc. | Distributed storage service systems and architecture |
US8370402B2 (en) | 2008-01-02 | 2013-02-05 | Sandisk Il Ltd | Dual representation of stored digital content |
US8583878B2 (en) | 2008-01-02 | 2013-11-12 | Sandisk Il Ltd. | Storage device having direct user access |
US9098506B2 (en) | 2008-01-02 | 2015-08-04 | Sandisk Il, Ltd. | Data indexing by local storage device |
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 |
US8943110B2 (en) | 2012-10-25 | 2015-01-27 | Blackberry Limited | Method and system for managing data storage and access on a client device |
EP2725477B1 (en) * | 2012-10-25 | 2015-06-24 | 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 |
Family Cites Families (10)
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 |
JP3622691B2 (ja) * | 2001-04-06 | 2005-02-23 | ソニー株式会社 | ディジタルカメラおよびデータ転送方法 |
US20020188592A1 (en) * | 2001-06-11 | 2002-12-12 | Storage Technology Corporation | Outboard data storage management system and method |
TWI246064B (en) * | 2002-07-29 | 2005-12-21 | Milsys Ltd | Data storage and processing device, electronic appliance, electronic system and method of operating an appliance that responds to a plurality of commands |
US20050286377A1 (en) * | 2002-11-07 | 2005-12-29 | Koninkleijke Philips Electronics, N.V. | Record carrier having a main file system area and a virtual file system area |
US20040164170A1 (en) * | 2003-02-25 | 2004-08-26 | Marcelo Krygier | Multi-protocol memory card |
JPWO2005001701A1 (ja) * | 2003-06-27 | 2006-08-10 | 松下電器産業株式会社 | スレイブ装置、通信設定方法 |
JP4318075B2 (ja) * | 2003-08-29 | 2009-08-19 | 富士フイルム株式会社 | Usbファンクション装置 |
JP2005122439A (ja) * | 2003-10-16 | 2005-05-12 | Sharp Corp | デバイス機器、及びデバイス機器の記録装置のフォーマット変換方法 |
-
2006
- 2006-08-01 EP EP06789350A patent/EP1920318A2/en not_active Withdrawn
- 2006-08-01 KR KR1020087005053A patent/KR101055324B1/ko active IP Right Grant
- 2006-08-01 JP JP2008525201A patent/JP5068754B2/ja not_active Expired - Fee Related
- 2006-08-01 WO PCT/US2006/030342 patent/WO2007019258A2/en active Application Filing
Also Published As
Publication number | Publication date |
---|---|
KR20080042850A (ko) | 2008-05-15 |
WO2007019258A2 (en) | 2007-02-15 |
KR101055324B1 (ko) | 2011-08-08 |
EP1920318A2 (en) | 2008-05-14 |
WO2007019258A3 (en) | 2007-07-19 |
JP2009518698A (ja) | 2009-05-07 |
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 | |
US7877540B2 (en) | Logically-addressed file storage methods | |
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) | フラッシュメモリシステムのデータ記憶容量の解放 | |
US20070143566A1 (en) | Non-volatile memories with data alignment in a directly mapped file storage system | |
US20070143378A1 (en) | Non-volatile memories with adaptive file handling in a directly mapped file storage system | |
JP2009503729A (ja) | 論理アドレス空間と直接データファイル方式で動作するインターフェイスシステム | |
JP4977703B2 (ja) | 予定再生操作を伴う不揮発性メモリ | |
US20070136553A1 (en) | Logically-addressed file storage systems | |
KR101378031B1 (ko) | 데이터 파일을 직접적으로 저장하는 메모리 블록의 관리 | |
KR101464199B1 (ko) | 연속 논리 주소 공간 인터페이스를 구비한 다이렉트 데이터 파일 시스템을 사용하는 방법 | |
US20090164745A1 (en) | System and Method for Controlling an Amount of Unprogrammed Capacity in Memory Blocks of a Mass Storage System | |
JP4441577B2 (ja) | 固定サイズ格納ブロックを有するメモリシステムにおける変換データ単位格納 | |
JP2009519555A (ja) | 論理アドレス形ファイル記憶 | |
KR20090108695A (ko) | 다이렉트 데이터 파일 메모리 시스템에서 lba 인터페이스를 관리하는 방법 |
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 |