JP7292785B2 - ストレージ・システムにおけるホールを有するトラックのデステージ - Google Patents
ストレージ・システムにおけるホールを有するトラックのデステージ Download PDFInfo
- Publication number
- JP7292785B2 JP7292785B2 JP2021518794A JP2021518794A JP7292785B2 JP 7292785 B2 JP7292785 B2 JP 7292785B2 JP 2021518794 A JP2021518794 A JP 2021518794A JP 2021518794 A JP2021518794 A JP 2021518794A JP 7292785 B2 JP7292785 B2 JP 7292785B2
- Authority
- JP
- Japan
- Prior art keywords
- track
- cache
- machine learning
- learning module
- storage controller
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0888—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using selective caching, e.g. bypass
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/02—Knowledge representation; Symbolic representation
- G06N5/022—Knowledge engineering; Knowledge acquisition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1041—Resource optimization
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Biophysics (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Debugging And Monitoring (AREA)
Description
1)割り当てられたステージ・タスク制御ブロック(TCB)の数(参照符号302)。ステージTCBは、キャッシュ114へのステージを実行するために使用される。
2)割り当てられたデステージTCBの数(参照符号304)。デステージTCBは、キャッシュ114からのデステージを実行するために使用される。
3)トラックのホールの数(参照符号306)。
4)ステージについて待ち行列に入れられた要求の数(参照符号308)。
5)ランクの速度(例えば、ソリッド・ステート・ドライブまたはハード・ディスク・ドライブのランクの速度)(参照符号310)。ランクは、トラックがデステージされ得るストレージ・ランクに対応する。
6)全体的なNVS使用量(参照符号312)。
7)ランクについてのNVS使用量(参照符号314)。
8)ランクについて許容された最大NVS(参照符号316)。
9)ステージについてのランク応答時間(参照符号318)。
10)デステージについてのランク応答時間(参照符号320)。
11)ストレージ・アダプタ122の帯域幅の利用に対応する、利用されている現在のアダプタ帯域幅(参照符号322)。
12)ストレージ・アダプタ122の最大帯域幅に対応する最大アダプタ帯域幅(参照符号324)。
13)ストレージ・アダプタ122の最適帯域幅に対応する最適アダプタ帯域幅(参照符号326)。
1)「最大ステージ応答時間」602は、それを超えてより多くのステージTCBを割り当てると、性能に悪影響を与える最大時間である。
2)「最大デステージ応答時間」604は、それを超えてより多くのデステージTCBを割り当てると、性能に悪影響を与える最大時間である。
3)「最適アダプタ帯域幅」606は、それを超えるとストレージ・アダプタ122がスラッシングを起こし、性能が低下する最大アダプタ帯域幅である。
誤差範囲=最適アダプタ帯域幅-現在のアダプタ帯域幅
誤差範囲=最大ステージ応答時間-現在のランク応答時間
誤差範囲=最適アダプタ帯域幅-現在のアダプタ帯域幅
誤差範囲=現在のランク応答時間-最大デステージ応答時間
クラウド・コンピューティングとは、管理努力またはサービス・プロバイダの相互作用を最小限に抑えて、迅速にプロビジョニングし、リリースすることができる構成可能なコンピューティング・リソースの共有プール(例えば、ネットワーク、サーバ、ストレージ、アプリケーション、およびサービス)への便利なオンデマンド・ネットワーク・アクセスを可能にするモデルのことである。
説明した動作は、ソフトウェア、ファームウェア、ハードウェア、またはその任意の組合せを作り出す標準プログラミングまたはエンジニアリング技法あるいはその両方を使用して、方法、装置、またはコンピュータ・プログラム製品として実装することができる。したがって、実施形態の態様は、全体にハードウェアの実施形態、全体にソフトウェアの実施形態(ファームウェア、常駐ソフトウェア、マイクロコードなどを含む)、またはすべて全体的に本明細書において「回路」、「モジュール」、もしくは「システム」と称することができる、ソフトウェア態様とハードウェア態様とを組み合わせた実施形態の形をとることができる。さらに、実施形態の態様は、コンピュータ・プログラム製品の形をとることができる。コンピュータ・プログラム製品は、プロセッサに本実施形態の態様を実行させるためのコンピュータ可読プログラム命令を有する1つ(または複数)のコンピュータ可読ストレージ媒体を含むことができる。
Claims (23)
- ストレージ・コントローラを動作させる方法であって、
機械学習モジュールによって、前記ストレージ・コントローラの属性を含む入力を受け取ることであって、前記属性が、前記ストレージ・コントローラにおいてステージおよびデステージを実行するための性能パラメータに影響を与える、前記受け取ることと、
イベントに応答して、前記機械学習モジュールの複数の層を通した順伝搬を介して、キャッシュのトラックのホールを、データを前記キャッシュにステージすることによって埋めた後に前記トラックのデステージを実行するか、または、前記キャッシュのトラックのホールを埋めずに前記トラックからの複数のデステージを実行するかを示す出力値を生成することと、
前記生成された出力値を、予想された出力値と比較することに基づいて、誤差範囲を計算することであって、前記予想された出力値が、前記キャッシュのトラックのホールを、データを前記キャッシュにステージすることによって埋めた後に前記トラックのデステージを実行することが正しいかどうかについての表示から生成される、前記計算することと、
誤差逆伝搬を介して、前記複数の層のノードを相互接続するリンクの重みを調節することにより、前記誤差範囲を小さくし、トラックのホールを埋めた後に前記トラックのデステージを実行するか否かについての予測を向上させることと
を含む、方法。 - ストレージ・コントローラを動作させる方法であって、
機械学習モジュールによって、前記ストレージ・コントローラの属性を含む入力を受け取ることであって、前記属性が、前記ストレージ・コントローラにおいてステージおよびデステージを実行するための性能パラメータに影響を与える、前記受け取ることと、
イベントに応答して、前記機械学習モジュールの複数の層を通した順伝搬を介して、キャッシュのトラックのホールを、前記トラックのデステージより前に、データを前記キャッシュにステージすることによって埋めるかどうかを示す出力値を生成することと、
前記生成された出力値を、予想された出力値と比較することに基づいて、誤差範囲を計算することであって、前記予想された出力値が、前記キャッシュのトラックのホールを、前記トラックのデステージより前に、データを前記キャッシュにステージすることによって埋めることが正しいかどうかについての表示から生成される、前記計算することと、
誤差逆伝搬を介して、前記複数の層のノードを相互接続するリンクの重みを調節することにより、前記誤差範囲を小さくし、トラックのホールを、前記トラックのデステージより前に埋めるか否かについての予測を向上させることと
を含み、前記機械学習モジュールをトレーニングするための誤差範囲が、
それを超えて、前記キャッシュにステージするためのより多くのタスク制御ブロックを割り当てると、前記ストレージ・コントローラの性能が低下する、最大ステージ応答時間の測定値と、
それを超えて、前記キャッシュからデステージするためのより多くのタスク制御ブロックを割り当てると、前記ストレージ・コントローラの性能が低下する、最大デステージ応答時間の測定値と、
それを超えるとアダプタがスラッシングを起こす帯域幅を含む、最適アダプタ帯域幅の測定値と
に基づく、方法。 - ステージの完了に応答して、前記誤差範囲を、
前記最適アダプタ帯域幅と現在のアダプタ帯域幅との差、および
前記最大ステージ応答時間と現在のランク応答時間との差
に基づいて演算することをさらに含む、請求項2に記載の方法。 - デステージの完了に応答して、前記誤差範囲を、
前記最適アダプタ帯域幅と現在のアダプタ帯域幅との差、および
現在のランク応答時間と前記最大デステージ応答時間との差
に基づいて演算することをさらに含む、請求項2に記載の方法。 - 正の誤差範囲を使用して、前記ホールを埋めるように前記機械学習モジュールをトレーニングし、負の誤差範囲を使用して、前記ホールを埋めないように前記機械学習モジュールをトレーニングする、請求項3または4に記載の方法。
- 機械学習モジュールをトレーニングするためにストレージ・コントローラを動作させる方法であって、
前記機械学習モジュールによって、前記ストレージ・コントローラの属性を含む入力を受け取ることであって、前記属性が、前記ストレージ・コントローラにおいてステージおよびデステージを実行するための性能パラメータに影響を与える、前記受け取ることと、
イベントに応答して、前記機械学習モジュールの複数の層を通した順伝搬を介して、キャッシュのトラックのホールを、前記トラックのデステージより前に、データを前記キャッシュにステージすることによって埋めるかどうかを示す出力値を生成することと、
前記生成された出力値を、予想された出力値と比較することに基づいて、誤差範囲を計算することであって、前記予想された出力値が、前記キャッシュのトラックのホールを、前記トラックのデステージより前に、データを前記キャッシュにステージすることによって埋めることが正しいかどうかについての表示から生成される、前記計算することと、
誤差逆伝搬を介して、前記複数の層のノードを相互接続するリンクの重みを調節することにより、前記誤差範囲を小さくし、トラックのホールを、前記トラックのデステージより前に埋めるか否かについての予測を向上させることと
を含み、前記機械学習モジュールが、
前記ストレージ・コントローラの前記属性を含む入力を受け取る入力層であって、前記属性が、少なくとも、ステージまたはデステージされたトラックのホールの数、ランク応答時間の現在の値、アダプタ応答時間、割り当てられたステージまたはデステージ・タスク制御ブロックの数、および不揮発性ストレージの使用量に基づく、前記入力層と、
1つまたは複数の隠れ層と、
出力値を生成する出力層と
を含むニューラル・ネットワークであり、
前記方法が、
推定値に基づいて、前記ニューラル・ネットワークにおいて初期重みを割り当てることと、
前記トレーニング中に、前記キャッシュからのデステージまたは前記キャッシュへのステージの完了に応答して、前記ニューラル・ネットワークにおいて前記重みを調節することと
をさらに含む、方法。 - ストレージ・コントローラを動作させるためのシステムであって、
メモリと、
前記メモリに結合されたプロセッサとを備え、
前記プロセッサが、
機械学習モジュールによって、ストレージ・コントローラの属性を含む入力を受け取ることであって、前記属性が、前記ストレージ・コントローラにおいてステージおよびデステージを実行するための性能パラメータに影響を与える、前記受け取ることと、
イベントに応答して、前記機械学習モジュールの複数の層を通した順伝搬を介して、キャッシュのトラックのホールを、データを前記キャッシュにステージすることによって埋めた後に前記トラックのデステージを実行するか、または、前記キャッシュのトラックのホールを埋めずに前記トラックからの複数のデステージを実行するかを示す出力値を生成することと、
前記生成された出力値を予想された出力値と比較することに基づいて、誤差範囲を計算することであって、前記予想された出力値が、前記キャッシュのトラックのホールを、データを前記キャッシュにステージすることによって埋めた後に前記トラックのデステージを実行することが正しいかどうかについての表示から生成される、前記計算することと、
誤差逆伝搬を介して、前記複数の層のノードを相互接続するリンクの重みを調節することにより、前記誤差範囲を小さくし、トラックのホールを埋めた後に前記トラックのデステージを実行するか否かについての予測を向上させることと
を含む動作を実行する、システム。 - ストレージ・コントローラを動作させるためのシステムであって、
メモリと、
前記メモリに結合されたプロセッサとを備え、
前記プロセッサが、
機械学習モジュールによって、ストレージ・コントローラの属性を含む入力を受け取ることであって、前記属性が、前記ストレージ・コントローラにおいてステージおよびデステージを実行するための性能パラメータに影響を与える、前記受け取ることと、
イベントに応答して、前記機械学習モジュールの複数の層を通した順伝搬を介して、キャッシュのトラックのホールを、前記トラックのデステージより前に、データを前記キャッシュにステージすることによって埋めるかどうかを示す出力値を生成することと、
前記生成された出力値を予想された出力値と比較することに基づいて、誤差範囲を計算することであって、前記予想された出力値が、前記キャッシュのトラックのホールを、前記トラックのデステージより前に、データを前記キャッシュにステージすることによって埋めることが正しいかどうかについての表示から生成される、前記計算することと、
誤差逆伝搬を介して、前記複数の層のノードを相互接続するリンクの重みを調節することにより、前記誤差範囲を小さくし、トラックのホールを、前記トラックのデステージより前に埋めるか否かについての予測を向上させることと
を含む動作を実行し、前記機械学習モジュールをトレーニングするための誤差範囲が、
それを超えて、前記キャッシュにステージするためのより多くのタスク制御ブロックを割り当てると、前記ストレージ・コントローラの性能が低下する、最大ステージ応答時間の測定値と、
それを超えて、前記キャッシュからデステージするためのより多くのタスク制御ブロックを割り当てると、前記ストレージ・コントローラの性能が低下する、最大デステージ応答時間の測定値と、
それを超えるとアダプタがスラッシングを起こす帯域幅を含む、最適アダプタ帯域幅の測定値と
に基づく、システム。 - 前記動作が、ステージの完了に応答して、前記誤差範囲を、
前記最適アダプタ帯域幅と現在のアダプタ帯域幅との差、および
前記最大ステージ応答時間と現在のランク応答時間との差
に基づいて演算することをさらに含む、請求項8に記載のシステム。 - 前記動作が、デステージの完了に応答して、前記誤差範囲を、
前記最適アダプタ帯域幅と現在のアダプタ帯域幅との差、および
現在のランク応答時間と前記最大デステージ応答時間との差
に基づいて演算することをさらに含む、請求項8に記載のシステム。 - 正の誤差範囲を使用して、前記ホールを埋めるように前記機械学習モジュールをトレーニングし、負の誤差範囲を使用して、前記ホールを埋めないように前記機械学習モジュールをトレーニングする、請求項9または10に記載のシステム。
- 機械学習モジュールをトレーニングするためにストレージ・コントローラを動作させるためのシステムであって、
メモリと、
前記メモリに結合されたプロセッサとを備え、
前記プロセッサが、
前記機械学習モジュールによって、ストレージ・コントローラの属性を含む入力を受け取ることであって、前記属性が、前記ストレージ・コントローラにおいてステージおよびデステージを実行するための性能パラメータに影響を与える、前記受け取ることと、
イベントに応答して、前記機械学習モジュールの複数の層を通した順伝搬を介して、キャッシュのトラックのホールを、前記トラックのデステージより前に、データを前記キャッシュにステージすることによって埋めるかどうかを示す出力値を生成することと、
前記生成された出力値を予想された出力値と比較することに基づいて、誤差範囲を計算することであって、前記予想された出力値が、前記キャッシュのトラックのホールを、前記トラックのデステージより前に、データを前記キャッシュにステージすることによって埋めることが正しいかどうかについての表示から生成される、前記計算することと、
誤差逆伝搬を介して、前記複数の層のノードを相互接続するリンクの重みを調節することにより、前記誤差範囲を小さくし、トラックのホールを、前記トラックのデステージより前に埋めるか否かについての予測を向上させることと
を含む動作を実行し、前記機械学習モジュールが、
前記ストレージ・コントローラの前記属性を含む入力を受け取る入力層であって、前記属性が、少なくとも、ステージまたはデステージされたトラックのホールの数、ランク応答時間の現在の値、アダプタ応答時間、割り当てられたステージまたはデステージ・タスク制御ブロックの数、および不揮発性ストレージの使用量に基づく、前記入力層と、
1つまたは複数の隠れ層と、
出力値を生成する出力層と
を含むニューラル・ネットワークであり、
前記動作が、
推定値に基づいて、前記ニューラル・ネットワークにおいて初期重みを割り当てることと、
前記トレーニング中に、前記キャッシュからのデステージまたは前記キャッシュへのステージの完了に応答して、前記ニューラル・ネットワークにおいて前記重みを調節することと
をさらに含む、システム。 - ストレージ・コントローラの機械学習モジュールをトレーニングするためのコンピュータ・プログラムであって、コンピュータに、
前記機械学習モジュールによって、ストレージ・コントローラの属性を含む入力を受け取ることであって、前記属性が、前記ストレージ・コントローラにおいてステージおよびデステージを実行するための性能パラメータに影響を与える、前記受け取ることと、
イベントに応答して、前記機械学習モジュールの複数の層を通した順伝搬を介して、キャッシュのトラックのホールを、データを前記キャッシュにステージすることによって埋めた後に前記トラックのデステージを実行するか、または、前記キャッシュのトラックのホールを埋めずに前記トラックからの複数のデステージを実行するかを示す出力値を生成することと、
前記生成された出力値を予想された出力値と比較することに基づいて、誤差範囲を計算することであって、前記予想された出力値が、前記キャッシュのトラックのホールを、データを前記キャッシュにステージすることによって埋めた後に前記トラックのデステージを実行することが正しいかどうかについての表示から生成される、前記計算することと、
誤差逆伝搬を介して、前記複数の層のノードを相互接続するリンクの重みを調節することにより、前記誤差範囲を小さくし、トラックのホールを埋めた後に前記トラックのデステージを実行するか否かについての予測を向上させることと
を実行させるためのコンピュータ・プログラム。 - ストレージ・コントローラの機械学習モジュールをトレーニングするためのコンピュータ・プログラムであって、コンピュータに、
前記機械学習モジュールによって、ストレージ・コントローラの属性を含む入力を受け取ることであって、前記属性が、前記ストレージ・コントローラにおいてステージおよびデステージを実行するための性能パラメータに影響を与える、前記受け取ることと、
イベントに応答して、前記機械学習モジュールの複数の層を通した順伝搬を介して、キャッシュのトラックのホールを、前記トラックのデステージより前に、データを前記キャッシュにステージすることによって埋めるかどうかを示す出力値を生成することと、
前記生成された出力値を予想された出力値と比較することに基づいて、誤差範囲を計算することであって、前記予想された出力値が、前記キャッシュのトラックのホールを、前記トラックのデステージより前に、データを前記キャッシュにステージすることによって埋めることが正しいかどうかについての表示から生成される、前記計算することと、
誤差逆伝搬を介して、前記複数の層のノードを相互接続するリンクの重みを調節することにより、前記誤差範囲を小さくし、トラックのホールを、前記トラックのデステージより前に埋めるか否かについての予測を向上させることと
を実行させるためのコンピュータ・プログラムであり、
前記機械学習モジュールをトレーニングするための誤差範囲が、
それを超えて、前記キャッシュにステージするためのより多くのタスク制御ブロックを割り当てると、前記ストレージ・コントローラの性能が低下する、最大ステージ応答時間の測定値と、
それを超えて、前記キャッシュからデステージするためのより多くのタスク制御ブロックを割り当てると、前記ストレージ・コントローラの性能が低下する、最大デステージ応答時間の測定値と、
それを超えるとアダプタがスラッシングを起こす帯域幅を含む、最適アダプタ帯域幅の測定値と
に基づく、コンピュータ・プログラム。 - 前記コンピュータに、ステージの完了に応答して、前記誤差範囲を、
前記最適アダプタ帯域幅と現在のアダプタ帯域幅との差、および
前記最大ステージ応答時間と現在のランク応答時間との差
に基づいて演算することをさらに実行させる、請求項14に記載のコンピュータ・プログラム。 - 前記コンピュータに、デステージの完了に応答して、前記誤差範囲を、
前記最適アダプタ帯域幅と現在のアダプタ帯域幅との差、および
現在のランク応答時間と前記最大デステージ応答時間との差
に基づいて演算することをさらに実行させる、請求項14に記載のコンピュータ・プログラム。 - 前記コンピュータに、正の誤差範囲を使用して、前記ホールを埋めるように前記機械学習モジュールをトレーニングし、負の誤差範囲を使用して、前記ホールを埋めないように前記機械学習モジュールをトレーニングすることをさらに実行させる、請求項15または16に記載のコンピュータ・プログラム。
- ストレージ・コントローラの機械学習モジュールをトレーニングするためのコンピュータ・プログラムであって、コンピュータに、
前記機械学習モジュールによって、ストレージ・コントローラの属性を含む入力を受け取ることであって、前記属性が、前記ストレージ・コントローラにおいてステージおよびデステージを実行するための性能パラメータに影響を与える、前記受け取ることと、
イベントに応答して、前記機械学習モジュールの複数の層を通した順伝搬を介して、キャッシュのトラックのホールを、前記トラックのデステージより前に、データを前記キャッシュにステージすることによって埋めるかどうかを示す出力値を生成することと、
前記生成された出力値を予想された出力値と比較することに基づいて、誤差範囲を計算することであって、前記予想された出力値が、前記キャッシュのトラックのホールを、前記トラックのデステージより前に、データを前記キャッシュにステージすることによって埋めることが正しいかどうかについての表示から生成される、前記計算することと、
誤差逆伝搬を介して、前記複数の層のノードを相互接続するリンクの重みを調節することにより、前記誤差範囲を小さくし、トラックのホールを、前記トラックのデステージより前に埋めるか否かについての予測を向上させることと
を実行させるためのコンピュータ・プログラムであり、
前記機械学習モジュールが、
前記ストレージ・コントローラの前記属性を含む入力を受け取る入力層であって、前記属性が、少なくとも、ステージまたはデステージされたトラックのホールの数、ランク応答時間の現在の値、アダプタ応答時間、割り当てられたステージまたはデステージ・タスク制御ブロックの数、および不揮発性ストレージの使用量に基づく、前記入力層と、
1つまたは複数の隠れ層と、
出力値を生成する出力層と
を含むニューラル・ネットワークであり、
前記コンピュータに、
推定値に基づいて、前記ニューラル・ネットワークにおいて初期重みを割り当てることと、
前記トレーニング中に、前記キャッシュからのデステージまたは前記キャッシュへのステージの完了に応答して、前記ニューラル・ネットワークにおいて前記重みを調節することと
をさらに実行させる、コンピュータ・プログラム。 - 機械学習モジュールをトレーニングするためのストレージ・コントローラであって、前記ストレージ・コントローラが動作を実行するように構成され、
前記動作が、
前記機械学習モジュールによって、前記ストレージ・コントローラの属性を含む入力を受け取ることであって、前記属性が、前記ストレージ・コントローラにおいてステージおよびデステージを実行するための性能パラメータに影響を与える、前記受け取ることと、
イベントに応答して、前記機械学習モジュールの複数の層を通した順伝搬を介して、キャッシュのトラックのホールを、データを前記キャッシュにステージすることによって埋めた後に前記トラックのデステージを実行するか、または、前記キャッシュのトラックのホールを埋めずに前記トラックからの複数のデステージを実行するかを示す出力値を生成することと、
前記生成された出力値を予想された出力値と比較することに基づいて、誤差範囲を計算することであって、前記予想された出力値が、前記キャッシュのトラックのホールを、データを前記キャッシュにステージすることによって埋めた後に前記トラックのデステージを実行することが正しいかどうかについての表示から生成される、前記計算することと、
誤差逆伝搬を介して、前記複数の層のノードを相互接続するリンクの重みを調節することにより、前記誤差範囲を小さくし、トラックのホールを埋めた後に前記トラックのデステージを実行するか否かについての予測を向上させることと
を含む、ストレージ・コントローラ。 - 機械学習モジュールをトレーニングするためのストレージ・コントローラであって、前記ストレージ・コントローラが動作を実行するように構成され、
前記動作が、
前記機械学習モジュールによって、前記ストレージ・コントローラの属性を含む入力を受け取ることであって、前記属性が、前記ストレージ・コントローラにおいてステージおよびデステージを実行するための性能パラメータに影響を与える、前記受け取ることと、
イベントに応答して、前記機械学習モジュールの複数の層を通した順伝搬を介して、キャッシュのトラックのホールを、前記トラックのデステージより前に、データを前記キャッシュにステージすることによって埋めるかどうかを示す出力値を生成することと、
前記生成された出力値を予想された出力値と比較することに基づいて、誤差範囲を計算することであって、前記予想された出力値が、前記キャッシュのトラックのホールを、前記トラックのデステージより前に、データを前記キャッシュにステージすることによって埋めることが正しいかどうかについての表示から生成される、前記計算することと、
誤差逆伝搬を介して、前記複数の層のノードを相互接続するリンクの重みを調節することにより、前記誤差範囲を小さくし、トラックのホールを、前記トラックのデステージより前に埋めるか否かについての予測を向上させることと
を含み、前記機械学習モジュールをトレーニングするための誤差範囲が、
それを超えて、前記キャッシュにステージするためのより多くのタスク制御ブロックを割り当てると、前記ストレージ・コントローラの性能が低下する、最大ステージ応答時間の測定値と、
それを超えて、前記キャッシュからデステージするためのより多くのタスク制御ブロックを割り当てると、前記ストレージ・コントローラの性能が低下する、最大デステージ応答時間の測定値と、
それを超えるとアダプタがスラッシングを起こす帯域幅を含む、最適アダプタ帯域幅の測定値と
に基づく、ストレージ・コントローラ。 - 前記動作が、ステージの完了に応答して、前記誤差範囲を、
前記最適アダプタ帯域幅と現在のアダプタ帯域幅との差、および
前記最大ステージ応答時間と現在のランク応答時間との差
に基づいて演算することをさらに含む、請求項20に記載のストレージ・コントローラ。 - 正の誤差範囲を使用して、前記ホールを埋めるように前記機械学習モジュールをトレーニングし、負の誤差範囲を使用して、前記ホールを埋めないように前記機械学習モジュールをトレーニングする、請求項21に記載のストレージ・コントローラ。
- 請求項13~18のいずれか1項に記載のコンピュータ・プログラムをコンピュータ可読に記録した記録媒体。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/170,979 | 2018-10-25 | ||
US16/170,979 US11222265B2 (en) | 2018-10-25 | 2018-10-25 | Perform destages of tracks with holes in a storage system by training a machine learning module |
PCT/IB2019/058286 WO2020084364A1 (en) | 2018-10-25 | 2019-09-30 | Destaging tracks with holes in storage system |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2022504370A JP2022504370A (ja) | 2022-01-13 |
JP7292785B2 true JP7292785B2 (ja) | 2023-06-19 |
Family
ID=70325301
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021518794A Active JP7292785B2 (ja) | 2018-10-25 | 2019-09-30 | ストレージ・システムにおけるホールを有するトラックのデステージ |
Country Status (6)
Country | Link |
---|---|
US (1) | US11222265B2 (ja) |
JP (1) | JP7292785B2 (ja) |
CN (1) | CN112912860B (ja) |
DE (1) | DE112019003255T5 (ja) |
GB (1) | GB2591424B (ja) |
WO (1) | WO2020084364A1 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11494582B2 (en) | 2018-02-08 | 2022-11-08 | Western Digital Technologies, Inc. | Configurable neural network engine of tensor arrays and memory cells |
US10901904B2 (en) | 2018-10-25 | 2021-01-26 | International Business Machines Corporation | Using a machine learning module to perform destages of tracks with holes in a storage system |
US10929058B2 (en) * | 2019-03-25 | 2021-02-23 | Western Digital Technologies, Inc. | Enhanced memory device architecture for machine learning |
US11783176B2 (en) | 2019-03-25 | 2023-10-10 | Western Digital Technologies, Inc. | Enhanced storage device memory architecture for machine learning |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2021524078A (ja) | 2018-05-18 | 2021-09-09 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | キャッシュからトラックを削除するのに用いる複数のキャッシュ削除アルゴリズムの1つを選択 |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05225167A (ja) * | 1991-11-25 | 1993-09-03 | Hitachi Ltd | データ処理装置 |
US6523087B2 (en) | 2001-03-06 | 2003-02-18 | Chaparral Network Storage, Inc. | Utilizing parity caching and parity logging while closing the RAID5 write hole |
US20030005418A1 (en) | 2001-03-19 | 2003-01-02 | C. Sridhar | Method for allocation, initialization and access of aggregate data types for architectures with differing memory granularity |
US7191207B2 (en) * | 2003-06-11 | 2007-03-13 | International Business Machines Corporation | Apparatus and method to dynamically allocate bandwidth in a data storage and retrieval system |
US8627002B2 (en) * | 2006-10-12 | 2014-01-07 | International Business Machines Corporation | Method to increase performance of non-contiguously written sectors |
US8332581B2 (en) * | 2007-08-13 | 2012-12-11 | International Business Machines Corporation | Stale track initialization in a storage controller |
US8675868B1 (en) | 2008-07-01 | 2014-03-18 | Maxim Integrated Products, Inc. | Encrypting an address-dependent value along with code to prevent execution or use of moved code |
US8131659B2 (en) * | 2008-09-25 | 2012-03-06 | Microsoft Corporation | Field-programmable gate array based accelerator system |
US8478945B2 (en) * | 2010-02-01 | 2013-07-02 | International Business Machines Corporation | Dynamic management of destage tasks in a storage controller |
CA3019048A1 (en) * | 2011-11-07 | 2013-05-16 | Nexgen Storage, Inc. | Primary data storage system with quality of service |
US8838905B2 (en) * | 2011-11-17 | 2014-09-16 | International Business Machines Corporation | Periodic destages from inside and outside diameters of disks to improve read response time via traversal of a spatial ordering of tracks |
US9262321B2 (en) | 2011-11-17 | 2016-02-16 | International Business Machines Corporation | Adjustment of destage rate based on read and write response time requirements |
US10509776B2 (en) | 2012-09-24 | 2019-12-17 | Sandisk Technologies Llc | Time sequence data management |
US9459800B2 (en) | 2014-07-08 | 2016-10-04 | International Business Machines Corporation | Storage region metadata management |
US9632705B2 (en) | 2014-12-17 | 2017-04-25 | Sandisk Technologies Llc | System and method for adaptive memory layers in a memory device |
US10318450B2 (en) | 2016-07-01 | 2019-06-11 | Intel Corporation | Efficient context based input/output (I/O) classification |
US10289544B2 (en) | 2016-07-19 | 2019-05-14 | Western Digital Technologies, Inc. | Mapping tables for storage devices |
-
2018
- 2018-10-25 US US16/170,979 patent/US11222265B2/en active Active
-
2019
- 2019-09-30 CN CN201980069667.8A patent/CN112912860B/zh active Active
- 2019-09-30 JP JP2021518794A patent/JP7292785B2/ja active Active
- 2019-09-30 GB GB2106810.1A patent/GB2591424B/en active Active
- 2019-09-30 DE DE112019003255.0T patent/DE112019003255T5/de active Pending
- 2019-09-30 WO PCT/IB2019/058286 patent/WO2020084364A1/en active Application Filing
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2021524078A (ja) | 2018-05-18 | 2021-09-09 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | キャッシュからトラックを削除するのに用いる複数のキャッシュ削除アルゴリズムの1つを選択 |
Also Published As
Publication number | Publication date |
---|---|
CN112912860A (zh) | 2021-06-04 |
US20200134462A1 (en) | 2020-04-30 |
CN112912860B (zh) | 2023-04-18 |
DE112019003255T5 (de) | 2021-03-18 |
GB202106810D0 (en) | 2021-06-30 |
JP2022504370A (ja) | 2022-01-13 |
GB2591424A (en) | 2021-07-28 |
GB2591424B (en) | 2021-11-10 |
US11222265B2 (en) | 2022-01-11 |
WO2020084364A1 (en) | 2020-04-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7292785B2 (ja) | ストレージ・システムにおけるホールを有するトラックのデステージ | |
US20220004504A1 (en) | Integration of application indicated maximum time to cache to least recently used track demoting schemes in a cache management system of a storage controller | |
US10802930B2 (en) | Determining a recovery mechanism in a storage system using a machine learning module | |
US10078594B2 (en) | Cache management for map-reduce applications | |
US11461242B2 (en) | Integration of application indicated minimum time to cache and maximum time to cache to least recently used track demoting schemes in a cache management system of a storage controller | |
US20210133116A1 (en) | Integration of application indicated minimum time to cache to least recently used track demoting schemes in a cache management system of a storage controller | |
US11010295B2 (en) | Asynchronous update of metadata tracks in response to a cache hit generated via an i/o operation over a bus interface | |
US11016851B2 (en) | Determine recovery mechanism in a storage system by training a machine learning module | |
US11314649B2 (en) | Using a machine learning module to perform destages of tracks with holes in a storage system | |
US10613986B2 (en) | Adjustment of the number of tasks for a cache storage scan and destage application based on the type of elements to be destaged from the cache storage | |
US11175959B2 (en) | Determine a load balancing mechanism for allocation of shared resources in a storage system by training a machine learning module based on number of I/O operations | |
US11175958B2 (en) | Determine a load balancing mechanism for allocation of shared resources in a storage system using a machine learning module based on number of I/O operations | |
US11231855B2 (en) | Determination of a type of destage to perform based on preference between performance of operations and preservation of drive life using a machine learning module | |
AU2021256526B2 (en) | Determination of a type of destage to perform based on preference between performance of operations and preservation of drive life |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210427 |
|
RD12 | Notification of acceptance of power of sub attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7432 Effective date: 20210406 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20220222 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20220512 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20230131 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20230131 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20230425 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20230523 |
|
RD14 | Notification of resignation of power of sub attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7434 Effective date: 20230523 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20230605 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7292785 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |