JP6589495B2 - ストレージ制御装置、ストレージ制御方法及びそのためのプログラム - Google Patents

ストレージ制御装置、ストレージ制御方法及びそのためのプログラム Download PDF

Info

Publication number
JP6589495B2
JP6589495B2 JP2015183916A JP2015183916A JP6589495B2 JP 6589495 B2 JP6589495 B2 JP 6589495B2 JP 2015183916 A JP2015183916 A JP 2015183916A JP 2015183916 A JP2015183916 A JP 2015183916A JP 6589495 B2 JP6589495 B2 JP 6589495B2
Authority
JP
Japan
Prior art keywords
data
maintenance processing
range
copy
processing range
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.)
Active
Application number
JP2015183916A
Other languages
English (en)
Other versions
JP2017059019A (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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP2015183916A priority Critical patent/JP6589495B2/ja
Publication of JP2017059019A publication Critical patent/JP2017059019A/ja
Application granted granted Critical
Publication of JP6589495B2 publication Critical patent/JP6589495B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Description

本発明は、ストレージ制御の技術に関し、特に処理時間短縮のための技術に関する。
ストレージ制御に関し様々な関連技術が知られている。
例えば、特許文献1は、ストレージ制御装置の一例を開示する。特許文献1のストレージ制御装置は、リカバリ制御部、コピー制御部、リビルド制御部を備える。そのストレージ制御装置は、ディスク部を制御する。そのディスク部は、複数のディスクで構成されるRAID(Redundant Arrays of Inexpensive DiskS、または、Redundant Arrays of Independent DiskS)グループを含む。
リカバリ制御部は、あるディスクにおいて媒体エラーの生じた媒体エラー領域を検出した場合、その媒体エラー領域のデータリカバリ処理を実行する。このとき、リカバリ制御部は、その媒体エラーの生じたディスク(以後、エラーディスク)において所定のアクセス(例えば、ディスクリード)を実行できなかった領域を媒体エラー領域として検出する。尚、媒体エラーは物理的な欠陥であり、媒体エラー領域は、媒体エラーの生じた媒体を含むデータブロックである。
このとき、そのエラーディスクは、あるひとつのRAIDグループに属する複数のディスクのうちのひとつである。リカバリ制御部は、それらの複数のディスクのうちの、そのエラーディスク以外のディスクにおけるデータを用いて、媒体エラー領域のデータリカバリ処理を実行する。これにより、媒体エラー領域におけるデータが復元される。復元されたデータは、そのエラーディスクにおいて、欠陥の無い領域(交替領域)に保存される。その欠陥の無い領域は、その媒体エラー領域に論理的に対応付けられている。
コピー制御部は、そのエラーディスクの媒体エラー領域のデータリカバリ処理が実行された場合、その媒体エラー領域の周辺領域のデータをそのエラーディスクからそのエラーディスク以外の他のディスク(以後別ディスク)の専用領域にコピーする。そのエラーディスクからその別ディスクにコピーされる周辺領域のデータは、媒体エラー領域のデータリカバリ後のデータ、及び、媒体エラー領域に対し物理的に連続する隣接領域のデータを含んでいる。
リビルド制御部は、エラーディスクの属するRAIDグループにおける残りのディスク(以後、残ディスク)のデータを用いて、エラーディスクのデータを代替ディスク40に再構築する。その際、それらの残ディスクからデータを読み出せない場合、リビルド制御部は、コピー管理テーブルを用いてそれらのその別ディスクから対応データを読み出す。
しかしながら、特許文献1に示されるようなストレージ制御装置では、以下に示す問題点がある。
近年、ディスク(Hard Disk Drive)は大容量化が進んでいる。一般的に、ディスクに対してリビルドまたは整合性チェックを実施する場合、RAIDボリューム全体に対してリード/ライト処理が実行される。このため、ディスクの大容量化は、RAIDシステムのリビルドまたは整合性チェックによるRAIDシステムの復旧までにより多くの時間が掛かるという問題を招く。ここで、リビルドとは、RAIDを構成する物理ディスク装置が故障した場合に、故障していない他の物理ディスク装置から、故障した物理ディスク装置のデータを復元することである。換言すると、リビルドとはRAIDの冗長性を復元することである。また、整合性チェックとは、複数の物理ディスク装置に分散して格納されているデータやパリティの整合性を検査することである。
このような問題点を解決する技術が特許文献2に記載されている。特許文献2に記載の試験方法は、書き込みデータが記録されたアドレス範囲を絞り込み、管理する機能により、リビルド/整合性チェック時間を短縮する方法である。
具体的には、特許文献2に記載の試験方法は以下の手順を有する。第1に、ディスクアレイコントローラは、データ書き込み先の最小アドレス及び最大アドレスを記録する。第2に、ディスクアレイコントローラは、その最小アドレスから最大アドレスまでの領域を対象として、試験を実施する。
特開2015−005248号公報 特開2006−285807号公報
ストレージ制御においては、処理時間を短縮することは常に重要な課題である。
しかしながら、上述した特許文献2に記載された技術は、リビルド/整合性チェックの処理において、ディスクへの無駄なアクセスにより処理時間が長くなる場合があるという問題点を有する。
その理由は、特許文献2に記載の試験方法においては、そのアドレス範囲を絞り込んでも、そのアドレス範囲内にデータが記録されていない未使用領域が多く含まれるほど、無駄なアクセスが増加するからである。
本発明の目的は、ディスクへの無駄なアクセスにより処理時間が長くなる問題点を解決できるストレージ制御装置、ストレージ制御方法及びそのためのプログラムを提供することにある。
本発明の一様態におけるストレージ制御装置は、物理ディスクの特定の領域である維持処理範囲について、リビルド及び整合性チェックの少なくともいずれかを実行する維持処理実行手段と、前記維持処理範囲の以外の、前記物理ディスクの領域である維持処理範囲外への書き込み要求に基づいて、前記維持処理範囲のいずれかの領域へ前記書き込み要求で指定される書き込みデータをコピーデータとして書き込むコピー手段と、前記コピーデータに対応する前記維持処理範囲外に格納されている前記書き込みデータを、前記コピーデータに対して前記リビルド及び前記整合性チェックのいずれかが実行されたデータである処理済みデータで、上書きするコピーバック手段と、を含む。
本発明の一様態におけるストレージ装置は、物理ディスクの特定の領域である維持処理範囲について、リビルド及び整合性チェックの少なくともいずれかを実行する維持処理実行手段と、前記維持処理範囲の以外の、前記物理ディスクの領域である維持処理範囲外への書き込み要求に基づいて、前記維持処理範囲のいずれかの領域へ前記書き込み要求で指定される書き込みデータをコピーデータとして書き込むコピー手段と、前記コピーデータに対応する前記維持処理範囲外に格納されている前記書き込みデータを、前記コピーデータに対して前記リビルド及び前記整合性チェックのいずれかが実行されたデータである処理済みデータで、上書きするコピーバック手段と、を含むストレージ制御装置と、物理ディスクとを含む。
本発明の一様態におけるストレージ制御方法は、物理ディスクの特定の領域である維持処理範囲について、リビルド及び整合性チェックの少なくともいずれかを実行し、前記維持処理範囲の以外の、前記物理ディスクの領域である維持処理範囲外への書き込み要求に基づいて、前記維持処理範囲のいずれかの領域へ前記書き込み要求で指定される書き込みデータをコピーデータとして書き込み、前記コピーデータに対応する前記維持処理範囲外に格納されている前記書き込みデータを、前記コピーデータに対して前記リビルド及び前記整合性チェックのいずれかが実行されたデータである処理済みデータで、上書きする。
本発明の一様態におけるプログラムは、物理ディスクの特定の領域である維持処理範囲について、リビルド及び整合性チェックの少なくともいずれかを実行する処理と、前記維持処理範囲の以外の、前記物理ディスクの領域である維持処理範囲外への書き込み要求に基づいて、前記維持処理範囲のいずれかの領域へ前記書き込み要求で指定される書き込みデータをコピーデータとして書き込む処理と、前記コピーデータに対応する前記維持処理範囲外に格納されている前記書き込みデータを、前記コピーデータに対して前記リビルド及び前記整合性チェックのいずれかが実行されたデータである処理済みデータで、上書きする処理と、をコンピュータに実行させる。
本発明は、ディスクへの無駄なアクセスによる処理時間を短縮することが可能になるという効果がある。
本発明の第1の実施形態に係るストレージ制御装置の構成を示すブロック図である。 第1の実施形態に係るストレージ制御装置を含む情報処理システムの構成を示すブロック図である。 第1の実施形態に係るストレージ制御装置を実現するコンピュータのハードウェア構成の一例を示すブロック図である。 第1の実施形態における維持処理範囲情報の一例を示す図である。 第1の実施形態における維持処理範囲と維持処理範囲外との一例を示す図である。 第1の実施形態における物理ディスク装置に格納された書き込みデータ及びコピーデータの一例を示す図である。 第1の実施形態におけるコピーアドレス管理テーブルの一例を示す図である。 第1の実施形態における使用状態テーブルの一例を示す図である。 第1の実施形態におけるストレージ制御装置の動作を示すフローチャートである。 第1の実施形態におけるストレージ制御装置の動作を示すフローチャートである。 第1の実施形態の第1の変形例における維持処理実行部が維持処理を実行する範囲の一例を示す図である。 第1の実施形態の第2の変形例におけるコピーデータと維持処理実行部が維持処理を実行する範囲との一例を示す図である。 第1の実施形態の第3の変形例に係る情報処理システムを示す図である。 本発明の第2の実施形態に係るストレージ制御装置の構成を示すブロック図である。 第2の実施形態における閾値の一例を示す図である。 第2の実施形態におけるストレージ制御装置の動作を示すフローチャートである。 第2の実施形態における維持処理範囲の一例を示す図である。 第2の実施形態における維持処理範囲の維持処理が実行される実行領域の一例を示す図である。
本発明を実施するための形態について図面を参照して詳細に説明する。尚、各図面及び明細書記載の各実施形態において、同様の構成要素には同一の符号を付与し、説明を適宜省略する。また、図面中の矢印の方向は、一例を示すものであり、ブロック間の信号の向きを限定するものではない。
<<<第1の実施形態>>>
図1は、本発明の第1の実施形態に係るストレージ制御装置101の構成を示すブロック図である。図1に示すように、本実施形態に係るストレージ制御装置101は、維持処理実行部110とコピー部120とコピーバック部130と記憶部150とを含む。
図1に示す各構成要素のそれぞれは、回路によって実現されてよい。その回路は、ハードウェア単位の回路でも、マイクロチップに含まれるモジュールでも、コンピュータであってもよい。例えば、その回路は、LSI(Large Scale Integration)やPGA(Programmable Gate Array)であってもよく、そのLSIやそのPGAは、シングルチップで構成されても、マルチチップで構成されてもよい。更に、その回路は、サーバ或いは、サーバとローカルデバイスの組み合わせであってもよい。ここでは、図1に示す構成要素が、コンピュータで実現される、機能単位に分割された構成要素であるものとして説明する。尚、図1に示すストレージ制御装置101は、あるサーバに実装され、ネットワークを介して利用可能にされてよいし、図1に示す各構成要素がネットワーク上に分散して設置されて利用可能にされてもよい。
図2は、本実施形態に係るストレージ制御装置101を含む情報処理システム10の構成を示すブロック図である。図2に示すように、情報処理システム10は、ストレージ装置300及びホスト400を備える。
ホスト400は、ストレージ装置300に対し、論理アドレスを指定してアクセス要求を送信する。
ストレージ装置300は、ストレージ制御装置101及びディスク部200を含む。ストレージ制御装置101は、ホスト400からのアクセス要求を受信し、そのアクセス要求に基づいてディスク部200へのアクセスを実行し、そのアクセスの結果をホスト400に送信する。
ディスク部200は、例えば、複数の物理ディスク装置(不図示)を含む、所望のRAIDシステムを構成するディスクアレイである。ディスク部200は、ストレージ制御装置101を介して、ホスト400からアクセスされる。
次に、図1に示す実施形態をコンピュータで実現する場合のハードウェア単位の構成要素について、説明する。図3は、本実施形態におけるストレージ制御装置101を実現する、コンピュータ700のハードウェア構成の一例を示す図である。
図3に示すように、コンピュータ700は、プロセッサ701、メモリ702、記憶装置703、入力部704、出力部705、ホストインタフェース部706及びディスクインタフェース部708を含む。更に、コンピュータ700は、外部から供給される記録媒体(または記憶媒体)707を含む。例えば、記録媒体707は、情報を非一時的に記憶する不揮発性記録媒体(非一時的記録媒体)である。また、記録媒体707は、情報を信号として保持する、一時的記録媒体であってもよい。
プロセッサ701は、オペレーティングシステム(不図示)を動作させて、コンピュータ700の全体の動作を制御する。例えば、プロセッサ701は、記憶装置703に装着された記録媒体707から、プログラムやデータを読み込み、読み込んだそのプログラムやそのデータをメモリ702に書き込む。ここで、そのプログラムは、例えば、後述の図9及び図10に示すフローチャートの動作をコンピュータ700に実行させるためのプログラムである。
そして、プロセッサ701は、その読み込んだプログラムに従って、またその読み込んだデータに基づいて、図1に示す維持処理実行部110、コピー部120及びコピーバック部130として各種の処理を実行する。
尚、プロセッサ701は、通信網(不図示)に接続される外部コンピュータ(不図示)から、メモリ702にそのプログラムやそのデータをダウンロードしてもよい。
メモリ702は、そのプログラムやそのデータを記憶してよい。また、メモリ702は、図1に示す記憶部150として、ストレージ制御装置101が扱う任意のデータを記憶してよい。
記憶装置703は、例えば、コンピュータ読み取り可能な媒体を含む、ハードディスクドライブ、光ディスクドライブ、フレキシブルディスクドライブ及び磁気光ディスクドライブなどである。また、記憶装置703は、フラッシュメモリなどの半導体記憶装置などであってもよい。記憶装置703は、そのプログラムやそのデータを記憶してよい。また、記憶装置703は、図1に示す記憶部150として、ストレージ制御装置101が扱う任意のデータを記憶してよい。
入力部704は、オペレータによる操作の入力や外部からの情報の入力を受け付ける。入力操作に用いられるデバイスは、例えば、マウスや、キーボード、内蔵のキーボタン及びタッチパネルなどである。入力部704は、維持処理実行部110、コピー部120及びコピーバック部130の一部として含まれてよい。
出力部705は、例えばディスプレイで実現される。出力部705は、例えばGUI(GRAPHICAL User Interface)によるオペレータへの入力要求や、オペレータに対する出力提示などのために用いられる。出力部705は、維持処理実行部110、コピー部120及びコピーバック部130の一部として含まれてよい。
ホストインタフェース部706は、図2に示すホスト400とのインタフェースを実現する。ホストインタフェース部706は、維持処理実行部110の一部として含まれてよい。
ディスクインタフェース部708は、図2に示すディスク部200とのインタフェースを実現する。ディスクインタフェース部708は、維持処理実行部110、コピー部120及びコピーバック部130の一部として含まれてよい。
以上説明したように、図1に示すストレージ制御装置101の機能単位の各構成要素は、図3に示すハードウェア構成のコンピュータ700によって実現される。但し、コンピュータ700が備える各部の実現手段は、上記に限定されない。すなわち、コンピュータ700は、物理的に結合した1つの装置により実現されてもよいし、物理的に分離した2つ以上の装置を有線または無線で接続し、これら複数の装置により実現されてもよい。
尚、上述のプログラムのコードを記録した記録媒体707が、コンピュータ700に供給される場合、プロセッサ701は、記録媒体707に格納されたそのプログラムのコードを読み出して実行してよい。或いは、プロセッサ701は、記録媒体707に格納されたそのプログラムのコードを、メモリ702、記憶装置703またはその両方に格納してもよい。すなわち、本実施形態は、コンピュータ700(プロセッサ701)が実行するそのプログラム(ソフトウェア)を、一時的にまたは非一時的に、記憶する記録媒体707の実施形態を含む。尚、情報を非一時的に記憶する記録媒体は、非一時的記録媒体或いは不揮発性記録媒体とも呼ばれる。
以上が、本実施形態におけるストレージ制御装置101を実現するコンピュータ700の、ハードウェア単位の各構成要素についての説明である。
図1に戻って、ストレージ制御装置101の機能単位の各構成要素について説明する。
===維持処理実行部110===
維持処理実行部110は、ディスク部(物理ディスクとも呼ばれる)200の特定の領域である維持処理範囲について、維持処理を実行する。維持処理は、ディスク部200に構築されるRAIDシステムの冗長性を維持するための処理であり、リビルド及び整合性チェックのいずれかを少なくとも含む。尚、維持処理は、RAID処理とも呼ばれる。
維持処理範囲は、維持処理の実行対象とされる、ディスク部200の特定の領域である。ストレージ制御装置101は、例えば、図示しない手段により関連技術に示す特許文献2に記載された技術を用いて維持処理範囲を決定してよい。この場合、ストレージ制御装置101は、同じく図示しない手段により、後述する使用状態テーブル152を生成してもよい。
また、維持処理範囲は、理論的、経験的或いは試行錯誤的に予め決定されてよい。この場合、維持処理範囲は、図3に示すメモリ702或いは記憶装置703に、予め記憶されていてよい。また、ストレージ制御装置101は、図3に示す入力部704を介して操作者が入力した、維持処理範囲を取得してもよい。また、ストレージ制御装置101は、図示しない機器から、維持処理範囲を受信してもよい。また、ストレージ制御装置101は、図3に示す記憶装置703を介して、記録媒体707に記録された維持処理範囲を取得してもよい。
図4は、維持処理範囲情報151の一例を示す図である。図4において、維持処理範囲は、維持処理範囲の先頭アドレスと末尾アドレスとで示される。図4において、「0xXXXXXX(XXXXXXは、16進数で表される数値)」は維持処理範囲の先頭アドレスを、「0xYYYYYY(YYYYYYは、16進数で表される数値)」は維持処理範囲の末尾アドレスを、示す。即ち、図4は、ディスク部200における「0xXXXXXX」から「0xYYYYYY」までの領域が維持処理範囲であることを示す。
図5は、ディスク部200における、維持処理範囲202と維持処理範囲外201との一例を示す図である。図5に示すように、ディスク部200は、物理ディスク装置210を含む。尚、図5の例に係わらずディスク部200は、任意の台数の物理ディスク装置210を含んでよい。 図5に示すように、物理ディスク装置210の「先頭アドレス0xXXXXXX」から「末尾アドレス0xYYYYYY」までが、維持処理範囲202である。物理ディスク装置210の先頭から「先頭アドレス0xXXXXXX」の1つ前のアドレス、及び、「末尾アドレス0xYYYYYY」から物理ディスク装置210の末尾までが維持処理範囲外201である。尚、本実施形態において、維持処理範囲202は、連続していることが望ましいが、維持処理範囲202が分割して存在することを除外するものではない。
===コピー部120===
コピー部120は、維持処理範囲外201への書き込み要求に基づいて、維持処理範囲202のいずれかの空き領域へその書き込み要求で指定される書き込みデータをコピーデータとして書き込む。具体的には、ストレージ制御装置101は、ホスト400からアクセス要求を受信する。そして、受信したアクセス要求が維持処理範囲外201への書き込み要求である場合に、コピー部120は、維持処理範囲202のいずれかの空き領域に、その書き込みデータを書き込む。即ち、コピー部120は、維持処理範囲外201への書き込み要求に基づいて、維持処理範囲202のいずれかの空き領域にその書き込みデータのコピーを格納する。
図6は、物理ディスク装置210に格納された書き込みデータ及びコピーデータの一例を示す図である。図6において、例えば、書き込みデータ211(図中の「DataC」は書き込みデータ211のデータ識別子)は、その書き込み要求に基づいてストレージ制御装置101によってディスク部200に書き込まれた書き込みデータである。また、そして、コピーデータ212(図中の「DataC′」はコピーデータ212のデータ識別子)は、コピー部120によって、ディスク部200に書き込まれた(コピーされた)コピーデータである。また、書き込みデータ213(図中の「DataA」は書き込みデータ213のデータ識別子)及び書き込みデータ214(図中の「DataB」は書き込みデータ214のデータ識別子)は、書き込みデータである。
コピー部120は、例えば、以下のように、そのコピー状態を管理する。図7は、コピーアドレス管理テーブル155の一例を示す図である。図7に示されるコピーアドレス管理テーブル155は、図6に示す書き込みデータ211「DataC」に対応する、コピー元データ識別子、コピー元アドレス「0xZZZZZZ(ZZZZZZは、16進数で表される数値)」、コピー先データ識別子及びコピー先アドレス「0xCCCCCC(CCCCCCは、16進数で表される数値)」を示す。
尚、コピー部120は、維持処理範囲202の使用状態(空き状態)を、直接管理してよいし、ディスク部200に問い合わせてもよい。図8は、コピー部120が管理する使用状態テーブル152の一例を示す図である。図8に示すように、使用状態テーブル152は、維持処理範囲202について、予め定められたサイズに区切られたレコード番号毎にその使用状態(例えば、「1」は使用、「0」は未使用)を示す。即ち、コピー部120は、使用状態テーブル152を参照して使用状態が未使用であるレコードに、そのコピーを格納する。
===コピーバック部130===
コピーバック部130は、コピーデータに対応する維持処理範囲外201に格納されている書き込みデータを、そのコピーデータに対して維持処理が実行されたデータである処理済みデータで、上書きする。
具体的には、コピーバック部130は、維持処理実行部110により維持処理が正常に実行された場合、コピーアドレス管理テーブル155に基づいて、維持処理範囲外201へ、維持処理が正常に実行された処理済みデータを書き戻す。例えば、コピーバック部130は、維持処理範囲外201に格納されているデータ(例えば、書き込みデータ211)を、維持処理範囲202に格納されているデータ(例えば、コピーデータ212)に対して維持処理が正常に実行されたデータで、上書きする。
以上が、ストレージ制御装置101の機能単位の各構成要素についての説明である。
次に本実施形態の動作について、図面を参照して詳細に説明する。
図9及び図10は、本実施形態の動作を示すフローチャートである。尚、このフローチャートによる処理は、前述したプロセッサ701によるプログラム制御に基づいて、実行されてよい。また、処理のステップ名については、S601のように、記号で記載する。
ストレージ制御装置101は、ホスト400から書き込み要求のアクセス要求を受信したことを契機に、図9に示すフローチャートの動作を開始する。
コピー部120は、受信したアクセス要求が維持処理範囲外201への書き込み要求であるか否かを判定する(ステップS601)。
否である場合(ステップS601でNO)、処理は終了する。
そのアクセス要求が維持処理範囲外201への書き込み要求である場合(ステップS601でYES)、コピー部120は、使用状態テーブル152に基づいて、維持処理範囲202のいずれかの空き領域に、その書き込み要求で示される書き込みデータを書き込む(ステップS602)。
次に、コピー部120は、その書き込みデータを書き込んだ領域に対応する使用状態テーブル152の使用状態を「1」に変更する(ステップS603)。
次に、コピー部120は、その書き込みデータに対応するレコードをコピーアドレス管理テーブル155に追加する(ステップS604)。
ストレージ制御装置101は、ホスト400から維持処理要求のアクセス要求を受信したことを契機に、図10に示すフローチャートの動作を開始する。尚、ストレージ制御装置101は、予め定められる特定の期間のそれぞれが終了したことを契機に、図10に示すフローチャートの動作を開始する。また、ストレージ制御装置101は、図3に示す入力部704を介して操作者から指示を受けたことを契機に、図10に示すフローチャートの動作を開始してもよい。ストレージ制御装置101は、図示しない経路を介して、外部から要求を受信したことを契機に、図10に示すフローチャートの動作を開始してもよい。
維持処理実行部110は、維持処理要求に基づいて維持処理を実行する(ステップS611)。
次に、コピーバック部130は、維持処理が正常に実行されたか否かを判定する(ステップS612)。
否の場合(ステップS612でNO)、処理は終了する。
維持処理が正常に実行された(ステップS612でYES)場合、コピーバック部130は、コピーアドレス管理テーブル155に基づいて、維持処理範囲外201へ、その維持処理が正常に実行された処理済みデータを書き戻す。(ステップS613)。
以上が、ストレージ制御装置101の動作の説明である。
上述した本実施形態における第1の効果は、ディスクへの無駄なアクセスによる処理時間を短縮することが可能になる点である。
その理由は、以下のような構成を含むからである。即ち、第1にコピー部120が、維持処理範囲外201への書き込み要求に基づいて、維持処理範囲202のいずれかの領域へその書き込み要求で指定される書き込みデータをコピーデータとして書き込む。第2に、維持処理実行部110が、維持処理範囲202について、維持処理を実行する。第3に、コピーバック部130が、そのコピーデータに対応する維持処理範囲外201書き込みデータを、そのコピーデータに対して維持処理が実行されたデータである処理済みデータで、上書きする。
一般に、RAIDシステムに記録される書き込みデータの格納先は上位アプリケーションからの書き込み要求に従う。このため、書き込みデータが書き込まれたアドレスに連続性は無い。そして、そのように連続性の無い、データ未使用領域が多く含まれる状態で記録された書き込みデータを、上位アプリケーションに影響しないようにHW側で整列させ、未使用領域を減らすことは、困難である。従って、関連技術では、そのように連続性の無い、データ未使用領域が多く含まれる領域について、維持処理を実行しなければならない場合が発生する。
本実施形態のストレージ制御装置101は、維持処理を実行する範囲をディスク部200の限定された領域である維持処理範囲202に絞り込むことができる。そして、ストレージ制御装置101は、維持処理範囲202内を、未使用領域が少ない、データ使用率の高い状態にできるため、維持処理をより効率的に実行することが可能になる。
<<<第1の実施形態の第1の変形例>>>
第1の実施形態の第1の変形例は、第1の実施形態に比べて、以下の点が異なる。
維持処理実行部110は、維持処理範囲202の先頭から、維持処理範囲202の末尾に最も近い書き込みデータ及びコピーデータのいずれかが格納されている領域までを、維持処理を実行する領域とする。具体的には、維持処理実行部110は、維持処理範囲202の先頭から、維持処理範囲202の末尾に最も近い「使用状態テーブル152の使用状態が「1」であるレコード」までについて、維持処理を実行する。換言すると、維持処理実行部110は、維持処理実行部110は、「使用状態テーブル152の使用状態が「0」であるレコード」が維持処理範囲202の末尾まで続く、維持処理範囲202の後半についての維持処理を実行しない。
図11は、本変形例における維持処理実行部110が維持処理を実行する範囲の一例を示す図である。図11に示すように、本変形例の維持処理実行部110は、維持処理範囲外201の先頭から、コピーデータ212の末尾までを、維持処理を実行する実行領域203とする。
本第1の変形例は、維持処理実行部110が維持処理を実行する領域を、維持処理範囲202の一部に更に限定することで、維持処理の実行時間を更に短縮することを可能にする。
<<<第1の実施形態の第2の変形例>>>
第1の実施形態の第2の変形例は、第1の実施形態の第1の変形例に比べて、以下の点が異なる。
コピー部120は、維持処理範囲202の書き込みデータ及びコピーデータのいずれも格納されていない空き領域の、維持処理範囲202の先頭からの近さに基づいて、その空き領域へコピーデータを書き込む。具体的には、コピー部120は、維持処理範囲202の先頭から順に「使用状態テーブル152の使用状態が「0」であるレコード」を探査し、検出したレコードにコピーデータを格納する。
図12は、本変形例におけるコピーデータと維持処理実行部110が維持処理を実行する範囲の一例を示す図である。図12に示すように、本変形例の維持処理実行部110は、維持処理範囲外201の先頭から、書き込みデータ214の末尾までを、維持処理を実行する実行領域204とする。
本第2の変形例は、維持処理実行部110が維持処理を実行する領域を、維持処理範囲202の一部に、第1の変形例より更に限定することで、維持処理の実行時間を第1の変形例より更に短縮することを可能にする。
<<<第1の実施形態の第3の変形例>>>
図13は、第1の実施形態の変形例である情報処理システム501を示す図である。図に示すように、情報処理システム501は、情報処理装置510、情報処理装置520、情報処理装置530及び記憶装置550を含む。情報処理装置510、情報処理装置520、情報処理装置530及び記憶装置550は、ネットワーク509を介して接続される。尚、図13に示す例に係わらず、情報処理装置510、情報処理装置520、情報処理装置530及び記憶装置550の任意の組み合わせは、1台の図3に示すようなコンピュータ700であってよい。或いは、情報処理装置510、情報処理装置520、情報処理装置530及び記憶装置550の任意のいずれかどうしは、ネットワークを介することなく直接接続されてもよい。即ち、情報処理装置510、情報処理装置520、情報処理装置530及び記憶装置550は、任意に、ネットワーク109を介して接続されてよい。
情報処理装置510は、図1に示す維持処理実行部110を含む。情報処理装置520は、図1に示すコピー部120を含む。情報処理装置530は、図1に示すコピーバック部130を含む。記憶装置550は、記憶部150を含む。
上述した本実施形態における変形例の効果は、情報処理システム501の構築を柔軟に(例えば、設置場所等の制限が低減されて)実現することが可能になる点である。
その理由は、情報処理装置510、情報処理装置520、情報処理装置530及び記憶装置550を、任意に、ネットワーク509を介して接続するからである。
<<<第2の実施形態>>>
次に、本発明の第2の実施形態について図面を参照して詳細に説明する。以下、本実施形態の説明が不明確にならない範囲で、前述の説明と重複する内容については説明を省略する。
図14は、本発明の第2の実施形態に係るストレージ制御装置102の構成を示すブロック図である。
図14に示すように、本実施形態におけるストレージ制御装置102は、第1の実施形態のストレージ制御装置101と比べて、維持処理範囲決定部140を更に含む点が異なる。
ストレージ制御装置102は、図1に示すストレージ制御装置101と同様に、図3に示すコンピュータ700によって実現されてよい。
この場合、プロセッサ701は、その読み込んだプログラムに従って、またその読み込んだデータに基づいて、図14に示す維持処理実行部110、コピー部120、コピーバック部130、更に維持処理範囲決定部140としても、各種の処理を実行する。ここで、そのプログラムは、例えば、後述の図16に示すフローチャートの動作をコンピュータ700に実行させるためのプログラムである。
また、メモリ702は、図14に示す記憶部150として、ストレージ制御装置102が扱う任意のデータを記憶してよい。記憶装置703は、図14に示す記憶部150として、ストレージ制御装置102が扱う任意のデータを記憶してよい。
また、入力部704は、更に維持処理範囲決定部140の一部としても含まれてよい。出力部705は、更に維持処理範囲決定部140の一部としても含まれてよい。ホストインタフェース部706は、更に維持処理範囲決定部140の一部としても含まれてよい。
===維持処理範囲決定部140===
維持処理範囲決定部140は、書き込みデータが格納されたディスク部200の範囲に基づいて、維持処理範囲情報151の先頭アドレス及び末尾アドレス、即ち維持処理範囲202、を決定する。
維持処理範囲決定部140は、例えば、以下のように維持処理範囲202を決定する。
第1に、維持処理範囲決定部140は、ホスト400から書き込み要求を受信した場合、維持処理範囲情報151に基づいて、書き込みデータが格納されたディスク部200の範囲が特定の条件を満たすか否かを判定する。特定の条件は、例えば、「既に書き込みデータが格納されているディスク部200の領域の、最小アドレスから最大アドレスまでの範囲の、ディスク部200の全体の範囲に占める割合が所定の閾値以上である」という条件である。また、特定の条件は、「既に書き込みデータが格納されているディスク部200の領域の、最小アドレスから最大アドレスまでの範囲が所定の閾値以上である」という条件であってもよい。尚、その最小アドレスからその最大アドレスの間には、書き込みデータが格納されていない領域を含んでよいものとする。特定の条件は、上述の例に係わらず、任意の適切な条件であってよい。
図15は、閾値156の一例を示す図である。図15は、特定の条件「既に書き込みデータが格納されているディスク部200の領域の、最小アドレスから最大アドレスまでの範囲の、ディスク部200の全体の範囲に占める割合が所定の閾値以上である」の閾値である格納範囲率が、「0.4」であることを示す。尚、閾値は、例えば、理論的、経験的或いは試行錯誤的に予め決定される。例えば、閾値は、図3に示すメモリ702或いは記憶装置703に、予め記憶されていてよい。また、ストレージ制御装置102は、図3に示す入力部704を介して操作者が入力した、閾値を取得してもよい。また、ストレージ制御装置102は、図示しない機器から、閾値を受信してもよい。また、ストレージ制御装置102は、図3に示す記憶装置703を介して、記録媒体707に記録された閾値を取得してもよい。
第2に、特定の条件が満たされない場合、維持処理範囲決定部140は、維持処理範囲情報151を更新する。維持処理範囲決定部140は、ホスト400から受信した書き込み要求で指定される最小アドレスが、維持処理範囲情報151の先頭アドレス未満である場合、その最小アドレスで維持処理範囲情報151の先頭アドレスを更新する。また、維持処理範囲決定部140は、ホスト400から受信した書き込み要求で指定される最大アドレスが、維持処理範囲情報151の末尾アドレスを超える場合、その最大アドレスで維持処理範囲情報151の末尾アドレスを更新する。
第3に、維持処理範囲決定部140は、その更新した維持処理範囲情報151に基づいて書き込みデータが格納されたディスク部200の範囲が特定の条件を満たすか否かを判定する。次に、維持処理範囲決定部140は、特定の条件が満たされる場合、使用状態テーブル152を生成する。
図16は、本実施形態に係るストレージ制御装置102の動作を示すフローチャートである。尚、このフローチャートによる処理は、前述したプロセッサ701によるプログラム制御に基づいて、実行されてよい。また、処理のステップ名については、S601のように、記号で記載する。
ストレージ制御装置102は、ホスト400から書き込み要求のアクセス要求を受信したことを契機に、図16に示すフローチャートの動作を開始する。
尚、ここでは、特定の条件を「既に書き込みデータが格納されているディスク部200の領域の、最小アドレスから最大アドレスまでの範囲の、ディスク部200の全体の範囲に占める割合が所定の閾値以上である」とする。
維持処理範囲決定部140は、維持処理範囲情報151に基づいて、書き込みデータが格納されたディスク部200の範囲が特定の条件を満たすか否かを判定する。(ステップS621)。
その範囲が特定の条件を満たす場合(ステップS621でYES)、処理はステップS601へ進む。
否である場合(ステップS621でNO)、維持処理範囲決定部140は、維持処理範囲情報151を更新する(ステップS622)。
次に、維持処理範囲決定部140は、ステップS622で更新された維持処理範囲情報151に基づいて、書き込みデータが格納されたディスク部200の範囲が特定の条件を満たすか否かを判定する。(ステップS623)。否である場合(ステップS623でNO)、処理は終了する。
その範囲が特定の条件を満たす場合(ステップS623でYES)、維持処理範囲決定部140は、使用状態テーブル152を生成する(ステップS624)。そして、処理はステップS601へ進む。
図16に示すステップS601からステップS604までの動作は、図9に示すステップS601からステップS604までの動作と同等である。以上が、本実施形態におけるストレージ制御装置102の動作の説明である。
図17は、維持処理範囲決定部140により決定される維持処理範囲202の一例を示す図である。図17は、「書き込みデータ213の最小アドレスから書き込みデータ214の最大アドレスまでの範囲が、特定の条件を満たしていることを示す。そして、図17は、「書き込みデータ213の最小アドレスが維持処理範囲情報151の先頭アドレス、書き込みデータ214の最大アドレスが維持処理範囲情報151の末尾アドレスとして、維持処理範囲202が決定されていることを示す。尚、図17は、ディスク部200に含まれる1台の物理ディスク装置210についてのみ図示しているが、特定の条件は、ディスク部200全体、或いはディスク部200の一部の任意の適切な範囲で設定されてよい。
図18は、維持処理範囲決定部140により決定される維持処理範囲202における、維持処理実行部110よる維持処理が実行される実行領域206の一例を示す図である。図18に示すように、維持処理範囲202に、アドレス範囲外へ書き込み要求のあった書き込みデータのコピーデータが格納されるため、限定され、かつ使用率の高い実行領域206に対して維持処理が実行される。こうして処理時間の大幅短縮が実現される。
上述した本実施形態におけるは、第1の実施形態の効果に加えて、更に、ディスクへの無駄なアクセスによる処理時間を短縮することが可能になる点である。
その理由は、維持処理範囲決定部140が、書き込みデータが格納されたディスク部200の範囲に基づいて、維持処理範囲202を決定するからである。例えば、維持処理範囲決定部140が、書き込みデータが格納されたディスク部200の範囲の、ディスク部200の全体の範囲に占める割合が、所定の閾値以上に達した場合に、維持処理範囲を決定するからである。
以上の各実施形態で説明した各構成要素は、必ずしも個々に独立した存在である必要は無い。例えば、複数個の任意のその構成要素が1個のモジュールとして実現されてよい。また、その構成要素の内の任意のひとつが複数のモジュールで実現されてもよい。また、その構成要素の内の任意のひとつがその構成要素の内の任意の他のひとつであってよい。また、その構成要素の内の任意のひとつの一部と、その構成要素の内の任意の他のひとつの一部とが重複してもよい。
以上説明した各実施形態における各構成要素及び各構成要素を実現するモジュールは、必要に応じ、可能であれば、ハードウェア的に実現されてよい。また、各構成要素及び各構成要素を実現するモジュールは、コンピュータ及びプログラムで実現されてよい。また、各構成要素及び各構成要素を実現するモジュールは、ハードウェア的なモジュールとコンピュータ及びプログラムとの混在により実現されてもよい。
そのプログラムは、例えば、磁気ディスクや半導体メモリなど、コンピュータが読み取り可能な非一時的記録媒体に記録され、コンピュータに提供される。そして、そのプログラムは、コンピュータの立ち上げ時などに、非一時的記録媒体からコンピュータに読み取られる。この読み取られたプログラムは、そのコンピュータの動作を制御することにより、そのコンピュータを前述した各実施形態における構成要素として機能させる。
また、以上説明した各実施形態では、複数の動作をフローチャートの形式で順番に記載してあるが、その記載の順番は複数の動作を実行する順番を限定するものではない。このため、各実施形態を実施するときには、その複数の動作の順番は、各実施形態を実施する上で機能的、性能的、その他の特性に対して支障を来さない範囲内で、変更することができる。
更に、以上説明した各実施形態では、複数の動作は個々に相違するタイミングで実行されることに限定されない。例えば、各実施形態を実施する上で機能的、性能的、その他の特性に対して支障を来さない範囲内で、ある動作の実行中に他の動作が発生してよい。また、各実施形態を実施する上で機能的、性能的、その他の特性に対して支障を来さない範囲内で、ある動作と他の動作との実行タイミングが部分的に乃至全部において重複してもよい。
更に、以上説明した各実施形態では、ある動作が他の動作の契機になるように記載しているが、その記載はある動作と他の動作との関係を限定するものではない。このため、各実施形態を実施するときには、その複数の動作の関係は、各実施形態を実施する上で機能的、性能的、その他の特性に対して支障を来さない範囲内で、変更することができる。また各構成要素の各動作の具体的な記載は、各構成要素の各動作を限定するものではない。このため、各構成要素の具体的な各動作は、各実施形態を実施する上で機能的、性能的、その他の特性に対して支障を来さない範囲内で変更されてよい。
以上、各実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本発明の構成や詳細には、本発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
10 情報処理システム
101 ストレージ制御装置
102 ストレージ制御装置
110 維持処理実行部
120 コピー部
130 コピーバック部
140 維持処理範囲決定部
150 記憶部
151 維持処理範囲情報
152 使用状態テーブル
155 コピーアドレス管理テーブル
200 ディスク部
201 維持処理範囲外
202 維持処理範囲
203 実行領域
204 実行領域
206 実行領域
210 物理ディスク装置
211 書き込みデータ
212 コピーデータ
213 書き込みデータ
214 書き込みデータ
300 ストレージ装置
400 ホスト
501 情報処理システム
509 ネットワーク
510 情報処理装置
520 情報処理装置
530 情報処理装置
550 記憶装置
700 コンピュータ
701 プロセッサ
702 メモリ
703 記憶装置
704 入力部
705 出力部
706 ホストインタフェース部
707 記録媒体
708 ディスクインタフェース部

Claims (10)

  1. 物理ディスクの特定の領域である維持処理範囲について、リビルド及び整合性チェックの少なくともいずれかを実行する維持処理実行手段と、
    前記維持処理範囲の外の、前記物理ディスクの領域である維持処理範囲外への書き込み要求に基づいて、前記維持処理範囲のいずれかの領域へ前記書き込み要求で指定される書き込みデータをコピーデータとして書き込むコピー手段と、
    前記コピーデータが書き込まれた前記維持処理範囲について、前記維持処理実行手段により、前記リビルド及び前記整合性チェックの少なくともいずれかが実行された場合、前記コピーデータに対応する前記維持処理範囲外に格納されている前記書き込みデータを、前記コピーデータに対して前記リビルド及び前記整合性チェックのいずれかが実行されたデータである処理済みデータで、上書きするコピーバック手段と
    を含むストレージ制御装置。
  2. 前記維持処理実行手段は、前記維持処理範囲の先頭から、前記維持処理範囲の末尾に最も近い前記書き込みデータ及び前記コピーデータのいずれかが格納されている領域までを、前記リビルド及び前記整合性チェックの少なくともいずれかを実行する領域とする
    請求項1記載のストレージ制御装置。
  3. 前記コピー手段は、前記維持処理範囲の前記書き込みデータ及び前記コピーデータのいずれも格納されていない空き領域の、前記維持処理範囲の先頭からの近さに基づいて、前記空き領域へ前記コピーデータを書き込む
    請求項2記載のストレージ制御装置。
  4. 前記書き込みデータが格納された前記物理ディスクの範囲に基づいて、前記維持処理範囲を決定する維持処理範囲決定手段を更に含む
    請求項1乃至3のいずれか1項に記載のストレージ制御装置。
  5. 前記維持処理範囲決定手段は、前記書き込みデータが格納された前記物理ディスクの範囲の、前記物理ディスクの全体の範囲に占める割合が、所定の閾値以上に達した場合に、前記維持処理範囲を決定する
    請求項4記載のストレージ制御装置。
  6. 前記閾値を入力する手段を更に含む
    請求項5記載のストレージ制御装置。
  7. 物理ディスクの特定の領域である維持処理範囲について、リビルド及び整合性チェックの少なくともいずれかを実行する維持処理実行手段と、
    前記維持処理範囲の外の、前記物理ディスクの領域である維持処理範囲外への書き込み要求に基づいて、前記維持処理範囲のいずれかの領域へ前記書き込み要求で指定される書き込みデータをコピーデータとして書き込むコピー手段と、
    前記コピーデータが書き込まれた前記維持処理範囲について、前記維持処理実行手段により、前記リビルド及び前記整合性チェックの少なくともいずれかが実行された場合、前記コピーデータに対応する前記維持処理範囲外に格納されている前記書き込みデータを、前記コピーデータに対して前記リビルド及び前記整合性チェックのいずれかが実行されたデータである処理済みデータで、上書きするコピーバック手段と、を含むストレージ制御装置と、
    物理ディスクと
    を含むストレージ装置。
  8. 前記ストレージ制御装置、前記書き込みデータが格納された前記物理ディスクの範囲に基づいて、前記維持処理範囲を決定する維持処理範囲決定手段を更に含む
    請求項7記載のストレージ装置。
  9. コンピュータが、
    物理ディスクの特定の領域である維持処理範囲について、リビルド及び整合性チェックの少なくともいずれかを実行し、
    前記維持処理範囲の外の、前記物理ディスクの領域である維持処理範囲外への書き込み要求に基づいて、前記維持処理範囲のいずれかの領域へ前記書き込み要求で指定される書き込みデータをコピーデータとして書き込み、
    前記コピーデータが書き込まれた前記維持処理範囲について、前記リビルド及び前記整合性チェックの少なくともいずれかが実行された場合、前記コピーデータに対応する前記維持処理範囲外に格納されている前記書き込みデータを、前記コピーデータに対して前記リビルド及び前記整合性チェックのいずれかが実行されたデータである処理済みデータで、上書きする
    ストレージ制御方法。
  10. 物理ディスクの特定の領域である維持処理範囲について、リビルド及び整合性チェックの少なくともいずれかを実行する処理と、
    前記維持処理範囲の外の、前記物理ディスクの領域である維持処理範囲外への書き込み要求に基づいて、前記維持処理範囲のいずれかの領域へ前記書き込み要求で指定される書き込みデータをコピーデータとして書き込む処理と、
    前記コピーデータが書き込まれた前記維持処理範囲について、前記リビルド及び前記整合性チェックの少なくともいずれかが実行された場合、前記コピーデータに対応する前記維持処理範囲外に格納されている前記書き込みデータを、前記コピーデータに対して前記リビルド及び前記整合性チェックのいずれかが実行されたデータである処理済みデータで、上書きする処理と、をコンピュータに実行させる
    プログラム。
JP2015183916A 2015-09-17 2015-09-17 ストレージ制御装置、ストレージ制御方法及びそのためのプログラム Active JP6589495B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015183916A JP6589495B2 (ja) 2015-09-17 2015-09-17 ストレージ制御装置、ストレージ制御方法及びそのためのプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015183916A JP6589495B2 (ja) 2015-09-17 2015-09-17 ストレージ制御装置、ストレージ制御方法及びそのためのプログラム

Publications (2)

Publication Number Publication Date
JP2017059019A JP2017059019A (ja) 2017-03-23
JP6589495B2 true JP6589495B2 (ja) 2019-10-16

Family

ID=58390378

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015183916A Active JP6589495B2 (ja) 2015-09-17 2015-09-17 ストレージ制御装置、ストレージ制御方法及びそのためのプログラム

Country Status (1)

Country Link
JP (1) JP6589495B2 (ja)

Also Published As

Publication number Publication date
JP2017059019A (ja) 2017-03-23

Similar Documents

Publication Publication Date Title
US10102070B2 (en) Information processing system, storage apparatus and storage device
US20110302369A1 (en) Storage apparatus and control method therefor
US20130290773A1 (en) Storage system and storage control apparatus
JP2007058419A (ja) Pld上のメモリ内の情報に従って構築される論理回路を備えたストレージシステム
JP4884721B2 (ja) 記憶装置のフォーマットを不要としたストレージシステム及び記憶制御方法
JP2014096072A (ja) ミラー構成を有するディスクアレイ及びそのリビルド方法
JP6142860B2 (ja) ディスクアレイ装置、ディスク制御装置、ソリッドステートドライブ、ディスク制御方法、及びそのためのプログラム
US20130080725A1 (en) Control apparatus, control method, and storage apparatus
JP6652647B2 (ja) ストレージシステム
US10860224B2 (en) Method and system for delivering message in storage system
US20110154165A1 (en) Storage apparatus and data transfer method
US9015385B2 (en) Data storage device and method of controlling data storage device
US10162573B2 (en) Storage management system, storage management method, storage medium and information processing system
US20110296103A1 (en) Storage apparatus, apparatus control method, and recording medium for storage apparatus control program
JP6589495B2 (ja) ストレージ制御装置、ストレージ制御方法及びそのためのプログラム
US10956038B2 (en) Non-volatile memory drive partitions within microcontrollers
JP2008071189A (ja) ディスクアレイ装置、raidコントローラおよびディスクアレイ装置のディスクアレイ構築方法
JP6556980B2 (ja) ストレージ制御装置、ストレージ制御方法及びストレージ制御プログラム
JP2017174250A (ja) 制御装置、ストレージ装置、制御方法及びプログラム
WO2016139774A1 (ja) 情報処理装置、情報処理システム
US20110314236A1 (en) Control apparatus, control method, and storage system
US20160357479A1 (en) Storage control apparatus
JP6876288B2 (ja) ストレージ管理装置、ストレージシステム、ストレージ管理方法およびプログラム
JP6519266B2 (ja) 情報処理装置、デバイス、および復旧方法、並びにコンピュータ・プログラム
JP2022152740A (ja) 情報処理方法及び情報処理プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180809

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190523

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190611

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190729

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190902

R150 Certificate of patent or registration of utility model

Ref document number: 6589495

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150