RAIDIX 4.6のキャッシュ保護用の不揮発性NVDIMMメモリ





この記事では、RAIDIX 4.6ソフトウェアでの不揮発性メモリ(NVDIMM)サポートについて詳しく説明します。 ソフトウェアの新しいバージョンは、主要パートナーによって採用されました。 したがって、RAIDIX 4.6管理ソフトウェアは、Trinityの新しいTrinity FlexAppストレージシステムですでに使用されています。



永続メモリとNVDIMM標準



新しいRAIDIXは、従来のストレージデバイスと高帯域幅DRAMの利点を組み合わせた永続メモリ(PMEM)で動作します。 このタイプのメモリは、バイトアドレッシング(ロード/ストア)を可能にし、従来の「ブロッカー」とは異なり、DRAMの速度と対応する低レイテンシで動作します。 サーバーの電源が失われた場合、メモリの内容全体がそのまま残り、ロード後に復元できます。 このタイプのメモリは現在、不揮発性デュアルインラインメモリモジュール(NVDIMM)の形式で利用できます。



NVDIMMは、運用メモリと不揮発性メモリの2つの技術を統合的に使用した例です。 この規格自体は目新しいものではありません。数年前に承認され、多くの企業がすでにメモリモジュールに「バッテリー」を提供しています。 ただし、フラッシュチップの積極的な開発に関連して、最新のNVDIMMには十分な量のNANDメモリが搭載され始めています。 現在、NVDIMMでは、停電時にデータの整合性を維持できるだけでなく、RAMを通過するすべてのデータをオンザフライでキャッシュできます。



不揮発性NVDIMMメモリには、NVDIMM-N、NVDIMM-F、NVDIMM-Pなどのさまざまなタイプがあります。 NVDIMM-Nタイプのモジュールには、事故の際にRAMデータをバックアップするためのSDRAMチップ(RAM)とフラッシュメモリチップ(SSD)の両方が含まれています。



NVDIMM-Nが高度な機能を備えた「RAM」である場合、NVDIMM-Fは一種のストレージです。 「F」モジュールにはRAMセルはなく、フラッシュメモリチップのみが含まれています。 NVDIMM-Pは、NVDIMM-FとNVDIMM-Nの機能を単一のモジュールに組み合わせたものです。 同じレベルでDRAMとNANDの両方に同時にアクセスします。 3つの構成はすべて、ビッグデータ、HPCなどを扱う際の生産性を大幅に向上させることができます。



2017年には、サーバーセグメントのNVDIMMメモリに関して一種のブレークスルーがありました。 Micronは新しい32GBモジュールを導入しました。 これらのモジュールは、CL21遅延のあるDDR4-2933で動作します。これは、サーバーアプリケーション用の他のDDR4よりもはるかに高速です。 少し前に、8 GBおよび16 GBのメモリモジュールがリリースされました。





図1 Micron 32GB DDR4 NVDIMM-Nモジュール



MicronのNVDIMM-Nは32 GBのECC DRAMであり、NANDフラッシュはデータバックアップのみに使用されます。



NVDIMMにアクセス



NVDIMMでメモリアクセスを確立するには、主に2つの方法があります。



1. PMEMを使用した直接アクセス



RAIDIX 4.6では、単一のスペースに結合せずにPMEMを使用してモジュールに直接アクセスします。 この場合、NVDIMM(DPA)の物理アドレス空間は、SPAの物理アドレス空間にマッピングされます。 システムに複数のNVDIMMスロットがある場合、メモリコントローラーは適切と思われるスロットを表示できます。 たとえば、次のように:





2 PMEMダイレクトアクセススキーム



したがって、モジュールへのアクセスは単一のエンティティとして実行されます。 これは常に好ましいオプションではありません。 場合によっては、たとえば、ブラケットをRAIDから収集するために、各ブラケットに個別にアクセスする必要があります。 このようなタスクには、2番目のモードがあります。



2. BLKアパーチャを使用したアクセス



いわゆる「アクセスウィンドウ」を使用して、各バーへのアクセスが個別に提供されます。





3 BLKアパーチャを使用したアクセス方式



最新のNVDIMMストリップは、多くの場合、これらのモードの両方を同時にサポートします。 これには、NVMeデバイスと同じ方法で名前空間が使用されます。 また、NVDIMMがNFIT(NVDIMMファームウェアインターフェイステーブル)に対応する場合、各モジュールの先頭に特別なヘッダー(ラベル)が格納され、それに応じてアドレススペースが異なるアクセスモード(BLKまたはPMEM)の領域に分割されます。



異なる方法を使用して同じ領域に同時にアクセスすると、データが破損する可能性があるため、これらの領域が重複しないことが不可欠です。 (NFPIの詳細については、 ACPI 6.1を参照してください 。)



RAIDIX 4.6のNVDIMM書き込みキャッシュ保護



宇宙組織



バージョン4.6より前は、RAIDIXの主要なコントローラーによるブロックの更新操作には、スレーブコントローラーのRAMへのブロックの同期コピーが伴いました。 停電が発生した場合、UPSにはかなりのエネルギーが必要であり、クラスターが完全なシャットダウンの前にブロックのすべてのコピーをディスクに保存するのに十分です。 電源が回復したとき、クラスタを動作させる前にバッテリーを充電するのにかなりの時間が必要でした。 合計ダウンタイムはクラスターの電力消費とバッテリー容量の両方に依存し、それはサービス品質とストレージ条件に依存していました。



シングルコントローラーモードでは、緊急リブート中のデータ損失や、ソリューションの垂直スケーリングに伴うバックアップ電源のバッテリー容量不足のリスクがありました。



バージョン4.6で導入された新機能により、システムメンテナンスを簡素化し、冗長なハードウェアコンポーネントの導入を回避できます。 これは技術的にどのように実装されていますか?

NVDIMMは、RAMよりも信頼性の高いキャッシュの保存場所として使用されます。 これを行うには、仮想アドレス空間でアドレスを取得し、アクセスに必要な領域のサイズ全体をカバーする必要があります。



以下は、情報ストレージの構成の例です。





4データとメタデータのレイアウト



まず、利用可能なすべてのスペースをいくつかの名前空間に分割します。 RAID上の場所を記述するデータとメタデータを保存します。 メタデータには、データを明確に識別するための識別子と、クラッシュ後の回復の可能性も含まれています。



使用するメモリの種類は?



この記事では、RAIDIX 4.6とMicronの永続メモリNVDIMM-Nとの相互作用に焦点を当てます。 そのため、NVDIMMを使用すると、停電が発生した場合でもデータの整合性を維持できます。 同時に、Micron製品はDRAMのパフォーマンスとNANDメモリの安定性と信頼性を組み合わせて、データの整合性とビジネスの継続性を確保します。



障害が発生した場合、内部NVDIMMはDRAMに保存されているデータを不揮発性メモリ領域に移動します。 システムの復元後、コントローラーはNANDメモリからRAMにデータを損失なく転送し、アプリケーションが引き続き動作できるようにします。 AgigA Tech PowerGEMウルトラキャパシターは、Micron NVDIMMのバックアップ電源として機能します。





図5 AgigA PowerGEMウルトラキャパシタを搭載したNVDIMM



MicronのNVDIMMテクノロジーは、揮発性メモリと不揮発性メモリ(NANDフラッシュ、DRAM、およびメモリサブシステム内のスタンドアロン電源)の組み合わせです。 MicronのDDR4 NVDIMM-Nは、電源が失われた場合に、高速のDRAM読み取りおよび書き込み速度とDRAMデータのバックアップを提供します。



以下に、ロスレスデータ転送プロセスについてもう少し説明します。



データ転送プロセス



新しいバージョンでは、システムはスーパーキャパシタの状態(保証期間-最大5年)を考慮してデータを記録し、NVDIMM-Nのみを提供します。 データの整合性の保証は、データを不揮発性メモリに転送するために必要なエネルギー予備力の見積もりの​​精度に関連しています。



永続メモリは、従来のストレージデバイスの利点とDRAMメモリの高スループットを兼ね備えています。 永続メモリの機能は、高速で非常に短い遅延時間でのバイトアドレッシングです。



NVDIMM-Nモジュールは、停電後1分以内に自動的にDRAMからNANDにデータをプッシュします。 転送プロセスには、適切な指示が伴います。 転送が完了すると、モジュールを障害のあるコントローラーから取り外して、通常のDIMMモジュールと同様に保守可能にすることができます。 この機能は、予算ディスクソリューションから特殊なソリッドステートソリューションまで、すべてのシングルコントローラー構成に関連しています。



利点は何ですか?



2つのコントローラーを備えた構成では、データへのアクセスを中断することなく、いつでもNVDIMM-Nモジュールをコントローラーに交換できます。 NVDIMMの一貫性は、ソフトウェアだけでなくハードウェアでも提供できます。 これにより、バッテリー(古いRAIDコントローラーまたはUPSのBBU)を保守する必要がなくなります。 ソリューションの垂直および水平スケーリングにより、データ損失リスクの再評価は不要になりました!



RAIDIX 4.6に基づくTrinity FlexAppストレージ機能



Trinity FlexAppストレージシステム内では、各コントローラーはメモリスロットにNVDIMM-Nモジュールが取り付けられた通常のサーバーです。





図6 Trinity FlexAppストレージコンポーネント



100 Gbpsをサポート



このシステムにより、管理者は高性能のInfiniBand Mellanox ConnectX-4 100 Gbインターフェースを介してLinuxクライアントマシンに接続できます。 その結果、システムは、ビッグデータ、HPC、およびエンタープライズ環境で最小限のレイテンシとパフォーマンスの向上を実現します。 さらに、使いやすさとリソース管理の観点から、ソフトウェアにいくつかの改善が加えられました。



クラスターインボックス



RAIDIXベースのTrinity FlexAppストレージは、Active-Activeモードで異種クラスターをサポートします。これにより、データアクセスを中断したり、コントローラーをより近代的で強力なコントローラーに迅速に置き換えたりすることなく、システムを垂直に拡張できます。 したがって、システム全体の定性的開発に関する現在および将来のリスクの可能性が最小限に抑えられます。



高性能とデータ保護



システムの主要なタスクは、特定のユーザーグループのデータへの同時アクセスのセキュリティ、一貫性、効率、および企業ポリシーとディレクトリに基づく競合接続です。 さらに、RAIDIXにはサイレントデータ破損保護メカニズムが含まれており、ディスクレベルでのデータ破損(読み取りノイズ、振動および衝撃による共振)に関連するエラートレランスを提供します。



NVDIMM-Nに基づくRAIDIXベースのソリューションは、ロシアだけでなく海外でもすでに使用されています。 たとえば、日本最大の科学クラスター向けのHPCプロジェクト。 ソフトウェア定義のRAIDIXテクノロジーは、高性能コンピューティングのニーズを満たし、削減できないコンピューティング速度(プロセッサコアあたり最大25 GB /秒)、高いフォールトトレランス(独自のRAIDレベル-6、7.3、N + M)、スケーラビリティ、Intel Luster *との互換性を提供します。



All Articles