JPH1027069A - 記憶装置 - Google Patents
記憶装置Info
- Publication number
- JPH1027069A JPH1027069A JP8178994A JP17899496A JPH1027069A JP H1027069 A JPH1027069 A JP H1027069A JP 8178994 A JP8178994 A JP 8178994A JP 17899496 A JP17899496 A JP 17899496A JP H1027069 A JPH1027069 A JP H1027069A
- Authority
- JP
- Japan
- Prior art keywords
- data
- prefetch
- read
- storage device
- 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.)
- Withdrawn
Links
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Abstract
(57)【要約】
【課題】 上位装置からの複数のシーケンシャルリード
要求時のデータ読み出し処理能力を向上させる。 【解決手段】 LAN102を介して接続された複数の
クライアント装置101からサーバとして機能する上位
装置103に複数のシーケンシャルリード要求が発生し
た場合、配下の記憶装置110の制御部140の先読み
制御部143、先読み実行部148は、メモリ145上
に設定された複数の先読みの管理を行うための情報を格
納する先読み管理テーブルを使用して、上位装置103
からのコマンドを解析し複数の先読みの制御を行い、下
位の記憶媒体180のデータをバッファメモリ160に
転送する際、各記憶媒体180におけるヘッドの移動が
最適化されるように複数のリード動作をまとめて実行
し、転送された領域に対するリードが来た場合、バッフ
ァメモリ160から直接、上位装置103へデータを転
送する。
要求時のデータ読み出し処理能力を向上させる。 【解決手段】 LAN102を介して接続された複数の
クライアント装置101からサーバとして機能する上位
装置103に複数のシーケンシャルリード要求が発生し
た場合、配下の記憶装置110の制御部140の先読み
制御部143、先読み実行部148は、メモリ145上
に設定された複数の先読みの管理を行うための情報を格
納する先読み管理テーブルを使用して、上位装置103
からのコマンドを解析し複数の先読みの制御を行い、下
位の記憶媒体180のデータをバッファメモリ160に
転送する際、各記憶媒体180におけるヘッドの移動が
最適化されるように複数のリード動作をまとめて実行
し、転送された領域に対するリードが来た場合、バッフ
ァメモリ160から直接、上位装置103へデータを転
送する。
Description
【0001】
【発明の属する技術分野】本発明は、コンピュータ装置
または制御装置に接続される記憶装置に係わり、特にシ
ーケンシャルな読み出しにおいて高速なデータ転送能力
を要求される記憶装置に適用して有効な技術に関する。
または制御装置に接続される記憶装置に係わり、特にシ
ーケンシャルな読み出しにおいて高速なデータ転送能力
を要求される記憶装置に適用して有効な技術に関する。
【0002】
【従来の技術】記憶装置におけるシーケンシャルリード
の高速化のためにバッファメモリを設け、先読みを行う
ことが一般的である。低速な記憶装置のデータを上位装
置からの要求に先立ってバッファメモリに転送しておく
こと(先読み)によって、上位装置からの要求(コマン
ド)を高速なメモリへのアクセスのみで済ませることが
でき、高速に処理することが可能となる。先読み処理と
して従来の記憶装置では、前回のリードコマンドでアク
セスされた領域に引き続く領域のデータを必ず先読みし
たり、数回連続した領域に対するリードが来た場合に先
読みを開始したりしていた。
の高速化のためにバッファメモリを設け、先読みを行う
ことが一般的である。低速な記憶装置のデータを上位装
置からの要求に先立ってバッファメモリに転送しておく
こと(先読み)によって、上位装置からの要求(コマン
ド)を高速なメモリへのアクセスのみで済ませることが
でき、高速に処理することが可能となる。先読み処理と
して従来の記憶装置では、前回のリードコマンドでアク
セスされた領域に引き続く領域のデータを必ず先読みし
たり、数回連続した領域に対するリードが来た場合に先
読みを開始したりしていた。
【0003】たとえば、特開平6−332629号公報
には、シーケンシャルリード(連続したアドレスのリー
ドの集まり)のアクセスとランダムリードのアクセスが
混在する場合の性能向上方法について述べられている。
この方法では、先読みのアドレスから離れたアドレスへ
のランダムリードのアクセスの場合、先読みを停止する
ことにより、ランダムリードのアクセス応答時間を短縮
しようとするものである。
には、シーケンシャルリード(連続したアドレスのリー
ドの集まり)のアクセスとランダムリードのアクセスが
混在する場合の性能向上方法について述べられている。
この方法では、先読みのアドレスから離れたアドレスへ
のランダムリードのアクセスの場合、先読みを停止する
ことにより、ランダムリードのアクセス応答時間を短縮
しようとするものである。
【0004】
【発明が解決しようとする課題】しかし、前述の従来技
術においては、たとえばVOD(ビデオオンデマンド)
用サーバに用いられる記憶装置で発生する複数のシーケ
ンシャルリードが同時に要求される場合の性能向上につ
いては考慮されていない。
術においては、たとえばVOD(ビデオオンデマンド)
用サーバに用いられる記憶装置で発生する複数のシーケ
ンシャルリードが同時に要求される場合の性能向上につ
いては考慮されていない。
【0005】すなわち、最近の市場動向として、マルチ
メディア化に対する要求が高まってきており、サーバ等
の記憶装置に音声や映像等のマルチメディアデータを登
録しておき、サーバに接続されたクライアントは必要に
応じてデータを読み出す、という利用形態が増えてい
る。この音声や映像等のマルチメディアデータは一般に
順次性のある大容量データであり、サーバに接続されて
いる個々のクライアントからはシーケンシャルなデータ
の読み出しが要求される。しかし、通常、サーバには複
数のクライアントが接続されており、同時に複数のクラ
イアントからデータの読み出しが要求される。また、ク
ライアントからのデータアクセス要求は人気のある映像
データに集中する特性が見られる。
メディア化に対する要求が高まってきており、サーバ等
の記憶装置に音声や映像等のマルチメディアデータを登
録しておき、サーバに接続されたクライアントは必要に
応じてデータを読み出す、という利用形態が増えてい
る。この音声や映像等のマルチメディアデータは一般に
順次性のある大容量データであり、サーバに接続されて
いる個々のクライアントからはシーケンシャルなデータ
の読み出しが要求される。しかし、通常、サーバには複
数のクライアントが接続されており、同時に複数のクラ
イアントからデータの読み出しが要求される。また、ク
ライアントからのデータアクセス要求は人気のある映像
データに集中する特性が見られる。
【0006】このため、前者の従来技術のように、単
に、前回のアクセス領域に引き続く領域を必ず先読みし
たり、数回連続した領域へのアクセスを契機として先読
みを開始する技術では、単一のシーケンシャルリードに
対しては応答時間短縮の効果はそれなりに期待できるも
のの、異なる領域に同時並行して発生する複数のシーケ
ンシャルリードについては、応答時間短縮は期待できな
い、という技術的課題がある。
に、前回のアクセス領域に引き続く領域を必ず先読みし
たり、数回連続した領域へのアクセスを契機として先読
みを開始する技術では、単一のシーケンシャルリードに
対しては応答時間短縮の効果はそれなりに期待できるも
のの、異なる領域に同時並行して発生する複数のシーケ
ンシャルリードについては、応答時間短縮は期待できな
い、という技術的課題がある。
【0007】また、後者の従来技術では、異なる領域へ
のアクセス要求が発生すると、先読みそのものを停止す
るため、複数のシーケンシャルリード要求が同時並行し
て発生する場合の応答時間短縮は全く期待できない、と
いう技術的課題がある。
のアクセス要求が発生すると、先読みそのものを停止す
るため、複数のシーケンシャルリード要求が同時並行し
て発生する場合の応答時間短縮は全く期待できない、と
いう技術的課題がある。
【0008】本発明の目的は、複数の順次リード要求に
対する応答時間の短縮およびスループット向上を実現す
ることが可能な記憶技術を提供することにある。
対する応答時間の短縮およびスループット向上を実現す
ることが可能な記憶技術を提供することにある。
【0009】本発明の他の目的は、音声や映像等の一般
に順次性のあるマルチメディアデータ等が蓄積される高
性能のサーバを構築することが可能な記憶技術を提供す
ることにある。
に順次性のあるマルチメディアデータ等が蓄積される高
性能のサーバを構築することが可能な記憶技術を提供す
ることにある。
【0010】本発明の他の目的は、VOD(ビデオオン
デマンド)用の高性能のサーバを構築することが可能な
記憶技術を提供することにある。
デマンド)用の高性能のサーバを構築することが可能な
記憶技術を提供することにある。
【0011】
【課題を解決するための手段】本発明の記憶装置では、
複数の先読み実行手段と、各先読み実行手段の起動/終
了/実行順序等を制御する先読み制御手段と、上位装置
からのデータリード要求および先読みデータが格納され
るバッファメモリの状態を管理する管理手段を設ける。
複数の先読み実行手段と、各先読み実行手段の起動/終
了/実行順序等を制御する先読み制御手段と、上位装置
からのデータリード要求および先読みデータが格納され
るバッファメモリの状態を管理する管理手段を設ける。
【0012】上位装置からのデータリード要求は先読み
制御手段に伝えられる。先読み制御手段は先読み管理テ
ーブルに上位装置からのアクセス要求アドレスを登録す
ると共に、今回のアクセス要求が既に先読み実行中のア
ドレスに対する要求か、新規にシーケンシャルリードを
開始せねばならない要求か、シーケンシャルリードとは
無関係な要求かを判定する。先読み済みの領域に対する
要求の場合には先読みデータを上位装置に転送する。こ
こで、上位装置にデータ転送後も上位装置からの読み出
しに備えてデータバッファの解放は行わずデータを保持
しておく。これにより画像データのReplay要求や
同一データに対する別クライアントからのリード要求に
ともなう同一領域に対する上位装置からのリード要求に
対して記憶媒体からの再読み出しを不要とし処理能力を
向上させる。上位装置へのデータ転送により先読み済み
データ量が少なくなった場合には先読み実行手段に対し
て次の先読みを指示する。また、新規にシーケンシャル
リードが必要になった場合には先読み実行手段を新たに
起動する。
制御手段に伝えられる。先読み制御手段は先読み管理テ
ーブルに上位装置からのアクセス要求アドレスを登録す
ると共に、今回のアクセス要求が既に先読み実行中のア
ドレスに対する要求か、新規にシーケンシャルリードを
開始せねばならない要求か、シーケンシャルリードとは
無関係な要求かを判定する。先読み済みの領域に対する
要求の場合には先読みデータを上位装置に転送する。こ
こで、上位装置にデータ転送後も上位装置からの読み出
しに備えてデータバッファの解放は行わずデータを保持
しておく。これにより画像データのReplay要求や
同一データに対する別クライアントからのリード要求に
ともなう同一領域に対する上位装置からのリード要求に
対して記憶媒体からの再読み出しを不要とし処理能力を
向上させる。上位装置へのデータ転送により先読み済み
データ量が少なくなった場合には先読み実行手段に対し
て次の先読みを指示する。また、新規にシーケンシャル
リードが必要になった場合には先読み実行手段を新たに
起動する。
【0013】先読み制御手段は先読み実行手段の起動に
当たり記憶媒体からの読み出しアドレスを管理し記憶媒
体の読み出しヘッドの動きが昇順に最適化するよう先読
み実行手段の実行順を制御し、記憶媒体からバッファメ
モリへのデータ読み出し処理能力を向上させる。
当たり記憶媒体からの読み出しアドレスを管理し記憶媒
体の読み出しヘッドの動きが昇順に最適化するよう先読
み実行手段の実行順を制御し、記憶媒体からバッファメ
モリへのデータ読み出し処理能力を向上させる。
【0014】先読み制御手段は一定周期毎に先読み管理
情報テーブルを参照し、先読みデータを上位装置に転送
後、バッファメモリ上の、一定量若しくは一定時間経過
したデータが入っている先読み領域を解放する。
情報テーブルを参照し、先読みデータを上位装置に転送
後、バッファメモリ上の、一定量若しくは一定時間経過
したデータが入っている先読み領域を解放する。
【0015】先読み実行手段は先読み制御手段からの指
示にもとづき指示された量のデータを記憶媒体から先読
みバッファ上に読み込む。
示にもとづき指示された量のデータを記憶媒体から先読
みバッファ上に読み込む。
【0016】
【発明の実施の形態】以下、本発明の実施の形態を図面
を参照しながら詳細に説明する。
を参照しながら詳細に説明する。
【0017】図1は、本発明の一実施の形態である記憶
装置を含む情報処理システムの全体の構成の一例を示し
た概念図である。
装置を含む情報処理システムの全体の構成の一例を示し
た概念図である。
【0018】本実施の形態の情報処理システムは、配下
に記憶装置110を持ち、サーバとして機能する上位装
置103と、この上位装置103に、ローカルエリアネ
ットワーク102(LAN)を介して接続された複数の
クライアント装置101で構成されている。
に記憶装置110を持ち、サーバとして機能する上位装
置103と、この上位装置103に、ローカルエリアネ
ットワーク102(LAN)を介して接続された複数の
クライアント装置101で構成されている。
【0019】クライアント装置101はサーバより映像
データを読み出して表示する端末装置である。サーバと
して機能する上位装置103は、各クライアント装置1
01からの要求に応じて配下の記憶装置110からデー
タを読み出し、ローカルエリアネットワーク102を介
して要求元に送出する動作を行う。
データを読み出して表示する端末装置である。サーバと
して機能する上位装置103は、各クライアント装置1
01からの要求に応じて配下の記憶装置110からデー
タを読み出し、ローカルエリアネットワーク102を介
して要求元に送出する動作を行う。
【0020】ここで、一般に、記憶装置110に格納さ
れた、たとえば映像データはシーケンシャルなデータと
してアクセスされる。従って、各クライアント装置10
1から上位装置103へはシーケンシャルなリードが要
求される。しかしLAN102上には複数のクライアン
ト装置101が接続されており、これらは各々個々に独
立して上位装置に要求を発行するため、上位装置103
および記憶装置110からみると複数の領域に対するシ
ーケンシャルリード要求が同時に行われているように見
える。また、ここで各クライアント装置101からの映
像データ読み出し要求は一般に特定の人気タイトルに集
中する傾向がある。尚、本実施の形態では、一例とし
て、映像データの読み出しを例に採り説明を進めるが、
これは適用アプリケーションの一例であり本発明が映像
データの読み出しに限定されるものでは無いことは言う
までもない。
れた、たとえば映像データはシーケンシャルなデータと
してアクセスされる。従って、各クライアント装置10
1から上位装置103へはシーケンシャルなリードが要
求される。しかしLAN102上には複数のクライアン
ト装置101が接続されており、これらは各々個々に独
立して上位装置に要求を発行するため、上位装置103
および記憶装置110からみると複数の領域に対するシ
ーケンシャルリード要求が同時に行われているように見
える。また、ここで各クライアント装置101からの映
像データ読み出し要求は一般に特定の人気タイトルに集
中する傾向がある。尚、本実施の形態では、一例とし
て、映像データの読み出しを例に採り説明を進めるが、
これは適用アプリケーションの一例であり本発明が映像
データの読み出しに限定されるものでは無いことは言う
までもない。
【0021】一般に記憶装置110は上位装置103か
ら受領したリードコマンドに連続性が見られた場合には
上位装置103から次に発行されるコマンドを予測する
ことが可能であるため上位装置103からのコマンド受
領に先立ち事前にデータを高速なバッファに取り込んで
いる。以下ではこれを先読み処理と称す。
ら受領したリードコマンドに連続性が見られた場合には
上位装置103から次に発行されるコマンドを予測する
ことが可能であるため上位装置103からのコマンド受
領に先立ち事前にデータを高速なバッファに取り込んで
いる。以下ではこれを先読み処理と称す。
【0022】記憶装置110は、ホストインタフェース
回路120、制御部140、データ転送回路150、バ
ッファメモリ160、ドライブインタフェース回路17
0、記憶媒体180、および操作パネル130より構成
される。
回路120、制御部140、データ転送回路150、バ
ッファメモリ160、ドライブインタフェース回路17
0、記憶媒体180、および操作パネル130より構成
される。
【0023】制御部140は通常マイクロプロセッサと
制御用ソフトウェアにより実現され、装置全体を制御す
る主制御部141、先読みの実行を制御する先読み制御
部143、記憶媒体180からドライブインタフェース
回路170とデータ転送回路150を介してバッファメ
モリ160に先読みデータの読み込みを行う先読み実行
部148からなる。制御部140上のメモリ145には
各種管理テーブルを置く。また、制御部140は計時機
構142および不揮発メモリ144を持つ。不揮発メモ
リ144上には後述のように各種動作パラメタを置く。
制御用ソフトウェアにより実現され、装置全体を制御す
る主制御部141、先読みの実行を制御する先読み制御
部143、記憶媒体180からドライブインタフェース
回路170とデータ転送回路150を介してバッファメ
モリ160に先読みデータの読み込みを行う先読み実行
部148からなる。制御部140上のメモリ145には
各種管理テーブルを置く。また、制御部140は計時機
構142および不揮発メモリ144を持つ。不揮発メモ
リ144上には後述のように各種動作パラメタを置く。
【0024】本実施の形態では、記憶媒体180の一例
として小型磁気ディスク装置600を使用する場合につ
いて説明する。図8は、本実施の形態の小型磁気ディス
ク装置600の全体構成を一部破断して示す斜視図であ
る。この図8に例示されるように、複数の磁気ディスク
605が共通のスピンドル604に所定の間隔で同軸か
つ平行な姿勢で固定され、個々の磁気ディスク605の
複数の記録面の各々には、ロードアーム601の先端部
に個別に保持された複数のヘッド607がセットされて
いる。ロードアーム601の基端部はピボット軸606
を中心として揺動するアクチュエータ602に支持さ
れ、このアクチュエータ602はさらにボイスコイルモ
ータ603によって駆動される。
として小型磁気ディスク装置600を使用する場合につ
いて説明する。図8は、本実施の形態の小型磁気ディス
ク装置600の全体構成を一部破断して示す斜視図であ
る。この図8に例示されるように、複数の磁気ディスク
605が共通のスピンドル604に所定の間隔で同軸か
つ平行な姿勢で固定され、個々の磁気ディスク605の
複数の記録面の各々には、ロードアーム601の先端部
に個別に保持された複数のヘッド607がセットされて
いる。ロードアーム601の基端部はピボット軸606
を中心として揺動するアクチュエータ602に支持さ
れ、このアクチュエータ602はさらにボイスコイルモ
ータ603によって駆動される。
【0025】すなわち、ボイスコイルモータ603に対
する通電方向や通電量の制御によって、アクチュエータ
602およびロードアーム601は磁気ディスク605
と平行な平面内を、揺動速度や角度が制御された揺動運
動をし、この揺動運動によって、ロードアーム601の
先端部に支持されているヘッド607は磁気ディスク6
05の記録面上を当該磁気ディスク605の径方向に移
動し、たとえば磁気ディスク605の記録面上に同心円
状に配置された複数のトラックの間の移動(シーク動
作)や、特定のトラックに対して追従する動作を行う。
する通電方向や通電量の制御によって、アクチュエータ
602およびロードアーム601は磁気ディスク605
と平行な平面内を、揺動速度や角度が制御された揺動運
動をし、この揺動運動によって、ロードアーム601の
先端部に支持されているヘッド607は磁気ディスク6
05の記録面上を当該磁気ディスク605の径方向に移
動し、たとえば磁気ディスク605の記録面上に同心円
状に配置された複数のトラックの間の移動(シーク動
作)や、特定のトラックに対して追従する動作を行う。
【0026】ヘッド607による磁気ディスク605上
の任意のトラックのデータに対するアクセスの所要時間
は、ヘッド607を磁気ディスク605の径方向に移動
させて任意のトラック上の位置決めするシーク動作の時
間と、ヘッド607の直下にトラックの目的領域が到来
するまでの回転待ち時間の和になるが、回転待ち時間
は、磁気ディスク605の回転速度は所定の仕様によっ
て一定となるため、シーク動作の最適化が、データの読
み出し速度の改善等に効果が大きい。たとえば、複数の
異なるトラックのデータにアクセス要求があり、これら
をまとめて処理する場合、ヘッド607が、磁気ディス
ク605の径方向に一方向に順次移動するように制御し
たほうが効率が良くなる。
の任意のトラックのデータに対するアクセスの所要時間
は、ヘッド607を磁気ディスク605の径方向に移動
させて任意のトラック上の位置決めするシーク動作の時
間と、ヘッド607の直下にトラックの目的領域が到来
するまでの回転待ち時間の和になるが、回転待ち時間
は、磁気ディスク605の回転速度は所定の仕様によっ
て一定となるため、シーク動作の最適化が、データの読
み出し速度の改善等に効果が大きい。たとえば、複数の
異なるトラックのデータにアクセス要求があり、これら
をまとめて処理する場合、ヘッド607が、磁気ディス
ク605の径方向に一方向に順次移動するように制御し
たほうが効率が良くなる。
【0027】小型磁気ディスク装置600はアレイ状に
配置しRAID(Redundant Array of Inexpensive Disk
s)構成を組んでもよい。図1ではRAID構成とした場
合の実施の形態を示す。RAIDを構成する各列(18
1〜183)をRANKとして管理し、先読み実行部1
48はRANK毎に持ち並行して実行する。記憶装置1
10内はロジカルユニットアドレス243によって領域
分割される。RANKとロジカルユニットとの対応付け
は装置の構成情報設定時に決まり、m,nを任意の整数
とすると、nRANK=1ロジカルユニット、1RAN
K=nロジカルユニット、または、mRANK=nロジ
カルユニットとすることも可能である。以下、1RAN
K=1ロジカルユニットの場合を例にとり説明する。
配置しRAID(Redundant Array of Inexpensive Disk
s)構成を組んでもよい。図1ではRAID構成とした場
合の実施の形態を示す。RAIDを構成する各列(18
1〜183)をRANKとして管理し、先読み実行部1
48はRANK毎に持ち並行して実行する。記憶装置1
10内はロジカルユニットアドレス243によって領域
分割される。RANKとロジカルユニットとの対応付け
は装置の構成情報設定時に決まり、m,nを任意の整数
とすると、nRANK=1ロジカルユニット、1RAN
K=nロジカルユニット、または、mRANK=nロジ
カルユニットとすることも可能である。以下、1RAN
K=1ロジカルユニットの場合を例にとり説明する。
【0028】図2は、不揮発メモリ144上の各種動作
パラメタの設定例を示す概念図であり、図3および図4
は、メモリ145上に設定される各種管理テーブルの構
造と、バッファメモリ160の構造、および、これらの
関連を示す概念図である。なお、図3および図4におい
て、(A)〜(C)の記号は、両図の間におけるポイン
タ情報の接続関係を示している。また記憶媒体論理構造
290は、バッファメモリ160上におけるホスト転送
済みブロック291、先読み済みブロック292、先読
み実行中ブロック293の関係を示している。
パラメタの設定例を示す概念図であり、図3および図4
は、メモリ145上に設定される各種管理テーブルの構
造と、バッファメモリ160の構造、および、これらの
関連を示す概念図である。なお、図3および図4におい
て、(A)〜(C)の記号は、両図の間におけるポイン
タ情報の接続関係を示している。また記憶媒体論理構造
290は、バッファメモリ160上におけるホスト転送
済みブロック291、先読み済みブロック292、先読
み実行中ブロック293の関係を示している。
【0029】バッファメモリ160は固定長サイズのバ
ッファセグメント221に分割し管理する。ここで未使
用のバッファセグメント221はフリーバッファセグメ
ントリスト222に登録され、その先頭アドレスはフリ
ーバッファセグメントポインタ231よりポイントされ
る。記憶装置110の電源投入直後の初期状態ではすべ
てのバッファセグメント221がフリーバッファセグメ
ントリスト222に登録される。先読み実行時にフリー
バッファセグメントリスト222より必要となるバッフ
ァセグメント221が確保され使用済みバッファセグメ
ントリスト223に登録され先読みデータが読み込まれ
る。そして使用終了後には再びフリーバッファセグメン
トリスト222に戻す。
ッファセグメント221に分割し管理する。ここで未使
用のバッファセグメント221はフリーバッファセグメ
ントリスト222に登録され、その先頭アドレスはフリ
ーバッファセグメントポインタ231よりポイントされ
る。記憶装置110の電源投入直後の初期状態ではすべ
てのバッファセグメント221がフリーバッファセグメ
ントリスト222に登録される。先読み実行時にフリー
バッファセグメントリスト222より必要となるバッフ
ァセグメント221が確保され使用済みバッファセグメ
ントリスト223に登録され先読みデータが読み込まれ
る。そして使用終了後には再びフリーバッファセグメン
トリスト222に戻す。
【0030】不揮発メモリ144上には、各種動作パラ
メタとして、先読み実行部多重度211、先読みデータ
ホスト転送後滞留データ量212、先読みデータホスト
転送後滞留時間213、RANK数214を持つ。
メタとして、先読み実行部多重度211、先読みデータ
ホスト転送後滞留データ量212、先読みデータホスト
転送後滞留時間213、RANK数214を持つ。
【0031】メモリ145上には、バッファメモリ管理
テーブル230、ホストコマンド管理テーブル240、
先読み管理テーブル250、先読み実行管理テーブル2
60を持つ。ここで、先読み管理テーブル250と先読
み実行管理テーブル260は各RANK毎に持つ。先読
み管理テーブル250は各RANK毎に1個、先読み実
行管理テーブル260は各RANK毎に先読み実行部多
重度211分持つ。
テーブル230、ホストコマンド管理テーブル240、
先読み管理テーブル250、先読み実行管理テーブル2
60を持つ。ここで、先読み管理テーブル250と先読
み実行管理テーブル260は各RANK毎に持つ。先読
み管理テーブル250は各RANK毎に1個、先読み実
行管理テーブル260は各RANK毎に先読み実行部多
重度211分持つ。
【0032】バッファメモリ管理テーブル230上には
フリーバッファセグメントポインタ231を持つ。ホス
トコマンド管理テーブル240は上位装置103より受
領したホストコマンドを登録し上位装置103からのリ
ード要求に連続性が有るか否かの判定に使用する。ホス
トコマンド管理テーブル240は複数エントリから構成
されラップアラウンドして使用する。このため次にどの
エントリを使用するか判定するために、NEXTポイン
タ241を持つ。各エントリは、コマンド種別242、
ロジカルユニットアドレス243、リード/ライトロジ
カルブロックアドレス244(LBA)、リード/ライ
トブロック数245よりなる。
フリーバッファセグメントポインタ231を持つ。ホス
トコマンド管理テーブル240は上位装置103より受
領したホストコマンドを登録し上位装置103からのリ
ード要求に連続性が有るか否かの判定に使用する。ホス
トコマンド管理テーブル240は複数エントリから構成
されラップアラウンドして使用する。このため次にどの
エントリを使用するか判定するために、NEXTポイン
タ241を持つ。各エントリは、コマンド種別242、
ロジカルユニットアドレス243、リード/ライトロジ
カルブロックアドレス244(LBA)、リード/ライ
トブロック数245よりなる。
【0033】先読み管理テーブル250は、先読み実行
中管理テーブルキューポインタ251、先読み実行済み
管理テーブルキューポインタ252、未使用先読み実行
管理テーブルキューポインタ253より構成される。先
読み管理テーブル250および先読み実行管理テーブル
260は各RANK毎に同一の構造のテーブルを持つ。
先読み実行管理テーブル260は先読み実行中管理テー
ブルキュー271、先読み実行済み管理テーブルキュー
272、未使用先読み実行管理テーブルキュー273の
いずれかのキューに登録される。記憶装置110の電源
投入直後の初期状態では全ての先読み実行管理テーブル
260は未使用状態であるため全て未使用先読み実行管
理テーブルキュー273につながれる。その後、上位装
置103よりコマンドを受領し先読みを開始する際に未
使用先読み実行管理テーブルキュー273より1個の先
読み実行管理テーブル260を外し先読み実行中管理テ
ーブルキュー271に接続する。先読み完了後その先読
み実行管理テーブル260を先読み実行中管理テーブル
キュー271から外し先読み実行済み管理テーブルキュ
ー272に接続する。同一RANK内で複数の先読みが
必要になった場合にはひとつずつ順番に先読みを実行す
る。先読み実行中管理テーブルキュー271の先頭につ
ながれた先読み実行管理テーブル260が先読み実行中
のものであり、キューの2番目以降につながれた先読み
実行管理テーブル260は先読み実行待ちのものであ
る。各キューへの繋ぎ変えは先読み制御部143が行
う。先読み制御部143は先読み実行管理テーブル26
0を先読み実行中管理テーブルキュー271につなぐ際
に先読み実行管理テーブル260内の先読み実行LBA
261を参照し先読み実行LBA261が昇順となるよ
う先読み実行中管理テーブルキュー271につなぐ。こ
れにより先読み実行時の記憶媒体180の読み出しにお
いて、記憶媒体180を構成する小型磁気ディスク装置
600のヘッド607はLBAの昇順に、すなわち磁気
ディスク605の径方向に一定の方向に動くことになり
複数領域に対する先読み処理を効率よく行うことが可能
となる。
中管理テーブルキューポインタ251、先読み実行済み
管理テーブルキューポインタ252、未使用先読み実行
管理テーブルキューポインタ253より構成される。先
読み管理テーブル250および先読み実行管理テーブル
260は各RANK毎に同一の構造のテーブルを持つ。
先読み実行管理テーブル260は先読み実行中管理テー
ブルキュー271、先読み実行済み管理テーブルキュー
272、未使用先読み実行管理テーブルキュー273の
いずれかのキューに登録される。記憶装置110の電源
投入直後の初期状態では全ての先読み実行管理テーブル
260は未使用状態であるため全て未使用先読み実行管
理テーブルキュー273につながれる。その後、上位装
置103よりコマンドを受領し先読みを開始する際に未
使用先読み実行管理テーブルキュー273より1個の先
読み実行管理テーブル260を外し先読み実行中管理テ
ーブルキュー271に接続する。先読み完了後その先読
み実行管理テーブル260を先読み実行中管理テーブル
キュー271から外し先読み実行済み管理テーブルキュ
ー272に接続する。同一RANK内で複数の先読みが
必要になった場合にはひとつずつ順番に先読みを実行す
る。先読み実行中管理テーブルキュー271の先頭につ
ながれた先読み実行管理テーブル260が先読み実行中
のものであり、キューの2番目以降につながれた先読み
実行管理テーブル260は先読み実行待ちのものであ
る。各キューへの繋ぎ変えは先読み制御部143が行
う。先読み制御部143は先読み実行管理テーブル26
0を先読み実行中管理テーブルキュー271につなぐ際
に先読み実行管理テーブル260内の先読み実行LBA
261を参照し先読み実行LBA261が昇順となるよ
う先読み実行中管理テーブルキュー271につなぐ。こ
れにより先読み実行時の記憶媒体180の読み出しにお
いて、記憶媒体180を構成する小型磁気ディスク装置
600のヘッド607はLBAの昇順に、すなわち磁気
ディスク605の径方向に一定の方向に動くことになり
複数領域に対する先読み処理を効率よく行うことが可能
となる。
【0034】先読み実行管理テーブル260は先読み実
行管理単位毎に作成され、先読み実行管理テーブルキュ
ーポインタ280、先読み実行LBA261、先読み済
み先頭LBA262、ホストデータ転送済みLBA26
3、ホストデータ転送時刻269、滞留データ最終LB
A264、バッファ先頭アドレス265、先読み完了待
ちホストコマンドポインタ266、先読み開始アドレス
267、先読みブロック数268よりなる。ここで、先
読み開始アドレス267、先読みブロック数268、お
よびバッファ先頭アドレス265は先読み制御部143
が先読み実行部148に対して先読みを指示する際の起
動情報となる。一回の先読み実行により複数のシーケン
シャルリード要求に対応可能とするためにホストデータ
転送済みLBA263は複数エントリ分設ける。ここ
で、各エントリと対応してホストデータ転送時刻269
を持ち、上位装置103へデータを転送した時の時刻を
計時機構142より読み出し設定する。
行管理単位毎に作成され、先読み実行管理テーブルキュ
ーポインタ280、先読み実行LBA261、先読み済
み先頭LBA262、ホストデータ転送済みLBA26
3、ホストデータ転送時刻269、滞留データ最終LB
A264、バッファ先頭アドレス265、先読み完了待
ちホストコマンドポインタ266、先読み開始アドレス
267、先読みブロック数268よりなる。ここで、先
読み開始アドレス267、先読みブロック数268、お
よびバッファ先頭アドレス265は先読み制御部143
が先読み実行部148に対して先読みを指示する際の起
動情報となる。一回の先読み実行により複数のシーケン
シャルリード要求に対応可能とするためにホストデータ
転送済みLBA263は複数エントリ分設ける。ここ
で、各エントリと対応してホストデータ転送時刻269
を持ち、上位装置103へデータを転送した時の時刻を
計時機構142より読み出し設定する。
【0035】以下、本実施の形態の記憶装置を含む情報
処理システムの作用の一例を、図5、図6、図7のフロ
ーチャート等を参照しながら説明する。
処理システムの作用の一例を、図5、図6、図7のフロ
ーチャート等を参照しながら説明する。
【0036】本実施の形態では、上位装置103から複
数領域に対するシーケンシャルリード要求受領時の先読
み処理において記憶媒体180からの読み出しにおける
ヘッド607の動きを昇順に最適化させるよう先読み処
理の実行順序を制御することと、先読みデータを上位装
置103に転送後も一定量若しくは一定時間、バッファ
メモリ160上に滞留させておき同一若しくは近傍領域
に対する複数のシーケンシャルリード要求を一回の先読
み実行で済ませることにより複数領域に対するシーケン
シャルリード時のデータ読み出し処理能力を向上させる
ものである。
数領域に対するシーケンシャルリード要求受領時の先読
み処理において記憶媒体180からの読み出しにおける
ヘッド607の動きを昇順に最適化させるよう先読み処
理の実行順序を制御することと、先読みデータを上位装
置103に転送後も一定量若しくは一定時間、バッファ
メモリ160上に滞留させておき同一若しくは近傍領域
に対する複数のシーケンシャルリード要求を一回の先読
み実行で済ませることにより複数領域に対するシーケン
シャルリード時のデータ読み出し処理能力を向上させる
ものである。
【0037】上位装置103は各クライアント装置10
1からのデータリード要求を受け付けると上位装置10
3に接続されている記憶装置110にリードコマンドを
発行する。
1からのデータリード要求を受け付けると上位装置10
3に接続されている記憶装置110にリードコマンドを
発行する。
【0038】記憶装置110に対して発行されたリード
コマンドはホストインタフェース回路120を経由して
主制御部141に伝えられる。主制御部141は受領し
たホストコマンドを先読み制御部143に渡す。先読み
制御部143は受領したコマンドをホストコマンド管理
テーブル240に登録する(ステップ301)。ホスト
コマンド管理テーブル240は複数のホストコマンドを
登録できるように複数のエントリより構成されている。
そこで、先読み制御部143はNEXTポインタ241
で指し示すエントリに情報を登録しNEXTポインタ2
41が次のエントリをポイントするように更新する。ホ
ストコマンド管理テーブル240には受領したコマンド
に基づいて、コマンド種別242、上位装置103より
指定されたロジカルユニットアドレス243、リード/
ライトすべきLBA(ロジカルブロックアドレス)24
4、リード/ライトブロック数245を登録する。次に
先読み制御部143は受領したコマンドがリードコマン
ドの場合、そのリードコマンドが過去に受領したリード
コマンドと連続するアドレスに対するコマンドであるか
即ちシーケンシャルリード要求であるか判定する。判定
は先読み実行管理テーブル260内の滞留データ最終L
BA264と先読み実行LBA261の間に受領リード
コマンドのリードLBAが入っているかを比較すること
により行う(ステップ302)。比較チェックは先読み
実行中管理テーブルキュー271と先読み実行済み管理
テーブルキュー272上の全先読み実行管理テーブル2
60について行う。該当する先読み実行管理テーブル2
60が見つかった場合には受領したコマンドについて既
に先読みが行われていることを意味する。この場合に
は、上位装置103にデータ転送を行い、その後、計時
機構142より現時刻を読み出し、ホストデータ転送時
刻269に設定する(ステップ303)。
コマンドはホストインタフェース回路120を経由して
主制御部141に伝えられる。主制御部141は受領し
たホストコマンドを先読み制御部143に渡す。先読み
制御部143は受領したコマンドをホストコマンド管理
テーブル240に登録する(ステップ301)。ホスト
コマンド管理テーブル240は複数のホストコマンドを
登録できるように複数のエントリより構成されている。
そこで、先読み制御部143はNEXTポインタ241
で指し示すエントリに情報を登録しNEXTポインタ2
41が次のエントリをポイントするように更新する。ホ
ストコマンド管理テーブル240には受領したコマンド
に基づいて、コマンド種別242、上位装置103より
指定されたロジカルユニットアドレス243、リード/
ライトすべきLBA(ロジカルブロックアドレス)24
4、リード/ライトブロック数245を登録する。次に
先読み制御部143は受領したコマンドがリードコマン
ドの場合、そのリードコマンドが過去に受領したリード
コマンドと連続するアドレスに対するコマンドであるか
即ちシーケンシャルリード要求であるか判定する。判定
は先読み実行管理テーブル260内の滞留データ最終L
BA264と先読み実行LBA261の間に受領リード
コマンドのリードLBAが入っているかを比較すること
により行う(ステップ302)。比較チェックは先読み
実行中管理テーブルキュー271と先読み実行済み管理
テーブルキュー272上の全先読み実行管理テーブル2
60について行う。該当する先読み実行管理テーブル2
60が見つかった場合には受領したコマンドについて既
に先読みが行われていることを意味する。この場合に
は、上位装置103にデータ転送を行い、その後、計時
機構142より現時刻を読み出し、ホストデータ転送時
刻269に設定する(ステップ303)。
【0039】前記ステップ302において、先読み済み
ではない、と判定された場合、先読み実行中ブロック2
93に対するリード要求か判定する(ステップ30
4)。この判定は、リード要求されたLBNの値が、滞
留データ最終LBA264よりも大きく、かつ、先読み
実行LBA261よりも小さいか、否かで判定する。そ
して、先読み実行中の場合にはホストコマンド管理テー
ブル240の当該エントリを先読み完了待ちホストコマ
ンドポインタ266に登録し先読み制御部143の処理
を終了する(ステップ305)。先読み完了待ちホスト
コマンドポインタ266は複数のホストコマンドを登録
可能とするために複数のエントリがあり未使用のエント
リに登録する。未使用のエントリは(FFFF)がセッ
トされておりこれにより判定する。先読み実行部148
は先読み制御部143より指示された先読み動作が完了
すると、先読み制御部143に終了報告を行う。この
時、先読み実行部148は先読み制御部143に先読み
実行管理テーブル260のアドレスを引数として渡す。
ではない、と判定された場合、先読み実行中ブロック2
93に対するリード要求か判定する(ステップ30
4)。この判定は、リード要求されたLBNの値が、滞
留データ最終LBA264よりも大きく、かつ、先読み
実行LBA261よりも小さいか、否かで判定する。そ
して、先読み実行中の場合にはホストコマンド管理テー
ブル240の当該エントリを先読み完了待ちホストコマ
ンドポインタ266に登録し先読み制御部143の処理
を終了する(ステップ305)。先読み完了待ちホスト
コマンドポインタ266は複数のホストコマンドを登録
可能とするために複数のエントリがあり未使用のエント
リに登録する。未使用のエントリは(FFFF)がセッ
トされておりこれにより判定する。先読み実行部148
は先読み制御部143より指示された先読み動作が完了
すると、先読み制御部143に終了報告を行う。この
時、先読み実行部148は先読み制御部143に先読み
実行管理テーブル260のアドレスを引数として渡す。
【0040】先読み制御部143は受領した先読み実行
管理テーブル260内の先読み完了待ちホストコマンド
ポインタ266が登録されていればポインタの指し示す
ホストコマンド管理テーブル240の当該エントリの情
報を参照しバッファメモリ160上のデータを上位装置
103に転送し(ステップ501)、さらに転送後、ホ
ストデータ転送済みLBA263の中から該当するエン
トリを探して更新するとともに計時機構142より現時
刻を読み出し、ホストデータ転送時刻269に設定する
(ステップ502)。このようにして、同一または近傍
領域に対する複数のシーケンシャルリード要求に対して
個々に複数回先読みを実行することなく一回の先読みで
済ましてしまう。その後、当該先読み実行管理テーブル
260を先読み実行中管理テーブルキュー271から一
旦外し次の先読み実行のために先読み開始アドレス26
7と先読みブロック数268を更新し先読み実行済み管
理テーブルキュー272に登録し、先読み実行中管理テ
ーブルキュー271に再登録する。再登録にあたっては
各先読み実行管理テーブル260の先読み開始アドレス
267が昇順となるような位置に接続する(ステップ5
03)。再登録完了後に、先読み実行中管理テーブルキ
ュー271の先頭、即ち先読み実行中管理テーブルキュ
ーポインタ251からダイレクトにポイントされた先読
み実行管理テーブル260に登録された先読みを実行す
る(ステップ504)。これにより上位装置103から
複数領域に対するシーケンシャルリード要求受領時の先
読み処理において記憶媒体180からの読み出し処理に
おける磁気ディスク605に対するヘッド607の動き
を昇順に最適化させるよう先読み処理の実行順序を制御
することができる。
管理テーブル260内の先読み完了待ちホストコマンド
ポインタ266が登録されていればポインタの指し示す
ホストコマンド管理テーブル240の当該エントリの情
報を参照しバッファメモリ160上のデータを上位装置
103に転送し(ステップ501)、さらに転送後、ホ
ストデータ転送済みLBA263の中から該当するエン
トリを探して更新するとともに計時機構142より現時
刻を読み出し、ホストデータ転送時刻269に設定する
(ステップ502)。このようにして、同一または近傍
領域に対する複数のシーケンシャルリード要求に対して
個々に複数回先読みを実行することなく一回の先読みで
済ましてしまう。その後、当該先読み実行管理テーブル
260を先読み実行中管理テーブルキュー271から一
旦外し次の先読み実行のために先読み開始アドレス26
7と先読みブロック数268を更新し先読み実行済み管
理テーブルキュー272に登録し、先読み実行中管理テ
ーブルキュー271に再登録する。再登録にあたっては
各先読み実行管理テーブル260の先読み開始アドレス
267が昇順となるような位置に接続する(ステップ5
03)。再登録完了後に、先読み実行中管理テーブルキ
ュー271の先頭、即ち先読み実行中管理テーブルキュ
ーポインタ251からダイレクトにポイントされた先読
み実行管理テーブル260に登録された先読みを実行す
る(ステップ504)。これにより上位装置103から
複数領域に対するシーケンシャルリード要求受領時の先
読み処理において記憶媒体180からの読み出し処理に
おける磁気ディスク605に対するヘッド607の動き
を昇順に最適化させるよう先読み処理の実行順序を制御
することができる。
【0041】比較対象の全ての先読み実行管理テーブル
260上で一致するものが見つからなかった場合には、
新規のシーケンシャルリードの開始であるか判定するた
めにホストコマンド管理テーブル240をNEXTポイ
ンタ241のポイントするエントリの2つ手前のエント
リから1エントリずつさかのぼり同一のロジカルユニッ
トアドレス243に対するリードコマンドを探し、ホス
トコマンド管理テーブル240上のLBA244とブロ
ック長とに基づいて次式(1)に例示される、 LBA244+ブロック長=今回受領したコマンドのLBA ……(1) の条件が成立するか否かをチェックする(ステップ30
6)。
260上で一致するものが見つからなかった場合には、
新規のシーケンシャルリードの開始であるか判定するた
めにホストコマンド管理テーブル240をNEXTポイ
ンタ241のポイントするエントリの2つ手前のエント
リから1エントリずつさかのぼり同一のロジカルユニッ
トアドレス243に対するリードコマンドを探し、ホス
トコマンド管理テーブル240上のLBA244とブロ
ック長とに基づいて次式(1)に例示される、 LBA244+ブロック長=今回受領したコマンドのLBA ……(1) の条件が成立するか否かをチェックする(ステップ30
6)。
【0042】上記に該当するエントリが見つかった場合
には先読み起動処理を行う(ステップ307)。ホスト
コマンド管理テーブル240上に上記の条件を満たすエ
ントリが見つからない場合には、主制御部141に制御
を戻しランダムアクセスコマンドとして処理する(ステ
ップ308)。この場合、先読み以外のI/Oを実行し
た場合、I/O終了後にそのI/OのLBAを基準とし
て先読み実行中管理テーブルキュー271の並び替えを
行い先読み実行順序の最適化を行う。
には先読み起動処理を行う(ステップ307)。ホスト
コマンド管理テーブル240上に上記の条件を満たすエ
ントリが見つからない場合には、主制御部141に制御
を戻しランダムアクセスコマンドとして処理する(ステ
ップ308)。この場合、先読み以外のI/Oを実行し
た場合、I/O終了後にそのI/OのLBAを基準とし
て先読み実行中管理テーブルキュー271の並び替えを
行い先読み実行順序の最適化を行う。
【0043】先読み制御部143は計時機構142によ
り一定周期で起動される。起動された先読み制御部14
3は先読みデータホスト転送後滞留データ量212が指
定されている場合(ステップ401)、先読み実行中管
理テーブルキュー271および先読み実行済み管理テー
ブルキュー272上の各先読み実行管理テーブル260
についてホストデータ転送済みLBA263の複数エン
トリ中の最小値(ホスト転送済みブロック291の後端
位置)と滞留データ最終LBA264との差分より滞留
データ量を求め(ステップ402)、先読みデータホス
ト転送後滞留データ量212を越えるバッファセグメン
トを解放しフリーバッファセグメントリスト222へ戻
すと共に滞留データ最終LBA264を更新する(ステ
ップ403〜405)。ここで、先読みデータホスト転
送後滞留データ量212に代わって先読みデータホスト
転送後滞留時間213が指定されている場合(ステップ
406)には、ホストデータ転送済みLBA263の複
数エントリ中の最小値に対応したホストデータ転送時刻
269と計時機構142より読み出した現時刻との差よ
り先読みデータのホスト転送後の滞留時間を算出し(ス
テップ407)、先読みデータホスト転送後滞留時間2
13以上の時間が経過している場合にはホスト転送済み
データの入っているバッファセグメント221を解放し
フリーバッファセグメントリスト222へ戻すと共に滞
留データ最終LBA264を更新する(ステップ408
〜410)。
り一定周期で起動される。起動された先読み制御部14
3は先読みデータホスト転送後滞留データ量212が指
定されている場合(ステップ401)、先読み実行中管
理テーブルキュー271および先読み実行済み管理テー
ブルキュー272上の各先読み実行管理テーブル260
についてホストデータ転送済みLBA263の複数エン
トリ中の最小値(ホスト転送済みブロック291の後端
位置)と滞留データ最終LBA264との差分より滞留
データ量を求め(ステップ402)、先読みデータホス
ト転送後滞留データ量212を越えるバッファセグメン
トを解放しフリーバッファセグメントリスト222へ戻
すと共に滞留データ最終LBA264を更新する(ステ
ップ403〜405)。ここで、先読みデータホスト転
送後滞留データ量212に代わって先読みデータホスト
転送後滞留時間213が指定されている場合(ステップ
406)には、ホストデータ転送済みLBA263の複
数エントリ中の最小値に対応したホストデータ転送時刻
269と計時機構142より読み出した現時刻との差よ
り先読みデータのホスト転送後の滞留時間を算出し(ス
テップ407)、先読みデータホスト転送後滞留時間2
13以上の時間が経過している場合にはホスト転送済み
データの入っているバッファセグメント221を解放し
フリーバッファセグメントリスト222へ戻すと共に滞
留データ最終LBA264を更新する(ステップ408
〜410)。
【0044】なお、操作パネル130またはホストコマ
ンドにより「先読み実行部多重度211」、「先読みデ
ータホスト転送後滞留データ量212」、および、「先
読みデータホスト転送後滞留時間213」の変更が指示
された場合には不揮発メモリ144の各々のデータを変
更する。操作パネル130による変更は操作パネル13
0上にこれらのパラメタの変更設定メニューを表示しオ
ペレータが変更したい値を入力することにより実現す
る。また、ホストコマンドによる変更は、たとえば、上
位装置103と記憶装置110とが、たとえばSCSI
等の標準インタフェースにて接続されている場合には、
当該標準インタフェースにて利用可能なベンダーユニー
クコマンドによって、これらのパラメタ内容の変更を指
示する動作を行う。制御部140は記憶装置110の電
源投入時に不揮発メモリ144の先読み実行部多重度2
11の値の分だけ先読み実行管理テーブル260を作成
する。また、先読みデータホスト転送後滞留データ量2
12、および、先読みデータホスト転送後滞留時間21
3についても主制御部141は電源投入時に不揮発メモ
リ144上の値をメモリ145上にコピーし実行時には
不揮発メモリ144上の値ではなくメモリ145上にコ
ピーされた値に基づいて動作する。従って、操作パネル
130またはホストコマンドによって変更された値は記
憶装置110の次の電源投入時より有効となる。
ンドにより「先読み実行部多重度211」、「先読みデ
ータホスト転送後滞留データ量212」、および、「先
読みデータホスト転送後滞留時間213」の変更が指示
された場合には不揮発メモリ144の各々のデータを変
更する。操作パネル130による変更は操作パネル13
0上にこれらのパラメタの変更設定メニューを表示しオ
ペレータが変更したい値を入力することにより実現す
る。また、ホストコマンドによる変更は、たとえば、上
位装置103と記憶装置110とが、たとえばSCSI
等の標準インタフェースにて接続されている場合には、
当該標準インタフェースにて利用可能なベンダーユニー
クコマンドによって、これらのパラメタ内容の変更を指
示する動作を行う。制御部140は記憶装置110の電
源投入時に不揮発メモリ144の先読み実行部多重度2
11の値の分だけ先読み実行管理テーブル260を作成
する。また、先読みデータホスト転送後滞留データ量2
12、および、先読みデータホスト転送後滞留時間21
3についても主制御部141は電源投入時に不揮発メモ
リ144上の値をメモリ145上にコピーし実行時には
不揮発メモリ144上の値ではなくメモリ145上にコ
ピーされた値に基づいて動作する。従って、操作パネル
130またはホストコマンドによって変更された値は記
憶装置110の次の電源投入時より有効となる。
【0045】以上説明したように、本実施の形態の記憶
装置によれば、複数のシーケンシャルリード要求の発生
によって、記憶媒体180の複数の領域に対するシーケ
ンシャルリード処理を行う場合に、要求アドレスを昇順
にならべかえて纏めて実行するので、記憶媒体180に
おけるヘッド607の動きが磁気ディスク605の径方
向に一定方向となるように最適化され、記憶媒体180
からバッファメモリ160へのデータの先読みにおける
所要時間を短縮することができるとともに、バッファメ
モリ160上のデータを用いて上位装置103からの複
数のシーケンシャルリード要求に高速に応答することが
可能になる。また、バッファメモリ160にシーケンシ
ャルリード要求の対象のとなるデータを一定時間保持す
るように動作するので、複数のシーケンシャルリード要
求に高速に応答することが可能になる。
装置によれば、複数のシーケンシャルリード要求の発生
によって、記憶媒体180の複数の領域に対するシーケ
ンシャルリード処理を行う場合に、要求アドレスを昇順
にならべかえて纏めて実行するので、記憶媒体180に
おけるヘッド607の動きが磁気ディスク605の径方
向に一定方向となるように最適化され、記憶媒体180
からバッファメモリ160へのデータの先読みにおける
所要時間を短縮することができるとともに、バッファメ
モリ160上のデータを用いて上位装置103からの複
数のシーケンシャルリード要求に高速に応答することが
可能になる。また、バッファメモリ160にシーケンシ
ャルリード要求の対象のとなるデータを一定時間保持す
るように動作するので、複数のシーケンシャルリード要
求に高速に応答することが可能になる。
【0046】さらに、このような先読みの制御における
最適化を、たとえば、RAID構成の複数の記憶媒体1
80の各グループにて並行して実行することにより、R
AID構成の複数の記憶媒体180における複数のシー
ケンシャルリード要求の処理の高速化を実現することが
できる。
最適化を、たとえば、RAID構成の複数の記憶媒体1
80の各グループにて並行して実行することにより、R
AID構成の複数の記憶媒体180における複数のシー
ケンシャルリード要求の処理の高速化を実現することが
できる。
【0047】このため、たとえば、上位装置103およ
びその配下の記憶装置110を、たとえば画像データ等
の順次性の高いデータを蓄積するVOD等のサーバの構
築に用いることにより、VODにおける複数のシーケン
シャルリード要求の処理を高速に行う、高性能のサーバ
を実現することが可能になる。
びその配下の記憶装置110を、たとえば画像データ等
の順次性の高いデータを蓄積するVOD等のサーバの構
築に用いることにより、VODにおける複数のシーケン
シャルリード要求の処理を高速に行う、高性能のサーバ
を実現することが可能になる。
【0048】以上本発明者によってなされた発明を実施
の形態に基づき具体的に説明したが、本発明は前記実施
の形態に限定されるものではなく、その要旨を逸脱しな
い範囲で種々変更可能であることはいうまでもない。
の形態に基づき具体的に説明したが、本発明は前記実施
の形態に限定されるものではなく、その要旨を逸脱しな
い範囲で種々変更可能であることはいうまでもない。
【0049】たとえば記憶媒体としては、小型磁気ディ
スク装置に限らず、光ディスク装置、光磁気ディスク装
置等、一般の回転型記憶装置を用いることも本発明に含
まれる。
スク装置に限らず、光ディスク装置、光磁気ディスク装
置等、一般の回転型記憶装置を用いることも本発明に含
まれる。
【0050】
【発明の効果】本発明の記憶装置によれば、複数の順次
リード要求に対する応答時間の短縮およびスループット
向上を実現することができる、という効果が得られる。
リード要求に対する応答時間の短縮およびスループット
向上を実現することができる、という効果が得られる。
【0051】また、本発明の記憶装置によれば、音声や
映像等の一般に順次性のあるマルチメディアデータ等が
蓄積される高性能のサーバの構築に有用である、という
効果が得られる。
映像等の一般に順次性のあるマルチメディアデータ等が
蓄積される高性能のサーバの構築に有用である、という
効果が得られる。
【0052】また、本発明の記憶装置によれば、VOD
(ビデオオンデマンド)用の高性能のサーバの構築に適
する、という効果が得られる。
(ビデオオンデマンド)用の高性能のサーバの構築に適
する、という効果が得られる。
【図1】本発明の一実施の形態である記憶装置を含む情
報処理システムの全体の構成の一例を示した概念図であ
る。
報処理システムの全体の構成の一例を示した概念図であ
る。
【図2】本発明の一実施の形態である記憶装置において
不揮発メモリ上に設定される各種動作パラメタの設定例
を示す概念図である。
不揮発メモリ上に設定される各種動作パラメタの設定例
を示す概念図である。
【図3】本発明の一実施の形態である記憶装置において
メモリ上に設定される各種管理テーブルの構造と、バッ
ファメモリの構造、および、これらの関連の一例を示す
概念図である。
メモリ上に設定される各種管理テーブルの構造と、バッ
ファメモリの構造、および、これらの関連の一例を示す
概念図である。
【図4】本発明の一実施の形態である記憶装置において
メモリ上に設定される各種管理テーブルの構造と、バッ
ファメモリの構造、および、これらの関連の一例を示す
概念図である。
メモリ上に設定される各種管理テーブルの構造と、バッ
ファメモリの構造、および、これらの関連の一例を示す
概念図である。
【図5】本発明の一実施の形態である記憶装置の作用の
一例を示すフローチャートである。
一例を示すフローチャートである。
【図6】本発明の一実施の形態である記憶装置の作用の
一例を示すフローチャートである。
一例を示すフローチャートである。
【図7】本発明の一実施の形態である記憶装置の作用の
一例を示すフローチャートである。
一例を示すフローチャートである。
【図8】本発明の一実施の形態である記憶装置に備えら
れる磁気ディスク装置の一例の全体構成を一部破断して
示す斜視図である。
れる磁気ディスク装置の一例の全体構成を一部破断して
示す斜視図である。
101…クライアント装置、102…LAN(ローカル
エリアネットワーク)、103…上位装置、110…記
憶装置、120…ホストインタフェース回路、130…
操作パネル、140…制御部、141…主制御部、14
2…計時機構、143…先読み制御部、144…不揮発
メモリ、145…メモリ、148…先読み実行部、15
0…データ転送回路、160…バッファメモリ、170
…ドライブインタフェース回路、180…記憶媒体、2
11…先読み実行部多重度、212…先読みデータホス
ト転送後滞留データ量、213…先読みデータホスト転
送後滞留時間、214…RANK数、221…バッファ
セグメント、222…フリーバッファセグメントリス
ト、223…使用済みバッファセグメントリスト、23
0…バッファメモリ管理テーブル、240…ホストコマ
ンド管理テーブル、241…NEXTポインタ、242
…コマンド種別、243…ロジカルユニットアドレス、
244…リード/ライトロジカルブロックアドレス(L
BA)、245…リード/ライトブロック数、250…
先読み管理テーブル、251…先読み実行中管理テーブ
ルキューポインタ、252…先読み実行済み管理テーブ
ルキューポインタ、253…未使用先読み実行管理テー
ブルキューポインタ、260…先読み実行管理テーブ
ル、261…先読み実行LBA、262…先読み済み先
頭LBA、263…ホストデータ転送済みLBA、26
4…滞留データ最終LBA、265…バッファ先頭アド
レス、266…先読み完了待ちホストコマンドポイン
タ、267…先読み開始アドレス、268…先読みブロ
ック数、269…ホストデータ転送時刻、271…先読
み実行中管理テーブルキュー、272…先読み実行済み
管理テーブルキュー、273…未使用先読み実行管理テ
ーブルキュー、280…先読み管理テーブルキューポイ
ンタ、301〜308…先読み制御部動作フローチャー
ト(ホストコマンド受領時)、401〜410…先読み
制御部動作フローチャート(タイマ起動時)、501〜
504…先読み完了時動作フローチャート、600…小
型磁気ディスク装置、601…ロードアーム、602…
アクチュエータ、603…ボイスコイルモータ、604
…スピンドル、605…磁気ディスク、606…ピボッ
ト軸、607…ヘッド(アクセス手段)。
エリアネットワーク)、103…上位装置、110…記
憶装置、120…ホストインタフェース回路、130…
操作パネル、140…制御部、141…主制御部、14
2…計時機構、143…先読み制御部、144…不揮発
メモリ、145…メモリ、148…先読み実行部、15
0…データ転送回路、160…バッファメモリ、170
…ドライブインタフェース回路、180…記憶媒体、2
11…先読み実行部多重度、212…先読みデータホス
ト転送後滞留データ量、213…先読みデータホスト転
送後滞留時間、214…RANK数、221…バッファ
セグメント、222…フリーバッファセグメントリス
ト、223…使用済みバッファセグメントリスト、23
0…バッファメモリ管理テーブル、240…ホストコマ
ンド管理テーブル、241…NEXTポインタ、242
…コマンド種別、243…ロジカルユニットアドレス、
244…リード/ライトロジカルブロックアドレス(L
BA)、245…リード/ライトブロック数、250…
先読み管理テーブル、251…先読み実行中管理テーブ
ルキューポインタ、252…先読み実行済み管理テーブ
ルキューポインタ、253…未使用先読み実行管理テー
ブルキューポインタ、260…先読み実行管理テーブ
ル、261…先読み実行LBA、262…先読み済み先
頭LBA、263…ホストデータ転送済みLBA、26
4…滞留データ最終LBA、265…バッファ先頭アド
レス、266…先読み完了待ちホストコマンドポイン
タ、267…先読み開始アドレス、268…先読みブロ
ック数、269…ホストデータ転送時刻、271…先読
み実行中管理テーブルキュー、272…先読み実行済み
管理テーブルキュー、273…未使用先読み実行管理テ
ーブルキュー、280…先読み管理テーブルキューポイ
ンタ、301〜308…先読み制御部動作フローチャー
ト(ホストコマンド受領時)、401〜410…先読み
制御部動作フローチャート(タイマ起動時)、501〜
504…先読み完了時動作フローチャート、600…小
型磁気ディスク装置、601…ロードアーム、602…
アクチュエータ、603…ボイスコイルモータ、604
…スピンドル、605…磁気ディスク、606…ピボッ
ト軸、607…ヘッド(アクセス手段)。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 奥村 知弘 神奈川県小田原市国府津2880番地 株式会 社日立製作所ストレージシステム事業部内 (72)発明者 山本 彰 神奈川県川崎市麻生区王禅寺1099番地 株 式会社日立製作所システム開発研究所内 (72)発明者 坪井 俊明 東京都小平市上水本町5丁目22番1号 株 式会社日立マイコンシステム内 (72)発明者 清水 宏 神奈川県横浜市中区尾上町6丁目81番地 日立ソフトウェアエンジニアリング株式会 社内 (72)発明者 内山 善弘 神奈川県小田原市国府津2880番地 株式会 社日立製作所ストレージシステム事業部内 (72)発明者 ▲高▼本 賢一 神奈川県小田原市国府津2880番地 株式会 社日立製作所ストレージシステム事業部内 (72)発明者 村岡 健司 神奈川県小田原市国府津2880番地 株式会 社日立製作所ストレージシステム事業部内
Claims (3)
- 【請求項1】 アクセス手段の相対的な変位によって、
少なくともデータの読み出しが行われる一つまたは複数
の記憶媒体と、前記記憶媒体に格納されている前記デー
タの写しを保持するバッファメモリとを備え、上位装置
からの前記記憶媒体に対するアクセス要求に対しては、
可能な限り前記バッファメモリに保持された前記データ
を用いて応答する記憶装置であって、 前記上位装置から受領した前記記憶媒体に対するアクセ
ス要求アドレスを複数個記憶して解析し、前記アクセス
要求が前記記憶媒体の複数の領域に対する順次リード
(シーケンシャルリード)要求か否かを判定するアクセ
スアドレス判定手段と、 前記アクセスアドレス判定手段において前記アクセス要
求に順次性があると判定された場合に前記上位装置から
の次のアクセス要求受領に先立って、前記上位装置から
の前記アクセス要求とは非同期に前記記憶媒体から前記
バッファメモリに前記データを読み込んでおく先読み実
行部と、 この先読み実行部の実行を制御する先読み制御部と、を
含み、 前記先読み制御部は、複数の先読みすべき前記記憶媒体
上のアドレスと前記記憶媒体に対する最終アクセスアド
レスを管理し、前記記憶媒体の複数の領域に対する先読
みの実行順序を、前記アクセス手段の変位が昇順または
降順に最適化されるように並び替えて実行することを特
徴とする記憶装置。 - 【請求項2】 一つまたは複数の記憶媒体と、前記記憶
媒体に格納されているデータの写しを保持するバッファ
メモリとを備え、上位装置からの前記記憶媒体に対する
アクセス要求に対しては、可能な限り前記バッファメモ
リに保持された前記データを用いて応答する記憶装置で
あって、 前記上位装置から受領した前記記憶媒体に対するアクセ
ス要求アドレスを複数個記憶して解析し、前記アクセス
要求が前記記憶媒体の複数の領域に対する順次リード
(シーケンシャルリード)要求か否かを判定するアクセ
スアドレス判定手段と、 前記アクセスアドレス判定手段において前記アクセス要
求に順次性があると判定された場合に前記上位装置から
の次のアクセス要求受領に先立って、前記上位装置から
の前記アクセス要求とは非同期に前記記憶媒体から前記
バッファメモリに前記データを読み込んでおく複数の先
読み実行部と、 複数の前記先読み実行部の実行を制御する先読み制御部
と、を含み、 前記先読み実行部は、前記記憶媒体から前記バッファメ
モリに読み込んだ前記データを前記上位装置に転送後も
一定量もしくは一定時間、前記バッファメモリ上に滞留
させておくことにより、前記記憶媒体上の同一もしくは
近傍領域に対する複数の前記順次リード要求を一回の先
読み実行で済ませることを特徴とする記憶装置。 - 【請求項3】 請求項1記載の記憶装置において、各々
が複数の前記記憶媒体を含む列を複数設定し、前記記憶
媒体における前記アクセス手段の変位の最適化制御は各
列毎に行うようにした構成、 請求項2記載の記憶装置において、前記先読み実行部の
多重度、前記上位装置に転送後の前記バッファメモリ上
における前記データの滞留量およびび滞留時間の設定
を、前記上位装置からの指示、または操作パネルからの
指示により設定可能とした構成、 の少なくとも一方の構成を含むことを特徴とする記憶装
置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP8178994A JPH1027069A (ja) | 1996-07-09 | 1996-07-09 | 記憶装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP8178994A JPH1027069A (ja) | 1996-07-09 | 1996-07-09 | 記憶装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH1027069A true JPH1027069A (ja) | 1998-01-27 |
Family
ID=16058262
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP8178994A Withdrawn JPH1027069A (ja) | 1996-07-09 | 1996-07-09 | 記憶装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH1027069A (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001337863A (ja) * | 2000-05-24 | 2001-12-07 | Hitachi Ltd | 記憶制御装置及び記憶システム並びに記憶システムのセキュリティ設定方法 |
JP2009163516A (ja) * | 2008-01-07 | 2009-07-23 | Hitachi Ltd | 情報記録再生装置及びその制御方法、並びにプログラム |
JP2012014450A (ja) * | 2010-06-30 | 2012-01-19 | Toshiba Corp | データ記憶装置及びスライス割り当て方法 |
CN111694504A (zh) * | 2019-03-15 | 2020-09-22 | 杭州宏杉科技股份有限公司 | 一种处理读请求的方法及装置 |
CN112799589A (zh) * | 2021-01-14 | 2021-05-14 | 新华三大数据技术有限公司 | 一种数据读取方法及装置 |
-
1996
- 1996-07-09 JP JP8178994A patent/JPH1027069A/ja not_active Withdrawn
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001337863A (ja) * | 2000-05-24 | 2001-12-07 | Hitachi Ltd | 記憶制御装置及び記憶システム並びに記憶システムのセキュリティ設定方法 |
JP4719957B2 (ja) * | 2000-05-24 | 2011-07-06 | 株式会社日立製作所 | 記憶制御装置及び記憶システム並びに記憶システムのセキュリティ設定方法 |
JP2009163516A (ja) * | 2008-01-07 | 2009-07-23 | Hitachi Ltd | 情報記録再生装置及びその制御方法、並びにプログラム |
JP2012014450A (ja) * | 2010-06-30 | 2012-01-19 | Toshiba Corp | データ記憶装置及びスライス割り当て方法 |
CN111694504A (zh) * | 2019-03-15 | 2020-09-22 | 杭州宏杉科技股份有限公司 | 一种处理读请求的方法及装置 |
CN111694504B (zh) * | 2019-03-15 | 2023-03-31 | 杭州宏杉科技股份有限公司 | 一种处理读请求的方法及装置 |
CN112799589A (zh) * | 2021-01-14 | 2021-05-14 | 新华三大数据技术有限公司 | 一种数据读取方法及装置 |
CN112799589B (zh) * | 2021-01-14 | 2023-07-14 | 新华三大数据技术有限公司 | 一种数据读取方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3254429B2 (ja) | データ転送/管理システム及び方法 | |
JP2003518313A (ja) | ディスク駆動機構のバッファとの間のデータの転送を管理するバッファ管理システム | |
WO1996008772A1 (en) | Method of pre-caching data utilizing thread lists and multimedia editing system using such pre-caching | |
JPH06289999A (ja) | ディスク制御システム | |
JP2001306398A (ja) | コンピュータシステム、ハードディスクドライブの認められる性能を最適化するための方法、およびコンピュータ読取可能媒体 | |
KR19980029917A (ko) | 자기 디스크 드라이브에서 읽기 캐쉬의 성능을 높이기 위한 방법 | |
JPH11110139A (ja) | データ読み取り方法及びデータ読み取り装置 | |
US6567886B1 (en) | Disk drive apparatus and control method thereof | |
JPH10269027A (ja) | ディスク装置及び同装置におけるバッファ管理制御方法 | |
JP2001014109A (ja) | 記憶装置 | |
JPH1027069A (ja) | 記憶装置 | |
JP2523715B2 (ja) | 磁気ディスク装置 | |
JP2001014111A (ja) | 回転形記憶装置の制御方法 | |
JP2002342038A (ja) | コマンドの実行順序を制御するディスク装置 | |
JP2001351310A (ja) | ディスク装置およびそのためのプログラムを記憶したコンピュータ読み取り可能な記録媒体 | |
JPH07121308A (ja) | ディスク装置のライトバック制御方法 | |
JP3080758B2 (ja) | 磁気ディスク装置 | |
JP2007328912A (ja) | ディスク装置 | |
JPH10275425A (ja) | ディスク装置及び同装置における欠陥による再配置データの高速ホスト転送方法 | |
JPH04311216A (ja) | 外部記憶制御装置 | |
WO1994022134A1 (en) | Buffer control for data transfer within hard disk during idle periods | |
JPH05289827A (ja) | ディスク制御装置 | |
JPH09274543A (ja) | ディスクアレイ装置 | |
JPH07191813A (ja) | データ書き込み方法 | |
JP2704138B2 (ja) | 磁気ディスクキャッシュの制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20031007 |