RU2235356C2 - Device for storing different versions of data sets in separate memory areas and method for refreshing data sets in memory - Google Patents

Device for storing different versions of data sets in separate memory areas and method for refreshing data sets in memory Download PDF

Info

Publication number
RU2235356C2
RU2235356C2 RU2002100204/09A RU2002100204A RU2235356C2 RU 2235356 C2 RU2235356 C2 RU 2235356C2 RU 2002100204/09 A RU2002100204/09 A RU 2002100204/09A RU 2002100204 A RU2002100204 A RU 2002100204A RU 2235356 C2 RU2235356 C2 RU 2235356C2
Authority
RU
Russia
Prior art keywords
memory
tag
version
data
data set
Prior art date
Application number
RU2002100204/09A
Other languages
Russian (ru)
Other versions
RU2002100204A (en
Inventor
ЙОНГ Эдуард Карел ДЕ (US)
ЙОНГ Эдуард Карел ДЕ
Юрьен Норберт Элко БОС (NL)
Юрьен Норберт Элко БОС
Original Assignee
Белле Гейт Инвестмент Б.В.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Белле Гейт Инвестмент Б.В. filed Critical Белле Гейт Инвестмент Б.В.
Priority to RU2002100204/09A priority Critical patent/RU2235356C2/en
Publication of RU2002100204A publication Critical patent/RU2002100204A/en
Application granted granted Critical
Publication of RU2235356C2 publication Critical patent/RU2235356C2/en

Links

Images

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

FIELD: memorizing equipment engineering.
SUBSTANCE: data carrier for being read by computer has data structure for providing for permanent storing of a data set and has at least the oldest version of said data set in first memory area, at least one tag for identification of said version, at least latest in time of update version of said data set in the second one, different form the first one, memory area, at least one tag for identification of said latest in time updated version. Computer device has processor and at least one said carrier being read by a computer. Also included is description of operation of computer device.
EFFECT: elementary data updating and higher safety of data stored in memory.
3 cl, 5 dwg

Description

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

Настоящее изобретение относится к средству памяти, содержащему по меньшей мере один набор данных в области памяти. Средство памяти может быть реализовано энергозависимыми устройствами ОЗУ или энергонезависимыми кремниевыми устройствами, такими как ЭСППЗУ, электрически стираемое программируемое постоянное запоминающее устройство, флэш-ППЗУ или ПЗУ. Обычно в такой памяти хранятся программные модули операционной системы, прикладные программы и данные прикладных задач. Там, где такие компьютерные системы в соответствии с изобретением могут найти особенное применение, некоторые или все программные модули операционной системы хранятся в ПЗУ.The present invention relates to a storage medium comprising at least one data set in a memory area. The memory means may be implemented by volatile RAM devices or non-volatile silicon devices such as EEPROM, electrically erasable programmable read-only memory device, flash ROM or ROM. Typically, such memory stores program modules of the operating system, application programs, and application data. Where such computer systems in accordance with the invention may find particular use, some or all of the software modules of the operating system are stored in ROM.

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

В некоторых прикладных задачах, обычно при обработке финансовых операций, хранение должно выполняться с очень высокой надежностью. Такие применения с безопасным хранением известны как требующие “элементарности обновления” в “постоянных” средствах хранения. Для выполнения такого безопасного обновления известно использование регистрации обновления из известного уровня техники. Такой указатель регистрации обновления, который составляет часть набора данных, должен изменяться во время сеанса обновления. Только тогда, когда набор данных вместе с его обновленными частями будет сохранен в памяти, все ссылки на предшествующую версию набора данных могут быть удалены.In some applications, usually in the processing of financial transactions, storage must be performed with very high reliability. Such secure storage applications are known as requiring “basic updates” in “permanent” storage. To perform such a secure update, it is known to use update registration from the prior art. Such an update registration indicator, which forms part of the data set, must be changed during the update session. Only when the data set together with its updated parts is stored in memory, all references to the previous version of the data set can be deleted.

DE-A-19600081 раскрывает считываемый компьютером носитель, способный хранить различные версии набора данных. Такой считываемый компьютером носитель хранит и давнюю версию, и последнюю по времени обновления версию. Чтобы различить разные версии одну от другой, обе из них идентифицируются счетчиком.DE-A-19600081 discloses a computer-readable medium capable of storing various versions of a data set. Such computer-readable media stores both the old version and the latest update version. To distinguish between different versions of one from the other, both of them are identified by a counter.

Цель изобретенияThe purpose of the invention

Целью настоящего изобретения является обеспечение постоянного хранения данных прикладных задач посредством создания усовершенствованного механизма для элементарности обновления данных, хранимых в энергонезависимых запоминающих устройствах, особенно в кремниевых запоминающих устройствах, таких как ЭСППЗУ или флэш-ППЗУ.The aim of the present invention is to provide permanent storage of application data by creating an improved mechanism for the elementary updating of data stored in non-volatile memory devices, especially in silicon storage devices such as EEPROM or flash ROM.

Сущность изобретенияSUMMARY OF THE INVENTION

Изобретение относится к считываемому компьютером носителю, как заявлено в п.1.The invention relates to a computer-readable medium as claimed in claim 1.

Применение таких уникальных тегов, связанных различными областями памяти, позволяет однозначно идентифицировать, какие из версий являются более старыми. Кроме того, применение таких тегов позволяет идентифицировать, какие версии относятся к одному и тому же исходному набору данных. Таким образом, в памяти одновременно могут присутствовать различные версии различных наборов данных. Более того, во время обновления последней по времени обновления версии более старые версии, а также последняя по времени обновления версия не удаляются из памяти. Только после полного завершения операции обновления последней по времени обновления версии из памяти может быть удалена самая старая версия набора данных.The use of such unique tags associated with different areas of memory allows you to uniquely identify which of the versions are older. In addition, the use of such tags allows you to identify which versions belong to the same source dataset. Thus, different versions of different data sets may simultaneously be present in memory. Moreover, during the update of the latest update version, older versions, as well as the latest update version, are not deleted from memory. Only after the update operation of the latest update has been completed is the oldest version of the data set can be deleted from memory.

Если обновление прерывается во время операции обновления, последняя по времени обновления версия еще присутствует в памяти, таким образом гарантируя присутствие по меньшей мере одной достоверной версии набора данных. Таким образом гарантируется “элементарность обновления”. Такое элементарное обновление гарантирует либо полную замену данных, либо немодифицированных, ранее хранимых данных, даже если прерывается операция обновления.If the update is interrupted during the update operation, the latest version of the update is still present in the memory, thus guaranteeing the presence of at least one reliable version of the data set. Thus, the “elementary update" is guaranteed. Such an elementary update guarantees either a complete replacement of the data, or unmodified, previously stored data, even if the update operation is interrupted.

Каждая версия набора данных хранится на одной или нескольких страницах памяти, и каждая страница памяти включает в себя один тег, причем каждый тег содержит ссылки на набор данных, номер версии и номер страницы.Each version of the data set is stored on one or more pages of memory, and each page of memory includes one tag, each tag containing links to the data set, version number, and page number.

Страница определяется как область памяти с последовательными ячейками памяти, которые имеют дело с единицами хранения, соответствующими для рассматриваемой технологии хранения. Каждая страница может соответствовать одной числовой шине, тем самым облегчая выполнение операций считывания и записи единиц хранения в память. Номера версий присваиваются различным генерациям набора данных. Таким образом, различные номера версий относятся к различным генерациям. Различные номера страниц относятся к различным страницам одной генерации набора данных.A page is defined as a memory area with sequential memory cells that deal with storage units appropriate for the storage technology in question. Each page can correspond to one numerical bus, thereby making it easier to read and write storage units into memory. Version numbers are assigned to different dataset generations. Thus, different version numbers refer to different generations. Different page numbers refer to different pages of the same dataset generation.

Изобретение также относится к компьютерному устройству, включающему в себя процессор и по меньшей мере один считываемый компьютером носитель, как определено выше.The invention also relates to a computer device including a processor and at least one computer-readable medium, as defined above.

Процессор предпочтительно предназначен для записи тегов с избыточностью в отношении содержимого и, после считывания тегов из средства памяти, анализа на основе избыточности, имели ли место ошибки записи или нет. Такая избыточность может быть использована как указание того, имеют или нет достоверные значения рассматриваемые теги и наборы данных, на которые ссылаются теги.The processor is preferably designed to write tags with redundancy in relation to the contents and, after reading the tags from the memory means, analyzing based on redundancy whether there have been write errors or not. Such redundancy can be used as an indication of whether the tags in question and the datasets referenced by the tags have reliable values.

Последняя по времени обновления версия предпочтительно содержит множество страниц, причем каждая страница имеет уникальный тег, и процессор предназначен для обновления упомянутой последней по времени обновления версии упомянутого набора данных и записи предварительно определенного тега предварительно определенной одной из упомянутого множества страниц в упомянутое средство памяти в качестве последнего этапа упомянутого обновления. Предварительно определенный тег, который записывается последним, может быть считан процессором. Если процессор определяет присутствие этого предварительно определенного тега в средстве памяти, то процессор может сделать вывод, что операция обновления была полностью завершена.The latest update version preferably contains a plurality of pages, each page having a unique tag, and the processor is designed to update the last updated version of said data set and write a predetermined tag to a predetermined one of the many pages in said memory medium as the last stage of the mentioned update. The predefined tag that is written last can be read by the processor. If the processor determines the presence of this predefined tag in the memory means, then the processor can conclude that the update operation has been completely completed.

Применение таких тегов обеспечивает несколько новых возможностей. Например, по меньшей мере один из тегов может включать в себя дополнительные данные в отношении указания принадлежности и прав использования, причем процессор предназначен для распознавания принадлежности и прав использования из этих дополнительных данных.The use of such tags provides several new features. For example, at least one of the tags may include additional information regarding the indication of ownership and rights of use, the processor being designed to recognize ownership and rights of use from this additional data.

Права использования могут отличаться для различных частей набора данных, и процессор может быть предназначен для распознавания этих различных прав использования для этих различных частей.Use rights may vary for different parts of the data set, and the processor may be designed to recognize these different use rights for these different parts.

Процессор предпочтительно предназначен для анализа значения тегов и может иметь доступ к версиям набора данных только посредством ссылки через значения тегов. Доступ к различным версиям набора данных, таким образом, не управляется обычным программным счетчиком, а значениями тегов. Другими словами, память стала ассоциативной памятью.The processor is preferably designed to analyze tag values and can only access versions of the data set by reference through tag values. Access to different versions of the data set is thus not controlled by a regular software counter, but by tag values. In other words, memory has become associative memory.

В последнем варианте выполнения процессор предпочтительно содержит центральный процессорный блок и отдельный блок управления памятью, в котором значения тегов известны только блоку управления памятью. Далее, пространство физических адресов средства памяти не включено в адресное пространство центрального процессорного блока, особенно не включено в адресное пространство, где хранятся прикладная программа или программные команды операционной системы. Таким образом может быть получена дополнительная защита против “зондирования”. Для того чтобы реализовать эту потенциальную защиту, блок управления памятью может предоставлять центральному процессорному блоку дополнительные интерфейсные функциональные возможности адресным регистром размера тега.In the latter embodiment, the processor preferably comprises a central processing unit and a separate memory management unit, in which tag values are known only to the memory management unit. Further, the physical address space of the memory means is not included in the address space of the central processing unit, especially not included in the address space where the application program or program instructions of the operating system are stored. In this way, additional protection against “sensing” can be obtained. In order to realize this potential protection, the memory control unit may provide the central processing unit with additional interface functionality with an address register of tag size.

Для того чтобы повысить безопасность хранимых данных, блок управления памятью может кодировать теги криптографическим ключом перед записью их в память, причем криптографический ключ известен только блоку управления памятью. Такой криптографический ключ может относиться к криптографической односторонней функции.In order to increase the security of the stored data, the memory management unit can encode the tags with a cryptographic key before writing them to the memory, and the cryptographic key is known only to the memory management unit. Such a cryptographic key may refer to a cryptographic one-way function.

Настоящее изобретение также относится к способу, как заявлено в п.13.The present invention also relates to a method as claimed in paragraph 13.

(b) хранения последней по времени обновления версии упомянутого набора данных во второй отдельной области памяти, в котором упомянутая вторая область памяти включает в себя второй тег для однозначной идентификации упомянутой последней по времени обновления версии.(b) storing the latest update version of said data set in a second separate memory area in which said second memory area includes a second tag for uniquely identifying said latest update version.

Краткое описание чертежейBrief Description of the Drawings

Настоящее изобретение ниже подробно описывается с ссылкой на несколько чертежей, которые предназначены только для иллюстрации настоящего изобретения, а не для ограничения его объема.The present invention is described in detail below with reference to several drawings, which are intended only to illustrate the present invention, and not to limit its scope.

На фиг.1 представлен пример варианта выполнения в соответствии с настоящим изобретением.Figure 1 presents an example of an embodiment in accordance with the present invention.

На фиг.2 представлено возможное распределение памяти в соответствии с настоящим изобретением.Figure 2 shows a possible memory allocation in accordance with the present invention.

На фиг.3 представлено содержимое страниц памяти в возможном варианте выполнения устройства в соответствии с фиг.2.Figure 3 presents the contents of the memory pages in a possible embodiment of the device in accordance with figure 2.

На фиг.4 изображен способ в соответствии с настоящим изобретением.Figure 4 shows the method in accordance with the present invention.

На фиг.5 представлено возможное устройство блока управления памятью в соответствии с настоящим изобретением.Figure 5 presents a possible device of the memory control unit in accordance with the present invention.

Описание предпочтительного варианта выполненияDescription of the preferred embodiment

На фиг.1 представлено одно возможное устройство в соответствии с настоящим изобретением. Центральный процессорный блок 2 подсоединен к средству 12 ввода/вывода и к памяти, которая может содержать ПЗУ 6, ОЗУ 8 и энергонезависимую память 10. Блок 4 управления памятью может быть выполнен отдельно или внутри центрального процессорного блока 2. Блок 4 управления предназначен для выполнения функций памяти, которые имеют отношение к энергонезависимой памяти 10, а также предпочтительно к другим секциям памяти - ПЗУ 6 и ОЗУ 8. Вариант выполнения, показанный на фиг.1, относится ко всем видам систем управления хранением данных. Изобретение, однако, особенно полезно в отношении хранения данных в энергонезависимых кремниевых устройствах, а не на жестких дисках. Важные применения относятся к области встроенных компьютерных систем и к однокристальным компьютерам, таким как смарт-карты (интеллектуальные карточки).Figure 1 presents one possible device in accordance with the present invention. The central processing unit 2 is connected to the input / output means 12 and to the memory, which may contain ROM 6, RAM 8 and non-volatile memory 10. The memory management unit 4 can be performed separately or inside the central processing unit 2. The control unit 4 is designed to perform functions memory, which are related to non-volatile memory 10, and also preferably to other sections of memory - ROM 6 and RAM 8. The embodiment shown in figure 1, applies to all types of storage management systems. The invention, however, is particularly useful with respect to data storage in non-volatile silicon devices, and not on hard disks. Important applications relate to embedded computer systems and single-chip computers, such as smart cards (smart cards).

На фиг.2 показано одно возможное устройство хранения данных в памяти в соответствии с настоящим изобретением. Энергонезависимая память 10 данных может быть разделена на блоки хранения. Здесь эти блоки хранения в памяти называются “страницы”. Удобно, если эти страницы будут одинакового размера, например равные размерности “числовой шины” в кремниевых устройствах, используемых для реализации памяти. Страницы, однако, могут быть с другими размерами. Содержимое памяти управляется блоком 4 управления памятью постранично: распределение, обновление и освобождение памяти для хранения данных прикладных программ включает в себя управление одной или несколькими страницами.Figure 2 shows one possible memory storage device in accordance with the present invention. Non-volatile data memory 10 can be divided into storage units. Here, these in-memory storage units are called “pages”. It is convenient if these pages are the same size, for example, equal to the dimensions of the “numerical bus" in silicon devices used to implement memory. Pages, however, may be of different sizes. The contents of the memory are controlled by the memory management unit 4 per page: the allocation, updating and freeing of memory for storing application program data includes the management of one or more pages.

Память содержит различные генерации (или версии) набора элементов данных прикладных программ. Каждая генерация может храниться на одной или нескольких страницах. На фиг.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 может, например, относиться к различным версиям программного объекта.The memory contains various generations (or versions) of a set of data elements of application programs. Each generation can be stored on one or several pages. Figure 2 shows the case where the memory includes three different generations k, k + 1, k + 2 of one set of application data elements. The example shows that generation k occupies three pages 1, 2 and 3, generation k + 1 - two pages i, i + 1, and generation k + 2 - two pages n, n + 1. Generation k is the oldest version of the set of application data elements in memory, while generation k + 2 is the latest update version of the set of application data elements. Each of the generations k, k + 1, k + 2 can, for example, refer to different versions of a program object.

Генерации k, k+1 и k+2, как указано, образуют “фрагмент данных”, причем этот термин используется здесь как ссылка на один-единственный набор элементов данных прикладной задачи. Страницы, необходимые для хранения, распределяются по любым ячейкам памяти, которые не заняты страницей, что определяется блоком 4 управления памятью. Различные генерации k, k+1, k+2 фрагмента данных, показанного на фиг.2, могут храниться или могут не храниться в памяти в последовательных ячейках памяти. Блок 4 управления памятью является блоком для принятия решения о том, где хранить различные генерации. Даже страницы в одной генерации нет необходимости хранить в последовательных страницах. Для иллюстрации этого страницы n и n+1 показаны расположенными удаленными друг от друга (показано точками между ними).Generations k, k + 1 and k + 2, as indicated, form a “data fragment”, and this term is used here as a reference to a single set of data elements of an applied problem. The pages required for storage are distributed over any memory cells that are not occupied by the page, which is determined by the memory management unit 4. Various generations k, k + 1, k + 2 of the data fragment shown in FIG. 2 may or may not be stored in memory in successive memory cells. The memory management unit 4 is a unit for deciding where to store the different generations. Even pages in one generation do not need to be stored in consecutive pages. To illustrate this page, n and n + 1 are shown spaced apart from each other (shown by dots between them).

На практике память включает несколько “фрагментов данных”, т.е. несколько наборов генераций различных наборов данных.In practice, memory includes several “data fragments”, i.e. multiple sets of generations of different data sets.

В памяти, организованной и управляемой в соответствии с настоящим изобретением, элементарность обновления обеспечивается основным принципом управления, выполняемым блоком 4 управления памятью. Если данные хранятся в памяти, то данные, связанные с версией набора элементов прикладных данных, никогда не модифицируются в одной и той же области памяти. Другими словами, один раз созданная страница никогда не модифицируется. Когда последний обновленный набор элементов прикладных данных требует изменения в соответствии с прикладной программой, работающей на центральном процессорном блоке 2, новая область памяти, например новый набор страниц, распределяется блоком 4 управления памятью. В эту новую область памяти блоком 4 управления памятью заносятся любые измененные значения вместе с значениями элементов данных набора элементов данных прикладных задач, которые не были изменены. Таким образом, память 10 в любой момент времени содержит по меньшей мере одну согласованную, достоверную версию фрагмента данных.In the memory organized and managed in accordance with the present invention, the elementary nature of the update is provided by the basic control principle performed by the memory control unit 4. If the data is stored in memory, then the data associated with the version of the set of application data elements is never modified in the same memory area. In other words, a page once created is never modified. When the last updated set of application data elements requires a change in accordance with the application program running on the central processing unit 2, a new memory area, for example a new set of pages, is allocated by the memory management unit 4. Any changed values are entered into this new memory area by the memory management unit 4 along with the values of the data elements of the set of application data elements that have not been changed. Thus, the memory 10 at any time contains at least one consistent, reliable version of the data fragment.

Такая операция обновления может, например, относиться к смарт-карте. Хотя обновление данных в смарт-карте занимает только очень короткий промежуток времени (например, примерно 3 мс), существует небольшая вероятность, что смарт-карта будет вынута из терминала связи до завершения финансовой операции с терминалом. Таким образом, обновление может быть прервано до его завершения. Если это случится, по меньшей мере последняя обновленная версия все же будет присутствовать в памяти смарт-карты.Such an update operation may, for example, relate to a smart card. Although updating the data in the smart card takes only a very short period of time (for example, about 3 ms), there is little chance that the smart card will be removed from the communication terminal before the financial transaction with the terminal is completed. Thus, the update can be interrupted before it is completed. If this happens, at least the latest updated version will still be present in the memory of the smart card.

В одном варианте выполнения, после завершения обновления набора данных, блок 4 управления памятью освобождает область памяти, хранящую самую старую версию набора данных. Блок 4 управления памятью может, например, управлять присутствием не более 10 версий одного набора элементов данных прикладной задачи. При практической реализации прикладная программа, работающая на центральном процессорном блоке 2, взаимодействует с блоком 4 управления памятью, чтобы управлять процессом обновления ее данных, например указывая завершение обновления. Прикладная программа сообщает блоку 4 управления памятью о завершении обновления, после чего блок 4 управления памятью завершает операции записи в память 10. Такая передача сигналов при процессе обновления является обычной в системах обработки финансовых операций.In one embodiment, after the update of the data set is completed, the memory management unit 4 frees a memory area storing the oldest version of the data set. The memory management unit 4 can, for example, control the presence of no more than 10 versions of one set of data elements of the application. In practical implementation, an application program running on the central processing unit 2 interacts with the memory management unit 4 to control the process of updating its data, for example, indicating the completion of the update. The application program informs the memory management unit 4 of the completion of the update, after which the memory management unit 4 completes the write operations to the memory 10. Such signal transmission during the update process is common in financial processing systems.

Когда несколько версий набора элементов данных прикладных задач присутствуют в памяти, предыстория модификации данных может анализироваться посредством блока 4 управления памятью. Блок 4 управления памятью выполняет это посредством обеспечения средства для проверки, но не модифицирования, прикладной программой, работающей на центральном процессорном блоке 2, значений данных в предыдущих версиях.When several versions of the set of application data items are present in the memory, the history of the data modification can be analyzed by the memory management unit 4. The memory management unit 4 accomplishes this by providing means for checking, but not modifying, with an application running on the central processing unit 2, data values in previous versions.

На фиг.3 изображена возможная структура страницы памяти в соответствии с настоящим изобретением. Предполагается, что память разделена на страницы. На фиг.3 показаны две страницы i, i+1. Каждая страница i, i+1 содержит данные прикладной программы и тег i, i+1. Значение тега предпочтительно состоит из трех частей: “идентификатора chid фрагмента”, номера gеn# генерации и номера рg# страницы. Идентификатор фрагмента служит в качестве однозначной ссылки на программную единицу хранимых данных. Счетчик gеn# генераций определяет номер версии хранимых данных. По меньшей мере две генерации указываются счетчиками gеn# генераций. Счетчик рg# страниц обозначает номер страницы, рассматриваемой в генерации набора программных данных, к которым принадлежит страница. Счетчик рg# страниц действительно позволяет, чтобы данные генерации набора данных хранились как многочисленное количество страниц.Figure 3 shows a possible structure of a memory page in accordance with the present invention. It is assumed that the memory is divided into pages. Figure 3 shows two pages i, i + 1. Each page i, i + 1 contains the data of the application program and the tag i, i + 1. The tag value preferably consists of three parts: the “identifier of the chid fragment”, the generation number # # and the page number #. The fragment identifier serves as a unique reference to the program unit of the stored data. The counter # generations determines the version number of the stored data. At least two generations are indicated by counters of gen # generations. The pg # page counter indicates the page number considered in generating the set of program data to which the page belongs. The pg # page counter really allows data set generation data to be stored as multiple pages.

В одной конкретной реализации изобретения значение тега хранится в памяти с использованием специального кодирования, например используя избыточность, например, с проверочным количеством битов, установленных в единицу. Это специальное кодирование используется блоком 4 управления памятью для обнаружения корректных/некорректных операций записи данных. Если только проверенное количество битов определяется равными единице (или высокому уровню), то блок 4 управления памятью принимает решение, что значение тега достоверное. Если это проверенное количество битов не является установленным в единицу, то блок 4 управления памятью принимает решение, что значение тега недостоверное. Это может быть вызвано, например, прерыванием питания, подаваемого на запоминающее устройство, например когда пользователь смарт-карты удаляет свою смарт-карту из терминала до завершения финансовой операции.In one particular implementation of the invention, the tag value is stored in memory using special encoding, for example using redundancy, for example, with a check number of bits set to one. This special encoding is used by the memory management unit 4 to detect correct / incorrect data write operations. If only the checked number of bits is determined to be equal to one (or a high level), then the memory control unit 4 decides that the tag value is reliable. If this checked number of bits is not set to one, then the memory management unit 4 decides that the tag value is invalid. This may be caused, for example, by interruption of the power supplied to the storage device, for example, when a smart card user removes his smart card from the terminal before the financial transaction is completed.

В таком варианте выполнения, перед удалением самой старой генерации набора данных, блок 4 управления памятью определяет достоверность последней по времени обновления генерации. Конкретный способ кодирования тега может быть определен из физических характеристик используемого кремниевого запоминающего устройства. Он должен быть выбран таким, чтобы иметь очень высокую вероятность приведения к недействительному кодированию, если это запоминающее устройство не сможет записать страницу полностью. В зависимости от конструкции кристалла памяти (т.е. используемой транзисторной технологии) перед записью новых данных на страницу некоторые устройства памяти сначала заменяют значения всех ячеек памяти заданной страницы либо нулями, либо единицами. Поэтому, как указано выше, иногда лучше проконтролировать, что проверенное количество битов в теге равно единице, тогда как в других случаях может быть лучше проконтролировать наличие проверенного количества битов, равных нулю. Затем, если при контроле тег определен корректным, то это вопрос общеизвестной вероятности, так же ли правильно или нет записано содержание остальной части страницы, относящейся к тегу.In such an embodiment, before deleting the oldest generation of the data set, the memory control unit 4 determines the reliability of the latest generation update. A specific tag encoding method may be determined from the physical characteristics of the silicon storage device used. It must be chosen so as to have a very high probability of invalidation if it is not possible for this storage device to write the page completely. Depending on the design of the memory chip (i.e., the transistor technology used), before writing new data to a page, some memory devices first replace the values of all memory cells of a given page with either zeros or ones. Therefore, as indicated above, it is sometimes better to check that the checked number of bits in a tag is one, while in other cases it may be better to check for a checked number of bits equal to zero. Then, if during the control the tag is determined to be correct, then it is a matter of well-known probability whether the contents of the rest of the page related to the tag are recorded correctly or not.

На фиг.4 суммирована последовательность операций, выполняемых блоком 4 управления памятью в одном варианте выполнения изобретения при обновлении версии хранимых прикладных данных, предписываемых прикладной программой, работающей на центральном процессорном блоке 2:Figure 4 summarizes the sequence of operations performed by the unit 4 memory management in one embodiment of the invention when updating the version of the stored application data prescribed by the application program running on the Central processing unit 2:

а) распределение нового набора страниц в памяти 10, этап 40;a) the distribution of a new set of pages in memory 10, step 40;

b) определение значения тега каждой новой страницы нового набора страниц, этап 42;b) determining the tag value of each new page of the new page set, step 42;

с) запись постранично данных прикладной программы в ее измененной форме и соответствующих тегов в память 10, этап 44;c) writing the page data of the application program in its modified form and the corresponding tags into memory 10, step 44;

d) контроль для каждой записанной страницы, что результат корректный, этап 46;d) checking for each recorded page that the result is correct, step 46;

этот этап контроля может быть выполнен посредством контроля значения тега, как указано выше;this monitoring step may be performed by monitoring the tag value as described above;

е) освобождение страниц, которые содержат самую старую генерацию набора данных, этап 48.e) releasing pages that contain the oldest data set generation, step 48.

Значение тега для каждой новой страницы определяется присвоенным идентификатором chid фрагмента, значением номера gеn# генерации последней по времени обновления версии, увеличенным на 1, и номером рg# страницы.The tag value for each new page is determined by the assigned chid fragment identifier, the value of the #gene # generation number of the latest version update time increased by 1, and the pg # page number.

Страницы предпочтительно записываются в память 10 постранично, как указано на этапе с) выше. Предпочтительно, чтобы одна предварительно определенная страница из набора страниц для одного набора данных записывалась последней, тогда как все другие страницы могут записываться в любом порядке. Удобно, что предварительно определенной страницей является первая страница нового набора страниц. На практике любые страницы могут записываться частями. Например, значение тега страницы может быть записано отдельно от данных прикладной программы на странице. Предпочтительно, однако, чтобы тег предварительно определенной страницы, которая является последней страницей для записи, записывался на последнем этапе операции обновления. Это ясное указание на то, что операция обновления завершена. До тех пор пока этот тег предварительно определенной страницы не будет записан в память, данные прикладной программы, записанные в любую из новых страниц, также могут модифицироваться.The pages are preferably written to the memory 10 per page, as indicated in step c) above. Preferably, one predefined page from a set of pages for one data set is recorded last, while all other pages can be written in any order. Conveniently, the predefined page is the first page of a new set of pages. In practice, any pages can be written in parts. For example, the value of the page tag can be written separately from the application data on the page. Preferably, however, the tag of the predetermined page, which is the last page for recording, is recorded in the last step of the update operation. This is a clear indication that the update operation is complete. Until this tag of the predetermined page is stored in memory, application data recorded in any of the new pages can also be modified.

Однако необходимо заметить, что частичные записи и модификации данных страницы могут уменьшить пользу, получаемую от изобретения, т.е. общее время записи может увеличиться. Запись в энергонезависимую память 10, как ППЗУ, занимает относительно продолжительное время - в настоящее время примерно 3 мс. Поэтому лучше всего записать один раз в память 10, т.е. когда весь модифицированный набор данных будет готов для сохранения, а не записывать модифицированные части набора данных в последовательные периоды времени. Однако, если время позволяет, как часто бывает, в этой области техники обычно записывают модифицированные части набора данных в энергонезависимую память. Это имеет результатом, однако, увеличенное число операций записи, что приводит к излишнему износу энергонезависимой памяти 10.However, it should be noted that partial recordings and modifications to the page data can reduce the benefit gained from the invention, i.e. total recording time may increase. Writing to non-volatile memory 10, as an EPROM, takes a relatively long time - currently about 3 ms. Therefore, it is best to write once to memory 10, i.e. when the entire modified dataset is ready to be saved, rather than writing the modified parts of the dataset in successive periods of time. However, if time permits, as often happens, in this technical field the modified parts of the data set are usually written to non-volatile memory. This results, however, in an increased number of write operations, which leads to excessive wear of the non-volatile memory 10.

Поэтому, в соответствии с вариантом выполнения изобретения предпочтительно, чтобы все этапы, необходимые для полного изменения набора данных, выполнялись на рабочей копии набора данных в ОЗУ 8 перед записью измененного набора данных в энергонезависимую память 10.Therefore, in accordance with an embodiment of the invention, it is preferable that all steps necessary to completely change the data set are performed on a working copy of the data set in RAM 8 before writing the modified data set to non-volatile memory 10.

Запись значения тега предварительно определенной страницы в качестве последней операции в сеансе обновления является полезной мерой при реализации элементарности многостраничного обновления. Наличие или отсутствие достоверного тега в предварительно определенной странице затем служит в качестве флага “фиксации изменений”: достоверный тег в предварительно определенной странице указывает как на достоверность записанной страницы, так и на окончательное завершение всего процесса обновления.Recording the tag value of a predefined page as the last operation in an update session is a useful measure when implementing the elementary nature of a multi-page update. The presence or absence of a valid tag in a predefined page then serves as the “commit changes” flag: a valid tag in a predefined page indicates both the veracity of the recorded page and the final completion of the entire update process.

Хранение в памяти данных прикладной программы может быть выполнено еще более надежным, если данные, хранимые в памяти, могут быть адресованы физически только приложением, использующим идентификатор chid фрагмента. Память 10 тогда становится “ассоциативной памятью”.Storing the data of the application program in memory can be made even more reliable if the data stored in the memory can only be physically addressed by the application using the chid identifier of the fragment. Memory 10 then becomes “associative memory”.

Хотя блок 4 управления памятью и центральный процессорный блок 2 могут быть в одном физическом процессорном блоке, особенно выгодно для этого последнего признака, чтобы центральный процессорный блок 2 и блок 4 управления памятью были двумя физически отдельными блоками, предназначенными для связи друг с другом. Необходимо понять, что термин “физически отдельные” может все же ссылаться на блоки, производимые на одном кристалле. Тогда пространство физических адресов памяти 10 не включается в адресное пространство центрального процессорного блока 2, в особенности не включается в адресное пространство, где хранятся прикладная программа или программные команды операционной системы. Если затем блок 4 управления памятью также выполняется защищенным от несанкционированного вмешательства (как в смарт-карте), то достигается дополнительная защита от “зондирования”.Although the memory control unit 4 and the central processing unit 2 can be in the same physical processor unit, it is particularly advantageous for this last feature that the central processing unit 2 and the memory management unit 4 are two physically separate units for communicating with each other. It must be understood that the term “physically separate” can still refer to blocks produced on a single chip. Then, the space of physical addresses of the memory 10 is not included in the address space of the central processor unit 2, in particular, it is not included in the address space where the application program or program instructions of the operating system are stored. If then the memory management unit 4 is also protected against unauthorized interference (as in a smart card), then additional protection against “sensing” is achieved.

Для реализации этой потенциальной дополнительной защиты, например, для смарт-карт блок 4 управления памятью может предусматривать дополнительную интерфейсную функциональность, например, включая в состав адресный регистр 54 размера тега и регистр 52 данных размера данных страницы (см. фиг.5). Этот интерфейс 52, 54 затем дополняется логическим блоком 50, чтобы выполнять логические функции для просмотра и сопоставления тегов, хранимых в памяти 10. Другими словами, логический блок 50 может считывать теги из памяти 10 и адресовать память 10 в результате анализа значения тегов.To realize this potential additional protection, for example, for smart cards, the memory management unit 4 may provide additional interface functionality, for example, including an address register 54 of tag size and a register 52 of data size of page data (see FIG. 5). This interface 52, 54 is then complemented by a logic unit 50 to perform logical functions for viewing and matching tags stored in the memory 10. In other words, the logic unit 50 can read the tags from memory 10 and address the memory 10 by analyzing the value of the tags.

Интерфейс 52, 54 и связанный с ним логический блок 50 могут быть реализованы аппаратными средствами.The interface 52, 54 and its associated logic unit 50 may be implemented in hardware.

Кроме того, специфические аппаратные схемы 56, 58 присутствуют соответственно в качестве интерфейсов между памятью 6, 8, 10 и логическим блоком 50 и между центральным процессорным блоком 2 и логическим блоком 50. Логический блок 50 может предусматривать специализированный адресный счетчик, объединенный с логической схемой сравнения тегов. Различные аппаратные схемы могут содержать логические схемы ассоциативной памяти, реализованные по меньшей мере на страницу памяти для хранения битов, резервируемых для размещения значения тега.In addition, specific hardware circuits 56, 58 are present respectively as interfaces between the memory 6, 8, 10 and the logic unit 50 and between the central processing unit 2 and the logic unit 50. The logic unit 50 may include a dedicated address counter combined with a comparison logic tags. Various hardware circuits may comprise associative memory logic implemented on at least a memory page for storing bits reserved for hosting a tag value.

Дополнительная выгода от безопасности может быть получена с памятью, управляемой в соответствии с изобретением, когда, в дополнение к специальному кодированию для обнаружения, значение тега дополнительно кодируется с использованием криптографических методов. Такое криптографическое кодирование тега предназначается для скрытия данных прикладных задач, относящихся к структурной информации, подобной идентификатору chid фрагмента, номеру gеn# генерации, номеру рg# страницы, содержащимся в значениях тега. Криптографическое кодирование может быть выполнено любыми методами кодирования, известными специалистам в этой области техники. Одним полезным способом является использование секретных криптографических односторонних функций, в которых этапы односторонней функции связаны с секретным ключом, известным только блоку 4 управления памятью. Таким образом, блок 4 управления памятью может распознавать предыдущую генерацию применением односторонней функции один или несколько раз к кодированному значению тега этой предыдущей генерации, а затем сравнением результирующего значения тега со значением тега последней по времени обновления генерации. Это препятствует восстановлению данных прикладной программы из злонамеренного принудительного “дампа” содержимого запоминающего устройства.Additional security benefits can be obtained with memory managed in accordance with the invention when, in addition to special encoding for detection, the tag value is further encoded using cryptographic techniques. Such cryptographic tag coding is intended to hide application data related to structural information, such as the identifier of the chid fragment, the generation number # #, the page number # contained in the tag values. Cryptographic coding can be performed by any coding methods known to those skilled in the art. One useful way is to use secret cryptographic one-way functions in which the steps of the one-way function are associated with a secret key known only to the memory management unit 4. Thus, the memory management unit 4 can recognize the previous generation by applying a one-way function one or more times to the encoded tag value of this previous generation, and then comparing the resulting tag value with the tag value of the latest generation update time. This prevents the recovery of application data from a maliciously forced “dump” of the contents of the storage device.

Теговая структура памяти, как описано выше, обеспечивает несколько полезных возможностей. Например, тег может включать в себя дополнительные данные для указания принадлежности связанных данных прикладной программы. Кроме того, такие дополнительные данные в значении тега могут указывать права использования или наборы прав использования для различных пользователей данных прикладной программы. Такие различные права использования могут, например, быть связаны с различными условиями доступа к различным частям данных (прикладной) программы в памяти 10. Одна часть данных (прикладной) программы может, например, быть определена только для считывания, тогда как другая часть данных прикладной программы может быть определена с доступом к считыванию/записи.The tagged memory structure, as described above, provides several useful features. For example, the tag may include additional data to indicate ownership of related application data. In addition, such additional data in the tag value may indicate usage rights or sets of usage rights for various users of application data. Such various rights of use may, for example, be associated with different conditions of access to different parts of the data of the (application) program in the memory 10. One part of the data of the (application) program can, for example, be determined only for reading, while the other part of the data of the application can be defined with read / write access.

Изобретение эффективно обеспечивает регистрацию финансовых операций, хранимых в памяти, так как память включает предысторию обновлений конкретных элементов прикладных данных в виде последовательных генераций.The invention effectively provides the registration of financial transactions stored in memory, since the memory includes a history of updates of specific elements of application data in the form of successive generations.

Как описано выше, дополнительно количество операций записи в запоминающие устройства, управляемые в соответствии с настоящим изобретением, может быть сокращено при использовании описанного механизма регистрации обновления памяти/финансовой операции. Кроме того, уменьшенное количество операций записи, обеспечиваемое изобретением, может приводить к снижению стоимости кремниевого запоминающего устройства в результате продления его срока службы. Повышается безопасность данных, хранимых особенно в энергонезависимой памяти в защищенных от несанкционированного вмешательства однокристальных компьютерах, таких как смарт-карты. Повышение безопасности всецело может быть достигнуто программными мерами. Аппаратные меры, как блок 4 управления памятью, отдельный от центрального процессорного блока 2, могут дополнительно повысить безопасность, но они не являются строго необходимыми.As described above, in addition, the number of write operations to the storage devices controlled in accordance with the present invention can be reduced by using the described memory update / financial transaction registration mechanism. In addition, the reduced number of write operations provided by the invention can lead to a decrease in the cost of the silicon storage device as a result of extending its service life. The security of data stored especially in non-volatile memory in single-chip computers protected against unauthorized interference, such as smart cards, is enhanced. Improving security can be entirely achieved through programmatic measures. Hardware measures, such as a memory management unit 4 separate from the central processing unit 2, can further enhance security, but they are not strictly necessary.

Claims (16)

1. Считываемый компьютером носитель, хранящий структуру данных для обеспечения постоянного хранения набора данных, причем упомянутая структура данных включает (a) по меньшей мере самую старую версию упомянутого набора данных в первой области памяти, причем упомянутый считываемый компьютером носитель включает в себя по меньшей мере один тег для идентификации упомянутой самой старой версии, и (b) по меньшей мере последнюю по времени обновления версию упомянутого набора данных во второй, отличной, области памяти, причем упомянутый считываемый компьютером носитель включает в себя по меньшей мере один тег для идентификации упомянутой последней по времени обновления версии, при этом упомянутая первая область памяти содержит первый набор из одной или более страниц и упомянутая вторая область памяти содержит второй набор из одной или более страниц, причем страница содержит одну или более последовательных ячеек памяти, которыми оперируют как одной единицей во время таких операций с памятью, как назначение, обновление и освобождение памяти данных приложения, отличающийся тем, что каждая страница дополнительно содержит свой собственный тег, указывающий номер (gen#) версии упомянутого набора данных и номер (pg#) страницы упомянутой страницы.1. A computer-readable medium storing a data structure for permanently storing a data set, said data structure including (a) at least the oldest version of said data set in a first memory area, said computer-readable medium including at least one a tag for identifying the oldest version mentioned, and (b) at least the most recent version of the data set in the second, distinct, memory area, whereby the read the computer-readable medium includes at least one tag for identifying said last-time version update, wherein said first memory area contains a first set of one or more pages and said second memory area contains a second set of one or more pages, wherein the page contains one or more consecutive memory cells, which are operated as one unit during such operations with memory as assigning, updating and freeing memory of application data, characterized in that of each page also contains its own tag that specifies the number (gen #) version of said set of data and the number (pg #) pages mentioned page. 2. Считываемый компьютером носитель по п.1, в котором каждый упомянутый тег содержит ссылку (chid) на упомянутый набор данных.2. The computer-readable medium of claim 1, wherein each said tag contains a link (chid) to said data set. 3. Считываемый компьютером носитель по п.1 или 2, в котором каждая страница соответствует одной числовой шине.3. The computer-readable medium of claim 1 or 2, wherein each page corresponds to one numeric bus. 4. Компьютерное устройство, включающее в себя процессор (2;2,4) и по меньшей мере один считываемый компьютером носитель по любому предыдущему пункту, причем упомянутый процессор (2;2,4) предназначен для обработки упомянутой структуры данных.4. A computer device including a processor (2; 2,4) and at least one computer-readable medium according to any preceding paragraph, said processor (2; 2,4) being used to process said data structure. 5. Компьютерное устройство по п.4, в котором процессор (2;2,4) предназначен для записи тегов с избыточностью в отношении их содержимого и после считывания тегов из средства памяти, анализа из упомянутой избыточности, имели ли место или нет ошибки записи.5. The computer device according to claim 4, in which the processor (2; 2,4) is designed to write tags with redundancy in relation to their contents and after reading the tags from the memory means, analyzing from the said redundancy, whether or not write errors have occurred. 6. Компьютерное устройство по п.4 или 5, в котором последняя по времени обновления версия содержит множество страниц, причем каждая страница имеет уникальный тег, и процессор (2;2,4) предназначен для обновления упомянутой последней по времени обновления версии упомянутого набора данных и записи предварительно определенного тега предварительно определенной одной из упомянутого множества страниц в упомянутое средство памяти в качестве последнего этапа упомянутого обновления.6. The computer device according to claim 4 or 5, in which the latest update version contains many pages, each page has a unique tag, and the processor (2; 2,4) is designed to update the last updated version of the mentioned data set and recording a predetermined tag of a predetermined one of said plurality of pages into said memory means as a last step of said updating. 7. Компьютерное устройство по любому из пп.4-6, в котором по меньшей мере один из упомянутых тегов содержит дополнительные данные для указания принадлежности и прав использования и процессор (2;2,4) предназначен для распознавания принадлежности и прав использования из этих дополнительных данных.7. A computer device according to any one of claims 4 to 6, in which at least one of the said tags contains additional data to indicate ownership and rights of use and the processor (2; 2,4) is designed to recognize the ownership and rights of use of these additional data. 8. Компьютерное устройство по п.7, в котором упомянутые права использования отличаются для различных частей набора данных и процессор (2;2,4) предназначен для распознавания различных прав использования для этих различных частей.8. The computer device according to claim 7, wherein said usage rights are different for different parts of the data set and the processor (2; 2,4) is designed to recognize different usage rights for these different parts. 9. Компьютерное устройство по любому из пп.4-8, в котором процессор (2;2,4) предназначен для анализа значений тегов и имеет возможность доступа к упомянутым версиям упомянутого набора данных только посредством ссылки через упомянутые значения тегов.9. A computer device according to any one of claims 4 to 8, in which the processor (2; 2,4) is designed to analyze tag values and has the ability to access said versions of said data set only by reference through said tag values. 10. Компьютерное устройство по п.9, в котором упомянутый процессор содержит центральный процессорный блок (2) и отдельный блок (4) управления памятью и значения тегов известны только блоку (4) управления памятью.10. The computer device according to claim 9, wherein said processor comprises a central processing unit (2) and a separate memory management unit (4) and tag values are known only to the memory management unit (4). 11. Компьютерное устройство по п.10, в котором упомянутый блок (4) управления памятью кодирует теги криптографическим ключом перед их записью на считываемый компьютером носитель, причем упомянутый криптографический ключ известен только блоку (4) управления памятью.11. The computer device of claim 10, wherein said memory management unit (4) encodes the tags with a cryptographic key before being written to a computer readable medium, said cryptographic key being known only to the memory management unit (4). 12. Компьютерное устройство по п.11, в котором упомянутый криптографический ключ относится к криптографической односторонней функции.12. The computer device according to claim 11, wherein said cryptographic key relates to a cryptographic one-way function. 13. Способ обеспечения постоянного хранения набора данных на считываемом компьютером носителе, содержащий этапы (a) хранения самой старой версии упомянутого набора данных в первой области памяти, в котором упомянутый считываемый компьютером носитель включает в себя по меньшей мере один тег для идентификации упомянутой самой старой версии, и (b) хранения последней по времени обновления версии упомянутого набора данных во второй, отличной, области памяти, причем упомянутый считываемый компьютером носитель включает в себя по меньшей мере один тег для идентификации упомянутой последней по времени обновления версии, при этом первая область памяти содержит первый набор из одной или более страниц и упомянутая вторая область памяти содержит второй набор из одной или более страниц, причем страница содержит одну или более последовательных ячеек памяти, которыми оперируют как одной единицей во время таких операций с памятью, как назначение, обновление и освобождение памяти данных приложения, отличающийся тем, что упомянутый способ дополнительно содержит этап обеспечения каждой страницы своим собственным тегом, указывающим номер (gen#) версии упомянутого набора данных и номер (pg#) страницы упомянутой страницы.13. A method for permanently storing a data set on a computer-readable medium, comprising the steps of (a) storing the oldest version of said data set in a first memory area, wherein said computer-readable medium includes at least one tag for identifying said oldest version , and (b) storing the latest update version of said data set in a second different memory area, said computer-readable medium including at least one and a tag for identifying the last updated version of the update, wherein the first memory area contains a first set of one or more pages and said second memory area contains a second set of one or more pages, the page containing one or more consecutive memory cells that are operated on as one unit during such operations with memory as assigning, updating and releasing the memory of application data, characterized in that the said method further comprises the step of providing each pages with their own tag indicating the version number (gen #) of the mentioned data set and the page number (pg #) of the mentioned page. 14. Способ по п.13, включающий дополнительный этап контроля упомянутого хранения на этапе (b) посредством предварительно определенной операции, выполняемой над упомянутым по меньшей мере одним тегом, идентифицирующим упомянутую последнюю по времени обновления версию.14. The method according to item 13, comprising the additional step of monitoring said storage in step (b) by a predetermined operation performed on said at least one tag identifying said latest version of update time. 15. Способ по п.13, в котором упомянутая последняя по времени обновления версия содержит множество страниц, причем каждая страница имеет уникальный тег, и предварительно определенный тег предварительно определенной одной из упомянутого множества страниц сохраняется в качестве последнего этапа на этапе (b), чтобы идентифицировать завершение упомянутого хранения на этапе (b).15. The method according to item 13, in which the last updated version of the version contains many pages, each page having a unique tag, and a predefined tag of a predefined one of the said many pages is stored as the last step in step (b), so that identify the completion of said storage in step (b). 16. Способ по п.13, дополнительно включающий следующий этап после этапа (b): (с) освобождение области памяти, хранящей в ней самую старую версию упомянутого набора данных, если по меньшей мере две версии упомянутого набора данных остаются в упомянутом средстве (10) памяти.16. The method according to item 13, further comprising the following step after step (b): (c) freeing up a memory area storing therein the oldest version of said data set, if at least two versions of said data set remain in said tool (10) ) memory.
RU2002100204/09A 1999-06-10 1999-06-10 Device for storing different versions of data sets in separate memory areas and method for refreshing data sets in memory RU2235356C2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
RU2002100204/09A RU2235356C2 (en) 1999-06-10 1999-06-10 Device for storing different versions of data sets in separate memory areas and method for refreshing data sets in memory

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
RU2002100204/09A RU2235356C2 (en) 1999-06-10 1999-06-10 Device for storing different versions of data sets in separate memory areas and method for refreshing data sets in memory

Related Child Applications (1)

Application Number Title Priority Date Filing Date
RU2004110744/09A Division RU2004110744A (en) 2004-04-08 2004-04-08 STORAGE DEVICE FOR DIFFERENT VERSIONS OF THE DATA SET IN SEPARATE MEMORY AREAS AND METHOD FOR UPDATING THE DATA SET IN MEMORY

Publications (2)

Publication Number Publication Date
RU2002100204A RU2002100204A (en) 2003-07-20
RU2235356C2 true RU2235356C2 (en) 2004-08-27

Family

ID=33412226

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2002100204/09A RU2235356C2 (en) 1999-06-10 1999-06-10 Device for storing different versions of data sets in separate memory areas and method for refreshing data sets in memory

Country Status (1)

Country Link
RU (1) RU2235356C2 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019022631A1 (en) * 2017-07-27 2019-01-31 EMC IP Holding Company LLC Storing data in slices of different sizes within different storage tiers
US11385822B2 (en) 2019-07-31 2022-07-12 EMC IP Holding Company LLC Moving data from a first group of slices to a second group of slices
US11461250B2 (en) 2017-10-26 2022-10-04 EMC IP Holding Company LLC Tuning data storage equipment based on comparing observed I/O statistics with expected I/O statistics which are defined by operating settings that control operation
US11461287B2 (en) 2017-10-26 2022-10-04 EMC IP Holding Company LLC Managing a file system within multiple LUNS while different LUN level policies are applied to the LUNS

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019022631A1 (en) * 2017-07-27 2019-01-31 EMC IP Holding Company LLC Storing data in slices of different sizes within different storage tiers
US11755224B2 (en) 2017-07-27 2023-09-12 EMC IP Holding Company LLC Storing data in slices of different sizes within different storage tiers
US11461250B2 (en) 2017-10-26 2022-10-04 EMC IP Holding Company LLC Tuning data storage equipment based on comparing observed I/O statistics with expected I/O statistics which are defined by operating settings that control operation
US11461287B2 (en) 2017-10-26 2022-10-04 EMC IP Holding Company LLC Managing a file system within multiple LUNS while different LUN level policies are applied to the LUNS
US11385822B2 (en) 2019-07-31 2022-07-12 EMC IP Holding Company LLC Moving data from a first group of slices to a second group of slices

Similar Documents

Publication Publication Date Title
EP1208434B1 (en) Arrangements storing different versions of a set of data in separate memory areas and method for updating a set of data in a memory
US6539453B1 (en) Storage system including means for management of a memory with anti-attrition, and process of anti-attrition management of a memory
EP3866017B1 (en) Security check systems and methods for memory allocations
US6535997B1 (en) Data integrity in smartcard transactions
US20090265403A1 (en) File system
CN108319433B (en) Storage management method for NOR Flash of small-memory single chip microcomputer
US11874741B2 (en) Data recovery method in storage medium, data recovery system, and related device
CN109685190B (en) Power-down protection method and device for IC card
DK1634253T3 (en) Process for writing, updating and allocation of memory used for writing files on a memory carrier, such a smart card
RU2235356C2 (en) Device for storing different versions of data sets in separate memory areas and method for refreshing data sets in memory
EP3274902B1 (en) Modification of data elements using a semantic relationship
JP4047281B2 (en) How to synchronize cache memory with main memory
JP2003036209A (en) Nonvolatile memory and data rewriting method thereof
WO2019007315A1 (en) Data writing method in flash memory device, and device
CN112486723A (en) Data verification method and device, processor and electronic equipment
EP3504627B1 (en) Read operation redirect
CN114328283B (en) Counting address acquisition method, counting method, device, equipment and storage medium
US20230161740A1 (en) A device, a method of performing a file transaction, and a method of performing an access operation
RU2002100204A (en) STORAGE DEVICE FOR DIFFERENT VERSIONS OF THE DATA SET IN SEPARATE MEMORY AREAS AND METHOD FOR UPDATING THE DATA SET IN MEMORY
CN117215488A (en) Data storage method and device for NFC (near field communication) secure element and NFC secure element
CN118035997A (en) Method and device for recovering data in storage device
CN114297732A (en) Monotonic counter, reading method, counting method, device, apparatus and medium
CN115114182A (en) Method, system, terminal and storage medium for improving garbage recovery precision