Let me introduce my new project: userland-io.
https://github.com/akiradeveloper/userland-io
If you know about FUSE it is easy to understand this framework. userland-io is a framework to develop virtual block device in userland. In short, it is a block layer version of FUSE. Or it is like device-mapper in userland.
Please read README for more detail. Thanks.