(前回から続く)

 それでも,データの書き込み途中でチップが止まる可能性をゼロにはできない。日下部は,ファイルを物理アドレスではなく論理アドレスで管理する方法を用いて対処することにした。あるファイルの書き換えが生じたとき,物理的に同じアドレスでデータを上書きする代わりに,メモリの空き領域に書き込む。この書き込みが無事終了した後で,ファイルの論理アドレスを新しい物理アドレスに関係付ける。この方法ならば,書き換えの途中で電力が不足した場合もファイルの内容は元のまま残るため,データは破壊されない。

 ファイルの論理アドレスを,書き換え後の新しい物理アドレスと素早く関連付けるために,日下部は工夫を凝らした。具体的には,論理アドレスと物理アドレスの対応表を二つ用意する。実際にOSが使用するのはこのうち一つだけである。データを書き換える際は,OSが使っていない方の表に新しい物理アドレスを記入する。データの書き込みが完了した直後に,OSが用いる対応表を1クロックで切り替える。こうして,データを破壊せずにファイルを書き換えることが可能になった。

 自ら決めたOSの仕様に沿って,日下部はCPUコアの命令セットを設定した。命令長は可能な限り短くする。セキュリティー確保のための暗号化処理も,専用回路を用意して1命令で実行できるようにした。

 1994年10月,FeliCa OSとFeliCa用CPUコアの基本設計を,日下部はわずか2カ月で完成させた。この成果を基に,FeliCaの開発陣はアセンブラやリンカといった開発ツールをそろえ,アセンブリ言語を駆使してFeliCa OSを改良し,処理速度を高めていった。

ダイオードが作れない

 CPUコアやOSの開発と並行して,13.56MHz帯の電波から電力を作り出す技術の開発も進んだ。

 開発の焦点は,電磁誘導でコイルに発生した交流電圧を直流電圧に変換するダイオード・ブリッジだった。だが,CMOSチップ上に集積するダイオード素子は性能が悪く,電圧降下が著しかった。素子一つで1Vは出力してほしいが,実際には0.1Vも出ない。

 開発陣は半導体メーカーとともに,高効率なダイオード素子を形成できるプロセスの条件出しに取り組んだ。何千個にも及ぶ素子の試作を経て,ようやく所望のダイオード素子を製造できるメドが立った。