Jump to content 日本-日本語

製品  >  HP ProLiant サーバ  >  技術情報  >  White Paper

whitepaper

技術資料

HP ProLiant サーバ

目次

はじめに
  基本的なDRAM動作
  SDRAMテクノロジ
  SDRAMの先進テクノロジ
  結論

PDFファイル ダウンロード

このホワイトペーパーのPDFファイルをこちらからダウンロードしてご覧下さい。
(PDFファイル、404KB)
コンテンツに進む

メモリテクノロジの進化: システムメモリ テクノロジの概要 技術概要、第4版


基本的なDRAM動作

コンピュータは、アプリケーションとデータをハードディスクドライブからシステムメモリにコピーしないと、有益なタスクを実行できません。コンピュータには、キャッシュメモリとメインメモリの2種類のシステムメモリが使用されています。キャッシュメモリは、非常に高速で静的なRAM (SRAM) チップで構成されています。メインメモリは、ノート、デスク、およびサーバ用のDIMM (Dual Inline Memory Module) にさまざまな方法で組み込む事ができるDRAMチップで構成されています。

各DRAMチップには、数百万の記憶域(セル)が含まれ、これらがロウ(行)とカラム(列)でできたマトリクスに配置されています(図1)。メモリセルの配列の周囲には、読み込み、増幅、およびメモリセルからメモリバスへのデータ転送を行うトランジスタがあります。DRAMの各行(ページ)は、複数のDRAMセルから構成されます。ページ上のDRAMの各セルには、非常に短い間、電荷を蓄電するキャパシタが1つずつあります。電荷を蓄えているセルは「1」、蓄えていないセルは「0」のデータビットで表されます。キャパシタは時間が経つと電気を放出してしまう為、データの有効性を維持するには、1秒間につき数千回の充電(リフレッシュ)をしなければなりません。これらのリフレッシュメカニズムについては、後ほどこの項の中で詳しく説明します。

 
図1. DIMM上の1つのDRAMチップを示した図
図1. DIMM上の1つのDRAMチップを示した図
   
 

メモリサブシステムは、メモリバス速度で動作します。一般的にメモリコントローラは、ターゲットセルの行アドレスと列アドレスを指定する電気的なアドレス信号を送信するときにDRAMセルにアクセスします。メモリコントローラはこれらの信号をメモリバスを経由してDRAMチップに送信します。メモリバスは、アドレス/コマンドバスとデータバスの2つのサブバスから構成されています。

データバスは、DRAMとの間でデータを受け渡すライン (トレース) のセットです。各トレースは、1回につき1データビットを運びます。データバスのスループット (帯域幅) は、データバスの幅 (ビット) と周波数によって異なります。メモリバスのデータ幅は、通常64ビットです。これは、そのメモリバスにはトレースが64あり、それぞれのトレースが1度に1ビット転送することを意味します。

アドレス/コマンドバスのアドレスの部分は、メモリ内のデータの場所を識別する信号を送るトレースのセットです。アドレス/コマンドバスのコマンドの部分は、リード、ライト、リフレッシュなどの命令を運びます。

FPMまたはEDOメモリがデータを特定のセルに書き込む際、メモリコントローラがデータを書き込む場所を選択します。メモリコントローラは最初にアドレス/コマンドバス上の行アドレスをストローブしてページを選択します。次にアドレス/コマンドバス上の列アドレスをストローブして、正確な場所を選択します(図2)。これらの動作はそれぞれRAS (Row Address Strobe)、CAS (Column Address Strobe)と呼ばれます。CASがライト動作の実行を指定するのと同時に、WE (Write Enable) 信号が有効になります。次にメモリコントローラは、データをメモリバス上に移動させます。DRAMデバイスはデータをラッチして各セルに格納します。

DRAMのリード動作中、メモリバス上ではRAS、CASの順に駆動されます。WE信号は無効のままで、リード動作を表しています。CAS遅延と呼ばれる遅延の後、DRAMデバイスはデータをメモリバス上に移動させます。

DRAMのリフレッシュ中はアクセスできません。プロセッサがDRAMのリフレッシュ中にデータを要求しても、リフレッシュが完了するまでデータは使用できません。DRAMのリフレッシュには、RASオンリーリフレッシュ、CASビフォアRAS (CBR)リフレッシュ、ヒドゥンリフレッシュなど、さまざまなメカニズムがあります。RASを駆動する前にCASを駆動するCBRリフレッシュは、最も多く使用されています。

 
図2. FPMまたはEDO RAMのライト動作を示した図
図2. FPMまたはEDO RAMのライト動作を示した図
 


DRAMストレージの密度と消費電力
DRAMのストレージ容量 (密度) は、セル構成と反比例します。つまり、セル構成が縮小すればするほどストレージ密度は増加します。この数年の間に、DRAMストレージ密度の改良により、容量はチップあたり約1キロビット(Kb)から1ギガビット(Gb)に増えています。近い将来、容量はチップあたり2 Gbを超えることも予測されます。

コンピュータ メモリ コンポーネントの業界標準動作電圧は、5 Vでした。しかし、セルの構成が縮小するにつれ、メモリ回路はより小さく、より精密になりました。同様に、業界標準動作電圧も低くなっています。現在、コンピュータ メモリ コンポーネントは、1.8 Vで動作します。これにより、メモリコンポーネントはより少ない消費電力でより高速に動作できるようになりました。

メモリアクセス時間
DRAMがCAS信号からデータを生成し、そのデータがデータバス上で使用可能になるまでに要する時間を、メモリアクセス時間、またはCAS遅延と呼びます。非同期DRAMの場合、メモリアクセス時間はns (ナノ秒: 10億分の1秒) で表されます。同期DRAMの場合、メモリアクセス時間はメモリバスクロック数に換算されます。

チップセットとシステムバスのタイミング
命令またはデータ転送を実行するすべてのコンピュータコンポーネントは、システムバスクロックによって制御されます。システムチップセットは、システムバスクロックの速度 (周波数) を制御し、これによりプロセッサ、メインメモリ、PCIバス、およびその他の周辺バスとの間のトラフィックを規制します。

バスクロックとは、特定の周波数で2つの電圧 (「0」と「1」で指定。図3参照) を交互に繰り返す電気的信号です。バス周波数は、MHz (メガヘルツ: 1秒あたりのサイクル数を100万単位で示したもの)で表されます。各クロックサイクルの間に、電圧信号は「0」と「1」に交互に切り替わり、「0」に戻ります。完全なクロックサイクルとは、1つの立ち上がりエッジから次の立ち上がりエッジまでを指します。メモリバスに沿ったデータ転送は、クロック信号の立ち上がりエッジまたは立ち下がりエッジのいずれでもトリガーできます。

 
図3. バスクロック信号を示した図
図3. バスクロック信号を示した図
クロックサイクル時間はns (ナノ秒: 10億分の1秒) で表され、クロック周波数はMHz (メガヘルツ: 1秒あたりのサイクル数を100万単位で示したもの) で表されます。クロック周波数は、クロックサイクル時間の逆数です。たとえば、クロックサイクルが10 nsの場合、クロック周波数は1/(0.000000010)=100MHzになります。
 


長年、一部のコンピュータコンポーネントが、他のコンポーネントを凌ぐ速度を得てきました。このため、一般的なサーバに搭載されたコンポーネントは、動作速度がまちまちながら各々の速度には相互関係がある係数のクロックによって制御されています。これらのクロックは、多種多様なクロック乗算回路と除算回路を使用することにより生成され、メインシステム バスクロックに基づく複数の信号を生成します。たとえば、メインシステムバスが100 MHzで動作している場合、除算回路は33 MHz (システムクロック ÷ 3) のPCIバス周波数を生成し、乗算回路は400 MHz (システムクロック x 4) のプロセッサ周波数を生成することができます。システムクロックの倍数で動作するコンピュータコンポーネントは、システムクロックと「同期」しているため、同期コンポーネントと呼ばれます。

同期コンポーネントは、システムバスクロックと同期していない (非同期) コンポーネントよりも効率良く動作します。非同期コンポーネントでは、クロックの再同期のため、コンポーネント自体もその他のシステムもデータや命令のために1回以上のクロックサイクルを待たなければなりません。反対に同期コンポーネントは、どのクロックサイクルデータが使用可能になるかがわかっているので、こうしたタイミングの遅延を排除します。

メモリバス速度
DRAMの速度は、メモリサブシステム全体の実際の速度 (周波数) とは異なります。メモリサブシステムはメモリバス速度で動作します。この速度は、メイン システム バス クロックと同じ周波数 (MHz) の場合があります。メモリサブシステムの速度を制御する2つの主要な要素は、メモリのタイミングとDRAMの最高速度です。

バーストモードアクセス
初期のDRAMは、メモリアクセスごとに約6システム バス クロック サイクルを要しました。メモリアクセス中は、RAS信号とCAS信号が最初に送られ、次に64ビットのデータがメモリバスを経由して転送されました。次の順次アドレスアクセスでは、RAS、CAS、データの順に繰り返す必要がありました。その結果、ほとんどのオーバーヘッドは、データではなく、行アドレスと列アドレスを転送する間に発生しました。

FPMとEDOは、アドレスの要求があればデータも要求されるという予測に基づき、順次メモリ域から自動的にデータを取得することで、パフォーマンスを改善しました。このプロセスの使用はバーストモードアクセスと呼ばれ、最初のセクションのアドレスに基づき、メモリの4つの連続した64ビットセクションに順番にアクセスします。これにより、残りの3つの64ビットセクションにアクセスするためにそれぞれ6クロックサイクルを要していたのが、各セクションで1〜3クロックサイクルだけで済むようになります。

バーストモードアクセスのタイミングは、通常「x-y-y-y」の形式で表されます。「x」は最初の64ビットセクションへのリード/ライトのクロックサイクル数を示し、「y」は2番目、3番目、4番目のリード/ライトに要するクロックサイクル数を示しています。たとえば、バーストモードアクセスが登場する以前、DRAMが4つの64ビットのメモリセクションにアクセスするには、最大で24クロックサイクル (6-6-6-6) が必要でした。バーストモードアクセスにより、メモリコントローラが別のCAS信号を送る必要が生じる前に、最初にデータセクションにアクセスした後の残りの3つのセクションは、クロックサイクルごとにアクセスされるようになりました。

 
図4. バーストモードアクセス
図4. バーストモードアクセス

次へ 次へ


PDFファイルをご覧いただくには、Adobe® Reader® が必要です。
アドビシステムズ社のウェブサイト より、ダウンロード(無料)の上ご覧ください。
印刷用画面へ印刷用画面へ
プライバシー ご利用条件・免責事項