JP2008097237A - ストレージ装置及びその制御方法 - Google Patents

ストレージ装置及びその制御方法 Download PDF

Info

Publication number
JP2008097237A
JP2008097237A JP2006277102A JP2006277102A JP2008097237A JP 2008097237 A JP2008097237 A JP 2008097237A JP 2006277102 A JP2006277102 A JP 2006277102A JP 2006277102 A JP2006277102 A JP 2006277102A JP 2008097237 A JP2008097237 A JP 2008097237A
Authority
JP
Japan
Prior art keywords
hard disk
flash memory
disk drive
data
read
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.)
Granted
Application number
JP2006277102A
Other languages
English (en)
Other versions
JP2008097237A5 (ja
JP4942446B2 (ja
Inventor
Akira Fujibayashi
昭 藤林
Takahito Nakamura
崇仁 中村
Kazuhisa Fujimoto
和久 藤本
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2006277102A priority Critical patent/JP4942446B2/ja
Priority to US11/563,849 priority patent/US7669019B2/en
Priority to DE602007006880T priority patent/DE602007006880D1/de
Priority to EP07251516A priority patent/EP1912122B1/en
Priority to CN2007101534627A priority patent/CN101162422B/zh
Publication of JP2008097237A publication Critical patent/JP2008097237A/ja
Publication of JP2008097237A5 publication Critical patent/JP2008097237A5/ja
Priority to US12/649,804 priority patent/US8082389B2/en
Priority to US13/297,424 priority patent/US8214586B2/en
Application granted granted Critical
Publication of JP4942446B2 publication Critical patent/JP4942446B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • G06F1/3215Monitoring of peripheral devices
    • G06F1/3225Monitoring of peripheral devices of memory devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • G06F1/3215Monitoring of peripheral devices
    • G06F1/3221Monitoring of peripheral devices of disk drive devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • G06F11/2071Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring using a plurality of controllers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0625Power saving in storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0635Configuration or reconfiguration of storage systems by changing the path, e.g. traffic rerouting, path reconfiguration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/065Replication mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0685Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Quality & Reliability (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

【課題】本発明は、アクセス性能を維持しつつ消費電力を削減し得るストレージ装置を提案する。
【解決手段】ホストコンピュータから送信されるデータを格納するための論理デバイスをホストコンピュータに対して提供するストレージ装置であって、データを格納するためのフラッシュメモリと、データを格納するためのディスク状記憶デバイスと、フラッシュメモリ及びディスク状記憶デバイスを制御する制御部とを備え、制御部は、論理デバイスを、フラッシュメモリ及びディスク状記憶デバイスによる冗長構成とするように制御するようにした。
【選択図】図6

Description

本発明は、ストレージ装置及びその制御方法に関し、例えば、データを格納するために1又は複数のハードディスクドライブを駆動制御するストレージ装置に適用して好適なものである。
近年、データセンタなどの情報ビジネスの現場において、データを長期的かつ確実に記憶する要求が高まっている。例えば、金融機関および医療機関などの文書データは、消去せずに蓄積されることが法律によって義務付けられている。
こうした背景においては、高信頼で大容量のストレージシステムが必要となる。ハードディスクドライブを用いた大規模なストレージシステムでは、一般に、記憶容量に比例して電力消費量が増大する。つまり、大容量のストレージシステムを所有することは、電力消費量が増大することを示している。
しかしながら、ストレージシステムでは、データの長期的かつ確実な記憶と共に、ストレージシステムの電力消費量の削減についても、ますます重要になってきている。こうした状況を鑑み、大量のデータを蓄積し、さらに場合によっては当該データを長期に保存する必要がある場合に、格納データに求められる様々な要求に対して、適切な格納位置にデータを格納することがストレージシステム全体の電力消費量の低減に有効である。
なお、このような分野における従来技術として、例えば、非特許文献1では、通常時、ハードディスクドライブを停止させておき、ホスト装置からのI/O要求を受信してから、データ格納領域に対応するハードディスクドライブを動作させる技術が提案されている。
また、特許文献1及び非特許文献2では、低消費電力のストレージシステムを実現する技術として、MAID(Massive Arrays of Idle Disks)技術を応用したストレージシステムが提案されている。
さらに、近年、不揮発性メモリとして、フラッシュメモリが注目されている。フラッシュメモリは、一般に、ハードディスクドライブと比較し、数十倍以上低消費電力であり、高速に読み出しが可能である。また、フラッシュメモリは、ハードディスクドライブのように機械的な駆動部分が不要なため小型であり、故障に対する耐性も一般的には高い。
しかしながら、フラッシュメモリは、情報を保持するセルの物理的な理由により、書き込み回数の制限がある。こうした制限に対し、上位装置に示すアドレスとセル位置との対応をもち、各セルに書き込まれる回数を均等化するように制御を行う、ウェアラベリング調整と呼ばれる技術などにより、フラッシュメモリの書き込み可能回数の向上が図られている。なお、以降では、情報を保持するための素子を単に「フラッシュメモリ」といい、上記のウェアラベリング調整や、上位装置に対するプロトコル処理などを行う機構を含めたものを「フラッシュメモリデバイス」という。
フラッシュメモリデバイスでは、上述の技術により、書き込み回数制限に対する効率化が図られているものの、書き込み回数自体の制限が存在しなくなるわけではない。また、フラッシュメモリでは、書き込む際に、消去と呼ばれる操作が必要になる場合には、ハードディスクドライブと同等程度の速度となる。
なお、このような分野における従来技術として、例えば、特許文献2では、ハイブリッドハードディスクドライブにおいて、障害発生時にフラッシュメモリ及びハードディスクドライブを切り替えるストレージシステムが提案されている。
米国特許出願公開第2004/0054939号明細書 特開2004−164193号公報 "Power-efficient Server-class Performance from Arrays of Laptop Disks", Athanasios E. Papathanasiou and Michael L. Scott, The University of Rochester, Computer Science Department, Rochester, New York 14627, Technical Report 837, May 2004[平成18年9月25日URL検索]http://www.cs.rochester.edu/u/papathan/papers/2004-usenix04/usenix04-wip/papathan-usenix04-wip-summary.pdf "The Case for Massive Arrays of Idle Disks (MAID)", Dennis Colarelli, Dirk Grunwald and Michael Neufeld, University of Colorado, Boulder, FAST’02, USENIX[平成18年9月25日URL検索]http://www.usenix.org/publications/library/proceedings/fast02/wips/colarelli.pdf
しかしながら、非特許文献1のストレージシステムでは、I/O要求を受信してからハードディスクドライブを動作させるため、ホスト装置に応答するまでのレスポンス時間が遅延し、この結果、アクセス性能が低下するという問題がある。
また、特許文献1及び非特許文献2のストレージシステムでは、アクセス性能が低下しても問題が生じないストレージシステムに適用先を限定しており、アクセス性能の低下に関する技術的解決策が考慮されていないため、低消費電力と高いアクセス性能の維持との両立を実現していない。
さらに、特許文献2のストレージシステムでは、ハイブリッドハードディスクドライブにおいて障害発生時にフラッシュメモリ及びハードディスクドライブを切り替えることが提案されているが、低消費電力と高いアクセス性能の維持との両立を実現していない。
従って、先に説明した従来の技術では解決できない高いアクセス性能を維持しつつ消費電力も削減するストレージシステムにする必要がある。特に、データセンタ等においては、低消費電力の要求が高まるとはいえ、本来必要とされるアクセス性能に対して低下を招くような方法で低消費電力化しても意味がない。
そこで、フラッシュメモリをストレージシステムに応用して、従来の技術では実現できなかった低消費電力と高いアクセス性能の維持とを両立することができるストレージシステムを提供することが課題となる。
本発明は以上の点を考慮してなされたもので、アクセス性能を維持しつつ消費電力を削減し得るストレージ装置及びその制御方法を提案するものである。
かかる課題を解決するため本発明においては、ホストコンピュータから送信されるデータを格納するための論理デバイスをホストコンピュータに対して提供するストレージ装置であって、データを格納するための不揮発メモリと、データを格納するためのディスク状記憶デバイスと、不揮発メモリ及びディスク状記憶デバイスを制御する制御部とを備え、制御部は、論理デバイスを、不揮発メモリ及びディスク状記憶デバイスによる冗長構成とするように制御するようにした。
従って、ストレージシステムの高いアクセス性能を維持しつつ、不揮発メモリの記憶領域を利用することで、消費電力の低減、不揮発メモリ及びディスク状記憶デバイスの寿命の伸長並びにアクセス性能の最適化をすることができる。
また、本発明においては、ホストコンピュータから送信されるデータを格納するための論理デバイスをホストコンピュータに対して提供するストレージ装置の制御方法であって、論理デバイスを、データを格納するための不揮発メモリ及び前記データを格納するためのディスク状記憶デバイスによる冗長構成とするように制御する第1のステップを備えるようにした。
従って、ストレージシステムの高いアクセス性能を維持しつつ、不揮発メモリの記憶領域を利用することで、消費電力の低減、不揮発メモリ及びディスク状記憶デバイスの寿命の伸長並びにアクセス性能の最適化をすることができる。
本発明によれば、論理デバイスを、データを格納するための不揮発メモリ及び前記データを格納するためのディスク状記憶デバイスによる冗長構成とするように制御することにより、ストレージシステムの高いアクセス性能を維持しつつ、不揮発メモリの記憶領域を利用することで、消費電力の低減、不揮発メモリ及びディスク状記憶デバイスの寿命の伸長並びにアクセス性能の最適化をすることができ、かくして、アクセス性能を維持しつつ消費電力を削減し得るストレージ装置及びその制御方法を実現できる。
以下図面について、本発明の一実施の形態を詳述する。
図1は、本実施の形態のストレージシステム100の構成のブロック図である。ストレージシステム100は、ホストコンピュータ101、ストレージ制御装置102及びハードディスクドライブ(HDD)103から構成されている。
ストレージ制御装置102は、チャネル111を通じて、一般に、SANスイッチなど構成されるSAN(Storage Area Network)112を経て、1台又は複数台のホストコンピュータ101に接続されている。また、ストレージ制御装置102は、ディスク側チャネル113を通じてデータを格納する複数のハードディスクドライブ103に接続されている。
さらに、ストレージ制御装置102は、複数のチャネル制御部121、複数のメモリ部122、123、複数のディスク制御部124、複数のフラッシュメモリ制御部125及びこれらを内部バス126を介して接続する相互結合部127から構成されている。
チャネル制御部121は、チャネル111を通じてホストコンピュータ101からの入出力要求を受け取り、この入出力要求の要求種類(例えば、リード要求やライト要求)や対象アドレスなどを解釈し、図15以降で述べるような各種処理を行う。
メモリ部122、123は、その格納する情報にいくつか種類があり、種類ごとに物理的に異なるメモリを用意しても良いし、論理的に使い分けても良い。本実施の形態では、メモリ部122にキャッシュメモリとしての領域が、メモリ部123に制御情報格納領域として領域が割り当てられた場合を例とする。以下、メモリ部122をキャッシュメモリ部122と呼び、メモリ部123を制御情報メモリ部123と呼ぶ。
キャッシュメモリ部122は、ハードディスクドライブ103やフラッシュメモリ(FM)405(後述)に格納されるべきデータやホストコンピュータ101に送信すべきデータを一時的に格納する。制御情報メモリ部123は、キャッシュメモリとして使われるメモリ領域のディレクトリ情報や、ストレージシステム100の構成情報等の制御情報が格納される。
ディスク制御部124は、チャネル制御部121などの要求に基づき、ディスク側チャネル113を通じてハードディスクドライブ103の制御を行い、ホストコンピュータ101から要求されたデータの取り出しや格納を行う。この際、ディスク制御部124は、ハードディスクドライブ103に対してRAID(Redundant Arrays of Independent Disks)制御を行い、ストレージシステムの信頼性、可用性及び性能を向上させてもよい。
フラッシュメモリ制御部125は、フラッシュメモリ405(後述)の制御を行う。フラッシュメモリ制御部125は、チャネル制御部121などの要求に基づき、フラッシュメモリ405にホストコンピュータ101から要求されたデータを取り出しや格納を行う。この際、フラッシュメモリ制御部125は、フラッシュメモリ405に対してRAID制御を行い、ストレージシステムの信頼性、可用性及び性能を向上させてもよい。なお、本実施の形態では、ストレージシステム100がハードディスクドライブ103と接続されているが、ハードディスクドライブ103及びディスク制御部124を有しない構成であってもよい。
図2は、チャネル制御部121の詳細の構成のブロック図である。チャネル制御部121は、複数のプロセッサ201、メモリモジュール202、周辺処理部203、複数のチャネルプロトコル処理部204及び内部ネットワークインタフェース部205から構成されている。
プロセッサ201は、バス等の接続手段で周辺処理部203に接続される。周辺処理部203は、メモリモジュール202に接続され、メモリモジュール202の制御を行う。また、プロセッサ201は、制御系バス211を介してチャネルプロトコル処理部204及び内部ネットワークインタフェース部205に接続される。周辺処理部203は、接続されるプロセッサ201及びチャネルプロトコル処理部204及び内部ネットワークインタフェース部205からのパケットを受け、パケットの示す転送先アドレスがメモリモジュール202上ならばその処理を行い、必要ならばデータを返す。また、周辺処理部203は、転送先アドレスがそれ以外ならば、適切なフォワーディングを行う。
メモリモジュール202は、チャネル制御部121を制御するための制御プログラム221、その他のプロセッサ201がこの周辺処理部203に接続されるプロセッサ201と通信を行うためのメールボックス222及びチャネルプロトコル処理部204がDMA(Direct Memory Access)を行うための転送リスト223を有している。
プロセッサ201は、周辺処理部203を通してメモリモジュール202にアクセスし、メモリモジュール202に格納された制御プログラム221に基づいて処理を行う。
チャネルプロトコル処理部204は、チャネル111上のプロトコル制御を行い、ストレージシステム100内部で処理ができるようなプロトコル方式に変換する。また、チャネルプロトコル処理部204は、チャネル111を通じてホストコンピュータ101からの入出力要求を受けると、その入出力要求のホストコンピュータ番号やLUN(Logical Unit Number)やアクセス先アドレスなどをプロセッサ201に通知する。
プロセッサ201は、チャネルプロトコル処理部204からの通知に基づき、制御情報領域上のディレクトリ情報やもしくはメモリモジュール202上に複製し展開した当該ディレクトリ情報にアクセスし、入出力要求のデータを格納すべきアドレスまたは入出力要求のデータが存在する場合には、メモリモジュール202上に転送リスト223を作成し、それに基づきチャネルプロトコル処理部204に転送を行わせる。
また、プロセッサ201は、ホストコンピュータ101がリード要求したデータがキャッシュメモリ部122上にない場合であり、ハードディスクドライブ103に格納されている場合に、ディスク制御部122に、ハードディスクドライブ103に格納されている要求データをキャッシュメモリ部122に格納する(この動作をステージングという)ように指示を与えた後に、メモリモジュール202上に転送リスト223を作成し、それに基づきチャネルプロトコル処理部204に転送を行わせる。
さらに、プロセッサ201は、ホストコンピュータ101がリード要求したデータがキャッシュメモリ部122上にない場合であり、フラッシュメモリ405上に格納されている場合に、フラッシュメモリ405のアドレスを転送リスト223にセットする。転送リスト223は、キャッシュメモリ部122又はフラッシュメモリ405上のアドレスのリストになっている。
プロセッサ201は、入出力要求がライト要求であれば、データ転送系バス212を介して接続された内部ネットワークインタフェース部205を通じ、ホストコンピュータ101からのデータを転送リスト223に記載されたアドレスに書き込む。また、プロセッサ201は、入出力要求がまたリード要求であれば、同様に、転送リスト223に記載されたアドレスからデータを読み出し、当該データをホストコンピュータ101に送信する。
内部ネットワークインタフェース部205は、自己のチャネル制御部121内部と、他のストレージシステム100内部の各構成要素とを、内部バス126を経て通信を行う際の、インタフェースとなる部位である。
図3は、ディスク制御部124の詳細の構成のブロック図である。ディスク制御部124は、制御プログラム312の内容が異なり、チャネルプロトコル処理部304がディスク側チャネル113を通じハードディスクドライブ110との通信を行う点を除いて、チャネル制御部121と同様の構造を有している。ただし、チャネル111とディスク側チャネル113のプロトコルは異なってもよいが、ディスク側チャネル113上のプロトコル処理を行い、ストレージシステム100内部で処理が出来るように変換する意味では、チャネル制御部121のチャネルプロトコル処理部204と同様である。
プロセッサ301は、チャネル制御部121からの要求や一定時間間隔で、キャッシュメモリ部122上のデータをハードディスクドライブ103に書き込みを行い、キャッシュメモリ部122上にデータが存在していない場合には、チャネル制御部121からの指示を受け、ハードディスクドライブ103からデータを読み出し、キャッシュメモリ部122にそのデータを書き込む。
また、プロセッサ301は、制御情報メモリ部123に格納されたディレクトリ情報にアクセスし、ホストコンピュータ101の要求するデータを読み出すべき、又は格納すべきキャッシュメモリ部122のメモリアドレスを調査する。
そして、プロセッサ301は、要求されたデータがキャッシュメモリ部122上に存在しない場合や、要求されたデータを格納するための空き領域を作るべく、すでに格納されているデータを、ハードディスクドライブ103に格納する場合(この動作をデステージと呼ぶ)には、ディスク側チャネル113を通じてハードディスクドライブ103を制御する。この際、プロセッサ301は、ハードディスクドライブ103全体としての可用性および性能を向上させるため、ハードディスクドライブ103群に対してRAID制御を行う。
図4は、フラッシュメモリ制御部125の詳細の構成のブロック図である。フラッシュメモリ制御部125は、内部ネットワークインタフェース部401、DMAコントローラ402、揮発メモリであるメモリモジュール403及びその制御を行うメモリコントローラ404、並びにフラッシュメモリ405及びその制御を行うメモリコントローラ406が備えられている。
内部ネットワークインタフェース部401は、自己のフラッシュメモリ制御部125内部と、他のストレージシステム100内部の各構成要素とを、内部バス126を経て通信を行う際の、インタフェースとなる部位である。
フラッシュメモリ制御部125内のDMAコントローラ402は、例えば、ホストコンピュータ101からのライト要求を処理する際などに、キャッシュメモリ部122に空き領域を作る場合に、チャネル制御部121のプロセッサ201がセットする転送リスト411により、キャッシュメモリ部122からフラッシュメモリ405にデータの転送を行う。
メモリコントローラ403は、例えば、内部バス126を通してなされたチャネル制御部121からのリード要求や、DMAコントローラ402のライト要求により、フラッシュメモリ405を制御し、データのやり取りを行う。フラッシュメモリ405は、基盤に直接配置されており、フラッシュメモリデバイスを設けた場合におけるコネクタやプロトコル処理部、フラッシュメモリ側チャネルなどの部品が不要になるので、よりコンパクトなフラッシュメモリ制御部125及びストレージシステム100を実現することが可能になる。また、メモリコントローラ406は、それぞれのフラッシュメモリ405に対するウェアラベリング調整などを行ってもよい。
さらに、メモリコントローラ406は、フラッシュメモリ405に対して行ったアクセスにおいて発生する消去エラー発生回数や不良ブロック数などの情報を統計情報407として収集し、フラッシュメモリ405の一部又は別に設けるフラッシュメモリを使って格納し、チャネル制御部121のプロセッサ201からの要求により、統計情報407を送信する。
図5は、ストレージ制御装置102内に構築される記憶階層について示している。ストレージ制御装置102内に構築される記憶階層は、物理的記憶階層及び論理的記憶階層に大別することができる。物理的記憶階層は、1又は複数のハードディスクドライブ103又は1又は複数のフラッシュメモリ405によって設定されたデバイス(以下、DEVと呼ぶ)501により構成される。
論理的記憶階層は、複数の(例えば、3種類の)階層から構成する。1つの論理的階層は、第1の論理デバイス(以下、VDEV(Virtual Device)と呼ぶ)502により構成される。他の1つの論理的階層は、第2の論理デバイス(以下、LDEV(Logical Device)と呼ぶ)503により構成される。残る1つの論理的階層は、第3の論理デバイス(以下、HLDEV(Host Logical Device)と呼ぶ)504により構成される。
VDEV502は、例えば、4つのハードディスクドライブ103又は4つのフラッシュメモリ405を一組としてRAID制御し、グループ化することにより(3D+1P)構成される。即ち、ハードディスクドライブ103又はフラッシュメモリ405のそれぞれが提供する記憶領域が集合して1つのDEV501が形成され、このDEV501のアドレス空間がVDEV502となる。
なお、VDEV502には、他のRAID構成についても適用することができる。すなわち、1つのハードディスクドライブ103又は1つのフラッシュメモリ405を複数のVDEV502にアサインすることもでき(スライシング)、あるいは、複数のハードディスクドライブ103又は複数のフラッシュメモリ405から1つのVDEV42を形成することもできる(ストライピング、ミラーリング)。
LDEV503は、VDEV502上に、それぞれ少なくとも一つ以上設けることができる。LDEV503は、例えば、VDEV502を固定長で分割することにより構成される。
HLDEV504は、ホストコンピュータ101が認識する論理的な記憶単位である。例えば、ホストコンピュータ101がUNIX(登録商標)系のシステムである場合には、HLDEV504は、デバイスファイル(Device File)に対応付けられる。あるいは、ホストコンピュータ101がWindows(登録商標)系のシステムである場合には、HLDEV504は、ドライブレター(ドライブ名)に対応付けられる。各々のHLDEV504は、チャネル制御部121を介してホストコンピュータ101に接続される。各々のHLDEV504には、少なくとも1つ以上のLDEV503をマッピングすることができる。1つのHLDEV504に複数のLDEV503をマッピングすることにより、HLDEV504のサイズを仮想的に拡張することができる。
図6は、ストレージ制御装置102内に構築されるHLDEV504及びLDEV503の対応関係について示している。本実施の形態では、HLDEV504に対して、フラッシュメモリ405によって構成されるLDEV503を少なくとも1の冗長度をもって割り当てるようになされている。すなわち、本実施の形態では、HLDEV504に対して、フラッシュメモリ405によって構成されるLDEV503を含んで冗長構成を行う。
例えば、本実施の形態では、図6のように、1つのHLDEV504に対して送信されたデータを、フラッシュメモリ405により構成されるLDEV503及びハードディスクドライブ103により構成されるLDEV503を、RAID1によってミラーリング制御を行う。すなわち、本実施の形態では、1つのHLDEV504に対してフラッシュメモリ405により構成されるLDEV503及びハードディスクドライブ103により構成されるLDEV503をペア構成して同一のデータを格納するようになされている。この場合、本実施の形態では、ミラーリング制御を行うため、LDEV503に割り当てられるDEV501(フラッシュメモリ405)の記憶容量と、LDEV503に割り当てられるDEV501(ハードディスクドライブ103)の記憶容量とが同じ記憶容量となるように設定されている。
以下、LDEV503について識別することが必要である場合には、HLDEV504に対して、ミラーリング制御されるフラッシュメモリ405により構成されるLDEV503を、FMLDEV503Fと呼び、ミラーリング制御されるフラッシュメモリ405により構成されるLDEV503を、HDDLDEV503Hと呼ぶ。
また、本実施の形態では、ホストコンピュータ101から入出力要求を受信すると、状況に応じてフラッシュメモリ405とハードディスクドライブ103とを切り替えて、データの読み出し又は書き込みを行うようになされている。この場合、本実施の形態では、ハードディスクドライブ103の長寿命化を図るため、ハードディスクドライブ103を基本的に停止状態(後述)にしておき、所定の場合に起動状態(スピンアップ完了状態(後述))に遷移させることとなる。そして、本実施の形態では、フラッシュメモリ405に書込み回数の制限があるため、ハードディスクドライブ103が起動状態である場合には、ハードディスクドライブ103に優先的にデータの書込み処理を行う。なお、これらの動作の詳細な説明については、後述のフローチャートにおいて説明する。
図7は、制御情報メモリ部123に格納される各種テーブル及び各種プログラムについて示している。制御情報メモリ部123には、構成管理テーブル601、HLDEV内デバイス起動間隔管理テーブル602、第1の入出力要求管理テーブル603、第2の入出力要求管理テーブル604、物理デバイス状況管理テーブル605、フラッシュメモリ差分管理テーブル606、ハードディスクドライブ差分管理テーブル607、入出力制御プログラム608、ミラーリング制御プログラム609及びハードディスクドライブ起動時間増減制御プログラム610が格納されている。なお、これらの各種テーブルに格納された各情報は、管理者によるシステム構成情報等を定義する操作やチャネル制御部121のプロセッサ201からの要求等によって作成及び更新が行われる。またなお、これらの各種テーブル及び各種プログラムの詳細な説明については、後述の図面及びフローチャートにおいて説明する。
図8は、構成管理テーブル601のテーブル構成について示している。構成管理テーブル601は、当該構成管理テーブル601の管理番号を格納するための管理ID欄701、HLDEV504を一意に識別するための番号であるHLDEVIDを格納するためのHLDEVID欄702、LDEV503を一意に識別するための番号であるLDEVIDを格納するためのLDEVID欄703、VDEV502を一意に識別するための番号であるVDEVIDを格納するためのVDEVID欄704、DEV501を一意に識別するための番号であるDEVIDを格納するためのDEVID欄705及びHLDEV504に割り当てられているDEV501の記憶領域であるエクステントの最初及び最後のアドレスを格納するためのDEVエクステント欄706から構成されている。
構成管理テーブル601は、管理IDごとに、HLDEVID、当該HLDEVIDのHLDEV504と対応づけられているLDEV503のLDEVID、当該LDEVIDのLDEV503と対応づけられているVDEV502のVDEVID、当該VDEVIDのVDEV502と対応づけられているDEV501のDEVID及び当該DEVIDのDEV501のエクステントを管理する。
例えば、HLDEVID「1」のHLDEV504は、フラッシュメモリ405により構成されるLDEVID「001」のFMLDEV503F及びハードディスクドライブ103により構成されるLDEVID「003」のHDDLDEV503Hを、RAID1によってミラーリング制御を行う。この場合、DEVID「1001」の記憶容量と、DEVID「1003」の記憶容量は、DEVエクステント欄706からも明らかなように、同じ記憶容量となっている。
図9は、HLDEV内デバイス起動間隔管理テーブル602のテーブル構成について示している。HLDEV内デバイス起動間隔管理テーブル602は、管理ID欄711、HLDEVID欄712、LDEVID欄713、VDEVID欄714、DEVID欄715、稼働時間設定欄716、最終オン時間欄717、最終オフ時間欄718、優先リード処理確認欄719及び起動状況確認欄720から構成されている。
稼働時間設定欄716には、ハードディスクドライブ103の1日あたりの稼働時間を表す情報が格納される。例えば、稼働時間設定欄716に「4h」と格納されている場合には、ハードディスクドライブ103は、4時間起動状態であり、20時間停止状態であることを表しており、これを繰り返すようになされている。
最終オン時間欄717には、ハードディスクドライブ103が最後に起動状態となった日時の情報が格納される。最終オフ時間欄718には、ハードディスクドライブ103が最後に停止状態となった日時の情報が格納される。最終オン時間欄717及び最終オフ時間欄718は、次に起動状態とする時間又は次に停止状態とする時間を算出するために必要な情報である。
優先リード処理確認欄719には、ホストコンピュータ101からリード要求を受信したときに、フラッシュメモリ405又はハードディスクドライブ103のどちらから優先的にデータを読み出すかを確認するための情報が格納される。例えば、フラッシュメモリ405から優先的にデータを読み出す場合には、優先リード処理確認欄719のフラッシュメモリ405に対応する欄に、「FM優先」が格納され、ハードディスクドライブ103から優先的にデータを読み出す場合には、優先リード処理確認欄719のハードディスクドライブ103に対応する欄に、「HDD優先」が格納される。
起動状況確認欄720には、ハードディスクドライブ103が起動状態であるかを確認するための情報が格納される。例えば、ハードディスクドライブ103が起動状態である場合には、起動状況確認欄720のハードディスクドライブ103に対応する欄に、「オン(ON)」が格納され、ハードディスクドライブ103が停止状態である場合には、起動状況確認欄720のハードディスクドライブ103に対応する欄に、「オフ(OFF)」が格納される。
HLDEV内デバイス起動間隔管理テーブル602は、管理IDごとに、HLDEVID、当該HLDEVIDのHLDEV504と対応づけられているLDEV503のLDEVID、当該LDEVIDのLDEV503と対応づけられているVDEV502のVDEVID、当該VDEVIDのVDEV502と対応づけられているDEV501のDEVID並びに当該DEVIDのDEV501の稼働時間、最終オン時間、最終オフ時間、優先リード処理確認の情報及び起動状況確認の情報を管理する。
なお、フラッシュメモリ405により構成されるDEV501については、停止状態及び起動状態の遷移がなく、常に起動状態であるため、稼働時間設定欄716、最終オン時間欄717、最終オフ時間欄718及び起動状況確認欄720には、「−」が格納される。
図10は、第1の入出力要求管理テーブル603のテーブル構成について示している。第1の入出力要求管理テーブル603は、管理ID欄721、HLDEVID欄722、HLDEV504にデータの読出し処理を行った回数であるリード回数を格納するためのリード回数欄723及びHLDEV504にデータの書込み処理を行った回数であるライト回数を格納するためのライト回数欄724から構成されている。第1の入出力要求管理テーブル603は、管理IDごとに、HLDEVID、当該HLDEVIDのHLDEV504に格納されているデータのリード回数及び当該HLDEVIDのHLDEV504に格納されているデータのライト回数を管理する。
図11は、第2の入出力要求管理テーブル604のテーブル構成について示している。第2の入出力要求管理テーブル604は、管理ID欄731、HLDEVID欄732、LDEVID欄733、リード回数欄734及びライト回数欄735から構成されている。第2の入出力要求管理テーブル604は、管理IDごとに、HLDEVID、当該HLDEVIDのHLDEV504と対応づけられているLDEV503のLDEVID、当該LDEVIDのLDEV503に格納されているデータのリード回数及び当該LDEVIDのLDEV503に格納されているデータのライト回数を管理する。
図12は、物理デバイス状況管理テーブル605のテーブル構成について示している。物理デバイス状況管理テーブル605は、管理ID欄741、DEVID欄742、物理デバイス欄743、ライト回数欄744、消去回数欄745、不良ブロック数欄746、不良ブロック増加率欄747、平均消去時間欄748、オン/オフ回数欄749及び稼働時間欄750から構成されている。
物理デバイス欄743には、フラッシュメモリ405又はハードディスクドライブ103等の物理デバイスを一意に識別するための番号である物理デバイスIDが格納される。ライト回数欄744には、当該物理デバイスIDのフラッシュメモリ405に今までデータの書込み処理を行った総回数である総書込み回数が格納される。消去回数欄745には、当該物理デバイスIDのフラッシュメモリ405に今までデータの消去処理行った総回数である総消去回数が格納される。
不良ブロック数欄746には、当該物理デバイスIDのフラッシュメモリ405又はハードディスクドライブ103にデータを書き込むことができなくなった記憶領域の不良ブロックの数不良ブロック数が格納される。不良ブロック増加率欄747には、所定の時間ごとの不良ブロック数欄746の不良ブロック数の変化により算出される不良ブロックの増加率である不良ブロック増加率が格納される。平均消去時間欄748には、当該物理デバイスIDのフラッシュメモリ405におけるデータ消去処理にかかる平均の時間である平均処理時間が格納される。オン/オフ回数欄749には、当該物理デバイスIDのハードディスクドライブ103におけるオン(起動状態)又はオフ(停止状態)に切り替えた回数であるオン/オフ回数が格納される。稼働時間欄750には、当該物理デバイスIDのフラッシュメモリ405又はハードディスクドライブ103の今まで稼動した総時間である総稼働時間が格納される。
物理デバイス状況管理テーブル605は、管理IDごとに、DEVID、当該DEVIDのDEV501と対応づけられている物理デバイスの物理デバイスID、当該物理デバイスIDの物理デバイスへの総書込み回数及び総消去回数並びに当該物理デバイスIDの物理デバイスの不良ブロック数、不良ブロック増加率、平均消去時間、オン/オフ回数及び総稼働時間を管理する。なお、物理デバイス状況管理テーブル605に格納された各情報は、ディスク制御部124のプロセッサ301により収集されたハードディスクドライブ103の収集情報及びフラッシュメモリ制御部125のメモリコントローラ406により収集された収集情報407に基づいて作成及び更新が行われる。
またなお、フラッシュメモリ405の物理デバイスについては、停止状態及び起動状態の遷移がなく、常に起動状態であるため、オン/オフ回数欄749には、「−」が格納される。
さらになお、ハードディスクドライブ103の物理デバイスについては、書込み回数や消去回数に制限がなく、消去回数の増加による平均消去時間の増加もないため、総書込み回数欄744、総消去回数欄745及び平均消去時間欄748には、「−」が格納される。
図13は、フラッシュメモリ差分管理テーブル606及びハードディスクドライブ差分管理テーブル607のテーブル構成について示している。フラッシュメモリ差分管理テーブル606及びハードディスクドライブ差分管理テーブル607は、フラッシュメモリ405又はハードディスクドライブ103ごとに管理されており、所定単位の記憶領域ごとにフラッシュメモリ405及びハードディスクドライブ103間のデータに差分があるか否かを管理する。
フラッシュメモリ差分管理テーブル606及びハードディスクドライブ差分管理テーブル607は、フラッシュメモリ405及びハードディスクドライブ103間に差分がある記憶領域の識別ビットについては、「差分あり」を表す「1」で管理する。これは、フラッシュメモリ405又はハードディスクドライブ103のいずれかの記憶領域に最新のデータが格納されている状態であることを意味する。
また、フラッシュメモリ差分管理テーブル606及びハードディスクドライブ差分管理テーブル607は、フラッシュメモリ405及びハードディスクドライブ103間に差分がある以外の状態を表す記憶領域の識別ビットについては、「0」で管理する。これは、フラッシュメモリ405及びハードディスクドライブ103間の記憶領域に同じデータが格納されている状態、又は対応するフラッシュメモリ405又はハードディスクドライブ103の記憶領域に最新のデータが格納されている状態であることを意味する。
図14は、ハードディスクドライブ103における起動時間及び停止時間の切り替えタイミングについて示している。本実施の形態では、ハードディスクドライブ103を起動し、スピンアップを完了してデータを書き込めるようになった状態を起動状態(スピンアップ完了状態)と定義し、起動状態でない状態を停止状態と定義する。また、本実施の形態では、起動状態となっている時間を起動時間(Ton)と定義し、停止状態となっている時間を停止時間(Toff)と定義する。
まず、停止時間から起動時間への切り替えタイミングについて説明する。ハードディスクドライブ103は、起動要求によりスピンアップを開始してから、起動状態(スピンアップ完了状態)となるまで所定の時間がかかる。ここで、この時間をスピンアップ時間「Tspinup」としたとき、チャネル制御部121のプロセッサ201は、スピンアップ時間「Tspinup」を考慮して、起動指示を行う。具体的に、チャネル制御部121は、オン時間からスピンアップ時間「Tspinup」前の時間である起動開始時間に起動指示をディスク制御部124に送信する。
次に、起動時間から停止時間への切り替えタイミングについて説明する。ハードディスクドライブ103の停止時間については、起動時間設定欄716に格納されている起動時間の終了時であり、ハードディスクドライブ103からフラッシュメモリ405にデータの読書き処理を切り替えた時点からが始まりとなる。具体的に、チャネル制御部121のプロセッサ201は、起動時間「Ton」の終了時に停止指示をディスク制御部124に送信する。
また、チャネル制御部121のプロセッサ201は、停止指示を送信して起動時間から停止時間に切り替えると、ハードディスクドライブ103に格納されている差分のデータをフラッシュメモリ405に転送させる。ここで、停止時間に切り替えてから、ハードディスクドライブ103に格納されている差分のデータをフラッシュメモリ405に転送させ、当該転送が終了するまでの時間をトランスファ時間「Ttransfer」とする。トランスファ時間「Ttransfer」は、ハードディスクドライブ103に格納されている差分のデータによって転送にかかる時間は変化するが、例えば、ハードディスクドライブ103に格納されている差分のデータを「100GByte」とし、当該差分のデータの転送処理のスループットを「20MByte/s」とすると、「5000秒」となり、「約1.4時間」となる。
さらに、チャネル制御部121のプロセッサ201は、差分のデータの転送が終了すると、スピンオフを完了してハードディスクドライブ103を停止させる。ここで、差分のデータの転送が終了してから、ハードディスクドライブ103を停止させるまでの時間をスピンオフ時間「Tspinoff」とする。
従って、稼働時間欄750に格納される総稼動時間は、スピンアップ時間「Tspinup」、起動時間「Ton」、トランスファ時間「Ttransfer」及びスピンオフ時間「Tspinoff」の合計時間となることとなる。
図15は、このストレージシステム100における入出力制御処理のうちの書込み処理に関するストレージ制御装置102のチャネル制御部121の具体的な処理手順を示したフローチャートである。
チャネル制御部121(チャネル制御部121のプロセッサ201)は、ホストコンピュータ101から入出力要求を受信すると、入出力要求に対する制御を行う入出力制御処理プログラム608を実行することにより、図15に示す入出力制御処理の書込み処理手順RT1に従って、受信した入出力要求がライト要求であるか否かをチェックする(S1)。そして、チャネル制御部121は、受信した入出力要求がライト要求でない場合(S1:NO)には、この後、図15に示す入出力制御処理の書込み処理手順RT1を終了する(S13)。これに対して、チャネル制御部121は、受信した入出力要求がライト要求である場合(S1:YES)には、ライト要求と共に受信したライト対象のデータを書き込むべき記憶領域をキャッシュメモリ部122に確保した後、当該記憶領域にライト対象のデータを書き込み、ライト要求に対する終了応答であるライト要求終了応答をホストコンピュータ101に行う(S2)。
続いて、チャネル制御部121は、HLDEV内デバイス起動間隔管理テーブル602の起動状況確認欄720を参照することにより、ライト対象のデータを書き込むべきHDDLDEV503Hのハードディスクドライブ103が起動時間であるか否かをチェックする(S3)。
そして、チャネル制御部121は、当該HDDLDEV503Hのハードディスクドライブ103が起動時間でない場合(S3:NO)には、例えば、キャッシュメモリ部122の8つの連続する記憶領域等、キャッシュメモリ部122の所定数の連続する記憶領域に、当該ライト対象のデータが格納されたか否かをチェックする(S4)。
そして、チャネル制御部121は、キャッシュメモリ部122の所定数の連続する記憶領域に、ライト対象のデータが格納されなかった場合(S4:NO)には、書込み処理がランダムライトであると判断して、ライト対象のデータを書き込むべきFMLDEV503Fのフラッシュメモリ405にライト対象のデータを書き込む(S5)。具体的に、チャネル制御部121は、当該FMLDEV503Fのフラッシュメモリ405にライト対象のデータを書き込むようにフラッシュメモリ制御部125に指示し、フラッシュメモリ制御部125が当該FMLDEV503Fのフラッシュメモリ405にライト対象のデータを書き込む。
続いて、チャネル制御部121は、ライト対象のデータの書込み処理が行われたフラッシュメモリ405の記憶領域に対応するフラッシュメモリ差分管理テーブル606の識別ビットを「1」にする(S6)。続いて、チャネル制御部121は、当該フラッシュメモリ差分管理テーブル606の識別ビットに対応するハードディスクドライブ103のデータが不要となるため、当該ハードディスクドライブ103のハードディスクドライブ管理テーブル607の識別ビットを「0」にし(S7)、この後、図15に示す入出力制御処理の書込み処理手順RT1を終了する(S13)。
これに対して、チャネル制御部121は、キャッシュメモリ部122の所定数の連続する記憶領域に、ライト対象のデータが格納された場合(S4:NO)には、書込み処理がシーケンシャルライトであると判断する。一般に、書込み処理がシーケンシャルライトである場合には、フラッシュメモリ405にライト対象のデータを書き込む場合に比してハードディスクドライブ103に書き込むほうが書込み速度が速いことが知られている。このため、チャネル制御部121は、キャッシュメモリ部122の所定数の連続する記憶領域に、ライト対象のデータが格納された場合(S4:NO)には、ライト対象のデータを書き込むべきHDDLDEV503Hのハードディスクドライブ103が起動中であるか否かをチェックする(S8)。
そして、チャネル制御部121は、当該HDDLDEV503Hのハードディスクドライブ103が起動中でない場合(S8:NO)には、当該HDDLDEV503Hのハードディスクドライブ103を起動する(S9)。具体的に、チャネル制御部121は、当該HDDLDEV503Hのハードディスクドライブ103を起動するようにディスク制御部124に指示し、ディスク制御部124が当該HDDLDEV503Hのハードディスクドライブ103を起動する。
これにより、ストレージ制御装置102は、ライト対象のデータをフラッシュメモリ405に書き込む場合に比して書込み速度を向上することができ、これに伴ってアクセス向上することができる。
なお、チャネル制御部121は、このように、HDDLDEV503Hのハードディスクドライブ103の起動時間以外の時間にHDDLDEV503Hのハードディスクドライブ103を起動した場合には、この後、所定の時間、HDDLDEV503Hのハードディスクドライブ103に書込み処理を行わなかったときに、HDDLDEV503Hのハードディスクドライブ103を停止する。具体的に、チャネル制御部121は、HDDLDEV503Hのハードディスクドライブ103を停止するようにディスク制御部124に指示し、ディスク制御部124がHDDLDEV503Hのハードディスクドライブ103を停止する。そして、チャネル制御部121は、当該稼働時間も稼働時間欄750に格納される総稼動時間に積算するようになされている。
やがて、チャネル制御部121は、ライト対象のデータを書き込むべきHDDLDEV503Hのハードディスクドライブ103を起動した場合(S9)、この他当該HDDLDEV503Hのハードディスクドライブ103が起動時間である場合(S3:YES)又は当該HDDLDEV503Hのハードディスクドライブ103が起動中である場合(S8:YES)には、当該HDDLDEV503Hのハードディスクドライブ103にライト対象のデータを書き込む(S5)。具体的に、チャネル制御部121は、当該HDDLDEV503Hのハードディスクドライブ103にライト対象のデータを書き込むようにディスク制御部124に指示し、ディスク制御部124が当該HDDLDEV503Hのハードディスクドライブ103にライト対象のデータを書き込む。
続いて、チャネル制御部121は、ライト対象のデータの書込み処理が行われたハードディスクドライブ103の記憶領域に対応するハードディスクドライブ差分管理テーブル607の識別ビットを「1」にする(S11)。続いて、チャネル制御部121は、当該ハードディスクドライブ差分管理テーブル607の識別ビットに対応するフラッシュメモリ405のデータが不要となるため、フラッシュメモリ405のフラッシュメモリ管理テーブル606の識別ビットを「0」にし(S12)、この後、図15に示す入出力制御処理の書込み処理手順RT1を終了する(S13)。
図16は、このストレージシステム100における入出力制御処理のうちの読出し処理に関するストレージ制御装置102のチャネル制御部121の具体的な処理手順を示したフローチャートである。
チャネル制御部121は、ホストコンピュータ101から入出力要求を受信すると、入出力要求に対する制御を行う入出力制御処理プログラム608を実行することにより、図16に示す入出力制御処理の読出し処理手順RT2に従って、受信した入出力要求がリード要求であるか否かをチェックする(S21)。そして、チャネル制御部121は、受信した入出力要求がリード要求でない場合(S21:NO)には、この後、図16に示す入出力制御処理の読出し処理手順RT2を終了する(S29)。これに対して、チャネル制御部121は、受信した入出力要求がリード要求である場合(S21:YES)には、キャッシュメモリ部122にリード要求に対応するリード対象のデータが格納されているか否かをチェックする(S22)。
そして、チャネル制御部121は、キャッシュメモリ部122にリード要求に対応するリード対象のデータが格納されていない場合(S22:NO)には、HLDEV内デバイス起動間隔管理テーブル602の起動状況確認欄720を参照することにより、リード対象のデータを読み出すべきHDDLDEV503Hのハードディスクドライブ103が起動時間であるか否かをチェックする(S23)。
そして、チャネル制御部121は、当該HDDLDEV503Hのハードディスクドライブ103が起動時間である場合(S23:YES)には、HLDEV内デバイス起動間隔管理テーブル602の起動状況確認欄720を参照することにより、リード対象のデータを読み出すべきFMLDEV503Fが「FM優先」であるか否かチェックする(S24)。
そして、チャネル制御部121は、当該FMLDEV503Fが「FM優先」でない場合(S24:NO)には、リード対象のデータを読み出すべきHDDLDEV503Hのハードディスクドライブ103からホストコンピュータ101にリード対象のデータを読み出し(S25)、この後、図16に示す入出力制御処理の読出し処理手順RT2を終了する(S30)。
具体的に、チャネル制御部121は、リード対象のデータを読み出すべきHDDLDEV503Hのハードディスクドライブ103からチャネル制御部121にリード対象のデータを読み出すようにディスク制御部124に指示し、ディスク制御部124が当該HDDLDEV503Hのハードディスクドライブ103からチャネル制御部121にリード対象のデータを読み出す。そして、チャネル制御部121は、この後、リード対象のデータをホストコンピュータ101に読み出す。
これに対して、チャネル制御部121は、リード対象のデータを読み出すべきFMLDEV503Fが「FM優先」でない場合(S24:NO)には、当該FMLDEV503Fのフラッシュメモリ405にリード対象のデータが格納されているか否かをチェックする(S26)。
そして、チャネル制御部121は、当該FMLDEV503Fのフラッシュメモリ405にリード対象のデータが格納されてない場合(S26:NO)には、HDDLDEV503Hのハードディスクドライブ103にリード対象のデータが格納されていると判断する。一般に、ハードディスクドライブ103から読出し対象のデータを読み出す場合に比してフラッシュメモリ405から読み出したほうが読出し速度が速いことが知られている。このため、チャネル制御部121は、当該FMLDEV503Fのフラッシュメモリ405にリード対象のデータが格納されてない場合(S26:NO)には、リード対象のデータを読み出すべきHDDLDEV503Hのハードディスクドライブ103に格納されているリード対象のデータを読み出して、リード対象のデータを読み出すべきFMLDEV503Fのフラッシュメモリ405に書き込み、当該フラッシュメモリ405の記憶領域に対応するハードディスクドライブ差分管理テーブル607の識別ビットを「0」にする(S27)。
具体的に、チャネル制御部121は、リード対象のデータを読み出すべきHDDLDEV503Hのハードディスクドライブ103に格納されているリード対象のデータを読み出して、リード対象のデータを読み出すべきFMLDEV503Fのフラッシュメモリ405に書き込むようにディスク制御部124及びフラッシュメモリ制御部125に指示し、ディスク制御部124リード対象のデータを読み出すべきHDDLDEV503Hのハードディスクドライブ103に格納されているリード対象のデータを読み出して、フラッシュメモリ制御部125がリード対象のデータを読み出すべきFMLDEV503Fのフラッシュメモリ405に書き込む。
これにより、ストレージ制御装置102は、次に当該リード対象のデータのリード要求を受信した場合に、ハードディスクドライブ103から読出し対象のデータを読み出す場合に比して読出し速度を向上することができ、これに伴ってアクセス向上することができる。
やがて、チャネル制御部121は、リード対象のデータを読み出すべきHDDLDEV503Hのハードディスクドライブ103に格納されているリード対象のデータを読み出して、リード対象のデータを読み出すべきFMLDEV503Fのフラッシュメモリ405に書き込み、当該フラッシュメモリ405の記憶領域に対応するハードディスクドライブ差分管理テーブル607の識別ビットを「0」にした場合(S27)、この他リード対象のデータを読み出すべきHDDLDEV503Hのハードディスクドライブ103が起動時間でない場合(S23:NO)には、リード対象のデータを読み出すべきFMLDEV503Fのフラッシュメモリ405からホストコンピュータ101にリード対象のデータを読み出し(S28)、この後、図16に示す入出力制御処理の読出し処理手順RT2を終了する(S30)。
具体的に、チャネル制御部121は、当該FMLDEV503Fのフラッシュメモリ405からチャネル制御部121にリード対象のデータを読み出すようにフラッシュメモリ制御部125に指示し、フラッシュメモリ制御部125が当該FMLDEV503Fのフラッシュメモリ405からチャネル制御部121にリード対象のデータを読み出す。そして、チャネル制御部121は、この後、リード対象のデータをホストコンピュータ101に読み出す。
これに対して、チャネル制御部121は、キャッシュメモリ部122にリード要求に対応するリード対象のデータが格納されている場合には、キャッシュメモリ部122からホストコンピュータ101にリード対象のデータを読み出し(S29)、この後、図16に示す入出力制御処理の読出し処理手順RT2を終了する(S30)。
図17は、このストレージシステム100におけるミラーリング制御処理に関するストレージ制御装置102のチャネル制御部121の具体的な処理手順を示したフローチャートである。
チャネル制御部121は、ハードディスクドライブ103の起動及び停止に伴うミラーリング制御を行うミラーリング制御処理プログラム609を実行することにより、図17に示すミラーリング制御処理手順RT3に従って、HLDEV内デバイス起動間隔管理テーブルを参照することにより、HDDLDEV503Hのハードディスクドライブ103が起動開始時間であるか否かをチェックする(S31)。
そして、チャネル制御部121は、HDDLDEV503Hのハードディスクドライブ103が起動開始時間である場合(S31:YES)には、当該HDDLDEV503Hのハードディスクドライブ103を起動し(S32)、この後、再び、HDDLDEV503Hのハードディスクドライブ103が起動開始時間であるか否かをチェックするステップS31に戻り、同様の処理を繰り返す。
これに対して、チャネル制御部121は、HDDLDEV503Hのハードディスクドライブ103が起動開始時間でない場合(S31:NO)には、HLDEV内デバイス起動間隔管理テーブルを参照することにより、HDDLDEV503Hのハードディスクドライブ103が停止時間であるか否かをチェックする(S33)。
そして、チャネル制御部121は、HDDLDEV503Hのハードディスクドライブ103が停止時間である場合(S33:YES)には、ハードディスクドライブ差分管理テーブル607を参照することにより、HDDLDEV503Hのハードディスクドライブ103に差分のデータが格納されているか否かをチェックする(S34)。
そして、チャネル制御部121は、HDDLDEV503Hのハードディスクドライブ103に差分のデータが格納されていない場合(S34:NO)には、この後、再び、HDDLDEV503Hのハードディスクドライブ103が起動開始時間となったか否かをチェックするステップS31に戻り、同様の処理を繰り返す。
これに対して、チャネル制御部121は、HDDLDEV503Hのハードディスクドライブ103に差分のデータが格納されている場合(S34:YES)には、HDDLDEV503Hのハードディスクドライブ103に格納されている差分のデータを読み出して、対応するFMLDEV503Fのフラッシュメモリ405に書き込む(S35)。
続いて、チャネル制御部121は、差分のデータの書込み処理が行われたフラッシュメモリ405の記憶領域に対応するハードディスクドライブ差分管理テーブル607の識別ビットを「0」にし(S36)、この後、再び、HDDLDEV503Hのハードディスクドライブ103が起動開始時間となったか否かをチェックするステップS31に戻り、同様の処理を繰り返す。
これに対して、チャネル制御部121は、HDDLDEV503Hのハードディスクドライブ103が停止時間でない場合(S33:YES)には、HDDLDEV503Hのハードディスクドライブ103が起動時間であると判断して、対応するFMLDEV503Fのフラッシュメモリ差分管理テーブル606を参照することにより、対応するFMLDEV503Fのフラッシュメモリ405に差分のデータが格納されているか否かをチェックする(S37)。
そして、チャネル制御部121は、対応するFMLDEV503Fのフラッシュメモリ405に差分のデータが格納されていない場合(S37:NO)には、この後、再び、HDDLDEV503Hのハードディスクドライブ103が起動開始時間となったか否かをチェックするステップS31に戻り、同様の処理を繰り返す。
これに対して、チャネル制御部121は、対応するFMLDEV503Fのフラッシュメモリ405に差分のデータが格納されている場合(S37:YES)には、対応するFMLDEV503Fのハードディスクドライブ103に格納されている差分のデータを読み出して、当該HDDLDEV503Hのハードディスクドライブ103に書き込む(S38)。
具体的に、チャネル制御部121は、対応するFMLDEV503Fのハードディスクドライブ103に格納されている差分のデータを読み出して、当該HDDLDEV503Hのハードディスクドライブ103に書き込むようにディスク制御部124及びフラッシュメモリ制御部125に指示し、フラッシュメモリ制御部125対応するFMLDEV503Fのハードディスクドライブ103に格納されている差分のデータを読み出して、ディスク制御部124が当該HDDLDEV503Hのハードディスクドライブ103に書き込む。
続いて、チャネル制御部121は、差分のデータの書込み処理が行われたハードディスクドライブ103の記憶領域に対応するフラッシュメモリ差分管理テーブル606の識別ビットを「0」にし(S39)、この後、再び、HDDLDEV503Hのハードディスクドライブ103が起動開始時間となったか否かをチェックするステップS31に戻り、同様の処理を繰り返す。
図18は、このストレージシステム100におけるハードディスクドライブ起動時間増減制御処理に関するストレージ制御装置102のチャネル制御部121の具体的な処理手順を示したフローチャートである。
チャネル制御部121は、所定のタイミングごとに、ハードディスクドライブ103の起動時間の増加又は現象についての制御を行うハードディスクドライブ起動時間増減制御処理プログラム610を実行することにより、図18に示すハードディスクドライブ起動時間増減制御処理手順RT4に従って、物理デバイス状況管理テーブル605を参照することにより、最初の物理デバイスを調査対象に設定する(S41)。
続いて、チャネル制御部121は、物理デバイス状況管理テーブル605を参照することにより、設定された物理デバイスが予め設定された閾値を超えているか否かをチェックする(S42)。この場合、物理デバイスの総書込み回数、総消去回数、物理デバイスの不良ブロック数、不良ブロック増加率、平均消去時間、オン/オフ回数及び総稼働時間には、物理デバイスの故障管理及び長寿命化管理等のため、予め閾値が設定されている。
そして、チャネル制御部121は、設定された物理デバイスが予め設定された閾値を超えている場合(S42:YES)には、当該物理デバイスがフラッシュメモリ405であるか否かをチェックする(S43)。
そして、チャネル制御部121は、当該物理デバイスがフラッシュメモリ405である場合(S43:YES)には、当該フラッシュメモリ405に対応するLDEV503(HDDLDEV503H)の起動時間を増加し、当該フラッシュメモリ405に対応するLDEV503(HDDLDEV503H)のリード処理を優先する。
例えば、チャネル制御部121は、フラッシュメモリ405の総書込み回数が65億回を超えた場合、総消去回数が5万回を超えた場合、不良ブロック数が320個を超えた場合、不良ブロック増加率が5%を超えた場合、平均消去時間が3msを越えた場合又は総稼動回数が7万5千時間を超えた場合に、当該フラッシュメモリ405に対応するLDEV503(HDDLDEV503H)の起動時間を2時間増加し、当該フラッシュメモリ405に対応するLDEV503(HDDLDEV503H)のリード処理を優先する。
そして、チャネル制御部121は、当該物理デバイスがフラッシュメモリ405でない場合(S43:YES)には、当該物理デバイスがハードディスクデバイス103であると判断して、当該ハードディスクデバイス103に対応するLDEV503(HDDLDEV503H)の起動時間を減少する(S44)。
例えば、チャネル制御部121は、ハードディスクデバイス103の不良ブロック数が16個を超えた場合、不良ブロック増加率が5%を超えた場合、オン/オフ回数が2万5千回を越えた場合又は総稼動回数が20万時間を超えた場合に、当該ハードディスクデバイス103に対応するLDEV503(HDDLDEV503H)の起動時間を2時間減少する。
やがて、チャネル制御部121は、当該物理デバイスを追加・交換する必要があるか否かをチェックする(S46)。そして、チャネル制御部121は、当該物理デバイスを追加・交換する必要がある場合(S46:YES)には、物理デバイスを追加・交換する(S47)。例えば、チャネル制御部121は、物理デバイスの寿命の80%を第2の閾値として設定し、それを超えた場合、又は実際にアクセス不能等の状況が起きた場合に、物理デバイスを交換する。なお、チャネル制御部121は、アクセスの不能による故障ではない場合には、ウェアレベル(Wear Level)を下げる意味で、物理デバイスを追加することができる。例えば、4台でストライピング制御しているうちの2台がパリティ(Parity)だったハードディスクデバイス103を、6台でストライピング制御し、1台をパリティとすれば、1台当たりの利用量が減少することとなる。
これに対して、チャネル制御部121は、設定された物理デバイスが予め設定された閾値を超えていない場合(S42:NO)には、第1及び第2の入出力回数管理テーブル603、604を参照することにより、当該物理デバイスに対応するHLDEV504又はLDEV503のリード回数が優位であるか否かをチェックする(S48)。そして、チャネル制御部121は、リード回数が優位である場合(S48:YES)には、当該物理デバイスに対応するLDEV503(HDDLDEV503H)の起動時間を減少する(S49)。
例えば、チャネル制御部121は、当該物理デバイスに対応するHLDEV504又はLDEV503のリード回数をライト回数で割ったときの商が「1000以上」である場合にリード優位であると判断して、当該物理デバイスに対応するLDEV503(HDDLDEV503H)の起動時間を2時間減少する。
これに対して、チャネル制御部121は、当該物理デバイスに対応するHLDEV504又はLDEV503のリード回数が優位でない場合(S48:NO)には、第1及び第2の入出力回数管理テーブル603、604を参照することにより、当該物理デバイスに対応するHLDEV504又はLDEV503のライト回数が優位であるか否かをチェックする(S50)。
そして、チャネル制御部121は、当該物理デバイスに対応するHLDEV504又はLDEV503のライト回数が優位である場合(S50:YES)には、当該物理デバイスに対応するLDEV503(HDDLDEV503H)の起動時間を増加する(S51)。
例えば、チャネル制御部121は、当該物理デバイスに対応するHLDEV504又はLDEV503のライト回数をリード回数で割ったときの商が「1000以上」である場合にライト優位であると判断して、当該物理デバイスに対応するLDEV503(HDDLDEV503H)の起動時間を2時間増加する。
やがて、チャネル制御部121は、ライト優位でない物理デバイスに対応するLDEV503(HDDLDEV503H)の起動時間を増加した場合(S51)、この他リード優位である物理デバイスに対応するLDEV503(HDDLDEV503H)の起動時間を減少した場合(S49)、当該物理デバイスを追加・交換した場合(S47)又は当該物理デバイスを追加・交換する必要がない場合(S46:NO)には、対応する各種テーブルを更新する(S52)。
例えば、チャネル制御部121は、予め設定された閾値を超えた物理デバイスがフラッシュメモリ405であった場合には、当該フラッシュメモリ405に対応するLDEV503(HDDLDEV503H)におけるHLDEV内起動時間間隔管理テーブル602の起動時間設定欄716に格納されている起動時間を増加し、当該フラッシュメモリ405の優先リード処理確認欄719に格納されている「FM優先」を変更して、当該フラッシュメモリ405に対応するLDEV503(HDDLDEV503H)の優先リード処理確認欄719に「HDD優先」を格納する。
また、例えば、チャネル制御部121は、予め設定された閾値を超えた物理デバイスを追加・交換する必要があった場合には、構成管理テーブル601、HLDEV内デバイス起動間隔管理テーブル602及び第1及び第2の入出力管理テーブル603、604の構成を再設定する。
やがて、チャネル制御部121は、対応する各種テーブルを更新した場合(S52)、この他リード優位でない物理デバイスに対応するHLDEV504又はLDEV503のライト回数が優位である場合(S50:YES)には、すべての物理デバイスの調査が終了したか否かをチェックする(S53)。そして、チャネル制御部121は、すべての物理デバイスの調査が終了していない場合(S53:NO)には、物理デバイス状況管理テーブル605を参照することにより、次の物理デバイスを調査対象に設定し(S54)、この後、再び、物理デバイス状況管理テーブル605を参照することにより、設定された物理デバイスが予め設定された閾値を超えているか否かをチェックするステップS42に戻り、同様の処理を繰り返す。
これに対して、チャネル制御部121は、すべての物理デバイスの調査が終了した場合(S53:YES)には、この後、図18に示すハードディスクドライブ起動時間増減制御処理手順RT4を終了する(S55)。
ここで、ハードディスクドライブ103の起動時間の増減量の算出方法の一例について説明する。ハードディスクドライブ103の寿命に関連する要素として、限界総起動時間を「Tmax」とし、限界オン/オフ回数を「Non/offmax」とし、「Tmax70%」を「Tmax」の70%の時間を表すとし、同様に、「Non/off70%」を起動時間増減の閾値とする。フラッシュメモリ405においても、例えば、限界総書込み回数を「Nwrmax」とし、閾値を同様に「Nwrmax70%」とする。また、現在の起動時間設定を「Ton0」時間とする。
例えば、チャネル制御部121は、第1の入出力回数管理テーブル603を参照することにより、所定の物理デバイスに対応するHLDEV504又はLDEV503のリード回数をライト回数で割ったときの商が「1100」となった場合、リード優位であると判断して、当該物理デバイスに対応するLDEV503(HDDLDEV503H)の起動時間を減少する。
このとき、注意する必要のあるパラメータの一例として、フラッシュメモリ405に対する限界総書込み回数である「Nwrmax」がある。この限界値に対して、違反が起きないように、以下のような計算により、時間変更量を計算することができる。
現在の1つ前のオフ時間になった時点を「T1」とし、そのときの総書込み回数を「NwrT1」とする。また、現在の時間「T2」における総書込み回数を「NwrT2」とし、フラッシュメモリ405の残保証寿命を「Tlifetimerest」とし、現在のFMLDEV503Fの現在の総書込み回数を「NFMLDEVwrT2」とすると、
Figure 2008097237
さらに、限界値を「Tb」とすると、
Figure 2008097237
として、
Figure 2008097237
の範囲で「Tonnew」に変更する。限界値「Tb」は、「1」以下になる場合があるが、その場合、例えば、「1」としておく。
一方、起動時間を増加す場合に注意するべきパラメータの一例として、ハードディスクドライブ103の限界稼働時間がある。例えば、「Ton0」を「Tonnew」に変更する場合に、予め定めた閾値を超えないように変更するとして、現在の時間「T2」までの総稼働時間を「TontotalT2」とし、切り替え前の差分量の同期に掛かる平均的な時間を「Ttransfer」とし、差分のデータの転送が終了してからハードディスクドライブ103を停止させるまでの時間をスピンオフ時間を「Tspinoff」とすると、
Figure 2008097237
Figure 2008097237
となる新しい「Ton」にする。
このようにして、ストレージシステム100では、フラッシュメモリ405等のアクセス性能においてハードディスクドライブ103との差異が明確な不揮発メモリを用意する。そして、ストレージシステム100では、物理デバイス状況管理テーブル605により、そのような不揮発メモリには書き換え回数制限、書き換え寿命が存在することを考慮した状況のモニタリングを行い、またハードディスクドライブ103等のディスク状記憶デバイスで構成する記憶領域と、フラッシュメモリ405等の不揮発メモリで構成する記憶領域とをミラーリング制御することで、ストレージシステムの高いアクセス性能を維持しつつ、不揮発メモリの記憶領域を利用することで、消費電力の低減、不揮発メモリ及びディスク状記憶デバイスの寿命の伸長並びにアクセス性能の最適化をすることができる。
具体的に、ストレージシステム100では、ハードディスクドライブ103の記憶領域を一定時間又はモニタリング状況により、あるタイミングで停止状態にし、その間は冗長ペアであるフラッシュメモリ405の記憶領域で入出力要求を受け付ける。この際、ストレージシステム100では、この間に起きる更新による差分を別途管理しておき、次のハードディスクドライブ103の起動時間のときに差分の同期を行う。
この場合、ストレージシステム100では、データに対するアクセスパターン、フラッシュメモリ405の書き換えアクティビティ、ハードディスクドライブ103の起動停止回数等が主なモニタリング項目であり、例えば、書き換えが少なく、読み出しが頻繁なデータを、ハードディスクドライブ103の停止時間を長くすることで、アクセス性能と低消費電力を両立させる。
また、ストレージシステム100では、書込み処理に関しては、従来からのキャッシュメモリ部122を利用したストレージシステム100の利点を生かし、書込み性能の不利と書き換え寿命の不利を低減することも可能である。
さらに、ストレージシステム100では、リード時に、従来のキャッシュメモリ部122以外に、フラッシュメモリ405をあたかもリードキャッシュ領域的に利用することで、アクセス性能の向上が可能である。
従って、ストレージシステム100では、低消費電力であり、かつ、必要なデータにおいてのアクセス性能の低下を起こさず、大規模構成が可能な、データをハードディスクドライブ103又はフラッシュメモリ405等の最適なメディアに格納できるシステムを提供することができる。また、ストレージシステム100では、各メディアの持つ特性(書き換え寿命や書込み性能、耐障害性)を考慮してシステム全体として、アクセス性能、信頼性、可用性の向上が可能となる。
なお、本実施の形態においては、フラッシュメモリ405及びメモリコントローラ406によりフラッシュメモリ制御部125を構成した場合について述べたが、本発明ではこれに限らす、この他種々の構成に適用することができる。
図19は、フラッシュメモリ制御部125の別の詳細の構成であるフラッシュメモリ制御部801のブロック図である。フラッシュメモリ制御部801は、フラッシュメモリ405及びメモリコントローラ406の代わりに、フラッシュメモリデバイス802(本図では、フラッシュメモリ制御部801の内部にフラッシュメモリデバイス802を備える例を示している)、コネクタ803及びフラッシュメモリデバイス802を制御するフラッシュメモリプロトコル処理部804が設けられている点を除いて、フラッシュメモリ制御部125と同様に構成されている。
フラッシュメモリ制御部801は、記憶素子としてフラッシュメモリデバイス802を用いている。フラッシュメモリデバイス802は、コネクタ803を介してフラッシュメモリプロトコル制御部804と接続されているため、脱着が可能となっている。このため、フラッシュメモリ制御部801は、フラッシュメモリデバイス802が故障した際には、交換することも可能となる(これを行うためには、チャネル制御部121のプロセッサ201が、予めフラッシュメモリデバイス802間で冗長構成をとるように、転送リスト411をセットしていればよい)。
また、フラッシュメモリ制御部801は、フラッシュメモリデバイス802自体を、より容量の大きなものに交換することも可能となる。さらに、フラッシュメモリ制御部801は、フラッシュメモリデバイス802とのやり取りを、汎用的なプロトコル(例えば、ONFI(Open NAND flash Interface)のようなローレベル(Low Level)アクセスプロトコルやコンパクトフラッシュ(登録商標)(Compact Flash)のようなプロトコルなどがある)で行う。このため、フラッシュメモリ制御部801は、フラッシュメモリプロトコル処理部804において、ストレージ制御装置102内部で処理できる形式に変換を行っている。
図20は、フラッシュメモリ制御部801の別の詳細の構成であるフラッシュメモリ制御部810のブロック図である。フラッシュメモリ制御部810は、フラッシュメモリデバイス802をフラッシュメモリ側チャネル902により接続している。これにより、フラッシュメモリ制御部810は、図19の特徴に加え、より多数のフラッシュメモリデバイス802を接続でき、大容量のストレージシステムを実現することができる。
なお、本実施の形態においては、LDEV503に割り当てられるDEV501(フラッシュメモリ405)の記憶容量と、LDEV503に割り当てられるDEV501(ハードディスクドライブ103)の記憶容量とが同じ記憶容量となるように設定されている場合について述べたが、本発明はこれに限らず、LDEV503に割り当てられるDEV501(ハードディスクドライブ103)の記憶容量とが同じ記憶容量でなくとも良い。
例えば、図21のように、HLDEV504を600GByteに設定し、FMLDEV503Fを60GByteに設定し、HDDLDEV503Hを600GByteに設定して、FMLDEV503FとHDDLDEV503Hとをペア構成にした場合でも、データアクセスに局所性があるときには、局所性のあるデータをFMLDEV503Fのフラッシュメモリ405に格納することにより、本実施の形態と同様の効果を得ることができる。
また、例えば、図22のように、ハードディスクドライブ103及びディスク制御部124の代わりに、一体型ディスク制御部802及び一体型ハードディスクドライブ821を設けるようにしても良い。この場合、一体型ハードディスクドライブ821は、ハードディスクドライブ103の記憶容量に比してフラッシュメモリ405の記憶容量が少なくなるように設けられている。このように構成した場合についても、本実施の形態と同様の効果を得ることができる。以下、一体型ハードディスクドライブ821のハードディスクドライブ103の記憶容量を200Byteに設定し、一体型ハードディスクドライブ821のフラッシュメモリ405の記憶容量を20Byteに設定した場合について考える。
この場合、例えば、図23のように、HLDEV504を120GByteに設定し、FMLDEV503Fを120GByteに設定し、HDDLDEV503Hを120GByteに設定して、一体型ハードディスクドライブ821内のフラッシュメモリ405の記憶容量20GByte及びハードディスクドライブ103の記憶容量20GByte間でのみでミラーリング制御するように、FMLDEV503FとHDDLDEV503Hとをペア構成にした場合でも、本実施の形態と同様の効果を得ることができる。
また、例えば、図24のように、HLDEV504を120GByteに設定し、FMLDEV503Fを120GByteに設定し、HDDLDEV503Hを120GByteに設定して、一体型ハードディスクドライブ821のフラッシュメモリ405の記憶容量20GByteと、他の一体型ハードディスクドライブ821のハードディスクドライブ103の記憶容量20GByteとが独立してミラーリング制御するように、FMLDEV503FとHDDLDEV503Hとをペア構成にした場合でも、本実施の形態と同様の効果を得ることができる。
さらに、例えば、図25のように、HLDEV504を60GByteに設定し、FMLDEV503Fを60GByteに設定し、HDDLDEV503Hを60GByteに設定して、一体型ハードディスクドライブ821内のフラッシュメモリ405の記憶容量20GByte及びハードディスクドライブ103の記憶容量20GByte間でのみでミラーリング制御し、かつ一体型ハードディスクドライブ821をミラーリング制御するように構成にした場合でも、本実施の形態と同様の効果を得ることができ、この他種々の構成にした場合にも、本実施の形態と同様の効果を得ることができる。
さらに、本実施の形態においては、HLDEV504に対して、フラッシュメモリ405によって構成されるLDEV503を少なくとも1の冗長度をもって割り当てた場合について述べたが、本発明はこれに限らず、HLDEV504に対して、フラッシュメモリ405によって構成されるLDEV503を冗長度0、すなわち、フラッシュメモリ405によって構成されるLDEV503のみを割り当てるようにしても良い。
さらに、本実施の形態においては、FMLDEV503Fのフラッシュメモリ405にリード対象のデータが格納されてない場合(S26:NO)には、リード対象のデータを読み出すべきHDDLDEV503Hのハードディスクドライブ103に格納されているリード対象のデータを読み出した場合について述べたが、本発明はこれに限らず、キャッシュメモリ部122に読み出すようにしても良い。
さらに、本実施の形態においては、データを格納するためのフラッシュメモリ405を設けた場合について述べたが、本発明はこれに限らず、例えば、相変化メモリや半導体メモリ等のこの他種々の不揮発メモリに適用することができる。
さらに、本実施の形態においては、フラッシュメモリ405よりもデータ書込み可能回数が多いディスク状記憶デバイスとしてハードディスクドライブ103を適用した場合について述べたが、本発明はこれに限らず、例えば、光ディスクや光磁気ディスク等のこの他種々のディスク状記憶デバイスに適用することができる。
さらに、本実施の形態においては、ストレージシステム100を、データを1つ又は複数のディスク装置又は記憶媒体に格納するストレージ制御装置及び複数のストレージ制御装置、テープライブラリ制御装置、光ディスクライブラリ制御装置、半導体ディスク制御装置などのソリッドステートディスク装置、フラッシュメモリに代表される、不揮発メモリを利用したストレージ装置などから構成されるストレージシステムに適用することができる。
本発明は、データを格納するために1又は複数のハードディスクドライブを駆動制御するストレージ装置に広く適用することができる。
本実施の形態によるストレージシステムの概略的な構成を示すブロック図である。 チャネル制御部の概略的な構成を示すブロック図である。 ディスク制御部の概略的な構成を示すブロック図である。 フラッシュメモリ制御部の概略的な構成を示すブロック図である。 ストレージ制御装置内に構築される記憶階層の説明に供する概念図である。 ストレージ制御装置内に構築されるHLDEV及びLDEVの対応関係の説明に供する概念図である。 制御情報メモリ部に格納される各種テーブル及び各種プログラムの説明に供する概念図である。 構成管理テーブルの説明に供する概念図である。 HLDEV内デバイス起動間隔管理テーブルの説明に供する概念図である。 第1の入出力回数管理テーブルの説明に供する概念図である。 第2の入出力回数管理テーブルの説明に供する概念図である。 物理デバイス状況管理テーブルの説明に供する概念図である。 フラッシュメモリ差分管理テーブル及びハードディスクドライブ差分管理テーブルの説明に供する概念図である。 ハードディスクドライブにおける起動時間及び停止時間の切り替えタイミングの説明に供する概念図である。 入出力制御処理の書込み処理手順の説明に供するフローチャートである。 入出力制御処理の読出し処理手順の説明に供するフローチャートである。 ミラーリング制御処理手順の説明に供するフローチャートである。 ハードディスクドライブ起動時間増減制御処理手順の説明に供するフローチャートである。 他の実施の形態によるフラッシュメモリ制御部の概略的な構成を示すブロック図である。 他の実施の形態によるフラッシュメモリ制御部の概略的な構成を示すブロック図である。 他の実施の形態によるストレージ制御装置内に構築されるHLDEV及びLDEVの対応関係の説明に供する概念図である。 一体型ディスク制御部及び一体型ハードディスクドライブの概略的な構成を示すブロック図である。 他の実施の形態によるストレージ制御装置内に構築されるHLDEV及びLDEVの対応関係の説明に供する概念図である。 他の実施の形態によるストレージ制御装置内に構築されるHLDEV及びLDEVの対応関係の説明に供する概念図である。 他の実施の形態によるストレージ制御装置内に構築されるHLDEV及びLDEVの対応関係の説明に供する概念図である。
符号の説明
100……ストレージシステム、101……ホストコンピュータ、102……ストレージ制御装置、103……ハードディスクドライブ、121……チャネル制御部、122……キャッシュメモリ部、123……制御情報メモリ部、124……ディスク制御部、125、801、810……フラッシュメモリ制御部、201、301……プロセッサ、405……フラッシュメモリ、406……メモリコントローラ、501……DEV、502……VDEV、503……LDEV、503F……FMLDEV、503H……HDDLDEV、504……HLDEV、601……構成管理テーブル、602……HLDEV内デバイス起動間隔管理テーブル、603……第1の入出力回数管理テーブル、604……第2の入出力回数管理テーブル、605……物理デバイス状況管理テーブル、606……フラッシュメモリ差分管理テーブル、607……ハードディスクドライブ差分管理テーブル、608……入出力制御プログラム、609……ミラーリング制御プログラム、610……ハードディスクドライブ起動時間増減制御プログラム

Claims (18)

  1. ホストコンピュータから送信されるデータを格納するための論理デバイスを前記ホストコンピュータに対して提供するストレージ装置であって、
    前記データを格納するための不揮発メモリと、
    前記データを格納するためのディスク状記憶デバイスと、
    前記不揮発メモリ及び前記ディスク状記憶デバイスを制御する制御部と
    を備え、
    前記制御部は、
    前記論理デバイスを、前記不揮発メモリ及び前記ディスク状記憶デバイスによる冗長構成とするように制御する
    ことを特徴とするストレージ装置。
  2. 前記制御部は、
    前記不揮発メモリ及び前記ディスク状記憶デバイスそれぞれを冗長構成とするように制御する
    ことを特徴とする請求項1に記載のストレージ装置。
  3. 前記制御部は、
    前記論理デバイスに対して送信された前記データを、前記不揮発メモリ及び前記ディスク状記憶デバイスによってミラーリング制御する
    ことを特徴とする請求項1に記載のストレージ装置。
  4. 前記制御部は、
    状況に応じて前記不揮発メモリと前記ディスク状記憶デバイスとを切り替えて、前記ホストコンピュータに対するデータの読み出し又は書き込みを行うように制御する
    ことを特徴とする請求項3に記載のストレージ装置。
  5. 前記制御部は、
    前記ディスク状記憶デバイスを停止又は起動するように制御する
    ことを特徴とする請求項4に記載のストレージ装置。
  6. 前記制御部は、
    前記ディスク状記憶デバイスが起動している状態で前記ホストコンピュータからリード要求を受信したとき、リード対象のデータが前記不揮発メモリに格納されている場合に、前記不揮発メモリから前記リード対象のデータを前記ホストコンピュータに読み出す
    ことを特徴とする請求項5に記載のストレージ装置。
  7. 前記制御部は、
    前記ディスク状記憶デバイスが起動している状態で前記ホストコンピュータからリード要求を受信したとき、リード対象のデータが前記不揮発メモリに格納されていない場合に、前記リード対象のデータを前記ディスク状記憶デバイスから前記不揮発メモリに書き込み、前記不揮発メモリから前記リード対象のデータを前記ホストコンピュータに読み出す
    ことを特徴とする請求項5に記載のストレージ装置。
  8. 前記不揮発メモリは、
    フラッシュメモリである
    ことを特徴とする請求項1に記載のストレージ装置。
  9. 前記不揮発メモリは、
    相変化メモリである
    ことを特徴とする請求項1に記載のストレージ装置。
  10. ホストコンピュータから送信されるデータを格納するための論理デバイスを前記ホストコンピュータに対して提供するストレージ装置の制御方法であって、
    前記論理デバイスを、前記データを格納するための不揮発メモリ及び前記データを格納するためのディスク状記憶デバイスによる冗長構成とするように制御する第1のステップ
    を備えることを特徴とする制御方法。
  11. 前記第1のステップでは、
    前記不揮発メモリ及び前記ディスク状記憶デバイスそれぞれを冗長構成とするように制御する
    ことを特徴とする請求項10に記載の制御方法。
  12. 前記第1のステップでは、
    前記論理デバイスに対して送信された前記データを、前記不揮発メモリ及び前記ディスク状記憶デバイスによってミラーリング制御する
    ことを特徴とする請求項10に記載の制御方法。
  13. 状況に応じて前記不揮発メモリと前記ディスク状記憶デバイスとを切り替えて、前記ホストコンピュータに対するデータの読み出し又は書き込みを行うように制御する第2のステップ
    を備えることを特徴とする請求項12に記載の制御方法。
  14. 前記第1のステップでは、
    前記ディスク状記憶デバイスを停止又は起動するように制御する
    ことを特徴とする請求項13に記載の制御方法。
  15. 前記第2のステップでは、
    前記ディスク状記憶デバイスが起動している状態で前記ホストコンピュータからリード要求を受信したとき、リード対象のデータが前記不揮発メモリに格納されている場合に、前記不揮発メモリから前記リード対象のデータを前記ホストコンピュータに読み出す
    ことを特徴とする請求項13に記載の制御方法。
  16. 前記第2のステップでは、
    前記ディスク状記憶デバイスが起動している状態で前記ホストコンピュータからリード要求を受信したとき、リード対象のデータが前記不揮発メモリに格納されていない場合に、前記リード対象のデータを前記ディスク状記憶デバイスから前記不揮発メモリに書き込み、前記不揮発メモリから前記リード対象のデータを前記ホストコンピュータに読み出す
    ことを特徴とする請求項13に記載の制御方法。
  17. 前記不揮発メモリは、
    フラッシュメモリである
    ことを特徴とする請求項10に記載のストレージ装置。
  18. 前記不揮発メモリは、
    相変化メモリである
    ことを特徴とする請求項10に記載のストレージ装置。
JP2006277102A 2006-10-11 2006-10-11 ストレージ装置及びその制御方法 Expired - Fee Related JP4942446B2 (ja)

Priority Applications (7)

Application Number Priority Date Filing Date Title
JP2006277102A JP4942446B2 (ja) 2006-10-11 2006-10-11 ストレージ装置及びその制御方法
US11/563,849 US7669019B2 (en) 2006-10-11 2006-11-28 Apparatus and method of mirroring data between nonvolatile memory and hard disk
EP07251516A EP1912122B1 (en) 2006-10-11 2007-04-05 Storage apparatus and control method thereof
DE602007006880T DE602007006880D1 (de) 2006-10-11 2007-04-05 Speichervorrichtung und Steuerungsverfahren dafür
CN2007101534627A CN101162422B (zh) 2006-10-11 2007-09-19 存储装置及其控制方法
US12/649,804 US8082389B2 (en) 2006-10-11 2009-12-30 Apparatus and method for mirroring data between nonvolatile memory and a hard disk drive
US13/297,424 US8214586B2 (en) 2006-10-11 2011-11-16 Apparatus and method for mirroring data between nonvolatile memory and a hard disk drive

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006277102A JP4942446B2 (ja) 2006-10-11 2006-10-11 ストレージ装置及びその制御方法

Publications (3)

Publication Number Publication Date
JP2008097237A true JP2008097237A (ja) 2008-04-24
JP2008097237A5 JP2008097237A5 (ja) 2009-03-26
JP4942446B2 JP4942446B2 (ja) 2012-05-30

Family

ID=38606607

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006277102A Expired - Fee Related JP4942446B2 (ja) 2006-10-11 2006-10-11 ストレージ装置及びその制御方法

Country Status (5)

Country Link
US (3) US7669019B2 (ja)
EP (1) EP1912122B1 (ja)
JP (1) JP4942446B2 (ja)
CN (1) CN101162422B (ja)
DE (1) DE602007006880D1 (ja)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010204885A (ja) * 2009-03-03 2010-09-16 Nec Corp ディスクアレイ装置及びその制御方法
JP2010287203A (ja) * 2009-06-11 2010-12-24 Sean Eilert 階層メモリ・アーキテクチャのためのメモリ・デバイス
JP2011028475A (ja) * 2009-07-24 2011-02-10 Dainippon Printing Co Ltd ハードディスクドライブ装置
JP2011107857A (ja) * 2009-11-16 2011-06-02 Hitachi Ltd 省電力機能を有するストレージシステム
JP2012137870A (ja) * 2010-12-24 2012-07-19 Internatl Business Mach Corp <Ibm> アクセス予測に基づいてテーブルのミラーリングを制御する管理システム、プログラムおよび方法
JP2013206151A (ja) * 2012-03-28 2013-10-07 Nec Corp ストレージ装置及びストレージ装置のデータ保存装置交換方法
JP2014194667A (ja) * 2013-03-28 2014-10-09 Fujitsu Ltd 情報処理装置、情報処理装置の制御プログラムおよび情報処理装置の制御方法
JP2014532911A (ja) * 2011-10-27 2014-12-08 メモライト (ウハン) カンパニー,リミテッド 混合記憶制御システム及び方法
JP2018073005A (ja) * 2016-10-26 2018-05-10 キヤノン株式会社 情報処理装置とその制御方法、及びプログラム
JP2019061483A (ja) * 2017-09-26 2019-04-18 キヤノン株式会社 記憶制御装置、その制御方法、プログラム、及び情報処理装置

Families Citing this family (82)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SG135056A1 (en) * 2006-02-14 2007-09-28 Trek 2000 Int Ltd Data storage device using two types of storage medium
JP4942446B2 (ja) 2006-10-11 2012-05-30 株式会社日立製作所 ストレージ装置及びその制御方法
US8706968B2 (en) 2007-12-06 2014-04-22 Fusion-Io, Inc. Apparatus, system, and method for redundant write caching
US8719501B2 (en) 2009-09-08 2014-05-06 Fusion-Io Apparatus, system, and method for caching data on a solid-state storage device
US8935302B2 (en) 2006-12-06 2015-01-13 Intelligent Intellectual Property Holdings 2 Llc Apparatus, system, and method for data block usage information synchronization for a non-volatile storage volume
US9104599B2 (en) 2007-12-06 2015-08-11 Intelligent Intellectual Property Holdings 2 Llc Apparatus, system, and method for destaging cached data
US8489817B2 (en) 2007-12-06 2013-07-16 Fusion-Io, Inc. Apparatus, system, and method for caching data
CN101715575A (zh) 2006-12-06 2010-05-26 弗森多系统公司(dba弗森-艾奥) 采用数据管道管理数据的装置、系统和方法
US8443134B2 (en) 2006-12-06 2013-05-14 Fusion-Io, Inc. Apparatus, system, and method for graceful cache device degradation
US20080147940A1 (en) * 2006-12-18 2008-06-19 Rom-Shen Kao Method and apparatus for controlling a shared bus
JP4912174B2 (ja) * 2007-02-07 2012-04-11 株式会社日立製作所 ストレージシステム及び記憶管理方法
JP4900807B2 (ja) * 2007-03-06 2012-03-21 株式会社日立製作所 ストレージシステム及びデータ管理方法
KR100866962B1 (ko) * 2007-03-08 2008-11-05 삼성전자주식회사 Hdd를 하이브리드 hdd에서 노멀 hdd로 전환시키는방법
JP2008276646A (ja) * 2007-05-02 2008-11-13 Hitachi Ltd ストレージ装置及びストレージ装置におけるデータの管理方法
US8068433B2 (en) * 2007-11-26 2011-11-29 Microsoft Corporation Low power operation of networked devices
US9519540B2 (en) 2007-12-06 2016-12-13 Sandisk Technologies Llc Apparatus, system, and method for destaging cached data
US7836226B2 (en) 2007-12-06 2010-11-16 Fusion-Io, Inc. Apparatus, system, and method for coordinating storage requests in a multi-processor/multi-thread environment
US8074014B2 (en) * 2008-03-31 2011-12-06 Microsoft Corporation Storage systems using write off-loading
KR20110050404A (ko) 2008-05-16 2011-05-13 퓨전-아이오, 인크. 결함 있는 데이터 저장소를 검출하고 교체하는 장치, 시스템 및 프로그램 제품
US8510577B2 (en) * 2008-07-28 2013-08-13 Microsoft Corporation Reducing power consumption by offloading applications
US8756369B2 (en) * 2008-09-26 2014-06-17 Netapp, Inc. Priority command queues for low latency solid state drives
US8412880B2 (en) 2009-01-08 2013-04-02 Micron Technology, Inc. Memory system controller to manage wear leveling across a plurality of storage nodes
US8281227B2 (en) 2009-05-18 2012-10-02 Fusion-10, Inc. Apparatus, system, and method to increase data integrity in a redundant storage system
US8307258B2 (en) 2009-05-18 2012-11-06 Fusion-10, Inc Apparatus, system, and method for reconfiguring an array to operate with less storage elements
EP2270672A1 (en) * 2009-07-02 2011-01-05 Giga-Byte Technology Co., Ltd. Flash memory control device
US9122579B2 (en) 2010-01-06 2015-09-01 Intelligent Intellectual Property Holdings 2 Llc Apparatus, system, and method for a storage layer
WO2011031903A2 (en) * 2009-09-09 2011-03-17 Fusion-Io, Inc. Apparatus, system, and method for allocating storage
US8370672B2 (en) * 2010-02-26 2013-02-05 Microsoft Corporation Reducing power consumption of distributed storage systems
US8327177B2 (en) * 2010-05-17 2012-12-04 Dell Products L.P. System and method for information handling system storage device power consumption management
JP5641900B2 (ja) * 2010-11-29 2014-12-17 キヤノン株式会社 管理装置及びその制御方法、並びにプログラム
US8656454B2 (en) 2010-12-01 2014-02-18 Microsoft Corporation Data store including a file location attribute
US20120239860A1 (en) 2010-12-17 2012-09-20 Fusion-Io, Inc. Apparatus, system, and method for persistent data management on a non-volatile storage media
JP5618818B2 (ja) * 2010-12-28 2014-11-05 任天堂株式会社 情報処理装置、情報処理プログラムおよび情報処理方法
US8346990B2 (en) * 2011-01-31 2013-01-01 Lsi Corporation Methods and systems for tracking data activity levels
WO2012106362A2 (en) 2011-01-31 2012-08-09 Fusion-Io, Inc. Apparatus, system, and method for managing eviction of data
US9003104B2 (en) 2011-02-15 2015-04-07 Intelligent Intellectual Property Holdings 2 Llc Systems and methods for a file-level cache
US8874823B2 (en) 2011-02-15 2014-10-28 Intellectual Property Holdings 2 Llc Systems and methods for managing data input/output operations
US9201677B2 (en) 2011-05-23 2015-12-01 Intelligent Intellectual Property Holdings 2 Llc Managing data input/output operations
US9141527B2 (en) 2011-02-25 2015-09-22 Intelligent Intellectual Property Holdings 2 Llc Managing cache pools
US9563555B2 (en) 2011-03-18 2017-02-07 Sandisk Technologies Llc Systems and methods for storage allocation
WO2012129191A2 (en) 2011-03-18 2012-09-27 Fusion-Io, Inc. Logical interfaces for contextual storage
US9384199B2 (en) 2011-03-31 2016-07-05 Microsoft Technology Licensing, Llc Distributed file system
US20120254508A1 (en) 2011-04-04 2012-10-04 International Business Machines Corporation Using the Short Stroked Portion of Hard Disk Drives for a Mirrored Copy of Solid State Drives
CN102456066A (zh) * 2011-07-13 2012-05-16 北京壹人壹本信息科技有限公司 一种基于Android系统的装置及进行数据存储的方法
US9274937B2 (en) 2011-12-22 2016-03-01 Longitude Enterprise Flash S.A.R.L. Systems, methods, and interfaces for vector input/output operations
CN102609070B (zh) * 2011-12-26 2014-12-10 创新科存储技术有限公司 一种利用maid技术实现节能的设备
US10102117B2 (en) 2012-01-12 2018-10-16 Sandisk Technologies Llc Systems and methods for cache and storage device coordination
US9251052B2 (en) 2012-01-12 2016-02-02 Intelligent Intellectual Property Holdings 2 Llc Systems and methods for profiling a non-volatile cache having a logical-to-physical translation layer
US9767032B2 (en) 2012-01-12 2017-09-19 Sandisk Technologies Llc Systems and methods for cache endurance
US9251086B2 (en) 2012-01-24 2016-02-02 SanDisk Technologies, Inc. Apparatus, system, and method for managing a cache
US9116812B2 (en) 2012-01-27 2015-08-25 Intelligent Intellectual Property Holdings 2 Llc Systems and methods for a de-duplication cache
US10019353B2 (en) 2012-03-02 2018-07-10 Longitude Enterprise Flash S.A.R.L. Systems and methods for referencing data on a storage medium
US10339056B2 (en) 2012-07-03 2019-07-02 Sandisk Technologies Llc Systems, methods and apparatus for cache transfers
US9612966B2 (en) 2012-07-03 2017-04-04 Sandisk Technologies Llc Systems, methods and apparatus for a virtual machine cache
US10346095B2 (en) 2012-08-31 2019-07-09 Sandisk Technologies, Llc Systems, methods, and interfaces for adaptive cache persistence
US10318495B2 (en) 2012-09-24 2019-06-11 Sandisk Technologies Llc Snapshots for a non-volatile device
US10509776B2 (en) 2012-09-24 2019-12-17 Sandisk Technologies Llc Time sequence data management
US20140181437A1 (en) * 2012-12-26 2014-06-26 Unisys Corporation Equalizing wear on mirrored storage devices through file system controls
US9424125B2 (en) * 2013-01-16 2016-08-23 Google Inc. Consistent, disk-backed arrays
JP2014142822A (ja) * 2013-01-24 2014-08-07 Azbil Corp データ作成装置および方法
US9652376B2 (en) 2013-01-28 2017-05-16 Radian Memory Systems, Inc. Cooperative flash memory control
US9229854B1 (en) 2013-01-28 2016-01-05 Radian Memory Systems, LLC Multi-array operation support and related devices, systems and software
US11249652B1 (en) 2013-01-28 2022-02-15 Radian Memory Systems, Inc. Maintenance of nonvolatile memory on host selected namespaces by a common memory controller
US10642505B1 (en) 2013-01-28 2020-05-05 Radian Memory Systems, Inc. Techniques for data migration based on per-data metrics and memory degradation
US10445229B1 (en) 2013-01-28 2019-10-15 Radian Memory Systems, Inc. Memory controller with at least one address segment defined for which data is striped across flash memory dies, with a common address offset being used to obtain physical addresses for the data in each of the dies
US9842053B2 (en) 2013-03-15 2017-12-12 Sandisk Technologies Llc Systems and methods for persistent cache logging
US10102144B2 (en) 2013-04-16 2018-10-16 Sandisk Technologies Llc Systems, methods and interfaces for data virtualization
US10558561B2 (en) 2013-04-16 2020-02-11 Sandisk Technologies Llc Systems and methods for storage metadata management
US9842128B2 (en) 2013-08-01 2017-12-12 Sandisk Technologies Llc Systems and methods for atomic storage operations
US10019320B2 (en) 2013-10-18 2018-07-10 Sandisk Technologies Llc Systems and methods for distributed atomic storage operations
US10073630B2 (en) 2013-11-08 2018-09-11 Sandisk Technologies Llc Systems and methods for log coordination
US9542118B1 (en) 2014-09-09 2017-01-10 Radian Memory Systems, Inc. Expositive flash memory control
US10552085B1 (en) 2014-09-09 2020-02-04 Radian Memory Systems, Inc. Techniques for directed data migration
US9946607B2 (en) 2015-03-04 2018-04-17 Sandisk Technologies Llc Systems and methods for storage error management
US10552058B1 (en) 2015-07-17 2020-02-04 Radian Memory Systems, Inc. Techniques for delegating data processing to a cooperative memory controller
US10152348B2 (en) * 2015-11-26 2018-12-11 Kyocera Document Solutions Inc. Managing use a limited-life storage device by suspending classes of task based on an amount of data to be written and an efficiency index
CN109144907B (zh) * 2017-06-27 2021-08-10 北京忆芯科技有限公司 实现快速读取的方法及介质接口控制器
CN108345510B (zh) * 2018-01-11 2022-02-08 中国人民解放军国防科技大学 一种自动巡检检测大规模离线归档系统可靠性的方法
CN108255431B (zh) * 2018-01-11 2020-11-13 中国人民解放军国防科技大学 一种统一管理的、基于策略的低功耗归档分析系统
CN108897263B (zh) * 2018-09-13 2020-06-12 杭州华澜微电子股份有限公司 具有多维数据传输和处理功能的智能电路单元及其系统和控制方法
US20190163403A1 (en) * 2019-01-31 2019-05-30 Intel Corporation Solid state drive with reduced host oversight of high priority read command
US11175984B1 (en) 2019-12-09 2021-11-16 Radian Memory Systems, Inc. Erasure coding techniques for flash memory

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000207137A (ja) * 1999-01-12 2000-07-28 Kowa Co 情報記憶装置
WO2005081093A1 (en) * 2004-02-04 2005-09-01 Sandisk Corporation Dual media storage device
JP2006260008A (ja) * 2005-03-16 2006-09-28 Nec Corp 冗長化ディスクシステム

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7035972B2 (en) * 2002-09-03 2006-04-25 Copan Systems, Inc. Method and apparatus for power-efficient high-capacity scalable storage system
JP3983650B2 (ja) 2002-11-12 2007-09-26 株式会社日立製作所 ハイブリッドストレージ、および、それを用いた情報処理装置
US6961815B2 (en) * 2002-12-05 2005-11-01 International Business Machines Corporation Multiple disk data storage system for reducing power consumption
JP3707740B2 (ja) 2003-09-11 2005-10-19 コナミ株式会社 ゲーム装置、ゲーム装置の制御方法及びプログラム
JP4428993B2 (ja) * 2003-11-27 2010-03-10 株式会社日立製作所 ディスクアレイ装置及びディスクアレイ装置の制御方法
US20080147964A1 (en) * 2004-02-26 2008-06-19 Chow David Q Using various flash memory cells to build usb data flash cards with multiple partitions and autorun function
US7472222B2 (en) 2004-10-12 2008-12-30 Hitachi Global Storage Technologies Netherlands B.V. HDD having both DRAM and flash memory
TWI291087B (en) * 2005-05-10 2007-12-11 Quanta Comp Inc Portable computer and data backup method thereof
JP5124103B2 (ja) * 2006-05-16 2013-01-23 株式会社日立製作所 計算機システム
KR100801015B1 (ko) * 2006-08-30 2008-02-04 삼성전자주식회사 하이브리드 하드 디스크 드라이브와 데이터 저장 방법
JP4942446B2 (ja) 2006-10-11 2012-05-30 株式会社日立製作所 ストレージ装置及びその制御方法
JP5124217B2 (ja) * 2007-09-18 2013-01-23 株式会社日立製作所 ストレージ装置
JP2010049502A (ja) * 2008-08-21 2010-03-04 Hitachi Ltd ストレージサブシステム、及びこれを有するストレージシステム
US9165021B2 (en) * 2009-04-14 2015-10-20 International Business Machines Corporation Managing database object placement on multiple storage devices
US8756387B2 (en) * 2010-03-05 2014-06-17 International Business Machines Corporation Method and apparatus for optimizing the performance of a storage system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000207137A (ja) * 1999-01-12 2000-07-28 Kowa Co 情報記憶装置
WO2005081093A1 (en) * 2004-02-04 2005-09-01 Sandisk Corporation Dual media storage device
JP2006260008A (ja) * 2005-03-16 2006-09-28 Nec Corp 冗長化ディスクシステム

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010204885A (ja) * 2009-03-03 2010-09-16 Nec Corp ディスクアレイ装置及びその制御方法
US10031879B2 (en) 2009-06-11 2018-07-24 Micron Technology, Inc. Memory device for a hierarchical memory architecture
JP2010287203A (ja) * 2009-06-11 2010-12-24 Sean Eilert 階層メモリ・アーキテクチャのためのメモリ・デバイス
US9123409B2 (en) 2009-06-11 2015-09-01 Micron Technology, Inc. Memory device for a hierarchical memory architecture
US10725956B2 (en) 2009-06-11 2020-07-28 Micron Technology, Inc. Memory device for a hierarchical memory architecture
US9626327B2 (en) 2009-06-11 2017-04-18 Micron Technology, Inc. Memory device for a hierarchical memory architecture
JP2011028475A (ja) * 2009-07-24 2011-02-10 Dainippon Printing Co Ltd ハードディスクドライブ装置
JP2011107857A (ja) * 2009-11-16 2011-06-02 Hitachi Ltd 省電力機能を有するストレージシステム
JP2012137870A (ja) * 2010-12-24 2012-07-19 Internatl Business Mach Corp <Ibm> アクセス予測に基づいてテーブルのミラーリングを制御する管理システム、プログラムおよび方法
US9424316B2 (en) 2010-12-24 2016-08-23 International Business Machines Corporation Controlling mirroring of tables based on access prediction
US10394819B2 (en) 2010-12-24 2019-08-27 International Business Machines Corporation Controlling mirroring of tables based on access prediction
JP2014532911A (ja) * 2011-10-27 2014-12-08 メモライト (ウハン) カンパニー,リミテッド 混合記憶制御システム及び方法
JP2013206151A (ja) * 2012-03-28 2013-10-07 Nec Corp ストレージ装置及びストレージ装置のデータ保存装置交換方法
JP2014194667A (ja) * 2013-03-28 2014-10-09 Fujitsu Ltd 情報処理装置、情報処理装置の制御プログラムおよび情報処理装置の制御方法
JP2018073005A (ja) * 2016-10-26 2018-05-10 キヤノン株式会社 情報処理装置とその制御方法、及びプログラム
JP2019061483A (ja) * 2017-09-26 2019-04-18 キヤノン株式会社 記憶制御装置、その制御方法、プログラム、及び情報処理装置

Also Published As

Publication number Publication date
US7669019B2 (en) 2010-02-23
US8082389B2 (en) 2011-12-20
US20120066440A1 (en) 2012-03-15
CN101162422B (zh) 2011-05-11
DE602007006880D1 (de) 2010-07-15
JP4942446B2 (ja) 2012-05-30
EP1912122B1 (en) 2010-06-02
US20100106903A1 (en) 2010-04-29
EP1912122A1 (en) 2008-04-16
US20080091876A1 (en) 2008-04-17
CN101162422A (zh) 2008-04-16
US8214586B2 (en) 2012-07-03

Similar Documents

Publication Publication Date Title
JP4942446B2 (ja) ストレージ装置及びその制御方法
US8166270B2 (en) Storage control apparatus, data management system and data management method for determining storage heirarchy based on a user policy
EP1768014B1 (en) Storage control apparatus, data management system and data management method
US7216244B2 (en) Data storage system with redundant storage media and method therefor
JP4818812B2 (ja) フラッシュメモリストレージシステム
JP4901316B2 (ja) ストレージシステム及び記憶制御装置
JP2008015769A (ja) ストレージシステム及び書き込み分散方法
JP2008276626A (ja) 記憶制御装置及び記憶制御装置の制御方法
JP2009199199A (ja) ストレージシステム及びそのデータライト方法
JP2007156597A (ja) ストレージ装置
JP2007072988A (ja) ディスクアレイ装置及びデータ移動方法並びにプログラム
JP2006139552A (ja) ストレージ装置及びストレージ装置のデータライフサイクル管理方法
JP2013515979A (ja) ストレージ装置
JP2008146141A (ja) ストレージシステムと記憶領域の選択方法並びにプログラム
US20100306484A1 (en) Heterogeneous storage array optimization through eviction
JP6554990B2 (ja) ストレージ制御装置およびストレージ制御プログラム
JP2012038212A (ja) ストレージ装置及びその制御方法
US9032150B2 (en) Storage apparatus and control method of storage apparatus
JP5953245B2 (ja) 情報処理システム
JP2012164136A (ja) ストレージ装置、ストレージ装置の制御プログラム、及びストレージ装置の制御方法
JP2002175157A (ja) ディスクアレイ装置

Legal Events

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

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20090203

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090205

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090205

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110516

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110621

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110822

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120214

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120228

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150309

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees