Если говорить о программном, то какие могут быть вопросы, оно ж
очевидно... пишется низкоуровневая хрень дя работы с памятью (накопитель в РАМе, на флешке, на внешней микрухе и т.д.). И поверх этого прослойка которая сама рулит обращением к нужной памяти.
Да вон хоть FATFS, LFS - колбэки заполняешь с обращением к нужному типу памяти и всего-то.
Да хоть и без ФС - просто скрываешь "от себя" реализацию работы с конкретной памятью.
volume.c
volume.h