Considering Using UFFS In Mission Critical Application

83 views
Skip to first unread message

Gil Glass

unread,
Aug 27, 2018, 10:05:23 AM8/27/18
to UFFS
Hello,

I am new to this group and to UFFS so apologies if this has already been covered.

My team is considering incorporating UFFS into a piece of flight hardware for an upcoming NASA mission.  I am currently evaluating different flash file systems and UFFS has caught my eye specifically because of its lack of garbage collection.  The idea of a deterministic system that is not going off asynchronously and occupying CPU cycles doing garbage collection is a big draw.  So my question is:  If there's no garbage collection, then how does UFFS handle the process of cleaning up unused blocks?  For example, if I overwrite a file with a new file of the same name, how is the erasure handled?  The erasure time hit has to occur at some instance.  If there's no garbage collection, then does the erasure happen at the time that I write the new file?  That would be acceptable for our application since our file writes are very deterministic, driven only by user interaction.

Thanks in advance for your response.

Gil

Ricky Zheng

unread,
Aug 30, 2018, 3:32:12 PM8/30/18
to uf...@googlegroups.com
Hi Gil,

UFFS always write to a clean (erased) page when a modification to a file happens, and expires the old page by the circular timestamp. When a block no longer has clean pages, it will be erased right after the block transaction process (copy data to new block). Because UFFS always organise file data in sequence and only allow one file in the same block, there will be no accumulated garbage across files.

Also UFFS can use static memory block for it's buffer (no dynamic memory allocation), which is usually a must have for mission critical system.

Hope this help.

Regards,

Ricky

--
You received this message because you are subscribed to the Google Groups "UFFS" group.
To unsubscribe from this group and stop receiving emails from it, send an email to uffs+uns...@googlegroups.com.
To post to this group, send email to uf...@googlegroups.com.
Visit this group at https://groups.google.com/group/uffs.
For more options, visit https://groups.google.com/d/optout.

Gil Glass

unread,
Aug 30, 2018, 4:55:26 PM8/30/18
to UFFS
Thank you very much for your reply, Ricky.  So if I understand correctly, the block erasure occurs at the time of the write operation that caused it and not at some random time later on.  That is, because there is no garbage collection, the CPU time hit associated with cleaning up (erasing blocks, copying data) is predictable.  That is a very important feature for us so I hope that I'm correct.

I have another question but I'll place it in another post.  Again, thanks for your reply.

BTW, you might be interested to know that there are at least two missions here at NASA that I know of that are using UFFS.  Reviews have been positive.  :-)

Cheers,
Gil

Ricky Zheng

unread,
Aug 30, 2018, 8:28:23 PM8/30/18
to uf...@googlegroups.com
Hi Gil,

Yes you are correct, the CPU time hit is predictable.

Knowing of UFFS being used in projects in NASA is the biggest reward for me :D, very interesting !

Regards,

Ricky

--
Reply all
Reply to author
Forward
0 new messages