читать и писать напрямую в /dev/sd* и иже с ними :) глубже смысла большого нет.
дальше начинается драйверные заморочки, которые могут быть уникальны для каждого носителя.
плюс все равно напрямую к "железным" секторам все равно доступ не получишь. сейчас даже в носителе есть прослойка абстракции от железа. через нее, к примеру, перемапливают сбойные сектора в винчестерах или распыляют нагрузку записи по разным ячейкам в флешках и т.д. и т.п.
пишут ребята, которые упорно изучали низкоуровненвые операции в течении долгих лет, которые закупали документацию у производителей, которые нарабатывали кучу опыта из прикладных проблем, которые убили кучу железа в экспериментальных тестах и т.д. и т.п.