コード・ストレージ向けのDesignWare OTP NVM

組み込みプロセッサに使用するソフトウェアの数は増え続ける一方で、システム開発者はブート・コードなどのソフトウェアの新しい保存方法を探し求めています。従来、多くのシステムではコードを外部メモリー(多くの場合はフラッシュメモリーまたはEEPROM)に保存し、必要に応じてプロセッサにダウンロードしていました。フラッシュメモリーはアクセスに時間がかかるため、コードはプロセッサ・チップの組み込みSRAMにダウンロードされていました。

組み込みプロセッサに使用するソフトウェアの数は増え続ける一方で、システム開発者はブート・コードなどのソフトウェアの新しい保存方法を探し求めています。従来、多くのシステムではコードを外部メモリー(多くの場合はフラッシュメモリーまたはEEPROM)に保存し、必要に応じてプロセッサにダウンロードしていました。フラッシュメモリーはアクセスに時間がかかるため、コードはプロセッサ・チップの組み込みSRAMにダウンロードされていました。

オフチップ・メモリーに必要な電力と重要なコードを外部メモリーに保存することに対するセキュリティ上の懸念を考慮して、設計者は(多くの場合に大容量の)コードをプロセッサ・チップのOTPに保存するようになりました。OTPのストレージに採用するメモリー・テクノロジは高密度、低コスト、ローパワーでセキュリティと信頼性に優れている必要があります。また、組み込みのワンタイム・プログラマブル(OTP)テクノロジは、チップの製造コスト削減のためにコードを凍結する場合に、プログラマブルOTPをマスクROMに容易に変換できるようにするためのパスを提供する必要があります。

製品寿命が終わるまでの間に数回だけプログラミングを変更する必要があるような場合には、設計者はフットプリントの小さいDesignWare® OTPマクロをエミュレート・マルチ・タイム・プログラマブル(eMTP)・モードで利用することができます。eMTPの一般的な使用方法としては、プログラミングなしの追加OTP領域を新しいコードの保存用領域として確保し、現在使用中のメモリー・セグメントを追跡するためのタグ保存用に追加領域を割り当てます。タグ領域の情報はデータのアドレス・オフセットの計算に使用します。未指定のOTP保存域の容量は、保存した情報に必要な更新回数によって異なります。

コード保存のためのOTPの要件

  • 高密度 – 最大数Mビットに対応可能
  • 保存域のセキュリティ保護
  • ローパワー
  • マクロの全部または一部をROMの固定コード・セグメントに簡単に変換可能
  • 小容量のビットセル領域
  • 標準的なロジックCMOSプロセスからの変更なし
  • フィールドプログラマブル
  • eMTP動作モードで更新可能

DesignWare OTPの機能と利点

  • 1マクロあたり最大512 Kビットの密度(複数のマクロを使用してチップあたりのメモリー容量を増やすことが可能)。フットプリントが大きいコードに対応
  • アクセス時間が高速なため、オンチップSRAMにキャッシュしなくてもOTPからのコード実行が可能
  • ビットセルの状態をリバースエンジニアリングできない優れたセキュリティ機能によりインテグリティを確保し、重要なコードIPの盗難を防止
  • 1つのマスク・レイヤーの変更でROMへの変換を実行し、プログラミングにかかる時間を短縮
  • マスクROMとフィールドプログラマブルOTPの混在によりコードの一部を固定にすることが可能
  • フィールドプログラマブルOTPとマスクROMとの分割の柔軟性により、事前の計画が不要
  • 1Tのビットセルで業界最小クラスの組み込みフィールドプログラマブルOTPビットセル領域を実現して、コード保存のフットプリントを削減し、eMTPの動作に対応
  • 追加のマスクまたはプロセスステップが不要なスタンダード・ロジックCMOSプロセスで動作するため、プロセスフローの追加コストが発生しない
  • ソフトウェア開発とハードウェア開発の同時進行、および顧客固有のソフトウェアに対応するプログラミング・イン・パッケージのサポート

外部コード・ストレージに代わる機能

DesignWare OTPマクロを使用すると、外部EEPROMまたはフラッシュメモリー(外部または組み込み)を使用した場合より、ソフトウェアの保存にかかるコストを大幅に削減できます。OTPからコードを実行できるため、コード実行のためのRAMが不要

 

eMTPのメモリー・アドレス・マッピング方式

eMTPの動作のためのOTPメモリー・アドレス領域マップの一般的な例を以下に示します。eMTPの初期フェーズには、メモリー・トラッキング・エリア(メモリー・マクロ・ブート行)の情報に基づいたeMTPアドレス・オフセットの計算と保存が含まれます。その後、すべてのメモリー・アクセスはメモリー・コントローラによって処理され、メモリー・コントローラは外部アドレスをOTPアドレス領域に変換します。