Читаем Компьютер на флешке полностью

Наконец, необходимо отметить, что флеш-память, в отличие от жесткого диска, выдерживает ограниченное количество циклов записи-стирания. В то время как для жесткого диска его долговечность зависит от механической износостойкости. Технологически в идеале возможна практически неограниченная эксплуатация (знай себе намагничивай и размагничивай). Для разных флешек число повторных стираний варьируется примерно от 100 тыс. до 1 млн. Чтобы оценить эти цифры, представьте, что каждый день, 365 дней в году вы будете по 100 раз на дню мучить свою флешку. Так вот, даже при наихудшем прогнозе вам должно хватить ее на три года. Бывают, конечно, исключения (брак, неправильная эксплуатация), но в целом именно так.

По мере приближения к предельному значению циклов чтения/записи ячейка флеш-памяти начинает все хуже и хуже «себя вести»: либо запись происходит с ошибкой, либо блок не поддается стиранию с первой попытки. В результате вскоре блок помечается как дефектный и не участвует уже более в работе флешки.

Отсюда наиболее распространенным способом продления срока жизни флешки является технология управления ее износом (Wear Leveling Control), суть которой состоит в том, чтобы обеспечить наиболее равномерное использование ячеек флеш-памяти путем равномерного распределения циклов чтения/записи по разным блокам.

Что касается контроля надежности хранения информации на флешке, то он производится непосредственно во время записи: встроенный механизм соотносит сохраненную информацию с исходной с помощью компаратора. Возможна также дополнительная проверка. Все зависит от того, какие технологии заложил производитель в свои изделия.

Виртуальное флеш-пространство

Файловая система флеш-памяти (Flash File System, FFS) состоит из модулей управления пространством, «сборкой мусора», износом и интерфейсом, а также блока инициализации. Общение ОС с флеш-накопителем начинается с вызова дискового прерывания (IRQ14), которое активизирует накопитель. Если запрашивается чтение сектора данных, то происходит преобразование его координат в адрес физического блока памяти. Затем происходит выборка соответствующего кристалла, собственно считывание данных и их передача в буфер ОС [1].

При записи координаты сектора преобразуются в собственную систему флеш-накопителя. Происходит проверка на наличие свободных блоков чтения/записи. При наличии таковых для соответствующего кристалла устанавливается режим записи и происходит запоминание данных в его ячейках.

Если же блоков недостаточно или размер свободного пространства меньше требуемого, активизируется «сборка мусора», которая совместно с механизмом управления износом подбирает область стирания и проверяет, не содержит ли она действительных блоков чтения/записи. При обнаружении последних происходит их перемещение в резервное пространство. Выбранная область стирания очищается, затем из ее состава выбирается свободный блок записи.

Управление пространством осуществляется с помощью трансляции логических секторов дисковой модели ОС в физические блоки флеш-памяти (Flash Translation Layer, FTL). При этом происходит учет дефектных и недействительных блоков. Доступный объем виртуального накопителя описывается в управляющих таблицах, выполняющих роль таблиц размещения файлов (FAT) дисковой ОС.

Процесс удаления записанных, но более не используемых (недействительных) блоков памяти носит название «сборки мусора» (Garbage Collection).

На заре развития флеш-памяти для этого использовался простой механизм. Блоки, содержащие полезные данные, перемещались в свободную область, после чего запускался механизм очистки недействительных. Так как «сборка мусора» запускается нечасто, этот процесс потребляет ничтожно мало энергии и не снижает производительность памяти. Однако его нельзя признать достаточно оптимальным. Поэтому сегодня эта процедура запускается в те моменты, когда нет обращений системы к виртуальному диску [1].

Перед выполнением «сборки мусора» необходимо выполнить поиск соответствующих фрагментов памяти, учесть количество недействительных блоков чтения/записи и число предшествующих циклов стирания, а также выявить области, в которых информация обновляется чаще, чем в других (в таких случаях особую важность приобретает проблема физического износа ячеек памяти).

В технических характеристиках флеш-накопителей указываются две скорости записи: пиковая и средняя (последняя в 2–3 раза ниже). Средняя скорость характеризует реальную производительность электроники, поскольку определяется эффективностью работы механизма «сборки мусора». Если механизм «сборки мусора» работает недостаточно эффективно, это вызывает падение быстродействия флеш-памяти.

1.3. Шина USB

Перейти на страницу:

Все книги серии Самоучитель

Компьютер на флешке
Компьютер на флешке

Р' этой книге РІС‹ найдете уникальную полезную информацию о том, как установить на флешку Windows XP и Windows Vista, как настроить Linux на флешке. Р'С‹ научитесь пользоваться портативными вариантами офисных программ (Word, Excel), познакомитесь с огромным количеством портативных программ, которые РјРѕРіСѓС' работать прямо с флешки и Р±СѓРґСѓС' всегда под СЂСѓРєРѕР№: антивирусами, программами для работы с видео и Р·вуком, полезными утилитами на каждый день, файловыми менеджерами, «писалками» CD и DVD, интернет-программами разного назначения (РѕС' аськи до торрент-клиента), графическими редакторами (в том числе и GIMP Portable — мобильный заменитель Photoshop'Р°), играми, а также многими другими. Отдельные главы посвящены правильному использованию флешек и восстановлению данных с поврежденных флешек в случае возникновения проблем.Книга написана простым и доступным языком. Р' итоге РІС‹ сможете у себя на флешке настроить все, что захотите, и это будет у вас работать в любом месте, куда Р±С‹ РІС‹ ни пришли. Просто подключите флешку к компьютеру. На самом компьютере вам ничего настраивать не придется.Р'СЃРµ программы РІС‹ найдете на DVD, прилагаемом к книге. Также на нем размещены установочные пакеты, предназначенные для создания портативных версий и установки Windows на флешку, портативные Linux-дистрибутивы, а также Р'Р

В. Д. Королев , Д. Н. Колисниченко , Д. П. Горячев , Р Г Прокди , Р. Г. Прокди

Программирование, программы, базы данных / Программное обеспечение / Книги по IT

Похожие книги

Programming with POSIX® Threads
Programming with POSIX® Threads

With this practical book, you will attain a solid understanding of threads and will discover how to put this powerful mode of programming to work in real-world applications. The primary advantage of threaded programming is that it enables your applications to accomplish more than one task at the same time by using the number-crunching power of multiprocessor parallelism and by automatically exploiting I/O concurrency in your code, even on a single processor machine. The result: applications that are faster, more responsive to users, and often easier to maintain. Threaded programming is particularly well suited to network programming where it helps alleviate the bottleneck of slow network I/O. This book offers an in-depth description of the IEEE operating system interface standard, POSIX (Portable Operating System Interface) threads, commonly called Pthreads. Written for experienced C programmers, but assuming no previous knowledge of threads, the book explains basic concepts such as asynchronous programming, the lifecycle of a thread, and synchronization. You then move to more advanced topics such as attributes objects, thread-specific data, and realtime scheduling. An entire chapter is devoted to "real code," with a look at barriers, read/write locks, the work queue manager, and how to utilize existing libraries. In addition, the book tackles one of the thorniest problems faced by thread programmers-debugging-with valuable suggestions on how to avoid code errors and performance problems from the outset. Numerous annotated examples are used to illustrate real-world concepts. A Pthreads mini-reference and a look at future standardization are also included.

David Butenhof

Программирование, программы, базы данных
iOS. Приемы программирования
iOS. Приемы программирования

Книга, которую вы держите в руках, представляет собой новый, полностью переписанный сборник приемов программирования по работе с iOS. Он поможет вам справиться с наболевшими проблемами, с которыми приходится сталкиваться при разработке приложений для iPhone, iPad и iPod Touch. Вы быстро освоите всю информацию, необходимую для начала работы с iOS 7 SDK, в частности познакомитесь с решениями для добавления в ваши приложения реалистичной физики или движений — в этом вам помогут API UIKit Dynamics.Вы изучите новые многочисленные способы хранения и защиты данных, отправки и получения уведомлений, улучшения и анимации графики, управления файлами и каталогами, а также рассмотрите многие другие темы. При описании каждого приема программирования приводятся образцы кода, которые вы можете смело использовать.

Вандад Нахавандипур

Программирование, программы, базы данных / Программирование / Книги по IT