製品情報

linux,高速起動,FastBoot,Android,高速起動ソリューションのQuickBoot
組込みシステムの高速起動ソリューション

Linux/Androidをわずか数秒からで瞬間起動し、アプリケーション実行状態へ復元可能な新技術

近年、機能の複雑化が進むデジタル家電や携帯機器のOSに、LinuxやAndroidを使用するケースが増加していますが、電源断からの起動(コールドブート)時間が数十秒から1分前後もかかり、機器メーカーにとって改善すべき課題となっています。

Ubiquitous QuickBootはそのような課題を根本から解決するために、独自開発した新技術を採用したソリューションです。


楽曲再生(音出し)デモ ラストモード機能付き

システムの起動に必要なメモリ領域を優先的に不揮発性メモリからRAMに復元することで、他の方式と比べて圧倒的な速度で瞬間起動を実現します。また、アプリケーション側で使用しているメモリ量に依存せず常に高速起動が可能であり、残りのメモリ領域は起動後に順次 読み込みを行うため、ユーザーの操作にほとんど影響を与えません。

本ソリューションを利用することで、ユーザーの操作性を損なわず、待機電力をほぼゼロにした状態からシステムを瞬間起動できるデジタル家電や携帯機器などの製品を、開発いただくことが可能となります。

ハイバネーション方式とクイックブートの動作原理の違い
図1:ハイバネーション方式とクイックブートの動作原理の違い

システム状態のメモリ・サイズと起動時間の関係模式図
図2:システム状態のメモリ・サイズと起動時間の関係模式図

主な機能

3種類の起動モードをサポート

QuickBootは、アプリケーションの特性に合わせて3種類の起動モードをサポートしています。

 ・スタティック・モード

     工場出荷時のスナップショットイメージで常に起動するモード

 ・ダイナミック・モード

     ランタイム時に新たなスナップショットイメージを作成。次回起動時には、新しく作成したスナップショットイメージから起動

 ・Android・モード(Ubiquitous QuickBoot Android Packで対応)

    スナップショットイメージを取り直さなくとも、アプリケーションの追加/削除、Androidのテーマの変更(アイコン移動、壁紙変更)等に対応するモード


ストレージの共有機能

1つのストレージを複数のパーティションに分けて、LinuxとQuickBootで共有して使用することが可能です。ストレージ共有機能は、共有によるオーバーヘッドが最小になるように最適化されています。対応デバイスは、SDおよびNANDなど。 高速起動を追求される場合には、QuickBoot専用のストレージをご用意いただくことをお勧めしています。


スナップショットイメージの圧縮機能

 ・パックドイメージ (Packed Image)

Linuxが使用しているメモリ領域のみを詰めてスナップショットイメージとして格納。

 ・圧縮イメージ (Compressed Image)

Linuxが使用しているメモリ領域を圧縮して、スナップショットイメージとして格納。圧縮アルゴリズムは、Non-GPLのものであれば、お客様が自由に選択可能。LZF、LZMA圧縮のサンプルコードを同梱。


マルチコア対応

シングルコアCPUに加え、高機能、省電力などのニーズから需要が高まりつつあるマルチコアCPUにも対応。幅広い組込み機器で採用が進んでいるARM社のCortex-A9 MPCoreをベースとしたCPUをサポートしています。

差分アップデート機能

スナップショットイメージの全面書き換えではなく、新旧2つのスナップショットイメージの差分を抽出し、差分情報のみから新スナップショットイメージを作成するための各種ユーティリティを提供。アップデートに必要なバイナリのサイズを大幅に削減します。

製品ラインアップ

QuickBoot SDK

QuickBoot SDKは、お客様のターゲットボード環境にQuickBootを実装するためのSDK(ソフトウェア開発キット)です。QuickBoot SDK は、特定のリファレンスボードに QuickBoot を適用する例を示すことにより、その適用例を参照することによって、お客様のターゲット環境に QuickBoot を簡単に実装できるように設計されています。

QuickBoot Android Pack

QuickBoot Android Packは、QuickBoot SDKのオプション製品で、Androidが動作するスマートフォン、タブレット等をターゲットアプリケーションとして、Androidの使い勝手を制限することなくAndroidのホームスクリーンまでを高速起動するAndroid・モード起動を実現するパッケージです。

QuickBoot RTP

QuickBoot RTPは、半導体ベンダあるいはボードベンダ等が提供する特定のターゲットボード向けにQuickBootを実装したもので、インストールするだけでQuickBootがすぐ使用できるRTP(ランタイムパッケージ)製品です。ターゲットボードに付属して提供されるLinux BSPをそのまま利用して、アプリケーションを実装し、製品として量産するユースケースを想定して設計されています。

QuickBoot SDK

ユビキタスでは、QuickBoot をお客様のターゲット環境に実装するためのコンポーネントを QuickBoot SDK (ソフトウェア開発キット) として提供しています。

QuickBoot SDK は、特定のリファレンスボードに QuickBoot を適用する例を示すことにより、その適用例を参照することによって、お客様のターゲット環境に QuickBoot を簡単に実装できるように設計されています。

QuickBoot SDK には、次のコンポーネントとドキュメントが同梱されています。

コンポーネントの位置づけ

Linux/Android における QuickBoot の各コンポーネントの位置づけは、次図の通りです。

コンポーネントの概要
    コンポーネント 機能概略 提供
    形態
    QuickBoot スナップショットスクリプト Linux 上で実行するシェルスクリプト。所望のアプリケーションを起動した後に、このシェルスクリプトを実行して、そのアプリケーションの実行状態を保存・復帰させます。 Source
    QuickBoot スナップショットドライバ このドライバでは、RAM イメージを不揮発性メモリへ書き込む処理および周辺 I/O のレジスタ値等の保存・復帰処理等を行います。 Source
    QuickBoot BIOS/IRA QuickBoot BIOS は、Linux とは独立して動作し、CPUのレジスタ操作や、RAMイメージの保存・復元処理を行います。また、QuickBoot IRA は、高速起動メカニズムを提供します。 (*)IRA : Intelligent Resource Allocator の略 Binary + Source
    QuickBoot Storage BIOS 不揮発メモリ(ストレージ)への読み書きを行うドライバBIOSです。 Source
    Kernel Patch QuickBoot を適用する上で必要なKernelへの変更部分をKernel Patchとして提供します Source
    ドキュメント
      種類 内容
      デベロッパーズマニュアル Overview、SDK Manual、Porting Guide、Package Manualから構成されており、QuickBoot機能概要、各種ツールの使用方法、QuickBootの適用方法などQuickBootを実装する技術情報が記述されています。
      アプリケーションノート Start Guide、Application Noteから構成されており、リファレンス用評価ボードにQuickBootを実装する際の適用例として、解説されています。
      QuickBoot SDK Release 1.3仕様
        大項目 中項目 小項目 内容
        ハードウェア要件 サポートCPU ARMアーキテクチャ シングル Cortex-A5/A8/A9 [ARM9/ARM11: R1.2にて対応]
        マルチ(SMP) Cortex-A9/A15(対応中) MPCore
        その他 ご相談ください。
        RAM サイズ 数百キロバイト。QuickBoot BIOS/IRA、QuickBoot Storage BIOSで使用
        不揮発性メモリ 種類 NANDフラッシュROM、 SDカード、 eMMC、 HDDなど
        スナップショットイメージ格納用として使用
        サイズ Linux/Androidで使用しているメモリサイズ
        圧縮サポート サポート有り。(LZF、LZMA、LZ4、zlib圧縮のサンプルコード同梱)
        格納方式 パックドイメージ(Packed Image)
        圧縮イメージ(Compressed Image)
        ストレージ共有 LinuxとQuickBootで1つのストレージを共有可能
        ソフトウェア要件 サポートOS Linux Kernel 2.6.26 以上。その他については、お問い合わせください。
        Android Android 2.2、2.3、4.0、4.1、4.2  最新バージョンには、順次対応予定。
        オプションパッケージのUbiquitous QuickBoot Android Packにてサポート。
        リファレンスボード ボード名 シングルコア版 Freescale Semiconductor社 i.MX53 Quick Start-R Board (i.MX53)
        マルチコア版 pandaboard.org PandaBoard ES (TI OMAP4)

QuickBoot RTP

QuickBoot RTPは、半導体ベンダあるいはボードベンダ等が提供する特定のターゲットボード向けにQuickBootを実装したもので、インストールするだけでQuickBootがすぐ使用できるRTP(ランタイムパッケージ)製品です。ターゲットボードに付属して提供されるLinux BSPをそのまま利用して、アプリケーションを実装し、製品として量産するユースケースを想定して設計されています。

QuickBoot RTP は、半導体ベンダパートナーあるいはボードベンダパートナー(販社、販売代理店)から当該ターゲットボードのオプション製品という位置づけで提供(販売)されます。また同時にメンテナンスサポートサービス、量産ロイヤリティについても申し受けています。


QuickBoot RTP サポートボード
    製品名 ボード名 CPU パートナー
    QuickBoot RTP for Armadillo-440
    Armadillo-440

    Freescale
    i.MX25(ARM926EJ-S)
    株式会社アットマークテクノ


    QuickBoot RTPによるQuickBoot起動と通常起動 比較動画

    QuickBoot RTP for Armadillo-440


    コンポーネントの位置づけ

    QuickBoot RTPで提供される各コンポーネントの位置づけは、次図の通りです。

    QuickBoot RTPの主要コンポーネント
      コンポーネント 機能概略 提供
      形態
      QuickBoot スナップショットスクリプト Linux 上で実行するシェルスクリプト。所望のアプリケーションを起動した後に、このシェルスクリプトを実行して、そのアプリケーションの実行状態を保存・復帰させます。 Source
      QuickBoot スナップショットドライバ このドライバでは、RAM イメージを不揮発性メモリへ書き込む処理および周辺 I/O のレジスタ値等の保存・復帰処理等を行います。 Source
      QuickBoot BIOS/IRA QuickBoot BIOS は、Linux とは独立して動作し、CPUのレジスタ操作や、RAMイメージの保存・復元処理を行います。また、QuickBoot IRA は、高速起動メカニズムを提供します。 (*)IRA : Intelligent Resource Allocator の略。
      QuickBoot RTPでは、ターゲットボードに最適化されたものをBinary形式で提供します。
      Binary
      QuickBoot Storage BIOS 不揮発メモリ(ストレージ)への読み書きを行うドライバBIOSです。
      QuickBoot RTPでは、ターゲットボードに付属しているストレージに対応したもの(固定)をBinary形式で提供します。
      Binary
      ドキュメント
        種類 内容
        マニュアル Overview、RTP Manualから構成されており、QuickBoot機能概要、QuickBootの導入手順、デバイスドライバ等のカスタマイズ方法などQuickBootを使用する為の情報が記述されています。

        参考

        QuickBoot SDKとQuickBoot RTPの比較

          項目 QuickBoot SDK QuickBoot RTP
          製品概要 任意のカスタムボードに対して、開発者自身でQuickBootを実装する為のソフトウェア開発キット 特定ボードに対して、QuickBootが実装済み。インストールするだけでQuickBootが利用可能
          用途 カスタムボードでアプリケーションを含め、高速起動させたい場合等 Linux BSP付きの特定ボードにアプリケーションを追加して使用する場合に、高速起動させたい場合等
          QuickBoot コアモジュール
          (QuickBoot BIOS/IRA & QuickBoot Storage BIOS)
          提供形態 ソースコード(一部バイナリ) バイナリ
          カスタマイズ QuickBootコアモジュール動作フェーズでユーザコードを追加することが可能 不可
          デバイス対応 初期対応レベル リファレンス用QBSPでは、シェル起動する上で最低限必要なデバイスに対応 シェル起動する上で最低限必要なデバイスに対応しているのに加え、一部デバイスがサンプル実装(AS-IS)
          カスタマイズ 任意のデバイスに対応可能 任意のデバイスに対応可能
          スナップショットイメージ保存デバイス 任意 固定
          スナップショットイメージの圧縮 任意 固定
          差分アップデート 可能 不可
          Android Pack 追加購入 設定なし

採用事例動画

Ubiquitous QuickBoot on KENWOOD MDV-Z700


デモ動画

Freescale i.MX6Q Sabre Lite (Freescale i.MX6Q) Staticモード デモ(ベータ版)


Pandaboard ES (TI OMAP4460) Androidモード デモ (ベータ版)


極小待機電力で待機・応答・瞬間起動のネットワークアクセス


待機電力ゼロからの高速起動


ハイバネーション方式との比較


ネットワーク接続アプリケーションでの例


Linux,Android,高速起動ソリューションのQuickBoot  QuickBoot - 採用事例(一部抜粋)とプレスリリースのご紹介
年月 顧客名 製品分野 製品型番 (Link to Press Release)
2012.11 パイオニア ワイヤレスDJシステム XDJ-AERO
2013.01 JVCケンウッド カーナビゲーションシステム “彩速ナビ”「MDV-Z700」「MDV-X500」「MDV-R700」
2013.04 JVCケンウッド カーナビゲーションシステム “彩速ナビ”「MDV-Z700W」
2013.10 富士通テン カーナビゲーションシステム “ECLIPSE(イクリプス)”「AVN-ZX03i」「AVN-Z03iW」「AVN-Z03i」

採用事例動画

Ubiquitous QuickBoot on KENWOOD MDV-Z700