This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

About garbage collection logic

SDK: 15.3.0
Device: EYSHJNZWZ (nRF52832)

Please tell me the operation when garbage collection is executed.
The setting values of FDS are shown below for reference.

#define FDS_ENABLED 1
#define FDS_VIRTUAL_PAGES 3
#define FDS_VIRTUAL_PAGE_SIZE 1024
#define FDS_VIRTUAL_PAGES_RESERVED 0

We recognize that it has the following configuration.
① Virtual page for garbage collection
② Usable virtual page A
③ Usable virtual page B

"PM_EVT_STORAGE_FULL" is generated when ② and ③ are full.
At that time, garbage collection is executed by calling "fds_gc".

What kind of data movement does ①②③ do?
For example, copy ② to ① and then clear ②?
For example, is ① cleared after writing to ② or ③?
I do not understand how it works.

Please tell me about the data flow when garbage collection is executed.
Please let me know if there is any reference material.

Related