JP2008293350A - 記憶装置、記憶装置の制御方法および制御プログラム - Google Patents
記憶装置、記憶装置の制御方法および制御プログラム Download PDFInfo
- Publication number
- JP2008293350A JP2008293350A JP2007139320A JP2007139320A JP2008293350A JP 2008293350 A JP2008293350 A JP 2008293350A JP 2007139320 A JP2007139320 A JP 2007139320A JP 2007139320 A JP2007139320 A JP 2007139320A JP 2008293350 A JP2008293350 A JP 2008293350A
- Authority
- JP
- Japan
- Prior art keywords
- data
- storage
- read
- storage device
- hard disk
- 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
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
【課題】データアクセス時間が短く、耐久性が高く、コスト競争力に優れる真に競争力のあるRAID記憶装置を提供する。
【解決手段】各々のデータ記憶領域に同一のデータを記憶する2つの記憶部と、2つの記憶部のうち、何れの記憶部からデータを読み出した方が短い読み出し時間になるかを判断する読み出し時間判断部と、データの読み出し命令を受けて、読み出し時間判断部により判断した短い読み出し時間の記憶部から、データを読み出す制御部と、を備える記憶装置を提供する。
【選択図】図1
【解決手段】各々のデータ記憶領域に同一のデータを記憶する2つの記憶部と、2つの記憶部のうち、何れの記憶部からデータを読み出した方が短い読み出し時間になるかを判断する読み出し時間判断部と、データの読み出し命令を受けて、読み出し時間判断部により判断した短い読み出し時間の記憶部から、データを読み出す制御部と、を備える記憶装置を提供する。
【選択図】図1
Description
本発明は、記憶装置、記憶装置の制御方法および制御プログラムに関する。特に、複数の記憶部に同一データを記録して、または複数の記憶部にストライピングデータと誤り検出符号データとを分散記録して、データの信頼性を高めた記憶装置、記憶装置の制御方法および制御プログラムに関する。
データを2重化して、2重化したデータの各々を複数の記憶部に分けて記憶するミラー記憶装置(RAID−1)が知られている。また、データをストライピングして、ストライピングしたデータのパリティデータをパリティディスクに記憶して、データの信頼性を高めたディスクアレイ記憶装置(RAID−3,4)が知られている。たとえば特許文献1は、エラーを検出して処理するNAVIマイコンを備え、マスタードライブまたはミラードライブのいずれかにエラーが検出された場合、エラーが検出されていないドライブからデータを読み出すミラー記憶装置を開示する。また、たとえば特許文献2は、古いデータを読み出すディスクと新しいデータを書き込むディスクとを分けて、データディスクへのアクセスを見かけ上1回ですませるディスクアレイ装置を開示する。
特開2005−250827号公報
特開平7−295763号公報
ミラー記憶装置あるいはディスクアレイ記憶装置等のRAID記憶装置において、RAID構成に関わらずデータアクセス時間の短縮が望まれる。また、個別記憶装置の故障頻度がある程度存在することを想定されて設計されたRAID記憶装置ではあるものの、故障頻度の低いRAID記憶装置も勿論望まれる。記憶部にハードディスクドライブを採用するRAID記憶装置のデータアクセス時間は、ハードディスクドライブのあまり短くないアクセス時間で制限され、また、耐久性は、温度、湿度、振動あるいは地上からの高度等の外部環境に影響を受けて故障し易いとされるハードディスクドライブの信頼性で制限される。よって、よりアクセス時間が短く、機械的可動部を持たないが故に外部環境の影響を受けにくいとされる半導体メモリ記憶装置、たとえば一括消去型不揮発性半導体メモリを利用した半導体記憶装置に置き換える対策が考え得る。
しかし、半導体記憶装置は、ハードディスクドライブに比較してコスト競争力に劣り、書き換え回数に制限を有する。よってRAID記憶装置の記憶部を単純にハードディスクドライブから半導体記憶装置に置き換えるだけでは、真に競争力のあるRAID記憶装置を提供することは難しい。
上記課題を解決するために、本発明の形態においては、各々のデータ記憶領域に同一のデータを記憶する2つの記憶部と、2つの記憶部のうち、何れの記憶部からデータを読み出した方が短い読み出し時間になるかを判断する読み出し時間判断部と、データの読み出し命令を受けて、読み出し時間判断部により判断した短い読み出し時間の記憶部から、データを読み出す制御部と、を備える記憶装置を提供する。また本発明の他の形成においては、データを第1読み出し時間で読み出す複数の第1記憶部と、第1読み出し時間より短い第2読み出し時間でデータを読み出す第2記憶部と、書き込むデータの誤り検出符号データを生成する符号生成部と、データの書き込み命令を受けて、データを複数の第1記憶部に分散して書き込み、誤り検出符号データを第2記憶部に書き込む制御部と、を備える記憶装置を提供する。なお、上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではない。これらの特徴群のサブコンビネーションもまた、発明となりうる。
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではない。また実施形態の中で説明されている特徴の組み合わせの全てが発明の解決に必須であるとは限らない。
図1は、本実施形態の記憶装置100の機能ブロックを、ホストコンピュータ120と共に示す。ホストコンピュータ120は、記憶装置100にデータの書き込みあるいは読み出しを求める情報処理装置であってよい。本実施の形態の記憶装置100は、固体メモリドライブ102と、ハードディスクドライブ104と、読み出し時間判断部106と、制御部108とを備える。
固体メモリドライブ102は、可動部を持たない固体メモリ素子でデータ記憶領域を構成する。固体メモリドライブ102は、機械的な可動部を持たないので、温度、湿度、振動、あるいは地上からの高度等の外部環境に影響を受けにくく、データ記憶の信頼性が高い。また固体メモリドライブ102は、機械的な可動部を持たないので、たとえばハードディスクドライブのように、データの書き込みあるいは読み出しの時にデータ記憶領域のデータを記憶している場所まで読み出しあるいは書き込みのためのセンサ(たとえば磁気ヘッド)を移動しなくてもよい。よって、データアクセスの時間が短い。
固体メモリ素子として、機械的な可動部を持たない固体メモリ素子、不揮発性半導体メモリ素子、またはトンネル磁気抵抗素子を例示できる。不揮発性半導体メモリ素子は、たとえば一括消去型EEPROM(Electrical Erasable Read Only Memory)であってよい。一括消去型EEPROMの読み出し速度および書き込み速度として30〜40Mバイト/秒が例示できる。
トンネル磁気抵抗素子は、データ記憶の機構としてトンネル磁気抵抗現象を利用する。固定磁化方向を示す磁性材料と可変磁化方向を示す磁性材料とで磁化方向によって抵抗値が変化するトンネル磁気抵抗材料を挟む構造のトンネル磁気抵抗接合を形成する。可変磁化方向を示す磁性材料の磁化方向によって情報を記憶して、トンネル磁気抵抗接合の抵抗値を検出して情報を読み出す。
ハードディスクドライブ104は、表面に磁性材料を形成した堅いディスクをスピンドルモータによって高速回転して、磁性材料に磁化方向の変化を与えて情報を記憶する。磁気ヘッドによって磁化方向を変化させて情報を記録する。磁気ヘッドにより磁化方向の変化を検出して情報を読み出す。ハードディスクドライブ104は、スピンドルモータの回転および磁気ヘッドの移動等の機械的可動部を持ち、温度、湿度、振動、あるいは地上からの高度等の外部環境に影響を受けやすい。よって、データ記憶の信頼性があまり高くない。
またハードディスクドライブ104は、データを読み出すまたは書き込む時に磁気ヘッドの移動を伴うから、データの読み出しおよび書き込みに所定の時間を要する。ただし、データの読み出しの時、既に読み出すべきデータが書き込まれているトラック(ターゲットトラック)に磁気ヘッドが位置する場合には、ハードディスクドライブ104の読み出し時間は短くなる。
たとえば、データ記憶領域内の連続した領域に記憶されている連続データを読み出す場合には、磁気ヘッドが既にターゲットトラックに位置している場合が多く、読み出し時間は短い。一方、データ記憶領域内の不連続な領域に分散して記憶されている不連続データを読み出す場合には、磁気ヘッドがターゲットトラックまで移動するシーク動作の時間がかかり、データの読み出し時間は長くなる。ハードディスクドライブ104の連続データの読み出し速度および書き込み速度として、60〜70Mバイト/秒が例示でき、不連続データの読み出し速度および書き込み速度として10〜20Mバイト/秒が例示できる。
固体メモリドライブ102およびハードディスクドライブ104の各データ記憶領域に同一のデータを記憶する。すなわち、記憶装置100は、固体メモリドライブ102およびハードディスクドライブ104を2つの記憶部とするRAID−1を構成する。なお、本実施形態では、各々1つの固体メモリドライブ102およびハードディスクドライブ104を例示するが、2つ以上の複数の固体メモリドライブ102およびハードディスクドライブ104を備えてもよい。
読み出し時間判断部106は、固体メモリドライブ102およびハードディスクドライブ104のうち、何れの記憶部からデータを読み出した方が短い読み出し時間になるかを判断する。なお、一方記憶部である固体メモリドライブ102の読み出し時間を予め定め、他方記憶部であるハードディスクドライブ104の読み出し時間を予定時間と比較してよい。
ハードディスクドライブ104の読み出し時間を推測するには以下の方法を例示できる。すなわち読み出し命令に含まれる読み出しデータのアドレスを参照してターゲットトラックを計算する。そして、現在の磁気ヘッドが位置しているトラックからターゲットトラックまでの距離を計算する。現在のトラック位置からターゲットトラックまでの距離(差)は、ターゲットトラックまで磁気ヘッドを移動する時間であるシーク時間の関数になる。
読み出し時間のうち、磁気ヘッドがターゲットトラック上にフォローイングした後にデータを読み出す時間は、シーク時間よりも短いので、シーク時間を推定できれば、読み出し時間をある程度の確度で推定できる。よって現在のトラック位置からターゲットトラックまでの差によって読み出し時間を推定できる。
前記の通り、ハードディスクドライブ104は磁気ヘッドがターゲットトラックに既にフォローイングしている場合には読み出し時間が短い。よって、読み出し時間判断部106は、ハードディスクドライブ104のヘッドが位置している現トラックまたは現シリンダと、データの読み出し命令に基づくターゲットトラックまたはターゲットシリンダとが一致する場合に、ハードディスクドライブ104を短い読み出し時間の記憶部と判断することができる。
あるいは、ハードディスクドライブ104の現トラックがターゲットトラックからわずかに外れた位置に存在する場合もある。このような場合シーク時間は極めて短い。よって、読み出し時間判断部106は、ターゲットトラックと現トラックとの差に基づいて決定できる。なお、ターゲットトラックと現トラックとの差には、差がない場合、つまりターゲットトラックと現トラックとが一致する場合を含む。
なお、読み出し時間判断部106は、固体メモリドライブ102についての予測読み出し時間を、平均読み出し時間に基づいて決定できる。ここで、平均読み出し時間には、節電モード時のクロック低下による比較的長い読み出し時間の場合、あるいはバースト読み出し等による比較的短い読み出し時間の場合を含み、これら読み出し時間の変動を考慮する。また、平均読み出し時間は、予め定めた値としてもよい。
制御部108は、たとえばホストコンピュータ120から、データの読み出し命令を受けて、読み出し時間判断部106により判断した短い読み出し時間の記憶部からデータを読み出す。つまり、読み出し時間判断部106が固体メモリドライブ102からの読み出しをハードディスクドライブ104からの読み出しより短い時間でできると判断した場合制御部108は固体メモリドライブ102からデータを読み出す。逆に読み出し時間判断部106がハードディスクドライブ104からの読み出しを固体メモリドライブ102からの読み出しより短い時間でできると判断した場合制御部108はハードディスクドライブ104からデータを読み出す。
なお、制御部108は、固体メモリドライブ102およびハードディスクドライブ104の両方に読み出し命令を発して、先に読み出し対象のデータを転送してきた記憶部からデータを読み出してもよい。この場合、後から転送されてきたデータは結果的に廃棄される。
また、前記した通り、ハードディスクドライブ104は連続データに対して読み出し時間が短く、不連続データに対して読み出し時間が長くなる。固体メモリドライブ102の読み出し時間がその中間にある場合、制御部108は、ハードディスクドライブ104から連続データを読み出して、固体メモリドライブ102から不連続データを読み出す。
また、制御部108は、データの読み出し命令を受けて固体メモリドライブ102に対するデータの読み出し制御を実行すると共に、ハードディスクドライブ104に対するデータのシーク制御を実行してよい。たとえば固体メモリドライブ102に対して読み出しが実行された場合であってもハードディスクドライブ104の磁気ヘッドをシーク制御しておけば、それが連続データの読み出しであった場合には、結果として次のデータの読み出し命令のときに磁気ヘッドはターゲットトラック上に位置する。このような場合、全体としての読み出し時間を短くできる。
図2は、記憶装置100の読み出し処理フロー(S200)の一例を示す。まず、制御部108が読み出し命令を受信する(S202)。次に読み出し時間判断部106が読み出し時間を判断する(S204)。さらに固体メモリドライブ102またはハードディスクドライブ104の何れの読み出し時間が短いかを判断する(S206)。
固体メモリドライブ102の方が読み出し時間が短いと判断した場合には、固体メモリドライブ102にリードコマンドを発行する(S208)。そしてハードディスクドライブ104にシークコマンドを発行する(S210)。その後ステップS214に進む。
一方ハードディスクドライブ104の方が読み出し時間が短いと判断した場合には、ハードディスクドライブ104にリードコマンドを発行する(S212)。その後ステップS214に進む。
ステップS214では、コマンド実行中にエラーがあるか否かを判断する(S214)。コマンド実行中にエラーがない、すなわちデータを正常に受信した場合、ホストコンピュータ120にデータを転送して(S216)、処理を終了する。
一方、コマンド実行中にエラーがある場合、逆側のドライブにリードコマンドを発行する(S218)。すなわち、固体メモリドライブ102にリードコマンドを発行してコマンド実行中にエラーを生じた場合はハードディスクドライブ104にリードコマンドを発行する。逆にハードディスクドライブ104にリードコマンドを発行してコマンド実行中にエラーを生じた場合は固体メモリドライブ102にリードコマンドを発行する。
ステップS218の後、コマンド実行中にエラーがあるか否かを判断して(S220)、コマンド実行中にエラーがない、すなわちデータを正常に受信した場合、ホストコンピュータ120にデータを転送して(S216)、処理を終了する。コマンド実行中にエラーがある場合、エラー処理を行い(S222)、処理を終了する。エラー処理には、データを正常に読み取れなかった旨のメッセージを転送すること、あるいは装置の故障の可能性があることを表示することを含む。
図3は、読み出し時間判断処理フロー(S300)の一例を示す。まず、読み出し命令から読み出し対象のデータのアドレスを取得する(S302)。次に、データのアドレスからターゲットのトラックあるいはターゲットシリンダの番号を計算する(S304)。なお、トラックとシリンダとの関係は当業者に周知な事項であり、トラック番号とシリンダ番号とを適切に変換して何れかの番号を用いることによりヘッド位置を表現できる。よって、前記したトラック番号はシリンダ番号と読み替えることができる。
次にハードディスクドライブ104にステータスチェックコマンドを発行して現在のヘッド位置(フォローイングトラックあるいはフォローイングシリンダ)を取得する(S306)。ターゲットのトラックあるいはターゲットシリンダと取得したフォローイングトラックあるいはフォローイングシリンダとを比較して一致しているか否かを判断する(S308)。一致している場合にはハードディスクドライブ104の方が読み出し時間が短いと判断する(S310)。一致していない場合には固体メモリドライブ102の方が読み出し時間が短いと判断する(S312)。
以上説明した記憶装置100によれば、読み出し命令を受けて、データを読み出す時間が短い方の固体メモリドライブ102またはハードディスクドライブ104からデータを読み出す。よって読み出し時間を短くできる。特に、不連続データの場合固体メモリドライブ102からデータを読み出すことができる。連続データの場合は、ハードディスクドライブ104からデータを読み出すことができる。
一方、本実施形態の記憶装置100はハードディスクドライブ104を備えるから外部環境の影響を受けて故障を生じる場合がある。しかし、固体メモリドライブ102は外部環境の影響を受けることは少なく、外部環境に起因する故障の発生確率は小さい。仮に外部環境の影響によってハードディスクドライブ104に故障が生じても、固体メモリドライブ102とハードディスクドライブ104とには同一データを記録するミラーを構成しているので、固体メモリドライブ102がバックアップして故障の影響は抑制できる。
また、本実施形態の記憶装置100は固体メモリドライブ102を備えるから書き換え回数の制限を受けて故障を生じる場合がある。しかし、ハードディスクドライブ104への書き換え回数は実質的に制限がない(機械的寿命の方が書き換え回数による制限寿命より短い)。仮に書き換え回数制限によって固体メモリドライブ102に故障が生じても、固体メモリドライブ102とハードディスクドライブ104とには同一データを記録するミラーを構成しているので、ハードディスクドライブ104がバックアップして故障の影響は抑制できる。
また、ハードディスクドライブ104の記録密度の高密度化に伴って、狭いトラック間隔に起因する記録不良が問題になる場合がある。つまり、記録データのパターンによっては、隣接するトラックに記録されたデータの磁界に影響を受けてデータの記録不良が発生する場合がある。このような場合であっても、本実施形態の記憶装置100は固体メモリドライブ102とハードディスクドライブ104とに同一データを記録するミラーを構成するので、固体メモリドライブ102に存在によってハードディスクドライブ104への記録不良の影響はない。さらに、コスト競争力に劣る固体メモリドライブ102は、記憶部全体の半分を占めるだけなので、コスト上昇の影響を抑制できる。
なお、図4は、読み出し時間判断処理フローの他の例を示す。図4の処理フローにおけるステップS402〜ステップS406、ステップS410およびステップS412は、図3の処理フローにおけるステップS302〜ステップS306、ステップS310およびステップS312と同様であってよい。ステップS408において、図3のステップS308とは相違してターゲットトラックあるいはターゲットシリンダとフォローイングトラックあるいはフォローイングシリンダとの差が所定値以下であるかを判断している(S408)。ターゲットトラック等とフォローイングトラック等との差が僅か(所定値で指定する)である場合はヘッドシークのための時間は僅かであり、そのような場合ハードディスクドライブ104の方が読み出し時間が短いと判断してよい。なお、所定値としては0乃至2トラックを例示できる。
図5は、他の実施形態の記憶装置500の機能ブロックを、ホストコンピュータ120と共に示す。ホストコンピュータ120は前記した通りであってよい。本実施の形態の記憶装置500は、固体メモリドライブ502と、ハードディスクドライブ504およびハードディスクドライブ505と、符号生成部506と、制御部508とを備える。
固体メモリドライブ502は、前記した固体メモリドライブ102と同様であってよい。ハードディスクドライブ504およびハードディスクドライブ505は、前記したハードディスクドライブ104と同様であってよい。なお、固体メモリドライブ502は、第2記憶部の一例であり、ハードディスクドライブ504およびハードディスクドライブ505は、複数の第1記憶部に一例である。
第1記憶部であるハードディスクドライブ504およびハードディスクドライブ505は、データを第1読み出し時間で読み出す。一方、第2記憶部である固体メモリドライブ502は第1読み出し時間より短い第2読み出し時間でデータを読み出す。ハードディスクドライブ504およびハードディスクドライブ505は、前記した通り連続データを読み出す場合には比較的読み出し時間が短いが、不連続データを読み出す場合には読み出し時間が極めて長くなる。一方、固体メモリドライブ502の読み出し時間は、連続データであっても不連続データであってもほぼ変わらず一定の読み出し時間になる。よって平均としてみれば、ハードディスクドライブ504およびハードディスクドライブ505の読み出し時間は固体メモリドライブ502の読み出し時間より長い。
符号生成部506は、書き込むデータの誤り検出符号データを生成する。誤り検出符号データとしてパリティデータ、誤り訂正符号データ、ハミング符号データを例示できる。符号生成部506は、ハードディスクドライブ504およびハードディスクドライブ505に分散して記録する書き込みデータのストライピングデータについて誤り検出符号データを生成する。
制御部508は、データの書き込み命令を受けて、データをハードディスクドライブ504およびハードディスクドライブ505に分散して書き込み、誤り検出符号データを固体メモリドライブ502に書き込む。制御部508は、その他データを読み出す制御あるいは誤り検出符号を用いた誤り検出または誤り訂正を制御する。なお、固体メモリドライブ502が可動部を持たない固体メモリ素子でデータ記憶領域を構成する固体メモリ記憶部の一例であること、固体メモリ素子として、不揮発性半導体メモリ素子またはトンネル磁気抵抗素子を例示できることは前記と同様であってよい。
図6は、記憶装置500の書き込み処理フロー(S600)の一例を示す。まず、制御部508が書き込み命令を受信する(S602)。次に、書き込み命令に付随する書き込みデータをバッファする(S604)。さらにバッファしたデータをストライピングする(S606)。バッファデータのストライピングは、たとえばビット単位、バイト単位、ブロック単位で、データを分割する。
ストライピングされたデータを順にハードディスクドライブ504およびハードディスクドライブ505に分散して割り当てる(S608)。なお、本例ではハードディスクドライブとして2つのハードディスクドライブ504およびハードディスクドライブ505を例示しているが、さらに多数のハードディスクドライブを備えてもよい。この場合ストライピングデータは多数のハードディスクドライブに割り当てられる。
次にハードディスクドライブ504およびハードディスクドライブ505にライトコマンドを発行して(S610)、各ハードディスクドライブに割り当てたデータを各ハードディスクドライブに転送する(S612)。ステップS608〜ステップS612の処理に並行して、ストライピングデータのパリティデータを生成する(S614)。なお、ここではパリティデータを例示しているが前記したような他の誤り検出符号を生成してよい。次に、固体メモリドライブ502にライトコマンドを発行して(S616)、固体メモリドライブ502にパリティデータを転送する(S618)。
ステップS612およびステップS618の各転送に対するハードディスクドライブ504、ハードディスクドライブ505および固体メモリドライブ502から転送OKを受信したかを判断して(S620)、OKの場合には処理を終了する。OKでない場合はエラー処理を実行して(S622)、処理を終了する。なお、エラー処理には再度書き込みをトライすることを含む。
図7は、記憶装置500の読み出し処理フロー(S700)の一例を示す。まず、制御部508が読み出し命令を受信する(S702)。次に制御部508は、各ハードディスクドライブおよび固体メモリドライブ502に読み出し命令を発行する(S704、S710)。各ハードディスクドライブからデータを受信したかを判断して(S706)、同時期に固体メモリドライブ502からパリティデータを受信しかたを判断する(S712)。データの受信が正常に為されない場合には再度読み出しを試行する。
なお、固体メモリドライブ502からの読み出しは、各ハードディスクドライブからの読み出しより短い時間で行われるので、次の読み出し命令を処理する場合に、素早くパリティデータを受信できる。ハードディスクドライブが多数台接続されている場合、データ読み出しには使用されていないハードディスクドライブが次の読み出し命令で使用される場合があり、このような場合の読み出し処理においてはパリティデータの読み出しが全体の読み出し速度を律速する場合がある。しかし、本実施形態の記憶装置500においてはパリティデータの読み出し時間が短く、全体の読み出し速度を高めることができる。
ステップS706およびステップS712で各データを正常に受信したと判断した場合は、パリティチェックを実行する(S708)。そして、パリティチェックがOKかを判断して(S714)、OKの場合にはデータをホストコンピュータ120に転送する(S718)。そして処理を終了する。
パリティチェックの結果がOKでない場合にはエラー処理を実行する(S716)。エラー処理には、パリティデータを利用して誤りデータを訂正することを含む。データの誤り訂正に成功した場合にはステップS718に進んでデータをホストコンピュータ120に転送する(S718)。なお、誤りが訂正できない場合はデータを読み取れない旨のメッセージを発行して処理を終了できる。
記憶装置500とその制御方法によれば、パリティデータを読み出し時間の短い固体メモリドライブ502に記録する。その結果、パリティデータの読み出し処理に係る時間を短縮して、パリティ計算に係る時間のオーバーヘッドを低減できる。
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
たとえば、前記した実施形態では、同一データを記憶する2つの記憶部の一方記憶部またはデータを第1読み出し時間で読み出す記憶部としてハードディスクドライブ104、ハードディスクドライブ504およびハードディスクドライブ505を例示した。また同一データを記憶する2つの記憶部の他方記憶部または第1読み出し時間より短い第2読み出し時間でデータを読み出す記憶部として固体メモリドライブ102、固体メモリドライブ502を例示した。しかし、2つの記憶部の一方記憶部または第1読み出し時間でデータを読み出す記憶部として、低速な読み出しを実行するハードディスクドライブを例示できる。また、2つの記憶部の他方記憶部または第1読み出し時間より短い第2読み出し時間でデータを読み出す記憶部として、より高速な読み出しを実行するハードディスクドライブを例示できる。
たとえばスピンドルモータの回転速度の高い高速回転型のハードディスクドライブは読み出し速度が高く、2つの記憶部の他方記憶部または第2読み出し時間の記憶部として例示できる。それより回転速度の低いハードディスクドライブを2つの記憶部の一方記憶部または第1読み出し時間の記憶部として例示できる。
また、前記実施形態では、不揮発性半導体メモリとして、一括消去型不揮発性半導体メモリを例示した。しかし、不揮発性半導体メモリとして、たとえばヒステリシスを持つ強誘電体を絶縁膜とする1つのコンデンサと1つのトランジスタとでメモリ素子を構成するFRAM(Ferroelectric Random Access Memory)を適用してもよい。
100 記憶装置
102 固体メモリドライブ
104 ハードディスクドライブ
106 読み出し時間判断部
108 制御部
120 ホストコンピュータ
500 記憶装置
502 固体メモリドライブ
504 ハードディスクドライブ
505 ハードディスクドライブ
506 符号生成部
508 制御部
102 固体メモリドライブ
104 ハードディスクドライブ
106 読み出し時間判断部
108 制御部
120 ホストコンピュータ
500 記憶装置
502 固体メモリドライブ
504 ハードディスクドライブ
505 ハードディスクドライブ
506 符号生成部
508 制御部
Claims (13)
- 各々のデータ記憶領域に同一のデータを記憶する2つの記憶部と、
前記2つの記憶部のうち、何れの記憶部から前記データを読み出した方が短い読み出し時間になるかを判断する読み出し時間判断部と、
前記データの読み出し命令を受けて、前記読み出し時間判断部により判断した短い読み出し時間の記憶部から、前記データを読み出す制御部と、
を備える記憶装置。 - 前記2つの記憶部の一方は、ハードディスクドライブ記憶部であり、
前記2つの記憶部の他方は、可動部を持たない固体メモリ素子でデータ記憶領域を構成する固体メモリ記憶部である、
請求項1に記載の記憶装置。 - 前記制御部は、
前記ハードディスクドライブ記憶部から、データ記憶領域内の連続した領域に記憶されている連続データを読み出し、
前記固体メモリ記憶部から、データ記憶領域内の不連続な領域に分散して記憶されている不連続データを読み出す、
請求項2に記載の記憶装置。 - 前記固体メモリ素子は、不揮発性半導体メモリ素子、またはトンネル磁気抵抗素子である、
請求項3に記載の記憶装置。 - 前記読み出し時間判断部は、
前記ハードディスクドライブ記憶部のヘッドが位置している現トラックまたは現シリンダと、前記データの読み出し命令に基づくターゲットトラックまたはターゲットシリンダとが一致する場合に、前記ハードディスクドライブ記憶部を短い読み出し時間の記憶部と判断する、
請求項2に記載の記憶装置。 - 前記制御部は、
前記データの読み出し命令を受けて前記固体メモリ記憶部に対する前記データの読み出し制御を実行すると共に、前記ハードディスクドライブ記憶部に対する前記データのシーク制御を実行し、
前記読み出し時間判断部は、
前記固体メモリ記憶部についての予測読み出し時間を、平均読み出し時間に基づいて決定し、
前記ハードディスクドライブ記憶部についての予測読み出し時間を、ターゲットトラックと現トラックとの差に基づいて決定する、
請求項2に記載の記憶装置。 - データを第1読み出し時間で読み出す複数の第1記憶部と、
前記第1読み出し時間より短い第2読み出し時間で前記データを読み出す第2記憶部と、
書き込むデータの誤り検出符号データを生成する符号生成部と、
前記データの書き込み命令を受けて、前記データを前記複数の第1記憶部に分散して書き込み、前記誤り検出符号データを前記第2記憶部に書き込む制御部と、
を備える記憶装置。 - 前記第1記憶部は、ハードディスクドライブ記憶部であり、
前記第2記憶部は、可動部を持たない固体メモリ素子でデータ記憶領域を構成する固体メモリ記憶部である、
請求項7に記載の記憶装置。 - 前記固体メモリ素子は、不揮発性半導体メモリ素子、またはトンネル磁気抵抗素子である、
請求項8に記載の記憶装置。 - 各々のデータ記憶領域に同一のデータを記憶する2つの記憶部を備える記憶装置の制御方法であって、
前記2つの記憶部のうち、何れの記憶部から前記データを読み出した方が短い読み出し時間になるかを判断する読み出し時間判断段階と、
前記データの読み出し命令を受けて、前記読み出し時間判断段階で判断した短い読み出し時間の記憶部から、前記データを読み出す制御段階と、
を備える記憶装置の制御方法。 - データを第1読み出し時間で読み出す複数の第1記憶部と、
前記第1読み出し時間より短い第2読み出し時間で前記データを読み出す第2記憶部と、を備える記憶装置の制御方法であって、
書き込むデータの誤り検出符号データを生成する符号生成段階と、
前記データの書き込み命令を受けて、前記データを前記複数の第1記憶部に分散して書き込み、前記誤り検出符号データを前記第2記憶部に書き込む制御段階と、
を備える記憶装置の制御方法。 - 各々のデータ記憶領域に同一のデータを記憶する2つの記憶部を備える記憶装置の制御プログラムであって、前記記憶装置を、
前記2つの記憶部のうち、何れの記憶部から前記データを読み出した方が短い読み出し時間になるかを判断する読み出し時間判断部、
前記データの読み出し命令を受けて、前記読み出し時間判断部で判断した短い読み出し時間の記憶部から、前記データを読み出す制御部、
として機能させる制御プログラム。 - データを第1読み出し時間で読み出す複数の第1記憶部と、
前記第1読み出し時間より短い第2読み出し時間で前記データを読み出す第2記憶部と、を備える記憶装置の制御プログラムであって、前記記憶装置を、
書き込むデータの誤り検出符号データを生成する符号生成部、
前記データの書き込み命令を受けて、前記データを前記複数の第1記憶部に分散して書き込み、前記誤り検出符号データを前記第2記憶部に書き込む制御部、
として機能させる制御プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007139320A JP2008293350A (ja) | 2007-05-25 | 2007-05-25 | 記憶装置、記憶装置の制御方法および制御プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007139320A JP2008293350A (ja) | 2007-05-25 | 2007-05-25 | 記憶装置、記憶装置の制御方法および制御プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008293350A true JP2008293350A (ja) | 2008-12-04 |
Family
ID=40167996
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007139320A Pending JP2008293350A (ja) | 2007-05-25 | 2007-05-25 | 記憶装置、記憶装置の制御方法および制御プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2008293350A (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009223355A (ja) * | 2008-03-13 | 2009-10-01 | Hitachi Software Eng Co Ltd | ハードディスクとシリコンディスクのミラーリングを行うディスク制御システム |
JP2011221981A (ja) * | 2010-04-08 | 2011-11-04 | Hitachi Ltd | 外部ストレージシステムに結合されたストレージシステムのエラーコード管理方法及び装置 |
JP2012203437A (ja) * | 2011-03-23 | 2012-10-22 | Nec Corp | ストレージ装置、方法及びプログラム |
JP2014532911A (ja) * | 2011-10-27 | 2014-12-08 | メモライト (ウハン) カンパニー,リミテッド | 混合記憶制御システム及び方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05233155A (ja) * | 1992-02-21 | 1993-09-10 | Oki Electric Ind Co Ltd | ディスクアレイ装置 |
JPH06324815A (ja) * | 1993-05-13 | 1994-11-25 | Nec Corp | ディスクアレイ装置 |
JPH06332622A (ja) * | 1993-03-22 | 1994-12-02 | Hitachi Ltd | 情報処理装置 |
JPH06332625A (ja) * | 1993-05-27 | 1994-12-02 | Hitachi Ltd | ファイルのデータ多重化方法及びデータ処理システム |
JP2007079787A (ja) * | 2005-09-13 | 2007-03-29 | Toshiba Corp | 論理ディスク管理方法及び仮想化装置 |
JP2007087528A (ja) * | 2005-09-22 | 2007-04-05 | Fujitsu Ltd | 記憶装置、記憶装置の制御方法および記憶装置に用いられる制御プログラム |
-
2007
- 2007-05-25 JP JP2007139320A patent/JP2008293350A/ja active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05233155A (ja) * | 1992-02-21 | 1993-09-10 | Oki Electric Ind Co Ltd | ディスクアレイ装置 |
JPH06332622A (ja) * | 1993-03-22 | 1994-12-02 | Hitachi Ltd | 情報処理装置 |
JPH06324815A (ja) * | 1993-05-13 | 1994-11-25 | Nec Corp | ディスクアレイ装置 |
JPH06332625A (ja) * | 1993-05-27 | 1994-12-02 | Hitachi Ltd | ファイルのデータ多重化方法及びデータ処理システム |
JP2007079787A (ja) * | 2005-09-13 | 2007-03-29 | Toshiba Corp | 論理ディスク管理方法及び仮想化装置 |
JP2007087528A (ja) * | 2005-09-22 | 2007-04-05 | Fujitsu Ltd | 記憶装置、記憶装置の制御方法および記憶装置に用いられる制御プログラム |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009223355A (ja) * | 2008-03-13 | 2009-10-01 | Hitachi Software Eng Co Ltd | ハードディスクとシリコンディスクのミラーリングを行うディスク制御システム |
JP2011221981A (ja) * | 2010-04-08 | 2011-11-04 | Hitachi Ltd | 外部ストレージシステムに結合されたストレージシステムのエラーコード管理方法及び装置 |
JP2012203437A (ja) * | 2011-03-23 | 2012-10-22 | Nec Corp | ストレージ装置、方法及びプログラム |
JP2014532911A (ja) * | 2011-10-27 | 2014-12-08 | メモライト (ウハン) カンパニー,リミテッド | 混合記憶制御システム及び方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7599139B1 (en) | Disk drive having a high performance access mode and a lower performance archive mode | |
US8427771B1 (en) | Hybrid drive storing copy of data in non-volatile semiconductor memory for suspect disk data sectors | |
CN107037976B (zh) | 存储装置及其工作方法 | |
JP5242264B2 (ja) | データ制御装置、ストレージシステムおよびプログラム | |
JP4234753B2 (ja) | ハードディスクドライブおよびコマンド実行方法 | |
JP6168758B2 (ja) | 温度に基づいた装置動作のための装置および方法 | |
US20070168606A1 (en) | Storage device using nonvolatile cache memory and control method thereof | |
US7853761B2 (en) | Classifying write commands into groups based on cumulated flush time | |
US7483230B2 (en) | Write-current control chip and magnetic disk drive using the same | |
CN101354902A (zh) | 刷新区段中的区域来维持主机命令的目标吞吐量的磁盘驱动器 | |
CN105096968A (zh) | 磁盘驱动器及控制数据重写的方法 | |
CN102906712A (zh) | Mlc自raid闪速数据保护方案 | |
US20070079053A1 (en) | Apparatus and method for access control | |
US8416518B2 (en) | Magnetic disk drive and method for rewriting data block | |
US20040044944A1 (en) | Method of and apparatus for controlling data storage system according to temperature, and medium | |
US7184241B1 (en) | Disk drive that performs cold writes to erased buffer | |
US20100232048A1 (en) | Disk storage device | |
US6523142B1 (en) | Apparatus and method of performing in a disk drive commands issued from a host system | |
US7609596B2 (en) | Storage apparatus and computer-readable storage medium | |
JP2008293350A (ja) | 記憶装置、記憶装置の制御方法および制御プログラム | |
US20170090768A1 (en) | Storage device that performs error-rate-based data backup | |
US9269393B1 (en) | Electronic system with data refresh mechanism and method of operation thereof | |
US9728214B2 (en) | Disk drive and position correction method | |
US20120162809A1 (en) | Magnetic disk drive and method of accessing a disk in the drive | |
US20120194940A1 (en) | Magnetic disk device and data verification control method in the device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20091222 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20100413 |