ЖУРНАЛ «СТА» №4/2007

быть использованы для доступа к дан- ным во флэшпамяти. Виртуальное динамическое распреде- ление – это процесс преобразования моделиHDD в ОС к физической модели флэшдиска (рис. 3). Такое преобразо- вание обеспечивает высокую скорость доступа к данным. TrueFFS достигает этого кластеризацией связанных между собой данных, таких как секторы файла в одном блоке, и равномерным распре- делением по другим блокам несвязан- ных данных. Данный подход уменьшает фрагментацию и количество вызовов, необходимых для отображения различ- ных физических блоков в окне памяти. FTL (Flash Translation Layer) – это формат записи данных для стандарт- ных промышленных флэшдисков. Он даёт возможность эмулировать режим стандартного дискового накопителя отображением модели ОС на физиче- скую модель флэшдиска, а именно физически определять, куда должны быть записаны данные. FTL позволяет использовать флэшдиски почти для любой файловой системы без изучения их внутренней структуры и уникально- го командного интерфейса. Для эмуляции HDD стираемый мо- дуль равномерно распределяется меж- ду равными по размеру блоками чте- ния/записи, которые имеют такой же размер, как секторы HDD (рис. 4). Динамическое управление повреждёнными блоками TrueFFS отслеживает все повреждён- ные блоки памяти, запоминает их рас- положение и не допускает их использо- вания в последующих операциях. Это не только позволяет быть уверенным в целостности данных, но и увеличивает производительность, устраняя необхо- димость повтора операции записи. Динамический и статический контроль уровня износа ячеек памяти Количество циклов записи и стира- ния для каждого физического блока флэшпамяти ограничено. Этот предел падает с увеличением количества би- тов, содержащихся в одной ячейке: для флэшпамяти с одноуровневыми ячей- ками – это 100К циклов, с многоуров- невыми ячейками – 10K циклов. Для увеличения ресурса устройств флэшпамяти необходим механизм, который равномерно распределяет операции записи данных по всем ячей- кам памяти. TrueFFS использует два типа контро- ля износа ячеек памяти: динамический и статический. Динамический контроль. TrueFFS ис- пользует статистическое распределе- ние для вновь записываемых данных. Логические секторы динамически ото- бражаются в любой доступный физи- ческий сектор в соответствии с данны- ми статистики на текущий момент вре- мени. Статический контроль. Области флэшпамяти могут содержать статич- ные файлы, характеризуемые сектора- ми данных, которые остаются неиз- менными на протяжении длительного периода времени. Если использовать контроль износа ячеек только для за- ново записываемых данных, то статич- ные области никогда не будут участво- вать в этом процессе. Для устранения этого ограничения TrueFFS принуди- тельно перемещает данные из статиче- ских областей в динамические. Оптимизация алгоритмов стирания В TrueFFS включены алгоритмы, по- зволяющие минимизировать число операций стирания и оптимизировать операции над директориями, а также запускающие механизм Garbage collection — удаление ненужных дан- ных и переупорядочение блоков дина- мически распределяемой памяти, не- обходимой для дальнейшей работы. С помощью Garbage collection TrueFFS оптимизирует размещение данных по- добно операции дефрагментации для HDD. Обнаружение и коррекция ошибок В ПО TrueFFS заложены сложные математические алгоритмы, которые гарантируют высокую надёжность дан- ных и решают задачи двоичного коди- рования для многоуровневой NANDпамяти без снижения произво- дительности. Ошибки во флэшпамяти обнаруживаются контроллером самого запоминающего устройства, что позво- ляет более быстро получать результат. Сохранение данных при отказе питания Для обеспечения целостности дан- ных при нормальном режиме работы, а также в случае отказа питания TrueFFS использует алгоритм «стира- ние после записи» вместо алгоритма «стирание перед записью». Использо- ванные области памяти очищаются только после того, как полностью за- вершатся операции стирания и обнов- ления виртуальной карты флэшпамя- ти. Это позволяет поддерживать ин- формацию о распределении данных по ячейкам памяти логически после- довательной даже в случае отказа пи- тания. В оперативной памяти разме- щается только актуальная на текущий момент времени таблица данных кар- ты распределения информации. При повторном включении питания после отказа или после перезагрузки эта таб- лица восстанавливается из флэшпа- мяти. Кроме того, если прерывание опера- ции записи при отказе питания приве- ло к повреждению сектора, такой сек- тор помечается и никогда не будет участвовать в записи данных. Это эко- номит программное время при после- дующих операциях записи. Сохранение данных при отказе пита- ния намного сложнее осуществить в многоуровневой памяти изза парного соединения битов. Предыдущий удач- но записанный бит может быть по- вреждён последующей операцией за- 70 СТА 4/2007 АППА РАТ НЫ Е С Р Е Д С Т В А / ФЛ ЭШ - ПАМЯ Т Ь www.cta.ru 1 4 7 3 6 9 2 5 8 Модель секторов в ОС HDD Физическая модель блоков флэш!памяти 1 4 2 8 9 5 3 6 7 TrueFFS! преобразование Виртуальная карта Карта секторов в ОС Карта физических секторов Рис. 3. TrueFFS использует виртуальное динамическое распределение для эмуляция HDD

RkJQdWJsaXNoZXIy MTQ4NjUy