JP2019133601A - ストレージ制御装置、ストレージ制御方法及びストレージ制御プログラム - Google Patents

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

Info

Publication number
JP2019133601A
JP2019133601A JP2018017655A JP2018017655A JP2019133601A JP 2019133601 A JP2019133601 A JP 2019133601A JP 2018017655 A JP2018017655 A JP 2018017655A JP 2018017655 A JP2018017655 A JP 2018017655A JP 2019133601 A JP2019133601 A JP 2019133601A
Authority
JP
Japan
Prior art keywords
data
storage
data block
unit
physical
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
JP2018017655A
Other languages
English (en)
Other versions
JP6443572B1 (ja
Inventor
悠介 鈴木
Yusuke Suzuki
悠介 鈴木
祐輔 倉澤
Yusuke Kurasawa
祐輔 倉澤
典秀 久保田
Norihide Kubota
典秀 久保田
與志仁 紺田
Yoshihito Konta
與志仁 紺田
真理乃 梶山
Marino Kajiyama
真理乃 梶山
勇至 田中
Yuji Tanaka
勇至 田中
敏雄 伊賀
Toshio Iga
敏雄 伊賀
武田 和也
Kazuya Takeda
和也 武田
岳志 渡辺
Takashi Watanabe
岳志 渡辺
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 JP2018017655A priority Critical patent/JP6443572B1/ja
Application granted granted Critical
Publication of JP6443572B1 publication Critical patent/JP6443572B1/ja
Priority to US16/260,308 priority patent/US10866743B2/en
Priority to KR1020190011938A priority patent/KR102245113B1/ko
Priority to CN201910092283.XA priority patent/CN110134618A/zh
Publication of JP2019133601A publication Critical patent/JP2019133601A/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/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
    • 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/0292User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means
    • 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
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0646Configuration or reconfiguration
    • 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/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • 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/0604Improving or facilitating administration, e.g. storage management
    • 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/061Improving I/O performance
    • 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/064Management of blocks
    • 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/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements
    • 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/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • 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/46Caching storage objects of specific type in disk cache
    • G06F2212/466Metadata, control data
    • 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/7201Logical to physical mapping or translation of blocks or pages

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)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】書き込み回数に制限のある不揮発性記憶媒体への書き込み回数を減らすこと。【解決手段】論物メタ記憶部24aが、データの論理アドレスと、データを記憶するデータブロック番号及びデータブロック内でのデータの位置を示すインデックスと、を対応付ける論物メタを記憶する。また、DBM記憶部24bが、データブロック番号とストレージ3でのデータブロックの記憶位置を示す物理番号とを対応付けるデータブロックマップを記憶する。また、データブロックは、記憶するデータ毎にデータブロック内での位置を示すオフセットとデータの長さを示すデータ長とを含むデータユニットヘッダをインデックスで指定される位置に記憶するヘッダ領域と、データを記憶するペイロード領域を有する。【選択図】図11

Description

本発明は、ストレージ制御装置、ストレージ制御方法及びストレージ制御プログラムに関する。
昨今、ストレージ装置の記憶媒体は、HDD(Hard Disk Drive)からよりアクセススピードの速いSSD(Solid State Drive)等のフラッシュメモリに移行している。SSDでは、メモリセルへの上書きを直接行うことはできず、例えば1MB(メガバイト)の大きさのブロックの単位でデータの消去が行われた後にデータの書き込みが行われる。
このため、ブロック内の一部のデータを更新する場合には、ブロック内の他のデータを退避し、ブロックを消去した後に、退避したデータと更新データを書き込むことが行われるので、ブロックの大きさに較べて小さいデータを更新する処理が遅い。また、SSDには書き込み回数の上限がある。このため、SSDでは、ブロックの大きさに較べて小さいデータの更新をできるだけ避けることが望ましい。そこで、ブロック内の一部のデータを更新する場合に、ブロック内の他のデータと更新データを新たなブロックに書き込むことが行われる。
特開2016−21246号公報 国際公開第2016/185573号
SSDを用いるストレージ装置では、ブロック内の一部のデータを更新する場合にブロック内の他のデータと更新データを新たなブロックに書き込んで書き込み回数を減らすだけでなく、より書き込み回数を減らすことができるデータ構造が求められている。
本発明は、1つの側面では、書き込み回数を減らすことができるデータ構造を提供することを目的とする。
1つの態様では、ストレージ制御装置は、書き込み回数に制限を有する記憶媒体を用いるストレージを制御する。前記ストレージ装置は、論物メタ情報記憶部とマップ情報記憶部と制御部とを有する。前記論物メタ情報記憶部は、論理アドレスとデータブロック識別子及びインデックスとを対応付ける。前記論理アドレスは、前記ストレージを使用する情報処理装置からのデータの識別に用いられる。前記データブロック識別子は、前記データをストレージ上で配置するためのデータブロックを識別する。前記インデックスは、前記データブロック内での前記データの追記書き順番を示す。前記マップ情報記憶部は、前記データブロック識別子と前記データブロックを記憶する前記ストレージ上の物理位置を示す物理識別子とを対応付ける。前記データブロックは、複数インデックス分のデータに関わるヘッダ情報が記憶可能な容量を有するヘッダ領域と、複数インデックス分のデータが記憶可能な容量を有するペイロード領域を有する。前記制御部は、前記データブロックの物理識別子と前記インデックスに基づいて、前記データブロック及びそのペイロード領域における書き込み位置を特定して前記データを書き込む制御を行う。前記制御部は、前記データブロック内での前記書き込み位置を示すオフセットと前記データの長さを示すデータ長とを含むデータユニットヘッダを、前記ヘッダ領域における前記インデックスで指定される位置に書き込む制御を行う。
1つの側面では、本発明は、書き込み回数を減らすことができる。
図1は、実施例に係るストレージ装置の記憶構成を示す図である。 図2は、実施例に係るストレージ制御装置が用いるメタデータを説明するための図である。 図3は、データブロックを説明するための図である。 図4は、データブロックマップを説明するための図である。 図5は、物理領域を説明するための図である。 図6は、RAIDユニットの追記書きを説明するための図である。 図7は、RAIDユニットのまとめ書きを説明するための図である。 図8Aは、論物メタのフォーマットを示す図である。 図8Bは、データユニットヘッダのフォーマットを示す図である。 図8Cは、データブロックヘッダのフォーマットを示す図である。 図9は、論物メタとデータユニットヘッダとリファレンス情報との関係を示す図である。 図10は、容量効率化を説明するための図である。 図11は、実施例に係る情報処理システムの構成を示す図である。 図12は、重複のないデータの書き込み処理のシーケンスを示す図である。 図13は、追記位置を決定する処理のフローを示すフローチャートである。 図14は、データユニットヘッダ及びデータブロックヘッダを更新する処理のフローを示すフローチャートである。 図15は、重複のあるデータの書き込み処理のシーケンスを示す図である。 図16は、読み出し処理のシーケンスを示す図である。 図17は、実施例に係るストレージ制御プログラムを実行するストレージ制御装置のハードウェア構成を示す図である。
以下に、本願の開示するストレージ制御装置、ストレージ制御方法及びストレージ制御プログラムの実施例を図面に基づいて詳細に説明する。なお、この実施例は開示の技術を限定するものではない。
まず、実施例に係るストレージ装置の記憶構成について説明する。図1は、実施例に係るストレージ装置の記憶構成を示す図である。図1に示すように、実施例に係るストレージ装置は、複数のSSD3dを使用してRAID(Redundant Arrays of Inexpensive Disks)6ベースのプール3aを管理する。また、実施例に係るストレージ装置は、複数のプール3aを有する。
プール3aには、仮想化プールと階層化プールがある。仮想化プールは1つのティア3bを有し、階層化プールは2つ以上のティア3bを有する。ティア3bは、1つ以上のドライブグループ3cを有する。ドライブグループ3cは、SSD3dのグループであり、6〜24台のSSD3dを有する。例えば、1つのストライプを記憶する6台のSSD3dのうち、3台はユーザデータ(以下単に「データ」という)の記憶用に用いられ、2台はパリティ記憶用に用いられ、1台はホットスペア用に用いられる。なお、ドライブグループ3cは、25台以上のSSD3dを有してよい。
次に、実施例に係るストレージ制御装置が用いるメタデータについて説明する。ここで、メタデータとは、ストレージ装置が記憶するデータを管理するためにストレージ制御装置が用いるデータである。
図2は、実施例に係るストレージ制御装置が用いるメタデータを説明するための図である。図2に示すように、メタデータには、論物メタと、データブロックマップと、リファレンス情報とが含まれる。
論物メタは、論理番号をデータブロック番号とインデックスに対応付ける情報である。論理番号は、ストレージ装置を使用する情報処理装置がデータの識別に用いる論理アドレスであり、LUN(Logical Unit Number:論理ユニット番号)とLBA(Logical Block Address:論理ブロックアドレス)の組合せである。なお、論理ブロックの大きさは8KB(キロバイト)であり、重複排除を行う単位サイズになっている。情報処理装置(ホスト)からストレージ装置へのコマンドによる処理が512バイト単位であるため、本実施例では重複排除の効率化のため512バイトの整数倍分の8KB(8192バイト)にまとめたものを、ここでは一論理ブロックとしている。データブロック番号は、論理番号で識別される8KBのデータを記憶するデータブロックを識別する番号である。インデックスは、データブロック内でのデータの番号である。
図3は、データブロックを説明するための図である。図3では、データブロック番号(DB#)は「101」である。図3に示すように、データブロックの大きさは384KBである。データブロックは、8KBのヘッダ領域と376KBのペイロード領域を有する。ペイロード領域は、圧縮されたデータを記憶する領域であるデータユニットを有する。データユニットはペイロード領域に追記される。
ヘッダ領域には、192バイトのデータブロックヘッダと最大200個の40バイトのデータユニットヘッダが含まれる。データブロックヘッダは、データブロックに関する情報を記憶する領域である。データブロックヘッダには、データユニットが追記書き可能か否か、追記書きされているデータユニットの数、データユニットが次に追記書きされる位置に関する情報等が含まれる。
データユニットヘッダは、ペイロード領域に含まれるデータユニットに対応する。データユニットヘッダは、対応するデータユニットが記憶するデータのインデックスに対応する位置にある。データユニットヘッダには、オフセットと長さとCRC(Cyclic Redundancy Check)とが含まれる。オフセットは、対応するデータユニットのデータブロック内での書き込み開始位置(先頭位置)を示す。長さは、対応するデータユニットの長さを示す。CRCは、対応するデータユニットの圧縮前の誤り検出コードである。
図2の論物メタにおいて、例えば、論理番号が「1−1」であるデータは、データブロック番号が「B1」であるデータブロックの1番目に記憶される。ここで、「1−1」は、LUNが1でありLBAが1であることを示す。また、同じデータは、重複排除により、データブロック番号とインデックスが同じになる。図2では、「1−2」、「2−1」及び「2−4」で識別されるデータが同じであるため、「1−2」、「2−1」及び「2−4」は、データブロック番号「B2」とインデックス「2」に対応づけられる。
データブロックマップは、データブロック番号と物理番号とを対応付けるテーブルである。物理番号は、ドライブグループ(DG)3cを識別するDG番号(DG#)とRAIDユニット(RU)を識別するRU番号(RU#)とスロットを識別するスロット番号(スロット#)との組合せである。RAIDユニット(まとめ書き単位領域)は、データがストレージ装置に書き込まれる場合にメインメモリ上でバッファリングされるまとめ書き単位領域であり、複数のデータブロックが配置可能である。データは、RAIDユニット単位でまとめてストレージ装置に追記書きされる。RAIDユニットの大きさは例えば24MB(メガバイト)である。RAIDユニット内において各データブロックは、スロットを用いて管理される。
図4は、データブロックマップを説明するための図である。図4は、DG番号が「1」(DG#1)でRU番号が「1」(RU#1)であるRAIDユニットに関するデータブロックマップを示す。図4に示すように、RAIDユニットの大きさは24MBであり、データブロックの大きさは384KBであるので、スロットの数は64個である。
図4は、データブロックのアドレスの昇順に各スロットに割り当てられる例を示し、データブロック#101がスロット#1に記憶され、データブロック#102がスロット#2に記憶され、・・・、データブロック#164がスロット#64に記憶される。
図2のデータブロックマップにおいて、例えば、データブロック番号「B1」が物理番号「1−1−1」に対応付けられる。データブロック番号「B1」のデータは、圧縮されてプール3aのドライブグループ#1のRU番号が「1」のRAIDユニットのスロット番号が「1」のスロットに記憶される。なお、図2のプール3aにおいてティア3b及びそのスロットは省略されている。
リファレンス情報は、インデックスと物理番号とリファレンスカウンタを対応付ける情報である。リファレンスカウンタは、インデックスと物理番号で識別されるデータの重複数である。なお、図2において、物理番号にインデックスを含めてもよい。
図5は、物理領域を説明するための図である。図5に示すように、論物メタは、メインメモリとストレージの両方に記憶される。メインメモリには、一部の論物メタだけが記憶される。論物メタは、メインメモリでは各LUNについて1ページ(4KB)だけ記憶される。LUNとLBAの組合せに対応するページがメインメモリ上にない場合には、LUNのページがページアウトされ、LUNとLBAの組合せに対応するページがストレージからメインメモリに読み込まれる。
ストレージでは、4TB(テラバイト)のボリューム毎に32GBの論物メタ域(論物メタが記憶される領域)3eが記憶される。論物メタ域3eは、LUN作成時に動的領域から割り当てられ固定領域化される。ここで、動的領域とは、プール3aから動的に割り当てられる領域である。論物メタ域3eはガベージコレクション(GC:Garbage Collection)の対象外である。RAIDユニットは、ストレージにデータを追記書きする時に動的領域から割り当てられる。実際には、RAIDユニットはストレージに書き込む前に一時的に記憶するライトバッファに追記書きする時に割り当てられる。RAIDユニットが記憶されるデータユニット域3fは、GCの対象である。
図6は、RAIDユニットの追記書きを説明するための図である。図6に示すように、LUN#1において8KBのライトI/O(ストレージへのデータの書き込み命令)を受け付けると、ライトバッファ上のデータブロックのヘッダ領域にデータユニットヘッダが書き込まれ、データは圧縮されてペイロード領域に書き込まれ、データブロックヘッダは更新される。その後、LUN#2において8KBのライトI/Oを受付すると、図6の例では同じデータブロックのヘッダ領域にデータユニットヘッダが追記され、データは圧縮されてペイロード領域に追記され、データブロックヘッダは更新される。
そして、ライトバッファ内に確保されたデータブロックの容量分の記憶領域において、データブロック内のヘッダ領域又はペイロード領域が一杯になる(使用可能な空き領域がなくなる)と、以降そのデータブロックには追記書きしない。そして、ライトバッファ内のRAIDユニットの全てのデータブロックが一杯になる(使用可能な空き領域がなくなる)と、ライトバッファの内容がストレージに書き込まれる。その後、当該RAIDユニットに割り当てられたライトバッファの記憶領域は解放される。図6では、DG#1、RU#15のRAIDユニットが動的領域から割り当てられている。
また、LUN#1へのライトI/Oが論物メタのLUN#1に対応する領域に反映され、LUN#2へのライトI/Oが論物メタのLUN#2に対応する領域に反映される。また、ライトI/Oのデータに関するリファレンスカウントが更新され、ライトI/Oがリファレンス情報に反映される。
また、RU#15に関する情報であるRU情報#15に含まれるTDUC(Total Data Unit Count)及びGDUC(GC Data Unit Count)が更新され、ライトI/Oがガベージメータに反映される。ここで、ガベージメータは、RU情報に含まれるGC関連情報である。TDUCは、RU内のデータユニットの総数であり、データユニットの書き込み時に更新される。GDUCは、RU内の無効データユニットの数であり、リファレンスカウンタ更新時に更新される。
また、データブロックマップにおいて、DB#101にDG#1、RU#15、スロット#1が対応付けられ、ライトI/Oがデータブロックマップに反映される。
図7は、RAIDユニットのまとめ書きを説明するための図である。図7に示すように、データブロックはライトバッファにバッファリングされ、RAIDユニット単位でまとめてストレージに書き込まれる。例えば、データブロック#1は、1つのストライプを記憶する6台のSSD3dに書き込まれる。図7において、P及びQはパリティであり、Hはホットスペアである。データブロック#1は、128バイト毎に、図7の「0」、「1」、・・・、「14」、・・・の領域に書き込まれる。
図8Aは、論物メタのフォーマットを示す図である。図8Aに示すように、32バイトの論物メタには、1バイトのStatusと、1バイトのData Unit Indexと、2バイトのChecksumと、2バイトのNode No.と、6バイトのBIDが含まれる。また、32バイトの論物メタには、8バイトのData Block No.が含まれる。
Statusは、論物メタの状態を示す。状態としては、有効と無効がある。有効とは、対応LBAに論物メタが割り当て済の状態であり、無効とは、対応LBAに論物メタが未割り当ての状態である。Data Unit Indexは、インデックスである。Checksumは、対応するデータの誤り符号検出値である。Node No.は、ストレージ装置(ノード)を識別する番号である。BIDは、ブロックID(位置情報)すなわちLBAである。Data Block No.は、データブロック番号である。なお、Reservedは、将来の拡張用で全ビットが0であることを示す。
図8Bは、データユニットヘッダのフォーマットを示す図である。図8Bに示すように、40バイトのデータユニットヘッダには、1バイトのData Unit Statusと、2バイトのChecksumと、2バイトのOffset Block Countが含まれる。また、40バイトのデータユニットヘッダには、2バイトのCompression Byte Sizeと、32バイトのCRCが含まれる。
Data Unit Statusは、データユニットの追記が可能か否かを示す。データユニットヘッダに対応するデータユニットが存在しない場合には追記可能であり、データユニットヘッダに対応するデータユニットが存在する場合には追記不可能である。Checksumは、対応するデータユニットの誤り符号検出値である。
Offset Block Countは、対応するデータユニットのペイロード領域の先頭からのオフセットである。Offset Block Countは、ブロック数で表される。ただし、ここでのブロックは、SSDの消去単位のブロックではなく、512バイトのブロックである。以下では、SSDの消去単位のブロックと区別するため、512バイトのブロックを小ブロックと呼ぶ。Compression Byte Sizeは、対応するデータの圧縮後の大きさである。CRCは、対応するデータユニットの誤り検出コードである。
図8Cは、データブロックヘッダのフォーマットを示す図である。図8Cに示すように、192バイトのデータブロックヘッダには、1バイトのData Block Full Flagと、1バイトのWrite Data Unit Countが含まれる。また、192バイトのデータブロックヘッダには、1バイトのNext Data Unit Header Indexと、8バイトのNext Write Block Offsetと、8バイトのData Block No.が含まれる。
Data Block Full Flagは、データユニットの追記書きが可能か否かを示すフラグである。データブロックの書き込み残容量が閾値以上で、データユニットの追記書きに十分な空き容量が存在する場合には、データユニットの追記書きが可能である。一方、データブロックの書き込み残容量が閾値未満で、データユニットの追記書きに十分な空き容量が存在しない場合には、データユニットの追記書きが不可能である。
Write Data Unit Countは、データブロックに追記書きしてあるデータユニットの数である。Next Data Unit Header Indexは、次に書き込むデータユニットヘッダのインデックスである。Next Write Block Offsetは、次に書き込むデータユニットのペイロード領域の先頭からのオフセット位置である。単位は小ブロックの数である。Data Block No.は、スロットに割り当てられたデータブロック番号である。
図9及び図10は、実施例に係るメタデータ方式の特徴を説明するための図である。図9は、論物メタとデータユニットヘッダとリファレンス情報との関係を示す図である。図9に示すように、実施例に係るメタデータ方式では、論物メタ、データユニットヘッダ及びリファレンス情報が用いられる。論物メタのDB#とインデックスからデータユニットヘッダの格納場所が特定される。データユニットヘッダのオフセットと長さからデータブロック内でのデータユニットの位置が特定される。
論物メタに同一のデータが複数格納された場合、重複排除機能により、同一データは1つにまとめられ、重複数はリファレンスカウンタ(RC)としてカウントされる。図9では、DG#1のRU#2に記憶されたDB#102のインデックス「1」及び「2」のデータが2箇所ずつから参照されている。この時、インデックス「1」及び「2」のリファレンスカウンタは「2」である。インデックス「1」及び「2」のデータは有効データである。インデックス「3」及び「4」のデータは、リファレンスカウンタが「0」であるので、無効データである。
図10は、容量効率化を説明するための図である。図10は、8KBのデータを非圧縮で書き込む場合を示す。LUN/LBAで指定されるデータのデータユニットへの書き込みは小ブロック単位で行われる。このため、図10(a)は、ペイロード領域に非圧縮のデータとCRCを詰め、データユニットに16小ブロックを詰めた場合を示す。また、データユニットヘッダにはCRCが含まれないため、データユニットヘッダの大きさは32バイトである。データブロック全体の記憶容量は384KBであり、ヘッダ領域は2KB、ペイロード領域は382KBである。
この場合、非圧縮の場合のペイロード領域の使用容量は、LUN/LBAで指定される512バイト×16小ブロック+CRC32バイト=8224バイトである。しかしながら、SSDに対するコマンドは512バイトの1以上の整数倍で指定されるため、8224バイトを読み出すには512バイト×17小ブロック=8704バイトととなり、1つのデータユニットのペイロード領域は最大8704バイトに設定される。つまり、8704−8224=480バイトの記憶領域が使用されず無駄になる。非圧縮のデータユニットが多くなるほど、480バイトの整数倍の記憶領域が無駄になる。
一方、図10(b)に示すように、CRCをデータユニットヘッダに含めると、ペイロード領域には、512バイト×16小ブロック=8192バイトのデータを配置することになる。つまり、1つのデータユニットのペイロード領域は最大8192バイトに設定できる。したがって、前述の480バイトの無駄をなくすことができる。また、17小ブロック目の無駄な書き込みを削減でき、書き込み回数の削減の効果に寄与できる。なお、データブロック全体の記憶容量の384KBは固定であるため、ヘッダ領域は8KB、ペイロード領域は376KBとなる。したがって、実施例に係るメタデータ方式は、非圧縮時であっても、ペイロード領域を最大限に活用することができる。また、非圧縮データおよび圧縮データを効率良く詰めることができる。
次に、実施例に係る情報処理システムの構成について説明する。図11は、実施例に係る情報処理システムの構成を示す図である。図11に示すように、実施例に係る情報処理システム1は、ストレージ装置1aとサーバ1bとを有する。ストレージ装置1aは、サーバ1bが使用するデータを記憶する装置である。サーバ1bは、情報処理などの業務を行う情報処理装置である。ストレージ装置1aとサーバ1bとの間は、FC(Fibre Channel)及びiSCSI(Internet Small Computer System Interface)で接続される。
ストレージ装置1aは、ストレージ装置1aを制御するストレージ制御装置2とデータを記憶するストレージ(記憶装置)3とを有する。ここで、ストレージ3は、複数台のSSD3dの集まりである。
なお、図11では、ストレージ装置1aは、ストレージ制御装置#0及びストレージ制御装置#1で表される2台のストレージ制御装置2を有するが、ストレージ装置1aは、3台以上のストレージ制御装置2を有してよい。また、図11では、情報処理システム1は、1台のサーバ1bを有するが、情報処理システム1は、2台以上のサーバ1bを有してよい。
ストレージ制御装置2は、ストレージ3を分担して管理し、1つ以上のプール3aを担当する。ストレージ制御装置2は、上位接続部21と、キャッシュ管理部22と、重複管理部23と、メタ管理部24と、追記部25と、IO部26とを有する。
上位接続部21は、FCドライバ及びiSCSIドライバとキャッシュ管理部22との間の情報の受け渡しを行う。キャッシュ管理部22は、キャッシュメモリ上のデータを管理する。重複管理部23は、データ重複排除/復元の制御を行うことで、ストレージ装置1a内に格納されているユニークなデータを管理する。
メタ管理部24は、論物メタ、データブロックマップ及びリファレンスカウントを管理する。また、メタ管理部24は、論物メタ及びデータブロックマップを用いて、仮想ボリュームにおけるデータの識別に用いる論理アドレスとSSD3dにおけるデータが記憶された位置を示す物理アドレスの変換処理を行う。ここで、物理アドレスは、データブロック番号とインデックスの組である。
メタ管理部24は、論物メタ記憶部24aと、DBM記憶部24bと、リファレンス記憶部24cとを有する。論物メタ記憶部24aは、論物メタを記憶する。DBM記憶部24bは、データブロックマップを記憶する。リファレンス記憶部24cは、リファレンス情報を記憶する。
追記部25は、データを連続的なデータユニットで管理し、RAIDユニットの単位でSSD3dに追記及びまとめ書きを行う。また、追記部25は、データの圧縮解凍を行う。追記部25は、メインメモリ上のバッファであるライトバッファにライトデータを溜め、ライトバッファにライトデータを書き込む都度ライトバッファの空き領域が一定の閾値以下になったか否かを判定する。そして、追記部25は、ライトバッファの空き領域が一定の閾値以下になるとライトバッファをSSD3dに書き出す。追記部25は、プール3aの物理スペースを管理し、RAIDユニットの配置を行う。IO部26は、RAIDユニットのストレージ3への書き込みを行う。
上位接続部21がデータ重複排除/復元の制御を行い、追記部25がデータの圧縮解凍を行うことで、ストレージ制御装置2は、書き込みデータを減らし、さらなる書き込み回数の削減を行うことができる。
次に、書き込み処理のシーケンスについて説明する。図12は、重複のないデータの書き込み処理のシーケンスを示す図であり、図15は、重複のあるデータの書き込み処理のシーケンスを示す図である。
重複のないデータの書き込み処理では、図12に示すように、キャッシュ管理部22は、重複管理部23にデータのライトバックを依頼する(t1)。すると、重複管理部23は、データの重複判定を行って重複はないので(t2)、新規のデータユニットのライトを追記部25に依頼する(t3)。
すると、追記部25は、ライトバッファを獲得し(t4)、RU#がライトバッファに割り当てられていないときに、IO部26にRU#の割り当てを依頼する(t5)。そして、追記部25は、IO部26から割り当てられたRU#を受け取る(t6)。なお、RU#がライトバッファに割り当てられている場合には、t5〜t6の処理は省略される。
そして、追記部25は、追記位置を決定し(t7)、データを圧縮して追記する(t8)。そして、追記部25は、データユニットヘッダ及びデータブロックヘッダを更新し(t9)、まとめ書き判定を行う(t10)。そして、追記部25は、ライトバッファが一杯でまとめ書きが必要と判定した場合には、IO部26へライトバッファのまとめ書きを依頼する。そして、追記部25は、重複管理部23に完了を応答する(t11)。
そして、重複管理部23は、メタ管理部24にリファレンスカウンタの更新を依頼し(t12)、メタ管理部24は、リファレンスカウンタを更新する(t13)。具体的には、メタ管理部24は、書き込んだデータのリファレンスカウンタをインクリメントする。また、データを上書きしている場合には、メタ管理部24は、上書き前のデータのリファレンスカウンタをデクリメントする。
そして、メタ管理部24は、更新完了を重複管理部23に応答し(t14)、データ有効数の更新をIO部26に依頼する(t15)。ここで、データ有効数とは、TDLC及びGDLCである。IO部26は、書き込んだデータのTDLCをインクリメントし、データが上書きされる場合には、上書き前のデータのRCが0になると上書き前のデータが格納されていたRUのGLDCをデクリメントする。そして、IO部26は、データ有効数の更新完了をメタ管理部24に応答する(t16)。
そして、重複管理部23は、論物メタの更新をメタ管理部24に依頼する(t17)。そして、メタ管理部24は、論物メタを更新し(t18)、更新完了を重複管理部23に応答する(t19)。そして、重複管理部23は、ライトバック完了をキャッシュ管理部22に応答する(t20)。キャッシュ管理部22はライトバッファの解放を行う。
このように、追記部25は、追記位置を決定し、データを圧縮してデータブロックに追記し、データユニットヘッダ及びデータブロックヘッダを更新することで、重複のないデータをストレージ3に書き込むことができる。なお、データの圧縮/非圧縮は切替可能であり、選択的に追記部25に設定することができる。
図13は、追記位置を決定する処理のフローを示すフローチャートである。なお、図13に示す処理は、図12のt7の処理に対応する。図13に示すように、追記部25は、ライトバッファの先頭のデータブロックから順番にデータブロックに追記書きが可能か否かを判定(ステップS1)する。追記部25は、データブロックヘッダのData Block Full Flagをチェックすることで、データブロックに追記書きが可能か否かを判定する。なお、ライトバッファに追記書きが可能でなくなると新たなライトバッファが用意されるので、追記書きが可能なデータブロックはライトバッファに必ずみつかる。
そして、追記書きが可能なデータブロックが見つかると、追記部25は、データブロック番号は未割り当てであるか否かを判定し(ステップS2)、未割り当ての場合には、メタ管理部24にデータブロック番号の割り当てを依頼する(ステップS3)。メタ管理部24は、データブロック番号を割り当て、データブロックマップで物理番号とデータブロック番号を対応付ける。
そして、追記部25は、Next Data Unit Header Indexを用いてデータブロックヘッダのインデックスを特定し(ステップS4)、データブロック番号とデータユニットヘッダのインデックスを追記位置と決定する。
このように、追記部25は、データブロックヘッダとデータユニットヘッダを用いてデータの追記位置を決定することができる。
図14は、データユニットヘッダ及びデータブロックヘッダを更新する処理のフローを示すフローチャートである。なお、図14に示す処理は、図12のt9の処理に対応する。図14に示すように、追記部25は、書き込まれたデータに対応するデータユニットヘッダを更新する(ステップS11)。具体的には、追記部25は、Data Unit Statusを追記不可能に更新する。
そして、追記部25は、データが書き込まれたデータブロックのデータブロックヘッダを更新する(ステップS12)。具体的には、追記部25は、Write Dataunit Count、Next Data Unit Header Index及びNext Write Block Offsetを更新する。
そして、追記部25は、データブロックにまだ追記書き可能か否かを判定する(ステップS13)。追記部25は、Next Write Block Offsetが閾値以下か否かに基づいて追記書き可能か否かを判定する。ペイロード領域の大きさは376KBであり、非圧縮時の場合追記書きのためには8KBの空きが必要であるので、376KB−8KB=368KB≒736小ブロック(736×512バイト)、Next Write Block Offset>736のとき追記不可能となる。
そして、データブロックに追記書きが不可能な場合、追記部25は、データブロックヘッダのData Block Full Flagを追記書きが不可能を意味する値に更新する(ステップS14)。
このように、追記部25は、データを書き込んだ際にデータユニットヘッダ及びデータブロックヘッダを更新することで、次にデータを書き込む際にデータブロックヘッダとデータユニットヘッダを用いてデータの追記位置を決定することができる。
重複のあるデータの書き込み処理では、図15に示すように、キャッシュ管理部22は、重複管理部23にデータのライトバックを依頼する(t31)。すると、重複管理部23は、データの重複判定を行って重複があるので(t32)、データを記憶するデータブロックの番号とインデックスを特定し、メタ管理部24にDB→RU変換を依頼する(t33)。ここで、DB→RU変換とは、データブロック番号を物理番号に変換することである。
そして、メタ管理部24は、DB→RU変換を行い(t34)、物理番号を重複管理部23に応答する(t35)。そして、重複管理部23は、物理番号及びインデックスに対応するリファレンスカウンタの更新をメタ管理部24に依頼し(t36)、メタ管理部24は、リファレンスカウンタを更新する(t37)。
そして、メタ管理部24は、IO部26にデータ有効数の更新を依頼する(t38)。そして、IO部26は、データ有効数を更新し、データ有効数の更新完了をメタ管理部24に応答する(t39)。そして、メタ管理部24は、重複管理部23にリファレンスカウンタの更新完了を応答する(t40)。
そして、重複管理部23は、論物メタの更新をメタ管理部24に依頼する(t41)。そして、メタ管理部24は、論物メタを更新し(t42)、更新完了を重複管理部23に応答する(t43)。そして、重複管理部23は、ライトバック完了をキャッシュ管理部22に応答する(t44)。
このように、重複管理部23は、リファレンスカウンタの更新及び論物メタの更新をメタ管理部24に依頼することで、重複のあるデータを書き込む処理を行うことができる。
次に、読み出し処理のシーケンスについて説明する。図16は、読み出し処理のシーケンスを示す図である。図16に示すように、キャッシュ管理部22は、論理アドレスを用いてデータのステージングを重複管理部23に依頼する(t51)。すると、重複管理部23は、論理アドレスに対応する論物メタの獲得をメタ管理部24に依頼する(t52)。
すると、メタ管理部24は、論物メタのリードをIO部26に依頼する(t53)。なお、該当の論物メタがキャッシュ上にない場合には、キャッシュ上のLUN及びLBAで特定されるページがページアウトされ、該当の論物メタに対応するページがページインされる。そして、IO部26は、リードした論物メタをメタ管理部24に応答し(t54)、メタ管理部24は、獲得した論物メタを重複管理部23に応答する(t55)。
そして、重複管理部23は、獲得した論物メタに含まれるデータブロック番号について、メタ管理部24にDB→RU変換を依頼する(t56)。メタ管理部24は、DB→RU変換を行い(t57)、物理番号を重複管理部23に応答する(t58)。そして、重複管理部23は、応答された物理番号と論物メタに含まれるインデックスを用いて追記部25にデータユニットのリードを依頼する(t59)。
そして、追記部25は、依頼されたデータユニットに対応するデータユニットヘッダのリードをIO部26に依頼し(t60)、IO部26からデータユニットヘッダを受け取る(t61)。そして、追記部25は、受け取ったデータユニットヘッダからデータユニットのオフセット位置を取得し(t62)、取得したオフセット位置のデータユニットのリードをIO部26に依頼する(t63)。
そして、追記部25は、IO部26からデータユニットを受け取り(t64)、圧縮データを伸張する(t65)。そして、追記部25は、伸張したデータを重複管理部23に応答し(t66)、重複管理部23は、データを受け取ってキャッシュ管理部22に応答する(t67)。
このように、重複管理部23は、論理アドレスに対応する論物メタを取得し、取得した論物メタに含まれるデータブロック番号を物理番号に変換し、物理番号と取得した論物メタに含まれるインデックスとを指定して追記部25にデータユニットのリードを依頼する。したがって、重複管理部23は、キャッシュ管理部22に依頼されたデータをストレージ3から読み出すことができる。
上述してきたように、実施例では、論物メタ記憶部24aが、データの論理アドレスと、データを記憶するデータブロック番号及びデータブロック内でのデータの位置を示すインデックスと、を対応付ける論物メタを記憶する。また、DBM記憶部24bが、データブロック番号とストレージ3でのデータブロックの記憶位置を示す物理番号とを対応付けるデータブロックマップを記憶する。また、データブロックは、記憶するデータ毎にデータブロック内での位置を示すオフセットとデータの長さを含むデータユニットヘッダをインデックスで指定される位置に記憶するヘッダ領域と、データを記憶するペイロード領域を有する。したがって、ストレージ制御装置2は、論物メタ記憶部24a、DBM記憶部24b及びヘッダ領域を用いてペイロード領域にデータを追記書きすることで、ストレージ3への書き込み回数を減らすことができる。
また、実施例では、ストレージ3を読み書きする単位長の整数倍の大きさを単位としてデータを記憶し、データのCRCをデータユニットヘッダに記憶するので、データが非圧縮の場合にペイロード領域を有効に利用することができる。
また、実施例では、リファレンス記憶部24cが、データの重複数を示すリファレンスカウンタを物理番号及びインデックスと対応付けて記憶するので、ストレージ制御装置2は、重複排除を行うことができる。
また、実施例では、データブロックに記憶するデータの数、次に書き込むデータのインデックス、次に書き込むデータのオフセットを含むデータブロックヘッダをヘッダ領域に記憶する。したがって、ストレージ制御装置2は、ペイロード領域にデータを効率良く書き込むことができる。
また、実施例では、ストレージ制御装置2は、物理番号としてドライブグループ3cの番号、RAIDユニットの番号及びスロットの番号を用いるので、データブロックのストレージ3での記憶位置を一意に特定することができる。
また、実施例では、追記部25がメタ管理部24及びIO部26と連携してストレージ3へデータの追記及びまとめ書きを行うので、ストレージ3への書き込み回数を減らすことができる。
なお、実施例では、ストレージ制御装置2について説明したが、ストレージ制御装置2が有する構成をソフトウェアによって実現することで、同様の機能を有するストレージ制御プログラムを得ることができる。そこで、ストレージ制御プログラムを実行するストレージ制御装置2のハードウェア構成について説明する。
図17は、実施例に係るストレージ制御プログラムを実行するストレージ制御装置2のハードウェア構成を示す図である。図17に示すように、ストレージ制御装置2は、メインメモリ41と、プロセッサ42と、ホストI/F43と、通信I/F44と、接続I/F45とを有する。
メインメモリ41は、プログラムやプログラムの実行途中結果などを記憶するRAM(Random Access Memory)である。プロセッサ42は、メインメモリ41からプログラムを読み出して実行する処理装置である。
ホストI/F43は、サーバ1bとのインタフェースである。通信I/F44は、他のストレージ制御装置2と通信するためのインタフェースである。接続I/F45は、ストレージ3とのインタフェースである。
そして、プロセッサ42において実行されるストレージ制御プログラムは、可搬記録媒体51に記憶され、メインメモリ41に読み込まれる。あるいは、ストレージ制御プログラムは、通信I/F44を介して接続されたコンピュータシステムのデータベースなどに記憶され、これらのデータベースから読み出されてメインメモリ41に読み込まれる。
また、実施例では、SSD3dを不揮発性記憶媒体として用いる場合について説明したが、本発明はこれに限定されるものではなく、SSD3dと同様に書き込み回数に制限がある他の不揮発性記憶媒体を用いる場合にも同様に適用することができる。
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
(付記1)書き込み回数に制限を有する記憶媒体を用いるストレージを制御するストレージ制御装置において、
前記ストレージを使用する情報処理装置からのデータの識別に用いる論理アドレスと、前記データをストレージ上で配置するためのデータブロックを識別するデータブロック識別子及び前記データブロック内での前記データの追記書き順番を示すインデックスと、を対応付ける論物メタ情報を記憶する論物メタ情報記憶部と、
前記データブロック識別子と前記データブロックを記憶する前記ストレージ上の物理位置を示す物理識別子とを対応付けるマップ情報を記憶するマップ情報記憶部と、
前記データを書き込む制御を行う制御部と、
を備え、
前記データブロックは、複数インデックス分のデータに関わるヘッダ情報が記憶可能な容量を有するヘッダ領域と、複数インデックス分のデータが記憶可能な容量を有するペイロード領域を有し、
前記制御部は、
前記データブロックの物理識別子と前記インデックスに基づいて、前記データブロック及びそのペイロード領域における書き込み位置を特定して前記データを書き込み、
前記データブロック内での前記書き込み位置を示すオフセットと前記データの長さを示すデータ長とを含むデータユニットヘッダを、前記ヘッダ領域における前記インデックスで指定される位置に書き込む制御を行う、
ことを特徴とするストレージ制御装置。
(付記2)前記制御部は、
前記データをバッファ上の対応するデータブロックに書き込み、
書き込みの都度、前記バッファ上の、複数のデータブロックが配置される容量分のまとめ書き単位領域において使用可能な空き領域がなくなったか否かを判定し、判定の結果に応じて前記ストレージへのまとめ書きを実行する
ことを特徴とする付記1に記載のストレージ制御装置。
(付記3)前記書き込む制御は、
前記データユニットヘッダに、前記データの誤りを検出するコードを書き込む制御を含むことを特徴とする付記1又は2に記載のストレージ制御装置。
(付記4)前記書き込む制御は、
前記ヘッダ領域に、前記データブロックに記憶するデータの数、次に書き込むデータのインデックス、次に書き込むデータのオフセットを含むデータブロックヘッダを書き込む制御をさらに含むことを特徴とする付記1、2又は3に記載のストレージ制御装置。
(付記5)前記物理識別子は、
複数の記憶媒体をグループ化したドライブグループを識別するDG識別子と、
前記ストレージに前記データブロックをまとめ書きする単位であるまとめ書き単位領域を識別するRU識別子と、
前記まとめ書き単位領域内で前記データブロックを記憶するスロットを識別するスロット識別子と
を有することを特徴とする付記1〜4のいずれか1つに記載のストレージ制御装置。
(付記6)前記制御部は、データの重複排除及び圧縮の制御を行うものであり、
データの重複がある場合は、前記論物メタ情報におけるデータブロック識別子及びインデックスを参照先のデータブロック識別子及びインデックスと同じに設定し、
リファレンス情報記憶部に前記データの重複数を示すリファレンスカウントと前記データを対応付けるリファレンス情報を記憶させ、
データの重複がない場合は、データの圧縮を行う
ことを特徴とする付記1〜5のいずれか1つに記載のストレージ制御装置。
(付記7)前記記憶媒体は、書き込み回数に制限を有する半導体メモリであることを特徴とする付記1〜6のいずれか1つに記載のストレージ制御装置。
(付記8)書き込み回数に制限を有する記憶媒体を用いるストレージを制御するストレージ制御方法において、
前記ストレージを使用する情報処理装置からのデータの識別に用いる論理アドレスと、前記データをストレージ上で配置するためのデータブロックを識別するデータブロック識別子及び前記データブロック内での前記データの追記書き順番を示すインデックスと、を対応付ける論物メタ情報を論物メタ情報記憶部に記憶し、
前記データブロック識別子と前記データブロックを記憶する前記ストレージ上の物理位置を示す物理識別子とを対応付けるマップ情報をマップ情報記憶部に記憶し、
前記データブロックは、複数インデックス分のデータに関わるヘッダ情報が記憶可能な容量を有するヘッダ領域と、複数インデックス分のデータが記憶可能な容量を有するペイロード領域を有するものであり、
前記データブロックの物理識別子と前記インデックスに基づいて、前記データブロック及びそのペイロード領域における書き込み位置を特定して前記データを書き込み、
前記データブロック内での前記書き込み位置を示すオフセットと前記データの長さを示すデータ長とを含むデータユニットヘッダを、前記ヘッダ領域における前記インデックスで指定される位置に書き込む書込制御を行うことを特徴とするストレージ制御方法。
(付記9)前記書込制御は、
前記データをバッファ上の対応するデータブロックに書き込み、
書き込みの都度、前記バッファ上の、複数のデータブロックが配置される容量分のまとめ書き単位領域において使用可能な空き領域がなくなったか否かを判定し、判定の結果に応じて前記ストレージへのまとめ書きを実行する
ことを特徴とする付記8に記載のストレージ制御方法。
(付記10)前記書込制御は、
前記データユニットヘッダに、前記データの誤りを検出するコードを書き込む制御を含むことを特徴とする付記8又は9に記載のストレージ制御方法。
(付記11)前記書込制御は、
前記ヘッダ領域に、前記データブロックに記憶するデータの数、次に書き込むデータのインデックス、次に書き込むデータのオフセットを含むデータブロックヘッダを書き込む制御をさらに含むことを特徴とする付記8、9又は10に記載のストレージ制御方法。
(付記12)書き込み回数に制限を有する記憶媒体を用いるストレージ装置を制御するストレージ制御装置が備えるコンピュータで実行されるプログラムにおいて、
前記ストレージを使用する情報処理装置からのデータの識別に用いる論理アドレスと、前記データをストレージ上で配置するためのデータブロックを識別するデータブロック識別子及び前記データブロック内での前記データの追記書き順番を示すインデックスと、を対応付ける論物メタ情報を論物メタ情報記憶部に記憶し、
前記データブロック識別子と前記データブロックを記憶する前記ストレージ上の物理位置を示す物理識別子とを対応付けるマップ情報をマップ情報記憶部に記憶し、
前記データブロックは、複数インデックス分のデータに関わるヘッダ情報が記憶可能な容量を有するヘッダ領域と、複数インデックス分のデータが記憶可能な容量を有するペイロード領域を有するものであり、
前記データブロックの物理識別子と前記インデックスに基づいて、前記データブロック及びそのペイロード領域における書き込み位置を特定して前記データを書き込み、
前記データブロック内での前記書き込み位置を示すオフセットと前記データの長さを示すデータ長とを含むデータユニットヘッダを、前記ヘッダ領域における前記インデックスで指定される位置に書き込む書込制御を行う
処理を前記コンピュータに実行させることを特徴とするストレージ制御プログラム。
(付記13)前記書込制御は、
前記データをバッファ上の対応するデータブロックに書き込み、
書き込みの都度、前記バッファ上の、複数のデータブロックが配置される容量分のまとめ書き単位領域において使用可能な空き領域がなくなったか否かを判定し、判定の結果に応じて前記ストレージへのまとめ書きを実行する
ことを特徴とする付記12に記載のストレージ制御プログラム。
(付記14)前記書込制御は、
前記データユニットヘッダに、前記データの誤りを検出するコードを書き込む制御を含むことを特徴とする付記12又は13に記載のストレージ制御プログラム。
(付記15)前記書込制御は、
前記ヘッダ領域に、前記データブロックに記憶するデータの数、次に書き込むデータのインデックス、次に書き込むデータのオフセットを含むデータブロックヘッダを書き込む制御をさらに含むことを特徴とする付記12、13又は14に記載のストレージ制御プログラム。
1 情報処理システム
1a ストレージ装置
1b サーバ
2 ストレージ制御装置
3 ストレージ
3a プール
3b ティア
3c ドライブグループ
3d SSD
3e 論物メタ域
3f データユニット域
21 上位接続部
22 キャッシュ管理部
23 重複管理部
24 メタ管理部
24a 論物メタ記憶部
24b DBM記憶部
24c リファレンス記憶部
25 追記部
26 IO部
41 メインメモリ
42 プロセッサ
43 ホストI/F
44 通信I/F
45 接続I/F
51 可搬記録媒体
1つの態様では、ストレージ制御装置は、書き込み回数に制限を有する記憶媒体を用いるストレージを制御する。前記ストレージ装置は、論物メタ情報記憶部とマップ情報記憶部と制御部とを有する。前記論物メタ情報記憶部は、論理アドレスとデータブロック識別子及びインデックスとを対応付ける。前記論理アドレスは、前記ストレージを使用する情報処理装置からのデータの識別に用いられる。前記データブロック識別子は、前記データをストレージ上で配置するためのデータブロックを識別する。前記インデックスは、前記データブロック内で前記データを識別する。前記マップ情報記憶部は、前記データブロック識別子と前記データブロックを記憶する前記ストレージ上の物理位置を示す物理識別子とを対応付ける。前記データブロックは、固定容量であり、所定数のインデックス分のデータに関わるヘッダ情報が記憶可能な容量を有するヘッダ領域と、インデックスに対応付けられたデータが記憶されるペイロード領域を有する。前記制御部は、前記データブロックの物理識別子と前記インデックスに基づいて、前記データブロック及びそのペイロード領域における書き込み位置を特定して前記データを書き込む制御を行う。前記制御部は、前記データブロック内での前記書き込み位置を示すオフセットと前記データの長さを示すデータ長とを含むデータユニットヘッダを、前記ヘッダ領域における前記インデックスで指定される位置に書き込む制御を行う。
1つの態様では、ストレージ制御装置は、書き込み回数に制限を有する記憶媒体を用いるストレージを制御する。前記ストレージ装置は、論物メタ情報記憶部とマップ情報記憶部と制御部とを有する。前記論物メタ情報記憶部は、論理アドレスとデータブロック識別子及びインデックスとを対応付ける。前記論理アドレスは、前記ストレージを使用する情報処理装置からのデータの識別に用いられる。前記データブロック識別子は、前記データをストレージ上で配置するためのデータブロックを識別する。前記インデックスは、前記データブロック内で前記データを識別する。前記マップ情報記憶部は、前記データブロック識別子と前記データブロックを記憶する前記ストレージ上の物理位置を示す物理識別子とを対応付ける。前記データブロックは、固定容量であり、所定数のインデックス分のデータに関わるヘッダ情報が記憶可能な容量を有するヘッダ領域と、各インデックスに対応付けられたデータが記憶されるペイロード領域を有する。前記制御部は、前記データブロック識別子と前記インデックスに基づいて、前記データブロック及びそのペイロード領域における書き込み位置を特定して前記データをバッファ上の対応するデータブロックに書き込む制御を行う。前記制御部は、前記データブロック内での前記書き込み位置を示すオフセットと前記データの長さを示すデータ長とを含むデータユニットヘッダを、前記ヘッダ領域における前記インデックスで指定される位置に書き込む制御を行う。前記制御部は、前記バッファ上の、複数のデータブロックが配置される容量分のまとめ書き単位領域においてデータの書き込みに使用可能な空き領域がなくなったか否かを判定し、判定の結果に応じて前記ストレージへのまとめ書きする制御を行う。

Claims (9)

  1. 書き込み回数に制限を有する記憶媒体を用いるストレージを制御するストレージ制御装置において、
    前記ストレージを使用する情報処理装置からのデータの識別に用いる論理アドレスと、前記データをストレージ上で配置するためのデータブロックを識別するデータブロック識別子及び前記データブロック内での前記データの追記書き順番を示すインデックスと、を対応付ける論物メタ情報を記憶する論物メタ情報記憶部と、
    前記データブロック識別子と前記データブロックを記憶する前記ストレージ上の物理位置を示す物理識別子とを対応付けるマップ情報を記憶するマップ情報記憶部と、
    前記データを書き込む制御を行う制御部と、
    を備え、
    前記データブロックは、複数インデックス分のデータに関わるヘッダ情報が記憶可能な容量を有するヘッダ領域と、複数インデックス分のデータが記憶可能な容量を有するペイロード領域を有し、
    前記制御部は、
    前記データブロックの物理識別子と前記インデックスに基づいて、前記データブロック及びそのペイロード領域における書き込み位置を特定して前記データを書き込み、
    前記データブロック内での前記書き込み位置を示すオフセットと前記データの長さを示すデータ長とを含むデータユニットヘッダを、前記ヘッダ領域における前記インデックスで指定される位置に書き込む制御を行う、
    ことを特徴とするストレージ制御装置。
  2. 前記制御部は、
    前記データをバッファ上の対応するデータブロックに書き込み、
    書き込みの都度、前記バッファ上の、複数のデータブロックが配置される容量分のまとめ書き単位領域において使用可能な空き領域がなくなったか否かを判定し、判定の結果に応じて前記ストレージへのまとめ書きを実行する
    ことを特徴とする請求項1に記載のストレージ制御装置。
  3. 前記書き込む制御は、
    前記データユニットヘッダに、前記データの誤りを検出するコードを書き込む制御を含むことを特徴とする請求項1又は2に記載のストレージ制御装置。
  4. 前記書き込む制御は、
    前記ヘッダ領域に、前記データブロックに記憶するデータの数、次に書き込むデータのインデックス、次に書き込むデータのオフセットを含むデータブロックヘッダを書き込む制御をさらに含むことを特徴とする請求項1、2又は3に記載のストレージ制御装置。
  5. 前記物理識別子は、
    複数の記憶媒体をグループ化したドライブグループを識別するDG識別子と、
    前記ストレージに前記データブロックをまとめ書きする単位であるまとめ書き単位領域を識別するRU識別子と、
    前記まとめ書き単位領域内で前記データブロックを記憶するスロットを識別するスロット識別子と
    を有することを特徴とする請求項1〜4のいずれか1つに記載のストレージ制御装置。
  6. 前記制御部は、データの重複排除及び圧縮の制御を行うものであり、
    データの重複がある場合は、前記論物メタ情報におけるデータブロック識別子及びインデックスを参照先のデータブロック識別子及びインデックスと同じに設定し、
    リファレンス情報記憶部に前記データの重複数を示すリファレンスカウントと前記データを対応付けるリファレンス情報を記憶させ、
    データの重複がない場合は、データの圧縮を行う
    ことを特徴とする請求項1〜5のいずれか1つに記載のストレージ制御装置。
  7. 前記記憶媒体は、書き込み回数に制限を有する半導体メモリであることを特徴とする請求項1〜6のいずれか1つに記載のストレージ制御装置。
  8. 書き込み回数に制限を有する記憶媒体を用いるストレージを制御するストレージ制御方法において、
    前記ストレージを使用する情報処理装置からのデータの識別に用いる論理アドレスと、前記データをストレージ上で配置するためのデータブロックを識別するデータブロック識別子及び前記データブロック内での前記データの追記書き順番を示すインデックスと、を対応付ける論物メタ情報を論物メタ情報記憶部に記憶し、
    前記データブロック識別子と前記データブロックを記憶する前記ストレージ上の物理位置を示す物理識別子とを対応付けるマップ情報をマップ情報記憶部に記憶し、
    前記データブロックは、複数インデックス分のデータに関わるヘッダ情報が記憶可能な容量を有するヘッダ領域と、複数インデックス分のデータが記憶可能な容量を有するペイロード領域を有するものであり、
    前記データブロックの物理識別子と前記インデックスに基づいて、前記データブロック及びそのペイロード領域における書き込み位置を特定して前記データを書き込み、
    前記データブロック内での前記書き込み位置を示すオフセットと前記データの長さを示すデータ長とを含むデータユニットヘッダを、前記ヘッダ領域における前記インデックスで指定される位置に書き込む制御を行うことを特徴とするストレージ制御方法。
  9. 書き込み回数に制限を有する記憶媒体を用いるストレージ装置を制御するストレージ制御装置が備えるコンピュータで実行されるプログラムにおいて、
    前記ストレージを使用する情報処理装置からのデータの識別に用いる論理アドレスと、前記データをストレージ上で配置するためのデータブロックを識別するデータブロック識別子及び前記データブロック内での前記データの追記書き順番を示すインデックスと、を対応付ける論物メタ情報を論物メタ情報記憶部に記憶し、
    前記データブロック識別子と前記データブロックを記憶する前記ストレージ上の物理位置を示す物理識別子とを対応付けるマップ情報をマップ情報記憶部に記憶し、
    前記データブロックは、複数インデックス分のデータに関わるヘッダ情報が記憶可能な容量を有するヘッダ領域と、複数インデックス分のデータが記憶可能な容量を有するペイロード領域を有するものであり、
    前記データブロックの物理識別子と前記インデックスに基づいて、前記データブロック及びそのペイロード領域における書き込み位置を特定して前記データを書き込み、
    前記データブロック内での前記書き込み位置を示すオフセットと前記データの長さを示すデータ長とを含むデータユニットヘッダを、前記ヘッダ領域における前記インデックスで指定される位置に書き込む制御を行う
    処理を前記コンピュータに実行させることを特徴とするストレージ制御プログラム。
JP2018017655A 2018-02-02 2018-02-02 ストレージ制御装置、ストレージ制御方法及びストレージ制御プログラム Expired - Fee Related JP6443572B1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2018017655A JP6443572B1 (ja) 2018-02-02 2018-02-02 ストレージ制御装置、ストレージ制御方法及びストレージ制御プログラム
US16/260,308 US10866743B2 (en) 2018-02-02 2019-01-29 Storage control device using index indicating order of additional writing of data, storage control method using index indicating order of additional writing of data, and recording medium recording program using index indicating order of additional writing of data
KR1020190011938A KR102245113B1 (ko) 2018-02-02 2019-01-30 저장 제어 디바이스, 저장 제어 방법, 및 기록 매체
CN201910092283.XA CN110134618A (zh) 2018-02-02 2019-01-30 存储控制装置、存储控制方法和记录介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018017655A JP6443572B1 (ja) 2018-02-02 2018-02-02 ストレージ制御装置、ストレージ制御方法及びストレージ制御プログラム

Publications (2)

Publication Number Publication Date
JP6443572B1 JP6443572B1 (ja) 2018-12-26
JP2019133601A true JP2019133601A (ja) 2019-08-08

Family

ID=64899534

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018017655A Expired - Fee Related JP6443572B1 (ja) 2018-02-02 2018-02-02 ストレージ制御装置、ストレージ制御方法及びストレージ制御プログラム

Country Status (4)

Country Link
US (1) US10866743B2 (ja)
JP (1) JP6443572B1 (ja)
KR (1) KR102245113B1 (ja)
CN (1) CN110134618A (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111752466B (zh) * 2019-03-27 2024-02-13 深圳市茁壮网络股份有限公司 一种数据存储方法及装置
CN112114753B (zh) * 2020-09-17 2022-09-30 杭州海康威视系统技术有限公司 一种数据写入方法、装置及设备
CN112181732A (zh) * 2020-10-29 2021-01-05 第四范式(北京)技术有限公司 参数服务器节点的恢复方法和恢复系统
CN114442903B (zh) * 2020-10-30 2024-07-05 伊姆西Ip控股有限责任公司 管理存储系统的方法、电子设备和计算机程序产品
CN112559388B (zh) * 2020-12-14 2022-07-12 杭州宏杉科技股份有限公司 数据缓存方法及装置
KR102486980B1 (ko) * 2021-01-08 2023-01-11 주식회사 앤다스 블록 데이터 스토리지 시스템, 블록 데이터 스토리지 방법 및 기록 매체에 저장된 프로그램
CN114356232B (zh) * 2021-12-30 2024-04-09 西北工业大学 数据读写方法和装置
CN117891414A (zh) * 2024-03-14 2024-04-16 支付宝(杭州)信息技术有限公司 一种基于完美哈希的数据存储方法及相关设备

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1173363A (ja) * 1997-08-29 1999-03-16 Matsushita Graphic Commun Syst Inc メモリー制御装置
JP2009516889A (ja) * 2005-11-22 2009-04-23 サンディスク コーポレイション レガシーホストのための方法およびメモリシステム
JP2010198368A (ja) * 2009-02-25 2010-09-09 Hitachi Information & Communication Engineering Ltd 補助記憶装置用フィルタドライバ手段を備えた電子計算機、補助記憶装置用フィルタドライバプログラム、及び、補助記憶装置用フィルタドライバプログラムの記録媒体
JP2011209973A (ja) * 2010-03-30 2011-10-20 Hitachi Ltd ディスクアレイ構成プログラム、計算機、計算機システム
JP2012064094A (ja) * 2010-09-17 2012-03-29 Fujitsu Ten Ltd 情報記録装置
JP2015036981A (ja) * 2013-08-16 2015-02-23 エルエスアイ コーポレーション 順次読み出し最適化可変サイズフラッシュトランスレーションレイヤ
WO2015118630A1 (ja) * 2014-02-05 2015-08-13 株式会社日立製作所 ストレージシステムおよびストレージシステム用キャッシュ制御装置
WO2015162766A1 (ja) * 2014-04-24 2015-10-29 株式会社日立製作所 ストレージシステム及び半導体記憶装置

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6721316B1 (en) * 2000-02-14 2004-04-13 Cisco Technology, Inc. Flexible engine and data structure for packet header processing
JP4001280B2 (ja) * 2002-10-22 2007-10-31 インターナショナル・ビジネス・マシーンズ・コーポレーション 記憶装置、記憶装置を制御するプログラム、記憶装置の制御方法、及び記録媒体
US8055745B2 (en) * 2004-06-01 2011-11-08 Inmage Systems, Inc. Methods and apparatus for accessing data from a primary data storage system for secondary storage
US7831747B2 (en) * 2004-12-08 2010-11-09 Intel Corporation Method and apparatus to generate a data descriptor
WO2008057833A2 (en) * 2006-11-08 2008-05-15 Sicortex, Inc. System and method for remote direct memory access without page locking by the operating system
US8819208B2 (en) * 2010-03-05 2014-08-26 Solidfire, Inc. Data deletion in a distributed data storage system
EP2791774A1 (en) * 2012-02-08 2014-10-22 Hitachi, Ltd. Storage apparatus with a plurality of nonvolatile semiconductor storage units and control method thereof to place hot data in storage units with higher residual life and cold data in storage units with lower residual life
US8874850B1 (en) * 2012-05-10 2014-10-28 Netapp, Inc. Hierarchically tagged cache
JP5586718B2 (ja) 2012-06-19 2014-09-10 株式会社東芝 制御プログラム、ホスト装置の制御方法、情報処理装置およびホスト装置
JP5802804B2 (ja) 2012-06-19 2015-11-04 株式会社東芝 制御プログラム、ホスト装置の制御方法、情報処理装置およびホスト装置
US9582219B2 (en) * 2013-03-12 2017-02-28 Netapp, Inc. Technique for rapidly converting between storage representations in a virtualized computing environment
US10452316B2 (en) * 2013-04-17 2019-10-22 Apeiron Data Systems Switched direct attached shared storage architecture
US9557937B2 (en) * 2013-08-21 2017-01-31 Netapp, Inc. Systems, methods, and computer program products implementing hybrid file structures for data storage
US20160232103A1 (en) * 2013-09-26 2016-08-11 Mark A. Schmisseur Block storage apertures to persistent memory
US9875180B2 (en) * 2014-02-24 2018-01-23 Sandisk Technologies Llc Systems and methods for managing storage compression operations
US9286209B2 (en) * 2014-04-21 2016-03-15 Avago Technologies General Ip (Singapore) Pte. Ltd. System, method and computer-readable medium using map tables in a cache to manage write requests to a raid storage array
US20150347310A1 (en) * 2014-05-30 2015-12-03 Lsi Corporation Storage Controller and Method for Managing Metadata in a Cache Store
US9417955B2 (en) * 2014-08-21 2016-08-16 Datrium, Inc. Data reconstruction in distributed data storage system with key-based addressing
US9639268B2 (en) * 2014-08-21 2017-05-02 Datrium, Inc. Distributed data storage system with key-based addressing
WO2016185573A1 (ja) 2015-05-20 2016-11-24 株式会社日立製作所 重複排除ストレージにおけるボリュームバックアップ・リストア方法
US10802740B2 (en) * 2016-04-21 2020-10-13 Netapp, Inc. Systems, methods, and computer readable media providing arbitrary sizing of data extents

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1173363A (ja) * 1997-08-29 1999-03-16 Matsushita Graphic Commun Syst Inc メモリー制御装置
JP2009516889A (ja) * 2005-11-22 2009-04-23 サンディスク コーポレイション レガシーホストのための方法およびメモリシステム
JP2010198368A (ja) * 2009-02-25 2010-09-09 Hitachi Information & Communication Engineering Ltd 補助記憶装置用フィルタドライバ手段を備えた電子計算機、補助記憶装置用フィルタドライバプログラム、及び、補助記憶装置用フィルタドライバプログラムの記録媒体
JP2011209973A (ja) * 2010-03-30 2011-10-20 Hitachi Ltd ディスクアレイ構成プログラム、計算機、計算機システム
JP2012064094A (ja) * 2010-09-17 2012-03-29 Fujitsu Ten Ltd 情報記録装置
JP2015036981A (ja) * 2013-08-16 2015-02-23 エルエスアイ コーポレーション 順次読み出し最適化可変サイズフラッシュトランスレーションレイヤ
WO2015118630A1 (ja) * 2014-02-05 2015-08-13 株式会社日立製作所 ストレージシステムおよびストレージシステム用キャッシュ制御装置
WO2015162766A1 (ja) * 2014-04-24 2015-10-29 株式会社日立製作所 ストレージシステム及び半導体記憶装置

Also Published As

Publication number Publication date
JP6443572B1 (ja) 2018-12-26
US10866743B2 (en) 2020-12-15
CN110134618A (zh) 2019-08-16
KR102245113B1 (ko) 2021-04-26
US20190243563A1 (en) 2019-08-08
KR20190094108A (ko) 2019-08-12

Similar Documents

Publication Publication Date Title
JP6443572B1 (ja) ストレージ制御装置、ストレージ制御方法及びストレージ制御プログラム
US10073640B1 (en) Large scale implementation of a plurality of open channel solid state drives
US20180173632A1 (en) Storage device and method for controlling storage device
US10552085B1 (en) Techniques for directed data migration
US8943265B2 (en) Storage array controller
US11782632B2 (en) Selective erasure of data in a SSD
EP1782211B1 (en) Fat analysis for optimized sequential cluster management
EP2254053B1 (en) FAT-analysis for optimized sequential cluster management
CN112930520B (zh) 用于使用以太网驱动器及以太网络开放通道驱动器存储数据的系统及方法
US10542089B2 (en) Large scale implementation of a plurality of open channel solid state drives
JP2020035300A (ja) 情報処理装置および制御方法
US7584229B2 (en) Method and system for priority-based allocation in a storage pool
KR102603070B1 (ko) 메모리 시스템, 메모리 시스템에 데이터를 기록하는 방법 및 메모리 시스템으로부터 데이터를 판독하는 방법
EP2631916A1 (en) Data deletion method and device
US20120102260A1 (en) Storage apparatus and data control method
WO2015162758A1 (ja) ストレージシステム
JP6443571B1 (ja) ストレージ制御装置、ストレージ制御方法及びストレージ制御プログラム
US7415653B1 (en) Method and apparatus for vectored block-level checksum for file system data integrity
US20150121003A1 (en) Storage controllers
US10503425B2 (en) Dual granularity dynamic mapping with packetized storage
JP2018181202A (ja) ストレージ制御装置、ストレージ制御方法及びストレージ制御プログラム
CN110162268B (zh) 利用实时计算用于逐分块数据组织和放置的方法和系统
US20180307419A1 (en) Storage control apparatus and storage control method
US7437528B1 (en) Gang blocks
JP2018181207A (ja) ストレージ制御装置、ストレージ制御方法及びストレージ制御プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180306

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180822

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180918

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181017

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20181112

R150 Certificate of patent or registration of utility model

Ref document number: 6443572

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees