zephyr/doc/subsystems
Laczen JMS 7d2e59813f subsys: fs/nvs: Rewrite for improved robustness
On flash NVS was stored one entry after another including the metadata
of each entry. This has the disadvantage that when an incomplete write
is performed (e.g. due to power failure) the complete sector had to be
rewritten to get a completely functional system.

The present rewrite changed the storage in flash of the data. For each
sector the data is now written as follows: the data itself at the
beginning of the sector (one after the other), the metadata (id, length,
data offset in the sector, and a crc of the metadata) is written from
the end of the sector. The metadata is of fixed size (8 byte) and for
a sector that is completely occupied a metadata entry of all zeros is
used.

Writing data to flash always is done by:
1. Writing the data,
2. Writing the metadata.

If an incomplete write is done NVS will ignore this incomplete write.

At the same time the following improvements were done:
1. NVS now support 65536 sectors of each 65536 byte.
2. The sector size no longer requires to be a power of 2 (but it
still needs to be a multiple of the flash erase page size).
3. NVS now also keeps track of the free space available.

Signed-off-by: Laczen JMS <laczenjms@gmail.com>
2018-08-10 14:16:06 -07:00
..
bluetooth doc: fix doc misspellings in doc, boards, samples 2018-04-05 19:17:01 -04:00
logging doc: fix misspellings in docs 2018-08-08 01:49:14 -05:00
networking doc: fix misspellings in docs 2018-08-08 01:49:14 -05:00
nvs subsys: fs/nvs: Rewrite for improved robustness 2018-08-10 14:16:06 -07:00
settings doc/subsystem/settings: fix wrong settings_handler field names 2018-05-11 16:53:57 -04:00
test sanitycheck: control coverage from command line 2018-07-03 08:36:06 -04:00
usb doc: Add USB documentation identifiers and links 2018-04-12 14:03:00 -04:00
c_library.rst
dfu.rst doc: subsys: Remove unnecessary subsystem from titles 2018-04-06 07:30:33 -04:00
mgmt.rst doc: subsys: Remove unnecessary subsystem from titles 2018-04-06 07:30:33 -04:00
power_management.rst cleanup: rename fiber/task -> thread 2017-10-30 18:41:15 -04:00
sensor.rst doc: change sensor subsystem doc title 2018-01-16 17:24:46 -05:00
shell.rst doc: fix misspellings in docs 2018-06-01 09:01:43 -04:00
subsystems.rst subsys: fs: Add Non Volatile Storage (NVS) for zephyr 2018-05-15 10:29:16 +02:00