JP2014132457A - Method for reconfiguring storage system, variable structure storage system and variable structure storage device thereof, and executable software product and host - Google Patents

Method for reconfiguring storage system, variable structure storage system and variable structure storage device thereof, and executable software product and host Download PDF

Info

Publication number
JP2014132457A
JP2014132457A JP2013272626A JP2013272626A JP2014132457A JP 2014132457 A JP2014132457 A JP 2014132457A JP 2013272626 A JP2013272626 A JP 2013272626A JP 2013272626 A JP2013272626 A JP 2013272626A JP 2014132457 A JP2014132457 A JP 2014132457A
Authority
JP
Japan
Prior art keywords
storage device
variable structure
storage
host
storage system
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
JP2013272626A
Other languages
Japanese (ja)
Other versions
JP6694665B2 (en
Inventor
Yang Seok Ki
亮 ソク 奇
Seongnam Kwon
成 南 権
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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co 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
Priority claimed from US13/733,309 external-priority patent/US20130185482A1/en
Priority claimed from US13/936,992 external-priority patent/US9239786B2/en
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of JP2014132457A publication Critical patent/JP2014132457A/en
Application granted granted Critical
Publication of JP6694665B2 publication Critical patent/JP6694665B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0646Configuration or reconfiguration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation

Abstract

PROBLEM TO BE SOLVED: To provide a reconfiguring process which eliminates the need for correcting a configuration software with a host, in order to configure different storage devices in each of user requests.SOLUTION: A method for reconfiguring a storage system which reconfigures a storage system executed by at least one software element executed by at least one processor includes the steps of: receiving user request information for a storage device, and automatically generating characteristic setting of the storage device and a device profile of the storage device, from the user request information; and using the characteristic setting in order to automatically reconfigure the storage device to one or a plurality of logic devices having independent operational characteristics.

Description

本発明は、ストレージシステムに関するものであり、特にユーザの要求ごとに異なるストレージデバイスを構成するために、ホストで構成ソフトウェアを修正する必要の無い再構成工程を提供することのできるストレージシステムを再構成するための方法、及びその可変構造型ストレージシステムと可変構造型ストレージデバイス並びに実行可能なソフトウェア製品及びホストに関する。 The present invention relates to a storage system, and in particular to reconfigure a storage system that can provide a reconfiguration step that does not require modification of configuration software on a host in order to configure different storage devices for each user request. And a variable structure storage system, a variable structure storage device, an executable software product, and a host.

現代のストレージシステムは、一般的に受動的で、その動作特性が製造段階で決められる複数のスタンドアローンストレージデバイスを含む。ソフトウェア(ファームウェア)を実行するプロセッサ(例えば、RAIDコントローラ)は、スマートではないストレージデバイスがユニットとして動作できるようにする知能を付与することが必要である。ソリッドステートドライブ(SSD)のようなストレージデバイスは、ソフトウェア又はファームウェアを通じて制御可能であるので、ユーザ環境によるSSDの動作特性を制御するために努力が払われてきた。   Modern storage systems are generally passive and include a plurality of stand-alone storage devices whose operating characteristics are determined at the manufacturing stage. A processor (e.g., RAID controller) that executes software (firmware) needs to be given intelligence to allow non-smart storage devices to operate as a unit. Since storage devices such as solid state drives (SSDs) can be controlled through software or firmware, efforts have been made to control the operating characteristics of SSDs in a user environment.

ユーザ認証テストを満たすための従来のアプローチ手法は、生産者が、各々の顧客に合わせたストレージデバイスにカスタマイズするために、最後にエンジニアリング(last minute engineering)工程を提供する必要がある。ストレージデバイスの特性は、幅広く様々な種類からなるので、顧客は通常、ストレージデバイスの新しいモデルが採用されるたびに、自分のソフトウェアシステムを再調整することを所望する。
しかし、1つのストレージデバイスのための前提は、他のデバイスに有効とは限らない。その結果、生産者のエンジニアリング費用はストレージデバイスや顧客の要求仕様と共に増加するので、従来のカスタマイズによるアプローチ手法は、部分的に持続可能な手法とは言えない。
The conventional approach to satisfy the user authentication test needs to provide a last minute engineering process for the producer to customize to the storage device tailored to each customer. Because storage device characteristics are of a wide variety of types, customers typically desire to retune their software system each time a new model of storage device is adopted.
However, the premise for one storage device is not always valid for other devices. As a result, producers' engineering costs increase with storage devices and customer requirements, so traditional customization approaches are not partially sustainable.

したがって、顧客に代わって、ストレージシステムを簡単に再構成(reconfiguration)することができるシステムが重要である。例えば、サムスンマジシャン(登録商標)のようなソリッドステートディスク(SSD)最適化ソフトウェアは、顧客のシステム用にSSDの特性を調整する。しかし、顧客の最適化オプションは非常に限られており、最適化メトリック(metric)は、ユーザ指向的ではなく、デバイス指向的であり、そして、最適化は、制御又は定量化することができない。さらに、ストレージデバイスの特徴は、磨耗(wearing)及び疲労(fatigue)のようなストレージ媒体の劣化によって時間とともに特性劣化を起こし得ることである。これは、顧客の初期の前提を逸脱する可能性があり、顧客で誤作動が発生するまで、容易に検出することができない。   Therefore, a system that can easily reconfigure a storage system on behalf of a customer is important. For example, solid state disk (SSD) optimization software, such as Samsung Magician®, adjusts SSD characteristics for customer systems. However, customer optimization options are very limited, optimization metrics are device-oriented, not user-oriented, and optimization cannot be controlled or quantified. Furthermore, a feature of storage devices is that they can degrade characteristics over time due to storage media degradation such as wear and fatigue. This can deviate from the customer's initial assumptions and cannot be easily detected until a malfunction occurs at the customer.

可変構造型ストレージデバイスプロセスの他の形態は、顧客がストレージデバイスの環境を設定するための個々の特性を選択できるように許容する手法である。このアプローチ手法では、顧客のシステムを新しいストレージデバイスで調整する代わりに、可変構造型ストレージデバイスにより、顧客は顧客のシステムに合うようにストレージデバイスを調整することができ、メンテナンスとアップグレード工程を単純化することができる。
可変構造型ストレージデバイスが動作の最適化において、より柔軟性を提供し、顧客のカスタマイズを許容することができるとしても、いくつかの課題が残っている。
第1の課題は、再調整工程(recalibration process)が、ストレージデバイスのカスタマイズのための特性数の増大に伴い指数関数的に増加する結合型問題(combinatoryproblem)を引き起こすことである。言い換えれば、現在のアプローチ手法は、特性の選択のための体系的な構成を提供しない。例えば、もし顧客が三つの特性値を変化させた場合、顧客は特性の組み合わせが、ストレージデバイスの動作にどのような影響を与えるかを判断するのが困難な場合がある。
Another form of variable structure storage device process is an approach that allows the customer to select individual characteristics for setting the environment of the storage device. With this approach, instead of adjusting the customer's system with a new storage device, the variable structure storage device allows the customer to adjust the storage device to fit the customer's system, simplifying the maintenance and upgrade process can do.
Even though a variable structure storage device provides more flexibility in optimizing operation and allows customer customization, some challenges remain.
The first problem is that the recalibration process causes a combinatorial problem that increases exponentially as the number of characteristics for storage device customization increases. In other words, current approach approaches do not provide a systematic configuration for property selection. For example, if a customer changes three characteristic values, it may be difficult for the customer to determine how the combination of characteristics affects the operation of the storage device.

関連する課題は、顧客による特性の選択が、顧客が手動で特性を選択するソフトウェアユーザインターフェースを通じて行われるということである。体系的な構成方法や動作のガイドラインの結果がない状態での特性の手動選択は、基本的に試行錯誤の工程となる。
最後に、一般的な再構成工程は、ストレージメディアの性能の低下に起因するストレージデバイスの経時劣化効果を説明できない。そのような変化は、特定のユーザ環境のための特性の元の選択を意味のないものに変えてしまう可能性を有する。
A related challenge is that the selection of characteristics by the customer is done through a software user interface where the customer manually selects the characteristics. Manual selection of characteristics in the absence of systematic configuration and operational guidelines results is basically a trial and error process.
Finally, the general reconfiguration process cannot explain the storage device's aging effect due to the degradation of storage media performance. Such a change has the potential to change the original selection of characteristics for a particular user environment into meaningless ones.

したがって、アプリケーションによって求められるストレージリソースがソフトウェアによって定義されて自動的に提供されるソフトウェア−定義ストレージ(software−defined storage;SDS)のトレンドは、より柔軟で改良された再構成可能なストレージ工程を必要とするという問題がある。   Therefore, the trend of software-defined storage (SDS), where storage resources required by applications are automatically defined and provided by software, requires a more flexible and improved reconfigurable storage process There is a problem that.

米国特許第6,487,562号明細書US Pat. No. 6,487,562 米国特許第7,568,037号明細書US Pat. No. 7,568,037 米国特許第8,112,582号明細書US Pat. No. 8,112,582

本発明は上記従来のストレージシステムにおける問題点に鑑みてなされたものであって、本発明の目的は、ユーザの要求ごとに異なるストレージデバイスを構成するために、ホストで構成ソフトウェアを修正する必要の無い再構成工程を提供することにある。   The present invention has been made in view of the above problems in the conventional storage system, and the object of the present invention is to modify the configuration software on the host in order to configure different storage devices for each user request. It is to provide a reconstruction process that does not exist.

上記目的を達成するためになされた本発明によるストレージシステムを再構成するための方法は、少なくとも一つのプロセッサで実行する少なくとも一つのソフトウェア要素によって実行されるストレージシステムを再構成するための方法において、ストレージデバイスのためのユーザ要求情報を受信し、前記ユーザ要求情報から前記ストレージデバイスの特性セッティング及び、前記ストレージデバイスのデバイスプロファイルを自動に生成する段階と、前記ストレージデバイスを、独立した動作の特性を有する1つ又は複数の論理デバイスに自動に再構成するために、前記特性セッティングを使用する段階とを有することを特徴とする。   A method for reconfiguring a storage system according to the present invention made to achieve the above object comprises: a method for reconfiguring a storage system executed by at least one software element executing on at least one processor; Receiving user request information for the storage device, automatically generating a characteristic setting of the storage device and a device profile of the storage device from the user request information, and independent characteristics of the storage device. Using the property settings to automatically reconfigure one or more logical devices.

上記目的を達成するためになされた本発明による可変構造型ストレージシステムは、ホストから、ストレージデバイスのためのユーザ要求情報を受信し、前記ストレージデバイスのための前記ユーザ要求情報及びデバイスプロファイルから前記ストレージデバイスのための特性セッティングを自動に生成する構成変形要素と、前記ストレージデバイスにおいて、前記ホストから前記特性セッティングを受信し、前記ストレージデバイスを、独立した動作特性を有する1つ又は複数の論理デバイスに自動に再構成するために、前記特性セッティングを使用する構成要素とを含むことを特徴とする。   The variable structure storage system according to the present invention made to achieve the above object receives user request information for a storage device from a host, and stores the storage from the user request information and device profile for the storage device. A component that automatically generates a characteristic setting for the device; and in the storage device, the characteristic setting is received from the host, and the storage device is turned into one or more logical devices having independent operating characteristics. And a component that uses the property setting for automatic reconfiguration.

上記目的を達成するためになされた本発明による可変構造型ストレージデバイスは、メインストレージと、前記メインストレージに接続するプロセッサと、前記プロセッサにより実行されるソフトウェア要素とを含む可変構造型ストレージデバイスであって、前記プロセッサは、特性セッティングを含む少なくとも一つの構成コマンドを含むプランを受信し、デバイスプロファイルに基づいた前記プランにある前記特性セッティングの利用可能性及び適用可能性を判断し、前記プランが有効でない場合、前記プランを拒絶し、前記プランによって作られた如何なる変化をもロールバックさせ、前記特性セッティングの利用可能性及び適用可能性のすべてが真の場合に、前記プランを認証し、前記プランを実行し、前記デバイスプロファイルを更新し、前記実行されたプランをストレージ空間に関連させることによって、可変構造型ストレージデバイスに一つ又は複数の論理デバイスを生成するように構成されることを特徴とする。   A variable structure storage device according to the present invention made to achieve the above object is a variable structure storage device including a main storage, a processor connected to the main storage, and a software element executed by the processor. The processor receives a plan including at least one configuration command including a characteristic setting, determines availability and applicability of the characteristic setting in the plan based on a device profile, and the plan is valid. If not, reject the plan, roll back any changes made by the plan, authenticate the plan if all of the availability and applicability of the property settings are true, and Run the device profile New, by associating the executed plan storage space, characterized in that it is configured to generate one or more logical devices to the variable structure type storage device.

上記目的を達成するためになされた本発明による実行可能なソフトウェア製品は、ストレージシステムを再構成するためのプログラム命令を含むコンピュータ読み取り可能ストレージ媒体に格納された実行可能なソフトウェア製品において、前記プログラム命令は、前記ストレージデバイスのためのユーザ要求情報を受信し、前記ユーザ要求情報から前記ストレージデバイスのための特性セッティング及び、前記ストレージデバイスのためのデバイスプロファイルを自動に生成することと、前記ストレージデバイスを、独立した動作の特性を有する1つ又は複数の論理デバイスに自動に再構成するために、前記特性セッティングを使用することとを特徴とする。   An executable software product according to the present invention made to achieve the above object is an executable software product stored in a computer readable storage medium including program instructions for reconfiguring a storage system, wherein the program instructions Receiving user request information for the storage device, automatically generating a characteristic setting for the storage device and a device profile for the storage device from the user request information; and Using the characteristic settings to automatically reconfigure one or more logical devices having independent operating characteristics.

上記目的を達成するためになされた本発明によるホストは、メモリと、前記メモリに接続するプロセッサと、サービスレベルアグリーメント(SLA)のスペックを含むユーザ要求を受信し、デバイスプロファイルに基づいて前記SLAのスペックを特性セッティングに変換し、前記特性セッティングの最適の組み合わせを判断し、前記最適の組み合わせからの構成コマンドを含む複数のプランを生成し、ストレージデバイス及び前記ユーザ要求の性能及び状態を考慮する前記プランのうちの一つを選択するように構成されるプロセッサにより実行される第1ソフトウェア要素と、前記選択されたプランを受信し、構成チャネルを経て前記プランを可変構造型ストレージに伝送し、前記ストレージデバイスから応答を受信し、前記ストレージデバイスからの否定応答の場合に、前記プランを繰り返すように構成される前記プロセッサにより実行される第2ソフトウェア要素と、前記デバイスプロファイルを収集し、前記デバイスプロファイルを構成プランナに伝送し、前記ストレージデバイスで生成された一つ、又は複数の論理デバイスを監視し、前記すべてのユーザ要求が満足されるか否かを判断し、そしてSLA違反の場合に、前記デバイスプロファイルに基づいて前記プランを調整するために、前記構成プランナを通知するように構成される前記プロセッサにより実行される第3ソフトウェア要素とを含み、前記ストレージデバイスを再構成することを特徴とする。
本明細書で説明する方法及びシステムに応じて、例示的な実施形態は、ユーザの要求ごとに異なるストレージデバイスを構成するために、ホストで構成ソフトウェアを修正する必要性を除去する再構成工程(reconfiguration process)を提供する。例示的な実施形態は一般的な方法とは対照的に、それは、ホストでの構成ソフトウェアは、他のストレージデバイスをカスタマイズするために修正される必要がある。さらに、例示的な実施形態は、ユーザ要求情報を特性セッティングに自動に転換させるので、ユーザは特性の組み合わせを手動で選択する必要性が、ストレージデバイスを再構成する時に消滅するようになる。
The host according to the present invention made to achieve the above object receives a user request including specifications of a memory, a processor connected to the memory, and a service level agreement (SLA), and based on a device profile, the host of the SLA Convert specifications to characteristic settings, determine an optimal combination of the characteristic settings, generate a plurality of plans including configuration commands from the optimal combination, and consider the performance and status of the storage device and the user request Receiving a first software element executed by a processor configured to select one of the plans, the selected plan, and transmitting the plan to a variable structure storage via a configuration channel; A response is received from the storage device and said storage A second software element executed by the processor configured to repeat the plan in the case of a negative response from a device, the device profile is collected, the device profile is transmitted to a configuration planner, and the storage device Monitor one or more logical devices generated in step 1, determine if all user requests are satisfied, and adjust the plan based on the device profile in case of SLA violation And a third software element executed by the processor configured to notify the configuration planner and reconfiguring the storage device.
Depending on the methods and systems described herein, an exemplary embodiment provides a reconfiguration step that eliminates the need to modify configuration software on the host to configure different storage devices for each user request ( A reconfiguration process is provided. In contrast to the general method, the exemplary embodiment requires that the configuration software at the host be modified to customize other storage devices. In addition, the exemplary embodiment automatically converts user request information into property settings so that the need for the user to manually select a combination of properties disappears when reconfiguring the storage device.

本発明に係るストレージシステムを再構成するための方法、及びその可変構造型ストレージシステムと可変構造型ストレージデバイス並びに実行可能なソフトウェア製品及びホストによれば、ユーザの要求ごとに異なるストレージデバイスを構成するために、ホストで構成ソフトウェアを修正する必要の無い再構成可能なストレージシステムを提供することにより、顧客の要求特性が特性セッティングに自動的に変換されるため、ストレージデバイスの構成時に顧客が手動で特性値の選択を行う必要がなくなるという効果をもたらすものである。   According to the method for reconfiguring a storage system according to the present invention, its variable structure storage system and variable structure storage device, and executable software product and host, different storage devices are configured for each user request. Therefore, by providing a reconfigurable storage system that does not require modification of the configuration software on the host, the customer's required characteristics are automatically converted into characteristic settings, so that the customer can manually This brings about an effect that it becomes unnecessary to select a characteristic value.

本発明の実施形態による可変構造型ストレージシステムを示すブロック図である。1 is a block diagram showing a variable structure storage system according to an embodiment of the present invention. FIG. (A)は本発明の実施形態によるストレージシステムを再構成することを説明するためのフローチャートであり、(B)は本発明の実施形態によるストレージシステムを再構成することを説明するためのフローチャートである。(A) is a flowchart for explaining the reconfiguration of the storage system according to the embodiment of the present invention, and (B) is a flowchart for explaining the reconfiguration of the storage system according to the embodiment of the present invention. is there. 本発明の実施形態による可変構造型ストレージデバイスを構成するための工程を詳細に説明するためのフローチャートである。3 is a flowchart for explaining in detail a process for configuring a variable structure storage device according to an embodiment of the present invention; 本発明の実施形態によるプランを生成する構成プランナによって実行される変換工程を示すフローチャートである。It is a flowchart which shows the conversion process performed by the structure planner which produces | generates the plan by embodiment of this invention. 本発明の実施形態による可変構造型ストレージデバイスで、構成要素の処理工程を説明するためのフローチャートである。6 is a flowchart for explaining a process of a component in the variable structure storage device according to the embodiment of the present invention. 本発明の実施形態による構成アドバイザーの実行工程を説明するためのフローチャートである。It is a flowchart for demonstrating the execution process of the structure advisor by embodiment of this invention. 本発明の実施形態による再構成可能なストレージシステムを示すブロック図である。1 is a block diagram showing a reconfigurable storage system according to an embodiment of the present invention. FIG.

次に本発明に係るストレージシステムを再構成するための方法、及びその可変構造型ストレージシステムと可変構造型ストレージデバイス並びに実行可能なソフトウェア製品及びホストを実施するための形態の具体例を図面を参照しながら説明する。
しかし、本発明の実施形態は、様々な形態に変形でき、本発明の範囲が後述する実施例に限定されると解釈されてはならない。本発明の実施例は、本発明をより明確に説明するために提供するものである。
Next, referring to the drawings, a specific example of a method for reconfiguring a storage system according to the present invention, a variable structure storage system, a variable structure storage device, an executable software product, and a host. While explaining.
However, the embodiments of the present invention can be modified in various forms, and the scope of the present invention should not be construed to be limited to the examples described later. The embodiments of the present invention are provided to explain the present invention more clearly.

本明細書で使用する用語は、特定の実施を記述するための目的として用いるものであり、本発明の範囲を制限するためのものではない。本明細書で、単数として使われた用語は、それについての単数であることを示す明白な背景に関する言及がない限り、複数も含むものである。また、本明細書で使用する「包含する」という用語は、言及された特徴、領域、段階、動作、要素、及び/又は成分の存在を特定するものではあるが、1つまたはそれ以上の他の特徴、領域、段階、動作、要素、成分、及び/又はグループの存在または付加を除外するものではない。   The terminology used herein is for the purpose of describing particular implementations and is not intended to limit the scope of the invention. In this specification, the terms used in the singular include the plural unless there is an explicit background to the singular. Also, as used herein, the term “including” identifies the presence of a feature, region, step, action, element, and / or component mentioned, but includes one or more other It does not exclude the presence or addition of features, regions, steps, actions, elements, components and / or groups.

本明細書で言及する「要素」又は「モジュール」などの用語は、特定の作業を実行するソフトウェア又はフィールドプログラマブルゲートアレイ(Field Programmable Gate Array;FPGA)又は特定用途向け集積回路(Application Specific Integrated Circuit;ASIC)のようなハードウェア要素を意味することができるがそれに限るものではない。要素又はモジュールは、独自のアドレス指定可能なストレージ媒体(addressable storage medium)中に一つ又は複数のプロセッサで実行するように、有利に構成することができる。したがって、実施形態によって、要素又はモジュールは、ソフトウェア要素、オブジェクト指向ソフトウェア要素、クラス要素及び作業要素、処理、機能、属性、プロシージャ、サブルーチン、プログラムコードのセグメント、ドライバ、ファームウェア、マイクロコード、回路網、データ、データベース、データ構造、テーブル、アレイ、及び変数のような要素を含むことができる。要素及び要素、又はモジュールのために提供される機能は、より少ない要素及び要素、又はモジュールとして組み合わせられるか、付加的な要素及び要素、又はモジュールとしてさらに分離することができる。   Terms such as “elements” or “modules” referred to herein are software or field programmable gate arrays (FPGAs) or application specific integrated circuits (i.e. application specific integrated circuits) that perform specific tasks; Hardware element such as, but not limited to, ASIC). An element or module can be advantageously configured to run on one or more processors in its own addressable storage medium. Thus, depending on the embodiment, an element or module may be a software element, an object-oriented software element, a class element and a work element, a process, a function, an attribute, a procedure, a subroutine, a segment of program code, a driver, firmware, microcode, a network, Elements such as data, databases, data structures, tables, arrays, and variables can be included. Functions provided for elements and elements or modules can be combined as fewer elements and elements or modules, or further separated as additional elements and elements or modules.

他の限定がない限り、本明細書で使用するあらゆる用語(技術的用語及び科学的用語)は、当業者に、通常よく知られた意味で用いる。また通常使われる辞書に定義されたような用語は、関連した技術分野を背景とする意味と同じ意味を有すると解釈されねばならず、別途の記載がない限り、理想的であるか、または過度に解釈されてはならない。   Unless otherwise limited, all terms (technical and scientific terms) used herein have meanings that are commonly known to those skilled in the art. Terms such as those defined in commonly used dictionaries should be construed to have the same meaning as in the background of the relevant technical field and are ideal or excessive unless otherwise stated. Should not be interpreted.

図1は、本発明の実施形態による可変構造型ストレージシステムを示すブロック図である。
一実施形態における図1のシステムはホスト100と可変構造型ストレージデバイス102を包含する。ホスト100の基本要素は、少なくとも一つのプロセッサ104と、メモリ106と、ホストコントローラ108とを含む。一実施形態において、可変構造型ストレージデバイス102の基本要素は、ストレージコントローラ111と、メインストレージ112と、少なくとも一つのプロセッサ114と、メモリ116とを含む。
FIG. 1 is a block diagram showing a variable structure storage system according to an embodiment of the present invention.
The system of FIG. 1 in one embodiment includes a host 100 and a variable structure storage device 102. The basic elements of the host 100 include at least one processor 104, a memory 106, and a host controller 108. In one embodiment, the basic elements of the variable structure storage device 102 include a storage controller 111, a main storage 112, at least one processor 114, and a memory 116.

メインストレージ112は、本来のストレージ機能を実現し、可変構造型ストレージデバイス102のためのストレージ空間を提供する。メインストレージ112は、(例えば、ソリッドステートドライブ(SSD)として実現する)フラッシュ、PCRAM、RRAM(登録商標)、STT−RAM、及びそれと類似の不揮発性メモリ、FLT(Flash Translation Layer)、ガベージコレクタ(Garbage Collector;GC)、及びそれと類似のストレージ管理ファームウェア(図示せず)を含むが、これらに限定されない。一つ又は複数の論理デバイス121は、メインストレージ112の一部分を占めるようにしても良い。論理デバイス121のために割り当てられる実際の物理的なストレージ空間は、空間効率性の要求に依存する。シンプロビジョニング(thin provisioning)を有する論理デバイスは、シックプロビジョニング(thick provisioning)を有する論理デバイスより少ない物理的な記憶領域を占める。   The main storage 112 realizes an original storage function and provides a storage space for the variable structure storage device 102. The main storage 112 includes flash, PCRAM, RRAM (registered trademark), STT-RAM, and similar non-volatile memory (FLT (Flash Translation Layer), garbage collector (implemented as a solid state drive (SSD), for example). Garbage Collector (GC), and similar storage management firmware (not shown), but is not limited thereto. One or more logical devices 121 may occupy a part of the main storage 112. The actual physical storage space allocated for the logical device 121 depends on space efficiency requirements. A logical device with thin provisioning occupies less physical storage space than a logical device with thick provisioning.

通常の動作の間、ホストコントローラ108は、読み出し/書き込み動作に関連するコマンド124を、ホスト100がメインストレージ112に格納されたコンテンツを処理するか、又は新しいコンテンツをメインストレージ112に格納するように許可するために、ストレージコントローラ111に出力する。ここで、ホスト100で行うコンテンツの処理には、イメージ及び文書の形態としてコンテンツを表示し、オーディオ及び/又はビデオの形態としてコンテンツを実行し、プロセッサ104のような機能的ユニットに、コンピュータプログラムのようなアプリケーションの形態としてコンテンツをインストールするか、又は実行することを含む。   During normal operation, the host controller 108 may issue commands 124 related to read / write operations so that the host 100 processes content stored in the main storage 112 or stores new content in the main storage 112. Output to the storage controller 111 for permission. Here, the content processing performed by the host 100 is performed by displaying the content in the form of an image and a document, executing the content in the form of audio and / or video, Such as installing or executing content in the form of an application.

ストレージコントローラ111は、ホストコントローラ108からコンテンツに関連するコマンドを受信し、受信したコマンドに応じて、メインストレージ112に格納されたコンテンツ126を制御する。例えば、受信したコマンドが読み出しコマンドである場合、ストレージコントローラ111は、メインストレージ112に格納されたコンテンツ126をホスト100に提供し、受信したコマンドが書き込みコマンドである場合、ストレージコントローラ111は、ホスト100から新しいコンテンツ126を受信し、受信したコンテンツをメインストレージ112に格納する。   The storage controller 111 receives a command related to content from the host controller 108 and controls the content 126 stored in the main storage 112 in accordance with the received command. For example, when the received command is a read command, the storage controller 111 provides the content 126 stored in the main storage 112 to the host 100, and when the received command is a write command, the storage controller 111 The new content 126 is received from, and the received content is stored in the main storage 112.

さらに他の実施形態として、ホストコントローラ108及びストレージコントローラ111が分離された構成でも、ホストコントローラ108及びストレージコントローラ 111が、一つの集積したユニットのように実装しても良い。
上述のように、通常のストレージ装置が有する問題は、内蔵された知能(built−in intelligence)を有する固定されたデバイスであるという点である。その結果、顧客の要求のためのストレージデバイスをカスタマイズする工程は、多くのコスト及び時間を要する。
As still another embodiment, the host controller 108 and the storage controller 111 may be separated, or the host controller 108 and the storage controller 111 may be mounted as one integrated unit.
As described above, a problem that a normal storage apparatus has is that it is a fixed device having built-in intelligence. As a result, the process of customizing storage devices for customer requirements is costly and time consuming.

本発明の実施形態によれば、可変構造型ストレージデバイス102は、構成要素118、特性セット120、及びデバイスプロファイル122と共に提供される一方、ホスト100は、構成変形要素110と共に提供される。
一実施形態において、ホスト100の構成変形要素110は、可変構造型ストレージデバイス102の動作特性を説明するユーザ要求を受信し、可変構造型ストレージデバイス102の動作特性のための特性セッティングを定義する構成コマンド128に変換する。 一実施形態において、構成変形要素110の機能は、構成プランナ136と、構成アドバイザー138と、デバイスプログラマ140のような分離された要素により実行される。
According to an embodiment of the present invention, the variable structure storage device 102 is provided with a component 118, a property set 120, and a device profile 122, while the host 100 is provided with a configuration deformation element 110.
In one embodiment, the configuration deformation element 110 of the host 100 receives a user request describing the operational characteristics of the variable structure storage device 102 and defines characteristic settings for the operational characteristics of the variable structure storage device 102. Convert to command 128. In one embodiment, the functionality of configuration deformation element 110 is performed by separate elements such as configuration planner 136, configuration advisor 138, and device programmer 140.

結果的に、可変構造型ストレージデバイス102にある構成要素118は、構成コマンド128を受信し、構成コマンド128に対応する特性セッティングを実行し、これによって可変構造型ストレージデバイス102の動作特性を自動に構成する。その後、メインストレージ112がセッティングされた動作特性に基づいて駆動される間、ストレージコントローラ111は、コンテンツ126をホスト100に伝送するか、又はホスト100から受信する。   As a result, the component 118 in the variable structure storage device 102 receives the configuration command 128 and executes the characteristic setting corresponding to the configuration command 128, thereby automatically operating the variable structure storage device 102. Configure. Thereafter, while the main storage 112 is driven based on the set operating characteristics, the storage controller 111 transmits or receives the content 126 to the host 100.

本発明の他の実施形態において、可変構造型ストレージデバイス102の動作の間、構成変形要素110は、可変構造型ストレージデバイス102の動作特性について可変構造型ストレージデバイス102からフィードバック130を受信することができ、フィードバック130に基づいて、構成コマンド128(結果的に特性セット)を調整する。
一実施形態において、構成変形要素110及び構成要素118は、ソフトウェア要素として実装する。他の実施形態として、要素は、ハードウェアとソフトウェアの組み合わせにより実装しても良い。構成変形要素110と構成要素118はそれぞれ単体の要素として示したが、各々の機能は、それより少ないか、又は多い数のモジュール/要素に結合することもある。例えば、一実施形態において、ストレージコントローラ111及びホストコントローラ108は、一つの集積した要素として、又は分離された要素としてホスト100に実装する。
In other embodiments of the present invention, during operation of the variable structure storage device 102, the configuration deformation element 110 may receive feedback 130 from the variable structure storage device 102 regarding the operational characteristics of the variable structure storage device 102. And, based on the feedback 130, adjust the configuration command 128 (and consequently the property set).
In one embodiment, the component deformation element 110 and the component 118 are implemented as software elements. In other embodiments, the elements may be implemented by a combination of hardware and software. Although the component deformation element 110 and the component 118 are each shown as a single element, each function may be coupled to a smaller or greater number of modules / elements. For example, in one embodiment, the storage controller 111 and the host controller 108 are implemented in the host 100 as one integrated element or as a separate element.

また、ユーザ要求情報123は、ホスト100に入力されると示したが、他の実施形態では、可変構造型ストレージデバイス102が、ユーザ要求情報123を受信し、ユーザ要求情報123をホスト100に提供する。
本発明の実施形態による可変構造型ストレージシステムは、顧客から企業に至るまで、広い範囲のストレージマーケットに適用可能であり、これは、(デスクトップ、ラップトップ、ワークステーション、サーバ、及びこれらと同様のもののような)単一のスタンドアローン機器、ストレージアレイ、SDS、アプリケーションスペシフィックストレージ(application specific storage)、VM(Virtual Machine)、VDI(Virtual Desktop Infrastructure)、CDN(Content Distribution Network)、及びこれと類似の機器用のディスクに適用することができる。
In addition, although the user request information 123 is shown to be input to the host 100, in another embodiment, the variable structure storage device 102 receives the user request information 123 and provides the user request information 123 to the host 100. To do.
The variable structure storage system according to embodiments of the present invention can be applied to a wide range of storage markets from customers to enterprises (desktops, laptops, workstations, servers, and the like) A single stand-alone device (such as the one), storage array, SDS, application specific storage (VM), virtual machine infrastructure (VM), virtual desktop infrastructure (VDI), similar to CDN (contentN It can be applied to discs for equipment.

例えば、一実施形態において、可変構造型ストレージデバイス102は、PCMCIA、CF(compact flash)(登録商標)、SM、SMC(smart media card)(登録商標)、メモリスティック(登録商標)、マルチメディアカード(MMC、RS−MMC、MMC−micro)、SDカード(SD、miniSD、microSD、SDHC)、UFS(universal flash storage)装置、及びこれと類似の機器を形成するための一つの半導体装置に集積することができる。
例えば、一実施形態において、メインストレージ112は、複数の不揮発性メモリチップ(すなわち、複数のフラッシュメモリ)で構成する。
他の実施形態によると、メインストレージ112は、フラッシュメモリチップの代わりに他のタイプの不揮発性メモリチップ(例えば、PRRAM、FRAM(登録商標)、MRAMなど)で構成する。代わりに、メインストレージ112は、揮発性メモリ(すなわち、DRAM又はSRAM)で形成しても良く、二つ以上の種類のメモリが混在した形態を有しても良い。
For example, in one embodiment, the variable structure storage device 102 includes PCMCIA, CF (compact flash) (registered trademark), SM, SMC (smart media card) (registered trademark), memory stick (registered trademark), multimedia card. (MMC, RS-MMC, MMC-micro), SD card (SD, miniSD, microSD, SDHC), UFS (universal flash storage) device, and similar semiconductor devices for forming similar devices be able to.
For example, in one embodiment, the main storage 112 is composed of a plurality of nonvolatile memory chips (that is, a plurality of flash memories).
According to another embodiment, the main storage 112 is configured by other types of nonvolatile memory chips (eg, PRRAM, FRAM (registered trademark), MRAM, etc.) instead of the flash memory chips. Instead, the main storage 112 may be formed of a volatile memory (that is, DRAM or SRAM) or may have a form in which two or more types of memories are mixed.

図2(A)及び図2(B)は、本発明の実施形態によるストレージシステムを再構成することを説明するためのフローチャートである。
図2(A)は、ユーザの要求ごとに可変構造型ストレージデバイスを再構成するための構成工程を示すフローチャートであり、図2(B)は、可変構造型ストレージシステムの動作の間における可変構造型ストレージデバイス102の設定(configuring)工程を示すフローチャートである。
2A and 2B are flowcharts for explaining reconfiguration of the storage system according to the embodiment of the present invention.
FIG. 2A is a flowchart showing a configuration process for reconfiguring a variable structure storage device for each user request, and FIG. 2B shows a variable structure during operation of the variable structure storage system. 5 is a flowchart showing a configuration process of the type storage device 102.

図2(A)を参照すると、工程は、構成変形要素110によって、ストレージデバイスのためのユーザ要求情報123を受信し、ユーザ要求情報から、ストレージデバイスのための特性セッティング及びストレージデバイスのためのデバイスプロファイルを自動に生成することで、始まる(段階S200)。その後、構成要素118は、ストレージデバイスを独立した動作特性を有する1つ又は複数の論理デバイス121の中に自動に再構成するための特性セッティングを使用する(段階S202)。   Referring to FIG. 2A, the process receives user request information 123 for a storage device by the configuration variant 110, and from the user request information, sets characteristics for the storage device and the device for the storage device. The process starts by automatically generating a profile (step S200). Thereafter, the component 118 uses the characteristic settings for automatically reconfiguring the storage device into one or more logical devices 121 having independent operating characteristics (step S202).

図2(B)は、可変構造型ストレージシステムの動作の間における可変構造型ストレージデバイス102の設定工程を説明する。この実施形態において、構成変形要素110は、ストレージデバイス及び論理デバイスのうちの少なくとも一つのランタイム性能データ134についてストレージデバイスからフィードバック130を受信する(段階S204)。 ランタイム性能データがユーザ要求情報を満足させないとの判断に応答して、構成変形要素110は、ユーザ要求情報を満足させるために、1つ又は複数の論理デバイスの構成を動的に調整する(段階S206)。   FIG. 2B illustrates a setting process of the variable structure storage device 102 during the operation of the variable structure storage system. In this embodiment, the configuration transformation element 110 receives feedback 130 from the storage device for runtime performance data 134 of at least one of the storage device and the logical device (step S204). In response to determining that the runtime performance data does not satisfy the user request information, the configuration variant 110 dynamically adjusts the configuration of the one or more logical devices to satisfy the user request information (steps). S206).

可変構造型ストレージシステムの第1の利点は、例示的な実施形態において、ストレージデバイスの特異性及び再構成の複雑さを抽出することができるので、新しい可変構造型デバイス上の構成変形要素110のストレージ管理(つまり、ユーザソフトウェア)を簡素化することができるということである。
第2の利点は、ユーザソフトウェアは、ユーザの要求ごとに可変構造型ストレージデバイスから自身の論理デバイスを動的に定義して生成することができるので、新しい可変構造型ストレージデバイスを使用するユーザソフトウェアは、ストレージデバイスのモデルに関係なく、事実上一定に留まることになるということである。
The first advantage of the variable structure storage system is that in the exemplary embodiment, the storage device specificity and reconfiguration complexity can be extracted, so that the configuration deformation element 110 on the new variable structure device 110 This means that storage management (ie user software) can be simplified.
The second advantage is that user software can dynamically define and generate its own logical device from a variable structure storage device for each user request, so user software that uses a new variable structure storage device. Means that it will remain virtually constant regardless of the storage device model.

再び図1を参照すると、本発明の他の実施形態によれば、ユーザ要求情報123は、他の特性のための実際の値とは対照的に、可変構造型ストレージデバイス102の動作特性のハイレベルディスクリプション(high−level description)を含む。一実施形態において、ハイレベルディスクリプションは、可変構造型ストレージデバイス102のためのSLA(service level agreement)を含む。SLAは、顧客と生産者と間で共通に締結したサービス契約である。   Referring again to FIG. 1, according to another embodiment of the present invention, the user request information 123 is a high-level operational characteristic of the variable structure storage device 102 as opposed to the actual value for the other characteristic. Includes level-description (high-level description). In one embodiment, the high-level description includes an SLA (service level agreement) for the variable structure storage device 102. SLA is a service contract concluded in common between a customer and a producer.

他の実施形態において、ハイレベルディスクリプションは、サービス品質(Quality of Service;QoS)要求をさらに含み、それは一実施形態では、SLAの一部分となる。
しかし、他の実施形態では、もしユーザが性能の面のみに関心がある場合、QoSはSLAと分離することができる。実施形態において、QoSは、ユーザの詳細な性能の期待(expectation)を定義するレイテンシ(latency)、IOPS(input/output operations per second)、バンド幅(bandwidth)、ジッタ、WAF/RAFに対するストレージデバイスの性能特性を含む。例えば、仮想のデバイスが生成された後、新しい論理デバイスを生成することよりQoSを調整することが望ましい場合がある。本明細書で説明するように、SLA及びQoSを使用して、可変構造型ストレージデバイス102を自動的に構成することにより、構成を定量的に実行することが可能となる。
In other embodiments, the high level description further includes a Quality of Service (QoS) request, which in one embodiment is part of the SLA.
However, in other embodiments, QoS can be separated from SLA if the user is only interested in performance aspects. In the embodiment, QoS is a storage device for latency, IOPS (input / output operations per second), bandwidth (bandwidth), jitter, and WAF / RAF that define the user's detailed performance expectations. Includes performance characteristics. For example, after a virtual device is created, it may be desirable to adjust the QoS by creating a new logical device. As described herein, configuration can be performed quantitatively by automatically configuring the variable structure storage device 102 using SLA and QoS.

一実施形態において、SLAは、XMLフォーマットに表現される属性の任意の組み合わせのためのスペックを含むことができる。属性は、レイテンシ、IOPSのようなストレージデバイスの性能特性、又は容量、アドレッシングモード、保護のような非−性能特性であり得る。
コミットメントスペックは、動作のQoS充足率の平均パーセンテージである。反応スペックは、ホストがQoS違反の場合に期待することである。容量スペックは、データ空間及び空間節約の量を明示するものである。容量スペックは、デバイスに割り当てられた実際のストレージ空間ではなく、ユーザ空間にあるデータの量を示す。この場合に、容量スペックは、これを実現するために、デバイスが実際に使用するメカニズムとは独立なものである。しかし、必要なのは、ユーザーレベルで格納できるデータ量を保証することである。
例えば、シックプロビジョニング技術を採用したデバイスは、リクエストが許可された時、実際の領域を割り当てる。一方、シンプロビジョニング技術を採用したデバイスは、領域を予め割り当てないようにすることができる。同様に、オーバーコミットメント、圧縮、重複排除(deduplication)のような省スペースの特性を備えたデバイスが割り当てる実際の物理的なスペースは、ユーザが要請するデータ領域に比べて非常に小さい。
In one embodiment, the SLA can include specifications for any combination of attributes expressed in an XML format. Attributes can be storage device performance characteristics such as latency, IOPS, or non-performance characteristics such as capacity, addressing mode, protection.
The commitment specification is an average percentage of the QoS satisfaction rate of the operation. The response spec is what to expect if the host violates QoS. Capacity specs specify the amount of data space and space savings. The capacity specification indicates the amount of data in user space, not the actual storage space allocated to the device. In this case, the capacity specification is independent of the mechanism that the device actually uses to achieve this. However, what is needed is to guarantee the amount of data that can be stored at the user level.
For example, a device that employs thick provisioning technology allocates an actual area when a request is granted. On the other hand, a device adopting the thin provisioning technology can be made not to allocate an area in advance. Similarly, the actual physical space allocated by devices with space saving characteristics such as overcommitment, compression, and deduplication is very small compared to the data area requested by the user.

アドレッシングモードスペックは、バイトアドレサブル(byte−addressable)、ワードアドレサブル(word−addressable)、及び/又はブロックアドレサブル(block−addressable)などの機能を有するストレージにデータを位置付ける方法を明示するものである。
例えば、PCIe(Peripheral Component Interconnect express)デバイスは、ブロックアドレサブルするだけでなく、バイトアドレサブルすることができる。同様に、単一のアドレス空間で駆動するシステムは、ブロックアドレサブルデバイス上でバイトアドレッシング(byte addressing)をエミュレートすることができる。QoSは特定のアドレッシングモードのコンテキストで解釈される。
The addressing mode specification clearly indicates a method of positioning data in a storage having functions such as byte-addressable, word-addressable, and / or block-addressable. is there.
For example, a Peripheral Component Interconnect express (PCIe) device can be byte addressable as well as block addressable. Similarly, systems that operate in a single address space can emulate byte addressing on block addressable devices. QoS is interpreted in the context of a specific addressing mode.

保護スペックは、セキュリティ及びアクセスの制御を明示するものである。デバイスは、暗号化をサポートすることができ、ユーザは、セキュリティの要求ごとに特定の暗号化アルゴリズム(例えば、128ビットのRSA、256AES)を使用する。ユーザは、データを削除した場合、回復不能なユーザの危険を伴うデータの安全な削除を必要とすることもある。さらに、ユーザは、デバイスレベルでリードオンリ、ライタブル、ライトワンスのようなアクセス制御を定義することができる。例えば、システムのリカバリイメージは、ライトワンス論理デバイスに格納する。   The protection specification specifies security and access control. The device can support encryption, and the user uses a specific encryption algorithm (eg, 128-bit RSA, 256AES) for each security requirement. When a user deletes data, the user may need to safely delete the data with the risk of an unrecoverable user. Furthermore, the user can define access control such as read only, writable, and write once at the device level. For example, a system recovery image is stored in a write-once logical device.

性能スペックは、ユーザがデバイスのための詳細な性能要求を有することができるようにレイテンシ、スループット、バンド幅及び/又はIOPSの測定を明示するものである。
例えば、ビデオオンデマンドサーバにあるビデオチップを格納するために使用するストレージデバイスは、高いシーケンシャルな読み出し性能を必要とする。一方、メタデータを管理するために使用するストレージデバイスは、高いIOPS(そして低レイテンシ)を必要とする。
A performance specification specifies a measurement of latency, throughput, bandwidth and / or IOPS so that a user can have detailed performance requirements for the device.
For example, storage devices used to store video chips in video on demand servers require high sequential read performance. On the other hand, storage devices used to manage metadata require high IOPS (and low latency).

例示的なSLAは、以下のサンプル1〜サンプル3に示すような内容を含む。
[サンプル1]

Figure 2014132457
上述の例に示す、バイトアドレサブルである100GBのデバイスはユーザの興味を引くものである。さらに、4KBページ読み出しレイテンシは10msより小さくなければならず、4KB書き込みレイテンシも10msより小さなければならない。最後に、デバイスのIOPSは、少なくとも1Kでなければならない。 An exemplary SLA includes content as shown in Samples 1 to 3 below.
[Sample 1]
Figure 2014132457
The 100 GB device that is byte-addressable shown in the example above is of interest to the user. Furthermore, the 4 KB page read latency must be less than 10 ms and the 4 KB write latency must also be less than 10 ms. Finally, the IOPS of the device must be at least 1K.

[サンプル2]

Figure 2014132457
[Sample 2]
Figure 2014132457

[サンプル3]

Figure 2014132457
[Sample 3]
Figure 2014132457

可変構造型ストレージデバイス102は、特性セット120に関連して複数の動作特性をさらに含む。一実施形態において、特性セット120は、消耗的ではない、ハードウェア動作(例えば、クロック周波数、オーバープロビジョニング比率(over−provisioning ratio))、コマンドスケジュールポリシー(例えば、リードオーバーライト、ランダムアクセスオーバーシーケンシャルアクセス、スモールリクエストオーバービッグリクエスト、スケジューリングアルゴリズム、リードオーバーGC)、論理的デバイス特性(例えば、容量、キュー(queue)長さ、タイムアウト制御、保護)、論理的アドレスを物理的アドレスにマッピングするポリシー(例えば、ページマッピング、ブロックマッピング、ハイブリッドマッピング)、バックグラウンド作業実行ポリシー(例えば、ガベージコレクションアルゴリズム、ガベージコレクションの周期及び頻度、バックグラウンドTRIM、バックグラウンドコンパクション)などを含む。   The variable structure storage device 102 further includes a plurality of operational characteristics associated with the characteristic set 120. In one embodiment, the property set 120 is non-consumable, hardware operations (eg, clock frequency, over-provisioning ratio), command schedule policies (eg, read overwrite, random access over sequential access). , Small request over big request, scheduling algorithm, read over GC), logical device characteristics (eg capacity, queue length, timeout control, protection), policies mapping logical addresses to physical addresses (eg , Page mapping, block mapping, hybrid mapping), background work execution policy (eg garbage collection algorithm) Including rhythm, the period and frequency of garbage collection, background TRIM, background compaction), and the like.

構成変形要素110は、ユーザ要求情報123を受信し、特定の特性の変数値を明示するだけでなく、ユーザ要求情報123を、特性セット120で特定の特性をイネーブル/ディセーブルするために使用する特性セットに変換する。
特性の効果は、すべての論理デバイス121に対して全体的(global)であるか、又は特定の論理デバイスに対して局所的(local)である。例えば、デバイスの動作周波数の調整は、全体的であり、論理デバイスのキュー長さの増加がデバイスに限定されるのに対しすべての論理デバイス121の動作を変化させるものである。
The configuration variant element 110 receives the user request information 123 and uses the user request information 123 to enable / disable a specific characteristic in the characteristic set 120 as well as to specify a variable value for the specific characteristic. Convert to a characteristic set.
The effect of the characteristics may be global for all logical devices 121 or local for a particular logical device. For example, the adjustment of the operating frequency of the device is global and changes the operation of all the logical devices 121 while the increase in the queue length of the logical device is limited to the device.

本発明の実施形態によれば、構成変形要素110は、ユーザ要求情報123及びデバイスプロファイル122の両方に基づいて、特性セッティングを発生させる。一実施形態において、デバイスプロファイル122は、ストレージデバイス、性能モデル132、及びランタイム性能データ134に特定の性能範囲131(例えば、調整可能なクロック周波数の範囲)を含む。ランタイム性能データ134は、動作の間デバイスによって測定されるランタイム性能統計を含む。   According to an embodiment of the present invention, the configuration deformation element 110 generates a characteristic setting based on both the user request information 123 and the device profile 122. In one embodiment, the device profile 122 includes a specific performance range 131 (eg, an adjustable clock frequency range) in the storage device, performance model 132, and runtime performance data 134. Runtime performance data 134 includes runtime performance statistics measured by the device during operation.

本発明の一実施形態によれば、性能モデル132は、生成されて、デバイス性能と関連する可変構造型ストレージデバイス102の特性に関連付けられる。
一実施形態において、性能モデル132は、個別特性及び/又は特性セッティングの組み合わせのための数学的モデル(例えば、線形、多項式、対数、指数又はステップ関数)、及び/又はQoSを測定するために、制御された環境下で測定した理想的な性能データを含む。
According to one embodiment of the present invention, the performance model 132 is generated and associated with the characteristics of the variable structure storage device 102 associated with device performance.
In one embodiment, the performance model 132 is a mathematical model (eg, linear, polynomial, logarithmic, exponential, or step function) for individual characteristics and / or a combination of characteristic settings, and / or to measure QoS. Contains ideal performance data measured in a controlled environment.

表1は、例示的な特性セット120及び関連する性能モデルを示す。本発明でのモデルは、例示的であり、ベンダー及びデバイスに依存する。

Figure 2014132457
Table 1 shows an exemplary property set 120 and associated performance model. The model in the present invention is exemplary and depends on the vendor and device.
Figure 2014132457

一実施形態において、デバイスの性能特性を変化させることができる如何なる特性も、もしモデルが実現不可能であれば、関連する性能モデル132及び/又は理想的な性能基準表(performance reference table)を有する。
一実施形態において、構成変形要素110、又は構成要素118のうちのいずれか一つはユーザ要求情報123が可変構造型ストレージデバイス102によって満たすことができるか否かを判断するためのデバイスプロファイル122及び/又は性能モデル132を使用する。
例えば、ユーザは、物理デバイスのクロックレートを増加させることにより、動作時間の応答時間を改善することができる。しかし、デバイスの調整可能なクロックレートは制限されている。もし、デバイスがすでに最大のクロックレートに達した場合、クロックの調整特性は、レイテンシ時間を改善するために使用される。同様に、もしクロックレートへのIOPSが特定のサイズで線形関数としてモデリングされれば、例えば、クロックレートがどの程度増加できるかを判断することができる。
In one embodiment, any characteristic that can change the performance characteristics of the device has an associated performance model 132 and / or an ideal performance reference table if the model is not feasible. .
In one embodiment, any one of the component deformation element 110 or component 118 is a device profile 122 for determining whether the user request information 123 can be satisfied by the variable structure storage device 102 and Use performance model 132.
For example, the user can improve the response time of the operating time by increasing the clock rate of the physical device. However, the device's adjustable clock rate is limited. If the device has already reached the maximum clock rate, the clock adjustment characteristic is used to improve the latency time. Similarly, if the IOPS to clock rate is modeled as a linear function at a particular size, it can be determined, for example, how much the clock rate can be increased.

一実施形態において、性能モデル132を含むデバイスプロファイル122は、例えば、可変構造型ストレージデバイス102によって構成変形要素110として報告されることによって、構成変形要素110に利用可能に作られる。
他の実施形態において、デバイスプロファイル122は、ホスト100に格納されるか、又はホスト100及び/又は可変構造型ストレージデバイス102によってアクセス可能なロケーション(location)に格納される。
他の実施形態において、たとえ性能モデル132が、デバイスプロファイル122の一部分として格納されるものとして示されたとしても、性能モデル132は、デバイスプロファイル122から分離して格納される。
もし可変構造型ストレージデバイス102のベンダーがホスト100にデバイスプロファイル122を提示することができれば、ホスト100にある構成変形要素110は、性能範囲131、性能モデル132、ランタイム性能データ134に影響を与えられる。そうでなければ、構成変形要素110は、可変構造型ストレージデバイス102の各々のタイプのためのそれ自身のデバイスプロファイル122へのアクセスが必要となる。
In one embodiment, the device profile 122 that includes the performance model 132 is made available to the configuration deformation element 110 by, for example, being reported as the configuration deformation element 110 by the variable structure storage device 102.
In other embodiments, the device profile 122 is stored on the host 100 or stored in a location accessible by the host 100 and / or the variable structure storage device 102.
In other embodiments, the performance model 132 is stored separately from the device profile 122 even though the performance model 132 is shown as being stored as part of the device profile 122.
If the vendor of the variable structure storage device 102 can present the device profile 122 to the host 100, the configuration transformation element 110 in the host 100 is affected by the performance range 131, the performance model 132, and the runtime performance data 134. . Otherwise, configuration variant 110 will need access to its own device profile 122 for each type of variable structure storage device 102.

一実施形態において、デバイスプロファイル122のランタイム性能データ134は、ATAスペックにあるSMART(Self−Monitoring、Analysis and Reporting Technology)のような標準インターフェースを通じて利用可能な典型的な性能指数(performance indices)、最小/最大/平均読み出し/書き込みレイテンシ、最小/最大/平均キュー長さ及び待機時間、最小/最大/平均内部IOPS、読み出し/書き込み増幅比、ガベージコレクション時間、タイムアウト回数、及びこれに類似するベンダー固有のランタイム性能指数を含む。   In one embodiment, the runtime performance data 134 of the device profile 122 is a typical performance index, minimum available through a standard interface such as SMART (Self-Monitoring, Analysis and Reporting Technology) in the ATA spec. / Maximum / average read / write latency, minimum / maximum / average queue length and latency, minimum / maximum / average internal IOPS, read / write amplification ratio, garbage collection time, timeouts, and similar vendor-specific Includes runtime performance index.

一実施形態において、ランタイム性能データ134の一部分として格納される他の情報は、デバイス状態、デバイスバックグラウンド作業状態、ホストバックグラウンド作業状態を含むが、これに限定されない。
デバイス状態は、可変構造型ストレージデバイス102のハードウェア及びソフトウェアに対する状態情報を含む。これは、ストレージ媒体の劣化(ウェア−レベル)の程度、スーパーキャパシタの状態、デバイス温度、オーバープロビジョニングの割合(又は量)、及びこれらと類似の項目のような全体的な情報だけでなく、デバイスのサイズ、デバイスの容量、デバイスの利用、SLA、特性セット、特性セッティング、データの断片化(fragmentation)、タイムアウト、保護、アドレッシングモード、などのような局所的な情報を含む。
デバイスバックグラウンド作業状態は、デバイスポリシーによって判断されるデバイスバックグラウンド作業の状態を含むが、バックグラウンドTRIM、バックグラウンドガベージコレクション、バックグラウンド圧縮などのようにデバイスの外部に見えない。
ホストバックグラウンド作業状態は、ATAスペックにあるSMARTセルフテストスイート(self−test suite)のオフラインテストのようなホストによってトリガされるデバイスバックグラウンド作業の状態を含む。
In one embodiment, other information stored as part of the runtime performance data 134 includes, but is not limited to, device state, device background working state, host background working state.
The device status includes status information for the hardware and software of the variable structure storage device 102. This is not only the overall information such as the extent of storage media degradation (wear-level), supercapacitor status, device temperature, overprovisioning rate (or amount), and similar items, but also the device Local information such as size, device capacity, device usage, SLA, property set, property setting, data fragmentation, timeout, protection, addressing mode, etc.
The device background work state includes the device background work state determined by the device policy, but is not visible outside the device, such as background TRIM, background garbage collection, background compression, and so on.
The host background work state includes the state of the device background work triggered by the host, such as an offline test of the SMART self-test suite in the ATA spec.

図1に示したホスト100の構成変形要素110は、可変構造型ストレージデバイス102の構成を変更するためSLAにあるハイレベルユーザQoS要求をデバイス−固有の構成コマンドに変換する。構成変形要素110は、デバイス−固有の特性を持った可変構造型ストレージデバイス102のユーザ要求情報123と動作/ポリシーの間の関係を解釈する。
例えば、ストレージデバイスは、特定のIOPSの要求を満足させるために、大きいキューの深さを備えたキューを必要とする。同様に、低コストのデバイスは、短い読み出しレイテンシを達成するために、大きいキューの深さと読み出し優先順位を有するキューを必要とする。一方、高価のデバイスが、読み出し優先順位なしで同様なレイテンシを達成する。
The configuration modification element 110 of the host 100 shown in FIG. 1 converts the high-level user QoS request in the SLA into a device-specific configuration command in order to change the configuration of the variable structure storage device 102. The configuration transformation element 110 interprets the relationship between the user request information 123 and the behavior / policy of the variable structure storage device 102 having device-specific characteristics.
For example, storage devices require queues with large queue depths to satisfy specific IOPS requirements. Similarly, low cost devices require queues with large queue depths and read priorities to achieve short read latencies. On the other hand, expensive devices achieve similar latencies without read priority.

図3は、本発明の実施形態による可変構造型ストレージデバイスを構成するための工程を詳細に説明するためのフローチャートである。
一実施形態において、ホスト100で実行される工程は、構成変形要素110によって実行され、可変構造型ストレージデバイス102で実行される工程は、構成要素118によって実行される。
FIG. 3 is a flowchart for explaining in detail the process for configuring the variable structure storage device according to the embodiment of the present invention.
In one embodiment, the steps performed by the host 100 are performed by the component transformation element 110, and the steps performed by the variable structure storage device 102 are performed by the component 118.

ホスト100で実行される工程は、デバイスプロファイル122及びSLAを受信することによって、ホスト100から始められる(段階S300)。構成変形要素110はSLAの各々のQoS要求のために、構成可能な特性セッティングを可変構造型ストレージデバイス102のデバイスプロファイル122に基づいて判断し(段階S302)、特性セッティングの可能な組み合わせをSLAのために判断する(段階S304)(QoS)。可変構造型ストレージデバイス102のためのデバイスプロファイル122に基づいて、特性セッティングの組み合わせについて優先順位を付与する(段階S306)。特性セッティングの各々の組み合わせのために、プランとして一セットの構成コマンドを生成する(段階S308)。プラン又はプランの各々の構成コマンドを、トランザクションIDと共に可変構造型ストレージデバイス102に伝送する(段階S310)。プランを生成している間レースの場合にデバイスの状態が変化し得るので、プランは、デバイスにある構成要素によって拒絶される。したがって、ホスト100は、プランのうちの一つが成功するか又はすべてが失敗となるまでプランを繰り返す(段階S312)。   The process executed in the host 100 is started from the host 100 by receiving the device profile 122 and the SLA (step S300). The configuration transformation element 110 determines configurable characteristic settings based on the device profile 122 of the variable structure storage device 102 for each QoS request of the SLA (step S302), and determines possible combinations of characteristic settings of the SLA. Therefore, a determination is made (step S304) (QoS). Based on the device profile 122 for the variable structure storage device 102, priority is given to the combination of characteristic settings (step S306). A set of configuration commands is generated as a plan for each combination of characteristic settings (step S308). The plan or each configuration command of the plan is transmitted to the variable structure storage device 102 together with the transaction ID (step S310). Since the state of the device can change in the case of a race while generating the plan, the plan is rejected by a component at the device. Accordingly, the host 100 repeats the plan until one of the plans succeeds or all fail (step S312).

可変構造型ストレージデバイス102で実行される工程は、ホストからプランを受信して、可変構造型ストレージデバイス102から始められる(段階S320)。構成要素118は、デバイスプロファイル122に基づいて、すべての特性の利用可能性及び適用可能性を判断することによってプランを認証する(段階S322)。プランのすべての特性を、詳細にセッティングし、そして失敗した場合に、すべての変化を、ロールバックする(段階S324)。一つ又は複数の論理デバイスを、特性セッティングに基づいて生成する(段階S326)。プランの構成ごとにデバイスプロファイル122を、更新する(段階S328)。そして、完了の応答をホスト100に伝送する(段階S330)。
可変構造型ストレージデバイス102の動作の間、プランをデバイスプロファイル、特に実時間の性能統計と比較する(段階S332)。デバイスプロファイルが、プランを満足させない時、フィードバック130として、通知をホストに伝送する。その後、構成アドバイザー138は、適切な調整をするよう構成をガイドするためフィードバックを使用する(図6)。
The process executed in the variable structure storage device 102 starts from the variable structure storage device 102 after receiving the plan from the host (step S320). The component 118 authenticates the plan by determining the availability and applicability of all characteristics based on the device profile 122 (step S322). All characteristics of the plan are set in detail, and if it fails, all changes are rolled back (step S324). One or more logical devices are generated based on the characteristic settings (step S326). The device profile 122 is updated for each plan configuration (step S328). Then, a completion response is transmitted to the host 100 (step S330).
During the operation of the variable structure storage device 102, the plan is compared with the device profile, in particular with real-time performance statistics (step S332). When the device profile does not satisfy the plan, a notification is transmitted as feedback 130 to the host. The configuration advisor 138 then uses the feedback to guide the configuration to make the appropriate adjustments (FIG. 6).

以下、可変構造型ストレージデバイス102にある構成要素118だけではなく、図1に示した構成変形要素110をなす3つの要素、すなわち構成プランナ136、構成アドバイザー138、及びデバイスプログラマ140について詳細に説明する。   In the following, not only the component 118 in the variable structure storage device 102 but also three components constituting the configuration deformation element 110 shown in FIG. 1, that is, the configuration planner 136, the configuration advisor 138, and the device programmer 140 will be described in detail. .

構成プランナ136は、ユーザ要求情報123(例えば、SLA)を受信し、デバイスがデバイスプロファイル122(例えば、ランタイム性能データ134)に明示されることによって支援するポリシーに基づいた構成コマンド128を含む可能な構成プランを分析して、勧告として構成プランを生成する。特に、構成プランナ136は、デバイスプロファイル122に基づいてSLAスペックを特性セッティングに変換する変換アルゴリズムを含み、転換された特性セッティングを脱して最適の組み合わせを判断し、そして最適の組み合わせから構成コマンド128を含むプランを生成する。
例えば、ストレージデバイスが、次のようなデバイスプロファイルを持つと仮定すれば、リードオーバーライトの優先順位を決めることは、読み出しレイテンシを約z%向上させ、キューの深さの増加は、IOPSをw%比率まで向上させる一方、暗号化特性と共にレイテンシは、x%増加し、IOPSはy%減少する。もし、ユーザが暗号化オプションと共に同じ性能まで達成することを所望すれば、構成プランナ136は、読み出し優先順位をイネーブルし、そして(又は)暗号化に起因するレイテンシの増加を相殺するためのキューの深さを増加させる必要がある。
Configuration planner 136 may include user-requested information 123 (eg, SLA) and include policy-based configuration commands 128 that assist the device by being manifested in device profile 122 (eg, runtime performance data 134). Analyzing the configuration plan and generating a configuration plan as a recommendation. In particular, the configuration planner 136 includes a conversion algorithm that converts the SLA specs into characteristic settings based on the device profile 122, determines the optimal combination out of the converted characteristic settings, and generates a configuration command 128 from the optimal combination. Generate a plan that contains it.
For example, assuming that a storage device has the following device profile, deciding read overwrite priority will improve read latency by about z%, and increasing queue depth will reduce IOPS w While increasing to the% ratio, latency increases with encryption characteristics by x% and IOPS decreases by y%. If the user wants to achieve the same performance with the encryption option, the configuration planner 136 enables read priority and / or queues to offset the increased latency due to encryption. It is necessary to increase the depth.

構成プランナ136は、ユーザ要求から、複数の構成プランを生成することができ、可変構造型ストレージデバイス102と、ユーザ要求の性能及び状態を考慮する最適のプランを選択する。構成プランナ136は、可変構造型ストレージデバイスの各々の特性、特性の間の相関関係及び反相関関係、及び性能モデル132を評価し、構成プランを生成する複数のプランニングアルゴリズムと関連する複数の性能モデル132を有する。
もし可変構造型ストレージデバイス102が、性能プロファイル(デバイスプロファイル122)へのアクセスを提供すれば、構成プランナ136は、性能プロファイル(デバイスプロファイル122)を可変構造型ストレージデバイス102と共有し、そうでなければ、ホスト100は、自身の性能プロファイルを有する。
The configuration planner 136 can generate a plurality of configuration plans from a user request, and selects the variable structure storage device 102 and an optimal plan that considers the performance and status of the user request. The configuration planner 136 evaluates each characteristic of the variable structure storage device, correlations and anti-correlations between the characteristics, and the performance model 132, and a plurality of performance models associated with a plurality of planning algorithms that generate the configuration plan. 132.
If the variable structure storage device 102 provides access to the performance profile (device profile 122), the configuration planner 136 shares the performance profile (device profile 122) with the variable structure storage device 102, and so on. For example, the host 100 has its own performance profile.

一旦、可変構造型ストレージデバイス102にある構成要素118がプランを受信すると、構成要素118は、プランがデバイスのサポートできる容量を超過すれば、プランを拒絶する。 例えば、現在の性能特性をキャプチャする時に、もしデバイスが性能プロファイルを提供できないか、又はデバイスが何らかのディレイやレース(races)に直面すると、デバイスが提供する性能プロファイルは無効となる。この場合に、デバイスは、たとえ決定がそれの性能プロファイル122に基づいたとしても、プランを受け取れない。しかし、一実施形態において、構成要素118は、それ自身のリスクを伴ってプランを実行する。   Once the component 118 in the variable structure storage device 102 receives the plan, the component 118 rejects the plan if the plan exceeds the capacity that the device can support. For example, when capturing current performance characteristics, if the device cannot provide a performance profile, or if the device encounters some delay or races, the performance profile provided by the device will be invalid. In this case, the device will not receive the plan even if the decision is based on its performance profile 122. However, in one embodiment, component 118 executes the plan with its own risks.

構成プランは、構成コマンドのセットを含み、それらの各々は、可変構造型ストレージデバイス102が理解できる、予め定められたベンダー固有のコマンド又は標準コマンドである。
例えば、構成プランナ136は、二つのコマンドを伝送することが必要であり、一つは、リードオーバーライトの優先順位を付与するスケジュールポリシーのためのものであり、他の一つは、キューサイズを増加させるキュー特性のためのものである。選択的に、構成プランナ136は、全体のプランのためのコマンドをトランザクションIDと共に伝送する。可変構造型ストレージデバイス102のセッティング及び状態に依存して、構成要素118は、構成コマンド又はプランを移行するか、又はそうではなくてもよい。
The configuration plan includes a set of configuration commands, each of which is a predetermined vendor-specific command or standard command that the variable structure storage device 102 can understand.
For example, the configuration planner 136 needs to transmit two commands, one for a schedule policy that gives read overwrite priority, and the other one sets the queue size. This is for increasing queue characteristics. Optionally, the configuration planner 136 transmits a command for the entire plan along with the transaction ID. Depending on the settings and state of the variable structure storage device 102, the component 118 may or may not migrate configuration commands or plans.

図4は、プランを生成するための構成プランナ136によって実行される例示的な変換工程を説明するためのフローチャートである。工程は段階S300〜308に対応する。SLAを受信すると(段階S400)、解決するQoSの要求が更にあるか否かを判断する(段階S402)。要求が更にある場合、現在のQoS要求を満足させることができる特性セッティングの可能な組み合わせを確認する(段階S404)。この段階での決定は、デバイスに依存して変化するが、次の段階の探索空間を減らすことができる固定された情報(又は予め決められた知識)に基づいた一般的なガイドラインである。その後、特性セッティングの組み合わせが、性能プロファイルに基づいて、関連する特定のデバイスと共に現在のQoS要求を満足させることができるか否かを判断する(段階S406)。もしQoS要求を満足させることができなければ、特性セッティングの次の組み合わせを得る(段階S408)。その後フェイルの場合に試みるすべての可能な組み合わせを確認して組み合わせが空(empty)か否かを判断する(段階S410)。そして、組み合わせが空いている場合、エラーを発生する(段階S412)。もし組み合わせが空でいない場合、工程は、段階S406に戻り継続される。   FIG. 4 is a flowchart illustrating an exemplary conversion process performed by the configuration planner 136 for generating a plan. The process corresponds to steps S300-308. When the SLA is received (step S400), it is determined whether there is a further QoS request to be resolved (step S402). If there are more requirements, the possible combinations of characteristic settings that can satisfy the current QoS requirements are identified (step S404). The decision at this stage varies depending on the device, but is a general guideline based on fixed information (or predetermined knowledge) that can reduce the search space of the next stage. Thereafter, it is determined whether the combination of characteristic settings can satisfy the current QoS requirements with the particular device involved based on the performance profile (step S406). If the QoS requirement cannot be satisfied, the next combination of characteristic settings is obtained (step S408). Thereafter, all possible combinations to be attempted in the case of a failure are confirmed, and it is determined whether or not the combination is empty (step S410). If the combination is vacant, an error is generated (step S412). If the combination is not empty, the process returns to step S406 and continues.

もし特性セッティングの組み合わせが、現在のQoS要求を満たしていれば、特性セッティングの組み合わせが、このデバイスのすべてのSLA及びQoSのために予め選択された構成と共に組み合わせが可能か否かを判断する(段階S414)。再度、レースの場合に、デバイス性能の動的な変化により、組み合わせは動作しない。そのような場合、特性セッティングのための構成コマンドを、プランに加え(段階S416)、SLAでの次の未解決のQoSを得る(段階S418)。これ以上のQoS要求工程がないと判断した場合(段階S402)、構成プランナ136は、可変構造型ストレージデバイス102にある構成要素118にプランを出力する(段階S420)。   If the combination of characteristic settings meets the current QoS requirements, determine whether the combination of characteristic settings is possible with pre-selected configurations for all SLA and QoS of this device ( Step S414). Again, in the case of a race, the combination will not work due to dynamic changes in device performance. In such a case, a configuration command for setting properties is added to the plan (step S416) to obtain the next unresolved QoS in the SLA (step S418). If it is determined that there are no more QoS request steps (step S402), the configuration planner 136 outputs the plan to the component 118 in the variable structure storage device 102 (step S420).

再び図1を参照すれば、デバイスプログラマ140は、プラン及びそれに合わせてストレージデバイスの構成のための構成コマンドチャネルを横切って、構成プランナ136によって選択されたプランを受信し、可変構造型ストレージデバイス102にプランを伝送する。デバイスプログラマ140は、プランの実行について可変構造型ストレージデバイスから応答を受信する。   Referring again to FIG. 1, the device programmer 140 receives the plan selected by the configuration planner 136 across the configuration command channel for the configuration of the plan and the storage device accordingly, and the variable structure storage device 102. Transmit the plan to Device programmer 140 receives a response from the variable structure storage device for execution of the plan.

構成プランナ136は、(プランクオリティにより命令を受けるような)複数のプランを指示するので、プランが可変構造型ストレージデバイス102と共に、実際に動作することが発見されるまで、デバイスプログラマ140は、可変構造型ストレージデバイス102からの否定応答の場合にプランを繰り返す必要がある。もしデバイスプログラマ140が(例えば、構成要素118からの拒絶に起因する)プランのプログラミングの間どのようなエラーを経験しても、デバイスプログラマ140は、必要に応じて、プランによって作成された変化をロールバックする。   The configuration planner 136 indicates multiple plans (such as receiving instructions according to plan quality), so that the device programmer 140 can change until the plan is found to actually work with the variable structure storage device 102. In the case of a negative response from the structural storage device 102, it is necessary to repeat the plan. If device programmer 140 experiences any errors during the programming of the plan (eg, due to rejection from component 118), device programmer 140 may modify the changes created by the plan as necessary. Roll back.

デバイスの性能プロファイル及び状態を監視して収集する構成コマンド及びフィードバックチャネルを実行する構成コマンドチャンネルは、SATA、SAS、PCIe、及びNVMeのような標準ホストインターフェースである。又はこの目的のために考案された特別なインターフェースである。   Configuration commands that monitor and collect device performance profiles and status and configuration command channels that implement feedback channels are standard host interfaces such as SATA, SAS, PCIe, and NVMe. Or it is a special interface designed for this purpose.

図5は、本発明の実施形態による可変構造型ストレージデバイスで、構成要素の処理工程を説明するためのフローチャートである。
この工程は、図2(A)の段階S202に対応し、図3の段階S320〜328だけではなく、ここでも、可変構造型ストレージデバイスは、ホスト100からの特性セッティングを使用するように構成する。
工程は、構成要素118が特性セッティングを含む少なくとも一つの構成コマンド128を含むホスト100のデバイスプログラマ140からプランを受信する時に、開始する(段階S500)。
FIG. 5 is a flowchart for explaining the processing steps of the components in the variable structure storage device according to the embodiment of the present invention.
This process corresponds to step S202 of FIG. 2A, and not only the steps S320 to 328 of FIG. 3 but also the variable structure storage device is configured to use the characteristic setting from the host 100. .
The process begins when the component 118 receives a plan from the device programmer 140 of the host 100 that includes at least one configuration command 128 that includes a property setting (step S500).

構成要素118は、まずデバイスプロファイルに基づいてプランにある特性セッティングの利用可能性及び適用可能性を判断する(段階S502)。利用可能性の判断は、ストレージデバイスが、デバイスプロファイル122へのプランを比較することにより、特性セッティングをサポートしているか否かを判断することを含む。適用可能性の判断は、デバイスプロファイル122に基づいて、特性の調整の尺度を測定することを含み、デバイスプロファイル122に基づいて、適用可能な境界特性の範囲内で、特性の調整を制御することによる。
プランは、特性セッティングの利用可能性及び適用可能性の全てが真(true)の時、認証される(段階S504)。構成要素118は、プランを実行し、(段階S506)、一実施形態において、個々の構成コマンドを実行することを含むプランを実行する。
The component 118 first determines the availability and applicability of the characteristic settings in the plan based on the device profile (step S502). The determination of availability includes determining whether the storage device supports property settings by comparing plans to the device profile 122. Applicability determination includes measuring a measure of property adjustment based on the device profile 122, and controlling the property adjustment within the applicable boundary property based on the device profile 122. by.
The plan is authenticated when all of the availability and applicability of the property settings are true (step S504). Component 118 executes the plan (step S506) and, in one embodiment, executes the plan that includes executing individual configuration commands.

プランが有効でない場合(段階S504)、構成要素118は、プランを拒絶してプランと関連して作成されたいずれの変化もロールバックさせ、通知(例えば、エラー信号)を構成変形要素110に伝送する(段階S508)。
例えば、もし現在のクロックサイクルが最大のクロック率として予めセッティングされた場合、クロックのスピードを増加させるため試みる如何なるプランも拒絶する。ロールバックはレースの場合に、可変構造型ストレージデバイスの性能プロファイルにおける不正確の源になる。
もしプランの実行が成功すると(段階S510)、1つ又は複数の論理デバイスを、ストレージ空間と共に関連したプラン(つまり、実行された構成コマンド)により可変構造型ストレージデバイスに生成する(段階S512)。最後に、構成要素118は、デバイスプロファイル122を更新する(段階S514)。
If the plan is not valid (step S504), component 118 rejects the plan and rolls back any changes made in connection with the plan and transmits a notification (eg, an error signal) to component deformer 110. (Step S508).
For example, if the current clock cycle is preset as the maximum clock rate, any plan that attempts to increase the clock speed will be rejected. Rollback is an inaccurate source in the performance profile of variable structure storage devices in the case of a race.
If execution of the plan is successful (step S510), one or more logical devices are created in the variable structure storage device according to the associated plan (ie, executed configuration command) along with the storage space (step S512). Finally, the component 118 updates the device profile 122 (step S514).

例示的な実施形態によって、物理的なストレージデバイスは、複数の論理デバイスをホストすることができ、そして各々の論理デバイス121は、独立して構成でき、それ自身の特徴を有する。したがって、例示的な実施形態の可変構造型ストレージシステムは、QoSを意識した論理デバイス121を生成する。論理デバイス121は、デバイス−固有の特性を持った(一般的なOSパーティションのような)スペースパーティション、(NVMe標準のような)マルチキュー、(Cloud PaaSのような)マルチテナント(multi−tenancy)、及び(SR−IOVのような)仮想化等のような互いに異なる技術に応答する。   According to an exemplary embodiment, a physical storage device can host multiple logical devices, and each logical device 121 can be configured independently and has its own characteristics. Accordingly, the variable structure storage system of the exemplary embodiment creates a logical device 121 that is QoS aware. The logical device 121 is a space partition (such as a general OS partition) with device-specific characteristics, a multi-queue (such as NVMe standard), and a multi-tenancy (such as Cloud PaaS). And respond to different technologies such as virtualization (such as SR-IOV) and the like.

例えば、ユーザが単一のデバイスに1つは、リードインテンシブワークロードのためのものであり、残りの1つはライトインテンシブワークロードのためのものである2つの100GBの格納領域を要すると仮定する。マルチキューを備えたスペースパーティション機能に基づいた簡単な可変構造型ストレージデバイスによって、ユーザはデバイスに2つのパーティション(例えば、/dev/sda[1、2])を生成することができ、読み出しのための論理デバイスとして、1つのキューに関連する1つのパーティション(例えば、/dev/sda1)と、書き込みのための論理デバイスとして、別のキューに関連する他のパーティション(例えば、/dev/sda2)を構成する。その後、デバイスは書き込みに起因する性能の低下のない読み出しのため論理デバイスを通じて、持続された読み出し性能を伝達する。一般的なストレージデバイスは書き込みに起因するガベージコレクションによって、このシナリオを有する長いレイテンシを示す。   For example, suppose a user requires two 100 GB storage areas, one for a single device, one for a read intensive workload and the other one for a write intensive workload. . A simple variable structure storage device based on the space partition function with multi-queue allows the user to create two partitions on the device (eg / dev / sda [1,2]) for reading One partition associated with one queue (eg, / dev / sda1) as a logical device of the other queue and another partition associated with another queue (eg, / dev / sda2) as a logical device for writing Configure. The device then communicates sustained read performance through the logic device for read without degradation of performance due to writing. Typical storage devices exhibit long latencies with this scenario due to garbage collection due to writes.

再び図1を参照すれば、構成アドバイザー138は、フィードバックチャネル(図示せず)を通じてフィードバック130として、デバイスプロファイル122を受信する。データ伝送のオーバーヘッドを減らすために、ホストに伝送される実際の情報は変わることがある。構成アドバイザー138は、一つ又はそれ以上の物理的ストレージデバイスを横切って一つ又はそれ以上の論理デバイスを監視し、すべてのユーザ要求情報123が満たされているか否かを判断する。また、構成アドバイザー138は、SLA違反の場合に、デバイスプロファイルに基づいてプランを調整するために構成プランナ136を知らせる。   Referring back to FIG. 1, the configuration advisor 138 receives the device profile 122 as feedback 130 through a feedback channel (not shown). To reduce data transmission overhead, the actual information transmitted to the host may vary. The configuration advisor 138 monitors one or more logical devices across one or more physical storage devices to determine whether all user request information 123 is satisfied. The configuration advisor 138 also informs the configuration planner 136 to adjust the plan based on the device profile in case of SLA violation.

図6は、本発明の実施形態による構成アドバイザーの実行工程を説明するためのフローチャートである。
構成アドバイザー138は、構成要素118がフィードバック130として、論理デバイス121のランタイム性能データ134を含む、デバイスプロファイル122を収集して伝送するのを待つ(段階S600)。
一実施形態において、ホスト100は、可変構造型ストレージデバイス102でキャプチャされた入力/出力トレースを伝送するための標準インターフェースを含む一つ又は複数のフィードバックチャネルを含む。
他の実施形態において、フィードバックチャネルは、構成アドバイザー138が可変構造型ストレージデバイス102の性能を監視することを許容する特別なインターフェースを含む。
FIG. 6 is a flowchart for explaining the execution process of the configuration advisor according to the embodiment of the present invention.
The configuration advisor 138 waits for the component 118 to collect and transmit the device profile 122, including the runtime performance data 134 of the logical device 121, as feedback 130 (step S600).
In one embodiment, the host 100 includes one or more feedback channels that include a standard interface for transmitting input / output traces captured by the variable structure storage device 102.
In other embodiments, the feedback channel includes a special interface that allows the configuration advisor 138 to monitor the performance of the variable structure storage device 102.

デバイスプロファイル122を受信することに応答して、構成アドバイザー138は、フィードバック130をユーザ要求情報123と比較することにより、可変構造型ストレージデバイス102の性能を監視する(段階S602)。もし構成アドバイザー138が論理デバイスのランタイム性能データ134の内のいずれも、ユーザ要求情報123に違反していないと判断した場合(段階S604)、可変構造型ストレージデバイス102のプログラミングは完了する(段階S606)。もし論理デバイス121のうちのいずれかがユーザ要求情報123を満足させるのに失敗した場合、構成アドバイザー138は、論理デバイスのための新しい構成プランを提供するために構成プランナ136を(例えば、論理デバイスに対応するランタイム性能データ134を提供することによって)通知する(段階S608)。そうすることにより、可変構造型ストレージデバイス102のセッティング及び特徴を動的に調整する。   In response to receiving the device profile 122, the configuration advisor 138 monitors the performance of the variable structure storage device 102 by comparing the feedback 130 with the user request information 123 (step S602). If the configuration advisor 138 determines that none of the logical device runtime performance data 134 violates the user request information 123 (step S604), the programming of the variable structure storage device 102 is completed (step S606). ). If any of the logical devices 121 fail to satisfy the user request information 123, the configuration advisor 138 may request a configuration planner 136 (eg, logical device) to provide a new configuration plan for the logical device. (By providing runtime performance data 134 corresponding to) (step S608). By doing so, the settings and characteristics of the variable structure storage device 102 are dynamically adjusted.

一実施形態において、違反が感知される時、通知は、単に関心のある論理デバイスの性能を含むことができるので、構成アドバイザー138は、新しいプランを生成するための最新の、そして総合的な性能データを検索するために、可変構造型ストレージデバイス102からデバイスプロファイル122を要請する。   In one embodiment, when a violation is sensed, the notification can simply include the performance of the logical device of interest, so the configuration advisor 138 can update the latest and overall performance for generating a new plan. In order to retrieve data, a device profile 122 is requested from the variable structure storage device 102.

一実施形態において、可変構造型ストレージデバイス102は、周期的に、又はランタイム性能データ134の状態が変化するたびに、デバイスプロファイル122を能動的に報告する。例えば、すべての読み出し要求がXミリ秒以内に提供されなければならないユーザ要請が提供されると、構成アドバイザー138が読み出し動作のサービス時間を記録する(log)か、又はサービス時間がXミリ秒を超えた時に、レッドフラッグをセッティングするように指示する。可変構造型ストレージデバイス102から伝送されるデバイスプロファイル122を待つことより、ホスト100は、周期的に又は要請によって、可変構造型ストレージデバイス102からデバイスプロファイル122を要請する。   In one embodiment, the variable structure storage device 102 actively reports the device profile 122 periodically or whenever the state of the runtime performance data 134 changes. For example, if a user request is provided that all read requests must be provided within X milliseconds, the configuration advisor 138 logs the service time of the read operation or logs the service time to X milliseconds. When exceeded, instruct to set the red flag. By waiting for the device profile 122 transmitted from the variable structure storage device 102, the host 100 requests the device profile 122 from the variable structure storage device 102 periodically or upon request.

一実施形態において、構成アドバイザー138は、以下のようなイベント時、即ち、新しいユーザ要求情報123が提出される時、存在するユーザ要求情報123が変化する時、ランタイム性能データ134が更新される時、(タイムアウトに起因する)ランタイム性能データ134が要求される時はいつでも、そして/又は可変構造型ストレージデバイス102が、ユーザ要求情報123を満足できない時にはいつでも、活性化される。   In one embodiment, the configuration advisor 138 is in the event of the following: when new user request information 123 is submitted, when existing user request information 123 changes, or when runtime performance data 134 is updated. , Whenever the runtime performance data 134 is requested (due to a timeout) and / or whenever the variable structure storage device 102 cannot satisfy the user request information 123.

図7は、本発明の実施形態による再構成可能なストレージシステムを示すブロック図である。
本実施形態において、単一の構成変形要素700は、単一の物理的な可変構造型ストレージデバイス702の複数の論理デバイスを管理することができるだけでなく、それらの各々が複数の論理デバイスを含むことができる複数の他の物理的な可変構造型ストレージデバイス(704、706、708)を管理することができることを示す。
FIG. 7 is a block diagram showing a reconfigurable storage system according to an embodiment of the present invention.
In this embodiment, a single configuration variant 700 can not only manage multiple logical devices of a single physical variable structure storage device 702, but each of them includes multiple logical devices. Indicates that multiple other physical variable structure storage devices (704, 706, 708) that can be managed.

可変構造型ストレージシステムのための方法及びシステムを説明した。本発明は、示される実施形態に基づいて説明しており、様々な実施形態があることができ、どのような変形例も、本発明の思想及び範囲内にある。例えば、例示的な実施形態は、プログラムの指示を含むハードウェア、ソフトウェア、コンピュータリーダブル媒体、又はそれらの組み合わせを通じて実現することができる。本発明の実施形態によるソフトウェアは、メモリ、ハードディスク、又はCD/DVD−ROMのようなコンピュータリーダブル媒体の形態で格納することができ、また、プロセッサによって実行され得る。   A method and system for a variable structure storage system has been described. The present invention has been described with reference to the illustrated embodiments, and there can be various embodiments, and any variation is within the spirit and scope of the present invention. For example, the exemplary embodiments can be implemented through hardware, software, computer readable media, or combinations thereof that include program instructions. Software according to embodiments of the present invention can be stored in the form of a computer readable medium such as memory, hard disk, or CD / DVD-ROM, and can be executed by a processor.

尚、本発明は上述の実施形態に限られるものではない。本発明の技術的範囲から逸脱しない範囲内で多様に変更実施することが可能である。   The present invention is not limited to the embodiment described above. Various modifications can be made without departing from the technical scope of the present invention.

100 ホスト
102 可変構造型ストレージデバイス
104、114 プロセッサ
106、116 メモリ
108 ホストコントローラ
110 構成変形要素
111 ストレージコントローラ
112 メインストレージ
118 構成要素
120 特性セット
121 論理デバイス
122 デバイスプロファイル
123 ユーザ要求情報
124 コマンド
126 コンテンツ
128 構成コマンド
130 フィードバック
131 性能範囲
132 性能モデル
134 ランタイム性能データ
136 構成プランナ
138 構成アドバイザー
140 デバイスプログラマ
DESCRIPTION OF SYMBOLS 100 Host 102 Variable structure type storage device 104, 114 Processor 106, 116 Memory 108 Host controller 110 Configuration modification element 111 Storage controller 112 Main storage 118 Component 120 Property set 121 Logical device 122 Device profile 123 User request information 124 Command 126 Content 128 Configuration Command 130 Feedback 131 Performance Range 132 Performance Model 134 Runtime Performance Data 136 Configuration Planner 138 Configuration Advisor 140 Device Programmer

Claims (41)

少なくとも一つのプロセッサで実行する少なくとも一つのソフトウェア要素によって実行されるストレージシステムを再構成するための方法において、
ストレージデバイスのためのユーザ要求情報を受信し、前記ユーザ要求情報から前記ストレージデバイスの特性セッティング及び、前記ストレージデバイスのデバイスプロファイルを自動に生成する段階と、
前記ストレージデバイスを、独立した動作の特性を有する1つ又は複数の論理デバイスに自動に再構成するために、前記特性セッティングを使用する段階とを有することを特徴とするストレージシステムを再構成するための方法。
In a method for reconfiguring a storage system executed by at least one software element executing on at least one processor,
Receiving user request information for a storage device and automatically generating a characteristic setting of the storage device and a device profile of the storage device from the user request information;
Reconfiguring the storage system comprising: automatically reconfiguring the storage device into one or more logical devices having independent operating characteristics; and using the characteristic settings. the method of.
前記ストレージデバイス及び前記論理デバイスのうちの少なくとも一つのランタイム性能データについてのフィードバックを前記ストレージデバイスから受信する段階と、
前記ランタイム性能データが前記ユーザ要求情報を満たさないとの判断に応答して、前記ユーザ要求情報を満足させるための一つ又は複数の論理デバイスの構成を動的に調整する段階とをさらに含むことを特徴とする請求項1に記載のストレージシステムを再構成するための方法。
Receiving feedback from the storage device about runtime performance data of at least one of the storage device and the logical device;
Dynamically adjusting a configuration of one or more logical devices to satisfy the user request information in response to determining that the runtime performance data does not satisfy the user request information. The method for reconfiguring a storage system according to claim 1.
前記ユーザ要求情報は、前記ストレージデバイスの動作特性のハイレベルディスクリプションを含むことを特徴とする請求項1に記載のストレージシステムを再構成するための方法。   The method for reconfiguring a storage system according to claim 1, wherein the user request information includes a high-level description of operating characteristics of the storage device. 前記ハイレベルディスクリプションは、サービスレベルアグリーメント(SLA)及びサービス品質(QoS)の要求のうちの少なくとも一つを含むことを特徴とする請求項3に記載のストレージシステムを再構成するための方法。   The method for reconfiguring a storage system of claim 3, wherein the high-level description includes at least one of a service level agreement (SLA) and a quality of service (QoS) request. 前記SLAは、容量、アドレッシングモード、保護、及び性能を含む属性の任意の組み合わせのためのスペックをさらに含むことを特徴とする請求項4に記載のストレージシステムを再構成するための方法。   5. The method for reconfiguring a storage system of claim 4, wherein the SLA further includes specifications for any combination of attributes including capacity, addressing mode, protection, and performance. 前記ユーザ要求情報のスペックが前記ストレージデバイスによって満足されるか否かを判断するために、デバイスプロファイルを使用する段階をさらに含むことを特徴とする請求項1に記載のストレージシステムを再構成するための方法。   The method of claim 1, further comprising using a device profile to determine whether the specifications of the user request information are satisfied by the storage device. the method of. 前記デバイスプロファイルは、デバイス性能と相関関係を有する前記ストレージデバイスの特性に関連する性能モデルを含むことを特徴とする請求項6に記載のストレージシステムを再構成するための方法。   The method for reconfiguring a storage system of claim 6, wherein the device profile includes a performance model associated with characteristics of the storage device that correlates with device performance. 前記ストレージデバイスに前記デバイスプロファイルを格納し、ホストに利用可能な前記デバイスプロファイルを作る段階をさらに含むことを特徴とする請求項6に記載のストレージシステムを再構成するための方法。   The method for reconfiguring a storage system according to claim 6, further comprising storing the device profile in the storage device and creating the device profile available to a host. 前記ホスト、及び前記ホスト又は前記ストレージデバイスによりアクセス可能なロケーション(location)のうち、少なくとも一つに前記デバイスプロファイルを格納する段階をさらに含むことを特徴とする請求項6に記載のストレージシステムを再構成するための方法。   The storage system according to claim 6, further comprising storing the device profile in at least one of the host and a location accessible by the host or the storage device. How to configure. 前記特性セッティングを自動に生成する段階は、前記ストレージデバイスの特定の特性をイネーブルさせるか、又はディセーブルさせるため、及び前記特定の特性のための値を明示するために前記特性セッティングを使用する段階をさらに含み、
前記特性の影響は、すべての論理デバイスに全体的であるか、又は特定の論理デバイスに局所的であることを特徴とする請求項1に記載のストレージシステムを再構成するための方法。
The step of automatically generating the property setting comprises using the property setting to enable or disable a particular property of the storage device and to specify a value for the particular property. Further including
The method for reconfiguring a storage system according to claim 1, wherein the effect of the characteristics is global to all logical devices or local to a specific logical device.
前記ランタイム性能データは、前記デバイスプロファイルの一部分を含み、セルフモニタリング分析及びレポーティング技術(SMART)インターフェースを通じて利用可能な性能指数と、
最小(最大又は平均)読み出し(又は書き込み)レイテンシ、最小(最大又は平均)キュー長さ、最小(最大又は平均)内部のIOPS、読み出し(又は書き込み)増幅比、及びガベージコレクション時間を含むベンダー固有のランタイム性能メトリックとを含むことを特徴とする請求項2に記載のストレージシステムを再構成するための方法。
The runtime performance data includes a portion of the device profile and is available through a self-monitoring analysis and reporting technology (SMART) interface;
Vendor-specific including minimum (maximum or average) read (or write) latency, minimum (maximum or average) queue length, minimum (maximum or average) internal IOPS, read (or write) amplification ratio, and garbage collection time The method for reconfiguring a storage system as recited in claim 2, including a runtime performance metric.
前記ランタイム性能データは、デバイス状態、デバイスバックグラウンド作業状態、ホストバックグラウンド作業状態をさらに含むことを特徴とする請求項11に記載のストレージシステムを再構成するための方法。   The method for reconfiguring a storage system of claim 11, wherein the runtime performance data further comprises a device state, a device background working state, and a host background working state. ホストから、ストレージデバイスのためのユーザ要求情報を受信し、前記ストレージデバイスのための前記ユーザ要求情報及びデバイスプロファイルから前記ストレージデバイスのための特性セッティングを自動に生成する構成変形要素と、
前記ストレージデバイスにおいて、前記ホストから前記特性セッティングを受信し、前記ストレージデバイスを、独立した動作特性を有する1つ又は複数の論理デバイスに自動に再構成するために、前記特性セッティングを使用する構成要素とを含むことを特徴とする可変構造型ストレージシステム。
A configuration transformation element that receives user request information for a storage device from a host and automatically generates a characteristic setting for the storage device from the user request information and device profile for the storage device;
In the storage device, a component that uses the characteristic setting to receive the characteristic setting from the host and to automatically reconfigure the storage device into one or more logical devices having independent operating characteristics. And a variable structure storage system.
前記構成変形要素は、
前記ストレージデバイス及び前記論理デバイスのうちの少なくとも一つのランタイム性能データについてのフィードバックを前記ストレージデバイスから受信し、
前記ランタイム性能データが前記ユーザ要求情報を満たさないとの判断に応答して、前記ユーザ要求情報を満足させるために、前記一つ又は複数の論理デバイスを動的に調整することを特徴とする請求項13に記載の可変構造型ストレージシステム。
The structural deformation element is:
Receiving feedback from the storage device about runtime performance data of at least one of the storage device and the logical device;
Responsive to determining that the runtime performance data does not satisfy the user request information, dynamically adjusting the one or more logical devices to satisfy the user request information. Item 14. The variable structure storage system according to Item 13.
前記ユーザ要求情報は、前記ストレージデバイスの動作特性のハイレベルディスクリプションを含むことを特徴とする請求項13に記載の可変構造型ストレージシステム。   14. The variable structure storage system according to claim 13, wherein the user request information includes a high level description of operating characteristics of the storage device. 前記ハイレベルディスクリプションは、サービスレベルアグリーメント(SLA)とサービス品質(QoS)の要求のうちの少なくとも一つを含むことを特徴とする請求項15に記載の可変構造型ストレージシステム。   16. The variable structure storage system according to claim 15, wherein the high-level description includes at least one of service level agreement (SLA) and quality of service (QoS) requirements. 前記SLAは、容量、アドレッシングモード、保護、及び性能を含む属性の任意の組み合わせのためのスペックをさらに含むことを特徴とする請求項16に記載の可変構造型ストレージシステム。   The variable structure storage system of claim 16, wherein the SLA further includes specifications for any combination of attributes including capacity, addressing mode, protection, and performance. 前記構成変形要素は、前記ユーザ要求情報のスペックが前記ストレージデバイスによって満足されるか否かを判断するために、デバイスプロファイルをさらに使用するように構成されることを特徴とする請求項13に記載の可変構造型ストレージシステム。   The device of claim 13, wherein the configuration variant is further configured to use a device profile to determine whether a specification of the user request information is satisfied by the storage device. Variable structure storage system. 前記デバイスプロファイルは、デバイス性能と相関関係を有する前記ストレージデバイスの特性に関連する性能モデルを含むことを特徴とする請求項18に記載の可変構造型ストレージシステム。   19. The variable structure storage system according to claim 18, wherein the device profile includes a performance model related to characteristics of the storage device having a correlation with device performance. 前記デバイスプロファイルは、前記ストレージデバイスに格納され、前記ホストに利用可能になるように作られることを特徴とする請求項18に記載の可変構造型ストレージシステム。   19. The variable structure storage system according to claim 18, wherein the device profile is stored in the storage device and is made available to the host. 前記デバイスプロファイルは、前記ホスト、及び前記ホスト又は前記ストレージデバイスによってアクセス可能なロケーション(location)のうち少なくとも一つにあることを特徴とする請求項18に記載の可変構造型ストレージシステム。   19. The variable structure storage system according to claim 18, wherein the device profile is in at least one of the host and a location accessible by the host or the storage device. 前記構成変形要素は、さらに前記ストレージデバイスの特定の特性をイネーブルさせるか、又はディセーブルさせるため、及び前記特定の特性のための値を明示するために特性セッティングを使用するように構成され、
前記特性の影響は、すべての論理デバイスに全体的であるか、又は特定の論理デバイスに局所的であることを特徴とする請求項13に記載の可変構造型ストレージシステム。
The configuration variant is further configured to use a property setting to enable or disable a particular property of the storage device and to specify a value for the particular property;
14. The variable structure storage system according to claim 13, wherein the influence of the characteristics is global to all logical devices or local to a specific logical device.
前記ランタイム性能データは、前記デバイスプロファイルの一部分を含み、セルフモニタリング分析及びレポーティング技術(SMART)インターフェースを通じて利用可能な性能指数と、
最小(最大又は平均)読み出し(又は書き込み)レイテンシ、最小(最大又は平均)キュー長さ及び待機時間、最小(最大又は平均)内部のIOPS、読み出し(又は書き込み)増幅比、ガベージコレクション時間、及びタイムアウトカウントを含むベンダー固有のランタイム性能メトリックとを含むことを特徴とする請求項22に記載の可変構造型ストレージシステム。
The runtime performance data includes a portion of the device profile and is available through a self-monitoring analysis and reporting technology (SMART) interface;
Minimum (maximum or average) read (or write) latency, minimum (maximum or average) queue length and wait time, minimum (maximum or average) internal IOPS, read (or write) amplification ratio, garbage collection time, and timeout The variable structure storage system of claim 22 including a vendor specific runtime performance metric that includes a count.
前記ランタイム性能データは、デバイス状態、デバイスバックグラウンド作業状態、ホストバックグラウンド作業状態をさらに含むことを特徴とする請求項23に記載の可変構造型ストレージシステム。   24. The variable structure storage system according to claim 23, wherein the runtime performance data further includes a device state, a device background working state, and a host background working state. ストレージシステムを再構成するためのプログラム命令を含むコンピュータ読み取り可能ストレージ媒体に格納された実行可能なソフトウェア製品において、
前記プログラム命令は、
前記ストレージデバイスのためのユーザ要求情報を受信し、前記ユーザ要求情報から前記ストレージデバイスのための特性セッティング及び、前記ストレージデバイスのためのデバイスプロファイルを自動に生成することと、
前記ストレージデバイスを、独立した動作の特性を有する1つ又は複数の論理デバイスに自動に再構成するために、前記特性セッティングを使用することとを特徴とする実行可能なソフトウェア製品。
In an executable software product stored on a computer readable storage medium containing program instructions for reconfiguring a storage system,
The program instructions are:
Receiving user request information for the storage device, automatically generating a characteristic setting for the storage device and a device profile for the storage device from the user request information;
An executable software product characterized by using the property setting to automatically reconfigure the storage device into one or more logical devices having independent operating characteristics.
前記ストレージデバイス及び前記論理デバイスのうちの少なくとも一つのランタイム性能データについてのフィードバックを前記ストレージデバイスから受信することと、
前記ランタイム性能データが前記ユーザ要求情報を満たさないとの判断に応答して、前記ユーザ要求情報を満足させるための一つ又は複数の論理デバイスの構成を動的に調整するためのプログラム命令をさらに含むこととを特徴とする請求項25に記載の実行可能なソフトウェア製品。
Receiving feedback about runtime performance data of at least one of the storage device and the logical device from the storage device;
In response to determining that the runtime performance data does not satisfy the user request information, program instructions for dynamically adjusting a configuration of one or more logical devices to satisfy the user request information 26. The executable software product of claim 25, comprising:
前記ユーザ要求情報は、前記ストレージデバイスの動作特性のハイレベルディスクリプションを含むことを特徴とする請求項25に記載の実行可能なソフトウェア製品。   The executable software product of claim 25, wherein the user request information includes a high level description of operating characteristics of the storage device. 前記ハイレベルディスクリプションは、サービスレベルアグリーメント(SLA)及びサービス品質(QoS)の要求のうちの少なくとも一つを含むことを特徴とする請求項27に記載の実行可能なソフトウェア製品。   28. The executable software product of claim 27, wherein the high-level description includes at least one of a service level agreement (SLA) and a quality of service (QoS) request. 前記SLAは、容量、アドレッシングモード、保護、及び性能を含む属性の任意の組み合わせのためのスペックをさらに含むことを特徴とする請求項28に記載の実行可能なソフトウェア製品。   29. The executable software product of claim 28, wherein the SLA further includes specifications for any combination of attributes including capacity, addressing mode, protection, and performance. 前記ユーザ要求情報のスペックが前記ストレージデバイスによって満足されるか否かを判断するために、デバイスプロファイルを使用するためのプログラム命令をさらに含むことを特徴とする請求項25に記載の実行可能なソフトウェア製品。   The executable software of claim 25, further comprising program instructions for using a device profile to determine whether a specification of the user request information is satisfied by the storage device. Product. 前記デバイスプロファイルは、デバイス性能と相関関係を有する前記ストレージデバイスの特性に関連する性能モデルを含むことを特徴とする請求項30に記載の実行可能なソフトウェア製品。   The executable software product of claim 30, wherein the device profile includes a performance model associated with characteristics of the storage device that correlates with device performance. 前記ストレージデバイスに前記デバイスプロファイルを格納すること、及びホストとして利用可能な前記デバイスプロファイルを作成することのためのプログラム命令をさらに含むことを特徴とする請求項30に記載の実行可能なソフトウェア製品。   31. The executable software product of claim 30, further comprising program instructions for storing the device profile in the storage device and creating the device profile usable as a host. 前記ホスト、前記ホスト又は前記ストレージデバイスによりアクセス可能なロケーション(location)のうち、少なくとも一つに前記デバイスプロファイルを格納するためのプログラム命令をさらに含むことを特徴とする請求項30に記載の実行可能なソフトウェア製品。   The executable of claim 30, further comprising program instructions for storing the device profile in at least one of locations accessible by the host, the host or the storage device. Software product. 前記特性セッティングを自動に生成することは、前記ストレージデバイスの特定の特性をイネーブルさせるか、又はディセーブルさせるため、及び前記特定の特性のための値を明示するために前記特性セッティングを使用するためのプログラム命令をさらに含み、
前記特性の影響は、すべての論理デバイスに全体的であるか、又は特定の論理デバイスに局所的であることを特徴とする請求項25に記載の実行可能なソフトウェア製品。
Automatically generating the property setting to enable or disable a particular property of the storage device and to use the property setting to specify a value for the particular property Further comprising a program instruction,
26. The executable software product of claim 25, wherein the effect of the characteristics is global to all logical devices or local to a specific logical device.
前記ランタイム性能データは、前記デバイスプロファイルの一部分を含み、セルフモニタリング分析及びレポーティング技術(SMART)インターフェースを通じて利用可能な性能指数と、
最小(最大又は平均)読み出し(又は書き込み)レイテンシ、最小(最大又は平均)キュー長さ及び待機時間、最小(最大又は平均)内部のIOPS、読み出し(又は書き込み)増幅比、ガベージコレクション時間及びタイムアウトカウントを含むベンダー固有のランタイム性能メトリックとを含むことを特徴とする請求項34に記載の実行可能なソフトウェア製品。
The runtime performance data includes a portion of the device profile and is available through a self-monitoring analysis and reporting technology (SMART) interface;
Minimum (maximum or average) read (or write) latency, minimum (maximum or average) queue length and latency, minimum (maximum or average) internal IOPS, read (or write) amplification ratio, garbage collection time and timeout count 35. The executable software product of claim 34, including a vendor-specific runtime performance metric comprising:
前記ランタイム性能データは、デバイス状態、デバイスバックグラウンド作業状態、ホストバックグラウンド作業状態をさらに含むことを特徴とする請求項35に記載の実行可能なソフトウェア製品。   36. The executable software product of claim 35, wherein the runtime performance data further comprises a device state, a device background work state, and a host background work state. メモリと、
前記メモリに接続するプロセッサと、
サービスレベルアグリーメント(SLA)のスペックを含むユーザ要求を受信し、デバイスプロファイルに基づいて前記SLAのスペックを特性セッティングに変換し、前記特性セッティングの最適の組み合わせを判断し、前記最適の組み合わせからの構成コマンドを含む複数のプランを生成し、ストレージデバイス及び前記ユーザ要求の性能及び状態を考慮する前記プランのうちの一つを選択するように構成されるプロセッサにより実行される第1ソフトウェア要素と、
前記選択されたプランを受信し、構成チャネルを経て前記プランを可変構造型ストレージに伝送し、前記ストレージデバイスから応答を受信し、前記ストレージデバイスからの否定応答の場合に、前記プランを繰り返すように構成される前記プロセッサにより実行される第2ソフトウェア要素と、
前記デバイスプロファイルを収集し、前記デバイスプロファイルを構成プランナに伝送し、前記ストレージデバイスで生成された一つ、又は複数の論理デバイスを監視し、前記すべてのユーザ要求が満足されるか否かを判断し、そしてSLA違反の場合に、前記デバイスプロファイルに基づいて前記プランを調整するために、前記構成プランナを通知するように構成される前記プロセッサにより実行される第3ソフトウェア要素とを含み、
前記ストレージデバイスを再構成することを特徴とするホスト。
Memory,
A processor connected to the memory;
A user request including a service level agreement (SLA) specification is received, the SLA specification is converted into a characteristic setting based on a device profile, an optimal combination of the characteristic settings is determined, and a configuration from the optimal combination is determined. A first software element executed by a processor configured to generate a plurality of plans including commands and to select one of the plans considering storage devices and the performance and status of the user request;
Receiving the selected plan, transmitting the plan to a variable structure storage via a configuration channel, receiving a response from the storage device, and repeating the plan in the case of a negative response from the storage device A second software element executed by the configured processor;
Collect the device profile, transmit the device profile to a configuration planner, monitor one or more logical devices generated by the storage device, and determine whether all user requests are satisfied And a third software element executed by the processor configured to notify the configuration planner to adjust the plan based on the device profile in case of an SLA violation,
A host that reconfigures the storage device.
前記可変構造型ストレージデバイスの各々の特性に関連する複数の性能モデル、特性の間の相関関係及び反対相関関係、及び前記性能モデルを評価し、前記構成プランを生成するプランニングアルゴリズムをさらに含むことを特徴とする請求項37に記載のホスト。   A plurality of performance models associated with each characteristic of the variable structure storage device, correlations and inverse correlations between characteristics, and a planning algorithm that evaluates the performance model and generates the configuration plan. 38. A host as claimed in claim 37. メインストレージと、
前記メインストレージに接続するプロセッサと、
前記プロセッサにより実行されるソフトウェア要素とを含む可変構造型ストレージデバイスであって、
前記プロセッサは、
特性セッティングを含む少なくとも一つの構成コマンドを含むプランを受信し、
デバイスプロファイルに基づいた前記プランにある前記特性セッティングの利用可能性及び適用可能性を判断し、
前記プランが有効でない場合、前記プランを拒絶し、前記プランによって作られた如何なる変化をもロールバックさせ、
前記特性セッティングの利用可能性及び適用可能性のすべてが真の場合に、前記プランを認証し、
前記プランを実行し、前記デバイスプロファイルを更新し、
前記実行されたプランをストレージ空間に関連させることによって、可変構造型ストレージデバイスに一つ又は複数の論理デバイスを生成するように構成されることを特徴とする可変構造型ストレージデバイス。
Main storage,
A processor connected to the main storage;
A variable structure storage device comprising software elements executed by the processor,
The processor is
Receive a plan containing at least one configuration command containing characteristic settings,
Determine the availability and applicability of the property settings in the plan based on the device profile;
If the plan is not valid, reject the plan, roll back any changes made by the plan,
Authenticate the plan if all of the availability and applicability of the property settings are true,
Execute the plan, update the device profile,
A variable structure storage device configured to create one or more logical devices in a variable structure storage device by associating the executed plan with a storage space.
前記ソフトウェア要素は、前記可変構造型ストレージデバイスが前記プランと前記デバイスプロファイルとの比較により、前記特性セッティングをサポートするか否かを判断することによって、前記特性セッティングの利用可能性を判断することを特徴とする請求項39に記載の可変構造型ストレージデバイス。   The software element determines the availability of the property setting by determining whether the variable structure storage device supports the property setting by comparing the plan and the device profile. 40. The variable structure storage device according to claim 39, wherein: 前記ソフトウェア要素は、前記デバイスプロファイルに基づいた特性への調整の程度を評価すること、及び前記デバイスプロファイルに基づいた適用可能な境界の特性内で前記特性の調整を制御することにより、前記特性セッティングの適用可能性を判断することを特徴とする請求項40に記載の可変構造型ストレージデバイス。   The software element evaluates the degree of adjustment to a characteristic based on the device profile, and controls the adjustment of the characteristic within an applicable boundary characteristic based on the device profile. 41. The variable structure storage device according to claim 40, wherein the applicability of the variable structure storage device is determined.
JP2013272626A 2013-01-03 2013-12-27 Method for reconfiguring storage system, variable structure storage system, variable structure storage device and host Active JP6694665B2 (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US13/733,309 2013-01-03
US13/733,309 US20130185482A1 (en) 2012-01-18 2013-01-03 Memory system using a storage having firmware with a plurality of features
US13/936,992 US9239786B2 (en) 2012-01-18 2013-07-08 Reconfigurable storage device
US13/936,992 2013-07-08

Publications (2)

Publication Number Publication Date
JP2014132457A true JP2014132457A (en) 2014-07-17
JP6694665B2 JP6694665B2 (en) 2020-05-20

Family

ID=50928582

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013272626A Active JP6694665B2 (en) 2013-01-03 2013-12-27 Method for reconfiguring storage system, variable structure storage system, variable structure storage device and host

Country Status (4)

Country Link
JP (1) JP6694665B2 (en)
KR (1) KR102087612B1 (en)
CN (1) CN103927127B (en)
DE (1) DE102013114069A1 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9734048B2 (en) 2014-11-20 2017-08-15 Fujitsu Limited Storage management device, performance adjustment method, and computer-readable recording medium
US9836246B2 (en) 2014-12-15 2017-12-05 Fujitsu Limited Storage management device, performance adjustment method, and computer-readable recording medium
CN113657720A (en) * 2021-07-21 2021-11-16 新浪网技术(中国)有限公司 Method, system, medium and equipment for automatically planning CDN server disk
US11287973B2 (en) 2016-02-02 2022-03-29 Samsung Electronics Co., Ltd. Polymorphic storage devices
CN115826886A (en) * 2023-02-24 2023-03-21 浪潮电子信息产业股份有限公司 Write-pattern-added data garbage collection method, device, system and storage medium

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10282100B2 (en) * 2014-08-19 2019-05-07 Samsung Electronics Co., Ltd. Data management scheme in virtualized hyperscale environments
CN104301430B (en) * 2014-10-29 2016-04-13 北京麓柏科技有限公司 Software definition storage system, method and common control equipment thereof
KR102336443B1 (en) * 2015-02-04 2021-12-08 삼성전자주식회사 Storage device and user device supporting virtualization function
US9645922B2 (en) * 2015-09-10 2017-05-09 HoneycombData Inc. Garbage collection in SSD drives
US10423331B2 (en) * 2016-02-02 2019-09-24 Samsung Electronics Co., Ltd. Polymorphic storage devices
US10616050B2 (en) * 2017-05-05 2020-04-07 VCE IP Holding Company LLC Software defined storage (SDS) system with network tiering
CN109783000B (en) * 2017-11-10 2022-08-26 成都华为技术有限公司 Data processing method and equipment
US10678439B2 (en) * 2018-04-02 2020-06-09 Micron Technology, Inc. Optimization of memory systems based on performance goals
CN109614035A (en) * 2018-11-01 2019-04-12 郑州云海信息技术有限公司 A kind of method and system for supporting settlement server storage medium sequence flexible configuration
US11210215B2 (en) 2019-10-01 2021-12-28 Neuchips Corporation Computing device and operation method thereof
US11321257B2 (en) * 2019-12-31 2022-05-03 Micron Technology, Inc. Quality of service control of logical devices for a memory sub-system
US10992299B1 (en) * 2020-03-09 2021-04-27 Gowin Semiconductor Corporation Method and system for providing word addressable nonvolatile memory in a programmable logic device

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6487562B1 (en) * 1999-12-20 2002-11-26 Emc Corporation Dynamically modifying system parameters in data storage system
JP2003044226A (en) * 2001-03-21 2003-02-14 Hitachi Ltd Method and system for time-based storage access service
US20040123062A1 (en) * 2002-12-20 2004-06-24 Veritas Software Corporation Development of a detailed logical volume configuration from high-level user requirements
JP2009169950A (en) * 2008-01-15 2009-07-30 Internatl Business Mach Corp <Ibm> Method for automatically managing storage infrastructure, and appropriate storage infrastructure
US20100287408A1 (en) * 2009-05-10 2010-11-11 Xsignnet Ltd. Mass storage system and method of operating thereof
US8095764B1 (en) * 2008-06-30 2012-01-10 Emc Corporation Dynamic application aware storage configuration

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8416691B1 (en) * 2006-04-27 2013-04-09 Alcatel Lucent Associating hosts with subscriber and service based requirements
WO2010047989A1 (en) * 2008-10-20 2010-04-29 At & T Mobility Ii Llc Device network technology selection and display in multi-technology wireless environments
KR101297258B1 (en) 2010-07-09 2013-08-16 삼성에스디아이 주식회사 Dyes for dye-sensitive solar cells, manufacturing method thereof and solar cells using the same
KR101673622B1 (en) * 2011-01-28 2016-11-08 삼성전자주식회사 Method and apparatus for providing qos-based service in wireless communication system

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6487562B1 (en) * 1999-12-20 2002-11-26 Emc Corporation Dynamically modifying system parameters in data storage system
JP2003044226A (en) * 2001-03-21 2003-02-14 Hitachi Ltd Method and system for time-based storage access service
US20040123062A1 (en) * 2002-12-20 2004-06-24 Veritas Software Corporation Development of a detailed logical volume configuration from high-level user requirements
JP2009169950A (en) * 2008-01-15 2009-07-30 Internatl Business Mach Corp <Ibm> Method for automatically managing storage infrastructure, and appropriate storage infrastructure
US8095764B1 (en) * 2008-06-30 2012-01-10 Emc Corporation Dynamic application aware storage configuration
US20100287408A1 (en) * 2009-05-10 2010-11-11 Xsignnet Ltd. Mass storage system and method of operating thereof

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
ヴイエムウェア株式会社, VMWARE徹底入門, vol. 第3版, JPN6017049251, 12 November 2012 (2012-11-12), pages 514 - 515 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9734048B2 (en) 2014-11-20 2017-08-15 Fujitsu Limited Storage management device, performance adjustment method, and computer-readable recording medium
US9836246B2 (en) 2014-12-15 2017-12-05 Fujitsu Limited Storage management device, performance adjustment method, and computer-readable recording medium
US11287973B2 (en) 2016-02-02 2022-03-29 Samsung Electronics Co., Ltd. Polymorphic storage devices
CN113657720A (en) * 2021-07-21 2021-11-16 新浪网技术(中国)有限公司 Method, system, medium and equipment for automatically planning CDN server disk
CN113657720B (en) * 2021-07-21 2023-08-29 新浪技术(中国)有限公司 Method, system, medium and equipment for automatically planning CDN server disk
CN115826886A (en) * 2023-02-24 2023-03-21 浪潮电子信息产业股份有限公司 Write-pattern-added data garbage collection method, device, system and storage medium

Also Published As

Publication number Publication date
KR102087612B1 (en) 2020-04-14
CN103927127B (en) 2018-07-03
DE102013114069A1 (en) 2014-07-03
KR20140088834A (en) 2014-07-11
JP6694665B2 (en) 2020-05-20
CN103927127A (en) 2014-07-16

Similar Documents

Publication Publication Date Title
JP6694665B2 (en) Method for reconfiguring storage system, variable structure storage system, variable structure storage device and host
US9239786B2 (en) Reconfigurable storage device
KR102579790B1 (en) Determining adjustments to the spare space in a storage device unavailable to a user based on a current consumption profile of a storage device
US10831399B2 (en) Method and system for enabling agentless backup and restore operations on a container orchestration platform
US10078473B2 (en) Resource allocation in networked storage systems
KR102098246B1 (en) Operating method of host, storage device, and system including the same
JP5786611B2 (en) Storage device and storage system
WO2016200684A1 (en) Allocating cloud storage based on storage attributes
JP2013509658A (en) Allocation of storage memory based on future usage estimates
US20170134310A1 (en) Dynamic allocation of queue depths for virtual functions in a converged infrastructure
TWI771396B (en) Storage device, storage manager, and method for multistreaming
US10425352B2 (en) Policy driven storage hardware allocation
JP2023553316A (en) Enhance application performance using storage system optimization
US20240127870A1 (en) Configuring a host interface of a memory device based on mode of operation
TW201504937A (en) Virtual storage devices formed by selected partitions of a physical storage device
WO2015049771A1 (en) Computer system
US10956084B2 (en) Drive utilization in multi-tiered systems with read-intensive flash
US20210019276A1 (en) Link selection protocol in a replication setup
KR20170088276A (en) Computing system with cache management mechanism and method of operation thereof
KR102296940B1 (en) Electronic device for performing migration for virtual machine in cloud environment and operation method thereof
US10942779B1 (en) Method and system for compliance map engine
US20210117233A1 (en) Service band management system
JP6870390B2 (en) Resource allocation method, connection management server and connection management program in a system based on a virtual infrastructure
JP2010515121A (en) Method and system for identifying storage resources of an application system
US20230110012A1 (en) Adaptive application resource usage tracking and parameter tuning

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20161031

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20161130

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20171122

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20171226

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180326

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20180821

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181212

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20181221

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20190301

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200116

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200420

R150 Certificate of patent or registration of utility model

Ref document number: 6694665

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250