JP2008134720A - 情報記憶装置 - Google Patents

情報記憶装置 Download PDF

Info

Publication number
JP2008134720A
JP2008134720A JP2006318944A JP2006318944A JP2008134720A JP 2008134720 A JP2008134720 A JP 2008134720A JP 2006318944 A JP2006318944 A JP 2006318944A JP 2006318944 A JP2006318944 A JP 2006318944A JP 2008134720 A JP2008134720 A JP 2008134720A
Authority
JP
Japan
Prior art keywords
storage area
data
area
stripe
storage device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2006318944A
Other languages
English (en)
Inventor
Haruo Tomita
治男 冨田
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 JP2006318944A priority Critical patent/JP2008134720A/ja
Publication of JP2008134720A publication Critical patent/JP2008134720A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】シーケンシャルリードの速度を早める情報記憶装置を提供する。
【解決手段】情報記憶装置1は、同時に書込み可能な複数の記憶装置が其々有する記憶領域から構成される、論理的に単一な第1の記憶領域15と、複数の記憶装置の記憶領域に第1の記憶領域とは別に確保される第2の記憶領域16と、第1の記憶領域に書込むデータを一時的に記憶する書込バッファ17dと、書込バッファに記憶されたデータを、第1の記憶領域の空領域に、複数の記憶装置に振り分けて同時に書込む書込手段と、第1の記憶領域に記憶されたデータの物理アドレスを得るアドレス管理テーブルを記憶する不揮発性メモリ17と、アドレス管理テーブルを参照して第1の記憶領域に格納されたデータを読込む読込手段と、第1の記憶領域に記憶されたデータを、第2の記憶領域に移すデータ移行手段とを備える。
【選択図】 図1

Description

本発明は、例えば複数の記憶装置を有する情報記憶装置に関する。
従来より、LFS(Log−Structured File System、ログ構造化ファイルシステム)と呼ばれるデータ書込み方法が提案されている(例えば、特許文献1参照)。LFSとは、更新データを用意した書込バッファに蓄積し、この蓄積した更新データを旧データを書き換えることなく、ディスクドライブ内の空領域に一括して書込む方法である。このようなLFSを使用する手法では通常、論理アドレスと、当該論理アドレスの最も新しいデータが記憶された物理アドレスとの対応付けるアドレス変換テーブルが必要となる。
特許文献1では、通常のPC等でソフトウェアRAID(Redundant Arrays of Inexprensive Disks)が構成するために、データをストライプとして書込む際に、当該ストライプ中に論理アドレスタグブロックと呼ばれるタイムスタンプ情報を埋め込んだ上でディスク装置に書込んでいる。このようにすることで、全ストライプに対して論理アドレスタグブロックを読込めば論理アドレスと物理アドレスとの対応がわかるようになるので、電源が不意にオフとなった場合でもアドレス変換テーブルを復活させることができる。
また一方で、LFSでは、更新されたデータが新たな空領域に書込まれることとなるので、論理アドレスとしては連続したデータであっても、当該データの一部が更新されると更新部分は別の物理アドレスに書込まれることとなり、論理アドレスとして連続したデータを読込む場合(シーケンシャルリード)にも実際にはランダムアクセスとなり、読込時間が長くなるという課題があった。
そこで、特許文献2ではシーケンシャルリードがランダムアクセスになってしまうというLFSの構造的な問題を回避するために、ディスクの領域をLFSと、従来型のファイルシステム構造とに論理的に分離し、LFS領域をあたかもメモリキャッシュのように利用する技術が知られている。
特開平11−194899号公報 米国特許第5754888号公報
しかしながら、特許文献2記載の手法は、主にディスクアレイなどの専用のディスクシステムを対象としたものであって、PCでソフトウェアRAIDを構成する場合に当該手法を実現するためのハードウェアアーキテクチャをどのように構成すべきかが課題であった。
そこで本発明は、ハードウェアアーキテクチャを適切にすることで、シーケンシャルリードの速度を早めることのできる情報記憶装置を提供することを目的とする。
上記目的を達成するために、本発明の情報記憶装置は、同時に書込み可能な複数の記憶装置が其々有する記憶領域から構成される、論理的に単一な第1の記憶領域と、複数の記憶装置の記憶領域に第1の記憶領域とは別に確保される第2の記憶領域と、第1の記憶領域に書込むデータを一時的に記憶する書込バッファと、書込バッファに記憶されたデータを、第1の記憶領域の空領域に、複数の記憶装置に振り分けて同時に書込む書込手段と、第1の記憶領域に記憶されたデータの物理アドレスを得るアドレス管理テーブルを記憶する不揮発性メモリと、アドレス管理テーブルを参照して第1の記憶領域に格納されたデータを読込む読込手段と、第1の記憶領域に記憶されたデータを、第2の記憶領域に移すデータ移行手段とを備えることを特徴とする。
本発明によれば、ハードウェアアーキテクチャを適切にすることで、シーケンシャルリードの速度を早める情報記憶装置を提供することができる。
以下、本発明の情報記憶装置について、図面を参照しながら説明する。
図1は、本発明の情報記憶装置の実施例に係るパーソナルコンピュータ(以下、PC)の構成を示す図である。PC1は、CPU(Central Processing Unit)10と、メモリ11と、HDD(Hard Disk Drive)12、13、14と、不揮発性メモリ17とから構成され、各構成要素はバスにより接続されている。なお、当該技術に習熟している技術者であれば、本実施形態に関わるパーソナルコンピュータの不揮発性メモリ17はバスに接続されたもののみならず、HDD12の内部に構成されたものやメモリ11を制御するメモリコントローラ装置の内部に構成されたもの、あるいはバスに接続されたコントローラ装置に不揮発性メモリを内蔵するものであっても実施可能である。
HDD12、13、14は、CPU10の制御の下、同時に書込み及び読込みが可能な記憶装置である。HDD12は、マザーボードのサウスブリッジ(不図示)に接続されており、CPU10により制御される。
尚、HDD12は記憶領域A1及び記憶領域A2、HDD13は記憶領域B1及びB2、HDD14は記憶領域C1及びC2を其々の記憶領域として有している。記憶領域A1、B1、C1はRAID5のDCD(Disk Caching Disk)領域15を構成し、記憶領域A2、B2、C2はRAID5の通常記憶領域16を構成する。尚、DCD領域15は、通常記憶領域16にデータを書込むまでに一時的にデータ記憶させる、キャッシュの役割を果たす記憶領域であり、ユーザから見える記憶領域は通常記憶領域16のみである。
DCD領域15は、通常記憶領域16へデータを移行する前に、一時的にデータが記憶される記憶領域である。当該領域はRAID5を構成しており、また、LFSによりデータの書込みが行われる。LFSでは、ある論理アドレスのデータAをデータA’に書き換える際に、データA’を書込みバッファに蓄積し、データAが記憶された物理アドレスのデータを書き換えることなく、DCD領域15の空領域に、書込みバッファに蓄積された他のデータと共にデータA’を1つのストライプとして記憶させる。これにより、データAや他の書換前の旧データが記憶された物理アドレスを其々シークすることなく、当該データを一括して書込むことができるようになり、書き込み速度を著しく向上させることができる。尚、本実施例ではDCD領域15はRAID5を構成しているが、RAID1で構成しても構わない。
通常記憶領域16は、CPU10の制御の下、DCD領域15に記憶されたデータを移行して記憶する記憶領域であり、RAID5を構成している。データ移行後には、DCD領域15から当該データは削除される。この通常記憶領域16では、LFSは構成しておらず、データ書換時には通常行われているように、同一の論理アドレスのデータを更新する際には、旧データの上から新データを書込む。
CPU10は、HDD12乃至14へのデータの書込み及び読込み、若しくはDCD領域15から通常記憶領域16へのデータ移行、又は後述するDCD領域15内でのストライプの整理等の各種処理を制御する。
メモリ11は、RAM(Random Access Memory)等の揮発性の記憶媒体であり、CPU10による処理のワークスペースとして用いられる。
不揮発性メモリ17は、例えば1〜2メガバイトの記憶容量を持つ不揮発性の半導体メモリであり、その記憶内容を高速で読出し及び書込み可能なキャッシュ装置である。不揮発性メモリ17は、タイムスタンプ17a、アドレス変換テーブル17b、ストライプ情報17c、書込バッファ17dを有する。不揮発性メモリ17は、これらの記憶内容を保持するために電源供給を必要としないため、不意に電源がオフになってもこれらの記憶内容を保持することができる。
この不揮発性メモリ17は、マザーボードのサウスブリッジ(不図示)に接続されており、PCIバス(Peripheral Component Interconnect Bus)に接続されたディスク装置としてCPU10により認識される。よって、通常のメモリ11のようなメモリ空間からは隔離されており、アプリケーションの暴走などによりデータが破壊されることがないため、データを保存する上でセキュリティが極めて良好である。但し、この不揮発性メモリ17が配置される場所は、特に限定されるものではなく、マザーボードのサウスブリッジの内部に組み込んでもよいし、HDD12乃至14の内部に組み込んでもよい。尚、この不揮発性メモリ17は、現状では広く一般に知られるデバイスではなく、本実施例はこの新規開発された不揮発性メモリ17の使用方法を提案するものである。
タイムスタンプ17aは、書込みバッファ17dに記憶されたデータをDCD領域15に書込む毎にインクリメントされるタイムスタンプデータである。
アドレス変換テーブル17bは、DCD領域に記憶されたデータについての、論理アドレスと、実際にデータが記憶されている物理アドレスとの対応が記載されたテーブルである。書込みバッファ17dからDCD領域15にデータが書込まれる際、及びDCD領域15から通常記憶領域16にデータを移行する際にアドレス変換テーブル17bは更新される。CPU10がDCD領域15内に記憶されたデータを読込む際には、当該アドレス変換テーブル17bを参照することにより、其々のデータが記憶されている物理アドレスを知ることができるので、CPU10は各データを読込むことができるようになる。
図2は、アドレス変換テーブル17bの例を示す図である。其々の論理アドレスに対して、その論理アドレスに割り当てられたデータが記憶されているDCD領域15内の物理アドレスが記載されている。図2の例では、論理アドレスL2に記憶されたデータの物理アドレスはP53であり、論理アドレスL4に記憶されたデータの物理アドレスはP2、論理アドレスL5に記憶されたデータの物理アドレスはP51である。
尚、図2において論理アドレスL1及びL3に対応する物理アドレスが記載されていないが、これは論理アドレスL1及びL3にはデータが記憶されていないということである。
尚、不揮発性メモリ17に記憶されるアドレス変換テーブル17bは、アドレス変換テーブル17bの一部であり、アドレス変換テーブル17bの残り部分はHDD12乃至14に記憶されている。すなわち、ストライプ書込み時に不揮発性メモリ17のアドレス変換テーブル17bを更新し、必要に応じてLRU(Least Recently Used)方式でアドレス変換テーブル17bをHDD12乃至14の記憶領域にページングする。
ストライプ情報17cは、DCD領域の其々のストライプが、使用中か空きストライプかを知るためのテーブルである。書込みバッファ17dからDCD領域15にデータが書込まれる際、若しくはDCD領域15内でのストライプの整理の際、又はDCD領域15から通常記憶領域16へのデータの移行の際にストライプ情報17cは更新される。
図3は、ストライプ情報17cの例を示す図である。図3の例では、各ストライプが使用済みか否かを1又は0で示している。図3の例では、ストライプST1、ST2、ST3の値が1であるので使用済み、ストライプST1、ST4の値が0であるので未使用(空領域を構成)であることがわかる。
書込みバッファ17dは、CPU10がHDD12乃至14にデータを書込む前に、データを一時的に記憶しておくバッファである。書込みバッファ17dに記憶されたデータは、所定量に達した際に、ストライプとしてDCD領域15に書込まれる。
次に、CPU10がDCD領域15へデータを書込む際の処理を図4乃至図6を参照しながら説明する。図4は、DCD領域15へデータを書込む際の処理を説明するための図である。
CPU10は、HDD12乃至14に書込むデータを、所定長の論理ブロックに分割した上で、まず書込みバッファ17dに格納させる。
書込みバッファ17d上のデータが論理ブロックK×N個(K:1台のHDDに同時に書込む論理ブロックであり図4の例では4個、N:HDDの台数であり本実施例では3台)に達すれば、CPU10はこのK×N個の論理ブロックのデータを一つのストライプとし、HDD12乃至HDD14に其々論理ブロック4個ずつとなるように振り分けて、同時にDCD領域15に書込む。
図5は、書込みバッファ17dからDCD領域15へデータを書込む際のアドレス変換テーブル17bの更新について説明するための図である。尚、この図において、1台のHDDに同時に書込む論理ブロック数(上記K)は2個であるものとする。
まず、CPU1は、書込みバッファ17dに記憶されたデータを、HDD12乃至14に振り分けてストライプST1として書込む。このストライプST1に含まれているデータは其々論理アドレスL2、L4、L7、L10、L15、L18として記憶されるデータであり、其々実際に記憶される領域のアドレスはP1、P2、P3、P4、P5、P6であるものとする。
この際、CPU10は、アドレス変換テーブル17bを、論理アドレスL2に対して物理アドレスP1、論理アドレスL4に対して物理アドレスP2、論理アドレスL2に対して物理アドレスP3、論理アドレスL10に対して物理アドレスP4、論理アドレスL15に対して物理アドレスP5、論理アドレスL18に対して物理アドレスP6が対応づくようにアドレス変換テーブル17bを更新する。
次に、CPU10が書込みバッファ17dに新たに記憶されたデータをHDD12乃至14に振り分けてストライプST2として書込むことを考える。ストライプST1と、ストライプST2とは、HDD12乃至14上で異なる位置に存在するストライプであり、即ちストライプST1のデータを上書きするものではない。
このストライプST2に含まれているデータは其々論理アドレスL1、L7、L8、L10、L11、L13として記憶されるデータであり、其々実際に記憶される領域のアドレスはP7、P8、P9、P10、P11、P12であるものとする。
この際、CPU10は、アドレス変換テーブル17bを、論理アドレスL1に対して物理アドレスP7、論理アドレスL8に対して物理アドレスP9、論理アドレスL11に対して物理アドレスP11を対応付けて新たにアドレス変換テーブル17bに記載すると共に、論理アドレスL7に対応付ける物理アドレスの値をP3からP8に、論理アドレスL10に対応付ける物理アドレスの値をP4からP10に更新する。即ち、論理アドレスL7及びL10のデータは、其々ストライプST1内のデータからストライプST2内の新たなデータに更新されたということであり、換言すれば、ストライプST1内の物理アドレスP3及びP4に記憶されたデータは、古いデータであり不要ということになる。
図6を参照しながら、CPU10がDCD領域15にデータを書込む際の処理の流れについて説明する。図6は、CPU10がDCD領域15にデータを書込む際の処理の流れを示す図である。
CPU10は、まず書込コマンドが入力されたか否かを判断する(S601)。書込コマンドが入力されていないときには(S601のNo)、S601に戻り、書込コマンドの入力を待つ(S601)。
書込コマンドが入力されたときには(S601のYes)、HDD12乃至14に書込むべきデータを、論理ブロックに分割して書込みバッファ17dに記憶させる(S602)。
さらに、CPU10は、書込みバッファ17d内のデータが論理ブロックK×N個(K:1台のHDDが同時に書込可能な論理ブロック数、N:HDDの台数)に達しているかどうかを判定する(S603)。書込みバッファ17d内のデータがK×N個に達していない場合には、S601に戻り、新たな書込コマンドの入力を待つ。
書込みバッファ17d内のデータが論理ブロックK×N個に達した場合には(S603のYes)、CPU10は、書込みバッファ17d内のデータからストライプを作成し、DCD領域15の空領域に記憶させる(S604)。
さらに、CPU10は、アドレス変換テーブル17bを更新することにより、其々のデータを記憶させた物理アドレスと各データの論理アドレスとの対応を図る(S605)。またこれと共に、ストライプ情報17cを更新し、DCD領域15に書込んだストライプを使用済みとする(S606)。
尚、図6の流れによりDCD領域15にデータを書込むストライプの選択方法について、図7を参照しながら説明する。図7の例において、ストライプST1乃至ST6はDCD領域15内のストライプ、ストライプST7乃至ST12は通常記憶領域16内のストライプとする。
CPU10がデータを書込む際には、CPU10が各HDD12乃至14が有するヘッド12a、13a、14aの移動時間(シーク時間)が短くなるように空きストライプを選択し、データを書込む。例えば、DCD領域15内の各空きストライプの中で、最も遠いヘッドまでの距離が一番短くなるストライプを選択する。このとき、シーク前のヘッドがDCD領域15内にあるか通常記憶領域16内にあるかに関わらず、シーク時間が短くなるような空きストライプを選択する。
図7の例では、ストライプST1、ST4、ST6がDCD領域15内の空きストライプであり、ヘッド12aはストライプST3、ヘッド13aはストライプST5、ヘッド14aはストライプST8上にある。
このとき、ストライプST1から最も遠い位置にあるヘッドは、HDD14のヘッド14aであり、距離は7(=8−1)である。同様に、ストライプST4から最も遠い位置にあるヘッドは、ヘッド14aであり、その距離は4(=8−4)、ストライプST6から最も遠い位置にあるヘッドはヘッド12aであり、その距離は3(=6−3)である。
即ち、各空きストライプの中で、最も遠いヘッドまでの距離が一番短くなる空きストライプはストライプST6であるので、このストライプに書込むとヘッドの移動時間が最も早くなると判断し、CPU10は当該ストライプにデータを書込む。
続いて、DCD領域15内でのストライプ整理の処理について、図8及び図9を参照しながら説明する。
図8は、ストライプ整理処理について説明するための図である。この図では、ストライプST1及びST2を整理し、ストライプST10を作成(ストライプST1及びストライプST2は削除され、空領域となる)している。
ストライプST1には、論理アドレスL10、L11、L50、L4、L42、L39、L13、L7、L8、L19、L9、L12の各データが含まれているものとする。しかしながら、この中でL10、L50、L4、L42、L39、L8、L19、L9、L12の各データは、最新のデータではなく(同じ論理アドレスに対する最新のデータは他のストライプに記憶されている)、アドレス変換テーブル17bにも、ストライプST1内の各物理アドレスは記載されていないものとする。尚、ストライプST1内の他の論理アドレスのデータは、最新のデータである。
ストライプST2には、論理アドレスL2、L14、L25、L23、L37、L41、L22、L30、L51、L46、L27、L32の各データが含まれているものとする。しかしながら、この中でもL2、L14、L30、L27、L32の各データは最新のデータではなく(同じ論理アドレスに対する最新のデータは他のストライプに記憶されている)、アドレス変換テーブル17bにも、ストライプST2内の各物理アドレスは記載されていないものとする。尚、ストライプST2内の他の論理アドレスのデータは、最新のデータである。
ストライプST1及びST2から新たなストライプST10を作成する際には、ストライプST1及びST2から、当該ストライプに含まれる最新のデータのみを集めてストライプを作成する。図8の例では、論理アドレスL7、L11、L13、L22、L23、L25、L37、L41、L46、L51の各データがストライプST10を構成する。ストライプST1及びST2は削除され、空領域となる。
図9は、CPU10がDCD領域15内のストライプ整理処理を行う処理の流れを示す図である。尚、当該処理は書込コマンド及び読込コマンドの非入力時に開始するのが好適である。書込コマンド及び読込コマンドの非入力時であれば、書込速度及び読込速度に影響を与えずに、当該処理を行うことができるからである。
まず、CPU10は書込コマンド及び読込コマンドの入力がないことを確認する(S901)。書込コマンド及び読込コマンドの入力がある場合には(S901のNo)、S901に戻り、書込/読込コマンドの入力がなくなるまで待つ。
書込コマンド及び読込コマンドの入力がない場合には(S901のYes)、複数のストライプから新たなストライプを作成する(S902)。この処理の詳細は、図8を参照しながら先述した通りであり、この新たなストライプ作成時には、CPU10は、タイムスタンプ17aをインクリメントする(S903)。
CPU10は、作成した新たなストライプを、DCD領域15に書込む(S904)。旧ストライプは削除し(S905)、空領域とする。また、これに合わせてCPU10は、アドレス変換テーブル17b及びストライプ情報17cを更新する(S906、S907)。アドレス変換テーブル17bでは、論理アドレスと新たなストライプ内の物理アドレスとの対応付けを行い、ストライプ情報17cは、新たなストライプを使用済みとすると共に、旧ストライプを空領域とする更新を行う。
CPU10がDCD領域15から通常記憶領域16へのデータの移行について図10を参照しながら説明する。図10は、CPU10がDCD領域15から通常記憶領域16へデータを移行する際の処理の流れを示す図である。当該処理は、書込コマンド及び読込コマンドの入力のないときに開始するのが好適である。書込コマンド及び読込コマンドの非入力時であれば、書込及び読込速度に影響を与えずに、当該処理を行うことができるからである。
まず、CPU10は書込コマンド及び読込コマンドの入力がないことを確認する(S1001)。書込コマンド及び読込コマンドの入力がある場合には(S1001のNo)、S1001に戻り、書込/読込コマンドの入力がなくなるまで待つ。
書込コマンド及び読込コマンドの入力が無い場合には(S1001のYes)、1以上のストライプ(以下、この図の説明において旧ストライプ)から、通常記憶領域16に書込むデータ及びパリティを作成する(S1002)。このとき通常記憶領域16に書込むデータは、最新のデータ(アドレス変換テーブル17bに物理アドレスが登録されているデータ)のみであり、同じ論理アドレスに対する最新のデータが他のストライプに記載されているデータ、及び論理アドレスタグブロックについては、通常記憶領域16に記憶させるデータには含めない。尚このとき通常記憶領域16に書込むデータは、当該データの更新前のデータが既に通常記憶領域16内に記憶されている場合には、その上に上書きし、また、論理アドレスが連続しているデータはなるべく連続するようにデータを配置する。これにより、通常記憶領域16からのデータ読込時において、シーケンシャルリードの速度を向上させることができる。
更に、旧ストライプを削除する(S1003)。これに伴い、アドレス変換テーブル17b及びストライプ情報17cを更新する(S1004、S1005)。以上の処理により、データはDCD領域から通常記憶領域16にデータを移行させることができる。
ところで、本実施例のPC1は、通常記憶領域16の記憶容量に応じて、DCD領域15の記憶容量を変化させる。この処理について図11を参照しながら説明する。
CPU10は、通常記憶領域16の空き容量が所定量以下か否かを判断する(S1101)。通常記憶領域16の空き容量が所定量以下でない場合には(S1101のNo)、S1101に戻り、さらに空き容量の監視を続ける。
通常記憶領域16の空き容量が所定量以下である場合には(S1101のYes)、DCD領域15の空き領域の一部を通常記憶領域16として割り当てる(S1102)。これにより、通常記憶領域16の記憶容量を増やすことができる。
以上説明したように、本実施例によれば、高速で読出し及び書込み可能な不揮発性メモリ17が、タイムスタンプ17a、アドレス変換テーブル17b、ストライプ情報17c、書込みバッファ17dを有するため、HDD12乃至14の入出力が高速化され、HDD12乃至14のシーケンシャルリード、データ書込み、ストライプ整理、データ移行などの処理速度を早めることができる。また、情報記憶装置1の電源が不意にオフとなっても、不揮発性メモリ17に記憶されたタイムスタンプ17a、アドレス変換テーブル17b、ストライプ情報17cの消失は防止される。よって、これらの情報を復活させるリカバリ処理は必要がないため、その後のブート時間を短くすることができる。
また、アドレス変換テーブル17b等の消去を防止するために、前述の特許文献1のようにストライプ中に論理アドレスタグブロックを書込んだ場合には、HDD12乃至14へのデータの書込みが実行される度に、アドレス変換テーブル17b等をHDD12乃至14に書き込む必要があるため、HDD12乃至14の記憶領域を無駄に使用してしまう。これに対して、本実施例のように不揮発性メモリ17にアドレス変換テーブル17b等を記憶する場合には、論理アドレスタグブロックをHDD12乃至14に書き込む必要がないため、HDD12乃至14の記憶領域を有効に使用することができる。
また、本実施例では、LFSによりデータを記憶するDCD領域15はあくまで一時記憶領域であり、所定のタイミングで、通常記憶領域16へとデータを移行する。通常記憶領域16ではLFSではなく、論理アドレスが連続するデータは連続するようにデータを記憶しており、また、更新データは旧データの上に上書きするので、通常記憶領域16からデータを読込む際には、LFSと比してシーケンシャルリードの速度を早めることができる。
また、データ書込み時には通常記憶領域16に直接書込むのではなく、一時的にDCD領域15に書込む。DCD領域15はLFSにより書込むので、RAID5を構成していても、パリティを作成する際にリードを行ってからパリティを作成する必要がなく、また、其々の更新前の旧データが記憶されているアドレスをシークする必要もないため、高速な書き込みを行うことができる。
更に、本実施例では、ストライプ整理処理及びDCD領域から通常記憶領域16へのデータ移行処理を、書込コマンド及び読込コマンドの非入力時に行うので、当該処理に伴って書込速度及び読込速度の低下をユーザに感じさせることを防ぐことができる。
本実施例では、通常記憶領域16のデータ量の増加に応じてDCD領域15の記憶容量を減らす。これにより、通常記憶領域16の記憶領域を固定的にする場合と比して、より多くのデータを記憶させることができるようになる。
本実施例では、DCD領域15にデータを書込む際に、ヘッドの移動時間を考慮した上で書込むストライプを選択する。これにより書込速度を向上させることが可能となる。
本発明の実施例1に係るパーソナルコンピュータの構成を示す図。 本発明の実施例1に係るパーソナルコンピュータが有するアドレス変換テーブルの例を示す図。 本発明の実施例1に係るパーソナルコンピュータが有するストライプ情報の例を示す図。 本発明の実施例1に係るパーソナルコンピュータがDCD領域へデータを書込む際の処理を説明するための図。 本発明の実施例1に係るパーソナルコンピュータがDCD領域へデータを書込む際の処理を説明するための図。 本発明の実施例1に係るパーソナルコンピュータがDCD領域へデータを書込む際の処理の流れを示す図。 本発明の実施例1に係るパーソナルコンピュータがデータを書込むストライプの選択方法について説明するための図。 本発明の実施例1に係るパーソナルコンピュータによるストライプ整理処理について説明するための図。 本発明の実施例1に係るパーソナルコンピュータがDCD領域内のストライプ整理処理の流れを示す図。 本発明の実施例1に係るパーソナルコンピュータがDCD領域から通常記憶領域へデータを移行させる際の処理の流れを示す図。 本発明の実施例1に係るパーソナルコンピュータがDCD領域の記憶容量を変化させる処理の流れを示す図。
符号の説明
1・・・PC
10・・・CPU
11・・・メモリ
12、13、14・・・HDD
12a、13a、14a・・・ヘッド
15・・・DCD領域
16・・・通常記憶領域
17・・・不揮発性メモリ
17a・・・タイムスタンプ
17b・・・アドレス変換テーブル
17c・・・ストライプ情報
17d・・・書込バッファ

Claims (11)

  1. 同時に書込み可能な複数の記憶装置が其々有する記憶領域から構成される、論理的に単一な第1の記憶領域と、
    前記複数の記憶装置の記憶領域に前記第1の記憶領域とは別に確保される第2の記憶領域と、
    前記第1の記憶領域に書込むデータを一時的に記憶する書込バッファと、
    前記書込バッファに記憶されたデータを、前記第1の記憶領域の空領域に、前記複数の記憶装置に振り分けて同時に書込む書込手段と、
    前記第1の記憶領域に記憶されたデータの物理アドレスを得るアドレス管理テーブルを記憶する不揮発性メモリと、
    前記アドレス管理テーブルを参照して前記第1の記憶領域に格納されたデータを読込む読込手段と、
    前記第1の記憶領域に記憶されたデータを、前記第2の記憶領域に移すデータ移行手段と、
    を備えることを特徴とする情報記憶装置。
  2. 前記書込バッファは、前記不揮発性メモリの記憶領域の一部として構成されることを特徴とする請求項1に記載の情報記憶装置。
  3. 前記不揮発性メモリは、前記第1記憶領域の其々のストライプが使用中か空きかを示すストライプ情報を記憶することを特徴とする請求項1に記載の情報記憶装置。
  4. 前記不揮発性メモリは、新たなストライプが作成されるごとにインクリメントされるタイムスタンプを記憶することを特徴とする請求項1に記載の情報記憶装置。
  5. 前記アドレス管理テーブルの一部は前記不揮発性メモリに記憶され、前記アドレス管理テーブルの残りは、前記複数の記憶装置の記憶領域に記憶されることを特徴とする請求項1に記載の情報記憶装置。
  6. 前記データ移行手段は、前記書込手段による書込み、及び前記読込手段による読込みを行うためのコマンドが入力されていない時に、前記第1の記憶領域に記憶されたデータの前記第2の記憶領域への移行作業を開始することを特徴とする請求項1記載の情報記憶装置。
  7. 請求項1記載の情報記憶装置において、
    前記アドレス管理テーブルを参照し、前記第1の記憶領域内に記憶されている各データの内、最も新しいデータを集めて、前記第1の記憶領域の空領域に、前記複数の記憶装置に振り分けて記憶させ、前記データが書込まれていた領域を空領域として確保するデータ整理を行うデータ整理手段をさらに備えることを特徴とする情報記憶装置。
  8. 前記データ整理手段は、前記書込手段による書込み、及び前記読込手段による読込みを行うためのコマンドが入力されていない時に、データ整理を開始することを特徴とする請求項7記載の情報記憶装置。
  9. 前記第2の記憶領域内に記憶されたデータ量の増加に応じて、前記第1の記憶領域を減らし、前記第2の記憶領域に割り当てることを特徴とする請求項1記載の情報記憶装置。
  10. 前記第2の記憶領域内に記憶されたデータ量が予め定められた所定量を超えたときに、前記第1の記憶領域の空領域を、前記第2の記憶領域に割り当てることを特徴とする請求項9記載の情報記憶装置。
  11. 前記第1の記憶領域及び前記第2の記憶領域は、RAID5を構成することを特徴とする請求項1記載の情報記憶装置。
JP2006318944A 2006-11-27 2006-11-27 情報記憶装置 Pending JP2008134720A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006318944A JP2008134720A (ja) 2006-11-27 2006-11-27 情報記憶装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006318944A JP2008134720A (ja) 2006-11-27 2006-11-27 情報記憶装置

Publications (1)

Publication Number Publication Date
JP2008134720A true JP2008134720A (ja) 2008-06-12

Family

ID=39559551

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006318944A Pending JP2008134720A (ja) 2006-11-27 2006-11-27 情報記憶装置

Country Status (1)

Country Link
JP (1) JP2008134720A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014127029A (ja) * 2012-12-26 2014-07-07 Toshiba Corp ディスク記憶装置及び方法
JP2016194968A (ja) * 2016-05-31 2016-11-17 株式会社東芝 ディスク記憶装置及び方法
JP2017097947A (ja) * 2017-01-11 2017-06-01 株式会社東芝 ディスク記憶装置及び方法
JP2017174494A (ja) * 2017-07-07 2017-09-28 株式会社東芝 ディスク記憶装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04137126A (ja) * 1990-09-28 1992-05-12 Nec Corp ハードディスクのパーティション変更方式
JP2001243021A (ja) * 2000-02-29 2001-09-07 Toshiba Corp ランダムディスクライトに好適なディスク制御機構
JP2003186628A (ja) * 2001-12-18 2003-07-04 Toshiba Corp ディスクアレイ装置及びデータバックアップ方法
JP2003186624A (ja) * 2001-12-18 2003-07-04 Toshiba Corp ディスクアレイ装置及び同装置におけるデータ更新方法
JP2004102822A (ja) * 2002-09-11 2004-04-02 Toshiba Corp ディスクアレイ制御装置及びディスクアレイ制御装置におけるデータ書き込み方法
JP2007156549A (ja) * 2005-11-30 2007-06-21 Toshiba Corp 情報記憶装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04137126A (ja) * 1990-09-28 1992-05-12 Nec Corp ハードディスクのパーティション変更方式
JP2001243021A (ja) * 2000-02-29 2001-09-07 Toshiba Corp ランダムディスクライトに好適なディスク制御機構
JP2003186628A (ja) * 2001-12-18 2003-07-04 Toshiba Corp ディスクアレイ装置及びデータバックアップ方法
JP2003186624A (ja) * 2001-12-18 2003-07-04 Toshiba Corp ディスクアレイ装置及び同装置におけるデータ更新方法
JP2004102822A (ja) * 2002-09-11 2004-04-02 Toshiba Corp ディスクアレイ制御装置及びディスクアレイ制御装置におけるデータ書き込み方法
JP2007156549A (ja) * 2005-11-30 2007-06-21 Toshiba Corp 情報記憶装置

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014127029A (ja) * 2012-12-26 2014-07-07 Toshiba Corp ディスク記憶装置及び方法
JP2016194968A (ja) * 2016-05-31 2016-11-17 株式会社東芝 ディスク記憶装置及び方法
JP2017097947A (ja) * 2017-01-11 2017-06-01 株式会社東芝 ディスク記憶装置及び方法
JP2017174494A (ja) * 2017-07-07 2017-09-28 株式会社東芝 ディスク記憶装置

Similar Documents

Publication Publication Date Title
US7761655B2 (en) Storage system and method of preventing deterioration of write performance in storage system
JP5437373B2 (ja) 複数のフラッシュパッケージを有するストレージシステム
US7475185B2 (en) Nonvolatile memory system, nonvolatile memory device, memory controller, access device, and method for controlling nonvolatile memory device
US7831764B2 (en) Storage system having plural flash memory drives and method for controlling data storage
JP4738038B2 (ja) メモリカード
US8131969B2 (en) Updating system configuration information
JP6076506B2 (ja) ストレージ装置
JP5944587B2 (ja) 計算機システム及び制御方法
CN103827804B (zh) 在物理区块间拷贝数据的磁盘阵列装置、磁盘阵列控制器以及方法
JP2008015769A (ja) ストレージシステム及び書き込み分散方法
CN104903872A (zh) 用于自适应持久化的系统、方法和接口
CN104050094A (zh) 管理高速缓存存储区的系统、方法和计算机可读介质
CN104969170A (zh) 层次化存储系统、存储控制器以及代替层次间的数据移动的方法
JP4993020B2 (ja) 仮想テープ装置、制御方法、制御部
CN102779096A (zh) 一种基于页块面三维的闪存地址映射方法
JP2018101411A (ja) データストレージデバイスおよびその操作方法
JP7472341B2 (ja) ストレージシステム及びストレージシステムの制御方法
JP2006318017A (ja) Raid構成変換方法、装置及びプログラム並びにこれを用いたディスクアレイ装置
US20060085663A1 (en) Method for keeping snapshot image in a storage system
JP2008134720A (ja) 情報記憶装置
JP2022016753A (ja) ストレージシステム、制御方法及びプログラム
JP3687111B2 (ja) 記憶装置システムおよび記憶装置の制御方法
JP2010191672A (ja) データ記憶システム
TWI745986B (zh) 資料儲存裝置以及非揮發式記憶體控制方法
JP5768118B2 (ja) 複数のフラッシュパッケージを有するストレージシステム

Legal Events

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

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20080806

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20080718

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090331

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110613

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110628

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20111025