雑誌無償購読申込み 最新号 バックナンバー 広告資料請求 EDN Japanについて お問合せ
雑誌無償購読申し込み
メールニュースレター登録
登録内容変更
アナログ IC/ディスクリート
電源/電池/コントローラー
PLD / メモリー
組み込みシステム
コンピュータ&ボード
EDA/IP/CAE/ソフトウェア
電子部品
計測器
ディスプレイ
デジタル家電
通信・ネットワーク
カーエレクトロニクス/産業機器
EDN Japan 記事検索
検索方法の詳細
雑誌無償購読申込み ニュースレター登録 この記事に対する感想/ご意見
designfeature
2004年8月号
フラッシュ・メモリーの書き込みを高速化する

フラッシュ・メモリーの大容量化が進むにつれて、書き込みに要する時間が長くなっている。書き込み時間が長くなると、フラッシュ・メモリー搭載機器の製造工程におけるスループットが低下する。また製造コストが増加してしまう。コストの増加を防ぐため、書き込みのアルゴリズムを工夫して書き込み時間を抑える。

ピーター・ラーセン 米インテル社
Peter Larsen Intel Corp.
 フラッシュ・メモリーの書き込みアルゴリズムを最適化することは、重要な作業である。アルゴリズムの工夫次第では、フラッシュ・メモリーの書き込み時間を大幅に短縮できるからだ。従って機器の製造工程におけるスループット(一定時間内に製造工程を流れるフラッシュ・メモリー搭載機器の数量)を高められる。書き込みのアルゴリズムはさまざまである。あるアルゴリズムはすでに最適化が進んでいる。またアルゴリズムによっては、最適化の余地が十分残されているものもある。
 アルゴリズムの最適化を考える際に重要なことは、「必要な動作だけを実行するようにテスト・フローを変更すること」である。例えばフラッシュ・メモリーがメモリー・メーカーの工場から出荷されるときには、フラッシュ・メモリーはブランク状態に初期化されている。そのため、入荷した状態のフラッシュ・メモリーでは、データ消去の動作を省略することによって全体の書き込み時間を短縮できる。
Advertisement
 テスト工程におけるプログラムの実行に時間がかかることを考えれば、ソフトウエアのオーバーヘッドを低減することも大切である。高レベルから低レベル、低レベルから高レベルへと頻繁に信号を切り替えると、切り替えの度にシステムのオーバーヘッドが増大する。オーバーヘッドを削減するためには、信号遷移の回数ができるだけ少なくなるような、テスト・プログラムを作成することが必要である。
 余分な検証工程を取り除くことも重要である。WSM*を内蔵するフラッシュ・メモリーは通常、メモリー・アレイに書き込まれたデータの検証を自動的に実行している。従って、書き込み結果を検証するプログラムは冗長であり、省略できる。テストの効率を上げるためには、テスト・エンジニアはプログラム全体の実行時間を短縮するように常に考えるべきである。
 テスト・データのパターンについても配慮が必要である。例えば、消去済みのフラッシュ・メモリーはすべてのビットが「FFFF」にセットされている。そのため、さらにFFFFのデータを書き込む必要はない。書き込み工程を最適化するには、書き込むデータのパターンをチェックしてFFFFがあれば、その部分の書き込みを省略するアルゴリズムにすべきだろう。
 できるだけ広いデータ幅の入出力バスを書き込みに使用することも重要である。最大のバス幅を使用してフラッシュ・メモリーにデータを書き込めば、書き込み時間を短縮できるからだ。
 例えば、入出力のデータ幅が16ビットのフラッシュ・メモリーに書き込む際、8ビット幅のバスを使用すると、16ビット幅のバスを使う場合に比べて2倍以上の時間がかかるだろう。同様に、複数のフラッシュ・メモリー・チップで構成された積層デバイスに、最大許容電力を超えない範囲で同時に書き込みを実行することによって全体の書き込み時間を短縮できる。
 フラッシュ・メモリーの多くは、製造時に高速書き込みのために高電圧を印加されている。高電圧での書き込みおよび消去のモードがオプションで存在している場合は、これを利用することも有効である。また、書き込みバッファーのようなフラッシュ・メモリーの拡張機能が使用できる場合は、この機能を積極的に利用すべきである。書き込みバッファーを利用すれば、書き込みを高速化することで、書き込み工程全体の時間を短くできる。なお、最終的には開発ボードにロジック・アナライザーを接続して、各信号のタイミングがデータ・シートの仕様を満たしているか、各信号の期間が不必要に長くなっていないか、検証する必要がある(図1)

部品実装済みボードに書き込む

 機器メーカーの多くは、フラッシュ・メモリーの高速かつ効率的な書き込みのためにオン・ボード書き込み(OBP*)を使用している。OBPは組み立て済みの製品に対して適切な時期にプログラムを更新するとき、特に有効である。例えば、エンド・ユーザーが携帯電話機を発注する場合、機器メーカーはOBPを使って最新のファームウエアをフラッシュ・メモリーに書き込める。このため、エンド・ユーザーは最新の機能を利用できる。
 OBP用の電源は、プリント基板上のすべての部品に電流を供給できるだけの十分な容量を備える必要がある。アドレス線やデータ線、制御線を駆動する能力に加え、フラッシュ・メモリーの要求条件を十分に満足しなければならない。なお、フラッシュ・メモリーの書き込み装置とそのインターフェース回路によるインダクタンスと静電容量を最小限に抑えることも重要である。

ATEでコストを低減する

 機器メーカーの製造技術者は、組み立て済みのプリント基板に対するインサーキット・テストにATE*を使用している。このATEのテスト・フローにフラッシュ・メモリーの書き込みルーチンを組み込むことでさまざまな利点を得られる。書き込み装置のメンテナンス費用と同装置用のスペース、あるいはサード・パーティ・ベンダーに書き込みを依頼する費用を不要にできるからだ。
 ATEシステム上でフラッシュ・メモリーの書き込みを行えるように、フラッシュ・メモリーのすべての端子に同時に接続できるテスト・プローブを用意する必要がある。最適化された書き込みアルゴリズムは、ATEシステム上の書き込みが低速な場合と高速の場合で異なる。高速な書き込みを実行するには、これまで述べてきたことを忘れてはならない。

JTAGのポートを利用する

 OBPは、JTAG*TAP*を利用しても実現できる。JTAGは高密度プリント基板の開発ボードで普通に採用されている。JTAGはプリント基板とシリアルに通信する。機器メーカーはJTAGを利用してフラッシュ・メモリーにプログラムとデータを書き込める。JTAGの通信ユニットは、アドインのPCカード・スロットを介してIEEE 1149.1 JTAGに準拠した開発ボードと接続する。このようなJTAG通信ユニットが市販されている。
 JTAG通信ユニットを利用してTAPを介し、ユーザーはボードのマイクロプロセッサーにコマンドとデータを送信できる。また、フラッシュ・メモリーに書き込みを実行するようマイクロプロセッサーに命令することも可能である。フラッシュ・メモリーに書き込みを実行するためのソフトウエアは、通常は製造エンジニアが作成する。書き込みを高速に実行するには、書き込みアルゴリズムの最適化が求められる(図2)
 JTAG経由の書き込みフローを最適化する場合、まずは高速のJTAG書き込み装置を選んだ方がよい。フラッシュ・メモリーにデータを高速に書き込める機種を選ぶ。また、書き込みが実行されるフラッシュ・メモリーのスキャン・チェーンを最小化するべきだ。書き込み時間を短縮するには、ボード上で実行できる最高のクロック周波数を使用する。さらに、外部コントロール用のTAP接続にライト・イネーブル信号を組み込むべきである。

独自の書き込みアルゴリズム

 フラッシュ・メモリーのメーカーは、自社製品の書き込み時間とコストを低減する手法を追加で提供していることがある。書き込み装置(デバイス・プログラマー)のベンダーは、数多くのフラッシュ・メモリー・メーカーによる独自の書き込みアルゴリズムをサポートしている。例えば米インテル社*が開発したEFP*技術は、フラッシュ・メモリーの書き込み時間を短縮する。この機能は、デバイス・プログラマーの最適化されたハードウエアおよびソフトウエアと組み合わせることで、大量生産用製造工程の所要時間とコストを低減できるようにする。
 つい先日、インテル社は新たな書き込みアルゴリズム「BEFP*」を開発した。多値メモリー・セル技術によるフラッシュ・メモリーの書き込み用である。
 EFPアルゴリズムとBEFPアルゴリズムは、ほかのフラッシュ・メモリー・メーカーが開発済みの書き込みアルゴリズムと同様に、従来のワード書き込みアルゴリズムと比べ、デバイス・プログラマーによる書き込みのオーバーヘッドを軽減できる。これらのアルゴリズムは例えば、フラッシュ・メモリーへのシングル書き込みコマンドをメモリー・ブロック全体に送信することによって、オーバーヘッドを低減している。各ワードに書き込みコマンドを送信するために必要な時間を削減する。
 また、これらのアルゴリズムはデバイス・プログラマーが、書き込むべき各メモリーにアドレス・ベクトルを送ることを不要にする。その代わり、フラッシュ・メモリーには先頭アドレスだけを送る。フラッシュ・メモリーが、内部のアドレス・カウンターを自動的にインクリメントすることで、データはアドレスの先頭位置から順番に書き込まれる。
 EFPやBEFP、および類似のアルゴリズムは、フラッシュ・メモリーにデータを書き込んだ後の検証機能を備えている。そのため、デバイス・プログラマーはフラッシュ・メモリーの書き込みが正しく実行されていることを確認できる。その結果、全体のプログラミング時間が短縮される。多値フラッシュ・メモリー(2ビット/セルのメモリー)「28F128K3C」を使用し、BEFPアルゴリズムと従来のバッファー書き込み方式とで、書き込み時間を比較した(図3)。BEFPによる書き込み時間は、従来のバッファー書き込み方式に比べて19〜32%短いという結果が得られた。デバイス・プログラマーには、米ビーピー・マイクロシステムズ社*米データ・アイ・オー社*米システム・ジェネラル社*の製品を使用した。

用語解説 / 会社情報
*ピーター・ラーセン(Peter Larsen)
ピーター・ラーセン(Peter Larsen)氏はインテル社のフラッシュ・メモリー・ツール部門のマネジャーである。1984年に同社に入社した。入社後は、テスター・ハードウエア・エンジニアリングや、ソフトウエア・エンジニアリング、製品評価、テスト・エンジニアリング、デザイン・エンジニアリング、技術アプリケーション・サポート、開発ツール・マネジメントなどに携わってきた。
▲本文へ戻る
【WSM】
write-state machines
書き込み状態マシン
▲本文へ戻る
【OBP】
on-board-programming
ボードにICや部品を実装してからプログラムやデータを書き込むこと。
▲本文へ戻る
【ATE】
Automated Test Equipment
自動テスト装置
▲本文へ戻る
【JTAG】
Joint Test Action Group
LSIのテスト方式の1つ。 JTAG標準は、1985年にJoint European Test Action Group(JTAG)によって提案された。1990年に米国電気電子学会(IEEE)が標準化した。
▲本文へ戻る
【TAP】
Test-Access Port
JTAGでLSIをテストする際、テスト・データの入出力や制御用に使われるポート
▲本文へ戻る
【米インテル社】
Intel Corp.
同社のホームページはhttp://www.intel.com/
日本法人はインテル。同社のホームページはhttp://www.intel.co.jp/
▲本文へ戻る
【EFP】
Enhanced Factory Programming
▲本文へ戻る
【BEFP】
Buffered-Enhanced-Factory-Programming
多値メモリー・セル技術のフラッシュ・メモリーで書き込み時間を短縮するアルゴリズム
▲本文へ戻る
【米ビーピー・マイクロシステムズ社】
BP Microsystems
同社のホームページはhttp://www.bpmicro.com/
▲本文へ戻る
【米データ・アイ・オー社】
Data I/O Corp.
同社のホームページはhttp://www.dataio.com/。日本法人はデータ・アイ・オー・ジャパン。同社のホームページはhttp://www.data-io.co.jp/
▲本文へ戻る
【米システム・ジェネラル社】
System General Corp.
同社のホームページはhttp://www.systemgeneral.com/。国内の販売代理店は緑屋電気。
同社のホームページはhttp://www.midoriya.co.jp/
▲本文へ戻る
雑誌無償購読申込み ニュースレター登録 この記事に対する感想/ご意見
Reed Electronics Group
Electronic BUSINESS Japan | Design News Japan | Semiconductor INTERNATIONAL | DETAIL JAPAN
EDN Japanについて | 広告掲載について | サイトマップ | お問合せ
 Copyright (C) 2000-2007 Reed Business Information Japan K.K. 
個人情報に関する方針 | 著作権・リンクについて | 会社情報