JP2020035243A - ストレージシステム及び記憶制御方法 - Google Patents

ストレージシステム及び記憶制御方法 Download PDF

Info

Publication number
JP2020035243A
JP2020035243A JP2018162201A JP2018162201A JP2020035243A JP 2020035243 A JP2020035243 A JP 2020035243A JP 2018162201 A JP2018162201 A JP 2018162201A JP 2018162201 A JP2018162201 A JP 2018162201A JP 2020035243 A JP2020035243 A JP 2020035243A
Authority
JP
Japan
Prior art keywords
volume
capacity
invalid
volumes
request
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.)
Granted
Application number
JP2018162201A
Other languages
English (en)
Other versions
JP6851350B2 (ja
Inventor
貴敦 鈴木
Takanobu Suzuki
貴敦 鈴木
彬大 原
Akihiro Hara
彬大 原
匡邦 揚妻
Masakuni Agetsuma
匡邦 揚妻
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2018162201A priority Critical patent/JP6851350B2/ja
Priority to CN201910137500.2A priority patent/CN110874189B/zh
Priority to US16/297,979 priority patent/US11379130B2/en
Publication of JP2020035243A publication Critical patent/JP2020035243A/ja
Application granted granted Critical
Publication of JP6851350B2 publication Critical patent/JP6851350B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • 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/0629Configuration or reconfiguration of storage systems
    • G06F3/0631Configuration or reconfiguration of storage systems by allocating resources to storage systems
    • 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/0638Organizing or formatting or addressing of data
    • G06F3/0644Management of space entities, e.g. partitions, extents, pools
    • 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/0662Virtualisation aspects
    • G06F3/0665Virtualisation aspects at area level, e.g. provisioning of virtual or logical volumes
    • 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
    • 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)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】I/O処理の性能低下を抑えつつ、ボリューム構成変更の処理性能を向上させる。【解決手段】プロセッサを有し、I/O(Input/Output)要求の対象となるボリュームを提供し、I/O要求を受けてI/Oを実行するストレージシステムは、I/O要求の対象として提供している有効ボリュームと、提供を行っていない無効ボリュームとを有する。複数の無効ボリュームには、複数種類の容量の無効ボリュームが含まれている。プロセッサは、ボリューム作成要求を受けた場合に、ボリューム作成要求にかかる容量に基づいて、無効ボリュームを選択し、選択した無効ボリュームを有効な有効ボリュームに変換し、有効化した有効ボリュームを提供する。【選択図】図1

Description

本発明は、概して、記憶制御に関する。
ストレージシステムに関して、例えば特許文献1の技術が知られている。特許文献1は、「各マイクロプロセッサが、ストレージシステムの稼働状況に応じて、同期処理と非同期処理とを実行できるストレージシステムを提供する。各マイクロプロセッサには、予め用意された複数の属性(動作モード)のうち、ストレージシステムの稼働状況に応じていずれか一つの属性が設定される。各マイクロプロセッサに設定される属性は、定期的に見直されて変更される。」を開示する。
特表2013-515292号公報
以下、ボリューム数(ボリュームの数)及びボリューム容量(ボリュームの記憶容量)に従う構成を「ボリューム構成」と言うことにする。また、I/O(Input/Output)コマンドに応答してI/Oを行い応答を返す処理を「同期処理」と言い、同期処理以外の所定の処理を「非同期処理」と言う。
一般に、管理者がサービスイン前にボリューム構成をストレージシステムに設定し、サービスイン後は、ボリューム構成の変更が行われる頻度は少ない。そのため、ストレージシステムでは、通常、非同期処理(例えば、ボリューム構成変更の処理)の優先度は、同期処理の優先度よりも低い。
近年、VM(Virtual Machine)やコンテナなどの仮想環境やSDS(Software Defined Storage)の台頭に伴い、サービスイン後にボリューム構成変更が行われる頻度が高くなっている。例えば、VMを用いたいわゆる自動テストでは、定期的(例えば数時間間隔)にボリュームの作成および破棄が行われる。
ボリューム構成変更の開始から完了までには、ボリュームの作成やボリューム容量の変更といった処理が走ることがあり、時間がかかることがある。ボリューム構成変更の頻度が高くなると、ボリューム構成変更が迅速に行われることが望ましい(特に上記のような仮想環境)。
しかし、上述したように、ストレージシステムでは、一般に、同期処理の優先度が比較的高い(例えば最も高い)ため、ボリューム構成変更を迅速に行うことは難しい。ボリューム構成変更を迅速に行う方法として、ボリューム構成変更の優先度を同期処理の優先度よりも高くすることが考えられるが、そうすると、同期処理の性能(つまりI/O性能)が低下し得る。
プロセッサを有し、I/O(Input/Output)要求の対象となるボリュームを提供し、I/O要求を受けてI/Oを実行するストレージシステムが、I/O要求の対象として提供している有効ボリュームと、当該提供を行っていない無効ボリュームとを有する。複数の無効ボリュームには、複数種類の容量の無効ボリュームが含まれている。プロセッサは、ボリューム作成要求を受けた場合に、当該ボリューム作成要求にかかる容量に基づいて、無効ボリュームを選択し、選択した無効ボリュームを有効な有効ボリュームに変換し、当該有効化した有効ボリュームを提供する。
本発明によれば、I/O処理の性能低下を抑えつつ、ボリューム構成変更の処理性能を向上することが期待できる。
実施例1の概要を示す模式図である。 ストレージシステムを含むシステム全体の構成を示す図である。 コンピュートノードのハードウェア構成を示す図である。 ストレージノードのハードウェア構成を示す図である。 ストレージノードが有する機能及びテーブルを示す図である。 ボリューム構成テーブルの構成を示す図である。 操作要求履歴テーブルの構成を示す図である。 上限管理テーブルの構成を示す図である。 ボリューム構成変更の操作要求の一例であるボリューム作成要求の処理のフローチャートである。 ボリュームリサイズ処理のフローチャートである。 予測準備処理のフローチャートである。 予測準備処理におけるボリューム作成処理のフローチャートである。 予測準備処理の一具体例の説明図である。 コマンド処理のフローチャートである。 実施例2に係るボリューム作成スケジュールテーブルの構成を示す図である。 実施例2に係る予測準備処理のフローチャートである。 実施例3に係るプール操作履歴テーブルの構成を示す図である。 実施例3に係る予測準備処理のフローチャートである。 プール操作履歴テーブルに基づく予測準備処理のフローチャートである。 実施例4の概要を示す模式図である。
以下の説明では、「インターフェース部」は、一つ以上のインターフェースでよい。当該一つ以上のインターフェースは、一つ以上の同種の通信インターフェースデバイス(例えば一つ以上のNIC(Network Interface Card))であってもよいし二つ以上の異種の通信インターフェースデバイス(例えばNICとHBA(Host Bus Adapter))であってもよい。
また、以下の説明では、「メモリ部」は、一つ以上のメモリであり、典型的には主記憶デバイスでよい。
また、以下の説明では、「PDEV部」は、一つ以上のPDEVであり、典型的には補助記憶デバイスでよい。「PDEV」は、記憶デバイスの一例であり、特に、物理的な記憶デバイス(Physical storage DEVice)を意味し、典型的には、不揮発性の記憶デバイスである。
また、以下の説明では、「記憶部」は、メモリ部とPDEV部の少なくとも一部とのうちの少なくとも一つ(典型的には少なくともメモリ部)である。
また、以下の説明では、「プロセッサ部」は、一つ以上のプロセッサである。少なくとも一つのプロセッサは、典型的には、CPU(Central Processing Unit)のようなマイクロプロセッサであるが、GPU(Graphics Processing Unit)のような他種のプロセッサでもよい。少なくとも一つのプロセッサは、シングルコアでもよいしマルチコアでもよい。少なくとも一つのプロセッサは、処理の一部又は全部を行うハードウェア回路(例えばFPGA(Field-Programmable Gate Array)又はASIC(Application Specific Integrated Circuit))といった広義のプロセッサでもよい。
また、以下の説明では、「xxxテーブル」といった表現にて、入力に対して出力が得られる情報を説明することがあるが、この種の情報は、どのような構造のデータでもよいし、入力に対する出力を発生するニューラルネットワークのような学習モデルでもよい。従って、「xxxテーブル」を「xxx情報」と言うことができる。また、以下の説明において、各テーブルの構成は一例であり、一つのテーブルは、二つ以上のテーブルに分割されてもよいし、二つ以上のテーブルの全部又は一部が一つのテーブルであってもよい。
また、以下の説明では、「kkk部」(インターフェース部、記憶部及びプロセッサ部を除く)の表現にて機能を説明することがあるが、機能は、一つ以上のコンピュータプログラムがプロセッサ部によって実行されることで実現されてもよいし、一つ以上のハードウェア回路(例えばFPGA又はASIC)によって実現されてもよい。プログラムがプロセッサ部によって実行されることで機能が実現される場合、定められた処理が、適宜に記憶部及び/又はインターフェース部等を用いながら行われるため、機能はプロセッサ部の少なくとも一部とされてもよい。機能を主語として説明された処理は、プロセッサ部あるいはそのプロセッサ部を有する装置が行う処理としてもよい。プログラムは、プログラムソースからインストールされてもよい。プログラムソースは、例えば、プログラム配布計算機又は計算機が読み取り可能な記録媒体(例えば非一時的な記録媒体)であってもよい。各機能の説明は一例であり、複数の機能が一つの機能にまとめられたり、一つの機能が複数の機能に分割されたりしてもよい。
また、以下の説明では、「ストレージシステム」は、一つ以上の物理的な計算機を含んだシステムでよい。物理的な計算機は、汎用計算機でも専用計算機でもよい。少なくとも一つの物理的な計算機において、一つ以上の仮想的な計算機(例えばVM(Virtual Machine))が実行されてもよい。仮想的な計算機は、I/Oコマンドを発行する計算機でもよいし、I/Oコマンドに応答してデータのI/Oを行う計算機でもよい。物理的な計算機が所定のソフトウェアを実行することにより、当該物理的な計算機、又は、当該物理的な計算機を含んだシステムに、SDx(Software-Defined anything)が構築されてもよい。SDxとしては、例えば、SDS(Software Defined Storage)又はSDDC(Software-defined Datacenter)を採用することができる。例えば、ストレージ機能を有するソフトウェアが物理的な汎用の計算機で実行されることにより、SDSとしてのストレージシステムが構築されてもよい。また、少なくとも一つの物理的な計算機(例えばストレージ装置)が、ホストシステムとしての一つ以上の仮想的な計算機と、ストレージシステムのストレージ制御システム(典型的には、I/Oコマンドに応答してデータをPDEV部に対して入出力するコントローラ)としての仮想的な計算機とが実行されてもよい。言い換えれば、当該少なくとも一つの物理的な計算機は、ホストシステムの少なくとも一部として機能と、ストレージ制御システムの少なくとも一部としての機能の両方を有してもよい。
また、以下の説明では、「ボリューム」は、論理ボリュームの略であり、論理的な記憶デバイス(例えばアドレス空間)でよい。ボリュームは、ストレージシステムが有する物理的な記憶資源(例えば、一つ以上のPDEV)に基づく実体的なボリュームでもよいし、仮想化技術(例えば、Thin Provisioning)に従う仮想的なボリュームでもよい。
図1は、実施例1の概要を示す模式図である。
ストレージシステム100は、コンピュートノード150(ホストシステムの一例)からI/O(Input/Output)要求を受けた場合に当該I/Oコマンドに基づきI/Oを行って応答を返す処理である同期処理と、同期処理以外の処理である非同期処理とを行うようになっている。ストレージシステム100は、構成変更部110、ボリューム構成テーブル140及び操作要求履歴テーブル130を有する。ボリューム構成テーブル140は、ボリューム構成(本実施例では、ボリューム容量とボリューム数との関係)を示す。ボリューム構成テーブル140は、例えば、ボリューム毎に、状態フラグ(有効か無効かを示すフラグ)と、容量とを表す情報を保持する。操作要求履歴テーブル130は、ボリューム構成変更の操作要求の履歴を示す。操作要求履歴テーブル130が、ストレージシステム100についてボリューム容量とボリューム数のうちの少なくとも1つを変更することであり一例が作成変更であるボリューム構成変更についての履歴の一例の少なくとも一部である。
構成変更部110は、構成変更設定部111、構成変更実行部112及び操作要求受付部113を有する。構成変更実行部112は、必要なときに(例えばボリューム作成要求を受けたときに)必要なボリューム容量(例えばボリューム作成要求で指定されているボリューム容量)の無効なボリュームが無ければ、作成変更(必要なボリューム容量の無効なボリュームの新規作成、或いは、必要なボリューム容量と異なるボリューム容量を有する無効なボリュームのボリューム容量の変更)を行った上で当該ボリュームの有効化を行う。一方、必要なときに必要なボリューム容量の無効なボリュームがあれば、構成変更実行部112は、当該無効なボリュームの有効化を行う。当該ボリュームについて上記作成変更は不要である。なお、「無効なボリューム」とは、例えば、存在はしているが提供されていないが故にI/Oがされ得ない状態のボリューム(例えば、コンピュートノード150に提供されていないボリューム)である。「ボリュームの有効化」とは、無効なボリュームを有効なボリュームとすることである。「有効なボリューム」とは、提供されたが故にI/Oがされ得る状態のボリューム(例えば、コンピュートノード150に提供されているボリューム)である。
本実施例で行われる処理として、例えば、ボリューム構成変更の予測(設定の一例)と当該予測に伴う準備処理、並びに、構成変更操作要求の受付と当該操作要求に従うボリューム構成変更、がある。
<A.ボリューム構成変更の予測と当該予測に伴う準備処理>
構成変更設定部111は、操作要求履歴テーブル130を参照し(A1)、将来新たに必要とされるボリューム容量とボリューム数との組を予測する。予測された組が、構成変更実行部112に入力される(A2)。
構成変更実行部112は、ボリューム構成テーブル140を参照し(A3)、予測されたボリューム容量毎に、N(予測されたボリューム数)と、N(当該ボリューム容量と同一のボリューム容量についての既存の無効なボリュームの数)とを比較する。構成変更実行部112は、NよりもNが小さいボリューム容量があれば(例えば、既存の無効なボリュームが一つも存在しないボリューム容量があれば)、当該ボリューム容量のボリュームを予め準備しておく準備処理、具体的には、当該ボリューム容量のボリュームを作成するというボリューム構成変更を行う。当該ボリューム容量について作成されるボリュームの数は、例えば、NDIF(=N−N)以上である。構成変更実行部112は、当該準備処理に従いボリューム構成テーブル140を更新する(A4)。
図1に例示の処理によれば、必要なときに必要なボリューム容量の無効なボリュームが存在している可能性が高まる。結果として、一つの非同期処理としてのボリューム構成変更においてボリュームの有効化が行われればよく上記の作成変更が不要になる。故に、同期処理の性能低下を抑えつつ、ボリューム構成変更の処理性能を向上することが期待できる。
<B.構成変更操作要求の受付と当該操作要求に従うボリューム構成変更>
操作要求受付部113は、構成変更操作(ボリューム構成の変更のための操作)の要求をコンピュートノード150(又は、ストレージシステム100の図示しない管理計算機)から受け付ける(B1)。操作要求受付部113は、受け付けた操作要求の内容を、構成変更実行部112に通知する(B2)。
構成変更実行部112は、当該操作要求の内容を、操作要求履歴テーブル130に記録する(B3)。つまり、当該操作要求の内容が、ボリューム構成変更の履歴に追加される。
受け付けられた操作要求が、ボリューム作成の要求であれば、当該操作要求には、ボリューム容量とボリューム数が指定されている。構成変更実行部112は、ボリューム構成テーブル140を参照し(B4)、ボリュームを作成する必要があるか否かの判定を行う。ここでは、説明を簡単にするために、指定されたボリューム数は“1”であるとする。指定されたボリューム容量と同じ又は異なるボリューム容量の無効なボリュームがなければ、判定の結果は真(ボリュームの作成は必要)である。一方、指定されたボリューム容量と同じ又は異なるボリューム容量の無効なボリュームがあれば、判定の結果は偽(ボリュームの作成は不要)である。
判定の結果が真の場合、構成変更実行部112は、ボリュームを作成し、作成したボリュームを有効化してから(当該ボリュームに関する情報をボリューム構成テーブル140に記録してから)(B5)、応答を返す(B6)。
判定の結果が偽の場合、例えば次の二通りがある。存在する無効なボリュームの容量が、指定されたボリューム容量と同じであれば、構成変更実行部112は、ボリュームの有効化(当該ボリュームに関しボリューム構成テーブル140における状態フラグを無効から有効に変更すること)を行って(B5)、応答を返せばよい(B6)。一方、存在する無効なボリュームの容量が、指定されたボリューム容量と異なっていても、構成変更実行部112は、ボリュームの有効化を行って(B5)、応答を返し(B6)、その後に、当該ボリュームの容量の変更を行う。このため、判定の結果が偽の場合、存在する無効なボリュームの容量が、指定されたボリューム容量と同じであっても異なっていても、応答までの時間が短い。
操作要求受付部113が、応答を構成変更実行部112から受け、当該応答を基に、受け付けた構成変更操作要求に対する応答をコンピュートノード150に返す(B7)。
以下、本実施例を詳細に説明する。
図2は、ストレージシステム100を含むシステム全体の構成を示す図である。
ストレージシステム100は、スケールアウト型のシステムであり、一つ以上のストレージノード250から構成される。各ストレージノード250は、フロントエンドのネットワーク201に接続されており、当該ネットワーク201経由で、一つ以上のコンピュートノード150の各々から、ボリューム構成変更の操作要求や、I/Oコマンドを受け付ける。また、各ストレージノード250は、バックエンドのネットワーク202に接続されており、当該ネットワーク202経由で、ストレージノード250間での通信が行われる。ネットワーク201及び202の各々は、WAN(Wide Area Network)やLAN(Local Area Network)といったいずれの種類のネットワークでもよい。また、ネットワーク201及び202が一体でもよい。
図3は、コンピュートノード150のハードウェア構成を示す図である。
コンピュートノード150は、インターフェース部310、記憶部320及びそれらに接続されたプロセッサ部330を有する。インターフェース部310が、フロントエンドのネットワーク201に接続される。記憶部320が、一つ以上のプログラムを格納する。プロセッサ部330が、当該一つ以上のプログラムを実行することで(必要に応じて、ユーザによる操作に応答して)、ストレージシステム100から提供されたボリュームを指定したI/Oコマンドや、ストレージシステム100のボリューム構成の変更のための操作要求を、ストレージシステム100に発行する。
図4は、ストレージノード250のハードウェア構成を示す図である。
ストレージノード250は、インターフェース部410、記憶部420及びそれらに接続されたプロセッサ部430を有する。インターフェース部410が、フロントエンドのネットワーク201及びバックエンドのネットワーク202に接続される。記憶部420が、一つ以上のプログラム、及び、管理情報を格納する。プロセッサ部430が、当該一つ以上のプログラムを実行することで、上述した構成変更部110のような機能を実現する。管理情報は、ストレージシステム100に関する情報を含んだ情報であり、具体的には、例えば、上述した操作要求履歴テーブル130及びボリューム構成テーブル140を含む。
図5は、ストレージノード250が有する機能及びテーブルを示す図である。
ストレージノード250には、一つ以上のプログラムがプロセッサ部430に実行されることにより、コマンド処理部502及び構成変更部110といった機能が実現される。構成変更部110は、構成変更設定部111、構成変更実行部112及び操作要求受付部113を含む。これらの機能については後述する。
また、ストレージノード250は、管理情報500に含まれるテーブルとして、ボリューム構成テーブル140、操作要求履歴テーブル130及び上限管理テーブル511を含む。図6〜図8を参照して、これらのテーブル140、130及び511を説明する。管理情報中のいずれのテーブルも、ストレージノード250間で同一内容であってよい(例えば、いずれかのストレージノード250のいずれかのテーブルの一例であるテーブル140が更新された場合、その更新が、バックエンドのネットワーク202経由で、各他のストレージノード250におけるテーブル140に反映されてもよい)。或いは、マスタのストレージノード250が全ストレージノード250の管理情報を保持してもよい。
図6は、ボリューム構成テーブル140の構成を示す図である。
ボリューム構成テーブル140は、ボリューム構成に関する情報を保持する。例えば、ボリューム構成テーブル140は、ボリューム毎にエントリを有する。各エントリは、ボリュームID601、ノードID602、ノードIP603、内部容量604、外部容量605及び状態フラグ606といった情報を格納する。以下、一つのボリュームを例に取る(図6の説明において「対象ボリューム」)。
ボリュームID601は、対象ボリュームのID(識別情報)を示す。ノードID602は、対象ボリュームを有するストレージノード250のIDを示す。ノードIP603は、対象ボリュームを有するストレージノード250のIPアドレス(ネットワーク201上のアドレスの一例)を示す。内部容量604は、対象ボリュームの実際の容量である内部容量(ストレージノード250が内部的に管理している容量)を示す。外部容量605は、対象ボリュームの内部容量のうち実際に提供されている容量である外部容量(例えば、コンピュートノード150が見せている容量)を示す。状態フラグ606は、対象ボリュームが有効か無効かを示す。
図6に示す通り、状態フラグ606“無効”に対応したボリュームについては、外部容量605はブランク(“−”)である。容量の提供がされていないためである。
図7は、操作要求履歴テーブル130の構成を示す図である。
操作要求履歴テーブル130は、ボリューム構成変更の履歴を示す。「ボリューム構成変更」とは、ボリューム容量とボリューム数のうちの少なくとも1つを変更することであり、一例が上述の作成変更である。例えば、操作要求履歴テーブル130は、操作要求毎にエントリを有する。各エントリは、要求元IP701、要求種別702、ボリューム容量703、ボリューム数704、ボリュームID705及び受付日時706といった情報を格納する。以下、一つの操作要求を例に取る(図7の説明において「対象操作要求」)。
要求元IP701は、対象操作要求の送信元のコンピュートノード150のIPアドレス(ノードIP)を示す。要求種別702は、対象操作要求で指定されているボリューム変更操作の種別(例えば、“ボリューム作成”、“ボリューム削除”)を示す。ボリューム容量703は、対象操作要求で指定されているボリューム容量を示す。ボリューム数704は、対象操作要求で指定されているボリューム数を示す。ボリュームID705は、対象操作要求で指定されているボリュームIDを示す。受付日時706は、対象操作要求を受け付けた日時を示す。
図8は、上限管理テーブル511の構成を示す図である。
上限管理テーブル511は、各ストレージノード250について存在可能なボリュームの数の上限である存在上限を示す。存在上限が定められていることで、ボリューム構成テーブル140のようなテーブルを含む管理情報500のサイズ(例えば、メモリの消費量)を制限することができる。例えば、上限管理テーブル511は、ストレージノード250毎にエントリを有する。各エントリは、ノードID801、ノードIP802、メモリ量803及び上限804といった情報を格納する。以下、一つのストレージノード250を例に取る(図8の説明において「対象ストレージノード250」)。
ノードID801は、対象ストレージノード250のIDを示す。ノードIP802は、対象ストレージノード250のIPアドレスを示す。メモリ量803は、対象ストレージノード250が有するメモリ量(記憶部420内のメモリ部の容量)を示す。上限804は、対象ストレージノード250に存在可能なボリュームの数の上限である存在上限を示す。対象ストレージノード250について、メモリ量803を基に自動で存在上限が決定されてもよい。
以下、本実施例で行われる処理の一例を説明する。
図9は、ボリューム構成変更の操作要求の一例であるボリューム作成要求の処理のフローチャートである。
操作要求受付部113が、ボリューム作成要求を受け付ける(S901)。構成変更実行部112が、当該ボリューム作成要求の内容を操作要求履歴テーブル130に記録する(S902)。
構成変更実行部112が、当該ボリューム作成要求に従うボリュームの作成先のストレージノード250を決定する(S903)。この決定は、所定のポリシー(例えば、ランダム又はラウンドロビン)に従って行われてよい。
構成変更実行部112が、S903で決定されたストレージノード250(以下、図9の説明において、決定ノード250)について、ボリューム構成テーブル140を基に、無効なボリュームの一覧(例えば、内部容量とボリューム数との組の一覧)を取得する(S904)。
構成変更実行部112が、S904で取得された一覧を基に、上記ボリューム作成要求に従うボリュームを決定ノード250に作成する必要があるか否かを判定する(S905)。ここでは、当該一覧に、無効なボリュームについての情報がなければ、つまり、決定ノード250に無効なボリュームが一つもなければ、S905の判定結果は真(S905:YES)である。一方、決定ノード250に無効なボリュームが一つでもあれば、S905の判定結果は偽(S905:NO)である。以下、図9の説明を簡単にするために、ボリューム作成要求で指定されているボリューム数が“2”又はそれより多く、且つ、決定ノード250に無効なボリュームが不足していれば、当該指定されているボリューム数のうちの少なくとも一部について、S905:YESである。すなわち、指定されているボリューム数が“2”又はそれより多い場合、当該指定されているボリューム数について、S905:YES、S905:NO又はその両方になることがある。
S905の判定結果が真の場合(S905:YES)、構成変更実行部112が、指定されたボリューム容量と同一の内部容量のボリュームを決定ノード250に作成し(S906)、当該作成されたボリュームに関するエントリをボリューム構成テーブル140に追加する(S907)。
一方、S906の判定結果が偽の場合(S905:NO)、S906及びS907はスキップされる。
構成変更実行部112が、上記指定されたボリューム容量に関して決定された無効なボリュームの有効化を行う、具体的には、当該ボリュームに対応した状態フラグ606を“無効”から“有効”に変更する(S908)。以下、図9及び図10の説明を簡単にするために、決定され有効化されたボリュームを、図9及び図10の説明において「対象ボリューム」と言う。
操作要求受付部113が、上記ボリューム作成要求に対する応答を返す(S909)。この応答は、必要なボリューム容量の無効なボリュームを新規に作成するか、或いは、必要なボリューム容量と異なるボリューム容量を有する無効なボリュームのボリューム容量の変更を行うという作成変更を行った上で当該ボリュームの有効化を行ったことを意味する作成完了の応答である。
以上の流れによれば、指定されたボリューム容量と同じ内部容量の無効なボリュームが存在するか否かに関わらず、無効なボリュームがありさえすれば、当該ボリューム作成要求の送信元であるコンピュートノード150は、ボリューム作成要求を送信してから短時間で応答を受信できる。S906及びS907がスキップされるからである。そして、無効なボリュームは、操作要求履歴テーブル130に基づき前もって後述の予測準備処理において準備されている可能性が高い。結果として、ボリューム作成要求に従う処理が高速となる可能性が高まる。
S909の後、対象ボリュームについて、構成変更実行部112が、ボリュームリサイズ処理(図9)を行う(S910)。
なお、S905:YESの場合、作成されたボリュームの外部容量605は内部容量604と同じであり、当該内部容量604は、指定されたボリューム容量と同じ容量を示す。
S905:NOの場合、指定されたボリューム容量と一致する内部容量604に対応した無効なボリュームがあれば、そのような無効なボリュームが、S908において、有効化されて、且つ、そのボリュームの外部容量605が、当該内部容量604と同じ値とされる。一方、指定されたボリューム容量と一致する内部容量604に対応した無効なボリュームがなければ、いずれかの無効なボリュームが(例えば、指定されたボリューム容量に最も近い内部容量604に対応した無効なボリュームが)、S908において、有効化されて、且つ、そのボリュームの外部容量605が、指定されたボリューム容量と同じ値とされる(このため、当該ボリュームについて、外部容量605は内部容量604と異なる)。また、ボリューム作成要求の処理に関して、実行される操作要求受付部113と構成変更実行部112は、同一のストレージノード250に存在してもよいし別々のストレージノード250に存在してもよい。
図10は、ボリュームリサイズ処理のフローチャートである。
対象ボリュームについて、構成変更実行部112が、ボリューム構成テーブル140を参照し、外部容量605と内部容量604との差分を算出する(S1001)。構成変更実行部112が、算出された差分が0か否かを判定する(S1002)。S1002の判定結果が真の場合(S1002:YES)、処理が終了する。
S1002の判定結果が偽の場合(S1002:NO)、構成変更実行部112が、外部容量605より内部容量604が大きいか否かを判定する(S1003)。S1003の判定結果が真の場合(S1003:YES)、構成変更実行部112が、ボリューム縮小(すなわち、対象ボリュームの内部容量を外部容量と一致する程に小さくする処理)を行う(S1004)。S1003の判定結果が偽の場合(S1003:NO)、構成変更実行部112が、ボリューム拡張(すなわち、対象ボリュームの内部容量を外部容量と一致する程に大きくする処理)を行う(S1005)。S1004又はS1005の後、構成変更実行部112が、内部容量604を、変更後の内部容量を示す値に更新する(S1006)。
図11は、予測準備処理のフローチャートである。予測準備処理は、定期的に又は不定期的に開始される。図11において、S1101及びS1102が、予測準備処理のうちの予測処理に属し、S1103〜S1109が、予測準備処理のうちの準備処理に属する。
構成変更設定部111が、操作要求履歴テーブル130から、或る一定期間(例えば、前回の図11の予測準備処理から今回の図11の予測準備処理までの期間)に受付日時706が属する履歴部分(全エントリ)を取得する(S1101)。構成変更設定部111が、取得された履歴部分が示すボリューム容量毎に、取得された履歴部分を基に、ボリューム数(N)を集計する(S1102)。各ボリューム容量について、当該ボリューム容量と、当該ボリューム容量について集計されたボリューム数との組が、予測されたボリューム容量と予測されたボリューム数との組の一例である。なお、ボリューム容量とボリューム数の組の予測は、履歴部分を所定の学習モデルの入力とすることで得られた出力に基づいていてもよい。
構成変更実行部112が、ボリューム構成テーブル140から、無効なボリュームを特定し(S1103)、ボリューム容量毎に(具体的には、例えば、S1102での各ボリューム容量と同一の内部容量について)、S1103で特定された無効なボリュームの数(N)を集計する(S1104)。
構成変更実行部112が、ボリューム容量毎に、NDIF=N−Nを算出する(S1105)。Nは、S1102で算出されたボリューム数である。Nは、S1104で算出されたボリューム数である。
構成変更実行部112が、NDIFが負であるボリューム容量があれば、当該ボリューム容量の全ての無効なボリュームのうち、最大でNDIFの絶対値分の無効なボリュームを削除する(S1106)。これにより、当該削除されたボリュームを有するストレージノード250について、当該ストレージノード250に対応した存在上限(上限804が示す値)と、既存のボリュームの数とに一層の差が生じる。言い換えれば、新たに作成可能なボリュームの数が増える。
構成変更実行部112が、正のNDIFを降順にソートする(S1107)。構成変更実行部112は、ボリューム作成処理(図12)を行う(S1108)。構成変更実行部112は、S1107で作成された各ボリュームの無効化(各ボリュームの状態フラグ606を“無効”とすること)を行う(S1109)。
図12は、予測準備処理におけるボリューム作成処理のフローチャートである。
構成変更実行部112が、正のNDIFの全てのボリューム容量について、NDIFが大きいボリューム容量から順に、ループBを行う(ループA)。NDIFが正であるボリューム容量のうち、NDIFが大きいボリューム容量程、ボリューム作成要求で指定された場合に、ボリュームが存在する可能性が低いが、図12によれば、NDIFが大きいボリューム容量程、優先的にボリュームが作成対象とされる。このため、ボリューム作成要求の処理において、指定されたボリューム容量と同一の内部容量を有するボリュームが存在する可能性を高めることができる。以下、一つのボリューム容量を例に取る(図12の説明において「対象容量」)。
対象容量について、ループBは、作成されたボリューム(対象容量と同じ内部容量のボリューム)の数が、NDIFに達するまで、下記S1201〜S1203が繰り返される。
すなわち、構成変更実行部112が、ボリュームの作成先とするストレージノード250を決定する(S1201)。S1201では、例えば、構成変更実行部112が、ボリューム構成テーブル140及び上限管理テーブル511を参照し、存在上限と、存在するボリュームの数との差が最も大きいストレージノード250を、作成先として決定する。
構成変更実行部112が、S1201で決定したストレージノード250に、対象容量と同じ内部容量のボリュームを作成し、当該ボリュームに関するエントリを、ボリューム構成テーブル140に追加する(S1202)。
構成変更実行部112が、ボリューム構成テーブル140及び上限管理テーブル511を参照し、全ストレージノード250に存在するボリュームの数が、全ストレージノード250の存在上限の合計に達したか否かを判定する(S1203)。
S1203の判定結果が偽の場合(S1203:NO)、対象容量について、作成されたボリュームの数がインクリメントされ、インクリメント後のボリューム数が、NDIFに達していなければ、処理がS1201に戻る。
一方、S1203の判定結果が真の場合(S1203:YES)、ボリューム作成処理が終了する。
図13を参照して、予測準備処理の一具体例を説明する。なお、図13の具体例では、説明の簡単のために、ボリューム容量は、1TB、2TB、3TB、4TB、5TB及び6TBの6種類であるとする。
各ボリューム容量について、S1102でNが算出され、S1104でNが算出され、S1105でNDIFが算出される。図13の例によれば、ストレージシステム100に存在するボリュームの数が150であり、ストレージシステム100の存在上限(全ストレージノード250の存在上限の合計)が250であるため、作成可能なボリュームの数は、100(=250−150)である。一方、不足分(正のNDIFの合計)は、170(=80+80+10)である。このため、不足分のボリューム全てを作成することはできない。
このような場合でも不足分のボリュームをなるべく多く作成できるようにするため、構成変更実行部112は、S1106で、NDIFが負である各ボリューム容量について、最大でNDIFの絶対値分の無効なボリュームを削除する。図13の例によれば、NDIFが負である各ボリューム容量について、NDIFの絶対値分の無効なボリューム、すなわち、60(=20(1TBについて)+20(2TBについて)+20(6TBについて))のボリュームが削除される。このため、ストレージシステム100に存在するボリュームの数が、90(150−60)になる。故に、新たに160(=250−90)のボリュームを作成可能となる。つまり、作成可能なボリュームの最大数は、160である。
この後、S1108で、NDIFが正である各ボリューム容量について、NDIFが大きいボリューム容量程、優先的にボリュームが作成対象とされる。図13の例によれば、まず、5TBのボリュームが80(=NDIF)作成される。結果として、作成可能なボリュームの最大数は、80(=160−80)となる。次に、4TBのボリュームが80(=NDIF)作成される。結果として、作成可能なボリュームの数は、0となる(=80−80)。このため、3TBについて、NDIF=10であるが、3TBのボリュームを一つも作成することはできない。従って、4TBのボリュームが80作成されたときに、図12のS1203:YESとなる。
図14は、コマンド処理のフローチャートである。
コマンド処理部502が、コンピュートノード150からコマンドを受け付け(S1401)、当該コマンドを解析し(S1402)、当該コマンドで指定されているボリュームIDに対応したボリュームであるコマンド対象ボリュームを特定する(S1403)。
コマンド処理部502が、コマンド対象ボリュームが有効なボリュームか否か、具体的には、コマンド対象ボリュームに対応した状態フラグ606が“有効”か否かを判定する(S1404)。S1404の判定結果が偽の場合(S1404:NO)、コマンド処理部502が、所定の応答(例えばエラー)を作成し(S1410)、当該応答を返す(S1411)。
S1404の判定結果が真の場合(S1404:YES)、コマンド処理部502が、受け付けられたコマンドがボリューム容量を取得するコマンドであるか否かを判定する(S1405)。
S1405の判定結果が真の場合(S1405:YES)、コマンド処理部502が、コマンド対象ボリュームに対応した外部容量605を特定する(S1406)。コマンド処理部502が、特定した容量を示す情報を含んだ応答を作成し(S1410)、当該応答を返す(S1411)。
S1405の判定結果が偽の場合(S1405:NO)、コマンド処理部502が、受け付けられたコマンドがI/Oコマンドであるか否かを判定する(S1407)。S1407の判定結果が偽の場合(S1407:NO)、コマンド処理部502が、所定の応答(例えばエラー)を作成し(S1410)、当該応答を返す(S1411)。
S1407の判定結果が真の場合(S1407:YES)、コマンド処理部502が、Iコマンドで指定されているアクセス範囲(例えば、先頭LBA(Logical Block Address)及びデータ長)が、コマンド対象ボリュームの外部容量に対応した範囲か否かを判定する(S1408)。S1408の判定結果が偽の場合(S1408:NO)、コマンド処理部502が、所定の応答(例えばエラー)を作成し(S1410)、当該応答を返す(S1411)。
S1408の判定結果が真の場合(S1408:YES)、コマンド処理部502が、I/Oコマンドに従うI/Oを行い、応答(例えば完了)を作成し(S1410)、当該応答を返す(S1411)。なお、本実施例において、「同期処理」は、S1401〜S1411のうちS1406を除く処理である。
実施例2を説明する。その際、実施例1との相違点を主に説明し、実施例1との共通点については説明を省略又は簡略する(これは、後の実施例3及び4についても同様である)。
実施例2では、ボリューム構成変更の操作要求に応答してボリューム構成変更が行われることに代えて又は加えて、ボリューム作成スケジュールテーブルが示すボリューム作成スケジュールに従ってボリューム構成変更が行われる。
図15は、ボリューム作成スケジュールテーブルの構成を示す図である。
ボリューム作成スケジュールテーブル1500は、上述の管理情報500に含まれるテーブルの一つである。ボリューム作成スケジュールテーブル1500が示す一つ以上のボリューム作成スケジュールは、ユーザからGUI(Graphical User Interface)のようなユーザインターフェース経由で入力されたスケジュールを含んでよいし、所定のポリシーに従い自動作成されたスケジュールを含んでもよい。ボリューム作成スケジュールテーブル1500は、例えば、ボリューム作成スケジュール毎にエントリを有する。各エントリが、日時1501、ボリューム容量1502及びボリューム数1503といった情報を格納する。以下、一つのボリューム作成スケジュールを例に取る(図15の説明において「対象スケジュール」)。
日時1501は、対象スケジュールに従うボリューム容量及びボリューム数のボリュームを作成する日時を示す。ボリューム容量1502は、対象スケジュールに従うボリューム容量を示す。ボリューム数1503は、対象スケジュールに従うボリューム数を示す。
図16は、実施例2に係る予測準備処理のフローチャートである。
まず、図11に示した予測準備処理が行われる(S1601)。なお、当該予測準備処理で参照される操作要求履歴テーブル130が示す履歴は、ボリューム作成スケジュールに従うボリューム作成の履歴を含む。ボリューム作成スケジュールに従うボリューム作成に対応したエントリでは、要求元IP701は、ボリューム作成スケジュールを意味する値でよく、受付日時706は、ボリューム作成スケジュールに対応した日時1501と同じ値でよい。
構成変更実行部112は、ボリューム作成スケジュールテーブル1500を参照する(S1602)。構成変更実行部112は、ボリューム作成スケジュールテーブル1500の全体を参照してもよいし、所定の期間(例えば、現在から一定時間先の日時まで)に属するエントリを参照してもよい。以下、S1602で参照された一つ以上のボリューム作成スケジュールを、「参照スケジュール群」と言う。
構成変更実行部112は、ボリューム構成テーブル140を参照し、参照スケジュール群が示すボリューム容量及びボリューム数の無効なボリュームが存在するか否かを判定する(S1603)。一つでも無効なボリュームが足りない場合は、S1603の判定結果が偽となる。図16の説明において、足りない無効なボリュームを「不足ボリューム」と言う。
S1603の判定結果が真の場合(S1603:YES)、構成変更実行部112は、参照スケジュール群に対応した全エントリをボリューム作成スケジュールテーブル1500から削除する(S1609)。
S1603の判定結果が偽の場合(S1603:NO)、構成変更実行部112は、不足ボリュームを追加できるか否かを判定する(S1604)。ストレージシステム100に存在するボリュームの数がストレージシステム100の存在上限に達していなければ、S1604の判定結果が真となる。
S1604の判定結果が真の場合(S1604:YES)、構成変更実行部112は、不足ボリュームを作成し(S1605)、テーブル更新を行う(S1606)。S1606では、当該不足ボリュームに対応したエントリがボリューム構成テーブル140に追加される。また、S1606では、当該ボリューム作成に対応したエントリが操作要求履歴テーブル130に追加されてよい。当該不足ボリュームに対応した状態フラグ606は、“無効”である。S1606の後、構成変更実行部112は、S1609を行う。
S1604の判定結果が偽の場合(S1604:NO)、構成変更実行部112は、ボリューム構成テーブル140及び操作要求履歴テーブル130を参照して、作成されたボリュームの数が相対的に少ない(なるべく少ない)ボリューム容量の無効なボリュームを不足ボリュームの数分特定し、特定された無効なボリュームの内部容量を、不足ボリュームの容量に変更する(S1607)。これにより、参照スケジュール群が示す日時になったときに当該参照スケジュール群が示すボリューム容量及びボリューム数の無効なボリュームが存在する可能性が高まる。S1607の後、構成変更実行部112は、少なくともボリューム構成テーブル140を更新し(S1608)、S1609を行う。S1608では、ボリューム構成テーブル140における対象エントリ(内部容量が変更された無効なボリュームに対応したエントリ)における内部容量604が更新される。また、S1608では、操作要求履歴テーブル130に、内部容量の変更に対応したエントリが追加されてもよい。
実施例3では、ボリュームとして、コンピュートノード150に提供されるフロントエンドのボリュームの他に、フロントエンドのボリュームに割り当てられる記憶領域のソースとしての論理的な記憶空間であるプールを構成するバックエンドのボリュームとがある。実施例3において、フロントエンドのボリュームは、Thin Provisioningに従う仮想ボリュームであり、バックエンドのボリュームは、プールの構成要素となるプールボリュームである。ボリューム構成変更の操作要求としては、仮想ボリュームの作成、削除又は容量変更といった仮想ボリューム操作要求と、プールへのボリュームの追加や、プールからのボリュームの削除のようなプール操作要求とがある。
図17は、プール操作履歴テーブルの構成を示す図である。
プール操作履歴テーブル1700は、上述の管理情報500に含まれるテーブルの一つである。操作要求履歴テーブル130が第1のサブ履歴の一例であるのに対し、プール操作履歴テーブル1700は、第2のサブ履歴の一例である。プール操作履歴テーブル1700は、プール操作要求の履歴を示す。プール操作履歴テーブル1700は、例えば、プール操作要求毎にエントリを有する。各エントリが要求元IP1701、要求種別1702、プールID1703、ボリュームID1704、ボリューム容量1705及び受付日時1706といった情報を格納する。以下、一つのプール操作要求を例に取る(図17の説明において「対象操作要求」)。
要求元IP1701は、対象操作要求の送信元のコンピュートノード150のIPアドレスを示す。要求種別1702は、対象操作要求で指定されているプール操作の種別(例えば、“プール拡張”、“プール縮小”)を示す。プールID1703は、対象操作要求で指定されているプール操作がされたプールのIDを示す。ボリュームID1704は、対象操作要求で指定されているプール操作に従い追加又は除去されたボリュームのIDを示す。ボリューム容量1705は、対象操作要求で指定されているプール操作に従い追加又は除去されたボリュームの容量を示す。受付日時706は、対象操作要求を受け付けた日時を示す。
なお、要求種別1702“プール縮小”に対応したプール操作では、プールから除外されるボリュームに格納されているデータは、当該プールに存在する別のボリュームに移動され、マッピングが変更される。マッピングとは、仮想ボリュームにおける領域とプールにおける領域との対応関係である。マッピングの変更とは、移動元の領域が割り当てられていた仮想領域(仮想ボリュームにおける領域)に、移動元の領域に代えて移動先の領域が割り当てられることである。
図18は、実施例3に係る予測準備処理のフローチャートである。
まず、図11に示した予測準備処理が行われる(S1801)。
次に、プール操作履歴テーブル1700に基づく予測準備処理(図19)が行われる(S1802)。
構成変更実行部112は、ボリューム構成テーブル140を参照し、プールに新たに必要なボリューム容量及びボリューム数の無効なボリュームが存在するか否かを判定する(S1803)。一つでも無効なボリュームが足りない場合は、S1803の判定結果が偽となる。図18の説明において、足りない無効なボリュームを「不足ボリューム」と言う。不足ボリュームは、プールに追加されるボリュームである。不足ボリュームの数と容量の各々は、プール操作履歴テーブル1700に基づく予測準備処理(S1802)において予測された(算出された)数値である。
S1803の判定結果が偽の場合(S1803:NO)、構成変更実行部112は、不足ボリュームを追加できるか否かを判定する(S1804)。ストレージシステム100に存在するボリュームの数がストレージシステム100の存在上限に達していなければ、S1804の判定結果が真となる。S1804の判定結果が偽の場合(S1804:NO)、処理が終了する。
S1804の判定結果が真の場合(S1804:YES)、構成変更実行部112は、不足ボリュームを作成し(S1805)、テーブル更新を行う(S1806)。S1806では、当該不足ボリュームに対応したエントリがボリューム構成テーブル140に追加される。また、S1806では、当該ボリューム作成に対応したエントリが、操作要求履歴テーブル130及びプール操作履歴テーブル1700に追加される。当該不足ボリュームに対応した状態フラグ606は、“無効”である。
S1803の判定結果が偽の場合(S1803:NO)、構成変更実行部112は、ボリューム構成テーブル140及び操作要求履歴テーブル130を参照して、作成されたボリュームの数が相対的に少ない(なるべく少ない)ボリューム容量の無効なボリュームを不足ボリュームの数分特定し、特定された無効なボリュームの内部容量を、不足ボリュームの容量に変更する(S1807)。これにより、将来のプール操作においてプールに新たに必要となり得るボリューム容量及びボリューム数の無効なボリュームが当該将来のプール操作のときに存在する可能性が高まる。S1807の後、構成変更実行部112は、少なくともボリューム構成テーブル140を更新する(S1808)。S1808では、ボリューム構成テーブル140における対象エントリ(内部容量が変更された無効なボリュームに対応したエントリ)における内部容量604が更新される。また、S1808では、操作要求履歴テーブル130に、内部容量の変更に対応したエントリが追加されてもよい。
図19は、プール操作履歴テーブル1700に基づく予測準備処理のフローチャートである。
構成変更設定部111が、プール操作履歴テーブル1700のうちの或る一定期間(例えば、前回の図19の予測準備処理から今回の図19の予測準備処理までの期間)に受付日時1706が属する履歴部分(全エントリ)を取得する(S1901)。構成変更設定部111が、取得された履歴部分が示すボリューム容量毎に、取得された履歴部分を基に、ボリューム数(P)を集計する(S1902)。各ボリューム容量について、当該ボリューム容量と、当該ボリューム容量について集計されたボリューム数(プールに追加されたボリュームの数)との組が、プール操作履歴テーブル1700に基づき予測されたボリューム容量と予測されたボリューム数との組の一例である。なお、プールについてボリューム容量とボリューム数の組の予測は、履歴部分を所定の学習モデルの入力とすることで得られた出力に基づいていてもよい。
構成変更実行部112が、ボリューム構成テーブル140から、無効なボリュームを特定し(S1903)、ボリューム容量毎に(具体的には、例えば、S1902での各ボリューム容量と同一の内部容量について)、S1903で特定された無効なボリュームの数(P)を集計する(S1904)。なお、各ボリューム容量について、S1904で集計されたボリューム数は、図18のS1801で必要とされた無効なボリュームの数は除かれていてもよい。
構成変更実行部112が、ボリューム容量毎に、PDIF=P−Pを算出する(S1905)。Pは、S1902で算出されたボリューム数である。Pは、S1904で算出されたボリューム数である。
構成変更実行部112が、PDIFが負であるボリューム容量があれば、当該ボリューム容量の全ての無効なボリュームのうち、最大でPDIFの絶対値分の無効なボリュームを削除する(S1906)。
構成変更実行部112が、正のPDIFを降順にソートする(S1907)。構成変更実行部112は、正のPDIFを合計する(S1908)。この合計と、ストレージシステム100に存在するボリュームの数との和が、ストレージシステム100の存在上限未満であれば、図18のS1803の判定結果が真となる。
図20は、実施例4の概要を示す模式図である。以下の説明では、同種の要素を区別しないで説明する場合には、参照符号のうちの共通部分を使用し、同種の要素を区別して説明する場合は、参照符号を使用することがある。例えば、ストレージノードを特に区別しないで説明する場合には、「ストレージノード250」と記載し、個々のストレージノード250を区別して説明する場合には、「ストレージノード250A」、「ストレージノード250B」のように記載することがある。また、以下の説明では、いずれの要素がいずれのストレージノード250の要素であるか分かり易くするため、ストレージノード250x(x=A又はB)における要素の参照符号の末尾にxを付す。
各ストレージノード250が、構成変更部110の他に、メモリイメージI/O部2000を有する。メモリイメージI/O部2000は、一つ以上のプログラムがプロセッサ部430に実行されることにより実現される機能の一つである。メモリイメージI/O部2000は、メモリイメージの入出力を行う。「メモリイメージ」とは、メモリ部のイメージである。
本実施例では、以下の処理が行われる。
ストレージノード250B(第2のストレージノードの一例)が追加される前のストレージシステム100のボリューム構成変更の操作要求の履歴を示す操作要求履歴テーブル130を含んだ管理情報500が、ストレージノード250A(第1のストレージノードの一例)のメモリ部2002Aに格納されている。ストレージノード250AのメモリイメージI/O部2000Aが、ストレージノード250Aのメモリ部2002Aに格納されている管理情報500を含むメモリイメージ2001を出力する。
出力されたメモリイメージ2001が、例えばバックエンドのネットワーク202経由で、ストレージシステム100に追加されたストレージノード250BのメモリイメージI/O部2000Bにより、ストレージノード250Bに入力される。メモリイメージI/O部2000Bは、ストレージノード250Bのメモリ部2002Bに、当該メモリイメージ2001内の管理情報500を展開する。これにより、ストレージノード250Bには、ボリューム構成変更の実績が無くても、ボリューム構成変更の履歴が格納される。ストレージノード250Bの構成変更設定部111Bは、ストレージノード250Bのメモリ部2002Bに展開された管理情報500に含まれる操作要求履歴テーブル130を基に、ボリューム容量及びボリューム数の予測を行う。
以上、幾つかの実施例を説明したが、これらは本発明の説明のための例示であって、本発明の範囲をこれらの実施例にのみ限定する趣旨ではない。本発明は、他の種々の形態でも実行することが可能である。例えば、上述の説明を、以下のように総括することができる。
プロセッサ部330を有し、I/O(Input/Output)要求の対象となるボリュームを提供し、I/O要求を受けてI/Oを実行するストレージシステム100が、I/O要求の対象として提供している有効ボリュームと、提供を行っていない無効ボリュームとを有する。複数の無効ボリュームには、複数種類の容量の無効ボリュームが含まれている。プロセッサ部330は、ボリューム作成要求を受けた場合に、当該ボリューム作成要求にかかる容量に基づいて、無効ボリュームを選択し、選択した無効ボリュームを有効な有効ボリュームに変換し(例えば図1のB5)、有効化した有効ボリュームを提供する(例えば図1のB6)。
プロセッサ部330は、無効ボリュームのボリューム容量とボリューム数との組を設定する構成変更設定部111と、設定されたボリューム容量とボリューム数の組に従うボリューム構成を準備する準備処理を行う構成変更実行部112とを備えることができる(例えば実現することができる)。
構成変更実行部112は、ボリューム容量毎に、設定された無効ボリューム数と、現在の無効ボリューム数と、の差分を算出し、当該差分に基づいてボリューム容量の作成優先度を定めて無効ボリュームを作成してよい。上述の実施例では、正のNDIFの大きさが作成優先度の高さに相当する。作成優先度は、正のNDIFの大きいほど高いとは限らないでよい。なお、構成変更実行部112は、上記設定された数よりも多い無効ボリュームを削除してよい。
プロセッサ部330は、ボリューム作成要求を受けた場合に、当該ボリューム作成要求にかかる容量とは異なる容量の無効ボリュームを選択し、選択した無効ボリュームを有効ボリュームに変換して提供し、当該提供の開始後に、当該有効ボリュームの容量をボリューム作成要求にかかる容量に変更してよい。
上述の準備処理は、日時、ボリューム容量及びボリューム数を示すスケジュールであるボリューム作成スケジュールに基づいて行われてよい。
構成変更設定部111は、ボリュームの構成変更についての履歴を基に、無効ボリュームのボリューム容量とボリューム数との組を設定してよい。ストレージシステム100に含まれるコンピュートノード250(ストレージノードの一例)それぞれが、メモリ部と、構成変更設定部111とを有してよい。上記の履歴を複数のコンピュートノード250で共有し、それぞれのコンピュートノード250の構成変更設定部111が、無効ボリュームのボリューム容量とボリューム数との組を設定してよい。
100:ストレージシステム

Claims (11)

  1. プロセッサを有し、I/O(Input/Output)要求の対象となるボリュームを提供し、I/O要求を受けてI/Oを実行するストレージシステムであって、
    前記I/O要求の対象として提供している有効ボリュームと、前記提供を行っていない無効ボリュームとを有し、
    複数の前記無効ボリュームには、複数種類の容量の無効ボリュームが含まれており、
    前記プロセッサは、
    ボリューム作成要求を受けた場合に、前記ボリューム作成要求にかかる容量に基づいて、前記無効ボリュームを選択し、選択した無効ボリュームを有効な有効ボリュームに変換し、
    前記有効化した有効ボリュームを提供する
    ことを特徴とするストレージシステム。
  2. 前記プロセッサは、
    前記無効ボリュームのボリューム容量とボリューム数との組を設定する構成変更設定部と、
    前記設定されたボリューム容量とボリューム数の組に従うボリューム構成を準備する準備処理を行う構成変更実行部と、
    を備えたことを特徴とする請求項1に記載のストレージシステム。
  3. 前記構成変更実行部は、
    前記ボリューム容量毎に、設定された無効ボリューム数と、現在の無効ボリューム数と、の差分を算出し、
    前記差分に基づいてボリューム容量の作成優先度を定めて前記無効ボリュームを作成する
    ことを特徴とする請求項1に記載のストレージシステム。
  4. 前記構成変更実行部は、前記設定された数よりも多い前記無効ボリュームを削除する
    ことを特徴とする請求項3に記載のストレージシステム。
  5. 前記プロセッサは、ボリューム作成要求を受けた場合に、
    前記ボリューム作成要求にかかる容量とは異なる容量の前記無効ボリュームを選択し、選択した無効ボリュームを有効ボリュームに変換して提供し、
    前記提供の開始後に、前記有効ボリュームの容量を前記ボリューム作成要求にかかる容量に変更する
    ことを特徴とする請求項1に記載のストレージシステム。
  6. 日時、ボリューム容量及びボリューム数を示すスケジュールであるボリューム作成スケジュールに基づいて、前記準備処理を行う
    ことを特徴とする請求項1に記載のストレージシステム。
  7. ボリュームとして、プールを構成するバックエンドの一つ以上のボリュームの各々であるプールボリュームと、前記プールから記憶領域が動的に割り当てられるフロントエンドのボリュームである仮想ボリュームとがあり、
    前記ボリュームの構成変更についての履歴は、仮想ボリュームのボリューム容量とボリューム数のうちの少なくとも1つを変更することについての履歴である第1のサブ履歴と、プールについてボリューム容量とボリューム数のうちの少なくとも1つを変更することについての履歴である第2のサブ履歴とを含み、
    設定されたボリューム容量と同一のボリューム容量を有する無効なボリュームの前記準備処理後の数が、当該ボリューム容量について設定されたボリューム数以上である場合、前記構成変更実行部は、
    前記履歴から、作成されたボリュームの数が相対的に少ないボリューム容量を特定し、
    当該特定されたボリューム容量を持つ少なくとも1つの無効なボリュームのボリューム容量を、前記第2のサブ履歴に基づき設定されたボリューム容量に変更する
    ことを特徴とする請求項2に記載のストレージシステム。
  8. 前記構成変更設定部は、前記ボリュームの構成変更についての履歴を基に、前記無効ボリュームのボリューム容量とボリューム数との組を設定する
    ことを特徴とする請求項1に記載のストレージシステム。
  9. 前記ストレージシステムに含まれるストレージノードのそれぞれが、メモリ部と、前記構成変更設定部とを有し、
    前記履歴を複数のストレージノードで共有し、それぞれのストレージノードの前記構成変更設定部が、前記無効ボリュームのボリューム容量とボリューム数との組を設定する
    ことを特徴とする請求項8に記載のストレージシステム。
  10. I/O(Input/Output)要求の対象となるボリュームを提供し、I/O要求を受けてI/Oを実行するストレージシステムの記憶制御方法であって、
    前記I/O要求の対象として提供している有効ボリュームと、前記提供を行っていない無効ボリュームとを有し、複数の前記無効ボリュームには、複数種類の容量の無効ボリュームが含まれており、
    ボリューム作成要求を受けた場合に、前記ボリューム作成要求にかかる容量に基づいて、前記無効ボリュームを選択し、選択した無効ボリュームを有効な有効ボリュームに変換し、
    前記有効化した有効ボリュームを提供する
    ことを特徴とする記憶制御方法。
  11. I/O(Input/Output)要求の対象となるボリュームを提供し、I/O要求を受けてI/Oを実行するストレージシステムの構成要素としての計算機又は当該ストレージシステムに接続された計算機に、
    ボリューム作成要求を受けた場合に、前記ボリューム作成要求にかかる容量に基づいて、前記無効ボリュームを選択し、選択した無効ボリュームを有効な有効ボリュームに変換し、
    前記ストレージシステムは、前記I/O要求の対象として提供している有効ボリュームと、前記提供を行っていない前記無効ボリュームとを有し、複数の前記無効ボリュームには、複数種類の容量の無効ボリュームが含まれており、
    前記有効化した有効ボリュームを提供する
    ことを実行させることを特徴とするコンピュータプログラム。
JP2018162201A 2018-08-30 2018-08-30 ストレージシステム及び記憶制御方法 Active JP6851350B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2018162201A JP6851350B2 (ja) 2018-08-30 2018-08-30 ストレージシステム及び記憶制御方法
CN201910137500.2A CN110874189B (zh) 2018-08-30 2019-02-25 存储系统和存储控制方法
US16/297,979 US11379130B2 (en) 2018-08-30 2019-03-11 Predicting and preparing volume configurations

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018162201A JP6851350B2 (ja) 2018-08-30 2018-08-30 ストレージシステム及び記憶制御方法

Publications (2)

Publication Number Publication Date
JP2020035243A true JP2020035243A (ja) 2020-03-05
JP6851350B2 JP6851350B2 (ja) 2021-03-31

Family

ID=69641144

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018162201A Active JP6851350B2 (ja) 2018-08-30 2018-08-30 ストレージシステム及び記憶制御方法

Country Status (3)

Country Link
US (1) US11379130B2 (ja)
JP (1) JP6851350B2 (ja)
CN (1) CN110874189B (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022092277A (ja) * 2020-12-10 2022-06-22 株式会社日立製作所 計算機システム

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7429214B2 (ja) * 2021-10-07 2024-02-07 株式会社日立製作所 ストレージシステム及びストレージシステムにおけるデータ複製方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005276017A (ja) * 2004-03-26 2005-10-06 Hitachi Ltd ストレージシステム
JP2006331158A (ja) * 2005-05-27 2006-12-07 Hitachi Ltd ストレージシステム
JP2010020431A (ja) * 2008-07-09 2010-01-28 Hitachi Ltd 上位装置から指定されるデバイスに関する記憶容量を変更するストレージシステム及び方法
JP2010170411A (ja) * 2009-01-23 2010-08-05 Hitachi Ltd 計算機システム、ストレージプール管理方法
WO2011135635A1 (ja) * 2010-04-30 2011-11-03 株式会社日立製作所 計算機システム及びその記憶制御方法
JP2012073825A (ja) * 2010-09-29 2012-04-12 Hitachi Ltd 計算機システム及び計算機システムの管理方法

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4492084B2 (ja) * 2003-10-07 2010-06-30 株式会社日立製作所 ストレージパス制御方法
US7584340B1 (en) * 2005-06-13 2009-09-01 Symantec Operating Corporation System and method for pre-provisioning storage in a networked environment
JP2007156667A (ja) * 2005-12-02 2007-06-21 Hitachi Ltd ストレージ装置及びその容量管理方法
JP4940738B2 (ja) * 2006-04-12 2012-05-30 株式会社日立製作所 記憶領域動的割当方法
JP2009043055A (ja) * 2007-08-09 2009-02-26 Hitachi Ltd 計算機システム、ストレージ装置及びデータ管理方法
US7904690B2 (en) * 2007-12-14 2011-03-08 Netapp, Inc. Policy based storage appliance virtualization
JP2009238114A (ja) * 2008-03-28 2009-10-15 Hitachi Ltd ストレージ管理方法、ストレージ管理プログラム、ストレージ管理装置およびストレージ管理システム
US8250327B2 (en) * 2009-02-25 2012-08-21 Hitachi Ltd. Storage apparatus and its control method
US8281091B2 (en) * 2009-03-03 2012-10-02 International Business Machines Corporation Automatic selection of storage volumes in a data storage system
CA2674402C (en) * 2009-07-31 2016-07-19 Ibm Canada Limited - Ibm Canada Limitee Optimizing on demand allocation of virtual machines using a stateless preallocation pool
CN104808954B (zh) * 2009-12-24 2017-12-01 株式会社日立制作所 提供虚拟卷的存储系统及其控制方法
JP5276185B2 (ja) * 2010-02-05 2013-08-28 株式会社日立製作所 仮想マシンと連携したThin−Provisioning容量管理を行う計算機システム、計算機、及び方法
CN102754090B (zh) 2010-06-17 2015-09-16 株式会社日立制作所 包括多个微处理器的存储系统以及用于在该存储系统中分担处理的方法
US20120191929A1 (en) * 2011-01-21 2012-07-26 Hitachi, Ltd. Method and apparatus of rapidly deploying virtual machine pooling volume
EP2652586B1 (en) * 2011-04-27 2016-01-13 Hitachi, Ltd. Information storage system and storage system management method
US9804993B1 (en) * 2012-05-07 2017-10-31 Amazon Technologies, Inc. Data volume placement techniques
US9823840B1 (en) * 2012-05-07 2017-11-21 Amazon Technologies, Inc. Data volume placement techniques
US10506026B1 (en) * 2013-03-13 2019-12-10 Amazon Technologies, Inc. Resource prestaging
US9311019B2 (en) * 2013-07-29 2016-04-12 Infinidat Ltd. Storage system and method for accessing logical volumes
WO2015063859A1 (ja) * 2013-10-29 2015-05-07 株式会社日立製作所 計算機システム及び制御方法
US9965334B1 (en) * 2014-06-09 2018-05-08 VCE IP Holding Company LLC Systems and methods for virtual machine storage provisioning
US10324643B1 (en) * 2015-09-30 2019-06-18 EMC IP Holding Company LLC Automated initialization and configuration of virtual storage pools in software-defined storage
US9916110B2 (en) * 2016-02-23 2018-03-13 Red Hat, Inc. Size adjustable volumes for containers

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005276017A (ja) * 2004-03-26 2005-10-06 Hitachi Ltd ストレージシステム
JP2006331158A (ja) * 2005-05-27 2006-12-07 Hitachi Ltd ストレージシステム
JP2010020431A (ja) * 2008-07-09 2010-01-28 Hitachi Ltd 上位装置から指定されるデバイスに関する記憶容量を変更するストレージシステム及び方法
JP2010170411A (ja) * 2009-01-23 2010-08-05 Hitachi Ltd 計算機システム、ストレージプール管理方法
WO2011135635A1 (ja) * 2010-04-30 2011-11-03 株式会社日立製作所 計算機システム及びその記憶制御方法
JP2012073825A (ja) * 2010-09-29 2012-04-12 Hitachi Ltd 計算機システム及び計算機システムの管理方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022092277A (ja) * 2020-12-10 2022-06-22 株式会社日立製作所 計算機システム
JP7225190B2 (ja) 2020-12-10 2023-02-20 株式会社日立製作所 計算機システム

Also Published As

Publication number Publication date
US20200073566A1 (en) 2020-03-05
CN110874189A (zh) 2020-03-10
US11379130B2 (en) 2022-07-05
CN110874189B (zh) 2023-05-16
JP6851350B2 (ja) 2021-03-31

Similar Documents

Publication Publication Date Title
JP5516744B2 (ja) スケジューラ、マルチコアプロセッサシステムおよびスケジューリング方法
WO2012056731A1 (ja) リソース管理サーバ、リソース管理方法及びリソース管理プログラムが格納された記憶媒体
CN110554909A (zh) 任务的调度处理方法、装置及计算机设备
CN113641457B (zh) 容器创建方法、装置、设备、介质及程序产品
JP6669961B2 (ja) プロセッサ、再構成可能回路の制御方法及びプログラム
US9807152B2 (en) Distributed processing device and distributed processing system as well as distributed processing method
JP2015001828A (ja) 割当プログラム、割当装置および割当方法
US10235047B2 (en) Memory management method, apparatus, and system
CN112306389A (zh) 存储系统和节点管理方法
CN111143039B (zh) 一种虚拟机的调度方法、装置及计算机存储介质
US20110265093A1 (en) Computer System and Program Product
US20210042045A1 (en) Storage system and resource allocation control method
JP6851350B2 (ja) ストレージシステム及び記憶制御方法
JP6272556B2 (ja) 共有リソース更新装置及び共有リソース更新方法
JP5158576B2 (ja) 入出力制御システム、入出力制御方法、及び、入出力制御プログラム
US11561843B2 (en) Automated performance tuning using workload profiling in a distributed computing environment
CN113986539A (zh) 实现pod固定IP的方法、装置、电子设备和可读存储介质
JP5776813B2 (ja) マルチコアプロセッサシステム、マルチコアプロセッサシステムの制御方法および制御プログラム
CN117332881B (zh) 分布式训练方法及电子设备
CN116089477B (zh) 分布式训练方法及系统
CN115470303B (zh) 一种数据库访问方法、装置、系统、设备及可读存储介质
JP5519583B2 (ja) 仮想マシン制御システム、仮想マシン制御装置、仮想マシン制御方法及びプログラム
US20140317619A1 (en) Virtual computer system and i/o implementing method in virtual computer
JP6524733B2 (ja) 並列演算装置、並列演算システム、およびジョブ制御プログラム
CN113806053B (zh) 一种任务调度的方法、装置、及计算机可读存储介质

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190522

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200728

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200825

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201016

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210309

R150 Certificate of patent or registration of utility model

Ref document number: 6851350

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350