JP5416697B2 - Method and system for communicating with a non-volatile memory storage device - Google Patents
Method and system for communicating with a non-volatile memory storage device Download PDFInfo
- Publication number
- JP5416697B2 JP5416697B2 JP2010515224A JP2010515224A JP5416697B2 JP 5416697 B2 JP5416697 B2 JP 5416697B2 JP 2010515224 A JP2010515224 A JP 2010515224A JP 2010515224 A JP2010515224 A JP 2010515224A JP 5416697 B2 JP5416697 B2 JP 5416697B2
- Authority
- JP
- Japan
- Prior art keywords
- storage device
- command
- host system
- file
- analysis module
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4204—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
- G06F13/4234—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus
- G06F13/4239—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus with asynchronous protocol
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- 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/0646—Configuration or reconfiguration
- G06F12/0653—Configuration or reconfiguration with centralised address assignment
-
- 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/0646—Configuration or reconfiguration
- G06F12/0653—Configuration or reconfiguration with centralised address assignment
- G06F12/0661—Configuration or reconfiguration with centralised address assignment and decentralised selection
-
- 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/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1009—Address translation using page tables, e.g. page table structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/14—Tree-structured documents
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/14—Tree-structured documents
- G06F40/143—Markup, e.g. Standard Generalized Markup Language [SGML] or Document Type Definition [DTD]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
- G06F40/221—Parsing markup language streams
-
- 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/17—Embedded application
- G06F2212/177—Smart card
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Multimedia (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
本発明は、不揮発性メモリストレージ装置に関し、より具体的には不揮発性メモリストレージ装置との通信に関する。 The present invention relates to a nonvolatile memory storage device, and more specifically to communication with a nonvolatile memory storage device.
関連出願の相互参照
本願は、その全体が本願明細書において参照により援用されている、2007年6月29日に出願された米国特許出願第11/771,203号(特許文献1)と2007年6月29日に出願された米国特許出願第11/771,165号(特許文献2)の利益を主張する。
CROSS-REFERENCE TO RELATED APPLICATIONS This application, the entirety of which is hereby incorporated by reference, filed on June 29, 2007 U.S. Patent Application Serial No. 11 / 771,203 (Patent Document 1) and 2007 Claims the benefit of US patent application Ser. No. 11 / 771,165, filed Jun. 29.
情報の蓄積にあたって、不揮発性メモリストレージ装置が一般的に利用されている。これらの装置は携帯電話機、デジタルカメラ、デスクトップコンピュータ、ラップトップコンピュータ、およびその他の類似のシステムで使われている(本願明細書では合同的かつ互換的に「ホストシステム」または「ホスト」と呼ぶ)。
各種のホストシステムプラットフォームではソフトウェア層(ソフトウェア開発キット(SDK)層と呼ばれることもある)を使用し、不揮発性メモリスストレージデバイスドライバを介して不揮発性メモリストレージ装置と通信する。不揮発性メモリストレージ装置のさらなる機能にアクセスするため、ホストシステムにSDK層を追加することもあり、これにより、これらのSDK層なしでは利用できない不揮発性メモリストレージ装置のさらなる機能にアクセスすることができる。異なるホストシステム提供業者へのSDK移植は厄介であり、これを軽減することが望まれる。
A nonvolatile memory storage device is generally used for storing information. These devices are used in mobile phones, digital cameras, desktop computers, laptop computers, and other similar systems (referred to herein collectively and interchangeably as “host systems” or “hosts”). .
Various host system platforms use a software layer (sometimes referred to as a software development kit (SDK) layer) to communicate with a non-volatile memory storage device via a non-volatile memory storage device driver. In order to access further functions of the non-volatile memory storage device, an SDK layer may be added to the host system, thereby allowing access to additional functions of the non-volatile memory storage device that are not available without these SDK layers. . Porting SDK to different host system providers is cumbersome and it is desirable to mitigate this.
一実施形態において、ストレージ装置のための方法が提供される。この方法は、ストレージ装置のコマンド解析モジュールにより、ホストシステムからのコマンドを解釈することと、コマンド解析モジュールにより、操作に関する情報をコマンドから抽出することとを含む。 In one embodiment, a method for a storage device is provided. This method includes interpreting a command from the host system by the command analysis module of the storage apparatus, and extracting information related to the operation from the command by the command analysis module.
別の実施形態において、ストレージ装置のための方法が提供される。この方法は、ストレージ装置により、ホストシステムからプラットフォーム独立形式コマンドを受信することと、ストレージ装置のコマンド解析モジュールにより、コマンドを解釈することと、コマンド解析モジュールにより、操作に関する情報をコマンドから抽出することと、ストレージ装置によって操作が実行された後、コマンド解析モジュールにより、ホストシステムへ応答を送信することとを含む。 In another embodiment, a method for a storage device is provided. In this method, the storage device receives a platform independent command from the host system, interprets the command by the command analysis module of the storage device, and extracts information about the operation from the command by the command analysis module. And sending a response to the host system by the command analysis module after the operation is executed by the storage apparatus.
さらに別の実施形態において、ストレージ装置のための方法が提供される。この方法は、ストレージ装置により、ホストシステムからプラットフォーム独立形式コマンドを受信することと、ストレージ装置のファームウェアコードにより、コマンドにて操作指令の有無を検出することと、コマンド解析モジュールにより、操作に関する情報をコマンドから抽出することと、ストレージ装置によって操作が実行された後、コマンド解析モジュールにより、ホストシステムへ応答を送信することとを含む。 In yet another embodiment, a method for a storage device is provided. In this method, the storage device receives a platform independent format command from the host system, the storage device firmware code detects the presence / absence of an operation command, and the command analysis module provides information about the operation. Extracting from the command and sending a response to the host system by the command analysis module after the operation is performed by the storage device.
一実施形態において、ストレージ装置が提供される。このストレージ装置は、ホストシステムからのプラットフォーム独立形式コマンドを解釈し、かつ操作に関する情報をコマンドから抽出する、コマンド解析モジュールを含み、このコマンド解析モジュールはホストシステムと連携する。 In one embodiment, a storage device is provided. The storage apparatus includes a command analysis module that interprets platform-independent commands from the host system and extracts operation information from the commands, and the command analysis module cooperates with the host system.
別の実施形態において、ストレージ装置が提供される。このストレージ装置は、ホストシステムからプラットフォーム独立形式コマンドを受信し、コマンドを解釈し、操作に関する情報をコマンドから抽出し、かつストレージ装置によって操作が実行された後にホストシステムへ応答を送信する、コマンド解析モジュールを含む。 In another embodiment, a storage device is provided. This storage device receives a platform independent command from the host system, interprets the command, extracts information about the operation from the command, and sends a response to the host system after the operation is performed by the storage device. Includes modules.
さらに別の実施形態において、ストレージ装置が提供される。このストレージ装置は、ホストシステムからプラットフォーム独立形式コマンドを受信し、ストレージ装置のファームウェアコードがコマンドにて操作指令の有無を検出した後に操作に関する情報をコマンドから抽出し、かつストレージ装置によって操作が実行された後にホストシステムへ応答を送信する、コマンド解析モジュールを含む。 In yet another embodiment, a storage device is provided. This storage device receives a platform independent format command from the host system, extracts information about the operation from the command after the firmware code of the storage device detects the presence or absence of an operation command in the command, and the operation is executed by the storage device It includes a command parsing module that sends a response to the host system afterwards.
この簡単な概要は、説明の本質を速やかに理解できるように提供されたものである。この後に続く好適な実施形態の詳細な説明を添付の図面と併せて参照することにより、より完全に説明を理解することができる。 This brief summary has been provided so that the nature of the description may be understood quickly. A more complete understanding can be obtained by reference to the following detailed description of the preferred embodiment in conjunction with the accompanying drawings.
これより種々の実施形態の図面を参照しながら前述した特徴とその他の特徴を説明する。図面において、同じ構成要素には同じ参照符号を付す。図に示された実施形態は、説明を制限することではなく図解することを目的とする。図面は以下の図を含む。 The above-described features and other features will now be described with reference to the drawings of various embodiments. In the drawings, the same components are denoted by the same reference numerals. The embodiments shown in the figures are intended to be illustrative rather than limiting. The drawings include the following figures.
種々の実施形態の理解を助けるため、計算システムと不揮発性メモリストレージ装置の一般的なアーキテクチャおよび動作を先に説明する。次に、一般的なアーキテクチャを参照しながら具合的なアーキテクチャおよび動作を説明する。 To assist in understanding the various embodiments, the general architecture and operation of computing systems and non-volatile memory storage devices are described first. Next, specific architecture and operation will be described with reference to a general architecture.
図1Aは、システムバス105へ接続された中央処理装置(「CPU」)(またはマイクロプロセッサ、またはプロセッサ)101を含む典型的なホストシステム100のブロック図を示す。システムバス105へ結合されたランダムアクセスメインメモリ(「RAM」)103は、メモリストレージへのアクセスをCPU101に提供する。CPU101はプログラム命令を実行するときに処理ステップをRAM103に蓄積し、蓄積された処理ステップをRAM103から実行する。
ホストシステム100は、ネットワークインターフェイス104経由でコンピュータネットワーク(図示せず)へ接続する。インターネットはこのようなネットワークの1つであり、ホストシステム100はインターネットからアプリケーション、コード、文書等の電子情報をダウンロードできる。
起動命令シーケンスや基本入出力操作システム(BIOS)シーケンス等、一定の命令シーケンスを蓄積するため、読み出し専用メモリ(「ROM」)102を設ける。
キーボード、キーパッド、ポインティングデバイス(「マウス」)、モニタ、モデム等の入出力(「I/O」)装置106も設ける。
FIG. 1A shows a block diagram of an
The
A read-only memory (“ROM”) 102 is provided to store certain command sequences, such as startup command sequences and basic input / output operating system (BIOS) sequences.
An input / output (“I / O”)
ホストシステム100と結合する不揮発性メモリストレージ装置111は、コントローラモジュール108(「メモリコントローラ」または「コントローラ」と呼ばれることもある)とソリッドステートメモリモジュール109〜110(メモリモジュール#1およびメモリモジュール#Nと図に示されている)とを含む。コントローラモジュール108はバスインターフェイス107を介して、あるいはシステムバス105を介して直接的に、あるいは他の何らかの周辺バス(図示せず)を介して、ホストプロセッサ101と連携する。
The nonvolatile
不揮発性メモリストレージ装置111は、一実施形態において、フラッシュメモリ装置(またはカード)であってもよい。コンパクトフラッシュ(CF)、マルチメディアカード(MMC)、セキュアデジタル(SD)、ミニSD、メモリスティック、スマートメディア、トランスフラッシュ等、現在様々なフラッシュメモリカードが数多く市販されている。これらのカードはいずれも規格化された仕様(例えば、その全体が本願明細書において参照により援用されているユニバーサルシリアルバス(USB)仕様に基づくインターフェイス)に基づく特有の機械的および/または電気的インターフェイス(あるいは無線インターフェイス等、タイプの異なる何らかのインターフェイス)を有するが、それぞれに内蔵されたフラッシュメモリはよく似ている。これらのカードはいずれも、本件出願人にあたるサンディスク コーポレイションより入手できる。
サンディスク コーポレイションはまた、そのCruzerという商標のもとで一連のフラッシュドライブを提供している。これはユニバーサルシリアルバス(USB)プラグを有する小型の手持ち型メモリシステムであって、ホストシステムとの接続にあたってこのプラグをホストのUSB差込口に差し込む。これらのメモリカードとフラッシュドライブはコントローラを内蔵し、このコントローラがホストシステムと連携して、ホストシステムに内蔵されたフラッシュメモリの動作を制御する。
The nonvolatile
SanDisk Corporation also offers a series of flash drives under its Cruzer trademark. This is a small handheld memory system having a universal serial bus (USB) plug, and this plug is inserted into the USB insertion port of the host for connection with the host system. These memory cards and flash drives incorporate a controller, and this controller cooperates with the host system to control the operation of the flash memory incorporated in the host system.
このようなメモリカードとフラッシュドライブを使用するホストシステム(100等)は数多くあり、様々である。例えば、パーソナルコンピュータ(PC)、ラップトップをはじめとするポータブルコンピュータ、携帯電話機、個人用携帯情報端末(PDA)、デジタル静止画カメラ、デジタル動画カメラ、ポータブルオーディオプレイヤ等を挙げることができる。ホストは通常ならば1種類以上のメモリカードまたはフラッシュドライブに対応する差込口を内蔵するが、メモリカードを差し込むアダプタが必要なものもある。 There are many host systems (such as 100) using such a memory card and a flash drive, and various. For example, a personal computer (PC), a portable computer such as a laptop, a mobile phone, a personal digital assistant (PDA), a digital still camera, a digital video camera, a portable audio player, and the like can be given. Normally, the host has a built-in port corresponding to one or more types of memory cards or flash drives, but some hosts require an adapter for inserting a memory card.
図1Bは、コントローラモジュール108の内部アーキテクチャのブロック図を示す。コントローラモジュール108はマイクロコントローラ114を含み、マイクロコントローラは、インターフェイスロジック116を通じて他の様々なコンポーネントと連携する。メモリ115には、マイクロコントローラ114が不揮発性メモリストレージ装置111の動作を制御するためのファームウェアおよびソフトウェア命令が蓄積される。メモリ115は、揮発性の再プログラム可能なランダムアクセスメモリ(「RAM」)か、再プログラム不可能な不揮発性メモリ(「ROM」)か、一度だけプログラム可能なメモリか、再プログラム可能なフラッシュ形式の電気的に消去可能でプログラム可能な読み出し専用メモリ(「EEPROM」)であってもよい。
ホストインターフェイス113はホストシステム100と連携し、メモリインターフェイス112はメモリモジュール109〜110と連携する。
FIG. 1B shows a block diagram of the internal architecture of the
The
図1Cは、ストレージデバイスドライバ121とSDK層118とを用いて不揮発性メモリストレージ装置111と通信する従来型オペレーティングシステムの最上位ブロック図を示す。ソフトウェアアプリケーション117はホストシステム100によって実行され、不揮発性メモリストレージ装置111に蓄積された情報を読み出すコマンドか、不揮発性メモリストレージ装置111で情報を書き込むコマンドか、他の何らかの機能を遂行するコマンドを送信する。これらの操作はファームウェア命令119を実行するマイクロコントローラ114によって遂行される。
ホストシステム100には、不揮発性メモリストレージ装置111へのアクセスにあたってSDK層118が必要になることがある。使用するオペレーティングシステムはホストシステム100によって異なるため、バージョンが異なるSDK層118が必要になる。これはストレージ装置の提供業者にとって厄介であり、不揮発性メモリストレージ装置111を使用するユーザにも支障をきたすことがある。
FIG. 1C shows a top-level block diagram of a conventional operating system that communicates with the non-volatile
The
一実施形態において、不揮発性メモリストレージ装置111AへのアクセスにあたってSDK層118が不要か、パーシャルSDK層120(SDK層118の薄バージョン)(「薄SDK層」と呼ぶ)を使用する、簡略されたアーキテクチャが提供される。図1Dは、プラットフォームに依存しない形式で不揮発性メモリストレージ装置111Aと通信する最上位アーキテクチャのブロック図を示す。不揮発性メモリストレージ装置111Aは、不揮発性メモリストレージ装置111の全コンポーネントを含むほか、後述する、ホストシステム100と連携するコマンド解析モジュール122を含む。
コマンド解析モジュール122は、ホストシステム100からストレージドライバ121と薄SDK層120とを通じて送信されるコマンドを解析する。これらのコマンドは汎用形式をとるため、ホストシステムごとに別々のSDK層118を用意する必要はない。
In one embodiment, the
The
コマンド解析モジュール122は、一実施形態において、XMLパーサである。XMLは、その全体が本願明細書において参照により援用されているW3Cコンソーシアムによって定義される標準マークアップ言語(拡張マークアップ言語(Extensible Markup language))の略である。XMLは普及しつつあるテキスト方式のマークアップ言語である。HTML(ハイパーテキストマークアップ言語)と同様に、データはタグ(山括弧で括られた識別子<...>等)を用いて識別する。これらのタグはいずれも「マークアップ」と呼ばれている。しかし、HTMLと違ってXMLのタグはデータ表示のあり方を指定するのではなく、データを識別するものである。HTMLのタグは「このデータを太字フォントで表示」(<b>...</b>)と指定するが、XMLのタグは、プログラムにおけるフィールド名のような働きをする。XMLのタグはアプリケーションのタイプに応じてカスタマイズできる。この実施形態のコマンド解析モジュール122は、ホストシステム100からXMLタグ(コマンド)を受信し、解釈できる。
The
パーシャルSDK層120とコマンド解析モジュール122との間では、読み出し、書き込み、削除、ディレクトリ作成コマンド等、種々のファイルシステムコマンドに対応するXMLタグが規定されている。ホストシステム100によって送信されるXMLタグは、ディレクトリ作成、データ書き込み、データ読み出し等、複数の操作の実行命令を含むことがある。操作の実行にあたって、コマンド解析モジュール122が操作に関する情報を抽出し、不揮発性メモリストレージ装置111Aの適当なコンポーネント/モジュール(マイクロコントローラ114等)に通知する。
Between the
図2は、薄SDK層120を使用するか、SDK層118を使用せずに不揮発性メモリストレージ装置111Aと通信するプロセスの流れ図を示す。このプロセスは、ホストシステム100が不揮発性メモリストレージ装置111Aへクエリコマンドを送信するステップS200で始まる。ステップS202では、不揮発性メモリストレージ装置111Aでサポートされた機能に関する情報が不揮発性メモリストレージ装置111Aから送信される。
ステップS204では、ホストシステム100がプラットフォーム独立形式のコマンドを送信する。プラットフォーム独立形式とは、コマンドの形式がホストシステム100のオペレーティングシステム/環境に左右されないことを意味する。例えば、XML等がプラットフォーム独立形式にあたる。
コマンド解析モジュール122は、ステップS206でコマンド(またはタグ)を解析し、ホストシステム100が要望する任意の操作について情報を抽出する。1つのタグに複数の操作の情報を入れることもできる。コマンド解析モジュール122は、操作を実行すべきモジュールに通知する。
ステップS208では操作が実行され、ホストシステム100が応答を望む場合には、コマンド解析モジュール122がホストシステム100に応答を送り返す。
FIG. 2 shows a flow diagram of a process for communicating with the non-volatile
In step S204, the
The
In step S <b> 208, if an operation is executed and the
以下、一実施形態に従いXMLタグを使用する一例を紹介する。この例のホストシステムはディレクトリ作成コマンドを送信してもよい。以下に記された斜体のテキストは、この操作の実行に用いられるXMLタグを示す。タグ「Path」にはディレクトリ名が入り、ホストがステータスを知りたい場合には、タグ「RetStatus」に操作の「リターンステータス」が蓄積される。以下、ディレクトリを作成するためのXMLタグを示す。
<FileSystemOperation>
<OpType>CreateDirectory</OpType>
<Parameters>
<Path>”0:\\MyDir\\MyMusic”</Path>
</Parameters>
<RetStatus></RetStatus>
</FileSystemOperation>
Hereinafter, an example of using an XML tag according to an embodiment will be introduced. The host system in this example may send a directory creation command. The italic text described below indicates the XML tag used to perform this operation. If the directory name is entered in the tag “Path” and the host wants to know the status, the “return status” of the operation is accumulated in the tag “RetStatus”. An XML tag for creating a directory is shown below.
<FileSystemOperation>
<OpType> CreateDirectory </ OpType>
<Parameters>
<Path>"0: \\ MyDir \\ MyMusic"</Path>
</ Parameters>
<RetStatus></RetStatus>
</ FileSystemOperation>
図3は、図2の処理ステップを使用する一例を示す。この例のホストシステム100は携帯電話機である。例えば、ホストシステム100は、ディレクトリを作成するためのXMLタグ(例えば、パケット/ファイル「write SNDK.XML」)を用意する。このXMLタグは、ファイルシステムオペレーションによって識別される。不揮発性メモリストレージ装置111Aは、XMLタグで指定された操作をサポートしない場合には、その旨を伝える応答(またはステータス)「Interface_Not_Supported」を返すことができる。
ファームウェア119は、タグの書き込みに先立ちXMLタグで操作指令の有無を判断する。これは、ファームウェア119がファイルシステム操作を識別するために使用可能な特別な識別子を使用することにより達成され得る。
コマンド解析モジュール122はXMLパケットを傍受し、要求された操作を実行するため、適当なモジュールに通知する。操作が実行された後にはコマンド解析モジュール122がホストシステム100へステータスXMLパケットを送信する。
ホストシステム100は、操作ステータスのチェックを望む場合にタグを読み返すことができる。例えば、図3では、「0:\\myDir\\MyMusic」作成の結果として「SD_SUCCESS」が返っている。
一実施形態において、不揮発性メモリストレージ装置と通信しその機能にアクセスするにあたって、パーシャルSDK層が必要となる場合と、SDK層が不要となる場合とがある。
FIG. 3 shows an example of using the processing steps of FIG. The
The
The
The
In one embodiment, a partial SDK layer may be required or an SDK layer may be unnecessary when communicating with a nonvolatile memory storage device and accessing its functions.
前述した実施形態の説明では不揮発性メモリストレージ装置が使われているが、ハードディスクやテープドライブ、またはその他の種類のホストシステムとの連携にあたってメモリコントローラや状態マシン等のハードウェア/ソフトウェアを使用するストレージ装置等、いかなるタイプのストレージ装置であっても前述した実施形態を実装できることに留意するべきである。
現時点で好適な実施形態と考えられるものについて説明が記されているが、この説明が前述したものに限定されないことが理解できるはずである。反対に、本願の説明は様々な修正および等価構成を添付の特許請求の範囲の精神および範囲内に含めることを目的とする。
In the above description of the embodiment, a non-volatile memory storage device is used. However, a storage that uses hardware / software such as a memory controller or a state machine in cooperation with a hard disk, a tape drive, or other types of host systems. It should be noted that the above-described embodiments can be implemented with any type of storage device, such as a device.
While an explanation has been given of what is presently considered to be the preferred embodiment, it should be understood that the description is not limited to that described above. On the contrary, the description herein is intended to cover various modifications and equivalent arrangements within the spirit and scope of the appended claims.
Claims (18)
ホストシステムからのファイルを前記ストレージ装置で受信するステップと、
受信したファイルに、前記ストレージ装置によって操作を要求するコマンドが含まれるか否かを判断するステップと、
前記ストレージ装置によって操作を要求するコマンドが前記ファイルに含まれると判断したことを受けて、
前記ストレージ装置のコマンド解析モジュールにより、前記コマンドを解釈するステップと、
前記コマンド解析モジュールにより、操作に関する情報を前記コマンドから抽出するステップと、
前記ストレージ装置によって操作を実行した後で前記ホストシステムに送信すべき応答を含むように受信したファイルのコンテンツを修正し、その修正したファイルを前記ストレージ装置に書き込み、前記ホストシステムが前記修正したファイルを読み出す要求を前記ストレージ装置に対して発行したことに応じて、前記ファイルを前記ホストシステムに返すことによって、操作を実行した後に、前記コマンド解析モジュールにより、前記ホストシステムへ応答を送信するステップと、
前記ストレージ装置によって操作を要求するコマンドが前記ファイルに含まれないと判断したことを受けて、前記ファイルを前記ストレージ装置に書き込むステップと、
を含む方法。 A method for the storage device,
Receiving a file from the host system the storage device,
Determining whether the received file includes a command requesting an operation by the storage device;
In response to determining that the file includes a command requesting an operation by the storage device,
Interpreting the command by a command analysis module of the storage device;
Extracting information about operation from the command by the command analysis module;
The content of the received file is modified to include a response to be sent to the host system after an operation is performed by the storage device, the modified file is written to the storage device, and the modified file is written by the host system. in response to the requesting to read the to the storage device by returning the file to the host system, after performing the operation, by the command analysis module, and transmits a response to the host system step And
In response to determining that the command requesting an operation by the storage device is not included in the file, writing the file to the storage device;
Including methods.
前記コマンドには複数の操作に関する情報が埋め込まれる方法。 The method of claim 1, wherein
A method in which information related to a plurality of operations is embedded in the command.
前記コマンド解析モジュールは、前記操作に関する情報を前記ストレージ装置のモジュールに提供する方法。 The method of claim 1, wherein
The command analysis module provides information related to the operation to a module of the storage apparatus.
前記モジュールは、マイクロコントローラである方法。 The method of claim 3, wherein
The method wherein the module is a microcontroller.
前記コマンド解析モジュールは、XMLパーサである方法。 The method of claim 1, wherein
The command analysis module is an XML parser.
前記ストレージ装置は、不揮発性メモリストレージ装置である方法。 The method of claim 1, wherein
The storage device is a non-volatile memory storage device.
前記ファイルに、前記ストレージ装置によって操作を要求するコマンドが含まれるか否かを前記ストレージ装置のファームウェアコードにより判断する方法。 The method of claim 1, wherein
A method of determining whether or not the file includes a command for requesting an operation by the storage device, based on a firmware code of the storage device .
前記コマンド解析モジュールは、パーシャルソフトウェア層を介して前記ホストシステムと連携する方法。 The method of claim 1 , wherein
The command analysis module cooperates with the host system through a partial software layer.
前記ストレージ装置は、前記ホストシステムにリムーバブルストレージを提供するフラッシュメモリドライブまたはフラッシュメモリカードを備える方法。 The method of claim 1, wherein
Wherein the storage device, how Ru provided with a flash memory drive or a flash memory card provides removable storage to the host system.
コマンド解析モジュールであって、
ホストシステムからファイルを受信し、
受信したファイルに、前記ストレージ装置によって操作を要求するコマンドが含まれるか否かを判断し、
前記ストレージ装置によって操作を要求するコマンドが前記ファイルに含まれると判断したことを受けて、
前記コマンドを解釈し、
操作に関する情報を前記コマンドから抽出し、
前記ストレージ装置によって操作を実行した後で前記ホストシステムに送信すべき応答を含むように受信したファイルのコンテンツを修正し、その修正したファイルを前記ストレージ装置に書き込み、前記ホストシステムが前記修正したファイルを読み出す要求を前記ストレージ装置に対して発行したことに応じて、前記ファイルを前記ホストシステムに返すことによって、操作を実行した後に前記ホストシステムへ応答を送信し、かつ
前記ストレージ装置によって操作を要求するコマンドが前記ファイルに含まれないと判断したことを受けて、前記ファイルを前記ストレージ装置に書き込むためのコマンド解析モジュールを備えるストレージ装置。 A storage device,
A command analysis module,
Receive files from the host system,
Determine whether the received file includes a command for requesting an operation by the storage device,
In response to determining that the file includes a command requesting an operation by the storage device,
Interpret the command,
Extract information about the operation from the command,
The content of the received file is modified to include a response to be sent to the host system after an operation is performed by the storage device, the modified file is written to the storage device, and the modified file is written by the host system. In response to issuing a request to read to the storage device, sending a response to the host system after performing an operation by returning the file to the host system, and
The command requesting the operation by the storage device in response to the fact that it is determined to be not included in the file, Bei obtain storage device command analysis module for writing said file to said storage device.
前記コマンドには複数の操作に関する情報が埋め込まれるストレージ装置。 The storage apparatus according to claim 10 , wherein
A storage device in which information related to a plurality of operations is embedded in the command.
前記コマンド解析モジュールは、前記操作に関する情報を前記ストレージ装置のモジュールに提供するストレージ装置。 The storage apparatus according to claim 10 , wherein
The command analysis module is a storage device that provides information related to the operation to a module of the storage device.
前記モジュールは、マイクロコントローラであるストレージ装置。 The storage apparatus according to claim 12 , wherein
The module is a storage device that is a microcontroller.
前記コマンド解析モジュールは、XMLパーサであるストレージ装置。 The storage apparatus according to claim 10 , wherein
The command analysis module is a storage device that is an XML parser.
前記ストレージ装置は、不揮発性メモリストレージ装置であるストレージ装置。 The storage apparatus according to claim 10 , wherein
The storage device is a non-volatile memory storage device.
前記ファイルに、前記ストレージ装置によって操作を要求するコマンドが含まれるか否かを前記ストレージ装置のファームウェアコードにより判断するストレージ装置。 The storage apparatus according to claim 10, wherein
A storage apparatus that determines, based on a firmware code of the storage apparatus, whether the file includes a command that requests an operation by the storage apparatus.
前記コマンド解析モジュールは、パーシャルソフトウェア層を介して前記ホストシステムと連携するストレージ装置。 The storage apparatus according to claim 10 , wherein
The command analysis module is a storage device that cooperates with the host system via a partial software layer.
前記ストレージ装置は、前記ホストシステムにリムーバブルストレージを提供するフラッシュメモリドライブまたはフラッシュメモリカードを備えるストレージ装置。 The storage apparatus according to claim 10, wherein
The storage apparatus includes a flash memory drive or a flash memory card that provides removable storage to the host system.
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/771,203 | 2007-06-29 | ||
US11/771,165 | 2007-06-29 | ||
US11/771,203 US8429328B2 (en) | 2007-06-29 | 2007-06-29 | System for communicating with a non-volatile memory storage device |
US11/771,165 US8433842B2 (en) | 2007-06-29 | 2007-06-29 | Method for communicating with a non-volatile memory storage device |
PCT/US2008/068796 WO2009006408A2 (en) | 2007-06-29 | 2008-06-30 | Methods and systems for communicating with a non-volatile memory storage device |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2010534873A JP2010534873A (en) | 2010-11-11 |
JP5416697B2 true JP5416697B2 (en) | 2014-02-12 |
Family
ID=39930812
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010515224A Expired - Fee Related JP5416697B2 (en) | 2007-06-29 | 2008-06-30 | Method and system for communicating with a non-volatile memory storage device |
Country Status (4)
Country | Link |
---|---|
EP (1) | EP2171618A2 (en) |
JP (1) | JP5416697B2 (en) |
KR (1) | KR101570662B1 (en) |
WO (1) | WO2009006408A2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102267041B1 (en) * | 2015-06-05 | 2021-06-22 | 삼성전자주식회사 | Storage device and operation method thereof |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7149813B2 (en) * | 2001-08-14 | 2006-12-12 | Microsoft Corporation | Method and system for synchronizing mobile devices |
JP2004046817A (en) * | 2002-05-23 | 2004-02-12 | Ricoh Co Ltd | Program, storage medium, data management device, and data management system |
DE10234158A1 (en) * | 2002-07-26 | 2004-02-05 | Giesecke & Devrient Gmbh | Set up a file system on a disk |
US20040052166A1 (en) * | 2002-09-16 | 2004-03-18 | Koninklijke Philips Electronics N.V. | Command set for removable rewritable computer storage |
CN1260642C (en) * | 2002-11-18 | 2006-06-21 | 深圳市朗科科技有限公司 | Method for transmitting command and data to portable storage device |
JP2004318940A (en) | 2003-04-14 | 2004-11-11 | Renesas Technology Corp | Storage device |
-
2008
- 2008-06-30 WO PCT/US2008/068796 patent/WO2009006408A2/en active Application Filing
- 2008-06-30 JP JP2010515224A patent/JP5416697B2/en not_active Expired - Fee Related
- 2008-06-30 KR KR1020107001899A patent/KR101570662B1/en active IP Right Grant
- 2008-06-30 EP EP08781179A patent/EP2171618A2/en not_active Ceased
Also Published As
Publication number | Publication date |
---|---|
WO2009006408A2 (en) | 2009-01-08 |
KR20100058452A (en) | 2010-06-03 |
KR101570662B1 (en) | 2015-11-23 |
EP2171618A2 (en) | 2010-04-07 |
WO2009006408A3 (en) | 2009-04-30 |
JP2010534873A (en) | 2010-11-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7447821B2 (en) | U3 adapter | |
US7913252B2 (en) | Portable platform for executing software applications in a virtual environment | |
US8799521B2 (en) | System and method for receiving control commands at a peripheral device | |
US8701104B2 (en) | System and method for user agent code patch management | |
US20060250360A1 (en) | Smart pointer | |
JP2009510544A (en) | Decompression technology for generating software images | |
US8429328B2 (en) | System for communicating with a non-volatile memory storage device | |
CN114564158B (en) | Method, device, equipment and medium for controlling document printing under Linux system | |
CN102937963A (en) | Template and server content download using protocol handlers | |
US8433842B2 (en) | Method for communicating with a non-volatile memory storage device | |
TW201034018A (en) | System and method to respond to a data file deletion instruction | |
US20030237052A1 (en) | Method and an apparatus for styling a web service | |
JP5416697B2 (en) | Method and system for communicating with a non-volatile memory storage device | |
TW201032048A (en) | Network adapter, method & computer program product | |
US20100017554A1 (en) | System and method for managing a plugged device | |
US8661425B1 (en) | Method, apparatus, and computer-readable medium for storing data associated with a firmware program | |
TWI453667B (en) | Methods and apparatuses for launching a program application | |
CN102207862A (en) | Apparatus, systems, and methods for dynamic language customization | |
CN114327733A (en) | Dynamic updating method, device, equipment and medium for starting interactive interface | |
US7516261B2 (en) | Method for U3 adapter | |
JP2011215889A (en) | Information processing apparatus and method for starting the same | |
US8200895B2 (en) | File system recognition structure | |
CN113504936B (en) | Software version release method, computer device and storage medium | |
US20110082986A1 (en) | Electronic device for providing self-adapting services depending on the platform of the host equipment with which it is connected | |
EP1830276B1 (en) | Method for a host end fixedly naming a common serial port device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20110620 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20120730 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130205 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20130502 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20130513 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20130603 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20130610 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20130621 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20130628 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130802 |
|
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: 20131022 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20131115 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5416697 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
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 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
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 |