スマートフラッシュ™

停電とデータの整合性

Author | 2022 年 12 月 12 日 | 全て, テクノロジー

ソリッド ステート ドライブ (SSD) は、内蔵 NAND フラッシュ チップにデータを保存する不揮発性メモリ (NVM) の一種です。 NAND フラッシュの物理的特性により、SSD のアクセス遅延は従来のハードディスク ドライブ (HDD) よりもはるかに短くなります。これは、電源が失われたり電源がオフになったりした場合でも、保存されたデータが失われることがないことを意味します。

 

 

キャッシュを使用して体感的なパフォーマンスを向上させる

NAND フラッシュ業界はここ数年で急速に進歩しました。 SSD は、速度、容量、価格の点で HDD と比べて価格競争力が高まっているため、世界中で入手可能な最も人気のあるタイプのストレージの 1 つです。 2 ビット MLC / 3 ビット TLC / 4 ビット QLC フラッシュなど、より高度なマルチレベル セル (MLC) NAND フラッシュ アーキテクチャが提案されています。しかし、これらの最新テクノロジーはコストを削減しますが、いくつかのトレードオフも伴います。

たとえば、MLC フラッシュへのアクセスの遅延は、シングル レベル セル (SLC) フラッシュよりもはるかに遅くなります。ただし、ユーザーは常により良いユーザー エクスペリエンスを求めており、SSD メーカーは製品のパフォーマンスを向上させるためにさまざまなアプローチを試みています。
「キャッシュ」の概念は、ユーザー エクスペリエンスを向上させるために SSD 内に実装されるのが一般的です。結局のところ、ユーザーが最も気にするのは、データがフラッシュ メモリに物理的にプログラムされるのにかかる時間ではなく、ホスト (パーソナル コンピュータなど) とストレージ デバイス (SSD など) の間の転送速度です。 、

一般的な戦略は、ホストから最初にデータが転送されるときに、受信したデータをメモリに格納し、プライマリ ストレージ領域 (つまり、NAND フラッシュ) よりも高速にデータをプログラムすることです。データがまだ主記憶装置にプログラムされていないにもかかわらず、データ処理時間は大幅に短縮されます。

ランダム アクセス メモリ (RAM) は、現在最も高速なストレージ メディアの 1 つです。そのため、中央処理装置 (CPU) とのデータ交換に RAM がよく使用されています。 RAM は、スタティック ランダム アクセス メモリ (SRAM) であってもダイナミック ランダム アクセス メモリ (DRAM) であっても、キャッシュの実装としても非常に一般的です。より良いユーザー エクスペリエンスを追求するため、キャッシュ技術は現在の SSD 製品にも広く実装されています。適切な設計と実装により、消費者は RAM によってもたらされるアクセス速度の利点を体験できます。

 

 

RAMキャッシュのデータ損失の問題

SSD 設計では RAM をキャッシュとして使用できますが、克服すべき固有の問題が 1 つあります。 RAM を使用すると、ユーザーは魅力的なデータ アクセス速度を得ることができますが、RAM の物理的特性によるトレードオフの 1 つは揮発性です。電源が切れると、RAM に保存されているデータはすべて失われます。 RAM の揮発性による RAM 内のデータ損失のリスクを軽減、または排除することができれば、SSD のデータ整合性機能が強化されることになります。しかし、SSD 設計における RAM の採用は、ユーザー エクスペリエンスに確かに大きな利点をもたらします。

キャッシュ データの整合性の問題に対処するには、いくつかのアプローチが考えられます。 1 つのアプローチは、回復可能なデータのみを RAM キャッシュに入れることです。 SSD でのキャッシュに DRAM を使用することは、フラッシュに保存されているソース データから復元できる「ホット」データをキャッシュするように設計されています。このようにして、突然の電源喪失によりキャッシュされたデータが破損した場合でも、SSD コントローラーはフラッシュ内の既存のデータに従ってデータを再構築できます。

残念ながら、すべてのシナリオをこのアプローチでカバーできるわけではありません。ユーザーがホスト側から SSD の RAM キャッシュにプログラムしたデータは、「回復不能」データとみなされます。停電が発生すると、このデータは失われます。キャッシュされたデータが失われるリスクを軽減するために、Phison は SmartFlush™ と呼ばれる独自のテクノロジーを開発しました。

 

PHISON テクノロジー: SmartFlush™

Phison 独自のテクノロジー SmartFlush™は、適切なタイミングで RAM からフラッシュにキャッシュ データをフラッシュするという 1 つの基本原理に基づいています。この戦略は単純明快です。 SmartFlush™ は、予期しない電源喪失の前に、キャッシュされたデータを RAM (揮発性) からフラッシュ (不揮発性) メモリに移動します。

 

このアプローチの重要な部分は、いつ RAM からフラッシュにデータをフラッシュするかです。データのフラッシュが頻繁に発生すると、ホストがデバイスへのコマンドの送信を停止しても、SSD がビジー状態のままになる可能性があります。その結果、SSD はスリープ モードに移行できなくなり、電力消費が予想より高くなる可能性があります。また、データ フラッシュを頻繁にトリガーすると、SSD 操作の滑らかさに影響を与える可能性があります。一方、このフラッシュ メカニズムが十分な頻度でトリガーされない場合、キャッシュ データが失われる可能性が高くなります。 RAM からフラッシュへデータをフラッシュする頻度と SSD の動作の滑らかさの間のバランスが鍵となります。
データフラッシュのタイミングには 2 つのアプローチがあります。

 

      • タイミング 1: RAM キャッシュ内のデータ サイズがフラッシュ内のページよりも大きい場合。これは非常に基本的なアプローチです。 SSD 市場で一般的に使用されているフラッシュ タイプは現在、ページベースでプログラム可能であるため、キャッシュされたデータのサイズがフラッシュの 1 ページの容量を超えるまで、キャッシュされたデータをフラッシュしないのは当然です。
      • タイミング 2: ホストはデバイスへのコマンドの送信を停止します。 SmartFlush™ の主な目的は、キャッシュ データの損失を防ぐことです。ユーザーの観点から見ると、この操作はバックグラウンドで実行されるべきであり、一般的なユーザー エクスペリエンスに大きな影響を与えるべきではありません。したがって、ホストがデバイスへのリクエストを送信しなくなった瞬間が適切なタイミングであると考えられます。

 

SSD の全体的な仕様を開発する際には、データ フラッシュを起動する頻度を考慮する必要があります。このテクノロジーの実際の実装は、SSD 製品のハードウェア設計とファームウェア設計によって異なります。現実世界のさまざまなユーザー シナリオに合わせてデータ フラッシュのタイミングの完璧なバランスを実現する方法は非常に複雑ですが、Phison はこの調整を得意としています。

 

Phison の SmartFlush™ は、データの整合性を確保しながら、知覚されるパフォーマンスを向上させます

この記事では、すべての詳細を説明するのではなく、SmartFlush™ の基本的な概念のみを紹介します。実際のケースでは、SmartFlush™ はここにリストされているものよりも複雑な方法論で実装されており、それらの方法論はさまざまな Phison フラッシュ ベースの製品や多様なユーザー シナリオ間で異なる場合があります。ただし、実装方法がどのように異なっても、SmartFlush™ メカニズムによってもたらされる利点は同じです。 Phison が提供するこのインテリジェントな機能により、データの整合性に対するユーザーの信頼が次のレベルに高まります。

 

イノベーションを加速する財団™

ja日本語