Управление удалением в системах памяти

Иллюстрации

Показать все

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

Реферат

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

Варианты осуществления настоящего раскрытия, в общем, относятся к управлению данными в системе памяти.

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

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

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

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

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

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

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

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

На фиг. 2 показана схема, в качестве примера, иллюстрирующая потерю запаса RWB в соответствии с обычными технологиями.

На фиг. 3 показана схема, в качестве примера, иллюстрирующая энергонезависимую систему памяти в соответствии с представленными здесь вариантами осуществления.

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

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

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

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

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

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

Подробное описание вариантов осуществления

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

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

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

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

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

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

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

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

Как представлено на графике 110-1, первоначально множество ячеек сохранения энергонезависимого запоминающего устройства программируют с разными уровнями L0, L1, L2 и L3. В качестве неограничительного примера каждая из множества ячеек сохранения может представлять собой элемент сохранения на основе многоуровневой ячейки NAND или одноуровневой ячейки NAND, выполненных с возможностью сохранения двух битов информации.

Когда значение записывают в соответствующую ячейку, заряд прикладывают к плавающему затвору. Различное количество заряда прикладывают к соответствующей ячейке для записи разных установок бита в ячейку. Например, предполагая 2 бита на ячейку в многоуровневом устройстве ячейки, первая величина заряда прикладывается для установки соответствующей ячейки к значению бита 11; вторая величина заряда прикладывается для установки соответствующей ячейки в значение бита 10; третья величина заряда прикладывается для установки соответствующей ячейки в значение бита 01; четвертая величина заряда прикладывается для установки соответствующей ячейки в значение бита 00. Напряжение Vt (при считывании состояния ячейки) изменяется в зависимости от установки соответствующей ячейки и приложенного заряда.

Показание Vt ячейки в пределах диапазона R0 обозначает, что ячейка установлена в значение бита 11; показание Vt ячейки в пределах диапазона R1 обозначает, что ячейка установлена в значение бита 10; показание Vt ячейки в пределах диапазона R2 обозначает ячейку, установленную в значение бита 01; и показание Vt ячейки в пределах диапазона R3 обозначает, что ячейка установлена в значение бита 00.

Уровень Vt (пороговое напряжение) (представляет величину захваченного заряда во время программирования) детектируемой ячейки обозначает соответствующее состояние, на которое запрограммирована соответствующая ячейка при последующем считывании ячейки. Например, уровень L0 на графике 110-1 представляет распределение Vt для множества ячеек в запоминающем устройстве, запрограммированном с данными = 11; уровень L1 представляет собой распределение Vt для множества ячеек в запоминающем устройстве, запрограммированном с данными = 10; уровень L2 представляет распределение Vt или множество ячеек в запоминающем устройстве, запрограммированном с данными=01; уровень L3 представляет распределение Vt для множества ячеек в запоминающем устройстве, запрограммированном с данными = 00.

При считывании, все ячейки сохранения, запрограммированные на уровне L0 (например, для значения данных 11) формируют соответствующее Vt в пределах диапазона R0; все ячейки сохранения, запрограммированные на уровне L1 (например, для значения данных 10), имеют соответствующее Vt в пределах диапазона R1; все ячейки сохранения, запрограммированные на уровне L2 (например, для значения данных 01), имеют соответствующее Vt в пределах диапазона R2; все ячейки сохранения, запрограммированные на уровне L3 (например, для значения данных 00), имеют соответствующее Vt в пределах диапазона R3. Каждое напряжение Vt представляет уровень напряжения, детектированный соответствующей схемой, которая считывает состояние ячейки.

Предположим в этом примере, что на графике 110-1 показано распределение исходного состояния ячеек памяти, установленное на различные логические уровни непосредственно после программирования.

Предположим, кроме того, в этом примере, что ячейки памяти ранее длительное время находились в состоянии удаленных данных, которое больше, чем несколько дней. Другими словами, перед программированием до исходного состояния, как на графике 110-1, данные в ячейках памяти были удалены, и ячейки оставались в состоянии удаленных данных в течение существенной продолжительности времени (то есть, предположим, что все ячейки сохранения были установлены в состояние удаленных данных с уровнем L0 в течение нескольких дней).

На графике 110-2 иллюстрируется деградация рабочих характеристик сохранения, которые происходят в результате поддержания ячеек сохранения в состоянии удаленных данных в течение слишком длительного времени. Первоначально, распределение установок является таким, как показано на графике 110-1. Однако, поскольку ячейки сохранения находились в состоянии удаленных данных в течение длительного периода времени, как было описано ранее, установки деградируют с течением времени. Более конкретно, скорость собственных потерь заряда выше в результате пребывания в состоянии удаленных данных в течение длительного времени; скорость деградации запаса RBW также становится больше.

В этом примере, из-за собственной потери заряда, в течение времени, совокупность распределений Vt для ячеек, запрограммированных на уровнях L0, L1, L2, L3 сдвигается влево от графика 110-1 к графику 110-2. В этом примере пик R1 представляет распределение пика на уровне L1 на графике 110-1; пик R1' представляет распределение пика на уровне L1 на графике 110-2. Как показано, пик R1' сдвинут относительно пика R1. Разница между R1 и R1' представляет величину сдвига.

Кроме того, с течением времени, распределение Vt расширяется от исходного состояния, как на графике 110-1, до распределений, показанных на графике 110-2. Например, запас RWB в исходном состоянии программирования ячеек сохранения равен сумме диапазонов Е0, E1, Е2, Е3, Е4 и Е5 на графике 110-1. Достаточно большие запасы между уровнями обеспечивают, что становится возможным различить, какой уровень соответствующей ячейки сохранения установлен. Как упомянуто, с течением времени, поскольку ячейки сохранения находились состоянии удаленных данных в течение достаточно длительного времени в данном примере, распределения, ассоциированные с ячейками сохранения, деградируют с течением времени. Таким образом, как показано на графике 110-2, в дополнение к сдвигу, как описано выше, каждое из распределений Vt для разных уровней L0, L1, L2 и L3 расширяют таким образом, что запас RWB уменьшается до точки, где трудно или, вероятно, больше невозможно определять правильные установки для ячеек сохранения.

Например, ячейка сохранения, первоначально запрограммированная для уровня L1 на графике 110-1, может выглядеть, как установленная на уровень L0 из-за сдвига и/или расширения распределения, как показано на графике 110-2. И, наоборот, ячейка сохранения, первоначально запрограммированная на уровень L0 на графике 110-1, может выглядеть, как установленная до уровня L1, из-за сдвига и/или расширения распределения, как показано на графике 110-2, и так далее. Соответственно, деградация характеристик сохранения, как показано на графике 110-2, возникшая из пребывания в состоянии удаленных данных в течение длительного времени, является нежелательной.

На фиг. 2 показана примерная схема, иллюстрирующая теоретические потери запаса RWB, в соответствии с обычными технологиями.

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

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

Как показано, примерная система 100 памяти включает в себя логику 140 управления данными и одно или больше запоминающих устройств, таких как запоминающее устройство 110-А, запоминающее устройство 110-В, запоминающее устройство 110-С и т.д. (все вместе, запоминающее устройство 110) для сохранения данных. Система 100 памяти может включать в себя строку из любого соответствующего количества запоминающих устройств 100.

Система 100 памяти может представлять собой часть таких устройств, как твердотельный привод (SSD), включающий в себя множество запоминающих устройств. Как описано здесь, технология расслоения данных (например, в которой части строки данных сохраняют в каждом из множества устройств) может использоваться для сохранения данных.

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

Следует отметить, что каждый из ресурсов, раскрытых на фиг. 1, может представлять собой любой соответствующий тип ресурса. Например, устройства 110 памяти (например, устройство флэш NAND, устройство флэш NOR, магниторезистивное оперативное запоминающее устройство, ферроэлектрическое оперативное запоминающее устройство, трехмерное матричное запоминающее устройство и т.д.) могут включать в себя одну или больше плоскостей сохранения (например, архитектуру двух плоскостей, которая разделяет устройство на две физические плоскости, состоящие из четных и нечетных блоков), для сохранения данных.

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

В качестве неограничительного примера каждое из устройств 110 памяти может включать в себя множество ячеек сохранения для сохранения соответствующих данных. Например, запоминающее устройство 110-А включает в себя блок 120-А1, блок 120-А2, блок 120-А3 и так далее; запоминающее устройство 110-В включает в себя блок 120-В1, блок 120-В2, блок 120-В3 и так далее; запоминающее устройство 110-С включает в себя блок 120-С1, блок 120-С2, блок 120-С3 и так далее.

Каждый блок включает в себя множество страниц; каждая страница в блоке включает в себя множество ячеек сохранения для сохранения соответствующих данных. В качестве примера, область 210-2 включает в себя страницу 245-Х, такую как строка битовой информации, сохраненная среди множества запоминающих устройств 110.

Как показано, каждая область (или полоса) в системе 100 памяти может включать в себя полосу блоков из множества запоминающих устройств 110. В таком неограничительном примерном варианте осуществления область 210-1 включает в себя блок 120-А1, блок; 120-В1, блок 120-С1 и т.д.; область 210-2 включает в себя блок 120-А2, блок 120-В2, блок 120-С2 и т.д.; область 210-3 включает в себя блок 120-А3, блок 120-В3, блок 120-С3 и т.д.; и так далее.

В одном неограничительном примерном варианте осуществления элементы памяти в каждом блоке выполнены, как многоуровневые ячейки; каждый из элементов памяти выполнен с возможностью сохранения множества битов данных, как упомянуто выше. Как упомянуто выше, в зависимости от варианта осуществления, каждая ячейка может быть выполнена с возможностью сохранения одного или множества битов данных, в зависимости от установки режима - количества битов на ячейку (например, многоуровневая ячейка MLC, одноуровневая ячейка SLC и т.д.).

В соответствии с этим, ресурсы сохранения в запоминающих устройствах 110 могут быть разделены на множество областей, включающих в себя область 210-1, область 210-2, область 210-3 и т.д. В одном варианте осуществления область 210-1 представляет первую полосу, область 210-2 представляет вторую полосу, область 210-3 представляет третью полосу и так далее.

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

После приема уведомления в том, что данные, сохраненные в соответствующей области, больше не являются действительными, логика 140 управления данными сохраняет идентичность вновь удаленной области данных в списке 320. В этом примерном варианте осуществления, список 320 обозначает, что область 210-5, область 210-6 …, область 210-2, были отключены, и все они содержат недействительные данные (например, данные больше не предназначены для какого-либо использования).

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

Предположим в этом примере, что логика 140 управления данными принимает уведомление о том, что данные, сохраненные в соответствующей области 210-2 ячеек сохранения в системе 100 памяти, теперь содержат недействительные данные. В ответ на прием этого уведомления логика 140 управления данными помечает область 210-2, как содержащую недействительные данные. Это может включать в себя сохранение идентичности области 210-2 в списке 320. В дополнение к или в качестве альтернативы, представленные здесь дополнительные варианты осуществления могут включать в себя модификацию, по меньшей мере, части данных, сохраненных в отключенной области, для обозначения, что сохраненные в ней данные больше не являются действительными или пригодными для использования данными.

Через некоторое время после того, как область была помечена, как содержащая недействительные данные, логика 140 управления данными записывает данные замещения во все или часть ячеек сохранения в области 210. Для обеспечения повышенных рабочих характеристик по сохранению, и для исключения чрезмерной деградации RWB и излишних собственных потерь заряда, логика 140 управления данными управляет периодом времени, в течение которого ячейки сохранения установлены в состояние удаленных данных, перед последующей перезаписью с соответствующими данными замещения в ячейках сохранения в области 210-2.

Как описано здесь, представленный здесь вариант осуществления включает в себя задержку операции по удалению недействительных данных в ячейках сохранения в области 210-2 и замене недействительных данных данными замещения. Например, логика 140 управления данными выполняет задержку операции удаления (которая требуется перед записью данных замещения в ячейках сохранения), для уменьшения времени, в течение которого ячейки сохранения находятся в состоянии удаления до уровня меньше, чем заданное пороговое значение времени. Уменьшение времени пребывания в состоянии удаленных данных до значения ниже заданного порогового значения времени в отношении последующих случаев перезаписи данных в областях обеспечивает то, что система 100 памяти будет обеспечивать определенный уровень рабочих характеристик в течение своего полезного срока службы.

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

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

Как было описано ранее, определенные области данных, сохраненные в системе 100 памяти, могут, в конечном итоге, стать недействительными. Состояние 420 представляет области, которые были отключены и теперь содержат недействительные данные. В ответ на детектирование, что область была отключена или помещена в состояние 420 недействительных данных, логика 140 управления данными сохраняет идентичность области, включающей в себя недействительные данные в списке 320. Любой соответствующий способ может использоваться для маркировки или пометки отключенной области.

В одном варианте осуществления, поскольку новые области необходимы для сохранения данных 490 замещения, принимаемых логикой 140 управления данными, логика 140 управления данными инициирует выполнение функции 430 удаления данных. Например, предположим, что текущая область 450 представляет собой область 210-3, и что область 210-4 представляет собой зарезервированную область 440. После завершения программирования текущей области 450 (области 210-3) логика 140 управления данными устанавливает область 210-3 в записанное состояние 410. Как описано ниже, область 210-3 может быть удалена, поскольку больше нет свободных ячеек сохранения, в которых можно записать новые данные в области 210-3, или пришло время для этого. Как пояснялось здесь, данные области памяти могут быть удалены и затем записаны в пределах определенного окна времени. После истечения окна времени область может быть отключена в записанное состояние 410, в котором область больше не доступна для записи данных. Область может быть отключена даже при том, что действительные данные не были записаны во всю область. В соответствии с этим, время удаления области меньше, чем окно времени. Дополнительные детали описаны ниже. Следует отметить, что ячейки сохранения в области 210-4 установлены в состояние удаления данных функцией 430 удаления, когда область 210-4 была выделена, как зарезервированная область 440 из списка 320.

Для заполнения вакантных мест в зарезервированной области 440 (поскольку область 210-4 переместили в текущую область 450), логика 140 управления данными применяет функцию 430 удаления данных для следующей доступной области (например, области 210-5) в списке 320. Применение функции 430 удаления включает в себя удаление данных, по существу, во всех ячейках сохранения в соответствующей области до состояния удаленных данных. После обозначения области 210-4, в качестве текущей области 450, логика 140 управления данными обозначает область 210-5 (в состоянии удаленных данных), в качестве зарезервированной области 440.

В одном варианте осуществления логика 140 управления данными запускает таймер 555 в момент времени установки области 210-4 в качестве текущей области 450, в течение работы которого любые доступные данные 490 замещения сохраняют в области 210-4. Таймер 555 отслеживает, в течение какого времени область 210-4 обозначена, как текущая область 450, и используется логика 140 управления данными для сохранения вновь принятых данных 490.

Возможно, что логика 140 управления данными не получит достаточное количество данных 490 замещения для программирования всех ячеек сохранения в пределах области 210-4 в течение установленного временного фрейма. Следует учитывать, что данные текущей области 450 были недавно удалены. А также следует учитывать, что желательно уменьшить время пребывания удаленных данных (то есть, время, в течение которое ячейки сохранения в соответствующей области установлены в состояние удаленных данных перед записью действительных данных). В одном варианте осуществления, в ответ на детектирование, что таймер 555 достигает порогового значения времени такого как 1,5 дня после установки области 210-4 в качестве текущей области 450, и независимо от того, были ли все ячейки сохранения в области 210-4 полностью записаны новыми данными 490 замещения, логика 140 управления данными отключает область 210-4, переводя ее в записанное состояние 410. Отключение области 210-4 и перевод ее в записанное состояние 410 (вместо того, чтобы оставить ее в качестве текущей области 450 неопределенное время) означает, что область 210-4 больше не будет доступна для записи дополнительных данных. Это поддерживает время нахождения в состоянии удаленных данных в области 210-4 в пределах порогового значения. Например, область 210-4 содержится в состоянии удаленных данных, в качестве зарезервированной области 440 не больше, чем 1,5 дня (пороговое значение времени); область 210-4 содержится в состоянии удаленных данных, как текущая область 450, в течение не больше, чем 1,5 дня (пороговое значение времени). Таким образом, в этом примерном варианте осуществления, область 210-4 находится в состоянии удаленных данных максимум 3 дня.

В одном варианте осуществления, часть ячеек сохранения с удаленными данными (если в таких ячейках сохранения с удаленными данными не будет выполнена запись, когда область 210-4 представляет собой текущую область 450) программируют значения, которые не были подвергнуты удалению (такие как значение 01, значение 10 или значение 00) непосредственно перед тем, как текущая область 450 будет отключена с переводом в записанное состояние 410. Таким образом, области, отключенные с переводом в записанное состояние 410, не будут полностью заполнены удаленными значениями (такие как значения 11 данных). Это ограничивает период времени, в течение которого ячейки сохранения в области 210-4 остаются в состоянии удаленных данных.

На основе переходов области 210-4 из списка 320 (такого как очередь) в зарезервированную область 440 и текущую область 450, ячейки сохранения в области 210-4 выдерживают время пребывания в состоянии удаленных данных вплоть до 3 дней, как упомянуто выше. Более конкретно, область 210-4 остается в зарезервированной области 440 самое большее в течение 1,5 дней; область 210-4 остается в текущей области 450 в течение самое большее 1,5 дня. Таким образом, все или часть ячеек сохранения в области 210-4 поддерживает максимальное время пребывания в состоянии удаленных данных 3 дня. Аналогично, каждая из областей может находиться в состоянии удаленных данных в течение максимум 3 дней. Конечно, максимальное время пребывания в состоянии удаленных данных не обязательно должно составлять 3 дня и может иметь любое соответствующее значение.

Кроме того, следует отметить, что области могут не находиться в состоянии удаленных данных в течение максимального периода времени, поскольку логика 140 управления данными может быть выполнена с возможностью немедленного сохранения данных 490 в соответствующих ячейках сохранения области 210-3 и области 210-4. В таком случае время пребывания в состоянии удаленных данных для каждой области составляет намного меньше чем 3 дня. Время пребывания в состоянии удаленных данных может составлять порядка меньше чем 1 секунда.

Управление временем пребывания в состоянии удаленных данных, таким образом, уменьшает скорость собственной потери заряда и скорость потери запаса RWB, ассоциированного с данными 490 замещения, сохраненными в ячейках сохранения области 210-4 (и в других областях). Как упомянуто выше, скорость собственной потери заряда и скорость потери запаса RWB зависят от периода времени, в течение которого установки ячеек сохранения в области 210-4 устанавливают в состояние удаленных данных прежде, чем данные замещения будут сохранены в ячейках сохранения.

Как упомянуто выше, возможно, чтобы область 210-3 (когда она обозначена, как текущая область 450) была заполнена данными 490 замещения прежде, чем истечет время. В таком случае логика управления данными выбирает и выполняет сдвиг зарезервированной области 440, как области, которая представляет собой новую текущую область 450. При этом логика 140 управления данными выполняет задержку операции удаления недействительных данных в каждой из областей, как в списке 320. Логика 140 управления данными может быть выполнена с возможностью отслеживать необходимость в новом пространстве для сохранения данных 490 замещения в системе 100 памяти.

В качестве альтернативы немедленному удалению недействительных данных в соответствующих отключенных областях, как установлено в списке 320, логика 140 управления данными может быть выполнена с возможностью удаления недействительных данных в областях сохранения, по мере возникновения потребности сохранения данных 490 замещения. Другими словами, логика 140 управления данными поддерживает установку ячеек сохранения в предварительно запрограммированном состоянии для сохранения недействительных данных до тех пор, пока функция 430 удаления не получит команду на удаление ячейки сохранения. Как было отмечено ранее, команда, принятая функцией 430 удаления из логики 140 управления данными, может быть принята в ответ на детектирование, что резервная полоса (такая как зарезервированная область 440) была перераспределена, как текущая полоса (такая как текущая область 450), в которой сохраняют вновь принятые данные. Логика 140 управления данными обозначает область с вновь удаленными данными ячеек сохранения, в качестве зарезервированной области 440.

Следует отметить, что текущая область 450 и зарезервированная область 440 могут включать в себя любое количество областей. Например, логика 140 управления данными может быть выполнена с возможностью детектировать, когда и как множество областей потребуется для сохранения данных 490 замещения. В таком случае логика 140 управления данными может быть выполнена с возможностью управления скоростью удаления данных в областях и делать их доступными в качестве зарезервированных областей.

Если, по меньшей мере, одна область доступна в зарезервированной области 440, обеспечивается то, что логика 140 управления данными будет работать без задержек, при сохранении данных 490 замещения в системе 100 памяти. Например, после перехода зарезервированной области 440 в текущую область 450, логика 140 управления данными инициирует удаление данных в новой облас