I know that filesystems that journal are a bad idea, but what other considerations come into play?

6 accepted

SSD is a higher level device than a flash chip. The SSD is meant to be a hard drive with no moving parts. The SSD device abstracts the underlying hardware implementation and takes care of the wear leveling, etc. So you can use whatever filesystem you want.

JFFS2 is commonly used with flash chips that are not hidden behind a "controller" (i.e. the chips show up in your processor's memory map).


JFFS2 is made for solid state.

BTW: DanM's answer is better for commercial SSD. JFFS2 is for things like the flash memory in routers and the like.


btrfs has an 'ssd' option for it, and the on-disk format is supposedly mostly stable now, but I doubt you'd want to use it just yet.

JFFS2 is probably the best bet for wear-levelling if the SSD has a JMicron controller, but if it's a more advanced SSD, like, say, one of the Intel ones, pretty much any filesystem should be fine on it.


I don't know that there's a single "best" filesystem for SSDs in general.

This Anandtech article (http://www.anandtech.com/storage/showdoc.aspx?i=3531) has a lot of information about SSDs, and their performance. It doesn't particularly focus on one file system over another, but there are many good points about the issues that go into performance.

In general, because of the nature of drive controllers, SSD drives nowadays do a LOT of translation between drive I/O requests to the actual flash memory; that translation is designed to take advantage of the particular advantages of flash and to minimize the particular faults (in particular, spreading the writes across the entire disk so as to achieve "write leveling").


Solid State disk do not provide direct access to flash chips, but instead provide some kind of translation layer between logical sector and raw flash sector.

Nowadays, translation layer tends to provide efficient wear levelling, so you don't have to bother about the kind of filesystem you use. Older disk had crappy wear leveling, so you did not have access to raw flash sector yet the device could be worn out quickly. The worst of both world. At least with raw flash chip you can use some efficient wear leveling.


I don't know if any of the current filesystems do this but my understanding is that SSD's should be balanced in terms of where you write.

You have a limited number of writes to each device and that makes it important to balance them so that the whole drive doesn't become useless if, for example, you've written to the FAT too often.

A custom filesystem may be best.