Versions Compared

Key

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

Abstraction

This chapter provides requirements for backup management functions.
In order to prevent data corruption due to malfunction, it is necessary to take measures such as securing the data safety within the product. Backing up the necessary data on a regular basis will help maintain the reliability of the product.
In this way, we focus on the function of performing data backup on the product and describe the use case requirementsWhile the IVI system is running, user configuration data and IVI service operation data are stored and maintained. 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 Persistent Data Management module
must ensure that no persistent data is lost, no persistent data is corrupted and the 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 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 Persistent Data Management(the function 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

Functional Requirements

This table includes the functional requirements of Persistent notification and backup management module.

...

1

...

IVI needs the ability to back up the data it needs, when it needs it.

...

2

...

The required data in #1 includes, for example, the following, but each data is specified by each OEM.

(e.g., time display method, Bluetooth pairing information, IVI screen theme color settings, etc.)

...

3

...

The following are examples of required timing for #1, but each data shall be specified by each OEM.
(e.g., when IVI is turned off, periodic backups, etc.)

Backup management in Basesystem

Reference implementation in Basesystem

...

#ItemUser

1

A user changes the language display of the IVI from English to Japanese. By backing up the configuration data in the system, the user does not have to set the language display to Japanese every time the user uses IVI.

Driver

2

If a user wants to delete the data backed up in the IVI, the user uses the system reset function.

Driver

3

Developers check during development if the backup data can be saved correctly.

OEM/Developer(Before product shipment)

Discussion Space for additional use cases(Freely write please) ~

...

#

...

Item

...

Data persistency vs Backup

  • They have different requirement and functionality

...

  • identify the location of the storage / app specific storage area
  • status of the persistent storage (wear leveling)

...

what kind of data?

  • Frequently used Destination
  • User specific info 

...

  • infrastructure code
  • app property, version control
  • regional setting
  • original setting
  • Database from App
  • logging
  • GPS
    • compressed, secured form

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 IVI system, the display settings are retained and the driver uses the information.

UC.BD.2

Utilize the 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 persistent data stored in the IVI volatile or non-volatile when the battery is removed, for handling the 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 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

Data store in case of sudden power off

UC.BD.1

The Persistent Data Management module  shall prevent “persistent” data loss if the power supply is stopped.

RQ.BD.1.2

Data store of system lifecycle

UC.BD.1

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

RQ.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 Persistent data

UC.BD.2

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

RQ.BD.2.3

Data handling when the battery is removed.

UC.BD.3

Data shall be configurable to be kept or not when the battery is removed.

RQ.BD.2.4

Data Verification

UC.BD.2

The Persistent Data Management module shall 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 Persistent Data Management is Backup Manager.

As shown in the following figure 3, for example when a driver uses an 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(ⅱ). Backup 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

Image Added

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