Цитата(paskal @ Jan 20 2009, 21:55)

при каждой записи адрес увеличивается на размер страницы, а дойдя до конца памяти, адрес циклически возвращается к 0.
Для нахождения последней записи мы нумеруем их, и номер записываем вместе со страницей.
А вам необходимо нумеровать и записи и страницы?
Или это лишь предложенное решение задачи?
Мне представяется, что можно обойтись "бегущей единицей" всего лишь.
Эталоном будет первый блок.
Если в нем записана "1", то это значит, что надо пропускать последовательно
все блоки вплоть до первого встреченного нуля.
При зацикливании первый блок должен быть перетерт и флаг должен
измениться на противоположный (с "1" на "0"). После этого будет
"бегущий ноль".
Ничего не будет работать в том случае, если вам надо писать
в случайные блоки (что противоречит условию).
Достоинством метода будет возможность бинарного поиска в массиве,
а не последовательное вычитывание данных для нахождения
"хвоста".
А что касается ошибки записи, то битый блок должен быть такого же
типа, как и блок последующий в памяти.
Сергей.