近年、機能の複雑化が進むデジタル家電や車載機器の OS に、Linux や Android を使用するケースが増加しています。電源断からの起動(コールドブート)時間が数十秒から 1分前後もかかる場合もあり、機器メーカーにとって改善すべき課題となっています。特にカーナビゲーションやドライブレコーダーなどの車載機器では、エンジンを始動したら自動車が走り出してしまうため起動時間の短縮は必須です。
そこで、ユビキタス社 では、Linux/ Android をわずか数秒からで瞬間起動して、アプリケーション実行状態へ復元可能な新技術である UbiquitousQuickBoot を開発し、Mpression Sodia – Cyclone® V ST SoC 評価ボード 上で動作するデモを作成しました。Ubiquitous QuickBoot の特長について、ご紹介します。
Ubiquitous QuickBoot 概要
Ubiquitous QuickBoot は、ユビキタス社が独自開発した起動技術を使用したソフトウェア製品です。アプリケーション側で使用しているメモリ量に依存せず、電源オフの状態からわずか数秒で起動し、ユーザーが使用できる状態にします。ユーザーインターフェイスを持った機器を高速に起動して操作を開始できることがユーザー満足度を高めると評価され、カーナビゲーションをはじめとする車載機器を中心に、パネルコンピューター、セールス支援端末、デジタルカメラ、無線機器、レーダー装置、医療診断機器、電子ブック、スマートテレビなど、幅広い分野で採用が拡大しています。(量産実績 1,500万台以上 2017年12月末時点)
QuickBootを利用すれば、ユーザーの操作性を損なわず、待機電力をほぼゼロにした状態から、システムを瞬間起動できるデジタル家電や車載機器などの製品を開発することができます。

ベンチマーク
評価環境
評価ボード | Mpression Sodia - Cyclone® V SoC 評価ボード(Dual Arm® Cortex® -A9 搭載) |
DRAM | 1GB DDR3 |
Storage | カード(rootfs および Snapshot Image を格納) |
OS | Ubuntu 14.04 (kernel 4.9) + glxgears |
画面出力 | DVI |
Snapshot Image Size | 圧縮後60MB /圧縮前 137MB(圧縮率 44%) |
通常起動 | 24秒 |
QuickBoot 起動 (Advancedモード) |
3.5秒 |
QuickBoot SDK
QuickBoot SDK は、お客様のターゲットボード環境に QuickBoot を実装するための SDK(ソフトウェア開発キット)です。

QuickBoot SDK for Macnica Mpression Sodia は、Cyclone® V SoC が搭載された Mpression Sodia ボード向けに QuickBoot を適用した場合のコードを提供します。お客様のターゲット環境にあわせてコードを修正して QuickBoot を簡単に実装できるように設計されています。
主な機能
2種類の起動モードをサポート
QuickBoot は、起動モードとして、Standardモード / Advancedモードの 2種類の起動モードをサポートしています。
Standard モード
不揮発性メモリ内に格納されたスナップショットイメージ(圧縮サポート)をユビキタス独自の方式で効率良く一挙に RAM に復元する起動モードです。速起動への要求レベルがあまり高くない場合、アプリケーションを含めたシステムのメモリ使用量が多くない場合、起動直後のシステムの安定動作を重視する場合(デバッグ時等)に最適なモードです。
Advancedモード
不揮発性メモリ内に格納されたスナップショットイメージ(圧縮サポート)からユビキタス独自の方式でシステムの起動に必要なメモリ領域を優先的に不揮発性メモリから RAM に復元することで、起動時のメモリ転送量を最小限に抑えることで高速起動させる起動モードです。高速起動への要求レベルが高く、起動時間の短縮を重視する場合に最適なモードです。
SecureBoot 対応
SecureBoot と協調して動作し、従来の改ざんチェックに加え、QuickBoot 主要モジュールおよびスナップショットイメージを含めた形で改ざんを検知しながら、セキュリティ面に配慮した高速起動を実現します。
起動時間が大幅に短縮
スナップショットイメージの読込み時間を従来比で 30~40% 高速化させた Super Read Boost 機能を開発し、さらなる高速起動を実現します。
スナップショットイメージの読み出しサイズの最適化
スナップショットイメージの読み出しサイズをユーザー指定により以前よりも柔軟に調整でき、アプリケーションに最適な高速起動が可能です。
起動時にマルチコアを使ったユーザースレッド
CPU コアごとにユーザースレッドを定義し、バックグラウンドで複数のタスクの動作をサポートし、起動途中に他の処理を同時に実行することが可能です。
ハードウェア依存部はソースコードで提供
簡単にターゲットプラットフォームへの移植ができるように、ハードウェア依存部はオープンソースで提供します。
Android 向けオプション製品
Android アプリケーションの追加 / アップデート / 削除、各種設定値の反映、OTA、ファクトリーリセットに対応した Android 向けのアドオンパッケージ Android Pack を用意しています。
最新のストレージメディアをサポート
UHS-I、 HS200、 HS400 など最新の高速な SD / eMMC の規格に対応します。
おすすめ記事/資料はこちら
Mpression Sodia – Cyclone® V ST SoC 評価ボード
SoC FPGA 関連の記事や資料
【FAQ】SoC FPGA 関連
インテル® FPGA の開発フロー