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

Иллюстрации

Показать все

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

Реферат

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

Варианты осуществления настоящего изобретения в целом касаются области памяти. Конкретные варианты осуществления изобретения включают в себя способы обновления перекрестной памяти.

Уровень техники

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

Перекрестная энергонезависимая память, в том числе память (РСМ) на фазовых переходах, может состоять из дву- или трехмерной решетки ячеек памяти. Системы, использующие РСМ, могут строить адрес памяти как объединение нескольких ячеек памяти из одного или более массивов памяти. Состояние ячейки памяти может быть представлено порогом напряжения, который можно обозначить как VT. В некоторых РСМ значение напряжения каждой ячейки может быть установлено равным одному из двух порогов напряжения, которые могут представлять соответственно логические «0» или «1». Значение напряжения ячейки памяти может быть задано при операции записи и считано при операции чтения. В некоторых случаях физические механизмы, стоящие за операциями чтения и записи для заданной ячейки памяти или для заданного адреса памяти, могут приводить к потере или повреждению данных, хранящихся в упомянутых одной или более ячейках, или по упомянутым одному или более адресам памяти.

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

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

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

фиг. 2 - вид, показывающий пример ячеек памяти в соответствии с различными вариантами осуществления изобретения;

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

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

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

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

Подробное описание изобретения

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

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

Различные операции могут быть описаны как несколько последовательных дискретных действий или операций, чтобы наиболее просто понять объект патентования. Тем не менее порядок описания не нужно понимать так, что указанные операции необходимо выполнять в определенном порядке. В частности, эти операции можно не выполнять в порядке появления. Описанные операции могут быть выполнены в порядке, отличном от приведенного в описанном варианте осуществления изобретения. Могут быть осуществлены различные дополнительные операции и/или описанные операции могут быть опущены в дополнительных вариантах осуществления изобретения.

Для целей настоящего изобретения под фразами «А и/или В» и «А или В» понимаем (А), (В) или (А и В). Для целей настоящего изобретения фраза «А, В и/или С» означает (А), (В), (С), (А и В), (А и С), (В и С) или (А, В и С).

В описании могут быть использованы фразы «в варианте осуществления изобретения» или «в вариантах осуществления изобретения», которые могут ссылаться на один или более одинаковых или разных вариантов осуществления изобретения. Более того, при использовании относительно вариантов осуществления изобретения термины «содержит», «включает в себя», «имеет» и подобные являются синонимами.

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

Как показано на фиг. 1, в различных вариантах осуществления изобретения устройство 100 хранения может содержать перекрестную энергонезависимую память 104, такую как РСМ. Информация может быть записана в перекрестную энергонезависимую память 104 и/или считана из перекрестной энергонезависимой памяти 104 с помощью контроллера ПО памяти. Контроллер ПО памяти может быть соединен с перекрестной энергонезависимой памятью 104 с помощью одной или более линий 116 связи, например с помощью шины памяти. Операции чтения или записи могут быть осуществлены соответственно логической схемой чтения или логической схемой записи, которые могут быть отделены одна от другой или объединены, например, в модуле 120 чтения/записи. Для целей этого описания ниже будет рассмотрен модуль 120 чтения/записи и может быть предположено, что он содержит как логическую схему чтения, так и логическую схему записи. Тем не менее в других вариантах осуществления изобретения модуль чтения может содержать логическую схему чтения и осуществлять описанные ниже операции чтения, а модуль записи может содержать логическую схему записи и осуществлять описанные ниже операции записи, и модуль чтения, и модуль записи могут быть отделены друг от друга.

Как показано, модуль 120 чтения/записи может быть элементом контроллера ПО памяти, а в некоторых вариантах осуществления изобретения модуль 120 чтения/записи (или отдельный модуль чтения и/или модуль записи) может быть отделен от контроллера 110 памяти, но может быть соединен с контроллером 110 памяти. В некоторых вариантах осуществления изобретения (не показаны) модуль 120 чтения/записи может быть элементом перекрестной энергонезависимой памяти 104 или может быть другим образом соединен с перекрестной энергонезависимой памятью 104. В некоторых вариантах осуществления изобретения (не показаны) модуль 120 чтения/записи может быть распределен между контроллером 110 памяти и перекрестной энергонезависимой памятью 104. В некоторых вариантах осуществления изобретения модуль 120 чтения/записи может быть реализован в виде аппаратного обеспечения, аппаратнореализованного программного обеспечения, программного обеспечения или любого объединения перечисленного. В вариантах осуществления изобретения модуль 120 чтения/записи может быть выполнен для осуществления операции чтения с целью чтения значений напряжения одной или более ячеек 112 перекрестной энергонезависимой памяти 104, что будет описано ниже. Кроме того, модуль 120 чтения/записи может быть выполнен для осуществления операции записи с целью установки или повторной установки значений напряжения одной или более ячеек 112 перекрестной энергонезависимой памяти 104, что будет дополнительно описано ниже. В вариантах осуществления изобретения значение напряжения ячейки 112 перекрестной энергонезависимой памяти 104 можно рассматривать как значение напряжения, измеренное в ячейке 112 памяти при операции чтения, осуществляемой модулем 120 чтения/записи, что будет дополнительно описано ниже.

В некоторых вариантах осуществления изобретения контроллер 110 памяти и/или устройство 100 хранения могут быть соединены с другими компонентами вычислительной системы с помощью одной или более внешних линий 106 связи, таких как шина (PCI) соединения периферийных компонентов или шина PCI Express. Хотя это не показано на чертежах, различные другие компоненты могут быть соединены с устройством 100 хранения с помощью одной или более линий 106 связи, в том числе, помимо прочего, один или более центральных процессоров (CPU), энергозависимая память (например, DRAM), одно или более устройств ввода/вывода (I/O), альтернативные процессоры (например, графические процессоры) и так далее. В различных вариантах осуществления изобретения устройство 100 хранения может быть твердотельным накопителем (SSD) или гибридным накопителем (HHD) на жестких дисках.

Во многих случаях, в том числе в примере с фиг. 1, перекрестная энергонезависимая память 104 может содержать несколько кристаллов 108. Например, на фиг. 1 перекрестная энергонезависимая память 104 содержит N кристаллов 108. N может быть любым положительным целым числом. В других вариантах осуществления изобретения перекрестная энергонезависимая память 104 может содержать только один кристалл 108. Как показано на фиг. 1, каждый кристалл 108 может содержать одну или более ячеек 112 памяти. Ясно, что, хотя в каждом кристалле 108 показаны три ячейки 112 памяти, каждый кристалл может содержать больше или меньше ячеек 112 памяти. Кроме того, каждый кристалл 108 не обязательно содержит такое же количество ячеек 112 памяти, как и другой кристалл 108. Наконец, данные могут быть организованы с разной группировкой, как описано в настоящем документе, например, ячейки 112 памяти могут быть организованы в блоки или страницы памяти.

Как описано выше, перекрестная энергонезависимая память, такая как перекрестная энергонезависимая память 104, или каждый кристалл перекрестной энергонезависимой памяти, такой как кристалл 108 перекрестной энергонезависимой памяти 104, может содержать несколько ячеек памяти, организованных в дву- или трехмерную решетку. На фиг. 2 показана решетка 200 ячеек 205 перекрестной энергонезависимой памяти, такой как перекрестная энергонезависимая память 104. Более конкретно, решетка 200 может быть решеткой ячеек 205 памяти на кристалле, таком как кристалл 108 перекрестной энергонезависимой памяти 104. Хотя решетка 200 здесь показана как двумерная решетка, в вариантах осуществления изобретения решетка 200 может быть трехмерной решеткой. В одной или более ячейках 205 памяти может быть установлено первое пороговое напряжение или второе пороговое напряжение, которые могут соответственно указывать на некоторое логическое значение, такое как «0» или «1». Следовательно, в вариантах осуществления изобретения каждую ячейку 205 памяти можно рассматривать как содержащую бит информации.

Более конкретно, перекрестная энергонезависимая память, такая как перекрестная энергонезависимая память 104, которая может быть РСМ, может быть выполнена из халькогенидного стекла. Например, перекрестная энергонезависимая память может содержать такой материал, как Ge2Sb2Te5, называемый GST, или InSbTe, называемый IST. В перекрестной энергонезависимой памяти могут быть использованы другие материалы, тем не менее для простоты объяснения ниже, в качестве примера, будет рассмотрено только халькогенидное стекло. Более конкретно, каждая ячейка памяти, такая как ячейки 205 памяти, может быть отдельным дискретным элементом из халькогенидного стекла. Если халькогенидное стекло ячейки 205 памяти быстро нагреть и затем быстро охладить, то халькогенидное стекло может перейти в физическое состояние, известное как «аморфное» состояние. В отличие от этого, если халькогенидное стекло ячейки 205 памяти держать при определенной температуре заданное количество времени, то халькогенидное стекло может кристаллизоваться и перейти в физическое состояние, известное как «кристаллическое» состояние. В вариантах осуществления изобретения процесс нагревания может направлять или осуществлять устройство записи, такое как модуль 120 чтения/записи, и этот процесс может быть осуществлен с помощью пропускания тока через заданную ячейку 205 памяти в течение заданного количества времени. Естественное электрическое сопротивление халькогенидного стекла может порождать теплоту в ячейке 205 памяти и в результате произойдет описанное фазовое изменение ячейки 205 памяти.

В вариантах осуществления изобретения ячейка 205 памяти в аморфном состоянии может обладать другим электрическим сопротивлением по сравнению с ячейкой 205 памяти в кристаллическом состоянии. Например, ячейка 205 памяти в аморфном состоянии может обладать сравнительно малым электрическим сопротивлением и существовать в состоянии «установить». В отличие от этого, ячейка 205 памяти в кристаллическом состоянии может обладать сравнительно большим электрическим сопротивлением и существовать в состоянии «повторно установить». В вариантах осуществления изобретения состояние «установить» и состояние «повторно установить» могут соответственно отвечать логическому «0» и логической «1», и наоборот. Для простоты описания, ниже термины «низкое» состояние и «высокое» состояние будут использоваться соответственно для описания состояния «установить» и состояния «повторно установить» ячейки 205 памяти.

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

Так как конкретное состояние халькогенидного стекла может приводить к конкретному сопротивлению, что может привести к измерению конкретного значения напряжения, то может быть целесообразно установить физическое состояние каждой ячейки 205 памяти так, чтобы ячейка 205 памяти порождала измерение конкретного значения напряжения во время операции чтения, известного как порог VТ, напряжение для «низкого» или «высокого» состояний. В вариантах осуществления изобретения, и как будет дополнительно описано ниже, операция чтения может быть процессом сравнения измеренного значения напряжения для ячейки памяти с эталонным значением напряжения, что делают с целью определить, находится ли ячейка памяти в «низком» или «высоком» состоянии. В отличие от этого, операция по изменению физических свойств ячейки 205 памяти, чтобы ячейка 205 порождала измерение заданного значения напряжения во время операции чтения, может быть известна как операция записи. Более конкретно, в модуле 120 чтения/записи могут осуществлять операцию записи с целью такого изменения физических свойств халькогенидного стекла одной или более ячеек 205 памяти, что каждая ячейка 205 памяти, установленная в «низкое» состояние, будет обладать одинаковым электрическим сопротивлением, и, следовательно, в модуле 120 чтения/записи может считываться такое же сравнительно низкое значение напряжения для всех ячеек 205 памяти, находящихся в «низком» состоянии. Аналогично, в модуле 120 чтения/записи могут осуществлять операцию записи с целью такого изменения физических свойств халькогенидного стекла одной или более ячеек 205 памяти, что каждая ячейка 205 памяти, установленная в «высокое» состояние, будет обладать одинаковым электрическим сопротивлением, и, следовательно, в модуле 120 чтения/записи может считываться такое же сравнительно большое значение напряжения для всех ячеек 205 памяти, находящихся в «высоком» состоянии.

В вариантах осуществления изобретения целевая ячейка 210 памяти может быть окружена несколькими соседними ячейками 215 памяти. Когда в устройстве записи, таком как модуль 120 чтения/записи контроллера 110 памяти, записывают значение в целевую ячейку 210 памяти, то это может оказывать влияние на значения напряжений в соседних ячейках 215 памяти. Этот эффект может быть назван «помехами для памяти». Как отмечено выше, запись значения в целевую ячейку 210 памяти может включать в себя нагревание и/или охлаждение целевой ячейки 210 памяти. Кроме того, чтение значения из целевой ячейки 210 памяти может включать в себя прохождение известного тока по целевой ячейке 210 памяти и измерение напряжения на целевой ячейке 210 памяти. В каждом из этих процессов целевая ячейка 210 памяти может вырабатывать теплоту в одной или более соседних ячейках 215 памяти. Помимо этого или в качестве альтернативы, теплота может вырабатываться в целевой ячейке 210 памяти. Эта выработанная теплота может приводить к изменению состояния одной или более целевых ячеек 210 памяти, соседних ячеек 215 памяти или некоторых других ячеек 205 памяти в решетке 200 ячеек 205 памяти. Помехи для памяти могут быть вызваны дополнительными или альтернативными механизмами, такими как механический отказ в ячейке 205 памяти, или некоторыми другими причинами.

Когда состояние заданной ячейки 205 памяти, такой как целевая ячейка 210 памяти, соседняя ячейка 215 памяти или некоторая другая ячейка 205 памяти, изменяется, то может измениться измеренное значение напряжения этой ячейки памяти. Более конкретно, значение напряжения ячейки 205 памяти, которое установлено равным «низкому» пороговому напряжению, может немного возрасти. Например, если «низкое» пороговое напряжение заданной перекрестной энергонезависимой памяти 104 равно 1,0 В, то для ячейки памяти, которую нужно установить в «низкое» состояние, могут изначально установить с помощью модуля 120 чтения/записи и операции записи значение напряжения, равное 1,0 В при операции чтения. Тем не менее из-за помех для памяти значение напряжения этой ячейки 205 памяти может возрасти со временем. В качестве альтернативы, если «высокое» пороговое напряжение заданной перекрестной энергонезависимой памяти 104 равно 2,0 В, то для ячейки памяти, которую нужно установить в «высокое» состояние, могут изначально установить с помощью модуля 120 чтения/записи и операции записи значение напряжения, равное 2,0 В при операции чтения. Тем не менее ячейки 205 памяти, которые установлены в «высокое» состояние, могут измениться как в сторону увеличения, так и в сторону уменьшения. То есть со временем в ячейке 205 памяти, которая установлена в «высокое» состояние, значение напряжения может стать больше или меньше 2,0 В.

Это изменение может привести к ошибкам данных, так как в модуле 120 чтения/записи, осуществляющем операцию чтения заданной ячейки 025 памяти, могут предположить, что ячейка 205 памяти находится в «высоком» состоянии, когда она находится в «низком» состоянии и наоборот. Следовательно, из-за этих ошибок может быть целесообразно периодически обновлять одну или более ячеек 205 перекрестной энергонезависимой памяти 104. То есть в некоторых случаях может быть целесообразно, чтобы модуль 120 чтения/записи обновлял значение напряжения каждой ячейки 205 памяти путем осуществления операции записи с целью установки в каждой ячейке 205 памяти нужного порогового напряжения. Другими словами, для ячеек 205 памяти, которые должны быть в «высоком» состоянии, в модуле 120 чтения/записи могут так изменить физическое состояние ячеек памяти, чтобы измеренное значение напряжения этих ячеек 205 памяти во время операции чтения было равно «высокому» порогу напряжения. В отличие от этого, для ячеек 205 памяти, которые должны быть в «низком» состоянии, в модуле 120 чтения/записи могут так изменить физическое состояние ячеек памяти, чтобы измеренное значение напряжения этих ячеек 205 памяти во время операции чтения было равно «низкому» порогу напряжения. Тем не менее во многих случаях полное обновление всех ячеек в заданной перекрестной энергонезависимой памяти, такой как перекрестная энергонезависимая память 104, может быть нецелесообразно, так как операция полного обновления может приводить к появлению периода ожидания системы и/или дополнительному потреблению системой электроэнергии.

На фиг. 3 показан пример альтернативного процесса осуществления обновления нескольких ячеек памяти, например ячеек 205 перекрестной энергонезависимой памяти, такой как перекрестная энергонезависимая память 104. В начале, в модуле чтения/записи, таком как модуль 120 чтения/записи, в 300 могут осуществить операцию чтения с целью чтения значения напряжения каждой ячейки памяти в заданной перекрестной энергонезависимой памяти. Так как операция чтения подразумевает измерение значения напряжения на каждой ячейке памяти при прохождении известного тока по ячейке, сама операция чтения может привести к изменению состояния ячейки памяти.

Более конкретно, операция чтения может включать в себя осуществляемое в модуле чтения/записи сравнение измеренного напряжения на ячейке перекрестной энергонезависимой памяти с эталонным напряжением. Эталонное напряжение может быть, например, напряжением, которое больше «низкого» порога напряжения, но меньше «высокого» порога напряжения. В качестве примера, если «низкий» порог напряжения равен 1,0 В, а «высокий» порог напряжения равно 2,0 В, то эталонное напряжение может быть равно 1,5 В. Тем не менее в других вариантах осуществления изобретения одно или более из следующих величин могут иметь другие значения: «низкий» порог напряжения, «высокий» порог напряжения и/или эталонное напряжение. В некоторых вариантах осуществления изобретения операция чтения может приводить к обновлению значения напряжения одной или более ячеек памяти, которые находятся в «низком» состоянии, так что значение напряжения на одной или более ячейках памяти, находящихся в «низком» состоянии, равно «низкому» порогу напряжения.

Далее, в модуле чтения/записи могут идентифицировать, по меньшей мере, частично на основе операции чтения, осуществленной в 300, ячейки перекрестной энергонезависимой памяти, которые находятся в «высоком» состоянии. Более конкретно, в модуле 120 чтения/записи и/или контроллере памяти, таком как контроллер 110 памяти, могут идентифицировать ячейки перекрестной энергонезависимой памяти, значение напряжения на которых больше эталонного напряжения, как описано выше.

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

Далее процесс обновления одной или более ячеек памяти может закончиться в 315.

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

В начале, в модуле чтения/записи, таком как модуль 120 чтения/записи, в 400 могут считать значение напряжения каждой ячейки памяти в заданной перекрестной энергонезависимой памяти. Как описано выше для элемента 300 с фиг. 3, сама операция чтения может привести к изменению физического состояния ячейки памяти и, следовательно, ее значения напряжения. Кроме того, одна или более ячеек перекрестной энергонезависимой памяти может быть идентифицирована как находящаяся в «высоком» состоянии в 405 с помощью модуля 120 чтения/записи в ходе операции чтения, как описано выше при рассмотрении элемента 305 с фиг. 3. Наконец, в модуле чтения/записи могут обновить значения напряжения одной или более ячеек, которые установлены в «высокое» состояние в 410, что делают путем осуществления операции записи в одну или более ячеек памяти, которая повторно устанавливает значения напряжения одной или более ячеек памяти равными «высокому» порогу, как описано выше при рассмотрении элемента 310 с фиг. 3.

Далее в контроллере памяти, например, контроллере 110 памяти или модуле 120 чтения/записи контроллера памяти, в элементе 415 могут осуществить проверку на наличие ошибок в данных, сохраненных в перекрестной энергонезависимой памяти. В некоторых вариантах осуществления изобретения проверка на наличие ошибок может включать в себя проверку с помощью исправляющего ошибки кода (ЕСС) некоторых или всех данных, сохраненных в перекрестной энергонезависимой памяти, хотя в других вариантах осуществления изобретения (не показаны) может быть осуществлена проверка на наличие ошибок другого типа. Более конкретно, если осуществляют проверку с помощью ЕСС, в контроллере памяти могут одно или более логических значений из ячеек перекрестной энергонезависимой памяти или одно или более кодовых слов на основе логических значений из ячеек перекрестной энергонезависимой памяти сравнивать с одним или более известными значениями или кодовыми словами. В некоторых вариантах осуществления изобретения кодовые слова на основе логических значений из ячеек памяти и/или известные кодовые слова могут храниться в перекрестной энергонезависимой памяти, а в других вариантах осуществления изобретения и кодовые слова и/или известные кодовые слова могут храниться в другой памяти вычислительной системы, например, в постоянном запоминающем устройстве (ROM), оперативном запоминающем устройстве (RAM) или некоторой другой памяти вычислительной системы. На основе сравнения контроллер памяти может быть настроен для идентификации одной или более ячеек перекрестной энергонезависимой памяти, которые порождают ошибку в ходе операции чтения ячейки памяти. Ошибка может представлять собой сигнал, что ячейка памяти находится в «высоком» состоянии, когда ячейка памяти находится в «низком» состоянии, и наоборот. В качестве альтернативы ошибка может заключаться в том, что состояние ячейки памяти не может быть определено.

Далее в 420 в контроллере памяти могут сравнить общее количество ячеек памяти, которые порождают ошибку, с порогом ошибок. В некоторых случаях порог ошибок может быть равным 10%, а в других вариантах осуществления изобретения порог ошибок может быть некоторым другим числом. То есть, если 10% ячеек памяти порождают ошибки в ходе операции чтения, то в контроллере памяти могут определить, что количество ячеек памяти, которые порождают ошибки, превосходит порог. Если общее количество ячеек памяти, которые порождают ошибки, не превышает порог, то процесс может закончиться в 425.

Тем не менее, если общее количество ячеек памяти, которые порождают ошибки, превышает порог, то в контроллере памяти могут обновить одну или более ячеек памяти, которые порождают ошибки, что делают в 430 путем осуществления операции записи для этих ячеек. Более конкретно, для ячеек памяти, которые идентифицировали как находящиеся в «низком» состоянии, в модуле чтения/записи контроллера памяти могут осуществить операцию записи с целью повторной установки значения напряжения ячеек памяти равным низкому порогу напряжения. Аналогично, для ячеек памяти, которые идентифицировали как находящиеся в «высоком» состоянии, в модуле чтения/записи контроллера памяти могут осуществить операцию записи с целью повторной установки значения напряжения памяти равным высокому порогу напряжения. В некоторых вариантах осуществления изобретения эти операции записи могут быть обращены, например, если ячейки, которые должны быть в «низком» состоянии, читают как находящиеся в «высоком» состоянии или наоборот, то в модуле чтения/записи могут осуществить операцию записи в ячейки, идентифицированные как находящиеся в «низком» состоянии с целью установки значений напряжения этих ячеек равным высокому порогу напряжения или, наоборот, для ячеек, которые идентифицированы как находящиеся в «высоком» состоянии. В некоторых вариантах осуществления изобретения значение напряжения для операции записи может быть выбрано на основе, по меньшей мере, частично проверки на наличие ошибок, осуществленной в 420, и операция записи, осуществляемая в 430, может быть основана на записи значения напряжения в ячейку памяти, что приведет к отсутствию ошибки при проверке на наличие ошибок в ходе операции чтения. Например, ячейки памяти, которые порождают ошибки, могут быть идентифицированы в 405, и значение напряжения этих ячеек памяти может быть «заменено на противоположное» во время операции обновления в 430, так что ячейки памяти, которые порождают ошибки в ходе операции чтения, так как их считывают как находящиеся в «низком» состоянии, могут быть обновлены до «высокого» состояния или наоборот.

На фиг. 5 показан альтернативный процесс, направленный на уменьшение количества ошибок, которые возникают при операции чтения одной или более ячеек памяти, например перекрестной энергонезависимой памяти. В начале, в 500 в модуле чтения/записи, таком как модуль 120 чтения/записи, могут сначала считать значение напряжения каждой ячейки в заданной памяти, например перекрестной энергонезависимой памяти из примера. Как описано выше для элемента 300 с фиг. 3 и элемента 400 с фиг. 4, сама операция чтения может привести к изменению состояния ячейки памяти. Кроме того, одна или более ячеек перекрестной энергонезависимой памяти из примера могут быть идентифицированы как находящиеся в «высоком» состоянии в 505 с помощью модуля чтения/записи в ходе операции чтения, как описано выше при рассмотрении элемента 305 с фиг. 3 и элемента 405 с фиг. 4.

Далее в 510 в контроллере памяти, например контроллере 110 памяти или модуле 120 чтения/записи контроллера памяти, могут осуществить проверку на наличие ошибок в данных, сохраненных в перекрестной энергонезависимой памяти, что может быть аналогично проверке на наличие ошибок, описанной выше при рассмотрении 415. В некоторых вариантах осуществления изобретения проверка на наличие ошибок может являться проверкой с помощью ЕСС некоторых или всех данных, сохраненных в перекрестной энергонезависимой памяти. В других вариантах осуществления изобретения (не показаны) может быть осуществлена проверка на наличие ошибок другого типа. На основе сравнения контроллер памяти может быть реализован для идентификации одной или более ячеек перекрестной энергонезависимой памяти, которые порождают ошибку в ходе операции чтения ячейки памяти. В 515 в контроллере памяти могут сравнить общее количество ячеек памяти, которые порождают ошибку, с порогом ошибок, что может быть аналогично сравнению, описанному при рассмотрении 420. В некоторых случаях порог ошибок может быть равным 10%, а в других вариантах осуществления изобретения порог ошибок может быть некоторым другим числом.

Если общее количество ячеек памяти, которые порождают ошибки, не превышает порог, то в контроллере памяти могут перейти к обновлению ячеек памяти, которые идентифицированы в 505 и которые установлены как имеющие «высокий» порог напряжения, что делают в 520 путем осуществления повторной записи значений напряжения для этих ячеек. Процесс обновления и повторной записи может быть аналогичен, например, процессу обновления и повторной записи, который описан в 410. Далее процесс может закончиться в 525.

Тем не менее, если общее количество ячеек памяти, которые порождают ошибки, превышает порог, то в контроллере памяти в 530 могут обновить и осуществить повторную запись во все ячейки памяти в перекрестной энергонезависимой памяти из примера. То есть для каждой ячейки памяти в перекрестной энергонезависимой памяти из примера, которая идентифицирована как находящаяся в «низком» состоянии, в модуле чтения/записи контроллера памяти могут осуществить операцию записи с целью повторной установки значения напряжения ячейки памяти равным низкому порогу напряжения. Аналогично, для каждой ячейки памяти в перекрестной энергонезависимой памяти из примера, которая идентифицирована как находящаяся в «высоком» состоянии, в модуле чтения/записи контроллера памяти могут осуществить операцию записи с целью установки значения напряжения ячеек памяти равным высокому порогу напряжения. В некоторых вариантах осуществления изобретения эти операции записи могут быть обращены, например, если ячейки, которые должны быть в «низком» состоянии, считывают как находящиеся в «высоком» состоянии или наоборот. Далее в модуле чтения/записи могут осуществить операцию записи в ячейки, идентифицированные как находящиеся в «низком» состоянии, с целью повторной установки значений напряжения этих ячеек равными высокому порогу напряжения, или, наоборот, для ячеек, которые идентифицированы как находящиеся в «высоком» состоянии. В некоторых вариантах осуществления изобретения значение напряжения для операции записи может быть выбрано на основе, по меньшей мере, частично проверки на наличие ошибок, осуществленной в 510, и операция записи, осуществляемая в 530, может быть основана на записи значения напряжения в ячейку памяти, что приведет к отсутствию ошибки при проверке на наличие ошибок в ходе операции чтения значения напряжения ячейки. Далее процесс может закончиться в 525. Хотя приведенные выше процессы описаны для всей перекрестной энергонезависимой памяти из примера, процесс, описанный при рассмотрении фиг. 3, 4 и 5, может быть использован только для конкретного кристалла, страницы в кристалле, блоков я