(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-08-26
(45)【発行日】2024-09-03
(54)【発明の名称】エフェメラルストレージに対するデータ復元のためのシステム及び装置
(51)【国際特許分類】
G06F 3/06 20060101AFI20240827BHJP
G06F 13/10 20060101ALI20240827BHJP
G06F 12/0868 20160101ALI20240827BHJP
G06F 12/00 20060101ALI20240827BHJP
G06F 12/02 20060101ALI20240827BHJP
G06F 11/20 20060101ALI20240827BHJP
G06F 9/455 20180101ALI20240827BHJP
【FI】
G06F3/06 306Z
G06F3/06 301X
G06F3/06 302A
G06F13/10 330C
G06F13/10 340A
G06F12/0868
G06F12/00 597U
G06F12/02 510A
G06F11/20 692
G06F9/455 150
(21)【出願番号】P 2021115674
(22)【出願日】2021-07-13
【審査請求日】2024-06-21
(32)【優先日】2020-07-13
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2020-07-16
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2020-07-28
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2021-01-27
(33)【優先権主張国・地域又は機関】US
【早期審査対象出願】
(73)【特許権者】
【識別番号】390019839
【氏名又は名称】三星電子株式会社
【氏名又は名称原語表記】Samsung Electronics Co.,Ltd.
【住所又は居所原語表記】129,Samsung-ro,Yeongtong-gu,Suwon-si,Gyeonggi-do,Republic of Korea
(74)【代理人】
【識別番号】100107766
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】奇 亮▲そく▼
(72)【発明者】
【氏名】柳 星旭
【審査官】豊田 真弓
(56)【参考文献】
【文献】米国特許出願公開第2017/0220374(US,A1)
【文献】米国特許出願公開第2016/0004467(US,A1)
【文献】特開2017-201519(JP,A)
【文献】米国特許第09547562(US,B1)
【文献】国際公開第2018/142622(WO,A1)
【文献】特表2012-509521(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 3/06
G06F 13/10
G06F 12/0868
G06F 12/00
G06F 12/02
G06F 11/20
G06F 9/455
(57)【特許請求の範囲】
【請求項1】
欠陥復旧ストレージ装置に関するストレージ装置の欠陥を識別するステップと、
前記欠陥復旧ストレージ装置に関する第1領域がアクセス不可能な空間を含むこと、及び、前記欠陥復旧ストレージ装置に関する第2領域がアクセス可能な空間を含むことを決定するステップと、
データに対して第2ストレージ装置で読み出し命令を識別し、前記読み出し命令に基づいて、前記第2ストレージ装置のローカルメモリから読み出し動作によって要請された第1データを決定するステップと、
前記読み出し命令に基づいて、前記第2領域から前記読み出し動作によって要請された第2データを決定するステップと、
前記第2領域から前記第2データを回収するステップと、
前記欠陥復旧ストレージ装置から前記第2ストレージ装置への前記第2データの伝送をスケジュールするステップと、を含む方法。
【請求項2】
前記読み出し命令に基づいて、前記欠陥復旧ストレージ装置の前記アクセス不可能な空間から前記読み出し動作によって要請された第3データを決定するステップと、
前記第3データの決定に基づいて、前記欠陥復旧ストレージ装置から前記第2ストレージ装置にエラーを返すステップと、を更に含む請求項1に記載の方法。
【請求項3】
前記データに対して欠陥復旧ストレージ装置において書き込み命令を識別するステップと、
ホスト装置のページキャッシュに前記データの少なくとも一部を記録するステップと、
前記データの一部は汚染データを含むことを決定し、前記第2ストレージ装置の永久メモリに前記汚染データを記録するステップと、
前記データの一部は前記アクセス不可能な空間に関するクリーンデータを含むことを決定し、前記第2ストレージ装置の前記永久メモリに前記クリーンデータを記録するステップと、を更に含む請求項1に記載の方法。
【請求項4】
前記第2データの伝送は、前記欠陥復旧ストレージ装置から前記第2ストレージ装置への少なくとも一つの仮想マシンのライブマイグレーションを含む請求項1に記載の方法。
【請求項5】
前記第1データは前記ローカルメモリにキャッシュされた前記データの少なくとも一部を含む請求項1に記載の方法。
【請求項6】
前記ローカルメモリはDRAMを含み、前記第1データの識別はページキャッシュから行われる請求項1に記載の方法。
【請求項7】
前記データはホスト装置の少なくとも一つの仮想マシンに関するデータを含む請求項1に記載の方法。
【請求項8】
前記ストレージ装置の欠陥は前記欠陥復旧ストレージ装置を部分読み出し専用モードで動作するようにし、
前記欠陥復旧ストレージ装置は低くされた性能または減らされた容量で動作する請求項1に記載の方法。
【請求項9】
前記欠陥復旧ストレージ装置または前記第2ストレージ装置のうち少なくとも一つはソリッドステートドライブ(SSD)を含む請求項1に記載の方法。
【請求項10】
ページキャッシュを管理するための装置において、
コンピュータで実行可能な命令を保存する少なくとも一つのメモリ装置と、
前記少なくとも一つのメモリ装置にアクセスするように構成された少なくとも一つのプロセッサとを含み、
前記少なくとも一つのプロセッサは、前記コンピュータで実行可能な命令を実行して、
欠陥復旧ストレージ装置に関するストレージ装置の欠陥を識別し、
前記欠陥復旧ストレージ装置に関する第1領域がアクセス不可能な空間を含むこと、及び、前記欠陥復旧ストレージ装置に関する第2領域がアクセス可能な空間を含むことを決定し、
データに対して第2ストレージ装置で読み出し命令を識別し、前記読み出し命令に基づいて、前記第2ストレージ装置のローカルメモリから読み出し動作によって要請された第1データを決定し、
前記読み出し命令に基づいて、前記第2領域から前記読み出し動作によって要請された第2データを決定し、
前記第2領域から前記第2データを回収し、
前記欠陥復旧ストレージ装置から前記第2ストレージ装置への前記第2データの伝送をスケジュールするように構成されている装置。
【請求項11】
前記少なくとも一つのプロセッサは、更に、前記コンピュータで実行可能な命令を実行して、
前記読み出し命令に基づいて、前記欠陥復旧ストレージ装置の前記アクセス不可能な空間から前記読み出し動作によって要請された第3データを決定し、
前記第3データの決定に基づいて、前記欠陥復旧ストレージ装置から前記第2ストレージ装置にエラーを返すように構成されている請求項10に記載の装置。
【請求項12】
前記少なくとも一つのプロセッサは、更に、前記コンピュータで実行可能な命令を実行して、
前記データに対して欠陥復旧ストレージ装置において書き込み命令を識別し、
ホスト装置のページキャッシュに前記データの少なくとも一部を記録し、
前記データの前記一部は汚染データを含むことを決定し、前記第2ストレージ装置の永久メモリに前記汚染データを記録し、
前記データの一部は前記アクセス不可能な空間に関するクリーンデータを含むことを決定し、前記第2ストレージ装置の前記永久メモリに前記クリーンデータを記録するように構成されている、請求項10に記載の装置。
【請求項13】
前記データの伝送は、前記欠陥復旧ストレージ装置から前記第2ストレージ装置への少なくとも一つの仮想マシンのライブマイグレーションを含む請求項10に記載の装置。
【請求項14】
前記第1データは前記ローカルメモリにキャッシュされた前記データの少なくとも一部を含む請求項10に記載の装置。
【請求項15】
前記ローカルメモリはDRAMを含み、
前記第1データの決定はページキャッシュから行われ、
前記データはホスト装置の少なくとも一つの仮想マシンに関するデータを含む請求項10に記載の装置。
【請求項16】
前記ストレージ装置の欠陥は前記欠陥復旧ストレージ装置を部分読み出し専用モードで動作するようにし、
前記欠陥復旧ストレージ装置は低くされた性能または減らされた容量で動作する請求項10に記載の装置。
【請求項17】
プロセッサによって実行されるコンピュータで実行可能な命令を含むコンピュータプログラムであって、前記命令は、前記プロセッサに、
欠陥復旧ストレージ装置に関するストレージ装置の欠陥を識別し、
前記欠陥復旧ストレージ装置に関する第1領域がアクセス不可能な空間を含むこと、及び、前記欠陥復旧ストレージ装置に関する第2領域がアクセス可能な空間を含むことを決定し、
データに対して第2ストレージ装置で読み出し命令を識別し、前記読み出し命令に基づいて、前記第2ストレージ装置のローカルメモリから読み出し動作によって要請された第1データを決定し、
前記読み出し命令に基づいて、前記第2領域から前記読み出し動作によって要請された第2データを決定し、
前記第2領域から前記第2データを回収し、
前記欠陥復旧ストレージ装置から前記第2ストレージ装置への前記第2データの伝送をスケジュールする動作を実行させる、コンピュータプログラム。
【請求項18】
前記読み出し命令に基づいて、前記欠陥復旧ストレージ装置の前記アクセス不可能な空間から前記読み出し動作によって要請された第3データを決定し、
前記第3データの決定に基づいて、前記欠陥復旧ストレージ装置から前記第2ストレージ装置にエラーを返す命令を更に含む請求項17に記載のコンピュータプログラム。
【請求項19】
前記データに対して欠陥復旧ストレージ装置において書き込み命令を識別し、
ホスト装置のページキャッシュに前記データの少なくとも一部を記録し、
前記データの一部は汚染データを含むことを決定し、前記第2ストレージ装置の永久メモリに前記汚染データを記録し、
前記データの一部は前記アクセス不可能な空間に関するクリーンデータを含むことを決定し、前記第2ストレージ装置の前記永久メモリに前記クリーンデータを記録する命令を更に含む請求項17に記載のコンピュータプログラム。
【請求項20】
前記第2データの伝送は、前記欠陥復旧ストレージ装置から前記第2ストレージ装置への少なくとも一つの仮想マシンのライブマイグレーションを含む請求項17に記載のコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示はデータストレージシステムに関し、特にエフェメラルストレージの脈略でデータの復元を提供するように構成されるデータストレージシステム及び装置に関する。
【背景技術】
【0002】
本背景になる技術セクションは単に文脈を提供するためのものであり、このセクションの任意の実施例または概念の開示が先行技術であることを認めるものを構成しない。
【0003】
ストレージ装置及びシステムは多様なデータ処理システムで広範囲に応用される。一部の実施例において、ストレージ装置はコンピュータシステムのエミュレーションと称する仮想マシン(Virtual Machine、以下、VM)に関する少なくとも一部の様相でホストとして使用される。VMは特定のハードウェア、ソフトウェア、及び/またはこれらの組み合わせを含む具現を含む。併せて、ストレージ装置は相当な範囲の内部の欠陥状態(例えば、温度センサエラーまたはコピーによるビットフリップを含む)に直面し得るほど十分に複雑である。このような欠陥状態は、ストレージ装置の上でまたはストレージ装置と共に行われる特定作業の効率性を低下させる恐れがある。
【0004】
よって、ストレージ装置及び/またはストレージ装置を含むシステムに関する復旧動作のためのシステム及び方法が必要である。
【発明の概要】
【発明が解決しようとする課題】
【0005】
本発明の目的は、エフェメラルストレージに対するデータの復元を提供するように構成されるデータストレージシステム及び装置を提供することにある。
【課題を解決するための手段】
【0006】
一部の実施例において、ページキャッシュを管理するための方法が記述される。前記方法は、欠陥復旧ストレージ装置に関するストレージ装置の欠陥を識別するステップと、前記欠陥復旧ストレージ装置に関する第1領域がアクセス不可能な空間を含み、前記欠陥復旧ストレージ装置に関する第2領域がアクセス可能な空間を含むことを決定するステップと、データに対する第2ストレージ装置で読み出し命令を識別し、前記読み出し命令に基づいて、前記第2ストレージ装置のローカルメモリから読み出し動作によって要請された第1データを決定するステップと、前記読み出し命令に基づいて、前記第2領域から前記読み出し動作によって要請された第2データを決定するステップと、前記第2領域から前記第2データを回収するステップと、前記欠陥復旧ストレージ装置から前記第2ストレージ装置に前記第2データの伝送をスケジュールするステップと、を含む。前記方法は、前記読み出し命令に基づいて、前記欠陥復旧ストレージ装置の前記アクセス不可能な空間から前記読み出し動作によって要請された第3データを決定するステップと、前記第3データの決定に基づいて、前記欠陥復旧ストレージ装置から前記第2ストレージ装置にエラーを返還するステップと、を更に含む。
【0007】
他の実施例において、前記方法は、前記データに対する欠陥復旧ストレージ装置において書き込み命令を識別するステップと、ホスト装置のページキャッシュに前記データの少なくとも一部を記録するステップと、前記データの前記一部は汚染データを含むことを決定し、前記第2ストレージ装置の永久メモリに前記汚染データを記録するステップと、前記データの他の一部は前記アクセス不可能な空間に関するクリーンデータを含むことを決定し、前記第2ストレージ装置の前記永久メモリに前記クリーンデータを記録するステップと、を更に含む。
【0008】
多様な実施例において、前記第2データの伝送は、前記欠陥復旧ストレージ装置から前記第2ストレージ装置への少なくとも一つの仮想マシンのライブマイグレーション(live migration)を含む。一部の実施例において、前記第1データは前記ローカルメモリにキャッシュされた前記データの少なくとも一部を含む。多様な実施例において、前記ローカルメモリはDRAM(Dynamic Random Access Memory)を含み、前記第1データの識別はページキャッシュから行われる。一部の実施例において、前記データはホスト装置の少なくとも一つの仮想マシンに関するデータを含む。多様な実施例において、前記ストレージ装置の欠陥は前記欠陥復旧ストレージ装置を部分読み出し専用モードで動作するようにし、前記欠陥復旧ストレージ装置は低下された性能または減少された容量で動作を行う。一部の実施例において、前記欠陥復旧ストレージ装置または前記第2ストレージ装置のうち少なくとも一つはソリッドステートドライブ(Solid State Drive、SSD)を含む。多様な実施例において、ページキャッシュを管理するための装置が記述される。前記装置は、コンピュータで実行可能な命令を保存する少なくとも一つのメモリ装置と、前記少なくとも一つのメモリ装置にアクセスするように構成される少なくとも一つのプロセッサと、を含むが、前記少なくとも一つのプロセッサは、欠陥復旧ストレージ装置に関するストレージ装置の欠陥を識別し、前記欠陥復旧ストレージ装置に関する第1領域がアクセス不可能な空間を含み、前記欠陥復旧ストレージ装置に関する第2領域がアクセス可能な空間を含むことを決定し、データに対する第2ストレージ装置で読み出し命令を識別し、前記読み出し命令に基づいて、前記第2ストレージ装置のローカルメモリから読み出し動作によって要請された第1データを決定し、前記読み出し命令に基づいて、前記第2領域から前記読み出し動作によって要請された第2データを決定し、前記第2領域から前記第2データを回収し、そして前記欠陥復旧ストレージ装置から前記第2ストレージ装置に前記第2データの伝送をスケジュールするための前記コンピュータで実行可能な命令を実行するように構成される。
【0009】
多様な実施例において、前記少なくとも一つのプロセッサは、前記読み出し命令に基づいて、前記欠陥復旧ストレージ装置の前記アクセス不可能な空間から前記読み出し動作によって要請された第3データを決定し、前記第3データの決定に基づいて、前記欠陥復旧ストレージ装置から前記第2ストレージ装置にエラーを返還するための前記コンピュータで実行可能な命令を更に実行するように構成される。前記少なくとも一つのプロセッサは、前記データに対する欠陥復旧ストレージ装置において書き込み命令を識別し、ホスト装置のページキャッシュに前記データの少なくとも一部を記録し、前記データの前記一部は汚染データを含むことを決定し、前記第2ストレージ装置の永久メモリに前記汚染データを記録し、そして前記データの他の一部は前記アクセス不可能な空間に関するクリーンデータを含むことを決定し、前記第2ストレージ装置の前記永久メモリに前記クリーンデータを記録するための前記コンピュータで実行可能な命令を更に実行する。
【0010】
他の実施例において、前記第2データの伝送は、前記欠陥復旧ストレージ装置から前記第2ストレージ装置への少なくとも一つの仮想マシンのライブマイグレーションを含む。一部の実施例において、前記第1データは前記ローカルメモリにキャッシュされた前記データの少なくとも一部を含む。多様な実施例において、前記ローカルメモリはDRAMを含み、前記第1データの決定はページキャッシュから行われ、前記データはホスト装置の少なくとも一つの仮想マシンに関するデータを含む。一部の実施例において、前記ストレージ装置の欠陥は前記欠陥復旧ストレージ装置を部分読み出し専用モードで動作するようにし、前記欠陥復旧ストレージ装置は低下された性能または減少された容量で動作を行う。
【0011】
多能な実施例において、非一時的なコンピュータ読み取り可能媒体が記述される。プロセッサによって実行されるコンピュータで実行可能な命令を保存する非一時的なコンピュータ読み取り可能媒体において、前記プロセッサによって欠陥復旧ストレージ装置に関するストレージ装置の欠陥を識別し、前記欠陥復旧ストレージ装置に関する第1領域がアクセス不可能な空間を含み、前記欠陥復旧ストレージ装置に関する第2領域がアクセス可能な空間を含むことを決定し、データに対する第2ストレージ装置で読み出し命令を識別し、前記読み出し命令に基づいて、前記第2ストレージ装置のローカルメモリから読み出し動作によって要請された第1データを決定し、前記読み出し命令に基づいて、前記第2領域から前記読み出し動作によって要請された第2データを決定し、前記第2領域から前記第2データを回収し、そして前記欠陥復旧ストレージ装置から前記第2ストレージ装置に前記第2データの伝送をスケジュールする動作を行う。
【0012】
前記非一時的なコンピュータ読み取り可能媒体は、前記読み出し命令に基づいて、前記欠陥復旧ストレージ装置の前記アクセス不可能な空間から前記読み出し動作によって要請された第3データを決定し、前記第3データの決定に基づいて、前記欠陥復旧ストレージ装置から前記第2ストレージ装置にエラーを返還するコンピュータで実行可能な命令を更に含む。
【0013】
前記非一時的なコンピュータ読み取り可能媒体は、前記データに対する欠陥復旧ストレージ装置において書き込み命令を識別し、ホスト装置のページキャッシュに前記データの少なくとも一部を記録し、前記データの前記一部は汚染データを含むことを決定し、前記第2ストレージ装置の永久メモリに前記汚染データを記録し、そして前記データの他の一部は前記アクセス不可能な空間に関するクリーンデータを含むことを決定し、前記第2ストレージ装置の前記永久メモリに前記クリーンデータを記録するコンピュータで実行可能な命令を更に含む。他の実施例において、前記第2データの伝送は、前記欠陥復旧ストレージ装置から前記第2ストレージ装置への少なくとも一つの仮想マシンのライブマイグレーションを含む。
【0014】
言及したように、一部の実施例において、システム、方法、及び装置は欠陥復旧ストレージ装置を含む。欠陥復旧ストレージ装置は、部分的な機能を保持する間に多様な復旧モードで動作するか、内部の欠陥にもかかわらず全体機能として返還される。例えば、一部の状況において、ストレージ装置が部分的に機能を保持する方法の一つは読み出し専用モードで動作することであるが、この場合、ストレージ装置はホストからの読み出し要請には応答するが、ストレージ装置がホストから書き込み要請を受信するとエラーメッセージを返還する。
【発明の効果】
【0015】
本開示によるシステム及び装置によると、ストレージ装置の上に欠陥が発生して性能か低下するか、容量が減少するか、機能が低下しても処理されるデータの無欠性を保持することができ、欠陥発生によって引き起こされるデータ処理速度の低下を防止することができる。
【図面の簡単な説明】
【0016】
本明細書に提供される図面は特定実施例を説明するためのものであり、明示的に例示されない可能性がある他の実施例が本開示の範囲から排除されることはない。
【0017】
本開示の特定の実施例及び他の特徴及び利点は、発明の説明、特許請求の範囲、及び添付した図面を参照して識別され理解されるはずである。
【
図1】本開示の実施例によって開示されたシステムが動作する環境を示すデータストレージシステムのブロック図である。
【
図2a】本開示の実施例によって欠陥復旧ストレージ装置が直面し得る多様な欠陥モードを示す(例えば、仮想マシンのライブマイグレーションの間)ストレージ装置の欠陥状態の表である。
【
図2b】本開示の実施例によってライブマイグレーションの間の欠陥復旧ストレージ装置の多様な状態を示すストレージ装置の動作モードの表である。
【
図2c】本開示の実施例によってホストによってストレージ装置に伝送するための命令の表である。
【
図2d】本開示の実施例による復旧モードの階層構造を示す表である。
【
図3a】本開示の実施例による復旧ストレージ装置の動作の第1方法に関する順序図である。
【
図3b】本開示の実施例による復旧ストレージ装置の動作の第2方法に関する順序図である。
【
図4a】本開示の実施例によってストレージ装置を使用してライブ仮想マシンマイグレーションを行うことに対するダイヤグラムである。
【
図4b】本開示の実施例によって欠陥復旧ストレージ装置を使用してライブ仮想マシンマイグレーションを行うことに対する他のダイヤグラムである。
【
図5】本開示の実施例によって欠陥復旧ストレージ装置を使用してライブ仮想マシンマイグレーションを行う方法に関する順序図である。
【
図6】本開示の実施例によってページキャッシュ管理に関する例示的な動作を行う方法に関する順序図である。
【発明を実施するための形態】
【0018】
添付した図面に関し、以下説明する詳細な説明は本開示によって提供されるストレージ装置及びストレージ装置を含むシステムの復旧動作のためのシステム及び方法の実施例の説明であり、本開示の内容を構成するか活用される唯一な形態を示すことではない。詳細な説明は、説明された実施例に関する本開示の特徴を説明する。但し、同じであるか等価の機能及び構造が本開示の範囲内に含まれるように意図された相異なる実施例によって達成されることを理解すべきである。本明細書に示したように、類似した構成番号は類似した構成または特徴を示すように意図される。
【0019】
一部の実施例において、開示されたシステムは欠陥復旧ストレージ装置(
図1乃至
図3について以下詳細に説明される)から他のストレージ装置に仮想マシン(VM)のライブマイグレーションを行うのに使用される。特に、マイグレーションはサービスの中断が殆どまたは全くなく、実行中の仮想マシンが一つの物理的ホストから他の物理的ホストに(例えば、支援ストレージ装置に)移動するプロセスを意味する。また、ライブマイグレーション(以下、詳細に説明される)はクライアントまたはアプリケーションの連結を断たずに、実行中の仮想マシンまたはアプリケーションを互いに異なる物理的マシンの間で移動させるプロセスを意味する。一部の実施例において、仮想マシンのメモリ、ストレージ、及びネットワーク連結の少なくとも一部はソース装置から目標装置に移転される。
【0020】
多様な実施例において、開示されたシステムは仮想マシンの動作を支援するストレージ装置を含み、ソース装置と目標装置との間の仮想マシンのライブマイグレーションを更に支援する。一部の様相において、本開示は欠陥復旧ストレージ装置のようなストレージ装置を含む装置を示し、仮想マシンに関するデータ及び情報の少なくとも一部を貯蔵するのに使用されるソース装置及び目標装置を参照する。ソース装置、ソースストレージ装置、目標装置、及び/または目標ストレージ装置のような用語は、本開示の範囲を逸脱することなく本明細書で互いに交換されて使用可能であることを理解すべきである。
【0021】
一部の実施例で言及したように、ストレージ装置は欠陥を経験し、低下した性能動作モード(例えば、後述するように読み出し専用動作モードまたは部分読み出し専用動作モード)に変換される欠陥復旧ストレージ装置を更に含む。一部の様相において、このような欠陥復旧ストレージ装置は仮想マシンを支援するためにソース側のサーバで動作するように構成され、少なくとも部分的に動作(例えば、ストレージに関する動作)を行う。よって、開示されたシステムは欠陥を経験する欠陥復旧ストレージ装置で少なくとも部分的にホスティングされた仮想マシンの第2装置(例えば、第2ストレージ装置)へのライブマイグレーションを許容するように構成される。特に、開示されたシステムはソース装置作業(例えば、揮発性)メモリ、2次ストレージ(例えば、欠陥復旧ストレージ装置の非揮発性メモリ)、目標装置作業(例えば、揮発性)メモリ、及び2次ストレージ(例えば、第2ストレージ装置の非揮発性メモリ)の組み合わせに対するデータ検査を含む方法論を使用する。また、作業メモリ、揮発性メモリ、2次ストレージ、永久メモリ、及び非揮発性メモリは、本開示の範囲を逸脱しない限り、互いに交換して使用可能なことを理解すべきである。
【0022】
上述したように、開示されたシステムは欠陥復旧ストレージ装置から第2装置(例えば、目標装置)への仮想マシンのライブマイグレーションの様相を行うために、欠陥復旧ストレージ装置に関連して踏査するように構成される。一部の実施例において、欠陥復旧ストレージ装置は多様な復旧モードで動作し、内部の欠陥にも関わらず、部分的に機能を維持するか全体機能に復帰する。例えば、温度センサの障害に応答して、ストレージ装置は減少された使用率で、または書き込み動作に対する減少された使用率で動作するか、書き込み動作を全く行わなくてもよい。ストレージ媒体を損傷し得る一時的な障害に応答して、ストレージ装置はストレージ媒体を再フォーマットする。ストレージ媒体が損傷していない一時的な障害に応答して、ストレージ装置は電源をサイクリングする。一部の状況において、ストレージ装置が部分的に機能を保持する方法の一つは読み出し専用モードに動作することであるが、この場合、ストレージ装置がホストの読み出し要請には応答するが、ホストの書き込み要請を受信するとエラーメッセージを返還する。また、満了予定のデータを復旧領域に移動するため、該当データは満了によって消失されない。
【0023】
多様な実施例において、欠陥を経験していない非欠陥復旧ストレージ装置の場合、ストレージ装置はソース装置に関するストレージ装置から目標装置に関するストレージ装置にデータのイメージをコピーすることで(例えば、メモリコピー動作を使用して)、仮想マシンのライブマイグレーションを行う。一部の側面において(下記
図4aに関して更に図示し説明する)、この場合、ライブマイグレーションの間、データの一部は揮発性メモリ(例えば、DRAM)に残存するに対し、データの他の一部は2次ストレージ装置(例えば、第2ストレージ装置)に記録される。例えば、一部のクリーン(C)データ、汚染(または、汚染された)(D)データ(例えば、アクセス及び修正されたが、まだ2次ストレージに記録されていないデータ)及び/または除去されたデータ(例えば、捨てられる可能性があったか捨てられる可能性があるデータ)はライブマイグレーションの間に揮発性メモリに残る。よって、ストレージ装置に欠陥のないライブマイグレーションの場合、開示されたシステムはソース装置から目標装置のディスクにデータを全部記録する。ライブマイグレーションを行った後(例えば、ソース装置から目標装置に部分的または全体メモリのコピーを行った後)、開示されたシステムはソース装置を解除する。また、他の装置(例えば、ソース装置及び/または目標装置に関するアプリケーションを実行する装置)が目標装置の2次ストレージ上のデータにアクセスする必要があれば、開示されたシステムは関連するネットワークを介した(例えば、目標装置に対する遠隔ディスクアクセスを介して)遠隔ディスクアクセスを許容するように構成される。しかし、ソース装置が結果を経験した場合、一部のシステムにおいて、少なくとも基本ディスクが応答しない可能性があり(揮発性メモリがデータの少なくとも一部を有していても)、よって、更なる技術なしにマイグレーションを続けることができないため、マイグレーションは禁止される。
【0024】
しかし、本明細書で更に説明したように、多様な実施例において、ソース装置が欠陥復旧ストレージ装置を含み、その欠陥復旧ストレージ装置が読み出し専用動作モードで構成されている場合、開示されたシステムはマイグレーションプロセスを続けるために、データの一部を読み出し、そのデータを目標装置に伝送するためのソース装置への一定レベルのアクセス(例えば、非揮発性メモリの一部及び/またはソース装置の揮発性メモリへのアクセス)を維持する。
【0025】
他の実施例において、開示されたシステムはソース装置が全体読み出し専用動作モードではなく部分読み出し専用動作モード(例えば、ストレージ装置が読み出し動作のための性能が低下された動作モード)にあっても、仮想マシンのライブマイグレーションを行うように構成される。一部の実施例において、開示されたシステムは欠陥を経験し部分読み出し専用動作モードにある欠陥復旧ソース装置上のデータに関する特定の機会的復元動作を行うように構成される(例えば、ストレージ装置は低下した性能、より小さい容量、またはより少ない機能で動作する)。例えば、揮発性メモリ(例えば、DRAM)にある情報を使用することで、データが最近予め決定された期間内で記録された場合(例えば、本明細書で説明された多様な実施例の臨時保存の適用可能性を引き起こす)、開示されたシステムは欠陥復旧装置に関するメモリ(例えば、非揮発性メモリ)の欠陥領域に記録されたデータを復元するように構成される。特に、開示されたシステムは、ライブマイグレーションのこのような様相を行うためにソース装置及び/または目標装置に関するDRAM情報を使用するように構成される。
【0026】
多様な実施例において、開示されたシステムは言及したように、仮想マシンのライブマイグレーションを行う脈略で使用されるが、これは以下でより詳細に説明される。仮想マシンのライブマイグレーションのための一部の例示的な動作は、以下うち少なくとも一部が含まれる。一部の様相において、開示されたシステムは、まずライブマイグレーションの設定プロセスを行う。ライブマイグレーションが設定される間、開示されたシステムは仮想マシン構成データを対象装置に伝送するために目標装置との連結を生成するソース装置(例えば、欠陥復旧ストレージ装置を含むか欠陥復旧ストレージ装置へのアクセスを有するストレージ装置)を構成する。開示されたシステムは目標装置に仮想マシンを設定し、メモリは目標仮想マシンに割り当てられる。また、開示されたシステムは目標装置に関するホスト及び/またはハイパーバイザー(hypervisor)がソース仮想マシンを受信可能であるのかを確認するような多様な検査を行う(例えば、開示されたシステムはメモリ、ディスクの連結性、これらの組み合わせなどのようなパラメータが充分であるのかを決定する)。
【0027】
また他の実施例において、開示されたシステムは本明細書で多様に説明された実施例によって、ソース装置から目標装置に多様なメモリページの伝送を行う。一実施例において、開示されたシステムは、例えば、本開示で説明された方法論の様相を行うことで、ライブマイグレーションのステップでネットワークを介して目標装置にコピーされるマイグレーション仮想マシンにメモリを割り当てる。該当メモリは、マイグレーションする仮想マシンの「作業セット」と称される。一部の様相において、メモリのページは4KBであってもよいが、任意の適切なサイズであってもよい。開示されたシステムはマイグレーションする仮想マシンが継続して実行されるように構成される。一部の実施例において、開示されたシステムはメモリコピープロセスを繰り返すようにハイパーバイザーを構成する。一部の実施例において、それぞれの繰り返しはより少ない数の修正されたページがコピーされることを要求する。作業セットが目標サーバにコピーされた後、本開示に説明された方法論の多様な様相によって修正されたページが伝送される。
【0028】
この状態で、開示されたシステムのライブマイグレーションは、本開示に説明された方法論によって、目標サーバに残りの修正されたメモリページをコピーするメモリコピープロセスを含む。一部の実施例において、ソース装置はCPU及び仮想マシンの装置状態のような特定情報を目標装置に伝送する。一部の様相において、ソース装置がマイグレーションする仮想マシンの作業セットから修正されたページをより速く伝送するほど、ライブマイグレーションはより速く完了される。また、伝送されるページの数は、仮想マシンがメモリページにどれだけ積極的にアクセスし、メモリページを修正するのかに基づく。修正されたメモリページが目標サーバにコピーされた後、目標装置は最新の仮想マシンの作業セットを有する。
【0029】
一部の実施例において、ライブマイグレーションステップの間、任意の仮想ストレージファイルまたは仮想アダプタを介して連結された物理的ストレージのような仮想マシンに関するストレージの制御は目標装置に伝送される。また、開示されたシステムは目標装置で仮想マシンをオンライン状態にする。これで目標装置は仮想マシンの作業セットにアクセスすることができ、同じく仮想マシンから使用されるストレージにアクセスすることができる。
【0030】
一部の実施例において、開示されたシステムはハイパースケーラー(hyperscaler)環境(例えば、データセンター)に関して使用される。一部の様相において、多様なハイパースケーラー環境はストレージ装置が仮想マシンが起動している間に特定時間に対して使用されるストレージ空間を提供する臨時ストレージ装置を使用するように構成される。一部の実施例において、開示されたシステムはこのような環境(例えば、臨時ストレージ装置及び方法を使用するハイパースケーラー環境)で作業するのに適合している(例えば、主ストレージに比べる際)。例えば、これは主ストレージ装置において、システムが欠陥が発生した際に読み出せるように構成されないためである可能性がある。しかし、臨時ストレージ装置は揮発性メモリに臨時データを保存する。よって、開示されたシステムは、欠陥のあるストレージ装置が実行される間に終了される最新データで作動するように構成される。この場合、開示されたシステムは揮発性メモリ(例えば、DRAM)に記録されたデータを見つけ、損傷しない。
【0031】
以下、本開示は、仮想マシンのライブマイグレーションのための欠陥復旧ストレージ装置を含むストレージシステムで使用される状況の一部様相を説明する。特に、
図1は本開示の実施例によって、臨時ストレージ装置に対するライブマイグレーションを行うシステム及び方法が作動する例示ネットワークを説明するコンピューティングシステムを示す。図示したように、システムは一つ以上のストレージ装置110(または、「ドライブ」)に連結されたホスト105を含む。図示したように、ストレージ装置110はボリューム管理者115を介してホスト105に連結されるか、ストレージ装置110はホスト105に直接連結される。一部の実施例において、ストレージ装置110は内部の欠陥状態を経験するが、ストレージ装置は欠陥状態のシステムレベルの影響を緩和するために、以下でより詳細に論議されるように多様な復旧様態を示す。与えられたストレージ装置110はソリッドステートドライブ(以下、SSD)であり、コントローラ120(または、制御回路)及びストレージ媒体125(例えば、NANDフラッシュメモリ)を含む。ストレージ装置110で削除可能な最も小さい単位は「ブロック」と称され、ストレージ装置110で書き込み可能な最も小さい単位は「ページ」と称される。それぞれのストレージ装置110は、永久ストレージ装置に適合した、2.5”、1.8”、MO-297、MO-300、M.2、及びEDSFF(Enterprise and Data Center SSD Form Factor)を含むが、これに限らずに複数のフォームファクタのうち任意のフォームファクタを有してもよく、永久ストレージ装置に適合した、PCI(Peripheral Component Interconnect)、PCle(PCl Express)、イーサネット、SCSI(Small Computer System Interface)、SATA(Serial AT Attachment)、及びSAS(Serial Attached SCSI)を含む複数のインタフェースのうち任意のホスト105に連結される電気インタフェースを有する。
【0032】
以下、ストレージ装置に対する一部の更なる細部情報が提供される。一部の様相において、ストレージ媒体125は保存期間を有し(これはストレージ媒体125の使用履歴に依存するが、それによってストレージ媒体125内で変化し得る)、保存期間より長く保存されているデータ(つまり、保存期間を超過するデータ)は信頼できなくなって満了しているといえる。データはブロックコードの可能性があるエラー訂正コードを使用してストレージ媒体125内に保存される。ストレージ媒体125からデータを読み出す場合、コードブロックと称される大量のローデータ(raw data)がストレージ媒体125から読み出されるが、これをデコーディングするための試みが行われる。もしその試みに失敗した場合、追加の試み(読み出しを再度行う)が行われる。使用によって、ストレージ媒体125の一部(例えば、ブロック)は、保存期間が許容できないぐらい短くなる地点まで劣化する可能性があるが、該当ブロックは「不良ブロック」と分類される。このような状況がストレージ媒体125全体を動作不可能にすることを防止するために、「不良ブロック管理予備空間」と称される予備空間が存在するが(例えば、それぞれのフラッシュメモリダイまたはそれぞれのフラッシュメモリプレーンに含まれる)、コントローラ120、またはフラッシュメモリダイ或いはフラッシュメモリダイプレーン内部の他のコントローラは予備ブロックを使用し始め、不良ブロックの使用を中断する。
【0033】
以下、本開示は仮想マシンのライブマイグレーションを目的として使用される欠陥復旧ストレージ装置に関する多様な欠陥状態についてより詳細に説明する。特に、欠陥復旧ストレージ装置は多様な欠陥を幅広く経験するが、仮想マシンのライブマイグレーションを行うために
図1に関して図示され説明されたネットワークで動作し続ける。このような欠陥のうち一部は以下のように説明される。
【0034】
特に、
図2は、ケース識別子(「case ID」)でそれぞれラベリングされた欠陥復旧ストレージ装置に関する欠陥条件(または、「欠陥状態」)の表である。Case 1はストレージ装置110がこれ以上読み出しまたは書き込み動作を行うことができない任意の欠陥条件であり、これは電源をサイクリング(cycling)するかストレージ媒体をリフォーマットすることで解決することができない。ストレージ装置110がこのような方式で動作する状態は多様な下位状態を有する(例えば、他の障害メカニズムに当たるそれぞれの下位状態)。このような状態、または欠陥条件は(ストレージ装置110がこれ以上読み出し動作または書き込み動作を行うことができず、電源をサイクリングするかストレージ媒体をリフォーマットすることで解決できない)コントローラのファームウェアの一部が損傷するか(この場合、コントローラが安全モードで再起動されるが、この場合は損傷した命令は実行されない)、ストレージ装置110内の処理回路の障害(例えば、ストレージ媒体との相互作用を管理するが、ホスト105との通信に応答することができない処理回路の障害)によって引き起こされる。このような類型の障害条件が発生した場合、ストレージ装置110はホスト105からの任意の読み出しまたは書き込み命令にエラーメッセージで応答する。
【0035】
Case 2は、(i)ストレージ装置110がこれ以上読み出しまたは書き込み動作を行うことができず、(ii)ストレージ装置110の電源をサイクリングするか、ストレージ媒体を再フォーマットすることで復元可能な任意の欠陥条件である。このような欠陥条件は、例えば、ストレージ装置110のコントローラ120のプログラム実行エラーによって引き起こされる(例えば、コントローラ120のRAM(Random-Access Memory)でビットフリップの結果で範囲を逸脱したポインターまたはビットフリップの結果として誤った命令)。もしプログラム実行エラーがコントローラ120のストレージ媒体125に不正確なデータを記録するように引き起こさなかった場合(例えば、コントローラによるストレージ媒体への最も最近の書き込みによってプログラム実行エラーが発生した場合)、ストレージ装置110の電源サイクリングはストレージ装置110を正常動作に復元するのに十分であり、プログラム実行エラーがコントローラ120がストレージ媒体125に誤ったデータを記録するように引き起こした場合、ストレージ媒体125を再フォーマットすることはストレージ装置110を正常動作に復元するのに十分である。
【0036】
Case 3は、ストレージ装置110を読み出し専用モードで動作させることで緩和され、ストレージ媒体125を再フォーマットすることが全体機能を復元しない任意の欠陥条件である。このような欠陥の例示は、(i)温度センサ障害、及び(ii)読み出し専用モードに転換されたストレージ媒体125の一部を含む。温度センサ障害の場合、温度センサの読み取り値が範囲を逸脱するのか(例えば、臨界温度を超過したのか)を確認して障害を感知するが、このような場合、ストレージ装置110の過熱危険は読み出し動作より多くの電力を消費する書き込み動作を避けることで減少される。ストレージ媒体125の一部の読み出し専用モードへの転換は、例えば、フラッシュメモリプレーンまたはダイがランタイム不良ブロックの管理に使用される不良ブロック予備空間を消尽する場合、フラッシュメモリストレージ媒体125に対して発生する。例えば、ストレージ装置110は読み出し動作を行うことを試みる間、データ項目をデコーディングするための失敗した試みを行い、データを保存するブロックが不良ブロックであるのかを決定して、データを不良ブロックから不良ブロック管理予備空間に移動することで、残りの不良ブロック管理予備空間が臨界値の大きさより小さいためプレーンまたはダイの信頼性を保障するのに不十分であるのかを決定する。次に、ストレージ装置110は不良ブロックの管理がこれ以上行われないことを決定し、読み出し専用モードに転換する。本明細書で使用されるように、「データ降伏」は一つの動作で処理される任意の量のデータである(例えば、コードブロックをデコーディングした結果データがデータ項目である)。
【0037】
Case 4は、書き込み通過モードでストレージ装置110を動作させることで緩和される任意の欠陥条件である。例えば、ストレージ装置110の電源供給バックアップキャパシタが故障した場合、装置はホスト105から受信された任意の書き込み命令に応答して命令完了をホスト105に伝送する前にストレージ媒体125に対する記録が完了され、ストレージ媒体125に関する記録が完了する前に電源が故障した場合、ホスト105は記録の完了に成功したという誤った情報を受けない。書き込み通過モードにおける動作は性能低下を引き起こすかの制がある(処理量及び遅延時間の側面で)。
【0038】
Case 5は、電力損失を減少させる方式でストレージ装置110を動作させることで緩和される任意の欠陥条件である。例えば、温度センサ障害の場合、ストレージ装置110は上述したように読み出し専用モードに動作するか、ストレージ装置110における電力損失を減少させるために動作が行われる割合(例えば、読み出し動作より多くの電力を消費する書き込み動作)を減少させる。例えば、ストレージ装置110はストレージ媒体に対する第1記録を行い、それから性能低下に対応する時間の間に待機した後(待機の結果として書き込み動作が行われる速度が減少する)、ストレージ媒体に対する他の(例えば、第2)記録を行う。
【0039】
Case 6は、ストレージ装置110を読み出し専用モードで動作させることで緩和され、ストレージ媒体125を再フォーマットして完全に機能を復元する任意の欠陥条件である。
図2aの表の第3列は、それぞれの場合に対して有効なユーザデータを使用し得るのか否か、及びストレージ装置110が例えば、ストレージ媒体125をリフォーマットすることで完全な機能に復帰されるのか否かを示す。
【0040】
図2aに列挙した事例によって例示されたように、一部の実施例において、ストレージ装置110の完全復旧モード、部分復旧モード、及び脆弱モードによって欠陥復旧の3つのレベルが達成される。完全復旧モードにおいて、ストレージ装置110は「自家治癒」の特徴で動作するが、ストレージ装置110は電源サイクリングまたはストレージ媒体125のフォーマットのような動作を再設定することで全体の機能を復元する(装置内のユーザデータが損失される恐れがあるにもかかわらず)。
【0041】
部分復旧モードにおいて、ストレージ装置110は欠陥条件が存在する場合、低下した性能、より小さい容量または減少された機能で動作する。例えば、上述したように、電源供給バックアップキャパシタが不良であれば、全ての記録はデータがストレージ媒体125に記録された後でのみ(つまり、同期式記録のみ行われる)完了されるため(つまり、命令完了がホスト105に伝送される)、ストレージ装置110の動作を遅延させてその性能を低下させる。このような状況において、ユーザデータは保存される。ストレージ装置110は不良ブロック管理RTBB(Run Time Bad Block)のための予備空間が消尽されたら、より小さい容量で動作する。このような状況において、ストレージ装置110の影響を受けるダイはディスク空間から除外され、全体ディスクの容量が減少される。損失した空間のユーザデータは損失される。例えば、IO決定論のセットまたは領域化されたネームスペースの領域がこれ以上新しい書き込みを許容できなければ、セットまたは領域はディスク空間から除外されるが、残りのディスク空間を読み出し及び書き込み動作に使用し続ける。領域またはセット上のユーザデータは損失される。
【0042】
ストレージ装置110が書き込み動作を許容せずに読み出し専用モードに転換されたら、ストレージ装置110は減少された性能で動作する。ストレージ装置110は、持続可能な読み出し専用モード及び持続不可能な読み出し専用モードの2つの類型の読み出し専用モードで動作する。持続可能な読み出し専用モードにおいて、ストレージ装置110はストレージ媒体125の保存期間を超えて読み出し要請を提供し続ける。持続不可能な読み出し専用モードにおいて、ストレージ装置110はストレージ媒体125の保存期間の間に読み出し要請を提供し続けるが、ストレージ装置110がデータの無欠性問題に直面した場合(例えば、読み出し動作の間にデータをデコーディングするための一つ以上の失敗した試みによって感知されるように)、ストレージ装置110は有効ではない(無効な)データ領域を報告する。脆弱モードで動作するストレージ装置110は、上述したように読み出しまたは書き込み動作を行うことができず、ホストから命令を受信し続けて、エラーを返還する正常的終了を行う。
【0043】
内部ストレージ装置(例えば、欠陥復旧ストレージ装置)に関するいくつかの更なる細部情報が以下に提供される。一部の実施例において、(i)実行空間P、(ii)実行が低調な空間UP、(iii)読み出し専用空間RO、(iv)揮発性読み出し専用空間VRO、及び(v)接近不可空間IAと称される5つの論理ブロックアドレス(Logical Block Address、LBA)の類型が定義される。実行空間Pは、性能低下なしに正常的な方式で読み書き可能な有効なデータを含む論理ブロックアドレス空間である。実行が低調な空間UPは、正常的な方式で読み書きできるが、性能が低下された(例えば、書き込み性能が劣化された)有効なデータを含む論理ブロックアドレス空間である。読み出し専用空間ROが、読み出し専用の有効なデータを含む論理ブロックアドレス空間である。ストレージ装置110は、ホストから論理ブロックアドレス空間のこのような類型に向かう書き込み命令に対して様々なメッセージで応答する。読み出し専用空間のデータは保存期間を超過する期間の間に有効である。揮発性読み出し専用空間VROは、読み出し専用であり、ストレージ装置110は、ホストから論理ブロックアドレス空間のこのような類型に向かう書き込み命令に対して様々なメッセージで応答する。論理ブロックアドレスのこのような類型のデータは一時的に有効であるが、それが満了した場合(つまり、ストレージ媒体125のデータ寿命がストレージ媒体の保存期間に到達した場合)無効化される。アクセス不可空間IAは、ホストからアクセスできない向こうのデータを含む論理ブロックアドレス空間である。
図2bの表は、表の第1列で識別されたそれぞれの欠陥条件において、ストレージ装置110に存在し得る論理ブロックアドレスの類型の組み合わせを示す。アスタリスク(*)で識別されたモードは、論理ブロックアドレス空間に対する詳細な情報を回収するために特定獲得命令を使用するホストを支援する。
図2cは、それの状態及びそれに関するパラメータ値に対してストレージ装置110にクエリーするためにストレージ装置110に伝達される「特徴獲得」命令の引き受けを示す(「IPOS」は秒当たりの入力及び出力動作を意味する)。
【0044】
図2dの表は、ホスト105がストレージ装置110にその状態及びストレージ装置110が応答するために使用する列挙された定数の階層をクエリ―するために使用するNV/Me(Non-Volatile Memory Express)命令を示す。
【0045】
多様な実施例において、上述したように、開示されたシステムは読み出し専用モードで動作するように構成される欠陥復旧ストレージ装置を含む。しかし、一部の状況において、開示されたシステムは読み出し専用モードが適切なサービス品質(Qulaity of Service、QoS)を提供しないアプリケーションに対する更なるユーティリティを見つける。よって、特定アプリケーションを装置の欠陥にもかかわらず、欠陥復旧ストレージ装置の動作(例えば、部分書き込みモード)から利益を得ることができる、この事例は部分欠陥復旧動作モードを含む。例えば、開示されたシステムはストレージ装置の状態を報告し(例えば、ホストとして)、装置が応答しなければ欠陥復旧ストレージ装置の正常的な終了を行うように構成される。しかし、欠陥復旧ストレージ装置が有効ではない状態にあるが、装置が依然として動作し応答し得る状況がある可能性がある。一部の事例において、欠陥復旧ストレージ装置は、欠陥復旧ストレージ装置の上に貯蔵されたデータの一部がアクセス不可能で、一方、装置の他の部分はアクセス可能な場合に以前として応答する(例えば、ホストの要請に対して)。欠陥復旧ストレージ装置を完全に廃棄する代わりに、改善されたシステムは特定動作を継続するために許容し続けるように構成される(例えば、欠陥復旧ストレージ装置のアクセス可能な領域及び/または予め記録されたデータがあって以前として有効である場合)。よって、欠陥条件において、開示されたシステムは、欠陥復旧ストレージ装置が装置に関する領域及び/またはデータブロックが有効であるのか(例えば、第2ストレージ装置及び/またはホストのハイパーバイザーに)を報告するように構成される。このような有効なデータは、ストレージ装置の間の仮想マシンのライブマイグレーションに使用される。
【0046】
更なる実施例において、開示されたシステムは欠陥復旧ストレージ装置内の一つ以上のダイを非活性化するが、一方、欠陥復旧ストレージ装置の他のダイは活性化するように構成される。よって、開示されたシステムは欠陥領域を分離し、欠陥復旧ストレージ装置に関するある領域(例えば、論理ブロックアドレス空間/領域)が無効であるのか、どの領域が有効であるのかに関する情報をホストに提供する。
【0047】
本実施例では欠陥復旧ストレージが欠陥復旧ストレージ装置の有効な(例えば、アクセス可能な)、そして有効ではない(例えば、アクセス不可能な)領域に関する情報を提供する状況において、欠陥復旧ストレージ装置を含むシステムの上でデータをどのように復元するのかを説明するシステム、方法、及び装置が更に説明される。言及したように、開示されたシステムは、仮想マシンを実行するシステムで動作するように構成される。一部の実施例において、開示されたシステムは、欠陥仮想マシンに関するデータを実行及び/または保存する装置に関する欠陥に対抗する。よって、開示されたシステムは仮想マシンを他の装置にマイグレーションし、仮想マシンに関するデータを第2ストレージ装置にマイグレーションするように構成される。一部の実施例において、ソースマシンから与えられたストレージ装置は欠陥を経験するが、それによって装置が欠陥復旧ストレージ装置であれば、本明細書で多様に説明したように、欠陥復旧ストレージ装置は欠陥復旧動作モードに転換する。
【0048】
図3aは、一部の実施例において、欠陥復旧モードの欠陥復旧ストレージ装置を動作させるための方法の順序図である。ステップ305において、ホスト105はストレージ装置にデータを伝送するかストレージ装置からデータを受信する;ステップ310において、ホスト105はストレージ装置でエラーが発生したのか否かを決定する;ステップ315において、ストレージ装置110は内部診断を行い、それの欠陥復旧状態(例えば、完全復旧、部分復旧、または脆弱さ)を決定する;ステップ320において、ストレージ装置110は診断に基づいてそれの性能、容量、または機能(例えば、読み出し専用モードに転換)を修正する;ステップ325において、ストレージ装置110はアプリケーションプログラミングインタフェース(Application Programming Interface、API)に基づいてホスト105からの要請に応じて状態を掲示する;そして、ステップ330において、ホスト105は状態に基づいて与えられた帯域幅で与えられた類型のデータをストレージ装置110または異なるストレージ装置110にルーティングする。
【0049】
図3bは、欠陥復旧モードで動作する前の方法の細部事項を示す順序図である。この方法は、ステップ335において、ストレージ装置によって、ストレージ装置が電源サイクリングをするかストレージ媒体をフォーマットすることで、ストレージ装置が復元可能な第1欠陥状態にあることを決定し、ステップ340において、ストレージ装置によって、低下された性能で、減少された要領で、または読み出し専用モードでストレージ装置を作動することで、ストレージ装置が部分復元が可能な第2欠陥状態にあることを決定し、ステップ345において、低下された性能で、減少された容量で、または読み出し専用モードでストレージ装置を作動するステップを含む。
【0050】
また、本明細書で開示された実施例において、多数の実施例及び変形例が構成される。FPGA(Field Programmable Gate Array)またはエンベデッドプロセッサは内部ブロックの検査を行い、ストレージ装置110の状態に対して非同期アップデートをホスト105に伝送する。イベントは発生して、ホスト105に伝送される(例えば、温度または装置内部の他のパラメータ)。通知を提供するための装置ドライバー特性がなければ、ホスト105は予め決定されたスケジュールによってストレージ装置110をプーリングする。FPGAまたはエンベデッドプロセッサはストレージ装置110の過去の性能をモニタリングし、予測分析(例えば、与えられた欠陥復旧状態にある可能性)を提供するために機械学習を使用する。NVMe仕様に命令が導入される;例えば、NVMe仕様の遠隔測定情報が拡張される(ストレージ装置110の状態を報告するために)。一部の実施例は、例えば、イーサネットストレージ装置またはキーバリュー(Key-Value、KV)ストレージ装置で具現される。
【0051】
図4aは、本開示の実施例によってストレージ装置を使用するライブ仮想マシンマイグレーションを行うためのダイヤグラムを示す。ダイヤグラム400はソース装置402及び目標装置408を含む。一部の実施例において、ソース装置402はストレージ装置(例えば、SSD)を含む。他の実施例において、ソース装置402は非揮発性メモリ404構成要素及び揮発性メモリ406構成要素を含む。一実施例において、揮発性メモリ406はソース装置402によって処理されているデータブロックに関するページを能動的に処理するイン・メモリ作業セット(in-memory working set)を含む。表記したように、一部のページは除去された(E)、クリーン(C)、汚染(D)、及び/またはフラッシュ(F)(表記せず)で表示される。他の実施例において、非揮発性メモリ404はソース装置402のローカルストレージ(例えば、NAND)に持続されるデータに関するページを含む。ダイヤグラム400の例で示したように、一部のページは装置402のアクセス不可(I)空間を占めると表示される。また、目標装置408は、目標装置408が非揮発性メモリ410及び揮発性メモリ413を含むという点でソース装置402と類似した構造を有する。類似して、一実施例において、目標装置408の揮発性メモリ413は目標装置408によって処理されているデータブロックに関するページを能動的に処理するイン・メモリ作業セットを含む。他の実施例において、非揮発性メモリ410は目標装置408のローカルストレージ(例えば、NAND)に持続されるデータに関するページを含む。
【0052】
一部の実施例において、ダイヤグラム400は仮想マシンマイグレーションのための例示的な動作405を示す(例えば、事後コピー(post-copy)動作の場合)。このような動作405において、ソース装置402側で、揮発性メモリ406のデータの一部はソース装置402の非揮発性メモリ404の上に持続される。特に、例として図示したように、除去されたページ及びクリーンページは非揮発性メモリ404に関するアクセス不可空間に持続される。また他の実施例において、例として図示したように、揮発性メモリ406の汚染ページはソース装置402が欠陥を経験した場合、非揮発性メモリ404に記録されるプロセスにある。更に他の実施例において、ソース装置402が欠陥復元性を有しなければ、動作405はソース装置402から目標装置408への潜在的に成功的ではないデータマイグレーションを引き起こす。特に、例として図示したように、システムが目標装置408の揮発性メモリ413で一部除去されたブロックに関するソース装置402の非揮発性メモリ404の上のページを2回目に読み出すために試みる場合、そのような動作はソース装置402が少なくとも欠陥を経験したために失敗する。また、システムが目標装置408の揮発性メモリ413で一部のクリーンページに関するソース装置402の非揮発性メモリ404の上のページを読み出すために試みる場合、そのような動作は目標装置408の揮発性メモリ413がクリーンページを廃棄することができるため失敗する可能性があり、更に、目標装置408は少なくともソース装置402が欠陥を経験したためソース装置402の非揮発性メモリ404から対応するページを復元することができない。よって、図示したように、目標装置408の揮発性メモリ413に常駐するページの一部のみが(例えば、ダイヤグラム400に示された汚染ブロック)目標装置408の非揮発性メモリ410であるローカルストレージに持続(または、再度記録)される。
【0053】
上述した説明は事後コピー動作の事例に提供されたが、類似した原理がソース装置402から目標装置408への仮想マシンのライブマイグレーションの間の他の動作に対して維持される。特に、仮想マシンマイグレーションのための事後コピー動作は以下の動作の一部を含む。まず、事後コピーはソース装置から仮想マシンを一時中断することで事後コピーを開始する。一部の実施例において、仮想マシンの実行状態のサブセット(subset)(例えば、CPU状態、レジスタ、ページング可能なメモリなど)は目標装置に伝送される。仮想マシンは目標装置で再開される。一部の実施例において、ソース装置は仮想マシンの残りのメモリページを目標装置にプッシュする(例えば、事前ページングを行う)。目標装置において、仮想マシンがまだ伝送されていないページにアクセスしようとする際、このような動作はページ欠陥を生成する。このような欠陥は目標装置でトラップされて、欠陥が発生したページに応答可能なソース装置にリディレクションされる。一部の様相において、事前ページングは最後の欠陥の近くでページを積極的にプッシュすることで、ネットワークの欠陥に対するページの伝送順番を動的に調整する。一部の側面において、事後コピーはネットワークを介して与えられたページを一度伝送する役割をする。対照的に、事前コピーはマイグレーションの間にソース装置でページが繰り返し汚染される場合、同じページを数回伝送する。一方、事前コピーはマイグレーションの間にソース装置で仮想マシンの最新状態を維持する。これに対し、事後コピーの場合、仮想マシンの状態はソース及び目標装置のいずれにも分配される。マイグレーションの間に目標装置が欠陥が発生した場合、事前コピーは仮想マシンを復元できるのに対し、事後コピーは仮想マシンを復元することができない。
【0054】
図4bに示したように、ダイヤグラム401は欠陥復旧ソース装置412及び目標装置418を含む。一部の実施例において、欠陥復旧ソース装置412は欠陥復旧SSDのような欠陥復旧ストレージ装置を含む。他の実施例において、欠陥復旧ソース装置412は非揮発性メモリ414構成要素及び揮発性メモリ416構成要素を含む。一実施例において、揮発性メモリ416は欠陥復旧ソース装置412によって処理されているデータブロックに関するページを能動的に処理するイン・メモリ作業セットを含む。図示したように、一部のページは除去された(E)、クリーン(C)、汚染(D)、及び/またはフラッシュ(F)(表記せず)で表示されるが、それにこの特定のページ構造はダイヤグラム400の事例で模写され、それによって2つの事例の間の装置動作の比較が本例示で容易になる。また他の実施例において、非揮発性メモリ414は欠陥復旧ソース装置412のローカルストレージ(例えば、NAND)の上に持続されるデータに関するページを含む。ダイヤグラム401の例で示したように、ページの一部は欠陥復旧ソース装置412のアクセス不可空間を占めるものしてと表示される。また、目標装置418は、目標装置418が非揮発性メモリ420及び揮発性メモリ422を含むという点で欠陥復旧ソース装置412と類似した構造を有する。類似して、一実施例において、揮発性メモリ422は目標装置418によって処理されているデータブロックに関するページを能動的に処理するイン・メモリ作業セットを含む。他の実施例において、非揮発性メモリ420は目標装置418のローカルストレージ(例えば、NAND)の上に持続されるデータに関するページを含む。また、非揮発性メモリ420は、欠陥復旧ソース装置412から復元されたページ及び目標装置418の揮発性メモリ422から復元された他のページを含む。例えば、クリーンページ及び汚染ページはいずれも目標装置418の揮発性メモリ422内に対応するページに基づいて目標装置418の非揮発性メモリ420に更に記録される(つまり、持続される)ことが立証される。また、例示で図示したように、欠陥復旧ソース装置412の非揮発性メモリ414の一部にアクセス可能な部分からの特定の読み出し専用(R)ページは、欠陥復旧ソース装置412の読み出し専用作動状態のため欠陥復旧ソース装置412の非揮発性メモリ414から読み出される。
【0055】
上述した説明は事前コピー動作で提供されたが、類似した原理が欠陥復旧ソース装置412から目標装置418への仮想マシンのライブマイグレーションの間に他の動作に対して維持されると理解される。また、説明によって事前コピーは以下の動作のうち一部を称する。事前コピーメモリマイグレーションにおいて、ハイパーバイザーは仮想マシンがソース装置の上で継続して実行される間、ソースから目標装置にメモリページをコピーする。プロセスの間で一部のメモリページが変更される場合(例えば、メモリページが「汚染」される場合)、メモリページは再コピーされたページの割合が汚染化された割合より大きくなるまで再コピーされる。また、後ほどソース装置に関する元のホストで仮想マシンが中断され、残りの汚染ページは目標装置にコピーされ、仮想マシンは目標装置で再起動される。
【0056】
図5は、本開示の実施例によって仮想マシンのライブマイグレーションの様相を示す順序図の例示である。特に、順序
図500はそれぞれソースハイパーバイザー及び目標ハイパーバイザーを有する欠陥復旧ソース装置501と目標装置503との間の仮想マシンのライブマイグレーションに関する一部の例示動作を示す。以下、SSDを参照するが、本明細書において、SSD及びストレージ装置は相互交換的に使用されると理解される。
【0057】
ブロック502において、開示されたシステムはSSD(例えば、欠陥復旧SSD)が利用可能であるのか否かを決定する。ブロック502の決定結果がSSD利用可能であれば、次のブロック504で、開示されたシステムはSSDの欠陥復旧モードで動作するのか否かを決定する。一方、ブロック502の決定結果がSSD利用不可能であれば、次のブロック506で、開示されたシステムはエラーを返還する。
【0058】
開示されたシステムは、ブロッグ507動作を介して欠陥復旧SSDからデータを復元する。ブロック508において、開示されたシステムは回収されたデータに対応する論理ブロックアドレスが欠陥復旧SSDに関するアクセス不可能な空間に属するのか否かを決定する。ブロック508の決定結果が「はい」であれば、開示されたシステムはブロック506でエラーを返還する。一方、ブロック508の決定結果が論理ブロックアドレスが欠陥復旧SSDの空間に属しなければ、次のブロック510で、開示されたシステムは欠陥復旧SSDに関するアクセス可能な空間から読み出される。
【0059】
ブロック512において、開示されたシステムはストレージ装置のシステム内のSSDが欠陥を経験するのか否かを決定する。もしそうでなければ、開示されたシステムはブログ518で動作を続ける。もしそうであれば、開示されたシステムはブロック514で動作を続けるが、ここで開示されたシステムはSSDが欠陥復旧SSDであるのか否かを決定する。もしそうでなければ、開示されたシステムはブログ518で動作を続ける。もしそうであれば、ブロックアドレス516において、開示されたシステムは欠陥復旧SSDに関する論理ブロックアドレス空間の類型情報をキャプチャし決定するが、選択的にブロック518で欠陥復旧SSDの欠陥メモリシェルターがアクセス不可能な空間の論理ブロックアドレスを含むのか否かの決定し、及び/またはブロック538で(以下、更に説明される目標装置で)、論理ブロックアドレスがアクセス不可能な空間に属するのか以下かを決定する。開示されたシステムは、以下で説明されるブロック518に更に進行する。
【0060】
ブロック518において、開示されたシステムは、ライブマイグレーションプロセスを許容するために、SSD(故障復旧SSDまたは一般SSD)に関するページキャッシュフラッシング動作を解除するが、これはブロック520に示したように開始される。
【0061】
ブロック526において、開示されたシステムは、ライブマイグレーションプロセスが読み出し動作を含むのか否かを決定する。もしそうでなければ、ブロック527において、開示されたシステムは書き込み動作に関するデータブロックをページキャッシュに記録する。もしそうであれば、ブロック528において、開示されたシステムはデータブロックが目標装置のページキャッシュ(例えば、目標装置の揮発性メモリ)に存在するのか否かを決定する。また、ブロック528において、決定の結果がデータブロックが目標装置のページキャッシュにないということであれば、開示されたシステムは後述するブロック524で動作を行う。ブロック528において、決定の結果がデータブロックが目標装置のページキャッシュにあるということであれば、システムはブロック530に進行するが、ここで提示されたシステムは目標装置のページキャッシュからデータを読み出す。
【0062】
ブロック524において、開示されたシステムは読み出し動作(例えば、ブロック526の読み出し動作)のためのデータブロックがローカルディスク(例えば、目標装置の非揮発性メモリ)から発見されるのか否かを決定する。もしそうでなければ、次のブロック522において、開示されたシステムは遠隔ディスクからデータブロックを読み出す(例えば、上述したブロック502の例示的な動作で始まるソース装置に対する動作を続けることで)。一方、読み出し動作のためのデータブロックがローカルディスクから発見されると、次のブロック531において、開示されたシステムはローカルディスク(例えば、目標装置の非揮発性メモリ)からデータブロックを読み出す。
【0063】
言及したように、ブロック538において、開示されたシステムはデータブロックに関する論理ブロックアドレスがアクセス不可能な空間(ソース装置の非揮発性メモリに関する)に属するのか否かを決定する。もしそうでなければ、次のブロック536において、開示されたシステムはデータブロック及び/またはページを廃棄する。もしそうであれば、539の動作を介して開示されたシステムは、目標装置に関するDRAM(例えば、揮発性メモリ)からデータブロックを復元し、ブロック534でこのようなブロックをローカルディスク(例えば、目標装置の非揮発性メモリ)に記録することを進行する。また、ブロック532において、開示されたシステムは、ブロック538で説明された動作に属するデータブロック及び/またはページの汚染されているのか否かを決定する。もし開示されたシステムがデータブロック及び/またはページが汚染されていると決定した場合、次のブロック534において、開示されたシステムはデータブロックをローカルディスク(例えば、目標装置の非揮発性メモリ)に記録する。
【0064】
一部の実施例において、順序
図500は開示されたシステムがどのようにしてソースサーバ(例えば、サーバ)から目標装置(例えば、サーバ)に仮想マシンをライブマイグレーションするのかについて説明する。前記で一部の例示的な動作を説明したが、以下、このような動作に対するより一般的な要約及び説明が提供される。
【0065】
上述したように、一部のシステムによって行われる仮想マシンのライブマイグレーションは、一つ以上の目標装置またはソース装置に関する揮発性メモリ(例えば、DRAM)に常駐するデータに対するチェック動作を含まない。一部の実施例において、開示されたシステムは、特定条件(例えば、後述する機会主義的方式で)で揮発性メモリに少なくとも一時的に保存された情報を使用することで、ストレージ装置の情報(例えば、マイグレーションされる仮想マシンに関するデータ)を復元する役割をする。
【0066】
一部の実施例において、欠陥が発生した場合、開示されたシステムは欠陥装置を含むリンクで実行される仮想マシンに関する動作を効果的に凍結させるが、開示されたシステムは例えば、欠陥を有するソース装置でマイグレーションプロセスを開始する。多様な実施例において、ソース装置は欠陥復旧ストレージ装置を含み、欠陥復旧ストレージ装置は例えば、ソース装置に関する運営体制(Operating System、OS)/ハイパーバイザーに情報(例えば、論理ブロックアドレス欠陥復旧空間の情報)を更に提供する。よって、開示されたシステムは仮想マシンを目標装置に伝送し、対応するハイパーバイザーは仮想マシンに関するストレージ装置のどの部分が有効でどの部分が有効ではないのかについて通知を受ける;また、もしストレージ装置の一部が有効ではなければ、開示されたシステムはソースまたは目標装置に揮発性メモリからデータを復元するための動作を行うように構成される。よって、マイグレーションの間に仮想マシンが実行され、I/Oを行う。
【0067】
目標装置で読み出し動作があれば、開示されたシステムは目標装置の揮発性(例えば、DRAM)に要請されるデータが予め存在するのか否かを決定するが;もしそうであれば、開示されたシステムは関連するページキャッシュからデータを読み出す。一方、もし開示されたシステムが要請されたデータが目標装置の揮発性メモリに存在しないと決定した場合、開示されたシステムはデータをどこで獲得するのかを決定する。特に、もしデータが目標装置のローカルディスクに存在しなければ、データがソース装置のローカルディスクに常駐する可能性が高く;よって、開示されたシステムのためのソース装置を確認することができる。特に、ソース及び目標装置の間のディスクマイグレーションが完了されたら、開示されたシステムはデータのためにソース装置のローカルディスクを確認する。しかし、データにアクセスすることはソース装置のどのメモリ領域にアクセスするのかに依存する。例えば、もしソース装置の欠陥領域からデータが要請されたらそのデータは有効ではないとみなすが、このような場合、開示されたシステムはデータのための要請を拒否し、エラーを返還するように構成される。一方、要請されたデータが欠陥領域ではなくソース装置のメモリの有効でアクサス可能な領域にあれば、ソース装置はデータを提供する。よって、欠陥復旧ストレージ装置を含むソース装置は欠陥にもかかわらず読み出すことができる。
【0068】
他の実施例において、もしソース装置から要請された動作が読み出し動作ではなければ(例えば、書き込み動作であれば)、ソース装置の欠陥状態は連関性が低く、開示されたシステムはデータを記録するように構成される。特に、開示されたシステムはページキャッシュにデータを先に記録するように構成されるが;もしそのデータが汚染されていたら、開示されたシステムは後ほど目標装置のディスクにデータを書き込む。また他の実施例において、もしそのデータが汚染されていなければ、開示されたシステムはデータを廃棄するように構成される(例えば、開示されたシステムはデータを再度記録する必要がない)。もしデータに関するデータブロックがクリーンであれば、それはソースまたは目標ストレージ装置に関するそれぞれのディスクからデータを利用することができることを意味する。しかし、欠陥による仮想マシンのマイグレーションの後、開示されたシステムはデータが与えられたディスクの上に存在するのか否かを決定することができない可能性がある。例えば、開示されたシステムはそのデータを読み出すが、そのデータはアップデートされていないDRAMに依然として位置している可能性がある。また、読み出された論理ブロックアドレスは欠陥を経験してきたソースマシンの上でこれ以上有効ではないため、基本ディスクは使用することができない。よって、開示されたシステムは、データを復元するために仮想マシンを目標装置に移動させるように構成される。
【0069】
一部の実施例において、一部の例示的なライブマイグレーション動作は動作の読み出し専用モードを有する装置に対してエラーなく維持される。もし、ストレージ装置が読み出し専用モードで構成されなければそのデータはDRAMに位置するが;もしそのデータが汚染されていたら、開示されたシステムは書き込み動作のためのソースマシンの上にアクセスされる領域からデータを依然として復元することができる。もしソース装置に欠陥があるがデータブロックはクリーンであれば、開示されたシステムはデータを復元するためにディスクにデータブロックを記録するように構成される。もし欠陥がなければ、仮想マシンマイグレーションの間にそのデータはクリーンなものとしてみなされるが;それによって、開示されたシステムはローカル(例えば、目標)または遠隔(例えば、ソース)装置からデータを読み出す。よって、上述したように、ハイパーバイザー/OS及びストレージ装置(例えば、ソース及び目標装置)の間に高いレベルの結合があることが明白である。
【0070】
図6は、本開示の実施例による例示的なページキャッシュ管理動作に対する順序図の例示である。多様な実施例において、欠陥復旧ストレージ装置に関するストレージ装置の欠陥を決定するための方法が説明される。ブロック602において、開示されたシステムは、欠陥復旧ストレージ装置から第2ストレージ装置へのデータの伝送を行うように決定される。例えば、開示されたシステムはライブマイグレーションプロセスの一部であって、欠陥復旧ストレージ装置に関する仮想マシンに関するデータを第2ストレージ装置に移動するように決定する。
【0071】
ブロック604において、開示されたシステムはアクセス不可能な空間を含む欠陥復旧ストレージ装置に関する第1領域及びアクセス可能な空間を含む欠陥復旧ストレージ装置に関する第2領域を決定する。特に、アクセス不可能な空間は、本明細書で多様に説明されたように、物理的欠陥(例えば、不良回路、不良チップ、損傷、過度な書き換えなど)のためアクセス不可能なNANDの部分を含む。言及したように、欠陥復旧ストレージ装置は欠陥を経験するが、依然として作動中のアクセス可能な空間にメモリを含む(例えば、欠陥復旧装置の全体メモリが欠陥の結果として均一に損傷されない)。アクセス可能な空間は、欠陥復旧ストレージ装置から目標装置(例えば、第2ストレージ装置)への仮想マシンに関するページをマイグレーションするためのライブマイグレーションプロセスに関して使用される。
【0072】
ブロック606において、開示されたシステムはデータに対する第2ストレージ装置で読み書き命令を決定し、読み出し命令に基づいて第2ストレージ装置のローカルメモリから読み出し動作によって要請される第1データを決定する。一部の実施例において、ローカルメモリは第2ストレージ装置に関するDRAMのような揮発性メモリを含む。
【0073】
多様な実施例において、開示されたシステムは、データのための欠陥復旧ストレージ装置で書き込み命令を決定する。よって、開示されたシステムは、ホスト装置(第2ストレージ装置及び/または欠陥復旧ストレージ装置に関するホスト装置)のページキャッシュにデータの少なくとも一部を記録する。また、開示されたシステムは、データの一部が汚染データを含むことを決定し、開示されたシステムは、第2ストレージ装置の永久メモリ(例えば、非揮発性メモリ)に汚染データを記録するように構成される。また、開示されたシステムは、アクセス不可能な空間に関するクリーンデータを含むデータの一部を決定し、開示されたシステムは、第2ストレージ装置の永久メモリ(例えば、非揮発性メモリ)にクリーンデータを記録する。
【0074】
ブロック608において、開示されたシステムは、読み出し命令に基づいて第2領域から読み出し動作によって要請された第2データを決定する。一部の実施例において、第2データのための読み出し命令は、欠陥復旧ストレージ装置のアクセス可能な空間を含む。ブロック610において、開示されたシステムは第2領域から第2データを回収する。
【0075】
ブロック612において、開示されたシステムは、読み出し命令に基づいて欠陥復旧ストレージ装置のアクセス不可能な空間から読み出し動作によって要請された第3データを決定する。ブロック614において、開示されたシステムは、第3データの決定に基づいて欠陥復旧ストレージ装置から第2ストレージ装置にエラーを返還する。これは、欠陥復旧ストレージ装置のアクセス不可能な空間で要請された第3データのためである。
【0076】
ホスト105またはコントローラ120のように、本発明で説明された多様な要素は処理回路であるかそれを含む。「処理回路」または「処理のための手段」という用語は、本明細書でデータまたはデジタル信号を処理するために使用されるハードウェア、ファームウェア、及びソフトウェアの任意の組み合わせを意味するように使用される。例えば、処理回路ハードウェアはAISCs(Application Specific Integrated Circuits)、汎用または特殊目的のCPUs(Central Processing Units)、DSPs(Digital Signal Processors)、及びFPGAsなどのようなプログラミング可能な論理装置を含む。本明細書で使用された処理回路において、各機能は機能を行うように構成されたハードウェア(つまり、ハードワイヤ(hard-wired))、CPUのようにより汎用のハードウェアのうち一つによって行われ、非一時ストレージ媒体に保存されている命令を実行するように構成される。処理回路は単一のプリント回路基板(Printed Circuit Board、PCB)、または多数個の互いに連結されたPCBに分散される。処理回路は他の処理回路を含む;例えば、処理回路はPCBの上で互いに連結された2つの処理回路、FPGA及びCPUを含む。
【0077】
本明細書で使用されたように、あるものの「一部」はそれの「少なくとも一部」を意味し、それ自体でそれの全部または全部より少ないことを意味する。このように、「一部」は特殊な場合であって全体を含むが、言い換えれば、あるものの全体はあるものの一部の例である。本明細において、「または」という用語は「及び/または」で解釈されるべきであるが、例えば、「AまたはB」は「A」、「B」、「A及びB」を意味する。
【0078】
本明細において、本発明の背景になる技術セクションに提供される背景技術は単に文脈を設定するためのモノであり、この部分の内容は先行技術として認められない。説明された任意の構成要素または構成要素の任意の組み合わせ(例えば、本明細に含まれた任意のシステムダイヤグラム)は、本明細に含まれた任意の順序図の動作のうち一つ以上を行うのに使用される。また、(i)動作は例示的な動作であって、明示的に提示されていない多様な追加ステップを含み、(ii)動作の時間的順序は変更可能である。
【0079】
本明細書で使用されたように、方法(例えば、調整)または第1数量(例えば、第1変数)が第2数量(例えば、第2変数)に「基づく」と言及される場合、それは第2数量がその方法に対する入力であるか、第1数量に影響を及ぼすということを意味するが、例えば、第2数量は第1数量を計算する関数に対する入力(例えば、唯一な入力または様々な入力のうち一つ)であるか、第1数量が第2数量と同じであるか、第1数量(例えば、メモリ内の同じ位置に貯蔵されることで)第2数量と同じである。
【0080】
本明細書において、「第1」、「第2」、「第3」などの用語が多様な要素、成分、領域、層、及び/またはセクションを説明するために使用されても、このような要素、成分、領域、層、及び/またはセクションはこのような用語によって制限されないと理解される。このような用語は他の要素、成分、領域、層、またはセクションから一つの要素、成分、領域、層またはセクションを区別するためにのみ使用される。よって、本明細書で論議される第1要素、成分、領域、層及び/またはセクションは、本開示の思想及び範囲から逸脱することなく第2要素、成分、領域、層及び/またはセクションを称する。
【0081】
一つの要素または図面に示された他の構成要素(ら)または特徴(ら)との特徴的な関係を説明するための説明を容易にするために、ここで「下の」、「下」、「低い」、「特定部分の下」、「上に」、「上部」のような空間的で相対的な用語が使用される。空間的で相対的な用語は、図面で描写した方向に加えて使用または動作における装置の他の方向を含むように意図されていることを理解できるはずである。例えば、もし図面の装置がひっくり返されていたら、他の構成要素または特徴の「下」または「下の」または「特定部分の下」と説明された構成要素は他の構成要素また特徴の「上」に合わせられるようになる。よって、「下の」または「特定部分の下」の例示的な用語は上または下方向のいずれも含む。装置は異なるように合わせられることがあり(例えば、90度または他の方向に回転される)、そして空間的で相対的な技術語はそれによって解釈されるべきである。また、一つの層が2つの層の「間」にあると言及されたら、これは2層の間の唯一な層であるか、一つ以上の中間層が存在し得ると理解される。
【0082】
本明細書で使用される用語は特定実施例を説明するためのものであって、本開示を制限するものではない。類似した用語は近似値の用語として使用され、程度の用語として使用されて。本開示の通常の技術者によって識別される測定されたまたは計算された値の固有な変動を考慮するためである。
【0083】
本明細書で使用されたように、脈略で明確に明示されていなければ、単数の表現は複数の表現も含むと意図する。「含む」という用語が本明細書で使用される場合、記述された特徴、数字、ステップ、動作、構成、及び/または部品の存在を明記することであり、これらの一つ以上またはそれ以上の他の特徴、数字、ステップ、動作、構成、部品、及び/またはグループの存在または付加を解除しないと理解すべきである。本明細書で使用されたように、「及び/または」という用語は一つまたはそれ以上の関する羅列事項の全ての可能な組み合わせを指すか含むと理解すべきである。「少なくとも一つ」のような表現は、要素の全体リストを修正し、そしてリストの個別要素を修正しない。また、本開示の実施例を記述する際、「可能である」の使用は「本開示の一つ以上の実施例」を意味する。また、「例示」という用語は例または例示を意味すると意図される。本明細書で使用されたように、「使用」、「使用する」、そして「使用された」のような用語は、「利用」、「利用する」、そして「利用された」という用語のt同一語としてそれぞれみなされる。
【0084】
要素または層が他の要素または層「に」、「に連結された」、「に結合された」と言及されたら、それは他の要素または層「に直接に」、「に直接に連結された」、「に直接に結合された」ということであるか、一つまたはそれ以上の間の要素または層が存在し得ることを意味する。一方、一つの要素または層が他の要素または層と「直接連結」されると言及されたら、中間の媒介要素または層は存在しない。
【0085】
本明細書で言及された任意の数値範囲は、言及された範囲内に含まれた同じ数値程度の全ての会範囲を含むと意図される。そして、「1.0から10.0」または「1.0と10.0の間」の範囲は、言及された最小値1.0と言及された最大値10.0の間(そして含む)の全ての下位範囲を含む、つまり、最小値が1.0で、最大値が10.0以下である下位範囲(例えば、2.4乃至7.6)を有すると意図される。本明細書で言及された任意の最大数値の制限は、その中に含まれた全てのより低い数値の制限を含むと意図され、本明細書で言及された任意の数値の最小数値の制限は、その中に含まれた全てのより高い数値の制限を含むと意図される。
【0086】
仮想マシンのライブマイグレーションのためのストレージ装置を含むストレージ装置及びシステムの復旧動作のためのシステム及び方法の実施例が本明細書で具体的に説明され例示されたが、多くの修正及び変形が通常の技術者に明白なはずである。よって、本開示の原理によって構成される仮想マシンのライブマイグレーションのためのストレージ装置を含むストレージ装置及びシステムの復旧動作のためのシステム及び方法は、本明細書で具体的に説明されたものとは異なるように具現される可能性がある。また、本開示は以下の特許請求の範囲及びそれの均等物で定義される。