устройство хранения различных версий набора данных в отдельных областях памяти и способ обновления набора данных в памяти

Классы МПК:G06F11/14 обнаружение и исправление ошибок в данных с помощью избыточности операций,например с использованием различных последовательностей операций, приводящих к тому же результату
G06F12/16 защита от потерь данных в памяти
G11B7/24 носители записи, отличающиеся материалом или структурой, или формой
Автор(ы):,
Патентообладатель(и):БЕЛЛЕ ГЕЙТ ИНВЕСТМЕНТ Б.В. (NL)
Приоритеты:
подача заявки:
1999-06-10
публикация патента:

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

Рисунок 1, Рисунок 2, Рисунок 3, Рисунок 4, Рисунок 5

Формула изобретения

1. Считываемый компьютером носитель, хранящий структуру данных для обеспечения постоянного хранения набора данных, причем упомянутая структура данных включает (a) по меньшей мере самую старую версию упомянутого набора данных в первой области памяти, причем упомянутый считываемый компьютером носитель включает в себя по меньшей мере один тег для идентификации упомянутой самой старой версии, и (b) по меньшей мере последнюю по времени обновления версию упомянутого набора данных во второй, отличной, области памяти, причем упомянутый считываемый компьютером носитель включает в себя по меньшей мере один тег для идентификации упомянутой последней по времени обновления версии, при этом упомянутая первая область памяти содержит первый набор из одной или более страниц и упомянутая вторая область памяти содержит второй набор из одной или более страниц, причем страница содержит одну или более последовательных ячеек памяти, которыми оперируют как одной единицей во время таких операций с памятью, как назначение, обновление и освобождение памяти данных приложения, отличающийся тем, что каждая страница дополнительно содержит свой собственный тег, указывающий номер (gen#) версии упомянутого набора данных и номер (pg#) страницы упомянутой страницы.

2. Считываемый компьютером носитель по п.1, в котором каждый упомянутый тег содержит ссылку (chid) на упомянутый набор данных.

3. Считываемый компьютером носитель по п.1 или 2, в котором каждая страница соответствует одной числовой шине.

4. Компьютерное устройство, включающее в себя процессор (2;2,4) и по меньшей мере один считываемый компьютером носитель по любому предыдущему пункту, причем упомянутый процессор (2;2,4) предназначен для обработки упомянутой структуры данных.

5. Компьютерное устройство по п.4, в котором процессор (2;2,4) предназначен для записи тегов с избыточностью в отношении их содержимого и после считывания тегов из средства памяти, анализа из упомянутой избыточности, имели ли место или нет ошибки записи.

6. Компьютерное устройство по п.4 или 5, в котором последняя по времени обновления версия содержит множество страниц, причем каждая страница имеет уникальный тег, и процессор (2;2,4) предназначен для обновления упомянутой последней по времени обновления версии упомянутого набора данных и записи предварительно определенного тега предварительно определенной одной из упомянутого множества страниц в упомянутое средство памяти в качестве последнего этапа упомянутого обновления.

7. Компьютерное устройство по любому из пп.4-6, в котором по меньшей мере один из упомянутых тегов содержит дополнительные данные для указания принадлежности и прав использования и процессор (2;2,4) предназначен для распознавания принадлежности и прав использования из этих дополнительных данных.

8. Компьютерное устройство по п.7, в котором упомянутые права использования отличаются для различных частей набора данных и процессор (2;2,4) предназначен для распознавания различных прав использования для этих различных частей.

9. Компьютерное устройство по любому из пп.4-8, в котором процессор (2;2,4) предназначен для анализа значений тегов и имеет возможность доступа к упомянутым версиям упомянутого набора данных только посредством ссылки через упомянутые значения тегов.

10. Компьютерное устройство по п.9, в котором упомянутый процессор содержит центральный процессорный блок (2) и отдельный блок (4) управления памятью и значения тегов известны только блоку (4) управления памятью.

11. Компьютерное устройство по п.10, в котором упомянутый блок (4) управления памятью кодирует теги криптографическим ключом перед их записью на считываемый компьютером носитель, причем упомянутый криптографический ключ известен только блоку (4) управления памятью.

12. Компьютерное устройство по п.11, в котором упомянутый криптографический ключ относится к криптографической односторонней функции.

13. Способ обеспечения постоянного хранения набора данных на считываемом компьютером носителе, содержащий этапы (a) хранения самой старой версии упомянутого набора данных в первой области памяти, в котором упомянутый считываемый компьютером носитель включает в себя по меньшей мере один тег для идентификации упомянутой самой старой версии, и (b) хранения последней по времени обновления версии упомянутого набора данных во второй, отличной, области памяти, причем упомянутый считываемый компьютером носитель включает в себя по меньшей мере один тег для идентификации упомянутой последней по времени обновления версии, при этом первая область памяти содержит первый набор из одной или более страниц и упомянутая вторая область памяти содержит второй набор из одной или более страниц, причем страница содержит одну или более последовательных ячеек памяти, которыми оперируют как одной единицей во время таких операций с памятью, как назначение, обновление и освобождение памяти данных приложения, отличающийся тем, что упомянутый способ дополнительно содержит этап обеспечения каждой страницы своим собственным тегом, указывающим номер (gen#) версии упомянутого набора данных и номер (pg#) страницы упомянутой страницы.

14. Способ по п.13, включающий дополнительный этап контроля упомянутого хранения на этапе (b) посредством предварительно определенной операции, выполняемой над упомянутым по меньшей мере одним тегом, идентифицирующим упомянутую последнюю по времени обновления версию.

15. Способ по п.13, в котором упомянутая последняя по времени обновления версия содержит множество страниц, причем каждая страница имеет уникальный тег, и предварительно определенный тег предварительно определенной одной из упомянутого множества страниц сохраняется в качестве последнего этапа на этапе (b), чтобы идентифицировать завершение упомянутого хранения на этапе (b).

16. Способ по п.13, дополнительно включающий следующий этап после этапа (b): (с) освобождение области памяти, хранящей в ней самую старую версию упомянутого набора данных, если по меньшей мере две версии упомянутого набора данных остаются в упомянутом средстве (10) памяти.

Описание изобретения к патенту

Область техники, к которой относится изобретение

Настоящее изобретение относится к средству памяти, содержащему по меньшей мере один набор данных в области памяти. Средство памяти может быть реализовано энергозависимыми устройствами ОЗУ или энергонезависимыми кремниевыми устройствами, такими как ЭСППЗУ, электрически стираемое программируемое постоянное запоминающее устройство, флэш-ППЗУ или ПЗУ. Обычно в такой памяти хранятся программные модули операционной системы, прикладные программы и данные прикладных задач. Там, где такие компьютерные системы в соответствии с изобретением могут найти особенное применение, некоторые или все программные модули операционной системы хранятся в ПЗУ.

Предшествующий уровень техники

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

DE-A-19600081 раскрывает считываемый компьютером носитель, способный хранить различные версии набора данных. Такой считываемый компьютером носитель хранит и давнюю версию, и последнюю по времени обновления версию. Чтобы различить разные версии одну от другой, обе из них идентифицируются счетчиком.

Цель изобретения

Целью настоящего изобретения является обеспечение постоянного хранения данных прикладных задач посредством создания усовершенствованного механизма для элементарности обновления данных, хранимых в энергонезависимых запоминающих устройствах, особенно в кремниевых запоминающих устройствах, таких как ЭСППЗУ или флэш-ППЗУ.

Сущность изобретения

Изобретение относится к считываемому компьютером носителю, как заявлено в п.1.

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

Если обновление прерывается во время операции обновления, последняя по времени обновления версия еще присутствует в памяти, таким образом гарантируя присутствие по меньшей мере одной достоверной версии набора данных. Таким образом гарантируется “элементарность обновления”. Такое элементарное обновление гарантирует либо полную замену данных, либо немодифицированных, ранее хранимых данных, даже если прерывается операция обновления.

Каждая версия набора данных хранится на одной или нескольких страницах памяти, и каждая страница памяти включает в себя один тег, причем каждый тег содержит ссылки на набор данных, номер версии и номер страницы.

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

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

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

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

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

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

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

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

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

Настоящее изобретение также относится к способу, как заявлено в п.13.

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

Краткое описание чертежей

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

На фиг.1 представлен пример варианта выполнения в соответствии с настоящим изобретением.

На фиг.2 представлено возможное распределение памяти в соответствии с настоящим изобретением.

На фиг.3 представлено содержимое страниц памяти в возможном варианте выполнения устройства в соответствии с фиг.2.

На фиг.4 изображен способ в соответствии с настоящим изобретением.

На фиг.5 представлено возможное устройство блока управления памятью в соответствии с настоящим изобретением.

Описание предпочтительного варианта выполнения

На фиг.1 представлено одно возможное устройство в соответствии с настоящим изобретением. Центральный процессорный блок 2 подсоединен к средству 12 ввода/вывода и к памяти, которая может содержать ПЗУ 6, ОЗУ 8 и энергонезависимую память 10. Блок 4 управления памятью может быть выполнен отдельно или внутри центрального процессорного блока 2. Блок 4 управления предназначен для выполнения функций памяти, которые имеют отношение к энергонезависимой памяти 10, а также предпочтительно к другим секциям памяти - ПЗУ 6 и ОЗУ 8. Вариант выполнения, показанный на фиг.1, относится ко всем видам систем управления хранением данных. Изобретение, однако, особенно полезно в отношении хранения данных в энергонезависимых кремниевых устройствах, а не на жестких дисках. Важные применения относятся к области встроенных компьютерных систем и к однокристальным компьютерам, таким как смарт-карты (интеллектуальные карточки).

На фиг.2 показано одно возможное устройство хранения данных в памяти в соответствии с настоящим изобретением. Энергонезависимая память 10 данных может быть разделена на блоки хранения. Здесь эти блоки хранения в памяти называются “страницы”. Удобно, если эти страницы будут одинакового размера, например равные размерности “числовой шины” в кремниевых устройствах, используемых для реализации памяти. Страницы, однако, могут быть с другими размерами. Содержимое памяти управляется блоком 4 управления памятью постранично: распределение, обновление и освобождение памяти для хранения данных прикладных программ включает в себя управление одной или несколькими страницами.

Память содержит различные генерации (или версии) набора элементов данных прикладных программ. Каждая генерация может храниться на одной или нескольких страницах. На фиг.2 показан случай, когда память включает три различные генерации k, k+1, k+2 одного набора элементов данных прикладной задачи. В примере показано, что генерация k занимает три страницы 1, 2 и 3, генерация k+1 - две страницы i, i+1, и генерация k+2 -две страницы n, n+1. Генерация k представляет собой самую старую версию набора элементов прикладных данных в памяти, тогда как генерация k+2 является последней по времени обновления версией набора элементов данных прикладной задачи. Каждая из генераций k, k+1, k+2 может, например, относиться к различным версиям программного объекта.

Генерации k, k+1 и k+2, как указано, образуют “фрагмент данных”, причем этот термин используется здесь как ссылка на один-единственный набор элементов данных прикладной задачи. Страницы, необходимые для хранения, распределяются по любым ячейкам памяти, которые не заняты страницей, что определяется блоком 4 управления памятью. Различные генерации k, k+1, k+2 фрагмента данных, показанного на фиг.2, могут храниться или могут не храниться в памяти в последовательных ячейках памяти. Блок 4 управления памятью является блоком для принятия решения о том, где хранить различные генерации. Даже страницы в одной генерации нет необходимости хранить в последовательных страницах. Для иллюстрации этого страницы n и n+1 показаны расположенными удаленными друг от друга (показано точками между ними).

На практике память включает несколько “фрагментов данных”, т.е. несколько наборов генераций различных наборов данных.

В памяти, организованной и управляемой в соответствии с настоящим изобретением, элементарность обновления обеспечивается основным принципом управления, выполняемым блоком 4 управления памятью. Если данные хранятся в памяти, то данные, связанные с версией набора элементов прикладных данных, никогда не модифицируются в одной и той же области памяти. Другими словами, один раз созданная страница никогда не модифицируется. Когда последний обновленный набор элементов прикладных данных требует изменения в соответствии с прикладной программой, работающей на центральном процессорном блоке 2, новая область памяти, например новый набор страниц, распределяется блоком 4 управления памятью. В эту новую область памяти блоком 4 управления памятью заносятся любые измененные значения вместе с значениями элементов данных набора элементов данных прикладных задач, которые не были изменены. Таким образом, память 10 в любой момент времени содержит по меньшей мере одну согласованную, достоверную версию фрагмента данных.

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

В одном варианте выполнения, после завершения обновления набора данных, блок 4 управления памятью освобождает область памяти, хранящую самую старую версию набора данных. Блок 4 управления памятью может, например, управлять присутствием не более 10 версий одного набора элементов данных прикладной задачи. При практической реализации прикладная программа, работающая на центральном процессорном блоке 2, взаимодействует с блоком 4 управления памятью, чтобы управлять процессом обновления ее данных, например указывая завершение обновления. Прикладная программа сообщает блоку 4 управления памятью о завершении обновления, после чего блок 4 управления памятью завершает операции записи в память 10. Такая передача сигналов при процессе обновления является обычной в системах обработки финансовых операций.

Когда несколько версий набора элементов данных прикладных задач присутствуют в памяти, предыстория модификации данных может анализироваться посредством блока 4 управления памятью. Блок 4 управления памятью выполняет это посредством обеспечения средства для проверки, но не модифицирования, прикладной программой, работающей на центральном процессорном блоке 2, значений данных в предыдущих версиях.

На фиг.3 изображена возможная структура страницы памяти в соответствии с настоящим изобретением. Предполагается, что память разделена на страницы. На фиг.3 показаны две страницы i, i+1. Каждая страница i, i+1 содержит данные прикладной программы и тег i, i+1. Значение тега предпочтительно состоит из трех частей: “идентификатора chid фрагмента”, номера gеn# генерации и номера рg# страницы. Идентификатор фрагмента служит в качестве однозначной ссылки на программную единицу хранимых данных. Счетчик gеn# генераций определяет номер версии хранимых данных. По меньшей мере две генерации указываются счетчиками gеn# генераций. Счетчик рg# страниц обозначает номер страницы, рассматриваемой в генерации набора программных данных, к которым принадлежит страница. Счетчик рg# страниц действительно позволяет, чтобы данные генерации набора данных хранились как многочисленное количество страниц.

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

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

На фиг.4 суммирована последовательность операций, выполняемых блоком 4 управления памятью в одном варианте выполнения изобретения при обновлении версии хранимых прикладных данных, предписываемых прикладной программой, работающей на центральном процессорном блоке 2:

а) распределение нового набора страниц в памяти 10, этап 40;

b) определение значения тега каждой новой страницы нового набора страниц, этап 42;

с) запись постранично данных прикладной программы в ее измененной форме и соответствующих тегов в память 10, этап 44;

d) контроль для каждой записанной страницы, что результат корректный, этап 46;

этот этап контроля может быть выполнен посредством контроля значения тега, как указано выше;

е) освобождение страниц, которые содержат самую старую генерацию набора данных, этап 48.

Значение тега для каждой новой страницы определяется присвоенным идентификатором chid фрагмента, значением номера gеn# генерации последней по времени обновления версии, увеличенным на 1, и номером рg# страницы.

Страницы предпочтительно записываются в память 10 постранично, как указано на этапе с) выше. Предпочтительно, чтобы одна предварительно определенная страница из набора страниц для одного набора данных записывалась последней, тогда как все другие страницы могут записываться в любом порядке. Удобно, что предварительно определенной страницей является первая страница нового набора страниц. На практике любые страницы могут записываться частями. Например, значение тега страницы может быть записано отдельно от данных прикладной программы на странице. Предпочтительно, однако, чтобы тег предварительно определенной страницы, которая является последней страницей для записи, записывался на последнем этапе операции обновления. Это ясное указание на то, что операция обновления завершена. До тех пор пока этот тег предварительно определенной страницы не будет записан в память, данные прикладной программы, записанные в любую из новых страниц, также могут модифицироваться.

Однако необходимо заметить, что частичные записи и модификации данных страницы могут уменьшить пользу, получаемую от изобретения, т.е. общее время записи может увеличиться. Запись в энергонезависимую память 10, как ППЗУ, занимает относительно продолжительное время - в настоящее время примерно 3 мс. Поэтому лучше всего записать один раз в память 10, т.е. когда весь модифицированный набор данных будет готов для сохранения, а не записывать модифицированные части набора данных в последовательные периоды времени. Однако, если время позволяет, как часто бывает, в этой области техники обычно записывают модифицированные части набора данных в энергонезависимую память. Это имеет результатом, однако, увеличенное число операций записи, что приводит к излишнему износу энергонезависимой памяти 10.

Поэтому, в соответствии с вариантом выполнения изобретения предпочтительно, чтобы все этапы, необходимые для полного изменения набора данных, выполнялись на рабочей копии набора данных в ОЗУ 8 перед записью измененного набора данных в энергонезависимую память 10.

Запись значения тега предварительно определенной страницы в качестве последней операции в сеансе обновления является полезной мерой при реализации элементарности многостраничного обновления. Наличие или отсутствие достоверного тега в предварительно определенной странице затем служит в качестве флага “фиксации изменений”: достоверный тег в предварительно определенной странице указывает как на достоверность записанной страницы, так и на окончательное завершение всего процесса обновления.

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

Хотя блок 4 управления памятью и центральный процессорный блок 2 могут быть в одном физическом процессорном блоке, особенно выгодно для этого последнего признака, чтобы центральный процессорный блок 2 и блок 4 управления памятью были двумя физически отдельными блоками, предназначенными для связи друг с другом. Необходимо понять, что термин “физически отдельные” может все же ссылаться на блоки, производимые на одном кристалле. Тогда пространство физических адресов памяти 10 не включается в адресное пространство центрального процессорного блока 2, в особенности не включается в адресное пространство, где хранятся прикладная программа или программные команды операционной системы. Если затем блок 4 управления памятью также выполняется защищенным от несанкционированного вмешательства (как в смарт-карте), то достигается дополнительная защита от “зондирования”.

Для реализации этой потенциальной дополнительной защиты, например, для смарт-карт блок 4 управления памятью может предусматривать дополнительную интерфейсную функциональность, например, включая в состав адресный регистр 54 размера тега и регистр 52 данных размера данных страницы (см. фиг.5). Этот интерфейс 52, 54 затем дополняется логическим блоком 50, чтобы выполнять логические функции для просмотра и сопоставления тегов, хранимых в памяти 10. Другими словами, логический блок 50 может считывать теги из памяти 10 и адресовать память 10 в результате анализа значения тегов.

Интерфейс 52, 54 и связанный с ним логический блок 50 могут быть реализованы аппаратными средствами.

Кроме того, специфические аппаратные схемы 56, 58 присутствуют соответственно в качестве интерфейсов между памятью 6, 8, 10 и логическим блоком 50 и между центральным процессорным блоком 2 и логическим блоком 50. Логический блок 50 может предусматривать специализированный адресный счетчик, объединенный с логической схемой сравнения тегов. Различные аппаратные схемы могут содержать логические схемы ассоциативной памяти, реализованные по меньшей мере на страницу памяти для хранения битов, резервируемых для размещения значения тега.

Дополнительная выгода от безопасности может быть получена с памятью, управляемой в соответствии с изобретением, когда, в дополнение к специальному кодированию для обнаружения, значение тега дополнительно кодируется с использованием криптографических методов. Такое криптографическое кодирование тега предназначается для скрытия данных прикладных задач, относящихся к структурной информации, подобной идентификатору chid фрагмента, номеру gеn# генерации, номеру рg# страницы, содержащимся в значениях тега. Криптографическое кодирование может быть выполнено любыми методами кодирования, известными специалистам в этой области техники. Одним полезным способом является использование секретных криптографических односторонних функций, в которых этапы односторонней функции связаны с секретным ключом, известным только блоку 4 управления памятью. Таким образом, блок 4 управления памятью может распознавать предыдущую генерацию применением односторонней функции один или несколько раз к кодированному значению тега этой предыдущей генерации, а затем сравнением результирующего значения тега со значением тега последней по времени обновления генерации. Это препятствует восстановлению данных прикладной программы из злонамеренного принудительного “дампа” содержимого запоминающего устройства.

Теговая структура памяти, как описано выше, обеспечивает несколько полезных возможностей. Например, тег может включать в себя дополнительные данные для указания принадлежности связанных данных прикладной программы. Кроме того, такие дополнительные данные в значении тега могут указывать права использования или наборы прав использования для различных пользователей данных прикладной программы. Такие различные права использования могут, например, быть связаны с различными условиями доступа к различным частям данных (прикладной) программы в памяти 10. Одна часть данных (прикладной) программы может, например, быть определена только для считывания, тогда как другая часть данных прикладной программы может быть определена с доступом к считыванию/записи.

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

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

Класс G06F11/14 обнаружение и исправление ошибок в данных с помощью избыточности операций,например с использованием различных последовательностей операций, приводящих к тому же результату

способ восстановления данных в системе управления базами данных -  патент 2526753 (27.08.2014)
способ устранения конфликта доступа к центру и реализующая способ система -  патент 2523935 (27.07.2014)
устройство для приема двоичной информации по двум параллельным каналам связи -  патент 2523210 (20.07.2014)
способ, устройство и компьютерное программное изделие для определения сигнатур данных в сети динамически распределенных устройств -  патент 2503999 (10.01.2014)
устройство обработки данных, способ управления доступом и носитель данных -  патент 2497183 (27.10.2013)
поэтапная, облегченная система резервного копирования -  патент 2483349 (27.05.2013)
способ исправления одиночных ошибок и предотвращения возникновения двойных ошибок в регистровом файле и устройство для его осуществления -  патент 2465636 (27.10.2012)
устройство хранения информации с обнаружением одиночных и двойных ошибок -  патент 2450332 (10.05.2012)
способ обнаружения ошибок при приеме дискретных сообщений (варианты) -  патент 2449349 (27.04.2012)
устройство хранения и передачи данных с исправлением ошибок в байте информации и обнаружением ошибок в байтах информации -  патент 2448359 (20.04.2012)

Класс G06F12/16 защита от потерь данных в памяти

способ восстановления данных в системе управления базами данных -  патент 2526753 (27.08.2014)
система и способ обнаружения вредоносных объектов, распространяемых через пиринговые сети -  патент 2487406 (10.07.2013)
поэтапная, облегченная система резервного копирования -  патент 2483349 (27.05.2013)
программатор -  патент 2470389 (20.12.2012)
самоуправляемое обрабатывающее устройство -  патент 2461053 (10.09.2012)
способ определения ошибочного использования памяти -  патент 2458386 (10.08.2012)
способ адаптивного управления пакетом антивирусных сканеров и система для его осуществления -  патент 2457533 (27.07.2012)
система и способ для антивирусной проверки на стороне сервера скачиваемых из сети данных -  патент 2449348 (27.04.2012)
способ восстановления записей в запоминающем устройстве, система для его осуществления и машиночитаемый носитель -  патент 2448361 (20.04.2012)
электромеханическое устройство защиты информации, размещенной на цифровом накопителе, от несанкционированного доступа -  патент 2448360 (20.04.2012)

Класс G11B7/24 носители записи, отличающиеся материалом или структурой, или формой

носитель записи информации, устройство воспроизведения и способ воспроизведения -  патент 2511612 (10.04.2014)
оптический носитель записи и способ изготовления оптического носителя записи -  патент 2509382 (10.03.2014)
оптический носитель записи и оптическое информационное устройство -  патент 2503069 (27.12.2013)
способ измерения оптических носителей информации, оптический носитель информации, устройство записи и устройство воспроизведения -  патент 2501098 (10.12.2013)
оптический носитель записи информации и устройство записи и воспроизведения -  патент 2491660 (27.08.2013)
совместимый оптический носитель записи -  патент 2437174 (20.12.2011)
способ записи и считывания оптической информации в многослойный носитель с фоточувствительной средой -  патент 2431894 (20.10.2011)
способ воспроизведения данных с оптического носителя информации и устройство для оптического переноса данных -  патент 2419892 (27.05.2011)
устройство воспроизведения данных -  патент 2416828 (20.04.2011)
носитель записи высокой плотности и устройство записи и/или воспроизведения для него -  патент 2363996 (10.08.2009)
Наверх