[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JP5075761B2 - フラッシュメモリを用いたストレージ装置 - Google Patents

フラッシュメモリを用いたストレージ装置 Download PDF

Info

Publication number
JP5075761B2
JP5075761B2 JP2008213464A JP2008213464A JP5075761B2 JP 5075761 B2 JP5075761 B2 JP 5075761B2 JP 2008213464 A JP2008213464 A JP 2008213464A JP 2008213464 A JP2008213464 A JP 2008213464A JP 5075761 B2 JP5075761 B2 JP 5075761B2
Authority
JP
Japan
Prior art keywords
storage
storage area
flash memory
capacity
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.)
Expired - Fee Related
Application number
JP2008213464A
Other languages
English (en)
Other versions
JP2009301525A5 (ja
JP2009301525A (ja
Inventor
山本  政行
山本  彰
昭 藤林
潤 北原
義樹 加納
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 JP2008213464A priority Critical patent/JP5075761B2/ja
Priority to US12/248,519 priority patent/US8275965B2/en
Publication of JP2009301525A publication Critical patent/JP2009301525A/ja
Publication of JP2009301525A5 publication Critical patent/JP2009301525A5/ja
Priority to US13/466,163 priority patent/US8429372B2/en
Application granted granted Critical
Publication of JP5075761B2 publication Critical patent/JP5075761B2/ja
Priority to US13/867,155 priority patent/US8806170B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • 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/0614Improving the reliability of storage systems
    • G06F3/0616Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
    • 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/0638Organizing or formatting or addressing of data
    • G06F3/0644Management of space entities, e.g. partitions, extents, pools
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1032Reliability improvement, data loss prevention, degraded operation etc
    • G06F2212/1036Life time enhancement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7206Reconfiguration of flash memory system

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)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Memory System (AREA)

Description

本発明は、計算機システムに用いられるストレージ装置に関する。特に本発明は、フラッシュメモリなどの不揮発性半導体メモリを用いたストレージ装置に関する。
ストレージ装置は、一般的に、ランダムアクセス可能な不揮発性記憶媒体を備える。ランダムアクセス可能な不揮発性記憶媒体は、例えば、磁気ディスク(以下ハードディスクとも呼ぶ)、光ディスク等であり、例えば特許文献1のように、ハードディスクを多数備えた構成をとる。
また、近年、従来のハードディスクの代替としてフラッシュメモリなどの不揮発性半導体メモリを記憶媒体としたストレージ装置が注目を集めている。フラッシュメモリはハードディスクに比べて高速動作可能で、かつ消費電力が低いという利点を持つ。特許文献2には、ストレージ装置において、複数のフラッシュメモリを備え、SCSI(Small Computer System Interface)等の従来ハードディスクのアクセス手段でアクセス可能としたフラッシュメモリディスクを、ストレージ装置のハードディスクの代替として利用する技術が開示されている。
特開2004-5370号公報 米国特許第6529416号公報
先に述べたフラッシュメモリおよびハードディスク双方の記憶媒体の特徴を活用する形態として、ホスト計算機に対して記憶領域を提供する論理デバイスとして、例えばデータウェアハウスのような大量データのランダムリードアクセスの高性能化が求められる場合はフラッシュメモリから構成される論理デバイスを提供し、例えば長期データのアーカイブといったデータ保持コストを抑えたい場合はハードディスクから構成される論理デバイスを提供することが考えられる。このように、二つの記憶媒体の論理デバイスを一つのストレージ装置で提供できることが望ましい。
上記のようなストレージ装置を実現する形態として、特許文献2のフラッシュメモリディスクを特許文献1に示すストレージ装置に搭載し、フラッシュメモリディスクとハードディスクを混在させることで、SCSI等のアクセス手段を変更すること無くフラッシュメモリなどの不揮発性半導体メモリを記憶媒体として用いることはできる。しかし、ストレージ装置に搭載できるフラッシュメモリは、フラッシュメモリディスクが準じるハードディスクのフォームファクタの制約を受けるため、フラッシュメモリをそのまま接続したストレージ装置よりも、フラッシュメモリモジュールの高密度な実装が困難であるという課題がある。また、フラッシュメモリディスクの性能は磁気ディスクのアクセス手段のピーク性能に準じるため、将来フラッシュメモリのアクセス性能が向上してもその性能を十分発揮できない可能性があるという課題がある。
上記の課題を解決するには、フラッシュメモリを、従来ハードディスクのアクセス手段ではなく、直接入出力するアクセス手段を備えつつ、ハードディスクのアクセス手段も具備したストレージ装置を実現する必要がある。
本発明は前記課題を鑑みたものである。
本発明のストレージ装置は、少なくともデータを格納するフラッシュメモリと、ストレージ装置の制御を行うストレージコントローラとを備え、I/O要求を発行するホスト計算機と、ストレージシステムを管理する管理計算機と、磁気ディスクを備える第二のストレージ装置が接続される。フラッシュメモリはフラッシュメモリパッケージ(基板)上に実装され、メモリモジュールやパッケージなどの単位でストレージ装置に増設できる。前記ストレージコントローラは、ホスト計算機上で稼働するオペレーティングシステム(以下OSと略記)等のデータを格納する記憶領域である論理ボリュームを作成するとき、当該ストレージ装置のフラッシュメモリパッケージ上のフラッシュメモリから記憶領域を構成することもできるし、特許文献1の技術により、前記第二のストレージ装置の磁気ディスクから構成される記憶領域を用いて記憶領域を構成することもできる。ホスト計算機からのI/O要求が発行されたとき、前記ストレージコントローラは、もし当該ストレージ装置のフラッシュメモリから記憶領域を構成したときは、フラッシュメモリに直接アクセスしてI/O要求を処理する。もし前記第二のストレージ装置の磁気ディスクから構成される記憶領域を用いて記憶領域を構成したときは、SCSIコマンド等の磁気ディスクのアクセス手段を用いてI/O要求を処理する。当該ストレージ装置でフラッシュメモリから構成される記憶領域を定義するときは、ホスト計算機に提供する記憶領域の容量と、フラッシュメモリの消去回数の制約を考慮した代替領域容量を合算して記憶領域を定義する。そのとき、当該記憶領域のをどのようなアプリケーションで用いるかを示す「用途」を指定し、代替領域容量のストレージ管理者からの入力を省略してもよい。また、フラッシュメモリから構成される記憶領域を定義するとき、当該記憶領域とコピーペアの関係になるハードディスクドライブから構成される記憶領域へのライトアクセス頻度から、代替領域容量を算出してもよい。
本発明によれば、ストレージ装置にフラッシュメモリパッケージでフラッシュメモリを搭載することで、高密度な実装が可能となる。
さらに、フラッシュメモリの消去回数の制約を考慮した代替領域容量の設定を設け、フラッシュメモリから構成される記憶領域を耐用年数を向上させる。さらに、代替領域容量の定義を簡素化し、フラッシュメモリに関する知識の有無にかかわらず、フラッシュメモリから構成される記憶領域を利用することができる。
以下に、図面を参照しながら本発明の実施形態を説明する。尚これにより本発明が限定されるものではない。
本実施形態は、フラッシュメモリパッケージでフラッシュメモリを搭載し、かつ磁気ディスクを搭載した従来のストレージ装置に接続したストレージ装置により、フラッシュメモリへの直接アクセスと従来の磁気ディスクのアクセスの両方のI/O要求処理を実現できることを示す。
(1-1)実施例1における計算機システムの構成
実施例1における計算機システム構成について説明する。図1から図2は計算機システムの構成および計算機システムに接続される装置の構成を示し、図3から図7は各装置に具備される管理情報を示す。
図1に計算機システムの構成を示す。1台以上のホスト計算機10000と、後述するフラッシュメモリを搭載するストレージ装置30000と、後述するハードディスクを搭載する1台以上のストレージ装置40000とが、ストレージネットワーク20000で互いに接続される。また、ストレージ装置20000とストレージ装置30000は、管理ネットワーク60000を介して、管理計算機50000に接続される。
ホスト計算機10000の詳細な構成について説明する。ホスト計算機10000は、CPU(Central Processing Unit)11000と、メモリ12000と、ストレージネットワーク20000に接続するための一つ以上のI/Oポート13000と、処理結果を出力するためのディスプレイ装置等の出力部16000と、キーボードやマウス等の入力部15000とを有し、これらは内部バス14000で互いに接続される。メモリ12000には、OS(図示せず)と、ストレージ装置へのデータアクセスを伴う処理を行うアプリケーション(図示せず)が存在する。これらのプログラムは、ハードディスク等の記憶媒体(図示せず)からロードされ、プロセッサ11000がこれらのプログラムを参照するものとする。
ストレージ装置30000は、I/Oポート31000と、ストレージコントローラ32000と、フラッシュメモリを搭載するフラッシュメモリパッケージ33000と、キャッシュメモリ34000と、管理ネットワーク60000に接続するための管理ポート35000とを有する。詳細な構成例は後述する。
ストレージ装置40000は、I/Oポート41000と、ストレージコントローラ42000と、ハードディスク43000と、キャッシュメモリ44000と、管理ポート45000とを有する。以降の説明を簡単にするため、本発明におけるストレージ装置40000は、特許文献1の技術により、ストレージ装置30000の記憶領域として、ストレージ装置40000のハードディスク43000の記憶領域を提供する装置である。よって、従来のストレージ装置と同様のI/O処理を実施するため、詳細な説明を省略する。
管理計算機50000の詳細な構成について説明する。管理計算機50000は、CPU51000と、メモリ52000と、管理ポート53000と、処理結果を出力するためのディスプレイ装置等の出力部56000と、キーボードやマウス等の入力部55000とを有し、これらは内部バス54000で互いに接続される。管理計算機50000は、ストレージ装置30000または40000の運用管理を実行するため、ハードディスク等の記憶媒体(図示せず)またはストレージ装置30000または40000との通信によりプログラムをメモリ52000にロードして実行する。また、図示していないが、メモリ52000には、OS(オペレーティングシステム)が記憶媒体からロードされ、プロセッサ51000がこれらのプログラムを実行している。
ホスト計算機とストレージ装置の間、および、ストレージ装置とストレージ装置の間のストレージネットワーク50000は、スイッチにより構成されてもよいし、装置間で直接接続されていてもよい。
以降の説明の都合上、実施例1では、ホスト計算機がストレージネットワークを介してストレージ装置ST1,ST2に接続されるものとする。また、ストレージネットワーク20000はFC(Fibre Channel)プロトコルを用いたネットワーク、管理ネットワーク60000はIPプロトコルを用いたネットワークであるとする。
図2にストレージ装置30000の詳細な構成例を示す。ストレージ装置30000は、一つ以上のI/Oポート31000と、ストレージコントローラ32000と、フラッシュメモリモジュール33100を搭載する一つ以上のフラッシュメモリパッケージ33000と、キャッシュメモリ(CM)34000と、管理ネットワーク60000に接続するための管理ポート35000とを有しこれらはストレージコントローラ32000を介して互いに接続される。
ストレージコントローラ32000には、ストレージ装置内の制御を行うマイクロプログラム(図示せず)が存在し、特許文献1で開示された技術を用いて、ストレージ装置40000の記憶領域を外部デバイス(EXDEV)として認識し、ホスト計算機10000に対する論理デバイス(LDEV)として提供できるものとする。さらに、ストレージコントローラ32000には、論理デバイスを管理するための論理デバイステーブル(LDEV TBL)32100と、後述するフラッシュメモリパッケージ上のフラッシュメモリモジュールから構成される記憶領域である内部デバイス(INDEV)を管理するための内部デバイステーブル(INDEV TBL)32200と、外部デバイスを管理するための外部デバイステーブル(EXDEV TBL)32300と、LDEVの一部領域のCM格納状況を管理するためのキャッシュ割り当てテーブル(CM TBL)32400と、フラッシュメモリパッケージを管理するためのフラッシュメモリパッケージテーブル(FPK TBL)32500と、デバイスの割り当てや状態を管理するデバイス管理プログラム(DEV管理PG)32600と、LDEVへのI/Oを制御するI/O制御プログラム(I/O制御PG)32700と、後述するINDEVの用途に対応した代替領域容量を定義する用途別代替領域容量テーブル(USAGE TBL)32800と、DEV管理PG32600においてINDEVを設定するときに呼び出される内部デバイス設定プログラム(INDEV PG)32900を備える。これらは、図示しないが、ストレージコントローラ内に存在するハードディスク等の記憶媒体からメモリにロードされてプロセッサにより実行されるものとする。
フラッシュメモリパッケージ(FPK)33000は、一つ以上のフラッシュメモリモジュール(FM)33100から構成される基板である。ここで、フラッシュメモリモジュール(FM)33100とは、例えばDIMM(Dual Inline Memory Module)のような形状の、プリント基板にフラッシュメモリチップを複数搭載した基板である。後述するDEV管理PG32600において、ストレージ管理者から指定された容量を満たすようFPKおよびFMを組み合わせてINDEVは作成され、RAID技術によりデータを分散して格納する。
なお、以降の説明の都合上、I/Oポート31000はP11とP12の2個であり、P11はホスト計算機との接続に用いられ、P12はストレージ装置ST2との接続に用いられているものとする。また、FPK33000は4枚搭載され、各FPKは容量256GBのFMをn枚(nは2以上の整数)搭載されているものとする。
図3に、ストレージ装置ST1が具備するLDEV TBL32100の例を示す。
図3は、ストレージ装置ST1がLDEVを管理するためのテーブルである。LDEV TBL32100は、ストレージ装置ST1内でLDEVの一意の識別子となるLDEV IDを登録するフィールド32110と、LDEVのホスト計算機に提供するホスト認識容量を登録するフィールド32120と、LDEVに対応する記憶領域がINDEVかEXDEVのどちらかを示す対応DEV IDフィールド32130と、当該LDEVがホスト計算機に割り当て済みか否かを示す状態フィールド32140と、当該LDEVがホスト計算機に割り当て済みの場合、ホスト接続先I/Oポート番号・SCSI ターゲットID・SCSI LUNを登録するフィールド32150とから構成される。
状態フィールド32140には、当該LDEVがホスト計算機に割り当て済みの場合には「Allocated」を、ホスト計算機に未割り当ての場合には「Unallocated」が登録される。また、当該LDEVがホスト計算機に未割り当ての場合、ポート番号/ターゲットID/LUNフィールド32150には、「N/A」(Not Applicable)が登録される。
図4に、ストレージ装置ST1が具備するINDEV TBL32200の例を示す。
図4は、ストレージ装置ST1がINDEVを管理するためのテーブルである。INDEV TBL32200は、ストレージ装置ST1内でINDEVの一意の識別子となるINDEV IDを登録するフィールド32210と、後述するINDEVの基本容量を登録するフィールド32220と、後述する代替領域をINDEVが確保するための代替領域容量を登録するフィールド32230と、INDEVがLDEVに割り当て済みの場合対応するLDEV IDを登録するフィールド32240と、INDEVのRAID構成を示すフィールド32250と、INDEVのストライプサイズを示すフィールド32260と、INDEVを構成するFPKを登録するフィールド32270と、INDEVを構成するFPK内のFMを登録するフィールド32280と、後述するINDEVのアドレス空間対応リストを登録するフィールド32290から構成される。
ここで、基本容量と代替領域容量について説明する。フラッシュメモリの各ビットの更新は1から0(または0から1)の一方向に限定される。逆の変更が必要な場合は、フラッシュメモリチップのブロック(以下、「メモリブロック」と呼ぶ)の消去を行って一旦メモリブロック全体を1(または0)にする必要がある。また、この消去回数に制約(上限回数)があり、例えばNAND型フラッシュメモリの場合は一万から十万回程度が限度である。そのため、フラッシュメモリをハードディスクの代替として計算機に接続する場合、メモリブロック毎の書き込み頻度の偏りによって、一部のメモリブロックのみが消去回数の上限に達して使えなくなってしまう可能性がある。例えば一般的なファイルシステムでは、ディレクトリやiノードに割り当てられたメモリブロックは他のメモリブロックに比べて書き換え頻度が高いので、これらのメモリブロックのみ消去回数の上限に達する可能性が高い。そこで、使えなくなったメモリブロック(不良メモリブロック)に対して代替となるメモリブロック(代替メモリブロック)を割り当てることで、INDEVの寿命を延ばすものとする。基本容量は、ホスト認識容量を提供するために必要な容量である。なお、基本容量には、後述するRAID構成によるパリティデータ格納容量を含むため、基本容量とホスト認識容量とは一致しない場合がある。例えば図4のINDEV IN01の場合、基本容量は768GBであるが、後述するRAID5(3D+1P)構成をとるため、ホスト認識容量は768GBの75%の576GBとなり、LDEV L01のホスト認識容量に等しくなる。代替領域容量は、代替メモリブロックを確保するために確保する記憶領域の容量である。なお、代替領域容量も、基本容量と同じRAID構成をとるものとし、パリティデータ格納容量を含む容量を定義する。
また、ストライプサイズフィールド32260には、メモリブロック長を定義してもよい。以降の説明の都合上、本発明では、すべてのFPKのFMのメモリブロック長は256KBとする。
対応FPKフィールド32270において、「FPKn-m」(n,mはn=<mを満たす1以上の整数)のような表記は、「FPKnからmまでを用いる」ことを示す。本発明ではストレージ装置ST1にはFPK1からFPK4の4枚のFPKが搭載されており、図4のINDEV IN01の場合、「FPK1-4」であることから、FPK1からFPK4の4枚すべてのFPKを用いることを示す。また、対応FM番号フィールド32280では、1以上の整数kが登録される。この整数は、対応FPKフィールドに示されたFPKのk番目のFMを用いることを示す。この二つのフィールドから、例えば図4のINDEV IN01の場合、FPK1のFM1-1, FPK2のFM2-1, FPK3のFM3-1, FPK4のFM4-1を用いることがわかる。 RAID構成フィールド32250には、本ストレージ装置ST1で対応可能なRAID構成を登録する。たとえばRAID5(3D+1P)とは、4枚のFPKのうち3枚でストライプされたデータを格納し(3Dと記載)、1枚でパリティを格納する(+1Pと記載)ことを示す。
アドレス空間対応リスト32290では、INDEVのホスト認識容量のどのアドレスのデータを、FMのどのメモリブロックで格納するかの対応関係を示す。具体的には、図4のINDEV IN01の場合、リストの第一要素「(0 to 768kB, FM1-#1)」の意味は、INDEVアドレス0から768KBまでのデータを各FPKの1番目のFM(つまりFM1-1,FM2-1,FM3-1,FM4-1)の1番のメモリブロックで格納することである。リストの第二要素「(768kB to 1536KB, FM1-#850)」の意味は、INDEVアドレス768KBから1536KBまでのデータを各FPKの1番目のFMの850番のメモリブロックで格納することである。
図5に、ストレージ装置ST1が具備するEXDEV TBL32300の例を示す。
図5は、ストレージ装置ST1がEXDEVを管理するためのテーブルである。EXDEV TBL32300は、ストレージ装置ST1内でEXDEVの一意の識別子となるEXDEV IDを登録するフィールド32310と、EXDEVのホスト計算機に提供するホスト認識容量を登録するフィールド32320と、EXDEVに対応するLDEV IDを示すフィールド32330と、当該EXDEVへストレージ装置ST1がアクセスするためのI/Oポートを示すフィールド32340と、当該EXDEVの識別情報として、装置IDを示すフィールド32350と、LDEV IDを示すフィールド32360と、ストレージ装置ST1への接続先I/Oポート番号・SCSI ターゲットID・SCSI LUNを登録するフィールド32370とから構成される。
ストレージ識別情報に関連するフィールド32350,32360,32370の値は、当該EXDEVに対してストレージ装置ST1からSCSI Inquiryコマンドを発行することにより取得できる。
図6に、ストレージ装置ST1が具備するCM TBL32400の例を示す。
図6は、ストレージ装置ST1がCMの割り当て状態を管理するためのテーブルである。CMは全体容量32460を、ブロックの単位に区切って利用する。そのブロック長は32450に登録される。ブロック長32450は、たとえばストレージ装置に搭載されたフラッシュメモリのメモリブロック長や対応するRAID構成をもとにストレージ装置の固定値としてもよいし、ストレージ管理者により定義できてもよい。本発明では、キャッシュ容量は512GB、ストレージ装置ST1がメモリブロック長256KBのFMを4個使ってRAID構成をとるので、キャッシュブロック長を1024KBと定めてある。よって、キャッシュブロック数は512個となり、各ブロックのレコードが存在する。各レコードには、キャッシュブロックを一意に識別するブロックIDフィールド32410と、キャッシュ状態を示すフィールド32420と、キャッシュ割り当てされたLDEVを示すフィールド32430と、キャッシュ割り当てされたアドレスを示すフィールド32440から構成される。
状態フィールド32420は、CMのデータとINDEVまたはEXDEVに格納されたデータが一致する「Clean」状態、CMのデータが更新されているがまだINDEVまたはEXDEVに反映されていない「Dirty」状態、まだ割り当てされていない「Not Used」状態が存在する。「Not Used」状態のとき、対応LDEV IDフィールド32430とLDEVアドレスフィールド32440は「N/A」(Not Applicable)を登録する。
図7に、ストレージ装置ST1が具備するFPK TBL32500の例を示す。
図7は、ストレージ装置ST1がFPKの利用状態を管理するためのテーブルである。FPK TBL32500は、FPKを一意に識別できるIDを登録するフィールド32510と、各FPK内のFMを一意に識別できるIDを登録するフィールド32520と、各FMの容量を示すフィールド32530と、各FMのアドレスを示すフィールド32540と、アドレスフィールド32540のフラッシュメモリブロックの利用状態を示すフィールド32550と、アドレスフィールド32540のフラッシュメモリブロックに割り当てられたINDEVを示すフィールド32560と、当該アドレスの書き換え回数を示すフィールド32570から構成される。
状態フィールド32420は、利用済みを示す「Used」と、未使用を示す「Not Used」のいずれかが登録される。「Not Used」状態のとき、割当INDEV IDフィールド32560と書換回数フィールド32570には「N/A」(Not Applicable)を登録する。書換回数フィールドは、各FMの書換許容回数の仕様との割合により、どれだけ多くのフラッシュメモリブロックが不良ブロック化している可能性があるかの目安として用いる。
以上が実施例1における計算機システムの構成である。
(1-2)実施例1におけるストレージ装置ST1のLDEVに関連する処理
次に、本実施例における、ストレージ装置ST1が行う処理について説明する。本処理は、ストレージ装置ST1 30000内のDEV管理PG32600と、I/O制御PG32700と、INDEV PG32900とによって実現する。
DEV管理PG32600は、EXDEVを認識してLDEVに登録する処理、INDEVを作成してLDEVに登録する処理を行うプログラムである。I/O制御PG32700は、LDEVへのホスト計算機からのI/Oを制御するプログラムである。INDEV PG32900は、INDEVを作成し、LDEVに登録するプログラムである。
以下順にプログラムのフローチャートを示す。なお、特に断りが無ければ、各プログラムのステップは、ストレージ装置ST1のストレージコントローラ32000が実行するものとする。
図8に、DEV管理PG32600のフローチャートを示す。
まず、管理計算機は、EXDEV認識をストレージ装置ST1に指示する(ステップS32610)。具体的には、ストレージ装置ST2のLDEVを作成し、当該LDEVをストレージ装置ST1のI/Oポートから認識できるように接続を確立し、どのI/OポートからEXDEVを認識すればよいかをストレージ装置ST1に送信する。
ステップS32610でI/Oポートを指定されたストレージ装置ST1はEXDEV認識を実行する(ステップS32620)。具体的には、指定されたI/OポートからSCSI Inquiryコマンドを発行し、その結果をもとにEXDEV TBL32300を作成し、その一覧を管理計算機に送信する。
次に管理計算機は、認識できたEXDEVのうちLDEVに登録するEXDEVを指定する(ステップS32630)。具体的には、ステップS32620で作成されたEXDEVの中から、ホスト計算機にLDEVとして提供するEXDEVを指定し、その一覧をストレージ装置ST1に送信する。ここで、ホスト計算機へのLDEVの割り当ても指定してもよい。
ステップS32630でLDEVに登録するEXDEVを指定されたストレージ装置ST1は、LDEV登録を実行する(ステップS32640)。具体的には、指定されたEXDEVのエントリからLDEV TBL32100を作成する。もしホスト計算機へのLDEVの割り当ても指定されていれば、状態フィールド32140やポート番号/ターゲットID/LUNフィールド32150も登録してもよい。ストレージ装置ST1は、LDEV登録結果およびホスト計算機への割り当て結果を管理計算機に送信する。
管理計算機は、送信されたLDEV一覧を表示する(ステップS32650)。表示内容については後述する。
以上がEXDEVの認識およびLDEVへの登録に関する処理である。
次に、INDEVの作成およびLDEVへの登録に関する処理について説明する。
まず、管理計算機は、INDEV作成をストレージ装置ST1に指示する(ステップS32660)。具体的には、ホスト認識容量・代替領域容量・RAID構成等を指定してLDEV作成を指示すればよい。詳細は表示内容にて後述する。
ステップS32660でホスト認識容量・代替領域容量・RAID構成等を指定されたストレージ装置ST1はINDEV作成を実行する(ステップS32670)。具体的には、後述するINDEV PG32800を呼び出す。
管理計算機は、送信されたLDEV一覧を表示する(ステップS32650)。表示内容については後述する。
以上がDEV管理PG32600のフローチャートである。
次に、図13に示す内部デバイス設定プログラム(INDEV PG)32900について説明する。説明にあたり、図9に示す内部デバイス作成画面70000と図12に示す用途別代替容量テーブル(USAGE TBL)32800を用いる。
前記DEV管理PG32600のステップS32670により、図13に示すINDEV PG32900が実行されると、ストレージ装置ST1は、管理計算機からのINDEV作成要求を受信する(ステップS91000)。
以下、図13のステップS91000について詳しく説明するため、図9のストレージ装置ST1がデバイス管理プログラムを実行中に管理計算機が表示する、内部デバイス作成画面について説明する。内部デバイス作成画面は、ストレージ管理者からINDEV設定に必要なパラメータを受信する画面である。内部デバイス作成画面70000は、ホスト認識容量を指定するフィールド70010と、代替領域容量を指定するフィールド70020と、RAID構成を指定するフィールド70030と、INDEV作成を送信するために押し下げするボタン70050から構成される。なお、図示しないが、ホスト認識容量を指定するのではなく、基本容量を直接指定してもよい。
図13のステップS91000に戻って、図9のようなパラメータが指定されたとき、ストレージ装置ST1は、まず、指定されたホスト認識容量とRAID構成から基本容量を算出する。たとえば、ホスト認識容量576GBでRAID構成が「RAID5(3D+1P)」の場合、ホスト認識容量の3分の4倍を基本容量とすればよいので、基本容量は768GBとなる。
以上がステップS91000の説明である。
次に、ストレージ装置ST1は、代替領域容量を決定するため、図9の内部デバイス作成画面において、代替領域容量を指定されているか、用途を指定されているか判断する(ステップS91010)。代替領域容量を指定されているときは、指定された容量をそのまま用いるものとして、ステップS91030にジャンプする。用途を指定されているときは、ステップS91020にジャンプする。
ステップS91010において、用途を指定されているとき、ストレージ装置ST1は、用途から代替領域容量を決定する(ステップS91020)。
以下図13のステップS91030について詳しく説明するため、図12に示す用途別代替容量テーブル(USAGE TBL)32800について説明する。USAGE TBLは、INDEVを用いるアプリケーション等を示す用途32320と、当該用途において必要な年あたりの代替領域容量32330をストレージ管理者等が予め定義しておくテーブルである。
図13のステップS91030に戻って、USAGE TBLにより、図9の内部デバイス作成画面において、LDEV用途フィールド70040の値と、作成するINDEVを何年利用することを想定しているかを示す耐用年数フィールド70060の値を受信し、LDEV用途フィールド70040の値に合致する用途における、図12の年あたりの代替領域容量32330の値と耐用年数フィールド70060の値の積により、代替領域容量を計算できる。たとえば、LDEV用途が「データベース」で耐用年数が「3年」の場合、用途「データベース」の年あたりの代替領域容量は「50GB」であるので、代替領域容量は150GBとなる。
以上がステップS91020の説明である。
ステップS91010またはステップS91020において代替領域容量が決定すると、ストレージ装置ST1は、基本容量と代替領域容量の和を求め、割り当て可能なFMを探す(ステップS91030)。たとえば、基本容量が768GBで代替領域容量を256GBの場合、和は1024GBとなる。求めた和に1024GBに一致するFMのメモリブロック構成を決定する場合、FPK TBL32500の各FPKの先頭FMから順に、状態フィールド32550が「Not Used」である領域を累積加算する。図7の例でいえば、各FPKの一番目のFMの全領域と二番目のFMの先頭128GBは「Used」である。よって、1024GBの領域を確保するためには、二番目のFMの残り128GBと三番目のFMの先頭128GBを利用すればよい。ここでは先頭FMから詰めて領域を確保する例を述べたが、領域の確保の方法は任意の方法であってもよい。
割り当て可能なFMを探すことができたら、ストレージ装置ST1は、INDEV TBLとLDEV TBLを更新する(ステップS91040)。具体的には、FPK TBL32500で、ステップS91030において確保したメモリブロックの状態を「Used」とし、割当INDEV IDに新規IDを割り当てる。さらに、作成した新規INDEV IDから、INDEV TBL32200の新規エントリを作成する。作成したINDEV TBL32200の新規エントリに対し、ステップS91010で決定した基本容量と、ステップS91010またはステップS91020で決定した代替領域容量と、ステップS91010で決定したRAID構成と、本ステップで決定した対応FPKと対応FM番号を登録する。ストライプサイズは規定の値であってもよい。さらに、LDEV TBL32100の新規エントリを作成し、LDEVに登録する。さらに、LDEV TBL32100の新規エントリのLDEV IDを先に作成したINDEV TBLのエントリに登録する。
以上がステップS91030の説明である。
最後にストレージ装置ST1は、管理計算機に、作成した新規INDEVを登録したLDEVの一覧を送信し、完了報告とする(ステップS91050)。
以上が図13に示す内部デバイス設定プログラム(INDEV PG)32900の説明である。
図10にストレージ装置ST1がデバイス管理プログラムを実行中に管理計算機が表示する、論理デバイス一覧表示画面の一例を示す。
論理デバイス一覧表示画面80000は、LDEV IDを表示するフィールド80010と、LDEVのホスト計算機に提供するホスト認識容量を表示するフィールド80020と、LDEVに対応する記憶領域がINDEVかEXDEVのどちらかを示す対応DEV IDフィールド80030と、当該LDEVがホスト計算機に割り当て済みか否かを示す状態フィールド80040と、当該LDEVがホスト計算機に割り当て済みの場合、ホスト接続先I/Oポート番号・SCSI ターゲットID・SCSI LUNを登録するフィールド80050とから構成される。これらはLDEV TBL32100の値を表示すればよい。
さらに、LDEVがINDEVから構成されている場合、以下のフィールドを表示してもよい。それは、INDEVの基本容量を表示するフィールド80060と、INDEVの代替領域容量を表示するフィールド80070と、INDEVのRAID構成を示すフィールド80080である。これらは、INDEV TBL32200の値を表示すればよい。なお、これらのフィールドは、EXDEVの場合は「N/A」(Not Applicable)と表示すればよい。
さらに、LDEVがINDEVから構成されている場合、INDEVを構成するFPKまたはFMがあらかじめ定義された書換回数を超過する場合、不良ブロックが多くなっている可能性があることを示す警告を示すフィールド80090を設けてもよい。これは、FPK TBL32500の書換回数32570フィールドを定期的にモニタリングし、所定の回数を超過したFMを用いるINDEVに警告を示せばよい。なお、この警告は、画面表示だけでなく、メールやSNMP(Simple Network Management Protocol)による通知、Syslog等のログ蓄積を行ってもよい。
図11に、ストレージ装置ST1が実行するI/O制御プログラムの処理内容を示すフローチャートを示す。
まず、ストレージ装置ST1はホストからの入出力要求を受信する(ステップS90000)。具体的には、あるLDEVに対するSCSIのReadコマンドやWriteコマンドなどである。
入出力要求を受信したストレージ装置ST1は、その要求がデータのReadかWriteかを判断する(ステップS90010)。Readの場合はステップS90020に、Writeの場合はステップS90100にジャンプする。
ステップS90010において要求がReadの場合、ストレージ装置ST1は、Read先のアドレスを解釈し、当該アドレスのデータがキャッシュヒットするか否かを判断する(ステップS90020)。具体的には、CM TBLの全エントリのうち、対応LDEV IDフィールド32430とLDEVアドレスフィールド32440が合致するものがあればキャッシュヒット、合致しなければキャッシュミスと判断する。キャッシュヒットの場合ステップS90030に、キャッシュミスの場合ステップS90040にジャンプする。
ステップS90020でキャッシュヒットしたとき、キャッシュデータをリードし(ステップS90030)、当該データをホストへ転送し(ステップS90080)、ホストへデータ入出力要求が完了したことを報告し(ステップS90090)、I/O制御PGを終了する。
ステップS90020でキャッシュミスしたとき、データアクセス先のLDEVがINDEVに対応するか、EXDEVに対応するか判断する(ステップS90040)。具体的には、LDEV TBL32100の対応DEV IDフィールド32130で判断すればよい。INDEVの場合はステップS90050に、EXDEVの場合はステップS90060にジャンプする。
ステップS90040でINDEVと判断された場合、INDEVからデータをリードする(ステップS90050)。具体的には、INDEV TBL32200の対応FPKフィール32270、対応FM番号フィールド32280、アドレス空間対応リストフィールド32290からどのFMのどのメモリブロックからデータを読み出せばよいか調べる。たとえば、INDEV IN01のINDEVアドレス0を先頭とした512KBの長さのデータをリードしたい場合、FPK1-4の一番目のFM(つまりFM1-1,FM2-1,FM3-1,FM4-1)のFMメモリブロック#1番から、先頭から512KB分のデータをリードすればよい。リードした後ステップS90070に進む。
テップS90040でEXDEVと判断された場合、EXDEVからデータをリードする(ステップS90060)。具体的には、EXDEV TBL32300のイニシエータポートID32340から、ストレージ識別情報に指定されたLDEVに対して、たとえばSCSIのリードコマンドを発行すればよい。リードした後ステップS90070に進む。
ステップS90050またはステップS90060でデータをリードした後、当該リードしたデータのためにCMを割り当て、CMデータを更新する(ステップS90070)。具体的には、CM TBL32400から状態が「Not Used」のブロックがないかを探し、見つかればそのブロックを割り当てるものとして、データを更新する。その際、フラッシュメモリやハードディスクのブロックサイズとCMのブロックサイズの違いにより、複数のブロックが必要であれば、複数のブロックを割り当てればよい。また、CMに「Not Used」のブロックが確保できなかった場合は、任意の方法で状態がCleanのブロックを置き換えて割当してもよい。CMの割り当ておよびデータ更新完了後、当該データをホストへ転送し(ステップS90080)、ホストへデータ入出力要求が完了したことを報告し(ステップS90090)、I/O制御PGを終了する。
ステップS90010において要求がWriteの場合、ストレージ装置ST1は、Write先のアドレスを解釈し、当該アドレスのデータがキャッシュヒットするか否かを判断する(ステップS90100)。具体的な処理はステップS90020と同じであるので説明を省略する。キャッシュヒットの場合ステップS90110に、キャッシュミスの場合ステップS90160にジャンプする。
ステップS90100でキャッシュヒットしたとき、ストレージ装置ST1はWriteデータでキャッシュを更新する(ステップS90110)。具体的には、CMブロックのデータ更新後、CM TBL32400で当該ブロックの状態を「Dirty」に変更する。ステップS90110終了後、ホストへデータ入出力要求が完了したことを報告する(ステップS90120)。さらに、CMブロックのDirty状態を解消するため、INDEVまたはEXDEVにデータをライトするため、データアクセス先のLDEVがINDEVに対応するか、EXDEVに対応するか判断する(ステップS90130)。具体的には、LDEV TBL32100の対応DEV IDフィールド32130で判断すればよい。INDEVの場合はステップS90140に、EXDEVの場合はステップS90150にジャンプする。
ステップS90100でキャッシュミスしたとき、ストレージ装置ST1はWriteデータのためのキャッシュを割り当てる(ステップS90170)。具体的な処理は、ステップS90070におけるキャッシュ割り当てと同じであるので説明を省略する。ステップS90170の後、ホストへデータ入出力要求が完了したことを報告する(ステップS90180)。さらに、確保したCMブロックへデータを格納するため、INDEVまたはEXDEVのアクセス先のデータを先にCMブロックに読み込んでホスト計算機のWriteデータで修正する「Read-Modify-Write」を実施するため、データアクセス先のLDEVがINDEVに対応するか、EXDEVに対応するか判断する(ステップS90180)。具体的には、LDEV TBL32100の対応DEV IDフィールド32130で判断すればよい。
ステップS90180においてINDEVと判断された場合は、INDEVからデータを読み込む(ステップS90190)。具体的な処理は、ステップS90050に同じであるので説明を省略する。さらに、ステップS90190で読み込んだデータを用いてCMブロックのデータを更新する(ステップS90200)。さらに、ステップS90140にジャンプする。
ステップS90180においてEXDEVと判断された場合は、EXDEVからデータを読み込む(ステップS90210)。具体的な処理はステップS90060に同じであるので説明を省略する。さらに、ステップS90210で読み込んだデータを用いてCMブロックのデータを更新する(ステップS90220)。さらに、ステップS90150にジャンプする。
ステップS90140において、ストレージ装置ST1は、CMブロックにRead-Modify-WriteしたWriteデータをINDEVへ反映するため、INDEVへのデータの書き込みを行う。具体的には、INDEV TBL32200の対応FPKフィール32270、対応FM番号フィールド32280、アドレス空間対応リストフィールド32290からどのFMのどのメモリブロックへデータを書き込めばよいか調べる。たとえば、INDEV IN01のINDEVアドレス0を先頭とした512KBの長さのデータをライトしたい場合、FPK1-4の一番目のFM(つまりFM1-1,FM2-1,FM3-1,FM4-1)のFMメモリブロック#1番から、先頭から512KB分のデータを書き込めばよい。また、別の方法として、代替領域容量で確保されたFMメモリブロックへデータを書き込み、アドレス空間対応リストの対応関係の書き換えを行ってもよい。この場合、アドレス空間対応リストにおけるFMメモリブロックの使用順序の順序性の保証はなくなるが、FMメモリブロックの書換回数を平滑化でき、早期に不良化の対象となることを防ぐ、言いかえれば、FPKやFMの寿命を延ばす効果が期待できる。ステップS90140終了後、ストレージ装置ST1はI/O制御PGを終了する。
ステップS90150において、ストレージ装置ST1は、CMブロックにRead-Modify-WriteしたWriteデータをEXDEVへ反映するため、EXDEVへのデータの書き込みを行う。具体的には、EXDEV TBL32300のイニシエータポートID32340から、ストレージ識別情報に指定されたLDEVに対して、たとえばSCSIのライトコマンドを発行すればよい。ステップS90150終了後、ストレージ装置ST1はI/O制御PGを終了する。
以上がI/O制御PG32700のフローチャートである。
以上が、実施例1におけるストレージ装置ST1のLDEVに関連する処理である。
本実施例によれば、ストレージ装置にフラッシュメモリパッケージでフラッシュメモリを搭載し、磁気ディスクのアクセス手段を用いること無くフラッシュメモリモジュールに直接アクセスすることができる。また、従来の磁気ディスクのアクセス手段を用いたI/O要求処理を実現することで、既存の磁気ディスクストレージ装置をそのまま利用することができる。
以上が、実施例1の説明である。
本実施形態は、フラッシュメモリから構成される記憶領域であるINDEVを定義するとき、当該記憶領域とコピーペアの関係になるハードディスクドライブから構成される記憶領域へのライトアクセス頻度から、INDEVの代替領域容量算出することで、INDEVの定義を簡素化することができることを示す。
なお、以降実施例2の説明において、特に断りがなければ、実施例1の構成およびテーブルおよびプログラムが実行されるものとし、実施例1との違いのみ説明する。
(2-1)実施例2における計算機システムの構成
実施例2における計算機システム構成について説明する。
図14に、実施例2における計算機システムの構成を示す。実施例1との違いは、論理デバイステーブル36000のエントリが増えること、内部デバイス設定プログラム36100が異なることである。具体的には、実施例2におけるストレージ装置ST1のLDEVに関する処理で詳しく説明する。
以上が実施例2における計算機システムの構成である。
(2-2)実施例2におけるストレージ装置ST1のLDEVに関連する処理
次に、本実施例における、ストレージ装置ST1が行う処理について説明する。本処理は、ストレージ装置ST1 30000内のDEV管理PG32600と、I/O制御PG32700と、INDEV PG36100によって実現する。 DEV管理PG32600とI/O制御PG32700は、実施例1と同じであるので説明を省略する。
以下順に、実施例1との違いがある論理デバイステーブル36000と、INDEV PG36100について説明する。
図15に、実施例2においてストレージ装置ST1が具備するLDEV TBL36000の例を示す。
実施例1との違いは、各LDEVのライトアクセス頻度を保持するエントリ32160を有する点である。ライトアクセス頻度とは、ストレージ装置ST1のストレージコントローラ32000がLDEVに対するデータの書き込み命令(例えばSCSIのライトコマンド等)を一定時間に受領した回数を示し、たとえば毎秒当たりのライトコマンド受領回数(IOPS(Input Output Per Second))の値を保持してもよいし、1分間といったモニタ時間のライトコマンド受領数をIOPSに変換してもよい。さらに、過去数回のIOPSの平均値を保持してもよいし、最大値や最小値であってもよい。さらに、過去のIOPSの履歴を蓄積し、後述の代替容量計算にあたり、ストレージ管理者に選択させてもよい。
次に、図17に示す内部デバイス設定プログラム(INDEV PG)326100について説明する。説明にあたり、図16に示す内部デバイス作成画面71000と図12に示す用途別代替容量テーブル(USAGE TBL)32800を用いる。
ステップS91000は実施例1と同じである。
ステップS91010の実施例1との違いは、代替領域容量を指定されていない場合、ステップS92000にジャンプする点である。
ステップS91010において、代替領域容量を指定されていない場合、図16に示す内部デバイス作成画面71000のペア対象LDEVフィールド70070と耐用年数フィールド70060により、耐用年数の指定があるか否かを判断する(ステップS92000)。指定があればステップS92010にジャンプし、指定がなければステップS92020にジャンプする(ステップS92000)。
ここで、ペア対象LDEVについて詳しく説明する。ペア対象LDEVとは、たとえば以下の二つのケースを想定した、ストレージ装置ST1とST2から構成されるストレージシステムが提供する記憶領域のデータ移行やデータコピーを実現するための対となるLDEVである。第一のケースは、現在EXDEVで構成されるLDEVに格納されたデータへのアクセス頻度が向上したため、高速なアクセスが可能となるINDEVで構成されるLDEVに移行し、LDEVの性能を向上させるケースである。第二のケースは、EXDEVまたはINDEVから構成されるLDEVに格納されたデータを、ストレージ装置ST1内部で、INDEVから構成される別のLDEVにコピーすることで、LDEVの可用性を向上させるケースである。このように、ペア対象となるLDEVの情報を取得することで、後述するステップS92010において代替領域容量を算出するにあたり、移行元またはコピー元のLDEVのライトアクセス頻度を考慮して代替領域容量を算出することができる。
図17の説明に戻り、ステップS92010において、ストレージ装置ST1は、指定されたペア対象LDEVのライトアクセス頻度と耐用年数から、代替領域容量を算出する(ステップS92010)。具体的には、たとえば図18に示すような計算式を用いればよい。
ここで、図18の計算式の示す内容を説明する。
まず、ペア対象LDEVのライトアクセス頻度を一括書換数で割り、新規作成INDEVに対するフラッシュメモリブロック書換頻度(以下Wとする)を算出する。これは、ペア対象LDEVのライトアクセス頻度と同等のライトアクセス頻度があると仮定し、さらに、ある一定のライト回数まではキャッシュメモリ上のみで更新を行ってフラッシュメモリを更新する一括書換を考慮し、毎秒何回フラッシュメモリブロックを書き換えるかを示す値である。
次に、Wと、書換ブロック長と、耐用年数の積をとる。前記三つの値の積(以下W1とする)は、耐用年数の間に発生する、新規作成LDEVの、のべライト容量である。耐用年数の間の書換頻度として、Wと耐用年数の積を利用し、先に述べたとおり、フラッシュメモリはフラッシュメモリブロック単位に消去と上書きを行うため、さらに書換ブロック長の積をとることで、W1が求められる。
最後に、W1を書換回数上限で除算して代替領域容量を求める。これは、同一フラッシュメモリブロックの再利用によるW1の削減を考慮するものである。結果の単位はKBからGBに変換するための変換率(10のマイナス6乗)を乗算していることに注意する。
例えば、図16で示すとおりペア対象LDEVをL02とし、耐用年数を3年としたときの代替領域容量は、図18によれば、以下の通り求められる。なお、一括書き換え数は10(つまり、10回分のライト結果をまとめてフラッシュメモリブロックに反映する)書き換えブロック長は256KB、書換回数上限は一万回とする。L02のライトアクセス頻度がLDEVTBL36000から100IOPSであるので、Wは10となる。その結果のべライト容量W1は、10×256×(3×3600×24×365)で、242716GBとなる(先にKBからGBに変換するための変換率(10のマイナス6乗)を乗算していることに注意)。書換回数上限の除算の結果、約24.3GBとなる。
以上が図18の計算式の説明である。
図17の説明に戻り、上記のような計算式により、ステップS92010では、代替領域容量が計算できる。
ステップS92000において、ペア対象LDEVと耐用年数の指定がない場合は、予め定めたライトアクセス頻度と耐用年数を用いて、図18で述べた計算式から代替領域容量を計算する(ステップS92020)。ここで、予め定めたライトアクセス頻度として、ストレージ管理者が指定した値であってもよいし、LDEV TBLに登録されたLDEVのうち、同じ用途を指定して作成された任意のLDEVのライトアクセス頻度の値を用いてもよい。
ステップS91030、ステップS91040、ステップS91050は、実施例1と同じである。
以上が図17に示す内部デバイス設定プログラム(INDEV PG)32900の説明である。
以上が、実施例2におけるストレージ装置ST1のLDEVに関連する処理である。
本実施例によれば、代替領域容量の定義を簡素化し、フラッシュメモリに関する知識の有無にかかわらず、フラッシュメモリから構成される記憶領域を利用することができる。
以上が、実施例2の説明である。
なお、本実施例および前記実施例1の変形例として、計算機システムの構成は、図19に示すように、一つのストレージ装置ST1であってもよい。このとき、ストレージ装置ST1は、FPKが接続されたストレージコントローラでINDEVの管理を行い、ディスクドライブが接続されたストレージコントローラでEXDEVの管理を行い、両ストレージコントローラが互いに接続されている点で、実施例1及び実施例2と異なり、INDEVの作成方法及びLDEVの処理方法は、実施例1及び実施例2に同じである。
本発明における計算機システムの構成例を示す図である。 本発明の実施例1におけるストレージ装置ST1の詳細な構成例を示す図である。 本発明の実施例1におけるストレージ装置ST1が具備する論理デバイステーブルの例を示す図である。 本発明の実施例1と実施例2におけるストレージ装置ST1が具備する内部デバイステーブルの例を示す図である。 本発明の実施例1と実施例2におけるストレージ装置ST1が具備する外部デバイステーブルの例を示す図である。 本発明の実施例1と実施例2におけるストレージ装置ST1が具備するキャッシュ割り当てテーブルの例を示す図である。 本発明の実施例1と実施例2におけるストレージ装置ST1が具備するフラッシュメモリパッケージテーブルの例を示す図である。 本発明の実施例1と実施例2におけるストレージ装置ST1が実行するデバイス管理プログラムの処理内容を示すフローチャートである。 本発明の実施例1におけるストレージ装置ST1がデバイス管理プログラムを実行中に管理計算機が表示する、内部デバイス作成画面の一例を示す図である。 本発明の実施例1と実施例2におけるストレージ装置ST1がデバイス管理プログラムを実行中に管理計算機が表示する、論理デバイス一覧表示画面の一例を示す図である。 本発明の実施例1と実施例2におけるストレージ装置ST1が実行するI/O制御プログラムの処理内容を示すフローチャートである。 本発明の実施例1と実施例2におけるストレージ装置ST1が実行するI/O制御プログラムの処理内容を示すフローチャートである。 本発明の実施例1と実施例2におけるストレージ装置ST1が具備する用途別代替領域容量テーブルの例を示す図である。 本発明の実施例1におけるストレージ装置ST1が実行する内部デバイス設定プログラムの処理内容を示すフローチャートである。 本発明の実施例2におけるストレージ装置ST1の詳細な構成例を示す図である。 本発明の実施例2におけるストレージ装置ST1が具備する論理デバイステーブルの例を示す図である。 本発明の実施例2におけるストレージ装置ST1がデバイス管理プログラムを実行中に管理計算機が表示する、内部デバイス作成画面の一例を示す図である。 本発明の実施例2におけるストレージ装置ST1が実行する内部デバイス設定プログラムの処理内容を示すフローチャートである。 本発明の実施例2におけるストレージ装置ST1が実行する内部デバイス設定プログラムにおいて用いる計算式の一例を示す図である。 本発明の実施例1または実施例2の変形例の計算機システムの構成例を示す図である。
符号の説明
10000…ホスト計算機
20000…ストレージネットワーク
30000…ストレージ装置ST1
32000…ストレージコントローラ
32600…デバイス管理プログラム
32700…I/O制御プログラム
40000…ストレージ装置ST2
50000…管理計算機
60000…管理ネットワーク

Claims (6)

  1. 一つ以上のフラッシュメモリモジュールとキャッシュメモリを有する第一のストレージ装置及び前記第一のストレージ装置に接続されたホスト計算機から構成される計算機システムにおける前記第一のストレージ装置の記憶領域作成方法において、
    前記第一のストレージ装置は、
    前記一つ以上のフラッシュメモリモジュールから構成される論理デバイスを用いた記憶領域の作成要求を受信すると、受信した前記作成要求において、前記記憶領域とコピーペアの関係になる記憶領域が指定されているか否かを判断し、前記記憶領域とコピーペアの関係になる記憶領域が指定されている場合、前記一つ以上のフラッシュメモリモジュールから構成される論理デバイスを用いた記憶領域とコピーペアの関係となる記憶領域へのライトアクセス頻度から代替領域容量を定義し、前記ホスト計算機に提供する記憶領域の容量と前記代替領域容量とを合算した容量で前記第一のストレージ装置が有する前記一つ以上のフラッシュメモリモジュールから構成される論理デバイスを作成する
    ことを特徴とするストレージ装置の記憶領域作成方法。
  2. 請求項1記載のストレージ装置の記憶領域作成方法において、
    前記第一のストレージ装置は、
    前記ライトアクセス頻度及び前記記憶領域の耐用年数から前記代替領域容量を定義する
    ことを特徴とするストレージ装置の記憶領域作成方法。
  3. 請求項記載のストレージ装置の記憶領域作成方法において、
    前記計算機システムは、
    前記第一のストレージ装置に接続されて一つ以上のハードディスクドライブを有する第二のストレージ装置を備え、
    前記一つ以上のフラッシュメモリモジュールから構成される論理デバイスを用いた記憶領域とコピーペアの関係となる記憶領域は、前記第二のストレージ装置の前記一つ以上のハードディスクドライブから構成される記憶領域である
    ことを特徴とするストレージ装置の記憶領域作成方法。
  4. 一つ以上のフラッシュメモリモジュールと、キャッシュメモリと、ストレージコントローラとを有し、ホスト計算機に接続される第一のストレージ装置において、
    前記第一のストレージ装置の前記ストレージコントローラは、
    前記一つ以上のフラッシュメモリモジュールから構成される論理デバイスを用いた記憶領域の作成要求を受信すると、受信した前記作成要求において、前記記憶領域とコピーペアの関係になる記憶領域が指定されているか否かを判断し、前記記憶領域とコピーペアの関係になる記憶領域が指定されている場合、前記一つ以上のフラッシュメモリモジュールから構成される論理デバイスを用いた記憶領域とコピーペアの関係になる記憶領域へのライトアクセス頻度から代替領域容量を定義し、前記ホスト計算機に提供する記憶領域の容量と、前記代替領域容量とを合算して論理デバイス容量を算出し、前記第一のストレージ装置が有する前記一つ以上のフラッシュメモリモジュールから構成される論理デバイスを作成する
    ことを特徴とするストレージ装置。
  5. 請求項記載のストレージ装置において、
    前記第一のストレージ装置の前記ストレージコントローラは、
    前記ライトアクセス頻度及び前記記憶領域の耐用年数から前記代替領域容量を定義する
    ことを特徴とするストレージ装置。
  6. 請求項記載のストレージ装置において、
    一つ以上のハードディスクドライブを有する第二のストレージ装置に接続され、
    前記一つ以上のフラッシュメモリモジュールから構成される論理デバイスを用いた記憶領域とコピーペアの関係となる記憶領域は、前記第二のストレージ装置の前記一つ以上のハードディスクドライブから構成される記憶領域である
    ことを特徴とするストレージ装置。
JP2008213464A 2008-05-14 2008-08-22 フラッシュメモリを用いたストレージ装置 Expired - Fee Related JP5075761B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2008213464A JP5075761B2 (ja) 2008-05-14 2008-08-22 フラッシュメモリを用いたストレージ装置
US12/248,519 US8275965B2 (en) 2008-05-14 2008-10-09 Creating substitute area capacity in a storage apparatus using flash memory
US13/466,163 US8429372B2 (en) 2008-05-14 2012-05-08 Allocating substitute area capacity in a storage system using flash memory packages
US13/867,155 US8806170B2 (en) 2008-05-14 2013-04-22 Accessing a hard disk drive and a flash memory with different formats in a storage system

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2008126608 2008-05-14
JP2008126608 2008-05-14
JP2008213464A JP5075761B2 (ja) 2008-05-14 2008-08-22 フラッシュメモリを用いたストレージ装置

Publications (3)

Publication Number Publication Date
JP2009301525A JP2009301525A (ja) 2009-12-24
JP2009301525A5 JP2009301525A5 (ja) 2011-03-31
JP5075761B2 true JP5075761B2 (ja) 2012-11-21

Family

ID=41317246

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008213464A Expired - Fee Related JP5075761B2 (ja) 2008-05-14 2008-08-22 フラッシュメモリを用いたストレージ装置

Country Status (2)

Country Link
US (3) US8275965B2 (ja)
JP (1) JP5075761B2 (ja)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5075761B2 (ja) 2008-05-14 2012-11-21 株式会社日立製作所 フラッシュメモリを用いたストレージ装置
JP5984118B2 (ja) * 2009-12-04 2016-09-06 マーベル ワールド トレード リミテッド 格納デバイスの仮想化
US8402220B2 (en) * 2010-03-18 2013-03-19 Hitachi, Ltd. Storage controller coupled to storage apparatus
US9146875B1 (en) * 2010-08-09 2015-09-29 Western Digital Technologies, Inc. Hybrid drive converting non-volatile semiconductor memory to read only based on life remaining
JP5641900B2 (ja) * 2010-11-29 2014-12-17 キヤノン株式会社 管理装置及びその制御方法、並びにプログラム
US8510528B2 (en) * 2010-12-29 2013-08-13 Teradata Us, Inc. Differential data storage based on predicted access frequency
US9280550B1 (en) 2010-12-31 2016-03-08 Emc Corporation Efficient storage tiering
US8886901B1 (en) * 2010-12-31 2014-11-11 Emc Corporation Policy based storage tiering
US8667237B2 (en) 2011-03-08 2014-03-04 International Business Machines Corporation Deleting relations in multi-target, point-in-time-copy architectures with data deduplication
JP5816303B2 (ja) * 2011-09-13 2015-11-18 株式会社日立製作所 フラッシュメモリを含むストレージシステム、及び記憶制御方法
JP5621801B2 (ja) * 2012-03-07 2014-11-12 日本電気株式会社 磁気ディスク制御装置、磁気ディスク装置および磁気ディスク制御方法
US9116622B2 (en) 2012-03-13 2015-08-25 Hitachi, Ltd. Storage system having nonvolatile semiconductor storage device with nonvolatile semiconductor memory
US10037271B1 (en) * 2012-06-27 2018-07-31 Teradata Us, Inc. Data-temperature-based control of buffer cache memory in a database system
US9665599B2 (en) * 2013-06-03 2017-05-30 International Business Machines Corporation Maintaining database consistency when nearing the end of a database recovery log
KR102149468B1 (ko) * 2013-06-13 2020-08-28 삼성전자 주식회사 통합 캐시를 하나 또는 복수의 논리 유닛에 동적 할당하는 시스템 및 방법
US9396128B2 (en) * 2013-06-13 2016-07-19 Samsung Electronics Co., Ltd. System and method for dynamic allocation of unified cache to one or more logical units
JP6021759B2 (ja) * 2013-08-07 2016-11-09 株式会社東芝 メモリシステムおよび情報処理装置
WO2015052811A1 (ja) * 2013-10-10 2015-04-16 株式会社日立製作所 ストレージシステムおよびデータ記憶方法
US9362000B2 (en) 2014-09-05 2016-06-07 Kabushiki Kaisha Toshiba Memory system and management method thereof
US9542118B1 (en) * 2014-09-09 2017-01-10 Radian Memory Systems, Inc. Expositive flash memory control
CN111736773A (zh) * 2015-04-09 2020-10-02 株式会社日立制作所 存储系统和数据控制方法
JP6554990B2 (ja) 2015-08-11 2019-08-07 富士通株式会社 ストレージ制御装置およびストレージ制御プログラム
JP2017107321A (ja) * 2015-12-08 2017-06-15 京セラドキュメントソリューションズ株式会社 電子機器およびデータアクセス制御プログラム
CN106020717B (zh) * 2016-05-05 2020-10-27 联想(北京)有限公司 数据处理方法及电子设备
CN108470071B (zh) * 2018-03-29 2022-02-18 联想(北京)有限公司 一种数据处理方法及装置

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6347051B2 (en) 1991-11-26 2002-02-12 Hitachi, Ltd. Storage device employing a flash memory
JP3231832B2 (ja) * 1991-11-26 2001-11-26 株式会社日立製作所 フラッシュメモリを記憶媒体とした半導体ディスク
JPH06332806A (ja) * 1993-05-25 1994-12-02 Hitachi Ltd フラッシュメモリを記憶媒体とする記憶システムおよびその制御方法
KR970008188B1 (ko) 1993-04-08 1997-05-21 가부시끼가이샤 히다찌세이사꾸쇼 플래시메모리의 제어방법 및 그것을 사용한 정보처리장치
US6529416B2 (en) * 2000-11-30 2003-03-04 Bitmicro Networks, Inc. Parallel erase operations in memory systems
JP4704659B2 (ja) * 2002-04-26 2011-06-15 株式会社日立製作所 記憶装置システムの制御方法および記憶制御装置
US20050097263A1 (en) * 2003-10-31 2005-05-05 Henry Wurzburg Flash-memory card-reader to IDE bridge
JP4433792B2 (ja) * 2003-12-26 2010-03-17 Tdk株式会社 メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びに、フラッシュメモリの制御方法
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
JP5008845B2 (ja) * 2005-09-01 2012-08-22 株式会社日立製作所 ストレージシステムとストレージ装置及びその制御方法
KR20050107369A (ko) * 2005-10-27 2005-11-11 서운식 모바일 기기를 위한 코드 직접 수행기능을 갖는 대용량저장장치 및 제어 방법
JP5124103B2 (ja) * 2006-05-16 2013-01-23 株式会社日立製作所 計算機システム
US7613876B2 (en) * 2006-06-08 2009-11-03 Bitmicro Networks, Inc. Hybrid multi-tiered caching storage system
JP4452261B2 (ja) * 2006-09-12 2010-04-21 株式会社日立製作所 ストレージシステムの論理ボリューム管理方法、論理ボリューム管理プログラム、及びストレージシステム
KR100818797B1 (ko) * 2006-10-19 2008-04-01 삼성전자주식회사 메모리 용량 조절 방법과 메모리 용량 조절 장치
JP2008171103A (ja) * 2007-01-10 2008-07-24 Seiko Epson Corp 半導体記憶装置管理システム、半導体記憶装置、半導体記憶装置管理システムの制御方法およびプログラム
US20080172519A1 (en) * 2007-01-11 2008-07-17 Sandisk Il Ltd. Methods For Supporting Readydrive And Readyboost Accelerators In A Single Flash-Memory Storage Device
US7665646B2 (en) 2007-06-18 2010-02-23 Tyco Healthcare Group Lp Interlocking buttress material retention system
US20090172248A1 (en) * 2007-12-27 2009-07-02 Guangqing You Management of a flash memory device
JP5075761B2 (ja) 2008-05-14 2012-11-21 株式会社日立製作所 フラッシュメモリを用いたストレージ装置
US8214580B2 (en) * 2009-10-23 2012-07-03 International Business Machines Corporation Solid state drive with adjustable drive life and capacity

Also Published As

Publication number Publication date
US8806170B2 (en) 2014-08-12
US8275965B2 (en) 2012-09-25
US20120221783A1 (en) 2012-08-30
US20090287878A1 (en) 2009-11-19
US20130238845A1 (en) 2013-09-12
US8429372B2 (en) 2013-04-23
JP2009301525A (ja) 2009-12-24

Similar Documents

Publication Publication Date Title
JP5075761B2 (ja) フラッシュメモリを用いたストレージ装置
US8832371B2 (en) Storage system with multiple flash memory packages and data control method therefor
JP6000376B2 (ja) 特性の異なる複数種類のキャッシュメモリを有する情報処理装置
JP5502232B2 (ja) ストレージシステム、及びその制御方法
US8407417B2 (en) Storage system providing virtual volumes
US8392670B2 (en) Performance management of access to flash memory in a storage device
US9244618B1 (en) Techniques for storing data on disk drives partitioned into two regions
US8539142B2 (en) Storage system comprising nonvolatile semiconductor storage media
US9792073B2 (en) Method of LUN management in a solid state disk array
US8296543B2 (en) Computer system management apparatus and management method for the computer system
US20110246701A1 (en) Storage apparatus and its data control method
JP2015505078A (ja) 複数の不揮発性の半導体記憶媒体を有し、ホットデータを長寿命記憶媒体に配置しコールドデータを短寿命記憶媒体に配置するストレージ装置、及び、記憶制御方法
US8954658B1 (en) Method of LUN management in a solid state disk array
JP2016162397A (ja) ストレージ制御装置、制御システム及び制御プログラム
JP6283770B2 (ja) ストレージシステム
JP5942037B2 (ja) データ管理メカニズムを備えたストレージシステムおよびその動作方法
JP6554990B2 (ja) ストレージ制御装置およびストレージ制御プログラム
JP2008299559A (ja) ストレージシステム及びストレージシステムにおけるデータ移行方法
WO2018142622A1 (ja) 計算機
JP5597266B2 (ja) ストレージシステム
JP5768118B2 (ja) 複数のフラッシュパッケージを有するストレージシステム
US20240303114A1 (en) Dynamic allocation of capacity to namespaces in a data storage device

Legal Events

Date Code Title Description
RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20100316

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20100329

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110216

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110216

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120516

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120522

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120712

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: 20120731

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: 20120827

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: 20150831

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees