JP6138275B2 - データ・ストレージ方法およびストレージ・デバイス - Google Patents

データ・ストレージ方法およびストレージ・デバイス Download PDF

Info

Publication number
JP6138275B2
JP6138275B2 JP2015549925A JP2015549925A JP6138275B2 JP 6138275 B2 JP6138275 B2 JP 6138275B2 JP 2015549925 A JP2015549925 A JP 2015549925A JP 2015549925 A JP2015549925 A JP 2015549925A JP 6138275 B2 JP6138275 B2 JP 6138275B2
Authority
JP
Japan
Prior art keywords
lun
performance level
performance
storage device
data
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
JP2015549925A
Other languages
English (en)
Other versions
JP2016506578A (ja
Inventor
リー、シャオホワ
Original Assignee
ホアウェイ・テクノロジーズ・カンパニー・リミテッド
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 ホアウェイ・テクノロジーズ・カンパニー・リミテッド filed Critical ホアウェイ・テクノロジーズ・カンパニー・リミテッド
Publication of JP2016506578A publication Critical patent/JP2016506578A/ja
Application granted granted Critical
Publication of JP6138275B2 publication Critical patent/JP6138275B2/ja
Active 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/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of 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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • 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/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
    • G06F3/0683Plurality of storage devices
    • G06F3/0685Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays

Description

本発明は、ストレージ技術に関し、特に、データ・ストレージ方法およびストレージ・デバイスに関する。
ストレージ・システムにおいて、ストレージ・パフォーマンスに対してさまざまなサービスがさまざまな要件モデルを有している。同一のデータについても、そのサービス・アクセス・パフォーマンスに対する要件モデルは時間の経過に伴っても変化する。したがって、サービス・アクセス要件に従ってさまざまなパフォーマンスのストレージ媒体を適応させて割り振ることが緊急に必要となっている。
従来技術において、ストレージ・システムは、ストレージ媒体のタイプに従って階層的に管理される。たとえば、ソリッド・ステート・ドライブ(Solid State Drive、SSD)は、レベル1ストレージであり、シリアル結合SCSI(Serial Attached SCSI、SAS)またはファイバ・チャネル(Fiber Channel、FC)ハードディスク・ドライブ(Hard Disk Drive、HDD)はレベル2ストレージであって、SCSI(Small Computer System Interface)はスモール・コンピュータ・システム・インターフェイスの頭字語であり、シリアル・アドバンスド・テクノロジー・アタッチメント(Serial Advanced Technology Attachment、SATA)またはニアライン(Near Line、NL)シリアル結合SCSI(Serial Attached SCSI、SAS)HDDはレベル3ストレージである。システムが稼働中に、レベル1ストレージは、高パフォーマンス要件を満たすストレージ・スペースを提供することができ、レベル2ストレージは、一般のパフォーマンス要件を満たすストレージ・スペースを提供することができ、レベル3ストレージは、低パフォーマンス要件を満たすストレージ・スペースを提供することができる。データ・アクセス・サービス・モデルの変化に伴って、ストレージ・デバイスは、さまざまなタイプの媒体の間でデータを動的に移行し、ホット・スポット・データを高パフォーマンス媒体に移行し、非ホット・スポット・データを低パフォーマンス媒体に移行する。
ストレージ媒体のタイプに基づく階層管理の方法は、ハードディスク管理モードに基づく階層ストレージを適切に達成する。しかし、既存のストレージ・システムの管理は、ストレージ管理者が対応するストレージ・スペースのパフォーマンス・レベルを指定することに依存する。それは、LUNのパフォーマンスをある程度識別する目的を果たし、システムが階層ストレージを実施することを補助するが、それはストレージ管理者が予めパフォーマンス・レベルを指定することに依存している。
本発明の実施形態は、LUN固有の階層ストレージを実施するためのデータ・ストレージ方法、ストレージ・スペース管理デバイス、ストレージ・デバイスを提供する。
第1の態様において、本発明の実施形態は、
ストレージ・デバイスにパフォーマンス・レベル要求を送信することであって、パフォーマンス・レベル要求はストレージ・デバイス内の1つまたは複数の論理装置番号LUNのパフォーマンス・レベルに関する情報にクエリを行なうために使用される、送信することと、
パフォーマンス・レベル要求に応答してストレージ・デバイスによって送信される応答を受信することであって、応答はLUNのパフォーマンス・レベルに関する情報を含む、受信することと、
データ書き込み命令が受信されるときにデータ書き込み命令に含まれる格納されるべきデータのアクセス頻度レベルに従って当該格納されるべきデータが対応するパフォーマンス・レベルのLUNに書き込まれるように、LUNのパフォーマンス・レベルに関する情報に従ってLUNのパフォーマンス・レベルを取得することとを含むデータ・ストレージ方法を提供する。
第1の態様による第1の実現可能な実施方法において、パフォーマンス・レベル要求はワールド・ワイド・ネーム(World Wide Name)WWNフィールドを含み、WWNフィールドはLUNを識別するために使用され、
パフォーマンス・レベル要求に応答して送信される応答は、論理装置番号リストLUN Listフィールドを含み、それによりLUNのパフォーマンス・レベルに関する情報がLUN Listフィールドで搬送される。
第1の態様による第1の実現可能な実施方法と組み合わせて、第1の態様の第2の実現可能な実施方法において、ストレージ・デバイスのすべてのLUNのパフォーマンス・レベルに関する情報にクエリを行なうために、パフォーマンス・レベル要求のWWNフィールドに含まれる値は0であり、
パフォーマンス・レベル要求に応答して送信される応答内のLUN Listフィールドは、ストレージ・デバイス内の各LUNのWWNおよび各LUNのパフォーマンス・レベルに関する情報を含み、各LUNのパフォーマンス・レベルに関する情報はLUNのパフォーマンス値範囲を含む。
第1の態様の第1の実現可能な実施方法と組み合わせて、第1の態様の第3の実現可能な実施方法において、パフォーマンス・レベル要求のWWNフィールドは、ストレージ・デバイスの少なくとも1つのLUNのパフォーマンス・レベルに関する情報にクエリを行なうために、LUNのWWNであり、
パフォーマンス・レベル要求に応答して送信される応答内のLUN Listフィールドは、各LUNのWWNおよび各LUNのパフォーマンス・レベルに関する情報を含み、各LUNのパフォーマンス・レベルに関する情報はLUNのパフォーマンス値範囲を含む。
第2の態様において、本発明の実施形態は、
ストレージ・スペース管理デバイスによって送信されるパフォーマンス・レベル要求を受信することであって、要求はストレージ・デバイス内の1つまたは複数のLUNのパフォーマンス・レベルに関する情報にクエリを行なうために使用される、受信することと、 パフォーマンス・レベル要求に従ってLUNのパフォーマンス・レベルに関する情報を取得することと、
パフォーマンス・レベル要求に応答してストレージ・スペース管理デバイスに応答を送信することであって、パフォーマンス・レベル要求に応答して送信される応答はLUNのパフォーマンス・レベルに関する情報を含み、ストレージ・スペース管理デバイスは、データ書き込み命令が受信されるときにデータ書き込み命令に含まれる格納されるべきデータのアクセス頻度レベルに従って当該格納されるべきデータが対応するパフォーマンス・レベルのLUNに書き込まれるように、LUNのパフォーマンス・レベルに関する情報に従ってLUNのパフォーマンス・レベルを取得する、送信することとを含むデータ・ストレージ方法を提供する。
第2の態様による第1の実現可能な実施方法において、パフォーマンス・レベル要求はワールド・ワイド・ネームWWNフィールドを含み、WWNフィールドはLUNを識別するために使用され、
パフォーマンス・レベル要求に応答して送信される応答は、論理装置番号リストLUN Listフィールドを含み、それにより、LUNのパフォーマンス・レベルに関する情報がLUN Listフィールドで搬送される。
第2の態様による第1の実現可能な実施方法と組み合わせて、第2の態様の第2の実現可能な実施方法において、ストレージ・デバイスのすべてのLUNのパフォーマンス・レベルに関する情報にクエリを行なうために、パフォーマンス・レベル要求のWWNフィールドに含まれる値は0であり、
パフォーマンス・レベル要求に応答して送信される応答内のLUN Listフィールドは、ストレージ・デバイス内の各LUNのWWNおよび各LUNのパフォーマンス・レベルに関する情報を含み、各LUNのパフォーマンス・レベルに関する情報はLUNのパフォーマンス値範囲を含む。
第2の態様の第1の実現可能な実施方法と組み合わせて、第2の態様の第3の実現可能な実施方法において、
パフォーマンス・レベル要求のWWNフィールドは、ストレージ・デバイスの少なくとも1つのLUNのパフォーマンス・レベルに関する情報にクエリを行なうために、LUNのWWNであり、
パフォーマンス・レベル要求に応答して送信される応答内のLUN Listフィールドは、各LUNのWWNおよび各LUNのパフォーマンス・レベルに関する情報を含み、各LUNのパフォーマンス・レベルに関する情報はLUNのパフォーマンス値範囲を含む。
第3の態様において、本発明の実施形態は、
ストレージ・デバイスにパフォーマンス・レベル要求を送信するように構成された送信モジュールであって、要求はストレージ・デバイス内の1つまたは複数の論理装置番号LUNのパフォーマンス・レベルに関する情報にクエリを行なうために使用される、送信モジュールと、
パフォーマンス・レベル要求に応答してストレージ・デバイスによって送信される応答を受信するように構成された受信モジュールであって、応答はLUNのパフォーマンス・レベルに関する情報を含む、受信モジュールと、
データ書き込み命令が受信されるときにデータ書き込み命令に含まれる格納されるべきデータのアクセス頻度レベルに従って当該格納されるべきデータが対応するパフォーマンス・レベルのLUNに書き込まれるように、LUNのパフォーマンス・レベルに関する情報に従ってLUNのパフォーマンス・レベルを取得するように構成された取得モジュールとを含むストレージ・スペース管理デバイスを提供する。
第3の態様による第1の実現可能な実施方法において、パフォーマンス・レベル要求はワールド・ワイド・ネームWWNフィールドを含み、WWNフィールドはLUNを識別するために使用され、
パフォーマンス・レベル要求に応答して送信される応答は、論理装置番号リストLUN Listフィールドを含み、それにより、LUNのパフォーマンス・レベルに関する情報がLUN Listフィールドで搬送される。
第3の態様による第1の実現可能な実施方法と組み合わせて、第3の態様の第2の実現可能な実施方法において、ストレージ・デバイスのすべてのLUNのパフォーマンス・レベルに関する情報にクエリを行なうために、パフォーマンス・レベル要求のWWNフィールドに含まれる値は0であり、
パフォーマンス・レベル要求に応答して送信される応答内のLUN Listフィールドは、ストレージ・デバイス内の各LUNのWWNおよび各LUNのパフォーマンス・レベルに関する情報を含み、各LUNのパフォーマンス・レベルに関する情報はLUNのパフォーマンス値範囲を含む。
第3の態様による第1の実現可能な実施方法と組み合わせて、第3の態様の第3の実現可能な実施方法において、パフォーマンス・レベル要求のWWNフィールドは、ストレージ・デバイスの少なくとも1つのLUNのパフォーマンス・レベルに関する情報にクエリを行なうために、LUNのWWNであり、
パフォーマンス・レベル要求に応答して送信される応答内のLUN Listフィールドは、各LUNのWWNおよび各LUNのパフォーマンス・レベルに関する情報を含み、各LUNのパフォーマンス・レベルに関する情報はLUNのパフォーマンス値範囲を含む。
第4の態様において、本発明の実施形態は、
ストレージ・スペース管理デバイスによって送信されるパフォーマンス・レベル要求を受信するように構成された受信モジュールであって、要求はストレージ・デバイス内の1つまたは複数のLUNのパフォーマンス・レベルに関する情報にクエリを行なうために使用される、受信モジュールと、
パフォーマンス・レベル要求に従ってLUNのパフォーマンス・レベルに関する情報を取得するように構成された計算モジュールと、
パフォーマンス・レベル要求に応答してストレージ・スペース管理デバイスに応答を送信するように構成された送信モジュールであって、パフォーマンス・レベル要求に応答して送信される応答はLUNのパフォーマンス・レベルに関する情報を含み、ストレージ・スペース管理デバイスは、データ書き込み命令が受信されるときにデータ書き込み命令に含まれる格納されるべきデータのアクセス頻度レベルに従って当該格納されるべきデータが対応するパフォーマンス・レベルのLUNに書き込まれるように、LUNのパフォーマンス・レベルに関する情報に従ってLUNのパフォーマンス・レベルを取得する、送信モジュールとを含むストレージ・デバイスを提供する。
第4の態様による第1の実現可能な実施方法において、パフォーマンス・レベル要求はワールド・ワイド・ネームWWNフィールドを含み、WWNフィールドはLUNを識別するために使用され、
パフォーマンス・レベル要求に応答して送信される応答は、論理装置番号リストLUN Listフィールドを含み、それにより、LUNのパフォーマンス・レベルに関する情報がLUN Listフィールドで搬送される。
第4の態様による第1の実現可能な実施方法と組み合わせて、第4の態様の第2の実現可能な実施方法において、ストレージ・デバイスのすべてのLUNのパフォーマンス・レベルに関する情報にクエリを行なうために、パフォーマンス・レベル要求のWWNフィールドに含まれる値は0であり、
パフォーマンス・レベル要求に応答して送信される応答内のLUN Listフィールドは、ストレージ・デバイス内の各LUNのWWNおよび各LUNのパフォーマンス・レベルに関する情報を含み、各LUNのパフォーマンス・レベルに関する情報はLUNのパフォーマンス値範囲を含む。
第4の態様による第1の実現可能な実施方法と組み合わせて、第4の態様の第3の実現可能な実施方法において、パフォーマンス・レベル要求のWWNフィールドは、ストレージ・デバイスの少なくとも1つのLUNのパフォーマンス・レベルに関する情報にクエリを行なうために、LUNのWWNであり、
パフォーマンス・レベル要求に応答して送信される応答内のLUN Listフィールドは、各LUNのWWNおよび各LUNのパフォーマンス・レベルに関する情報を含み、各LUNのパフォーマンス・レベルに関する情報はLUNのパフォーマンス値範囲を含む。
第5の態様において、本発明の実施形態は、第3の態様において提供されるストレージ・スペース管理デバイス、および第4の態様において提供されるストレージ・デバイスを含むストレージ・システムを提供する。
第6の態様において、本発明の実施形態は、プロセッサ、通信インターフェイス、および通信バスを含むストレージ・スペース管理デバイスを提供し、
プロセッサは、通信バスを通じて通信インターフェイスと通信し、
プロセッサは、パフォーマンス・レベル要求をストレージ・デバイスに送信し、要求はストレージ・デバイス内の1つまたは複数の論理装置番号LUNのパフォーマンス・レベルに関する情報にクエリを行なうために使用され、パフォーマンス・レベル要求に応答してストレージ・デバイスによって送信される応答を受信し、応答はLUNのパフォーマンス・レベルに関する情報を含み、データ書き込み命令が受信されるときにデータ書き込み命令に含まれる格納されるべきデータのアクセス頻度レベルに従って当該格納されるべきデータが対応するパフォーマンス・レベルのLUNに書き込まれるように、LUNのパフォーマンス・レベルに関する情報に従ってLUNのパフォーマンス・レベルを取得するように構成される。
第6の態様による第1の実現可能な実施方法において、パフォーマンス・レベル要求はワールド・ワイド・ネームWWNフィールドを含み、WWNフィールドはLUNを識別するために使用され、
パフォーマンス・レベル要求に応答して送信される応答は、論理装置番号リストLUN Listフィールドを含み、それにより、LUNのパフォーマンス・レベルに関する情報がLUN Listフィールドで搬送される。
第6の態様による第1の実現可能な実施方法と組み合わせて、第6の態様の第2の実現可能な実施方法において、
ストレージ・デバイスのすべてのLUNのパフォーマンス・レベルに関する情報にクエリを行なうために、パフォーマンス・レベル要求のWWNフィールドに含まれる値は0であり、
パフォーマンス・レベル要求に応答して送信される応答内のLUN Listフィールドは、ストレージ・デバイス内の各LUNのWWNおよび各LUNのパフォーマンス・レベルに関する情報を含み、各LUNのパフォーマンス・レベルに関する情報はLUNのパフォーマンス値範囲を含む。
第6の態様による第1の実現可能な実施方法と組み合わせて、第6の態様の第3の実現可能な実施方法において、
パフォーマンス・レベル要求のWWNフィールドは、ストレージ・デバイスの少なくとも1つのLUNのパフォーマンス・レベルに関する情報にクエリを行なうために、LUNのWWNであり、
パフォーマンス・レベル要求に応答して送信される応答内のLUN Listフィールドは、各LUNのWWNおよび各LUNのパフォーマンス・レベルに関する情報を含み、各LUNのパフォーマンス・レベルに関する情報はLUNのパフォーマンス値範囲を含む。
第7の態様において、本発明の実施形態は、プロセッサ、通信インターフェイス、および通信バスを含むストレージ・デバイスを提供し、
プロセッサは、通信バスを通じて通信インターフェイスと通信し、
プロセッサは、ストレージ・スペース管理デバイスによって送信されるパフォーマンス・レベル要求を受信し、要求はストレージ・デバイス内の1つまたは複数のLUNのパフォーマンス・レベルに関する情報にクエリを行なうために使用され、パフォーマンス・レベル要求に従ってLUNのパフォーマンス・レベルに関する情報を取得し、パフォーマンス・レベル要求に応答してストレージ・スペース管理デバイスに応答を送信し、パフォーマンス・レベル要求に応答して送信される応答はLUNのパフォーマンス・レベルに関する情報を含むように構成され、ストレージ・スペース管理デバイスは、データ書き込み命令が受信されるときにデータ書き込み命令に含まれる格納されるべきデータのアクセス頻度レベルに従って当該格納されるべきデータが対応するパフォーマンス・レベルのLUNに書き込まれるように、LUNのパフォーマンス・レベルに関する情報に従ってLUNのパフォーマンス・レベルを取得する。
第7の態様による第1の実現可能な実施方法において、パフォーマンス・レベル要求はワールド・ワイド・ネームWWNフィールドを含み、WWNフィールドはLUNを識別するために使用され、
パフォーマンス・レベル要求に応答して送信される応答は、論理装置番号リストLUN Listフィールドを含み、それにより、LUNのパフォーマンス・レベルに関する情報がLUN Listフィールドで搬送される。
第7の態様による第1の実現可能な実施方法と組み合わせて、第7の態様の第2の実現可能な実施方法において、
ストレージ・デバイスのすべてのLUNのパフォーマンス・レベルに関する情報にクエリを行なうために、パフォーマンス・レベル要求のWWNフィールドに含まれる値は0であり、
パフォーマンス・レベル要求に応答して送信される応答内のLUN Listフィールドは、ストレージ・デバイス内の各LUNのWWNおよび各LUNのパフォーマンス・レベルに関する情報を含み、各LUNのパフォーマンス・レベルに関する情報はLUNのパフォーマンス値範囲を含む。
第7の態様による第1の実現可能な実施方法と組み合わせて、第7の態様の第3の実現可能な実施方法において、
パフォーマンス・レベル要求のWWNフィールドは、ストレージ・デバイスの少なくとも1つのLUNのパフォーマンス・レベルに関する情報にクエリを行なうために、LUNのWWNであり、
パフォーマンス・レベル要求に応答して送信される応答内のLUN Listフィールドは、各LUNのWWNおよび各LUNのパフォーマンス・レベルに関する情報を含み、各LUNのパフォーマンス・レベルに関する情報はLUNのパフォーマンス値範囲を含む。
本発明の実施形態において、ストレージ・スペース管理デバイスは、ストレージ・デバイスに含まれるLUNのパフォーマンス・レベルに関する情報についてストレージ・デバイスにクエリを行ない、パフォーマンス・レベルに関する情報に従ってLUNのパフォーマンス・レベルを取得する。したがって、本発明の実施形態において、LUNのパフォーマンス・レベルは、ストレージ管理者が予めパフォーマンス・レベルを構成することに依存することなく取得される。したがって、データ書き込み命令が受信された後にデータがストレージ・デバイスに書き込まれる必要がある場合、ストレージ・スペース管理デバイスは、格納されるべきデータのアクセス頻度レベルに従って当該格納されるべきデータをさまざまなパフォーマンス・レベルのLUNに書き込むことができ、それによりLUN固有の階層ストレージを実施することができる。
本発明の実施形態または従来技術における技術的解決策をさらに明確に説明するため、後段において、実施形態または従来技術を説明するために必要な添付の図面を簡単に紹介する。明らかに、以下の説明における添付の図面は、本発明の一部の実施形態を示すものであり、当業者であれば、創造的な取り組みを伴うことなく、これらの添付の図面からその他の図面をさらに導き出すことができるであろう。
本発明の実施形態によるデータ・ストレージ方法のアプリケーションネットワークアーキテクチャを示す概略図である。 本発明の実施形態によるデータ・ストレージ方法を示す流れ図である。 本発明の実施形態によるデータ・ストレージ方法を示す流れ図である。 本発明の実施形態によるデータ・ストレージ方法を示すシグナリング図である。 本発明の実施形態によるストレージ・スペース管理デバイスを示す概略構造図である。 本発明の実施形態によるストレージ・デバイスを示す概略構造図である。 本発明の実施形態によるストレージ・システムを示す概略構造図である。 本発明の実施形態によるもう1つのストレージ・スペース管理デバイスを示す概略構造図である。 本発明の実施形態によるもう1つのストレージ・デバイスを示す概略構造図である。
本発明の実施形態の目的、技術的解決策、および利点をさらに理解可能なものにするため、後段では、本発明の実施形態の添付の図面を参照して、本発明の実施形態における技術的解決策を明確および完全に説明する。明らかに、説明される実施形態は、本発明の実施形態の一部分に過ぎず、実施形態の全体を示すものではない。創造的な取り組みを伴うことなく、本発明の実施形態に基づいて当業者によって得られるすべてのその他の実施形態は、本発明の保護適用範囲に含まれるものとする。
本発明の実施形態において提供されるデータ・バックアップ方法は、ストレージ・システムで実施されてもよい。図1は、本発明の実施形態によるデータ・バックアップ方法のシステムアーキテクチャを示す概略図である。図1に示されるように、ストレージ・システムは、ホスト、ストレージ・スペース管理デバイス、およびストレージ・デバイスを含む。
ホストは、たとえば、サーバ、デスクトップ・コンピュータなどのような、従来技術において知られている任意のコンピュータデバイスを含むことができる。オペレーティング・システムおよびその他のアプリケーションは、ホストにインストールされる。
ストレージ・スペース管理デバイスは、ストレージ・ゲートウェイ・デバイスを含むことができる。本発明の実施形態におけるストレージ・ゲートウェイ・デバイスは、異機種の仮想化ストレージ・ゲートウェイ・デバイスに言及する。異機種の仮想化ストレージ・ゲートウェイ・デバイスは、ホストとストレージ・デバイス間の中間デバイスであり、マッピングまたは抽象化を用いてストレージ・デバイスのさまざまな物理ディスクの複雑さおよび差異を覆い隠す。したがって、ユーザは、ストレージ・デバイスに対して統一された管理およびリソーススケジューリングを実行することができる。
ストレージ・デバイスは、たとえば、新磁気ディスク制御機構(redundant arrays of independent disks)(Redundant Arrays of Inexpensive Disks、RAID)、ディスクの束(Just a Bunch Of Disks、JBOD)、または直接アクセス・ストレージ・デバイス(Direct Access Storage Device、DASD)の、テープ・ライブラリのような1つのディスク・ドライブまたは複数の相互接続されたディスク・ドライブ、または1つまたは複数のストレージ・ユニットのテープ・ストレージ・デバイスなど、従来技術において知られているストレージ・デバイスであってもよい。
多くのストレージ・デバイスの場合、ストレージ・デバイスに含まれている物理ディスクはオペレーティング・システムによって直接表示されていないが、各物理ディスクによって提供されるストレージ・スペースは論理領域、つまり、ユーザに使用可能な論理装置番号(Logical Unit Number、LUN)の範囲にマッピングされていることに留意されたい。したがって、ディスク上でオペレーティング・システムによって実行される読み取りおよび書き込み操作は、実際にはLUNに固有の操作である。加えて、オペレーティング・システムは、パーティショニングおよびフォーマッティングのような操作をLUNに実行することができる。
図2Aに示されるように、データ格納の方法は、本発明の実施形態において提供される。方法は、ストレージ・スペース管理デバイスによって実行されてもよい。
S101a.パフォーマンス・レベル要求をストレージ・デバイスに送信し、要求はストレージ・デバイス内の1つまたは複数の論理装置番号(LUN)のパフォーマンス・レベルに関する情報にクエリを行なうために使用される。
オプションで、パフォーマンス・レベル要求はワールド・ワイド・ネーム(WWN)フィールドを含み、WWNフィールドはLUNを識別するために使用される。
パフォーマンス・レベル要求のWWNフィールド内の値が0である場合、パフォーマンス・レベル要求は、ストレージ・デバイス内のすべてのLUNのパフォーマンス・レベルに関する情報にクエリを行なうよう求めるものであり、パフォーマンス・レベル要求のWWNフィールドがLUNのWWNである場合、要求は、ストレージ・デバイス内の少なくとも1つのLUNのパフォーマンス・レベルに関する情報にクエリを行なうために使用される。
S102a.パフォーマンス・レベル要求に応答してストレージ・デバイスによって送信される応答を受信し、応答はLUNのパフォーマンス・レベルに関する情報を含む。
オプションで、応答は、論理装置番号リスト(LUN List)フィールドを含むことができ、それにより、LUNのパフォーマンス・レベルに関する情報がLUN Listフィールドで搬送される。特に、LUN Listフィールドは、各LUNのWWNおよび各LUNのパフォーマンス・レベルに関する情報を含むことができる。
LUNのパフォーマンス・レベルに関する情報は、LUNのパフォーマンス値範囲を少なくとも含む。
S103a.データ書き込み命令が受信されるときにデータ書き込み命令に含まれる格納されるべきデータのアクセス頻度レベルに従って当該格納されるべきデータが対応するパフォーマンス・レベルのLUNに書き込まれるように、LUNのパフォーマンス・レベルに関する情報に従ってLUNのパフォーマンス・レベルを取得する。
本発明の実施形態において、ストレージ・スペース管理デバイスは、ストレージ・デバイスに含まれる1つまたは複数のLUNのパフォーマンス・レベルに関する情報についてストレージ・デバイスにクエリを行ない、パフォーマンス・レベルに関する情報に従ってLUNのパフォーマンス・レベルを取得する。したがって、本発明の実施形態において、LUNのパフォーマンス・レベルは、ストレージ管理者が予めパフォーマンス・レベルを構成することに依存することなく取得され得る。したがって、データ書き込み命令が受信された後にデータがストレージ・デバイスに書き込まれる必要がある場合、ストレージ・スペース管理デバイスは、格納されるべきデータのアクセス頻度レベルに従って当該格納されるべきデータをさまざまなパフォーマンス・レベルのLUNに書き込むことができ、それによりLUN固有の階層ストレージを実施することができる。
図2Bに示されるように、データ格納の方法は、本発明の実施形態において提供される。方法は、ストレージ・デバイスによって実行されてもよい。
S101b.ストレージ・スペース管理デバイスによって送信されるパフォーマンス・レベル要求を受信し、要求はストレージ・デバイス内の1つまたは複数の論理装置番号LUNのパフォーマンス・レベルに関する情報にクエリを行なうために使用される。
S102b.パフォーマンス・レベル要求に従ってLUNのパフォーマンス・レベルに関する情報を取得する。
S103b.パフォーマンス・レベル要求に応答してストレージ・スペース管理デバイスに応答を送信し、応答はLUNのパフォーマンス・レベルに関する情報を含み、ストレージ・スペース管理デバイスは、データ書き込み命令が受信されるときにデータ書き込み命令に含まれる格納されるべきデータのアクセス頻度に従って当該格納されるべきデータが対応するパフォーマンス・レベルのLUNに書き込まれるように、LUNのパフォーマンス・レベルに関する情報に従ってLUNのパフォーマンス・レベルを取得する。
パフォーマンス・レベル要求、およびパフォーマンス・レベル要求に応答して送信される応答の詳細については、上記の実施形態の説明を参照されたい。
本発明の実施形態において、ストレージ・デバイスに含まれる1つまたは複数のLUNのパフォーマンス・レベルに関する情報にクエリを行なうためにストレージ・スペース管理デバイスによって送信されるパフォーマンス・レベル要求を受信した後、ストレージ・デバイスは、ストレージ・デバイスに含まれるLUNのパフォーマンス・レベルに関する情報を取得して、それをストレージ・スペース管理デバイスに送信し、ストレージ・スペース管理デバイスがパフォーマンス・レベルに関する情報に従ってLUNのパフォーマンス・レベルを取得できるようにする。したがって、本発明の実施形態において、ストレージ・デバイスは、ストレージ管理者が予めパフォーマンス・レベルを構成することに依存することなくLUNのパフォーマンス・レベルを取得することができる。このようにして、データ書き込み命令が受信された後にデータがストレージ・デバイスに書き込まれる必要がある場合、ストレージ・スペース管理デバイスは、格納されるべきデータのアクセス頻度に従って当該格納されるべきデータをさまざまなパフォーマンス・レベルのLUNに書き込むことができ、それによりLUN固有の階層ストレージを実施することができる。
後段では、LUNのパフォーマンス・レベルに関する情報がLUNのパフォーマンス値範囲であるという例をあげて、データ・ストレージ方法を詳細に説明する。
図2Cを参照する。図2Cは、本発明の実施形態によるデータ・ストレージ方法を示すシグナリング図である。図2Cに示されるように、データ格納の方法は、本発明の実施形態において提供され、方法は、書き込まれるべきデータのアクセス頻度に従ってLUN固有の階層ストレージを実施することができる。方法は、以下のステップを含むことができる。
S201.ストレージ・スペース管理デバイスは、パフォーマンス・レベル要求をストレージ・デバイスに送信し、要求は1つまたは複数のLUNのパフォーマンス・レベルに関する情報にクエリを行なうために使用され、LUNのパフォーマンス・レベルに関する情報はLUNのパフォーマンス値範囲である。
パフォーマンス・レベル要求はREPORT LUN CACPABILITYと定義されてもよく、これはLUNのWWNフィールドを含み、このフィールドはLUNを識別するために使用される。各LUNは、異なるWWNを有する。
本発明の実施形態において、パフォーマンス・レベル要求をストレージ・デバイスに送信することは、ストレージ・デバイスにパフォーマンス・レベル要求を送信することであって、要求はストレージ・デバイス内のすべてのLUNのパフォーマンス・レベルに関する情報にクエリを行なうために使用され、パフォーマンス・レベル要求のWWNフィールドに含まれる値は0であることであってもよいか、または、ストレージ・デバイスの少なくとも1つのLUNにパフォーマンス・レベル要求を送信することであって、要求はストレージ・デバイス内の少なくとも1つのLUNのパフォーマンス・レベルに関する情報にクエリを行なうために使用され、パフォーマンス・レベル要求のWWNフィールドは、クエリが行なわれるべきLUNのWWNであることであってもよい。
S202.ストレージ・デバイスは、パフォーマンス・レベル要求に含まれるWWNフィールドに従って、LUNのパフォーマンス値範囲を取得する。
特に、ストレージ・スペース管理デバイスによって送信されるパフォーマンス・レベル要求を受信した後、ストレージ・デバイスは、LUNの関連情報を取得するために、LUNのWWNに従ってLUNを見出すことができる。情報は、LUNに対応する物理ディスクのストレージ媒体タイプを少なくとも含むことができる。LUNは論理領域であり、物理ディスクからマップされるので、LUNに対応する物理ディスクのストレージ媒体タイプがLUNのパフォーマンスを決定することができる。たとえば、SSDのパフォーマンスはSAS/FC HDDのパフォーマンスよりも高く、SAS/FC HDDのパフォーマンスはSATA/NL SAS HDDのパフォーマンスよりも高い。したがって、SSDに対応するLUNのパフォーマンスはSAS/FC HDDに対応するLUNのパフォーマンスよりも高く、SAS/FC HDDに対応するLUNのパフォーマンスはSATA/NL SAS HDDに対応するLUNのパフォーマンスよりも高い。
したがって、ストレージ・デバイスは、LUNの関連情報に従って、LUNのパフォーマンス値範囲を取得することができる。たとえば、SSDに対応するLUNのパフォーマンス値範囲は[80、100]であり、SAS/FC HDDに対応するLUNのパフォーマンス値範囲は[60、80]であり、SATA/NL SAS HDDに対応するLUNのパフォーマンス値範囲は[40、60]である。
加えて、ストレージ・デバイスは、LUNのIOサービス圧力、LUNの現在の実行状態、およびLUNの複合パターンのようなその他の関連情報に従って、LUNのパフォーマンス値範囲を取得することができる。ストレージ・デバイスは、あらゆる種類の要因を考慮に入れた後、LUNのパフォーマンス値範囲を取得することができる。
S203a.ストレージ・デバイスは、パフォーマンス・レベル要求に応答してストレージ・スペース管理デバイスに応答を送信し、応答はLUNのパフォーマンス値範囲を含む。
S203b.ストレージ・スペース管理デバイスは、LUNのパフォーマンス値範囲に従って、LUNのパフォーマンス・レベルを取得する。
パフォーマンス・レベル要求に応答して送信される応答は、論理装置番号リスト(LUN List)フィールドを含み、それにより、LUNのパフォーマンス値範囲がLUN
Listフィールドで搬送される。たとえば、LUN Listフィールドは、特に3つのサブフィールドを含むことができ、1つのサブフィールドはLUNのWWNであり、もう1つのサブフィールドはLUNのパフォーマンス値の上限であり、残りのサブフィールドはLUNのパフォーマンス値の下限である。
本発明の実施形態において、パフォーマンス・レベル要求がストレージ・デバイスのすべてのLUNのパフォーマンス・レベルにクエリを行なうために使用される場合、パフォーマンス・レベル要求に応答して送信される応答内のLUN Listフィールドは、ストレージ・スペース管理デバイスがすべてのパフォーマンス値範囲に従ってLUNのパフォーマンス・レベルを取得できるように、ストレージ・デバイスのLUNのWWNおよびLUNのパフォーマンス値範囲であり、パフォーマンス・レベル要求がストレージ・デバイスの少なくとも1つのLUNのパフォーマンス・レベルにクエリを行なうために使用される場合、パフォーマンス・レベル要求に応答して送信される応答内のLUN Listフィールドは、ストレージ・スペース管理デバイスがパフォーマンス値範囲に従ってLUNのパフォーマンス・レベルを取得できるように、クエリが行なわれるべき各LUNのWWNおよび各LUNのパフォーマンス値範囲を含む。たとえば、ストレージ・スペース管理デバイスは、LUNのパフォーマンス値範囲に従って、LUNのパフォーマンス・レベルを識別することができる。たとえば、SSDに対応するLUNのパフォーマンス・レベルはレベル1であってもよく(対応するLUNのパフォーマンス値の範囲は[80、100])、SAS/FC HDDに対応するLUNのパフォーマンス・レベルはレベル2であってもよく(対応するLUNのパフォーマンス値の範囲は[60、80])、SATA/NL SAS HDDに対応するLUNのパフォーマンス・レベルはレベル3であってもよい(対応するLUNのパフォーマンス値の範囲は[40、60])。
S204.ストレージ・スペース管理デバイスがデータ書き込み命令を受信した後にLUNのパフォーマンス・レベルおよびデータ書き込み命令に含まれる格納されるべきデータのアクセス頻度レベルに従ってデータ書き込み命令に含まれる格納されるべきデータを対応するパフォーマンス・レベルのLUNに書き込む。
(図1に示されるように)本発明の実施形態のアプリケーション・シナリオにおいて、ストレージ・システムは、ホスト、ストレージ・スペース管理デバイス、およびストレージ・デバイスにより形成される。本発明の実施形態におけるストレージ・スペース管理デバイスは、異機種の仮想化ストレージ・ゲートウェイ・デバイスであり、マッピングまたは抽象化を用いてストレージ・デバイスのさまざまな物理ディスクの複雑さおよび差異を覆い隠し、したがって、ストレージ・スペース管理デバイス自身のみがホストに可視であり、ストレージ・デバイスはホストに透過的である。
データ書き込み命令は、ホスト内のアプリケーションによってストレージ・スペース管理デバイスに搬送される。データ書き込み命令は、格納されるべきデータおよびデータが書き込まれる先のアドレスを含む。アプリケーションがデータ書き込み命令を搬送するとき、ストレージ・スペース管理デバイスのみがホストに可視であるので、格納されるべきデータは最終的にストレージ・デバイスに書き込まれるが、データが書き込まれる先のアドレスは、データが書き込まれるストレージ・スペース管理デバイスのLUNのアドレスである。データ書き込み命令を受信した後、ストレージ・スペース管理デバイスは、格納されるべきデータのアクセス頻度レベルに従って当該格納されるべきデータをストレージ・デバイス内の対応するレベルのLUNに書き込む。
特に、格納されるべきデータのアクセス頻度レベルは、アドレスがデータ書き込み命令で搬送されたアクセス頻度レベルに従ってストレージ・スペース管理デバイスによって判断されてもよく、ここで格納されるべきデータはアドレスに格納される。アドレスのアクセス頻度レベルが事前設定されたホットデータしきい値よりも高い場合、格納されるべきデータがホットデータであると判定することが適切であり、アドレスのアクセス頻度レベルが事前設定されたコールドデータしきい値よりも低い場合、格納されるべきデータがコールドデータであると判定することが適切である。
その後、格納されるべきデータのアクセス頻度レベルおよびLUNのパフォーマンス・レベルに従って、当該格納されるべきデータはストレージ・デバイス内の対応するパフォーマンス・レベルのLUNに書き込まれる。特に、データ書き込み命令の実行中、ホットデータはレベル1パフォーマンスのLUNに書き込まれ(対応するパフォーマンス値の範囲は[80、100])、コールドデータはレベル3パフォーマンスのLUNに書き込まれ(対応するパフォーマンス値の範囲は[40、60])、ホットまたはコールドのいずれでもない格納されるべきデータはレベル2パフォーマンスのLUNに書き込まれる(対応するパフォーマンス値の範囲は[60、80])。
格納されるべきデータのホットまたはコールドを判定するために使用される、データが書き込まれる先のアドレスが、格納されるべきデータが最終的に書き込まれるLUNアドレスとは異なることに留意されたい。前者は、ホストのアプリケーションに可視であるストレージ・スペース管理デバイス内のLUNのアドレスであり、後者はストレージ・デバイス内のLUNのアドレスである。ストレージ・スペース管理デバイス自身はLUNを含むことはなく、ストレージ・デバイスは、LUNの範囲をマップして、ストレージ・スペース管理デバイスが使用できるようにすることができる。それでもなお、前者のアドレスが、依然として後者のアドレスと異なることもある。
さらに具体的には、格納されるべきデータのアクセス頻度とLUNのパフォーマンス・レベルとの間のマッピングは、マッピング・テーブルの形態によってストレージ・スペース管理デバイスに格納されてもよい。データ書き込み命令が受信されるとき、格納されるべきデータ書き込まれる先の固有のLUNは、マッピング・テーブルを検索することによって認識される。本明細書の実施形態が、マッピング・テーブルの形態に限定されないことに留意されたい。格納されるべきデータのアクセス頻度とLUNのパフォーマンス・レベルとの間のマッピングの格納に適切なその他のすべての形態は、本発明の実施形態の保護適用範囲に含まれるものとする。データ書き込み命令の格納されるべきデータがストレージ・デバイス内の対応するパフォーマンス・レベルのLUNに書き込まれた後、ストレージ・スペース管理デバイスは、データ書き込み命令を搬送するためのアプリケーションとLUNとの間のマッピングを作成して、格納されるべきデータを読み取るためのアプリケーションからのデータ読み取り命令が続いて受信されるとき、格納されるべきデータは、マッピングに従って格納されるべきデータをストレージ・デバイスに格納するためのLUNアドレスが認識された後に、読み取られるようにすることができる。
本発明の実施形態において、ストレージ・デバイスに含まれるLUNのパフォーマンス・レベルに関する情報には、ストレージ・デバイスからクエリが行なわれ、LUNのパフォーマンス・レベルは、パフォーマンス・レベルに関する情報に従って取得される。したがって、本発明の実施形態において、LUNのパフォーマンス・レベルは、ストレージ管理者が予めパフォーマンス・レベルを構成することに依存することなく取得され得る。したがって、データ書き込み命令が受信された後にデータがストレージ・デバイスに書き込まれる必要がある場合、ストレージ・スペース管理デバイスは、格納されるべきデータのアクセス頻度に従って当該格納されるべきデータをさまざまなパフォーマンス・レベルのLUNに書き込むことができ、それによりLUN固有の階層ストレージに達することができる。
上記の実施形態において、LUNのパフォーマンス・レベルに関する情報に従ってLUNのパフォーマンス・レベルを取得することは、応答に含まれるLUNのパフォーマンス値範囲に従って、パフォーマンス・レベル・ラベルをLUNに添付すること、およびLUNのパフォーマンス・レベルを識別するためにパフォーマンス・レベル・ラベルを使用することを特に含む。たとえば、レベル1パフォーマンス・レベル・ラベルはパフォーマンス値の範囲が[80、100]であるLUNに添付されてもよく、レベル2パフォーマンス・レベル・ラベルはパフォーマンス値の範囲が[60、80]であるLUNに添付されてもよく、レベル3パフォーマンス・レベル・ラベルはパフォーマンス値の範囲が[40、60]であるLUNに添付されてもよい。
本発明のもう1つの実施形態において、パフォーマンス・レベル要求は、選択レポート(select report)フィールドを含むことができる。選択レポート・フィールドは、要求が、ストレージ・デバイス内のすべてのLUNのパフォーマンス・レベル、または固有のLUNのパフォーマンス・レベルのいずれにクエリを行なうために使用されるかを指示する。パフォーマンス・レベル要求が、ストレージ・デバイス内の固有のLUNのパフォーマンス・レベルにクエリを行なうために使用される場合、選択レポート・フィールドは01であり、パフォーマンス・レベル要求が、ストレージ・デバイス内のすべてのLUNのパフォーマンス・レベルにクエリを行なうために使用される場合、選択レポート・フィールドは00である。
パフォーマンス・レベル要求に応答して送信される応答は、論理装置番号リスト長さ(LUN List Length)フィールドをさらに含み、LUN List LengthフィールドはLUN Listフィールドの長さを指示する。上記の実施形態から理解され得るように、パフォーマンス・レベル要求がストレージ・デバイス内の1つのLUNのパフォーマンス・レベルにクエリを行なうために使用される場合、パフォーマンス・レベル要求に応答して送信される応答のLUN Listフィールドは、LUNのWWNおよびLUNのパフォーマンス値範囲を含む。この場合、LUN List Lengthフィールドは8であり、LUN Listフィールドが8バイトを有することを指示する。特に、最初の4バイトはLUNのWWNであり、バイト5から6はLUNのパフォーマンス値の上限であり、バイト7から8はLUNのパフォーマンス値の下限である。パフォーマンス・レベル要求がストレージ・デバイス内のすべてのLUNのパフォーマンス・レベルにクエリを行なうために使用される場合、パフォーマンス・レベル要求に応答して送信される応答のLUN Listフィールドは、ストレージ・デバイス内のすべてのLUNのWWNおよびすべてのLUNのパフォーマンス値範囲である。この場合、LUN
List Lengthフィールドは、8に、ストレージ・デバイス内のLUNの数を乗算したものである。
加えて、パフォーマンス・レベル要求は、オペレーション・コード(operation code)フィールドおよびその他の予約フィールドをさらに含むことができる。オペレーション・コード・フィールドは、たとえば、管理操作、または読み取り操作、または書き込み操作のような、パフォーマンス・レベル要求の操作タイプを識別するために使用される。
パフォーマンス・レベル要求、およびパフォーマンス・レベル要求に応答して送信される応答は、一部の予約フィールドをさらに含むことができることが理解可能である。
本発明のもう1つの実施形態において、方法は、ストレージ・リソース・プールを含むストレージ・システムに適用されてもよい。ストレージ・リソース・プールは、論理ストレージ・スペースのセグメントであり、すべてのLUNからマップされる。
ストレージ・スペース管理デバイスは、LUNのパフォーマンス・レベルに従って、同じパフォーマンス・レベルのLUNを対応するパフォーマンス・レベルのストレージ・リソース・プールに入れることができる。各ストレージ・リソース・プールは、同じパフォーマンス・レベルの少なくとも2つのLUNを含む。
特に、上記の実施形態によれば、LUNは異なるパフォーマンス・レベルに分割され得るので、同じパフォーマンス・レベルのLUNは対応するストレージ・リソース・プールにマップされてもよい。たとえば、レベル1パフォーマンスのLUNは、レベル1パフォーマンスのストレージ・リソース・プールに入れられてもよく、レベル2パフォーマンスのLUNは、レベル2パフォーマンスのストレージ・リソース・プールに入れられてもよい。各ストレージ・リソース・プールは、同じパフォーマンス・レベルの少なくとも2つのLUNを含む。
この場合、S204、「データ書き込み命令が受信されるときにLUNのパフォーマンス・レベルおよびデータ書き込み命令に含まれる格納されるべきデータのアクセス頻度に従って当該格納されるべきデータを対応するパフォーマンス・レベルのLUNに書き込む」ステップは、特に、データ書き込み命令が受信されるときにLUNのパフォーマンス・レベルおよびデータ書き込み命令に含まれる格納されるべきデータのアクセス頻度に従って当該格納されるべきデータを対応するパフォーマンス・レベルのストレージ・リソース・プールに含まれるLUNに書き込むことである。データ書き込み命令の格納されるべきデータが対応するパフォーマンス・レベルのストレージ・リソース・プールに書き込まれた後、データ書き込み命令を搬送するためのアプリケーションとストレージ・リソース・プールとの間でマッピングが作成されて、アプリケーションがストレージ・リソース・プール内のデータを読み取るためにデータ読み取り命令を引き続き搬送できるようにする。
上記の実施形態において、データ書き込み命令の格納されるべきデータがLUNに書き込まれるとき、データ書き込み命令を搬送するためのアプリケーションとLUNとの間でマッピングが作成される必要がある。したがって、LUNのパフォーマンス・レベルがその後低下される場合、データ書き込み命令が受信されるとき、格納されるべきデータは対応するパフォーマンス・レベルの別のLUNに書き込まれる必要があり、アプリケーションと元のLUNとの間のマッピングは削除される必要があり、アプリケーションと対応するパフォーマンス・レベルの新しいLUNとの間のマッピングが作成される必要がある。
本発明の実施形態において、同じパフォーマンス・レベルのLUNは、対応するパフォーマンス・レベルのストレージ・リソース・プールに入れられる。ストレージ・リソース・プール内の1つのLUNのパフォーマンス・レベルが低下される場合、データ書き込み命令が受信されるとき、格納されるべきデータはパフォーマンス・レベルがストレージ・リソース・プールで変化していない別のLUNに書き込まれてもよい。格納されるべきデータはその後もこのストレージ・リソース・プールに書き込まれるので、新しいマッピングが作成される必要はない。
本発明のもう1つの実施形態において、以下のステップがさらに含まれてもよい。
ストレージ・スペース管理デバイスは、ストレージ・スペース・スキャン要求をストレージ・デバイスに送信し、要求はストレージ・デバイス内のLUNの関連情報を取得するために使用される。ストレージ・デバイスによって送信されるストレージ・デバイスに含まれるすべてのLUNの情報が受信された後、ストレージ・スペースにアクセスしていない一部のLUNは、すべてのLUNの情報に従ってストレージ・スペース管理デバイスによって処理されて、ストレージ・スペースにアクセスできるようにされてもよい。
特に、ストレージ・デバイスは、LUNリストをストレージ・スペース管理デバイスに送信することができる。ストレージ・デバイスに含まれるLUNの数、どのLUNがストレージ・デバイスにアクセスしたか、およびどのLUNがストレージ・スペースにアクセスしていないか(つまり、使用可能ではない)については、リストから知られ得る。加えて、各LUNのサイズについてもまた、知られ得る。
LUNの関連情報を取得した後、ストレージ・スペース管理デバイスは、ストレージ・デバイスに含まれるLUNの数を知るために情報を解析して、ストレージ・スペースにアクセスしていないLUNをフォーマットするか、またはストレージ・スペースに正常にアクセスするようにそれらのLUNをその他の方法で処理する。ストレージ・スペース・スキャン要求をストレージ・デバイスに送信することにより、ストレージ・デバイスに含まれるすべてのLUNの情報が知られ、ストレージ・スペースにアクセスしていないLUNは、LUNがストレージ・スペースに正常にアクセスできるようにフォーマットされる。
このようにして、ストレージ・デバイス内のすべてのLUNは均一に管理され、LUNのパフォーマンス・レベルは引き続き識別され得る。
本発明のもう1つの実施形態において、以下のステップがさらに含まれてもよい。
ステップ205:ストレージ・スペース管理デバイスは、入出力IOコマンドの処理中にストレージ・デバイスによって費やされる時間を監視し、処理時間が、IOコマンドに対応するLUNのパフォーマンス・レベルに定義されているしきい値を超えるかどうかを判定する。
本発明の実施形態において、各IOコマンドはLUNに対応する。たとえば、読み取り要求コマンドは、LUNからデータを読み取る命令であり、書き込み要求コマンドは、データをLUNに書き込む命令である。上記の実施形態によれば、各LUNは対応するパフォーマンス・レベルを有し、各々の異なるパフォーマンス・レベルに固有のしきい値はこのパフォーマンス・レベルのLUNに対して事前設定されてもよい。リアルタイムでIOコマンドの処理時間を監視することにより、処理時間が、IOコマンドに対応するLUNのパフォーマンス・レベルに定義されているしきい値を超えるかどうかが判定される。
S206.処理時間が、IOコマンドに対応するLUNのパフォーマンス・レベルに定義されているしきい値を超える場合、ストレージ・スペース管理デバイスはパフォーマンス・レベル要求をストレージ・デバイスに送信する。
パフォーマンス・レベル要求の詳細な内容は、上記で説明されている内容と類似しているので、ここでさらに繰り返されることはない。ここでパフォーマンス・レベル要求が、ストレージ・デバイス内のLUNのパフォーマンス・レベルにクエリを行なうために使用されることに留意されたい。
実際には、LUNのパフォーマンスは、IO圧力、実行状態、およびシステム障害のような一部の要因により変化することがある。したがって、IOコマンドの処理時間が、LUNのパフォーマンス・レベルに定義されているしきい値を超えるとき、LUNのパフォーマンス・レベルについてストレージ・デバイスに再度クエリを行なうことが必要である。
S207.パフォーマンス・レベル要求を受信した後、ストレージ・デバイスは、LUNの現在のIO圧力および実行状態、システム障害、およびLUNに対応する物理ディスクのストレージ媒体のような要因に従って、LUNのパフォーマンス・レベルに関する現在の情報を再計算することができる。特に、LUNのパフォーマンス・レベルに関する現在の情報は、LUNの現在のパフォーマンス値範囲を少なくとも含む。詳細な計算方法は、上記で説明されている方法と類似しているので、ここでさらに繰り返されることはない。
S208.ストレージ・デバイスは、パフォーマンス・レベル要求に応答してストレージ・スペース管理デバイスに応答を送信し、パフォーマンス・レベル要求に応答して送信される応答はLUNのパフォーマンス・レベルに関する現在の情報を含み、ストレージ・スペース管理デバイスは、LUNのパフォーマンス・レベルに関する現在の情報に従って、LUNの現在のパフォーマンス・レベルを取得する。
パフォーマンス・レベル要求に応答して送信される応答の詳細な内容は、上記で説明されている内容と類似しているので、ここでさらに繰り返されることはない。
ストレージ・デバイスによって返されるLUNの現在のパフォーマンス値範囲を受信した後、ストレージ・スペース管理デバイスは、パフォーマンス値範囲に従ってLUNの現在のパフォーマンス・レベルを識別し、LUNのパフォーマンス・レベルが変化しているかどうかに応じてさまざまな操作を実行することができ、特に、LUNのパフォーマンス・レベルが変化している場合、LUNのパフォーマンス・レベルを調整することができる。LUNが対応するストレージ・リソース・プールに含まれることを仮定して、LUNはストレージ・リソース・プールから除去されてもよい。
LUNのパフォーマンス・レベルが変化していない場合、ストレージ・スペース管理デバイスは、LUNのクレジット値にクエリを行なう要求をストレージ・デバイスに送信し、ストレージ・デバイスによって返されるLUNのクレジット値に従ってトラフィック制御を実行することができる。
本発明の実施形態において、LUNのクレジット値は、LUNによって現在実行される秒あたりの読み取り/書き込み(I/O)操作の数と、LUNによって実行可能な秒あたりの読み取り/書き込み(I/O)操作の数の差であってもよい。たとえば、LUNによって実行可能な秒あたりの読み取り/書き込み(I/O)操作の数(Input/Output Operations Per Second、IOPS)が100であり、現在実行された秒あたりの読み取り/書き込み(I/O)操作の数、つまり実際のIOPS、が90である場合、LUNのクレジット値は10である。ストレージ・スペース管理デバイスは、クレジット値に従って、LUNのトラフィック制御を実行することができる。
本発明の実施形態において、IOコマンドの処理時間は、リアルタイムで監視される。
したがって、ストレージ・スペース管理デバイスは、格納されるべきデータが、データのアクセス頻度レベルに正確に従ってさまざまなパフォーマンス・レベルのLUNに確実に格納されるように、LUNのパフォーマンス・レベルを動的に調整することができる。
加えて、クレジット値にクエリを行なう要求に応答してストレージ・デバイスによってストレージ・スペース管理デバイスに送信される応答は、LUNの現在のパフォーマンス値範囲を含むことができ、したがって、ストレージ・スペース管理デバイスは、LUNの現在のパフォーマンス値範囲に従ってLUNの最新のパフォーマンス・レベルを取得することができる。ストレージ・デバイスは、LUNの現在のパフォーマンス値範囲をストレージ・スペース管理デバイスに先行してレポートし、ストレージ・デバイスとストレージ・スペース管理デバイスとの間の対話の数が低減され得るようにする。特に、クエリ要求に応答して送信される応答は、元のフィールドだけではなく、論理装置番号リスト(LUN List)フィールドも含むことができる。LUN Listフィールドは、LUNのパフォーマンス・レベルに関する情報を搬送するために使用される。たとえば、LUN Listフィールドは、特に3つのサブフィールドを含むことができ、1つのサブフィールドはLUNのWWNであり、もう1つのサブフィールドはLUNのパフォーマンス値の上限であり、残りのサブフィールドはLUNのパフォーマンス値の下限である。オプションで、応答は、論理装置番号リスト長さ(LUN List Length)フィールドをさらに含むことができ、LUN List LengthフィールドはLUN Listフィールドの長さを指示することができる。一般に、応答が1つのLUNのパフォーマンス・レベルを含む場合、LUN List Lengthフィールドは8であり、応答がストレージ・デバイスのすべてのLUNのパフォーマンス・レベルを含む場合、LUN List Lengthフィールドは、8に、ストレージ・デバイス内のLUNの数を乗算したものである。この場合、クレジット値にクエリを行なう要求は、以前の実施形態におけるパフォーマンス・レベル要求として理解されてもよい。
本発明の実施形態において、元のクエリ要求に応答して送信される応答は、応答がクレジット値だけではなくストレージ・デバイス内のLUNの現在のパフォーマンス・レベルも搬送するように変更されて、それによりストレージ・スペース管理デバイスとストレージ・デバイスとの間の対話の数を低減する。
本発明の実施形態は、ストレージ・スペース管理デバイスをさらに提供する。特に、図3を参照する。図3は、ストレージ・スペース管理デバイスを示す概略構造図である。
ストレージ・スペース管理デバイス30は、送信モジュール301、受信モジュール302、および取得モジュール303を含む。
送信モジュール301は、ストレージ・デバイスにパフォーマンス・レベル要求を送信するように構成され、要求はストレージ・デバイス内の1つまたは複数の論理装置番号(LUN)のパフォーマンス・レベルに関する情報にクエリを行なうために使用される。
オプションで、パフォーマンス・レベル要求はワールド・ワイド・ネーム(WWN)フィールドを含むことができ、WWNフィールドはLUNを識別するために使用さる。
パフォーマンス・レベル要求のWWNフィールド内の値が0である場合、パフォーマンス・レベル要求は、ストレージ・デバイスのすべてのLUNのパフォーマンス・レベルに関する情報にクエリを行なうよう求めるものであり、パフォーマンス・レベル要求のWWNフィールドがLUNのWWNである場合、要求は、ストレージ・デバイスの少なくとも1つのLUNのパフォーマンス・レベルに関する情報にクエリを行なうために使用される。
受信モジュール302は、パフォーマンス・レベル要求に応答してストレージ・デバイスによって送信される応答を受信するように構成され、応答はLUNのパフォーマンス・レベルに関する情報を含む。
オプションで、応答は、論理装置番号リスト(LUN List)フィールドを含むことができ、それにより、LUNのパフォーマンス・レベルに関する情報がLUN Listフィールドで搬送される。特に、LUN Listフィールドは、各LUNのWWNおよび各LUNのパフォーマンス・レベルに関する情報を含むことができる。
LUNのパフォーマンス・レベルに関する情報は、LUNのパフォーマンス値範囲を少なくとも含む。
取得モジュール303は、データ書き込み命令が受信されるときにデータ書き込み命令に含まれる格納されるべきデータのアクセス頻度レベルに従って当該格納されるべきデータが対応するパフォーマンス・レベルのLUNに書き込まれるように、LUNのパフォーマンス・レベルに関する情報に従ってLUNのパフォーマンス・レベルを取得するように構成される。
本発明の実施形態において、ストレージ・スペース管理デバイス30は、ストレージ・デバイス40に含まれる1つまたは複数のLUNのパフォーマンス・レベルに関する情報についてストレージ・デバイス40にクエリを行ない、パフォーマンス・レベルに関する情報に従ってLUNのパフォーマンス・レベルを取得する。したがって、本発明の実施形態において、LUNのパフォーマンス・レベルは、ストレージ管理者が予めパフォーマンス・レベルを構成することに依存することなく取得され得る。したがって、データ書き込み命令が受信された後にデータがストレージ・デバイスに書き込まれる必要がある場合、ストレージ・スペース管理デバイス30は、格納されるべきデータのアクセス頻度レベルに従って当該格納されるべきデータをさまざまなパフォーマンス・レベルのLUNに書き込むことができ、それによりLUN固有の階層ストレージを実施することができる。
後段では、LUNのパフォーマンス・レベルに関する情報がLUNのパフォーマンス値範囲であるという例をあげて、ストレージ・スペース管理デバイスを詳細に説明する。
上記の実施形態において、送信モジュール301によってストレージ・デバイスに送信されるパフォーマンス・レベル要求は、REPORT LUN CACPABILITYと定義されてもよく、これはLUNのワールド・ワイド・ネーム(World Wide
Name、WWN)フィールドを含み、このフィールドはLUNを識別するために使用される。各LUNは、異なるWWNを有する。
本発明の実施形態において、パフォーマンス・レベル要求をストレージ・デバイスに送信することは、ストレージ・デバイスにパフォーマンス・レベル要求を送信することであって、要求はストレージ・デバイス内のすべてのLUNのパフォーマンス・レベルに関する情報にクエリを行なうために使用され、パフォーマンス・レベル要求のWWNフィールドに含まれる値は0であることであってもよいか、または、ストレージ・デバイスの少なくとも1つのLUNにパフォーマンス・レベル要求を送信することであって、要求はストレージ・デバイス内のLUNのパフォーマンス・レベルに関する情報にクエリを行なうために使用され、パフォーマンス・レベル要求のLUNのWWNフィールドは、クエリが行なわれるべきLUNのWWNであることであってもよい。上記の実施形態において、パフォーマンス・レベル要求に応答してストレージ・デバイスによって送信され、受信モジュール302によって受信される応答は、LUNのパフォーマンス値範囲を含み、次いで、取得モジュール303は、LUNのパフォーマンス値範囲に従って、LUNのパフォーマンス・レベルを取得する。
パフォーマンス・レベル要求に応答して送信される応答は、論理装置番号リスト(LUN List)フィールドを含むことができ、それにより、LUNのパフォーマンス値範囲がLUN Listフィールドで搬送される。たとえば、LUN Listフィールドは、特に3つのフィールドを含むことができ、1つのサブフィールドはLUNのWWNであり、もう1つのサブフィールドはLUNのパフォーマンス値の上限であり、残りのサブフィールドはLUNのパフォーマンス値の下限である。
本発明の実施形態において、パフォーマンス・レベル要求がストレージ・デバイスのすべてのLUNのパフォーマンス・レベルにクエリを行なうために使用される場合、パフォーマンス・レベル要求に応答して送信される応答内のLUN Listフィールドは、ストレージ・スペース管理デバイスがすべてのパフォーマンス値範囲に従ってLUNのパフォーマンス・レベルを取得できるように、ストレージ・デバイスのLUNのWWNおよびLUNのパフォーマンス値範囲であり、パフォーマンス・レベル要求がストレージ・デバイスの少なくとも1つのLUNのパフォーマンス・レベルにクエリを行なうために使用される場合、パフォーマンス・レベル要求に応答して送信される応答内のLUN Listフィールドは、ストレージ・スペース管理デバイスがパフォーマンス値範囲に従ってLUNのパフォーマンス・レベルを取得できるように、クエリが行なわれるべき各LUNのWWNおよび各LUNのパフォーマンス値範囲を含む。たとえば、ストレージ・スペース管理デバイスは、LUNのパフォーマンス値範囲に従って、LUNのパフォーマンス・レベルを識別することができる。たとえば、SSDに対応するLUNのパフォーマンス・レベルはレベル1であってもよく(対応するLUNのパフォーマンス値の範囲は[80、100])、SAS/FC HDDに対応するLUNのパフォーマンス・レベルはレベル2であってもよく(対応するLUNのパフォーマンス値の範囲は[60、80])、SATA/NL SAS HDDに対応するLUNのパフォーマンス・レベルはレベル3であってもよい(対応するLUNのパフォーマンス値の範囲は[40、60])。特に、取得モジュール303は、応答に含まれるLUNのパフォーマンス値範囲に従って、パフォーマンス・レベル・ラベルをLUNに添付して、LUNのパフォーマンス・レベルを識別するためにパフォーマンス・レベル・ラベルを使用することができる。たとえば、レベル1パフォーマンス・レベル・ラベルはパフォーマンス値の範囲が[80、100]であるLUNに添付されてもよく、レベル2パフォーマンス・レベル・ラベルはパフォーマンス値の範囲が[60、80]であるLUNに添付されてもよく、レベル3パフォーマンス・レベル・ラベルはパフォーマンス値の範囲が[40、60]であるLUNに添付されてもよい。
ストレージ・スペース管理デバイス30がデータ書き込み命令を受信した後にLUNのパフォーマンス・レベルおよびデータ書き込み命令に含まれる格納されるべきデータのアクセス頻度レベルに従ってデータ書き込み命令に含まれる格納されるべきデータは、対応するパフォーマンス・レベルのLUNに書き込まれる。本発明のもう1つの実施形態において、パフォーマンス・レベル要求は、選択レポート(select report)フィールドを含むことができる。選択レポート・フィールドは、メッセージが、ストレージ・デバイス内のすべてのLUNのパフォーマンス・レベル、または固有のLUNのパフォーマンス・レベルにクエリを行なうために使用されるかどうかを指示する。パフォーマンス・レベル要求が、ストレージ・デバイス内の固有のLUNのパフォーマンス・レベルにクエリを行なうために使用される場合、選択レポート・フィールドは01であり、パフォーマンス・レベル要求が、ストレージ・デバイス内のすべてのLUNのパフォーマンス・レベルにクエリを行なうために使用される場合、選択レポート・フィールドは00である。
パフォーマンス・レベル要求に応答して送信される応答は、論理装置番号リスト長さ(LUN List Length)フィールドをさらに含み、LUN List LengthフィールドはLUN Listフィールドの長さを指示する。上記の実施形態から理解され得るように、パフォーマンス・レベル要求がストレージ・デバイス内の1つのLUNのパフォーマンス・レベルにクエリを行なうために使用される場合、パフォーマンス・レベル要求に応答して送信される応答のLUN Listフィールドは、LUNのWWNおよびLUNのパフォーマンス値範囲を含む。この場合、LUN List Lengthフィールドは8であり、LUN Listフィールドが8バイトを有することを指示する。特に、最初の4バイトはLUNのWWNであり、バイト5から6はLUNのパフォーマンス値の上限であり、バイト7から8はLUNのパフォーマンス値の下限である。パフォーマンス・レベル要求がストレージ・デバイス内のすべてのLUNのパフォーマンス・レベルにクエリを行なうために使用される場合、パフォーマンス・レベル要求に応答して送信される応答のLUN Listフィールドは、ストレージ・デバイス内の各LUNのWWNおよび各LUNのパフォーマンス値範囲である。この場合、LUN List Lengthフィールドは、8に、ストレージ・デバイス内のLUNの数を乗算したものである。
加えて、パフォーマンス・レベル要求は、オペレーション・コード(operation code)フィールドおよびその他の予約フィールドをさらに含むことができる。オペレーション・コード・フィールドは、たとえば、管理操作、または読み取り操作、または書き込み操作のような、パフォーマンス・レベル要求の操作タイプを識別するために使用される。
パフォーマンス・レベル要求、およびパフォーマンス・レベル要求に応答して送信される応答は、一部の予約フィールドをさらに含むことができることが理解可能である。
本発明のもう1つの実施形態において、ストレージ・スペース管理デバイス30は、ストレージ・リソース・プールを含むストレージ・システムにさらに適用可能である。ストレージ・リソース・プールは、論理ストレージ・スペースのセグメントであり、すべてのLUNからマップされる。ストレージ・スペース管理デバイスは、LUNのパフォーマンス・レベルに従って、同じパフォーマンス・レベルのLUNを対応するパフォーマンス・レベルのストレージ・リソース・プールに入れるように構成された、ストレージ・リソース・プール入力モジュール(図には示されず)をさらに含み、ストレージ・リソース・プールは、同じパフォーマンス・レベルの少なくとも2つのLUNを含む。
特に、上記の実施形態によれば、LUNは異なるパフォーマンス・レベルに分割され得るので、同じパフォーマンス・レベルのLUNは対応するストレージ・リソース・プールにマップされてもよい。たとえば、レベル1パフォーマンスのLUNは、レベル1パフォーマンスのストレージ・リソース・プールに入れられてもよく、レベル2パフォーマンスのLUNは、レベル2パフォーマンスのストレージ・リソース・プールに入れられてもよい。各ストレージ・リソース・プールは、同じパフォーマンス・レベルの少なくとも2つのLUNを含む。
データ書き込み命令を受信した後、ストレージ・スペース管理デバイス30は、LUNのパフォーマンス・レベルおよびデータ書き込み命令に含まれる格納されるべきデータのアクセス頻度レベルに従って当該格納されるべきデータを対応するパフォーマンス・レベルのストレージ・リソース・プールに含まれるLUNに書き込む。データ書き込み命令の格納されるべきデータが対応するパフォーマンス・レベルのストレージ・リソース・プールに書き込まれた後、データ書き込み命令を搬送するためのアプリケーションとストレージ・リソース・プールとの間でマッピングが作成されて、アプリケーションがストレージ・リソース・プール内のデータを読み取るために引き続きデータ読み取り命令を搬送できるようにする。
上記の実施形態において、データ書き込み命令の格納されるべきデータがLUNに書き込まれるとき、データ書き込み命令を搬送するためのアプリケーションとLUNとの間でマッピングが作成される必要がある。したがって、LUNのパフォーマンス・レベルがその後低下される場合、データ書き込み命令が受信されるとき、格納されるべきデータは対応するパフォーマンス・レベルの別のLUNに書き込まれる必要があり、アプリケーションと元のLUNとの間のマッピングは削除される必要があり、アプリケーションと対応するパフォーマンス・レベルの新しいLUNとの間のマッピングが作成される必要がある。
本発明の実施形態において、同じパフォーマンス・レベルのLUNは、対応するパフォーマンス・レベルのストレージ・リソース・プールに入れられる。ストレージ・リソース・プール内の1つのLUNのパフォーマンス・レベルが低下される場合、データ書き込み命令が受信されるとき、格納されるべきデータはパフォーマンス・レベルがストレージ・リソース・プールで変化していない別のLUNに書き込まれてもよい。格納されるべきデータはその後もこのストレージ・リソース・プールに書き込まれるので、新しいマッピングが作成される必要はない。
本発明のもう1つの実施形態において、ストレージ・スペース管理デバイス30は、入出力IOコマンドの処理中にストレージ・デバイスによって費やされる時間を監視し、処理時間が、IOコマンドに対応するLUNのパフォーマンス・レベルに定義されているしきい値を超えるかどうかを判定するように構成された監視モジュール304をさらに含むことができる。
本発明の実施形態において、各IOコマンドはLUNに対応する。たとえば、読み取り要求コマンドは、LUNからデータを読み取る命令であり、書き込み要求コマンドは、データをLUNに書き込む命令である。上記の実施形態によれば、各LUNは対応するパフォーマンス・レベルを有し、各々の異なるパフォーマンス・レベルに固有のしきい値はこのパフォーマンス・レベルのLUNに対して事前設定されてもよい。リアルタイムでIOコマンドの処理時間を監視することにより、処理時間が、IOコマンドに対応するLUNのパフォーマンス・レベルに定義されているしきい値を超えるかどうかが判定される。
送信モジュール301は、処理時間が、IOコマンドに対応するLUNのパフォーマンス・レベルに定義されているしきい値を超える場合、パフォーマンス・レベル要求をストレージ・デバイスに送信するようにさらに構成される。
実際には、LUNのパフォーマンスは、IO圧力、実行状態、およびシステム障害のような一部の要因により変化することがある。したがって、IOコマンドの処理時間が、LUNのパフォーマンス・レベルに定義されているしきい値を超えるとき、LUNのパフォーマンス・レベルに関する情報についてストレージ・デバイスに再度クエリを行なうことが必要である。
パフォーマンス・レベル要求の詳細な内容は、上記で説明されている内容と類似しているので、ここでさらに繰り返されることはない。ここでパフォーマンス・レベル要求が、ストレージ・デバイス内の固有のLUNのパフォーマンス・レベルに関する情報にクエリを行なうために使用されることに留意されたい。
受信モジュール302は、パフォーマンス・レベル要求に応答してストレージ・デバイスによって送信される応答を受信するようにさらに構成される。
パフォーマンス・レベル要求を受信した後、ストレージ・デバイスは、LUNの現在のIO圧力および実行状態、システム障害、およびLUNに対応する物理ディスクのストレージ媒体のような要因に従って、パフォーマンス・レベルに関する現在の情報を再計算することができる。特に、LUNのパフォーマンス・レベルに関する現在の情報は、LUNの現在のパフォーマンス値範囲を少なくとも含む。詳細な計算方法は、上記で説明されている方法と類似しているので、ここでさらに繰り返されることはない。
パフォーマンス・レベル要求に応答して送信される応答は、LUNの現在のパフォーマンス値範囲を含む。応答の詳細な内容は、上記で説明されている内容と類似しているので、ここでさらに繰り返されることはない。
取得モジュール303は、LUNのパフォーマンス・レベルに関する現在の情報に従って、LUNの現在のパフォーマンス・レベルを取得するようにさらに構成される。
具体的な取得方法は、上記で説明されている方法と類似しているので、ここでさらに繰り返されることはない。
ストレージ・スペース管理デバイス30は、
パフォーマンス値範囲に従ってLUNの現在のパフォーマンス・レベルを識別し、LUNのパフォーマンス・レベルが変化しているかどうかを判定するように構成された判定モジュール305と、
LUNのパフォーマンス・レベルが変化している場合、元の対応するストレージ・リソース・プールからLUNを除去するように構成された調整モジュール306とをさらに含むことができる。
LUNの現在のパフォーマンス・レベルを識別した後、ストレージ・スペース管理デバイス30は、LUNのパフォーマンス・レベルが変化しているかどうかに応じて異なる操作を実行し、特にLUNのパフォーマンス・レベルが変化している場合にはLUNのパフォーマンス・レベルを調整することができる。LUNが対応するストレージ・リソース・プールを有することを仮定して、LUNは元の対応するストレージ・リソース・プールから除去されてもよい。
本発明の実施形態において提供されるストレージ・スペース管理デバイス30の詳細については、方法の実施形態でのストレージ・スペース管理デバイスの説明が参照され得るので、詳細はここで繰り返されることはない。
さらに、本発明の実施形態は、ストレージ・デバイス40を提供する。特に、図4を参照する。図4は、ストレージ・デバイス40を示す概略構造図である。
ストレージ・デバイス40は、受信モジュール401、計算モジュール402、および送信モジュール403を含む。
受信モジュール401は、ストレージ・スペース管理デバイスによって送信されるパフォーマンス・レベル要求を受信するように構成され、要求はストレージ・デバイス内の1つまたは複数のLUNのパフォーマンス・レベルに関する情報にクエリを行なうために使用される。
計算モジュール402は、パフォーマンス・レベル要求に従ってLUNのパフォーマンス・レベルに関する情報を取得するように構成される。
送信モジュール403は、パフォーマンス・レベル要求に応答してストレージ・スペース管理デバイスに応答を送信するように構成され、応答はLUNのパフォーマンス・レベルに関する情報を含み、ストレージ・スペース管理デバイスは、データ書き込み命令が受信されるときにデータ書き込み命令に含まれる格納されるべきデータのアクセス頻度レベルに従って当該格納されるべきデータが対応するパフォーマンス・レベルのLUNに書き込まれるように、LUNのパフォーマンス・レベルに関する情報に従ってLUNのパフォーマンス・レベルを取得する。
本発明の実施形態において、ストレージ・デバイス40に含まれるLUNのパフォーマンス・レベルに関する情報にクエリを行なうためにストレージ・スペース管理デバイス30によって送信される要求を受信した後、ストレージ・デバイス40は、ストレージ・デバイス40に含まれるLUNのパフォーマンス・レベルに関する情報を取り出して、それをストレージ・スペース管理デバイス30に送信し、ストレージ・スペース管理デバイス30がパフォーマンス・レベルに関する情報に従ってLUNのパフォーマンス・レベルを取得できるようにする。したがって、本発明の実施形態におけるストレージ・デバイスは、ストレージ管理者が予めパフォーマンス・レベルを構成することに依存することなくLUNのパフォーマンス・レベルを取得することができる。このようにして、データ書き込み命令が受信された後にデータがストレージ・デバイス40に書き込まれる必要がある場合、ストレージ・スペース管理デバイスは、格納されるべきデータのアクセス頻度レベルに従って当該格納されるべきデータをさまざまなパフォーマンス・レベルのLUNに書き込むことができ、それによりLUN固有の階層ストレージを実施することができる。
後段では、LUNのパフォーマンス・レベルに関する情報がLUNのパフォーマンス値範囲であるという例をあげて、ストレージ・デバイスを詳細に説明する。
上記の実施形態において、パフォーマンス・レベル要求は、REPORT LUN CACPABILITYと定義されてもよい。これに含まれるフィールドは、図3に示される実施形態におけるフィールドと同じであるので、ここさらに繰り返し説明されることはない。パフォーマンス・レベル要求に応答して送信される応答に含まれるフィールドは、図3に示される実施形態におけるフィールドと同じであるので、ここさらに繰り返し説明されることはない。計算モジュール402は、パフォーマンス・レベル要求に含まれるLUNのWWNフィールドに従って、LUNのパフォーマンス値範囲を取得するように特に構成される。
特に、ストレージ・スペース管理デバイス30によって送信されるパフォーマンス・レベル要求を受信した後、ストレージ・デバイス40は、LUNの関連情報を取得するために、LUNのWWNに従ってLUNを見出すことができる。情報は、LUNに対応する物理ディスクのストレージ媒体タイプを少なくとも含むことができる。LUNは論理領域であり、物理ディスクからマップされるので、LUNに対応する物理ディスクのストレージ媒体タイプがLUNのパフォーマンスを決定することができる。たとえば、SSDのパフォーマンスはSAS/FC HDDのパフォーマンスよりも高く、SAS/FC HDDのパフォーマンスはSATA/NL SAS HDDのパフォーマンスよりも高い。したがって、SSDに対応するLUNのパフォーマンスはSAS/FC HDDに対応するLUNのパフォーマンスよりも高く、SAS/FC HDDに対応するLUNのパフォーマンスはSATA/NL SAS HDDに対応するLUNのパフォーマンスよりも高い。
したがって、ストレージ・デバイス40は、LUNの関連情報に従って、LUNのパフォーマンス・レベルを取得することができる。たとえば、LUNのパフォーマンス・レベルは、パフォーマンス値の範囲が反映されてもよい。たとえば、SSDに対応するLUNのパフォーマンス値の範囲は[80、100]であり、SAS/FC HDDに対応するLUNのパフォーマンス値の範囲は[60、80]であり、SATA/NL SAS HDDに対応するLUNのパフォーマンス値の範囲は[40、60]である。
加えて、ストレージ・デバイス40は、LUNのIOサービス圧力、LUNの現在の実行状態、およびLUNの複合パターンのようなその他の関連情報に従って、LUNのパフォーマンス値範囲を取得することができる。ストレージ・デバイスは、あらゆる種類の要因を考慮に入れた後、LUNのパフォーマンス値範囲を取得することができる。
送信モジュール403は、パフォーマンス・レベル要求に応答してストレージ・スペース管理デバイス30に応答を送信するように特に構成され、ストレージ・スペース管理デバイス30がLUNのパフォーマンス値範囲に従ってLUNのパフォーマンス・レベルを取得できるように応答はLUNのパフォーマンス値範囲を含む。
本発明のもう1つの実施形態において、ストレージ・スペース管理デバイス30は、入出力IOコマンドの処理中にストレージ・デバイスによって費やされる時間を監視する。
処理時間が、IOコマンドに対応するLUNのパフォーマンス・レベルに定義されているしきい値を超える場合、ストレージ・スペース管理デバイス30はパフォーマンス・レベル要求をストレージ・デバイス40に送信して、LUNの現在のパフォーマンス・レベルにクエリを行なうことができる。
したがって、受信モジュール401は、ストレージ・スペース管理デバイスによって送信されるパフォーマンス・レベル要求を受信するようにさらに構成される。パフォーマンス・レベル要求の詳細な内容は、上記で説明されている内容と類似しているので、ここでさらに説明されることはない。ここでパフォーマンス・レベル要求が、ストレージ・デバイス内の固有のLUNのパフォーマンス・レベルに関する情報にクエリを行なうために使用されることに留意されたい。
計算モジュール402は、パフォーマンス・レベル要求で搬送されるLUN情報に従って、LUNのパフォーマンス・レベルに関する現在の情報を取得するようにさらに構成される。パフォーマンス・レベル要求を受信した後、ストレージ・デバイスは、LUNの現在のIO圧力および実行状態、システム障害、およびLUNに対応する物理ディスクのストレージ媒体のような要因に従って、パフォーマンス・レベルに関する現在の情報を再計算することができる。特に、LUNのパフォーマンス・レベルに関する現在の情報は、LUNの現在のパフォーマンス値範囲を少なくとも含む。詳細な計算方法は、上記で説明されている方法と類似しているので、ここでさらに繰り返されることはない。
送信モジュール403は、パフォーマンス・レベル要求に応答してストレージ・スペース管理デバイス30に応答を送信するようにさらに構成され、パフォーマンス・レベル要求に応答して送信される応答はLUNのパフォーマンス・レベルに関する現在の情報を含み、ストレージ・スペース管理デバイス30は、LUNのパフォーマンス・レベルに関する現在の情報に従って、LUNの現在のパフォーマンス・レベルを取得する。
LUNの現在のパフォーマンス・レベルを識別した後、ストレージ・スペース管理デバイス30は、LUNのパフォーマンス・レベルが変化しているかどうかに応じて異なる操作を実行し、特にLUNのパフォーマンス・レベルが変化している場合には、LUNのパフォーマンス・レベルを調整することができる。LUNが対応するストレージ・リソース・プールを有することを仮定して、LUNは元の対応するストレージ・リソース・プールから除去されてもよい。
本発明の実施形態において提供されるストレージ・デバイス40の詳細については、方法の実施形態でのストレージ・デバイスの説明が参照され得るので、説明がここで繰り返されることはない。
さらに、本発明の実施形態は、ストレージ・システム50を提供する。図5に示されるように、ストレージ・システムは、ストレージ・スペース管理デバイス30、およびストレージ・デバイス40を含む。
ストレージ・スペース管理デバイス30は、パフォーマンス・レベル要求をストレージ・デバイス40に送信し、要求はストレージ・デバイス40内の1つまたは複数のLUNのパフォーマンス・レベルに関する情報にクエリを行なうために使用され、パフォーマンス・レベル要求に応答してストレージ・デバイス40によって送信される応答を受信し、応答はLUNのパフォーマンス・レベルに関する情報を含み、データ書き込み命令が受信されるときにデータ書き込み命令に含まれる格納されるべきデータのアクセス頻度レベルに従って当該格納されるべきデータが対応するパフォーマンス・レベルのLUNに書き込まれるように、LUNのパフォーマンス・レベルに関する情報に従ってLUNのパフォーマンス・レベルを取得するように構成される。
ストレージ・デバイス40は、ストレージ・スペース管理デバイス30によって送信されるパフォーマンス・レベル要求を受信し、パフォーマンス・レベル要求はストレージ・デバイス内のLUNのパフォーマンス・レベルに関する情報にクエリを行なうために使用され、パフォーマンス・レベル要求に従ってLUNのパフォーマンス・レベルに関する情報を取得し、パフォーマンス・レベル要求に応答してストレージ・スペース管理デバイス30に応答を送信するように構成され、パフォーマンス・レベル要求に応答して送信される応答はLUNのパフォーマンス・レベルに関する情報を含み、ストレージ・スペース管理デバイス30は、データ書き込み命令が受信されるときにデータ書き込み命令に含まれる格納されるべきデータのアクセス頻度レベルに従って当該格納されるべきデータが対応するパフォーマンス・レベルのLUNに書き込まれるように、LUNのパフォーマンス・レベルに関する情報に従ってLUNのパフォーマンス・レベルを取得する。
ストレージ・スペース管理デバイス30の各モジュールの詳細な機能については、図3に示される実施形態における対応するモジュールが参照され得るが、ストレージ・スペース管理デバイス40の各モジュールの詳細な機能については、図4に示される実施形態における対応するモジュールが参照され得るので、詳細はここで繰り返されることはない。
図6は、本発明の実施形態によるストレージ・スペース管理デバイス600を示す概略構造図である。ストレージ・スペース管理デバイス600は、ストレージ・ゲートウェイ・デバイスを含むことができる。本発明の実施形態におけるストレージ・ゲートウェイ・デバイスは、異機種の仮想化ストレージ・ゲートウェイ・デバイスに言及する。本発明の実施形態は、ストレージ・スペース管理デバイス600の特定の形態を制約するものではない。ストレージ・スペース管理デバイス600は、
プロセッサ(processor)610、通信インターフェイス(Communications Interface)620、メモリ(memory)630、およびバス640を含む。
プロセッサ610、通信インターフェイス620、およびメモリ630は、バス640を通じて相互に通信する。
通信インターフェイス620は、ストレージ・デバイス700のようなネットワーク要素と通信するように構成される。
プロセッサ610は、プログラム632を実行するように構成される。
特に、プログラム632は、プログラム・コードを含むことができ、プログラム・コードはコンピュータの操作命令を含む。
プロセッサ610は、中央演算処理装置CPU、または特殊用途向け集積回路ASIC(Application Specific Integrated Circuit)、または本発明の実施形態を実施するように構成された1つまたは複数の集積回路であってもよい。
メモリ630は、プログラム632を格納するように構成される。メモリ630は、高速RAMを含むことができるか、または、たとえば少なくとも1つのディスク・メモリのような、不揮発性メモリ(non−volatile memory)をさらに含むことができる。
プログラム632は、
ストレージ・デバイスにパフォーマンス・レベル要求を送信するように構成された送信モジュール301であって、要求はストレージ・デバイス内の1つまたは複数のLUNのパフォーマンス・レベルに関する情報にクエリを行なうために使用されるモジュールと、 パフォーマンス・レベル要求に応答してストレージ・デバイスによって送信される応答を受信するように構成された受信モジュール302であって、応答はLUNのパフォーマンス・レベルに関する情報を含むモジュールと、
データ書き込み命令が受信されるときにデータ書き込み命令に含まれる格納されるべきデータのアクセス頻度レベルに従って当該格納されるべきデータが対応するパフォーマンス・レベルのLUNに書き込まれるように、LUNのパフォーマンス・レベルに関する情報に従ってLUNのパフォーマンス・レベルを取得するように構成された取得モジュール303とを特に含むことができる。
プログラム632の各モジュールの詳細な実施態様については、図3に示される実施形態における対応するモジュールが参照され得るので、詳細はここで繰り返されることはない。
図7は、本発明の実施形態によるストレージ・デバイス700を示す概略図である。ストレージ・デバイス700は、従来技術において知られているストレージ・デバイスであってもよく、本発明の実施形態は、ストレージ・デバイス700の特定の形態を制約するものではない。ストレージ・デバイス700は、
プロセッサ(processor)710、通信インターフェイス(Communications Interface)720、メモリ(memory)730、およびバス740を含む。
プロセッサ710、通信インターフェイス720、およびメモリ730は、バス740を通じて相互に通信する。
通信インターフェイス720は、ストレージ・スペース管理デバイス600のようなネットワーク要素と通信するように構成される。
プロセッサ710は、プログラム732を実行するように構成される。
特に、プログラム732は、プログラム・コードを含むことができ、プログラム・コードはコンピュータの操作命令を含む。
プロセッサ710は、中央演算処理装置CPU、または特殊用途向け集積回路ASIC(Application Specific Integrated Circuit)、または本発明の実施形態を実施するように構成された1つまたは複数の集積回路であってもよい。
メモリ730は、プログラム732を格納するように構成される。メモリ730は、高速RAMを含むことができるか、または、たとえば少なくとも1つのディスク・メモリのような、不揮発性メモリ(non−volatile memory)をさらに含むことができる。
プログラム732は、
ストレージ・スペース管理デバイスによって送信されるパフォーマンス・レベル要求を受信するように構成された受信モジュール401であって、要求はストレージ・デバイス内の1つまたは複数のLUNのパフォーマンス・レベルに関する情報にクエリを行なうために使用されるモジュールと、
パフォーマンス・レベル要求に従ってLUNのパフォーマンス・レベルに関する情報を取得するように構成された計算モジュール402と、
パフォーマンス・レベル要求に応答してストレージ・スペース管理デバイスに応答を送信するように構成された送信モジュール403であって、パフォーマンス・レベル要求に応答して送信される応答はLUNのパフォーマンス・レベルに関する情報を含み、ストレージ・スペース管理デバイスは、データ書き込み命令が受信されるときにデータ書き込み命令に含まれる格納されるべきデータのアクセス頻度レベルに従って当該格納されるべきデータが対応するパフォーマンス・レベルのLUNに書き込まれるように、LUNのパフォーマンス・レベルに関する情報に従ってLUNのパフォーマンス・レベルを取得するモジュールとを特に含むことができる。
プログラム732の各モジュールの詳細な実施態様については、図4に示される実施形態における対応するモジュールが参照され得るので、詳細はここで繰り返されることはない。
簡便で簡潔な説明を目的として、前述のデバイスおよびモジュールの特定の機能プロセスに関しては、前述の方法の実施形態における対応するプロセスが参照され得るので、詳細はここで再度説明されないことが、当業者には明確に理解されるであろう。
本願において提供される実施形態において、開示されるデバイスおよび方法がその他の方法で実施され得ることを理解されたい。たとえば、説明される装置の実施形態は、模範的なものに過ぎない。たとえば、モジュール部は、論理機能部に過ぎず、実際の実施態様においてその他の部分があってもよい。たとえば、複数のモジュールまたはコンポーネントは、別のデバイスに複合または統合されてもよいか、または一部の特徴が無視されるか、実行されなくてもよい。加えて、表示されるかまたは説明される相互結合もしくは直接結合または通信接続は、一部の通信インターフェイスを通じて実施されてもよい。装置またはモジュール管の間接結合または通信接続は、電気的、機械的、またはその他の形態で実施されてもよい。
別個の部品として説明されるモジュールは、物理的に分離されていても、分離されていなくてもよく、モジュールとして表示される部品は、物理的なユニットであってもなくてもよく、1つの位置に配置されてもよいか、または複数のネットワーク・ユニット上に分散されてもよい。モジュールの一部または全部は、実施形態の解決策の目的を達成するための実際の必要に応じて選択されてもよい。
加えて、本発明の実施形態の各々の機能モジュールは、1つの処理モジュールに統合されてもよいか、またはモジュールの各々が物理的に独立して存在してもよいか、または2つ以上のモジュールが1つのモジュールに統合されてもよい。
最後に、前述の実施形態は、本発明の技術的解決策を説明することを単に意図されており、本発明を限定するものではないことに留意されたい。本明細書は、前述の実施形態を参照して詳細に説明されるが、当業者であれば、本発明の実施形態の技術的解決策の原理および範囲を逸脱することなく、前述の実施形態において説明される技術的解決策に変更をさらに加えることができること、またはその一部もしくは全部の技術的特徴に等価の置き換えを行なうことができることを、理解するはずである。

Claims (10)

  1. ストレージ・デバイスにパフォーマンス・レベル要求を送信することであって、前記パフォーマンス・レベル要求は前記ストレージ・デバイス内の1つまたは複数の論理装置番号(LUN)のパフォーマンス・レベルに関する情報にクエリを行なうために使用される、送信することと、
    前記パフォーマンス・レベル要求に応答して前記ストレージ・デバイスによって送信される応答を受信することであって、前記応答は前記LUNのパフォーマンス・レベルに関する情報を含む、受信することと、
    前記LUNのパフォーマンス・レベルに関する情報に従って前記LUNのパフォーマンス・レベルを取得することと
    ホストから、格納されるべきデータおよび前記データが書き込まれるべきアドレスを含むデータ書き込み命令を受信することであって、前記データが書き込まれるべきアドレスは、前記ホストに可視であるストレージ・スペース管理デバイス内の前記LUNのアドレスである、受信することと、
    格納されるべき前記データのアクセス頻度レベルを取得するために、前記アドレスのアクセス頻度レベルが事前設定されたホットデータしきい値よりも高い、または事前設定されたコールドデータしきい値よりも低いかどうかを判定することと、
    格納されるべき前記データのアクセス頻度レベルと前記LUNの前記パフォーマンス・レベルとの間のマッピングに従って、前記ストレージ・デバイス内の前記LUNから対応するパフォーマンス・レベルのLUNを選択することと、
    格納されるべき前記データを前記選択されたLUNに書き込むことと、を含む、データ・ストレージ方法。
  2. 前記パフォーマンス・レベル要求はワールド・ワイド・ネーム(WWN)フィールドを含み、前記WWNフィールドは前記LUNを識別するために使用され、
    前記パフォーマンス・レベル要求に応答して送信される応答は、論理装置番号リスト(LUN List)フィールドを含み、それにより、前記LUNのパフォーマンス・レベルに関する情報が前記LUN Listフィールドで搬送される、請求項1に記載の方法。
  3. 前記ストレージ・デバイス内のすべてのLUNのパフォーマンス・レベルに関する情報にクエリを行なうために、前記パフォーマンス・レベル要求の前記WWNフィールドに含まれる値は0であり、
    前記パフォーマンス・レベル要求に応答して送信される前記応答内の前記LUN Listフィールドは、前記ストレージ・デバイス内の各LUNのWWNおよび各LUNのパフォーマンス・レベルに関する情報を含み、各LUNのパフォーマンス・レベルに関する前記情報は前記LUNのパフォーマンス値範囲を含む、請求項2に記載の方法。
  4. 前記パフォーマンス・レベル要求の前記WWNフィールドは、前記ストレージ・デバイス内の少なくとも1つのLUNのパフォーマンス・レベルに関する情報にクエリを行なうために、前記LUNのWWNであり、
    前記パフォーマンス・レベル要求に応答して送信される前記応答内の前記LUN Listフィールドは、各LUNのWWNおよび各LUNのパフォーマンス・レベルに関する情報を含み、各LUNのパフォーマンス・レベルに関する前記情報は前記LUNのパフォーマンス値範囲を含む、請求項2に記載の方法。
  5. 前記LUNのパフォーマンス・レベルに関する前記情報に従って前記LUNのパフォーマンス・レベルを前記取得するステップは、
    前記LUNの前記パフォーマンス値範囲に従ってパフォーマンス・レベル・ラベルを前記LUNに添付すること、および前記LUNの前記パフォーマンス・レベルを識別するために前記パフォーマンス・レベル・ラベルを使用することを含む、請求項3または4に記載の方法。
  6. 前記パフォーマンス・レベル要求は選択レポート・フィールドをさらに備え、前記選択レポート・フィールドは、前記ストレージ・デバイス内のすべてのLUNのパフォーマンス・レベルに関する情報にクエリが行なわれる必要があるか、または前記ストレージ・デバイス内の固有のLUNのパフォーマンス・レベルに関する情報にクエリが行なわれる必要があるかどうかを指示し、
    前記パフォーマンス・レベル要求が、前記ストレージ・デバイス内のすべてのLUNのパフォーマンス・レベルに関する情報にクエリを行なうために使用される場合、前記選択レポート・フィールドは00であり、
    前記パフォーマンス・レベル要求が、前記ストレージ・デバイス内の固有のLUNのパフォーマンス・レベルに関する情報にクエリを行なうために使用される場合、前記選択レポート・フィールドは01である、請求項2ないし5のいずれか一項に記載の方法。
  7. ストレージ・デバイスにパフォーマンス・レベル要求を送信するように構成された送信モジュールであって、前記パフォーマンス・レベル要求は前記ストレージ・デバイス内の1つまたは複数の論理装置番号(LUN)のパフォーマンス・レベルに関する情報にクエリを行なうために使用される、送信モジュールと、
    前記パフォーマンス・レベル要求に応答して前記ストレージ・デバイスによって送信される応答を受信するように構成された受信モジュールであって、前記応答は前記LUNのパフォーマンス・レベルに関する前記情報を含む、受信モジュールと、
    前記LUNのパフォーマンス・レベルに関する前記情報に従って前記LUNのパフォーマンス・レベルを取得し、
    ホストから、格納されるべきデータおよび前記データが書き込まれるべきアドレスを含むデータ書き込み命令を受信し、前記データが書き込まれるべき前記アドレスは、前記ホストに可視であるストレージ・スペース管理デバイス内の前記LUNのアドレスであり、
    格納されるべき前記データのアクセス頻度レベルを取得するために、前記アドレスのアクセス頻度レベルが事前設定されたホットデータしきい値よりも高い、または事前設定されたコールドデータしきい値よりも低いかどうかを判定し、
    格納されるべき前記データのアクセス頻度レベルと前記LUNの前記パフォーマンス・レベルとの間のマッピングに従って、前記ストレージ・デバイス内の前記LUNから対応するパフォーマンス・レベルのLUNを選択し、
    格納されるべき前記データを前記選択されたLUNへ書き込む、ように構成された取得モジュールと、を備える、ストレージ・スペース管理デバイス。
  8. 前記パフォーマンス・レベル要求はワールド・ワイド・ネーム(WWN)フィールドを含み、前記WWNフィールドは前記LUNを識別するために使用され、
    前記パフォーマンス・レベル要求に応答して送信される前記応答は、論理装置番号リスト(LUN List)フィールドを含み、それにより、前記LUNのパフォーマンス・レベルに関する前記情報が前記LUN Listフィールドで搬送される、請求項に記載のデバイス。
  9. 前記ストレージ・デバイス内のすべてのLUNのパフォーマンス・レベルに関する情報にクエリを行なうために、前記パフォーマンス・レベル要求の前記WWNフィールドに含まれる値は0であり、
    前記パフォーマンス・レベル要求に応答して送信される前記応答内の前記LUN Listフィールドは、前記ストレージ・デバイス内の各LUNのWWNおよび各LUNのパフォーマンス・レベルに関する情報を含み、各LUNのパフォーマンス・レベルに関する前記情報は前記LUNのパフォーマンス値範囲を含む、請求項に記載のデバイス。
  10. 前記パフォーマンス・レベル要求の前記WWNフィールドは、前記ストレージ・デバイス内の少なくとも1つのLUNのパフォーマンス・レベルに関する情報にクエリを行なうために、前記LUNのWWNであり、
    前記パフォーマンス・レベル要求に応答して送信される前記応答内の前記LUN Listフィールドは、各LUNのWWNおよび各LUNのパフォーマンス・レベルに関する情報を含み、各LUNのパフォーマンス・レベルに関する前記情報は前記LUNのパフォーマンス値範囲を含む、請求項に記載のデバイス。
JP2015549925A 2012-12-28 2012-12-28 データ・ストレージ方法およびストレージ・デバイス Active JP6138275B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2012/087857 WO2014101117A1 (zh) 2012-12-28 2012-12-28 数据存储方法和存储设备

Publications (2)

Publication Number Publication Date
JP2016506578A JP2016506578A (ja) 2016-03-03
JP6138275B2 true JP6138275B2 (ja) 2017-05-31

Family

ID=48928426

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015549925A Active JP6138275B2 (ja) 2012-12-28 2012-12-28 データ・ストレージ方法およびストレージ・デバイス

Country Status (7)

Country Link
US (1) US8838892B2 (ja)
EP (1) EP2767880A4 (ja)
JP (1) JP6138275B2 (ja)
CN (1) CN103250143B (ja)
AU (1) AU2012398220B2 (ja)
CA (1) CA2893286C (ja)
WO (1) WO2014101117A1 (ja)

Families Citing this family (107)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8589640B2 (en) 2011-10-14 2013-11-19 Pure Storage, Inc. Method for maintaining multiple fingerprint tables in a deduplicating storage system
CN103530388A (zh) * 2013-10-22 2014-01-22 浪潮电子信息产业股份有限公司 一种云存储系统中提升性能的数据处理方法
CN104598409B (zh) * 2013-10-31 2017-09-19 华为技术有限公司 一种处理输入输出请求的方法及设备
CN103685517A (zh) * 2013-12-13 2014-03-26 浪潮(北京)电子信息产业有限公司 一种基于业务类别特征的存储分级调度方法及系统
JP2015158711A (ja) * 2014-02-21 2015-09-03 富士通株式会社 ストレージ制御装置、仮想ストレージ装置、ストレージ制御方法、及びストレージ制御プログラム
US10592109B2 (en) * 2014-02-26 2020-03-17 Pure Storage, Inc. Selecting storage resources in a dispersed storage network
US9836234B2 (en) 2014-06-04 2017-12-05 Pure Storage, Inc. Storage cluster
US9003144B1 (en) 2014-06-04 2015-04-07 Pure Storage, Inc. Mechanism for persisting messages in a storage system
US11652884B2 (en) 2014-06-04 2023-05-16 Pure Storage, Inc. Customized hash algorithms
US9218244B1 (en) 2014-06-04 2015-12-22 Pure Storage, Inc. Rebuilding data across storage nodes
US10574754B1 (en) 2014-06-04 2020-02-25 Pure Storage, Inc. Multi-chassis array with multi-level load balancing
US9367243B1 (en) 2014-06-04 2016-06-14 Pure Storage, Inc. Scalable non-uniform storage sizes
US11068363B1 (en) 2014-06-04 2021-07-20 Pure Storage, Inc. Proactively rebuilding data in a storage cluster
US11960371B2 (en) 2014-06-04 2024-04-16 Pure Storage, Inc. Message persistence in a zoned system
CN104077081B (zh) * 2014-06-28 2017-04-26 华为技术有限公司 一种存储方法及装置
US11604598B2 (en) 2014-07-02 2023-03-14 Pure Storage, Inc. Storage cluster with zoned drives
US9021297B1 (en) 2014-07-02 2015-04-28 Pure Storage, Inc. Redundant, fault-tolerant, distributed remote procedure call cache in a storage system
US11886308B2 (en) 2014-07-02 2024-01-30 Pure Storage, Inc. Dual class of service for unified file and object messaging
US8868825B1 (en) 2014-07-02 2014-10-21 Pure Storage, Inc. Nonrepeating identifiers in an address space of a non-volatile solid-state storage
US9836245B2 (en) 2014-07-02 2017-12-05 Pure Storage, Inc. Non-volatile RAM and flash memory in a non-volatile solid-state storage
US9811677B2 (en) 2014-07-03 2017-11-07 Pure Storage, Inc. Secure data replication in a storage grid
US9747229B1 (en) 2014-07-03 2017-08-29 Pure Storage, Inc. Self-describing data format for DMA in a non-volatile solid-state storage
US10853311B1 (en) 2014-07-03 2020-12-01 Pure Storage, Inc. Administration through files in a storage system
US10983859B2 (en) 2014-08-07 2021-04-20 Pure Storage, Inc. Adjustable error correction based on memory health in a storage unit
US9483346B2 (en) 2014-08-07 2016-11-01 Pure Storage, Inc. Data rebuild on feedback from a queue in a non-volatile solid-state storage
US9082512B1 (en) 2014-08-07 2015-07-14 Pure Storage, Inc. Die-level monitoring in a storage cluster
US9495255B2 (en) 2014-08-07 2016-11-15 Pure Storage, Inc. Error recovery in a storage cluster
US10079711B1 (en) 2014-08-20 2018-09-18 Pure Storage, Inc. Virtual file server with preserved MAC address
US10095425B1 (en) * 2014-12-30 2018-10-09 EMC IP Holding Company LLC Techniques for storing data
CN105988724B (zh) * 2015-02-12 2019-02-26 华为技术有限公司 多副本写入存储设备的方法及存储设备
US9940234B2 (en) 2015-03-26 2018-04-10 Pure Storage, Inc. Aggressive data deduplication using lazy garbage collection
US10178169B2 (en) 2015-04-09 2019-01-08 Pure Storage, Inc. Point to point based backend communication layer for storage processing
US9672125B2 (en) 2015-04-10 2017-06-06 Pure Storage, Inc. Ability to partition an array into two or more logical arrays with independently running software
US10846275B2 (en) 2015-06-26 2020-11-24 Pure Storage, Inc. Key management in a storage device
US10983732B2 (en) 2015-07-13 2021-04-20 Pure Storage, Inc. Method and system for accessing a file
US10108355B2 (en) 2015-09-01 2018-10-23 Pure Storage, Inc. Erase block state detection
US11341136B2 (en) 2015-09-04 2022-05-24 Pure Storage, Inc. Dynamically resizable structures for approximate membership queries
CN110727399B (zh) * 2015-09-18 2021-09-03 华为技术有限公司 存储阵列管理方法及装置
US9768953B2 (en) 2015-09-30 2017-09-19 Pure Storage, Inc. Resharing of a split secret
US10762069B2 (en) 2015-09-30 2020-09-01 Pure Storage, Inc. Mechanism for a system where data and metadata are located closely together
US10102138B2 (en) 2015-10-22 2018-10-16 Western Digital Technologies, Inc. Division of data storage in single-storage device architecture
US9843453B2 (en) 2015-10-23 2017-12-12 Pure Storage, Inc. Authorizing I/O commands with I/O tokens
US10007457B2 (en) 2015-12-22 2018-06-26 Pure Storage, Inc. Distributed transactions with token-associated execution
JP6708948B2 (ja) * 2016-01-21 2020-06-10 日本電気株式会社 ブロックストレージ
US10353585B2 (en) * 2016-02-15 2019-07-16 Netapp, Inc. Methods for managing array LUNs in a storage network with a multi-path configuration and devices thereof
US10261690B1 (en) 2016-05-03 2019-04-16 Pure Storage, Inc. Systems and methods for operating a storage system
CN106095333B (zh) * 2016-06-02 2023-09-26 腾讯科技(深圳)有限公司 一种数据存储系统、数据存储方法及数据存储中心
US11861188B2 (en) 2016-07-19 2024-01-02 Pure Storage, Inc. System having modular accelerators
US10768819B2 (en) 2016-07-22 2020-09-08 Pure Storage, Inc. Hardware support for non-disruptive upgrades
US9672905B1 (en) 2016-07-22 2017-06-06 Pure Storage, Inc. Optimize data protection layouts based on distributed flash wear leveling
US11604690B2 (en) 2016-07-24 2023-03-14 Pure Storage, Inc. Online failure span determination
US10366004B2 (en) 2016-07-26 2019-07-30 Pure Storage, Inc. Storage system with elective garbage collection to reduce flash contention
US11886334B2 (en) 2016-07-26 2024-01-30 Pure Storage, Inc. Optimizing spool and memory space management
US11797212B2 (en) 2016-07-26 2023-10-24 Pure Storage, Inc. Data migration for zoned drives
US11734169B2 (en) 2016-07-26 2023-08-22 Pure Storage, Inc. Optimizing spool and memory space management
US10203903B2 (en) 2016-07-26 2019-02-12 Pure Storage, Inc. Geometry based, space aware shelf/writegroup evacuation
WO2018024214A1 (zh) * 2016-08-04 2018-02-08 北京忆恒创源科技有限公司 Io流调节方法与装置
CN107688435B (zh) * 2016-08-04 2022-06-03 北京忆恒创源科技股份有限公司 Io流调节方法与装置
US11422719B2 (en) 2016-09-15 2022-08-23 Pure Storage, Inc. Distributed file deletion and truncation
US9747039B1 (en) 2016-10-04 2017-08-29 Pure Storage, Inc. Reservations over multiple paths on NVMe over fabrics
US11550481B2 (en) 2016-12-19 2023-01-10 Pure Storage, Inc. Efficiently writing data in a zoned drive storage system
US11307998B2 (en) 2017-01-09 2022-04-19 Pure Storage, Inc. Storage efficiency of encrypted host system data
US11955187B2 (en) 2017-01-13 2024-04-09 Pure Storage, Inc. Refresh of differing capacity NAND
US9747158B1 (en) 2017-01-13 2017-08-29 Pure Storage, Inc. Intelligent refresh of 3D NAND
US10521143B2 (en) 2017-03-23 2019-12-31 Netapp Inc. Composite aggregate architecture
US10528488B1 (en) 2017-03-30 2020-01-07 Pure Storage, Inc. Efficient name coding
US11016667B1 (en) 2017-04-05 2021-05-25 Pure Storage, Inc. Efficient mapping for LUNs in storage memory with holes in address space
US10141050B1 (en) 2017-04-27 2018-11-27 Pure Storage, Inc. Page writes for triple level cell flash memory
US10516645B1 (en) 2017-04-27 2019-12-24 Pure Storage, Inc. Address resolution broadcasting in a networked device
CN107220185A (zh) * 2017-05-23 2017-09-29 建荣半导体(深圳)有限公司 基于闪存的数据存储方法、装置以及闪存芯片
CN108932105A (zh) * 2017-05-25 2018-12-04 中兴通讯股份有限公司 一种存储网关分级存储的配置方法及系统
US11782625B2 (en) 2017-06-11 2023-10-10 Pure Storage, Inc. Heterogeneity supportive resiliency groups
CN107239412B (zh) * 2017-06-19 2020-07-07 杭州宏杉科技股份有限公司 基于Thin-LUN的存储空间配置方法、数据写入方法及存储设备
US10425473B1 (en) 2017-07-03 2019-09-24 Pure Storage, Inc. Stateful connection reset in a storage cluster with a stateless load balancer
US10402266B1 (en) 2017-07-31 2019-09-03 Pure Storage, Inc. Redundant array of independent disks in a direct-mapped flash storage system
US10545687B1 (en) 2017-10-31 2020-01-28 Pure Storage, Inc. Data rebuild when changing erase block sizes during drive replacement
US10496330B1 (en) 2017-10-31 2019-12-03 Pure Storage, Inc. Using flash storage devices with different sized erase blocks
US10860475B1 (en) 2017-11-17 2020-12-08 Pure Storage, Inc. Hybrid flash translation layer
TWI674505B (zh) * 2017-11-30 2019-10-11 宜鼎國際股份有限公司 資料存取效率的預估方法
CN108196791A (zh) * 2017-12-29 2018-06-22 北京奇虎科技有限公司 基于多个存储设备的数据访问方法及装置
US10976948B1 (en) 2018-01-31 2021-04-13 Pure Storage, Inc. Cluster expansion mechanism
US11036596B1 (en) 2018-02-18 2021-06-15 Pure Storage, Inc. System for delaying acknowledgements on open NAND locations until durability has been confirmed
US11385792B2 (en) 2018-04-27 2022-07-12 Pure Storage, Inc. High availability controller pair transitioning
CN108984117B (zh) * 2018-06-15 2021-11-19 深圳市华傲数据技术有限公司 一种数据读写方法、介质及设备
US11354058B2 (en) 2018-09-06 2022-06-07 Pure Storage, Inc. Local relocation of data stored at a storage device of a storage system
US11500570B2 (en) 2018-09-06 2022-11-15 Pure Storage, Inc. Efficient relocation of data utilizing different programming modes
US11868309B2 (en) 2018-09-06 2024-01-09 Pure Storage, Inc. Queue management for data relocation
US10871907B2 (en) * 2018-12-31 2020-12-22 Micron Technology, Inc. Sequential data optimized sub-regions in storage devices
US11099986B2 (en) 2019-04-12 2021-08-24 Pure Storage, Inc. Efficient transfer of memory contents
US11281394B2 (en) 2019-06-24 2022-03-22 Pure Storage, Inc. Replication across partitioning schemes in a distributed storage system
US11093139B1 (en) * 2019-07-18 2021-08-17 Pure Storage, Inc. Durably storing data within a virtual storage system
CN112311743A (zh) * 2019-07-31 2021-02-02 中兴通讯股份有限公司 一种存储设备间通信方法、装置、存储介质及存储设备
US11893126B2 (en) 2019-10-14 2024-02-06 Pure Storage, Inc. Data deletion for a multi-tenant environment
CN112783423A (zh) * 2019-11-08 2021-05-11 阿里巴巴集团控股有限公司 数据对象的存放方法、装置、电子设备及计算机可读介质
JP7391104B2 (ja) * 2019-11-20 2023-12-04 京セラ株式会社 データ蓄積システムおよびデータ蓄積方法
US11847331B2 (en) 2019-12-12 2023-12-19 Pure Storage, Inc. Budgeting open blocks of a storage unit based on power loss prevention
US11416144B2 (en) 2019-12-12 2022-08-16 Pure Storage, Inc. Dynamic use of segment or zone power loss protection in a flash device
US11704192B2 (en) 2019-12-12 2023-07-18 Pure Storage, Inc. Budgeting open blocks based on power loss protection
US11188432B2 (en) 2020-02-28 2021-11-30 Pure Storage, Inc. Data resiliency by partially deallocating data blocks of a storage device
US11474986B2 (en) 2020-04-24 2022-10-18 Pure Storage, Inc. Utilizing machine learning to streamline telemetry processing of storage media
CN112214168B (zh) * 2020-09-27 2022-10-11 湖南智存合壹信息科技有限公司 设定固态硬盘冷热数据的方法及数据存储系统
TWI790512B (zh) * 2020-12-15 2023-01-21 宏碁股份有限公司 儲存控制方法與儲存系統
US11487455B2 (en) 2020-12-17 2022-11-01 Pure Storage, Inc. Dynamic block allocation to optimize storage system performance
US11847324B2 (en) 2020-12-31 2023-12-19 Pure Storage, Inc. Optimizing resiliency groups for data regions of a storage system
US11614880B2 (en) 2020-12-31 2023-03-28 Pure Storage, Inc. Storage system with selectable write paths
US11507597B2 (en) 2021-03-31 2022-11-22 Pure Storage, Inc. Data replication to meet a recovery point objective
CN113721854A (zh) * 2021-08-31 2021-11-30 中国建设银行股份有限公司 数据存储方法及装置

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004070403A (ja) * 2002-08-01 2004-03-04 Hitachi Ltd ファイル格納先ボリューム制御方法
JP2006309483A (ja) * 2005-04-28 2006-11-09 Hitachi Ltd ストレージ装置及びストレージシステム
JP2007004710A (ja) * 2005-06-27 2007-01-11 Nec Corp ストレージアクセス方式、データ転送装置、ストレージアクセス方法、及びプログラム
GB0514529D0 (en) * 2005-07-15 2005-08-24 Ibm Virtualisation engine and method, system, and computer program product for managing the storage of data
JP4949791B2 (ja) * 2006-09-29 2012-06-13 株式会社日立製作所 ボリューム選択方法及び情報処理システム
KR100874702B1 (ko) * 2006-10-02 2008-12-18 삼성전자주식회사 플래시 메모리 파일 시스템을 효율적으로 관리하기 위한장치 드라이버 및 방법
US8914340B2 (en) * 2008-02-06 2014-12-16 International Business Machines Corporation Apparatus, system, and method for relocating storage pool hot spots
CN101458613B (zh) * 2008-12-31 2011-04-20 成都市华为赛门铁克科技有限公司 一种混合分级阵列的实现方法、混合分级阵列和存储系统
CN101510145B (zh) * 2009-03-27 2010-08-25 杭州华三通信技术有限公司 一种存储系统管理方法和装置
US8380942B1 (en) * 2009-05-29 2013-02-19 Amazon Technologies, Inc. Managing data storage
CN101645837B (zh) * 2009-09-04 2012-09-05 成都市华为赛门铁克科技有限公司 实现负载均衡的方法和装置
JP5079841B2 (ja) * 2010-04-15 2012-11-21 株式会社日立製作所 ThinProvisioningに従う仮想的な論理ボリュームに対するデータのライトを制御する方法及びストレージ装置
CN102147770B (zh) * 2011-03-28 2013-03-13 杭州电子科技大学 一种存储资源管理系统及方法
CN102541470B (zh) * 2011-12-21 2014-10-08 华为数字技术(成都)有限公司 数据对象的处理方法及装置
CN102609360B (zh) * 2012-01-12 2015-03-25 华为技术有限公司 一种数据处理方法、装置及系统

Also Published As

Publication number Publication date
CA2893286C (en) 2018-02-27
US8838892B2 (en) 2014-09-16
AU2012398220A1 (en) 2015-06-11
EP2767880A1 (en) 2014-08-20
AU2012398220B2 (en) 2017-01-05
CN103250143B (zh) 2015-03-11
EP2767880A4 (en) 2014-12-31
CA2893286A1 (en) 2014-07-03
CN103250143A (zh) 2013-08-14
US20140189236A1 (en) 2014-07-03
WO2014101117A1 (zh) 2014-07-03
JP2016506578A (ja) 2016-03-03

Similar Documents

Publication Publication Date Title
JP6138275B2 (ja) データ・ストレージ方法およびストレージ・デバイス
US8533419B2 (en) Method for controlling data write to virtual logical volume conforming to thin provisioning, and storage apparatus
US8307186B2 (en) Computer system performing capacity virtualization based on thin provisioning technology in both storage system and server computer
US9003414B2 (en) Storage management computer and method for avoiding conflict by adjusting the task starting time and switching the order of task execution
US8046537B2 (en) Virtualization engine and method, system, and computer program product for managing the storage of data
CN110612511B (zh) 使用流选择性地向分配区域中存储数据
KR100615794B1 (ko) 소형 컴퓨터 시스템 인터페이스 타입 메모리 장치의 에뮬레이트 방법, 컴퓨터 시스템 및 컴퓨터 독출 가능 저장 매체
US8880804B2 (en) Storage apparatus and data management method
JP2005250938A (ja) 記憶制御システム及び方法
JP2008033911A (ja) 記憶ボリューム間でデータを移行する方法および装置
US10788999B2 (en) Information system, management program, and program exchange method of information system
US20140325146A1 (en) Creating and managing logical volumes from unused space in raid disk groups
CN115657961B (zh) Raid磁盘阵列管理方法、系统、电子设备及存储介质
US8566554B2 (en) Storage apparatus to which thin provisioning is applied and including logical volumes divided into real or virtual areas
US9098212B2 (en) Computer system with storage apparatuses including physical and virtual logical storage areas and control method of the computer system
US20150143041A1 (en) Storage control apparatus and control method
US8291404B1 (en) Updating system status
EP2378409A2 (en) Method for controlling data write to virtual logical volume conforming to thin provisioning, and storage apparatus
CN116243860A (zh) 一种存储持久卷创建方法、计算设备及计算机集群
JP2006079193A (ja) ストレージ装置システム
CN115826874A (zh) 一种虚拟raid卡的实现方法、装置及组件

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160727

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160802

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20161027

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20170209

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170425

R150 Certificate of patent or registration of utility model

Ref document number: 6138275

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250