MAGAZINE ARTICLES
|
システムの最適化を図る上では、適切なDDR SDRAMコントローラを選択することが極めて重要である。しかし、一般的な検討においては、同コントローラの1つの重要な指標に対して目が向けられていないケースがよくある。その指標とは「データ転送効率」である。本稿では、「データ転送効率とは何なのか」、「それをどのように活用すればよいのか」ということについて、2つのケーススタディを交えながら詳細に説明する。 Raj Mahajan/Raghavan Menon 米Virage Logic社 |
ICの設計がより複雑になる中、各社製品の設計には、1つのシステムを構成する多くの要素が取り込まれるようになった。データ処理機能、オンチップバス、さまざまな周辺インターフェース、汎用またはアプリケーション固有のアルゴリズムを実現する論理回路などが1つのチップに集積されるようになってきている。これらの要素のすべてを問題なく動作させるためには、ほとんどの場合、高性能のメモリーインターフェースが必要となる。
現在、多くのSoC(system on chip)の設計においては、DRAMをどのように使用するかが、考慮するべきアーキテクチャ上の重要な課題となっている。オンチップDRAM(組み込みDRAM)を前提として設計されているのか、それとも外部のDRAMサブシステムを対象として設計されているのかにかかわらず、ほとんどの場合、SoCはオンチップのメモリーコントローラを必要とする。
メモリーコントローラを使用したサブシステムは、例えば画像を処理するためのフレームバッファ、ネットワークルーター用のデータバッファ、携帯電話機やデジタルカメラといった民生機器における音声/画像データの保存用など、さまざまなアプリケーションで使用されている。そのため、SoCには、フラッシュメモリー、DDR(double data rate)2/3、モバイル向けDDR、グラフィックス用途向けのDDRなどに対応したメモリーコントローラが必要となる。
しかしながら、特定のアプリケーションに最適なメモリーコントローラを選定するのは非常に困難な作業である。場合によっては、既存の選択肢では最適なメモリーコントローラを得られないこともある。以下、本稿ではDDR SDRAM(synchronous DRAM)メモリーコントローラ(以下、コントローラ)に限って解説を進める。
コントローラをSoCに実装する方法には、2つの選択肢がある。1つは自社でコントローラを開発してそれを利用する方法である。もう1つは、サードパーティのIP(intellectual property)プロバイダからコントローラのIPコアを購入して使用するというものだ。いくつかの理由から、最近では後者の方法がより一般的になってきている。それらの中でも最も重要な理由は、コントローラの設計、検証、テスト、実装などは、こうしたサブシステムの開発経験があまりない設計者にとっては、非常に複雑でコストもかかり、リスクの大きい作業であることだ。
また、今日のDDR規格とそれに対応するテスト手法は比較的、安定したものとなっている。そのため、自社でコントローラを開発しても、SoC化した際、それが他社と差異化を図れる要因とはならない。それに対し、IPコアの購入は長期的に見ればコストが低く抑えられ、納期の面でのリスクも低減可能な有効な方法だと言える。IPコアを利用することで、設計チームは製品の差異化につながる本質的な機能の設計/開発に専念することが可能になるため、この選択肢が重んじられているのである。
コントローラのIPコアを購入すると決めたら、次に必要なのは、どれを選ぶべきなのかを技術的な面から考察することである。まず思い浮かぶ基準としては、コストや機能、サイズ、性能、遅延時間(レイテンシー)、消費電力などが挙げられる。
しかし、IPコアを購入するための技術的な選択基準はこれだけでよいのだろうか。必ずと言ってよいほど見過ごされてしまうのが「データ転送効率(efficiency)」である。ここで言うデータ転送効率とは、理論上の最大帯域幅に対する実現可能な帯域幅の比率のことだ。このデータ転送効率こそが、対象とするシステムにそのコントローラが適合するかどうかを判断する上での重要な選択基準となる。
データ転送効率について理解するには、まずDDR SDRAMの主要なアクセス特性についてよく知ることが重要である。もし、SDRAMへのアクセスにかかる時間が常に同じであれば、メモリーサブシステムのインターフェースにおけるデータ転送効率を測定するのは容易だ。しかし、実際のDDR SDRAMメモリーデバイス/サブシステムでは、アクセスの条件が異なれば、アクセス時間も異なる。
DDR SDRAMのチップは、複数(通常は4か8)の独立したメモリーバンクを内蔵している。同バンクは、常にアイドル、アクティブのどちらかの状態にある。
アイドル状態にあるメモリーバンクは、アクティブコマンドによってアクティブな状態に遷移する。そして、指示された行データをセンスアンプの配列に格納する(行を“オープン”する)。読み出し/書き込み操作の間、データはここで保持される。このプロセスには少し時間がかかるが、これは行からデータを読み出す前に必要なオーバーヘッドである。読み出し/書き込みコマンドは、アドレスを使って、行に格納された複数のデータ(2、4、8ワード)にアクセスする。
コントローラが別の行にアクセスする場合、まず使用中のメモリーバンクのセンスアンプをアイドル状態に戻してから、次の行をセンス(感知)する。このプロセスは、プリチャージ(または行の“クローズ”)と呼ばれる。メモリーバンクが完全にアイドル状態になり、次のアクティブコマンドを受け取れるようになるまでには、少し時間が必要となる。
アクセス時間を長いほうから順に挙げると、以下のようになる。
①すでに行がオープンされているときの、別の行へのアクセス(オープンの行をクローズし、新たに別の行をオープンする)
②クローズの行へのアクセス(その行をオープンする)
③現在オープンの行へのアクセス
このほかにも、コントローラの実装においては、リフレッシュ、パワーダウン、初期化など、考慮しなければならないさまざまなタイミング要件があるが、本稿では省略する。ただし、考慮すべき重要な点がもう1つ存在するので、それについては指摘しておく。それは、メモリーサブシステムが読み出しから書き込みへと処理を遷移する際、インターフェースバスの反転に伴い発生する遅延である。この遅延があまりにも頻繁に起きると、メモリーへのデータ転送効率が全体的に劣化するので注意が必要だ。
先述したように、データ転送効率とは、理論上の最大転送帯域幅に対し、メモリーインターフェースが提供する実際に利用可能なデータ転送帯域幅の割合のことである。例えば、DDR2 DIMM(dual inline memory module)における理論上の最大転送速度が6400メガバイト/秒で、実際の平均転送速度が3200メガバイト/秒である場合、データ転送効率は50%である。
通常、コントローラのデータ転送効率は、25%から90%までといった具合に幅広い値をとる。非効率的なコントローラ実装を使用すると、システムの主要な特性に大きな影響が及び、全体のコストが増加することになる。
また、メモリーアクセスの性質(トラフィックパターン)によっては、高いデータ転送効率を実現するのが難しいケースがある。前節で、オープンの行に対するアクセスは速いという事実について触れたが、メモリーに対するアクセスが、主にオープンな行に対して行われる場合には、理論上の最大帯域幅が実現される。それに対し、メモリーアクセスが分散的に行われる場合には、同じ行へのアクセスはほとんど発生せず、違う行へのアクセスが多発することによって処理時間が長くなる。これにより、平均アクセス時間が長くなり、全体のデータ転送効率が落ちてしまうのである。
コントローラによっては、データのトラフィックパターンに応じて、より効率良く操作を組み合わせることのできるものがある。これであれば、非効率なトラフィックパターンによる影響を軽減することができる。例えば、メモリーアクセスのリクエスト(要求)が発生した順に実行するのではなく、同じ行へのアクセスをグルーピングして、読み出し/書き込み処理を最適に実行したり、優先度の高いデータへのアクセスをより速く実行したりするものである。このようなコントローラであれば、それぞれが備える機能と特徴によって、データ転送効率を大幅に改善することができる。
1 「データ転送効率」に要注目
NCspeedは、工具の送りスピードを切削負荷に応じて工具負荷を一定にコントロールするNCデータ最適…
「WorkNC(ワークエヌシー)」は、簡単操作で、高品質・信頼性の高いNCデータが作成できる、3次元…
「WorkNC 3X(ワークエヌシー・スリーエックス)」は、2軸~3軸までの金型加工に対応するエント…
OrCAD は、回路図エントリーからアナログ/デジタルシミュレーション、PCB 設計までカバーするト…
シングルポイント点検から全生産過程におよぶビジョンシステム構築に至るまで、In-Sight Micr…
この技術解説では、Androidの設計、仕組み、ネットワーク対応機器の開発を加速するために、Androidをどのように活用できるかを考察していきます。またAnd…[メンター・グラフィックス・ジャパン]
Blackfin/SHARCプロセッサ用 電源セレクション・ガイド
アナログ・デバイセズのパワーマネジメント製品は、Blackfin製品とSHARC製品向けに最適な電源製品を提案します。シングル・プロセッサ、マルチ・プロセッサ、…[アナログ・デバイセズ]
アナログ・デバイセズに寄せられた珍問/難問集より<Issue13>
チンプンカンプンと思われるかもしれませんが、コンバータはそれほど難しいものではありません。Q. コンバータの仕組みを、クマのプーさん(頭の足りないクマさん)[1…[アナログ・デバイセズ]
5Aを供給する、4mm×4mm QFN、15VIN、4MHzモノリシック同期整流式降圧レギュレータ – デザインノート467
LTC®3605は高効率モノリシック同期整流式降圧スイッチング・レギュレータで、4V~15Vの入力電圧から5Aの連続出力電流を供給することができます。その小型4…[リニアテクノロジー]
1個のデバイスで、携帯機器のバッテリ・チャージャ、プッシュボタン・コントローラ、LEDドライバおよびレギュレータICを全て置換-デザインノート470
LTC®3577/LTC3577-1は携帯機器のパワーマネージメントの多数の機能を1個のICに集積化し、ハンドヘルド機器の複雑さ、コストおよび基板面積を減らしま…[リニアテクノロジー]
計装アンプ/差動アンプを AC 結合で使用する
信号処理関係のアプリケーションでは、DC(直流)に存在する同相ノイズから AC(交流)信号を選り分けて集めなければならないことがよくあります。計装アンプ(IA)…[日本テキサス・インスツルメンツ]
アナログ・デジタルの仕様とパフォーマンス特性の用語集
この用語集は、テキサス・インスツルメンツのデルタ・シグマ()型、逐次近似レジスタ(SAR)、およびパイプライン ADコンバータの仕様と性能特性に関する定義を収録…[日本テキサス・インスツルメンツ]
エミュレーション: ハードウェア/ソフトウェア協調検証を可能にするエミュレータをASIC検証へ適用することによってテストを非常に高速に実行でき、シミュレーション…[日本イヴ]
システムレベル・仮想プラットフォームを手早く構築するためのトランザクタからなる仮想コンポーネント・ライブラリをご紹介します。ZeBuの仮想プラットフォームは、M…[日本イヴ]
電磁波解析専用ソフトウェア PAM-CEM
電磁波関連機器・部品の解析設計を支援する電磁波解析専用ソフトウェア(CAE)です[特長]・「EMC・EMI問題への対策」を支援 有限差分時間領域法(FDTD)の「PAM-CEM/FD」または有限要素時...[日本イーエスアイ]
|
アナログ電子回路コミュニティ
技術者のための掲示板サイト |
|
Design Hint&Tips
アナログ設計回路の基礎から最新技術動向まで |
|
最適なソリューションを提案する パナソニックの最新キーデバイス パナソニック エレクトロニックデバイス |
|
MCU EXPO.COM
MCUの総合情報サイト |
|
Green Power Solution
電源IC & アナログ情報サイト |
|
FPGA Insights
FPGAの総合情報サイト |
|
ANALOG TECH & INFO
アナログ半導体の総合情報サイト |
|
特集 カーエレJAPAN |
|
特集 ET 2009 |