JP2007188408A - ストレージ装置及び方法 - Google Patents
ストレージ装置及び方法 Download PDFInfo
- Publication number
- JP2007188408A JP2007188408A JP2006007449A JP2006007449A JP2007188408A JP 2007188408 A JP2007188408 A JP 2007188408A JP 2006007449 A JP2006007449 A JP 2006007449A JP 2006007449 A JP2006007449 A JP 2006007449A JP 2007188408 A JP2007188408 A JP 2007188408A
- Authority
- JP
- Japan
- Prior art keywords
- data
- storage device
- host computer
- write
- cache
- 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
Links
Images
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Abstract
【課題】 縞々ライトの状態となったときであってもリードの回数を減らしライト性能を向上させることができるストレージ装置を提供することである。
【解決手段】 ホストコンピュータ13で演算処理するデータを記憶する単一または複数の記録媒体を有し論理ディスクを構成する記憶装置14と、ホストコンピュータ13と記憶装置14との間のデータ転送の処理をするコントローラ15とを備え、コントローラ15内の縞々ライト判定手段23は、ホストコンピュータ13から縞々にライト命令が発行される縞々ライトの状態であるか否かを判定し、縞々ライト判定手段23が縞々ライトの状態であると判断したときは、先読み処理手段24は複数のキャッシュブロック分のデータをまとめて記憶装置14からキャッシュメモリ19に先読みする。
【選択図】 図1
【解決手段】 ホストコンピュータ13で演算処理するデータを記憶する単一または複数の記録媒体を有し論理ディスクを構成する記憶装置14と、ホストコンピュータ13と記憶装置14との間のデータ転送の処理をするコントローラ15とを備え、コントローラ15内の縞々ライト判定手段23は、ホストコンピュータ13から縞々にライト命令が発行される縞々ライトの状態であるか否かを判定し、縞々ライト判定手段23が縞々ライトの状態であると判断したときは、先読み処理手段24は複数のキャッシュブロック分のデータをまとめて記憶装置14からキャッシュメモリ19に先読みする。
【選択図】 図1
Description
本発明は、ホストコンピュータと記憶装置との間のデータ送受信処理をコントローラで制御するストレージ装置及び方法に関する。
ストレージ装置は、ホストコンピュータで演算処理するデータを記憶装置と、ホストコンピュータと記憶装置との間のデータ転送の処理をするコントローラとを備えており、さらに、記憶装置よりも高速にアクセスが可能で、ホストコンピュータからのリード命令やライト命令に対するデータをリード及びライトするためのキャッシュメモリを有している。通常、キャッシュメモリは、専用のキャッシュメモリ管理モジュールにより管理されており、そのキャッシュメモリの最小管理単位はキャッシュブロックである。ストレージ装置には、キャッシュブロック内に有効なデータは1つしか存在できないものと複数存在できるものがある。
図7は、キャッシュブロック内に有効なデータが1つしか存在できないキャッシュメモリでのデータのライトの説明図であり、図7(a)はライトするデータが連続している場合の説明図、図7(b)はライトするデータが不連続である場合の説明図である。図7(a)に示すように、最小管理単位であるキャッシュブロック11に既にライトデータD1が(例えば4KB分)格納されている状態でライト命令またはリード命令があり、このキャッシュブロック11のライトデータD1に連続したアドレスのIOデータD2を読み書きする場合には、管理情報の更新だけで済むため、そのキャッシュブロック11に格納できる。このように、キャッシュブロック11内に有効なデータが1つしか存在できないストレージ装置でも既存のデータD1と新しいIOデータD2のブロックアドレスが連続している場合は、そのキャッシュブロック11に新しいIOデータD2を格納できる。
一方、図7(b)に示すように、キャッシュブロック11のライトデータD1に不連続のアドレスのIOデータD2の場合には、そのキャッシュブロック11にIOデータD2を格納できない。このような場合、図8に示すように、単純な対策として、新しいライト命令によるIOデータD2はキャッシュメモリのキャッシュブロック11をバイパスして、そのまま記憶装置のHDD12に発行する方法がある。
ここで、データを記憶するディスク装置への入出力データを一時的に格納するキャッシュメモリと、ホストとキャッシュメモリとの間のデータの転送を制御するプロセッサ及びデータ転送アダプタ手段を有するチャネルアダプタ部と、ディスク装置とキャッシュメモリとの間のデータの転送を制御するプロセッサ及びデータ転送アダプタ手段を有するディスクアダプタ部とを備え、データ転送パラメータをデータ転送アダプタおよび制御装置からアクセスできるようにし高速なデータ転送を可能としたものがある(例えば、特許文献1参照)。
特開2003−345515号公報
しかし、NTFS等のファイルシステムでは、ホストコンピュータから縞々にライト命令が発行され続ける場合がある。例えば、図9に示すように、4KBライトと4KBスキップとが交互に断続して縞々にライト命令が来ることがある(以下、縞々ライトという)。このような縞々ライトの状態となると、図7に示した処理では、バイパスライトが頻発して性能劣化を招くことになる。
そこで、図10に示すように、キャッシュブロック11にデータD1のある場合は、新しいIOデータD2を一旦ペンディングし、キャッシュブロック11の不連続領域DxにHDD12からデータD1’をリードした後、ペンディングしたIOデータD2を実行する処理を行う。図10の処理では、キャッシュブロック11内のデータが連続するので、キャッシュブロック11に新しいIOデータD2を格納することができる。
この場合、キャッシュメモリからのHDD12へのデータ書き込み時(デステージング時)に、IOデータのブロックアドレスが連続するため、連結して1つの大きなIOデータにまとめて発行することができ、トータルとしてHDD12へのIO数が減らせるから高速に処理できる。しかし、図10の場合でも、不要なリードが発生するのでその分性能は下がってしまう。
本発明の目的は、縞々ライトの状態となったときであってもリードの回数を減らしライト性能を向上させることができるストレージ装置を提供することである。
請求項1の発明に係わるストレージ装置は、ホストコンピュータで演算処理するデータを記憶する単一または複数の記録媒体を有し論理ディスクを構成する記憶装置と、前記ホストコンピュータと前記記憶装置との間のデータ転送の処理をするコントローラとを備えたストレージ装置において、前記コントローラは、キャッシュブロックを最小管理単位として前記記憶装置よりも高速にアクセスが可能で前記ホストコンピュータからのリード命令やライト命令に対するデータをリード及びライトするためのキャッシュメモリと、前記ホストコンピュータから縞々にライト命令が発行される縞々ライトの状態であるか否かを判定する縞々ライト判定手段と、前記縞々ライト判定手段が縞々ライトの状態であると判断したときは複数のキャッシュブロック分のデータをまとめて前記記憶装置から前記キャッシュメモリに先読みする先読み処理手段とを備えたことを特徴とする。
請求項2の発明に係わるストレージ方法は、ホストコンピュータで演算処理するデータをコントローラによりキャッシュメモリを介して記憶装置に記憶するようにしたストレージ方法において、前記ホストコンピュータから縞々にライト命令が発行される縞々ライトの状態であるか否かを判定し、縞々ライトの状態であるときは複数のキャッシュブロック分のデータをまとめて記憶装置からキャッシュメモリに先読し、前記キャッシュメモリに前記ホストコンピュータからのデータをライトすることを特徴とする。
本発明によれば、縞々ライトが続いていると判断したときは、キャッシュメモリの空きを埋めるリードを1キャッシュブロックのみにとどまらず、複数のキャッシュブロック分のデータをまとめて先読みするので、リードの回数を減らしライト性能を向上させることができる。
図1は本発明の実施の形態に係わるストレージ装置の構成図である。ストレージ装置は、ホストコンピュータ13で演算処理するデータを記憶する記憶装置14と、ホストコンピュータ13と記憶装置14との間のデータ転送の処理をするコントローラ15とから構成される。記憶装置14は、単一または複数の記録媒体例えばHDD12a〜12nを有し、これらHDD12a〜12nで論理ディスクを構成し、ホストコンピュータ13で演算処理するデータを記憶する。
コントローラ15は、ホストコンピュータ13とのインタフェースであるホストドライバ16と、ホストコンピュータからのライト命令やリード命令のIOを管理するIOマネージャ17と、キャッシュブロック18を最小管理単位として記憶装置14よりも高速にアクセスが可能でホストコンピュータ13からのリード命令やライト命令に対するデータをリード及びライトするためのキャッシュメモリ19と、キャッシュメモリ19を管理するキャッシュメモリ管理モジュール20と、記憶装置14のHDD12a〜12nを使用してRAIDが構成された論理ディスクを管理するRAID管理部21と、記憶装置14のHDD12a〜12nとのインタフェースであるドライバ22とから構成される。
そして、キャッシュメモリ管理モジュール20は、ホストコンピュータ13から縞々にライト命令が発行される縞々ライトの状態であるか否かを判定する縞々ライト判定手段23と、縞々ライト判定手段23が縞々ライトの状態であると判断したときは複数のキャッシュブロック18分のデータをまとめて記憶装置14からキャッシュメモリ19に先読みする先読み処理手段24とを備えている。
図2は本発明の実施の形態に係わるストレージ装置の処理内容を示すフローチャートである。いま、ホストコンピュータ13からライト命令があったとする。この場合、キャッシュブロック18内に記憶装置14から読み出したリードデータがあるか否かを判定し(S1)、そのキャッシュブロック18内にリードデータがある場合には、ライト命令のデータがそのキャッシュブロック18内のリードデータに連続しているか否かを判定する(S2)。
そして、ライト命令のデータがそのキャッシュブロック18内のリードデータに不連続の場合には、前回リードしたキャッシュブロック18と今回ライトしようとしているキャッシュブロック18とは連続しているか否かを判定する(S3)。前回リードしたキャッシュブロック18と今回ライトしようとしているキャッシュブロック18が連続している場合には、ホストコンピュータからのライト命令は縞々ライトであると判断し(S4)、先読み処理を行う(S5)。例えば、m個のキャッシュブロック18分のデータを記憶装置14から先読みする。先読みする範囲(m)は予め定めておく。これにより、記憶装置14から先読みされたm個のキャッシュブロック18分のデータをキャッシュメモリ19にライトする(S6)。
ステップS1の判定で、キャッシュブロック18内にリードデータがある場合には、ライト命令によるデータを記憶装置14から読み出しキャッシュメモリ19にライトする(S6)。また、ステップS2の判定で、ライト命令のデータがそのキャッシュブロック18内のリードデータに連続である場合には、ライト命令によるデータを記憶装置14から読み出しキャッシュメモリ19にライトする(S6)。
次に、前回リードしたキャッシュブロック18と今回ライトしようとしているキャッシュブロック18が不連続である場合には、1つのキャッシュブロック18分のデータだけ記憶装置14からリードし(S7)、キャッシュメモリ19にライトする(S6)。
図3は図2のステップS7の処理内容の説明図である。図3(a)に示すように、同じキャッシュブロック18内に、ブロックアドレスが不連続のライト命令によるIOデータD1、D2が連続して下りてくると、2つ目のIOデータD2をペンディングする。そして、図3(b)に示すように、そのキャッシュブロック18全体に対し記憶装置14からデータをリードする。キャッシュブロック18全体に対し記憶装置14からデータD’をリードすることを、以下、内部リードと呼ぶことにする。その内部リードの後に、図3(c)に示すように、ペンディングしていたIOデータD2をそのキャッシュブロック18に格納する。
図4は図2のステップS3、S4の処理内容の説明図、図5は図2のステップS5の処理内容の説明図である。図4に示すように同じキャッシュブロック18b内に、ブロックアドレスが不連続のライト命令によるIOデータD3、D4が下りてきたとすると、前回リードしたキャッシュブロック18aと今回ライトしようとしているキャッシュブロック18bとが連続しているか否かを判定し、連続している場合には縞々ライトの状態であると判断する。
そして、図5に示すように、m個のキャッシュブロック18分のデータを内部リードする。つまり、記憶装置14からm個のキャッシュブロック18分のデータを先読みし、その先読みしたm個のキャッシュブロック18分のデータをキャッシュメモリ19にライトする(S6)。図5では、4個のキャッシュブロック18b〜18e分のデータを先読みした場合を示している。
このように、ライト命令に伴う内部リードが前回のライト命令に伴う内部リードとブロックアドレスが連続している場合には縞々ライトと判断し、先読み(まとめ読み)を実施し、mキャッシュブロック分を一度にリードする。例えば、mが16である場合には、16キャッシュブロック分で256KB分のデータを一度にリードする。
図6は先読みした4個のキャッシュブロック18b〜18e分のデータに縞々ライト命令によるデータをライトしている状態の説明図である。図6では7個めのライト命令が完了し、8個めの縞々ライト命令に対するIOデータをライトしている状態を示している。このように、キャッシュブロック18に対して先読みするので、以降の縞々ライトに対し記憶装置14からのリード無しにキャッシュメモリにヒットさせることができる。なお、先読みリード範囲を超えて、縞々ライトが発生した場合は、図2のステップS1の処理に戻る。
第1の実施の形態によれば、縞々ライトに対してmキャッシュブロック分を一度に先読みするので、リードの回数が減り縞々ライトに対する性能が向上する。IOデータの読み書きの回数を減らせるため、キャッシュメモリ19内に複数のデータを格納できるストレージ装置に対しても性能向上が期待できる。また、内部リードの連続性を、ステップS3のように、縞々ライトの判断基準とすることにより、縞々ライトの判断基準が単純になる。
11…キャッシュブロック、12…HDD、13…ホストコンピュータ、14…記憶装置、15…コントローラ、16…ホストドライバ、17…IOマネージャ、18…キャッシュブロック、19…キャッシュメモリ、20…キャッシュメモリ管理モジュール、21…RAID管理部、22…ドライバ、23…縞々ライト判定手段、24…先読み処理手段
Claims (2)
- ホストコンピュータで演算処理するデータを記憶する単一または複数の記録媒体を有し論理ディスクを構成する記憶装置と、前記ホストコンピュータと前記記憶装置との間のデータ転送の処理をするコントローラとを備えたストレージ装置において、前記コントローラは、キャッシュブロックを最小管理単位として前記記憶装置よりも高速にアクセスが可能で前記ホストコンピュータからのリード命令やライト命令に対するデータをリード及びライトするためのキャッシュメモリと、前記ホストコンピュータから縞々にライト命令が発行される縞々ライトの状態であるか否かを判定する縞々ライト判定手段と、前記縞々ライト判定手段が縞々ライトの状態であると判断したときは複数のキャッシュブロック分のデータをまとめて前記記憶装置から前記キャッシュメモリに先読みする先読み処理手段とを備えたことを特徴とするストレージ装置。
- ホストコンピュータで演算処理するデータをコントローラによりキャッシュメモリを介して記憶装置に記憶するようにしたストレージ方法において、前記ホストコンピュータから縞々にライト命令が発行される縞々ライトの状態であるか否かを判定し、縞々ライトの状態であるときは複数のキャッシュブロック分のデータをまとめて記憶装置からキャッシュメモリに先読し、前記キャッシュメモリに前記ホストコンピュータからのデータをライトすることを特徴とするストレージ方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006007449A JP2007188408A (ja) | 2006-01-16 | 2006-01-16 | ストレージ装置及び方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006007449A JP2007188408A (ja) | 2006-01-16 | 2006-01-16 | ストレージ装置及び方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007188408A true JP2007188408A (ja) | 2007-07-26 |
Family
ID=38343519
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006007449A Pending JP2007188408A (ja) | 2006-01-16 | 2006-01-16 | ストレージ装置及び方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2007188408A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017503266A (ja) * | 2014-01-07 | 2017-01-26 | アップル インコーポレイテッド | フラッシュメモリ内に記憶されたデータの推測的プリフェッチ |
-
2006
- 2006-01-16 JP JP2006007449A patent/JP2007188408A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017503266A (ja) * | 2014-01-07 | 2017-01-26 | アップル インコーポレイテッド | フラッシュメモリ内に記憶されたデータの推測的プリフェッチ |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5271424B2 (ja) | ダイナミックストレージ階層化によるオンラインデータ配置をボリュームに提供するためのアロケートオンライトのスナップショット機構 | |
JP2007241927A (ja) | データ記憶装置及び方法 | |
JP4768504B2 (ja) | 不揮発性フラッシュメモリを用いる記憶装置 | |
US7383392B2 (en) | Performing read-ahead operation for a direct input/output request | |
JP4836647B2 (ja) | 不揮発性キャッシュメモリを用いる記憶装置とその制御方法 | |
US20090157756A1 (en) | File System For Storing Files In Multiple Different Data Storage Media | |
US9405485B2 (en) | Method and apparatus for writing data to a flash memory | |
US20070005904A1 (en) | Read ahead method for data retrieval and computer system | |
JP2008269331A (ja) | デバイスドライバ | |
JP2006221627A (ja) | 複数のマッピング技法を採用した適応型フラッシュメモリ制御装置及びそれを含むフラッシュメモリシステム | |
US20080025706A1 (en) | Information recording apparatus and control method thereof | |
JP2007193441A (ja) | 不揮発性キャッシュメモリを用いる記憶装置とその制御方法 | |
US8433847B2 (en) | Memory drive that can be operated like optical disk drive and method for virtualizing memory drive as optical disk drive | |
JP6975202B2 (ja) | 瞬断からの回復処理方法及び装置、並びにコンピュータ読み取り可能な記憶媒体 | |
JP2007193439A (ja) | 不揮発性キャッシュメモリを用いる記憶装置とその制御方法 | |
US9804781B2 (en) | Storage media performance management | |
JP2014170523A (ja) | データ記憶装置における読み出し期間中にデータをフェッチするためのシステムおよび方法 | |
JP2010237907A (ja) | ストレージ装置および記録方法 | |
JP2001188658A (ja) | ディスク制御システムおよびデータ再配置方法 | |
JP2007102314A (ja) | ディスクキャッシュ制御装置 | |
JP5594647B2 (ja) | ストレージ装置及びその制御方法 | |
JP2008310741A (ja) | キャッシュの最適化方法及び装置 | |
JP2007188408A (ja) | ストレージ装置及び方法 | |
US20150039832A1 (en) | System and Method of Caching Hinted Data | |
JP2008262452A (ja) | 記録デバイスのキャッシュ方法および記録装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20090203 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090217 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090414 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20090707 |