JPS61210446A - デ−タ貯蔵装置 - Google Patents

デ−タ貯蔵装置

Info

Publication number
JPS61210446A
JPS61210446A JP60050383A JP5038385A JPS61210446A JP S61210446 A JPS61210446 A JP S61210446A JP 60050383 A JP60050383 A JP 60050383A JP 5038385 A JP5038385 A JP 5038385A JP S61210446 A JPS61210446 A JP S61210446A
Authority
JP
Japan
Prior art keywords
data
buffer
disk
cache memory
sector
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
JP60050383A
Other languages
English (en)
Inventor
Masaaki Shimizu
正明 清水
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP60050383A priority Critical patent/JPS61210446A/ja
Publication of JPS61210446A publication Critical patent/JPS61210446A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】
[技術分野] 本発明は例えば磁気ディスク装置等のデータ貯蔵装置を
含むデータ貯蔵装置に関し、特に内部にキャッシュメモ
リを有するデータ貯蔵装置に関するものである。 「従来技術」 従来、データ処理システムにおいては外部記憶装置とし
て、例えば磁気バブルメモリ、固定ディスク装置やフレ
キシブルディスク等の磁気記憶装置又は光デイスク装置
が使用されている。このような磁気ディスク装置に代表
される従来の記憶装置においては、外部バスを通してホ
ストシステムからのI10命令に従って外部からのデー
タのREAD/WRITE処理を行っている。この場合
にI10命令毎にディスク面に実際にデータを書き込ん
だリ、ディスク面からデータを読み取ったりする。 即ち、ディスク装置の外部システムであるホストコンピ
ュータは自身が管理する論理アドレスと物理アドレスと
の関係を知り、ディスクの物理的構造、取り分はシリン
ターアドレス、セクターアドレス、ヘッドアドレス等を
知っておく必要があった。しかし、ホストシステム側に
とって各ディスク装置毎の物理的特徴を知らねばならな
いという事は煩雑に耐えない、これではインターフェー
スの汎用性がないという事が出来る。 一方、アクセス速度の改良に関しては従来からディスク
キャッシュが用いられているが、このディスクキャッシ
ュのキャッシュメモリ内は固定長のバッファに分割され
ているので、1つの工10命令が複数のバッファにわた
る時は、その都度バッファの確保が必要となる等の為に
効率的な八ツファ管理が出来なかった。
【目的】
本発明は上述した従来技術の欠点に鑑みなされたもので
、その目的は読み出し又は書込み命令のデータ長に応じ
た可変長バッファからなるキャッシュメモリを有するデ
ータ貯蔵装置を提供する事を目的とする。 E実施例」 以下、図面を用いて本発明に係る実施例を説明する。 第1図は1例として磁気ディスク装置(以下。 ディスク装置と略す)13を用いたデータ貯蔵システム
で、ディスク装置13が外部バス8を介してホストシス
テム14と接続されている。ホストシステム14はディ
スク装置13に対してデータの記録、又は読み出しを行
い、データの加工等を行う、ディスク装fi13は磁気
ディスク媒体、ヘッド等を含むディスク部lと、ヘッド
位置決め、データの読み/書き及びcpu 3等とのイ
ンターフニー東を行うディスク制御部2と、ホストシス
テム14とディスク制御部2との間でダイレクトメモリ
アクセスを行う0NAC5(DIRECT MEMOR
Y ACESS C0NTR0LLER)と、後述する
管理テーブル及びキャッシュメモリとからなる大容量メ
モリ6と、ディスク装置全体を制御するCPυ3と、デ
ィスク装置13を制御する制御プログラム(第8図等)
を格納するプログラムメモリ4と、第12図(a)の如
き作業変数を格納するRAM12と、ホストシステム1
4とディスク装置13とのインターフェースを行うイン
ターフェース一部16等から構成される。 インターフェース部16は内部バス7と外部バス8の接
続を行う部分で1例えば、ホストシステム14からデー
タが送られる時はCPυ3はインターフェース部16を
起動して内部バス7と外部バス8とを接続する。更にD
MAC5をも同時に起動して、DMAC5の制御の下に
インターフェース部16と協同してホストシステム14
からデータを転送して大容量メモリ6内の指定番地に格
納する。 又、インターフェース部16はホストシステム14から
の命令を受は取って、cpu 3へ割り込みをかける事
も行う、第12図(b)にDMAC5の制御情報を示す
6図中、 H−DMA−START 120 ハ* ス
トシステム14との間でのキャッシュメモリノ転送開始
アドレスを、 )I−DMA−SIZEI 21は同じ
く転送データ長を、トΩMA−OFSET 122はオ
フセット量ヲ表シ、一方D−DNA−9TART 12
31tティスクfljJ11部2との間でのデータ転送
開始アドレスを、D−DMA−5IZEI 24は同じ
く転送データ長を表わしている。これらのcpu 3と
インターフェース部16との間の制御は制@fi15を
介して行われる。又、9はcpu 3とディスク制御部
2との間の制御線、lOはCP■3とDMAG 5との
間の制御線、11はDMAC5とキャッシュメモリ6と
の間の制gi緑である。 第2図は大容量メモリ6内の構成を示す、大容量メモリ
6はキャッシュメモリ21とキャッシュメモリ21を管
理する管理情報を持つ管理テーブル20とからなる。キ
ャッシュメモリ21は複数のバッファに分割され、個々
のバッファの大きさはディスクの物理的な1セクターの
長さの整数倍の容量を持つ、データがディスク部lから
キャッシュメモリ21へ読出され、又はホストシステム
14からキャッシュメモリ21へ書込まれようとする時
は、それに対応するテーブルが管理テーブル20内に作
られる。 第3図はビットマツプ(bit■ap)30による個々
のバッファの管理方法を示している。ある1つのバッフ
ァ31は1つの長さが1セクタ長に等しいブロックの集
り(ブロックl、ブロック2・・・)から成る。第3図
の例ではバッファ31はn個のブロックから成っている
。即ち、n個の1つのI10命令により形成されたもの
である。各ブロックはビットマツプ30の1ビツトと対
応している。そのビットが′1nの時は対応するブロッ
クが使用されている事を示し、“0″の時は未使用であ
る事を示す、新規にバッファを確保しようとする時はビ
ットマツプ30を調べて、必要とするバッファの数だけ
” o ”がM続するビットマツプ30に対応したブロ
ックを求める。 第4図に管理テーブル20を構成する1つのテーブルの
フォーマット例を示す、その構成を説明すると、40は
対応するバッファに有効なデータが含まれているか否か
を示す使用フラグで”1”で使用、“0″で未使用を表
す、41はディスクアドレス等の格納エリア(以下SA
)で、そのバッファに格納されたディスクデータに対応
する先頭のディスクアドレスをセーブしておく場所45
(以下、5ADA)及びそのディスクデータのブロック
数(=セクタ数)を格納しておく場所46(以下、5A
BL)からなるセーブエリア(以下、SA)である、4
2はそのバッファのデータがディスクに未書き込みであ
るか否かを示す書き込み要フラグ、43はバッファのア
ドレスポインタ(BP)、44はそのバッファが最後に
アクセスされた時間を格納する場所(以下、LAT )
である。 第5図はホストシステム14から送られてくる命令のフ
ォーマットを表す、50は読みmし命令で(“O゛′)
であるか、書き込み命令(“1″)であるかを示すビッ
ト(以下、R/W )で、51はホストシステム14に
おける論理アドレス番号(以下、 SNO) 、 52
はオフセット量を示すフィールド(以下、0FFSET
) 、  53は転送すべきデータ長を格納するフィー
ルド(以下、LE)IGTH)である、第6図は物理セ
クターとSNO51,0FFSET52及びLENGT
H53との関係を示す、このようにして、ディスクをア
クセスする時ディスクセクターアドレスをホストシステ
ム14は知る必要はなくなる。 第7図(11)〜Ce)はキャッシュメモリ21内で有
効なデータが格納されている領域60と命令で指定され
必要とされる領域との関係を様々な態様で示している。 SHO,0FFSET、LENGTHからディスク装置
13内で使う物理アドレスに変換するのは次のようにし
て行う。 実際の開始セクターアドレス(RSNO)−SHO+ 
(OFFSET/SLの商)実際のオフセット(ROF
FSET) 奪 0FFSET + (OFFSET/SLの商) 
X  SL実際のセクター数(RHO) 禦(LENGTH/SLの商)◆(0又は1)(但し、
LENGTH/SLの余りが0”の時に“0″で、それ
以外の時は 1”) 尚、 SLはディスクセクターの1セクターの長さであ
る。このようにして求められたR5N0.ROFFSE
T、RNOは第12図(a)のROM12に格納される
。 R5N0は更にシリンダ、ヘッド、セクタ御名アドレス
に変換される0例えば、 R5N0 O・・・0シリンダ、Oヘッド、OセクタR
5N0 l・・・Oシリング、0ヘツド、1セクタR5
N02・・・0シリンタ、0ヘツド、2セクタというよ
うに変換される。このような変換は本実施例では後述す
る制御プログラムで行う。 第13図(L)〜(C)に基すいて読み出し処理の概略
を説明する。 第13図(&)はキャッシュメモリ21に必要なデータ
が存在しない場合(いわゆるヒツトミス)で、新たにデ
ィスク部1からデータを読み出す場合を示している0図
中の斜線部は読み出されたデータ部を表している。その
データに対応するバッファは管理テーブル20のBPT
R43、BLENGTH44で定義される。 第13図(b)は、既存の読出しデータ■内の1部に読
出し命令が必要とするデータ領域■が存在している時に
、更に残りの領域■をディスク部lから新規に読み出す
場合である。第13図(C)は第13図(b)の逆で、
新規にデータ■を読み出してから、さらに既存のデータ
部■の中に必要とするデータ■が含まれている場合を示
している。既にキャッシュメモリ21内に1部存在する
必要データは後述するキャッシュメモリサーチサブルー
チンによりBLKPTRI 07及びBLOCKNO1
08で定義される。 第14図(a)〜(C)は書き込み命令に対して、第1
3図(a)〜(C)の読み出し命令と同じ操作を行った
時の動作概念図である。基本的には読み出しと同じであ
るが、書き込みに特徴的な事は新規にキャッシュメモリ
21内にデータを1き込む時は、その先頭の1セクター
をディスク部lから前もって読み出しおくという事であ
る0通常、ディスク装置は必ず1セクタ一単位でしか読
出し又は書込みできないものであり、本実施例がホスト
システムのデータ構造とディスクのデータ構造が異なっ
ていてもデータの授受ができるようにオフセット量を設
定しているために、先頭の1セクターを前もって読み出
しおいて、オフセットをかけて、1セクターの途中から
データを書き込むというものである。このようにすれば
オフセットがかっていない部分のデータは破壊されない
。 次に、フローチャートに従って実施例の具体的動作を説
明する。第8図は制御手順の主フローである、I89図
C&)、(b)は読出し命令処理を、第10図は書込み
命令処理を、第11図(a)〜(m)はそれらの中で使
われるサブルーチンを示す。 第t3図の主フローについて説明する。ステップS2.
S4は管理テーブル20、ビットマツプ30を初期化す
るものである。同じ<RAM12み初期化される。全て
の内容が0クリアーされる。 ステップS6では命令がホストシステム14から到着し
ているかをチェックする。これは通常インタフェース部
16からの割込みで検知されるであろう。 先ず、命令が到着していない場合について説明する。命
令が未ていない場合はステップS6からステップS8へ
進み、書き込み要バッファの書込みサブルーチンを行う
、このサブルーチンの詳細は第11図(b)に示されて
いる。この様に、ディスク装置のアイドル時にディスク
への書き込みを行うのは、ホストシステム14からディ
スクへの書き込み命令が米ても、ヘッドシーク等に時間
の要する書き込みを後回しにして、取りあえずキャッシ
ュメモリ21にデータを書き込み、ホストシステム14
をディスクオペレーションから開放して、ホストシステ
ム14の処理効率を上げるためである。 第11図(b)に従って書き込み要バッファの書き込み
サブルーチンについて説明する。このサブルーチンはW
KTBLPTRI l Oをインデックスにして管理テ
ーブル20を順次サーチして、使用フラグ40、書込み
要フラグ42が“1″であるテーブルを探す(ステップ
582〜ステツプ888)、そのようなテーブルに対応
するWK丁BLPTR110により書込み要のバッファ
を特定できる。 テーブルが見付かると、ステップ3B9でWKTBLP
TRIIOをTBLPTRI O9へ写し、置PTRI
 09をインデックスにしてステップ590で当該バッ
ファの内容をディスク部1に1込み、ステップS92で
書込み要フラグ42を0″にして第8図のステップS6
〜ステツプS8のループにリターンする。 次に命令を受は取った場合について説明する。 命令を受は取ると、第8図のステップS6からステップ
310に進み、前述したように、第5図の如きフォーマ
ットの命令を分解して、実際のセクターアドレス(RS
NO)、オフセット(ROFPSET) 、セクター数
(RHO)を算出して第12図(&)に示されたように
RAM 12に格納する0次にステップS12でRJN
OI O11sEc:TORNO−11K l 05及
び5ECTORNOI l 2へ内容をコピーする。 
5ECTORNO−%IK 105はこれをインデック
スにして1つの命令に対応する全セクターをサーチする
もので1例えばキャッシュメモリzl内にデータが存在
するか否かを判断する時は、5ADA45≦5ECTO
RNO−WK 105≦5ADA45 +5ABL46
であるならば、少なくともSEC↑0RNO−WK 1
05が指す1セクターはキャッシュメモリzl内に存在
すると判断する。 5ECTORNO112は第13図
(、b)又は(c)若しくは第14図(b)〜(C)の
場合のように、読出し又は書込みしようとするデータの
一部が既にキャッシュメモリ21内に存在する場合に、
その境目となるセクターアドレスを示す、 ENDRS
NOl 02はその命令が示す最終セクターアドレスで
あって、R5N0101+RNO104で計算される0
次にステップS14へ進み、BUF−SIZEI 00
を0にする。このBUF−SIZEI OOはディスク
lからキャッシュメモリ21へ実際に読み込まれ又は書
込まれねばならないセクターの数、即ちバッファのサイ
ズを示・している。 受は取った命令が読み出し命令の場合について説明する
と、プログラムはステップS18のREAD命令処理の
サブルーチンを実行する。第9図(a)、(b)はモの
サブルーチンの詳細である。この読出し命令が第13図
(a)のように、命令が必要とするデータがキャッシュ
メモリ21内に存在しないとしよう、ステップ324〜
ステツプS32のループは5ECTORNO−WK 1
05によりインデックスされるアドレスのディスクデー
タがキャッシュメモリ21内に存在するか否かを調べ(
ステップS26のキャッシュメモリサーチのサブルーチ
ン)て、そのようなデータがキャッシュメモリ内に見付
からない間は5ECTORNO−WK 105カEND
R5NOl 02ニタッt6tテBUF−8IZEI0
0をカウントアツプするというものである。 尚、xテ、プ5287=7グPRESENCEI 06
はキ4r −/シュメモリヒツトした場合に“l”とな
るフラグである。 ステップS 24 テ5EcTORNO−WK 105
 ≦ENDRSN0102、!:な6時ハステップS3
0によりBUF−9IZE100は必要とされるバッフ
ァの大きさを示している。ステップ324から344(
第9図(b))へ進み、ステップ346で新規エリア読
み込み処理サブルーチンを行う、新規エリア読み込み処
理の詳細は第11図(f)に示されている。 このサブルーチンについて説明すると、先ずステップ5
isoでバッファ確保処理(詳細は第11図(d))を
行うために、ステップ3120ヘジヤンプする。 第11図(d)のステップ5120ではBUF−8IZ
E100の長さで連続したエリアをビットマツプ30上
でサーチする。そのようなバッファが見付かれば、ステ
ップ5122からステップ5126へ進み、そのバッフ
ァに対応する全てのブロックのビットマツプを′l”に
して、リターンする。 そのようなバッファが見付からない場合はステップ51
24でバッファ掃出しサブルーチンを実行する。 第11図(k)のバッファ掃出しサブルーチンについて
説明する。このサブルーチンはWKTBLPTRllo
をインデックスにして管理テーブルをサーチして、LA
T47が一番古いバッファを捜す、このようなテーブル
が見付かると、そのテーブルの書込み要フラグ42が−
1”である時はステップ5262でそのバッファの内容
をディスク部1へ書込み、使用フラグ40を“0“にし
て(ステップ5264)、又対応するビットマツプを”
 o ”にしてもどり先ヘリターンする。バッファ掃出
しのアルゴリズムは本実施例ではアクセスタイムの一番
古いバッファをはきだすという方法を用いているが、そ
のバッファがアクセスされる度にアクセス頻度を更新し
てこのアクセス頻度も加味してバッファ掃出しを行うよ
うにしてもよい。 第11図(d)のバッファ確保サブルーチンからリター
ンして第11図(f)のステップ5152の管理テーブ
ル確保サブルーチンを実行する。 管理テーブル確保サブルーチンの詳細は第11図(e)
に示されており、このサブルーチンはWKTBしPTR
I 10をインデックスにして、管理テーブル20を順
にサーチし使用フラグ40が“ONであるものを探す、
もし、管理テーブル20に空きが無ければステップ51
40のバッファ掃き出し処理(詳細は第11図(b))
を行って確保し、ステップ3142で確保されたテーブ
ルを指すWKTBLPTRI 10をTBLPTRI 
O9へ移す、そしてステップ5143で前のバッファ確
保サブルーチンで見付けたバッファのキャッシュメモリ
内のアドレスCBPR? 43 ) 、その長さBLE
NGTH44をTBLPRTR109を指すテーブルに
セット(第4図)し、さらにステップ3144で、その
テーブルの使用フラグ40を1″にしてリターンする0
次にステップ5154の管理情報セットサブルーチン(
詳細は第11図(a))を行う。 第11図(L)では、ステップS 70−t’TBLP
丁R109を使ってテーブルをインデックスして、以下
管理テーブルの必要な情報をセットしてリターンする。 ステップ372の5ADA−SECTORNOI 12
はSECTORNOI l 2が境目の先頭のアドレス
を指しているからである。又、ステップS78のLAT
 47は現在時刻を格納し、このバッファが最後にアク
セスされた時間を示す。 第11図(f)のステップ5156へ戻りディスクR/
W処理(詳細は第11図(m))を行う。 このサブルーチンについて説明すると、第11図(m)
 のステップ5280でTBLPTRI O9を参照し
、ステップ5282でDIIIAC5の為にディスクリ
ートに必要なりMACffjJil情報D−DMA−S
TART 123 、 D−DMA−SIZEI 24
をセットする(第12図(b)#照)0次にステップ5
284で5ADA45を分解して、シリンダ、ヘッド、
セクターアドレス等をディスク制御部2へ送り、ステッ
プ3288でΩMAC5をスタートさせて実際にディス
ク部lからリードする。こうしてBPTR43に示され
たアドレスのキャッシュメモリ21にBLENGTH4
5の長さだけデータがリードされる。 次に第11図(f)のステップ5158へ戻り、ディス
ク部1から読み出したデータをホストシステム14へ送
るために、ステップ3158でホスト転送に必要なりM
AC5の制御データをセットして(第12114(b)
)、ステップ5160のホストデータトランスファ(詳
細は第11図(j))を行う。 第11図(j)のホストデータトランスファサブルーチ
ンでは、ステップ5240でこれから転送しようとする
データが最初のセクターのデータを含むものであるかを
調べる。これは前述したようにオフセットが発生してい
る可能性があるからである。もし最初のセクターを含む
のであれば、ステップ5242で[INAC5にオフセ
ット情報をセットする。ステップ52426でDにAC
5をスタートし、さらにステップ3248でインターフ
ェース部16をスタートして内部バスと外部バスを接続
し、第11図(f)のステップ5162へ戻り、キャッ
シュメモリ21からホストシステムへのデータ転送を行
う、こうして新規エリア読み込みにより、キャシュメモ
リ21内に存在しないデータをディスクから読み出して
ホストに転送して1つの命令を終了する。 次に第13図(b)のように、即ちキャッシュメモリ内
にデータが一部存在しているような読み出し命令が米た
場合について説明する。 第13図(IL)の場合と同様、ステざブS6→S10
→512→516→518→S24と進んで、・ステッ
プ326のキャッシュメモリサーチサブルーチンを行う
。 キャッシュメモリサーチはfflll図(C)に詳しく
説明しであるようにキャッシュメモリ内にデータが存在
するか否かを管理テーブル20をサーチする事によって
判断する(その結果はPRESENCEI 06に反映
される)。 1411図(C)のステップ5102→3106→51
08→5102はテーブル内を探すループである。その
サーチ方法は使用フラグ40が′″1″であるテーブル
があれば(ステップ3104)、そのテーブルがもつ5
ADA45 、5ABL46を使ッテ、ステップ510
6(iF)範囲内ニSECTORNO−wK 105が
収まっているかを調べるものである。 もし範囲内であれば、少なくとも5ECTORNO−W
K 105がインデックスするデータはキャッシュメモ
リ21内にある事になり、その5EGTORNO−IN
K 105に対応するキャッシュメモリ内のアドレスを
BLKPTRI 07、その大きさをBLOCKNOI
 O8へ格納しくステップ5110)、ステップ511
2でフラグPRESENCEI O6を′l“′にして
TBLPTRI O9をセットして(ステップS l 
14)リターンする。 リターン先ステップS28ではPRESENCEI 0
6が′l°°であるので、ステップ534へ進む、ステ
ップS 34 テBtlF−9IZE100 カ” 0
”テアルカ否かを調べる。これは第13図(C)の場合
のように、先にキャッシュメモリ上にないデータエリア
■があって、その途中で領域■にぶつかった場合も考え
られるからである。今の場合はBUF−9IZE100
=0であるのでステップ338へ進み、再びPRESE
NCEI 0 Bがl”であるか否かを調べる。ステッ
プ538の意味も第13図(C)の場合のように、先ず
ステップS 34 テBtlF−5IZE= 0でない
時に、新規エリア読み出しく既述した)処理を行ってか
らステップ338へ来た場合もあるからである。 PRESENCEI 06はl″であるからステップS
40へ進み、キャッシュ内読み出しく詳細はl811図
(g))を行う、キャッシュメモリ21からデータを読
み出してホストシステムへブータラ送ッテカラ、ステッ
プS 421’BUF−SIZEI 00を“Q II
にしてステップ324へ戻り、命令の残りの処理続行を
行う。 第11図(g)により、キャッシュ内読み出しサブルー
チンについて説明する。このサブルーチンはキャッシュ
メモリのある1つのバッファに1セクターでも必要とす
るデータがあれば(いわゆるヒツト)、更にそのバッフ
ァ内に存在する連続するデータを探し出して、その全て
の必要データをホストへ転送するものである。第11図
(g)にて、ステップ5170−3178はこのバッフ
ァ内にj!続して何セクターのデータが存在するかを調
べるものである。ステップ5176で5ECTORNO
−WK 105が示すアドレスが範囲内であれば、ソノ
ls度Wx−BSIZEI 11 ヲsI、ノ長すタけ
(1セクターの長さ〕カウントアツプするので、ステッ
プ3178へ米た時には、BLKPTRI 07にはヒ
ツトデータの存在するキャッシュメモリ内のアドレスヲ
、 WK−BSIZEI l l ニIt ソ(7)長
すカ格納すレル。 そこで、ステップ5179,5180で口WAG 5ヘ
セツトして、ステップ5182のホストデータトランス
ファサブルーチンを行ってキャッシュメモリ内に存在す
る必要なデータ全てをホストへ送る(ステップ3184
)、ステップ5185でしAT47を更新してステップ
3186で5EGTORNO112を更新する。 5E
CTORNOI 12には境目の次のセクターアドレス
が格納されている。こうして、再びステップ324以下
を繰り返してデータをホストへ転送する。 次に、第10図のWRITE命令処理を説明する。 $9図(a)、(b)と比較してみてもわかるように、
書込み命令は読み出し命令と殆ど変わりがないので、そ
の違いのみ(新規エリア書き込み処理サブルーチンとリ
ード済エリア内書き込み処理サブルーチン)を説明する
。 先ず、第11図(h)の新規エリア書き込み処理につい
て説明する。これは第14図(a)の■、第14図(b
)のり、第14図(c)の■に対応する領域への書込み
である。 先ず、ステップ5190で新規にバッファを確保して、
ステップ5192,3194で管理テーブルを確保して
、その中に管理情報をセットする。この段階で、管理テ
ーブルの位置はTBLPTR109で指定され、第4図
に従ってその管理テーブルがバッファを定義する。ステ
ップ3196で1セクタ読み出しを行う、これは前述し
たようにオフセットが存在する可能性があるからである
。 第11図(e)の1セクター読み田しサブルーチンでは
ステップ5270で5ADA43を分解して、シリンダ
アドレス等をディスク制御部2へ送り(ステップ327
2)、  ステップ5274でDIAC5に必要な制御
データをセットして1セクタの読み出しを行う、読み出
しが終ったらステップ519gで0NAC5の為に必要
なデータをセットしてホストデータトランスファサブル
ーチンを実行する。こうしてオフセットがあっても、先
頭の1セクターを読み出しおくので、オフセット内のデ
ータは破壊される事はない、ステップ5204で書き込
み要フラグ42を“1″にセットして、 LAT47を
更新して、5ECTORNOI l 2を更新する。 第11図(i)のリード済エリア内書き込み処理サブル
ーチンについて説明する。これは第14図(b)の■、
第14図(c)の0にデータ書込みを行うもので、RE
AD命令の第11図(g)に対応する。キャッシュメモ
リ21内に存在するヒツトブータラBLKPTR107
、WK−BSIZE l 11 i、: ヨり特定し、
この部分にホストシステム14から書込みデータを転送
して重ね書きして、書き込み要フラグ42を“1″にセ
ットするものである。 以上説明したように1本実施例によれば、先ず第1に、
ホストシステム14はディスク側のデータ構造を考直す
る異なくディスクに対してデータアクセスする事が出来
る。この場合、前記実施例は便宜上複数のバッファをも
つディスク装置を用いて説明したが、バッファの数は1
つのI10命令により転送されるデータ長に加えて、オ
フセット量を加えたバッファが1つあればよい事になる
。 第2に複数の可変長のバッファを持つ事により、従来の
ように1つの命令に対しても何度もバッファ確保する必
要も無く、それ故高速処理と効率的なバッファ管理が達
成される。 次に上記実施例の変形例について説明する。前述した実
施例ではオフセットは先頭のディスクセクターに生ずる
オフセットはディスク側にて解消しており、最後尾に生
ずるオフセットはホストシステム14側で解消するとい
うものであった。これはホストシステム側では転送され
るべきデータ長がわかっているので可能となる。もしこ
の最後尾に生ずるオフセットもディスク側で解消しよう
としたら、そのようなオフセットをTAIL−OFFS
ETとすれば、第6図から TAIL−OFFSET −RNOXSL−(LiENGTH+ 0FFSET)
と求める事ができる。このTAIL−OFFSETをD
MACにデータトランスファ時にセットすれば容易にオ
フセットの解消が出来る。 又、書込み命令に対しては木実施例ではいわゆるWRI
TE THROUGH方式を採用していないがこの方式
を採用した場合も全く同様に適用できる。 E効果」 以上説明したように本発明によれば、キャッシュメモリ
を読み…し又は書込み命令のデータ長に応じた可変長バ
ッファに分割する事により、高速のデータアクセスと効
率的なバッファ管理が可能となる。
【図面の簡単な説明】
第1図は実施例に係るディスク装置とホストシステムと
の接続構成を示した図。 第2図は管理テーブルとキャッシュメモリとの関連構造
を表した図、 第3図はビットマツプとそれに対応するブロックとの関
連を示した図。 第4図は管理テーブルのフォーマット図、第5図は命令
のフォーマット図。 第6図は論理アドレスと物理アドレスとの関連を表した
図、 WS7図(&)〜(e)はキャッシュメモリ内にあるデ
ータとI10命令で転送するデータとの態様を表した図
。 第8図は実施例の制御手順の主フローチャート、 第9図(a)、(b)はREAD命令処理(7)70−
チャート、 第10図はWRITE命令処理のフローチャート、 1!11図(a)〜(m)は各サブルーチンのフローチ
ャート、 第12図C&)はRAM内の作業変数のレイアウト 図
。 第12図(b)はDHAC制御のための設定データを表
す図。 第13図(a)〜(C)はREA口命令に対する動作概
念図。 第14図(a) 〜(c)はWRITE命令に対する動
作概念図である。 特許出願人    キャノン株式会社 第7図 (o)(b) (d)        ” (C) 第9図 (b) 第11凶 (”G”) @+ +B (j) 第11因 (L) 第11因 (m) 第12図  (0) 第14図

Claims (1)

    【特許請求の範囲】
  1. データ貯蔵手段と、キャッシュメモリと、外部からのデ
    ータ転送命令によりデータ転送を行うデータ転送手段と
    をデータ貯蔵装置において、データ転送命令は少なくと
    も前記データ貯蔵手段に関するアドレス情報とデータ転
    送長を表わす転送長情報とをもち、該アドレス情報と転
    送長情報に応じたバッファを前記キャッシュメモリ内に
    設けるバッファ分割手段とを更に有する事を特徴とする
    データ貯蔵装置。
JP60050383A 1985-03-15 1985-03-15 デ−タ貯蔵装置 Pending JPS61210446A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP60050383A JPS61210446A (ja) 1985-03-15 1985-03-15 デ−タ貯蔵装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP60050383A JPS61210446A (ja) 1985-03-15 1985-03-15 デ−タ貯蔵装置

Publications (1)

Publication Number Publication Date
JPS61210446A true JPS61210446A (ja) 1986-09-18

Family

ID=12857346

Family Applications (1)

Application Number Title Priority Date Filing Date
JP60050383A Pending JPS61210446A (ja) 1985-03-15 1985-03-15 デ−タ貯蔵装置

Country Status (1)

Country Link
JP (1) JPS61210446A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5081176A (en) * 1990-09-24 1992-01-14 General Electric Company Polyalkylene Terephthalate compositions having improved burning characteristics
WO2004077299A1 (ja) * 2003-02-27 2004-09-10 Fujitsu Limited キャッシュメモリ
JP2006510992A (ja) * 2002-12-17 2006-03-30 インターナショナル・ビジネス・マシーンズ・コーポレーション ライン幅を選択的に変更することが可能なメモリ

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5081176A (en) * 1990-09-24 1992-01-14 General Electric Company Polyalkylene Terephthalate compositions having improved burning characteristics
JP2006510992A (ja) * 2002-12-17 2006-03-30 インターナショナル・ビジネス・マシーンズ・コーポレーション ライン幅を選択的に変更することが可能なメモリ
JP4741844B2 (ja) * 2002-12-17 2011-08-10 インターナショナル・ビジネス・マシーンズ・コーポレーション ライン幅を選択的に変更することが可能なメモリ
WO2004077299A1 (ja) * 2003-02-27 2004-09-10 Fujitsu Limited キャッシュメモリ

Similar Documents

Publication Publication Date Title
US5524230A (en) External information storage system with a semiconductor memory
US5953737A (en) Method and apparatus for performing erase operations transparent to a solid state storage system
KR960012360B1 (ko) 플래시메모리를 사용한 기억장치
US5983309A (en) Autonomous high speed address translation with defect management for hard disc drives
EP2306321B1 (en) Increasing memory performance in flash memory devices by performing simultaneous write operation to multiple devices
US6757800B1 (en) Increasing the memory performance of flash memory devices by writing sectors simultaneously to multiple flash memory devices
US6282624B1 (en) Non-volatile memory apparatus including first and second address conversion tables stored in volatile and nonvolatile memories for improved access at power up
US7424593B2 (en) Increasing the memory performance of flash memory devices by writing sectors simultaneously to multiple flash memory devices
US5963983A (en) Method and apparatus for dynamically creating conversion tables to access a semiconductor memory device
US6587919B2 (en) System and method for disk mapping and data retrieval
KR100209853B1 (ko) 플래시메모리카드
JPH05204561A (ja) フラッシュメモリを記憶媒体とした半導体ディスク
US5862363A (en) Method of controlling a disk device by disk control unit
JP2000011677A (ja) フラッシュメモリシステム
TWI417720B (zh) 快閃記憶體管理方法與計算機系統
JPH1063551A (ja) 情報処理装置
JPS61210446A (ja) デ−タ貯蔵装置
JPH0115903B2 (ja)
US6487632B1 (en) Emulation technique for variable-length disk system to access data in a fixed-length disk system
JPS6046447B2 (ja) トラツクバツフアメモリ方式
JPS61210421A (ja) デ−タ貯蔵システム
JP3030949B2 (ja) ディジタルデータ記録再生装置
JPS61245253A (ja) 仮想計算機の入出力制御方式
JPH10232838A (ja) ディスク記憶システム
JPS62271029A (ja) デイスクキヤツシユ制御方式