JPH06214720A - ディスク記憶装置のデータ更新方法 - Google Patents

ディスク記憶装置のデータ更新方法

Info

Publication number
JPH06214720A
JPH06214720A JP5302051A JP30205193A JPH06214720A JP H06214720 A JPH06214720 A JP H06214720A JP 5302051 A JP5302051 A JP 5302051A JP 30205193 A JP30205193 A JP 30205193A JP H06214720 A JPH06214720 A JP H06214720A
Authority
JP
Japan
Prior art keywords
blocks
block
track
physical
disk storage
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.)
Pending
Application number
JP5302051A
Other languages
English (en)
Inventor
Roger Lee Haskin
ロジャー・リー・ハスキン
James Christopher Wyllie
ジェームズ・クリストファー・ワイリー
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH06214720A publication Critical patent/JPH06214720A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0611Improving I/O performance in relation to response time
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0674Disk device
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk 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)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

(57)【要約】 【目的】 ディスク記憶装置のデータ更新速度の向上。 【構成】 データ・ブロックは固定論理アドレスにより
ホストに認識され、制御装置10が選択した物理位置に
記憶される。ホストが書込んだブロックは、選択した数
nに達するまで制御装置10中のバッファ12a〜12
nに記憶する。その後、各ディスク記憶装置からトラッ
クを選択し、ディスク1回転中に各トラックをかつ全て
のディスク装置に並行して書込むように、バッファ中の
ブロックがトラックに書込まれる。前記の選択した数n
は(各トラックのブロック数)×(ディスク記憶装置の
数)である。制御装置10は、ブロックの固定論理アド
レスからディスク上の物理位置を決める間接マップ18
を管理する。間接マップ18は故障によるデータ損失防
止のため不揮発性である。割振りマップ16はどの物理
ブロックが使用中かを示す。空トラックの数がしきい値
を下回る度に制御装置10はブロックを移し替えて新た
な空トラックを作る。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は1個以上のディスク記憶
装置におけるランダムに選択したデータ・ブロックを更
新するための書込み操作の実行速度を向上させる方法、
詳しくは選択した数の論理ブロックをバッファに蓄積す
るまで上記のデータの更新を遅延させる方法に関する。
【0002】
【従来の技術】パターソン他の論文、「A Case for Red
undant Arrays of Inexpensive Disks (RAIDs)」(19
88年7月発行のACM Sigmod 88第109
頁〜第116頁)にはいわゆる「Level 5 RA
ID」構成が記載してある。それによると、ディスク・
アレイのような並列記憶装置においては、ランダム・ア
クセス・データの1ブロックを更新するためには2ブロ
ックのデータ、すなわち書込むブロックとそのパリティ
・ブロックとを読み込まなければならず、さらにその2
ブロックを書換える必要がある。
【0003】ディスクの各トラックに長さの同じブロッ
クがK個あるとすると、1ブロックを書込むのに平均し
て1回のシークと(3K+2)/2Kの回転を要する。
(コモン・モード故障防止のため)データとパリティの
書込みが重複できないときには、1ブロックを書込むの
に平均して1回のシークと(5K+2)/2Kの回転が
必要である。対照的に、記憶装置をデータ記憶のために
N個、パリティのために1個使用する(N+1)パリテ
ィ方式においては、KNブロックを順次に書込むために
は1回のシークと1回転のみが必要となる。
【0004】
【発明が解決しようとする課題】ディスク記憶装置にお
いてランダム書込み操作を完了する速度を順次書込み操
作により近づけさせる方法が必要である。
【0005】
【課題を解決するための手段】1個以上のディスク記憶
装置を管理する制御装置への、ランダムな書込み操作を
ホスト・コンピュータが行う際の速度を向上させるため
の方法を述べる。
【0006】データ・ブロックは固定論理アドレスによ
りホストに認識されるが、制御装置の判断で選択され
た、ディスクの物理的な場所に記憶される。ホストによ
って書込まれたデータ・ブロックは、選択した数に達す
るまで制御装置内のバッファに記憶される。その後制御
装置は1個以上のディスク記憶装置それぞれにおいてト
ラックを選択し、バッファに蓄積したブロックを選択し
たトラックに書込む際、それぞれのトラックがディスク
1回転中に書込まれかつすべてのディスク記憶装置が並
行して書込まれるようにする。選択するブロック数とは
KN、ここでKは各トラックのブロック数、Nはディス
ク記憶装置の数である。
【0007】制御装置は、ブロックのディスク上の物理
的な場所を固定論理アドレスから決定する間接マップを
管理する。間接マップは、故障時のデータ損失を防ぐた
めに不揮発性である。割振りマップはどの物理ブロック
が使用中か示す。
【0008】書込みのために選択できる空トラックの数
がしきい値を下回る度に、制御装置はブロックを他の場
所に転送して、新しい空トラックを生成する。
【0009】
【実施例】図1に示したように、本発明を具体化した直
接アクセス記憶装置は、制御装置10と、それぞれが1
個の論理データ・ブロックを記憶できる複数の揮発性の
バッファ12a,12b,…,12nとを含む。揮発性
のフリー・リスト13は現在ブロックを記憶していな
い、すなわち未使用のバッファをリストする。揮発性の
書込みリスト14は、バッファ12のそれぞれの論理デ
ータ・ブロックが複数のディスク記憶装置D0〜D(N
−1)上の物理ブロックとして制御装置10により書込
まれる順序が記してある。
【0010】制御装置10は、ディスク装置D0〜D
(N−1)のそれぞれの物理ブロックの状態、すなわち
物理ブロックが論理ブロックを含むかどうか、を示す表
を構成する揮発性の割振りマップ16を管理する。制御
装置10は、各論理ブロックとそれを含む物理ブロック
との対応表から成る不揮発性の間接マップ18も管理す
る。揮発性の割振りマップ16は制御装置の立上げ時に
間接マップ18を走査することにより初期化される。
【0011】さらに、制御装置10は、フリー・リスト
13から必要に応じてバッファを割振る。フリー・リス
ト13にはバッファ12a〜12nのうち未使用のもの
を列挙してある。以下に述べるように、制御装置10が
論理ブロックを割振られた(使用中の)バッファをディ
スクに書込むプロセス・ステップを実行した後、制御装
置はそのバッファをフリー・リスト13に戻す。
【0012】いま、N個のディスク装置DにそれぞれM
個のトラックT0,…,T(M−1)があり、各ディス
ク装置D0,…,D(N−1)上のトラックTiがトラ
ック・グループGiを成すとする。さらに、トラックT
はそれぞれK個の物理ブロックを含み、ディスク装置D
dのトラックTtのk番目の物理ブロックの物理アドレ
スをPd,t,kとする。制御装置10は1回の書込み
操作でPd,t,k=0,…,Pd,t,k=K−1の
すべての物理ブロックに書込むことができる。制御装置
10はN個のディスク装置D0,…,D(N−1)全て
に並行して書込むことができる。ディスク装置Dに最も
速く書込むためには少なくとも2KN個のバッファが必
要である。
【0013】I.動作時において、ホスト・コンピュー
タが制御装置10に対して論理ブロックLにデータを書
込むよう要求すると、制御装置はフリー・リスト13か
らバッファ12の1個を削除し、そのバッファにデータ
を格納して、書込みリスト14の最後にそのバッファを
追加する。データのディスクへの書込みは、選択した数
nのバッファが書込みリスト14に蓄積されるまで遅延
される。その後、制御装置10はバッファからのデータ
を書込むためのトラック・グループGを選ぶため割振り
マップ16を走査する。ここで選択した数nはKN、つ
まり各トラック・グループの物理ブロックの数に等し
い。
【0014】制御装置10はまず、書込みリスト14の
最初のnバッファのデータを選択したトラック・グルー
プGのn個の未使用物理ブロックに書込む。次に、nバ
ッファのそれぞれに対して書込みリスト14に記録した
順に、論理ブロックの新しい物理位置を含むように、制
御装置は間接マップ18を更新し、論理ブロックが書込
まれた物理ブロックを「割振り済み」とマークし、その
論理ブロックが以前書込まれていた物理ブロックを「未
使用」とマークするように割振りマップ16を更新し、
書込みリスト14からそのバッファを除去し、それをフ
リー・リスト13に追加し、書込み操作を終えたことを
ホストに知らせる。
【0015】図2〜図5、図6〜図9は上記の一連のス
テップがどのように行われるかを示している。図を簡単
にするため、制御装置は12個のバッファ12と、2個
の記憶装置D0,D1を含み、それぞれの記憶装置は3
個のトラックを持ち、各トラックはそれぞれ3個の物理
ブロックを持つと仮定する。図2〜図5は、6個の書込
み操作が発生した後で、かつデータがバッファからディ
スクに書込まれる前のそれぞれの部分の状態を示してい
る。
【0016】論理ブロックL0,L3,L5,L6,L
1,及びL2の順でデータを書込むことになっていると
する。このデータは6個のバッファ12に蓄積されるこ
ととなる。より具体的には、図3で示されるように、バ
ッファB0は論理ブロックL0に書込むべきデータを持
ち、書込みリスト14上の次のバッファであるバッファ
B5へのポインタを持っている。同様に、バッファB5
は論理ブロックL3に書込むデータを持ち、バッファB
6を指す。バッファB6はブロックL5に書込むデータ
を持ち、以下同様にして最後には、最後の論理ブロック
L2に書込むデータを持つバッファB8を指す。このよ
うにして、バッファ中のデータは書込みリスト14に現
れた順(バッファB0に始まりバッファB8で終わる)
に書込まれる。間接マップ18はディスクの各ブロック
の物理アドレスを記録する。例えば、マップ18は論理
ブロックL3が物理アドレスP101を持っていること
を示している。ここで物理アドレスP101とは、ディ
スク1のトラックT0(最外周トラック)のブロック1
(トラック上の3ブロックのうちの2番目)を意味す
る。割振りマップ16は(第1行第5列の「A」によっ
て)P101が割振られている、すなわち論理ブロック
を記憶するのに使われていることを示す。マップ16は
同様の表示によって他の物理ブロックに対してもそれぞ
れの状態(「A」は割振り済み、「U」は未使用)を示
す。マップ16の各行、例えばP−1−の表示の行はト
ラック・グループG1すなわちP010,P011,P
012,P110,P111,及びP112、というよ
うにトラック・グループGに対応する。
【0017】トラック・グループG2(最も空の多いグ
ループ)を書込みのために選択する。図2〜図5で示す
ように、割振りマップ16はこのトラック・グループに
5個の未使用ブロック(P020,P022,P12
0,P121,及びP122)があることを示してい
る。図6〜図9は制御装置10がP020にL0、P0
22にL3、以下同様に書込みを行った後の各部の状態
を示している。選択したトラックは論理ブロックL2を
書込むのに十分な数の未使用ブロックを含んでいないの
で、L2は書込みリスト14の唯一の要素としてバッフ
ァB8に残る。論理ブロックを書いた後、制御装置は各
論理ブロックの新しい物理位置を含むように間接マップ
18を更新し、各物理ブロックが新しい状態を示すよう
割振りマップ16を更新し、バッファB0,B5,B
6,B9,及びB2をフリー・リスト13上に戻す。例
えば、論理ブロックL0は最初は物理ブロックP002
に記憶されていたが、物理ブロックP020に書込まれ
た。図8及び図9は、間接マップ18のL0の欄がP0
20に変わり、割振りマップ16のP002の状態がU
に更新され、P020の状態がAに更新されたことを示
している。
【0018】理想的には、書込み操作はKN個のバッフ
ァが蓄積され、全部が未使用のトラックが書込みのため
に選択されるまで、書込み操作は遅延される。しかし、
応答時間の制約によりKN個のバッファが満杯になるま
で書込み操作を遅延させることができないか、または空
のトラック・グループが存在しない場合には、少なくと
も1個の未使用物理ブロックがあればどのトラック・グ
ループにでも論理ブロックをバッファから書込むことが
できる。
【0019】不揮発性の間接マップ18を更新する前は
新旧両方の論理ブロックがディスク上に存在することに
注意しなければならない。このことはもし制御装置10
の動作が中断したとき(例えば電源障害により)、間接
マップ18は論理ブロックの有効な方(新旧どちらか)
を指す。
【0020】II.前に述べたように、論理ブロックが
書込まれる毎に、その論理ブロックを以前含んでいた物
理ブロックは未使用状態になる。このことにより、回数
を重ねるごとに、空トラック・グループは少なくなる。
一部使用中のトラック・グループはディスク1回転当た
り書込めるブロックが少ないので、空トラック・グルー
プに比べて書込みが遅くなる。したがって新たな空トラ
ック・グループを作ることが望ましい。これは下記の方
法で行われる。
【0021】(1)少なくとも1個の未使用物理ブロッ
クを含む、連続したトラック・グループに対して、制御
装置はそのトラック・グループのすべての割振り済みの
物理ブロックをフリー・リスト13から得たバッファに
読み込む。
【0022】(2)制御装置10は上記ステップ(1)
で満たされた(フリー・リスト13から得られた)それ
ぞれのバッファを書込みリスト14の先頭に結合させ
る。
【0023】(3)書込みリスト14が少なくともKN
個のバッファを含んだとき、制御装置は書込みリストの
バッファがKN未満になるまで上記Iで述べたようにバ
ッファからトラック・グループに書込む。
【0024】(4)十分な数のトラック・グループが空
になったら、制御装置は書込みリストの残ったバッファ
全てをIで述べたように書込む。
【0025】いま、個々の部分が図6〜図9で示す状態
にあるとする。空トラック・グループはないので、1個
以上の空トラック・グループを得るために上記に述べた
ステップを実行する。
【0026】図10〜図13はトラック・グループG
0,G1及びG2上の割振り済みの物理ブロックを読み
込み、書込みリストの先頭に付け加えた後の各部の状態
を示している。この例では、書込みリストがKN個のブ
ロックを含むまでに3個のトラック・グループすべてを
読み込まなければならない。
【0027】最初に、L4がトラック・グループG0か
らバッファB2(図7に示すようにフリー・リストの先
頭から得られた)に読み込まれ、B2は書込みリストの
先頭、(ホストがL2に書込むように要求したデータを
含む)バッファB8より前に付け加えられる。次に、L
7がトラック・グループG1から(フリー・リストから
同様に得られた)B9に読み込まれ、B9は書込みリス
トの先頭、B2より前に付け加えられる。最後に、L
0,L2,L3,L5,L6及びL1がトラック・グル
ープG2から(同様にフリー・リストから得られた)B
6,B5,B0,B1,B3及びB7にそれぞれ読み込
まれ、これらのバッファは書込みリストの先頭に付け加
えられる。図11に示されるように、書込みリストは
(順に)B7,B3,B1,B0,B5,B6,B9,
B2及びB8を含み、フリー・リストはB10,B4及
びB11を含む。ディスク記憶装置(図10)、割振り
マップ(図12)、間接マップ(図13)はそれぞれ図
6、図8、図9から変化しない。
【0028】図14〜図17は、上記のステップ(3)
及びステップ(4)で述べたように書込みリスト14が
新しい物理位置に書込まれた後の各部の状況を示してい
る。このことはIで述べた方法を2回実行する、つまり
L1,L6,L5,L3及びL2をトラック・グループ
G0に書込むのに1回、L0,L7,L4及びホストが
更新要求したL2をトラック・グループG1に書込むの
に1回実行することを要する。図16に示すように、ト
ラック・グループG2は今未使用でフリーである。
【0029】空トラック・グループの数が予め選択した
しきい値を下回る度に、すべて使用されている物理ブロ
ックに占有されているスペースを取り戻して(すなわ
ち、解放して)、空トラック・グループは作り出され
る。全てのトラック・グループを走査したときには、全
てのフリー・ブロックは空トラック・グループに結合す
る。しかし、空トラック・グループの数が選択したしき
い値を超えるまで、十分な数のトラック・グループを走
査するようにしてもよい。2つのしきい値のために選ぶ
値は適用業務による。また、トラック・グループをトラ
ック順に処理せずに、フリー・ブロックの数によって決
定した順に処理してもよい。すなわち、フリー・ブロッ
クを最も多く含むトラック・グループを最初に処理して
もよい。
【0030】上記の段落(2)で詳述したように、論理
ブロックを含むそれぞれのバッファは、書込みリスト1
4の先頭に付け加えられることに注意しなければならな
い。このことにより遅延されたユーザの書込み要求を古
い内容で上書きしてしまうという事態を防いでいる。ホ
スト要求に対する応答時間を過度に増やさないようにス
ペースの矯正を行うために、限られた数のトラック・グ
ループだけが、すなわち予め決めたしきい値を空トラッ
ク・グループの数が超えるまでが1回で処理される。
【0031】上記I及びIIで述べたステップは、Iの
ステップを完全に空のトラック・グループGにのみ書込
むように変更すれば(それが最もよい例である)、パリ
ティ・ブロックを用いたディスク・アレイにも拡張でき
る。例えば、レベル5RAIDに対しては1回にKN個
の論理ブロックを書込まずに、K(N−1)個の論理ブ
ロックを各トラック・グループに書込み、それとともに
K(N−1)個の論理ブロックから計算されたパリティ
・ブロックを残ったK個の物理ブロックに書込む。選択
したトラック・グループのレベル5RAID構成に対し
ては、パリティ・ブロックはディスク(mod N)の
トラックに記憶される。選択したトラック・グループの
物理ブロックすべてが割振り解除されるまではパリティ
・ブロックが算出されるブロックに再書込みしない。従
って、1つの物理ブロックの内容を、そのパリティ・グ
ループの他のブロックから再生することができる。この
再生は、当該他のブロックのいくつかが割振りマップ1
6において「U」のマークを付けられていた(割振り解
除がされていた)としても可能である。パリティ・グル
ープの中のいずれかのブロックが割り振られている限
り、パリティ・ブロックは使用中なのでそれ自身割振り
マップに表される必要はない。
【0032】制御装置10はディスク制御装置とホスト
・コンピュータ(すなわち、オペレーティング・システ
ムのページング・システムないしはバッファ管理プログ
ラム、データベース・システム、またはディスク・ファ
イル・システム)とのどちらでもよい。後者の場合、揮
発性のバッファはバッファ管理プログラム中のものであ
る。
【0033】さらに、本発明は、書込み先行記録と2次
の記憶装置に対する遅延更新とを行う、最新のオンライ
ン・トランザクション処理システムに特に適用可能であ
る。トランザクション中にディスクに更新の書込みをせ
ずに、揮発性の記憶域バッファに対して更新を行ってか
ら時間をおいてそのバッファから書込むようにする。こ
のことによって書込むべき多数の更新されたバッファが
利用可能になるまで書込み操作を遅延させることがで
き、このようにして、本発明の最大の利点が達成され
る。
【0034】本発明は上記に述べた実施例に限定される
ものではなく、下記のように変更することができる。
【0035】(1)n=KNの未書込みのブロックが蓄
積されるまで書込み操作を遅延させることができないよ
うな適用業務においては、ホストからの特定の命令に応
じてn<KNのブロックを(例えば、一部使用中のトラ
ック・グループに)書込むことができる。
【0036】(2)揮発性のバッファは不揮発性のバッ
ファに置き換えることができる。その際、書込みステッ
プの終わりではなく更新ブロックを不揮発メモリ中に記
憶したらすぐに書込み操作の完了をホストに伝達する。
そして書込み操作は不揮発バッファ中にKN個の論理ブ
ロックが蓄積されてから行う。
【0037】(3)間接マップは、不揮発性のランダム
・アクセス・メモリや種々のよく知られた技術、(例え
ばR.Bayer他編の「Operating Sys
tem: An Advanced Course」
(Springer−Verlag,1979年,pp
393−481)の中の「Notes on Data
base Operating Systems」とい
うJ.N.Grayの記事にのべられているような安定
記憶や書込み先行記録)で実施できる。基本的な要求
は、データが実際に新しい物理ブロックに書込まれて間
接マップが不揮発記憶装置中で更新されるまでユーザに
対しては書込み操作の完了が知らされないことである。
【0038】
【発明の効果】ディスク記憶装置においてランダム書込
み操作を完了する速度を順次書込み操作により近づけさ
せることができる。
【図面の簡単な説明】
【図1】本発明を具体化したディスク記憶装置の概要図
である。
【図2】図1のシステムにおいて本発明の実行のための
個々のステップが完了したときのディスク装置Dの内容
を示す図である。
【図3】図1のシステムにおいて本発明の実行のための
個々のステップが完了したときのバッファ12の内容を
示す図である。
【図4】図1のシステムにおいて本発明の実行のための
個々のステップが完了したときの割振りマップ16の内
容を示す図である。
【図5】図1のシステムにおいて本発明の実行のための
個々のステップが完了したときの間接マップ18の内容
を示す図である。
【図6】図1のシステムにおいて本発明の実行のための
個々のステップが完了したときのディスク装置Dの内容
を示す図である。
【図7】図1のシステムにおいて本発明の実行のための
個々のステップが完了したときのバッファ12の内容を
示す図である。
【図8】図1のシステムにおいて本発明の実行のための
個々のステップが完了したときの割振りマップ16の内
容を示す図である。
【図9】図1のシステムにおいて本発明の実行のための
個々のステップが完了したときの間接マップ18の内容
を示す図である。
【図10】図1のシステムにおいて本発明の実行のため
の個々のステップが完了したときのディスク装置Dの内
容を示す図である。
【図11】図1のシステムにおいて本発明の実行のため
の個々のステップが完了したときのバッファ12の内容
を示す図である。
【図12】図1のシステムにおいて本発明の実行のため
の個々のステップが完了したときの割振りマップ16の
内容を示す図である。
【図13】図1のシステムにおいて本発明の実行のため
の個々のステップが完了したときの間接マップ18の内
容を示す図である。
【図14】図1のシステムにおいて本発明の実行のため
の個々のステップが完了したときのディスク装置Dの内
容を示す図である。
【図15】図1のシステムにおいて本発明の実行のため
の個々のステップが完了したときのバッファ12の内容
を示す図である。
【図16】図1のシステムにおいて本発明の実行のため
の個々のステップが完了したときの割振りマップ16の
内容を示す図である。
【図17】図1のシステムにおいて本発明の実行のため
の個々のステップが完了したときの間接マップ18の内
容を示す図である。
【符号の説明】
10・・・制御装置 12a・・・バッファ 12b・・・バッファ 12n・・・バッファ 13・・・フリー・リスト 14・・・書込みリスト 16・・・割振りマップ 18・・・間接マップ
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ジェームズ・クリストファー・ワイリー アメリカ合衆国カリフォルニア州モンテセ レノ チャドボーン・レーン 18392

Claims (13)

    【特許請求の範囲】
  1. 【請求項1】ディスク記憶装置において、1個の論理ブ
    ロックに相当する容量を持つバッファを複数持ち該複数
    のバッファに更新するべきデータの論理ブロックを蓄積
    するステップと、該蓄積した論理ブロックの数が選択し
    た値に達するまで該論理ブロックの更新を遅延させるス
    テップと、1個以上のディスク記憶装置の選択したトラ
    ック上の未使用ブロックに、前記選択した数の論理ブロ
    ックをブロックを物理ブロックとして前記バッファから
    連続した書込み操作で順次に書込むステップと、を含む
    ディスク記憶装置のデータ更新方法。
  2. 【請求項2】上記書込むステップにおいて複数のディス
    ク記憶装置に上記ブロックが並行して書込まれる、請求
    項1の方法。
  3. 【請求項3】Kを各トラック上の長さの等しいブロック
    の数とし、Nをディスク記憶装置の数とし、かつKブロ
    ック全てが未使用とするとき、上記選択した値がn=K
    Nで表されるnである、請求項1の方法。
  4. 【請求項4】Kを各トラック上の長さの等しいブロック
    の数とし、Nをディスク記憶装置の数とし、かつ未使用
    ブロックがK未満とするとき、上記選択した値がn<K
    Nで表されるnである、請求項1の方法。
  5. 【請求項5】上記書込むステップの後に、各論理ブロッ
    クを物理ブロックに対応させる不揮発性の間接マップを
    更新するステップを含む、請求項1の方法。
  6. 【請求項6】蓄積した論理ブロックを物理ブロックとし
    てバッファからディスク記憶装置に書込む順序のリスト
    を管理するステップを含む、請求項1の方法。
  7. 【請求項7】蓄積したブロックを物理ブロックに対応さ
    せる間接マップと、未使用の各物理ブロックを特定する
    割振りマップとを使用し、上記書込むステップの後に、
    上記書込むステップの前に論理ブロックが属していた物
    理ブロックが未使用状態になったこと、及び上記書込む
    ステップの最中に論理ブロックが書込まれた物理ブロッ
    クが未使用状態ではなくなったことを、各書込まれた論
    理ブロックに対して割振りマップに示すステップを含
    む、請求項1の方法。
  8. 【請求項8】データの物理ブロックのサブセットがパリ
    ティ・ブロックを含み、上記選択した数が選択したトラ
    ックにあるすべての物理ブロックの数であり、かつパリ
    ティ・ブロックを含まない、請求項1の方法。
  9. 【請求項9】選択した数が選択したトラックの物理ブロ
    ックの数である、請求項1の方法。
  10. 【請求項10】1個以上のディスク記憶装置の選択でき
    るトラック上に、論理ブロックが連続して書込めるよう
    な連続した未使用物理ブロックを作るために、前記ディ
    スク記憶装置上の各物理ブロックから他の物理ブロック
    に論理ブロックを転送するステップを含む、請求項1の
    方法。
  11. 【請求項11】どの物理ブロックが未使用かを示す揮発
    性の割振りマップを含む、請求項10の方法。
  12. 【請求項12】上記転送するステップ中、それぞれのト
    ラック・グループに含まれる未使用ブロックの数の順に
    トラック・グループから論理ブロックを転送する、請求
    項10の方法。
  13. 【請求項13】未使用物理ブロックの数が予め選択した
    しきい値を下回る度に上記転送ステップを実行する、請
    求項10の方法。
JP5302051A 1992-12-07 1993-12-01 ディスク記憶装置のデータ更新方法 Pending JPH06214720A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US98703692A 1992-12-07 1992-12-07
US987036 1992-12-07

Publications (1)

Publication Number Publication Date
JPH06214720A true JPH06214720A (ja) 1994-08-05

Family

ID=25533002

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5302051A Pending JPH06214720A (ja) 1992-12-07 1993-12-01 ディスク記憶装置のデータ更新方法

Country Status (3)

Country Link
EP (1) EP0601738A1 (ja)
JP (1) JPH06214720A (ja)
KR (1) KR970004255B1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6233648B1 (en) 1997-12-26 2001-05-15 Kabushiki Kaisha Toshiba Disk storage system and data update method used therefor
KR100310896B1 (ko) * 1997-08-08 2001-11-15 니시무로 타이죠 디스크기억장치의데이터갱신방법및디스크기억제어장치
US7216199B2 (en) 2001-01-09 2007-05-08 Kabushiki Kaisha Toshiba Disk control system and method

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3287203B2 (ja) * 1996-01-10 2002-06-04 株式会社日立製作所 外部記憶制御装置及び外部記憶制御装置間データ転送方法
US6467014B1 (en) * 2000-02-29 2002-10-15 Plasmon Lms, Inc. Automatic mapping and efficient address translation for multi-surface, multi-zone storage devices

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59146355A (ja) * 1983-02-09 1984-08-22 Hitachi Ltd 直接アクセス記憶装置のデ−タセツト再編成方法
JPH073661B2 (ja) * 1988-05-05 1995-01-18 インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン 情報処理システム及びその制御方法
WO1990006550A1 (en) * 1988-12-08 1990-06-14 Cray Research, Inc. Single disk emulation for asynchronous disk array
US5276840A (en) * 1991-03-22 1994-01-04 Acer Incorporated Disk caching method for writing data from computer memory including a step of writing a plurality of physically adjacent blocks in a single I/O operation

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100310896B1 (ko) * 1997-08-08 2001-11-15 니시무로 타이죠 디스크기억장치의데이터갱신방법및디스크기억제어장치
US6233648B1 (en) 1997-12-26 2001-05-15 Kabushiki Kaisha Toshiba Disk storage system and data update method used therefor
US7216199B2 (en) 2001-01-09 2007-05-08 Kabushiki Kaisha Toshiba Disk control system and method

Also Published As

Publication number Publication date
EP0601738A1 (en) 1994-06-15
KR970004255B1 (ko) 1997-03-26
KR940015784A (ko) 1994-07-21

Similar Documents

Publication Publication Date Title
US6131147A (en) Large capacity storage apparatus having storage cells, an accessor, a cache memory and a disc update section to set a number of frequently accessed storage media
US5764880A (en) Method and system for rebuilding log-structured arrays
US6941420B2 (en) Log-structure array
US5542065A (en) Methods for using non-contiguously reserved storage space for data migration in a redundant hierarchic data storage system
US6138203A (en) Information processing apparatus and method enabling a write-once recording medium to be utilized as a rewriteable recording medium
US9268709B2 (en) Storage controllers and storage control methods
US5978812A (en) Information processor and method of information processing
US6115787A (en) Disc storage system having cache memory which stores compressed data
US4974197A (en) Batching data objects for recording on optical disks with maximum object count
US5420983A (en) Method for merging memory blocks, fetching associated disk chunk, merging memory blocks with the disk chunk, and writing the merged data
JPH06508708A (ja) ディスク記憶システム
JPS6148182B2 (ja)
JP2001243021A (ja) ランダムディスクライトに好適なディスク制御機構
JPS5942897B2 (ja) テキストデ−タ内容転送装置
JP3431581B2 (ja) ディスク制御システムおよびデータ再配置方法
US5708793A (en) Method and apparatus using address and read head location information to provide optimal operation of a disk system
US6532513B1 (en) Information recording and reproduction apparatus
JP3788961B2 (ja) ディスクアレイ装置及び同装置におけるレイドレベル変更方法
JPH06214720A (ja) ディスク記憶装置のデータ更新方法
JPH1185589A (ja) 情報記憶装置および同装置に適用される管理データ再構築方法
JPH04246746A (ja) 記憶装置システム
JP3112709B2 (ja) 追記型記憶媒体のアクセス装置
JPH05258585A (ja) ファイル装置
JP3030949B2 (ja) ディジタルデータ記録再生装置
JP3083530B2 (ja) キャッシュメモリのデータ管理方法およびキャッシュ制御装置