連想記憶とは

ほとんどのメモリは、同じ方法で格納およびアクセスされます。コンテンツは保存され、メモリ アドレスを使用して取得されます。これは一般的に有用であり、ほぼ普遍的に使用されています。残念ながら、このスタイルのストレージにはわずかな問題があります。必要なデータがどこに保存されているかを知っていれば、それは素晴らしいことです。特定のエントリを検索する場合は、うまく機能しません。

ファイルを見つけたいとしましょう。その名前は覚えていますが、保存したフォルダーは覚えていません。お使いのコンピューターはファイル名を検索できますが、最近使用したことがない限り、検索の実行がかなり遅いことがよくあります。これは、ファイル システムがファイル名とアドレスとして保存されることを考慮したものです。

連想メモリは、コンテンツ アドレス可能メモリ (CAM) とも呼ばれ、その内容によって検索されるように設計されています。残念ながら、連想メモリの実装には非常にコストがかかります。これは、通常はハイエンドのネットワーク ハードウェアで、少数のケースでのみ使用されることを意味します。連想名メモリは、連想ソフトウェア アレイのハードウェア実装であるという事実に由来します。

細胞構造

連想メモリは、非常に高いパフォーマンスが必要な場合にのみ使用されます。そのため、DRAM ではなく SRAM に基づいています。出発点として、これだけでも高価になります。DRAM はビットごとに 1 つのトランジスタと 1 つのコンデンサを使用し、SRAM は合計 6 つのトランジスタを使用します。メモリ セルの内容を効率的に検索するために、各セルは比較回路を持つように変更されます。これにより、各セルに合計 4 個のトランジスタが追加されます。これは、連想メモリが、すでに高価なストレージ形式である SRAM よりも大幅に密度が低いことを意味します。

使用法

連想メモリは高価であり、一致するコンテンツ ベースの検索専用に最適化されています。そのため、このタイプの検索を常に実行する必要があるデバイスでのみ実際に使用されます。それでも、通常はハイエンド モデルに限定されます。通常、連想メモリが使用される主な場所は、ネットワーク スイッチとルーターの 2 つだけです。

スイッチやルーターなどのネットワーク ハードウェアは、数ギガビットのネットワーク トラフィックが常に流れ続けるように、高いパフォーマンス レベルを提供する必要があります。ネットワーク内では、トラフィックのルーティングに MAC アドレスが使用されます。スイッチは、多くのネットワーク ポートのどれにデータを送信する必要があるかを認識しているため、正しい MAC アドレスを持つデバイスに到達します。各パケットが適切な場所に送信されるようにするために、宛先 MAC アドレスが検索されます。従来のメモリ形式では、すべてのネットワーク通信の待ち時間が長くなり、時間がかかります。連想メモリを使用すると、その検索がはるかに高速になります。

バイナリとターナリ

ほとんどの連想メモリは 2 進数に基づいていますが、3 進数に基づいているものもあります。三元連想メモリセルは、上記の二元連想メモリセルに似ています。ただし、SRAM セルが 1 つではなく、2 つになっています。両方を組み合わせると、比較を実行するために必要な 4 つの追加のトランジスタが必要になります。もちろん、これにより 3 項連想メモリは 2 項連想メモリよりもさらに高価になります。では、何に使用されるのでしょうか?

3 値セルの 2 番目のビットは、「ケア」または「ドントケア」を示します。これにより、セルと全体的な検索機能に 3 番目の状態が追加されます。don't care として 1、0、または X を格納できるようになりました。これは、可変長サブネット マスクに基づくネットワーク ルーティング テーブルとアクセス制御リストを扱う場合に特に便利です。これらの両方で、1 つの検索アドレスに対して複数の肯定的な応答がある場合があります。両方の中で、最も正確な指示だけをメモする必要があります。

そのため、192.168.20.19 の検索は、次のルール 192.168.20.16/28 および 192.168.0.0/16 に一致する可能性があります。標準のバイナリ検索を実行している場合は、計算を実行して、アドレスが指定されたアドレス範囲内にあることを確認する必要があります。ただし、3 値ロジックを使用すると、検索アドレスが 192.168.xx と一致するかどうかを 1 回の操作で判断できます。また、「ドント ケア」ビットが少ないため、/28 一致は /16 一致よりもはるかに正確であると判断できます。これにより、関連するアクセス制御ルールを優先的に適用できます。

3 進連想メモリは 2 進形式よりもさらに高価であるため、一般的ではありません。通常、これはトップエンドのルーターとマルチレイヤー スイッチでのみ見られます。

結論

連想記憶は、標準記憶とは大きく異なる働きをする記憶の一種です。特定のアドレスに保存されているデータを要求するのではなく、メモリ全体を一度に検索して、検索語に一致するものを探します。高性能レベルでこれを達成するために、メモリ セルは、ビット比較ロジックを実行するために使用される 4 つの追加トランジスタと組み合わせた 1 つまたは 2 つの SRAM セルを特徴とする SRAM の修正された形式に基づいています。

バイナリ連想メモリでは単一の SRAM セルが使用され、ターナリ連想メモリでは 2 つの SRAM セルが使用されます。三項バリアントでは、通常は 1、0、または「ドント ケア」の 3 番目の値を格納できます。これにより、検索用語が正確でなくても、コンテンツが一致する必要があることを示すことができます。

連想メモリ セルは高価な SRAM に基づいているため、高価であり、3 値が最も高価です。このことと、その構造がコンテンツによる検索用に明示的に最適化されているため、連想メモリはほとんどのデバイスで使用されていません。

特にメリットがあり、パフォーマンスが初期費用を上回るデバイスのみがそれを特徴としています。そのため、通常はエンタープライズ グレードのネットワーク ハードウェアでのみ使用されます。その設定内では、多くの場合、CAM および TCAM と呼ばれ、それぞれ Content Addressable Memory および Ternary Content Addressable Memory を表します。



Leave a Comment

ハードドライブのクローンを作成する方法

ハードドライブのクローンを作成する方法

データが貴重な資産である現代のデジタル時代では、Windows 上でハード ドライブのクローンを作成することは、多くの人にとって重要なプロセスとなる可能性があります。この包括的なガイド

Windows 10でドライバーWUDFRdのロードに失敗した場合の修正方法

Windows 10でドライバーWUDFRdのロードに失敗した場合の修正方法

コンピュータの起動中に、ドライバ WUDFRd をコンピュータに読み込めなかったことを示すエラー メッセージが表示されましたか?

NVIDIA GeForce Experienceエラーコード0x0003を修正する方法

NVIDIA GeForce Experienceエラーコード0x0003を修正する方法

デスクトップで NVIDIA GeForce experience エラー コード 0x0003 が発生していますか? 「はい」の場合は、ブログを読んで、このエラーをすばやく簡単に修正する方法を見つけてください。

Chromebook の電源が入らないのはなぜですか

Chromebook の電源が入らないのはなぜですか

「Chromebook の電源がオンにならないのはなぜですか?」という質問に対する答えを見つけます。この役立つガイドは Chromebook ユーザー向けです。

Fitbit Versa 4 の文字盤を変更する方法

Fitbit Versa 4 の文字盤を変更する方法

Fitbit Versa 4 の文字盤を無料で変更して、時計の外観を毎日変えることができます。それがいかに早くて簡単かを見てください。

ルンバが止まったり、くっついたり、向きを変えたりする – 修正

ルンバが止まったり、くっついたり、向きを変えたりする – 修正

ルンバ ロボット掃除機が停止し、固着し、回転し続ける問題を修正します。

Steam Deckのグラフィック設定を変更する方法

Steam Deckのグラフィック設定を変更する方法

Steam デッキは、堅牢で多彩なゲーム体験をすぐに提供します。ただし、ゲームを最適化し、可能な限り最高のパフォーマンスを保証するには、

分離ベースのセキュリティとは何ですか?

分離ベースのセキュリティとは何ですか?

サイバーセキュリティの世界でますます重要になっているトピック、つまり分離ベースのセキュリティを詳しく掘り下げる予定でした。このアプローチは、

Chromebook でオート クリッカーを使用する方法

Chromebook でオート クリッカーを使用する方法

今日は、Chromebook で繰り返しクリックするタスクを自動化できるツール、オート クリッカーについて詳しく説明します。このツールは時間を節約し、

SMPSとは何ですか?

SMPSとは何ですか?

コンピューターに SMPS を選択する前に、SMPS とは何か、およびさまざまな効率評価の意味を理解してください。