JP6088837B2 - ストレージ制御装置、ストレージ制御方法、ストレージシステムおよびプログラム - Google Patents

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

Info

Publication number
JP6088837B2
JP6088837B2 JP2013024644A JP2013024644A JP6088837B2 JP 6088837 B2 JP6088837 B2 JP 6088837B2 JP 2013024644 A JP2013024644 A JP 2013024644A JP 2013024644 A JP2013024644 A JP 2013024644A JP 6088837 B2 JP6088837 B2 JP 6088837B2
Authority
JP
Japan
Prior art keywords
command
write command
write
storage
read
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
JP2013024644A
Other languages
English (en)
Other versions
JP2014154023A (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.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2013024644A priority Critical patent/JP6088837B2/ja
Priority to PCT/JP2014/053827 priority patent/WO2014126263A1/en
Publication of JP2014154023A publication Critical patent/JP2014154023A/ja
Priority to US14/821,987 priority patent/US9880749B2/en
Application granted granted Critical
Publication of JP6088837B2 publication Critical patent/JP6088837B2/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
    • 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/0673Single storage device
    • 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/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Description

本発明の実施形態は、ストレージ制御装置、ストレージ制御方法、ストレージシステムおよびプログラムに関する。
各種データを記憶する、従来のハードディスクドライブ(HDD)に代わる装置として、記憶素子としてフラッシュメモリを備える大容量ストレージ装置が知られている。このストレージ装置は一般にソリッドステートドライブ(SSD)と呼ばれる。SSDは、HDDに比べてアクセス時間が短いこと、および物理的な衝撃による故障の可能性が低いこと、などの長所を有する。しかしながら、書き込み速度は読み出し速度に比べて遅いため、読み出しコマンドの前に書き込みコマンドが集中すると、読み出しアクセスの応答時間が増大する問題を内包する。
米国特許第6115785号明細書 特開2010−102369号公報
本発明の実施形態は、ストレージ装置への読み出しアクセスの応答時間の増大を抑制することを目的とする。
本実施形態のストレージ制御装置は、受信部と、制御部とを備える。
前記受信部は、内部または外部のコマンド発行装置から、ストレージ装置に対する読み出しコマンドまたは書き込みコマンドを受信する。
前記制御部は、前記受信部で書き込みコマンドが受信されたときは、前記書き込みコマンドの1つ前に受信した書き込みコマンドの出力から少なくとも第1の間隔時間が経過するまで前記書き込みコマンドを待機させ、前記第1の間隔時間経過後、前記書き込みコマンドを出力し、前記書き込みコマンドの待機中に前記読み出しコマンドが受信されたときは、前記待機中の書き込みコマンドより先に前記読み出しコマンドを出力する。
第1の実施形態に係るストレージ搭載コンピュータの全体構成を示すブロック図。 図1に示したストレージ搭載コンピュータの詳細構成を示すブロック図。 第2の実施形態にかかるストレージ搭載コンピュータの詳細構成を示すブロック図。 第3の実施形態にかかるストレージ搭載コンピュータの詳細構成を示すブロック図。 第4の実施形態にかかるストレージ搭載コンピュータの詳細構成を示すブロック図。 第5の実施形態にかかるストレージ搭載コンピュータの詳細構成を示すブロック図。 第1の実施形態の動作を説明するためのフローチャート。 第1の実施形態に係るストレージコマンド制御部の他の構成例を示すブロック図。 第1の変形例に係るストレージ搭載コンピュータを示すブロック図。 第2の変形例に係るストレージ搭載コンピュータを示すブロック図。
まず、本発明の実施形態に係る技術的背景について説明する。
ソリッドステートドライブ(SSD:Solid State Drive)では記憶素子としてフラッシュメモリが用いられ、SSDは従来のHDDに比べアクセス時間が短い特徴を有する。一方、SSDで用いられるフラッシュメモリは、既にデータが書き込まれている領域に新たなデータを上書きすることが不可能であるという制約がある。
既にデータが書き込まれているフラッシュメモリの領域に別のデータを書き込む場合には、その領域のデータをいったん消去してから新規のデータを書き込む必要がある。
フラッシュメモリの消去は長時間かかる操作であるため、データを上書きするたびに消去を行なうと、書き込みを高速に行なえないという問題がある。
そこで、新たに書き込むデータを、あらかじめ消去してあるフラッシュメモリの別の領域に書き込む方式がある。SSDは、データがフラッシュメモリのどの領域に記憶されているかを示す管理情報を保持しており、書き込んだデータが存在する場所を示すように、この管理情報の更新をする。当該方式で書き込みを行なうことにより、上書きのたびに消去を行なう場合に比べ、データの書き込みの速度が大幅に改善される。
しかし、書き込みを繰り返した結果、あらかじめ消去してあるフラッシュメモリの領域が少なくなると、データを書き込む前にフラッシュメモリの消去を行なう必要が生じる。
このためSSDの書き込みアクセス時間は一定ではなく、消去が必要な場合は、消去が不要の場合に比べて、書き込みアクセスに長い時間が必要となる。
また、書き込みアクセスを行なっている途中で読み出しを要求したときには、書き込みアクセスが完了してから読み出しアクセスが実行される。このため、書き込みアクセスにフラッシュメモリの消去が必要な場合の遅延は、読み出しアクセスの応答時間を増大させる原因ともなる。
このような性質を有するSSDを備えたストレージシステムにおいて、読み出しアクセスの応答時間が増大することを回避する技術がある。
当該技術では、ストレージシステムはRAID構成を有し、複数のSSDにデータを冗長に保持している。
SSDの読み出しアクセスの応答時間が増大するのは、書き込みを行なっている場合である。したがって、データが冗長に保持されていることを利用し、書き込みを行なっていないSSDから読み出しを行なえば、読み出しアクセスの応答時間の増大を回避することができる。ただしこの技術を適用するには、データを冗長に保持する必要があるため、ストレージ容量の使用効率が悪い。
また、RAID 5のようにパリティにより冗長性を持たせている場合には、目的のデータを得るためにSSDから読み出しが必要なデータの量は、目的のデータの量よりも多くなる。つまり、読み出すデータの実データが、書き込み中のドライブに存在する場合、他のドライブからデータを読み出し当該データを復元する必要があるが、復元のために必要なデータ量は当該データ量よりも大きくなる。このため、ストレージシステムの読み出しのスループットは、当該技術を使わなかった場合に比べて低下する。
本発明の実施形態は、これらの問題を解決して、ストレージ装置への読み出しのスループットの低下を抑制する方式を提案する。なお、本発明の実施形態ではストレージ装置としてとりわけSSDを想定するが、これに限定されるものではなく、HDDやSDカードなど、他の装置でもかまわない。
以下、図面を参照しながら、本発明の実施形態について詳細に説明する。
(第1の実施形態)
図1は、第1の実施形態に係るストレージ搭載コンピュータを示すブロック図である。
このストレージ搭載コンピュータは、ホストシステム101とストレージシステム103とを備える。
ホストシステム101では、オペレーティングシステム上で種々のアプリケーションが実行される。これらのアプリケーションは、ストレージアクセスコマンド指示部(コマンド発行装置)102と、ストレージコマンド制御部105と、ストレージドライバ104介して、ストレージシステム103にアクセスする。これらの各要素102、105、104は、たとえばオペレーティングシステムに実装されてもよい。オペレーティングシステムの具体例として、Windows (登録商標)や Linux(登録商標)等がある。
本コンピュータの用途は特定のものに限定されないが、一例として映像ストリーミング配信用のサーバとして用いることができる。ストレージシステム103のストレージ装置106に配信用の映像データを格納しておき、図示しないクライアントにストレージ装置106内の映像データを読み出して、ネットワークを介して、ストリーミング配信する。クライアントに映像が定常して届くように、ストレージ装置106から、安定した(遅延の少ない)データの読み出しが要求される。このため、ストレージ装置106への映像データの書き込みと、クライアントへの配信時の映像データの読み出しの時間帯が重なるときは、映像データの書き込みにより、映像データの読み出しが遅延しないようにする必要がある。
ストレージアクセスコマンド指示部102は、書き込みコマンド、および読み出しコマンドを発行する。例えば、ホストシステムで動作するアプリケーションがストレージ装置106上のファイル等のデータをホストシステムに読み出す場合には、ストレージアクセスコマンド指示部102は、読み出しコマンドを発行する。一方、当該アプリケーションがストレージ装置106にファイルを書き込む場合には、ストレージアクセスコマンド指示部102は、書き込みコマンドを発行する。発行されたコマンドは、ストレージコマンド制御部105に渡される。
ストレージアクセスコマンド指示部102は、発行したコマンドを一時的に保持するバッファを備えていても良い。この場合、ストレージアクセスコマンド指示部102は、バッファ内のコマンドを、格納した順に出力する、または、ストレージコマンド制御部105に取得させる。ストレージアクセスコマンド指示部102は、ストレージシステム103と制御信号のやりとりを行ってから、コマンドを出力する構成も可能である。例えば、ストレージアクセスコマンド指示部102が、ストレージコマンド制御部105およびストレージドライバ104を介して、ストレージ装置106に制御信号を出力し、ストレージ装置106は、コマンドを受け付け可能であるとき、もしくは受け付け可能になったとき、コマンドの出力を許可する制御信号をストレージアクセスコマンド指示部102に返す。ストレージアクセスコマンド指示部102は、当該制御信号を受信したら、コマンドを出力する。
なお、ストレージアクセスコマンド指示部102は、ホストシステム上に実装されることに限定するものでなく、他のサブシステム上(例えば、他のストレージシステム上やネットワークIFシステム上など)に実装されていても良い。また、単一である必要は無く、ホストシステムおよび他のサブシステムの両方に実装されていてもよい。これは、後述する他の実施形態についても同様である。
同様に、ストレージコマンド制御部105は、単一である必要は無く、ホストシステムおよび他のサブシステムの両方に実装されていてもよい。これは、後述する他の実施形態についても同様である。
本実施形態に係るストレージコマンド制御部105は、ストレージアクセスコマンド指示部102から受けたコマンドの出力を制御し、当該コマンドを、ストレージ装置にアクセスするストレージドライバ104に出力する。ストレージドライバ104は、ストレージコマンド制御部105から受けたコマンドに基づきストレージ装置106にアクセスする。たとえばストレージドライバ104は、ストレージコマンド制御部105から受けたコマンドをストレージ装置106に適した形に変換して、ストレージ装置106に出力する。また、ストレージコマンド制御部105は、ストレージ装置106で実行されたコマンドの実行結果をストレージドライバ104を介して受け取る。ストレージコマンド制御部105は、当該実行結果を、ストレージアクセスコマンド指示部102に返す。
ストレージ装置106は、データを記憶する装置であり、例えば SSD (Solid State Drive)である。ストレージ装置106は、複数の SSD を接続した RAID システムでもよい。ストレージ装置106は、読み出し速度に比べて、書き込み速度が遅い特性を持つストレージデバイスであれば何でも良い。SDメモリカード、HDDなども考えられる。ホストシステム101とストレージシステム103の接続は、 PCI Express、Fiber Cannel、Ethernet、USB、Thunderbolt、SATA、SAS 等々ストレージを接続可能なインタフェースであれば何でも良い。
ストレージ装置106は、ストレージコマンド制御部105からストレージドライバ104を介して受けたコマンドを実行する。ストレージ装置106は、実行するコマンドを格納するバッファを備えていても良い。ストレージ装置106は、コマンドを格納した順に実行し、読み出しコマンドであれば、該当する記憶領域からデータを読み出し、ホストシステムによって指定されたメモリにデータを書き込む。書き込みコマンドであれば、データ書き込みに利用する記憶領域を特定し、特定した記憶領域に、データを書き込む。データ書き込み可能な記憶領域(データ消去済みの記憶領域)が存在しない場合は、不要なデータを消去して領域を確保し、当該確保した領域にデータを書き込む。なお、ストレージ装置は、後述するように、特定の条件が満たされた場合は、不要なデータを消去して、空き領域を確保するデータ消去処理を行うこともあり得る。
図2は、図1に示したストレージ搭載コンピュータの詳細構成を示すブロック図である。特に、ストレージコマンド制御部105の詳細な構成が示される。
ストレージアクセスコマンド指示部102は、ストレージ装置に対する書き込みコマンド、および読み出しコマンドを発行する。
発行されたコマンドはコマンド待機制御部201が受ける。コマンド待機制御部201は、コマンドを受信する受信部を含む。あるいは、ストレージアクセスコマンド指示部102からコマンドを受信する機能をコマンド待機制御部201から取り出して、図8に示すように、受信部200として設けてもよい。この場合、受信部200でストレージアクセスコマンド指示部102からコマンドを受信して、受信部200からコマンド待機制御部201にコマンドを送出する。コマンド待機制御部201は、受けたコマンドが書き込みコマンドか、読み出しコマンドかを識別する。コマンド待機制御部201は、書き込みコマンドを一時的に格納するためのバッファを備えている。
コマンド待機制御部201は、受け取ったコマンドが読み出しコマンドの場合は、当該コマンドをコマンド出力制御部203に即時に出力する。当該受け取ったコマンドが書き込みコマンドの場合は、タイマー202を用いて、当該書き込みコマンドを、直前に出力した書き込みコマンドの出力から少なくとも一定時間(第1の間隔時間)経過するまで上記バッファで待機させる。当該一定時間が経過したら、当該書き込みコマンドをバッファから出力する。
書き込みコマンドの待機中に、読み出しコマンドが受信された場合には、当該読み出しコマンドを、待機中の書き込みコマンドより先に、コマンド出力制御部203に出力する。書き込みコマンドの待機中に別の書き込みコマンドを受信した場合は、当該別の書き込みコマンドを、先に受け取った書き込みコマンドの後に当該バッファに追加する。当該別の書き込みコマンドは、1つ前の書き込みコマンドの出力から一定時間経過した後に、出力する。
書き込みコマンドの出力の間隔時間の長さは、読み出しコマンドの読み出し遅延の許容値以上であることが望ましい。すべての書き込みコマンド間で出力間隔時間を同じにしてもよい。この場合、書き込みコマンドによる書き込みデータサイズ(データ量)の最大値、最小値、中央値または平均値等に基づき、出力間隔時間を決定してもよい。直前の書き込みコマンドの書き込みサイズが大きいほど、次の書き込みコマンドに適用する間隔時間を長くしてもよい。
コマンド出力制御部203は、コマンド待機制御部201から入力されたコマンド(読み出しコマンド、または、書き込みコマンド)を、コマンド入出力部204を介して出力する。出力されたコマンドは、ストレージドライバ104によりストレージ装置106に出力される。
本実施形態の制御部は、コマンド待機制御部201およびコマンド出力制御部203を含む。当該制御部は、書き込みコマンドが受信されたときは、書き込みコマンドの1つ前に受信した書き込みコマンドの出力から少なくとも第1の間隔時間が経過するまで当該書き込みコマンドを待機させ、第1の間隔時間経過後、当該書き込みコマンドをストレージドライバ104に出力する。当該制御部は、書き込みコマンドの待機中に読み出しコマンドが受信されたときは、待機中の書き込みコマンドより先に読み出しコマンドをストレージドライバ104に出力する。
コマンド入出力部204は、ストレージ装置106で実行されたコマンドの実行結果であるコマンド応答を、ストレージドライバ104を介して受け取り、コマンド応答をコマンド応答通知部205に通知する。読み出しコマンドで読み出しが成功した場合は、読み出したデータを含むコマンド応答がコマンド応答通知部205に通知される。書き込みコマンドで書き込みが成功した場合は、書き込み完了の通知を含むコマンド応答がコマンド応答通知部205に通知される。
コマンド応答通知部205は、コマンド入力部204から通知されたコマンド応答を、ストレージアクセスコマンド指示部102に返す。
図7は、本実施形態のストレージコマンド制御部105の動作を示すフローチャートである。
ストレージアクセスコマンド指示部102からコマンドを受け取り(S11)、当該コマンドが読み出しコマンドか、書き込みコマンドかを識別する(S12)。書き込みコマンドであれば、1つ前に出力した書き込みコマンドの出力から一定時間が経過するまでに当該書き込みコマンドを待機させる(S13)。一定時間が経過したら、当該書き込みコマンドをストレージドライバ104に出力する(S14)。なお、最初の書き込みコマンドの場合は、それより先の書き込みコマンドが存在しないため、即時出力してよい。一方、読み出しコマンドが受信された場合は、当該読み出しコマンドをストレージドライバ104に即時出力する(S15)。読み出しコマンドの受信時に、待機中の書き込みコマンドがある場合は、当該待機中の書き込みコマンドより先に当該読み出しコマンドが出力される。
一例として、書き込みコマンドA、読み出しコマンドB、読み出しコマンドC、書き込みコマンドD、読み出しコマンドEの順でコマンドが受信された場合を考える。書き込みコマンドAが出力された後、読み出しコマンドB、Cが受信され、読み出しコマンドB、Cはこの順で即時出力される。読み出しコマンドCの受信後、書き込みコマンドDが受信され、書き込みコマンドDは、書き込みコマンドAが出力された後、一定時間経過するまで待機させられ、その後、出力される。書き込みコマンドDの待機中に読み出しコマンドEが受信された場合は、読み出しコマンドEが書き込みコマンドDの先に出力される。なお、書き込みコマンドDが受信された時点ですでに、書き込みコマンドAが出力された後、一定時間経過が経過していれば、書き込みコマンドDは即時出力される。
図9は、第1の変形例に係るストレージ搭載コンピュータを示すブロック図である。図1と同一名称の要素には同一の符号を付してある。図1に示した構成との違いは、ストレージコマンド制御部105とストレージシステム103の間にストレージドライバが設けられていない点にある。この場合、ストレージアクセスコマンド指示部102がストレージドライバの一部として含まれていても良い。図9の構成の場合は、ストレージコマンド制御部105からのコマンドの出力先は、ストレージドライバではなく、ストレージ装置になる。このようにストレージコマンド制御部105とストレージシステム103の間にストレージドライバを設けない構成でも本発明は実施可能である。
また、図10は、第2の変形例に係るストレージ搭載コンピュータを示すブロック図である。図1と同一名称の要素には同一の符号を付してある。図1に示した構成との違いは、ストレージコマンド制御部105がストレージシステムに設けられたことと、ストレージコマンド制御部105とストレージシステム103の間にストレージドライバが設けられていないことにある。この場合、ストレージアクセスコマンド指示部102がストレージドライバの一部として含まれていても良い。このようにストレージコマンド制御部105が、ホストシステムでなく、ストレージシステムに設けられる構成でも本発明は実施可能である。
以上、本実施形態によれば、書き込みコマンドの出力間隔を一定時間以上開けるため、読み出しコマンドの前に書き込みコマンドが連続して実行あるいは待機されることを防止できる。よって、読み出しアクセス時間(読み出し遅延)が増大する可能性を低減できる。すなわち、読み出し遅延が許容値を超えて大きくなる可能性を低減できる。なお、読み出し遅延は、ストレージアクセスコマンド指示部102が読み出しコマンドを発行または出力してから、コマンド応答を受け取るまでの時間として定義されることができるが、これに限定されるものではない。
(第2の実施形態)
図3は、第2の実施形態にかかるストレージ搭載コンピュータの詳細構成を示す。
第1の実施形態のストレージコマンド制御部に対し、コマンド実行時間測定部306と、判定部307が追加されている。ストレージコマンド制御部300内のその他の要素、すなわち、コマンド待機制御部301、タイマー302、コマンド出力制御部303、コマンド入出力部304、コマンド応答通知部305の動作は、第1の実施形態の同一名称の要素と基本的に同様であり、拡張された処理の除き、重複する説明を省略する。
コマンド実行時間測定部306は、ストレージドライバ104(図9または図10の構成の場合はストレージ装置)に出力された書き込みコマンドまたは読み出しコマンドのアクセスの応答時間の測定を行なう。コマンド出力制御部303は、読み出しコマンドまたは書き込みコマンドをコマンド入出力部304に出力するとともに、開始通知をコマンド実行時間測定部306に出力する。コマンド応答通知部305は、コマンド応答をストレージアクセスコマンド指示部102に出力するとともに、完了通知をコマンド実行時間測定部306に通知する。コマンド実行時間測定部306は、完了通知を受けた時刻と、開始通知を受けた時刻との差分を計算することにより、応答時間を測定する。
判定部307は、コマンド実行時間測定部306で測定された応答時間を閾値と比較する。応答時間が閾値より大きいときは、アクセスの応答時間が遅延していると判断できる。遅延の原因として、ストレージ装置106に、実行待ちの書き込みコマンドが多数存在する場合や、フラッシュメモリ領域のデータ消去処理が行われた場合などが考えられる。判定部307は、応答時間が閾値より大きいか否かを示す信号を、コマンド待機制御部301に出力する。
コマンド待機制御部301は、応答時間が閾値以下であること示す信号が入力された場合は、書き込みコマンドの出力間隔時間として、第1の間隔時間を用いる。一方、応答時間が閾値より大きいこと示す信号が入力された場合は、第1の間隔時間よりも大きい第2の間隔時間を用いる。閾値と応答時間との差が大きいほど、第2の間隔時間の値を大きくしてもよい。また、読み出しコマンドか、書き込みコマンドかで、異なる閾値を用いてもよい。また、読み出しコマンドよる読み出しデータ量、または書き込みコマンドよる書き込みデータ量に応じて、異なる閾値を用いてもよい。
また変形例として、閾値を用いない構成も可能である。たとえば、応答時間の長さが大きいほど、書き込みコマンド間の出力間隔を長くしてもよい。
以上、本実施形態によれば、ストレージ装置に書き込みコマンドが蓄積されることによる読み出し遅延の増大を防ぐことができる。
(第3の実施形態)
図4は、第3の実施形態にかかるストレージ搭載コンピュータの詳細構成を示す。
第1の実施形態のストレージコマンド制御部に対し、指示待ち読み出しコマンド状態取得部406と、判定部407が追加されている。ストレージコマンド制御部400内のその他の要素、すなわち、コマンド待機制御部401、タイマー402、コマンド出力制御部403、コマンド入出力部404、コマンド応答通知部405の動作は、図2の同一名称の要素と基本的に同様であり、拡張された処理の除き、重複する説明を省略する。
指示待ち読み出しコマンド状態取得部406は、ストレージアクセスコマンド指示部102内のバッファに、ストレージコマンド制御部400への出力待ちとなっている読み出しコマンドが存在するかを検査する。ストレージアクセスコマンド指示部102で読み出しコマンドが発行されたものの、ストレージコマンド制御部400へ出力されずにバッファに残っている読み出しコマンドがこれに該当する。前述したように、ストレージアクセスコマンド指示部102がストレージ装置106と制御信号をやりとした後でコマンドを出力する構成を採用した場合等に、このような状態が起こりえる。
判定部407は、ストレージアクセスコマンド指示部102で出力待ちの読み出しコマンドが存在するときは、書き込みコマンドの出力間隔時間を現在の値より大きな値に決定し(たとえば一定値だけ大きくし)、決定された値を、コマンド待機制御部401に指示する。コマンド待機制御部401は、判定部407からの指示に応じて、書き込みコマンドの出力間隔時間を変更する。
別の構成例として、指示待ち読み出しコマンド状態取得部406は、ストレージアクセスコマンド指示部102で待機させられている読み出しコマンドの個数を取得してもよい。判定部407が、当該読み出しコマンドの個数に応じて、書き込みコマンドの出力間隔時間を設定してもよい。読み出しコマンドの個数が大きいほど、書き込みコマンドの出力間隔時間の値を大きくしてもよい。
さらに別の構成例として、指示待ち読み出しコマンド状態取得部406は、ストレージアクセスコマンド指示部102で待機させられている読み出しコマンドの読み出しデータ量を取得してもよい。判定部407は、当該読み出しコマンドの読み出しデータ量の合計を計算し、合計データ量に応じて、書き込みコマンドの出力間隔時間を設定してもよい。読み出しデータ量の合計が大きいほど、書き込みコマンドの出力間隔時間の値を大きくしてもよい。
以上、本実施形態によれば、読み出しアクセスの遅延が大きいことが見込まれる場合に、読み出しコマンドの前に多くの書き込みコマンドがたまることを防止できる。よって、読み出しアクセスの遅延が増大することを抑制できる。
(第4の実施形態)
SSDにおいては、あらかじめ消去してあるフラッシュメモリの領域が少なくなると、データを書き込む前にフラッシュメモリのデータ消去を行なう必要がある。このためSSDの書き込みアクセス時間は一定ではなく、データ消去が必要な場合は、消去が不要の場合に比べて書き込みアクセスに長い時間が必要である。このようなデータ消去処理が伴う書き込みが発生する条件あるいはタイミングは、それまでの書き込みコマンドの履歴に依存し、たとえば書き込みコマンド数、および書き込みデータ量に関連性が高い。たとえば一定の書き込みデータ量の書き込みコマンドを繰り返し実行すれば、周期的かそれに近い形で、SSDでデータ消去処理が発生することが考えられる。本実施形態では、ある書き込みコマンドについて、当該書き込みコマンドの実行直前にストレージ装置でデータ消去処理が発生する可能性が高いと判断した場合、当該ある書き込みコマンドの次の書き込みコマンドに適用する出力間隔時間を大きくすることを特徴とする。以下、本実施形態の詳細を説明する。
図5は、第4の実施形態にかかるストレージ搭載コンピュータの詳細構成を示す。
第1の実施形態のストレージコマンド制御部に対し、指示待ち読み出しコマンド状態取得部506と、判定部507が追加されている。ストレージコマンド制御部500内のその他の要素、すなわち、コマンド待機制御部501、タイマー502、コマンド発行制御503、コマンド入出力部504、コマンド応答通知部505の動作は、第1の実施形態の同一名称の要素と基本的に同様であり、拡張された処理の除き、重複する説明を省略する。
指示待ち読み出しコマンド状態取得部506は、第3の実施形態と同様の動作を行うため、説明を省略する。
コマンド出力制御部503は、コマンド入出力部504に書き込みコマンドを出力するごとに、書き込みコマンドの出力の通知と、書き込みデータ量の情報を、判定部507に出力する。
判定部507は、ストレージアクセスコマンド指示部102内に待機中の読み出しコマンドが存在している場合に、当該書き込みコマンドがストレージ装置でのデータ消去処理を伴うかを判断する。すなわち、当該書き込みコマンドの実行前にデータ消去処理が行われるかを判断する。これまで出力した書き込みコマンドの履歴、たとえば書き込みコマンド数や、書き込みコマンドのデータ量の履歴に基づき、判断を行う。書き込みコマンドの履歴が、あらかじめ与えた所定の条件を満たすときは、データ消去処理が発生する可能性が高いと判断する。例えば、前回データ消去処理を伴う書き込みが行われた以降の書き込みデータ量の合計が閾値以上になった場合に、データ消去処理が発生する可能性が高いと判断する。このとき、判定部507は、出力間隔時間の値を増加させ、増加した値の情報をコマンド待機制御部501に指示する。
また、判定部507は、ストレージ装置504でデータ消去処理が行われたと判断した場合は、コマンド待機制御部501に、出力間隔時間の低減(たとえば初期値に戻す)を指示する。データ消去処理が行われたかどうかは、第3の実施形態と同様にして、コマンドが出力されてからコマンド応答が返されるまでの時間が閾値を超えたかで判断すればよい。なお、ストレージ装置がデータ消去処理を行った旨を通知する機構を備える場合は、ストレージ装置からの通知をもって、データ消去処理が行われたと判断することも可能である。
コマンド待機制御部501は、判定部507からの指示に応じて、書き込みコマンドの出力間隔時間を制御する。
以上、本実施形態によれば、読み出しアクセスの遅延が大きいことが見込まれる場合に、読み出しコマンドの前に多くの書き込みコマンドがストレージ装置106に蓄積されることを防止できる。よって、読み出しアクセスの遅延が増大することを抑制できる。
(第5の実施形態)
図6は、第5の実施形態にかかるストレージ搭載コンピュータの詳細構成を示す。
第4の実施形態に対して、条件確認部508が追加されている。第5の実施形態で説明したデータ消去処理の発生する条件は、ストレージ装置(たとえばメーカ、型番等)よって異なると考えられる。したがって、データ消去処理が発生するかを判定するための条件を事前に固定することは困難である。そこで、条件確認部508は、利用するストレージ装置に対する書き込み試験を事前に実施し、書き込みコマンドの出力からコマンド応答が返されるまでの時間(書き込みアクセスの時間)を測定する。書き込みコマンドの出力間隔は十分大きな値とすればよい。書き込みアクセスの時間が閾値を越えた場合は、データ消去処理が発生したと判断する。このような試験を繰り返すことで、条件確認部508は、データ消去処理が発生する条件を特定し、特定した条件を、判定部507に通知する。
以上、本実施形態によれば、ストレージ装置でフラッシュメモリ(たとえばNAND型フラッシュメモリ)のデータ消去処理が行われる条件を取得することにより、利用するストレージ装置の種類にかかわらず、書き込みコマンドの蓄積を防止して、読み出しアクセスの遅延が増大することを抑制できる。
以上に説明した実施形態におけるストレージ搭載コンピュータは、例えば、汎用のコンピュータ装置を基本ハードウェアとして用いることでも実現することが可能である。たとえば、ストレージコマンド制御部の各ブロックの処理は、上記のコンピュータ装置に搭載されたプロセッサにプログラムを実行させることにより実現することができる。このとき、ストレージコマンド制御部は、上記のプログラムをコンピュータ装置にあらかじめインストールすることで実現してもよいし、CD-ROMなどの記憶媒体に記憶して、あるいはネットワークを介して上記のプログラムを配布して、このプログラムをコンピュータ装置に適宜インストールすることで実現してもよい。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
以上説明した少なくともひとつの実施形態によれば、ストレージ装置への読み出しアクセスの応答時間の増大を抑制することができる。

Claims (21)

  1. 内部または外部のコマンド発行装置から、ストレージ装置に対する読み出しコマンドまたは書き込みコマンドを受信する受信部と、
    前記受信部で書き込みコマンドが受信されたときは、前記書き込みコマンドの1つ前に受信した書き込みコマンドの出力から少なくとも設定された第1の間隔時間が経過するまで前記書き込みコマンドを待機させ、前記第1の間隔時間経過後、前記書き込みコマンドを出力し、前記書き込みコマンドの待機中に前記読み出しコマンドが受信されたときは、前記待機中の書き込みコマンドより先に前記読み出しコマンドを出力する制御部と、を備え、
    前記制御部は、前記1つ前に出力した書き込みコマンドによる書き込みデータ量に応じて、前記第1の間隔時間の値を設定する
    ストレージ制御装置。
  2. 内部または外部のコマンド発行装置から、ストレージ装置に対する読み出しコマンドまたは書き込みコマンドを受信する受信部と、
    前記受信部で書き込みコマンドが受信されたときは、前記書き込みコマンドの1つ前に受信した書き込みコマンドの出力から少なくとも設定された第1の間隔時間が経過するまで前記書き込みコマンドを待機させ、前記第1の間隔時間経過後、前記書き込みコマンドを出力し、前記書き込みコマンドの待機中に前記読み出しコマンドが受信されたときは、前記待機中の書き込みコマンドより先に前記読み出しコマンドを出力する制御部と、
    前記読み出しコマンドまたは書き込みコマンドを出力してから前記ストレージ装置のコマンド応答が返されるまでの応答時間を測定する測定部と、を備え、
    前記制御部は、前記応答時間が大きいほど、前記第1の間隔時間の値を大きくする
    ストレージ制御装置。
  3. 前記制御部は、前記応答時間が閾値より大きいか否かに応じて、前記第1の間隔時間の値を設定する
    請求項に記載のストレージ制御装置。
  4. 内部または外部のコマンド発行装置から、ストレージ装置に対する読み出しコマンドまたは書き込みコマンドを受信する受信部と、
    前記受信部で書き込みコマンドが受信されたときは、前記書き込みコマンドの1つ前に受信した書き込みコマンドの出力から少なくとも設定された第1の間隔時間が経過するまで前記書き込みコマンドを待機させ、前記第1の間隔時間経過後、前記書き込みコマンドを出力し、前記書き込みコマンドの待機中に前記読み出しコマンドが受信されたときは、前記待機中の書き込みコマンドより先に前記読み出しコマンドを出力する制御部と、
    前記コマンド発行装置内に前記受信部への送信を待機している読み出しコマンドに関する情報を、前記コマンド発行装置から取得する状態取得部と、を備え
    前記制御部は、前記情報に基づいて、前記第1の間隔時間の値を設定する
    ストレージ制御装置。
  5. 前記制御部は、前記コマンド発行装置内に待機している読み出しコマンドが存在するか否かに基づいて、前記第1の間隔時間の値を設定する
    請求項3または4に記載のストレージ制御装置。
  6. 前記制御部は、前記待機している読み出しコマンドの個数、または前記待機している読み出しコマンドによる読み出しデータ量の合計に応じて、前記第1の間隔時間の値を設定する
    請求項に記載のストレージ制御装置。
  7. 内部または外部のコマンド発行装置から、ストレージ装置に対する読み出しコマンドまたは書き込みコマンドを受信する受信部と、
    前記受信部で書き込みコマンドが受信されたときは、前記書き込みコマンドの1つ前に受信した書き込みコマンドの出力から少なくとも設定された第1の間隔時間が経過するまで前記書き込みコマンドを待機させ、前記第1の間隔時間経過後、前記書き込みコマンドを出力し、前記書き込みコマンドの待機中に前記読み出しコマンドが受信されたときは、前記待機中の書き込みコマンドより先に前記読み出しコマンドを出力する制御部と、を備え、
    前記ストレージ装置は、フラッシュメモリの記憶領域を有し、
    前記制御部は、出力した書き込みコマンドの履歴に基づいて、対象となる書き込みコマンドを前記ストレージ装置に出力した場合に当該対象となる書き込みコマンドによるデータ書き込みが実行される前に前記ストレージ装置で書き込み領域確保のためのデータ消去処理が行われるか判断し、判断結果に応じて、前記対象となる書き込みコマンドの次に出力する書き込みコマンドに適用する第1の間隔時間の値を設定する
    ストレージ装置。
  8. 前記制御部は、前記履歴として、出力した書き込みコマンドの個数、または出力した書き込みコマンドによる書き込みデータ量を用いる
    請求項に記載のストレージ装置。
  9. 前記書き込みコマンドを出力し、前記書き込みコマンドへの応答を取得するまでの応答時間を計測し、前記応答時間が閾値以上のときは前記ストレージ装置でメモリ消去処理が発生したと判断する試験を繰り返し行うことにより、前記ストレージ装置でデータの書き込み前にメモリ消去処理が発生する条件を取得する条件確認部をさらに備え、
    前記制御部は、前記条件に基づいて、前記メモリ消去処理が実行されるかを判断する
    請求項7または8に記載のストレージ装置。
  10. コマンド発行装置から、ストレージ装置に対する読み出しコマンドまたは書き込みコマンドを受信する受信ステップと、
    前記書き込みコマンドが受信されたときは、前記書き込みコマンドの1つ前に受信した書き込みコマンドの出力から少なくとも設定された第1の間隔時間経過するまで前記書き込みコマンドを待機させ、前記第1の間隔時間経過後、前記書き込みコマンドに出力し、前記書き込みコマンドの待機中に前記読み出しコマンドが受信されたときは、前記待機中の書き込みコマンドより先に前記読み出しコマンドを出力する制御ステップと、
    をコンピュータに実行させ、
    前記制御ステップは、前記1つ前に出力した書き込みコマンドによる書き込みデータ量に応じて、前記第1の間隔時間の値を設定する
    プログラム。
  11. コマンド発行装置から、ストレージ装置に対する読み出しコマンドまたは書き込みコマンドを受信する受信ステップと、
    前記書き込みコマンドが受信されたときは、前記書き込みコマンドの1つ前に受信した書き込みコマンドの出力から少なくとも設定された第1の間隔時間経過するまで前記書き込みコマンドを待機させ、前記第1の間隔時間経過後、前記書き込みコマンドに出力し、前記書き込みコマンドの待機中に前記読み出しコマンドが受信されたときは、前記待機中の書き込みコマンドより先に前記読み出しコマンドを出力する制御ステップと、
    前記読み出しコマンドまたは書き込みコマンドを出力してから前記ストレージ装置のコマンド応答が返されるまでの応答時間を測定する測定ステップと、 をコンピュータに実行させ、
    前記制御ステップは、前記応答時間が大きいほど、前記第1の間隔時間の値を大きくする
    プログラム。
  12. コマンド発行装置から、ストレージ装置に対する読み出しコマンドまたは書き込みコマンドを受信する受信ステップと、
    前記書き込みコマンドが受信されたときは、前記書き込みコマンドの1つ前に受信した書き込みコマンドの出力から少なくとも設定された第1の間隔時間経過するまで前記書き込みコマンドを待機させ、前記第1の間隔時間経過後、前記書き込みコマンドに出力し、前記書き込みコマンドの待機中に前記読み出しコマンドが受信されたときは、前記待機中の書き込みコマンドより先に前記読み出しコマンドを出力する制御ステップと、
    前記コマンド発行装置内に送信を待機している読み出しコマンドに関する情報を、前記コマンド発行装置から取得する状態取得ステップと、をコンピュータに実行させ、
    前記制御ステップは、前記情報に基づいて、前記第1の間隔時間の値を設定する
    プログラム。
  13. コマンド発行装置から、フラッシュメモリの記憶領域を有するストレージ装置に対する読み出しコマンドまたは書き込みコマンドを受信する受信ステップと、
    前記書き込みコマンドが受信されたときは、前記書き込みコマンドの1つ前に受信した書き込みコマンドの出力から少なくとも設定された第1の間隔時間経過するまで前記書き込みコマンドを待機させ、前記第1の間隔時間経過後、前記書き込みコマンドに出力し、前記書き込みコマンドの待機中に前記読み出しコマンドが受信されたときは、前記待機中の書き込みコマンドより先に前記読み出しコマンドを出力する制御ステップと、をコンピュータに実行させ、
    前記制御ステップは、出力した書き込みコマンドの履歴に基づいて、対象となる書き込みコマンドを前記ストレージ装置に出力した場合に当該対象となる書き込みコマンドによるデータ書き込みが実行される前に前記ストレージ装置で書き込み領域確保のためのデータ消去処理が行われるか判断し、判断結果に応じて、前記対象となる書き込みコマンドの次に出力する書き込みコマンドに適用する第1の間隔時間の値を設定する
    プログラム。
  14. コマンド発行装置から、ストレージ装置に対する読み出しコマンドまたは書き込みコマンドを受信する受信ステップと、
    前記書き込みコマンドが受信されたときは、前記書き込みコマンドの1つ前に受信した書き込みコマンドの出力から少なくとも設定された第1の間隔時間経過するまで前記書き込みコマンドを待機させ、前記第1の間隔時間経過後、前記書き込みコマンドを出力し、前記書き込みコマンドの待機中に前記読み出しコマンドが受信されたときは、前記待機中の書き込みコマンドより先に前記読み出しコマンドを出力する制御ステップと、
    を備え、
    前記制御ステップは、前記1つ前に出力した書き込みコマンドによる書き込みデータ量に応じて、前記第1の間隔時間の値を設定する
    ストレージ制御方法。
  15. コマンド発行装置から、ストレージ装置に対する読み出しコマンドまたは書き込みコマンドを受信する受信ステップと、
    前記書き込みコマンドが受信されたときは、前記書き込みコマンドの1つ前に受信した書き込みコマンドの出力から少なくとも設定された第1の間隔時間経過するまで前記書き込みコマンドを待機させ、前記第1の間隔時間経過後、前記書き込みコマンドに出力し、前記書き込みコマンドの待機中に前記読み出しコマンドが受信されたときは、前記待機中の書き込みコマンドより先に前記読み出しコマンドを出力する制御ステップと、
    前記読み出しコマンドまたは書き込みコマンドを出力してから前記ストレージ装置のコマンド応答が返されるまでの応答時間を測定する測定ステップと、を備え
    前記制御ステップは、前記応答時間が大きいほど、前記第1の間隔時間の値を大きくする
    ストレージ制御方法。
  16. コマンド発行装置から、ストレージ装置に対する読み出しコマンドまたは書き込みコマンドを受信する受信ステップと、
    前記書き込みコマンドが受信されたときは、前記書き込みコマンドの1つ前に受信した書き込みコマンドの出力から少なくとも設定された第1の間隔時間経過するまで前記書き込みコマンドを待機させ、前記第1の間隔時間経過後、前記書き込みコマンドに出力し、前記書き込みコマンドの待機中に前記読み出しコマンドが受信されたときは、前記待機中の書き込みコマンドより先に前記読み出しコマンドを出力する制御ステップと、
    前記コマンド発行装置内に送信を待機している読み出しコマンドに関する情報を、前記コマンド発行装置から取得する状態取得ステップと、を備え、
    前記制御ステップは、前記情報に基づいて、前記第1の間隔時間の値を設定する
    ストレージ制御方法。
  17. コマンド発行装置から、フラッシュメモリの記憶領域を有するストレージ装置に対する読み出しコマンドまたは書き込みコマンドを受信する受信ステップと、
    前記書き込みコマンドが受信されたときは、前記書き込みコマンドの1つ前に受信した書き込みコマンドの出力から少なくとも設定された第1の間隔時間経過するまで前記書き込みコマンドを待機させ、前記第1の間隔時間経過後、前記書き込みコマンドに出力し、前記書き込みコマンドの待機中に前記読み出しコマンドが受信されたときは、前記待機中の書き込みコマンドより先に前記読み出しコマンドを出力する制御ステップと、を備え、
    前記制御ステップは、出力した書き込みコマンドの履歴に基づいて、対象となる書き込みコマンドを前記ストレージ装置に出力した場合に当該対象となる書き込みコマンドによるデータ書き込みが実行される前に前記ストレージ装置で書き込み領域確保のためのデータ消去処理が行われるか判断し、判断結果に応じて、前記対象となる書き込みコマンドの次に出力する書き込みコマンドに適用する第1の間隔時間の値を設定する
    ストレージ制御方法。
  18. 外部または内部のコマンド発行装置から、読み出しコマンドまたは書き込みコマンドを受信する受信部と、
    記憶領域にデータを格納し、前記読み出しコマンドまたは前記書き込みコマンドを実行可能なストレージ装置と、
    前記受信部で書き込みコマンドが受信されたときは、前記書き込みコマンドの1つ前に受信した書き込みコマンドの出力から少なくとも設定された第1の間隔時間経過するまで前記コマンドを待機させ、前記第1の間隔時間経過後、前記書き込みコマンドを前記ストレージ装置あるいは前記ストレージ装置にアクセスするストレージドライバに出力し、前記書き込みコマンドの待機中に前記読み出しコマンドが受信されたときは、前記待機中の書き込みコマンドより先に前記読み出しコマンドを前記ストレージ装置あるいは前記ストレージドライバに出力する制御部と、
    を備え、
    前記制御部は、前記1つ前に出力した書き込みコマンドによる書き込みデータ量に応じて、前記第1の間隔時間の値を設定する
    ストレージシステム。
  19. 外部または内部のコマンド発行装置から、読み出しコマンドまたは書き込みコマンドを受信する受信部と、
    記憶領域にデータを格納し、前記読み出しコマンドまたは前記書き込みコマンドを実行可能なストレージ装置と、
    前記受信部で書き込みコマンドが受信されたときは、前記書き込みコマンドの1つ前に受信した書き込みコマンドの出力から少なくとも設定された第1の間隔時間経過するまで前記コマンドを待機させ、前記第1の間隔時間経過後、前記書き込みコマンドを前記ストレージ装置あるいは前記ストレージ装置にアクセスするストレージドライバに出力し、前記書き込みコマンドの待機中に前記読み出しコマンドが受信されたときは、前記待機中の書き込みコマンドより先に前記読み出しコマンドを前記ストレージ装置あるいは前記ストレージドライバに出力する制御部と、
    前記読み出しコマンドまたは書き込みコマンドを出力してから前記ストレージ装置のコマンド応答が返されるまでの応答時間を測定する測定部と、を備え、
    前記制御部は、前記応答時間が大きいほど、前記第1の間隔時間の値を大きくする
    ストレージシステム。
  20. 外部または内部のコマンド発行装置から、読み出しコマンドまたは書き込みコマンドを受信する受信部と、
    記憶領域にデータを格納し、前記読み出しコマンドまたは前記書き込みコマンドを実行可能なストレージ装置と、
    前記受信部で書き込みコマンドが受信されたときは、前記書き込みコマンドの1つ前に受信した書き込みコマンドの出力から少なくとも設定された第1の間隔時間経過するまで前記コマンドを待機させ、前記第1の間隔時間経過後、前記書き込みコマンドを前記ストレージ装置あるいは前記ストレージ装置にアクセスするストレージドライバに出力し、前記書き込みコマンドの待機中に前記読み出しコマンドが受信されたときは、前記待機中の書き込みコマンドより先に前記読み出しコマンドを前記ストレージ装置あるいは前記ストレージドライバに出力する制御部と、
    前記コマンド発行装置内に前記受信部への送信を待機している読み出しコマンドに関する情報を、前記コマンド発行装置から取得する状態取得部と、を備え、
    前記制御部は、前記情報に基づいて、前記第1の間隔時間の値を設定する
    ストレージシステム。
  21. 外部または内部のコマンド発行装置から、読み出しコマンドまたは書き込みコマンドを受信する受信部と、
    記憶領域にデータを格納し、前記読み出しコマンドまたは前記書き込みコマンドを実行可能なストレージ装置と、
    前記受信部で書き込みコマンドが受信されたときは、前記書き込みコマンドの1つ前に受信した書き込みコマンドの出力から少なくとも設定された第1の間隔時間経過するまで前記コマンドを待機させ、前記第1の間隔時間経過後、前記書き込みコマンドを前記ストレージ装置あるいは前記ストレージ装置にアクセスするストレージドライバに出力し、前記書き込みコマンドの待機中に前記読み出しコマンドが受信されたときは、前記待機中の書き込みコマンドより先に前記読み出しコマンドを前記ストレージ装置あるいは前記ストレージドライバに出力する制御部と、を備え
    前記ストレージ装置は、フラッシュメモリの記憶領域を有し、
    前記制御部は、出力した書き込みコマンドの履歴に基づいて、対象となる書き込みコマンドを前記ストレージ装置に出力した場合に当該対象となる書き込みコマンドによるデータ書き込みが実行される前に前記ストレージ装置で書き込み領域確保のためのデータ消去処理が行われるか判断し、判断結果に応じて、前記対象となる書き込みコマンドの次に出力する書き込みコマンドに適用する第1の間隔時間の値を設定する
    ストレージシステム。
JP2013024644A 2013-02-12 2013-02-12 ストレージ制御装置、ストレージ制御方法、ストレージシステムおよびプログラム Expired - Fee Related JP6088837B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2013024644A JP6088837B2 (ja) 2013-02-12 2013-02-12 ストレージ制御装置、ストレージ制御方法、ストレージシステムおよびプログラム
PCT/JP2014/053827 WO2014126263A1 (en) 2013-02-12 2014-02-12 Storage controlling device, storage controlling method, storage system and program
US14/821,987 US9880749B2 (en) 2013-02-12 2015-08-10 Storage method and device for controlling the output timing of commands based on a hold time

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013024644A JP6088837B2 (ja) 2013-02-12 2013-02-12 ストレージ制御装置、ストレージ制御方法、ストレージシステムおよびプログラム

Publications (2)

Publication Number Publication Date
JP2014154023A JP2014154023A (ja) 2014-08-25
JP6088837B2 true JP6088837B2 (ja) 2017-03-01

Family

ID=51354261

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013024644A Expired - Fee Related JP6088837B2 (ja) 2013-02-12 2013-02-12 ストレージ制御装置、ストレージ制御方法、ストレージシステムおよびプログラム

Country Status (3)

Country Link
US (1) US9880749B2 (ja)
JP (1) JP6088837B2 (ja)
WO (1) WO2014126263A1 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016098202A1 (ja) * 2014-12-17 2016-06-23 株式会社日立製作所 ストレージ装置およびその制御方法
US10025535B2 (en) 2015-03-27 2018-07-17 Intel Corporation Measurement and reporting of the latency of input and output operations by a solid state drive to a host
KR102293069B1 (ko) * 2017-09-08 2021-08-27 삼성전자주식회사 불휘발성 메모리 장치 및 제어기를 포함하는 스토리지 장치, 제어기, 그리고 스토리지 장치의 동작 방법
JP2019175292A (ja) 2018-03-29 2019-10-10 東芝メモリ株式会社 電子機器、コンピュータシステム、および制御方法
CN116909492B (zh) * 2023-09-12 2023-12-08 合肥康芯威存储技术有限公司 一种存储设备及其控制方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5845313A (en) 1995-07-31 1998-12-01 Lexar Direct logical block addressing flash memory mass storage architecture
US5822244A (en) * 1997-09-24 1998-10-13 Motorola, Inc. Method and apparatus for suspending a program/erase operation in a flash memory
WO1999019805A1 (en) * 1997-10-10 1999-04-22 Rambus Incorporated Method and apparatus for two step memory write operations
JP2003150541A (ja) * 2001-11-16 2003-05-23 Mitsubishi Electric Corp マイクロコンピュータ
JP2003256266A (ja) * 2002-02-28 2003-09-10 Hitachi Ltd メモリ装置
KR100725417B1 (ko) 2006-02-22 2007-06-07 삼성전자주식회사 우선 순위에 따른 플래시 메모리의 연산 처리 장치 및 방법
JP5145929B2 (ja) * 2007-03-08 2013-02-20 株式会社リコー 半導体集積回路及び画像処理装置
US7702841B2 (en) * 2007-03-08 2010-04-20 Ricoh Company, Limited Semiconductor integrated circuit and image processing apparatus having the same
JP5349897B2 (ja) 2008-10-21 2013-11-20 株式会社日立製作所 ストレージシステム
WO2010143209A1 (en) * 2009-06-10 2010-12-16 Francesco Falanga Suspension of memory operations for reduced read latency in memory arrays
KR101080206B1 (ko) * 2010-04-30 2011-11-07 주식회사 하이닉스반도체 반도체 장치의 어드레스 출력 타이밍 제어 회로

Also Published As

Publication number Publication date
WO2014126263A1 (en) 2014-08-21
JP2014154023A (ja) 2014-08-25
US9880749B2 (en) 2018-01-30
US20150347033A1 (en) 2015-12-03

Similar Documents

Publication Publication Date Title
JP6088837B2 (ja) ストレージ制御装置、ストレージ制御方法、ストレージシステムおよびプログラム
JP6111575B2 (ja) ストレージ装置、内部処理制御方法および内部処理制御プログラム
US9053038B2 (en) Method and apparatus for efficient read cache operation
US9658796B2 (en) Storage control device and storage system
US9501413B2 (en) Storage apparatus, staging control method, and computer-readable recording medium having stored staging control program
CN102841872A (zh) 用于命令处理的高性能路径
US9319067B2 (en) Storage control apparatus, storage system, and storage control method
US20160196085A1 (en) Storage control apparatus and storage apparatus
US20170068457A1 (en) Storage control apparatus, control method, and non-transitory computer-readable storage medium
JP2013041547A5 (ja)
US20100185793A1 (en) Storage device and data transfer method for the same
US8769195B2 (en) Storage apparatus and storage apparatus control method
US11429431B2 (en) Information processing system and management device
US20140297988A1 (en) Storage device, allocation release control method
US10133517B2 (en) Storage control device
KR20210008826A (ko) 논리 블록 어드레싱 범위 충돌 크롤러
JP6199782B2 (ja) 計算機システム
US20150067285A1 (en) Storage control apparatus, control method, and computer-readable storage medium
US10346070B2 (en) Storage control apparatus and storage control method
US20140068214A1 (en) Information processing apparatus and copy control method
WO2015170702A1 (ja) ストレージ装置と情報処理システム及びストレージ制御方法とプログラム
US20170090778A1 (en) Storage apparatus and control device
JP5821445B2 (ja) ディスクアレイ装置及びディスクアレイ装置制御方法
US20170115886A1 (en) Storage device and method of performing a write operation by the same
JP6107761B2 (ja) ディスクアレイ装置およびディスクアレイ装置の制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150914

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160517

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160719

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160809

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20161011

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170206

R151 Written notification of patent or utility model registration

Ref document number: 6088837

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees