LINEOWarp!! 機能・仕様

LINEOWarp!!® 機能・仕様

Warp!! 起動

ストレージに確保したスナップショット領域に、アプリケーションを起動した状態でのシステムメモリおよび HW の状態(レジスタ の内容)のスナップショットイメージを保存しておき、電源 ON 時に保存したスナップショットイメージからシステムメモリを一挙に復元し起動高速化を実現。
一挙にシステムメモリを復元する事により、初期化コードの実行の軽減、メモリアクセスの軽減がされ高速化の可能性が期待できます。

スナップショット保存機能

電源 ON 時にスナップショットイメージ *1 からシステムメモリを一挙に復元することで高速起動を実現しています。このスナップショットの保存に組込み Linux ディストリビュータであるリネオならではのテクノロジーがあります。

  • ターゲット単体でスナップショット保存が実行可能
  • 製品に最適なスナップショット保存モードを選択可能
    • 保存対象となるメモリサイズを縮小
      実際に使用されているメモリのみを保存するため、搭載メモリサイズに依存しません。
    • スナップショットの圧縮
      約1/5 ~ 1/2 に圧縮可能(圧縮率はスナップショットデータに依存)
  • I/O との並列処理による高速処理を実現
    • 高速圧縮保存モードをサポート
  • 複数のスナップショットをサポート
  • セパレートモード *2 で起動をさらに高速化
  • SMP/AMP に対応可能
  • SDRAM 全体を保存対象にすることが可能
  • スナップショット保存先として様々なストレージに対応
    • RAM、NOR/NAND Flash、SD、eMMC、SATA、PATA、NVMe

Selectable Boot Mode

*1
スナップショットとは : アプリケーションが起動した状態でのシステムメモリおよび H/W の状態(レジスタの内容)をイメージとしてキャプチャしたものです。スナップショットイメージは2次記憶装置(Flash 等)にスナップショット専用に確保した領域に保存されます。
*2
セパレートモードとは : スナップショットの対象メモリを2つのグループに分割することで、電源投入直後に転送が必要なスナップショットの量を少なくする機能です。

3 つの起動方法を選択可能

ハイバネーションモード

電源 OFF 時の状態に復帰します。シャットダウン時に毎回スナップショットの保存が必要です。

高速起動モード

毎回同じスナップショットイメージから起動します。

Android モード

Android System の理想的な高速起動を実現します。
高速起動を可能にするだけでなくユーザの設定値の反映も可能です。終了時に明示的な保存処理は不要です。

Selectable Boot Mode

Multi-Core 対応

スナップショット分割保存

SoC の Multi-Core 化は今後ますます進むことが予測されますし、Storage 規格も SD 3.0、eMMC 4.5 / 5.0 以降では大幅に高速化が進みます。Warp!! 5 ではこれらのメリットを起動高速化に最大限に活用できる仕組みとして、スナップショットの分割保存に対応しました。

Multi-Core

高速なストレージデバイス上にスナップショットをいくつかに分割して保存し、これらに CPU Coreを割り当てて、Multi-Core で一挙にメモリを復元することが可能です。

Multi-Core / Multi-Storage

バスの干渉の少ない低速なストレージデバイスのいくつかにスナップショットを分割保存し、これらに CPU Core を割り当てて、Multi-Core で一挙にメモリを復元することで I/O の最適化が可能です。

User API の Multi-Core 利用

CPU Core をユーザスレッド専用に割り当てることで、効率的なシステムの初期化が可能になりました。例えば、サブシステムを複数抱えた複雑なシステムにおいて、各サブシステムとの同期合わせ等が Linux 起動前に実現可能です。

Multi-Core Support

UserAPI サポート

ユーザースレッドにより、H/W の並列初期化や起動後に直ちに実行させたいアプリケーションを動作させることが可能です。また、Warp!! Software Development kit に UserAPI のサンプルプログラムが付属しています。

  • Power On 後、早期段階でスナップショットの読出し伸長とユーザスレッドを並列実行
  • ユーザーは定期的に呼び出されるファンクションを設定し、例えば FPGA へデータ転送する DMA の再投入などの処理が可能

UserAPI Support

スナップショット Switch 機能

これまでスナップショット切り替えは bootloader レベルでのみ可能でしたが、kernel コマンドラインからスナップショット切り替えの指示が可能になりました。Exchange Mode では、ハイバネーションの様に最終状態を保存後、別のスナップショットに切り替えます。そのため複数の OS の状態を保ちながら、OS を切り替えることが可能です。
一方 Overwrite Mode では保存を行いませんので、高速で複数の OS を切り替えることができます。ただし切り替え後は常に初期起動状態となります。

Snapshot Switch Function Exchange Mode

Snapshot Switch Function Overwrite Mode