TRIZ公式サイトぷろえんじにあ

TRIZ・ITソフトウェアキーワードリスト TOP

メモリーインターリーブ

1 解説
 CPUからメモリーをアクセスするとき、出来るだけ平行に取れるよう効率よくアクセスあれるようにアドレス化している仕組みのことである。
 メモリの読み書きにはいくつかの段階があり、CPUがアクセス要求を行ってから実際にデータが送られてくる(あるいは書き込みが完了する)までにはレイテンシ(遅延)と呼ばれる時間差が生じる。メモリへのアクセスは時間がかかるため、コンピュータの処理速度はこの「待ち時間」に足を引っ張られている。レイテンシを短縮する試みは常に行われているが、CPU内の記憶素子との差は埋めがたく、また、低レイテンシのメモリは高価である。一方、メモリへのアクセス要求は短期的には局所性が極めて強く、連続した領域に順番に読み書きを行うことが多い。この特徴を利用して、複数のメモリバンクにまたがって連続したアドレスを交互に振っておき、あるデータにアクセスする遅延時間の最中に次のアドレスへアクセス要求を発行して時間を有効利用するのがメモリインターリーブである。バンクの数を増やせばその分高速にアクセスできるようになり、2つのバンクを用意すれば2倍、4つで4倍の高速化を図ることができる。ただし、実際にはコントローラのオーバーヘッドや、不連続なアドレスへのアクセスがあるため、バンクの数だけ性能が向上するわけではない。安価な高レイテンシのメモリで高い性能を得られる反面、メモリコントローラが複雑になり高価になることや、部品点数が増えて故障率が上がってしまうという欠点もある。高い性能が要求されるサーバなどでよく使われる技術だが、最近ではパソコンでもメモリインターリーブが採用されていることがあり、メモリの増設の際に同じ容量・種類のメモリモジュールを2枚ずつ増設しなければならないことがある。

2 所見
 特になし