JP5416697B2 - 不揮発性メモリストレージ装置と通信する方法およびシステム - Google Patents
不揮発性メモリストレージ装置と通信する方法およびシステム 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
本願は、その全体が本願明細書において参照により援用されている、2007年6月29日に出願された米国特許出願第11/771,203号(特許文献1)と2007年6月29日に出願された米国特許出願第11/771,165号(特許文献2)の利益を主張する。
各種のホストシステムプラットフォームではソフトウェア層(ソフトウェア開発キット(SDK)層と呼ばれることもある)を使用し、不揮発性メモリスストレージデバイスドライバを介して不揮発性メモリストレージ装置と通信する。不揮発性メモリストレージ装置のさらなる機能にアクセスするため、ホストシステムにSDK層を追加することもあり、これにより、これらのSDK層なしでは利用できない不揮発性メモリストレージ装置のさらなる機能にアクセスすることができる。異なるホストシステム提供業者へのSDK移植は厄介であり、これを軽減することが望まれる。
ホストシステム100は、ネットワークインターフェイス104経由でコンピュータネットワーク(図示せず)へ接続する。インターネットはこのようなネットワークの1つであり、ホストシステム100はインターネットからアプリケーション、コード、文書等の電子情報をダウンロードできる。
起動命令シーケンスや基本入出力操作システム(BIOS)シーケンス等、一定の命令シーケンスを蓄積するため、読み出し専用メモリ(「ROM」)102を設ける。
キーボード、キーパッド、ポインティングデバイス(「マウス」)、モニタ、モデム等の入出力(「I/O」)装置106も設ける。
サンディスク コーポレイションはまた、そのCruzerという商標のもとで一連のフラッシュドライブを提供している。これはユニバーサルシリアルバス(USB)プラグを有する小型の手持ち型メモリシステムであって、ホストシステムとの接続にあたってこのプラグをホストのUSB差込口に差し込む。これらのメモリカードとフラッシュドライブはコントローラを内蔵し、このコントローラがホストシステムと連携して、ホストシステムに内蔵されたフラッシュメモリの動作を制御する。
ホストインターフェイス113はホストシステム100と連携し、メモリインターフェイス112はメモリモジュール109〜110と連携する。
ホストシステム100には、不揮発性メモリストレージ装置111へのアクセスにあたってSDK層118が必要になることがある。使用するオペレーティングシステムはホストシステム100によって異なるため、バージョンが異なるSDK層118が必要になる。これはストレージ装置の提供業者にとって厄介であり、不揮発性メモリストレージ装置111を使用するユーザにも支障をきたすことがある。
コマンド解析モジュール122は、ホストシステム100からストレージドライバ121と薄SDK層120とを通じて送信されるコマンドを解析する。これらのコマンドは汎用形式をとるため、ホストシステムごとに別々のSDK層118を用意する必要はない。
ステップS204では、ホストシステム100がプラットフォーム独立形式のコマンドを送信する。プラットフォーム独立形式とは、コマンドの形式がホストシステム100のオペレーティングシステム/環境に左右されないことを意味する。例えば、XML等がプラットフォーム独立形式にあたる。
コマンド解析モジュール122は、ステップS206でコマンド(またはタグ)を解析し、ホストシステム100が要望する任意の操作について情報を抽出する。1つのタグに複数の操作の情報を入れることもできる。コマンド解析モジュール122は、操作を実行すべきモジュールに通知する。
ステップS208では操作が実行され、ホストシステム100が応答を望む場合には、コマンド解析モジュール122がホストシステム100に応答を送り返す。
<FileSystemOperation>
<OpType>CreateDirectory</OpType>
<Parameters>
<Path>”0:\\MyDir\\MyMusic”</Path>
</Parameters>
<RetStatus></RetStatus>
</FileSystemOperation>
ファームウェア119は、タグの書き込みに先立ちXMLタグで操作指令の有無を判断する。これは、ファームウェア119がファイルシステム操作を識別するために使用可能な特別な識別子を使用することにより達成され得る。
コマンド解析モジュール122はXMLパケットを傍受し、要求された操作を実行するため、適当なモジュールに通知する。操作が実行された後にはコマンド解析モジュール122がホストシステム100へステータスXMLパケットを送信する。
ホストシステム100は、操作ステータスのチェックを望む場合にタグを読み返すことができる。例えば、図3では、「0:\\myDir\\MyMusic」作成の結果として「SD_SUCCESS」が返っている。
一実施形態において、不揮発性メモリストレージ装置と通信しその機能にアクセスするにあたって、パーシャルSDK層が必要となる場合と、SDK層が不要となる場合とがある。
現時点で好適な実施形態と考えられるものについて説明が記されているが、この説明が前述したものに限定されないことが理解できるはずである。反対に、本願の説明は様々な修正および等価構成を添付の特許請求の範囲の精神および範囲内に含めることを目的とする。
Claims (18)
- ストレージ装置のための方法であって、
ホストシステムからのファイルを前記ストレージ装置で受信するステップと、
受信したファイルに、前記ストレージ装置によって操作を要求するコマンドが含まれるか否かを判断するステップと、
前記ストレージ装置によって操作を要求するコマンドが前記ファイルに含まれると判断したことを受けて、
前記ストレージ装置のコマンド解析モジュールにより、前記コマンドを解釈するステップと、
前記コマンド解析モジュールにより、操作に関する情報を前記コマンドから抽出するステップと、
前記ストレージ装置によって操作を実行した後で前記ホストシステムに送信すべき応答を含むように受信したファイルのコンテンツを修正し、その修正したファイルを前記ストレージ装置に書き込み、前記ホストシステムが前記修正したファイルを読み出す要求を前記ストレージ装置に対して発行したことに応じて、前記ファイルを前記ホストシステムに返すことによって、操作を実行した後に、前記コマンド解析モジュールにより、前記ホストシステムへ応答を送信するステップと、
前記ストレージ装置によって操作を要求するコマンドが前記ファイルに含まれないと判断したことを受けて、前記ファイルを前記ストレージ装置に書き込むステップと、
を含む方法。 - 請求項1記載の方法において、
前記コマンドには複数の操作に関する情報が埋め込まれる方法。 - 請求項1記載の方法において、
前記コマンド解析モジュールは、前記操作に関する情報を前記ストレージ装置のモジュールに提供する方法。 - 請求項3記載の方法において、
前記モジュールは、マイクロコントローラである方法。 - 請求項1記載の方法において、
前記コマンド解析モジュールは、XMLパーサである方法。 - 請求項1記載の方法において、
前記ストレージ装置は、不揮発性メモリストレージ装置である方法。 - 請求項1記載の方法において、
前記ファイルに、前記ストレージ装置によって操作を要求するコマンドが含まれるか否かを前記ストレージ装置のファームウェアコードにより判断する方法。 - 請求項1記載の方法において、
前記コマンド解析モジュールは、パーシャルソフトウェア層を介して前記ホストシステムと連携する方法。 - 請求項1記載の方法において、
前記ストレージ装置は、前記ホストシステムにリムーバブルストレージを提供するフラッシュメモリドライブまたはフラッシュメモリカードを備える方法。 - ストレージ装置であって、
コマンド解析モジュールであって、
ホストシステムからファイルを受信し、
受信したファイルに、前記ストレージ装置によって操作を要求するコマンドが含まれるか否かを判断し、
前記ストレージ装置によって操作を要求するコマンドが前記ファイルに含まれると判断したことを受けて、
前記コマンドを解釈し、
操作に関する情報を前記コマンドから抽出し、
前記ストレージ装置によって操作を実行した後で前記ホストシステムに送信すべき応答を含むように受信したファイルのコンテンツを修正し、その修正したファイルを前記ストレージ装置に書き込み、前記ホストシステムが前記修正したファイルを読み出す要求を前記ストレージ装置に対して発行したことに応じて、前記ファイルを前記ホストシステムに返すことによって、操作を実行した後に前記ホストシステムへ応答を送信し、かつ
前記ストレージ装置によって操作を要求するコマンドが前記ファイルに含まれないと判断したことを受けて、前記ファイルを前記ストレージ装置に書き込むためのコマンド解析モジュールを備えるストレージ装置。 - 請求項10記載のストレージ装置において、
前記コマンドには複数の操作に関する情報が埋め込まれるストレージ装置。 - 請求項10記載のストレージ装置において、
前記コマンド解析モジュールは、前記操作に関する情報を前記ストレージ装置のモジュールに提供するストレージ装置。 - 請求項12記載のストレージ装置において、
前記モジュールは、マイクロコントローラであるストレージ装置。 - 請求項10記載のストレージ装置において、
前記コマンド解析モジュールは、XMLパーサであるストレージ装置。 - 請求項10記載のストレージ装置において、
前記ストレージ装置は、不揮発性メモリストレージ装置であるストレージ装置。 - 請求項10記載のストレージ装置において、
前記ファイルに、前記ストレージ装置によって操作を要求するコマンドが含まれるか否かを前記ストレージ装置のファームウェアコードにより判断するストレージ装置。 - 請求項10記載のストレージ装置において、
前記コマンド解析モジュールは、パーシャルソフトウェア層を介して前記ホストシステムと連携するストレージ装置。 - 請求項10記載のストレージ装置において、
前記ストレージ装置は、前記ホストシステムにリムーバブルストレージを提供するフラッシュメモリドライブまたはフラッシュメモリカードを備えるストレージ装置。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
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 |
US11/771,203 | 2007-06-29 | ||
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 (ja) | 2010-11-11 |
JP5416697B2 true JP5416697B2 (ja) | 2014-02-12 |
Family
ID=39930812
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010515224A Expired - Fee Related JP5416697B2 (ja) | 2007-06-29 | 2008-06-30 | 不揮発性メモリストレージ装置と通信する方法およびシステム |
Country Status (4)
Country | Link |
---|---|
EP (1) | EP2171618A2 (ja) |
JP (1) | JP5416697B2 (ja) |
KR (1) | KR101570662B1 (ja) |
WO (1) | WO2009006408A2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102267041B1 (ko) | 2015-06-05 | 2021-06-22 | 삼성전자주식회사 | 스토리지 장치 및 그것의 동작 방법 |
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 (ja) * | 2002-05-23 | 2004-02-12 | Ricoh Co Ltd | プログラム、記憶媒体、データ管理装置及びデータ管理システム |
DE10234158A1 (de) * | 2002-07-26 | 2004-02-05 | Giesecke & Devrient Gmbh | Einrichten eines Dateisystems in einem Datenträger |
US20040052166A1 (en) * | 2002-09-16 | 2004-03-18 | Koninklijke Philips Electronics N.V. | Command set for removable rewritable computer storage |
CN1260642C (zh) * | 2002-11-18 | 2006-06-21 | 深圳市朗科科技有限公司 | 一种向移动存储装置发送命令和数据的方法 |
JP2004318940A (ja) | 2003-04-14 | 2004-11-11 | Renesas Technology Corp | 記憶装置 |
-
2008
- 2008-06-30 EP EP08781179A patent/EP2171618A2/en not_active Ceased
- 2008-06-30 WO PCT/US2008/068796 patent/WO2009006408A2/en active Application Filing
- 2008-06-30 KR KR1020107001899A patent/KR101570662B1/ko active IP Right Grant
- 2008-06-30 JP JP2010515224A patent/JP5416697B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
WO2009006408A3 (en) | 2009-04-30 |
JP2010534873A (ja) | 2010-11-11 |
EP2171618A2 (en) | 2010-04-07 |
KR20100058452A (ko) | 2010-06-03 |
KR101570662B1 (ko) | 2015-11-23 |
WO2009006408A2 (en) | 2009-01-08 |
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 | |
US20060064576A1 (en) | Boot systems and methods | |
JP2009510544A (ja) | ソフトウェアイメージを生成する解凍技術 | |
US8429328B2 (en) | System for communicating with a non-volatile memory storage device | |
CN114564158B (zh) | Linux***下控制文档打印的方法、装置、设备及介质 | |
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 | |
CN102937963A (zh) | 使用协议处理程序的模板和服务器内容下载 | |
US20030237052A1 (en) | Method and an apparatus for styling a web service | |
JP5416697B2 (ja) | 不揮発性メモリストレージ装置と通信する方法およびシステム | |
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 (zh) | 用於啟動一程式應用的方法和裝置 | |
CN102207862A (zh) | 用于动态语言定制的设备、***和方法 | |
CN114327733A (zh) | 开机启动交互界面的动态更新方法、装置、设备及介质 | |
US7516261B2 (en) | Method for U3 adapter | |
JP2011215889A (ja) | 情報処理装置及びその起動方法 | |
US8200895B2 (en) | File system recognition structure | |
CN113504936B (zh) | 软件版本发布方法、计算机设备及存储介质 | |
US20110082986A1 (en) | Electronic device for providing self-adapting services depending on the platform of the host equipment with which it is connected |
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 |