JP2000056993A - 外部記憶装置コントローラのキャッシュメモリ制御方法 - Google Patents

外部記憶装置コントローラのキャッシュメモリ制御方法

Info

Publication number
JP2000056993A
JP2000056993A JP10238027A JP23802798A JP2000056993A JP 2000056993 A JP2000056993 A JP 2000056993A JP 10238027 A JP10238027 A JP 10238027A JP 23802798 A JP23802798 A JP 23802798A JP 2000056993 A JP2000056993 A JP 2000056993A
Authority
JP
Japan
Prior art keywords
cache memory
segment
segments
external storage
storage device
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
JP10238027A
Other languages
English (en)
Other versions
JP2000056993A5 (ja
Inventor
Takeshi Shikama
健 志鎌
Akira Kojima
昭 小島
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP10238027A priority Critical patent/JP2000056993A/ja
Publication of JP2000056993A publication Critical patent/JP2000056993A/ja
Publication of JP2000056993A5 publication Critical patent/JP2000056993A5/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0842Multiuser, multiprocessor or multiprocessing cache systems for multiprocessing or multitasking

Abstract

(57)【要約】 【課題】 同時に動作するスレッド数の増減によって動
的にセグメントを分割・統合し、無駄なセグメント割当
てを防ぎ、スレツドに対するキャッシュヒット性能を向
上し、マルチスレッドシステム全体のアクセス性能を向
上させる 【解決手段】 キャッシュメモリを複数のセグメントに
分割し、各セグメントに上位装置から外部記憶装置に対
して発行されるリード・ライトコマンドの1ブロック以
上のアクセス範囲が連続している各スレッドを割当て
る。そして、同時に動作する前記スレッドの数が減少し
たとき、キャッシュメモリのセグメントの統合を行い、
また、同時に動作する前記スレッドの数が増加したと
き、キャッシュメモリのセグメントの分割を行う。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、磁気ディスク装置
等の外部記憶装置のキャッシュメモリ制御方法に係り、
特に、マルチスレッド環境におけるキャッシュヒット性
能を向上させる為に好適な、外部記憶装置コントローラ
のキャッシュ制御方法に関する。
【0002】
【従来の技術】SCSI等のインタフェースを介してホスト
コンピュータに接続される外部記憶装置コントローラで
は、ホストコンピュータ等の上位装置から、例えばモー
ド設定コマンドで指定されたモードパラメタによりキャ
ッシュメモリ分割数を決定することができる。分割され
た各々のキャッシュメモリはセグメントと呼ばれる。ホ
ストコンピュータ等の上位装置から外部記憶装置に対し
て発行されるリード・ライトコマンドの1ブロック以上
のアクセス範囲が連続しているスレッドに割当てている
セグメントに、先読み(プリフェッチ)データを保持し
ておく。これにより、マルチスレッドシステム下におい
ても、セグメントをスレッド毎に割当てすれば、スレッ
ド内のデータがキャッシュメモリ上で他のアクセス等の
ために消されてしまうようなことがなく、各々のスレッ
ドのキャッシュヒット性能が向上する。
【0003】
【発明が解決しようとする課題】従来の技術では、モー
ドパラメタによりキャッシュメモリ分割数を決定するこ
とができる。ある規定時間内に同時に動作する最大スレ
ッド数にキャッシュメモリを分割しておけば、各々のス
レッドにセグメントを割当て、シーケンシャル読み込み
性能向上の為に行う先読み(プリフェッチ)データをス
レッド毎にキャッシュメモリ上に保持することが可能と
なる。これによりスレッドの要求データをキャッシュメ
モリ上から転送することができる為、アクセス性能を向
上させることができる。しかし、同時に動作するスレッ
ド数は常に最大では無い為に、あるスレッド用にセグメ
ントが割当てられるとき、同時に動作するスレッド数が
キャッシュメモリの最大セグメント数以下の場合、使わ
れないセグメントが生じ、キャッシュメモリの有効活用
が行われない。本発明では、従来技術の欠点を解消させ
るために、規定時間内に同時に動作するスレッド数の増
減によって動的にセグメントを分割・統合し、無駄なセ
グメント割当てを防ぎ、マルチスレッドシステム全体の
アクセス性能を向上させることを目的とする。
【0004】
【課題を解決するための手段】上記目的を達成するた
め、本発明は、キャッシュメモリを有する外部記憶装置
のコントローラのキャッシュメモリ制御方法であり、前
記キャッシュメモリを複数のセグメントに分割し、該各
セグメントに上位装置から該外部記憶装置に対して発行
されるリード・ライトコマンドの1ブロック以上のアク
セス範囲が連続している各スレッドを割当て、同時に動
作する前記スレッドの数が減少したとき、前記キャッシ
ュメモリのセグメントの統合を行い、各スレッドに対す
るキャッシュヒット性能を向上するようにしている。ま
た、キャッシュメモリを有する外部記憶装置のコントロ
ーラのキャッシュメモリ制御方法であり、前記キャッシ
ュメモリを複数のセグメントに分割し、該各セグメント
に上位装置から該外部記憶装置に対して発行されるリー
ド・ライトコマンドの1ブロック以上のアクセス範囲が
連続している各スレッドを割当て、同時に動作する前記
スレッドの数が増加したとき、前記キャッシュメモリの
セグメントの分割を行い、各スレッドに対するキャッシ
ュヒット性能を向上するようにしている。さらに、前記
外部記憶装置のパワーオン時またはリセット時に、キャ
ッシュメモリのセグメントへの分割数を初期分割数に戻
すようにしている。
【0005】
【発明の実施の形態】以下、添付図面を参照して本発明
を説明する。図1は、本発明を適用したSCSIをインタフ
ェースとし、上位装置をホストコンピュータ、外部記憶
装置を磁気ディスク装置とするマルチスレッドシステム
の概略構成例を示すブロック図である。ホストコンピュ
ータA(101)、ホストコンピュータB(102)、
及び磁気ディスク装置(111)は、SCSIバス(1
08)で接続されている。ホストコンピュータA(10
1)、ホストコンピュータB(102)から磁気ディス
ク装置(111)にSCSIバス(108)を介して、
リード/ライト等のコマンドが発行される。
【0006】ホストコンピュータA(101)から磁気
ディスク装置(111)にアクセス要求が出された時
の、コントローラにより行われるキャッシュメモリのセ
グメントの分割・統合を行う制御を図2のフローチャー
トと、コントローラに設けられた図3のキャッシュメモ
リ管理テーブルを用いて説明する。図3に示すキャッシ
ュメモリ管理テーブルは、ホストコンピュータ等の上位
装置からのコマンドにより初期設定され、最大セグメン
ト数に相当するエントリ数が設けられる。各エントリ
は、割当て状態(a)、サイズ(b)、キャッシュメモ
リスタートアドレス(c)、キャッシュメモリエンドア
ドレス(d)、スタート論理アドレス(e)、エンド論
理アドレス(f)、未更新回数(g)の各欄を有する。
【0007】割当て状態(a)は、割当て済み状態、空
き状態(未割当て状態)、無し状態を取る。サイズはセ
グメントのサイズである。キャッシュメモリスタートア
ドレス(c)とキャッシュメモリエンドアドレス(d)
は、セグメントのスタートアドレスとエンドアドレスで
ある。スタート論理アドレス(e)とエンド論理アドレ
ス(f)はリード・ライトコマンドで指定されたアドレ
スである。未更新回数(g)は、リセットあるいはカウ
ントアップされるが、これについては後述する。
【0008】次ぎに、キャッシュメモリのセグメントの
分割・統合について図2を参照して説明する。コントロ
ーラ(109)はホストコンピュータA(101)から
リード・ライトコマンドを受領する(ステップ20
1)。コントローラ(109)は、図3のテーブルにお
いて未更新回数(g)が指定未更新回数(h)を越える
セグメントがあるか否か判定し(ステップ202)、セ
グメントがある場合には、現在のキャッシュメモリ分割
数(k)が初期キャッシュメモリ分割数(i)よりも大
きいか否か判定し(ステップ203)、大きい場合に
は、そのセグメントと、そのセグメントと対で分割され
たセグメントとを統合し(ステップ204)、そのセグ
メントを空きセグメントとする(ステップ205)。対
で分割されたセグメントであるかどうかは、キャッシュ
メモリスタートアドレス(c)とキャッシュメモリエン
ドアドレス(d)を参照することにより判別される。コ
ントローラ(109)は、予め定めた規定時間が経過す
る度に、その経過時におけるキャッシュメモリ分割数
(セグメント数)を初期キャッシュメモリ分割数(i)
と規定する。セグメントは時間の経過に従って分割、統
合が繰り返される。例えば、統合するセグメントに対応
するテーブルのエントリが301と302の場合、エン
トリ301の割当て状態(a1)は空き状態、エントリ
302の割当て状態(a2)は無し状態にする。統合前
のサイズ(b1)とサイズ(b2)の合計をサイズ(b
1)に設定する。統合前のキャッシュメモリエンドアド
レス(d2)をキャッシュメモリエンドアドレス(d
1)に設定する。現在のキャッシュメモリ分割数(k)
をカウントダウンする。図2のフローでは省略している
が、統合するセグメントがさらに有れば、ステップ20
2から205の処理を繰り返す。ステップ202で未更
新回数(g)が指定未更新回数(h)を越えるセグメン
トが無いか、ステップ203で現在のキャッシュメモリ
分割数(k)が初期キャッシュメモリ分割数(i)より
も大きく無い場合は、セグメント統合は行わない。
【0009】次に、リード・ライトコマンドの論理アド
レス(SCSIでのLBA:Logical BlockAddressに相当)がス
タート論理アドレス(e)からエンド論理アドレス
(f)の間に位置するセグメントがあるか否か判定し
(ステップ206)、あればリードコマンドであるか否
か判定し(ステップ207)、リードコマンドであれ
ば、キャッシュヒットしているか否か判定し(ステップ
208)、キャッシュヒットしていれば、キャッシュヒ
ット分のデータをホストコンピュータA(101)へ転
送し(ステップ209)、要求分を全て転送したか判定
し(ステップ210)、全て転送していれば処理を終了
する。ステップ207でリードコマンドでなくライトコ
マンドある場合、またステップ208でキャッシュヒッ
トしていない場合、またステップ210で要求分全ての
転送ができていない場合には、ディスクのリード・ライ
ト処理を行う(ステップ218)。ステップ209、ス
テップ218では、対象となるセグメントのエントリの
未更新回数(g)をリセットし、他のセグメントのエン
トリにおける未更新回数(g)をカウントアップする。
【0010】ステップ206の判定で、リード・ライト
コマンドの論理アドレスがスタート論理アドレス(e)
からエンド論理アドレス(f)の間に位置するセグメン
トがない場合は、割当て状態(a)が空きのセグメント
を探す(ステップ212)。空きセグメントがあった場
合は、空きセグメントをスレッドに割当て(ステップ2
17)、ディスクのリード・ライト処理を行う(ステッ
プ218)。割当てたセグメントの割当て状態(a1)
を割当て済みにし、リード・ライトコマンドの論理アド
レスをスタート論理アドレス(e1)に設定し、リード
ライトコマンドの論理アドレス+レングスをエンド論理
アドレス(f1)に設定する。ステップ218のリード
・ライト処理では、上記割り当てたセグメントのエント
リの未更新回数(g)を0にし、その他のエントリの未
更新回数(g)をそれぞれカウントアップする。
【0011】ステップ212において空きセグメントが
ない場合には、現在のキャッシュメモリ分割数(k)が
最大キャッシュメモリ分割数(j)よりも小さいか否か
判定し(ステップ213)、小さい場合は、セグメント
分割処理を行う。未更新回数(g)が一番大きいセグメ
ントが、最も古く更新されたセグメントでありそのセグ
メントを2つに分割する(ステップ214)。分割した
2つのセグメントは両方共に空きセグメントにする(ス
テップ216)。例えば、分割するセグメントに対応す
るテーブルのエントリが304の場合、分割後のエント
リ304、305の割当て状態(a4、a5)を空き状
態にし、サイズ(b4)を2分割した値をサイズ(b
4、b5)に設定する。キャッシュメモリスタートアド
レス(c4)とサイズ(b4)の合計をキャッシュメモ
リエンドアドレス(d4)に設定する。キャッシュメモ
リエンドアドレス(d4)に1を足した値をキャッシュ
メモリスタートアドレス(c5)に設定し、その値(c
5)とサイズ(b5)の合計をキャッシュメモリエンド
アドレス(d5)に設定する。現在のキャッシュメモリ
分割数(k)をカウントアップする。ステップ213に
おいて、現在のキャッシュメモリ分割数(k)が最大キ
ャッシュメモリ分割数(j)より小さくない場合は、未
更新回数(g)が一番大きいセグメントを空きセグメン
トにする(ステップ215)。例えば、空きセグメント
にする対応するテーブルのエントリが303の場合、割
当て状態(a3)を空き状態にする。ステップ217で
は、空きセグメントをスレッドに割当てし、リード・ラ
イト処理(ステップ218)を行う。スレッドにセグメ
ントの割当てを行う場合は、そのセグメントに対応する
テーブルのエントリの割当て状態(a)を割当て済み状
態にする。キャッシュメモリスタートアドレス(c)、
キャッシュメモリエンドアドレス(d)を設定する。ス
タート論理アドレス(e)、エンド論理アドレス(f)
を設定する。未更新回数(g)を0にする。さらに、割
当て状態(a)が割当て済みの他セグメントに対応する
テーブルのエントリの未更新回数(g)を1づつカウン
トアップする。また、セグメントを空き状態にする場合
は、そのセグメントに対応するテーブルのエントリの割
当て状態(a)を未割当てにする。パワーオン直後、リ
セット直後は、キャッシュメモリ分割状態を初期状態に
戻し、全セグメントは空き状態とする。
【0012】
【発明の効果】以上、説明したように、本発明によれ
ば、マルチスレッド環境において、規定時間内に同時に
動作するスレッド数が減少した場合は、セグメントの統
合がなされ、特定スレッドに割当てているセグメントサ
イズが増加し、特定スレッドに対するキャッシュヒット
性能が向上する。また、規定時間内に同時に動作するス
レッド数が増加した場合は、セグメント分割がなされ、
各々のスレッドのキャッシュヒット性能が向上する。
【図面の簡単な説明】
【図1】外部記憶装置を磁気ディスク装置とするマルチ
スレッドシステムの概略構成例を示すブロック図であ
る。
【図2】コントローラにより行われるキャッシュメモリ
のセグメントの分割・統合を行う制御のフローチャート
を示す図である。
【図3】コントローラに設けられたキャッシュメモリ管
理テーブルの例を示す図である。
【符号の説明】
101、102 ホストコンピュータ 103〜107 スレッド 108 SCSIバス 109 コントローラ 110 キャッシュメモリ 111 磁気ディスク装置

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 キャッシュメモリを有する外部記憶装置
    のコントローラのキャッシュメモリ制御方法であって、 前記キャッシュメモリを複数のセグメントに分割し、該
    各セグメントに上位装置から該外部記憶装置に対して発
    行されるリード・ライトコマンドの1ブロック以上のア
    クセス範囲が連続している各スレッドを割当て、同時に
    動作する前記スレッドの数が減少したとき、前記キャッ
    シュメモリのセグメントの統合を行い、各スレッドに対
    するキャッシュヒット性能を向上することを特徴とする
    キャッシュメモリ制御方法。
  2. 【請求項2】 キャッシュメモリを有する外部記憶装置
    のコントローラのキャッシュメモリ制御方法であって、 前記キャッシュメモリを複数のセグメントに分割し、該
    各セグメントに上位装置から該外部記憶装置に対して発
    行されるリード・ライトコマンドの1ブロック以上のア
    クセス範囲が連続している各スレッドを割当て、同時に
    動作する前記スレッドの数が増加したとき、前記キャッ
    シュメモリのセグメントの分割を行い、各スレッドに対
    するキャッシュヒット性能を向上することを特徴とする
    キャッシュメモリ制御方法。
  3. 【請求項3】 請求項1または請求項2記載のキャッシ
    ュメモリ制御方法において、 前記外部記憶装置のパワーオン時またはリセット時に、
    キャッシュメモリのセグメントへの分割数を初期分割数
    に戻すことを特徴とするキャッシュメモリ制御方法。
JP10238027A 1998-08-10 1998-08-10 外部記憶装置コントローラのキャッシュメモリ制御方法 Pending JP2000056993A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10238027A JP2000056993A (ja) 1998-08-10 1998-08-10 外部記憶装置コントローラのキャッシュメモリ制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10238027A JP2000056993A (ja) 1998-08-10 1998-08-10 外部記憶装置コントローラのキャッシュメモリ制御方法

Publications (2)

Publication Number Publication Date
JP2000056993A true JP2000056993A (ja) 2000-02-25
JP2000056993A5 JP2000056993A5 (ja) 2005-10-27

Family

ID=17024088

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10238027A Pending JP2000056993A (ja) 1998-08-10 1998-08-10 外部記憶装置コントローラのキャッシュメモリ制御方法

Country Status (1)

Country Link
JP (1) JP2000056993A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004178571A (ja) * 2002-11-11 2004-06-24 Matsushita Electric Ind Co Ltd キャッシュ制御装置、キャッシュ制御方法、コンピュータシステム
US7539820B2 (en) 2004-04-20 2009-05-26 Hitachi Global Storage Technologies Netherlands B.V. Disk device and control method for cache

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004178571A (ja) * 2002-11-11 2004-06-24 Matsushita Electric Ind Co Ltd キャッシュ制御装置、キャッシュ制御方法、コンピュータシステム
JP4664586B2 (ja) * 2002-11-11 2011-04-06 パナソニック株式会社 キャッシュ制御装置、キャッシュ制御方法、コンピュータシステム
US7539820B2 (en) 2004-04-20 2009-05-26 Hitachi Global Storage Technologies Netherlands B.V. Disk device and control method for cache

Similar Documents

Publication Publication Date Title
JP3933027B2 (ja) ディスクアレイ装置におけるキャッシュメモリ分割管理方式
US8296533B2 (en) Method and system for deleting low-load allocated virtual server resources
US6629201B2 (en) System and method for high-speed substitute cache
US8214606B2 (en) Storage system and control method thereof
US20180088811A1 (en) Storage device that compresses data received from a host before writing therein
US6948033B2 (en) Control method of the cache hierarchy
US9792073B2 (en) Method of LUN management in a solid state disk array
US7979639B2 (en) Storage apparatus and cache control method
US7380090B2 (en) Storage device and control method for the same
JP5531091B2 (ja) 計算機システム及びその負荷均等化制御方法
US20030079087A1 (en) Cache memory control unit and method
US20070288712A1 (en) Storage apparatus and storage apparatus control method
US20100095073A1 (en) System for Controlling Performance Aspects of a Data Storage and Access Routine
US20170228191A1 (en) Systems and methods for suppressing latency in non-volatile solid state devices
US8954658B1 (en) Method of LUN management in a solid state disk array
US8209513B2 (en) Data processing system with application-controlled allocation of file storage space
US7032093B1 (en) On-demand allocation of physical storage for virtual volumes using a zero logical disk
US9104317B2 (en) Computer system and method of controlling I/O with respect to storage apparatus
US20080109630A1 (en) Storage system, storage unit, and storage management system
JP2005339299A (ja) ストレージ装置のキャッシュ制御方法
JP2000056993A (ja) 外部記憶装置コントローラのキャッシュメモリ制御方法
US10846023B2 (en) Storage device and storage area management method for reducing garbage collection processing
JPH05225062A (ja) ディスク・キャッシュ装置
KR20240029938A (ko) 메모리 컨트롤러
JP2002108707A (ja) キャッシュメモリ制御方式

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20040317

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050729

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050729

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070508

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070706

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080115

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20080610