RU2269814C2 - Способ надежной записи указателя для кольцевой памяти - Google Patents
Способ надежной записи указателя для кольцевой памяти Download PDFInfo
- Publication number
- RU2269814C2 RU2269814C2 RU2001132631/09A RU2001132631A RU2269814C2 RU 2269814 C2 RU2269814 C2 RU 2269814C2 RU 2001132631/09 A RU2001132631/09 A RU 2001132631/09A RU 2001132631 A RU2001132631 A RU 2001132631A RU 2269814 C2 RU2269814 C2 RU 2269814C2
- Authority
- RU
- Russia
- Prior art keywords
- pointer
- cell
- memory
- data record
- memory cell
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 39
- GNFTZDOKVXKIBK-UHFFFAOYSA-N 3-(2-methoxyethoxy)benzohydrazide Chemical compound COCCOC1=CC=CC(C(=O)NN)=C1 GNFTZDOKVXKIBK-UHFFFAOYSA-N 0.000 claims 1
- 238000005516 engineering process Methods 0.000 abstract 1
- 239000000126 substance Substances 0.000 abstract 1
- 125000004122 cyclic group Chemical group 0.000 description 7
- 238000007792 addition Methods 0.000 description 4
- 230000000295 complement effect Effects 0.000 description 4
- 230000008520 organization Effects 0.000 description 4
- 230000007257 malfunction Effects 0.000 description 2
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F5/00—Methods or arrangements for data conversion without changing the order or content of the data handled
- G06F5/06—Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
- G06F5/10—Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor having a sequence of storage locations each being individually accessible for both enqueue and dequeue operations, e.g. using random access memory
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
- G11C16/102—External programming circuits, e.g. EPROM programmers; In-circuit programming or reprogramming; EPROM emulators
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- For Increasing The Reliability Of Semiconductor Memories (AREA)
- Read Only Memory (AREA)
- Mechanical Pencils And Projecting And Retracting Systems Therefor, And Multi-System Writing Instruments (AREA)
- Information Transfer Systems (AREA)
- Electrophonic Musical Instruments (AREA)
Abstract
Изобретение относится к кольцевой памяти. Техническим результатом является разработка способа и кольцевой памяти для надежной записи указателя. Для этого в ячейку памяти, содержащую наиболее старую запись данных, записывают новую запись данных и затем обновляют указатель, при этом этот указатель имеет первый указатель (P1, P1*) и второй указатель (Р2, Р2*), являющийся избыточным по отношению к первому указателю, каждый из этих указателей имеет контрольное число в виде дополнительного или обратного кода самого этого указателя. 2 н. и 6 з.п. ф-лы, 4 ил.
Description
Настоящее изобретение относится к способу надежной записи указателя для кольцевой памяти, а также к такой кольцевой памяти, имеющей ячейку хранения указателей, и к карточке со встроенной микросхемой (чип-карте), имеющей подобную кольцевую память.
Циклическая память, называемая также кольцевой памятью, содержимое которой можно назвать циклическим файлом или иным аналогичным понятием, может быть выполнена в виде виртуальной памяти или в виде аппаратного (физического) запоминающего устройства. Кольцевая память представляет собой прежде всего типичную форму организации электрически стираемого программируемого постоянного запоминающего устройства (ЭСППЗУ), к которому главным образом относится как настоящее изобретение, так и описание примеров его осуществления, хотя в целом изобретение может найти применение для любых типов кольцевой памяти.
Кольцевая память имеет заданное количество ячеек, при этом содержащийся в этой кольцевой памяти циклический файл имеет целый ряд записей данных, каждая из которых хранится в одной ячейке. Записи данных записываются в кольцевую память циклически одна за другой, при этом новой записью данных каждый раз перезаписывается наиболее старая из сохраненных в такой памяти записей данных. Если ячейки кольцевой памяти пронумеровать последовательно цифрами 1, 2, ..., n, то ячейка под номером "1" циклически следует за ячейкой под номером "n". При этом ячейка памяти, в которой находится текущая или наиболее новая запись данных, адресуется указателем (пойнтером). По мере последовательной записи записей данных содержащийся в указателе номер (т.е. адрес) ячейки памяти каждый раз циклически увеличивается на единицу.
Для пояснения проблемы, на решение которой направлено настоящее изобретение, ниже более подробно рассмотрен процесс записи новой записи данных в заданную ячейку, выполненной в виде ЭСППЗУ кольцевой памяти. Подобные ЭСППЗУ используются, в частности, в чип-картах, и поэтому описанная ниже проблематика относится главным образом к чип-картам.
Для записи новой записи данных в заданную ячейку памяти, прежде всего в ячейку, в которой находится наиболее старая из хранящихся в кольцевой памяти запись данных, сначала необходимо стереть содержимое этой заданной ячейки, чтобы в нее можно было записать новые данные. Обычно с этой целью последовательно сначала увеличивают значение указателя на единицу, а затем записывают новую запись данных. Если же такой процесс записи прерывается по какой-либо причине, например в результате нарушения электроснабжения, то информация, содержащаяся в этой новой записи данных, а также информация, содержащаяся в указателе, могут быть потеряны, при этом потеря указателя может иметь даже более нежелательные последствия, поскольку в этом случае будет отсутствовать информация о той ячейке, в которой должна быть сохранена следующая запись данных. Еще одна проблема, связанная с содержащейся в указателе информацией, состоит в возможном искажении этой информации, например в процессе обновления указателя.
Из уровня техники известен целый ряд решений, направленных на исключение такого рода ошибок в кольцевой памяти. Так, например, в FR-А 2699704 описан способ обновления хранящихся в ЭСППЗУ данных, предусматривающий сохранение для каждой отдельной записи данных многоразрядного флага. При необходимости записать на место "старой" записи данных новую запись данных сначала эта старая запись вместе с ее флагом стираются. Затем на место этой старой записи данных записывается новая запись данных, а относящемуся к ней флагу присваивается значение, указывающее на происходящее в данный момент обновление данных. После этого флаг записи данных, которая до этого момента была текущей записью данных, устанавливается на значение "старый", а указывающий на происходящее в данный момент обновление флаг новой записи данных устанавливается на значение "текущий". Такой способ является трудоемким и требует большого объема памяти. Если же в процессе изменения значения флага после сохранения новой записи данных произойдет сбой в работе, то невозможно будет определить текущую запись данных, т.е. установится неопределенное состояние.
Из ЕР-А 0398545 известна кольцевая память, в которой для каждой записи данных предусмотрен состоящий из одного бита флаг. В процессе записи в кольцевую память нового блока данных по окончании собственно процесса записи данных новая запись данных маркируется идентифицирующим текущую запись данных флагом, например флагом со значением "1". После этого значение флага, относящегося к записи данных, которая до этого момента была текущей записью данных, изменяется с "1" на "0". Таким образом, на этой промежуточной стадии одновременно два флага имеют значение "1". Подобную дилемму, связанную с неопределенностью флага-указателя текущей записи данных, пытаются решить путем задания определенных правил, согласно которым из нескольких флагов со значением "1" за достоверный флаг принимается флаг со значением "верхний". Поскольку флаги длиной один бит в любом случае особо подвержены ошибкам записи, в процессе обновления такого флага-указателя легко может произойти искажение его значения.
Из DE-А 19650993 известна кольцевая память, у которой предусмотрена дополнительная ячейка, наличие которой невозможно определить извне по отношению к ее интерфейсу. В процессе записи данных в такую память всегда перезаписывается наиболее старая из хранящихся в ней запись данных, после чего указатель обновляется таким образом, чтобы он указывал на новую запись данных. В этом случае при возникновении сбоя теряется только информация, содержащаяся в наиболее старой записи данных, что, однако, невозможно обнаружить извне интерфейса. В этой системе памяти также не исключена возможность искажения содержащейся в самом указателе информации в результате возникновения ошибок при записи этого указателя.
Исходя из вышеизложенного, в основу настоящего изобретения была положена задача разработать способ надежной записи указателя. Еще одна задача изобретения состояла в том, чтобы разработать кольцевую память с надежной записью указателя.
Указанная задача решается в способе записи указателя содержащихся в отдельных ячейках кольцевой памяти записей данных. Решение этой задачи в соответствии с изобретением достигается тем, что дополнительно к первому, т.е. единственному, указателю записывают второй указатель, являющийся избыточным по отношению к первому указателю, и каждый из указанных первого и второго указателей дополняют контрольным числом. При этом процесс определения, соответственно проверки текущего указателя включает следующие операции:
а) на основании контрольного числа проверяют первый указатель,
б) при корректности первого указателя его сравнивают со вторым указателем,
в) при наличии выявленного на стадии б) несоответствия между обоими указателями копируют первый указатель с получением нового второго указателя,
г) при некорректности первого указателя на основании контрольного числа проверяют второй указатель и
д) при установлении на стадии г) корректности второго указателя на место первого указателя перезаписывают значение указателя.
Благодаря записи контрольного числа указателя процесс коррекции сводится лишь к одной единственной операции записи, т.е. к копированию корректного указателя на место некорректного.
Согласно наиболее предпочтительному варианту первый и второй, избыточный, указатель записывают отдельно один от другого, прежде всего дифференцированно во времени, чтобы при возможном возникновении сбоя в процессе записи обоих указателей по меньшей мере один из них содержал корректную информацию.
Обновлять указатель предпочтительно на первой стадии с одновременным формированием относящегося к первому указателю контрольного числа. После сравнения этого первого, нового указателя со вторым указателем второй указатель при необходимости создают в виде копии первого указателя.
При возникновении сбоя в процессе записи первого и второго указателя, например при нарушении электроснабжения в процессе записи информации в ЭСППЗУ, возможно, например, возникновение ситуации, при которой первый указатель будет уже обновлен, а второй указатель будет еще иметь старое значение. В зависимости от момента возникновения сбоя и типа возникшей ошибки в такой ситуации можно либо на основании второго указателя восстановить исходную информацию первого указателя, либо дополнительно обновить второй указатель, приведя его в соответствие с первым указателем.
Использование дополнительного, избыточного указателя обеспечивает надежную защиту содержащихся в указателях данных от их искажения прежде всего в том случае, когда запись каждого из указателей происходит раздельно в разные моменты времени. Помимо этого такой подход позволяет в любой ситуации восстановить требуемое содержимое указателей, что имеет особое значение прежде всего при возникновении сбоев в электроснабжении в момент обновления указателей. Относящееся к каждому указателю контрольное число предпочтительно представляет собой дополнение кода, отражающего номер соответствующей ячейки памяти. Таким образом, указатель содержит информацию об адресе или номере текущей ячейки памяти, а контрольное число получают путем формирования дополнения.
Согласно одному из конкретных вариантов осуществления изобретения указатель имеет длину два байта, при этом первый байт (8 бит) содержит код ячейки памяти, выраженный двумя числами в шестнадцатеричной системе счисления, а второй байт указателя содержит соответствующий дополнительный код, также представленный в шестнадцатеричной системе счисления.
Преимущество предлагаемого в изобретении решения состоит в обеспечении многократной избыточности, позволяющей в любой момент обнаружить и скорректировать ошибки. При этом создается возможность восстановить содержимое указателя прежде всего при возникновении такого сбоя, как нарушение электроснабжения.
Предлагаемый в изобретении способ, требующий лишь незначительного дополнительного необходимого для его осуществления объема памяти для записи второго указателя и контрольных чисел, а также требующий выполнения дополнительного цикла записи для сохранения этого второго указателя, позволяет практически полностью исключить потерю данных.
Объектом изобретения является также кольцевая память для осуществления предлагаемого в изобретении способа записи указателя. Такая кольцевая память имеет заданное количество ячеек, в каждой из которых содержится по одной записи данных, и ячейку для хранения указателя, в которую записывается указатель, указывающий на ту ячейку памяти, в которой содержится текущая запись данных. В соответствии с предлагаемым способом ячейка для хранения указателя содержит первую ячейку для хранения первого указателя, включая его контрольное число, и вторую ячейку для хранения второго указателя, избыточного по отношению к первому указателю, включая контрольное число второго указателя.
Описанные выше преимущества предлагаемых в изобретении способа и кольцевой памяти наиболее предпочтительно использовать в чип-карте, в памяти которой практически всегда содержатся важные данные, требующие особой защиты.
Наряду с рассмотренными выше мерами предпочтительно далее расширить циклическую память на одну ячейку, наличие которой, однако, невозможно установить извне, т.е. через интерфейс кольцевой памяти. В этом случае каждая из вновь записываемых записей данных будет записываться на место соответствующей наиболее старой записи данных, и поэтому при возникновения сбоя будет происходить лишь потеря такой наиболее старой записи данных, что, однако, с внешней стороны будет незаметно, поскольку извне для записи доступно только заданное количество ячеек памяти, в число которых указанная дополнительная ячейка не входит.
Ниже изобретение более подробно рассмотрено на примере некоторых вариантов его осуществления со ссылкой на прилагаемые чертежи, на которых показано
на фиг.1 - схематичное изображение ячейки кольцевой памяти, предназначенной для сохранения первого и второго указателей,
на фиг.2 - схематичное изображение кольцевой памяти, имеющей заданное количество ячеек, при этом на чертеже показаны три стадии процесса записи новой записи данных, в каждом случае в сочетании с указанием содержимого ячейки памяти, содержащей первый и второй указатели,
на фиг.3 - блок-схема, поясняющая процесс обновления первого и второго указателей с контролем их четности,
на фиг.4 - три последовательных стадии процесса записи первого и второго указателей.
Рассмотренные ниже варианты осуществления изобретения относятся прежде всего к ЭСППЗУ с кольцевой организацией памяти. Для записи в такую кольцевую память новой записи данных в ЭСППЗУ известным образом подаются электрические сигналы, позволяющие изменять состояние адресуемой указателем ячейки памяти. Однако изобретение может найти применение и в отношении других типов кольцевой памяти, в том числе и виртуальной кольцевой памяти.
На фиг.2 слева показана кольцевая память 10 с проставленным сверху индексом I, который указывает на первую стадию процесса записи.
Кольцевая память 10 имеет n ячеек памяти R1, R2, R3, ..., Rn. В каждой из этих ячеек памяти хранится по одной записи данных, каждая из которых обозначена на фиг.2 в соответствии с нумерацией ячеек памяти как D№1, D№2, ..., D№n. Указатель (пойнтер) Р указывает на текущую, последнюю из сохраненных в процессе циклической записи данных запись данных, которой в рассматриваемом варианте на стадии I согласно фиг.2 является запись данных D№2, помещенная в ячейку памяти R2.
Под кольцевой памятью 10 слева на фиг.2 схематично показан указатель Р. Этот указатель Р содержит первый указатель, сохраненный в первой ячейке RР1 для хранения указателей, а также избыточный по отношению к этому первому указателю второй указатель, сохраненный в другой ячейке RР2 для хранения указателей.
Первый указатель состоит из собственно ссылочного элемента, имеющего вид кода адреса ячейки памяти и обозначенного в данном случае как Р1. Другим элементом первого указателя является элемент Р1*, который в качестве контрольного значения является дополнением для Р1. Второй указатель представляет собой копию первого указателя и также состоит из элемента Р2, являющегося кодом адреса ячейки памяти и элемента Р2*, являющегося дополнением для элемента Р2.
В данном случае адрес ячейки памяти представлен в виде двухразрядного шестнадцатеричного числа. Р1 имеет значение "02", а его дополнение имеет значение "FD" (дополнениями для шестнадцатеричных чисел 0, 1, 2, 3, ... 9, А, В, С, D и F являются числа F, Е, D, 3, 2, 1 и 0 соответственно). На фиг.1 схематично показана побайтовая организация указателя Р в обеих ячейках RР1 и RР1 для хранения указателей. В первой ячейке RР1 этой памяти содержатся оба байта b1 и b2, где байт b1 является дополнением байта b2, и наоборот. Во второй ячейке RР2 для хранения указателей содержатся два байта b3 и b4, где b3 является дополнением байта b4, и наоборот.
Ниже на примере трех показанных на фиг.2 стадий I, II, III поясняется процесс записи новой записи данных на место наиболее старой записи данных. Слева на фиг.2 показан указатель Р, указывающий на ячейку R2, в которой содержится запись данных D№2. Поскольку кольцевая память 10 имеет циклическую структуру или организацию, по определению наиболее старая запись данных содержится в непосредственно следующей ячейке R3. Поэтому на место еще хранящейся в этой ячейке записи данных D№3 должна быть записана новая запись данных. С этой целью сначала стирается содержимое ячейки R3, а затем в эту ячейку записывается новая запись данных D'№3, как это показано в середине фиг.2 индексом II. По завершении процесса записи новой записи данных D'№3 происходит обновление указателя Р, который в этом случае будет указывать на текущую наиболее новую запись данных D'№3, что показано слева на фиг.2 под индексом III.
В нижней правой части фиг.2 показано содержимое обеих ячеек памяти, в которых сохранены первый и второй указатели. Как показано на этом чертеже, первый указатель (Р1=03; Р1*=FC) указывает на третью ячейку R3 кольцевой памяти.
Для пояснения характерных особенностей рассматриваемого варианта осуществления изобретения показанная справа на фиг.2 кольцевая память обозначена позицией 10'. В соответствии с этим особым вариантом осуществления изобретения кольцевая память 10' увеличена по сравнению с остальными показанными на фиг.2 вариантами кольцевой памяти на одну ячейку, т.е. общее количество ячеек этой памяти составляет R(n+1). Однако если рассматривать подобную структуру памяти 10' извне относительно ее интерфейса, эта кольцевая память 10' имеет, как и ранее, n ячеек памяти. Как показано в правой части на фиг.2, в используемой для записи непосредственно следующей записи данных ячейке памяти, т.е. в ячейке R4, содержится выполняющая функцию буфера записи запись данных, наиболее старая запись данных, которая недоступна для считывания извне относительно кольцевой памяти. В процессе записи, рассмотренном выше, в эту ячейку памяти записывается новая запись данных. Поэтому при появлении сбоя теряются только эти избыточные данные, являющиеся наиболее старыми данными.
Как показано далее на фиг.2, в нижней части которой представлены расположенные рядом друг с другом указатели, каждый из которых состоит из первого указателя Р1, Р1* и второго указателя Р2, Р2*, обновление указателя происходит только после успешного завершения процесса записи новой записи данных, которой в средней части на фиг.2 является запись данных D'№3.
Если в процессе записи, т.е. при обновлении указателя, происходит сбой, в частности в результате нарушения электроснабжения, то существует возможность по выбору восстановить либо старый, либо новый указатель. Сказанное схематично проиллюстрировано на фиг.4.
На фиг.4 одна под другой показаны три стадии, необходимые для полного обновления указателя. На стадии "1" указатель находится в старом (исходном) состоянии. На стадии "2" содержащийся в первом указателе Р1, Р1* номер ячейки памяти уже увеличен на единицу, т.е. его элементы имеют значения "03" и "FC" соответственно. На этой стадии второй указатель все еще содержит старые значения. После этого на третьей стадии "3" значения элементов данных первого указателя Р1, Р1* копируются в ячейку памяти, предназначенную для второго указателя.
При возникновении сбоя на стадии "2" на основании значений первого указателя Р1, Р2* можно получить второй указатель в качестве нового второго указателя. В другом варианте на основании значений второго указателя Р2, Р2* можно восстановить прежнее значение первого указателя.
На фиг.3 показана блок-схема, поясняющая способ определения текущего значения указателя и проверки его правильности (достоверности). Этот процесс определения/проверки выполняется на шаге S1.
На следующем шаге S2 определяется, соответствует ли значение указателя Р1 его контрольному значению, которым в данном случае является его дополнительный код Р1*. При совпадении указанных значений на следующем шаге S3 первый и второй указатели сравниваются между собой. Если в результате такой проверки окажется, что один указатель не соответствует другому, то на следующем шаге S4 первый указатель полностью копируется на место второго указателя.
На следующем за этим шагом S4 шаге S5 циклическому указателю, используемому для фактической адресации соответствующей ячейки памяти, присваивается значение Р1. Аналогичная процедура выполняется и в том случае, если при сравнении на шаге S3 будет установлено соответствие между обоими указателями Р1 и Р2.
Если в результате сравнения на шаге S2 будет выявлена ошибка четности, то осуществляется переход к шагу S6, на котором выполняется аналогичная проверка четности для второго указателя. Если второй указатель Р2, Р2* удовлетворяет критерию проверки на четность, то на следующем шаге S7 происходит коррекция первого указателя путем копирования на его место значения Р2 второго указателя вместе с контрольным числом Р2*. После этого для адресации соответствующей ячейки памяти указателю также присваивается значение Р1.
Если же на шаге S6 будет выявлена некорректность значения и второго указателя Р2, то на следующем шаге S8 запускается стандартная программа обработки ошибок.
Описанный выше способ определения и проверки корректности значений первого и второго указателей, каждый из которых содержит в качестве контрольного числа дополнительный или обратный код, используется для схематично показанной на фиг.2 кольцевой памяти 10 предпочтительно в виде ЭСППЗУ в чип-картах.
Claims (8)
1. Способ записи указателя (Р) содержащихся в отдельных ячейках (R1, R2,...) кольцевой памяти (10, 10') записей данных, заключающийся в том, что дополнительно к первому указателю (P1, P1*) записывают второй указатель (Р2, Р2*), являющийся избыточным по отношению к первому указателю, и каждый из указанных первого и второго указателей дополняют контрольным числом, при этом процесс определения, соответственно, проверки текущего указателя включает следующие операции:
а) на основании контрольного числа (P1*) проверяют первый указатель (P1) (S2),
б) при корректности первого указателя (P1) его сравнивают со вторым указателем (S3),
в) при наличии выявленного на стадии б) несоответствия между обоими указателями копируют первый указатель с получением нового второго указателя,
г) при некорректности первого указателя (P1) на основании контрольного числа (Р2*) проверяют второй указатель (Р2) (S6) и
д) при установлении на стадии г) корректности второго указателя на место первого указателя (P1, P1*) перезаписывают значение указателя (Р2, Р2*) (S7).
2. Способ по п.1, отличающийся тем, что первый указатель (P1, P1*) и второй указатель (Р2, Р2*) записывают отдельно один от другого, прежде всего дифференцировано во времени.
3. Способ по п. 1, отличающийся тем, что для управления кольцевой памятью (10; 10') для записи новой записи данных (D'№3) в заданную ячейку (R3) памяти, которая (ячейка) циклически следует за той ячейкой (R2) памяти, на которую указывает указатель (Р), новую запись данных записывают в эту заданную ячейку (R3) памяти и затем записывают обновленный указатель.
4. Способ по п.3, отличающийся тем, что перед записью новой записи данных (D'№3) в заданную ячейку памяти ее содержимое стирают.
5. Способ по п. 3, отличающийся тем, что в заданной ячейке памяти содержится наиболее старая из сохраненных в кольцевой памяти (10') запись данных и эту заданную ячейку памяти используют в качестве буфера записи.
6. Способ по любому из пп. 1-5, отличающийся тем, что каждый из указателей состоит из кода номера соответствующей ячейки памяти, а относящееся к нему контрольное число представляет собой дополнительный код для указанного номера ячейки памяти.
7. Кольцевая память, предназначенная для осуществления способа по любому из пп. 1 - 6 и имеющая заданное количество ячеек (R1,..., Rn), в каждой из которых содержится по одной записи данных (D№1,...), и ячейку для хранения указателя, в которую записывается указатель, указывающий на ту ячейку памяти, в которой содержится текущая запись данных (D№2), причем ячейка для хранения указателя (Р) содержит первую ячейку (RP1) для хранения первого указателя (Р1, Р1*), включая его контрольное число (Р1*), и вторую ячейку (RP2) для хранения второго указателя (Р2, Р2*), избыточного по отношению к первому указателю, включая контрольное число (P2*) второго указателя.
8. Кольцевая память по п.7, отличающаяся тем, что она предназначена для применения в чип-карте.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE19921232.5 | 1999-05-07 | ||
DE19921232A DE19921232B4 (de) | 1999-05-07 | 1999-05-07 | Verfahren zum gesicherten Schreiben eines Zeigers für einen Ringspeicher, zugehöriger Ringspeicher, Verwendung des Ringspeichers und Chipkarte mit Ringspeicher |
Publications (2)
Publication Number | Publication Date |
---|---|
RU2001132631A RU2001132631A (ru) | 2003-08-27 |
RU2269814C2 true RU2269814C2 (ru) | 2006-02-10 |
Family
ID=7907401
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2001132631/09A RU2269814C2 (ru) | 1999-05-07 | 2000-05-04 | Способ надежной записи указателя для кольцевой памяти |
Country Status (10)
Country | Link |
---|---|
US (1) | US6622205B1 (ru) |
EP (1) | EP1190324B1 (ru) |
JP (1) | JP4704574B2 (ru) |
CN (1) | CN100511168C (ru) |
AT (1) | ATE246821T1 (ru) |
AU (1) | AU4755000A (ru) |
DE (2) | DE19921232B4 (ru) |
ES (1) | ES2203471T3 (ru) |
RU (1) | RU2269814C2 (ru) |
WO (1) | WO2000068794A1 (ru) |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE10207234A1 (de) | 2002-02-21 | 2003-09-04 | Kostal Leopold Gmbh & Co Kg | Verfahren zum Erkennen einer Hindernissituation eines motorisch angetriebenen bewegten Elementes |
GB2393273A (en) * | 2002-09-20 | 2004-03-24 | Sharp Kk | Method and apparatus for detecting an error in writing to persistent memory |
FR2848327B1 (fr) * | 2002-12-06 | 2005-02-25 | Thales Sa | Procede de gestion de l'ecriture dans une memoire |
US7529904B2 (en) * | 2004-03-31 | 2009-05-05 | International Business Machines Corporation | Storing location identifier in array and array pointer in data structure for write process management |
US7398338B2 (en) * | 2004-06-30 | 2008-07-08 | Sap Ag | Flexible and error resistant data buffering and connectivity |
ATE493706T1 (de) * | 2004-08-02 | 2011-01-15 | Ibm | Verfahren zum garantieren der frische von ergebnissen für anfragen gegenüber einem nicht sicheren datenlager |
CN100478916C (zh) * | 2004-09-24 | 2009-04-15 | 上海贝尔阿尔卡特股份有限公司 | 内存管理***及方法 |
FR2890211A1 (fr) * | 2005-08-31 | 2007-03-02 | Proton World Internatinal Nv | Mise a jour synchronisee de fichiers de donnees |
FR2890201A1 (fr) * | 2005-08-31 | 2007-03-02 | Proton World Internatinal Nv | Protection d'un contenu numerique sur un support physique |
FR2890239B1 (fr) * | 2005-08-31 | 2008-02-01 | St Microelectronics Crolles 2 | Compensation des derives electriques de transistors mos |
US8059642B2 (en) * | 2006-02-09 | 2011-11-15 | Flextronics International Usa, Inc. | Single stage pointer and overhead processing |
US8095727B2 (en) * | 2008-02-08 | 2012-01-10 | Inetco Systems Limited | Multi-reader, multi-writer lock-free ring buffer |
DE102009048144A1 (de) | 2009-10-02 | 2011-04-07 | Giesecke & Devrient Gmbh | Verfahren zum Schreiben von Datensätzen in einen nicht-flüchtigen Datenspeicher |
CN102521069A (zh) * | 2011-11-15 | 2012-06-27 | 北京空间飞行器总体设计部 | 一种航天器重要数据保护方法 |
US8885425B2 (en) | 2012-05-28 | 2014-11-11 | Kabushiki Kaisha Toshiba | Semiconductor memory and method of controlling the same |
JP6311560B2 (ja) * | 2014-09-30 | 2018-04-18 | アイコム株式会社 | 録音機能を有する無線通信装置、不揮発性メモリへデータを書き込む記録装置及び不揮発性メモリへデータを書き込む記録方法 |
CN104461933B (zh) * | 2014-11-07 | 2017-10-03 | 珠海全志科技股份有限公司 | 内存管理方法及其装置 |
CN106815153B (zh) * | 2015-12-02 | 2022-04-22 | 国民技术股份有限公司 | 一种安全存储方法、装置和*** |
DE102020103097A1 (de) * | 2020-02-06 | 2021-08-12 | Audi Aktiengesellschaft | Verfahren zur nichtflüchtigen Speicherung einer Betriebsinformation bei einem Fahrzeug oder einer Maschine, Vorrichtung zur Durchführung des Verfahrens sowie Fahrzeug und Computerprogramm |
CN113434247B (zh) * | 2021-06-16 | 2023-12-26 | 武汉天喻信息产业股份有限公司 | 一种java卡虚拟机的安全防护方法 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4566106A (en) * | 1982-01-29 | 1986-01-21 | Pitney Bowes Inc. | Electronic postage meter having redundant memory |
JPS63298602A (ja) * | 1987-05-29 | 1988-12-06 | Daikin Ind Ltd | 空気調和装置のバックアップ装置 |
US4942575A (en) * | 1988-06-17 | 1990-07-17 | Modular Computer Systems, Inc. | Error connection device for parity protected memory systems |
CA2003375A1 (en) * | 1988-12-30 | 1990-06-30 | Nanette Brown | Epm having an improvement in non-volatile memory organization |
JPH02293950A (ja) * | 1989-05-08 | 1990-12-05 | Mitsubishi Electric Corp | メモリバックアップ方式 |
EP0398545A1 (en) * | 1989-05-19 | 1990-11-22 | Delco Electronics Corporation | Method and apparatus for storing data in a non-volatile memory |
US5537652A (en) * | 1990-08-20 | 1996-07-16 | International Business Machines Corporation | Data file directory system and method for writing data file directory information |
JP2850049B2 (ja) * | 1990-10-16 | 1999-01-27 | 大日本印刷株式会社 | Icカード |
FR2699704B1 (fr) * | 1992-12-23 | 1995-02-10 | Gemplus Card Int | Procédé de mise à jour de données sensibles sur un support de mémorisation de type mémoire EEPROM. |
JPH08249091A (ja) * | 1995-03-15 | 1996-09-27 | Toshiba Corp | データ記憶装置 |
EP0795844A1 (en) * | 1996-03-11 | 1997-09-17 | Koninklijke KPN N.V. | Method of securely modifying data on a smart card |
US5781101A (en) * | 1996-10-28 | 1998-07-14 | Ford Motor Company | Vehicular emergency message system activation diagnostics recorder |
DE19650993A1 (de) * | 1996-11-26 | 1998-05-28 | Francotyp Postalia Gmbh | Anordnung und Verfahren zur Verbesserung der Datensicherheit mittels Ringpuffer |
-
1999
- 1999-05-07 DE DE19921232A patent/DE19921232B4/de not_active Expired - Fee Related
-
2000
- 2000-05-04 RU RU2001132631/09A patent/RU2269814C2/ru not_active IP Right Cessation
- 2000-05-04 ES ES00929490T patent/ES2203471T3/es not_active Expired - Lifetime
- 2000-05-04 AU AU47550/00A patent/AU4755000A/en not_active Abandoned
- 2000-05-04 WO PCT/EP2000/003990 patent/WO2000068794A1/de active IP Right Grant
- 2000-05-04 DE DE50003203T patent/DE50003203D1/de not_active Expired - Lifetime
- 2000-05-04 EP EP00929490A patent/EP1190324B1/de not_active Expired - Lifetime
- 2000-05-04 US US09/926,448 patent/US6622205B1/en not_active Expired - Fee Related
- 2000-05-04 CN CNB008097151A patent/CN100511168C/zh not_active Expired - Fee Related
- 2000-05-04 JP JP2000616509A patent/JP4704574B2/ja not_active Expired - Fee Related
- 2000-05-04 AT AT00929490T patent/ATE246821T1/de active
Also Published As
Publication number | Publication date |
---|---|
WO2000068794A1 (de) | 2000-11-16 |
US6622205B1 (en) | 2003-09-16 |
ATE246821T1 (de) | 2003-08-15 |
JP4704574B2 (ja) | 2011-06-15 |
CN100511168C (zh) | 2009-07-08 |
DE19921232A1 (de) | 2000-11-16 |
AU4755000A (en) | 2000-11-21 |
DE19921232B4 (de) | 2007-06-21 |
JP2002544590A (ja) | 2002-12-24 |
ES2203471T3 (es) | 2004-04-16 |
DE50003203D1 (de) | 2003-09-11 |
EP1190324A1 (de) | 2002-03-27 |
CN1359493A (zh) | 2002-07-17 |
EP1190324B1 (de) | 2003-08-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2269814C2 (ru) | Способ надежной записи указателя для кольцевой памяти | |
KR0128218B1 (ko) | 일괄 소거형 비휘발성 메모리 | |
US7849382B2 (en) | Memory control circuit, nonvolatile storage apparatus, and memory control method | |
US8694855B1 (en) | Error correction code technique for improving read stress endurance | |
KR100343377B1 (ko) | 비-휘발성메모리에의데이타기입 | |
US6031758A (en) | Semiconductor memory device having faulty cells | |
EP0907128B1 (en) | Storage devices, and data processing systems and methods | |
US6883060B1 (en) | Microcomputer provided with flash memory and method of storing program into flash memory | |
KR20000052798A (ko) | 에러 위치지정 코드를 사용하여 멀티레벨 셀 메모리를 정정하는방법 및 장치 | |
WO1998008166A1 (en) | Semiconductor memory device having error detection and correction | |
KR20050069925A (ko) | 비휘발성 기억장치의 제어방법 | |
CN101124639A (zh) | 访问非易失性计算机存储器的***和方法 | |
JP2002524796A (ja) | 制限された消去頻度のメモリのアクセス制御 | |
US5590298A (en) | Method of restoring and updating records in a disk cache system during disk drive idle time using start and end addresses | |
RU2001132631A (ru) | Способ надежной записи указателя для кольцевой памяти | |
JP4158526B2 (ja) | メモリカード及びメモリへのデータ書き込み方法 | |
US20040015671A1 (en) | Single-chip microcomputer and boot region switching method thereof | |
US6941413B2 (en) | Nonvolatile memory, its data updating method, and card reader equipped with such nonvolatile memory | |
JP3675375B2 (ja) | 不揮発性メモリ並びに不揮発性メモリのデータ書き換え方法 | |
US11669392B2 (en) | Non-volatile memory | |
JPH08203292A (ja) | 不揮発性メモリ | |
JP2007257271A (ja) | メモリ診断方法、マイクロコンピュータシステム及びプログラム | |
US20070274302A1 (en) | Data Storage Device, Memory Managing Method, and Program | |
US7313648B2 (en) | Corruption tolerant method and system for deploying and modifying data in flash memory | |
JPH01171047A (ja) | メモリ素子のチップ交替制御装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | The patent is invalid due to non-payment of fees |
Effective date: 20140505 |