JP6459644B2 - ストレージ制御装置、制御システム及び制御プログラム - Google Patents

ストレージ制御装置、制御システム及び制御プログラム Download PDF

Info

Publication number
JP6459644B2
JP6459644B2 JP2015043332A JP2015043332A JP6459644B2 JP 6459644 B2 JP6459644 B2 JP 6459644B2 JP 2015043332 A JP2015043332 A JP 2015043332A JP 2015043332 A JP2015043332 A JP 2015043332A JP 6459644 B2 JP6459644 B2 JP 6459644B2
Authority
JP
Japan
Prior art keywords
area
storage
storage device
ssd
spare
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
JP2015043332A
Other languages
English (en)
Other versions
JP2016162397A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2015043332A priority Critical patent/JP6459644B2/ja
Priority to US15/048,351 priority patent/US9658796B2/en
Publication of JP2016162397A publication Critical patent/JP2016162397A/ja
Application granted granted Critical
Publication of JP6459644B2 publication Critical patent/JP6459644B2/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
    • 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/0647Migration mechanisms
    • G06F3/0649Lifecycle management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • 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/0608Saving storage space on 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/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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • 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/0688Non-volatile semiconductor memory arrays
    • 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/0689Disk arrays, e.g. RAID, JBOD
    • 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/1016Performance improvement
    • 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)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Debugging And Monitoring (AREA)
  • Memory System (AREA)

Description

本発明は、ストレージ装置の制御に関する。
ストレージ装置は、SSD(Solid−State Drive)やHDD(Hard Disc Drive)を記憶装置として搭載する。HDDは、磁性体を塗布した円盤ディスクを高速回転し、磁気ヘッドを移動することで、ディスクに格納された情報を読み出す記憶装置である。SSDは、NAND型フラッシュメモリを記憶媒体として用いる記憶装置である。
SSDなどNAND型フラッシュメモリを用いた記憶装置は、複数のメモリブロック(ブロック)を有する。複数のブロックは、ブロックへのWrite(書き込み)及びブロックからのRead(読み込み)に用いられるメイン領域と、メイン領域の予備領域として用いられるスペア領域に分けられる。SSDは、経年劣化などにより、ブロック単位の故障が発生する。劣化による故障は、予め想定されている。そのため、SSDなどの媒体は、予備のブロックを含むスペア領域を有する。ストレージ装置の処理部は、ファームウエアにより、故障が発生したブロックを故障ブロックとみなし、スペア領域内の予備のブロックを故障ブロックと代替する。SSDは、故障ブロックの容量を予備のブロックで代替することで、媒体の初期容量を保つ。
SSDのスペア領域は、性能及び寿命の観点から、ウェアレベリングやガベージコレクションなどのバックグラウンド処理に使用される。SSD内に使用頻度の多いブロックがある場合に、使用頻度(書き込み頻度)の多いブロックは早く寿命がきてしまう。ウェアレベリング技術は、使用頻度の多いブロックと使用頻度の低いブロックを入れ替えて使用させることで、ブロックごとの使用頻度の平準化を計る技術である。
SSDにおけるデータは、ページと呼ばれる単位でSSDに書き込まれる。しかし、データの消去は、複数のページで構成されるブロック単位で行われる。そのため、ガベージコレクション技術は、ブロック内のあるページのデータが不要になった場合、該ブロック内の不要でないデータを他のブロックに転送(書き込み)をする技術である。
ストレージ自動階層制御環境内の各記憶階層の寿命を延ばす方法が知られている(例えば、特許文献1参照)。ストレージ制御装置は、各記憶階層の寿命を延ばすため、データの属性やボリュームに指定されるポリシーに対応した記憶階層を割り当てる。
フラッシュメモリの寿命を考慮したストレージシステムが知られている(例えば、特許文献2参照)。ストレージシステムは、オンラインのフラッシュメモリの管理情報を記憶し管理する。オンラインのフラッシュメモリの一部又は全部をオフライン化する場合に、フラッシュメモリにおけるオフライン時の管理領域とする領域の既存データを管理領域以外の領域に移動して管理領域を作成する。作成した管理領域にフラッシュメモリの管理情報を書き出し、フラッシュメモリをオフライン化する。
特開2007−115232号公報 特開2008−192061号公報
ウェアレベリングやガベージコレクションなどのバックグラウンド処理はSSDへの書き込み処理の際に実施される。一方、バックグラウンド処理は、SSDからの読み込み処理の際には実施されない。そのため、読み込みのアクセスが多いSSDは、バックグラウンド処理が実行されず、使用されない無駄なスペア領域を保持している状態となる。
1つの側面において、本発明は、SSD内の領域を有効に活用することを目的とする。
データを記憶するメイン領域と、前記メイン領域の予備であるスペア領域とを備える記憶装置を含むストレージ装置を制御するストレージ制御装置である。取得部は、前記記憶装置に対する読み込み処理及び書き込み処理の回数情報を前記ストレージ装置から取得する。記憶部は、前記スペア領域で前記メイン領域として使用可能な領域を管理するために用いられる管理情報を記憶する。通知部は、前記記憶装置からの所定の時間あたりの読み込み処理の回数が所定の回数よりも多い場合、前記管理情報に基づいて、前記スペア領域内の前記メイン領域として使用可能な領域を、前記メイン領域として割り当てる要求を前記ストレージ装置に通知する。
SSD内の領域を有効に活用する。
本実施形態に係るストレージ装置及びストレージ制御装置の例を説明する図である。 本実施形態に係るストレージ装置及びストレージ制御装置の例を説明する図である。 本実施形態に係るストレージ装置及びストレージ制御装置の例を説明する図である。 本実施形態に係るストレージ装置及びストレージ制御装置の例を説明する図である。 ストレージ制御装置のハードウェア構成の例を説明する図である。 ストレージ装置のハードウェア構成の例を説明する図である。 Unmapコマンド及び書き込みコマンドについての例を説明する図である。 管理情報の例を説明する図である。 ストレージ装置とストレージ制御装置の処理の例を説明するフローチャートである。 ストレージ制御装置の処理の例を説明するフローチャートである。 ストレージ制御装置の処理の例を説明するフローチャートである。 ストレージ制御装置の処理の例を説明するフローチャートである。 ストレージ制御装置の処理の例を説明するフローチャートである。
以下、図面を参照しながら、実施形態を詳細に説明する。
図1A〜図1Dは、本実施形態に係るストレージ装置及びストレージ制御装置の例を説明する図である。ストレージ装置100は、プログラム(例えば、ファームウェア)を実行する処理部160、SSD110を備える。ストレージ自動階層制御(AST:Automated Storage Tirering)を実装したストレージ装置100の場合、SSD110は、例えば、最上部である「Tier0」の階層に配置された記憶装置である。また、ストレージ装置100は、複数のSSD(記憶装置)を組み合わせて仮想的な1台のSSD110として見せるRedundant Arrays of Inexpensive Disks(RAID)技術が用いられている。
図1Aに示すSSD110は、本実施形態に係るSSD110の初期状態の例である。SSD110は、データを記憶するメイン領域111aと、メイン領域111aの予備領域であるスペア領域112aとを備える。処理部160は、メイン領域111a及びスペア領域112aの容量を変更可能である。また、処理部160は、SSD110に対して行われた書き込み処理の回数及び読み込み処理の回数を、SSD110より取得できる。
ストレージ制御装置150は、取得部151、解析部152、通知部153、記憶部154を備える。取得部151は、処理部160が取得したSSD110に対して行われた書き込み処理の回数及び読み込み処理の回数を、処理部160から取得する。取得部151は、定期的にストレージ装置100からSSD110に対して行われた書き込み処理の回数及び読み込み処理の回数の情報を取得する。解析部152は、取得部151が取得したSSD110に対して行われた書き込み処理の回数及び読み込み処理の回数の情報を解析する。より具体的には、解析部152は、一定時間毎のSSD110を対象に行われた書き込み処理の回数及び読み込み処理の回数を算出する。例えば、5分毎のSSD110を対象に行われた書き込み処理の回数及び読み込み処理の回数を算出する。また、解析部152は、SSD110への解析をはじめてからのSSD110を対象に行われた書き込み処理の回数及び読み込み処理の累積回数を算出し、ストレージ制御装置150内の記憶部154に記憶する。通知部153は、解析部152の解析結果に基づいて、SSD110のメイン領域及びスペア領域の容量を変更する要求命令を、ストレージ装置100に通知する。
図1Bに示すSSD110は、書き込み処理の回数が多い記憶装置の例である。解析部152は、解析を開始してからのSSD110への書き込み処理の累計回数が所定の回数増える毎に、RAIDを組む複数のSSD(記憶装置)のうちで、書き込み処理の累計回数が所定の閾値を超えるSSDがあるかを判定する。以降、RAIDを組む複数のSSD(記憶装置)のうちで、書き込み処理の累計回数が所定の閾値を超えるSSDがあるかの判定処理を、「判定A1」処理と称す。
また、解析部152は、RAIDを組む複数のSSD(記憶装置)の全てのSSDに対する書き込み処理の累計回数が所定の閾値を超えているかを判定する。以降、RAIDを組む複数のSSD(記憶装置)の全てのSSDに対する書き込み処理の累計回数が所定の閾値を超えているかを判定する処理を、「判定A2」と称す。RAIDを組む複数のSSD(記憶装置)の全てのSSDに対する書き込み処理の累計回数が所定の閾値を超えている場合、ストレージ制御装置150は、SSDの寿命が近いことをユーザーに対して通知する。以降、ストレージ制御装置150が、SSDの寿命が近いことをユーザーに対して通知する処理を、「処理A2」と称す。
書き込み処理の回数が多いSSD110では、性能及び寿命の観点から、ウェアレベリングやガベージコレクションなどのバックグラウンド処理が実行される。該バックグラウンド処理の対象はスペア領域である。SSD110では、書き込み処理の回数が増えると、記憶媒体の劣化を防ぐためのウェアレベリングの実施回数が増える。ここで、SSD110のスペア領域112bの容量が少ない場合、ウェアレベリングによる劣化したブロックと交代するスペア領域112b内の空きブロックが不足する。すると、ウェアレベリングによりスペア領域112bのブロックと交代できない劣化したブロックがでる可能性が高まり、SSD110の寿命が早くなる。
通知部153は、RAID内で書き込み処理の累計回数が所定の閾値を超えるSSD(記憶装置)がある場合に、メイン領域111b内の一部領域をスペア領域112bに割り当てるよう要求する要求命令をストレージ装置100に通知する。以降、RAID内で書き込み処理の累計回数が所定の閾値を超えるSSD(記憶装置)がある場合に、通知部153がメイン領域111b内の一部領域をスペア領域112bに割り当てる要求命令をストレージ装置100に通知する処理を、「処理A1」と称す。
ここで、メイン領域111b内の一部領域を、可変領域113と称す。可変領域113は、処理部160によりメイン領域111とスペア領域112とのどちらにも設定可能な領域である。記憶部154は、可変領域113の領域情報を管理するために用いられる管理情報を記憶する。
処理部160は、通知部153からの要求命令に従い、可変領域113をスペア領域112bとして利用可能と設定する。その結果、図1Bに示すSSD110のように、可変領域113は、スペア領域112b内に組み込まれる。なお、可変領域113をスペア領域112bとして設定するため、処理部160は、例えば、メイン領域112bのブロックの論理アドレスを対象にSCSIコマンドの「Unmapコマンド」を発行することで実現してもよい。なお、Unmapコマンドが実行されたブロックにデータが格納されている場合は、下の階層(例えば、Tire1)のSSDにデータをコピーしてもよい。
図1BのSSD110のようにスペア領域112bの容量が増えることで、図1AのSSD110と比べ、ウェアレベリングで劣化したブロックと交換可能なブロックが増える。そのため、図1BのSSD110は、記憶装置としての寿命を延ばすことができる。
図1CのSSD110は、読み込み処理のアクセス回数が多い記憶装置の例である。図1Cの記憶部154は、メイン領域111cの一部領域がスペア領域112cとして使用されていることを示す管理情報を記憶しているものとする。言い換えると、図1CのSSD110内のメイン領域111cの一部領域がスペア領域として使用されているものとする。図1CのSSD110内のメイン領域111cの一部領域がスペア領域として使用されている領域は、可変領域113である。
バックグラウンド処理はSSD110への書き込みを行う際に実施される。一方、バックグラウンド処理は、SSD110から読み込みを行う際には実施されない。すると、読み込み処理のアクセス回数が多いSSD110は、使用されない無駄なスペア領域112cを保持している状態となる。
解析部152は、一定時間内(例えば、5分間)にSSD110を対象に実行された読み込み処理の回数が所定の閾値を超えたかを、取得部151が取得した情報に基づいて判定する。以降、一定時間内にSSD110を対象に実行された読み込み処理の回数が所定の閾値を超えたかを判定する処理を、「判定B」と称す。一定時間内にSSD110を対象に実行された読み込み処理の回数が所定の閾値を超えている場合、通知部153は、管理情報に基づいて可変領域113をメイン領域111cとして割り当てるよう要求する要求命令をストレージ装置100に通知する。以降、可変領域113をメイン領域111cとして割り当てるよう要求する要求命令をストレージ装置100に通知する処理を、「処理B」と称す。記憶部154から、管理情報内のメイン領域111cとして割り当てられた可変領域113の情報は削除される。
処理部160は、通知部153からの要求命令に従い、可変領域113をメイン領域111cとして設定する。その結果、図1Cに示すSSD110のように、可変領域113は、メイン領域111c内に組み込まれる。なお、可変領域113をメイン領域111cとして設定するため、処理部160は、例えば、可変領域113のメモリ領域(ブロック)を対象に「書き込みコマンド」を発行することで実現してもよい。
図1CのSSD110のようにスペア領域112cの容量が減ることで、バックグラウンド処理で使用されない無駄なスペア領域112cを減らすことができる。読み込み処理に使用されるメイン領域111cが増えることで、Tier0が格納するデータ量が増え、読み込み処理のヒット率が向上する。そのため、SSD110として高速な読み込み処理を可能とする。
図1DのSSD110は、書き込み処理の回数が多い記憶装置の例である。解析部152は、一定時間内(例えば、5分間)にSSD110を対象に実行された書き込み処理の回数が所定の閾値を超えたかを判定する。以降、一定時間内にSSD110を対象に実行された書き込み処理の回数が所定の閾値を超えたかを判定する処理を、「判定C」と称す。
書き込み処理が増えることで、バックグラウンド処理であるガベージコレクションの実行される回数も増加する。ガベージコレクションでは、不要なデータを削除する場合に該不要なデータと同じブロックにある不要でないデータを、スペア領域112d内のブロックに転送する。そのため、ガベージコレクションが実行される回数が増えると、スペア領域112dの転送先のブロックが不足しやすい。また、ガベージコレクションの回数が増加すると、書き込み(転送)処理に時間がかかり、SSD110の性能が低下する。
一定時間内における書き込み処理の回数が所定の閾値を超えている場合、通知部153は、メイン領域111d内の一部領域をスペア領域112dに割り当てるよう要求する要求命令をストレージ装置100に通知する。以降、一定時間内における書き込み処理の回数が所定の閾値を超えている場合、通知部153は、メイン領域111d内の一部領域をスペア領域112dに割り当てるよう要求する要求命令をストレージ装置100に通知する処理を、「処理C」と称す。記憶部154は、メイン領域111d内の一部領域のうち、スペア領域112dに割り当てるよう要求された領域である可変領域113の情報を管理するために用いられる管理情報を記憶する。
処理部160は、通知部153からの要求命令に従い、可変領域113をスペア領域112dとして利用可能と設定する。その結果、図1Dに示すSSD110のように、可変領域113は、スペア領域112d内に組み込まれる。なお、可変領域113をスペア領域112dとして設定するため、処理部160は、例えば、メイン領域112dのブロックを表す論理アドレスを対象にSCSIコマンドの「Unmapコマンド」を発行することで実現してもよい。なお、Unmapコマンドが実行されたブロックにデータが格納されている場合は、下の階層(例えば、Tire1)のSSDにデータをコピーしてもよい。
図1DのSSD110のように、スペア領域112dの容量が増えることで、ガベージコレクションで利用可能なブロックが増える。転送先ブロックを容易に確保できることで、ガベージコレクションを行うための容量確保処理がなくなる。スペア領域112dの容量を増やすことで、書き込み処理の回数が多いSSD110においても、SSD110の書き込み処理の性能を維持することができる。
図1BのSSD110のように、書き込み処理の累積回数が所定の閾値を超えたSSDがある場合に、可変領域113がスペア領域112bとして設定される。スペア領域112bの容量が増えることで、ウェアレベリングで劣化したブロックと交換可能なブロックが増える。すると、図1BのSSD110は、記憶装置としての寿命を延ばすことができる。
一定時間内に読み込み処理の回数が所定の閾値よりも多い図1CのSSD110では、スペア領域112cの容量が減る。スペア領域112cの容量が減ることで、バックグラウンド処理で使用されない無駄なスペア領域112cを減らすことができる。読み込み処理に使用されるメイン領域111cが増えることで、Tier0が格納するデータ量が増え、読み込み処理のヒット率が向上する。そのため、SSD110として高速な読み込み処理を可能とする。
一定時間内に書き込み処理の回数が所定の閾値よりも多い図1DのSSD110では、スペア領域112bの容量が増える。スペア領域112dの容量が増えることで、ガベージコレクションで利用可能なブロックが増える。転送先ブロックを容易に確保できることで、ガベージコレクションを行うための容量確保処理がなくなる。スペア領域112dの容量を増やすことで、書き込み処理の回数が多いSSD110においても、SSD110の書き込み処理の性能を維持することができる。
図1A〜図1DのSSD110のように、可変領域113をメイン領域又はスペア領域に設定可能なSSD110は、ASTにおける最上位の階層に配置されたSSDに限らない。可変領域113をメイン領域又はスペア領域に設定可能なSSD110は、全ての階層で実装することもできる。また、図1A〜図1DのSSD110で説明した処理は、ASTを実装していないストレージ装置100に搭載されているSSDが対象であってもよい。ストレージ制御装置150は、SSD110を対象とした判定A1〜判定C及び処理A1〜処理Cに係る同様の処理をHDDに対して実施してもよい。
図2は、ストレージ制御装置のハードウェア構成の例を説明する図である。ストレージ制御装置150は、プロセッサ11、メモリ12、バス15、外部記憶装置16、ネットワーク接続装置19を備える。さらにオプションとして、ストレージ制御装置150は、入力装置13、出力装置14、媒体駆動装置17を備えても良い。ストレージ制御装置150は、例えば、コンピュータである。
プロセッサ11は、任意の処理回路であってよく、例えば、Central Processing Unit(CPU)であってもよい。プロセッサ11は、ストレージ制御装置150において、取得部151、解析部152、通知部153として動作する。なお、プロセッサ11は、例えば、外部記憶装置16に記憶されたプログラムを実行することができる。
メモリ12は、取得部151が取得したデータ、解析部152が使用するデータを格納する。メモリ12は、記憶部154として動作する。場合によっては、外部記憶装置16がメモリ12の代替として使われてもよい。さらに、メモリ12は、プロセッサ11の動作により得られたデータや、プロセッサ11が実行する処理に用いられるデータも、適宜、記憶する。
ネットワーク接続装置19は、他の装置、例えば、ストレージ装置100との通信に使用される。ネットワーク接続装置19は、例えば、ネットワークアダプタなどのネットワークインタフェイス回路である。ストレージ制御装置150は、ネットワーク接続装置19とネットワークを介して、ストレージ装置100から、SSD110の書き込み処理の回数や読み込み処理の回数などの情報を取得する。ネットワーク接続装置19は、取得部151や通知部153がデータの取得及び送信に使用するインターフェースであり、送受信装置として動作する。
入力装置13は、例えば、ボタン、キーボード、マウス等であってもよい。出力装置14は、ディスプレイなどであってもよい。バス15は、プロセッサ11、メモリ12、入力装置13、出力装置14、外部記憶装置16、媒体駆動装置17、ネットワーク接続装置19の間を、相互にデータの受け渡しが行えるように接続する。外部記憶装置16には、プログラムやデータなどが格納される。外部記憶装置16は、例えば、HDDでもよく、Solid‐State Drive(SSD)でもよい。外部記憶装置16に格納されている情報は、適宜、プロセッサ11などに提供される。媒体駆動装置17は、メモリ12や外部記憶装置16に記憶されているデータを可搬型記録媒体18に出力することができ、また、可搬型記録媒体18からプログラムやデータ等を読み出すことができる。ここで、可搬型記録媒体18は、フロッピイディスク、Magnet-Optical(MO)ディスク、Compact Disc Recordable(CD−R)やDigital Versatile Disc Recordable(DVD−R)などの、持ち運びが可能な任意の記憶媒体であってよい。可搬型記録媒体18は、フラッシュメモリなどの半導体メモリカードであってもよく、媒体駆動装置17はメモリカード用のリーダ及びライタであってもよい。
なお、メモリ12、外部記憶装置16、及び可搬型記録媒体18は、いずれも、有形の(tangible)記憶媒体の例である。これらの有形の記憶媒体は、信号搬送波のような一時的な(transitory)媒体ではない。
図3は、ストレージ装置のハードウェア構成の例を説明する図である。ストレージ装置100は、Controller Module(CM)21と、複数のSSD22(22a〜22n)とHDD23(23a〜23n)を有する。なお、SSD22a〜22nやHDD23a〜23nは、SSDやHDDなどの数を制限するものではない。複数のSSD22は、RAIDを組むことで仮想的にSSD110として使用される。
CM21は、Channel Adapter(CA)24と、PCIスイッチ25とIO Controller(IOC)26と、Expander(EXP)27と、Random Access Memory(RAM)28、CPU29とを有する。CM21は、サーバなどのホストコンピュータを示すホスト30(30a〜30n)と接続する。CM21は、ホスト30から転送される書き込みデータを受け取ってSSD22やHDD23への書き込みを実行する。また、CM21は、ホスト30からのデータの読み出し要求に従って、SSD22やHDD23からデータを読みだす。
CA21は、ホスト30とのインターフェースである。例えば、CA21は、Fiber Channel(FC)またはInternet SCSI(iSCSI)などのインターフェースを用いてホスト30と接続する。PCIスイッチ25は、PCIe仕様の入出力インターフェースを示すスイッチである。ここでは、PCIスイッチ25は、PCIeインターフェースを用いてCA21、CPU29及びIOC26と接続する。
IOC26は、ホスト30とSSD22、ホスト30とHDD23との間で行われるデータの入出力を制御する。例えば、IOC26は、PCIeインターフェースを用いて書き込みデータを受け取り、SASインターフェースを用いてEXP27に転送する。すなわち、IOC26は、PCIeインターフェースとSASインターフェースのブリッジの役割を担う。EXP27は、ホスト30とSSD22、ホスト30とHDD23との間で行われるデータの入出力を中継する。
RAM28は、キャッシュ領域として用いられる。キャッシュ領域は、一時的にデータの内容を保持する領域である。CPU29は、各種の処理手順を規定したプログラムや制御データを格納するための内部メモリを有し、これらによって様々な処理を実行する。図1の処理部160の処理も、CPU29により実現される。
図4は、Unmapコマンド及び書き込みコマンドについての例を説明する図である。図4のSSD210aは、メイン領域211a、スペア領域212a、論理テーブル213aを格納するテーブル領域を備える。メイン領域211aは、実際にデータを格納し、ユーザーに記憶領域として提供される。スペア領域212aは、メイン領域211aの予備領域である。論理テーブル213aは、SSDの物理ブロックのアドレスと、該物理ブロックを仮想的に使用するために該物理ブロックのアドレスと対応付けられた論理アドレスであるLogical Block Address(LBA)とを管理する情報である。なお、論理テーブル213aの各マスは、一つのページ単位を表している。
図1Bや図1DのSSD110のように、処理部160は、メイン領域211a内のある物理ブロックを表すLBAに対してUnmapコマンドを実行する。ここで、Unmapコマンドは、ブロック単位で実行される。図4の例では、1つのブロックは4つのページを含む。Unmapコマンドの対象となった物理ブロック220は、メイン領域211aとして使用されないため、スペア領域212aとして認識される。言い換えると、Unmapコマンドの対象である物理ブロック220は、可変領域である。なお、ストレージ制御装置150がUnmapコマンドをストレージ装置100に要求する際に、Unmapの対象となった物理ブロック220を表すLBAのアドレス情報は、記憶部154に管理情報として記憶される。
SSD210bは、メイン領域211b、スペア領域212b、論理テーブル213bを備える。SSD210bの例では、図1CのSD110のように、処理Cが実行される。言い換えると、ストレージ制御装置150の通知部153は、管理情報に基づいてUnmapの対象となった物理ブロック220をメイン領域211bとして割り当てるよう要求する要求命令をストレージ装置100に通知する。処理部160は、管理情報に基づいてUnmapの対象となった物理ブロック220を対象とした書き込みコマンドを実行する。何らかのデータが書き込まれた物理ブロック220は、メイン領域211bとして使用される。この場合に使用される管理情報は、スペア領域内でメイン領域として使用可能な領域を管理しているともいえる。
図5は、管理情報の例を説明する図である。ストレージ制御装置150の記憶部154は、SSDの管理情報を記憶する。管理情報は、Unmapコマンドの対象となったブロックを表すLBAアドレス及び該LBAアドレスが示すブロックへの書き込み処理の累計回数とを対応づけた情報である。
管理情報は、例えば、LBAアドレス0x0000_0000のブロックがUnmapコマンドの対象となったブロックであることを示し、更に、該ブロックに対して書き込み処理の累計回数が48回であることを示している。同様に、管理情報は、LBAアドレス0x2000_0000のブロックがUnmapコマンドの対象となったブロックであることを示し、更に、該ブロックに対して書き込み処理の累計回数が28回であることを示している。LBAアドレスに対応する累計回数が少ないブロックから、書き込みコマンドを用いてメイン領域に戻す対象とすることで、ブロックの使用頻度の平準化を計れる。
図6は、ストレージ装置とストレージ制御装置の処理の例を説明するフローチャートである。ストレージ装置100の処理部160は、SSD110より、書き込み処理の回数及び読み込み処理の回数を取得する(ステップS101)。ストレージ制御装置150の取得部151は、処理部160が取得した情報を取得し、記憶部154に記憶させる(ステップS102)。ストレージ制御装置150の解析部152は、書き込み処理の回数及び読み込み処理の回数の頻度を解析する(ステップS103)。解析部152は、解析結果に基づいて、メイン領域及びスペア領域の容量を変更するかを決定する(ステップS104)。ストレージ制御装置150の通知部153は、メイン領域及びスペア領域の容量を変更する要求をストレージ装置100に通知する(ステップS105)。
ストレージ装置100の処理部160は、ステップS105の要求に従って、メイン領域及びスペア領域の容量を変更する(ステップS106)。処理部160は、メイン領域及びスペア領域の容量の変更に伴うデータの転送を実行する(ステップS107)。
図7A〜図7Dは、ストレージ制御装置の処理の例を説明するフローチャートである。図6のステップS103〜ステップS105を、図7A〜図7Dのフローチャートを用いてより詳細に説明する。図7A〜図7Dで説明するフローチャートの処理は、RAIDに属するSSD全てを対象に行われる。
まず、ストレージ制御装置がストレージ装置の解析を開始すると、図7A〜図7Bに示すストレージ制御装置の処理が実行される。解析部152は、解析を開始してからのSSDへの書き込み処理の累計回数が、所定の回数を超えたか判定する(ステップS201)。ステップS201は、図1で説明した「判定A1」の処理である。SSDに対する書き込み処理の累計回数が所定の回数を超えた場合(ステップS201でYES)、通知部153が可変領域113をスペア領域112に割り当てる要求命令をストレージ装置100に通知する(ステップS202)。ステップS202の処理は、図1で説明した「処理A1」の処理である。解析部152は、RAID内の全てのSSDの書き込み処理の累計回数が所定の回数を超えているかを判定する(ステップS203)。ステップS203の処理は、図1で説明した「判定A2」の処理である。RAID内の全てのSSDの書き込み処理の累計回数が所定の回数を超えている場合(ステップS203でYES)、通知部153は、SSD110の寿命が近いことをユーザーに通知する(ステップS204)。ステップS204の処理は、図1で説明した「処理A2」の処理である。RAID内の全てのSSDの書き込み処理の累計回数が所定の回数を超えていない場合(ステップS203でYES)、ストレージ制御装置は、SSDの制御処理を終了する。また、ステップS204の処理が終了すると、ストレージ制御装置は、SSDの制御処理を終了する。
SSDに対する書き込み処理の累計回数が所定の回数を超えていない場合(ステップS201でNO)、解析部152は、一定時間内にSSDに対して実行された読み込み処理の回数が、所定の閾値を超えたかを判定する(ステップS205)。ステップS205の処理は、図1で説明した「判定B」の処理である。一定時間内にSSDに対して実行された読み込み処理の回数が所定の閾値を超えている場合(ステップS205でYES)、通知部153は、スペア領域の容量を増やすUnmapコマンドを実行する要求をストレージ装置に通知する(ステップS206)。ステップS206の処理は、図1で説明した「処理B」の処理である。ステップS206の処理が終了すると、ストレージ制御装置は、SSDの制御処理を終了する。
一定時間内にSSDに対して実行された読み込み処理の回数が所定の閾値を超えていない場合(ステップS205でNO)、一定時間内にSSDに対して実行された書き込み処理の回数が、所定の閾値を超えたかを判定する(ステップS207)。ステップS207の処理は、図1で説明した「判定C」の処理である。一定時間内にSSDに対して実行された書き込み処理の回数が所定の閾値を超えた場合(ステップS207でYES)、通知部153は、スペア領域の容量を増やすUnmapコマンドを実行する要求をストレージ装置に通知する(ステップS208)。ステップS208の処理は、図1で説明した「処理C」の処理である。一定時間内にSSDに対して実行された書き込み処理の回数が所定の閾値を超えていない場合(ステップS207でNO)、ストレージ制御装置は、SSDの制御処理を終了する。また、ステップS208の処理が終了するとストレージ制御装置は、SSDの制御処理を終了する。
なお、ステップS202で処理A1を実施、ステップS203でNOと判定されたSSDは、以降も図7A〜図7Bに示すストレージ制御装置の処理の対象となる。ステップS204で処理A2が実行された場合は、SSDへの書き込み処理の累積回数が多すぎるため、以降、図7A〜図7Bに示す処理は実行されない。言い換えると、ステップS204で処理A2が実行された場合、SSDは寿命である。ステップS208で処理Cが実行されたSSDは、以降は、後述する図7Dに示すストレージ制御装置の処理の対象となる。
ステップS206の処理Bが実施されたSSDは、図7Cに示すストレージ制御装置の処理の対象となる。解析部152は、解析を開始してからのSSDへの書き込み処理の累計回数が、所定の回数を超えたか判定する(ステップS301)。ステップS301は、図1で説明した「判定A1」の処理である。SSDに対する書き込み処理の累計回数が所定の回数を超えた場合(ステップS301でYES)、通知部153が可変領域113をスペア領域112に割り当てる要求命令をストレージ装置100に通知する(ステップS302)。ステップS302の処理は、図1で説明した「処理A1」の処理である。解析部152は、RAID内の全てのSSDの書き込み処理の累計回数が所定の回数を超えているかを判定する(ステップS303)。ステップS303の処理は、図1で説明した「判定A2」の処理である。RAID内の全てのSSDの書き込み処理の累計回数が所定の回数を超えている場合(ステップS303でYES)、通知部153は、SSD110の寿命が近いことをユーザーに通知する(ステップS304)。ステップS304の処理は、図1で説明した「処理A2」の処理である。RAID内の全てのSSDの書き込み処理の累計回数が所定の回数を超えていない場合(ステップS303でYES)、ストレージ制御装置は、SSDの制御処理を終了する。また、ステップS304の処理が終了すると、ストレージ制御装置は、SSDの制御処理を終了する。
SSDに対する書き込み処理の累計回数が所定の回数を超えていない場合(ステップS301でNO)、一定時間内にSSDに対して実行された書き込み処理の回数が、所定の閾値を超えたかを判定する(ステップS305)。ステップS305の処理は、図1で説明した「判定C」の処理である。一定時間内にSSDに対して実行された書き込み処理の回数が所定の閾値を超えた場合(ステップS305でYES)、通知部153は、スペア領域の容量を増やすUnmapコマンドを実行する要求をストレージ装置に通知する(ステップS306)。ステップS306の処理は、図1で説明した「処理C」の処理である。一定時間内にSSDに対して実行された書き込み処理の回数が所定の閾値を超えていない場合(ステップS305でNO)、ストレージ制御装置は、SSDの制御処理を終了する。また、ステップS306の処理が終了するとストレージ制御装置は、SSDの制御処理を終了する。
なお、ステップS302で処理A1を実施、ステップS303でNOと判定されたSSDは、以降は、図7A〜図7Bに示すストレージ制御装置の処理の対象となる。ステップS304で処理A2が実行された場合は、SSDへの書き込み処理の累積回数が多すぎるため、以降、図7A〜図7Cに示す処理は実行されない。言い換えると、ステップS304で処理A2が実行された場合、SSDは寿命である。ステップS306で処理Cが実行されたSSDは、以降、後述する図7Dに示すストレージ制御装置の処理の対象となる。
ステップS208やステップS306の処理Cが実施されたSSDは、図7Dに示すストレージ制御装置の処理の対象となる。解析部152は、解析を開始してからのSSDへの書き込み処理の累計回数が、所定の回数を超えたか判定する(ステップS401)。ステップS401は、図1で説明した「判定A1」の処理である。SSDに対する書き込み処理の累計回数が所定の回数を超えた場合(ステップS401でYES)、通知部153が可変領域113をスペア領域112に割り当てる要求命令をストレージ装置100に通知する(ステップS402)。ステップS402の処理は、図1で説明した「処理A1」の処理である。解析部152は、RAID内の全てのSSDの書き込み処理の累計回数が所定の回数を超えているかを判定する(ステップS403)。ステップS403の処理は、図1で説明した「判定A2」の処理である。RAID内の全てのSSDの書き込み処理の累計回数が所定の回数を超えている場合(ステップS403でYES)、通知部153は、SSD110の寿命が近いことをユーザーに通知する(ステップS404)。ステップS404の処理は、図1で説明した「処理A2」の処理である。RAID内の全てのSSDの書き込み処理の累計回数が所定の回数を超えていない場合(ステップS403でYES)、ストレージ制御装置は、SSDの制御処理を終了する。また、ステップS404の処理が終了すると、ストレージ制御装置は、SSDの制御処理を終了する。
SSDに対する書き込み処理の累計回数が所定の回数を超えていない場合(ステップS401でNO)、解析部152は、一定時間内にSSDに対して実行された読み込み処理の回数が、所定の閾値を超えたかを判定する(ステップS405)。ステップS405の処理は、図1で説明した「判定B」の処理である。一定時間内にSSDに対して実行された読み込み処理の回数が所定の閾値を超えている場合(ステップS405でYES)、通知部153は、スペア領域の容量を増やすUnmapコマンドを実行する要求をストレージ装置に通知する(ステップS406)。ステップS406の処理は、図1で説明した「処理B」の処理である。ステップS406の処理が終了すると、ストレージ制御装置は、SSDの制御処理を終了する。一定時間内にSSDに対して実行された読み込み処理の回数が所定の閾値を超えていない場合(ステップS405でNO)、ストレージ制御装置は、SSDの制御処理を終了する。
なお、ステップS402で処理A1を実施、ステップS403でNOと判定されたSSDは、以降、図7A〜図7Bに示すストレージ制御装置の処理の対象となる。ステップS404で処理A2が実行された場合は、SSDへの書き込み処理の累積回数が多すぎるため、以降、図7A〜図7Dに示す処理は実行されない。言い換えると、ステップS404で処理A2が実行された場合、SSDは寿命である。ステップS406の処理Bが実施されたSSDは、図7Cに示すストレージ制御装置の処理の対象となる。
一定時間内に読み込み処理の回数が所定の閾値よりも多いSSDでは、SSDの状態からメイン領域の容量が増え、スペア領域の容量が減る。これにより、バックグラウンド処理で使用されないスペア領域を持て余すことが減る。そのため、読み込み処理が多い環境においてSSDは、性能を効率よく発揮できる。
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
(付記1)
データを記憶するメイン領域と、前記メイン領域の予備であるスペア領域とを備える記憶装置を含むストレージ装置を制御するストレージ制御装置であって、
前記記憶装置に対する読み込み処理及び書き込み処理の回数情報を前記ストレージ装置から取得する取得部と、
前記スペア領域で前記メイン領域として使用可能な領域を管理するために用いられる管理情報を記憶する記憶部と、
前記記憶装置からの所定の時間あたりの読み込み処理の回数が所定の回数よりも多い場合、前記管理情報に基づいて、前記スペア領域内の前記メイン領域として使用可能な領域を、前記メイン領域として割り当てる要求を前記ストレージ装置に通知する通知部と、
を備えることを特徴とするストレージ制御装置。
(付記2)
前記通知部は、
前記記憶装置への書き込み処理の累積回数が所定の回数増えると、前記メイン領域の一部領域を前記スペア領域として割り当てる要求を前記ストレージ装置に通知し、
前記一部領域を、前記スペア領域で前記メイン領域として使用可能な領域として前記記憶部に記憶させる
ことを特徴とする付記1に記載のストレージ制御装置。
(付記3)
前記通知部は、
前記記憶装置への所定の時間あたりの書き込み処理の回数が所定の回数よりも多い場合、前記管理情報に基づいて、前記スペア領域内の前記メイン領域として使用可能な領域を、前記メイン領域として割り当てる要求を前記ストレージ装置に通知する
ことを特徴とする付記1又は2に記載のストレージ制御装置。
(付記4)
前記取得部は、
前記ストレージ装置が、Automated Storage Tirering機能を実装している場合、最上位の階層に属する前記記憶装置から読み込み処理及び書き込み処理の回数情報を取得する
ことを特徴とする付記1〜3の何れかに記載のストレージ制御装置。
(付記5)
データを記憶するメイン領域と、前記メイン領域の予備であるスペア領域とを備える記憶装置を含むストレージ装置と、前記ストレージ装置を制御するストレージ制御装置とを含むストレージシステムであって、
前記ストレージ制御装置は、
前記記憶装置からの所定の時間あたりの読み込み処理の回数が所定の回数よりも多い場合、前記スペア領域で前記メイン領域として使用可能な領域を管理するために用いられる管理情報に基づいて、前記スペア領域内の前記メイン領域として使用可能な領域を、前記メイン領域として割り当てる要求を前記ストレージ装置に通知し、
前記ストレージ装置は、
前記スペア領域内の前記メイン領域として使用可能な領域を、前記メイン領域として割り当てる
ことを特徴とするストレージシステム。
(付記6)
前記ストレージ制御装置は、
前記記憶装置への書き込み処理の累積回数が所定の回数増えると、前記メイン領域の一部領域で前記スペア領域として割り当てる要求を前記ストレージ装置に通知し、
前記ストレージ装置は、
前記一部領域を前記スペア領域として割り当てる
ことを特徴とする付記5に記載のストレージシステム。
(付記7)
前記ストレージ制御装置は、
前記記憶装置への所定の時間あたりの書き込み処理の回数が所定の回数よりも多い場合、前記スペア領域で前記メイン領域として使用可能な領域を管理するために用いられる管理情報に基づいて、前記スペア領域内の前記メイン領域として使用可能な領域を、前記メイン領域として割り当てる要求を前記ストレージ装置に通知し、
前記ストレージ装置は、
前記スペア領域内の前記メイン領域として使用可能な領域を、前記メイン領域として割り当てる
ことを特徴とする付記5又は6に記載のストレージシステム。
(付記8)
前記ストレージ装置は、
Small Computer System Inteface(SCSI)コマンドであるUnmapコマンドを、前記一部領域を対象として実行することで、前記メイン領域の一部領域を前記スペア領域として割り当てる
ことを特徴とする付記5に記載のストレージシステム。
(付記9)
前記ストレージ装置は、
前記スペア領域内の前記メイン領域として使用可能な領域を対象にデータの書き込みをすることで、前記スペア領域内の前記メイン領域として使用可能な領域を、前記メイン領域として割り当てる
ことを特徴とする付記5又は7に記載のストレージシステム。
(付記10)
前記ストレージ制御装置は、前記ストレージ装置が、Automated Storage Tirering機能を実装している場合、最上位の階層に属する前記記憶装置を制御対象とする
ことを特徴とする付記5〜9の何れかに記載のストレージシステム。
(付記11)
データを記憶するメイン領域と、前記メイン領域の予備であるスペア領域とを備える記憶装置を備えるストレージ装置から、前記記憶装置に対する読み込み処理及び書き込み処理の回数情報を取得し、
前記記憶装置からの所定の時間あたりの読み込み処理の回数が所定の回数よりも多い場合、前記スペア領域で前記メイン領域として使用可能な領域を管理するために用いられる管理情報に基づいて、前記スペア領域内の前記メイン領域として使用可能な領域を、前記メイン領域として割り当てる要求を前記ストレージ装置に通知する、処理をコンピュータに実行させる
ことを特徴とするストレージ制御プログラム。
(付記12)
前記記憶装置への書き込み処理の累積回数が所定の回数増えると、前記メイン領域の一部領域を前記スペア領域として割り当てる要求を前記ストレージ装置に通知し、
前記一部領域を、前記スペア領域で前記メイン領域として使用可能な領域を、管理情報として記憶する、処理を前記コンピュータに実行させる
ことを特徴とする付記11に記載のストレージ制御プログラム。
(付記13)
前記記憶装置への所定の時間あたりの書き込み処理の回数が所定の回数よりも多い場合、前記管理情報に基づいて、前記スペア領域内の前記メイン領域として使用可能な領域を、前記メイン領域として割り当てる要求を前記ストレージ装置に通知する処理を前記コンピュータに実行させる
ことを特徴とする付記11又は12に記載のストレージ制御プログラム。
(付記14)
前記ストレージ装置が、Automated Storage Tirering機能を実装している場合、最上位の階層に属する前記記憶装置から読み込み処理及び書き込み処理の回数情報を取得する処理を前記コンピュータに実行させる
ことを特徴とする付記11〜13の何れかに記載のストレージ制御プログラム。
11 プロセッサ
12 メモリ
13 入力装置
14 出力装置
15 バス
16 外部記憶装置
17 媒体駆動装置
19 ネットワーク接続装置
21 CM
23、23a〜23n HDD
24 CA
25 PCIスイッチ
26 IOC
27 EXP
28 RAM
29 CPU
30、30a〜30n ホスト
100 ストレージ装置
110、110a〜110d、210a、210b SSD
111a〜111d、211a、211b メイン領域
112a〜112d、212a、212b スペア領域
113 可変領域
150 ストレージ制御装置
151 取得部
152 解析部
153 通知部
154 記憶部
160 処理部
213a、213b 論理テーブル
220 物理ブロック

Claims (8)

  1. データを記憶するメイン領域と、前記メイン領域の予備であるスペア領域とを備える記憶装置を含むストレージ装置を制御するストレージ制御装置であって、
    前記記憶装置に対する読み込み処理及び書き込み処理の回数情報を前記ストレージ装置から取得する取得部と、
    前記スペア領域で前記メイン領域として使用可能な領域を管理するために用いられる管理情報を記憶する記憶部と、
    前記記憶装置からの所定の時間あたりの読み込み処理の回数が所定の回数よりも多い場合、前記管理情報に基づいて、前記スペア領域内の前記メイン領域として使用可能な領域を、前記メイン領域として割り当てる要求を前記ストレージ装置に通知する通知部と、
    を備えることを特徴とするストレージ制御装置。
  2. 前記通知部は、
    前記記憶装置への書き込み処理の累積回数が所定の回数増えると、前記メイン領域の一部領域を前記スペア領域として割り当てる要求を前記ストレージ装置に通知し、
    前記一部領域を、前記スペア領域で前記メイン領域として使用可能な領域として前記記憶部に記憶させる
    ことを特徴とする請求項1に記載のストレージ制御装置。
  3. 前記通知部は、
    前記記憶装置への所定の時間あたりの書き込み処理の回数が所定の回数よりも多い場合、前記メイン領域の一部領域を前記スペア領域として割り当てる要求を前記ストレージ装置に通知する
    ことを特徴とする請求項1又は2に記載のストレージ制御装置。
  4. 前記取得部は、
    前記ストレージ装置が、Automated Storage Tirering機能を実装している場合、最上位の階層に属する前記記憶装置から読み込み処理及び書き込み処理の回数情報を取得する
    ことを特徴とする請求項1〜3の何れかに記載のストレージ制御装置。
  5. データを記憶するメイン領域と、前記メイン領域の予備であるスペア領域とを備える記憶装置を含むストレージ装置と、前記ストレージ装置を制御するストレージ制御装置とを含むストレージシステムであって、
    前記ストレージ制御装置は、
    前記記憶装置からの所定の時間あたりの読み込み処理の回数が所定の回数よりも多い場合、前記スペア領域で前記メイン領域として使用可能な領域を管理するために用いられる管理情報に基づいて、前記スペア領域内の前記メイン領域として使用可能な領域を、前記メイン領域として割り当てる要求を前記ストレージ装置に通知し、
    前記ストレージ装置は、
    前記スペア領域内の前記メイン領域として使用可能な領域を、前記メイン領域として割り当てる
    ことを特徴とするストレージシステム。
  6. 前記ストレージ装置は、
    Small Computer System Inteface(SCSI)コマンドであるUnmapコマンドを、前記メイン領域の一部領域を対象として実行することで、前記一部領域を前記スペア領域として割り当てる
    ことを特徴とする請求項5に記載のストレージシステム。
  7. 前記ストレージ装置は、
    前記スペア領域内の前記メイン領域として使用可能な領域を対象にデータの書き込みをすることで、前記スペア領域内の前記メイン領域として使用可能な領域を、前記メイン領域として割り当てる
    ことを特徴とする請求項5に記載のストレージシステム。
  8. データを記憶するメイン領域と、前記メイン領域の予備であるスペア領域とを備える記憶装置を備えるストレージ装置から、前記記憶装置に対する読み込み処理及び書き込み処理の回数情報を取得し、
    前記記憶装置からの所定の時間あたりの読み込み処理の回数が所定の回数よりも多い場合、前記スペア領域で前記メイン領域として使用可能な領域を管理するために用いられる管理情報に基づいて、前記スペア領域内の前記メイン領域として使用可能な領域を、前記メイン領域として割り当てる要求を前記ストレージ装置に通知する、処理をコンピュータに実行させる
    ことを特徴とするストレージ制御プログラム。
JP2015043332A 2015-03-05 2015-03-05 ストレージ制御装置、制御システム及び制御プログラム Expired - Fee Related JP6459644B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2015043332A JP6459644B2 (ja) 2015-03-05 2015-03-05 ストレージ制御装置、制御システム及び制御プログラム
US15/048,351 US9658796B2 (en) 2015-03-05 2016-02-19 Storage control device and storage system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015043332A JP6459644B2 (ja) 2015-03-05 2015-03-05 ストレージ制御装置、制御システム及び制御プログラム

Publications (2)

Publication Number Publication Date
JP2016162397A JP2016162397A (ja) 2016-09-05
JP6459644B2 true JP6459644B2 (ja) 2019-01-30

Family

ID=56845094

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015043332A Expired - Fee Related JP6459644B2 (ja) 2015-03-05 2015-03-05 ストレージ制御装置、制御システム及び制御プログラム

Country Status (2)

Country Link
US (1) US9658796B2 (ja)
JP (1) JP6459644B2 (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI550625B (zh) * 2015-05-26 2016-09-21 群聯電子股份有限公司 記憶體管理方法、記憶體儲存裝置及記憶體控制電路單元
JP6365454B2 (ja) * 2015-08-03 2018-08-01 京セラドキュメントソリューションズ株式会社 画像形成装置
CN108475230B (zh) * 2016-11-11 2021-07-16 华为技术有限公司 一种存储***和***垃圾回收方法
WO2018150561A1 (ja) * 2017-02-20 2018-08-23 株式会社日立製作所 ストレージシステム及び記憶制御方法
WO2019083390A1 (en) * 2017-10-26 2019-05-02 EMC IP Holding Company LLC USE OF RECURRENT WRITE QUOTAS TO OPTIMIZE THE USE OF STATIC SEMICONDUCTOR DISK
CN109725830B (zh) * 2017-10-27 2022-02-08 伊姆西Ip控股有限责任公司 管理独立磁盘冗余阵列的方法、设备和存储介质
JP7102198B2 (ja) * 2018-04-05 2022-07-19 キヤノン株式会社 記憶手段を有する画像形成装置、画像形成装置の制御方法
US20200042193A1 (en) * 2018-08-03 2020-02-06 EMC IP Holding Company LLC Method, storage system and computer program product for managing data storage
US11556260B2 (en) * 2020-03-11 2023-01-17 EMC IP Holding Company LLC Providing coordination between mapper circuitry and redundant array of independent disks (RAID) circuitry to manage RAID storage space
JP7044403B2 (ja) * 2020-05-18 2022-03-30 Necプラットフォームズ株式会社 ストレージシステム、ストレージ制御方法およびストレージ制御プログラム
US20230043338A1 (en) * 2021-08-06 2023-02-09 Micron Technology, Inc. Techniques for memory zone size adjustment

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4933861B2 (ja) 2005-09-22 2012-05-16 株式会社日立製作所 ストレージ制御装置、データ管理システムおよびデータ管理方法
JP4912174B2 (ja) 2007-02-07 2012-04-11 株式会社日立製作所 ストレージシステム及び記憶管理方法
US9477587B2 (en) * 2008-04-11 2016-10-25 Micron Technology, Inc. Method and apparatus for a volume management system in a non-volatile memory device
US8412909B2 (en) * 2009-04-08 2013-04-02 Samsung Electronics Co., Ltd. Defining and changing spare space and user space in a storage apparatus
US8468292B2 (en) * 2009-07-13 2013-06-18 Compellent Technologies Solid state drive data storage system and method
US8214580B2 (en) * 2009-10-23 2012-07-03 International Business Machines Corporation Solid state drive with adjustable drive life and capacity
WO2014102882A1 (en) * 2012-12-28 2014-07-03 Hitachi, Ltd. Storage apparatus and storage control method
KR102025080B1 (ko) * 2013-01-02 2019-09-25 삼성전자 주식회사 스토리지 시스템 및 스토리지 시스템의 여분 공간 조절 방법
GB2511325A (en) * 2013-02-28 2014-09-03 Ibm Cache allocation in a computerized system

Also Published As

Publication number Publication date
US9658796B2 (en) 2017-05-23
JP2016162397A (ja) 2016-09-05
US20160259594A1 (en) 2016-09-08

Similar Documents

Publication Publication Date Title
JP6459644B2 (ja) ストレージ制御装置、制御システム及び制御プログラム
US9569130B2 (en) Storage system having a plurality of flash packages
JP6000376B2 (ja) 特性の異なる複数種類のキャッシュメモリを有する情報処理装置
US8832371B2 (en) Storage system with multiple flash memory packages and data control method therefor
JP5646633B2 (ja) ストレージ装置
US20180275894A1 (en) Storage system
US10365845B1 (en) Mapped raid restripe for improved drive utilization
WO2020007030A1 (zh) 一种***控制器和***垃圾回收方法
US10133517B2 (en) Storage control device
JP2021529406A (ja) システムコントローラおよびシステムガベージコレクション方法
US9547443B2 (en) Method and apparatus to pin page based on server state
US9547450B2 (en) Method and apparatus to change tiers
JP2007249728A (ja) ディスクアレイ装置
US8850087B2 (en) Storage device and method for controlling the same
JP2008198221A5 (ja)
JP5768118B2 (ja) 複数のフラッシュパッケージを有するストレージシステム
JP6817340B2 (ja) 計算機
JP6427913B2 (ja) ストレージシステム、制御装置、ストレージ装置、入出力制御方法、及びプログラム
JP6138318B2 (ja) 複数のフラッシュパッケージを有するストレージシステム
JP5945040B2 (ja) 複数のフラッシュパッケージを有するストレージシステム
CN114968833A (zh) 提高企业级固态存储设备顺序写性能的方法与存储设备

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180115

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180904

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180831

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180928

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20181217

R150 Certificate of patent or registration of utility model

Ref document number: 6459644

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees