JP2004355040A - Disk controller and data pre-reading method - Google Patents

Disk controller and data pre-reading method Download PDF

Info

Publication number
JP2004355040A
JP2004355040A JP2003148231A JP2003148231A JP2004355040A JP 2004355040 A JP2004355040 A JP 2004355040A JP 2003148231 A JP2003148231 A JP 2003148231A JP 2003148231 A JP2003148231 A JP 2003148231A JP 2004355040 A JP2004355040 A JP 2004355040A
Authority
JP
Japan
Prior art keywords
data
access
access mode
write
control 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
JP2003148231A
Other languages
Japanese (ja)
Inventor
Kuniyasu 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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2003148231A priority Critical patent/JP2004355040A/en
Publication of JP2004355040A publication Critical patent/JP2004355040A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a disk controller where a plurality or pieces of sequential data are efficiently pre-read and data of a high response can be returned to a host by effectively using technology for giving redundant information with a sector of a disk recording data as a unit and to provide a data pre-reading method. <P>SOLUTION: When a data writing request is issued from host I/O, an application program (APL) 230 informs an access form information management part 135 of a cache management module (CMM) 130 of an LDISK number where a file to be generated from now on exists and an access form of writing data. The access form information management part 135 sets the LDISK number and access form information showing the access form, which are informed from the application program (APL) 230, in a management table 136. <P>COPYRIGHT: (C)2005,JPO&NCIPI

Description

【0001】
【発明の属する技術分野】
本発明は、ディスクドライブへ書き込むデータに所定ブロック長単位で冗長データを付加する機能を備えたディスク制御装置、及び前記冗長データ領域を利用したデータ先読み方法に関する。
【0002】
【従来の技術】
コンピュータシステムに於いては各種データの格納先としてハードディスクを記録媒体とするストレージシステムが広く用いられる。例えばアニメーション、サウンド等のデータを扱うコンピュータシステムに於いては各種ストリーミングデータの格納先に上記ストレージシステムが用いられる。この種、ストレージシステムに於いては、ホストへの高レスポンスなデータ返却が要求される。この要求を満たすための一手法としてデータの先読み機能がある。この先読み機能の一例として、従来、先読みバッファのヒット率(キャッシュのヒット率)の向上を目的に、一連の関連するデータがアドレス非連続の複数のセクタに渡って書き込まれる場合に、それらセクタ番地の値がアドレス昇順に変化している場合に、その各セクタに同一値の付属コードを書き込む技術が存在する(例えば、特許文献1参照)。
【0003】
しかしながら上記したような各種のストリーミングデータを扱うストレージシステムに於いては、ストレージシステムからホスト側に複数のストリーミングデータを送出するような場合に、ストレージシステムがホスト側から受け取る読み出しリクエストは、ランダムアクセスとなり、従って複数のシーケンシャルデータアクセスが実行中であることの判定が難しい。このため十分なデータの先読みが行われず、その結果、レスポンスの低下を招く。また、先読みが行われたとしてもディスク上にデータがシーケンシャルに配置されていない場合には、先読みしたデータ自体が必要なデータでない場合もあり、先読みの効果が十分に現れないこともある。
【0004】
【特許文献1】
特開平6−289999号公報
【0005】
【発明が解決しようとする課題】
上述したように従来では、各種のストリーミングデータを扱うストレージシステムに於いて、複数のストリーミングデータを並行して送出する場合に先読み機能が十分に発揮できず、結果的にホストへの高レスポンスなデータ返却ができない場合があるという問題があった。
【0006】
本発明は上記実情に鑑みなされたもので、複数のストリーミングデータを扱う場合であってもホストへの高レスポンスなデータ返却が可能なディスク制御装置およびデータ先読み方法を提供することを目的とする。
【0007】
【課題を解決するための手段】
本発明は、データを記録するディスクのセクタを単位に冗長な情報をもたせる技術を有効に活用して、複数のシーケンシャルデータを効率よく先読みしてホストへの高レスポンスなデータ返却を可能にしたもので、セクタ単位の冗長データの一部にランダムアクセス/シーケンシャルアクセスなどのアクセス形態をセットするフィールドと、この情報を外部(ホスト側)からセットするプログラムインタフェースとを設け、シーケンシャルアクセスを示すアクセス形態がセットされている場合に、先読み機能を積極的に働かせる機能を実現して、ホストからの要求に従う読み出し処理を高速に実行することを特徴とする。
【0008】
即ち、本発明は、ディスクドライブへ書き込むデータに所定ブロック長単位で冗長データを付加する機能を備えたディスク制御装置に於いて、前記ディスクドライブへのデータ書き込み要求に伴い前記ディスクドライブに書き込むデータのアクセス形態を認識し管理する管理手段と、前記データ書き込み要求に従う前記ディスクドライブへのデータ書き込みに際して、前記管理手段が管理するアクセス形態を参照し、当該アクセス形態に従うフラグ情報を前記書き込み要求に従う書き込みデータに付加される前記冗長データの所定ビット位置に設定する制御手段とを具備し、前記ディスクドライブからのデータ読出しアクセス時に、当該データに付加された前記冗長データに含まれる前記フラグ情報を参照して、データの先読みを制御することを特徴とする。
【0009】
また、本発明は、ホスト側装置からデータ書き込み要求を受け付け、当該要求に従い、ディスクドライブへ書き込むデータに所定ブロック長単位で冗長データを付加する機能を備えたデータ記憶制御装置のデータ先読み方法に於いて、前記データ記憶制御装置の外部に、前記ホスト側装置からのデータ書き込み要求に伴う書き込みデータのアクセス形態を前記データ記憶制御装置に通知する手段を具備し、前記データ記憶制御装置に、前記通知されたアクセス形態を前記データ書き込み要求に対応付けて保持するステップと、前記データ書き込み要求に従う前記ディスクドライブへのデータ書き込みに際して、前記保持したアクセス形態を参照し、当該アクセス形態に従うフラグ情報を前記書き込み要求に従う書き込みデータに付加される前記冗長データの所定ビット位置に設定するステップと、前記ホスト側装置からのデータ読出し要求に伴う前記ディスクドライブからのデータ読出しアクセス時に、当該データに付加された前記冗長データに含まれる前記フラグ情報を参照して、データの先読みを実行するステップとを具備したことを特徴とする。
【0010】
【発明の実施の形態】
以下、図面を参照して本発明の実施形態を説明する。尚、この実施形態では、ハードディスクドライブ(HDD)を記憶媒体としたストレージデバイスを例に示しているが、その他の記憶媒体を用いたストレージデバイスに於いても同様に実施可能である。
【0011】
図1は本発明の実施形態に於けるディスク制御装置を備えたデータ記憶システムの構成を示すブロック図である。
図1に示すデータ記憶システムは、データ記憶制御装置10とデータ記憶装置20とを有して構成される。
データ記憶制御装置10には、ホストインタフェース(HOST I/F)11、CPU12、プログラムメモリ13、キャッシュメモリ14、HDDインタフェース15等が設けられる。上記プログラムメモリ13には後述するキャッシュ管理モジュール(CMM)130が設けられる。またデータ記憶装置20には、ストレージデバイスを構成する複数のハードディスクドライブ(HDD)21,21,…が設けられ、ここでは、RAID(redundant arrays of inexpensive disks)システムを構成している。
【0012】
ホストインタフェース11は、ホストとなるコンピュータ、若しくはその集合体、若しくは他のデータ記憶装置等(ホストIOと称す)との間で、リード/ライト要求、リード/ライトデータ等を含む各種情報の授受を行う。
【0013】
CPU12は、データ記憶システム全体の制御を司るもので、ここではプログラムメモリ13に格納されたキャッシュ管理モジュール(CMM)130の各種処理を実行する。この際のキャッシュ管理モジュール(CMM)130に設けられたアクセス形態情報管理部135の処理の手順を図5に示し、アクセス形態情報管理部135にアクセス形態情報が設定してあるロジカルディスク(LDISK)に対して書き込み要求があった際の処理の手順を図6に示している。
【0014】
プログラムメモリ13には、図3に示すような構成要素もつキャッシュ管理モジュール(CMM)130が格納される。このキャッシュ管理モジュール(CMM)130の各構成要素については後述する。
【0015】
キャッシュメモリ14は、上記ホストインタフェース(HOST I/F)11を介してホストIOから受けたデータ記憶装置20の入出力要求に対するデータバッファ(バッファメモリ)の役目を提供する。例えば、ホストIOからの書き込み要求に従うデータ記憶装置20への書き込み処理については、キャッシュメモリ40にエントリして、要求元のホストに対し、書き込み処理完了を返却し、後に、キャッシュメモリ40からデータ記憶装置20の記憶媒体に対して実際の書き込みを行う。またデータ記憶装置20からの読み込み処理については、要求されたデータがキャッシュメモリ40にキャッシュ(バッファ)されているか否かを判定し、キャッシュメモリ40にエントリされていれば、そのデータを返却し、キャッシュメモリ40にエントリされていない場合には、データ記憶装置20の記憶媒体からキャッシュメモリ40に読み出して、その後に要求ホストに読み出しデータを返却する。
【0016】
HDDインタフェース15は、CPU12の制御の下に、データ記憶装置20の各記憶媒体となるハードディスクドライブ(HDD)21,21,…に対してデータのリード/ライトを行う。ここでは、RAID構成に従うディスクのリード/ライト制御を行う。
【0017】
上記データ記憶装置20の記憶媒体となるHDD21,21,…には、各セクタ(512バイト)毎に、ブロック付属コード若しくはセクタ付属コード若しくはチェックコードと呼ばれる8バイトの冗長データが付加される。このセクタ付属コードのフォーマット例を図2に示している。
【0018】
図2は上記データ記憶装置20に設けられた記憶媒体(HDD21,21,…)のセクタ(512バイト)毎に付加される冗長データのフォーマット例を示したもので、バイト0,1はハードウェアにより生成されるデータであり、バイト2からバイト7までが、データ記憶装置20を制御するファームウェアによりセットされる情報(ソフトウェア情報)である。バイト0,1には、該当セクタのデータに対するCRC( cyclic redundancy check)コードが格納され、バイト2からバイト5には、ホストIOからみた論理ディスク内での論理ブロックの領域を示す論理アドレスが格納される。バイト6,7は、情報の取捨選択、ビットの丸め等により確保した空き領域、若しくはもともと不使用となっていた領域であり、この発明が利用する領域(冗長データに於けるアクセス形態情報領域)である。この発明は、上記空き領域を有効に活用して先読みの効率化を図るもので、当該空き領域に、該当セクタの記憶データに対するアクセス形態を示す情報をセットする。この実施形態では、バイト6の特定ビット位置に、該当セクタデータのアクセス形態が、シーケンシャルアクセス/ランダムアクセスの何れであるかを示すフラグ情報をセットする。この例では、シーケンシャルアクセスのデータに対して“1”、ランダムアクセスのデータに対して“0”がセットされる。尚、この処理については後述する。
【0019】
図3は上記プログラムメモリ13に設けられたキャッシュ管理モジュール(CMM)130の構成要素と、その周辺の主要構成要素を示したもので、ここでは、キャッシュ管理モジュール(CMM)130とホストIOとの間のインタフェース機能として、ホストインタフェース制御部210、IO管理部(IOM)220、アプリケーションプログラム(APL)230等が設けられ、キャッシュ管理モジュール(CMM)130とデータ記憶装置20との間のインタフェース機能として、RAID制御部250、HDDインタフェース制御部260等が設けられる。
【0020】
上記したホストインタフェース制御部210は、上記図1に示すデータ記憶システムと他装置(ここでは単にホストIOと称している)とのインタフェース処理を担当する。IO管理部(IOM)220は、ホストIOに対してのIOアクセス管理、並びにIOアクセス領域制御を行う。アプリケーションプログラム(APL)230は、本発明の一構成要件となるアクセス形態をデータ記憶制御装置10に通知する機能をもつもので、ここでは、ホストIO側でのデータ書き込み要求時に於いて、これから書き込むデータがシーケンシャルデータであるか否かを示すアクセス形態(シーケンシャルアクセス/ランダムアクセス)の指示をユーザより受け付け、そのアクセス形態をデータ書き込み先のLDISK番号とともにデータ記憶制御装置10のプログラムメモリ13に設けられたキャッシュ管理モジュール(CMM)130に通知する。
【0021】
キャッシュ管理モジュール(CMM)130は、IOアクセス制御部131、デステージング/ステージング制御部132、キャッシュメモリ管理部133、LDISK制御部134、アクセス形態情報管理部135、及び管理テーブル(TBL)136等を具備して構成される。
【0022】
本発明は、上記各構成要素のうち、特に、アクセス形態情報管理部135と、その管理情報にもとづき、アクセス形態に従うフラグ情報を生成するIOアクセス制御部131と、データ読み出し時にシーケンシャルアクセスのフラグ情報(“1”)を検出した際に、許容される範囲内での先読みを行うデステージング/ステージング制御部132とにより、先読み機能を積極的に働かせて、ホストIOからの読み出し処理を高速に実行する機能を実現している。
【0023】
IOアクセス制御部131は、IO管理部(IOM)220から要求を受け付けるブロックであり、主にホストIOからのリード/ライトアクセスを制御する。IOアクセス制御部131は、ホストIOから要求されたアクセス情報(アドレス、転送サイズ)により、キャッシュメモリ管理部133との連携で、該当するキャッシュブロックのエントリサーチを行い、キャッシュメモリ14とホストIOとのデータ転送をホストインタフェース制御部210に対して要求する。またIOアクセス制御部131は、ホストIOからの書き込み要求に従うデータライト時に、上記したアクセス形態情報等のソフトウェア情報を図2に示す冗長データに付加する制御を行う。更に、データ格納状況によりディスク転送が伴う場合は、キャッシュメモリ14とデータ記憶装置20とのデータ転送情報をLDISK制御部134に引き渡し、必要なディスクデータの転送を行う。
【0024】
デステージング/ステージング制御部132は、IOアクセス制御部131から受けたホストIOからの要求に従うアクセス情報により、シーケンシャルライトまたはシーケンシャルリードの検出を行う。シーケンシャルなアクセスを検出した場合、ライトでは後追い吐き出し(ライトバック)要求を、リードではデータ先読み要求をIO管理部(IOM)220に領域を指定して発行する。また、特定のタイミングで未吐き出しのWBC(ライトバックキャッシュ)データを抽出し、ストライプグループ単位に纏めて論理ディスクに書き込むための要求をIO管理部(IOM)220に領域を指定して発行する。更に、上記デステージング/ステージング制御部132のステージング制御では、データリードアクセスに於いて、冗長データのアクセス形態情報領域(ここではバイト6)にシーケンシャルアクセスを示す“1”が設定されたブロック(セクタ)を検知すると、一意に、許容される領域内での先読みを実施する。この先読み機能によって、上述したように、例えば複数のストリーミングデータを並行してリードアクセスしている場合は、上述したようにシーケンシャルリードの検出が行われず、ホストIOへの高レスポンスなデータ返却が期待できない、という不具合を解消してホストIOへの高レスポンスなデータ返却を可能にしている。
【0025】
キャッシュメモリ管理部133は、キャッシュカラム単位に割り当てられているキャッシュブロックと対象論理ディスクの領域をマッピングし、ホストIOからライトされたデータまたはデータ記憶装置20のディスクからリードしたデータの格納状態を管理する。
【0026】
LDISK制御部134は、論理ディスクを対象にデータ記憶装置20をアクセス制御するもので、IOアクセス制御部131の制御の下に、RAID制御部250及びHDDインタフェース制御部260を介してデータ記憶装置20をアクセス制御する。このLDISK制御部134と、RAID制御部250及びHDDインタフェース制御部260はそれぞれ既存の構成要素であり、ここでは、ホストIOから見える論理ディスクをLDISKと称し、いくつかの物理ディスクで構成したRAIDをスライスに分割したものをSDISKと称している。ここではRAIDを構成し、これをスライス分割してSDISKを構成し、複数のSDISKをストライピング(あるいはコンカチネーション)で組み合わせることによってLDISKを構成する。このLDISKは、ホストIOからは、ひとつのロジカルユニットとして見える。また、ここでは、LDISKに割り振られたユニークなIDをLDISK番号と称している。
【0027】
アクセス形態情報管理部135は、管理テーブル(TBL)136を有して、上記したアプリケーションプログラム(APL)230から発行された、ホストIOからのデータ書き込み要求に伴う書き込みデータのアクセス形態(ランダムアクセス/シーケンシャルアクセス)を、当該要求に従うLDISK番号とともに管理テーブル(TBL)136に登録し管理する。このアクセス形態情報管理部135の動作については図5を参照して後述する。
【0028】
図4は上記アクセス形態情報管理部135に設けられた管理テーブル(TBL)136の一構成例を示したもので、ここでは、予め割り振られたLDISK番号の各々について、アクセス形態の保持領域を設けた構成とし、アプリケーションプログラム(APL)230からアクセス形態(ランダムアクセス/シーケンシャルアクセス)が通知された際に、そのアクセス形態情報を該当するLDISK番号位置に登録する。
【0029】
図5は上記アクセス形態がアプリケーションプログラム(APL)230からデータ記憶制御装置10に通知された際の上記アプリケーションプログラム(APL)230とキャッシュ管理モジュール(CMM)130との間に於ける処理手順を示すフローチャートである。
【0030】
図6は上記アクセス形態情報管理部135の管理テーブル(TBL)136にアクセス形態が登録されているLDISK番号に対して、書き込み要求に従う処理を行う際のキャッシュ管理モジュール(CMM)130の処理手順を示すフローチャートである。
【0031】
ここで、上記図5および図6に示すフローチャートを参照して本発明の実施形態の動作を説明する。
【0032】
ホストIOからデータ書き込み要求が発行されると、アプリケーションプログラム(APL)230は、これから作成するファイルが存在するLDISK番号、および当該書き込みデータのアクセス形態をキャッシュ管理モジュール(CMM)130のアクセス形態情報管理部135に通知する(図5ステップS101)。この際、アプリケーションプログラム(APL)230は、ホストIOから発行されたデータ書き込み要求を受けると、当該データ書き込み要求のアドレスおよびサイズを含むアクセス情報の内容をもとに、要求された書き込みデータのアクセス形態が、ランダムアクセス、シーケンシャルアクセスのいずれであるかを判定し、判定したアクセス形態をデータ書き込み先のLDISK番号とともにキャッシュ管理モジュール(CMM)130のアクセス形態情報管理部135に通知する。
【0033】
キャッシュ管理モジュール(CMM)130に設けられたアクセス形態情報管理部135は、上記アプリケーションプログラム(APL)230から通知されたLDISK番号とアクセス形態を示すアクセス形態情報を管理テーブル136にセットする(図5ステップS102)。この際、アクセス形態情報管理部135は、アプリケーションプログラム(APL)230から発行されたアクセス形態(ランダムアクセス/シーケンシャルアクセス)を受けると、そのアクセス形態を示すアクセス形態情報を、データ書き込み先のLDISK番号に対応付けて管理テーブル136に登録する。更にこの登録完了に伴い、アプリケーションプログラム(APL)230に登録IDを返却する。
【0034】
アプリケーションプログラム(APL)230はアクセス形態情報管理部135から上記登録IDを受けると、続いてファイルの作成処理(データ書き込み処理)を実行する(図5ステップS103)。この際、アプリケーションプログラム(APL)230は、アクセス形態情報管理部135から上記登録IDを受けると、当該登録IDを保持して、作成するファイルの書き込みデータをホストインタフェース制御部210を介してキャッシュ管理モジュール(CMM)130に送出する。
【0035】
この際のLDISKに対するホストライト処理については、図6を参照して後述する。
アプリケーションプログラム(APL)230はファイル作成の書き込み処理が完了すると、アクセス形態情報管理部135に対して上記登録IDを引数にテーブルエントリの削除を要求する(図5ステップS104)。
【0036】
アクセス形態情報管理部135はアプリケーションプログラム(APL)230から上記テーブルエントリの削除要求を受けると、該当要求の登録IDで指定されたエントリをテーブルから削除する(図5ステップS105)。この際、アクセス形態情報管理部135は、アプリケーションプログラム(APL)230からテーブルエントリの削除要求を受けると、管理テーブル136に登録されていた、上記要求で返された登録IDに該当する登録フィールド(LDISK番号)のアクセス形態を示すフラグ情報をテーブル上から削除する。
【0037】
次に、上記アクセス形態情報管理部135の管理テーブル136に、アクセス形態情報(アクセス形態を示すフラグ情報)が設定(登録)されているLDISKに対してデータの書き込みが実行される際の本発明の実施形態に於ける処理(LDISKに対するホストライト処理)を図6を参照して説明する。
【0038】
この処理では、先ず、これから実行されるホストIOからの要求に従うファイルの作成処理(書き込み処理)に対して、通常の書き込み処理に於ける排他制御と同様に、IO管理部(IOM)220による、複数のホストIOを対象とした排他制御のためのIO領域のロック(図6ステップS201)、およびキャッシュ管理モジュール(CMM)130のIOアクセス制御部131による同じく排他制御のためのキャッシュの確保並びに領域ロック(図6ステップS202)が行われる。更に、キャッシュ管理モジュール(CMM)130のIOアクセス制御部131は、アクセス形態情報管理部135の管理テーブル136を参照して、これから実行されるファイル作成処理(書き込み処理)のアクセス形態がランダムアクセスであるか、シーケンシャルアクセスであるかを判断し(図6ステップS203)、シーケンシャルアクセスであれば“1”のフラグ情報を、またランダムアクセスであれば“0”のフラグ情報を冗長データのアクセス形態情報領域(ここではビット6)に設定して(図6ステップS204,S205)、ホストIOから受けた書き込みデータをキャッシュ管理モジュール(CMM)130に転送する(図6ステップS206)。これにより、書き込み対象となるホストIOから転送されたファイルデータがブロック(セクタ)単位で、指定されたLDISKに上記アクセス形態のフラグ情報を含む冗長データとともに格納される。
【0039】
データ記憶装置20からのリードアクセスに於いて、キャッシュ管理モジュール(CMM)130に設けられたデステージング/ステージング制御部132のステージング制御では、データリードアクセスに於いて、冗長データのアクセス形態情報領域(ここではバイト6)にシーケンシャルアクセスを示す“1”が設定されたブロック(セクタ)を検知すると、許容される領域内での先読みを実施する。
【0040】
このように、本発明の実施形態によれば、ブロック(セクタ)単位で冗長データを付加する技術を有効に活用して、複数のシーケンシャルデータを効率よく先読みしてホストへの高レスポンスなデータ返却を可能にし、これにより、先読み機能を積極的に働かせて、ホストからの要求に従う読み出し処理を高速に実行することができる。
【0041】
尚、上記した実施形態では、アプリケーションプログラム(APL)230が、ユーザインタフェースを介して、これから書き込むデータがシーケンシャルデータであるか否かを示すアクセス形態(シーケンシャルアクセス/ランダムアクセス)を受け付け、そのアクセス形態をデータ書き込み先のLDISK番号とともにデータ記憶制御装置10のプログラムメモリ13に設けられたキャッシュ管理モジュール(CMM)130に通知していたが、これに限らず、例えば複数のストリーミングデータを対象としたデータストリーミングデータの管理手段をもたせて、その管理情報を参照することで、ユーザインタフェースを介さずにアクセス形態を認識し通知することも可能である。
【0042】
【発明の効果】
以上詳記したように本発明によれば、複数のストリーミングデータを扱う場合であってもホストへの高レスポンスなデータ返却が可能なディスク制御装置およびデータ先読み方法が提供できる。
【図面の簡単な説明】
【図1】本発明の実施形態に於けるディスク制御装置の構成を示すブロック図。
【図2】上記実施形態に於けるアクセス形態情報の保持領域をもつ冗長フィールドのフォーマット例を示す図。
【図3】上記実施形態に於けるプログラムメモリに設けられたキャッシュ管理モジュールの構成を示すブロック図。
【図4】上記実施形態に於けるアクセス形態情報管理部に設けられた管理テーブルの構成例を示す図。
【図5】上記実施形態に於けるアプリケーションプログラムとアクセス形態情報管理部との処理手順を示すフローチャート。
【図6】上記実施形態に於けるアクセス形態情報管理部の管理に従う冗長データへのフラグ設定処理手順を示すフローチャート。
【符号の説明】
10…データ記憶制御装置、11…ホストインタフェース(HOST I/F)、12…CPU、13…プログラムメモリ、14…キャッシュメモリ、15…HDDインタフェース、20…データ記憶装置、21…ハードディスクドライブ(HDD)、130…キャッシュ管理モジュール(CMM)、131…IOアクセス制御部、132…デステージング/ステージング制御部、133…キャッシュメモリ管理部、134…ロジカルディスク(LDISK)制御部、135…アクセス形態情報管理部、136…管理テーブル、210…ホストインタフェース制御部、220…IO管理部(IOM)、230…アプリケーションプログラム(APL)、250…RAID制御部、260…HDDインタフェース制御部。
[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a disk control device having a function of adding redundant data to data to be written to a disk drive in units of a predetermined block length, and a data prefetch method using the redundant data area.
[0002]
[Prior art]
In a computer system, a storage system using a hard disk as a recording medium as a storage destination of various data is widely used. For example, in a computer system that handles data such as animation and sound, the storage system is used as a storage destination of various streaming data. In this type of storage system, high-response data return to the host is required. One method for satisfying this requirement is a data prefetch function. As an example of the prefetch function, conventionally, when a series of related data is written over a plurality of sectors having non-consecutive addresses for the purpose of improving the hit rate of the prefetch buffer (the hit rate of the cache), these sector addresses are used. There is a technique for writing an auxiliary code having the same value in each sector when the value of the address changes in the ascending address order (for example, see Patent Document 1).
[0003]
However, in a storage system that handles various types of streaming data as described above, when a plurality of streaming data is transmitted from the storage system to the host, the read request received from the host by the storage system is random access. Therefore, it is difficult to determine that a plurality of sequential data accesses are being executed. For this reason, sufficient pre-reading of data is not performed, and as a result, the response is reduced. Further, even if the prefetching is performed, if the data is not sequentially arranged on the disk, the prefetched data itself may not be necessary data, and the effect of the prefetching may not be sufficiently exhibited.
[0004]
[Patent Document 1]
JP-A-6-289999
[0005]
[Problems to be solved by the invention]
As described above, conventionally, in a storage system that handles various types of streaming data, when a plurality of streaming data are transmitted in parallel, the pre-reading function cannot be sufficiently performed, and as a result, high response data to the host is obtained. There was a problem that it could not be returned.
[0006]
The present invention has been made in view of the above circumstances, and has as its object to provide a disk control device and a data prefetching method capable of returning data with high response to a host even when handling a plurality of streaming data.
[0007]
[Means for Solving the Problems]
The present invention effectively utilizes a technique of giving redundant information in units of a disk sector for recording data to efficiently read ahead a plurality of sequential data and enable a high-response data return to a host. A field for setting an access mode such as random access / sequential access for a part of redundant data in sector units and a program interface for setting this information from the outside (host side) are provided. When set, a function of positively operating the pre-reading function is realized, and a reading process according to a request from the host is executed at high speed.
[0008]
That is, the present invention relates to a disk control device having a function of adding redundant data in units of a predetermined block length to data to be written to a disk drive, wherein the data to be written to the disk drive in response to a data write request to the disk drive. Management means for recognizing and managing an access mode; and when writing data to the disk drive in accordance with the data write request, referring to an access mode managed by the management means, and writing flag information in accordance with the access mode with write data in accordance with the write request. Control means for setting a predetermined bit position of the redundant data to be added to the data, at the time of data read access from the disk drive, by referring to the flag information included in the redundant data added to the data. Can control data prefetching The features.
[0009]
The present invention also provides a data pre-reading method for a data storage control device having a function of receiving a data write request from a host device and adding redundant data to a data to be written to a disk drive in units of a predetermined block length in accordance with the request. Means for notifying the data storage control device of an access mode of write data accompanying a data write request from the host device, outside the data storage control device, wherein the data storage control device Holding the accessed access mode in association with the data write request; and when writing data to the disk drive in accordance with the data write request, referencing the held access mode and writing the flag information according to the access mode. Before being added to the write data according to the request Setting the redundant data at a predetermined bit position, and referring to the flag information included in the redundant data added to the data at the time of data read access from the disk drive in response to a data read request from the host-side device And performing a pre-read of the data.
[0010]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, embodiments of the present invention will be described with reference to the drawings. In this embodiment, a storage device using a hard disk drive (HDD) as a storage medium is shown as an example, but the present invention can be similarly applied to a storage device using another storage medium.
[0011]
FIG. 1 is a block diagram showing a configuration of a data storage system including a disk control device according to an embodiment of the present invention.
The data storage system shown in FIG. 1 includes a data storage control device 10 and a data storage device 20.
The data storage control device 10 includes a host interface (HOST I / F) 11, a CPU 12, a program memory 13, a cache memory 14, an HDD interface 15, and the like. The program memory 13 is provided with a cache management module (CMM) 130 described later. The data storage device 20 is provided with a plurality of hard disk drives (HDDs) 21, 21,... Constituting a storage device. In this case, a RAID (redundant arrays of inexpensive disks) system is configured.
[0012]
The host interface 11 exchanges various information including a read / write request, read / write data, and the like with a computer serving as a host, an aggregate thereof, or another data storage device (referred to as a host IO). Do.
[0013]
The CPU 12 controls the entire data storage system, and executes various processes of the cache management module (CMM) 130 stored in the program memory 13 here. FIG. 5 shows a processing procedure of the access mode information management unit 135 provided in the cache management module (CMM) 130 at this time, and a logical disk (LDISK) in which access mode information is set in the access mode information management unit 135. FIG. 6 shows a procedure of a process when a write request is issued to the.
[0014]
The program memory 13 stores a cache management module (CMM) 130 having components as shown in FIG. Each component of the cache management module (CMM) 130 will be described later.
[0015]
The cache memory 14 serves as a data buffer (buffer memory) for an input / output request of the data storage device 20 received from the host IO via the host interface (HOST I / F) 11. For example, for a write process to the data storage device 20 in accordance with a write request from the host IO, an entry is made in the cache memory 40, a write process completion is returned to the requesting host, and then the data storage from the cache memory 40 is performed. The actual writing is performed on the storage medium of the device 20. In the reading process from the data storage device 20, it is determined whether or not the requested data is cached (buffered) in the cache memory 40. If the requested data is entered in the cache memory 40, the data is returned. If the entry has not been entered in the cache memory 40, the data is read from the storage medium of the data storage device 20 to the cache memory 40, and then the read data is returned to the requesting host.
[0016]
The HDD interface 15 reads / writes data from / to hard disk drives (HDDs) 21, 21,... Serving as storage media of the data storage device 20 under the control of the CPU 12. Here, read / write control of the disk according to the RAID configuration is performed.
[0017]
The HDDs 21, 21,... Serving as storage media of the data storage device 20 are provided with 8-byte redundant data called block attached codes, sector attached codes, or check codes for each sector (512 bytes). FIG. 2 shows a format example of the sector attached code.
[0018]
FIG. 2 shows an example of a format of redundant data added to each sector (512 bytes) of a storage medium (HDD 21, 21,...) Provided in the data storage device 20, and bytes 0 and 1 are hardware. , And bytes 2 to 7 are information (software information) set by firmware that controls the data storage device 20. Bytes 0 and 1 store a CRC (cyclic redundancy check) code for the data of the corresponding sector, and bytes 2 to 5 store a logical address indicating the area of the logical block in the logical disk as viewed from the host IO. Is done. Bytes 6 and 7 are free areas secured by selection of information, rounding of bits, etc., or areas that were originally unused, and are used by the present invention (access mode information area in redundant data). It is. According to the present invention, the prefetching efficiency is improved by effectively utilizing the free space, and information indicating an access mode to the storage data of the sector is set in the free space. In this embodiment, flag information indicating whether the access mode of the sector data is sequential access or random access is set at a specific bit position of byte 6. In this example, “1” is set for sequential access data and “0” is set for random access data. This processing will be described later.
[0019]
FIG. 3 shows components of the cache management module (CMM) 130 provided in the program memory 13 and main components around the cache management module (CMM) 130. A host interface control unit 210, an IO management unit (IOM) 220, an application program (APL) 230, and the like are provided as interface functions between the cache management module (CMM) 130 and the data storage device 20. , RAID controller 250, HDD interface controller 260, and the like.
[0020]
The above-described host interface control unit 210 is in charge of an interface process between the data storage system shown in FIG. 1 and another device (here, simply referred to as a host IO). The IO management unit (IOM) 220 manages IO access to the host IO and controls the IO access area. The application program (APL) 230 has a function of notifying the data storage control device 10 of an access mode which is one of the constituent elements of the present invention. In this case, when a data write request is made on the host IO side, the data is written from now on. An instruction of an access mode (sequential access / random access) indicating whether the data is sequential data is received from the user, and the access mode is provided in the program memory 13 of the data storage control device 10 together with the LDISK number of the data write destination. The cache management module (CMM) 130 is notified.
[0021]
The cache management module (CMM) 130 includes an IO access control unit 131, a destaging / staging control unit 132, a cache memory management unit 133, an LDISK control unit 134, an access mode information management unit 135, and a management table (TBL) 136. It is configured with.
[0022]
The present invention includes an access mode information management unit 135, an IO access control unit 131 for generating flag information according to an access mode based on the management information, and a flag information for sequential access when reading data. When ("1") is detected, the destaging / staging control unit 132 that performs prefetching within an allowable range actively activates the prefetching function and executes the reading process from the host IO at high speed. Function is realized.
[0023]
The IO access control unit 131 is a block that receives a request from the IO management unit (IOM) 220, and mainly controls read / write access from the host IO. The IO access control unit 131 performs an entry search for a corresponding cache block in cooperation with the cache memory management unit 133 based on the access information (address, transfer size) requested from the host IO, and Is requested to the host interface control unit 210. Further, the IO access control unit 131 performs control of adding software information such as the above-described access mode information to the redundant data shown in FIG. 2 at the time of data write according to a write request from the host IO. Further, when the disk transfer is accompanied by the data storage status, the data transfer information between the cache memory 14 and the data storage device 20 is transferred to the LDISK control unit 134, and necessary disk data is transferred.
[0024]
The destaging / staging control unit 132 detects a sequential write or a sequential read based on access information according to a request from the host IO received from the IO access control unit 131. When a sequential access is detected, a write-back request (write back) is issued for a write, and a data read-ahead request is issued for a read to the IO management unit (IOM) 220 by designating an area. Further, at a specific timing, a request to extract undischarged WBC (write back cache) data and write the data in a logical disk collectively in stripe group units is issued to the IO management unit (IOM) 220 by designating an area. Further, in the staging control of the destaging / staging control unit 132, in data read access, a block (sector) in which “1” indicating sequential access is set in the access mode information area (here, byte 6) of redundant data. ) Is detected, prefetching is uniquely performed within an allowable area. As described above, for example, when a plurality of streaming data are read-accessed in parallel by this prefetch function, sequential read detection is not performed as described above, and high-response data return to the host IO is expected. It is possible to return data with high response to the host IO by solving the problem that the data cannot be returned.
[0025]
The cache memory management unit 133 maps the cache block allocated to each cache column and the area of the target logical disk, and manages the storage state of the data written from the host IO or the data read from the disk of the data storage device 20. I do.
[0026]
The LDISK control unit 134 controls access to the data storage device 20 for a logical disk, and under the control of the IO access control unit 131, the data storage device 20 via the RAID control unit 250 and the HDD interface control unit 260. Access control. The LDISK control unit 134, the RAID control unit 250, and the HDD interface control unit 260 are each existing components. In this example, a logical disk viewed from the host IO is referred to as LDISK, and a RAID configured by several physical disks is used. The one divided into slices is called SDISK. Here, a RAID is configured, this is divided into slices to form an SDISK, and an LDISK is configured by combining a plurality of SDISKs by striping (or concatenation). The LDISK appears to the host IO as one logical unit. Here, the unique ID assigned to LDISK is referred to as an LDISK number.
[0027]
The access mode information management unit 135 includes a management table (TBL) 136, and has an access mode (random access / random access / write mode) of write data accompanying a data write request from the host IO issued from the application program (APL) 230 described above. (Sequential access) is registered and managed in the management table (TBL) 136 together with the LDISK number according to the request. The operation of the access mode information management unit 135 will be described later with reference to FIG.
[0028]
FIG. 4 shows an example of the configuration of a management table (TBL) 136 provided in the access mode information management section 135. In this example, an access mode holding area is provided for each of the LDISK numbers allocated in advance. When the access form (random access / sequential access) is notified from the application program (APL) 230, the access form information is registered in the corresponding LDISK number position.
[0029]
FIG. 5 shows a processing procedure between the application program (APL) 230 and the cache management module (CMM) 130 when the access form is notified from the application program (APL) 230 to the data storage control device 10. It is a flowchart.
[0030]
FIG. 6 shows a processing procedure of the cache management module (CMM) 130 when performing processing in accordance with a write request for an LDISK number whose access mode is registered in the management table (TBL) 136 of the access mode information management unit 135. It is a flowchart shown.
[0031]
Here, the operation of the embodiment of the present invention will be described with reference to the flowcharts shown in FIGS.
[0032]
When a data write request is issued from the host IO, the application program (APL) 230 stores the LDISK number where the file to be created exists and the access mode of the write data in the access mode information management of the cache management module (CMM) 130. The notification is made to the unit 135 (step S101 in FIG. 5). At this time, upon receiving the data write request issued from the host IO, the application program (APL) 230 accesses the requested write data based on the contents of the access information including the address and size of the data write request. It determines whether the mode is random access or sequential access, and notifies the determined access mode to the access mode information management unit 135 of the cache management module (CMM) 130 together with the LDISK number of the data write destination.
[0033]
The access mode information management unit 135 provided in the cache management module (CMM) 130 sets the LDISK number notified from the application program (APL) 230 and the access mode information indicating the access mode in the management table 136 (FIG. 5). Step S102). At this time, when receiving the access mode (random access / sequential access) issued from the application program (APL) 230, the access mode information management unit 135 replaces the access mode information indicating the access mode with the LDISK number of the data write destination. And registered in the management table 136. Further, upon completion of the registration, the registration ID is returned to the application program (APL) 230.
[0034]
Upon receiving the registration ID from the access mode information management unit 135, the application program (APL) 230 executes a file creation process (data write process) (step S103 in FIG. 5). At this time, when the application program (APL) 230 receives the registration ID from the access mode information management unit 135, the application program (APL) 230 retains the registration ID and caches the write data of the file to be created via the host interface control unit 210. It is sent to the module (CMM) 130.
[0035]
The host write processing for LDISK at this time will be described later with reference to FIG.
When the writing process of file creation is completed, the application program (APL) 230 requests the access mode information management unit 135 to delete the table entry using the registration ID as an argument (step S104 in FIG. 5).
[0036]
Upon receiving the table entry deletion request from the application program (APL) 230, the access mode information management unit 135 deletes the entry specified by the registration ID of the request from the table (step S105 in FIG. 5). At this time, when receiving a request for deleting a table entry from the application program (APL) 230, the access mode information management unit 135 receives a registration field (registered in the management table 136) corresponding to the registration ID returned by the request. The flag information indicating the access mode of the LDISK number is deleted from the table.
[0037]
Next, the present invention is applied when data is written to an LDISK in which access mode information (flag information indicating the access mode) is set (registered) in the management table 136 of the access mode information management unit 135. The processing (host write processing for LDISK) according to the embodiment will be described with reference to FIG.
[0038]
In this process, first, the file management process (write process) according to a request from the host IO to be executed is performed by the IO management unit (IOM) 220 in the same manner as the exclusive control in the normal write process. Locking of an IO area for exclusive control for a plurality of host IOs (step S201 in FIG. 6), and securing of a cache and area for exclusive control by the IO access control unit 131 of the cache management module (CMM) 130 Locking (step S202 in FIG. 6) is performed. Further, the IO access control unit 131 of the cache management module (CMM) 130 refers to the management table 136 of the access mode information management unit 135 and determines that the access mode of the file creation process (write process) to be executed is random access. It is determined whether the access is sequential access or not (step S203 in FIG. 6). If the access is sequential access, the flag information “1” is used. If the access is random access, the flag information “0” is used. The area (here, bit 6) is set (steps S204 and S205 in FIG. 6), and the write data received from the host IO is transferred to the cache management module (CMM) 130 (step S206 in FIG. 6). Thus, the file data transferred from the host IO to be written is stored in the designated LDISK in units of blocks (sectors) together with the redundant data including the flag information of the access mode.
[0039]
In the read access from the data storage device 20, in the staging control of the destaging / staging control unit 132 provided in the cache management module (CMM) 130, in the data read access, the access form information area of the redundant data ( Here, when a block (sector) in which “1” indicating the sequential access is set in the byte 6) is detected, prefetching is performed in an allowable area.
[0040]
As described above, according to the embodiment of the present invention, a technique of adding redundant data in units of blocks (sectors) is effectively used to efficiently read ahead a plurality of sequential data and return data with high response to the host. This makes it possible to execute the read processing according to the request from the host at a high speed by positively operating the prefetch function.
[0041]
In the above-described embodiment, the application program (APL) 230 receives, via a user interface, an access mode (sequential access / random access) indicating whether data to be written is sequential data or not. Is notified to the cache management module (CMM) 130 provided in the program memory 13 of the data storage controller 10 together with the LDISK number of the data write destination. However, the present invention is not limited to this. By providing a means for managing streaming data and referring to the management information, it is also possible to recognize and notify an access mode without using a user interface.
[0042]
【The invention's effect】
As described above in detail, according to the present invention, it is possible to provide a disk control device and a data prefetching method capable of returning data with high response to a host even when handling a plurality of streaming data.
[Brief description of the drawings]
FIG. 1 is a block diagram showing a configuration of a disk control device according to an embodiment of the present invention.
FIG. 2 is a diagram showing an example of a format of a redundant field having an area for holding access mode information in the embodiment.
FIG. 3 is a block diagram showing a configuration of a cache management module provided in a program memory in the embodiment.
FIG. 4 is a diagram showing a configuration example of a management table provided in an access mode information management unit in the embodiment.
FIG. 5 is a flowchart showing a processing procedure between an application program and an access mode information management unit in the embodiment.
FIG. 6 is a flowchart showing a procedure of a flag setting process for redundant data according to the management of the access mode information management unit in the embodiment.
[Explanation of symbols]
DESCRIPTION OF SYMBOLS 10 ... Data storage control device, 11 ... Host interface (HOST I / F), 12 ... CPU, 13 ... Program memory, 14 ... Cache memory, 15 ... HDD interface, 20 ... Data storage device, 21 ... Hard disk drive (HDD) 130, a cache management module (CMM), 131, an IO access control unit, 132, a destaging / staging control unit, 133, a cache memory management unit, 134, a logical disk (LDISK) control unit, 135, an access mode information management unit 136: management table 210: host interface control unit 220: IO management unit (IOM) 230: application program (APL) 250: RAID control unit 260: HDD interface control unit

Claims (7)

ディスクドライブへ書き込むデータに所定ブロック長単位で冗長データを付加する機能を備えたディスク制御装置に於いて、
前記ディスクドライブへのデータ書き込み要求に伴い前記ディスクドライブに書き込むデータのアクセス形態を認識し管理する管理手段と、
前記データ書き込み要求に従う前記ディスクドライブへのデータ書き込みに際して、前記管理手段が管理するアクセス形態を参照し、当該アクセス形態に従うフラグ情報を前記書き込み要求に従う書き込みデータに付加される前記冗長データの所定ビット位置に設定する制御手段とを具備し、
前記ディスクドライブからのデータ読出しアクセス時に、当該データに付加された前記冗長データに含まれる前記フラグ情報を参照して、データの先読みを制御することを特徴とするディスク制御装置。
In a disk control device having a function of adding redundant data in units of a predetermined block length to data to be written to a disk drive,
Management means for recognizing and managing an access mode of data to be written to the disk drive in response to a data write request to the disk drive;
At the time of writing data to the disk drive according to the data write request, referring to an access mode managed by the management means, and adding flag information according to the access mode to the write data according to the write request at a predetermined bit position of the redundant data. Control means for setting the
A disk control device, wherein at the time of data read access from the disk drive, data read-ahead is controlled by referring to the flag information included in the redundant data added to the data.
前記管理手段は、前記データ書き込み要求に伴い、当該書き込み要求に従う書き込みデータがシーケンシャルデータであることを示す情報を外部より受け付けるアプリケーションプログラムインタフェースを具備し、前記アプリケーションプログラムインタフェースで受け付けた情報をもとにアクセス形態を認識し管理する請求項1記載のディスク制御装置。The management unit has an application program interface for receiving information indicating that write data according to the write request is sequential data, according to the data write request, and based on the information received by the application program interface. 2. The disk control device according to claim 1, wherein the disk control device recognizes and manages an access mode. 前記管理手段は、前記ディスクドライブの所定論理構成単位毎に前記アクセス形態を管理する請求項2記載のディスク制御装置。3. The disk control device according to claim 2, wherein the management unit manages the access mode for each predetermined logical configuration unit of the disk drive. 前記制御手段は、セクタ単位の書き込みデータ各々に、当該データのチェックコードと前記アクセス形態に従うフラグ情報とを含んだ冗長データを付加する請求項1記載のディスク制御装置。2. The disk control device according to claim 1, wherein the control unit adds, to each piece of write data in a sector unit, redundant data including a check code of the data and flag information according to the access mode. 前記ディスクドライブからのデータ読出しアクセス時に、当該データに付加された前記冗長データ内の前記フラグ情報を参照してデータの先読み制御を行うステージング制御手段をさらに具備する請求項1記載のディスク制御装置。2. The disk control device according to claim 1, further comprising: a staging control unit that performs read-ahead control of data by referring to the flag information in the redundant data added to the data at the time of data read access from the disk drive. ホスト側装置からデータ書き込み要求を受け付け、当該要求に従い、ディスクドライブへ書き込むデータに所定ブロック長単位で冗長データを付加する機能を備えたデータ記憶制御装置のデータ先読み方法であって、
前記データ記憶制御装置の外部に、前記ホスト側装置からのデータ書き込み要求に伴う書き込みデータのアクセス形態を前記データ記憶制御装置に通知する手段を具備し、
前記データ記憶制御装置に、
前記通知されたアクセス形態を前記データ書き込み要求に対応付けて保持するステップと、
前記データ書き込み要求に従う前記ディスクドライブへのデータ書き込みに際して、前記保持したアクセス形態を参照し、当該アクセス形態に従うフラグ情報を前記書き込み要求に従う書き込みデータに付加される前記冗長データの所定ビット位置に設定するステップと、
前記ホスト側装置からのデータ読出し要求に伴う前記ディスクドライブからのデータ読出しアクセス時に、当該データに付加された前記冗長データに含まれる前記フラグ情報を参照して、データの先読みを実行するステップと
を具備したことを特徴とするデータ先読み方法。
A data read-ahead method of a data storage control device having a function of receiving a data write request from a host device and adding redundant data in units of a predetermined block length to data to be written to a disk drive according to the request,
Outside the data storage control device, comprising means for notifying the data storage control device of the access form of write data accompanying a data write request from the host-side device,
In the data storage control device,
Holding the notified access mode in association with the data write request,
When writing data to the disk drive in accordance with the data write request, reference is made to the held access mode, and flag information according to the access mode is set at a predetermined bit position of the redundant data added to the write data in accordance with the write request. Steps and
Executing a data prefetch by referring to the flag information included in the redundant data added to the data at the time of data read access from the disk drive in response to a data read request from the host device. A data prefetching method, comprising:
前記通知されたアクセス形態は、前記データ書き込み要求に伴い、当該書き込み要求に従う書き込みデータがシーケンシャルデータであるか否かを示す情報である請求項6記載のデータ先読み方法。7. The data read-ahead method according to claim 6, wherein the notified access mode is information indicating whether or not write data according to the write request is sequential data according to the data write request.
JP2003148231A 2003-05-26 2003-05-26 Disk controller and data pre-reading method Pending JP2004355040A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003148231A JP2004355040A (en) 2003-05-26 2003-05-26 Disk controller and data pre-reading method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003148231A JP2004355040A (en) 2003-05-26 2003-05-26 Disk controller and data pre-reading method

Publications (1)

Publication Number Publication Date
JP2004355040A true JP2004355040A (en) 2004-12-16

Family

ID=34044720

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003148231A Pending JP2004355040A (en) 2003-05-26 2003-05-26 Disk controller and data pre-reading method

Country Status (1)

Country Link
JP (1) JP2004355040A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009258911A (en) * 2008-04-15 2009-11-05 Toshiba Corp Disk array device, method, and program
US8006040B2 (en) 2006-03-13 2011-08-23 Kabushiki Kaisha Toshiba Data storage device and method thereof

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8006040B2 (en) 2006-03-13 2011-08-23 Kabushiki Kaisha Toshiba Data storage device and method thereof
JP2009258911A (en) * 2008-04-15 2009-11-05 Toshiba Corp Disk array device, method, and program

Similar Documents

Publication Publication Date Title
US8275970B2 (en) Optimizing write traffic to a disk
EP2329361B1 (en) Aggregation of write traffic to a data store
US6725342B1 (en) Non-volatile mass storage cache coherency apparatus
JP5271424B2 (en) An allocate-on-write snapshot mechanism for providing online data placement to volumes with dynamic storage tiering
KR101405729B1 (en) Method and system for dynamic storage tiering using allocate-on-write snapshots
JP4372134B2 (en) Storage system with data comparison function
KR101465816B1 (en) Extending flash drive lifespan
TWI233552B (en) A log-structured write cache for data storage devices and systems
TWI531963B (en) Data storage systems and their specific instruction enforcement methods
US8332581B2 (en) Stale track initialization in a storage controller
US20090089501A1 (en) Method of prefetching data in hard disk drive, recording medium including program to execute the method, and apparatus to perform the method
JP5891027B2 (en) Method and apparatus for sanitizing a storage device
US10956071B2 (en) Container key value store for data storage devices
JP2005063441A (en) Hdd controller for handling writes in hdd using 4k block sizes and hdd using the same
US8862819B2 (en) Log structure array
KR20100021868A (en) Buffer cache management method for flash memory device
JPH096540A (en) Built-in directory method for data compression of direct-access storage device and directory record
US9158478B2 (en) Storage system and storage control method
US9471252B2 (en) Use of flash cache to improve tiered migration performance
JP2001188658A (en) Disk control system and data rearranging method
JP2005284816A (en) Disk array system
JP2021114264A (en) Storage control device and storage control program
JP2004355040A (en) Disk controller and data pre-reading method
KR101056909B1 (en) Flash memory device and memory management method in flash memory device
US20090049226A1 (en) Stale track initialization in a storage controller

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050929

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20051004

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20051128

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20060322