Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

A new non volatile storage system #77930

Open
wants to merge 4 commits into
base: main
Choose a base branch
from

Commits on Oct 22, 2024

  1. fs: introduce ZMS a new Memory storage system

    ZMS is the abreviation of Zephyr Memory Storage.
    It is a storage developed to target especially the non erasable devices.
    
    The new memory storage system inherit from the NVS storage multiple
    features and introduce new ones :
    * Inherited features :
     - light key-value based storage
     - cache for entries
     - Wear Leveling of flash memory
     - Resilience to power failures
    * New features :
     - cycle counter for non erasable devices (instead of erase emulation)
     - Keys up to 32-bit
     - Built-in support of CRC32 for data
     - Small size data (<= 8 bytes) integrated within entries
    
    Signed-off-by: Riadh Ghaddab <rghaddab@baylibre.com>
    rghaddab committed Oct 22, 2024
    Configuration menu
    Copy the full SHA
    081c0e7 View commit details
    Browse the repository at this point in the history
  2. tests: fs: zms: add testsuite for ZMS storage

    List of added tests :
    - zms.test_delete
    - zms.test_zms_cache_collission
    - zms.test_zms_cache_gc
    - zms.test_zms_cache_hash_quality
    - zms.test_zms_cache_init
    - zms.test_zms_corrupted_sector_close_operation
    - zms.test_zms_corrupted_write
    - zms.test_zms_full_sector
    - zms.test_zms_gc
    - zms.test_zms_gc_3sectors
    - zms.test_zms_gc_corrupt_ate
    - zms.test_zms_gc_corrupt_close_ate
    - zms.test_zms_mount
    - zms.test_zms_write
    
    Signed-off-by: Riadh Ghaddab <rghaddab@baylibre.com>
    rghaddab committed Oct 22, 2024
    Configuration menu
    Copy the full SHA
    95d733e View commit details
    Browse the repository at this point in the history
  3. samples: fs: zms: add a sample app for ZMS storage system

    This adds a user application that shows the usage of ZMS
    The sample app shows three main functions of ZMS:
    - read/write/delete key/value pairs
    - fill all storage and delete it
    - calculate free remaining space
    
    Signed-off-by: Riadh Ghaddab <rghaddab@baylibre.com>
    rghaddab committed Oct 22, 2024
    Configuration menu
    Copy the full SHA
    3aff5df View commit details
    Browse the repository at this point in the history

Commits on Oct 23, 2024

  1. doc: zms: add documentation for ZMS

    This adds the documentation for the Zephyr Memory Storage system.
    
    Signed-off-by: Riadh Ghaddab <rghaddab@baylibre.com>
    rghaddab committed Oct 23, 2024
    Configuration menu
    Copy the full SHA
    4bba070 View commit details
    Browse the repository at this point in the history