JP5029513B2 - 情報処理装置、情報処理装置の制御方法、およびプログラム - Google Patents
情報処理装置、情報処理装置の制御方法、およびプログラム Download PDFInfo
- Publication number
- JP5029513B2 JP5029513B2 JP2008171766A JP2008171766A JP5029513B2 JP 5029513 B2 JP5029513 B2 JP 5029513B2 JP 2008171766 A JP2008171766 A JP 2008171766A JP 2008171766 A JP2008171766 A JP 2008171766A JP 5029513 B2 JP5029513 B2 JP 5029513B2
- Authority
- JP
- Japan
- Prior art keywords
- command
- write command
- write
- queue
- file
- 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
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1435—Saving, restoring, recovering or retrying at system level using file system or storage system metadata
-
- 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/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0804—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with main memory updating
-
- 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/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Library & Information Science (AREA)
- Quality & Reliability (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
簡単のため、ライトコマンドによって指定されるデータの長さは全て1つのアドレスブロック以下とする。
まず、ライトコマンドによるライト用のデータがファイルの実データである場合(ステップS105のNO)の動作を説明する。
次に、ステップ105の判定で、ライトコマンドにより指定されるLBA範囲が予約領域である場合の動作を説明する(ステップS105のYES)。
次に、ステップ103の判定で、今回受領したコマンドがシンクロナイズ・キャッシュ・コマンドである場合の動作を説明する。
前述したように、ディスク記憶装置10では、制御部14にて、ホスト装置20より受領したライトコマンドおよびシンクロナイズ・キャッシュ・コマンドに関する情報をメモリ18に設けられた待ち行列に登録して所定の処理を行う一方、その動作に対して非同期に待ち行列の情報を読み出し、HDD17で解釈可能な形式のライトコマンドに変換してインタフェース制御部13を通じてHDD17に与える。この際、制御部17は、待ち行列上の最古のグループ(グループ1)から、そのグループ内の各エントリのライトコマンドに関する情報を読み込んで、そのライトコマンドに基づくHDD17への書き込み処理が実行されるように制御を行い、グループ1のライトコマンドによる書き込みが終了した後、次にグループ2の各エントリのライトコマンドに関する情報を読み込んで、同様にHDD17への書き込み処理が実行されるように制御を行う。グループ内の各エントリのライトコマンドの実行は、待ち行列上のHDD17への書き込み順番に従って連続的に行われる。このとき、制御部14は、グループ内の複数のライコマンドのエントリに設定された連結フラグおよび連結先のポインタをもとに、複数のライトコマンドの連結関係を判断し、連結する各ライトコマンドを、これと等価な1つのライトコマンドに置き換えてHDD17に与えるように制御を行う。
一般に、待ち行列には、ホスト装置から受領した順番にライトコマンドの情報が追加され、シンクロナイズ・キャッシュ・コマンドに応じて待ち行列から受領順にライトコマンドに関する情報から読み込まれてHDDへの書き込み処理が実行される。その際、ホスト装置からは、ファイルのライトコマンドと、当該ファイルの実データの配置情報、録音時間、ファイルサイズ、フレーム数等を与えるメタデータのライトコマンドとが発行されるが、メタデータのライトコマンドが必ずしもファイルのライトコマンドの後にホスト装置より発行される保証はなく、HDDへの書込みが必ずしも発行された順番に行われる保障もない。例えば、図7の受領順番12のライトコマンドによるライト用のメタデータは、受領順番8−11のライトコマンドによるライト用のファイルの実データの配置情報、録音時間、ファイルサイズ等のメタデータであるが、一般にはこのメタデータのライトコマンドがファイルの実データのライトコマンドの後にホスト装置より発行されるとは限らない。このため、書き込み中の電源断によって、メタデータのみがHDDに書き込まれ、ファイルの実データがHDDに正しく書き込まれない場合がありえた。この場合には、メタデータにより記録されていることが確定されているファイルが実際には正しく記録されていないという不整合が起こり、長時間分のストリームを失うおそれがあった。
11…USBインタフェース制御部
12…内部バス
13…インタフェース制御部
14…制御部
15…メモリ制御部
16…バッファメモリ
17…HDD
18…メモリ
19…CPU
20…ホスト装置
Claims (4)
- ディスクに対する書き込みを制御する情報処理装置であって、
ホスト装置よりライトコマンド、および前記ライトコマンドに関するキャッシュを制御する制御コマンドを受領するコマンド受領部と、
前記コマンド受領部にて受領された前記コマンドの待ち行列を記憶する待ち行列記憶部と、
前記待ち行列上の前記ライトコマンドをファイルのデータに対する第1のライトコマンドと前記ファイルに対応するメタデータに対する第2のライトコマンドとに判別し、前記コマンド受領部にて前記制御コマンドが受領されたとき、それ以前に受領された前記待ち行列上の1以上の前記第1のライトコマンドおよび1以上の前記第2のライトコマンドをグループ化し、当該グループ内で前記第1のライトコマンドを前記第2のライトコマンドよりも前記ディスクに優先して書き込まれるように前記各ライトコマンドに対して実行の順番を付与し、この順番に従って前記各ライトコマンドを実行するように制御を行う制御部と、
前記待ち行列上の前記第1のライトコマンドのファイルのデータを保持するバッファ部と、を具備し、
前記制御部は、前記バッファ部に保持された前記ファイルのデータに対する更新データを書き込むための新たな前記第1のライトコマンドが前記コマンド受領部にて受領されたとき、前記ホスト装置からの当該ファイルのデータに対するリードコマンドに対する応答を禁止するための情報を前記待ち行列上の前記第1のライトコマンドに付与する
情報処理装置。 - 請求項1に記載の情報処理装置であって、
前記ディスクにおいて前記ファイルのデータが書き込まれる第1の記憶領域と前記メタデータが書き込まれる第2の記憶領域とが空間的に分けられ、
前記制御部は、前記ディスクの記憶領域上で連続する位置に前記ファイルのデータを書き込むための複数の前記第1のライトコマンドの実行の順番を、前記記憶領域上の前記第2の領域に近い方から前記ディスクに優先して書き込まれるように前記複数の第1のライトコマンドに対して実行の順番を付与し、この順番に従って前記複数の第1のライトコマンドを実行するように制御を行う
情報処理装置。 - ディスクに対する書き込みを行う情報処理装置の制御方法であって、
ホスト装置よりライトコマンド、および前記ライトコマンドに関するキャッシュを制御する制御コマンドを受領して待ち行列を入れ、
前記待ち行列上の前記ライトコマンドをファイルのデータに対する第1のライトコマンドと前記ファイルに対応するメタデータに対する第2のライトコマンドとに判別し、
前記制御コマンドが受領されたとき、それ以前に受領された前記待ち行列上の1以上の前記第1のライトコマンドおよび1以上の前記第2のライトコマンドをグループ化し、
当該グループ内で前記第1のライトコマンドを前記第2のライトコマンドよりも前記ディスクに優先して書き込まれるように前記各ライトコマンドに対して実行の順番を付与し、
前記付与された順番に従って前記各ライトコマンドを実行し、
前記待ち行列上の前記第1のライトコマンドのファイルのデータを保持するバッファ部に保持された前記ファイルのデータに対する更新データを書き込むための新たな前記第1のライトコマンドが前記コマンド受領部にて受領されたとき、前記ホスト装置からの当該ファイルのデータに対するリードコマンドに対する応答を禁止するための情報を前記待ち行列上の前記第1のライトコマンドに付与するように制御を行う
情報処理装置の制御方法。 - ディスクに対する書き込みを制御するプログラムであって、
ホスト装置よりライトコマンド、および前記ライトコマンドに関するキャッシュを制御する制御コマンドを受領するコマンド受領部と、
前記コマンド受領部にて受領された前記コマンドの待ち行列を記憶する待ち行列記憶部と、
前記待ち行列上の前記ライトコマンドをファイルのデータに対する第1のライトコマンドと前記ファイルに対応するメタデータに対する第2のライトコマンドとに判別し、前記コマンド受領部にて前記制御コマンドが受領されたとき、それ以前に受領された前記待ち行列上の1以上の前記第1のライトコマンドおよび1以上の前記第2のライトコマンドをグループ化し、当該グループ内で前記第1のライトコマンドを前記第2のライトコマンドよりも前記ディスクに優先して書き込まれるように前記各ライトコマンドに対して実行の順番を付与し、この順番に従って前記各ライトコマンドを実行し、前記待ち行列上の前記第1のライトコマンドのファイルのデータを保持するバッファ部に保持された前記ファイルのデータに対する更新データを書き込むための新たな前記第1のライトコマンドが前記コマンド受領部にて受領されたとき、前記ホスト装置からの当該ファイルのデータに対するリードコマンドに対する応答を禁止するための情報を前記待ち行列上の前記第1のライトコマンドに付与するように制御を行う制御部
として、情報処理装置が内蔵するコンピュータに対して機能させるプログラム。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008171766A JP5029513B2 (ja) | 2008-06-30 | 2008-06-30 | 情報処理装置、情報処理装置の制御方法、およびプログラム |
US12/493,402 US20090327624A1 (en) | 2008-06-30 | 2009-06-29 | Information processing apparatus, controlling method thereof, and program |
CN2009101395040A CN101620516B (zh) | 2008-06-30 | 2009-06-30 | 信息处理装置、其控制方法,以及程序 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008171766A JP5029513B2 (ja) | 2008-06-30 | 2008-06-30 | 情報処理装置、情報処理装置の制御方法、およびプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2010015610A JP2010015610A (ja) | 2010-01-21 |
JP5029513B2 true JP5029513B2 (ja) | 2012-09-19 |
Family
ID=41448958
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008171766A Expired - Fee Related JP5029513B2 (ja) | 2008-06-30 | 2008-06-30 | 情報処理装置、情報処理装置の制御方法、およびプログラム |
Country Status (3)
Country | Link |
---|---|
US (1) | US20090327624A1 (ja) |
JP (1) | JP5029513B2 (ja) |
CN (1) | CN101620516B (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7226112B2 (ja) | 2019-05-31 | 2023-02-21 | 富士通株式会社 | 液浸システム |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8516172B1 (en) | 2007-08-30 | 2013-08-20 | Virident Systems, Inc. | Methods for early write termination and power failure with non-volatile memory |
US8429318B1 (en) * | 2007-08-30 | 2013-04-23 | Virident Systems, Inc. | Methods for early write termination into non-volatile memory with metadata write operations |
TWI433157B (zh) * | 2009-09-04 | 2014-04-01 | Silicon Motion Inc | 存取快閃記憶體的方法以及相關之記憶裝置 |
US9229809B2 (en) * | 2011-09-11 | 2016-01-05 | Microsoft Technology Licensing Llc | Nonvolatile media journaling of verified data sets |
US9122401B2 (en) * | 2012-08-23 | 2015-09-01 | Apple Inc. | Efficient enforcement of command execution order in solid state drives |
CN103336671B (zh) * | 2013-06-17 | 2016-07-13 | 北京奇虎科技有限公司 | 从网络中获取数据的方法和设备 |
CN105988719B (zh) * | 2015-02-07 | 2019-03-01 | 深圳市硅格半导体有限公司 | 存储装置及其处理数据的方法 |
US11055806B2 (en) * | 2015-02-27 | 2021-07-06 | Advanced Micro Devices, Inc. | Method and apparatus for directing application requests for rendering |
US10380069B2 (en) * | 2016-05-04 | 2019-08-13 | Western Digital Technologies, Inc. | Generalized write operations verification method |
CN106202367B (zh) * | 2016-07-07 | 2019-03-05 | 腾讯科技(深圳)有限公司 | 一种对象信息的处理方法及装置 |
US10846223B2 (en) * | 2017-10-19 | 2020-11-24 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd | Cache coherency between a device and a processor |
CN110908591B (zh) * | 2018-09-17 | 2023-05-30 | 群联电子股份有限公司 | 存储器管理方法、存储器储存装置及存储器控制电路单元 |
CN109471596B (zh) * | 2018-10-31 | 2022-03-18 | 北京小米移动软件有限公司 | 数据写入方法、装置、设备及存储介质 |
US20220156326A1 (en) * | 2019-02-01 | 2022-05-19 | Transitions Optical, Ltd. | Method, System, and Computer Program Product for Generating a Customized Photochromic Optical Article Recommendation |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000039968A (ja) * | 1998-05-19 | 2000-02-08 | Matsushita Electric Ind Co Ltd | デ―タ記憶装置及びその制御方法 |
JP2003044227A (ja) * | 2001-08-02 | 2003-02-14 | Matsushita Electric Ind Co Ltd | 情報記録装置 |
US7533214B2 (en) * | 2002-02-27 | 2009-05-12 | Microsoft Corporation | Open architecture flash driver |
JP4186509B2 (ja) * | 2002-05-10 | 2008-11-26 | 株式会社日立製作所 | ディスクシステムとそのキャッシュ制御方法 |
US7010645B2 (en) * | 2002-12-27 | 2006-03-07 | International Business Machines Corporation | System and method for sequentially staging received data to a write cache in advance of storing the received data |
JP4111852B2 (ja) * | 2003-03-20 | 2008-07-02 | 株式会社リコー | データ転送装置、ドライブ装置、光情報記録装置、データ転送装置用プログラム、ドライブ装置用プログラム、データ転送装置用プログラムを記憶する記憶媒体、ドライブ装置用プログラムを記憶する記憶媒体、データ転送方法、及びドライブ方法 |
JP2004334459A (ja) * | 2003-05-07 | 2004-11-25 | Nec Corp | 記録再生装置、記録再生方法、および記録再生プログラム |
WO2005059757A1 (ja) * | 2003-12-19 | 2005-06-30 | Matsushita Electric Industrial Co.,Ltd. | 記録デバイス制御装置 |
US7447810B2 (en) * | 2004-10-28 | 2008-11-04 | Intel Corporation | Implementing bufferless Direct Memory Access (DMA) controllers using split transactions |
US7310711B2 (en) * | 2004-10-29 | 2007-12-18 | Hitachi Global Storage Technologies Netherlands B.V. | Hard disk drive with support for atomic transactions |
CN1329809C (zh) * | 2005-10-25 | 2007-08-01 | 威盛电子股份有限公司 | 磁盘阵列的控制器及其工作方法 |
CN100389383C (zh) * | 2006-06-02 | 2008-05-21 | 杭州华三通信技术有限公司 | 一种解决磁盘冗余阵列中写空洞的方法 |
KR101354152B1 (ko) * | 2006-12-18 | 2014-01-27 | 삼성전자주식회사 | 비휘발성 데이터 저장장치에 구비된 가상 파일 시스템의작업 스케줄링 방법 및 장치 |
-
2008
- 2008-06-30 JP JP2008171766A patent/JP5029513B2/ja not_active Expired - Fee Related
-
2009
- 2009-06-29 US US12/493,402 patent/US20090327624A1/en not_active Abandoned
- 2009-06-30 CN CN2009101395040A patent/CN101620516B/zh not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7226112B2 (ja) | 2019-05-31 | 2023-02-21 | 富士通株式会社 | 液浸システム |
Also Published As
Publication number | Publication date |
---|---|
CN101620516A (zh) | 2010-01-06 |
US20090327624A1 (en) | 2009-12-31 |
JP2010015610A (ja) | 2010-01-21 |
CN101620516B (zh) | 2012-04-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5029513B2 (ja) | 情報処理装置、情報処理装置の制御方法、およびプログラム | |
US10019196B2 (en) | Efficient enforcement of command execution order in solid state drives | |
US7228399B2 (en) | Control method for storage device controller system, and storage device controller system | |
JP4740763B2 (ja) | ストレージシステム及びストレージコントローラ | |
US8996791B2 (en) | Flash memory device, memory control device, memory control method, and storage system | |
JP4992835B2 (ja) | ディスク記憶装置およびプログラム | |
US20160342545A1 (en) | Data memory device | |
US20050091455A1 (en) | Automated on-line capacity expansion method for storage device | |
US20110131375A1 (en) | Command Tag Checking in a Multi-Initiator Media Controller Architecture | |
US10037161B2 (en) | Tiered storage system, storage controller, and method for deduplication and storage tiering | |
JP4464378B2 (ja) | 同一データを纏める事で格納領域を節約する計算機システム、ストレージシステム及びそれらの制御方法 | |
EP2393009A1 (en) | Storage system | |
WO2008134165A1 (en) | Hints model for optimization of storage devices connected to host and write optimization schema for storage devices | |
US20120159050A1 (en) | Memory system and data transfer method | |
US7376786B2 (en) | Command stack management in a disk drive | |
JP2019028954A (ja) | ストレージ制御装置、プログラム、及び重複排除方法 | |
US20160011792A1 (en) | Media control device and control method | |
EP2393010A1 (en) | Storage system | |
JP2007501473A (ja) | メインメモリとストレージ装置との間のデータ転送を行うための方法及び装置 | |
SE534142C2 (sv) | Förfarande och system för lagring av data | |
US10346070B2 (en) | Storage control apparatus and storage control method | |
EP3293625B1 (en) | Method and device for accessing file, and storage system | |
US6487632B1 (en) | Emulation technique for variable-length disk system to access data in a fixed-length disk system | |
JP2014211801A (ja) | インターフェース制御装置、データ記憶装置及びインターフェース制御方法 | |
US7421536B2 (en) | Access control method, disk control unit and storage apparatus |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20110620 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20120315 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120321 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120511 |
|
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: 20120529 |
|
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: 20120611 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150706 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |