JP4667925B2 - 書込み処理管理のための方法、システム、およびプログラム - Google Patents
書込み処理管理のための方法、システム、およびプログラム Download PDFInfo
- Publication number
- JP4667925B2 JP4667925B2 JP2005097433A JP2005097433A JP4667925B2 JP 4667925 B2 JP4667925 B2 JP 4667925B2 JP 2005097433 A JP2005097433 A JP 2005097433A JP 2005097433 A JP2005097433 A JP 2005097433A JP 4667925 B2 JP4667925 B2 JP 4667925B2
- Authority
- JP
- Japan
- Prior art keywords
- array
- stack
- item
- write operation
- index value
- 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
- 238000000034 method Methods 0.000 title claims description 13
- 238000012545 processing Methods 0.000 title claims description 7
- 230000015654 memory Effects 0.000 claims description 12
- 238000003491 array Methods 0.000 claims description 3
- 230000004048 modification Effects 0.000 claims description 3
- 238000012986 modification Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 208000032368 Device malfunction Diseases 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000001902 propagating effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000005549 size reduction Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012546 transfer Methods 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/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/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- 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/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- 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/0683—Plurality of storage devices
- G06F3/0689—Disk arrays, e.g. RAID, JBOD
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Description
書込み処理管理のための上述の技法は、ソフトウェア、ファームウェア、ハードウェア、またはそれらの任意の組合せを生産するための標準的なプログラミングおよび/またはエンジニアリング技法を使用して、方法、装置、または製品として実現することができる。本明細書で使用する「製品」という用語は、ハードウェア・ロジック(たとえば、集積回路チップ、プログラマブル・ゲート・アレイ(PGA)、特定用途向け集積回路(ASIC)など)または磁気記憶媒体(たとえば、ハード・ディスク・ドライブ、フレキシブル・ディスク、テープなど)、光学記憶装置(CD−ROM、光ディスクなど)、揮発性および不揮発性メモリ・デバイス(たとえば、EEPROM、ROM、PROM、RAM、DRAM、SRAM、ファームウェア、プログラマブル・ロジックなど)などのコンピュータ可読媒体に実現されたコードまたはロジックを指す。コンピュータ可読媒体内のコードは、プロセッサ複合体によってアクセスされ、実行される。好ましい諸実施形態が実現されるコードは、伝送媒体により、またはネットワークを介したファイル・サーバから、さらにアクセス可能である。このような場合、そのコードが実現される製品は、ネットワーク伝送回線、ワイヤレス伝送媒体、空間を伝搬する信号、電波、赤外線信号などの伝送媒体を有することができる。したがって、「製品」は、そのコードが実施される媒体を有することができる。さらに、「製品」は、そのコードが実施され、処理され、実行される、ハードウェア・コンポーネントとソフトウェア・コンポーネントの組合せを有することができる。当然のことながら、当業者であれば、本発明の範囲を逸脱せずに、この構成に対して多くの変更が可能であること、ならびに製品が当技術分野で知られている任意の情報担持媒体を有することができることを認識するであろう。
102b ホスト
102n ホスト
104 記憶システム
106 記憶コントローラ
108 ネットワーク
110a 論理装置(LD)
110b 論理装置(LD)
110n 論理装置(LD)
120a クラスタ
120b クラスタ
122a プロセッサ
122b プロセッサ
124a キャッシュ
124b キャッシュ
126a 不揮発性記憶装置(NVS)
126b 不揮発性記憶装置(NVS)
Claims (10)
- 複数のホスト装置からの記憶システムへの書込みを制御する記憶コントローラが実行する書込み制御方法であって、
ネットワークを介して接続されたホスト装置から書込み操作の宛先の位置IDを取得するステップと、
書込み操作中の宛先位置を維持する配列であるアレイ中の複数のアレイ項目のうち次に使用可能な項目を示す第1の値を有し、インデックス値として用いられるアレイ・ポインタであって、現在書き込み中および書き込み済みの位置IDを保管している複数のアレイ項目がスタックを形成するデータ構造におけるスタック・インデックス項目に保管された当該アレイ・ポインタによって、前記次に使用可能な項目を識別するステップと、
識別された前記次に使用可能な項目に、前記取得するステップで取得された書込み操作の宛先の位置IDを保管し、前記アレイ中の前記スタックの末尾の次のアレイ項目を前記スタックでの変更後次に使用可能なアレイ項目として識別するため、前記インデックス値を増分することにより、前記複数のアレイ項目がスタックを形成した前記データ構造におけるスタック・インデックス項目に保管された前記アレイ・ポインタの前記第1の値を第2の値に変更するステップと、
前記書込み操作の完了時に、前記アレイ・ポインタの前記インデックス値を減分して、前記複数のアレイ項目のスタックから、前記完了した書込み操作の宛先の前記位置IDを除去して前記複数のアレイ項目のスタックのサイズを低減するステップと
を含み、
前記低減するステップは、前記アレイ中の前記スタックの末尾の項目を前記アレイ中の低減後、次に使用可能な項目として識別するために前記アレイ・ポインタのインデックス値を減分した後、書込み操作中のインデックス値と位置IDとを維持するキャッシュ・メモリ内の前記インデックス値と、前記減分されたインデックス値とを比較し、前記インデックス値と前記減分されたインデックス値とが一致していない場合には、前記キャッシュ・メモリ内に維持されたアレイ・ポインタで識別される位置IDを前記位置IDを削除した前記アレイ項目に移動することにより、前記スタックから書込み操作が完了した前記複数のアレイ項目のうちの最後の項目を除去するステップと
を含む、方法。 - 書込み操作の完了時に、前記複数のアレイ項目のスタックの前記最後の項目に保管された前記位置IDおよび前記インデックス値を前記キャッシュ・メモリのフィールドに移動し、前記移動した位置IDで前記完了した書込み操作の前記位置IDを上書きするステップと、前記アレイの前記前の項目を前記アレイの前記次に使用可能な項目として識別するために前記アレイ・ポインタのインデックス値を減分し、前記複数のアレイ項目のスタックの前記最後の項目を除去するステップと、
をさらに有する、請求項1に記載の方法。 - 前記低減したスタックの内容の論理冗長検査を更新するステップをさらに有する、請求項1に記載の方法。
- 前記アレイは、不揮発性記憶メモリを含むディジタル・データ処理装置の論理的なデータ構造である、請求項1に記載の方法。
- ディジタル・データ処理装置が、請求項1〜4のいずれか1項に記載の方法の各ステップを実行するための装置実行可能なプログラム。
- 複数のホスト装置からの記憶システムへの書込みを制御するシステムであって、
書込み操作中の宛先位置を維持する配列であるアレイ中の使用可能な項目を識別する第1の値を有し、インデックス値として用いられるアレイ・ポインタを、現在書き込み中および書き込み済みの位置IDを保管している複数のアレイ項目がスタックを形成するデータ構造におけるスタック・インデックス項目に保管するように適合された記憶装置と、
前記記憶装置に結合されたディジタル・データ処理装置であって、前記ディジタル・データ処理装置が、
ネットワークを介して接続された前記ホスト装置から書込み操作の宛先の位置IDを取得し、
前記アレイの複数のアレイ項目のうち、次に使用可能なアレイ項目を前記第1の値を有するアレイ・ポインタによって識別し、
識別された前記次に使用可能な項目に、取得された書込み操作の宛先の位置IDを保管し、前記アレイ中の前記スタックの末尾の次のアレイ項目を前記スタックでの変更後次に使用可能なアレイ項目として識別するため、前記インデックス値を増分することにより、前記複数のアレイ項目がスタックを形成した前記データ構造におけるスタック・インデックス項目に保管された前記アレイ・ポインタの前記第1の値を第2の値に変更し、
前記書込み操作の完了時に、前記アレイ・ポインタの前記インデックス値を減分して、前記複数のアレイ項目のスタックから、前記完了した書込み操作の宛先の前記位置IDを除去して前記複数のアレイ項目のスタックのサイズを低減し、
前記低減では、前記アレイ中の前記スタックの末尾の項目を前記アレイ中の低減後次に使用可能な項目として識別するために前記アレイ・ポインタのインデックス値を減分した後、書込み操作中のインデックス値と位置IDとを維持するキャッシュ・メモリ内の前記インデックス値と、前記減分されたインデックス値とを比較し、前記インデックス値と前記減分されたインデックス値とが一致していない場合には、前記キャッシュ・メモリ内に維持されたアレイ・ポインタで識別される位置IDを前記位置IDを削除した前記アレイ項目に移動することにより、前記スタックから書込み操作が完了した前記複数のアレイ項目のうちの最後の項目を除去する
システム。 - 前記アレイ・ポインタがインデックス値で指定され、前記変更が、前記アレイの次の項目を前記アレイの前記次の使用可能な項目として識別するために前記アレイ・ポインタのインデックス値を増分することを含む、請求項6に記載のシステム。
- 前記ディジタル・データ処理装置が、書込み操作の完了時に、前記複数のアレイ項目のスタックの前記最後の項目に保管された前記位置IDおよび前記インデックス値を前記キャッシュ・メモリのフィールドに移動し、前記移動した位置IDで前記完了した書込み操作の前記位置IDを上書きし、前記アレイの前記前の項目を前記アレイの前記次の使用可能な項目として識別するために前記アレイ・ポインタのインデックス値を減分し、前記複数のアレイ項目のスタックの前記最後の項目を除去するようにさらに構成される、請求項6に記載のシステム。
- 前記ディジタル・データ処理装置が、前記低減したスタックの内容の論理冗長検査を更新するようにさらに構成される、請求項6に記載のシステム。
- 前記記憶装置が不揮発性記憶メモリである、請求項6に記載のシステム。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/815,319 US7529904B2 (en) | 2004-03-31 | 2004-03-31 | Storing location identifier in array and array pointer in data structure for write process management |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2005293586A JP2005293586A (ja) | 2005-10-20 |
JP4667925B2 true JP4667925B2 (ja) | 2011-04-13 |
Family
ID=35049873
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005097433A Expired - Fee Related JP4667925B2 (ja) | 2004-03-31 | 2005-03-30 | 書込み処理管理のための方法、システム、およびプログラム |
Country Status (3)
Country | Link |
---|---|
US (2) | US7529904B2 (ja) |
JP (1) | JP4667925B2 (ja) |
CN (1) | CN100361064C (ja) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7529904B2 (en) * | 2004-03-31 | 2009-05-05 | International Business Machines Corporation | Storing location identifier in array and array pointer in data structure for write process management |
US20060075185A1 (en) * | 2004-10-06 | 2006-04-06 | Dell Products L.P. | Method for caching data and power conservation in an information handling system |
JP2010536112A (ja) * | 2008-07-22 | 2010-11-25 | エルエスアイ コーポレーション | 中断された書込みの回復のためのデータ記憶方法、機器およびシステム |
US8312457B2 (en) * | 2009-12-14 | 2012-11-13 | Microsoft Corporation | Maintaining a count for lock-free linked list structures |
US11003621B2 (en) | 2015-11-11 | 2021-05-11 | International Business Machines Corporation | Scalable enterprise content management |
US10678475B2 (en) | 2017-07-27 | 2020-06-09 | Hewlett Packard Enterprise Development Lp | Tracking write requests to media controllers |
CN110109867B (zh) * | 2018-01-18 | 2023-03-31 | 伊姆西Ip控股有限责任公司 | 改进在线模式检测的方法、装置和计算机程序产品 |
WO2021081148A1 (en) * | 2019-10-22 | 2021-04-29 | Cmc Materials, Inc. | Composition and method for dielectric cmp |
JP7621915B2 (ja) * | 2021-09-06 | 2025-01-27 | キオクシア株式会社 | 情報処理装置 |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6289273A (ja) | 1985-10-16 | 1987-04-23 | Nec Corp | 磁気デイスク装置 |
JPS62284437A (ja) | 1986-05-31 | 1987-12-10 | Nec Corp | タスク管理方式 |
US4942575A (en) * | 1988-06-17 | 1990-07-17 | Modular Computer Systems, Inc. | Error connection device for parity protected memory systems |
US5414826A (en) * | 1990-01-31 | 1995-05-09 | Hewlett-Packard Company | System and method for memory management in microcomputer |
JP3056566B2 (ja) | 1991-11-13 | 2000-06-26 | 三菱電機株式会社 | Fifoテーブルメモリおよびその制御方法 |
US5394532A (en) | 1992-04-15 | 1995-02-28 | Storage Technology Corporation | Disk drive array memory system having instant format capability |
US5991775A (en) | 1992-09-23 | 1999-11-23 | International Business Machines Corporation | Method and system for dynamic cache allocation between record and track entries |
US5530829A (en) | 1992-12-17 | 1996-06-25 | International Business Machines Corporation | Track and record mode caching scheme for a storage system employing a scatter index table with pointer and a track directory |
US5644784A (en) * | 1995-03-03 | 1997-07-01 | Intel Corporation | Linear list based DMA control structure |
US5720029A (en) | 1995-07-25 | 1998-02-17 | International Business Machines Corporation | Asynchronously shadowing record updates in a remote copy session using track arrays |
JPH11110266A (ja) | 1997-10-06 | 1999-04-23 | Mitsubishi Electric Corp | 画像データベース装置 |
JPH11154058A (ja) | 1997-11-20 | 1999-06-08 | Toshiba Corp | ディスクアレイ装置及びデータ保守方法 |
US6370626B1 (en) * | 1999-04-30 | 2002-04-09 | Emc Corporation | Method and apparatus for independent and simultaneous access to a common data set |
DE19921232B4 (de) | 1999-05-07 | 2007-06-21 | Giesecke & Devrient Gmbh | Verfahren zum gesicherten Schreiben eines Zeigers für einen Ringspeicher, zugehöriger Ringspeicher, Verwendung des Ringspeichers und Chipkarte mit Ringspeicher |
US6735207B1 (en) * | 2000-06-13 | 2004-05-11 | Cisco Technology, Inc. | Apparatus and method for reducing queuing memory access cycles using a distributed queue structure |
JP3592640B2 (ja) * | 2001-01-09 | 2004-11-24 | 株式会社東芝 | ディスク制御システムおよびディスク制御方法 |
US6763424B2 (en) * | 2001-01-19 | 2004-07-13 | Sandisk Corporation | Partial block data programming and reading operations in a non-volatile memory |
US6766480B2 (en) | 2001-03-14 | 2004-07-20 | Hewlett-Packard Development Company, L.P. | Using task description blocks to maintain information regarding operations |
JP2005525668A (ja) | 2002-05-14 | 2005-08-25 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | ハードディスクドライブシステム、このようなシステムを用いる方法及び装置 |
JP2004078902A (ja) | 2002-06-19 | 2004-03-11 | Tokyo Electron Device Ltd | 記憶装置、メモリ管理方法及びプログラム |
US6865648B1 (en) * | 2002-06-24 | 2005-03-08 | Emc Corporation | Data structure for write pending |
US7529904B2 (en) * | 2004-03-31 | 2009-05-05 | International Business Machines Corporation | Storing location identifier in array and array pointer in data structure for write process management |
-
2004
- 2004-03-31 US US10/815,319 patent/US7529904B2/en not_active Expired - Fee Related
-
2005
- 2005-03-30 JP JP2005097433A patent/JP4667925B2/ja not_active Expired - Fee Related
- 2005-03-30 CN CNB2005100595978A patent/CN100361064C/zh not_active Expired - Fee Related
-
2009
- 2009-03-23 US US12/409,337 patent/US7818533B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US20050229166A1 (en) | 2005-10-13 |
CN100361064C (zh) | 2008-01-09 |
US7818533B2 (en) | 2010-10-19 |
US7529904B2 (en) | 2009-05-05 |
CN1677333A (zh) | 2005-10-05 |
JP2005293586A (ja) | 2005-10-20 |
US20090177859A1 (en) | 2009-07-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6745212B2 (en) | Preferential caching of uncopied logical volumes in an IBM peer-to-peer virtual tape server | |
US7818533B2 (en) | Storing location identifier in array and array pointer in data structure for write process management | |
US9052826B2 (en) | Selecting storage locations for storing data based on storage location attributes and data usage statistics | |
JP5310480B2 (ja) | ストレージ制御装置および方法 | |
US20090132621A1 (en) | Selecting storage location for file storage based on storage longevity and speed | |
US20070186047A1 (en) | Method, system, and program for demoting tracks from cache | |
US8423505B2 (en) | Catalog reorganization apparatus and method | |
US7864478B2 (en) | Verification of a tape data storage cartridge | |
US7987328B2 (en) | Data archive system | |
US8555025B2 (en) | Selective device access control | |
JP2007537522A (ja) | 仮想テープ内の仮想ボリューム・データの動的ローディング | |
US7197599B2 (en) | Method, system, and program for managing data updates | |
US10923152B2 (en) | Partial updates for shingled magnetic recording devices | |
US20060015696A1 (en) | Integrated storage device | |
US8688938B2 (en) | Data copying | |
JP4394467B2 (ja) | ストレージシステム、サーバ装置及び先行コピーデータ生成方法 | |
JP4713951B2 (ja) | 仮想テープライブラリシステムおよび仮想テープ書き込み方法 | |
US6854038B2 (en) | Global status journaling in NVS | |
US20220291874A1 (en) | Data integrity checking mechanism for shared external volume | |
JP2006338345A5 (ja) | ||
JP4641528B2 (ja) | データ書き込みプログラム及びデータ書き込み方法 | |
US20180052749A1 (en) | Information processing system and information processing method | |
US20050015542A1 (en) | Multiple write storage device | |
CN111158586A (zh) | 数据读写方法、装置、电子设备及机器可读存储介质 | |
JPH04311217A (ja) | 外部記憶制御装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070410 |
|
RD12 | Notification of acceptance of power of sub attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7432 Effective date: 20070427 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20070427 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070709 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20070814 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20071112 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20071217 |
|
A912 | Re-examination (zenchi) completed and case transferred to appeal board |
Free format text: JAPANESE INTERMEDIATE CODE: A912 Effective date: 20080411 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20101208 |
|
RD14 | Notification of resignation of power of sub attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7434 Effective date: 20110104 |
|
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: 20110112 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140121 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |