It is necessary to enter concepts the driver of the block device and the driver of file system. "Secret" here in carefully to define and to document the program interface between these two kinds of drivers (in the elementary case enough two calls: " to read through the block ", " to write down the block ") and also between applied programs and drivers of file systems (for example, a set open close read write).
It would allow to use on the one hand one driver of file system on various devices (disk drives, hard disks, flash-cards), and on the other hand, to use on one kind of devices various file systems (for example, in various sections of a hard disk; except for that different users usually prefer to use various file systems)...
To write the driver not so big problem. A problem that this driver then should be inserted into a nucleus of system that it correctly worked together with that there already is "correctly". And the documentation is necessary for this purpose on architecture of system. And this documentation is not present.
Big thanks wasm.ru