JP2020038475A - ストレージ制御装置およびストレージ制御プログラム - Google Patents
ストレージ制御装置およびストレージ制御プログラム Download PDFInfo
- Publication number
- JP2020038475A JP2020038475A JP2018165053A JP2018165053A JP2020038475A JP 2020038475 A JP2020038475 A JP 2020038475A JP 2018165053 A JP2018165053 A JP 2018165053A JP 2018165053 A JP2018165053 A JP 2018165053A JP 2020038475 A JP2020038475 A JP 2020038475A
- Authority
- JP
- Japan
- Prior art keywords
- multiplicity
- storage device
- storage
- logical format
- input
- 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.)
- Withdrawn
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4027—Coupling between buses using bus bridges
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0632—Configuration or reconfiguration of storage systems by initialisation or re-initialisation of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0644—Management of space entities, e.g. partitions, extents, pools
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0653—Monitoring storage devices or systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0689—Disk arrays, e.g. RAID, JBOD
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0026—PCI express
Abstract
【課題】入出力性能に影響させずに記憶装置の論理フォーマットを高速化する。【解決手段】記憶装置31の入出力性能を取得する入出力性能取得部12と、取得した入出力性能の変化に応じて、記憶装置31の記憶領域の論理フォーマットの多重度を決定する多重度決定部12と、決定された多重度に応じた複数の論理フォーマットコマンドを記憶装置31に対して並行して発行するコマンド発行部14とを備える。【選択図】図1
Description
本発明は、ストレージ制御装置およびストレージ制御プログラムに関する。
ストレージ装置においては、HDD(Hard Disk Drive)やSSD(Solid State Drive)等の記憶装置を使用するために、CM(Controller Module)が、その記憶領域に0をライトするフォーマット(初期化処理)を行なう。
また、CMは、記憶媒体のフォーマットを行なうに際して、記憶媒体にBCC(Block Check Code)を書き込む論理フォーマット(LF:Logical Format)を行なう。
図5はデータブロックの構成を示す図である。
この図5に示すデータブロックは、512Byteのデータ(Data)に8ByteのBCCを付加することで構成される。BCCは論理的なデータブロックの正当性を確認するための情報であり、データの異常を検出するための冗長コード(Block CRC)とデータブロックの論理的なデータ位置をチェックするための位置情報(Block ID)とを備える。なお、CRCは、Cyclic Redundancy Checkの略語であり、IDはidentificationの略語である。
CMは、記憶装置に対して単一のLFコマンドをシーケンシャルに発行することで論理フォーマットを実現する。すなわち、先に発行したLFコマンドの処理が完了すると、次のLFコマンドを発行することで、記憶装置のLFは行なわれる。
近年、記憶装置の大容量化が進んでおり、例えば、SSDにおいては、30TB,64TB,128TB等の容量を有するものも知られている。このような記憶装置の大容量化が進むにつれ、論理フォーマットに要する時間も増大するという課題がある。例えば、記憶装置の論理フォーマットに1週間以上かかることもある。
1つの側面では、本発明は、入出力性能に影響させずに記憶装置の論理フォーマットを高速化することを目的とする。
このため、このストレージ制御装置は、記憶装置を制御するストレージ制御装置において、前記記憶装置の入出力性能を取得する入出力性能取得部と、前記入出力性能取得部によって取得した前記入出力性能の変化に応じて、前記記憶装置の記憶領域の論理フォーマットの多重度を決定する多重度決定部と、前記多重度決定部によって決定された多重度に応じた複数の論理フォーマットコマンドを前記記憶装置に対して並行して発行するコマンド発行部とを備える。
一実施形態によれば、入出力性能に影響させずに記憶装置の論理フォーマットを高速化することができる。
以下、図面を参照して本ストレージ制御装置およびストレージ制御プログラムに係る実施の形態を説明する。ただし、以下に示す実施形態はあくまでも例示に過ぎず、実施形態で明示しない種々の変形例や技術の適用を排除する意図はない。すなわち、本実施形態を、その趣旨を逸脱しない範囲で種々変形して実施することができる。また、各図は、図中に示す構成要素のみを備えるという趣旨ではなく、他の機能等を含むことができる。
〔A〕構成
図1は実施形態の一例としてのストレージ装置1の構成を例示する図、図2はそのCM100のハードウェア構成を例示する図である。
図1は実施形態の一例としてのストレージ装置1の構成を例示する図、図2はそのCM100のハードウェア構成を例示する図である。
本ストレージ装置1は、ドライブエンクロージャ(Drive Enclosure:DE)30に格納された記憶装置31を仮想化して、仮想ストレージ環境を形成する。そして、ストレージ装置1は、仮想ボリュームを、上位装置であるホスト装置(サーバ)2に提供する。
本ストレージ装置1は、1以上(図1に示す例では1つ)のホスト装置2に対して通信可能に接続されている。ホスト装置2とストレージ装置1とは、後述するCA(Communication Adapter)101により接続されている。
ホスト装置2は、例えば、サーバ機能を備えた情報処理装置であり、本ストレージ装置1との間において、NAS(Network Attached Storage)やSAN(Storage Area Network)のコマンドを送受信する。ホスト装置2は、例えば、ストレージ装置1に対してリード/ライト等のストレージアクセスコマンドを送信することにより、ストレージ装置1が提供するボリュームにデータのライトまたはリードを行なう。
そして、本ストレージ装置1は、ホスト装置2からボリュームに対して行なわれる入出力要求(例えば、ライト要求やリード要求)に応じて、このボリュームに対応する記憶装置31に対して、データのリードやライト等の処理を行なう。なお、以下では、ホスト装置2からの入出力要求のことをI/O要求という場合がある。
本ストレージ装置1は、図1に示すように、1つ以上(図1に示す例では2つ)のCM100−1,100−2及び1つ以上(図2に示す例では2つ)のDE30−1,30−2を備える。
DE30−1,30−2は、1つ以上(図1に示す例では4つ)の記憶装置(物理ディスク)31を搭載し、これらの記憶装置31の記憶領域(実ボリューム,実ストレージ)を、本ストレージ装置1に対して提供する。
図1に示す例において、CM100−1にDE30−1が接続され、CM100−2にDE30−2が接続されている。
なお、以下、DEを示す符号としては、複数のDEのうち1つを特定する必要があるときには符号30−1,30−2を用いるが、任意のDEを指すときには符号30を用いる。
例えば、DE30は、複数段のスロット(図示省略)を備え、これらのスロットに、記憶装置31を装着することにより、実ボリューム容量を随時変更することができる。また、複数の記憶装置31を用いてRAID(Redundant Arrays of Inexpensive Disks)を構成することができる。
図1に示す例においては、DE30−1に搭載された4つの記憶装置31のうち2つを用いてRAID#1が構成され、残りの2つを用いてRAID#2が構成されている。また、DE30−2に搭載された4つの記憶装置31を用いてRAID#3が構成されている。
記憶装置31は、後述するメモリ106と比較すると容量の大きい、HDD,SSD等の記憶装置(ストレージ)であって、種々のデータを格納するものである。なお、以下では、記憶装置のことをドライブもしくはディスクという場合がある。
図2に示すように、DE30−1は、CM100−1のデバイスアダプタ(Device Adapter:DA)103,103と接続されている。同様に、DE30−2は、CM100−2のDA103,103と接続されている。
また、DE30−1はCM100−2のDA103,103ともそれぞれ接続されてもよく、DE30−2はCM100−1のDA103,103ともそれぞれ接続されてもよい。これにより、各DE30には、CM100−1,100−2のいずれからもアクセスして、データのライトやリードを行なうことができる。すなわち、DE30の各記憶装置31に対して、CM100−1,100−2のそれぞれを接続することにより、記憶装置31へのアクセス経路が冗長化される。
CM100−1,100−2は、ストレージ装置1内の動作を制御する制御装置(コントローラ,ストレージ制御装置)であり、ホスト装置2から送信されるI/O要求に従って、DE30の記憶装置31へのデータアクセス制御等、各種制御を行なう。又、CM100−1,100−2は互いに同様の構成を有している。以下、CMを示す符号としては、複数のCMのうち1つを特定する場合には符号100−1,100−2を用い、任意のCMを指すときには符号100を用いる。また、CM100−1をCM#1と、CM100−2をCM#2と、それぞれ表してもよい。
CM100−1,100−2は二重化されており、例えば、通常は、CM100−1(CM#1)がプライマリとして各種制御を行なう。しかし、プライマリCM100−1の故障時には、セカンダリのCM100−2(CM#2)がプライマリとしてCM100−1の動作を引き継ぐ。
CM100−1,100−2は、CA101を介してそれぞれホスト装置2に接続される。なお、各CM100に複数のCA101を備え、各CM100とホスト装置2との経路を冗長化してもよい。
CM100は、ホスト装置2から送信されるリード/ライト等のI/O要求を受信し、DA103等を介して記憶装置31の制御を行なう。すなわち、CM100は記憶装置31を制御するストレージ制御装置に相当する。
また、CM100−1,100−2は、図1に示すように、通信バス131を介して相互に通信可能に接続されている。すなわち、CM100−1,100−2はCM間通信を実現することができる。なお、通信バス131は、例えば、PCIe(Peripheral Component Interconnect Express)バスであってもよく、また、PCIe以外の規格のバスであってもよい。
CM100−1,100−2は、図示しないコントローラエンクロージャ(Controller Enclosure:CE)に搭載されてもよい。
CM100は、図2に示すように、CA101と複数(図2に示す例では2つ)のDA103,103とを備えるとともに、CPU(Central Processing Unit)110,メモリ106,不揮発性メモリ107およびIOC(Input Output Controller)108を備える。CA101,CPU110,メモリ106,不揮発性メモリ107,IOC108および各DA103は、例えばPCIeインタフェースを介して相互に通信可能に接続される。
CA101は、ホスト装置2等から送信されたデータを受信したり、CM100から出力するデータをホスト装置2等に送信したりするアダプタである。すなわち、CA101は、ホスト装置2等の外部装置との間でのデータの入出力を制御する。
CA101は、例えば、NASを介してホスト装置2と通信可能に接続するネットワークアダプタであり、例えば、LAN(Local Area Network)インタフェース等である。各CM100は、CA101により図示しない通信回線を介してホスト装置2等と接続され、I/O要求の受信やデータの送受信等を行なう。図2に示す例においては、CM100−1,100−2のそれぞれに1つのCA101が備えられている。
また、CA101は、SANを介してホスト装置2と通信可能に接続するネットワークアダプタであってもよい。すなわち、例えば、iSCSI(Internet Small Computer System Interface)インタフェースやFC(Fibre Channel)インタフェースであってもよい。各CM100は、CA101により図示しない通信回線を介してホスト装置2等と接続され、I/O要求の受信やデータの送受信等を行なってもよい。
DA103は、DE30や記憶装置31等と通信可能に接続するためのインタフェースである。DA103は、DE30の記憶装置31が接続され、各CM100は、ホスト装置2から受信したI/O要求に基づき、記憶装置31に対するアクセス制御を行なう。
各CM100は、DA103を介して、記憶装置31に対するデータのライトやリードを行なう。また、CM100−1,100−2のそれぞれに2つのDA103,103が備えられている。そして、CM100−1,100−2のそれぞれにおいて、各DA103にDE30が接続されている。
不揮発性メモリ107は、CPU110が実行するプログラムや種々のデータ等を格納する記憶装置である。
メモリ(メインメモリ)106は、種々のデータやプログラムを一時的に格納する記憶装置であり、ストレージ制御プログラムを格納するほか、キャッシュ領域を有する。ストレージ制御プログラムは、例えば、本実施形態の制御機能(例えば、図1に示すメモリ管理部11,LF制御部12,I/O制御部13,LF実行部14およびI/O実行部15としての機能)を実現すべくCPU110が実行するプログラムであり、メモリ106あるいは不揮発性メモリ107に保存される。キャッシュ領域は、ホスト装置2から受信したデータや、ホスト装置2に対して送信するデータを一時的に格納する。なお、メモリ106は、前述した記憶装置(ドライブ)31と比較するとアクセス速度は高速であるが容量の小さい、RAM(Random Access Memory)等である。
メモリ106は、CM100において、記憶装置31の記憶領域に論理フォーマット(LF)を行なう際に使用されるハードウェア資源である。
IOC108は、各CM100内におけるデータ転送を制御する制御装置であり、例えば、メモリ106に格納されたデータをCPU110を介することなく転送させるDMA(Direct Memory Access)転送を実現する。
CPU110は、種々の制御や演算を行なう処理装置であり、例えばマルチコアプロセッサ(マルチコアCPU)である。CPU110は、メモリ106,不揮発性メモリ107等に格納されたOS(Operating System)やプログラムを実行することにより、種々の機能を実現する。特に、本実施形態において、CPU110は、ストレージ制御プログラムを実行することで、後述するメモリ管理部11,LF制御部12,I/O制御部13,LF実行部14およびI/O実行部15としての機能を果たす。
なお、これらのメモリ管理部11,LF制御部12,I/O制御部13,LF実行部14およびI/O実行部15としての機能を実現するためのプログラム(ストレージ制御プログラム)は、例えばフレキシブルディスク,CD(CD−ROM,CD−R,CD−RW等),DVD(DVD−ROM,DVD−RAM,DVD−R,DVD+R,DVD−RW,DVD+RW,HD DVD等),ブルーレイディスク,磁気ディスク,光ディスク,光磁気ディスク等の、コンピュータ読取可能な記録媒体に記録された形態で提供される。そして、コンピュータはその記録媒体からプログラムを読み取って内部記憶装置または外部記憶装置に転送し格納して用いる。また、そのプログラムを、例えば磁気ディスク,光ディスク,光磁気ディスク等の記憶装置(記録媒体)に記録しておき、その記憶装置から通信経路を介してコンピュータに提供するようにしてもよい。
メモリ管理部11,LF制御部12,I/O制御部13,LF実行部14およびI/O実行部15としての機能を実現する際には、内部記憶装置(本実施形態ではメモリ106)に格納されたプログラムがコンピュータのマイクロプロセッサ(本実施形態ではCPU110)によって実行される。このとき、記録媒体に記録されたプログラムをコンピュータが読み取って実行するようにしてもよい。
I/O制御部13は、各記憶装置31に対するI/Oアクセスを制御する。例えば、I/O制御部13は、ホスト装置2からのI/O要求に応じてI/O実行部15に対してアクセス先の記憶装置31に対するリードやライトの実行を指示する。また、I/O制御部13は、ホスト装置2から自CM100に対して発行されているI/O要求を管理する機能を有している。これにより、後述するLF制御部12は、I/O制御部13に確認することで、自CM100に対してホスト装置2からI/O要求が発行されているかを知ることができる。
I/O実行部15は、I/O制御部13からの指示に従って、記憶装置31に対するI/Oアクセスを実行する。例えば、I/O実行部15は、アクセス対象の記憶装置31に対してリードコマンドやライトコマンド等のI/Oコマンドを発行することで、アクセス対象の記憶装置31にリードやライトのI/Oアクセスを実行する。なお、これらのI/O制御部13およびI/O実行部15としての機能は、既知の種々の手法を用いて実現することができ、その詳細な説明は省略する。
メモリ管理部11は、LFの実行に関するメモリ容量を管理する。例えば、メモリ管理部11は、第1メモリ容量および第2メモリ容量を管理する。
第1メモリ容量は、CM100において、メモリ106の記憶領域のうちLFの実行に予め割り当てられ、論理フォーマットを実行するために使用可能な領域のサイズ(メモリ容量)である。第1メモリ容量は、例えば、6MBである。以下、第1メモリ容量を符号(A)で表す場合がある。第1メモリ容量は、自CM100のハードウェア資源(メモリ106)における論理フォーマットに割り当てられている容量を示す。第1メモリ容量は、CM100のハードウェア資源における論理フォーマットに割り当てられている第1容量に相当する。
第2メモリ容量は、RAID構成に合わせて設定される1単位の論理フォーマット動作(1単位LF動作)に必要なメモリ容量である。
第2メモリ容量は、例えば、RAIDにおけるストライプの境界サイズ(ストライプサイズ)に応じて決定される値であり、例えば、1.5MBである。以下、第2メモリ容量を符号(B)で表す場合がある。
LFの実行に際して、RAIDのストライプの境界サイズに合わせたデータサイズで記憶装置31にアクセスすることで、ホスト装置2からの通常のI/O要求に対するものと同様のアクセス効率を得ることができる。
この第2メモリ容量は、RAID構成に基づいて設定されるLF実行にかかる基準メモリ容量に相当する。
これらの第1メモリ容量および第2メモリ容量は、予めシステム管理者等によって規定され、不揮発性メモリ107の所定の領域に装置構成情報として格納されてもよい。メモリ管理部11は、本ストレージ装置1の起動時にこの装置構成情報から第1メモリ容量や第2メモリ容量の値を読み出すことで取得してもよい。
メモリ管理部11は、取得した第1メモリ容量および第2メモリ容量をメモリ106の所定の領域に格納する。
LF制御部12は、後述するLF実行部14により記憶装置31に対して同時に並行して発行されるLFコマンドの数を決定する。以下、LF実行部14により記憶装置31に対して同時に並行して発行されるLFコマンドの数をLFコマンド多重度という場合がある。
図3は実施形態の一例としてのストレージ装置1のLF制御部12およびLF実行部14の処理を説明するための図である。
LF制御部12は、以下に示すフェーズ(PHASE)1〜3の処理を順番に実行することでLFコマンド多重度を決定する。本ストレージ装置1においては、本ストレージ装置1においては、LFコマンド多重度には継続LF処理数および新規LF処理数が含まれる。そして、LF制御部12は、継続LF処理数および新規LF処理数をLF実行部14に通知する。
ここで、継続LF処理数は、既にLF実行部14から発行され、処理中のLFコマンドの数である。LF制御部12は、LF実行部14から記憶装置31に対して発行されているLFコマンドの数を管理する機能を有し、継続LF処理数を把握することができる。新規LF処理数は、これからLF実行部14に発行させるLFコマンドの数である。
以下、LF制御部12が後述するLF実行部14に対してLFコマンドを発行させ、この発行されたLFコマンドの処理が完了するまでの、一つのLFコマンドについての一連の処理をLFコマンド処理という場合がある。また、1つのLFコマンドを1単位という場合がある。
[フェーズ1]
フェーズ1においては、LF制御部12は、「CMあたりLF多重度上限値」を決定する。CMあたりLF多重度上限値は、一のCM100において並行して同時に(多重に)発行できるLFコマンドの最大数であり、CM100のハードウェアリソースの制限に基づいて決定される。具体的には、CMあたりLF多重度上限値は、自CM100に備えられたメモリ106の容量上の制限に基づいて決定される。
フェーズ1においては、LF制御部12は、「CMあたりLF多重度上限値」を決定する。CMあたりLF多重度上限値は、一のCM100において並行して同時に(多重に)発行できるLFコマンドの最大数であり、CM100のハードウェアリソースの制限に基づいて決定される。具体的には、CMあたりLF多重度上限値は、自CM100に備えられたメモリ106の容量上の制限に基づいて決定される。
より具体的には、LF制御部12は、第1メモリ容量を第2メモリ容量で除算することでCMあたりLF多重度上限値を決定する。以下、CMあたりLF多重度上限値を符号(C)で表す場合がある。すなわち、LF制御部12は以下の式(1)に基づきCMあたりLF多重度上限値(C)を算出する。
CMあたりLF多重度上限値(C)=第1メモリ容量(A)/第2メモリ容量(B)
・・・(1)
例えば、第1メモリ容量が6MB(A=6MB)、第2メモリ容量が1.5MB(B=1.5MB)の場合、CMあたりLF多重度上限値(C)は4(=6MB/1.5MB)となる(C=4)。すなわち、本例においては、CM100のメモリ106の容量上の制限の観点からはLFコマンド多重度の上限は4となる。
・・・(1)
例えば、第1メモリ容量が6MB(A=6MB)、第2メモリ容量が1.5MB(B=1.5MB)の場合、CMあたりLF多重度上限値(C)は4(=6MB/1.5MB)となる(C=4)。すなわち、本例においては、CM100のメモリ106の容量上の制限の観点からはLFコマンド多重度の上限は4となる。
なお、このフェーズ1の処理は、オペレータからフォーマット実施命令を受けてLFを開始した時に1回のみ行なわれる。
すなわち、CMあたりLF多重度上限値(C)は、論理フォーマットを開始する契機(ボリューム作成時)に決定される。また、このCMあたりLF多重度上限値(C)は、論理フォーマットの単位の初期値となる。具体的には、CMあたりLF多重度上限値(C)は、後述するフェーズ2において動作可能多重度(D)(該当RAID多重度上限値(E))の初期値として使用される。
なお、このフェーズ1において、LFコマンド処理に用いるメモリ106の記憶領域等のリソースを獲得してもよい。
[フェーズ2]
フェーズ2においては、LF制御部12は、「動作可能多重度」を決定する。以下、動作可能多重度を符号(D)で表す場合がある。
フェーズ2においては、LF制御部12は、「動作可能多重度」を決定する。以下、動作可能多重度を符号(D)で表す場合がある。
動作可能多重度(D)は、当該LF制御部12が動作するCM100(自CM100)が並行して同時に発行するLFコマンドの数(発行多重度)であり、LFの実行により生じる負荷やホスト装置2からのI/O要求を勘案して決定される。
また、LF制御部12は、動作可能多重度(D)を決定するために、変数として「該当RAID多重度上限」を用いる。以下、該当RAID多重度上限値を符号(E)で表す場合がある。該当RAID多重度上限値(E)はRAID毎に設定される。該当RAID多重度上限値(E)の初期値には、フェーズ1において決定されたCMあたりLF多重度上限値(C)を用いてもよい。
フェーズ2の処理は、オペレータからフォーマット実施命令を受けてLFを開始した時の他、1単位の処理が完了する毎に実行される。すなわち、一つのLFコマンドによる処理が完了する毎にもフェーズ2の処理は実行される。
LF制御部12は、ホスト装置2からI/O要求が発行されている場合には、このI/O要求への応答に影響を与えないために、動作可能多重度(D)に1を設定する(D=1)。動作可能多重度(D)が1である場合には、1つのLFコマンドのみが発行される。すなわち、本ストレージ装置1においては、ホスト装置2からのI/O要求をLFよりも優先して処理する。
また、LF制御部12は、一のRAID(処理対象RAIDという)を構成する記憶装置31に対してLFを行なうに際して、他のRAIDにおいてLFが実行中である場合には、これらの処理対象RAIDの該当RAID多重度上限値(E)と他のRAIDとの該当RAID多重度上限値(E)とを比較する。そして、LF制御部12は、これらの処理対象RAIDと他のRAIDとのうち値が小さい方の該当RAID多重度上限値(E)を、自CM100の管理下において実行中のRAIDの数で除算した商(整数部)を動作可能多重度(D)として設定する。
例えば、処理対象RAIDの該当RAID多重度上限値(E)が6であり、他のRAIDの該当RAID多重度上限値(E)が3であり、自CM100において稼働中のRAID数(実行中RAID数)が2である場合について考える。
「処理対象RAIDの該当RAID多重度上限値(E=6)」>「他のRAIDの該当RAID多重度上限値(E=3)」であるので、LF制御部12は小さい方の該当RAID多重度上限値(E=3)を実行中RAID数(=2)で除算することで、3÷2=1.5≒1を算出する。なお、小数点以下は切り捨てて整数とする。
LF制御部12は、上述の如く算出した1を、処理対象RAIDの動作可能多重度(D)として設定する(D=1)。このように、複数のRAIDが稼働している場合において、他のRAIDにおいてもLFが実行中である場合には、実行中RAID数に応じて多重度を低減させることで、CM100の負荷を軽減する。
上述の如くRAID多重度上限値(E)を実行中RAID数で除算することで、実行中RAID数が多い程、多重度は小さくなる。
また、LF制御部12は、他RAIDにおいてLFの実行中でない場合には、CM100あたりの資源を過大に獲得しないように定期的にスループットを監視し、多重度を調整する。LF制御部12は、LFを開始後に記憶装置31におけるスループットの増減を判断する。スループットは一定時間内に処理できるデータ量であり、記憶装置31の入出力性能(処理能力)を示す。スループットの単位は、例えば、MB/秒である。
LF制御部12は、各記憶装置31のスループットを随時測定(サンプル)して、メモリ106や記憶装置31の所定の領域に記録する機能を備える。すなわち、LF制御部12は記憶装置31の入出力性能を取得する入出力性能取得部としての機能を備える。
LF制御部12は、例えば、現在の(最新の)スループットと所定時間T前(例えばT=5秒)に取得したスループットとを比較することで、スループットの増減を確認する。すなわち、LF制御部12は、今回取得されたスループット(入出力性能)と、前回のサンプル時に取得したスループットとを比較する。LF制御部12は、所定時間T前に比べて記憶装置31のスループットが増加している場合には、動作可能多重度(D)を増加させる一方、スループットが低下している場合には、動作可能多重度(D)を減少させる。
すなわち、LF制御部12は、今回取得されたスループット(入出力性能)が、前回のサンプル時に取得したスループットに比べて向上している場合に、LFコマンド多重度(多重度)を増加させる。
これにより、記憶装置31の処理能力(負荷状況)に応じた多重度でLFコマンドを発行することができる。例えば、所定時間T前に比べてスループットが向上している場合には、LFコマンドの多重度を増加させることで、より多くのLFコマンドを並行して実行することができ、LFに要する時間を短縮することができる。
上述の如く、フェーズ2の処理は、1単位処理が完了(1単位動作完了)する毎に実行される。すなわち、一つのLFコマンドによる処理が完了する毎にフェーズ2の処理が実行され、動作可能多重度(D)の値が更新される。
[フェーズ3]
フェーズ3においては、LF制御部12は、LFコマンド多重度として、「継続LF処理数」および「新規LF処理数」を決定する。
フェーズ3においては、LF制御部12は、LFコマンド多重度として、「継続LF処理数」および「新規LF処理数」を決定する。
継続LF処理数は、CM100から発行された処理中のLFコマンドの数であり、後述するLF実行部14から記憶装置31に対して発行された、未完了のLFコマンドの数である。以下、継続LF処理数を符号(F)で表す場合がある。
新規LF処理数は、LF実行部14から記憶装置31に対して発行されるべきLFコマンドの数である。以下、新規LF処理数を符号(G)で表す場合がある。
フェーズ3においては、フェーズ2において決定された動作可能多重度(D)と、継続LF処理数とが用いられる。継続LF処理数(F)の初期値は0であるものとする。
LF制御部12は、フェーズ2において決定された動作可能多重度(D)と継続LF処理数(F)とを比較する。
動作可能多重度(D)が継続LF処理数(F)以上である場合には、LF制御部12は、新規LF処理数(G)を以下の式(2)に基づいて算出する。
新規LF処理数(G)=動作可能多重度(D)−継続LF処理数(F)・・・(2)
例えば、動作可能多重度(D)が4(D=4)であり、継続LF処理数(F)が2(F=2)である場合には、新規LF処理数(G)は2(G=4−2)となる。
新規LF処理数(G)=動作可能多重度(D)−継続LF処理数(F)・・・(2)
例えば、動作可能多重度(D)が4(D=4)であり、継続LF処理数(F)が2(F=2)である場合には、新規LF処理数(G)は2(G=4−2)となる。
動作可能多重度(D)と継続LF処理数(F)とが同数である場合、例えば、動作可能多重度(D)が2(D=2)であり、継続LF処理数(F)が2(F=2)である場合には、新規LF処理数(G)は0(G=2−2=0)となる。
動作可能多重度(D)が継続LF処理数(F)未満である場合、例えば、動作可能多重度(D)が1(D=1)であり、継続LF処理数(F)が2(F=2)である場合には、新規LF処理数(G)は0とする。また、LF制御部12は、動作可能多重度(D)の値を継続LF処理数(F)として設定する。
すなわち、LF制御部12は、LF実行部14から発行中のLFコマンド数(継続LF処理数(F))を管理し、動作可能多重度(D)となるように新規LF処理数(G)を決定する。
そして、LF制御部12は、決定した継続LF処理数および新規LF処理数をLF実行部14に通知する。
また、動作可能多重度(D)が継続LF処理数(F)未満である場合には、LF制御部12は、LFコマンド処理の完了後に、例えば、当該LFコマンド処理に用いたメモリ106の記憶領域等のリソースを解放する。これにより、実行中のLFコマンド処理の数を減らす。
LF実行部14は、記憶装置31に対してLFコマンドを発行する。LF実行部14は、LF制御部12によって決定された新規LF処理数を取得し(LFコマンド数獲得)、この新規LF処理数と同数のLFコマンドを生成して記憶装置31に並行して発行する(LFコマンド発行)。
これにより、LF実行部14は、記憶装置31には、LF制御部12によって決定されたLFコマンド多重度と同数のLFコマンドが同時に発行(多重発行)される。
LFコマンドは、例えば、記憶装置31における指定された領域(未フォーマット領域)に対してBCCの書き込み等を行なう処理等を実現するコマンドである。なお、LFコマンドは既知であり、その詳細な説明は省略する。
1つのLFコマンド発行処理において、LF実行部14は、記憶装置31における未フォーマットの領域を検索し、この未フォーマット領域にLFを行なわせるLFコマンドを発行する。
LF実行部14により発行されたいずれかのLFコマンドが完了した場合には、処理はフェーズ2に戻り、動作可能多重度(D)の更新が行なわれる。すなわち、一つのLFコマンド処理が完了した場合には、フェーズ2に戻り動作可能多重度(D)の更新が行なわれる。
〔B〕動作
上述の如く構成された実施形態の一例としてのストレージ装置1におけるLF制御部12の処理を図4に示すフローチャート(ステップA1〜A18)に従って説明する。
上述の如く構成された実施形態の一例としてのストレージ装置1におけるLF制御部12の処理を図4に示すフローチャート(ステップA1〜A18)に従って説明する。
例えば、オペレータがフォーマットの実施命令を発行することにより、LFが開始される。
先ず、LF制御部12はフェーズ1の処理を行なう。すなわち、LF制御部12は、ステップA1において、上記の式(1)に基づきCMあたりLF多重度上限値(C)を算出する。すなわち、LF制御部12は、「CMあたりLF多重度上限値(C)=第1メモリ容量(A)/第2メモリ容量(B)」を計算する。
この算出されたCMあたりLF多重度上限値(C)がフェーズ1のアウトプットである。
次に、LF制御部12はフェーズ2の処理を行なう。以下に示す、ステップA2〜A12がフェーズ2の処理に相当する。ステップA1において算出されたCMあたりLF多重度上限値(C)がフェーズ2のインプットとなる。
ステップA2において、LF制御部12は、該当RAID多重度上限値(E)が0である場合には、CMあたりLF多重度上限値(C)を該当RAID多重度上限値(E)に設定する。このように、該当RAID多重度上限値(E)の初期値にCMあたりLF多重度上限値(C)を設定することで、以下の処理において該当RAID多重度上限値(E)がCMあたりLF多重度上限値(C)を超えることがない。
ステップA3において、LF制御部12は、自CM100に対してホスト装置2からI/O要求が発行されているかを確認する。ホスト装置2から発行されているI/O要求がある場合には(ステップA3の“あり”ルート参照)、ステップA4に移行する。
ステップA4において、LF制御部12は、該当RAID多重度上限値(E)に1を設定する。その後、ステップA12に移行する。
ステップA3における確認の結果、ホスト装置2から発行されているI/O要求が無い場合には(ステップA3の“無し”ルート参照)、ステップA5に移行する。
ステップA5において、LF制御部12は、自CM100が他のRAIDグループのLFを実行中であるかを確認する。自CM100が他のRAIDグループのLFを実行中である場合には(ステップA5のYesルート参照)、ステップA6に移行する。
ステップA6において、LF制御部12は、処理対象のRAIDの該当RAID多重度上限値(E)を他のLF実行中のRAIDの該当RAID多重度上限値(E)と比較する。そして、LF制御部12は、値の小さい方の該当RAID多重度上限値(E)を、自CM100の管理下において実行中のRAIDの数で除算した値を新たな該当RAID多重度上限値(E)として設定する。
LF制御部12は、該当RAID多重度上限(E)を、他のLF中のRAIDの該当RAID多重度上限(E)と比較し、値が一番小さい該当RAID多重度上限(E)(例えば、4多重)をRAID数(例えば、2RAID)で除算した商(4 ÷ 2 = 2)を該当RAID多重度上限(E)に設定する。その後、ステップA12に移行する。
ステップA5における確認の結果、自CM100が他のRAIDグループのLFを実行中でない場合には(ステップA5のNoルート参照)、ステップA7に移行する。
ステップA7において、LF制御部12は、LFを開始してからの経過時間が一定時間T(例えば、T=5秒)以上であるかを確認する。確認の結果、LFを開始してからの経過時間が一定時間T未満である場合には(ステップA7のNoルート参照)、ステップA12に移行する。
一方、LFを開始してからの経過時間が一定時間T以上である場合には(ステップA7のYesルート参照)、ステップA8に移行する。ステップA8において、LF制御部12は、記憶装置31の現在のスループットと、一定時間T前(例えば、前述の5秒前)の時点での記憶装置31のスループットとを比較する。
比較の結果、現在のスループットが一定時間T前のスループットよりも高い場合には(ステップA8の“高い”ルート参照)、該当RAID多重度上限値(E)をインクリメントする(ステップA9)。現在のスループットが一定時間T前のスループットよりも高いということは、記憶装置31の処理性能が一定時間T前に比べて向上していることを示す。そこで、LF制御部12は、本ストレージ装置1において処理能力に余力があると判断し、LFコマンドの多重度を増加させる。
また、比較の結果、現在のスループットが一定時間T前のスループットと同じ場合には(ステップA8の“同じ”ルート参照)、該当RAID多重度上限値(E)は変更しない(ステップA10)。
さらに、比較の結果、現在のスループットが一定時間T前のスループットよりも低い場合には(ステップA8の“低い”ルート参照)、該当RAID多重度上限値(E)をデクリメントする(ステップA11)。現在のスループットが一定時間T前のスループットよりも低いということは、記憶装置31の処理性能が一定時間T前に比べて低下していることを示す。そこで、LF制御部12は、本ストレージ装置1において処理能力に余力がないと判断し、LFコマンドの多重度を減少させる。
すなわち、記憶装置31の現在のスループットと、一定時間T前(例えば、T=5秒)の時点での記憶装置31のスループットとを比較することで、処理能力の余裕の有無を判断し、この余裕の有無に応じてLFコマンド多重度を増減させる。
ステップA12において、LF制御部12は、動作可能多重度(D)に該当RAID多重度上限値(E)を設定する。これにより動作可能多重度(D)が決定(更新)される。この更新された動作可能多重度(D)がフェーズ2のアウトプットとなる。
次に、LF制御部12はフェーズ3の処理を行なう。以下に示す、ステップA13〜A16がフェーズ3の処理に相当する。ステップA12において更新判別情報された動作可能多重度(D)がフェーズ3のインプットとなる。
ステップA13において、LF制御部12は、動作可能多重度(D)と、LF実行部14から記憶装置31に対して発行され未完了のLFコマンドの数である継続LF処理数(F)とを比較する。なお、継続LF処理数(F)の初期値は0(F=0)である。
動作可能多重度(D)が継続LF処理数(F)よりも大きい場合には(ステップA13の“(D)>(F)”ルート参照)、LF制御部12は、新規LF処理数(G)を上述の式(2)に基づいて算出する(ステップA14)。すなわち、LF制御部12は、動作可能多重度(D)から継続LF処理数(F)を減算することで、新規LF処理数(G)を算出する。
動作可能多重度(D)と継続LF処理数(F)とが同数である場合には(ステップA13の“(D)=(F)”ルート参照)、LF制御部12は、新規LF処理数(G)を0とする(ステップA15)。
動作可能多重度(D)が継続LF処理数(F)未満である場合には、(ステップA13の“(D)<(F)”ルート参照)、LF制御部12は、新規LF処理数(G)を0とする。また、LF制御部12は、動作可能多重度(D)を継続LF処理数(F)として設定する(ステップA16)。
そして、LF制御部12は、決定した継続LF処理数および新規LF処理数をLF実行部14に通知する。すなわち、ステップA14〜A16において決定された新規LF処理数(G)および継続LF処理数(F)が、フェーズ3のアウトプットである。
ステップA17において、LF実行部14が、新規LF処理数(G)と同数のLFコマンドを生成して記憶装置31に並行して発行する。
ステップA18において、LF実行部14が発行したいずれかのLFコマンドの処理が完了すると、ステップA2(フェーズ2)に戻る。
〔C〕効果
このように、実施形態の一例としてのストレージ装置1においては、LF実行部14が記憶装置31に対して複数のLFコマンドを同時に並行(多重化)して発行することで、LFに要する時間を短縮することができる。
このように、実施形態の一例としてのストレージ装置1においては、LF実行部14が記憶装置31に対して複数のLFコマンドを同時に並行(多重化)して発行することで、LFに要する時間を短縮することができる。
また、自CM100もしくは記憶装置31の処理状況に応じて、LF制御部12が、並行して発行するLFコマンドの数(LFコマンド多重度)を決定することで、より効率的にLFを実行することができる。
LF制御部12は、自CM100に対してホスト装置2からI/O要求が発行されている状態においては、LFコマンドの発行を多重化しない(LFコマンド多重度=1)。これにより、LFの処理がホスト装置2からのI/O要求に影響を与えることがなく、ストレージ装置1としての性能を維持することができる。
また、LF制御部12は、処理対象RAIDを構成する記憶装置31に対してLFを行なうに際して、他のRAIDにおいてLFが実行中である場合には、これらの処理対象RAIDと他のRAIDとの各該当RAID多重度上限値(E)を比較する。そして、LF制御部12は、値が小さい方の該当RAID多重度上限値(E)を、このCM100の管理下において実行中のRAIDの数で除算した値(商)を動作可能多重度(D)として設定する。
これにより、本ストレージ装置1において複数のRAIDが稼働している場合に、他のRAIDにおいてもLFが実行中である場合には、実行中RAID数に応じて多重度を低減させることで、CM100の負荷を軽減することができる。
また、LF制御部12は、現在のスループットと所定時間T前のスループットとを比較し、所定時間T前に比べてスループットが増加している場合には、動作可能多重度(D)、すなわち、LFコマンド多重度を増加させる。これにより、記憶装置31の処理能力に余裕がある場合には、LFコマンド多重度を大きくすることでLFに要する時間を短縮することができる。
一方、LF制御部12は、現在のスループットと所定時間T前のスループットとを比較し、所定時間T前に比べてスループットが低下している場合には、動作可能多重度(D)すなわち、LFコマンド多重度を減少させる。これにより、記憶装置31の処理能力に余裕がない場合には、LFコマンド多重度を小さくすることで記憶装置31やCM100の負荷を軽減し、本ストレージ装置1の処理性能の低下を防止することができる。このように、本ストレージ装置1においては、記憶装置31の負荷に応じた多重度でLFコマンドを発行することができる。
また、LF実行部14から発行中のLFコマンド数(継続LF処理数(F))を管理し、動作可能多重度(D)となるように新規LF処理数(G)を決定する。これにより、LF実行部14に対して発行を指示するLFコマンド数(新規LF処理数(G))に、実行中のLFコマンド数(継続LF処理数(F))を反映させ、CM100におけるLFの処理性能を確実に制御することができる。
例えば、LFの多重度を上げすぎることで、本ストレージ装置1のリソース(例えば、メモリ資源)を過大に使用して資源枯渇が生じることがない。
〔D〕その他
そして、開示の技術は上述した実施形態に限定されるものではなく、本実施形態の趣旨を逸脱しない範囲で種々変形して実施することができる。本実施形態の各構成および各処理は、必要に応じて取捨選択することができ、あるいは適宜組み合わせてもよい。
そして、開示の技術は上述した実施形態に限定されるものではなく、本実施形態の趣旨を逸脱しない範囲で種々変形して実施することができる。本実施形態の各構成および各処理は、必要に応じて取捨選択することができ、あるいは適宜組み合わせてもよい。
例えば、ストレージ装置1に備えられるCM100の数は2つに限定されるものではなく、1つもしくは3つ以上であってもよい。
また、DE30に備えられる記憶装置31の数は4つに限定されるものではなく、3つ以下、または5つ以上であってもよい。また、記憶装置31を用いて構成するRAIDについても適宜変更して実施することができる。
さらに、上述した実施形態においては、LF制御部12は、LFを開始後に記憶装置31におけるスループットの増減を判断して、該当RAID多重度上限値(E)すなわち動作可能多重度(D)を変化させているが、これに限定されるものでなない。例えば、LF制御部12は、記憶装置31の性能や負荷の状態を表す種々の情報を用いて、該当RAID多重度上限値(E)(動作可能多重度(D))を変化させてもよい。
例えば、LF制御部12は、スループットに代えて記憶装置31に対するIOPS(Input Output Per Second)や平均レスポンスタイムを取得し、これらのIOPSや平均レスポンスタイムの増減を判断して該当RAID多重度上限値(E)(動作可能多重度(D))を変化させてもよい。IOPSや平均レスポンスタイムは入出力性能を表す。
また、上述した開示により本実施形態を当業者によって実施・製造することが可能である。
〔E〕付記
以上の実施形態に関し、さらに以下の付記を開示する。
以上の実施形態に関し、さらに以下の付記を開示する。
(付記1)
記憶装置を制御するストレージ制御装置において、
前記記憶装置の入出力性能を取得する入出力性能取得部と、
前記入出力性能取得部によって取得した前記入出力性能の変化に応じて、前記記憶装置の記憶領域の論理フォーマットの多重度を決定する多重度決定部と、
前記多重度決定部によって決定された多重度に応じた複数の論理フォーマットコマンドを前記記憶装置に対して並行して発行するコマンド発行部と
を備える、ストレージ制御装置。
記憶装置を制御するストレージ制御装置において、
前記記憶装置の入出力性能を取得する入出力性能取得部と、
前記入出力性能取得部によって取得した前記入出力性能の変化に応じて、前記記憶装置の記憶領域の論理フォーマットの多重度を決定する多重度決定部と、
前記多重度決定部によって決定された多重度に応じた複数の論理フォーマットコマンドを前記記憶装置に対して並行して発行するコマンド発行部と
を備える、ストレージ制御装置。
(付記2)
前記多重度決定部が、
前記入出力性能取得部によって今回取得された前記入出力性能が、前回のサンプル時に取得した入出力性能に比べて向上している場合に、前記多重度を増加させる
ことを特徴とする、付記1記載のストレージ制御装置。
前記多重度決定部が、
前記入出力性能取得部によって今回取得された前記入出力性能が、前回のサンプル時に取得した入出力性能に比べて向上している場合に、前記多重度を増加させる
ことを特徴とする、付記1記載のストレージ制御装置。
(付記3)
前記多重度決定部が、
前記入出力性能取得部によって今回取得された前記入出力性能が、前回のサンプル時に取得した入出力性能に比べて低下している場合に、前記多重度を減少させる
ことを特徴とする、付記1または2記載のストレージ制御装置。
前記多重度決定部が、
前記入出力性能取得部によって今回取得された前記入出力性能が、前回のサンプル時に取得した入出力性能に比べて低下している場合に、前記多重度を減少させる
ことを特徴とする、付記1または2記載のストレージ制御装置。
(付記4)
前記多重度決定部が、
当該ストレージ制御装置のハードウェア資源における論理フォーマットに割り当てられている第1容量を、RAID(Redundant Arrays of Inexpensive Disks)構成に基づいて設定される論理フォーマット実行にかかる基準メモリ容量で除算することで、当該ストレージ制御装置における上限多重度を決定する
ことを特徴とする、付記1〜3のいずれか1項に記載のストレージ制御装置。
前記多重度決定部が、
当該ストレージ制御装置のハードウェア資源における論理フォーマットに割り当てられている第1容量を、RAID(Redundant Arrays of Inexpensive Disks)構成に基づいて設定される論理フォーマット実行にかかる基準メモリ容量で除算することで、当該ストレージ制御装置における上限多重度を決定する
ことを特徴とする、付記1〜3のいずれか1項に記載のストレージ制御装置。
(付記5)
前記多重度決定部が、
外部装置から当該ストレージ制御装置に対して入出力要求を受け付けた場合に、前記多重度を1に設定することで、前記コマンド発行部による複数の論理フォーマットコマンドの発行を抑止する
ことを特徴とする、付記1〜4のいずれか1項に記載のストレージ制御装置。
前記多重度決定部が、
外部装置から当該ストレージ制御装置に対して入出力要求を受け付けた場合に、前記多重度を1に設定することで、前記コマンド発行部による複数の論理フォーマットコマンドの発行を抑止する
ことを特徴とする、付記1〜4のいずれか1項に記載のストレージ制御装置。
(付記6)
前記多重度決定部が、
前記多重度から前記コマンド発行部から発行されている未完了の前記論理フォーマットコマンドの数を減算して新規論理フォーマットコマンド発行数を算出し、当該新規論理フォーマットコマンド発行数を前記コマンド発行部に通知し、
前記コマンド発行部が、前記新規論理フォーマットコマンド発行数の論理フォーマットコマンドを前記記憶装置に対して発行する
ことを特徴とする、付記1〜5のいずれか1項に記載のストレージ制御装置。
前記多重度決定部が、
前記多重度から前記コマンド発行部から発行されている未完了の前記論理フォーマットコマンドの数を減算して新規論理フォーマットコマンド発行数を算出し、当該新規論理フォーマットコマンド発行数を前記コマンド発行部に通知し、
前記コマンド発行部が、前記新規論理フォーマットコマンド発行数の論理フォーマットコマンドを前記記憶装置に対して発行する
ことを特徴とする、付記1〜5のいずれか1項に記載のストレージ制御装置。
(付記7)
当該ストレージ制御装置において複数のRAIDが稼働している場合に、前記複数のRAIDのうち、前記論理フォーマットの発行対象の前記記憶装置が構成する第1のRAIDと異なる第2のRAIDにおいて論理フォーマットの実行中である場合に、
前記多重度決定部が、当該ストレージ制御装置において稼働しているRAIDの数に応じて前記多重度を減少させる
ことを特徴とする、付記4記載のストレージ制御装置。
当該ストレージ制御装置において複数のRAIDが稼働している場合に、前記複数のRAIDのうち、前記論理フォーマットの発行対象の前記記憶装置が構成する第1のRAIDと異なる第2のRAIDにおいて論理フォーマットの実行中である場合に、
前記多重度決定部が、当該ストレージ制御装置において稼働しているRAIDの数に応じて前記多重度を減少させる
ことを特徴とする、付記4記載のストレージ制御装置。
(付記8)
前記多重度決定部が、
前記第1のRAIDに対して設定される第1多重度上限値と、前記第2のRAIDに対して設定される第2多重度上限値とのうち、小さい方の値を論理フォーマット実行中のRAIDの数で除算した商を用いて、前記第1多重度上限値を更新する
ことを特徴とする、付記7記載のストレージ制御装置。
前記多重度決定部が、
前記第1のRAIDに対して設定される第1多重度上限値と、前記第2のRAIDに対して設定される第2多重度上限値とのうち、小さい方の値を論理フォーマット実行中のRAIDの数で除算した商を用いて、前記第1多重度上限値を更新する
ことを特徴とする、付記7記載のストレージ制御装置。
(付記9)
記憶装置を制御するストレージ制御装置のプロセッサに、
前記記憶装置の入出力性能を取得し、
取得した前記入出力性能の変化に応じて、前記記憶装置の記憶領域の論理フォーマットの多重度を決定し、
決定された多重度に応じた複数の論理フォーマットコマンドを前記記憶装置に対して並行して発行する
処理を実行させる、ストレージ制御プログラム。
記憶装置を制御するストレージ制御装置のプロセッサに、
前記記憶装置の入出力性能を取得し、
取得した前記入出力性能の変化に応じて、前記記憶装置の記憶領域の論理フォーマットの多重度を決定し、
決定された多重度に応じた複数の論理フォーマットコマンドを前記記憶装置に対して並行して発行する
処理を実行させる、ストレージ制御プログラム。
(付記10)
今回取得された前記入出力性能が、前回のサンプル時に取得した入出力性能に比べて向上している場合に、前記多重度を増加させる
処理を前記プロセッサに実行させる、付記9記載のストレージ制御プログラム。
今回取得された前記入出力性能が、前回のサンプル時に取得した入出力性能に比べて向上している場合に、前記多重度を増加させる
処理を前記プロセッサに実行させる、付記9記載のストレージ制御プログラム。
(付記11)
今回取得された前記入出力性能が、前回のサンプル時に取得した入出力性能に比べて低下している場合に、前記多重度を減少させる
処理を前記プロセッサに実行させる、付記9または10記載のストレージ制御プログラム。
今回取得された前記入出力性能が、前回のサンプル時に取得した入出力性能に比べて低下している場合に、前記多重度を減少させる
処理を前記プロセッサに実行させる、付記9または10記載のストレージ制御プログラム。
(付記12)
当該ストレージ制御装置のハードウェア資源における論理フォーマットに割り当てられている第1容量を、RAID(Redundant Arrays of Inexpensive Disks)構成に基づいて設定される論理フォーマット実行にかかる基準メモリ容量で除算することで、当該ストレージ制御装置における上限多重度を決定する
処理を前記プロセッサに実行させる、付記9〜11のいずれか1項に記載のストレージ制御プログラム。
当該ストレージ制御装置のハードウェア資源における論理フォーマットに割り当てられている第1容量を、RAID(Redundant Arrays of Inexpensive Disks)構成に基づいて設定される論理フォーマット実行にかかる基準メモリ容量で除算することで、当該ストレージ制御装置における上限多重度を決定する
処理を前記プロセッサに実行させる、付記9〜11のいずれか1項に記載のストレージ制御プログラム。
(付記13)
外部装置から当該ストレージ制御装置に対して入出力要求を受け付けた場合に、前記多重度を1に設定することで、複数の論理フォーマットコマンドの発行を抑止する
処理を前記プロセッサに実行させる、付記9〜12のいずれか1項に記載のストレージ制御プログラム。
外部装置から当該ストレージ制御装置に対して入出力要求を受け付けた場合に、前記多重度を1に設定することで、複数の論理フォーマットコマンドの発行を抑止する
処理を前記プロセッサに実行させる、付記9〜12のいずれか1項に記載のストレージ制御プログラム。
(付記14)
前記多重度から発行されている未完了の前記論理フォーマットコマンドの数を減算して新規論理フォーマットコマンド発行数を算出し、
前記新規論理フォーマットコマンド発行数の論理フォーマットコマンドを前記記憶装置に対して発行する
処理を前記プロセッサに実行させる、付記9〜13のいずれか1項に記載のストレージ制御プログラム。
前記多重度から発行されている未完了の前記論理フォーマットコマンドの数を減算して新規論理フォーマットコマンド発行数を算出し、
前記新規論理フォーマットコマンド発行数の論理フォーマットコマンドを前記記憶装置に対して発行する
処理を前記プロセッサに実行させる、付記9〜13のいずれか1項に記載のストレージ制御プログラム。
(付記15)
当該ストレージ制御装置において複数のRAIDが稼働している場合に、前記複数のRAIDのうち、前記論理フォーマットの発行対象の前記記憶装置が構成する第1のRAIDと異なる第2のRAIDにおいて論理フォーマットの実行中である場合に、
当該ストレージ制御装置において稼働しているRAIDの数に応じて前記多重度を減少させる
処理を前記プロセッサに実行させる、付記14記載のストレージ制御プログラム。
当該ストレージ制御装置において複数のRAIDが稼働している場合に、前記複数のRAIDのうち、前記論理フォーマットの発行対象の前記記憶装置が構成する第1のRAIDと異なる第2のRAIDにおいて論理フォーマットの実行中である場合に、
当該ストレージ制御装置において稼働しているRAIDの数に応じて前記多重度を減少させる
処理を前記プロセッサに実行させる、付記14記載のストレージ制御プログラム。
(付記16)
前記第1のRAIDに対して設定される第1多重度上限値と、前記第2のRAIDに対して設定される第2多重度上限値とのうち、小さい方の値を論理フォーマット実行中のRAIDの数で除算した商を用いて、前記第1多重度上限値を更新する
処理を前記プロセッサに実行させる、付記15記載のストレージ制御プログラム。
前記第1のRAIDに対して設定される第1多重度上限値と、前記第2のRAIDに対して設定される第2多重度上限値とのうち、小さい方の値を論理フォーマット実行中のRAIDの数で除算した商を用いて、前記第1多重度上限値を更新する
処理を前記プロセッサに実行させる、付記15記載のストレージ制御プログラム。
1 ストレージ装置
2 ホスト装置
11 メモリ管理部
12 LF制御部
13 I/O制御部
14 LF実行部
15 I/O実行部
30−1,30−2,30 ディスクエンクロージャ
31 記憶装置
100−1,100−2,100 CM
101 CA
103 DA
106 メモリ
107 不揮発性メモリ
108 IOC
110 CPU
2 ホスト装置
11 メモリ管理部
12 LF制御部
13 I/O制御部
14 LF実行部
15 I/O実行部
30−1,30−2,30 ディスクエンクロージャ
31 記憶装置
100−1,100−2,100 CM
101 CA
103 DA
106 メモリ
107 不揮発性メモリ
108 IOC
110 CPU
Claims (9)
- 記憶装置を制御するストレージ制御装置において、
前記記憶装置の入出力性能を取得する入出力性能取得部と、
前記入出力性能取得部によって取得した前記入出力性能の変化に応じて、前記記憶装置の記憶領域の論理フォーマットの多重度を決定する多重度決定部と、
前記多重度決定部によって決定された多重度に応じた複数の論理フォーマットコマンドを前記記憶装置に対して並行して発行するコマンド発行部と
を備える、ストレージ制御装置。 - 前記多重度決定部が、
前記入出力性能取得部によって今回取得された前記入出力性能が、前回のサンプル時に取得した入出力性能に比べて向上している場合に、前記多重度を増加させる
ことを特徴とする、請求項1記載のストレージ制御装置。 - 前記多重度決定部が、
前記入出力性能取得部によって今回取得された前記入出力性能が、前回のサンプル時に取得した入出力性能に比べて低下している場合に、前記多重度を減少させる
ことを特徴とする、請求項1または2記載のストレージ制御装置。 - 前記多重度決定部が、
当該ストレージ制御装置のハードウェア資源における論理フォーマットに割り当てられている第1容量を、RAID(Redundant Arrays of Inexpensive Disks)構成に基づいて設定される論理フォーマット実行にかかる基準メモリ容量で除算することで、当該ストレージ制御装置における上限多重度を決定する
ことを特徴とする、請求項1〜3のいずれか1項に記載のストレージ制御装置。 - 前記多重度決定部が、
外部装置から当該ストレージ制御装置に対して入出力要求を受け付けた場合に、前記多重度を1に設定することで、前記コマンド発行部による複数の論理フォーマットコマンドの発行を抑止する
ことを特徴とする、請求項1〜4のいずれか1項に記載のストレージ制御装置。 - 前記多重度決定部が、
前記多重度から前記コマンド発行部から発行されている未完了の前記論理フォーマットコマンドの数を減算して新規論理フォーマットコマンド発行数を算出し、当該新規論理フォーマットコマンド発行数を前記コマンド発行部に通知し、
前記コマンド発行部が、前記新規論理フォーマットコマンド発行数の論理フォーマットコマンドを前記記憶装置に対して発行する
ことを特徴とする、請求項1〜5のいずれか1項に記載のストレージ制御装置。 - 当該ストレージ制御装置において複数のRAIDが稼働している場合に、前記複数のRAIDのうち、前記論理フォーマットの発行対象の前記記憶装置が構成する第1のRAIDと異なる第2のRAIDにおいて論理フォーマットの実行中である場合に、
前記多重度決定部が、当該ストレージ制御装置において稼働しているRAIDの数に応じて前記多重度を減少させる
ことを特徴とする、請求項4記載のストレージ制御装置。 - 前記多重度決定部が、
前記第1のRAIDに対して設定される第1多重度上限値と、前記第2のRAIDに対して設定される第2多重度上限値とのうち、小さい方の値を論理フォーマット実行中のRAIDの数で除算した商を用いて、前記第1多重度上限値を更新する
ことを特徴とする、請求項7記載のストレージ装置。 - 記憶装置を制御するストレージ制御装置のプロセッサに、
前記記憶装置の入出力性能を取得し、
取得した前記入出力性能の変化に応じて、前記記憶装置の記憶領域の論理フォーマットの多重度を決定し、
決定された多重度に応じた複数の論理フォーマットコマンドを前記記憶装置に対して並行して発行する
処理を実行させる、ストレージ制御プログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018165053A JP2020038475A (ja) | 2018-09-04 | 2018-09-04 | ストレージ制御装置およびストレージ制御プログラム |
US16/555,323 US20200073569A1 (en) | 2018-09-04 | 2019-08-29 | Storage control system and storage control method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018165053A JP2020038475A (ja) | 2018-09-04 | 2018-09-04 | ストレージ制御装置およびストレージ制御プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2020038475A true JP2020038475A (ja) | 2020-03-12 |
Family
ID=69641132
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018165053A Withdrawn JP2020038475A (ja) | 2018-09-04 | 2018-09-04 | ストレージ制御装置およびストレージ制御プログラム |
Country Status (2)
Country | Link |
---|---|
US (1) | US20200073569A1 (ja) |
JP (1) | JP2020038475A (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7225190B2 (ja) * | 2020-12-10 | 2023-02-20 | 株式会社日立製作所 | 計算機システム |
-
2018
- 2018-09-04 JP JP2018165053A patent/JP2020038475A/ja not_active Withdrawn
-
2019
- 2019-08-29 US US16/555,323 patent/US20200073569A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
US20200073569A1 (en) | 2020-03-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8839030B2 (en) | Methods and structure for resuming background tasks in a clustered storage environment | |
US9378093B2 (en) | Controlling data storage in an array of storage devices | |
US8234467B2 (en) | Storage management device, storage system control device, storage medium storing storage management program, and storage system | |
US7797487B2 (en) | Command queue loading | |
US9547446B2 (en) | Fine-grained control of data placement | |
US10366032B2 (en) | Information processing apparatus and multipath control method | |
JP2011065625A (ja) | 大容量ディスクドライブの使用方法及び装置 | |
US8966214B2 (en) | Virtual storage device, controller, and computer-readable recording medium having stored therein a control program | |
JP2020533694A (ja) | クラウド・ベースのランクを使用するデータの動的再配置 | |
US9319067B2 (en) | Storage control apparatus, storage system, and storage control method | |
JP2020533689A (ja) | クラウド・ベースのランクを使用するシン・プロビジョニング | |
US7870335B2 (en) | Host adaptive seek technique environment | |
US11061604B2 (en) | Method and storage system architecture for accessing data by means of a compatible module | |
JP2017037501A (ja) | ストレージ制御装置およびストレージ制御プログラム | |
JP2020038475A (ja) | ストレージ制御装置およびストレージ制御プログラム | |
US20130290628A1 (en) | Method and apparatus to pin page based on server state | |
JP4616899B2 (ja) | 管理サーバ、プール増設方法および計算機システム | |
US20160224273A1 (en) | Controller and storage system | |
US20180307427A1 (en) | Storage control apparatus and storage control method | |
US11201788B2 (en) | Distributed computing system and resource allocation method | |
US20150324127A1 (en) | Storage control apparatus and storage control method | |
US9639417B2 (en) | Storage control apparatus and control method | |
US9760423B2 (en) | Storage system and control apparatus | |
JP6838299B2 (ja) | ストレージ装置、ストレージ制御装置、及びストレージ制御プログラム | |
WO2012108040A1 (ja) | ストレージ制御装置、ストレージ装置、ストレージシステム、ストレージ制御方法、及び、そのプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20190607 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20210610 |
|
A761 | Written withdrawal of application |
Free format text: JAPANESE INTERMEDIATE CODE: A761 Effective date: 20211004 |