Способ эмуляции eeprom-памяти в flash-памяти

Изобретение относится к области вычислительной техники, к устройствам для программного управления. Техническим результатом изобретения является создание способа эмуляции EEPROM-памяти в flash-памяти с увеличенным быстродействием. Способ эмуляции EEPROM-памяти в flash-памяти, состоящей из секторов в качестве минимальных единиц удаления и блоков в качестве минимальных единиц записи, в котором разбивают flash-память на три области, каждая из которых занимает по меньшей мере один сектор, а именно, область образа эмулируемой EEPROM-памяти, которая выполнена с возможностью хранения последнего актуального образа эмулируемой EEPROM-памяти, область транзакций, которая выполнена с возможностью записи изменений транзакций к образу эмулируемой EEPROM-памяти, и резервную область, которая выполнена с возможностью временного хранения, данных при выполнении перезаписи образа эмулируемой EEPROM-памяти, при записи данных в эмулируемую EEPROM-память, записывают изменения транзакции к образу эмулируемой EEPROM-памяти в область транзакций последовательно друг за другом. 1 з.п. ф-лы, 9 ил.

 

Изобретение относится к области вычислительной техники, к устройствам для программного управления, а именно, к способу эмуляции EEPROM-памяти в flash-памяти, и может быть использовано в flash-памяти любого типа.

В настоящее время широко применяют принцип эмуляции EEPROM-памяти в flash-памяти по причине того, что EEPROM-память дороже flash-памяти, поэтому эмуляция позволяет получить больший объем данных на flash-памяти, доступный для данного типа микроконтроллера (MCU – microcontroller unit).

Наиболее близким к заявленному изобретению является способ эмуляции EEPROM-памяти в flash-памяти, описанный в заявке US2013080690 (A1). Данный способ выбран в качестве прототипа заявленного изобретения.

Недостатком способа-прототипа является то, что, во-первых, он не является быстродействующим, поскольку не позволяет записывать и перезаписывать информацию от одного байта и более без выполнения при этом процедуры форматирования больших блоков данных (секторов), а, во-вторых, ограничивает ресурс использования flash-памяти количеством циклов перезаписи данных равным 10000, поскольку не позволяет выполнять более 10000 циклов перезаписи данных в flash-память.

Техническим результатом изобретения является создание способа эмуляции EEPROM-памяти в flash-памяти с увеличенным быстродействием, за счет отсутствия в нем процедуры форматирования больших блоков данных (секторов), который позволяет увеличить ресурс использования flash-памяти путем уменьшения количества циклов перезаписи в несколько раз, за счет разделения на несколько областей flash-памяти, отведенной на эмуляцию EEPROM-памяти, а именно, на первую область - образ эмулируемой EEPROM-памяти, на вторую область - область транзакций и на третью область - резервную область.

Поставленный технический результат достигнут путем создания способа эмуляции EEPROM-памяти в flash-памяти, состоящей из секторов в качестве минимальных единиц удаления и блоков в качестве минимальных единиц записи, в котором

- разбивают flash-память на три области, каждая из которых занимает, по меньшей мере, один сектор, а именно, область образа эмулируемой EEPROM-памяти, которая выполнена с возможностью хранения последнего актуального образа эмулируемой EEPROM-памяти, область транзакций, которая выполнена с возможностью записи изменений (транзакций) к образу эмулируемой EEPROM-памяти, и резервную область, которая выполнена с возможностью временного хранения, данных при выполнении перезаписи образа эмулируемой EEPROM-памяти;

- при записи данных в эмулируемую EEPROM-память:

a) записывают изменения (транзакции) к образу эмулируемой EEPROM-памяти в область транзакций последовательно друг за другом;

b) при полном заполнении области транзакций, обновляют образ эмулируемой EEPROM-памяти с внесением всех изменений (транзакций) к образу эмулируемой EEPROM-памяти, при этом записывают из области образа эмулируемой EEPROM-памяти в резервную область образ эмулируемой EEPROM-памяти одновременно с внесением в него всех изменений (транзакций) к образу эмулируемой EEPROM-памяти из области транзакций, после этого удаляют все данные в области образа эмулируемой EEPROM-памяти и удаляют все данные в области транзакций;

- при чтении данных из эмулируемой EEPROM-памяти, сначала считывают данные из области образа эмулируемой EEPROM-памяти, а затем вносят в считанные данные изменения (транзакции) к образу эмулируемой EEPROM-памяти из области транзакций.

В предпочтительном варианте осуществления способа разбивают flash-память на три области, при этом разбивают каждую из трех областей на подобласть замены и подобласть данных, при этом разбивают подобласти на блоки фиксированной длины, каждый из которых защищают контрольной суммой алгоритма CRC (cyclic redundancy check - циклический избыточный код) для проверки целостности данных в блоке, причем, в случае обнаружения некорректной контрольной суммы в блоке из подобласти данных, используют вместо данного блока из подобласти данных соответствующий ему блок из подобласти замены.

Для лучшего понимания заявленного изобретения далее приводится его подробное описание с соответствующими графическими материалами.

Фиг. 1. Схема начального состояния областей памяти, выполненная согласно изобретению.

Фиг. 2. Схема операции записи 8 байт (0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00) данных по адресу 0x0001 в память, выполненная согласно изобретению.

Фиг. 3. Схема операции записи 8 байт (0x01 0x01 0x01 0x01 0x01 0x01 0x01 0x01) данных по адресу 0x0002 в память, выполненная согласно изобретению.

Фиг. 4. Схема операции записи 10 байт (0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF) данных по адресу 0x0009 в память, выполненная согласно изобретению.

Фиг. 5. Схема операции записи 8 байт (0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA) данных по адресу 0x0009 в память, выполненная согласно изобретению.

Фиг. 6. Схема операции переноса образа эмулируемой EEPROM-памяти из области образа в резервную область, одновременно с внесением в него всех изменений (транзакций), выполненная согласно изобретению.

Фиг. 7. Схема операции удаления всех данных в области образа эмулируемой EEPROM-памяти, при этом установки данных из области образа в качестве резервных, выполненная согласно изобретению.

Фиг. 8. Схема операции удаления всех данных в области транзакций, выполненная согласно изобретению.

Фиг. 9. Схема разбиения трех областей flash-памяти, на подобласть замены и подобласть данных, а также на блоки фиксированной длины, выполненная согласно изобретению.

Рассмотрим более подробно функционирование заявленного способа эмуляции EEPROM-памяти в flash-памяти (Фиг. 1 - 9).

Flash память состоит из секторов, сектора состоят из блоков. Минимальная единица записи данных в память - блок, минимальная единица удаления данных в памяти - сектор.

Flash-память отведенную на эмуляцию EEPROM-памяти разбивают на несколько областей: область образа эмулируемой EEPROM-памяти, область транзакций, резервную область.

Область образа эмулируемой EEPROM-памяти состоит, по меньшей мере, из одного сектора, в ней хранят последний актуальный образ эмулируемой EEPROM-памяти.

Область транзакций также состоит, по меньшей мере, из одного сектора. В неё записывают изменения (транзакции) к образу эмулируемой EEPROM-памяти.

Резервная область состоит, по меньшей мере, из одного сектора. Её используют в качестве временного буфера для операции перезаписи образа эмулируемой EEPROM-памяти.

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

Изменение (транзакцию) записывают в область транзакций. Запись изменений (транзакций) осуществляют последовательно друг за другом.

При чтении данных из эмулируемой EEPROM-памяти, сначала в буфер считывают данные из области данных, а затем из области транзакций перезаписывают изменения (транзакции), в случае их наличия.

При полном заполнении сектора транзакций, выполняют операцию обновления образа эмулируемой EEPROM-памяти одновременно с внесением всех изменений из области транзакций. Данные из области образа эмулируемой EEPROM-памяти записывают в резервную область, при этом вносят в них все изменения из области транзакций. После этого удаляют все данные в области образа эмулируемой EEPROM-памяти и удаляют все данные в области транзакций.

Разбивают (Фиг. 9) flash-память на три области, при этом разбивают каждую из трех областей на подобласть замены и подобласть данных, при этом разбивают подобласти на блоки фиксированной длины, каждый из которых защищают контрольной суммой алгоритма CRC (cyclic redundancy check - циклический избыточный код) для проверки целостности данных в блоке, причем, в случае обнаружения некорректной контрольной суммы в блоке из подобласти данных, используют вместо данного блока из подобласти данных соответствующий ему блок из подобласти замены.

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

1. Cпособ эмуляции EEPROM-памяти в flash-памяти, состоящей из секторов в качестве минимальных единиц удаления и блоков в качестве минимальных единиц записи, в котором

разбивают flash-память на три области, каждая из которых занимает по меньшей мере один сектор, а именно, область образа эмулируемой EEPROM-памяти, которая выполнена с возможностью хранения последнего актуального образа эмулируемой EEPROM-памяти, область транзакций, которая выполнена с возможностью записи изменений транзакций к образу эмулируемой EEPROM-памяти, и резервную область, которая выполнена с возможностью временного хранения, данных при выполнении перезаписи образа эмулируемой EEPROM-памяти;

при записи данных в эмулируемую EEPROM-память, записывают изменения транзакции к образу эмулируемой EEPROM-памяти в область транзакций последовательно друг за другом;

при чтении данных из эмулируемой EEPROM-памяти, сначала записывают данные в резервную область из области образа эмулируемой EEPROM-памяти, а затем записывают в резервную область из области транзакций изменения транзакции к образу эмулируемой EEPROM-памяти;

при полном заполнении области транзакций, обновляют образ эмулируемой EEPROM-памяти с внесением всех изменений транзакций к образу эмулируемой EEPROM-памяти, при этом записывают из области образа эмулируемой EEPROM-памяти в резервную область образ эмулируемой EEPROM-памяти одновременно с внесением в него всех изменений транзакций к образу эмулируемой EEPROM-памяти из области транзакций, после этого удаляют все данные в области образа эмулируемой EEPROM-памяти и удаляют все данные в области транзакций.

2. Способ по п. 1, отличающийся тем, что разбивают flash-память на три области, при этом разбивают каждую из трех областей на подобласть замены и подобласть данных, при этом разбивают подобласти на блоки фиксированной длины, каждый из которых защищают контрольной суммой алгоритма CRC (cyclic redundancy check - циклический избыточный код) для проверки целостности данных в блоке, причем, в случае обнаружения некорректной контрольной суммы в блоке из подобласти данных, используют вместо данного блока из подобласти данных соответствующий ему блок из подобласти замены.



 

Похожие патенты:
Изобретение относится к области вычислительной техники. Техническим результатом является обеспечение распределения нагрузки между процессорами в вычислительной системе.

Изобретение относится к области вычислительной техники. Технический результат заключается в обеспечении защиты среды аппаратной виртуализации от угроз, связанных с компьютерной безопасностью.

Группа изобретений относится к средствам планирования операций ввода/вывода (I/O) в накопителях. Технический результат – обеспечение возможности сбалансированного управления накопителем за счет планирования операций I/O.

Изобретение относится к средствам планирования передачи множества операций ввода/вывода (I/O), предназначенных для выполнения устройством хранения данных. Технический результат заключается в уменьшении времени реакции при выполнении задачи, направленной в устройство хранения и сокращение времени зависание задач.

Изобретение относится к цифровой технике в области обработки цифровой информации. Технический результат заключается в расширении арсенала средств того же назначения.

Группа изобретений относится к средствам обработки данных. Технический результат – повышение производительности обработки после переключения на целевой процессор.

Изобретение относится к вычислительной технике и может быть использовано в цифровых вычислительных устройствах, в устройствах цифровой обработки сигналов, а также в криптографических приложениях.

Группа изобретений относится к цифровым помощникам. Технический результат – обеспечение возможности совершения задачи в цифровом помощнике без монитора.

Группа изобретений относится к области вычислительной техники и может быть использована в устройствах обработки информации для осуществления сортировки исходных данных.

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

Изобретение относится к области связи. Технический результат - облегчение получения и использования различных видов информации каждого устройства HDMI в кластере HDMI.

Изобретение относится к обработке цифровых данных с помощью устройств, предназначенных для использования в системах глобального мониторинга и управления энергоресурсами на основе IoT-технологии.

Изобретение относится к электронным вычислительным устройствам. Технический результат направлен на расширение арсенала средств того же назначения.

Изобретение относится к майнингу криптовалюты. Технический результат заключается в расширении арсенала средств того же назначения.

Изобретение относится к устройствам обработки информации. Технический результат заключается в обеспечении устройства обработки информации для управления воспроизведением содержимого с помощью множества устройств воспроизведения, соединённых с сетью.

Изобретение относится к области вычислительной техники. Технический результат заключается в расширении функциональных возможностей.

Изобретение относится к шинным системам абонентских станций. Техническим результатом является расширение арсенала технических средств.

Устройство сопровождения доставки сопровождает услугу доставки, в которой кабина транспортного средства, используемого пользователем, назначена как место назначения доставки багажа.

Группа изобретений относится к интерфейсу датчика. Технический результат – создание универсального интерфейса датчика для разнообразных семейств датчиков.

Изобретение относится к технике телекоммуникационных систем и может быть использовано в качестве мобильного комплекса оперативной телефонной связи для развертывания сетей в организациях и учреждениях различных министерств и ведомств для работы должностных лиц в полевых условиях.
Наверх