Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Abstraction

“Backup” means “persistent” data in While the IVI system where is running, user configuration data and IVI service operational operation data are stored and preserved while the IVI system worksmaintained. Even though IVI is battery-powered which looks similar to smartphones, electronic consumer devices, the power supply in IVI system can be unstable at ACC-ON and ACC-OFF for the system startup/shutdown. Therefore, the Backup Persistent Data Management module must ensure that no backup persistent data is lost, no backup persistent data is corrupted and the backup persistent data is consistent while the system startup/shutdown lifecycle.

Another aspect on IVI system which is special rather than smartphone, electronic consumer devices is a much longer product lifetime, and that means the storage device must be available for a much longer time. So, in order to make the storage device lifetime longer, data write operation shall not happen every time when applications request. The Backup Persistent Data Management module needs to handle the read/write operation to the storage device at any given time.

This chapter describes the use cases with Backup Persistent Data Management(the function of backup as described above), the functional requirements for realizing the use cases, and the functions of the Basesystem that can be used as a sample implementation.

Use case

In the following table 1, use cases which need the backup management Persistent Data Management for services are described.

Table 1

#ItemUser

UC.BD.1

Data protection in case of ACC-OFF or sudden power failure

Even when the driver presses the button for ACC-OFF or a sudden power failure occurs after changing the display settings of the navigation IVI system, the display settings are retained and the driver uses the information.

UC.BD.2

Utilize the backup persistent data

The driver searches for a destination using the search history stored in the navigation application.

UC.BD.3

Data attribute when the system battery is removed

Each OEM chooses whether to make each backup persistent data stored in the IVI volatile or non-volatile when the battery is removed, for handling the backup persistent data after the battery is removed.

UC.BD.4

Data Initialization

If a user reset the system, all data is deleted.

Functional Requirements

This table includes the functional requirements of Backup Persistent Data Management module. RQ.BD.1.1 and RQ.BD.1.2 are requirements realized by usual filesystem. Others are newly defined.

Table 2

#ItemRelated Use CaseDescription

RQ.BD.1.1

Backup Data store in case of sudden power off

UC.BD.1

The Backup Persistent Data Management module  shall prevent “backup” persistentdata loss if the power supply is stopped.

RQ.BD.1.2

Backup Data store of system lifecycle

UC.BD.1

IVI system shall preserve any "backuppersistent" data requested by IVI services/apps through system startup/shutdown lifecycle.

RQ.BD.3.BD.2.1

Storage memory requirement

UC.BD.1

The Persistent Data Management module shall minimize actual write operations to the storage device to make the lifetime as long as possible.

RQ.BD.2.2

Utilization of Backup Persistent data

UC.BD.2

The data which needs to be read shall be readable by request from IVI services/apps.

RQ.BD.4Data backup to non-volatile area2.3

Data handling when the battery is removed.

UC.BD.3

The type of "backup" data Data shall be configurable , i.e. it can be configured to be either volatile or non-volatile kept or not when the system battery is removed.

RQ.BD.2.5Storage memory requirement4

Data Verification

UC.BD.12

The Backup Persistent Data Management module shall minimize actual write operations to the storage device to make the lifetime as long as possible.

...

detect the stored data corruption and provide alternative correct data.

RQ.BD.2.5

Data deletion

UC.BD.4

The data shall be deleted by request from IVI services/apps.


Persistent Data Management in Basesystem

Reference implementation in Basesystem

In the implementation of Basesystem, the function module for Backup Persistent Data Management is Backup Manager.

As shown in the following figure 273, for example when a driver uses an application  application and a data backup request occurs, on receiving the request, Backup Manager writes the data to the specified storage with the specified offset and data size based on the timing defined in the Configuration(ⅰ). When reading the data, Backup manager reads the data from the specified storage and sends it back to the application side(ⅱ). The above two functions are the roles of Backup ManagerBackup Manager has responsible to provide those features. It will manage not only access to the persistent data for applications but also verify the underlying persistent data consistency in order to detect the data corruption so that alternative correct data can be provided. It also can delete part of the persistent data upon the requests from applications.


Figure 3

Backup manager

Reference code : https://gerrit.automotivelinux.org/gerrit/gitweb?p=staging/basesystem.git;a=tree;f=service/native/backup_manager;h=2a9382f9cbf84a8a2f3e1cb4602a693f44bd37d7;hb=refs/heads/master

...