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

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

Info

Publication number
JP6244972B2
JP6244972B2 JP2014032037A JP2014032037A JP6244972B2 JP 6244972 B2 JP6244972 B2 JP 6244972B2 JP 2014032037 A JP2014032037 A JP 2014032037A JP 2014032037 A JP2014032037 A JP 2014032037A JP 6244972 B2 JP6244972 B2 JP 6244972B2
Authority
JP
Japan
Prior art keywords
value
throughput
response time
threshold
worst
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2014032037A
Other languages
English (en)
Other versions
JP2015158725A (ja
Inventor
政智 中村
政智 中村
康太郎 仁村
康太郎 仁村
麻理恵 安部
麻理恵 安部
與志仁 紺田
與志仁 紺田
秀夫 ▲高▼橋
秀夫 ▲高▼橋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2014032037A priority Critical patent/JP6244972B2/ja
Priority to US14/607,682 priority patent/US20150242131A1/en
Publication of JP2015158725A publication Critical patent/JP2015158725A/ja
Application granted granted Critical
Publication of JP6244972B2 publication Critical patent/JP6244972B2/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/061Improving I/O performance
    • G06F3/0611Improving I/O performance in relation to response time
    • 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/0689Disk arrays, e.g. RAID, JBOD

Description

本発明は、ストレージ制御装置、ストレージ装置及びストレージ制御プログラムに関する。
ストレージ装置で用いられるHDD(Hard Disk Drive)のアクセス時間には、シーク時間、回転待ち時間及びデータ転送時間が含まれる。このうち、シーク時間が最も時間がかかる。そこで、シーク時間を短縮する従来技術として、ディスク内の領域を複数のゾーンに区切り、特定のゾーンへアクセスするコマンドを連続して発行することで、シークロスを抑える技術がある。
また、シーク時間を短縮する従来技術として、上位計算機から送出されたコマンドをデータのアドレスにより連続領域をアクセスするように並び替える技術がある。また、ヘッダが位置付けされているシリンダに最も近いシリンダをアクセスするコマンドの処理順位を最優先とするコマンドリオーダリングにより優先順位を低くされたコマンドがタイムアウトとならないようにする従来技術がある。
また、コマンドキューイング機能を有する装置に対して発行済で且つ終了報告を受けていないコマンド数が制限数より小さくない場合には新たなコマンドを発行しない従来技術がある。
特開2008−16027号公報 特開平6−259198号公報 特開平5−134810号公報 特開2000−99446号公報
しかしながら、ディスク内の領域を複数のゾーンに区切り、特定のゾーンへアクセスするコマンドを連続して発行する技術には、コマンドの沈み込みが発生するという問題がある。ここで、コマンドの沈み込みとは、あるコマンドの発行が他のコマンドの発行により長く待たされることを意味する。
図18は、コマンドの沈み込みの一例を示す図である。図18は、20個のゾーンキュー0〜ゾーンキュー19があり、ゾーンキュー0には51個のコマンドがある場合を示す。また、1つのゾーンキューから連続して発行されるコマンドの最大数を示す閾値は50であるとする。
図18において、ゾーンキュー0から50個のコマンドが発行されると、コマンドが発行されるゾーンキューが切り替えられる。したがって、ゾーンキュー0の51番目のコマンドは最大で閾値(50)×(ゾーン数(20)−1)=950個のコマンドの発行を待つ必要があり、コマンドの沈み込みが発生する。
コマンドの沈み込みを防ぐためには、閾値の値を小さくすることが考えられるが、閾値の値が小さすぎると、コマンドが発行されるゾーンキューの切り替えが頻繁に発生し、ゾーンキューを用いる利点がなくなる。
本発明は、1つの側面では、ゾーン分割によりディスクアクセス時のシークロスを改善する機能において、ゾーン分割の効果を維持しつつ、コマンドの沈み込みを防ぐことを目的とする。
本願の開示するストレージ制御装置は、1つの態様において、記憶領域を分割して得られるゾーン毎にコマンドをキューイングして各ゾーンのキューから連続してコマンドを発行するストレージ制御装置である。ストレージ制御装置は、前記記憶領域へシーケンシャルアクセスが行われているかランダムアクセスが行われているかを判定する判定部と、前記判定部による判定結果に基づいて応答時間を優先すべきかスループットを優先すべきかを判断する判断部とを備える。また、ストレージ制御装置は、前記判断部が応答時間を優先すべきと判断した場合には、1つのゾーンへのコマンドの連続発行数の閾値を所定の値より小さな値に更新し、前記判断部がスループットを優先すべきと判断した場合には、前記閾値を前記所定の値より大きな値に更新する更新部を備える。また、ストレージ制御装置は、前記更新部により更新される閾値に基づいて各ゾーンからのコマンドの発行を制御する発行制御部を備える。
1実施態様によれば、ゾーン分割の効果を維持しつつ、コマンドの沈み込みを防ぐことができる。
図1は、実施例1に係るストレージディスクアレイ装置の構成を示す図である。 図2は、CMファームウェアの格納場所とCPUによるCMファームウェアの実行を示す図である。 図3は、HDDドライブ部の機能構成を示す図である。 図4は、キューイング動作例を示す図である。 図5は、デキュー動作例を示す図である。 図6は、シーケンシャルアクセスの判定方法の一例を示す図である。 図7は、モード判断方法を示す図である。 図8は、各モードに対応する閾値例を示す図である。 図9は、モード判断処理のフローを示すフローチャートである。 図10は、コマンド受信処理のフローを示すフローチャートである。 図11は、コマンド発行処理のフローを示すフローチャートである。 図12は、実施例2に係るHDDドライブ部の機能構成を示す図である。 図13は、調整値記憶部が記憶する調整値の一例を示す図である。 図14は、性能比に基づく調整値の一例を示す図である。 図15は、実施例2に係る閾値更新処理のフローを示すフローチャートである。 図16は、閾値の決定結果を保持する決定テーブルの一例を示す図である。 図17は、実施例3に係る閾値決定処理のフローを示すフローチャートである。 図18は、コマンドの沈み込みの一例を示す図である。
以下に、本願の開示するストレージ制御装置、ストレージ装置及びストレージ制御プログラムの実施例を図面に基づいて詳細に説明する。なお、実施例は開示の技術を限定するものではない。
まず、実施例1に係るストレージディスクアレイ装置の構成について説明する。ここで、ストレージディスクアレイ装置とは、複数のディスクを搭載した記憶システムである。図1は、実施例1に係るストレージディスクアレイ装置の構成を示す図である。図1に示すように、ストレージディスクアレイ装置1は、2つのCM(Controller Module)2と、2つのDE(Drive Enclosure)3とを有する。なお、ここでは説明の便宜上、2つのDEを示したが、ストレージディスクアレイ装置1は、任意の個数のDE3を有してよい。
CM2は、ストレージディスクアレイ装置1を制御するコントローラであり、二重化されている。CM2は、CA(Channel Adapter)4と、CPU(Central Processing Unit)5と、DIMM(Dual Inline Memory Module)6と、BUD(Bootup and Utility Device)7と、DI(Drive Interface)8とを有する。
CA4は、ストレージディスクアレイ装置1を使用するサーバ90とのインタフェースである。CPU(Central Processing Unit)5は、DIMM6が記憶するCMファームウェアを実行することによりストレージディスクアレイ装置1の制御機能を実現する中央処理装置である。DIMM6は、複数のDRAM(Dynamic Random Access Memory)を搭載したメモリモジュールであり、プログラムやデータを記憶する。
BUD(Bootup and Utility Device)7は、ファームウェアなどを記憶する不揮発性メモリであり、例えばSSD(Solid State Drive)である。DI8は、DE3とのインタフェースである。DE3は、4つのHDD9を搭載する記憶装置である。なお、ここでは説明の便宜上、4つのHDD9を示したが、DE3は、任意の個数のHDD9を有してよい。
図2は、CMファームウェアの格納場所とCPU5によるCMファームウェアの実行を示す図である。図2に示すように、CMファームウェア10は、BUD7に格納される。そして、CMファームウェア10は、BUD7からDIMM6のファームウェア用領域11にロードされ、CPU5によりDIMM6から読み出されて実行される。なお、DIMM6は、ファームウェア用領域11以外に、データのキャッシュに使用されるキャッシュ領域12を有する。
CMファームウェア10は、キャッシュ制御プログラム16と、RAID(Redundant Arrays of Inexpensive Disks)制御プログラム17と、HDDドライバ18を含む。キャッシュ制御プログラム16は、キャッシュ領域12を用いてキャッシュ制御を行う。RAID制御プログラム17は、DE3のRAID制御を行う。
HDDドライバ18は、サーバ90から受信したコマンドに基づいてHDD9へのコマンドの発行の制御を行う。また、HDDドライバ18は、HDD9からの応答結果をサーバ90へ送信する。
次に、HDDドライバ18がCPU5で実行されることにより実現されるHDDドライブ部の機能構成について説明する。図3は、HDDドライブ部の機能構成を示す図である。図3に示すように、HDDドライブ部20は、記憶部21と制御部22とを有する。
記憶部21は、データを記憶する領域であり、N個のゾーンキュー23と、その他キュー24と、閾値記憶部30とを有する。N個のゾーンキュー23は、ストレージディスクアレイ装置1が提供するデータ記憶領域をN個に分割して得られるN個のゾーンのそれぞれに対応付けられたキューである。各ゾーンキュー23は、各ゾーンに発行されるReadコマンド及びWriteコマンドを記憶する。
HDD9はコマンドを同時に受領できる数に上限があり、上限以上のコマンドをHDD9に発行すると、HDD9はTASK SET FULLで応答する。そのため、HDDドライブ部20は、HDD9への過剰な量のコマンド発行をしないよう、キューイング機能によって各ゾーンへのコマンド発行数の管理、制御を行う。
各ゾーンキュー23は、HDDドライブ部20の定める最大コマンド発行数を超える数のコマンドのキューイングを行っている。HDD9からのコマンド応答などによりHDD9へのコマンド発行が可能になった場合、HDDドライブ部20はゾーンキュー23の先頭よりコマンドをデキューし、HDD9に発行する。
その他キュー24は、Readコマンド及びWriteコマンド以外のコマンドをキューイングする。閾値記憶部30は、1つのゾーンキュー23から連続してデキューされるコマンド数の閾値を記憶する。
制御部22は、記憶部21を用いてHDD9へのコマンドの発行処理、HDD9からの応答に対する処理を行う。制御部22は、コマンド受信部25と、コマンド応答部26と、コマンド発行部27と、モード判断部28と、モード切替部29とを有する。
コマンド受信部25は、CA4を介してサーバ90からのコマンドを受け付け、コマンドを直ぐに発行できる場合には、HDD9にコマンドを発行する。一方、コマンドを直ぐに発行できない場合には、コマンド受信部25は、コマンドの種類とアクセス先のアドレスとに基づいてN個のゾーンキュー23とその他キュー24のいずれかにコマンドをキューイングする。
また、コマンド受信部25は、ゾーンキュー23にキューイングする際、コマンドにタイムスタンプを付加してキューの最後尾にキューイングする。タイムスタンプは、デキュー対象となるゾーンキュー23(以下、「ターゲットキュー」と呼ぶ)の選択に用いられる。また、コマンドは、ゾーン内ではFIFO(First In First Out)で処理される。
図4は、キューイング動作例を示す図である。図4は、ストレージディスクアレイ装置1が提供するデータ記憶領域を5個に分割した場合を示す。図4において、ゾーンキュー23内の長方形はコマンドを示し、長方形内の数字はタイムスタンプを示す。図4に示すように、1〜8のタイムスタンプを有するコマンドがキューイングされているときに、新たなコマンドがキューイングされる場合には、タイムスタンプ9が付加される。
図3に戻って、コマンド応答部26は、発行したコマンドに対するHDD9からの応答を受け付け、CA4を介してサーバ90へ応答する。
コマンド発行部27は、コマンドの発行が可能であり、かつ、キューイングされているコマンドがある場合には、いずれかのキューよりコマンドをデキューし、HDD9へコマンドを発行する。その際、その他キュー24に積まれるコマンドは、HDD9の制御に関するコマンドであり、優先的に実施したいコマンドである。そのため、コマンド発行部27は、その他キュー24にキューイングされている場合、その他キュー24のコマンドを優先してデキューし、その他キュー24にコマンドが無い場合には、ゾーンキュー23からデキューする。
コマンド発行部27は、ゾーンキュー23からのデキュー時にはシークロス削減のため、同じゾーンへのコマンドを連続で発行する。コマンド発行部27は、N個のゾーンキュー23のうち、ターゲットキューを保持し、デキュー時に、ターゲットキューからコマンドをデキューすることで、同一ゾーンへ連続でコマンドを発行する。
コマンド発行部27は、デキュー時にターゲットキューの更新判定を行う。具体的には、コマンド発行部27は、現ターゲットキューよりデキューされたコマンド数が閾値に達したか否を判定することによって、ターゲットキューの更新判定を行う。すなわち、コマンド発行部27は、現ターゲットキューよりデキューされたコマンド数が閾値に達した場合に、ターゲットキューの更新を行う。ここで、閾値は、静的な固定値ではなく、アクセス状況により変化する動的な値であり、モード切替部29により変更される値である。
コマンド発行部27は、各ゾーンキュー23の先頭コマンドのタイムスタンプを比較し、先頭コマンドのタイムスタンプが最も古いコマンドがキューイングされているゾーンキュー23をターゲットキューとする。
図5は、デキュー動作例を示す図である。図5では、ターゲットキューからの連続発行数の閾値が2である場合を示す。図5に示すゾーンキュー23の状態でデキューが行われる場合、5つのゾーンキュー23のうち先頭コマンドのタイムスタンプが最も古いゾーンキュー23は、タイムスタンプが1であるコマンドを記憶するゾーンキュー1である。したがって、まずゾーンキュー1がターゲットキューとして選ばれ、タイムスタンプが1と2のコマンドが発行される。
次に、5つのゾーンキュー23のうち先頭コマンドのタイムスタンプが最も古いゾーンキュー23は、タイムスタンプが3であるコマンドを記憶するゾーンキュー1であるので、ゾーンキュー1がターゲットキューとして再度選ばれる。その結果、タイムスタンプが3と4のコマンドが発行される。
次に、5つのゾーンキュー23のうち先頭コマンドのタイムスタンプが最も古いゾーンキュー23は、タイムスタンプが5であるコマンドを記憶するゾーンキュー3であるので、ゾーンキュー3がターゲットキューとして選ばれる。その結果、タイムスタンプが5と8のコマンドが発行される。
次に、5つのゾーンキュー23のうち先頭コマンドのタイムスタンプが最も古いゾーンキュー23は、タイムスタンプが6であるコマンドを記憶するゾーンキュー4であるので、ゾーンキュー4がターゲットキューとして選ばれる。その結果、タイムスタンプが6と7のコマンドが発行される。
そして最後に、5つのゾーンキュー23のうち先頭コマンドのタイムスタンプが最も古いゾーンキュー23は、タイムスタンプが9であるコマンドを記憶するゾーンキュー3であるので、ゾーンキュー3がターゲットキューとして選ばれる。その結果、タイムスタンプが9のコマンドが発行される。
このように、先頭コマンドのタイムスタンプが最も古いゾーンキュー23をターゲットキューとして選択することにより、選択したゾーンキュー23の先頭は、必ず最古のコマンドとなるため、HDDドライブ部20は、コマンドの沈み込みを抑制することができる。
図3に戻って、モード判断部28は、HDD9へのアクセス状況に基づいて応答時間を優先させるかスループットを優先させるかを判断する。ここで、応答時間は、サーバ90からコマンドを受け取ってから応答までにかかる時間であり、スループットは、単位時間あたりのキャッシュデータ転送量である。
モード判断部28は、応答時間を優先させる場合は、レスポンス優先モードであると判断し、スループットを優先させる場合は、スループット優先モードであると判断する。また、モード判断部28は、レスポンス優先モードでもスループット優先モードでもない場合は、ニュートラルモードであると判断する。
具体的には、モード判断部28は、シーケンシャルアクセスが行われているかランダムアクセスが行われているかと、Writeコマンド及びReadコマンドの比率とに基づいて、モードを判断する。シーケンシャルアクセスは連続データのアクセスであるため、同じゾーンにコマンドを連続発行することでスループット性能を向上することができる。逆に、ランダムアクセスで過度な連続発行をすると、コマンドの停滞によるレスポンス(応答時間)の低下や、レスポンスの低下によるタイムアウトの発生などがあるため、レスポンスについての考慮が必要となってくる。
また、キャッシュのデータをHDD9に書き込むWriteback処理は、Writeコマンドのホストレスポンスと非同期であるため、HDDドライブ部20の応答時間の影響を受けない。したがって、Writeコマンド中心である場合には、スループットを向上させることを優先させたい。逆に、ReadコマンドはホストレスポンスがHDDドライブ部20の応答時間の影響を受けるため、Readコマンド中心である場合には、応答時間の悪化はできるだけ避けることが望まれる。
そこで、モード判断部28は、シーケンシャルアクセスが行われている場合には、スループット優先モードであると判断する。また、モード判断部28は、ランダムアクセスが行われている場合には、Write中心であるときは、スループット優先モードであると判断し、Read中心であるときはレスポンス優先モードであると判断する。
図6は、シーケンシャルアクセスの判定方法の一例を示す図である。ストレージディスクアレイ装置1は、RLU(RAID Logical Unit)単位でサーバ90からのアクセス範囲をチェックしている。モード判断部28は、図6に示すように、連続する領域へのアクセスコマンドが一定数(例えば3)以上続いている場合に、そのRLUに対してのアクセスがシーケンシャルアクセスであると判断し、そうでなかった場合はランダムアクセスと判断する。モード判断部28は、対象となるHDD9を含むRLUのアクセス傾向をHDD9へのアクセス傾向とみなし、利用する。
また、モード判断部28は、Readコマンドの数とWriteコマンドの数の比率に基づいて、Read中心であるかWrite中心であるかを判断する。すなわち、モード判断部28は、Readコマンドがコマンド全体の一定の割合(例えば9割)以上である場合には、Read中心であると判断し、Writeコマンドがコマンド全体の一定の割合(例えば9割)以上である場合には、Write中心であると判断する。また、モード判断部28は、Read中心でもなく、Write中心でもない場合には、ReadとWriteが混在すると判断する。なお、Readコマンド数及びWriteコマンド数は、コマンドをキューイングする際にコマンド受信部25によりカウントされる。
図7は、モード判断方法を示す図である。図7に示すように、アクセスがシーケンシャルの場合には、モード判断部28は、Readコマンドの数とWriteコマンドの数の比率に関係なくスループット優先モードであると判断する。一方、アクセスがランダムである場合には、モード判断部28は、Read中心のときはレスポンス優先モードであると判断し、Write中心のときはスループット優先モードであると判断し、ReadとWriteが混在するときはニュートラルモードであると判断する。
モード切替部29は、モード判断部28によるモード判断結果に基づいて、ターゲットキューから連続して発行するコマンド数の閾値を更新する。図8は、各モードに対応する閾値例を示す図である。図8に示すように、スループット優先モードの場合には、閾値は大であり、例えば40である。ニュートラルモードの場合には、閾値は中であり、例えば20である。レスポンス優先モードの場合には、閾値は小であり、例えば10である。
次に、モード判断処理のフローについて説明する。図9は、モード判断処理のフローを示すフローチャートである。図9に示すように、モード判断部28は、まず、アクセスの状態を取得する(ステップS1)。そして、モード判断部28は、アクセスの状態がランダムであるかシーケンシャルであるかを判断する(ステップS2)。その結果、モード判断部28は、アクセスの状態がシーケンシャルである場合には、スループット優先モードであると判断する(ステップS3)。
一方、アクセスの状態がシーケンシャルでない場合には、モード判断部28は、Writeコマンド数とReadコマンド数の比率を計算し(ステップS4)、Write中心であるか否かを判定する(ステップS5)。その結果、モード判断部28は、Write中心である場合には、スループット優先モードであると判断し(ステップS3)、Write中心でない場合には、Read中心であるか否かを判断する(ステップS6)。その結果、モード判断部28は、Read中心である場合には、レスポンス優先モードであると判断し(ステップS7)、Read中心でない場合には、ニュートラルモードであると判断する(ステップS8)。
このように、モード判断部28がモードを判断することによって、モード切替部29はターゲットキューから連続して発行するコマンド数の閾値をモードに基づいて動的に変更することができる。
次に、コマンド受信処理のフローについて説明する。図10は、コマンド受信処理のフローを示すフローチャートである。図10に示すように、コマンド受信部25は、コマンドを受信すると、キューイングが必要であるか否かを判定し(ステップS11)、キューイングが必要でない場合には、HDD9へコマンドを発行する(ステップS16)。
一方、キューイングが必要である場合には、コマンド受信部25は、受信したコマンドがReadコマンド又はWriteコマンドであるか否かを判定する(ステップS12)。その結果、ReadコマンドでもWriteコマンドでもない場合には、コマンド受信部25は、コマンドをその他キュー24の末尾にキューイングする(ステップS13)。
一方、Readコマンド又はWriteコマンドである場合には、コマンド受信部25は、コマンドがアクセスする領域を含むゾーン(x)を特定し(ステップS14)、コマンドにタイムスタンプを付加してゾーン(x)のゾーンキュー23の末尾にキューイングする(ステップS15)。
このように、コマンド受信部25がコマンドをゾーンキュー23にキューイングすることによって、コマンド発行部27は同一ゾーンにアクセスするコマンドを連続して発行することができる。
次に、コマンド発行処理のフローについて説明する。図11は、コマンド発行処理のフローを示すフローチャートである。図11に示すように、コマンド発行部27は、HDD9よりコマンド応答があると、コマンドが発行可能か否かを判定する(ステップS21)。その結果、コマンドが発行可能でない場合には、コマンド発行部27は、処理を終了する。
一方、コマンドが発行可能である場合には、コマンド発行部27は、キューイングコマンドがあるか否かを判定し(ステップS22)、キューイングコマンドがない場合には、処理を終了する。
一方、キューイングコマンドがある場合には、コマンド発行部27は、その他キュー24にコマンドがあるか否かを判定する(ステップS23)。その結果、その他キュー24にコマンドがある場合には、コマンド発行部27は、その他キュー24の先頭からデキューし(ステップS24)、HDD9へコマンドを発行する(ステップS25)。
一方、その他キュー24にコマンドがない場合には、コマンド発行部27は、ターゲットキューの先頭からデキューし(ステップS26)、HDD9へコマンドを発行する(ステップS27)。そして、コマンド発行部27は、連続発行数をインクリメントし(ステップS28)、連続発行数を閾値と比較することにより、ターゲットキューを更新するか否かを判定する(ステップS29)。その結果、ターゲットキューを更新しない場合には、コマンド発行部27は、処理を終了する。
一方、ターゲットキューを更新する場合には、コマンド発行部27は、先頭のコマンドが最古のゾーンキュー23をターゲットキューに変更し(ステップS30)、連続発行数を0リセットする(ステップS31)。そして、モード判断部28がモードを判断し、モード切替部29がモードに基づいて連続発行数の閾値を更新する(ステップS32)。
このように、ターゲットキューを更新する際に、モード判断部28がモードを判断し、モード切替部29がモードに基づいて連続発行数の閾値を更新することによって、HDDドライブ部20は、連続発行数の閾値を動的に変更することができる。
上述してきたように、実施例1では、モード判断部28がHDD9へのアクセス状況に基づいて応答時間を優先させるかスループットを優先させるか判断し、モード切替部29がモード判断部28の判断結果に基づいて連続発行数の閾値を更新する。したがって、HDDドライブ部20は、ゾーン分割の効果を維持しつつ、コマンドの沈み込みを防ぐことができる。
また、実施例1では、モード判断部28は、シーケンシャルアクセスが行われているかランダムアクセスが行われているか及びReadコマンド数とWriteコマンド数の比に基づいて応答時間を優先させるかスループットを優先させるかを判断する。したがって、モード判断部28は、HDD9へのアクセス状況に基づいて適切にモードを判断することができる。
ところで、上記実施例1では、HDD9に発行されるコマンドの傾向に基づいて連続発行回数の閾値を変更したが、ストレージディスクアレイ装置1の要件として、維持したい性能値がある場合がある。例えば、タイムアウトを防ぐためにある時間内にサーバ90に応答してほしい、あるいは、処理が停滞しないよう、一定以上のスループットを維持したいなどの性能値がある。そこで、実施例2では、予め装置として優先したい性能の種類と、応答時間とスループットの性能の最悪値及び目標値とを持ち、これらの値と実測値との比較を基に閾値を調整することで、性能値を達成するストレージディスクアレイ装置について説明する。
なお、最悪値は、この値を下回ったら、早急に改善する必要のある性能値であり、例えばタイムアウトの危険が出てくる応答時間などである。目標値は、装置として、可能な限り達成したい性能値である。実測値は、装置内で採取している装置の実際の性能値である。また、各性能の実測値の取り方は、応答時間については直近の3コマンドの応答時間の平均とし、スループットについては性能採取を実施した時点のスループット性能のスナップショットとする。
まず、実施例2に係るHDDドライブ部の機能構成について説明する。図12は、実施例2に係るHDDドライブ部の機能構成を示す図である。なお、ここでは説明の便宜上、図3に示した各部と同様の役割を果たす機能部については同一符号を付すこととしてその詳細な説明を省略する。
図12に示すように、HDDドライブ部40の記憶部41は、N個のゾーンキュー23と、その他キュー24と、閾値記憶部30と、性能値記憶部43と、調整値記憶部44とを有する。性能値記憶部43は、優先したい性能の種類である優先項目として、レスポンス優先、スループット優先又はニュートラルを記憶し、応答時間とスループットについてそれぞれ最悪値及び目標値を記憶する。ユーザは、優先項目、最悪値及び目標値を設定してもよいし、性能値記憶部43に予め設定されているものを利用してもよい。
調整値記憶部44は、優先項目毎に閾値の調整値を記憶する。図13は、調整値記憶部44が記憶する調整値の一例を示す図である。図13に示すように、調整値記憶部44は、レスポンス優先、スループット優先及びニュートラルの場合について、応答時間及びスループットの実測値と最悪値及び目標値との関係に基づく調整値を3つの参照テーブルで記憶する。
具体的には、優先項目毎に各テーブルで、スループットの実測値が最悪値より小さい場合、スループットの実測値が最悪値以上で目標値以下の場合及びスループットの実測値が目標値より大きい場合のそれぞれについて、応答時間を場合分けして調整値を記憶する。応答時間の場合分けとしては、応答時間の実測値が最悪値より大きい場合、応答時間の実測値が目標値以上で最悪値以下の場合及び応答時間の実測値が目標値より小さい場合がある。なお、図13において、スループットの実測値は「スループット」で表され、応答時間の実測値は「応答時間」で表される。
調整値は、プラスの場合、ターゲットキューからのコマンドの連続発行数を増加させるので、スループットを改善し、マイナスの場合、ターゲットキューからのコマンドの連続発行数を減少させるので、応答時間を改善する。
例えば、レスポンス優先において、スループットの実測値が最悪値より小さく、応答時間の実測値が最悪値より大きい場合は、応答時間を短くする必要があるので、閾値を小さくする必要があり、調整値は−2である。一方、スループット優先において、スループットの実測値が最悪値より小さく、応答時間の実測値が最悪値より大きい場合は、スループットを大きくする必要があるので、閾値を大きくする必要があり、調整値は+2である。
また、レスポンス優先において、スループットが目標値より大きく、応答時間が目標値より小さい場合は、どちらも目標を上回っているがレスポンス優先なので、調整値は−1である。一方、スループット優先において、スループットが目標値より大きく、応答時間が目標値より小さい場合は、どちらも目標を上回っているがスループット優先なので、調整値は+1である。
また、ニュートラルにおいて、スループットと応答時間の両方が最悪値より悪い場合は、調整値はスループットと応答時間の最悪値との性能比に基づく値となる。一方、スループットと応答時間の両方が目標値を上回っている場合又はスループットと応答時間の両方が最悪値と目標値の範囲にある場合は、調整値はスループットと応答時間の目標値との性能比に基づく値となる。
図14は、性能比に基づく調整値の一例を示す図である。図14に示すように、スループットと応答時間の両方が最悪値より悪い場合は、調整値はスループットと応答時間の最悪値に対する実測値の比に基づいて比率が悪い方を改善するような値となる。また、スループットと応答時間の両方が目標値を上回っている場合又はスループットと応答時間の両方が最悪値と目標値の範囲にある場合は、調整値はスループットと応答時間の目標値に対する実測値の比に基づいて比率が悪い方をより良くするような値となる。なお、性能比に基づく調整値も調整値記憶部44に記憶される。
図12に戻って、HDDドライブ部40の制御部42は、コマンド受信部25と、コマンド応答部26と、コマンド発行部27と、閾値調整部45とを有する。閾値調整部45は、性能値記憶部43及び調整値記憶部44に基づいてターゲットキューからのコマンドの連続発行数の閾値を更新する。なお、閾値の初期値は、例えば30などの所定の値である。
次に、実施例2に係る閾値更新処理のフローについて説明する。図15は、実施例2に係る閾値更新処理のフローを示すフローチャートである。図15に示すように、閾値調整部45は、スループット性能及びレスポンス性能を取得する(ステップS51)。ここで、スループット性能は、スループットの実測値であり、レスポンス性能は、応答時間の実測値である。
そして、閾値調整部45は、レスポンス性能と最悪値及び目標値を比較し(ステップS52)、スループット性能と最悪値及び目標値を比較する(ステップS53)。そして、閾値調整部45は、優先項目を確認し、参照テーブルを決定する(ステップS54)。そして、閾値調整部45は、レスポンス性能及びスループット性能それぞれについて最悪値及び目標値との比較結果で参照テーブルを引き、閾値の調整値を決定する(ステップS55)。
また、閾値調整部45は、参照テーブルを引いた結果、スループット性能比とレスポンス性能比の比較が必要か否かを判定する(ステップS56)。ここで、スループット性能比は、スループットの実測値と目標値又は最悪値との比であり、レスポンス性能比は、応答時間の実測値と目標値又は最悪値との比である。ただし、スループット性能比が実測値と目標値との比であれば応答性能比も実測値と目標値との比であり、スループット性能比が実測値と最悪値との比であれば応答性能比も実測値と最悪値との比である。
そして、閾値調整部45は、スループット性能比とレスポンス性能比の比較が必要であると判断した場合には、スループット性能比とレスポンス性能比を比較し、閾値の調整値を決定する(ステップS57)。
そして、閾値調整部45は、決定した調整値を用いて閾値を更新する(ステップS58)。
上述してきたように、実施例2では、閾値調整部45は、応答時間及びスループットについての目標値及び最悪値に基づいて閾値を更新する。したがって、HDDドライブ部40は、装置の要件として維持したい性能値がある場合に、性能値を維持するようにHDD9へのコマンド発行を制御することができる。
また、実施例2では、応答時間を優先すべきでもスループットを優先すべきでもない場合に、応答時間もスループットも最悪値より悪いときは、応答時間の最悪値に対する比とスループットの最悪値に対する比に基づいて閾値を更新する。したがって、HDDドライブ部40は、応答時間とスループットのうち最悪値に対する性能比が悪い方を改善することができる。
また、実施例2では、応答時間を優先すべきでもスループットを優先すべきでもない場合に、応答時間もスループットも目標値より良いときは、応答時間の目標値に対する比とスループットの目標値に対する比に基づいて閾値を更新する。したがって、HDDドライブ部40は、応答時間とスループットのうち目標値に対する性能比が悪い方を改善することができる。
また、実施例2では、応答時間を優先すべきでもスループットを優先すべきでもない場合に、応答時間もスループットも目標値と最悪値の範囲内であるときは、応答時間の目標値に対する比とスループットの目標値に対する比に基づいて閾値を更新する。したがって、HDDドライブ部40は、応答時間とスループットのうち目標値に対する性能比が悪い方を改善することができる。
実施例1では、応答時間を優先すべきかスループットを優先すべきかを判断して閾値を決定する場合について説明し、実施例2では、応答時間及びスループットについての目標値及び最悪値に基づいて閾値を更新する場合について説明した。実施例1と実施例2は、それぞれ実施することが可能であるが、実施例1と実施例2を組み合わせることもできる。そこで、実施例3では、実施例1と実施例2を組み合わせる場合について説明する。
実施例3に係るHDDドライブ部は、実施例1に基づいて閾値の基準値を決定し、実施例2に基づいて閾値の調整値を決定する。図16は、閾値の決定結果を保持する決定テーブルの一例を示す図である。
図16に示すように、実施例3に係るHDDドライブ部は、実施例1に基づいてスループット優先であるかレスポンス優先であるかニュートラルであるかを判断し、閾値の基準値を決定する。例えば、実施例3に係るHDDドライブ部は、スループット優先である場合には閾値の基準値を40とし、ニュートラルである場合には閾値の基準値を20とし、レスポンス優先である場合には閾値の基準値を10とする。
そして、実施例3に係るHDDドライブ部は、実施例2に基づいて優先項目並びに応答時間及びスループットの実測値と目標値及び最悪値から調整値を決定する。例えば、実施例3に係るHDDドライブ部は、スループット優先である場合には閾値の調整値を3とし、ニュートラルである場合には閾値の調整値を−3とし、レスポンス優先である場合には閾値の調整値を2とする。ただし、調整値の範囲は例えば絶対値で5以内とする。
そして、実施例3に係るHDDドライブ部は、基準値と調整値の合計を閾値とする。例えば、実施例3に係るHDDドライブ部は、スループット優先である場合には閾値を43とし、ニュートラルである場合には閾値を17とし、レスポンス優先である場合には閾値を12とする。
なお、各モードの調整値を決定テーブルとして保持しておく理由は、"スループット優先→ニュートラル→スループット優先"といったように、再びあるモードに戻ってきた時に、以前にそのモードであった時の調整結果をHDDドライブ部が再利用するためである。
次に、実施例3に係る閾値決定処理のフローについて説明する。図17は、実施例3に係る閾値決定処理のフローを示すフローチャートである。図17に示すように、モード判断部28は、まず、アクセスの状態を取得する(ステップS61)。そして、モード判断部28は、アクセスの状態がランダムであるかシーケンシャルであるかを判断する(ステップS62)。その結果、モード判断部28は、アクセスの状態がシーケンシャルである場合には、モードをスループット優先モードに設定する(ステップS63)。
一方、アクセスの状態がシーケンシャルでない場合には、モード判断部28は、Writeコマンド数とReadコマンド数の比率を計算し(ステップS64)、Write中心であるか否かを判定する(ステップS65)。その結果、モード判断部28は、Write中心である場合には、モードをスループット優先モードに設定し(ステップS63)、Write中心でない場合には、Read中心であるか否かを判定する(ステップS66)。その結果、モード判断部28は、Read中心である場合には、モードをレスポンス優先モードに設定し(ステップS67)、Read中心でない場合には、モードをニュートラルモードに設定する(ステップS68)。
そして、実施例3に係るHDDドライブ部は、モードが変わらないか否かを判定し(ステップS69)、モードが変わる場合には、基準値に基づいて閾値を決定する(ステップS77)。
一方、モードが変わらない場合には、閾値調整部45は、スループット性能及びレスポンス性能を取得する(ステップS70)。そして、閾値調整部45は、レスポンス性能と最悪値及び目標値を比較し(ステップS71)、スループット性能と最悪値及び目標値を比較する(ステップS72)。そして、閾値調整部45は、優先項目を確認し、参照テーブルを決定する(ステップS73)。そして、閾値調整部45は、レスポンス性能及びスループット性能それぞれについて最悪値及び目標値との比較結果で参照テーブルを引き、閾値の調整値を決定する(ステップS74)。
また、閾値調整部45は、参照テーブルを引いた結果、スループット性能比とレスポンス性能比の比較が必要か否かを判定する(ステップS75)。そして、閾値調整部45は、スループット性能比とレスポンス性能比の比較が必要であると判断した場合には、スループット性能比とレスポンス性能比を比較し、閾値の調整値を決定する(ステップS76)。そして、閾値調整部45は、決定した基準値及び調整値を用いて閾値を更新する(ステップS77)。
上述してきたように、実施例3に係るHDDドライブ部は、実施例1に基づいて決定した基準値と、実施例2に基づいて決定した調整値を用いて閾値を決定する。したがって、実施例3に係るHDDドライブ部は、HDD9へのアクセス状況に基づいて適切な閾値を決定することができる。
また、実施例では、ストレージディスクアレイ装置について説明したが、本発明はこれに限定されるものではなく、シーク動作を行う記憶装置を用いるストレージ装置にも同様に適用することができる。
1 ストレージディスクアレイ装置
2 CM
3 DE
4 CA
5 CPU
6 DIMM
7 BUD
8 DI
9 HDD
10 CMファームウェア
11 ファームウェア用領域
12 キャッシュ領域
16 キャッシュ制御プログラム
17 RAID制御プログラム
18 HDDドライバ
20,40 HDDドライブ部
21,41 記憶部
22,42 制御部
23 ゾーンキュー
24 その他キュー
25 コマンド受信部
26 コマンド応答部
27 コマンド発行部
28 モード判断部
29 モード切替部
30 閾値記憶部
43 性能値記憶部
44 調整値記憶部
45 閾値調整部

Claims (10)

  1. 記憶領域を分割して得られるゾーン毎にコマンドをキューイングして各ゾーンのキューから連続してコマンドを発行するストレージ制御装置において、
    前記記憶領域へシーケンシャルアクセスが行われているかランダムアクセスが行われているかを判定する判定部
    前記判定部による判定結果に基づいて応答時間を優先すべきかスループットを優先すべきかを判断する判断部と、
    前記判断部が応答時間を優先すべきと判断した場合には、1つのゾーンへのコマンドの連続発行数の閾値を所定の値より小さな値に更新し、前記判断部がスループットを優先すべきと判断した場合には、前記閾値を前記所定の値より大きな値に更新する更新部と、
    前記更新部により更新される閾値に基づいて各ゾーンからのコマンドの発行を制御する発行制御部と、
    を備えたことを特徴とするストレージ制御装置。
  2. 前記判定部は、ランダムアクセスが行われていると判定した場合に、リードコマンドとライトコマンドの数の比率に基づいて書き込み中心か読出し中心かを判定し、
    前記判断部は、前記判定部により書き込み中心のランダムアクセスが行われていると判定された場合に、スループットを優先すると判断し、前記判定部により読み出し中心のランダムアクセスが行われていると判定された場合に、応答時間を優先すると判断することを特徴とする請求項に記載のストレージ制御装置。
  3. 前記更新部は、応答時間及びスループットそれぞれについて、最悪値より悪い場合、最悪値と目標値の範囲内である場合、目標値よりも良い場合のいずれであるかを判定し、判定結果に基づいて前記閾値を更新し、応答時間を優先すべきでもスループットを優先すべきでもない場合に、応答時間もスループットも最悪値より悪いときは、応答時間の最悪値に対する比とスループットの最悪値に対する比に基づいて前記閾値を更新することを特徴とする請求項に記載のストレージ制御装置。
  4. 前記更新部は、応答時間及びスループットそれぞれについて、最悪値より悪い場合、最悪値と目標値の範囲内である場合、目標値よりも良い場合のいずれであるかを判定し、判定結果に基づいて前記閾値を更新し、応答時間を優先すべきでもスループットを優先すべきでもない場合に、応答時間もスループットも目標値より良いとき、又は応答時間もスループットも目標値と最悪値の範囲内であるときは、応答時間の目標値に対する比とスループットの目標値に対する比に基づいて前記閾値を更新することを特徴とする請求項に記載のストレージ制御装置。
  5. 記憶装置と該記憶装置を分割して得られるゾーン毎にコマンドをキューイングして各ゾーンのキューから連続してコマンドを発行するストレージ制御装置とを有するストレージ装置において、
    前記ストレージ制御装置は、
    前記記憶装置へシーケンシャルアクセスが行われているかランダムアクセスが行われているかを判定する判定部と、
    前記判定部による判定結果に基づいて応答時間を優先すべきかスループットを優先すべきかを判断する判断部と、
    前記判断部が応答時間を優先すべきと判断した場合には、1つのゾーンへのコマンドの連続発行数の閾値を所定の値より小さな値に更新し、前記判断部がスループットを優先すべきと判断した場合には、前記閾値を前記所定の値より大きな値に更新する更新部と、
    前記更新部により更新される閾値に基づいて各ゾーンからのコマンドの発行を制御する発行制御部と
    を備えたことを特徴とするストレージ装置。
  6. 記憶領域を分割して得られるゾーン毎にコマンドをキューイングして各ゾーンのキューから連続してコマンドを発行するストレージ制御プログラムにおいて、
    前記記憶領域へシーケンシャルアクセスが行われているかランダムアクセスが行われているかを判定し、
    判定結果に基づいて応答時間を優先すべきかスループットを優先すべきかを判断し、
    応答時間を優先すべきと判断した場合には、1つのゾーンへのコマンドの連続発行数の閾値を所定の値より小さな値に更新し、スループットを優先すべきと判断した場合には、前記閾値を前記所定の値より大きな値に更新し、
    更新した閾値に基づいて各ゾーンからのコマンドの発行を制御する
    処理をコンピュータに実行させることを特徴とするストレージ制御プログラム。
  7. 前記更新部は、応答時間及びスループットそれぞれについて、最悪値より悪い場合、最悪値と目標値の範囲内である場合、目標値よりも良い場合のいずれであるかを判定し、判定結果に基づいて前記閾値を更新し、応答時間を優先すべきでもスループットを優先すべきでもない場合に、応答時間もスループットも最悪値より悪いときは、応答時間の最悪値に対する比とスループットの最悪値に対する比に基づいて前記閾値を更新することを特徴とする請求項5に記載のストレージ装置。
  8. 前記更新部は、応答時間及びスループットそれぞれについて、最悪値より悪い場合、最悪値と目標値の範囲内である場合、目標値よりも良い場合のいずれであるかを判定し、判定結果に基づいて前記閾値を更新し、応答時間を優先すべきでもスループットを優先すべきでもない場合に、応答時間もスループットも目標値より良いとき、又は応答時間もスループットも目標値と最悪値の範囲内であるときは、応答時間の目標値に対する比とスループットの目標値に対する比に基づいて前記閾値を更新することを特徴とする請求項5に記載のストレージ装置。
  9. 前記更新する処理は、応答時間及びスループットそれぞれについて、最悪値より悪い場合、最悪値と目標値の範囲内である場合、目標値よりも良い場合のいずれであるかを判定し、判定結果に基づいて前記閾値を更新し、応答時間を優先すべきでもスループットを優先すべきでもない場合に、応答時間もスループットも最悪値より悪いときは、応答時間の最悪値に対する比とスループットの最悪値に対する比に基づいて前記閾値を更新することを特徴とする請求項6に記載のストレージ制御プログラム。
  10. 前記更新する処理は、応答時間及びスループットそれぞれについて、最悪値より悪い場合、最悪値と目標値の範囲内である場合、目標値よりも良い場合のいずれであるかを判定し、判定結果に基づいて前記閾値を更新し、応答時間を優先すべきでもスループットを優先すべきでもない場合に、応答時間もスループットも目標値より良いとき、又は応答時間もスループットも目標値と最悪値の範囲内であるときは、応答時間の目標値に対する比とスループットの目標値に対する比に基づいて前記閾値を更新することを特徴とする請求項6に記載のストレージ制御プログラム。
JP2014032037A 2014-02-21 2014-02-21 ストレージ制御装置、ストレージ装置及びストレージ制御プログラム Expired - Fee Related JP6244972B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2014032037A JP6244972B2 (ja) 2014-02-21 2014-02-21 ストレージ制御装置、ストレージ装置及びストレージ制御プログラム
US14/607,682 US20150242131A1 (en) 2014-02-21 2015-01-28 Storage control device and storage apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014032037A JP6244972B2 (ja) 2014-02-21 2014-02-21 ストレージ制御装置、ストレージ装置及びストレージ制御プログラム

Publications (2)

Publication Number Publication Date
JP2015158725A JP2015158725A (ja) 2015-09-03
JP6244972B2 true JP6244972B2 (ja) 2017-12-13

Family

ID=53882235

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014032037A Expired - Fee Related JP6244972B2 (ja) 2014-02-21 2014-02-21 ストレージ制御装置、ストレージ装置及びストレージ制御プログラム

Country Status (2)

Country Link
US (1) US20150242131A1 (ja)
JP (1) JP6244972B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11942110B2 (en) 2022-08-31 2024-03-26 Kabushiki Kaisha Toshiba Magnetic disk device and command processing method

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022047619A1 (en) * 2020-09-01 2022-03-10 Micron Technology, Inc. Dynamically tuning host performance booster thresholds

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3648311B2 (ja) * 1995-12-12 2005-05-18 富士通株式会社 ディスクアレイ装置
JP2002023962A (ja) * 2000-07-07 2002-01-25 Fujitsu Ltd ディスク装置及び制御方法
JP3812405B2 (ja) * 2001-10-25 2006-08-23 株式会社日立製作所 ディスクアレイシステム
JP2008250961A (ja) * 2007-03-30 2008-10-16 Nec Corp 記憶媒体の制御装置、データ記憶装置、データ記憶システム、方法、及び制御プログラム
JP5521610B2 (ja) * 2010-02-15 2014-06-18 日本電気株式会社 入出力制御装置、入出力制御方法
US8239589B1 (en) * 2010-03-31 2012-08-07 Amazon Technologies, Inc. Balancing latency and throughput for shared resources
US8863139B2 (en) * 2011-04-12 2014-10-14 Hitachi, Ltd. Management system and management method for managing a plurality of storage subsystems
JP5938968B2 (ja) * 2012-03-19 2016-06-22 富士通株式会社 情報処理装置、情報処理プログラム及び情報処理方法
JP5678923B2 (ja) * 2012-06-20 2015-03-04 日本電気株式会社 ストレージシステム、入出力制御装置、入出力制御方法、および、コンピュータ・プログラム
JP6051617B2 (ja) * 2012-06-28 2016-12-27 富士通株式会社 制御装置、ストレージ装置、制御方法及び制御プログラム
JP5949224B2 (ja) * 2012-06-29 2016-07-06 富士通株式会社 ストレージ制御装置、該プログラム及び該方法
US9032165B1 (en) * 2013-04-30 2015-05-12 Amazon Technologies, Inc. Systems and methods for scheduling write requests for a solid state storage device

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11942110B2 (en) 2022-08-31 2024-03-26 Kabushiki Kaisha Toshiba Magnetic disk device and command processing method

Also Published As

Publication number Publication date
JP2015158725A (ja) 2015-09-03
US20150242131A1 (en) 2015-08-27

Similar Documents

Publication Publication Date Title
US11487661B2 (en) Converged memory device and operation method thereof
US7293136B1 (en) Management of two-queue request structure for quality of service in disk storage systems
CN111258497B (zh) 存储系统及其操作方法、以及包括存储介质的物品
US9846541B2 (en) Memory system for controlling perforamce by adjusting amount of parallel operations
US7363399B2 (en) Method, apparatus and computer program product providing storage network dynamic tuning of I/O flow with Queue Depth
JP5625114B2 (ja) マルチチャネルdramシステムにおける負荷分散方式
US10776013B2 (en) Performing workload balancing of tracks in storage areas assigned to processing units
EP2884396A1 (en) Storage control apparatus, storage control program, and storage control method
EP1909163A2 (en) Storage apparatus and load balancing method
CN107797763B (zh) 固态驱动器、驱动器和控制固态驱动器的方法
EP3869318A1 (en) Storage devices configured to support multiple hosts and operation methods thereof
US20200348871A1 (en) Memory system, operating method thereof and computing system for classifying data according to read and write counts and storing the classified data in a plurality of types of memory devices
JP6244972B2 (ja) ストレージ制御装置、ストレージ装置及びストレージ制御プログラム
US11455124B2 (en) Command prioritization to reduce latencies of zone commands
JP2010108300A (ja) 情報処理システム、及び情報処理システムにおけるi/oのパスへの割り当て方法
US10936534B2 (en) Converged memory device and method thereof
JP5949224B2 (ja) ストレージ制御装置、該プログラム及び該方法
US20230094144A1 (en) Memory system
US20220138117A1 (en) System and method for dynamically adjusting priority-based allocation of storage system resources
US11709626B2 (en) Scheduling storage system tasks to promote low latency and sustainability
JP6848278B2 (ja) ストレージ管理装置、性能調整方法及び性能調整プログラム
JP4872942B2 (ja) ストレージシステム、ストレージ装置、優先度制御装置および優先度制御方法
KR20190005135A (ko) 비휘발성 메모리의 데이터 스와핑 방법 및 장치
KR101490072B1 (ko) 캐시의 전력 제어를 위한 장치 및 방법
WO2016132428A1 (ja) ストレージ装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20161102

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170726

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170808

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171002

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20171030

R150 Certificate of patent or registration of utility model

Ref document number: 6244972

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees