福田昭のセミコン業界最前線

日立の半導体部門とフラッシュメモリが起こしたマイコン革命

マイコン(マイクロコンピュータあるいはマイクロコントローラ)の基本構成。CPU、ROM、RAM、周辺回路を内蔵するシリコンダイと、シリコンダイを封止するパッケージによって構成される

 マイコン(マイクロコンピュータまたはマイクロコントローラ)が内蔵するメモリには大別すると、「ROM (Read Only Memory)」と「RAM (Random Access Memory)」がある。

 ROMにはソフトウェア、具体的にはプログラムのコードを格納する。RAMには演算や制御などの処理に必要なデータを一時的に格納しておく。ROMは不揮発性メモリ(電源をオフにしても記憶内容が消えずに残るメモリ)、RAMは揮発性メモリ(電源をオフにすると記憶内容が消失するメモリ)である。

 現在のマイコンの多くは、ROMにフラッシュメモリを採用している。フラッシュメモリをROMとして内蔵したマイコンは「フラッシュマイコン」と呼ばれる。

 フラッシュメモリの開発企業が東芝であることは、日本の半導体業界では常識だ。また現在でも、東芝メモリがNANDフラッシュメモリの大手企業であり、日本では唯一の大手半導体メモリメーカーであることから、「NANDフラッシュメモリと東芝」の関係は一般社会にも、かなり知られていると言えよう。

 それでは、「フラッシュマイコン」を開発したのが日本企業であることは、知られているだろうか。筆者には、あまり知られているようには見えない。

 世界で初めて「フラッシュメモリを内蔵したマイクロコントローラ」を製品化したのは、ルネサス エレクトロニクスの前身の1つ、日立製作所の半導体部門である。今から25年前の、1993年7月のことだ。

 日立の独自アーキテクチャによる16bit CPU「H8」を内蔵するマイコン「H8/538F」がその記念すべき製品である。なおフラッシュメモリの記憶容量は60KB、書き換え可能回数は100回だった。

 日立製作所の半導体部門が、フラッシュメモリをROMに採用したマイコンを開発したきっかけの1つは、単体(スタンドアロン)のフラッシュメモリの商業化と大容量化にある。

 Intelは1988年11月にNORフラッシュメモリ事業に参入し、市場を牽引していった。AMDがIntelに続いた。これを見たマイコンベンダーのいくつかが、フラッシュメモリ技術をマイコンのROMに応用することを考えついた。

 単体のフラッシュメモリは、良く知られているように、モバイル機器やPC、データセンサーなどで、一般社会に見えるかたちでエレクトロニクスを変革していった。一方、日立が開発したフラッシュマイコンは、世の中の一般社会に見えるようなかたちでの変革は、起こさなかったようにも見える。

 しかし、マイコン製品の開発と生産という観点から見ると、いささか様相は異なる。マイコンのROMがフラッシュメモリになったことは、マイコン製品(マイコンシステム)の開発と生産に劇的な変化をもたらした。「マイコン革命」と呼んでも不思議ではないほどである。

 そして日立が「マイコン革命」、すなわちフラッシュマイコンの開発とその普及に、先駆的かつ主導的な役割を果たしたのは、単体のフラッシュメモリが登場したからだけではない。

 フラッシュメモリが登場する以前の1980年代半ばに、日立は「マイコン革命前夜」とも言える新しいコンセプトのマイコンを開発していた。以下ではその経緯を、少し詳しく説明しよう。

フラッシュメモリ登場以前のマイコンシステム開発

 マイコンとその応用製品が本格的な普及を始めたのは、1970年代末~1980年代初頭のことだ(筆者注: ここで「マイコン」とは ROMとRAM、周辺回路を内蔵した「シングルチップマイコン」を意味する。当時はROMやRAM、周辺回路を内蔵しないマイコンがごく普通に使われていたので、両者を区別するために「シングルチップマイコン」の呼称が使われていた)。

 プログラムコードを格納したメモリは「マスクROM」である。マスクROMは、半導体チップの製造工程でプログラムコードを書き込む。製造用マスクがROMの内容を決めるので、マスクROMと呼ばれた。

 マイコンには、マスクROMを内蔵している製品と、マスクROMを外つけする製品(ROMレス品)が存在した。どちらも、マスクROMのコードをマイコンのCPUが読み出して実行していた。

 マスクROMでは、1個のトランジスタに1bitのデータを記憶する。記憶密度は非常に高く、シリコン面積を節約できた。また、パッケージは安価なプラスチックパッケージで済んだ。言い換えると、マスクROM内蔵マイコン(マスクROMマイコン)の製造コストは、非常に低くできた。

マスクROM内蔵マイコン(マスクROMマイコン)の基本構成と概要。シリコンダイを安価なプラスチックパッケージで封止している
マスクROM内蔵マイコン(マスクROMマイコン)を使ったシステム開発・生産工程の例。プログラムコードの開発完了から、マイコンを組み込んだシステムの生産開始までには半年前後のタイムラグがある

 ただし、マスクROMが主流の時代には、マイコンのユーザーは今では考えられないような、とてつもない不便さと不自由さを強いられていた。

 まず、プログラムが完成しても、マイコンをすぐには動かせないのだ。マスクROM内蔵マイコンの場合は、マイコンそのものを入手できなかった。

 マイコンユーザーは、マスクROMに格納するコードをマイコンベンダー(あるいはマスクROMベンダー)に納品する。すると、そのコードをもとにマイコンベンダーはマスクROMマイコンを製造する。納期は3カ月~6カ月である。

 つまり、マイコンのユーザーはプログラムが完成してから短くとも3カ月は経過しないと、システムの生産に入ることができなかった。

 問題はまだあった。マスクROMではプログラムにバグが見つかっても、バグを修正できないのだ。

 このことはソフトウェア開発者に、恐ろしいほどのプレッシャーを与えた。もっとも、1980年代初頭は8bitマイコンの時代であり、ソフトウェアの容量は最大でも64KBと、それほど大きくはなかった。人手で開発可能な規模のプログラムに留まっていたとも言える。

プログラム開発で大活躍した紫外線消去型EPROMとその弱点

 マイコンシステムのソフトウェア開発段階では、当然ながら、マスクROMは使えない。電気的にコードを書き込めるとともに、紫外線照射によって記憶内容を消去可能なメモリが使われた。

 このメモリは「紫外線消去型EPROM(UV-EPROM: Ultra-Violet Erasable Programmable Read Only Memory)」と呼ばれた。単に「EPROM」と呼ばれることも多い。UV-EPROMを内蔵したマイコン(UV-EPROMマイコン)も製品化されていた。UV-EPROMマイコンも、プログラム開発に使われた。

 UV-EPROMは、マイコンユーザーが手元でプログラムコードを書き込め、その内容を書き直せる。プログラムのバグを修正できる。ただしマイコンシステムの量産にUV-EPROMマイコンを使うことは、禁忌とされていた。

 問題は価格の違いにあった。マスクROMマイコンに比べると、UV-EPROMマイコンは格段に高価だったのである。

UV-EPROM内蔵マイコン(UV-EPROMマイコン)の基本構成と概要。パッケージには、高価なガラス窓つきセラミックパッケージが使われた

 原因の大半はパッケージのコストにあった。マスクROMマイコンは、シリコンダイを安価なプラスチックパッケージに封止していた。しかしUV-EPROMマイコンは、紫外線をシリコンダイに照射可能にしておかなければならない。

 このため、紫外線を透過するガラスをシリコンダイの真上にレイアウトした、ガラス窓つきのセラミックパッケージが使われた。この窓つきセラミックパッケージの製造コストが、プラスチックパッケージに比べると大幅に高く、価格を押し上げていた。

 単体のUV-EPROMも当然ながら高価で、いくつもの開発プロジェクトで同じUV-EPROMを使い回すことは、ごく普通の行為だった。

「1回だけ電気的にプログラム可能で、安価なマイコン」という妙案

 先ほど、8bitマイコンのプログラムは人手でも開発可能な規模と述べた。実際には、プログラムの規模が大きくなるにつれてシステム開発と生産の現場では、トラブルが頻発した。

 マスクROMマイコンで初めからシステムを生産するのはあまりにも危険なので、高価になるのを承知で、始めはUV-EPROMマイコンでシステムの生産を開始し、バグがなくなり次第、ピン互換のマスクROMマイコンに切り換えるという「窮余の一策」が実際に行なわれたりもした。

 「UV-EPROMで開発し、マスクROMで生産する」という従来の手法はデバッグツールの進化をもってしても、マイコンユーザーにとっては極めて厳しいものとなっていた。

 そこに登場したのが、「1回だけ電気的にプログラム可能で、安価なマイコン」である。日立製作所の半導体部門が開発した「ZTATマイコン」がそれだ。

 原理はきわめて単純である。UV-EPROMマイコンを窓つきセラミックではなく、安価なプラスチックで封止することで、製造コストを大幅に下げたのだ。

 製品名の「ZTAT(ジータット)」は、「Zero Turn Around Time」(納期ゼロ)を意味する。マイコンのユーザーはあらかじめZTATマイコンを入手しておく。プログラムの開発が完了したら、すぐにコードをマイコンに書き込める。納期ゼロで、システムを完成できるのだ。

ZTATマイコン(OTPマイコン)の基本構成と概要。UV-EPROMを使いながら、安価なプラスチックパッケージに封止することで、製造コストを低く抑えた
ZTATマイコン(OTPマイコン)を活用したシステム開発工程の例。マイコンを入手すれば、マイコンユーザーだけで開発から生産までが完結する。原理的にはプログラムの完成直後に、システムの生産を開始できる

バグ問題の解決、単価の削減、開発期間の引きつけなどの大きな利点

 ZTATマイコンは1回だけしか書き込めないので、バグの修正はできない。

 ただしマイコンそのものが安価なので、バグが見つかったら、バグありのプログラムを書き込んだバージョンのZTATマイコンを廃棄し、バグ修正済みのプログラムを書き込んだZTATマイコンに交換することは、かなり容易である。このことは、プログラム開発者に対するプレッシャーの軽減につながる。

 そしてマイコンユーザーを喜ばせたのが「ソフトウェア開発期間の引きつけ」が可能になったことである。

 たとえば12月に発売予定のマイコン家電製品があったとしよう。すると在庫を考えると、10月~11月には製品の生産を始めなければならない。マスクROM内蔵マイコンを採用した場合、ソフトウェアの開発期限はその3カ月前~6カ月前、すなわち、4月~6月となる。

 ところがZTATマイコンを採用すると、開発済みのプログラムをマイコン家電製品の生産工程でマイコンに書き込める。つまり、プログラムコードの開発期限が10月に延びる。開発期限が延びるということは、延びた期間をプログラムの仕様変更やデバッグなどに割り当てられることを意味する。

 トータルコストの削減という観点でも、ZTATマイコンはありがたみが大きかった。マスクROM内蔵マイコンでは、マイコンベンダーにマイコン開発コスト(マスクROM用のマスク代金など)を支払う必要がある。それがZTATマイコンではゼロになったのである。

 もちろん購入単価は、マスクROMマイコンよりもZTATマイコンが高い。

 ただし、マイコンシステムのトータルコストには、マスクROMの開発コストを計算に入れなければならない。マスクROMマイコンの開発コスト(マスク代金)は、大量生産でも少量生産でも基本的には変わらない。少量生産だとマイコン1個に上乗せされる開発コストが上昇する。

 すると、少量生産品ではZTATマイコンを採用した方が、マスクROM内蔵マイコンよりもトータルコストが低くなるケースが出てくる。

ZTATマイコンの大ヒットと、突然の挫折

 日立製作所がZTATマイコンの製品化を発表したのは、1985年5月16日のことである。ちなみに型番は「HD63701X」、CPUアーキテクチャは8bitの「6800」だ。

 ZTATマイコンは、上記に述べたように素晴らしい利点をいくつも兼ね備えていたことから、爆発的な反響を持って迎えられた。注文数に生産数が間に合わず、ユーザーから「納期ゼロは嘘じゃないか」といった苦情が、日立のマイコン部門に殺到したほどだ。ZTATマイコンは大ヒットした。

 厳密には、もっともっと大ヒットし、マイコンの世界はZTATマイコンとその互換製品や類似製品などによって塗り替えられる可能性があった。しかし残念なことに、思わぬ障害が立ちふさがった。

 ZTATマイコンの最初の製品ファミリーは、CPUアーキテクチャのライセンスを米Motorolaから受けていた。そしてMotorolaがセカンドソースとならない製品は、ライセンスが日立に降りないという契約になっていた。日立はZTATマイコンのセカンドソースをMotorolaが手がけると考えていた。

 ところが、リソース不足を理由に、MotorolaはZTATマイコンのセカンドソース品の開発を拒否したのだ。

 これは日立にとって予想外の出来事だった。日立はMotorolaに対して最大限の協力を申し出てセカンドソース品の開発を促したものの、Motorolaの回答は変わらなかった。

 1986年~1987年にかけて、日立は極めて厳しい決断を下し、実行しなければならなかった。ZTATマイコンの新規開発の中止と、事業からの事実上の撤退である。

 1980年代前半の時点で、日立を含めた日本の大手マイコンメーカーは、いずれもIntel系あるいはMotorola系のCPUアーキテクチャをライセンス導入して、製品を供給していた。オリジナルアーキテクチャのマイコン事業は、マーケティングや営業などを独自に始める必要があり、リスクが高かった。

 ZTATマイコンは後に、「OTP(One Time Programmable)マイコン」と呼ばれるようになった。現在でも、OTPマイコンを供給しているマイコンベンダーは少なくない。

フラッシュマイコンの一番乗りでリベンジを果たす

 すでに述べたように、日立製作所の半導体部門は世界に先駆けてフラッシュマイコンを製品化した。その背後には、ZTATマイコンの挫折があった。

 ZTATマイコンがあったから、日立はフラッシュマイコンの可能性にいち早く気づいて、製品化できたと言える。

 コンセプトとしては、ZTATマイコンとフラッシュマイコンには共通性がある。ZTATマイコンには、技術的な革新はあまりない。既存技術であるUV-EPROMマイコンを、これも既存技術であるプラスチックパッケージに封止することで、「便利で安価なソリューション」をユーザーに提供し、新しい市場を切り拓いた。テスト技術をどうするかといった技術的な課題はあったものの、開発努力によって乗り越えた。

 フラッシュマイコンも、既存技術であるフラッシュメモリと、既存技術であるマイコンを組み合わせただけのように見える。革新的な技術開発は存在していない。

 しかし、フラッシュマイコンはマイコンシステムの開発・生産工程を大きく変貌させた。ZTATマイコンのコンセプトである「便利で安価なソリューション」を、一段と進化させた製品分野だとみなせる。

 フラッシュマイコンは、ZTATマイコンと同様に「納期ゼロ」であり、さらにはプログラムコードを「何回も」電気的に書き換えることができた。1回だけしかコードを書き込めないZTATマイコン(OTPマイコン)と違い、コードが修正可能になり、柔軟性(フレキシビリティ)を持たせられるようになった。

 そこで、1993年7月に製品化されたフラッシュメモリ内蔵マイコンの製品ブランドには、「F(Flexible)-ZTATマイコン」の名称が与えられた。なお「F」の接頭辞には、フレキシブルだけでなく、フラッシュメモリ(Flash Memory)とフィールドプログラマブル(Field Programmable、詳細は後述)のFを重ねていたようだ。

 F-ZTATマイコンは、1985年5月に製品化したZTATマイコンの進化版であり、リベンジであったとも言える。

 CPUアーキテクチャは、ライセンス契約の68系ではなく、日立独自のH8アーキテクチャだった。ライセンス契約のくびきから脱出を果たしたのだ。

フラッシュマイコンの基本構成と概要

開発用途から入り込み、開発と量産の両方がフラッシュマイコンに

 フラッシュマイコンの登場によって大きく変化した点は2つある。1つは、プログラムコードをマイコンユーザーが電気的に書き換え可能になったこと。このことによってフラッシュマイコンはまず開発工程で、UV-EPROMマイコンを置き換え始めた。

 UV-EPRPMマイコンは内容を書き換え可能なのだが、データの消去には紫外線ランプが必要であり、消去動作に15分間~30分間といった長い時間を要していた。また、前述のように高価なガラス窓つきセラミックパッケージを使っていたので、単価が非常に高かった。

 フラッシュマイコンはデータの消去に必要な時間が数秒と短い上に、安価なプラスチックパッケージに封止されていたので、単価が低かった。

 フラッシュマイコンが登場した当初は、製品単価ではフラッシュマイコンよりも、まだマスクROMマイコンがはるかに安かった。

 そこでソフトウェア開発はフラッシュマイコンで実行し、場合によってはシステムの初期生産にもフラッシュマイコンを搭載した。そしてプログラムの開発が完了する、あるいはバグの心配がなくなると、ピン互換のマスクROMマイコンに切り換えた。このような使い方をするユーザーが多かった。

 このため、フラッシュマイコンは当初、マスクROMマイコンとペアで(ピン互換で)製品化されるのが普通だった。日立が最初に製品化したフラッシュマイコン「H8/538F」も、マスクROMマイコン「H8/538」とペアで販売された。

 その後、フラッシュマイコンとマスクROMマイコンの価格差は、フラッシュマイコンの普及と生産拡大によって縮んでいく。するとZTATマイコンと同様に、フラッシュマイコンも少量生産品から、開発と生産の両方に使われ始めた。

 この流れは時間とともに太く速くなる。少量生産品から中量生産品へ、さらに大量生産品までもが、フラッシュマイコンを開発と量産の両方に採用するようになったのだ。

 マイコン応用製品の生産動向が、少品種大量生産から多品種少量生産へと1990年代後半に変化していたことも、フラッシュマイコンの普及を後押しした。フラッシュマイコンではソフトウェアを変更することで、システムの派生品開発が可能だからだ。

 日立が1993年7月に発表したフラッシュマイコンは、順調に製品種類と生産数量を伸ばしていく。およそ3年半後の1997年3月25日つけの同社のリリースによると、この時点で8bitマイコンと16bitマイコンを合わせて7品種を量産中であり、1996年10月には32bitマイコンで2品種の製品化を発表済みである。16bitマイコンから始まったフラッシュマイコンは、8bitマイコンおよび32bitマイコンへと品種展開していったことが分かる。

 日立におけるフラッシュマイコンの出荷数量(年間)は、1995年に10万個、1996年に41万個とじわじわと増加し、1997年には3,860万個と爆発的に増加した

 1998年には、さらに増えて4,770万個、1999年には6,310万個となった。2000年には9,970万個とまたもや激増し、1億個の大台に近づくほどに成長した。

システムの出荷先でコードを更新するフィールドプログラマブル

 フラッシュマイコンがもたらした変化に話題を戻そう。もう1つの大きな変化は、「フィールドプログラマブル」を実現したことだ。

 マイコンユーザー(システムメーカー)は、マイコンシステムをエンドユーザーに出荷する。フラッシュマイコンが登場する以前は、システムを出荷後にプログラムに重大なバグが見つかったり、なんらかの事情でソフトウェアをバージョンアップする必要が生じたりした場合は、マイコンあるいはマイコン搭載ボードを交換する必要があった。

 これに対して、フラッシュマイコンを組み込んだシステムでは、出荷されたシステムのマイコンプログラムを出荷先に置いたまま、現場(フィールド)でプログラムを更新できる。

 この「フィールドプログラマブル」によって、マイコンあるいはボードを交換せずに、プログラムを更新・修正することが行なわれるようになった。

フラッシュマイコンを活用したシステム開発工程の例。開発と生産だけでなく、出荷後もプログラムを更新できるようになった
プログラム格納用メモリによるマイコンの違い(まとめ)

フラッシュマイコンが「マイコン」になった日

 そして2018年の現在。「マイコン」に対するイメージは「フラッシュマイコン」そのものとなっている。マイコンベンダーでありながら、フラッシュマイコンを製品化していない企業は見当たらない。「マイコンを動かすソフト(コード)は内蔵のフラッシュメモリに格納するもの」といった考え方が標準となったように見える。

 フラッシュマイコンの普及は、マイコン開発環境も大きく変化させた。安価なPCでプログラムを開発し、USBインターフェイス経由で、これも安価で小さなマイコン開発ボードにプログラムを「何回でも」書き込む。デバッグ作業の効率は格段に向上した。

 趣味の世界、すなわちマイコン電子工作の世界も大きく変わった。安価で小型で強力なフラッシュマイコンの開発キットが続々と登場した。

 たとえば「Arduino基板」には、マイコンベンダーAtmelの8bitフラッシュマイコン「AVR」が使われている。マイコンを使った電子工作の世界は、フラッシュマイコンによって一気に身近なものとなったと言えよう。

 もちろん、フラッシュマイコンの世界的な普及は、数多くのマイコンベンダーがフラッシュメモリをマイコンのROMに採用したことで生じた。日立だけの貢献ではない。

 それでも、パイオニア(開拓者)に対する敬意は払うべきだろう。フラッシュマイコンの開発における日立製作所のマイコン設計技術者の貢献は、もう少し、広く知られるべきだと思う。


 なお本稿の執筆にあたっては、以下の資料を参考にしました。この場を借りて深く感謝いたします。