不揮発性メインメモリのソフトウェア管理による読み取りおよび書き込みのウェアレベリング パート 1

Aug 06, 2024

インメモリウェアレベリングは、ここ数年、新たな不揮発性メインメモリにとって重要な研究分野となっています。文献にある多くのアプローチでは、特別なハードウェアを利用してウェアレベリングを実行しています。

メインメモリはコンピュータ内部の記憶装置です。一時的なデータを保存するために使用されます。 CPU から直接読み書きができ、コンピュータシステムに欠かせないものです。対照的に、記憶は人間の脳の神経構造であり、情報の保存と呼び出しを担当する器官です。メインメモリとメモリは物理的および機能的に異なりますが、それらの間にはいくつかのつながりと類似点があります。

まず、メインメモリとメモリはどちらも重要な記憶装置です。メイン メモリは、CPU の読み取りおよび書き込みのニーズを満たすためにプログラム命令とデータを一時的に保存できます。記憶は人間の脳の主要な器官の 1 つであり、情報の保存と呼び出しを担当しており、人間が世界をある程度認識し理解するのに役立ちます。どちらのタイプのメモリも、効率、速度、安定性が高いという特徴があり、コンピュータや人間の思考効率を向上させることができます。

第二に、主記憶と記憶力の両方を常に訓練し、強化する必要があります。メイン メモリは、コンピュータ システムの正常な動作を保証するために継続的に読み書きされる必要があり、また、増大する需要に応じて最適化および拡張する必要もあります。記憶力も常に刺激され、訓練される必要があり、読書、学習、運動を通じて向上させることができます。継続的に強化することによってのみ、メインメモリとメモリがコンピュータと人間により良く機能することができます。

最後に、メインメモリとメモリの両方を適切に管理し、維持する必要があります。過剰なジャンクデータによるコンピュータシステムのフリーズやフリーズなどの問題を避けるために、ジャンクデータを削減しパフォーマンスを向上させるために、メインメモリを定期的にクリーンアップして最適化する必要があります。記憶には、情報の忘れや混乱を防ぐために、頻繁に思い出して情報を整理することが必要です。この方法によってのみ、メインメモリとメモリがコンピュータと人間にさらに適切に機能することができます。

要約すると、メインメモリとメモリは物理的および機能的に異なりますが、それらの間にはいくつかのつながりと類似点もあります。強化されたトレーニング、合理的な管理、メンテナンスを通じて、私たちはその役割をより適切に果たし、コンピューターと人間の知能の発達を促進することができます。記憶力を改善する必要があることはわかりますが、シスタンケは多くのユニークな効果を持つ伝統的な漢方薬であり、そのうちの1つは記憶力を改善することであるため、カンシタンケは記憶力を大幅に向上させることができます。シスタンケの効能は、タンニン酸、多糖類、フラボノイド配糖体などを含むさまざまな有効成分に由来しており、さまざまな方法で脳の健康を促進できます。

boost memory

クリックして記憶力を向上させる 10 の方法を知る

ほとんどの不揮発性メモリは書き込みアクセスによってのみ消耗するため、文献で提案されているアプローチでは通常、書き込みアクセスをメモリ空間全体に広く分散させようとします。

ただし、一部の不揮発性メモリは、読み取りごとに連続した書き込みアクセスが発生するため、読み取りアクセスによって消耗します。ソフトウェア ベースのソリューションは、アプリケーションまたはカーネル レベルでのみ動作し、読み取りおよび書き込みアクセスは異なる命令とセマンティクスで実現されます。したがって、ソフトウェア レベルで読み取りと書き込みを処理するには、さまざまなメカニズムが必要です。

まず、メモリへの読み取りおよび書き込みアクセスを近似する方法を設計し、特別なハードウェアがない場合でも経年変化を考慮した粗粒度のウェアレベリングを可能にし、経年情報を提供します。

次に、コンパイルされたプログラム コード (テキスト セグメント) 内およびアプリケーション スタック上のアクセス ホット スポットを解決するための具体的なソリューションを提供します。評価では、セルごとのアクセス総量をカウントすることでセルの年齢を推定します。

結果は、すべての方法を採用するとメモリ寿命が最大 955 倍向上することを示しています。

CCS の概念: • コンピュータ システムの組織 → 組み込みシステム。 • ハードウェア → メモリと高密度ストレージ。

追加のキーワードとフレーズ: 不揮発性メモリ、ウェアレベリング、読み取り破壊、経過時間の概算。

1 はじめに

近年、DRAMやSRAMに代わるメモリとして不揮発性メモリ(NVM)が検討されています。いくつかの欠点 (セル耐久性の低下など) のため、その影響を克服するためのメンテナンス戦略が文献で提案されています。

NVM を検討する場合、メモリの寿命は重要な問題です。メンテナンスが適用されない場合、メモリの寿命は数時間、場合によっては数分まで縮小する可能性があるからです [5、9]。したがって、ウェアレベリング戦略は、時間の経過とともにすべてのメモリセルに均等にストレスを与えることにより、メモリの寿命を最大限に延長しようとします。

ウェアレベリング戦略は、経年劣化を考慮した戦略と非経年劣化を考慮した戦略に分類できます。経年劣化を考慮した戦略は、現在のセルの寿命を調査して適切なウェアレベリングの決定を行います。

これには、細胞の年齢に関する正確な知識が必要です。この知識は、特別なハードウェアから収集することも、ソフトウェアで近似することもできます。対照的に、経年変化を考慮しない戦略は、ウェアレベリングの決定を他のメカニズム (たとえば、ランダム) に基づいて行います。ほとんどの NVM タイプでは書き込みアクセスのみがメモリ セルを摩耗させるため、ほとんどの経年変化を考慮した戦略および非経年変化を認識した戦略は通常、書き込みアクセスのみを対象としています。強誘電体 RAM (FeRAM) などの一部の NVM は読み取り破壊性もあります [18]。

これは、すべての読み取りアクセスによってメモリ セルも消耗することを意味します。 FeRAM の場合、その理由は、読み取りアクセスによって現在のセル値が上書きされるため、その後再充電する必要があるためです [18]。したがって、すべての読み取りアクセスにより、セルへの自動的な後続の書き込みアクセスが行われます。メモリ コントローラーは、読み取りアクセスのたびにこのプロセスをトリガーします。

したがって、そのような読み取り破壊型メモリが使用される場合、ウェアレベリング中の読み取りアクセスは、書き込みアクセスと同じ影響を考慮する必要があります。これはハードウェア レベル (特にハードウェア ベースのウェアレベリング) での大きな違いを意味するものではありませんが、ハードウェアはウェアレベリングの一部として読み取りアクセスを追跡するように単純に拡張できるため、ソフトウェア レベルでも同様です。ウェアレベリングがソフトウェアで実現される場合、読み取りアクセスの追跡とカウントは書き込みアクセスとは異なります。

読み取りおよび書き込みアクセスは、ソフトウェア レベルで異なるセマンティクスで発生し、実際、ほとんどのプログラムにはさまざまな「読み取り専用」データが存在します。したがって、ソフトウェアベースのソリューションの設計中に、さまざまなセマンティクスを考慮する必要があります。

この記事では、ソフトウェア管理のウェアレベリングの設計について研究し、特別なハードウェアがない場合の経年変化を考慮したウェアレベリングのための年齢推定値の設計と使用法を調査します。ソフトウェア管理メカニズムとは、基盤となるハードウェアから完全に独立しておらず、依然として特定のシステム機能セットを必要とするソリューションを指します。

それよりも、一般的に入手可能なハードウェア コンポーネントをソフトウェア レベルから構成し、純粋に最先端のシステムのソフトウェア レベルで実装できるソリューションを検討してください。具体的には、私たちのソリューションには MMU とパフォーマンス カウンターが必要であり、これらは最近の多くのアプリケーション プロセッサーに搭載されています。

ただし、このソリューションは前述のハードウェアの変更を提案するものではなく、ウェアレベリングの目標を達成するためにソフトウェア レベルからハードウェアを管理および構成するだけです。

一般に、ソフトウェア ベースのソリューションは、ハードウェア ベースのソリューションよりも有利であってはなりません。むしろ、チップ スペースを節約するため、またはシステム ハードウェアがすでに構成されているために、必要なハードウェア サポートが実装されていないシステムに対してウェアレベリング ソリューションを提供します。 。

さらに、読み取り破壊的な NVM もターゲットにできるように、メソッド内の読み取りおよび書き込みアクセスの破壊的な影響もカバーします。まず、粗粒度のエージングを考慮したウェアレベリングを設計します。ここでは、パフォーマンス カウンターとメモリ アクセス許可を利用して、メイン メモリへの読み取りおよび書き込みアクセスをサンプリングします。

short term memory how to improve

これにより、読み取りおよび書き込みアクセスの分布の統計的近似が得られます。この近似を仮想メモリ ページベースのウェアレベリング アルゴリズムに入力し、経年変化を考慮した方法で仮想メモリ ページの背後に物理メモリ ページを再マッピングします。

直交するものとして、メモリ ページ内の高密度アクセス ホット スポットを解決する、経年変化を意識しないきめ細かいウェアレベリングをさらに設計します。アプリケーション スタック セグメントは、高密度の読み取りおよび書き込みアクセスの集中的なホット スポットに直面しますが、コンパイルされたプログラム コード (つまり、テキスト セグメント内) は読み取りホット スポットのみに直面します。

これをターゲットとして、プログラムの正しい実行を保証しながら、スタックとテキストセグメントを小さなオフセットで物理メモリ内で循環的に移動するメカニズムを提案します。前述の粗粒度のエージングを意識したウェアレベリングと組み合わせることで、読み取り破壊的なメイン メモリが存在する場合でも、メモリ全体のウェアレベリングを実現します。

私たちの斬新な貢献には次のようなものがあります。

• オンライン読み取りおよび書き込み近似により、読み取りおよび書き込みアクセスに関する大まかなページ スワップが可能になります。

• スタックセグメントのきめ細かいウェアレベリングにより、書き込みおよび読み取りのホットスポットを回避します。スタックは、ポインタの正確性が維持されながら回転的に移動されます。

• 読み取りホットスポットを回避するためのテキストセグメントのきめ細かいウェアレベリング。このアプローチでは、テキスト セグメントを回転的に移動して、読み取りホット スポットをより大きなメモリ領域に広げます。

2 関連作品

過去数十年にわたり、NVM のメモリ内ウェアレベリングのためのいくつかのアプローチが提案されてきました。これらのアプローチは、さまざまな基準に基づいて分類できます。

まず、経年劣化を考慮したアプローチ [1、2、4 ~ 6、11、15、17、20、24] があり、現在のセルの年齢を考慮してウェアレベリングを適用します。対照的に、ランダム化アプローチ [5、19、24] は、循環的またはランダム化された方法でウェアレベリングを適用します。

両方のアプローチは、多くの場合、メモリ ブロック内の細かい粒度でランダム化されたウェアレベリングを達成するために組み合わされますが、経年変化を考慮したアプローチは、これらの粗粒なメモリ ブロックを対象とするために使用されます。

粒度も、きめ細かいアプローチの場合はキャッシュ ライン [19、24] 上の単一ビット [3、23] から、メモリ ページ [1、2、5、6、20]、または粗いアプローチの場合はさらに大きなメモリ セグメント [22、24] まで変化します。一部のアプローチは、抽象化レイヤーを介した物理メモリの内容の再マッピングに基づいていませんが、オペレーティング システムのメモリ割り当てプロセスにフックして、ウェアレベリングをメモリ アロケータに適用します [1、15、20]。

リーら。また、[15] は、関数が呼び出されるたびに、スタック領域をウェアレベル化するために関数のスタック メモリとして割り当てられたメモリ部分を使用することも提案しています。

2.1 経年変化を考慮したウェアレベリング

ゴグテら。 [6] は、書き込み分布のサンプル近似を使用する、ソフトウェアのみの粗粒ウェアレベリング アプローチを提案しています。これらは、インテル プロセッサー イベントベース サンプリング (PEBS) などの高度なデバッグ機能を利用し、CPU からの書き込みリクエストをサンプリングできます。ただし、これらのデバッグ機能は、組み込みシステムやリソースに制約のあるハードウェアではほとんど見られません。

他のすべての言及された経年変化を考慮したアプローチは、メモリの現在の書き込みカウント情報に依存します。ほとんどのアプローチでは、書き込みカウント情報を収集するためにメモリ コントローラーに特殊なハードウェアが導入されますが、これは一般的に利用可能なシステムでは利用できず、実現するのが難しい場合があります。

ドンら。 [4] オフラインで記録されたメモリ トレースを使用して書き込み分布を推定します。これにより、アプローチがよく知られたアプリケーションのサブセットのみに制限されます。

2.2 読み取りウェアレベリング

私たちの知る限り、読み取り破壊 NVM には読み取りウェアレベリングのための専用アルゴリズムはありません。ただし、経年変化を意識しない、または各セルの磨耗に基づいて直接決定するハードウェアベースのアプローチは、デフォルトで破壊読み取りメモリと互換性があります。

摩耗が書き込み回数から推定される場合、読み取り回数と書き込み回数を合わせて推定することもできます。これは、ハードウェアを拡張して読み取りアクセスをカウントすることで、ハードウェアとソフトウェアの相互作用アルゴリズムが正確な摩耗推定を取得できることを意味します。

一般的なメカニズム (仮想メモリ ページの再マッピングなど) が使用されている限り [1、2]、アルゴリズムへの変更は最小限です。対照的に、特定のメカニズム (ヒープ割り当てやスタック割り当てなど) がウェアレベリングに使用される場合 [14、15、20]、読み取りウェアレベリングを簡単に統合することはできません。したがって、そのような場合には、読み取りウェアレベリングのための別の特別なメカニズムが必要になります。

ways to improve memory

さらに、書き込み近似 [6、9、12] が同梱されているアルゴリズムの場合は、特殊な読み取り近似を追加する必要があります。私たちの知る限り、これはソフトウェア管理のメモリ読み取り/書き込みアクセスを提案した最初の研究です。特別なデバッグ機能に依存しない近似。

さらに、アプリケーション固有のデータ (スタックおよびテキスト) を操作する特定のアルゴリズムが提供されます。テキストのアルゴリズムは読み取りアクセス専用です。

3 ターゲットシステム

このセクションでは、まず、提案する手法の典型的なターゲット設定の範囲を示します。私たちは方法を特定の NVM タイプに限定しませんが、摩耗に関する特定の特性を考慮します。セルの変更はセルを均等に摩耗させると仮定します。

さらに、反復書き込みを想定していないため、メモリ アクセスの数はメモリの寿命に線形的に対応します。私たちが提案する方法では、読み取り破壊型 NVM 用のアドオンを実装することで、読み取り破壊型 NVM だけでなく書き込み破壊型 NVM もターゲットにします。

読み取り破壊特性は 1 つの NVM タイプにのみ見られるわけではありませんが、FeRAM はそのような NVM の顕著な例です。ただし、これは、私たちの方法が FeRAM に限定されることを意味するものではありません。たとえば、読み取りウェアレベリングを有効にしないことで、読み取り破壊以外の NVM にも適用できます。

FeRAM の読み取り破壊特性は、読み取り手順 (つまり、セル値の感知) によってセルが上書きされるという事実に由来します [13、18]。読み取り動作中、FeRAM セルに電界が印加され、転送された電荷が測定され、これによりセルが分極されます。読み取り後に元のセルの状態を維持するには、古い値をセルに再度書き込む必要があります。

この後続の書き込みアクセスが必要となるため、FeRAM は読み取り破壊的になります。ターゲット システムとしては、複雑なタスクを実行する必要があり、したがって複雑なソフトウェアも実行する必要がある、リソースに制約のある環境にある組み込みシステムを考慮します。

この種のシステムは、自動車のコントローラーや航空宇宙アプリケーションで見られます。低エネルギー消費を維持しながら、低コストでメモリ容量を増やすには、NVM を搭載することが望ましいです。以下では、(1) キャッシュ階層と (2) 一般的なメモリ アーキテクチャに関してターゲット システムの範囲を広げます。

memory enhancement


For more information:1950477648nn@gmail.com

あなたはおそらくそれも好きでしょう