Page 1 of 1

Wear Leveling File System with Directory Support

Posted: Thu Jan 31, 2019 5:58 pm
by Ritesh
Hi,

We need waer level file system with directory support into ESP32 IDF. We know that SPIFFS is giving support for that but it is not providing directory level support for that and we need it for small file size like 10 to 20 KB.

So, SPIFFS is not suitable for that.

Please provide or suggest me other appropriate file system for that.

Re: Wear Leveling File System with Directory Support

Posted: Fri Feb 01, 2019 3:39 am
by vonnieda
I highly recommend LittleFS: https://github.com/ARMmbed/littlefs

It's easy to implement on the ESP32, has built in wear leveling, directory support, power failure resilient and much, much faster than SPIFFS.

Jason

Re: Wear Leveling File System with Directory Support

Posted: Fri Feb 01, 2019 4:04 am
by Ritesh
vonnieda wrote:
Fri Feb 01, 2019 3:39 am
I highly recommend LittleFS: https://github.com/ARMmbed/littlefs

It's easy to implement on the ESP32, has built in wear leveling, directory support, power failure resilient and much, much faster than SPIFFS.

Jason
Thanks for quick response for that.

But as i have checked that it has only file support and not directory level support which we need as per our requirement. Also, I know that SPIFFS is heavy to load and use just for small file and directory support required.

Do you have any idea or any suggestions for that?

Re: Wear Leveling File System with Directory Support

Posted: Fri Feb 01, 2019 5:58 pm
by loboris
SPIFFS does not have directory support, but it can be easily implemented using SPIFFS metadata feature.

I have SPIFFS with full directory support implemented in my MicroPython for ESP32.

LittleFS with full directory support is also implemented. It can be configured to run on top of Wear Leveling driver or without it, with 4096 or 512 bytes sector size.

At the moment I don't have time to implement it as a standalone esp-idf componnent, but I may do it next month.

You may try to extract it from the repository, but it is probably not an easy task...

Re: Wear Leveling File System with Directory Support

Posted: Fri Feb 01, 2019 6:03 pm
by vonnieda
Ritesh wrote:
Fri Feb 01, 2019 4:04 am
vonnieda wrote:
Fri Feb 01, 2019 3:39 am
I highly recommend LittleFS: https://github.com/ARMmbed/littlefs

It's easy to implement on the ESP32, has built in wear leveling, directory support, power failure resilient and much, much faster than SPIFFS.

Jason
Thanks for quick response for that.

But as i have checked that it has only file support and not directory level support which we need as per our requirement. Also, I know that SPIFFS is heavy to load and use just for small file and directory support required.

Do you have any idea or any suggestions for that?
Perhaps I was not clear. I am recommending LittleFS, not SPIFFS. LittleFS has directory support built in, and I use it every day.

Jason

Re: Wear Leveling File System with Directory Support

Posted: Sat Feb 02, 2019 9:33 am
by Ritesh
loboris wrote:
Fri Feb 01, 2019 5:58 pm
SPIFFS does not have directory support, but it can be easily implemented using SPIFFS metadata feature.

I have SPIFFS with full directory support implemented in my MicroPython for ESP32.

LittleFS with full directory support is also implemented. It can be configured to run on top of Wear Leveling driver or without it, with 4096 or 512 bytes sector size.

At the moment I don't have time to implement it as a standalone esp-idf componnent, but I may do it next month.

You may try to extract it from the repository, but it is probably not an easy task...
Thanks for providing response for that. So, It will be good for us if LittleFS supports directory as well.

I think there is one of your repository in which you have made one layer on top of SPIFFS to support directory as well.

So, I think we can also use that as well but still I need to check little bit before using that as per our requirements.

Re: Wear Leveling File System with Directory Support

Posted: Sat Feb 02, 2019 9:34 am
by Ritesh
vonnieda wrote:
Fri Feb 01, 2019 6:03 pm
Ritesh wrote:
Fri Feb 01, 2019 4:04 am
vonnieda wrote:
Fri Feb 01, 2019 3:39 am
I highly recommend LittleFS: https://github.com/ARMmbed/littlefs

It's easy to implement on the ESP32, has built in wear leveling, directory support, power failure resilient and much, much faster than SPIFFS.

Jason
Thanks for quick response for that.

But as i have checked that it has only file support and not directory level support which we need as per our requirement. Also, I know that SPIFFS is heavy to load and use just for small file and directory support required.

Do you have any idea or any suggestions for that?
Perhaps I was not clear. I am recommending LittleFS, not SPIFFS. LittleFS has directory support built in, and I use it every day.

Jason
Ok. Great. Thanks for update regarding same.

I will check and let you know if any further query for that.