(57)【要約】【課題】ストレージにデータを書き込む速度である書き込み速度を安定させること。【解決手段】ストレージ制御プログラムは、コンピュータに、ホストがストレージにシーケンシャルアクセスしてデータを書き込む速度である書き込み速度を算出する書き込み速度算出機能と、前記書き込み速度が所定の上限値を超えている場合、前記ホストにランダムアクセスを許可するよう前記ストレージを制御し、前記書き込み速度が所定の下限値未満である場合、前記ホストにシーケンシャルアクセスを許可するよう前記ストレージを制御する書き込み方式制御機能と、を実現させる。【選択図】図３
2020160860.tif 000002
【特許請求の範囲】
【請求項１】
ホストがストレージにシーケンシャルアクセスしてデータを書き込む速度である書き込み速度を算出する書き込み速度算出部と、
前記書き込み速度が所定の上限値を超えている場合、前記ホストにランダムアクセスを許可するよう前記ストレージを制御し、前記書き込み速度が所定の下限値未満である場合、前記ホストにシーケンシャルアクセスを許可するよう前記ストレージを制御する書き込み方式制御部と、
を備えるストレージ制御装置。
【請求項２】
前記書き込み速度算出部は、前記ホストが前記ストレージにシーケンシャルアクセスして転送したデータのデータ量を転送に要した時間で除算することにより前記書き込み速度を算出する、
請求項１に記載のストレージ制御装置。
【請求項３】
ホストがストレージにシーケンシャルアクセスしてデータを書き込む速度である書き込み速度を算出し、
前記書き込み速度が所定の上限値を超えている場合、前記ホストにランダムアクセスを許可するよう前記ストレージを制御し、前記書き込み速度が所定の下限値未満である場合、前記ホストにシーケンシャルアクセスを許可するよう前記ストレージを制御する、
ストレージ制御方法。
【請求項４】
コンピュータに、
ホストがストレージにシーケンシャルアクセスしてデータを書き込む速度である書き込み速度を算出する書き込み速度算出機能と、
前記書き込み速度が所定の上限値を超えている場合、前記ホストにランダムアクセスを許可するよう前記ストレージを制御し、前記書き込み速度が所定の下限値未満である場合、前記ホストにシーケンシャルアクセスを許可するよう前記ストレージを制御する書き込み方式制御機能と、
を実現させるためのストレージ制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストレージ制御装置、ストレージ制御方法及びストレージ制御プログラムに関する。
【背景技術】
【０００２】
近年、人工知能（ＡＩ：Artificial  Intelligence）の積極的な活用、ビッグデータの積極的な活用、モノのインターネット（ＩｏＴ：Internet  of  Things）等が推進されていることに伴い、情報通信システムにおいて取り扱われるデータの数や個々のデータのデータ量が増加している。このような状況における課題の一つとして、データを記憶するストレージへの書き込み速度の安定化が挙げられる。
【０００３】
例えば、特許文献１には、性能要件指定部と、アクセス実行部とを備えるストレージが開示されている。性能要件指定部は、ストレージに対して指定された書き込みアクセスにおいて維持すべき性能の下限と上限を記憶部に保持する。アクセス実行部は、性能要件指定部で指定された書き込みアクセスの性能上限を参照し、書き込みアクセス性能が性能上限を上回る場合には、書き込みコマンドの実行を遅らせる制御を行う。ここで言う書き込みアクセス性能は、ストレージにデータを書き込む速度を含む概念である。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】国際公開第２０１５／０７６３５４号
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上述したストレージは、書き込みアクセス性能が性能上限を上回る場合、書き込みアクセス性能そのものを制御せず、書き込みコマンドの実行を遅らせる制御を行う。このため、上述したストレージは、データを書き込む速度を不安定にしてしまうことにより、データの書き込みを実行するホストを管理するＯＳ（Operating  System）、アプリケーション等の動作に悪影響を与えてしまうことがある。
【０００６】
そこでこの発明は、上述の課題を解決するストレージ制御装置、ストレージ制御方法及びストレージ制御プログラムを提供することを目的としている。
【課題を解決するための手段】
【０００７】
本発明は、上述の課題を解決すべくなされたもので、
上記目的を達成するために、本発明は、本発明は、ホストがストレージにシーケンシャルアクセスしてデータを書き込む速度である書き込み速度を算出する書き込み速度算出部と、前記書き込み速度が所定の上限値を超えている場合、前記ホストにランダムアクセスを許可するよう前記ストレージを制御し、前記書き込み速度が所定の下限値未満である場合、前記ホストにシーケンシャルアクセスを許可するよう前記ストレージを制御する書き込み方式制御部と、を備えるストレージ制御装置である。
【０００８】
また本発明は、ホストがストレージにシーケンシャルアクセスしてデータを書き込む速度である書き込み速度を算出し、前記書き込み速度が所定の上限値を超えている場合、前記ホストにランダムアクセスを許可するよう前記ストレージを制御し、前記書き込み速度が所定の下限値未満である場合、前記ホストにシーケンシャルアクセスを許可するよう前記ストレージを制御するストレージ制御方法である。
【０００９】
また本発明は、コンピュータに、ホストがストレージにシーケンシャルアクセスしてデータを書き込む速度である書き込み速度を算出する書き込み速度算出機能と、前記書き込み速度が所定の上限値を超えている場合、前記ホストにランダムアクセスを許可するよう前記ストレージを制御し、前記書き込み速度が所定の下限値未満である場合、前記ホストにシーケンシャルアクセスを許可するよう前記ストレージを制御する書き込み方式制御機能と、を実現させるためのストレージ制御プログラムである。
【発明の効果】
【００１０】
本発明によれば、ストレージにデータを書き込む速度である書き込み速度を安定させることが可能である。これにより、ホストを管理するＯＳ、アプリケーション等の動作に悪影響を与えてしまう事態を回避し易くなるという効果が得られる。
【図面の簡単な説明】
【００１１】
【図１】本発明の実施形態に係るホスト及びストレージの一例を示す図である。
【図２】本発明の実施形態に係るストレージが備えるセルの一例を示す図である。
【図３】本発明の実施形態に係るストレージ制御装置の一例を示す図である。
【図４】本発明の実施形態に係るストレージ制御装置の動作を説明するための図である。
【図５】本発明の実施形態に係るストレージ制御装置が実行する処理の一例を示す図である。
【発明を実施するための形態】
【００１２】
［実施形態］
図１から図４を参照しながら、実施形態に係るストレージ制御装置の最小構成の一例を説明する。
【００１３】
図１は、本発明の実施形態に係るホスト及びストレージの一例を示す図である。図１に示すように、ストレージ１０は、半導体メモリを搭載したハードディスクドライブ（ＨＤＤ：Hard  Disk  Drive）のように取り扱うことが可能な記憶装置、例えば、ソリッドステートドライブ（ＳＳＤ：Solid  State  Drive）である。ストレージ１０は、ホスト２０からシーケンシャルアクセス又はランダムアクセスによるデータの書き込みを受け付ける。シーケンシャルアクセス及びランダムアクセスについては後述する。
【００１４】
図２は、本発明の実施形態に係るストレージが備えるセルの一例を示す図である。ストレージ１０は、例えば、図２に示したセルＣＬ１、セルＣＬ２及びセルＣＬ３を含んでいる。また、セルＣＬ１、セルＣＬ２及びセルＣＬ３は、いずれも記憶領域Ａ、記憶領域Ｂ、記憶領域Ｃ、記憶領域Ｄ、記憶領域Ｅ、記憶領域Ｆ、記憶領域Ｇ、記憶領域Ｈ、記憶領域Ｉ、記憶領域Ｊ、記憶領域Ｋ及び記憶領域Ｌを含んでいる。これらの記憶領域の記憶容量は、ホスト２０からシーケンシャルアクセス又はランダムアクセスによるデータの書き込み受け付ける場合におけるデータ量の最小単位に等しい。この最小単位は、例えば、５１２バイトである。また、これらの内容は、ストレージ１０に含まれている他のセルについても当てはまる。
【００１５】
シーケンシャルアクセスによるデータの書き込みは、ストレージ１０内の一つのセルに含まれる記憶領域に順番にアクセスし、各記憶領域の記憶容量に等しいデータ量のデータを書き込んでいくことを指す。例えば、ホスト２０は、セルＣＬ１に含まれる記憶領域Ａ、記憶領域Ｂ、記憶領域Ｃ、記憶領域Ｄ、記憶領域Ｅ、記憶領域Ｆ、記憶領域Ｇ、記憶領域Ｈ、記憶領域Ｉ、記憶領域Ｊ、記憶領域Ｋ及び記憶領域Ｌにこの順番にアクセスし、これらの記憶領域に５１２バイトのデータを順番に書き込んでいく。また、シーケンシャルアクセスによるデータの書き込みは、データを書き込むことが可能な連続した記憶領域を断片化するフラグメンテーションを抑止するため、次に実行されるシーケンシャルアクセスによるデータの書き込みの速度を向上させる。
【００１６】
ランダムアクセスによるデータの書き込みは、ストレージ１０内のいずれかのセルに含まれる記憶領域に無作為にアクセスし、各記憶領域の記憶容量に等しいデータ量のデータを書き込んでいくことを指す。例えば、ホスト２０は、セルＣＬ３に含まれる記憶領域Ｂにアクセスして５１２バイトのデータを書き込み、セルＣＬ１に含まれる記憶領域Ｂにアクセスして５１２バイトのデータを書き込み、セルＣＬ３に含まれる記憶領域Ｈにアクセスして５１２バイトのデータを書き込む。また、ランダムアクセスによるデータの書き込みは、フラグメンテーションを引き起こすことがあるため、次に実行されるシーケンシャルアクセスによるデータの書き込みの速度を低下させることがある。
【００１７】
図３は、本発明の実施形態に係るストレージ制御装置の一例を示す図である。図３に示すように、ストレージ制御装置３０は、書き込み速度算出部３１と、書き込み方式制御部３２とを含んでおり、例えば、ＣＰＵ（Central  Processing  Unit）により実行される。なお、ストレージ制御装置３０は、ストレージ１０又はホスト２０に含まれている。或いは、ストレージ制御装置３０は、ストレージ１０及びホスト２０以外の他の機器に含まれている。
【００１８】
書き込み速度算出部３１は、ホスト２０がストレージ１０にシーケンシャルアクセスしてデータを書き込む速度である書き込み速度を算出する。具体的には、書き込み速度算出部３１は、ホスト２０からストレージ１０に転送されるデータのデータ量を当該データの転送に要した時間で除算することにより書き込み速度を算出する。なお、この書き込み速度は、スループットとも呼ばれる。
【００１９】
書き込み方式制御部３２は、書き込み速度が所定の上限値を超えている場合、ホスト２０にランダムアクセスを許可するようストレージ１０を制御し、書き込み速度が所定の下限値未満である場合、ホスト２０にシーケンシャルアクセスを許可するようストレージ１０を制御する。
【００２０】
図４は、本発明の実施形態に係るストレージ制御装置の動作を説明するための図である。例えば、図４に示すように、書き込み方式制御部３２は、書き込み速度算出部３１により算出された書き込み速度がランダムアクセスによるデータの書き込みにより低下し、破線Ｘで示した書き込み速度の下限値未満となった場合、ホスト２０にシーケンシャルアクセスを許可するようストレージ１０を制御する。一方、図４に示すように、書き込み方式制御部３２は、書き込み速度算出部３１により算出された書き込み速度がシーケンシャルアクセスによるデータの書き込みにより向上し、破線Ｙで示した書き込み速度の上限値を超えた場合、ホスト２０にランダムアクセスを許可するようストレージ１０を制御する。
【００２１】
なお、図４に破線Ｙで示した上限値を示すデータ及び図４に破線Ｘで示した下限値を示すデータは、ホスト２０に含まれている記憶装置又はストレージ１０に格納されている。或いは、これら二つのデータは、ストレージ１０及びホスト２０以外の他の機器に含まれている記憶装置に格納されている。
【００２２】
次に、図５を参照しながら、実施形態に係るストレージ制御装置が実行する処理の一例を説明する。図５は、本発明の実施形態に係るストレージ制御装置が実行する処理の一例を示す図である。ストレージ制御装置３０は、図５に示した処理を開始する時間及び当該処理を終了する時間を任意に設定する。また、ストレージ制御装置３０は、当該処理を任意の回数だけ実行する。
【００２３】
ステップＳ１０において、書き込み速度算出部３１は、ホスト２０がストレージ１０にシーケンシャルアクセスしてデータを書き込む速度である書き込み速度を算出する。
【００２４】
ステップＳ２０において、書き込み方式制御部３２は、ステップＳ１０で算出された書き込み速度が所定の上限値を超えているか否かを判定する。書き込み方式制御部３２は、ステップＳ１０で算出された書き込み速度が所定の上限値を超えていると判定した場合（ステップＳ２０：ＹＥＳ）、処理をステップＳ３０に進める。一方、書き込み方式制御部３２は、ステップＳ１０で算出された書き込み速度が所定の上限値以下であると判定した場合（ステップＳ２０：ＮＯ）、処理をステップＳ４０に進める。
【００２５】
ステップＳ３０において、書き込み方式制御部３２は、ホスト２０にランダムアクセスを許可するようストレージ１０を制御し、処理を終了させる。
【００２６】
ステップＳ４０において、書き込み方式制御部３２は、ステップＳ１０で算出された書き込み速度が所定の下限値未満であるか否かを判定する。書き込み方式制御部３２は、ステップＳ１０で算出された書き込み速度が所定の下限値未満であると判定した場合（ステップＳ４０：ＹＥＳ）、処理をステップＳ５０に進める。一方、書き込み方式制御部３２は、ステップＳ１０で算出された書き込み速度が所定の下限値以上であると判定した場合（ステップＳ４０：ＮＯ）、処理を終了させる。
【００２７】
ステップＳ５０において、書き込み方式制御部３２は、ホスト２０にシーケンシャルアクセスを許可するようストレージ１０を制御し、処理を終了させる。
【００２８】
以上、実施形態に係るストレージ制御装置３０について説明した。ストレージ制御装置３０は、書き込み速度が所定の上限値を超えている場合、ホスト２０にランダムアクセスを許可するようストレージ１０を制御し、書き込み速度が所定の下限値未満である場合、ホスト２０がストレージ１０にシーケンシャルアクセスを許可するようストレージ１０を制御する。これにより、ストレージ制御装置３０は、ホスト２０がストレージ１０にシーケンシャルアクセスしてデータを書き込む速度を所定の下限値から所定の上限値までの範囲に収める。したがって、ストレージ制御装置３０は、ホスト２０がストレージ１０にシーケンシャルアクセスしてデータを書き込む速度である書き込み速度が大きく変化し、ホスト２０を管理するＯＳ、アプリケーション等の動作に悪影響が及んでしまう事態を回避することができる。
【００２９】
なお、上述した実施形態におけるストレージ制御装置３０の一部、例えば、書き込み速度制御部３１、書き込み方式制御部３２などをコンピュータで実現するようにしてもよい。その場合、この機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現してもよい。なお、ここでいう「コンピュータシステム」とは、制御装置１に内蔵されたコンピュータシステムであって、ＯＳや周辺機器等のハードウェアを含むものとする。
【００３０】
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでもよい。また上記プログラムは、前述した機能の一部を実現するためのものであってもよく、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよい。
【００３１】
また、上述した実施形態における制御装置１の一部、または全部を、ＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ）等の集積回路として実現してもよい。制御装置１の各機能部は個別にプロセッサ化してもよいし、一部、または全部を集積してプロセッサ化してもよい。また、集積回路化の手法はＬＳＩに限らず専用回路、または汎用プロセッサで実現してもよい。また、半導体技術の進歩によりＬＳＩに代替する集積回路化の技術が出現した場合、当該技術による集積回路を用いてもよい。
【００３２】
以上、図面を参照してこの発明の一実施形態について詳しく説明してきたが、具体的な構成は上述のものに限られることはなく、この発明の要旨を逸脱しない範囲内において様々な設計変更等をすることが可能である。また、本発明の一態様は、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。また、上記各実施形態や変形例に記載された要素であり、同様の効果を奏する要素同士を置換した構成も含まれる。
【符号の説明】
【００３３】
１０…ストレージ、２０…ホスト、３０…ストレージ制御装置、３１…書き込み速度算出機能、３２…書き込み方式制御機能
【図１】
2020160860.tif 000003
【図２】
2020160860.tif 000004
【図３】
2020160860.tif 000005
【図４】
2020160860.tif 000006
【図５】
2020160860.tif 000007
【手続補正書】
【提出日】令和2年5月22日(2020.5.22)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ホストがストレージにシーケンシャルアクセスしてデータを書き込む速度である書き込み速度を算出する書き込み速度算出部と、
前記書き込み速度が所定の上限値を超えている場合、前記ホストにランダムアクセスを許可するよう前記ストレージを制御し、前記書き込み速度が所定の下限値未満である場合、前記ホストにシーケンシャルアクセスを許可するよう前記ストレージを制御する書き込み方式制御部と、
を備えるストレージ制御装置。
【請求項２】
前記書き込み速度算出部は、前記ホストが前記ストレージにシーケンシャルアクセスして転送したデータのデータ量を転送に要した時間で除算することにより前記書き込み速度を算出する、
請求項１に記載のストレージ制御装置。
【請求項３】
ホストがストレージにシーケンシャルアクセスしてデータを書き込む速度である書き込み速度をストレージ制御装置の書き込み速度算出部により算出し、
前記書き込み速度が所定の上限値を超えている場合、前記ホストにランダムアクセスを許可するよう前記ストレージをストレージ制御装置の書き込み方式制御部により制御し、前記書き込み速度が所定の下限値未満である場合、前記ホストにシーケンシャルアクセスを許可するよう前記ストレージをストレージ制御装置の書き込み方式制御部により制御する、
ストレージ制御方法。
【請求項４】
コンピュータに、
ホストがストレージにシーケンシャルアクセスしてデータを書き込む速度である書き込み速度を算出する書き込み速度算出機能と、
前記書き込み速度が所定の上限値を超えている場合、前記ホストにランダムアクセスを許可するよう前記ストレージを制御し、前記書き込み速度が所定の下限値未満である場合、前記ホストにシーケンシャルアクセスを許可するよう前記ストレージを制御する書き込み方式制御機能と、
を実現させるためのストレージ制御プログラム。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０００８
【補正方法】変更
【補正の内容】
【０００８】
また本発明は、ホストがストレージにシーケンシャルアクセスしてデータを書き込む速度である書き込み速度をストレージ制御装置の書き込み速度算出部により算出し、前記書き込み速度が所定の上限値を超えている場合、前記ホストにランダムアクセスを許可するよう前記ストレージをストレージ制御装置の書き込み方式制御部により制御し、前記書き込み速度が所定の下限値未満である場合、前記ホストにシーケンシャルアクセスを許可するよう前記ストレージをストレージ制御装置の書き込み方式制御部により制御する、ストレージ制御方法である。