@Chris, but from those types of storage only BLOCKTYPE_FILESYSTEM is intended to store own data and available to managed code. We can't (or have to avoid) write our data directly to BLOCKTYPE_CONFIG or BLOCKTYPE_DEPLOYMENT.
SPI/I2C based flash is also available to managed code, but we have to solve same memory access and organization problems, plus we loose speed and RAM.
I'm not sure about BlockStorage WearLeveling driver. I will try to implement basic wear leveling in FileSystem driver. It's more reusable this way (will work with any BlockStorage drivers).
@Cuno, I saw this project, but it's just a managed extensions for managed SPI driver. And I was looking for native (FileSystem HAL) implementation.