JP2010033393A - ストレージ装置、その記憶領域管理方法及びフラッシュメモリパッケージ - Google Patents

ストレージ装置、その記憶領域管理方法及びフラッシュメモリパッケージ Download PDF

Info

Publication number
JP2010033393A
JP2010033393A JP2008195654A JP2008195654A JP2010033393A JP 2010033393 A JP2010033393 A JP 2010033393A JP 2008195654 A JP2008195654 A JP 2008195654A JP 2008195654 A JP2008195654 A JP 2008195654A JP 2010033393 A JP2010033393 A JP 2010033393A
Authority
JP
Japan
Prior art keywords
area
flash memory
storage
write
storage apparatus
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
JP2008195654A
Other languages
English (en)
Other versions
JP5216463B2 (ja
Inventor
Yoshiki Kano
義樹 加納
Sadahiro Sugimoto
定広 杉本
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 JP2008195654A priority Critical patent/JP5216463B2/ja
Priority to US12/248,124 priority patent/US8127103B2/en
Priority to EP09251234A priority patent/EP2151748A3/en
Publication of JP2010033393A publication Critical patent/JP2010033393A/ja
Priority to US13/405,403 priority patent/US20120159053A1/en
Application granted granted Critical
Publication of JP5216463B2 publication Critical patent/JP5216463B2/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/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
    • 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/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/0629Configuration or reconfiguration of storage systems
    • G06F3/0631Configuration or reconfiguration of storage systems by allocating resources to 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/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • 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
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1041Resource optimization
    • G06F2212/1044Space efficiency 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/7202Allocation control and policies
    • 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/7203Temporary buffering, e.g. using volatile buffer or dedicated buffer blocks
    • 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
    • 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/7208Multiple device management, e.g. distributing data over multiple flash devices

Abstract

【課題】ホスト計算機のライト性能にあわせて、該当するデータ領域に対応するライト領域を割当てられるストレージ装置を実現する。
【解決手段】複数のフラッシュメモリを備えた一つ以上のフラッシュメモリパッケージを有し、一つ以上のホスト計算機から送信されたデータを記憶するストレージ装置において、一つ以上のフラッシュメモリパッケージにより提供される記憶領域は一つの以上の論理デバイスから構成される実データを記憶する領域である第1の領域と、論理デバイスに対するホスト計算機のライト命令を保管する領域である第2の領域とを一つ以上のフラッシュメモリパッケージ毎に有し、ホスト計算機からのライト命令の頻度を監視する監視部と、ライト命令の頻度に応じて第2の領域のサイズを変更する変更部を備える。
【選択図】図2

Description

本発明は、計算機システムに用いられるストレージ装置に関し、特に、記憶媒体としてフラッシュメモリなどの不揮発性半導体メモリを用いたストレージ装置、その記憶領域管理方法及びフラッシュメモリパッケージに関する。
ストレージ装置は、一般的に、ランダムアクセス可能な不揮発性記憶媒体を備える。ランダムアクセス可能な不揮発性記憶媒体は、例えば、磁気ディスク(以下ハードディスクとも呼ぶ)、光ディスク等であり、例えば特許文献1のように、ハードディスクを多数備えた構成をとる。
また、近年、従来のハードディスクの代替としてフラッシュメモリなどの不揮発性半導体メモリを記憶媒体としたストレージ装置が注目を集めている。フラッシュメモリはハードディスクに比べて高速動作可能で、かつ消費電力が低いという利点を持つ。特許文献2には、ストレージ装置において、複数のフラッシュメモリを備え、SCSI(Small Computer System Interface)等の従来ハードディスクのアクセス手段でアクセス可能としたフラッシュメモリディスクを、ストレージ装置のハードディスクの代替として利用する技術が開示されている。
フラッシュメモリの効率的な書き込み方式を実現する方式として、特許文献3がある。この方式では、フラッシュメモリのブロック内を、ライト領域とデータ領域とにわけ、ライトデータはライト領域にログ形式で追記し、ライト領域にデータがまとまった段階で、ブロックのデータをメモリに読み出し、ライト領域のデータをメモリ上で上書き後、データ領域にデータを書き出す方式がある。なお、この書き込み方式をリクラメーション方式と呼ぶ。
特開2004−5370号公報 米国特許第6529416号公報 米国特許第7039788号公報
先に述べたように、フラッシュメモリの領域をデータ領域とライト領域に分けてライトの性能を向上させる方式の場合、ホスト計算機のアプリケーションによっては、ライト命令が少ないがゆえにライト領域のリクラメーションがほとんど発生しない場合があり、割り当てられたライト領域が効率的に利用されないという課題がある。
上記の課題を解決するには、ホスト計算機のライト性能にあわせて、該当するデータ領域に対応するライト領域を割当てられるストレージ装置を実現する必要がある。
また、ライト領域は、ライト性能に合わせて削減する場合にライト性能にあわせてフラッシュメモリパッケージの減設することも必要である。
本発明は、以上の点を考慮してなされたもので、ホスト計算機からのライト命令に応じてライト領域を効率的に割り当てることが可能とするストレージ装置、その記憶領域管理方法及びフラッシュメモリパッケージを提案しようとするものである。
本発明は、複数のフラッシュメモリを備えた一つ以上のフラッシュメモリパッケージを有し、一つ以上のホスト計算機から送信されたデータを記憶するストレージ装置において、前記一つ以上のフラッシュメモリパッケージにより提供される記憶領域は、一つの以上の論理デバイスから構成される実データを記憶する領域である第1の領域と、前記ホスト計算機のライト命令を保管する領域である第2の領域とを前記一つ以上のフラッシュメモリパッケージ毎に有し、前記ホスト計算機からのライト命令の頻度を監視し、前記ライト命令の頻度に応じて前記第2の領域のサイズを変更するものである。
この構成により、ホスト計算機からのライト命令に応じてライト領域を効率的に割り当てることが可能となる。なお、記憶領域単位をアプリケーション単位又はホスト計算機単位で設定することにより、アプリケーション単位又はホスト計算機単位で第2の領域を変更することが可能となる。
また、ストレージ装置において、フラッシュメモリパッケージ全体を記憶領域から削減することにより第2の領域を削減する場合、その削減したフラッシュメモリパッケージの位置を表示することにより、不要となったフラッシュメモリパッケージを減設することができる。
本発明によれば、ホスト計算機からのライト命令に応じてライト領域を効率的に割り当てることが可能となる。
以下に、図面を参照しながら本発明の実施形態を説明する。尚これにより本発明が限定されるものではない。
(第1の実施形態)
先ず第1の実施形態について説明する。本第1の実施形態はフラッシュメモリパッケージ(以下、FM−PKとも称する。)上にフラッシュメモリチップを搭載したストレージ装置により、ホストライトI/O(Input/Output)に基づいて、必要なライト領域を、実データを格納するユーザ領域(データ領域とも呼ぶ。)に対して割当てる場合について説明する。
本第1の実施形態には、FM−PK毎に、第1の領域であるユーザ領域、第2の領域であるライト領域を用意している。この2つの領域を用意するメリットは、フラッシュメモリパッケージの追加と共に、ユーザ領域が増やせることにある。
先ず、第1の実施形態における計算機システム1の構成について説明する。図1及び図2は、計算機システム1の構成を示す図である。図3から図9は計算機システム1で使用する管理情報を示す図である。
図1は計算機システム1の構成の一例を示す図である。計算機システム1は複数のホスト計算機(以下、ホストとも称する。)100、ストレージ装置200、管理コンソール250を含んでいる。
ホスト100とストレージ装置200とは、ストレージ装置200に保管するデータが転送できる入出力ネットワークであるSAN(Storage Area Network)を介して接続されている。
SAN300は、一般に、SCSI(Small Computer System Interface)プロトコルを通信可能なスイッチ、例えば、ファイバーチャネルプロトコルの場合ファイバーチャネルスイッチ、また、iSCSI(Internet Small Computer System Interface)の場合にはiSCSIが動作可能なイーサネットスイッチ、さらに、ファイバーチャネルオーバーイーサネットの場合はイーサネットスイッチであり、いずれかのスイッチを介して、ホスト100とストレージ装置200とは接続される。本第1の実施形態では、説明の都合上、ファイバーチャネルプロトコルを用いるファイバーチャネルスイッチを用いた場合で説明する。
ホスト100は、一般的なサーバを想定しMPU(Micro Processing Unit)101、メモリ(MEM)103、ハードディスク(HDD)102、ネットワークインタフェースサーキット(NIC)103、ホストバスアダプタ(HBA)104を含んで構成されている。
NIC103は、TCP/IP(Transmission Control Protocol/ Internet Protocol)によって通信できる、イーサネット(米国Xerox社の登録商標)、IEEE802.11/b/a/g/j/n等の無線LAN(Local Area Network)、FDDI(Fiber-Distributed Data Interface)等の通信制御方式を用いる。本第1の実施形態では説明の都合上、イーサネットの通信制御方式を用いた場合で説明する。
HBA104は先に記載したSAN300に接続する為に、SAN300のプロトコルに合致した入出力インタフェースを有している。本第1の実施形態の場合は、ファイバーチャネルの入出力インタフェースを有する。
ストレージ装置200は、複数のコントローラ210、複数のフラッシュアダプタ220(詳細は後述する。)を含み構成されている。コントローラ210、フラッシュアダプタ220とは、内部ネットワーク230で接続されている。
内部ネットワーク230は、フラッシュメモリパッケージ内のフラッシュメモリチップにアクセスすることが可能なネットワーク、例えば、PCI−X、PCIエクスプレス等を用いる。この際、インタフェースとしては、ライト時にブロック単位内のページ単位に追記するアクセスを行うインタフェースを内部ネットワーク230上で操作することになる。本第1の実施形態では、フラッシュメモリに対して直接アクセスすることを想定しているが、フラッシュメモリを搭載し、SCSIコマンドを処理できるSSD(Solid State Drive)において、先に示したページ単位に追記、並びに、ブロック単位のアクセスを行なうSSDであれば、ネットワークは上記のネットワークに限定されることは無く、ファインバーチャネルI/F、イーサネット等のSCSIプロトコルが利用できるネットワークを使用しても良い。
コントローラ210は、ホスト100から命令されるSCSIコマンドの処理を行う。MPU211、キャッシュメモリ213、NIC214、内部ネットワーク230に接続可能なインタフェースI/F225から構成する。
フラッシュメモリアダプタ(FMA)220は、複数のフラッシュメモリパッケージ(FM−PK)221A,221B,221C,221D,…,FM−PKを収納するスロットである。
FM−PK221A,…,は、先に説明した内部ネットワーク230を介して接続される。FM−PKは先に示したように複数搭載可能で、本第1の実施形態では、“♯”の後に1から始まる自然数で、個々のパッケージを指定できるようにしている。
FM−PK221上にはフラッシュメモリチップ(図示を省略する。)が搭載され、ホスト100から格納されるデータを保管する。フラッシュメモリチップのブロック領域内は、読み出しは512バイト単位に行え、書き込みは、ブロックを消去した後、ページ単位で追記して行える。なお、本第1の実施形態では、ブロックの単位は256KB、ページの単位は2KBを一例として考える。なお、本実施例では、512バイトの読み出しを行うことを前提に記載したが、512バイトのデータに対する保障コードとして8バイトを別ブロックに保管し管理する形態も考えられる。
管理コンソール250は、管理LAN(Local Area Network)240経由で、ストレージ装置200に接続される。管理コンソール250は、ストレージ装置200の設定や監視を行う。
図2は、計算機システム1の論理構成例を示す図である。ホスト100は、アプリケーション毎に提供されるリクラメーション割合設定部121を有している。このリクラメーション割合設定部121は、ストレージ装置200にリクラメーションの1日のうちの頻度の範囲(上限値、下限値)を提供する。これらの値は、アプリケーションベンダがソフトウエアパッケージのソフトウエア中にデフォルト値として提供してもよいし、管理者がファイル、もしくは、GUI(Graphical User Interface)等の管理インタフェースを用いて設定しアプリケーションがSAN230,LAN240経由の情報伝達手段を用いて通知してもよい。
リクラメーションの頻度を示す頻度情報(前記頻度の範囲(上限値、下限値))の伝達は、SAN230経由でもよいし、LAN240経由でもよい。SAN230経由の場合、例えば、日立製作所が提供しているSAN経由でストレージの制御を行うレイドマネージャー(Raid Manager)に1日のうちのリクラメーション頻度の範囲(上限値、下限値)を、0〜100%で指定される割合で設定する。このレイドマネージャーでは、ストレージ装置200のコマンドデバイスを設定し、そのコマンドデバイスの特定の領域をリード処理・ライト処理することで、ホスト100とストレージ装置200の通信が可能となっている。LAN240経由の場合、TCP/IP経由で接続し、ストレージ装置200のNIC214を通じてホスト100とストレージ装置200間の通信をする。
ストレージ装置200は、ホスト100から送信されるSCSIコマンドを受領し、FM−PK上のフラッシュメモリチップに対してアクセス(リード、ライト)を行う。主な操作は、コントローラ210上のI/O処理部262にて行われ、I/O処理部262はポート−LU(Logical Unit)マッピング部258、LU−LDEVマッピング部257、LDEV−RG(RAID GROUP)マッピング部256、RG−FMマッピング部255、フラッシュメモリパッケージ(FM−PK)管理部251と連係して動作する。
ポート−LU(Logical Unit)マッピング部258は、ホスト100からのポートに対してのI/OのSCSIのリードやライトコマンドに関して、IO処理部が、SCSIコマンドで指定された適切なLUを選択する為のLUリストを保管している。LU−LDEVマッピング部257は、I/O処理部が、ポート−LUマッピング部で選択されたLUに対対するLDEV(詳細は後述する。)の管理を行う。LDEV−RGマッピング部256は、LDEVに対応するRAID(Redundant Arrays of Inexpensive (もしくはIndependent) Disks)構成から構成されるフラッシュメモリパッケージのユーザ領域に対するマッピング関係を保管とその処理を行う。RG−FMマッピング部255は、RAID構成とフラッシュメモリ(FM)パッケージとのマッピング関係を保管とその処理を行う。
FM−PK管理部251は、ユーザデータを保管するユーザ領域252、ライトデータを一時的に保管するライト領域253、フラッシュメモリチップ上の障害ブロックを管理する代替領域254を含み構成する。
ライト領域253の領域は、ホスト100のライト性能の変化、もしくは、先に説明を行ったリクラメーション割合設定部121で指定された割合によって、同一RAIDグループ内のLDEV毎に変化する。
LDEV−ライト領域管理部261は、個々のLDEVのライト性能、もしくは、リクラメーション割合設定部121で指定された値を元にライト領域の大きさを管理する。
次に個々の管理テーブルの詳細を説明する。図3は、FM−アドレステーブル300の例を示している。FM−アドレステーブル300は、FM−PK番号フィールド301、開始アドレス位置フィールド302、終了アドレス位置フィールド303、ブロック(BLK)サイズフィールド304、ページサイズフィールド305を有している。
FM−PK番号フィールド301は、FM−PK番号を保存する。開始アドレス位置フィールド302は、FM−PK番号フィールド301に指定されるFM−PK番号毎に搭載されている複数個のフラッシュメモリチップから構成される記憶領域の開始アドレス位置を保存する。終了アドレス位置フィールド303は、その記憶領域の終了アドレス位置を保存する。ブロック(BLK)サイズフィールド304は、フラッシュメモリチップのブロックサイズを保存する。ページサイズフィールド305は、ページサイズを保存する。
本第1の実施形態では、開始アドレス位置、終了アドレス位置は、64ビットの16進のアドレス空間で定義する。また、本第1の実施形態で用いるフラッシュメモリチップは、例えば、MLC(Multi-level cell)であり、データの書き込み時には、ブロック内のアクセスはアドレスの開始位置から終了位置の一方向に、ページ単位で2KB単位の書き込みをする。データの読み込みは512KB単位で行う。
図4は、RG―FMマッピング部255で用いるFM−PKを用いたRAID構成テーブル400の例を示している。RAID構成テーブル400は、RG番号フィールド401、FM−PKフィールド402、RAID構成フィールド403を有している。
RG番号フィールド401は、RAIDグループの番号を保存する。FM−PKフィールド402は、RAIDグループを構成する複数のFM−PK番号を保存する。RAID構成フィールド403は、RAIDグループのRAID構成を保存する。
例えば、RG(RAIDグループ)1は、FM−PKが♯1〜♯4で構成され、RAID5の分散パリティを用いて保護されている。この分散パリティの生成の仕方は、ストレージ装置200が管理しているキャッシュメモリ213の単位でもよいし、フラッシュメモリチップのブロックサイズ等の値でもよい。本第1の実施形態では、フラッシュメモリチップのブロックサイズを用いることにする。また、FM−PKの管理として、複数のFM−PKを連結し、連結されたFM−PK間でRAID構成する形態をとってもよい。この一例として示すRG2では、FM−PK♯5とFM−PK♯9の間が連結(Concatination)しており、また同様にFM−PK♯6,♯7,♯8がFM−PK♯10,♯11,♯12と連結しており、これらによりRAID5(3Data +1Parity)が構成されている。
図5は、FM−PK管理部251で行われる領域管理で利用する、FM−PKに対するユーザ・ライト・代替ブロック領域テーブル500の例を示している。ユーザ・ライト・代替ブロック領域テーブル500は、FM−PK番号フィールド501、ユーザ領域フィールド502、ライト領域フィールド503、代替領域フィールド504を有している。
FM−PK番号フィールド501は、FM−PK番号を保存する。ユーザ領域フィールド502は、ユーザの記憶領域として利用するユーザ領域の開始位置のアドレスから終了位置のアドレスを保存する。ライト領域フィールド503は、ライトを一次受けしページ単位で記録するライト領域の開始位置のアドレスから終了位置のアドレスを保存する。代替領域フィールド504は、ユーザ領域、もしくは、ライト領域で故障したブロックを代替する代替領域の開始位置のアドレスから終了位置のアドレスを保存する。
本第1の実施の形態では、FM−PKのユーザ領域、ライト領域、代替領域を64ビットの16進のアドレス空間として管理するが、実際のアクセスは、フラッシュメモリチップのブロックが指定され、読み込みは512バイト単位、ライトは2Kバイト単位で行われる。
また、後述するフラッシュメモリチップへのライト性能の向上のために、FM−PKを導入する際、ライト領域のみの構成も可能である。この場合は、ユーザ領域を設けない構成となるので、一例として、FM−PK♯9のユーザ領域に示すように、“−”を用いてユーザ領域を設定しないようにする。
図6Aは、FM−PK管理部251によって管理された、FM−PK群の領域のイメージを示す図である。例として、図5のRG♯1の構成を示している。
FM−PK管理部251は、RG♯1をFM−PK♯1、FM−PK♯2、FM−PK♯3、FM−PK♯4によりRAID5(3データと1パリティ構成)によるデータ保護を行い、一つの記憶空間を作成している。FM−PK管理部251は、RAIDにより一つの記憶空間を作成した後、その中に、ユーザ領域610、ライト領域620、代替領域630を構成する。
その後、ユーザ領域610は、LDEV−RGマッピング部256により、個々のLDEVに対して記憶領域が分割される。作成されたLDEVに対しては、ライト領域が割り当てられる。ライト領域の割り当ては、LDEV−ライト領域管理部261が行い、図6Bに示すように、LDEV1用ライト領域610A、LDEV2用ライト領域610B,…,LDEVN用ライト領域610Nなど、個々のLDEVに対して割り当てを行う。この割当動作の詳細については後述する。
図7はLDEV−RGマッピング部256が使用する論理デバイス(LDEV)の構成と性能情報を示すテーブル700の例を示している。テーブル700は、LDEV番号フィールド701、RG番号フィールド702、開始アドレスフィールド703、容量フィールド704、ライト性能フィールド705を有している。
LDEV番号フィールド701は、0から始まる論理デバイスの番号を保存する。RG番号フィールド702は、RAIDグループの番号を保存する。開始アドレスフィールド703は、記憶空間の開始アドレスを保存する。容量フィールド704は、記憶空間の容量を保存する。ライト性能フィールド705は、1秒あたりのライト数であるライト性能(Input/Output Per Second)を保存する。
つまり、LDEV−RGマッピング部256は、論理デバイスを0から始まる論理デバイス番号で指定し、その記憶空間をRAIDグループ番号と対応する開始アドレスとLDEVの容量で構成する。なお、開始アドレスは、RAIDグループのアドレス空間に一致しており、このアドレスはブロック単位で開始される。また、容量に関しても同様に、ブロック単位で増加する。I/O処理部262は、個々のLDEVのライト性能をモニタリングしており、その値をライト性能フィールド705に保存する。
図8は、LDEV−ライト領域管理部261が使用する論理デバイスに対するライト領域の割当て済みページ数と使用済みページ数を示すテーブル800の例を示している。テーブル800は、LDEV番号フィールド801、RG番号フィールド802、開始アドレスフィールド803、割当てページ数フィールド804、使用済みページ数フィールド805、リクラメーション頻度フィールド806を有している。
LDEV番号フィールド801は、LDEV番号を保存する。RG番号フィールド802は、RAIDグループ番号を保存する。開始アドレスフィールド803は、LDEVの開始アドレスを保存する。割当てページ数フィールド804は、LDEVに割り当てられたページ数を保存する。使用済みページ数フィールド805は、割当てられたページのうち使用されたページのページ数を保存する。リクラメーション頻度フィールド806は、リラクメーションの頻度、例えば、図8に示すように、1日に何回行なわれたかを保存する。
LDEV−ライト領域管理部261は、LDEV番号に対するライト領域を開始アドレス、割当てページ数によって構成する。また、LDEV−ライト領域管理部261は、割当てられたライト領域の管理を行っており、使用済みページ数、並びに、日々のリクラメーション回数をモニタリングしており、それぞれ、使用済みページ数フィールド804、リクラメーション頻度フィールド805に保管している。本第1の実施形態では、ライト領域の終了アドレスを開始アドレスと割り当て済みページ数のページ単位から計算される値で利用することになるが、便宜先の計算した終了アドレスを本テーブル800に保存してもよい。また、ライト領域の割り当ての初期値は、ライトI/Oが無いことから、LDEVを割当てる際に、LDEV容量の決められた割合、例えばLDEV容量の10%を追加されるLDEVにライト領域として割当てることを決めてもよい。
図9は、ポート−LUマッピング部258、LU−LDEVマッピング部257が使用するLUポート、LU、LDEV間のマッピングテーブル900の例を示している。マッピングテーブル900は、WWNフィールド901、ポート番号フィールド902、LUNフィールド903、LDEV番号フィールド904を有している。
WWNフィールド901は、ストレージ装置200が有するワールド・ワイド・ネームを保存する。ポート番号フィールド902は、ポート番号を保存する。LUNフィールド903は、ロジカルユニットナンバ(LUN)を保存する。LDEV番号フィールド904は、LDEV番号を保存する。
なお、ポート−LUマッピングテーブル900は、ワールド・ワイド・ネームとポート番号をストレージ装置200の出荷時に対応付けてある。管理者は、管理コンソール250経由で、ポート−LUマッピング部258へ、指定するポートに対してLUを作成し、LUN(Logical Unit Number)を割り当てる同時にLDEV番号をLU−LDEVマッピング部257へ、LDEV番号を割当てる。
図10は、LDEV−ライト領域管理部261が使用するライト領域上の書き込みデータの保管先を示すテーブル1000の例を示している。テーブル1000は、ブロック番号フィールド1010、ページ番号フィールド1011、対応ブロック番号フィールド1012、サイズフィールド1013を有している。
ブロック番号フィールド1010は、ブロック番号を保存する。ページ番号フィールド1011は、ページ番号を保存する。対応ブロック番号フィールド1012は、ブロック番号と対応する対応ブロック番号を保存する。サイズ(バイト)フィールド1013は、格納するデータのサイズを保存する。
なお、本テーブル1000は、FM−PK番号1004で指定されるFM−PK毎に管理情報を保持し、LDEV毎にページの書き込み先を保存している。
I/O処理部262は、ホスト100のライトI/O受領時に、書き込み対象となるFM−PKの番号1004中のLDEV番号の記憶領域に対して、次の書き込み領域を示すポインタブロック番号(ポインタBLK)1002、ポインタページ番号(Page)1003の2つから示される領域にデータの書き込みを行い、その管理情報として、テーブル1000のブロック番号(BLK♯)1010、ページ番号(Page♯)1011、ユーザ領域中の対応フラッシュメモリブロック(BLK番号)、そして、格納したデータのサイズ1013を保管する。なお、“Page”は、ページ単位で増加する。
以上で、本第1の実施形態における計算機システム1の構成と計算機システム1で利用する管理情報の説明を終える。
次に、計算機システム1における動作について説明する。具体的には、FM−PKを導入後、各種領域の割り当てを行い、割当てられた領域に対するホスト100からのライトアクセスの動作について説明する。また、その際に必要となる管理の動作についても説明する。
図11は、コントローラ210がFM−PKに対して、RAID構成、並びに、各種領域を割当てる手順を示すフローチャートである。以下にその手順を説明する。
ストレージ装置200に対して、FM−PKが追加された後、管理コンソール250で後述の図17に示される管理GUIを用いて管理者により、RAIDタイプ1710と各種領域割合(ユーザ領域1733、ライト領域1734、代替領域1735)1730が選択され、必要なFM−PK1720から選択、追加ボタン1753が押下され、領域管理部にRAIDグループが追加される。ステップS1101において、コントローラ210は、管理者によってなされた設定を取得する。
ステップS1102において、コントローラ210は、追加されたFM−PKは、各種領域割合に従い、FM−PKの終了位置のアドレスから決められる終了位置を100%として、ユーザ領域、ライト領域、交代領域で指定された割合を元に、領域を分割する。FM−PKの終了位置が異なる場合、FM−PK間で最も小さい記憶領域に合わせて、終了位置をFM−PK間で共通にしてもよい。この場合、残領域が生じるが、それを代替領域用に用いてもよい。領域分割の手順に戻るが、領域の分割の際には、フラッシュメモリチップで規定されるブロックサイズフィールド304のブロックサイズが、割合で指定された領域内に収まるように終了位置が決められる。ユーザ領域フィールド502に続く、ライト領域503は、ユーザ領域で指定された割合の領域から0番目のフラッシュメモリチップのブロック、すなわち、ユーザ領域の終了位置が割合計算で、128KBとして、フラッシュメモリチップのブロックサイズ(256KB)内に重なった場合には、重なりがあるブロックの開始アドレスからスタートする。代替領域1735はライト領域1734と同様にして考える。なお、この配置は一例であり、管理情報を含め、領域間の区切りを明確にするために、空き領域を意図的に用意してもよい。
ステップS1103において、コントローラ210は、選択されたFM−PKに対して指定されたRAID構成を作成する。つまり、図4で示すように、RAIDグループ番号フィールド401のRAID番号、FM−PKパッケージ番号フィールド402のFM−PK番号、RAID構成フィールド403のRAID構成が共にテーブル400に格納される。この設定以降、指定されたRAID構成により、ストレージ装置200は動作する。
ステップS1104において、コントローラ210は、図7を用いて説明したLDEV−RGマッピングテーブル700を参照し、作成したRAIDグループ番号に対応する領域にLDEVが生成されているか否かを調べる。もし、生成されている場合は(S1104:YES)、処理はステップ1005に進み、生成されていない場合には(S1104:NO)、処理は終了する。
ステップS1105において、コントローラ210は、リクラメーション処理を実施する。なお、リクラメーション処理の詳細については、後述する。以上でこの処理を終了する。
次に、I/O処理について説明する。図12は、コントローラ210内のI/O処理部262が行うライト処理である。以下にその手順を説明する。
ステップS1201において、I/O処理部262は、ホスト100から受けたSCSIのライトI/Oのトランスファーレングスのデータサイズを確認し、フラッシュメモリのブロックサイズで割り切れないことを確認する。割り切れないときにはステップ1202に進み、割り切れる場合はステップS1211に進む。
ステップS1202において、I/O処理部262は、ホスト100から受けたライトI/Oのデータサイズがページサイズ未満であることを確認する。ページサイズ未満であるのであれば(S1202:YES)、処理はステップS1203に進み、ページサイズと同じサイズであれば(S1202:NO)、処理はステップS1206に進む。
ステップS1203において、I/O処理部262は、対象LDEVに対する残ページ数を確認する。ページが残っているのであれば(S1203:YES)、処理はステップS1205に進み、残っていなければ(S1203:NO)、処理はステップS1204に進む。
ステップS1204において、I/O処理部262は、図14のリクラメーション処理を行う。
ステップS1205において、I/O処理部262は、ホスト100から指定された開始アドレスと容量をデータが格納されているFM−PKのライト領域から2KB分のデータをキャッシュメモリ213にリードする。もしデータが無ければ、ユーザ領域からデータを読み出す。同様に、パリティデータについても、2KB分のデータをキャッシュメモリ213にリードする。
ステップS1206において、I/O処理部262は、ステップS1205でリードしたキャッシュメモリ213上のデータとパリティデータをXORすることにより、キャッシュメモリ213上のデータを除いたパリティデータを生成する。
ステップS1207において、I/O処理部262は、キャッシュされた2KBデータに対してホストデータを上書きする。
ステップS1208において、I/O処理部262は、キャッシュメモリ213上のデータとステップS1206で生成したパリティデータをXORすることにより、新パリティデータを生成する。
ステップS1209において、I/O処理部262は、ステップS1206で更新したデータを元のFM−PKのテーブル1000上のポインタブロック番号1002とポインタページ番号1003で示されるページに書き出す。そしてI/O処理部262は、図10のテーブル1000のテーブルのポインタブロック番号1002、ポインタページ番号1003に該当するブロック番号1010、ページ番号1011列に対応する対応ブロック番号フィールド1012、サイズフィールド1013を更新する。ステップS1208で生成されたパリティデータも同様に、読み出したFM−PKのテーブル1000上のポインタブロック番号1002とポンタページ番号1003で示されるページにデータを書き出し、フラッシュメモリチップ上の書き出すユーザ領域のブロック番を対応ブロック番号フィールド1012に、ページに書き出した量をサイズフィールド1013に更新する。
ステップS1210において、I/O処理部262は、ポインタページ番号1003をインクリメントし、次のブロックに行くのであれば、ブロックもインクリメントする。
一方、ステップS1211において、I/O処理部262は、ホスト100から指定された開始アドレスと容量をデータが格納されているFM−PKのユーザ領域から1ブロック分のデータをキャッシュメモリ213にリードする。
ステップS1212において、I/O処理部262は、ステップS1211で読み込まれたキャッシュメモリ213上のデータとパリティデータをXORすることにより、キャッシュメモリ213上のデータを除いたパリティデータを生成する。
ステップS1213において、I/O処理部262は、キャッシュメモリ213上データとステップ1206で生成したパリティデータをXORすることにより、新パリティデータを生成する。
ステップS1214において、I/O処理部262は書き込むブロックのフラッシュメモリチップのブロックを消去する。
ステップS1215において、I/O処理部262はFM−BLKにデータ、パリティブロックに書き込む。以上で、ライト処理を終了する。
図13は、コントローラ210内のI/O処理部262が行うリード処理である。以下にその手順を説明する。
ステップS1301において、I/O処理部262がホスト100のSCSIのリードコマンドで指定された開始アドレスと指定されたサイズのデータに対応するLDEVにおけるフラッシュメモリチップのブロックをキャッシュメモリ213上に読み込む。
ステップS1302において、I/O処理部262が、テーブル1000の各LDEVのライト領域を参照し、ホスト100のSCSIのリードコマンドで指定された領域(開始位置、サイズ)で指定されたブロック内に更新データがないか、対応BLK番号フィールド1012、サイズフィールド1013を参照して、判定する。データが有る場合(S1302:YES)、処理はステップS1303に進む。データがない場合(S1302:NO)、処理はステップS1304に進む。
ステップS1303において、I/O処理部262は、ライト領域からキャッシュメモリ213にデータをリードし、既にリードされたブロックのデータに対して上書きする。
ステップS1304において、I/O処理部262は、キャッシュメモリ213上の上書き済みのデータを戻り値としてホスト100に戻す。以上でリード処理を終了する。
次に、ライト時や管理者がLDEVの容量を変更したときに行うリクラメーション処理について説明を行う。図14は、I/O処理部262が行うリクラメーション処理のフローチャートを示している。以下にその手順を説明する。
ステップS1401において、I/O処理部262は、該当LDEVのフラッシュメモリチップのライト領域の追記を抑止する。
ステップS1402において、I/O処理部262は、テーブル1000を参照し、全ライト領域内のページデータを対応BLK番フィールド1012とサイズフィールド1013を元に、各LDEVのユーザ領域に上書きする。また、全ページが書き出された段階で、開始アドレスフィールド802の開始アドレスに該当するブロックをポインタBLKとして設定し、ページを“0”としてリセットする。
ステップS1403において、I/O処理部262は、LDEV間のライト割合が変更されたか否かを判定する。その割合が変更されている場合は(S1403:YES)、処理はステップS1402に進み、割合が変更されていない場合は(S1403:NO)、処理はステップ1406に進む。
ステップS1404において、I/O処理部262は、LDEV間のライト割合から、ライト領域の割り当て領域の開始位置と割り当てページ数を再計算する。
ステップS1405において、I/O処理部262は、再計算した値を、図8の開始アドレスフィールド802の開始アドレスと割り当てページ数フィールド803の割り当てページ数に代入する。
ステップS1406において、I/O処理部262は、該当LDEVのフラッシュメモリチップのライト領域の追記を再開する。以上でリクラメーション処理を終了する。
ステップS1402でI/O処理部262がLDEVのライト割合の変更を確認したが、その変更を行う為のGUIを図15に示す。図15は、論理デバイス(LDEV)に対するライト領域の管理GUI1500の例を示す図である。
管理GUI1500は、RAIDグループ番号(RG♯)を表示するフィールド1501、割り当て対象となるLDEVを表示する1502、現在の割り当て率(割合)を表示するフィールド1503、推奨される割り当て率(推奨割合)を表示するフィールド1504、割り当て率1503に対するアラートを表示するフィールド1511、日々のリクラメーション回数を表示するフィールド1505、1日における最大リクラメーション回数に対するリクラメーション割合を示すフィールド1506、アプリケーション(AP)個別設定割合を表示するフィールド1507、アラートを表示するフィールド1508から構成される。
現在の割り当て率と推奨割当て率の間で差が大きい場合、例えば±10%を超える場合、管理コンソール250は、SNMP(Simple Network Management Protocol)、メール、SMS(Short Message Service)等の通信手段で管理者に通知し、割り当て率1503を変更することを求める。
LDEV番号に対して、推奨割合に従って、管理者が、現在の割当率を定義する。推奨割合は、図4の各LDEVの平均iopsの合計のうち各LDEVのiopsの割合をパーセンテージ表記する。現在の割り当て率は、RAIDグループ内のLDEV全体で100%になるように設定する。本第1の実施形態では、割合を管理者が入力しているが、推奨値をそのまま当てはめ、リアルタイムに割り当てを変えてもよい。
リクラメーション回数1505は、図8のリクラメーション頻度フィールド806から参照される。リクラメーション割合1506は、LDEV毎で1日のうち最大リクラメーション可能な回数のうち、日々のリクラメーション回数の割合がどの程度になるかをパーセント表記している。この計算の仕方は、次の(1)式から計算される。
(リクラメーション割合)=(リクラメーション回数)/(24時間/(個々のLDEVに対する全ライト領域を書き込む時間+対象ライト領域のページ数分のブロックが消去されたとき時間) …(1)
AP設定割合フィールド1507は、図2のホスト100上に用意されるリクラメーション割合設定部211が、下限値、上限値を設定した場合に表示される。何も設定しない場合、“−”として表記され、その場合には、システムデフォルト値である、リクラメーション閾値(下限値)1509、リクラメーション閾値(上限値)1510を使用することになる。もし、この閾値を超える場合、アラート1508に表示され、アラートボックスをクリックすると、図17の領域管理GUI(後述)が表示される。
次に、リクラメーション割合の閾値を超えたときの動作を説明する。リクラメーション割合の上限値を超えた場合、リクラメーション回数が 頻度が高く、性能影響があると判断し、FM−PKの増設し、ライト領域を増やす必要がある。一方で、下限を下回った場合、余分なライト領域があるということなので、ライト領域を削減し、開放する。開放した場合、その領域を他の用途、ユーザ領域や代替ブロック用として使ってもよい。
図16は、管理コンソール250が、リクラメーション回数からライト領域の増減設をアラートする処理を示すフローチャートである。以下にその手順を説明する。
ステップS1601において、管理コンソール250は、リクラメーション割合が、上限値を超えてないか確認する。上限値は、AP設定割合フィールド1507に上限値が定義されている場合その値を用い、定義されていない場合はリクラメーション閾値(上限値)部1510のリクラメーション閾値を使用する。上限値を超えている場合(S1601:YES)、処理はステップ1602に進み、設定値を超えていない場合は(S1601:NO)、処理はステップ1603に進む。
ステップS1602において、管理コンソール250は、管理者に増設要求をSNMP、メール、SMS等の通信手段で管理者に通知する。この際、GUIには、増設を示すボタンがアラート1508に表示される。
ステップ1603において、管理コンソール250は、リクラメーション割合が、下限値を超えてないか確認する。下限値は、AP設定割合部1507の下限値が定義されている場合その値を用いて、定義されていない場合はリクラメーション閾値(下限値)1509を使用する。下限値を下回っている場合、処理はステップS1603に進み、設定値を下回っていない場合は、処理を終了する。
なお、アラート処理は、日々、数時間毎など定期的に起動され、計算機システム1の正常な稼動を確認する。また、リラクメーション動作時に確認してもよい。
図17は、管理コンソール250で表示されるGUIを示す図である。
領域管理の画面1700は、RAIDグループ番号(RG♯)を表示するフィールド1701、FM−PK番号を表示するフィールド1702、ユーザ領域を表示するフィールド1703、ライト領域を表示するフィールド1704、代替領域を表示するフィールド1705を示している。先に示したように、もし、FM−PK間で容量の差異が有る場合、本第1の実施形態では、容量が最小な物にあわせてアドレス領域を管理する。
また、RAIDグループ作成時には、RG作成ボタン1751を押すと、新規のRG番が作成される。RAIDグループを削除する場合には、各RG番号のRG削除ボタン1752を押すことによって削除する。RAIDグループに対して、FM−PKを割当てる場合、希望するRAID Type1710を選択することで必要なFM−PK(例えば、RAID5で3D+1Pの場合、4つのFM−PKが選択される)が空きFM−PK1720リストから選択チェックボックス1721で選択される。
空きFM−PKのリストは、選択されるFM−PKを表示するフィールド1721、FM−PK番号(FM−PK#)を表示するフィールド1722、FM−PKの開始アドレス位置を表示するフィールド1723、終了アドレス位置を表示するフィールド1724から構成される。
領域割合1730のスライドバー1731(ユーザ領域とライト領域を区切る)、1732(ライト領域と代替領域を区切る)で選択後、管理者が追加ボタン1753を押すことで、チェックボックス1701で選択したRAIDグループに追加される。
なお、スライドバー1731と1732を重ね、ライト領域を0%にした場合、管理コンソール250は、エラーとして処理を戻す。理由は、ライト領域を0%とした場合、ライト領域を保管する領域がなくなるためである。もし、0%を実現する場合、ライト時の動作がブロック単位のリード・モディファイ・ライトにすることでデータにアクセスは可能だが、ライト時の動作はブロック単位でキャッシュメモリ213上にリード後、ホスト100からのライトデータでキャッシュメモリ213上のデータを上書き後、フラッシュメモリチップの元ブロックを消去、データをライトすることになる。
次に、図16のステップ1603で管理者に通知したライト領域開放要求時に手順と動作を示す。管理者が、図17の各FM−PKの列を選択することで、割合1730がその列の割合を表示する。管理者が、スライドバー1731、1732をライト領域1734に関して縮小する方向で動かしたときのライト領域の割合に従って、開放の動作を行う。図18は、管理コンソール250が開放処理を行うときのフローチャートを示している。
ステップS1801において管理コンソール250は、削減調整した後のライト領域のアドレス空間内に、未処理分のリクラメーションデータが残っている場合、すなわち、更新後のライト領域が、ブロックブロック番号1002とポインタブロック番号1003間に収まっている場合(S1801:YES)、処理はステップS18043進む。収まっていない場合(S1801:NO)、処理はステップS1802に進む。
ステップS1802において、管理コンソール250は、リクラメーション処理を実施する。具体的には、図14の処理のうちステップS1402、S1404、S1405を処理する。ステップS1802のリクラメーション処理内でライト停止運用をしているため、ライト領域の追記停止の処理を別に設ける必要はない。
ステップ1803において、管理コンソール250は新領域のライト領域を該当するFM−PK番号のライト領域を更新する。各LDEV番号フィールド801も、開始アドレスフィールド803、割当てページ数フィールド804を更新する。以上で、処理を終了する。開放された領域は、空き領域として管理され、ユーザ領域、すなわちLDEV用に用いてもよいし、代替領域として利用してもよい。
この第1の実施形態による計算機システム1によると、アプリケーションやホスト計算機単位でライト領域を効率的に割り当てることが可能となる。
また、リクラメーション時の頻度を上限値の閾値でモニタリングすることで、消去回数が頻度に発生していることから、ライト領域不足を判断し、フラッシュメモリの増設を指示、フラッシュメモリを増設後、ライト領域を拡大することで消去回数の適正化し性能劣化を抑えることができる。さらには、フラッシュメモリ特有の消去回数から起因するメディアの劣化を、リクラメーション回数を抑えたことで、延命することができる。
また、リクラメーション時の頻度を下限値の閾値でモニタリングすることで、消去回数が余り発生していない場合、ライト領域過剰として判断し、ライト領域を縮小することで、消去回数の適正化、無駄なライト領域を削減することが可能となる。
(第2の実施形態)
次に第2の実施形態について説明する。第1の実施形態は、FM−PK内に、必ずユーザ領域を割当てる構成を考えたが、本第2の実施形態は、FM−PK毎にユーザ領域、ライト領域とを分けて利用する形態を考える。この構成のメリットは、ユーザ領域とライト領域が分離することによって、ライト性能に応じて、FM−PK単位で追加・削除できる点である。なお、本第2の実施形態では、代替領域は、ユーザ領域のFM−PK、ライト領域のFM−PKそれぞれに準備してあるが、独立したFM−PKに準備してもよい。
次に計算機システムの構成について説明する。第2の実施形態における計算機システムの構成は、第1の実施形態の計算機システム1と同一の構成については同一の符号を付して説明は省略することとし、以下では第1の実施形態と第2の実施形態との構成及び作用の差異を中心に説明する。この第2の実施形態は、既述の図6で説明したメモリ(FM−PK)の使い方が異なっている。
図19は、メモリ(FM−PK)の各領域のイメージを示す図である。第1の実施形態の場合と同様にFM−PK♯1〜♯8で一つのRAIDグループを形成し、FM−PK♯1,♯5間の連結を行うことで、一つのデバイスとして扱っている。異なる点は、ユーザ領域1901が、FM−PK♯1〜FM−PK♯4の列でまとめられ、ライト領域1903はFM−PK♯5〜FM−PK♯9でまとめられている点である。
次に本第2の実施形態における計算機システム1の動作について説明する。第1の実施形態と異なる点は、図20に示す領域管理の画面1700において、各RAIDから構成される列において、ライト列に関して削除ボタン1801が追加されるとともに、割合1730においてユーザ領域及びライト領域がユーザ、もしくは、ライト領域となり、このユーザ、もしくは、ライト領域と代替領域とをスライドバー1804で分けるように構成されている。
管理者が、削除ボタン1801を押した後、図18で示したライト領域の縮小処理が実施される。この際、新たなライト領域は、残りのFM−PKのうちライト領域を持つFM−PKに限られる。FM−PK内のライト領域が全削除された後、そのFM−PKはフラッシュメモリアダプタ220から抜くことができる。この際、図21のような、フラッシュメモリアダプタ220上のFM−PKスロット2111から外すことができる。各FM−PKに対応するLED2113,2114は、で挿抜可能なFM−PKであるか否かを示している。LED2113はFM−PKが脱着可能であることを示し、LED2114は脱着不可であることを示している。この表示により管理者は容易に減設できるFM−PKを見つけることができる。
本第2の実施形態の計算機システム1によると、ユーザ領域とライト領域が分離することによって、ライト性能に応じて、FM−PK単位で追加・削除できる。
本発明は、ストレージ装置、その記憶領域管理方法及びフラッシュメモリパッケージに広く適用することができる。
本発明に係わる第1の実施形態における計算機システムの構成の一例を示す図である。 同第1の実施形態における計算機システムの論理構成例を示す図である。 同第1の実施形態におけるFM−アドレステーブルの例を示す図である。 同第1の実施形態におけるFM−PKを用いたRAID構成テーブルの例を示す図である。 同第1の実施形態におけるFM−PKに対するユーザ・ライト・代替BLK領域テーブルの例を示す図である。 同第1の実施形態におけるFM−PKを用いたRAID構成の中に構成された各領域のイメージ図である。 同第1の実施形態における各LDEVに割り当てられたライト領域の例を示す図である。 同第1の実施形態における論理デバイスの構成と性能情報を示すテーブルの例である。 同第1の実施形態における論理デバイスに対するライト領域の割当て済みページ数と使用済みページ数、そして、リクラメーション頻度を示すテーブル例である。 同第1の実施形態におけるポート、LU、LDEV間のマッピングテーブル例である。 同第1の実施形態におけるLDEVに対するライト領域におけるページ管理表の一例である。 同第1の実施形態におけるFM−PKに対して、RAID構成、並びに、各種領域を割当てる手順である。 同第1の実施形態におけるライトI/Oのフローチャート例である。 同第1の実施形態におけるリードI/Oのフローチャート例である。 同第1の実施形態におけるリクラメーション処理のフローチャート例である。 同第1の実施形態における論理デバイスに対するライト領域の管理GUIの例である。 同第1の実施形態における管理コンソールが、リクラメーション回数からライト領域の増減設をアラートするフローチャート例である。 同第1の実施形態における各種領域を割当てる際に使用するGUIの例である。 本発明に係わる第2の実施形態におけるライト領域を削減する処理のフローチャートの例である。 同第2の実施形態におけるFM−PKを用いたRAID構成の中に構成された各領域のイメージ図である。 同第2の実施形態におけるライト領域の管理GUIの例である。 同第2の実施形態におけるFM−PKのスロットと脱着可否を示すLED例を示した図である。
符号の説明
1…計算機システム、100…ホスト計算機(ホスト)、200…ストレージ装置、コントローラ210、211…MPU、221…フラッシュメモリパッケージ(FM−PK)、250…管理コンソール、251…FM−PK管理部、252…ユーザ領域、253…ライト領域、254…代替領域、262…I/O処理部

Claims (20)

  1. 一つ以上のホスト計算機から送信されたデータを記憶するストレージ装置において、
    複数のフラッシュメモリチップを備えた一つ以上のフラッシュメモリパッケージを有し、
    前記一つ以上のフラッシュメモリパッケージにより提供される記憶領域は、一つの以上の論理デバイスから構成される実データを記憶する領域である第1の領域と、前記論理デバイスに対する前記ホスト計算機のライト命令を保管する領域である第2の領域とを前記一つ以上のフラッシュメモリパッケージ毎に有し、
    前記ホスト計算機からのライト命令の頻度を監視する監視部と、
    前記ライト命令の頻度に応じて、前記第2の領域のサイズを変更する変更部とを備える、
    ことを特徴とするストレージ装置。
  2. 前記変更部の前記第2の領域のサイズの変更は、前記論理デバイス毎に変更する、
    ことを特徴とする請求項1記載のストレージ装置。
  3. 前記第2の領域に空き領域がないときは、前記ライト命令を前記第2の領域に上書きする処理部を備える、
    ことを特徴とする請求項1記載のストレージ装置。
  4. 前記上書きする頻度を監視し、所定の頻度の範囲のうちの上限値を超えた場合に前記第2の領域の追加の要求を、管理装置へ出力する追加要求出力部を備える、
    ことを特徴とする請求項3記載のストレージ装置。
  5. 前記管理装置から前記上限値の設定を変更する指示を取得する取得部を備える、
    ことを特徴とする請求項4記載のストレージ装置。
  6. 前記ホスト計算機のいずれかから前記上限値の設定を変更する指示を取得する取得部を備える、
    ことを特徴とする請求項4記載のストレージ装置。
  7. 前記上書きする頻度を監視し、所定の頻度の範囲のうちの下限値を下回った場合に前記第2の領域の削減の要求を、管理装置へ出力する削減要求出力部を備える、
    ことを特徴とする請求項3記載のストレージ装置。
  8. 前記管理装置から前記下限値の設定を変更する指示を取得する取得部を備える、
    ことを特徴とする請求項7記載のストレージ装置。
  9. 前記ホスト計算機のいずれかから前記下限値の設定を変更する指示を取得する取得部を備える、
    ことを特徴とする請求項7記載のストレージ装置。
  10. 前記処理部は、前記第2の領域の削減時に、削減前の第2の領域の範囲と削減後の第2の領域の範囲とを比較し、前記削減前の領域範囲が前記削減後の領域範囲内でない場合は前記削減前の領域範囲に上書きし、前記削減前の領域範囲が前記削減後の領域範囲内である場合は上書きを行なわない、
    ことを特徴とする請求項7記載のストレージ装置。
  11. 前記第2の領域の削減時に、前記フラッシュメモリパッケージ全体を前記記憶領域から削減した場合その削減したフラッシュメモリパッケージの位置を表示する表示部を備える、
    ことを特徴とする請求項10記載のストレージ装置。
  12. 前記一つ以上のフラッシュメモリパッケージは、RAID(Redundant Arrays of Inexpensive Disks)グループを構成する、
    ことを特徴とする請求項1記載のストレージ装置。
  13. 一つ以上のホスト計算機から送信されたデータを記憶するストレージ装置の記憶領域管理方法において、
    複数のフラッシュメモリチップを備えた一つ以上のフラッシュメモリパッケージにより提供される記憶領域は、一つの以上の論理デバイスから構成される実データを記憶する領域である第1の領域と、前記論理デバイスに対する前記ホスト計算機のライト命令を保管する領域である第2の領域とを前記一つ以上のフラッシュメモリパッケージ毎に有し、
    前記ホスト計算機からのライト命令の頻度を監視するステップと、
    前記ライト命令の頻度に応じて、前記第2の領域のサイズを変更するステップと、
    を含むことを特徴とするストレージ装置の記憶領域管理方法。
  14. 前記第2の領域のサイズの変更するステップは、前記論理デバイス毎に変更できる、
    ことを特徴とする請求項13記載のストレージ装置の記憶領域管理方法。
  15. 前記第2の領域に空き領域がないときは、前記ライト命令を前記第2の領域に上書きするステップを含む、
    ことを特徴とする請求項13記載のストレージ装置の記憶領域管理方法。
  16. 前記上書きするデータの頻度を監視し、所定の頻度の範囲のうちの上限値を超えた場合に前記第2の領域の追加の要求を、管理装置へ出力するステップを含む、
    ことを特徴とする請求項15記載のストレージ装置の記憶領域管理方法。
  17. 前記上書きするデータの頻度を監視し、所定の頻度の範囲のうちの下限値を下回った場合に前記第2の領域の削減の要求を、管理装置へ出力する、
    ことを特徴とする請求項15記載のストレージ装置の記憶領域管理方法。
  18. 前記一つ以上のフラッシュメモリパッケージは、RAIDグループを構成する、
    ことを特徴とする請求項13記載のストレージ装置の記憶領域管理方法。
  19. 一つ以上のホスト計算機から送信されたデータを記憶するストレージ装置に用いられる、複数のフラッシュメモリチップを備えたフラッシュメモリパッケージは、
    一つの以上の論理デバイスから構成される実データを記憶する領域である第1の領域と、前記論理デバイスに対する前記ホスト計算機のライト命令を保管する領域である第2の領域とを有し、
    前記ストレージ装置により監視された前記ライト命令の頻度に応じて、前記第2の領域のサイズを変更する、
    ことを特徴とするフラッシュメモリパッケージ。
  20. 一つ以上のホスト計算機から送信されたデータを記憶するストレージ装置において、
    複数のフラッシュメモリチップを備えた一つ以上のフラッシュメモリパッケージを有し、
    前記一つ以上のフラッシュメモリパッケージにより提供される記憶領域は、一つの以上の論理デバイスから構成される実データを記憶する領域である第1の領域と、前記論理デバイスに対する前記ホスト計算機のライト命令を保管する領域である第2の領域とを前記一つ以上のフラッシュメモリパッケージ毎に有し、
    前記第2の領域に保管されたデータを所定のメモリ上で上書き後、前記第1の領域にデータを書き出すリクラメーション処理を実行するリクラメーション処理部と、
    前記リクラメーション処理を実行したときに、前記第1の領域と前記第2の領域との割合に変更があるか否かを判定する判定部と、
    前記判定部で変更ありと判定したときに、前記第1の領域と前記第2の領域との割合を再設定する設定部とを備える、
    ことを特徴とするストレージ装置。
JP2008195654A 2008-07-30 2008-07-30 ストレージ装置、その記憶領域管理方法及びフラッシュメモリパッケージ Expired - Fee Related JP5216463B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2008195654A JP5216463B2 (ja) 2008-07-30 2008-07-30 ストレージ装置、その記憶領域管理方法及びフラッシュメモリパッケージ
US12/248,124 US8127103B2 (en) 2008-07-30 2008-10-09 Storage apparatus, memory area managing method thereof, and flash memory package
EP09251234A EP2151748A3 (en) 2008-07-30 2009-04-30 Storage apparatus, memory area managing method thereof, and flash memory package
US13/405,403 US20120159053A1 (en) 2008-07-30 2012-02-27 Storage apparatus, memory area managing method thereof, and flash memory package

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008195654A JP5216463B2 (ja) 2008-07-30 2008-07-30 ストレージ装置、その記憶領域管理方法及びフラッシュメモリパッケージ

Publications (2)

Publication Number Publication Date
JP2010033393A true JP2010033393A (ja) 2010-02-12
JP5216463B2 JP5216463B2 (ja) 2013-06-19

Family

ID=41258176

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008195654A Expired - Fee Related JP5216463B2 (ja) 2008-07-30 2008-07-30 ストレージ装置、その記憶領域管理方法及びフラッシュメモリパッケージ

Country Status (3)

Country Link
US (2) US8127103B2 (ja)
EP (1) EP2151748A3 (ja)
JP (1) JP5216463B2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012089010A (ja) * 2010-10-21 2012-05-10 Toshiba Corp メモリ制御装置、記憶装置、及びメモリ制御方法
JP2013533466A (ja) * 2010-05-28 2013-08-22 アドバンテスト (シンガポール) プライベート リミテッド Dutをフルスピードで並列に試験する方法
WO2014196000A1 (ja) * 2013-06-03 2014-12-11 株式会社日立製作所 ストレージ装置およびストレージ装置制御方法
US9817768B2 (en) 2013-10-10 2017-11-14 Hitachi, Ltd. Storage system and data storing method

Families Citing this family (61)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008070814A2 (en) 2006-12-06 2008-06-12 Fusion Multisystems, Inc. (Dba Fusion-Io) Apparatus, system, and method for a scalable, composite, reconfigurable backplane
US8443134B2 (en) 2006-12-06 2013-05-14 Fusion-Io, Inc. Apparatus, system, and method for graceful cache device degradation
US8706968B2 (en) 2007-12-06 2014-04-22 Fusion-Io, Inc. Apparatus, system, and method for redundant write caching
US9104599B2 (en) 2007-12-06 2015-08-11 Intelligent Intellectual Property Holdings 2 Llc Apparatus, system, and method for destaging cached data
US8489817B2 (en) 2007-12-06 2013-07-16 Fusion-Io, Inc. Apparatus, system, and method for caching data
US9519540B2 (en) 2007-12-06 2016-12-13 Sandisk Technologies Llc Apparatus, system, and method for destaging cached data
US7836226B2 (en) 2007-12-06 2010-11-16 Fusion-Io, Inc. Apparatus, system, and method for coordinating storage requests in a multi-processor/multi-thread environment
US8762621B2 (en) * 2008-10-28 2014-06-24 Micron Technology, Inc. Logical unit operation
JP5999645B2 (ja) * 2009-09-08 2016-10-05 ロンギチュード エンタープライズ フラッシュ エスエイアールエル ソリッドステート記憶デバイス上にデータをキャッシングするための装置、システム、および方法
US9122579B2 (en) 2010-01-06 2015-09-01 Intelligent Intellectual Property Holdings 2 Llc Apparatus, system, and method for a storage layer
EP2476079A4 (en) 2009-09-09 2013-07-03 Fusion Io Inc APPARATUS, SYSTEM, AND METHOD FOR STORAGE ALLOCATION
US8341340B2 (en) 2010-07-21 2012-12-25 Seagate Technology Llc Multi-tier address mapping in flash memory
WO2012083308A2 (en) 2010-12-17 2012-06-21 Fusion-Io, Inc. Apparatus, system, and method for persistent data management on a non-volatile storage media
US8966184B2 (en) 2011-01-31 2015-02-24 Intelligent Intellectual Property Holdings 2, LLC. Apparatus, system, and method for managing eviction of data
US8874823B2 (en) 2011-02-15 2014-10-28 Intellectual Property Holdings 2 Llc Systems and methods for managing data input/output operations
US9201677B2 (en) 2011-05-23 2015-12-01 Intelligent Intellectual Property Holdings 2 Llc Managing data input/output operations
US9003104B2 (en) 2011-02-15 2015-04-07 Intelligent Intellectual Property Holdings 2 Llc Systems and methods for a file-level cache
WO2012116369A2 (en) 2011-02-25 2012-08-30 Fusion-Io, Inc. Apparatus, system, and method for managing contents of a cache
US9563555B2 (en) 2011-03-18 2017-02-07 Sandisk Technologies Llc Systems and methods for storage allocation
WO2012129191A2 (en) 2011-03-18 2012-09-27 Fusion-Io, Inc. Logical interfaces for contextual storage
US8806108B2 (en) * 2011-06-07 2014-08-12 Hitachi, Ltd. Semiconductor storage apparatus and method of controlling semiconductor storage apparatus
JP5750513B2 (ja) 2011-09-30 2015-07-22 株式会社日立製作所 不揮発半導体記憶媒体を有するストレージシステム
US9274937B2 (en) 2011-12-22 2016-03-01 Longitude Enterprise Flash S.A.R.L. Systems, methods, and interfaces for vector input/output operations
US10102117B2 (en) 2012-01-12 2018-10-16 Sandisk Technologies Llc Systems and methods for cache and storage device coordination
US9251052B2 (en) 2012-01-12 2016-02-02 Intelligent Intellectual Property Holdings 2 Llc Systems and methods for profiling a non-volatile cache having a logical-to-physical translation layer
US9767032B2 (en) 2012-01-12 2017-09-19 Sandisk Technologies Llc Systems and methods for cache endurance
US8782344B2 (en) 2012-01-12 2014-07-15 Fusion-Io, Inc. Systems and methods for managing cache admission
US9251086B2 (en) 2012-01-24 2016-02-02 SanDisk Technologies, Inc. Apparatus, system, and method for managing a cache
US10359972B2 (en) 2012-08-31 2019-07-23 Sandisk Technologies Llc Systems, methods, and interfaces for adaptive persistence
US9116812B2 (en) 2012-01-27 2015-08-25 Intelligent Intellectual Property Holdings 2 Llc Systems and methods for a de-duplication cache
US10019353B2 (en) 2012-03-02 2018-07-10 Longitude Enterprise Flash S.A.R.L. Systems and methods for referencing data on a storage medium
WO2013145029A1 (en) * 2012-03-30 2013-10-03 Hitachi, Ltd. Data storage system and control method therefor
US9507524B1 (en) 2012-06-15 2016-11-29 Qlogic, Corporation In-band management using an intelligent adapter and methods thereof
US10339056B2 (en) 2012-07-03 2019-07-02 Sandisk Technologies Llc Systems, methods and apparatus for cache transfers
US9612966B2 (en) 2012-07-03 2017-04-04 Sandisk Technologies Llc Systems, methods and apparatus for a virtual machine cache
US9690695B2 (en) * 2012-09-20 2017-06-27 Silicon Motion, Inc. Data storage device and flash memory control method thereof
US10318495B2 (en) 2012-09-24 2019-06-11 Sandisk Technologies Llc Snapshots for a non-volatile device
US10509776B2 (en) 2012-09-24 2019-12-17 Sandisk Technologies Llc Time sequence data management
US20150242134A1 (en) * 2012-10-22 2015-08-27 Hitachi, Ltd. Method and computer system to allocate actual memory area from storage pool to virtual volume
US9652376B2 (en) 2013-01-28 2017-05-16 Radian Memory Systems, Inc. Cooperative flash memory control
US10445229B1 (en) 2013-01-28 2019-10-15 Radian Memory Systems, Inc. Memory controller with at least one address segment defined for which data is striped across flash memory dies, with a common address offset being used to obtain physical addresses for the data in each of the dies
US11249652B1 (en) 2013-01-28 2022-02-15 Radian Memory Systems, Inc. Maintenance of nonvolatile memory on host selected namespaces by a common memory controller
US9842053B2 (en) 2013-03-15 2017-12-12 Sandisk Technologies Llc Systems and methods for persistent cache logging
US10558561B2 (en) 2013-04-16 2020-02-11 Sandisk Technologies Llc Systems and methods for storage metadata management
US10102144B2 (en) 2013-04-16 2018-10-16 Sandisk Technologies Llc Systems, methods and interfaces for data virtualization
US9785545B2 (en) * 2013-07-15 2017-10-10 Cnex Labs, Inc. Method and apparatus for providing dual memory access to non-volatile memory
US9842128B2 (en) 2013-08-01 2017-12-12 Sandisk Technologies Llc Systems and methods for atomic storage operations
US10019320B2 (en) 2013-10-18 2018-07-10 Sandisk Technologies Llc Systems and methods for distributed atomic storage operations
US10073630B2 (en) 2013-11-08 2018-09-11 Sandisk Technologies Llc Systems and methods for log coordination
US9454305B1 (en) 2014-01-27 2016-09-27 Qlogic, Corporation Method and system for managing storage reservation
JP6307962B2 (ja) * 2014-03-19 2018-04-11 日本電気株式会社 情報処理システム、情報処理方法、及び、情報処理プログラム
US9423980B1 (en) 2014-06-12 2016-08-23 Qlogic, Corporation Methods and systems for automatically adding intelligent storage adapters to a cluster
US9436654B1 (en) 2014-06-23 2016-09-06 Qlogic, Corporation Methods and systems for processing task management functions in a cluster having an intelligent storage adapter
US9477424B1 (en) 2014-07-23 2016-10-25 Qlogic, Corporation Methods and systems for using an intelligent storage adapter for replication in a clustered environment
US9542118B1 (en) 2014-09-09 2017-01-10 Radian Memory Systems, Inc. Expositive flash memory control
US9460017B1 (en) 2014-09-26 2016-10-04 Qlogic, Corporation Methods and systems for efficient cache mirroring
US9483207B1 (en) 2015-01-09 2016-11-01 Qlogic, Corporation Methods and systems for efficient caching using an intelligent storage adapter
US9946607B2 (en) 2015-03-04 2018-04-17 Sandisk Technologies Llc Systems and methods for storage error management
US10423362B2 (en) * 2015-11-30 2019-09-24 International Business Machines Corporation Utilizing multiple dispersal algorithms to encode data for storage in a dispersed storage network
US10599838B2 (en) * 2017-05-08 2020-03-24 Micron Technology, Inc. Crypto-ransomware compromise detection
CN112559388B (zh) * 2020-12-14 2022-07-12 杭州宏杉科技股份有限公司 数据缓存方法及装置

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08235076A (ja) * 1994-11-10 1996-09-13 Raymond Eng Inc 半導体メモリ素子の冗長アレイ
JP2001184176A (ja) * 1999-12-27 2001-07-06 Toshiba Corp ディスク制御装置
US20020097594A1 (en) * 2000-11-30 2002-07-25 Bruce Ricardo H. Parallel erase operations in memory systems
JP2003162439A (ja) * 2001-11-22 2003-06-06 Hitachi Ltd ストレージシステム及びその制御方法
JP2005242897A (ja) * 2004-02-27 2005-09-08 Oki Electric Ind Co Ltd フラッシュディスク装置
JP2006252031A (ja) * 2005-03-09 2006-09-21 Nec Corp ディスクアレイコントローラ
JP2006318246A (ja) * 2005-05-13 2006-11-24 Fujitsu Ltd 記憶制御方法、プログラム及び装置
JP2008003932A (ja) * 2006-06-23 2008-01-10 Sony Corp データ記憶装置、データ記憶方法およびコンピュータプログラム
US20080104309A1 (en) * 2006-10-30 2008-05-01 Cheon Won-Moon Flash memory device with multi-level cells and method of writing data therein

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5179662A (en) * 1989-08-31 1993-01-12 International Business Machines Corporation Optimized i/o buffers having the ability to increase or decrease in size to meet system requirements
US6067635A (en) * 1995-10-27 2000-05-23 Lsi Logic Corporation Preservation of data integrity in a raid storage device
JPH11273243A (ja) * 1998-03-20 1999-10-08 Toshiba Corp ディスク装置及び同装置に適用されるライトバッファ制御方法
US6988145B2 (en) * 2001-01-24 2006-01-17 International Business Machines Corporation Method, system, and program for managing client access to a shared resource
JP2003030047A (ja) * 2001-07-16 2003-01-31 Fujitsu Ltd キャッシュ装置およびキャッシュ方法
JP4704659B2 (ja) * 2002-04-26 2011-06-15 株式会社日立製作所 記憶装置システムの制御方法および記憶制御装置
US7039788B1 (en) * 2002-10-28 2006-05-02 Sandisk Corporation Method and apparatus for splitting a logical block
US20050050111A1 (en) * 2003-08-01 2005-03-03 Sensnovis Andrej A. Digital data archiving apparatus
US7609708B2 (en) * 2005-10-04 2009-10-27 Intel Corporation Dynamic buffer configuration
JP2007156597A (ja) * 2005-12-01 2007-06-21 Hitachi Ltd ストレージ装置
US20070226401A1 (en) * 2006-03-21 2007-09-27 Pa-Chung Huang Data accessing structure and method for flash memory
JP2008033412A (ja) * 2006-07-26 2008-02-14 Hitachi Ltd 計算機システムの性能管理方法、管理計算機、及びストレージ装置
US7904672B2 (en) * 2006-12-08 2011-03-08 Sandforce, Inc. System and method for providing data redundancy after reducing memory writes
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
US7596643B2 (en) * 2007-02-07 2009-09-29 Siliconsystems, Inc. Storage subsystem with configurable buffer
JP2008195654A (ja) 2007-02-14 2008-08-28 Mitsubishi Tanabe Pharma Corp ベンゾ[b]フラン化合物の新規結晶形

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08235076A (ja) * 1994-11-10 1996-09-13 Raymond Eng Inc 半導体メモリ素子の冗長アレイ
JP2001184176A (ja) * 1999-12-27 2001-07-06 Toshiba Corp ディスク制御装置
US20020097594A1 (en) * 2000-11-30 2002-07-25 Bruce Ricardo H. Parallel erase operations in memory systems
JP2003162439A (ja) * 2001-11-22 2003-06-06 Hitachi Ltd ストレージシステム及びその制御方法
JP2005242897A (ja) * 2004-02-27 2005-09-08 Oki Electric Ind Co Ltd フラッシュディスク装置
JP2006252031A (ja) * 2005-03-09 2006-09-21 Nec Corp ディスクアレイコントローラ
JP2006318246A (ja) * 2005-05-13 2006-11-24 Fujitsu Ltd 記憶制御方法、プログラム及び装置
JP2008003932A (ja) * 2006-06-23 2008-01-10 Sony Corp データ記憶装置、データ記憶方法およびコンピュータプログラム
US20080104309A1 (en) * 2006-10-30 2008-05-01 Cheon Won-Moon Flash memory device with multi-level cells and method of writing data therein

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013533466A (ja) * 2010-05-28 2013-08-22 アドバンテスト (シンガポール) プライベート リミテッド Dutをフルスピードで並列に試験する方法
JP2012089010A (ja) * 2010-10-21 2012-05-10 Toshiba Corp メモリ制御装置、記憶装置、及びメモリ制御方法
US9304952B2 (en) 2010-10-21 2016-04-05 Kabushiki Kaisha Toshiba Memory control device, storage device, and memory control method
WO2014196000A1 (ja) * 2013-06-03 2014-12-11 株式会社日立製作所 ストレージ装置およびストレージ装置制御方法
US9817768B2 (en) 2013-10-10 2017-11-14 Hitachi, Ltd. Storage system and data storing method

Also Published As

Publication number Publication date
US20120159053A1 (en) 2012-06-21
EP2151748A3 (en) 2012-05-02
JP5216463B2 (ja) 2013-06-19
US8127103B2 (en) 2012-02-28
EP2151748A2 (en) 2010-02-10
US20100030946A1 (en) 2010-02-04

Similar Documents

Publication Publication Date Title
JP5216463B2 (ja) ストレージ装置、その記憶領域管理方法及びフラッシュメモリパッケージ
US8555029B2 (en) Virtualized storage system and method of operating thereof
US9152332B2 (en) Storage system and method for reducing energy consumption
JP5112003B2 (ja) ストレージ装置及びこれを用いたデータ格納方法
EP2319047B1 (en) Multiple performance mode memory system
TWI810363B (zh) 使用乙太網路驅動器和乙太網路開放通道驅動器儲存資料的系統與方法
JP6007332B2 (ja) ストレージシステム及びデータライト方法
JP5816303B2 (ja) フラッシュメモリを含むストレージシステム、及び記憶制御方法
JP2007156667A (ja) ストレージ装置及びその容量管理方法
US9967423B2 (en) Image forming apparatus and method for controlling image forming apparatus
JP2017091546A (ja) 多重モード動作のための多重パーティションを含む格納装置、及びその動作方法
JP2014524601A (ja) リモートコピーシステム、及びリモートコピー制御方法
JP2010282281A (ja) ディスクアレイ装置、及びその制御方法、並びにプログラム
US8612776B2 (en) Storage control apparatus to which thin provisioning is applied
JP2010271808A (ja) ストレージ装置及びデータコピー方法
WO2015087417A1 (ja) ストレージ装置及び制御方法
US8943359B2 (en) Common hot spare for multiple RAID groups
US11899533B2 (en) Stripe reassembling method in storage system and stripe server
JP2015518586A (ja) ストレージ装置及びデータ管理方法
JP2005202942A (ja) 情報記録媒体、データ処理装置及びデータ処理方法
JP6636159B2 (ja) ストレージ装置
WO2014087497A1 (ja) ストレージ装置及びその制御方法
JP7261756B2 (ja) ストレージシステム、処理方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110118

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120426

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120619

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120820

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130304

R150 Certificate of patent or registration of utility model

Ref document number: 5216463

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20160308

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees