УПРАВЛЕНИЕ УДАЛЕНИЕМ В СИСТЕМАХ ПАМЯТИ
REMOVAL MANAGEMENT WITHIN MEMORY SYSTEM

Область техники, к которой относится изобретение
Варианты осуществления настоящего раскрытия, в общем, относятся к управлению данными в системе памяти.
Уровень техники
Компьютерные системы давно используются, как устройства для хранения данных. Например, обычный привод жесткого диска (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 управления данными инициирует удаление данных в новой области, как в зарезервированной области 440 таким образом, что данные в следующей области будут удалены до того, как они потребуются. В одном варианте осуществления время удаления данных в области составляет 3-10 миллисекунд. Время программы для модификации установок ячеек сохранения в области или полосе может составлять приблизительно 1 секунду.
На фиг. 5 показана примерная схема, иллюстрирующая уменьшенную деградацию рабочих характеристик при сохранении данных в ячейках сохранения в соответствии с представленными здесь вариантами осуществления.
В отличие от фиг. 1, как описано выше, на фиг. 5 иллюстрируется польза задержки и/или уменьшения времени, в течение которого ячейки устанавливают в состояние удаленных данных, в соответствии с представленными здесь вариантами осуществления. Как показано, ячейки сохранения могут подвергаться определенной деградации при удалении данных. Например, предположим, что в ячейки сохранения были записаны значения, имеющие такое распределение, как показано на графике 510-1. График 510-2 иллюстрирует состояние ячеек сохранения через определенное время. Наблюдается небольшой сдвиг распределения влево на графике 510-2 относительно графика 510-1. Однако, как показано, сокращенное время пребывания состояния удаленных данных обеспечивает то, что деградация сохраненных данных происходит с намного более медленной скоростью, чем в случае, когда ячейки сохранения содержатся в течение длительного времени в состоянии удаленных данных, как показано на фиг. 1.
На фиг. 6 представлена примерная схема, иллюстрирующая частичное удаление данных в ячейках сохранения, в соответствии с представленными здесь вариантами осуществления.
Возможны случаи, в которых желательно предотвращать доступ к или разрушать недействительные данные перед их удалением, используя функцию 430 удаления данных. Постановка в очередь областей в списке 320, как описано здесь, может привести к появлению соответствующей области, в которой содержатся недействительные данные в течение существенного периода времени.
Один из способов разрушения недействительных данных после отключения с переводом в список 320 состоит в удалении данных в соответствующей области ячеек сохранения для разрушения недействительных данных после приема уведомления о том, что в области содержится 100% недействительных данных. Для того чтобы сделать данные недоступными, представленные здесь варианты осуществления могут включать в себя удаление области и программирование области ячеек сохранения временными данными. Как упомянуто, идентичность области, которая была отключена, может оставаться в списке 320 в течение значительного периода времени. В соответствии с одним вариантом осуществления, вместо сохранения недействительных данных, в то время как идентичность области находится в очереди в списке 320, соответствующая область сохраняет временные данные перед последующей перезаписью новыми данными 490. Данный вариант осуществления может влиять на срок службы системы 100 памяти, поскольку он требует дополнительной операции предварительного программирования ячеек сохранения в отключенной области временными данными. Временные данные впоследствии удаляют и перезаписывают данными 490 замены. Временные данные могут иметь аналогичное распределение, как и у данных, показанных на графике 510-1.
Другой способ удаления недействительных данных состоит в выполнении, так называемого, частного удаления вновь отключенной области. В таком случае, логика 140 управления данными программирует, по меньшей мере, часть ячеек сохранения в области до состояний не удаленных данных (например, других состояний, чем уровень L0).
В качестве дополнительного примера, график 610-1 иллюстрирует пример распределения, ассоциированного с ячейками сохранения в области. Предположим, что на графике 610-1 представлены установки недействительных данных в области данных, которые должны быть разрушены. В одном варианте осуществления логика 140 управления данными увеличивает пороговое значение TEV1 удаления данных, ассоциированное с ячейками сохранения, так, чтобы оно было приблизительно равно значению PV2 (или некоторому другому соответствующему значению, большему чем TEV1) на графике 610-1. Другими словами, логика 140 управления данными устанавливает пороговое значение удаления до TEV2, как показано на графике 610-2.
Логика 140 управления данными затем модифицирует установки битов ячеек сохранения во вновь отключенной области так, чтобы они попадали в пределы диапазона, определенного увеличенным пороговым значением удаления данных (модифицированное пороговое значение TEV2 удаления данных). Оригинальное пороговое значение TEV1 удаления данных использовали, как основу для определения оригинальных установок, ассоциированных с ячейками сохранения, как показано на графике 610-1.
Логика 140 управления данными модифицирует установки ячеек сохранения в области для формирования распределения установок, как показано на графике 610-2. Такое новое распределение включает в себя установку достаточного количества ячеек сохранения во вновь отключенной области для состояний не удаленных данных за пределами уровня L0. Такой тип удаления данных разрушает недействительные данные в ячейках сохранения таким образом, что недействительные данные становятся больше недоступными. Кроме того, поскольку эффективность распределения охватывает состояние удаленных данных (например, уровень L0) и, по меньшей мере, состояние не удаленных данных (такое как уровень L1, диапазон Е1, диапазон Е2), на область ячеек сохранения не будет оказывать существенное влияние длительное время в состоянии удаленных данных, как было описано ранее. Другими словами, распределение установок в модифицированных ячейках сохранения, как показано на графике 610-2, является достаточно разнообразным так, что оно не оказывает отрицательного влияния на ячейки сохранения, если они не будет заменены в течение длительных периодов времени.
Следует отметить, что все или часть вторичных ячеек сохранения в соответствующей области могут быть частично удалены таким образом, что недействительные данные больше не будут доступны.
Учитывая описанные выше варианты осуществления, дополнительные варианты осуществления, представленные здесь, могут включать в себя прием команды для модификации недействительных данных в ячейках сохранения, для предотвращения доступа к таким данным и использования таких данных.
В ответ на прием команды логика 140 управления данными модифицирует менее, чем весь участок установок ячеек данных в области в состояние не удаленных данных, в котором происходит нарушение или уничтожение недействительных данных. Другими словами, оригинальные данные модифицируют из их исходного состояния. Часть или группа ячеек сохранения, ранее установленных на уровень L2 и/или уровень L3 на графике 610-1 изменяют на установки Vt вокруг уровня L1 (состояние не удаленных данных) и/или уровень L0 на графике 610-2.
В качестве более конкретного примера, область ячеек сохранения, как представлено на графике 610-1, может включать в себя последовательность оригинальных данных, таких как: ячейка #1 сохранения = 11 (состояние удаленных данных); ячейка #2 сохранения = 10 (состояние неудаленных данных); ячейка #3 сохранения = 00 (состояние не удаленных данных); ячейка #4 сохранения = 10 (состояние не удаленных данных); ячейка #5 сохранения = 11 (состояние удаления); ячейка #6 сохранения = 00 (состояние не удаленных данных); ячейка #7 сохранения = 01 (состояние не удаленных данных); ячейка #8 сохранения = 00 (состояние не удаленных данных); и так далее.
Предположим, что в ответ на отключение области логика 140 управления данными модифицирует состояния через частное удаление, как описано выше, с тем, чтобы сделать данные недоступными. Область, как представлено графиком 610-2, после применения частичного удаления, может включать в себя ячейки сохранения, выполненные с возможностью сохранения последовательности данных, такие как: ячейка #1 сохранения = 11 (состояние удаления); ячейка #2 сохранения = 10 (состояние не удаленных данных); ячейка #3 сохранения = 10 (состояние не удаленных данных); ячейка #4 сохранения = 10 (состояние не удаленных данных); ячейка #5 сохранения = 11 (состояние удаления); ячейка #6 сохранения = 10 (состояние не удаленных данных); ячейка #7 сохранения - 10 (состояние не удаленных данных); ячейка #8 сохранения = 11 (состояние удаления); и так далее.
Следует отметить, что в результате частичного удаления, как описано здесь, в определенных ячейках сохранения во вновь отключенной области могут быть установлены пороговые значения, такие как между диапазоном Е0, El, Е2 и Е3.
Как было описано ранее, изменения установки первой группы ячеек в области недействительных данных с первого состояния не удаленных данных (такого как уровень L2 и/или уровень L3) на второе состояние не удаленных данных (такое как уровень L1), приводит к тому, что недействительные данные становятся недоступными. Изменение установок данных в ячейках сохранения также исключает проблемы повреждения ячеек сохранения, поскольку ячейки сохранения поддерживаются в таком состоянии, как показано на графике 610-2, в течение длительного периода времени. Другими словами, на ячейки не воздействует длительное время пребывания в состоянии удаленных данных, когда они установлены в установки, показанные на графике 610-2.
В конечном итоге, отключенная область с частично удаленными данными ячеек сохранения (установки которой представлены установками на графике 610-2) находится следующей в списке 320, который должен быть обозначен, как зарезервированная область 440. В таком случае функция 430 удаления удаляет все ячейки сохранения в области, которая находится в пределах уровня L0 (состояние удаления), в соответствии с пороговым значением TEV1 удаления данных. Как указано, логика 140 управления данными затем записывает (программирует) соответствующую область ячеек сохранения, когда ее последовательно обозначают, как текущую область 450. Однако, следует отметить, что при повторном сохранении данных 490 замены в ячейках сохранения области логика 140 управления данными устанавливает каждую из ячеек так, чтобы она попадала в пределы соответствующего уровня L0, L1, L2 или L3, в зависимости от данных замещения, которые должны быть сохранены. В соответствии с этим, после последующего считывания ячеек сохранения в области, ячейки сохранения будут установлены в одно из множества состояний.
И снова, обращаясь к фиг. 4, следует отметить, что список 320 может быть сохранен в энергонезависимом запоминающем устройстве таким образом, что данные могут быть восстановлены после неожиданного отказа питания. Однако, следует отметить, что в некоторых вариантах осуществления, список 320 может быть нарушен при соответствующем нарушении питания. Другими словами, отказ питания может привести к полной потере списка 320, поскольку список содержится в энергозависимом запоминающем устройстве.
Учитывая возможные отказы питания системы 100 памяти, один из представленных здесь вариантом осуществления может включать в себя маркировку одной или больше областей недействительных данных для обозначения, что соответствующая область включает в себя недействительные данные. Например, после детектирования, что область была отключена в недействительное состояние 420, логика 140 управления данными может быть выполнена с возможностью модификации данных, сохраненных в заданном местоположении, в других областях, для обозначения, что соответствующая область включает в себя недействительные данные. После отказа питания, при последующем включении питания логика 140 управления данными может быть выполнена с возможностью доступа и использования установок данных в заданных местах положения, в соответствующей области для определения, содержит ли соответствующая область действительные или недействительные данные. Для тех областей, которые содержат недействительные данные, логика 140 управления данными включает в себя идентичности областей в списке 320 и работает так, как описано выше. Такие области в списке 320, которые включают в себя недействительные данные, не используются для формирования логической - физической таблицы, обеспечивающей возможность отображения логических адресов на соответствующие физические места положения в памяти, где содержатся данные.
Варианты осуществления, представленные здесь, могут включать в себя модификацию данных в заданных местах положения для обеспечения того, что последующий отказ считывания произойдет при попытке считать заданное местоположение после включения питания. В одном варианте осуществления последующий отказ считывания, выполняемого логикой управления данными после восстановления питания, обозначает, что соответствующая область включает в себя недействительные данные.
Как упомянуто выше, другой представленный здесь вариант осуществления может включать в себя выполнение, так называемого, частичного удаления или нарушение (невозможности последующего считывания), в котором все или часть данных (такая как последняя страница или строка, содержащая слово) в соответствующей полосе будут частично удалены. В состоянии частичного удаления данных на графике 610-2, после последующего включения питания соответствующего вычислительного устройства, включающего в себя систему 100 памяти, логика 140 управления данными может быть выполнена с возможностью попытаться выполнить считывание из соответствующей страницы в области, которая была частично удалена. Когда логика 140 управления данными делает попытку считать такие данные в соответствии с заданными уровнями L0, L1, L2 и L3, возникает ошибка считывания ЕСС (кода коррекции ошибок), или ошибка четности, таким образом, обозначая, что область (или полоса) включает в себя недействительные данные.
Еще один, другой способ восстановления после отказа питания может включать в себя реконструкцию L2P (логического на физическое) отображения, ассоциированного с системой 100 памяти. Например, предполагается, что первоначально все блоки в области сохраняют действительные данные (даже если они содержат недействительные данные). Данные, содержащиеся в каждой из соответствующих полос, могут использоваться для определения, указывает ли, по меньшей мере, один адрес логического блока (LBA) при отображении L2P на местоположение (такое как блок) в соответствующей области. Если не будет найден указатель на адрес логического блока, который указывает на какой-либо из блоков в полосе, где формируется отображение L2P, тогда полоса (например, область) определяется, как включающая в себя недействительные данные. Идентичность любых областей, имеющих все недействительные данные, затем включают в список 320.
В соответствии с еще другими дополнительными вариантами осуществления, логика 140 управления данными может быть выполнена с возможностью сохранения копии идентичности областей в списке 320 в обозначенной области, такой как первая страница текущей области 450. Например, в одном варианте осуществления, логика 140 управления данными сохраняет идентичности (список 320) в заданном местоположении текущей области 450, такой как первая страница, после обозначения области, в качестве текущей области 450.
После сохранения идентичности в текущей области 450, на первой странице, предполагается, что в системе 100 памяти происходит отказ питания, при котором питание всех запоминающих устройств 110 отключается без предварительного уведомления. Например, неожиданный отказ питания может произойти, в то время как текущая область 450 используется логикой 140 управления данными для сохранения принятых данных. Предположим, что питание восстанавливается при последующем включении системы, логика 140 управления данными (или другой соответствующий ресурс) может быть выполнена с возможностью идентификации, какая из областей 210 была обозначена, как последняя текущая область 450, используемая логикой 140 управления данными перед отказом питания.
Любой соответствующий способ может использоваться для определения последней текущей области 450 после повторного включения питания системы. Например, в одном варианте осуществления, перед отказом питания, логика 140 управления данными сохраняет идентичности в списке 320 на обозначенной странице (такой как первая страница) текущей области 450. Поскольку возникает отказ питания, логика 140 управления данными не имеет возможности записи на последнюю страницу текущей области 450. Поэтому, последняя страница текущей области 450 все еще находится в состоянии удаленных данных. Следует отметить, что все страницы в зарезервированной области 440 установлены в состояние удаленных данных. Текущая область 450 ранее представляла собой зарезервированную область 440 и в состоянии удаленных данных.
После отказа питания и повторного включения системы 100 памяти, логика 140 управления данными считывает состояние последней страницы каждой области в системе 100 памяти. На основе считывания последней страницы каждой области, логика 140 управления данными идентифицирует две области - кандидаты (последняя текущая область 450 и последняя зарезервированная область 440) в качестве возможной последней текущей области 450. Две области - кандидаты включают в себя последнюю страницу удаленных данных. Логика 140 управления данными считывает первую страницу двух областей - кандидатов для определения, какая одна из них представляет собой последнюю текущую область 450. Например, одна из двух областей - кандидатов, в которой записана первая страница, представляет собой область, которая представляла собой последнюю текущую область 450. Напомним, что логика 140 управления данными записывает список 320 на первую страницу текущей области 450. Другая область - кандидат (предыдущая зарезервированная область 440) будет иметь страницу удаленных данных. Таким образом, предыдущая текущая область 450 будет идентифицирована, как единственная частично записанная полоса, включающая в себя записанные данные на первой странице и удаленные данные на последней странице. Зарезервированная область 440 будет включать в себя первую страницу удаленных данных и последнюю страницу удаленных данных. В таком случае она определяется, как область, используемая, как предыдущая зарезервированная область 440 перед отказом питания.
После идентификации конкретной полосы (или области), которая была обозначена, как текущая область 450 перед отказом питания, логика 140 управления данными (или другой соответствующий ресурс) будет считывать список 320 восстановления из соответствующей первой страницы текущей области 450 и затем исключает такие области (например, область 210-5, 210-6, 210-12, и т.д.) в списке из таблицы конструкций L2P. Таким образом, даже при том, что список 320 сохраняется в энергозависимом запоминающем устройстве и может быть потерян при отказе питания, варианты осуществления здесь могут включать в себя обновление списка 320 на основе данных, сохраненных в текущей области 450.
На фиг. 7 показан пример блок-схемы компьютерной системы для воплощения любой из операций, как описано здесь, в соответствии с представленными здесь вариантами осуществления.
Компьютерная система 850 может быть сконфигурирована для выполнения любой из операций в отношении логики 140 управления данными.
Как показано, компьютерная система 850 в настоящем примере может включать в себя взаимное соединение 811, которое соединяет считываемый компьютером носитель 812 сохранения, такой как физический носитель энергонезависимого типа (то есть, любой тип физического аппаратного носителя информации), в котором цифровая информация может быть сохранена и из которого она может быть получена, процессор 813 (то есть, одно или больше устройств обработки), интерфейс 814 I/O, интерфейс 817 передачи данных и т.д.
Как показано, интерфейс 814 I/O обеспечивает для компьютерной системы 850 возможности соединения для передачи данных, сохраненных в запоминающих устройствах 220.
Считываемый компьютером носитель 812 информации может представлять собой любое физическое или вещественное аппаратное устройство или устройства сохранения, такие как память, оптический накопитель, твердый диск, гибкий диск и т.д. В одном варианте осуществления считываемый компьютером носитель 812 сохранения (например, считываемый компьютером аппаратный накопитель) содержит инструкции и/или данные.
В одном варианте осуществления интерфейс 817 передачи данных обеспечивает для компьютерной системы 850 и соответствующего процессора 813 возможность передачи данных через ресурс, такой как сеть 190, для получения информации из удаленных источников и связи с другими компьютерами. Интерфейс 814 I/O обеспечивает для процессора 813 возможность получения сохраненной информации из хранилища, такого как запоминающие устройства 220.
Как показано, считываемый компьютером носитель 812 сохранения кодирован приложением 140-1 управления данными (например, программным обеспечением, встроенным программным обеспечением и т.д.), выполняемым процессором 813. Приложение 140-1 управления данными может быть выполнено так, что оно включают в себя инструкции для воплощения любой из операций, как описано здесь.
Во время работы в одном варианте осуществления, процессор 813 обращается к считываемому компьютером носителю 812 сохранения путем использования взаимного соединения 811 для того, чтобы запустить, обеспечить работу, выполнить, интерпретировать или по-другому выполнить инструкции в приложении 140-1 управления данными, сохраненном на считываемом компьютером носителе 812 сохранения.
Выполнение приложения 140-1 управления данными формирует функцию обработки, такую как обработка 140-2 управления данными в процессоре 813. Другими словами, обработка 140-2 управления данными, ассоциированная с процессором 813, представляет собой один или больше аспектов выполнения приложения 140-1 управления данными в пределах или в процессоре 813 в компьютерной системе 850.
Для специалиста в данной области техники будет понятно, что компьютерная система 850 может включать в себя другую обработку и/или компоненты программного обеспечения и аппаратных средств, такие, как операционная система, которая управляет выделением и использованием аппаратных ресурсов, программных ресурсов и т.д. для выполнения приложения 140-1 управления данными.
В соответствии с другими вариантами осуществления, следует отметить, что компьютерная система 850 может представлять собой различного типа устройства, включающие в себя, но без ограничений, мобильный компьютер, персональную компьютерную систему, беспроводное устройство, базовую станцию, устройство телефон, настольный компьютер, переносной компьютер, ноутбук, компьютер типа нетбук, систему универсального компьютера, переносной компьютер, рабочую станцию, сетевой компьютер, сервер приложений, устройство - накопитель, бытовое электронное устройство, такое как камера, видеокамера, телевизионная приставка, мобильное устройство, видеоигровая консоль, карманное видеоигровое устройство, периферийное устройство, такое как коммутатор, модем, маршрутизатор или, в общем, любой тип вычислительного или электронного устройства.
Функция, поддерживаемая разными ресурсами, будет описана ниже со ссылкой на блок-схему последовательности операций, показанную на фиг. 8. Следует отметить, что обработка на представленных ниже блок-схемах последовательности операций может выполняться в любом соответствующем порядке.
На фиг. 8 показана блок-схема 800 последовательности операций, иллюстрирующая примерный способ, в соответствии с вариантами осуществления.
Следует отметить, что здесь можно видеть некоторое совпадение с концепциями, описанными выше.
В блоке 810 обработки логика 140 управления данными принимает уведомление о том, что данные, сохраненные в области ячеек сохранения, в системе энергонезависимой памяти, содержат недействительные данные.
В блоке 820 обработки, в ответ на это уведомление, логика 140 управления данными помечает область, как содержащую недействительные данные.
В блоке 830 обработки логика 140 управления данными управляет временем, в течение которого ячейки сохранения находятся в состоянии удаленных данных, ассоциированном с перезаписью недействительных данных в ячейки сохранения данными замещения. В качестве неограничительного примера, логика 140 управления данными выполняет задержку удаления данных в ячейках сохранения, так, чтобы оно произошло ближе по времени к моменту, когда ячейки сохранения будут запрограммированы соответствующими данными замещения.
На фиг. 9 показана примерная схема, иллюстрирующая использование системы памяти в соответствующей компьютерной системе, в соответствии с представленными здесь вариантами осуществления.
Как показано, компьютерная система 1100 может включать в себя ресурс 1120 главного процессора и систему 100 памяти. Ресурс 1120 главного процессора может представлять собой или может включать в себя аппаратные средства компьютерного процессора, такие как одно или больше устройств процессора. В качестве неограничительного примера компьютерная система 1100 может представлять собой любой соответствующий тип ресурса, такой как персональный компьютер, сотовый телефон, мобильное устройство, камера и т.д., используя систему 100 памяти для сохранения данных.
В одном варианте осуществления система 100 памяти представляет собой твердотельный привод, используемый для сохранения данных.
Ресурс 1120 главного процессора имеет доступ к системе 100 памяти через интерфейс 1011. Интерфейс 1011 может представлять собой любое соответствующее соединение, обеспечивающее возможность передачи данных. Например, интерфейс 1011 может представлять собой SCSI (интерфейс малых компьютерных систем), SAS (SCSI с последовательным интерфейсом), SATA (последовательный интерфейс для подключения внешних устройств), USB (универсальная последовательная шина), шину PCIE (экспресс - шина для присоединения периферийных компонентов) и т.д.
Через интерфейс 1011 ресурс 1120 главного процессора компьютерной системы 1100 может получать данные из и сохранять данные в системе 100 памяти.
В качестве примера, предположим, что ресурс 1120 главного процессора принимает запрос для выполнения соответствующей функции, как определено входными данными 105 из операций, выполняемых пользователем, который выполняет операции со станцией 1100 для проверки. Ресурс 1120 главного процессора выполняет функцию, которая может включать в себя передачу запроса через интерфейс 1011 в логику 140 управления данными для получения данных по установленному логическому адресу. В дополнение к выполнению других функций, логика 140 управления данными может быть выполнена с возможностью отображения логического адреса на соответствующий физический адрес в системе 100 памяти и получения данных из энергонезависимых запоминающих устройств 220. После получения соответствующих данных из системы 100 памяти логика 140 управления данными передает полученные данные в ресурс 1120 главного процессора, удовлетворяя запрос на получение данных.
В одном неограничительном примерном варианте осуществления ресурс главного процессора инициирует отображение изображения на экране 130 дисплея, в зависимости от данных, принятых от логики 140 управления данными.
В качестве дополнительного примера следует отметить, что ресурс 1120 главного процессора может получать запрос на выполнение соответствующей функции, как установлено входными данными 105, получаемыми от пользователя. Ресурс 1120 главного процессора выполняет функцию и передает данные в логику 140 управления данными для сохранения данных по логическому адресу, как установлено ресурсом 1120 главного процессора. В ответ на прием запроса, логика 140 управления данными отображает логический адрес на соответствующий физический адрес и сохраняет принятые данные в соответствующем местоположении энергонезависимых запоминающих устройств 220.
Как описано выше, логика 140 управления данными может быть выполнена с возможностью управлять временем пребывания в состоянии удаления данных, в ассоциации с программированием ячеек сохранения в системе 100 памяти. Как было описано ранее, определенная степень деградации может быть приемлемой, поскольку информация коррекции ошибок может использоваться для восстановления поврежденных данных. Однако уменьшение времени пребывания в состоянии удаленных данных существенно увеличивает полезный срок службы системы 100 памяти.
Различные комбинации раскрытых примерных вариантов осуществления
Первый примерный вариант осуществления, описанный здесь, включает в себя способ, способ содержит: в ответ на прием уведомления о том, что данные, сохраненные в области ячеек сохранения в системе энергонезависимой памяти, содержат недействительные данные, маркируют область, как содержащую недействительные данные; и управляют временем, в течение которого область ячеек сохранения находится в состоянии удаления, ассоциированном с последующей перезаписью недействительных данных в ячейках сохранения данными замещения. Первый примерный вариант осуществления может быть воплощен вместе с любым из одного или больше следующих свойств, для получения дополнительных представленных ниже вариантов осуществления:
В одном варианте осуществления время представляет величину времени, в течение которого ячейки сохранения установлены в состояние удаленных данных перед последующей перезаписью данными замещения. Управление временем может включать в себя: задержку операции удаления недействительных данных в ячейках сохранения в области и замену недействительных данных данными замещения; задержанная операция уменьшает время до величины меньше заданного порогового значения.
Дополнительные представленные здесь варианты осуществления могут включать в себя запуск таймера, по существу, во время удавления данных в области ячеек сохранения; отслеживание таймера; и, использование области с удаленными данными ячеек сохранения для сохранения данных замещения до того, как таймер достигнет порогового значения времени.
В соответствии с дополнительными вариантами осуществления, задержка операции удаления недействительных данных может включать в себя: отслеживают необходимость в пространстве для сохранения в системе энергонезависимой памяти; и выполняют удаление недействительных данных в области сохранения в ответ на детектирование необходимости сохранить данные замещения в системе с энергонезависимой памятью.
В соответствии с еще одним вариантом осуществления способа, после удаления недействительных данных, представленные здесь варианты осуществления включают в себя инициирование сохранения данных замещения в ячейках сохранения в области, для обеспечения того, что время, в течение которого ячейки сохранения установлены в состояние удаленных данных, будет меньше, чем заданное пороговое значение времени.
Управление временем может дополнительно включать в себя уменьшение скорости собственных потерь заряда, ассоциированных с данными замещения, содержащимися в ячейках сохранения. Скорость собственных потерь заряда, ассоциированная с данными замещения, зависит от величины времени, в течение которого установки ячеек замещения были установлены в состояние удаленных данных перед сохранением данных замещения в ячейках сохранения.
В других дополнительных вариантах осуществления, управление временем, ассоциированным с перезаписью недействительных данных, может включать в себя: поддерживают установки ячеек сохранения в ранее запрограммированном состоянии для сохранения недействительных данных, до приема команды на удаление данных в ячейках сохранения, команду принимают в ответ на детектирование, что резервная полоса в системе энергонезависимой памяти была переведена в состояние текущей полосы, в которой сохраняют вновь принятые данные; и обозначают область удаленных данных ячеек сохранения, как резервную полосу.
В соответствии с другим вариантом осуществления, установки управления ячеек сохранения в области для уменьшения собственных потерь заряда могут включать в себя: принимают команду на модификацию недействительных данных в ячейках сохранения; и в ответ на прием этой команды, модифицируют участок, составляющий менее, чем все установки ячеек данных в области, в состояние не удаленных данных, в котором недействительные данные становятся поврежденными.
Модификация участка, составляющего менее, чем все установки ячеек данных в состояние не удаленных данных, может включать в себя: изменяют установки первой группы ячеек в области из первого состояния не удаленных данных на второе состояние не удаленных данных для того, чтобы сделать недействительные данные недоступными.
Управление временем может дополнительно включать в себя: уменьшают время пребывания в состоянии удаленных данных до величины меньше, чем пороговое значение времени, выполняют задержку операции по удалению вторых не удаленных данных в ячейках сохранения в области и заменяют вторые не удаленные данные данными замещения.
Дополнительные варианты осуществления способа, представленные здесь, могут включать в себя выполнение частичного удаления данных в области для разрушения недействительных данных; по меньшей мере, часть ячеек сохранения в области может быть установлена в состояние не удаленных данных.
В соответствии с дополнительными вариантами осуществления, управление временем может включать в себя: удаляют область ячеек сохранения, для разрушения недействительных данных; и программируют область ячеек сохранения временными данными перед перезаписью временных данных данными замещения.
Как было описано ранее, варианты осуществления способа могут включать в себя маркировку области, как содержащую недействительные данные. Маркировка области может дополнительно включать в себя: модифицируют данные, сохраненные в заданном местоположении в области, для обозначения, что эта область включает в себя недействительные данные. Варианты осуществления способа могут дополнительно включать в себя: используют установку данных в заданном местоположении для определения, что в области содержатся недействительные данные.
Второй примерный вариант осуществления, описанный здесь, включает в себя устройство, устройство содержит: систему энергонезависимой памяти, включающую в себя множество устройств энергонезависимой памяти; и логику обработки, выполненную с возможностью: принимать уведомление о том, что данные, сохраненные в области ячеек сохранения, в системе энергонезависимой памяти, содержат недействительные данные; в ответ на уведомление, маркируют область, как содержащую недействительные данные; и управляют величиной времени, в течение которого область установлена в состояние удаленных данных, во взаимосвязи с последующей перезаписью недействительных данных в ячейках сохранения данными замещения.
Второй примерный вариант осуществления может быть воплощен вместе с любым одним или больше из следующих свойств, для получения других дополнительных представленных ниже вариантов осуществления:
В одном варианте осуществления время представляет величину времени, в течение которого ячейки сохранения установлены в состояние удаленных данных перед последующей перезаписью с заменой данных.
Логика обработки может быть дополнительно выполнена с возможностью задержки операции удаления недействительных данных в ячейках сохранения в этой области и замены недействительных данных данными замещения. Задержанная операция уменьшает время до величины ниже заданного порогового значения времени.
В соответствии с дополнительными вариантами осуществления, логика обработки дополнительно выполнена с возможностью: отслеживать необходимость в пространстве сохранения, в системе энергонезависимой памяти; и удаления недействительных данных в области сохранения, в ответ на детектирование необходимости сохранения данных замещения в системе энергонезависимой памяти.
В других дополнительных вариантах осуществления логика обработки дополнительно выполнена с возможностью: после удаления недействительных данных, инициируют сохранение данных замещения в ячейках сохранения области, для обеспечения того, что время, в течение которого ячейки сохранения установлены в состояние удаленных данных, меньше, чем заданное пороговое значение времени.
В другом примерном варианте осуществления логика обработки дополнительно выполнена с возможностью: уменьшения скорости собственной потери заряда, ассоциированной с данными замещения, сохраненными в ячейках сохранения; скорость собственной потери заряда зависит от величины времени, в течение которого установки ячеек сохранения установлены в состояние удаленных данных, перед сохранением данных замещения в ячейках сохранения.
В дополнительном варианте осуществления логика обработки дополнительно выполнена с возможностью: поддерживать установки ячеек сохранения в заранее запрограммированном состоянии для сохранения недействительных данных до тех пор, пока не будет принята команда на удаление ячейки сохранения, команда принимается в ответ на детектирование, что резервная полоса в системе энергонезависимой памяти была переназначена, как текущая полоса, в которой сохраняют вновь принятые данные.
Логика обработки может быть дополнительно выполнена с возможностью: принимать команду для модификации недействительных данных в ячейках сохранения; и в ответ на прием этой команды, модифицировать участок, составляющий меньше, чем все установки ячеек данных в области, в состоянии не удаленных данных.
В соответствии с дополнительными вариантами осуществления, логика обработки может быть дополнительно выполнена с возможностью: изменять установки первой группы ячеек в области из первого состояния не удаленных данных на второе состояние не удаленных данных, для того, чтобы сделать недействительные данные недоступными.
В соответствии с еще другими дополнительными вариантами осуществления, логика обработки может быть дополнительно выполнена с возможностью: уменьшения времени до величины меньше, чем пороговое значение времени, задержки выполнения операции удаления вторых не удаленных данных в ячейках сохранения, в области замены вторых не удаленных данных данными замещения.
В еще других дополнительных вариантах осуществления логика обработки может быть дополнительно выполнена с возможностью: выполнения частичного удаления данных в области, для разрушения недействительных данных, по меньшей мере, часть ячеек сохранения в области установлена в состояние не удаленных данных.
В одном варианте осуществления логика обработки быть дополнительно выполнена с возможностью удаления данных в области ячеек сохранения для разрушения недействительных данных; и программирование области ячеек сохранения временными данными перед перезаписью временных данных данными замещения.
Компьютерная система может быть выполнена таким образом, что она включает в себя устройство. Такая компьютерная система может быть выполнена так, что она включает в себя аппаратные средства процессора хост компьютера, выполненные с возможностью обмена данными с логикой обработки и сохранения соответствующих данных в системе памяти.
Система энергонезависимой памяти, как описано здесь, может представлять собой твердотельный привод, к которому имеет доступ компьютерная система.
Компьютерная система, как описано здесь, может дополнительно включать в себя экран дисплея, на котором представляют изображение на основе, по меньшей мере, частично соответствующих данных, сохраненных в твердотельном приводе.
Третий примерный вариант осуществления, как описано здесь, включает в себя считываемые компьютером аппаратные средства сохранения (считываемый компьютером носитель сохранения), имеющие инструкции, сохраненные в них, инструкции при их выполнении аппаратными средствами компьютерного процессора, обеспечивают выполнение аппаратными средствами компьютерного процессора одной или больше операций. Операции могут включать в себя, в ответ на прием уведомления о том, что данные, сохраненные в области ячеек сохранения в системе энергонезависимой памяти, содержат недействительные данные, маркируют область, как содержащую недействительные данные; и управляют временем, в течение которого область ячеек сохранения находится в состоянии удаленных данных, в ассоциации с последующей перезаписью недействительных данных в ячейках сохранения данными замещения.
Третий примерный вариант осуществления может быть воплощен вместе с любым одним из одного или больше из следующих свойств для получения дополнительных вариантов осуществления, представленных ниже:
В соответствии с другим вариантом осуществления считываемого компьютером носителя сохранения, время представляет собой величину времени, в течение которого ячейки сохранения установлены в состояние удаленных данных перед последующей перезаписью данными замещения. Управление временем включает в себя: задержку операции удаления недействительных данных в ячейках сохранения в области и замену недействительных данных данными замещения, задержанная операция уменьшает время до величины меньше заданного порогового значения времени.
В соответствии с другим вариантом осуществления, считываемый компьютером носитель сохранения включает в себя операции поддержки инструкций, представляющие следующее: отслеживают потребность в пространстве для сохранения в системе энергонезависимой памяти; и удаляют недействительные данные в области сохранения, в ответ на детектирование потребности в сохранении данных замещения в системе энергонезависимой памяти.
В соответствии с другим вариантом осуществления, считываемый компьютером носитель сохранения включает в себя инструкции, поддерживающие следующие операции: после удаления недействительных данных инициируют сохранение данных замещения в ячейках сохранения в области для обеспечения того, чтобы время, в течение которое ячейки сохранения установлены в состояние удаленных данных, было меньше, чем заданное пороговое значение времени.
В соответствии с другим вариантом осуществления, считываемый компьютером носитель сохранения включает в себя инструкции, поддерживающие следующие операции: уменьшают скорость собственной потери заряда, ассоциированной с данными замещения, сохраненными в ячейках сохранения, скорость собственных потерь заряда зависит от величины времени, в течение которой установки ячеек сохранения устанавливают в состояние удаленных данных перед сохранением данных замещения в ячейках сохранения.
В соответствии с другим вариантом осуществления, считываемый компьютером носитель сохранения включает в себя инструкции, поддерживающие следующие операции: сохраняют установки ячеек сохранения в заранее запрограммированном состоянии сохранения недействительных данных до приема команды на удаление данных в ячейках сохранения, команда принимает в ответ на детектирование того, что резервная полоса в системе энергонезависимой памяти была переназначена, как текущая полоса, в которой сохраняют вновь принятые данные; и обозначение области удаленных данных ячеек сохранения, как резервной полосы.
В соответствии с другим вариантом осуществления, считываемый компьютером носитель сохранения включает в себя инструкции, поддерживающие следующие операции: принимают команду на модификацию недействительных данных в ячейках сохранения; и, в ответ на прием команды, модифицируют часть меньшую, чем все установки ячеек сохранения в области, которая находится в состоянии не удаленных данных, в которой недействительные данные становится нарушенными.
В соответствии с другим вариантом осуществления, считываемый компьютером носитель сохранения включает в себя инструкции, поддерживающие следующие операции: изменяют установки первой группы ячеек в области с первого состояния не удаленных данных на второе состояние не удаленных данных для того, чтобы сделать недействительные данные недоступными.
В соответствии с другим вариантом осуществления, считываемый компьютером носитель информации включает в себя инструкции, поддерживающие следующие операции: увеличивают пороговое значение удаления, ассоциированное с ячейками сохранения; и модифицируют установки ячеек сохранения так, чтобы они попадали в пределы диапазона, определенного увеличенным пороговым значением удаления.
В соответствии с другим вариантом осуществления, считываемый компьютером носитель сохранения включает в себя инструкции, поддерживающие следующие операции: выполняют частичное удаление данных в области для разрушения недействительных данных.
В соответствии с другим вариантом осуществления, считываемый компьютером носитель сохранения включает в себя инструкции, поддерживающие следующие операции: удаляют данные с области ячеек сохранения для удаления недействительных данных; и программируют область ячеек сохранения временными данными перед перезаписью временных данных данными замещения.
В соответствии с другим вариантом осуществления, считываемый компьютером носитель сохранения включает в себя инструкции, поддерживающие следующие операции: уменьшают скорость собственных потерь заряда, ассоциированных с данными замещения, сохраненными в ячейках сохранения.
В соответствии с другим вариантом осуществления, считываемый компьютером носитель сохранения включает в себя инструкции, поддерживающие следующие операции: управляют временем так, чтобы оно было меньше, чем пороговое значение.
В соответствии с другим вариантом осуществления, считываемый компьютером носитель сохранения включает в себя инструкции, поддерживающие следующие операции: модифицируют данные, сохраненные в заданном местоположении в области, для обозначения, что область включает в себя недействительные данные; и используют установки данных в заданном местоположении для определения, что область содержит недействительные данные.
Четвертый примерный вариант осуществления, описанный здесь, включает в себя систему для управления временем, система содержит: средство для приема уведомления о том, что данные, сохраненные в области ячеек сохранения в системе энергонезависимой памяти, содержат недействительные данные; средство для отметки области, как содержащей недействительные данные, в ответ на уведомление; и средство для управления величиной времени, в течение которого область установлена в состояние удаления данных, в ассоциации с последующей перезаписью недействительных данных в ячейках сохранения данными замещения.
Четвертый примерный вариант осуществления может быть воплощен вместе с любым из одного или больше из следующих свойств для получения дополнительных вариантов осуществления, представленных ниже:
в одном или больше примерных вариантах осуществления время представляет собой величину времени, в течение которого ячейки сохранения устанавливают в состояние удаленных данных перед последующей перезаписью ячеек сохранения данными замещения. Управление временем включает в себя: выполняют задержку операции по удалению недействительных данных в ячейках сохранения в области, и замену недействительных данных данными замещения, задержанная операция уменьшает время до величины меньше заданного порогового значения времени.
В одном или больше примерных вариантах осуществления система дополнительно содержит: средство для отслеживания необходимости в пространстве для сохранения в системе энергонезависимой памяти; и средство для удаления недействительных данных в области сохранения, в ответ на детектирование потребности в сохранении данных замещения в системе энергонезависимой памяти.
В одном или больше примерных вариантах осуществления система дополнительно содержит: средство для инициирования, после удаления недействительных данных, сохранения данных замещения в ячейках сохранения области, для обеспечения того, что время, в течение которого ячейки сохранения установлены в состояние удаленных данных, будет меньше, чем заданное пороговое значение времени.
В одном или больше примерных вариантах осуществления система дополнительно содержит: средство для уменьшения скорости собственных потерь заряда, ассоциированной с данными замещения, сохраненными в ячейках сохранения, скорость собственных потерь заряда зависит от величины времени, в течение которого установки ячеек сохранения установлены в состояние удаленных данных, перед сохранением данных замещения в ячейках сохранения.
В одном или больше примерных вариантах осуществления система дополнительно содержит: средство для поддержания установок ячеек сохранения в ранее запрограммированном состоянии, для сохранения недействительных данных до тех пор, пока не будет принята команда на удаление ячеек сохранения, команду принимают в ответ на детектирование, что резервная полоса в системе энергонезависимой памяти была переназначена, как текущая полоса, в которой сохраняют вновь принимаемые данные; и средство для обозначения области удаленных данных ячеек сохранения в качестве резервной полосы.
В одном или больше примерных вариантах осуществления система дополнительно содержит: средство для приема команды на модификацию недействительных данных в ячейках сохранения; и средство для модификации участка, составляющего "меньше чем" все установки ячеек сохранения в области, которая должна находиться в состояния не удаленных данных, в которой недействительные данные становятся поврежденными, в ответ на прием команды.
В одном или больше примерных вариантах осуществления система дополнительно содержит: средство для изменения установки первой группы ячеек в области из первого состояния не удаленных данных во второе состояние не удаленных данных, чтобы сделать недействительные данные недоступными.
В одном или больше примерных вариантах осуществления система дополнительно содержит: средство увеличения порогового значения удаления данных, ассоциированного с ячейками сохранения; и средство для модификации установок ячеек сохранения так, что оно попадает в пределы диапазона, определенного увеличенным пороговым значением удаления.
В одном или больше примерных вариантах осуществления система дополнительно содержит: средство для выполнения частичного удаления данных в области для разрушения недействительных данных.
Любой из ресурсов, описанных здесь, может включать в себя одно или больше компьютеризированных устройств, компьютерных систем, серверов, базовых станций, оборудования беспроводной передачи данных, систем управления передачей данных, рабочих станций, портативных или переносных компьютеров и т.д., для выполнения и/или поддержки любых или всех раскрытых здесь операций способа. Другими словами, одно или больше из компьютеризированных устройств или процессоров могут быть запрограммированы и/или сконфигурированы для работы, как пояснялось здесь, для выполнения разных вариантов осуществления.
Другие варианты осуществления, представленные здесь, включают в себя программы, встроенное программное обеспечение, логику и т.д. для выполнения таких операций, как раскрыто здесь. Один такой вариант осуществления содержит компьютерный программный продукт, включающий в себя энергонезависимый, считываемый компьютером носитель сохранения (то есть, любой считываемый компьютером аппаратный носитель сохранения), в котором программные инструкции закодированы для последующего выполнения. Инструкции, при их исполнении в компьютеризированном устройстве, имеющем один или больше процессоров, программируют и/или обеспечивают выполнение процессором операций, раскрытых здесь. Такие компоновки могут быть предусмотрены, как программное обеспечение, встроенное программное обеспечение, код, инструкции, данные (например, структуры данных) и т.д., расположенные или кодированные на энергонезависимом, считываемом компьютером носителе сохранения, таком как оптический носитель информации (например, CD-ROM), гибкий диск, жесткий диск, запоминающее устройство и т.д., или на другом носителе, таком как встроенное программное обеспечение или сокращенный код в одном или больше ROM, RAM, PROM и т.д., или в виде логики, в специализированной интегральной микросхеме (ASIC) и т.д. Программное обеспечение или встроенное программное обеспечение, или другие такие конфигурации могут быть установлены в компьютеризированном устройстве для обеспечения выполнения компьютеризированным устройством описанных здесь технологий.
В соответствии с этим, представленные здесь варианты осуществления направлены на устройство, способ, систему, компьютерный программный продукт и т.д., которые поддерживают операции, описанные здесь.
Один вариант осуществления включает в себя считываемый компьютером носитель сохранения и/или систему, имеющую инструкции, логику и т.д., сохраняемую для управления данными в системе памяти, включающей в себя одно или больше энергонезависимых запоминающих устройств. Инструкции и/или логика при исполнении, по меньшей мере, одним устройством процессора соответствующего компьютера, обеспечивают выполнение, по меньшей мере, одним устройством процессора: принимают уведомление о том, что данные, сохраненные в области ячеек сохранения в системе энергонезависимой памяти, содержат недействительные данные; в ответ на уведомление, маркируют область, как содержащую недействительные данные; и управляют временем, ассоциированным с перезаписью недействительных данных в ячейках сохранения данными замещения.
Следует отметить, что любая из обработки, описанная здесь, может быть выполнена в любом соответствующем порядке.
Следует понимать, что устройство, система, способ, устройство, инструкции на считываемых компьютером носителях сохранения и т.д., как описано здесь, также могут быть воплощены строго как программа, встроенное программное обеспечение, как гибрид программного обеспечения, аппаратных средств и/или встроенного программного обеспечения, или только как аппаратные средства такие, как находящиеся в пределах устройства процессора, в пределах операционной системы или в пределах программного приложения и т.д.
Кроме того, следует отметить, что хотя каждое из различных свойств, технологий, конфигураций и т.д., описанных здесь, может быть описано в разных местах такого раскрытия, предполагается, что когда это соответствует, каждая из концепций, в случае необходимости, может быть выполнена независимо друг от друга или в комбинации друг с другом. Возможны любые перестановки раскрытых свойств.
В соответствии с этим, один или больше вариантов осуществления, описанных здесь, могут быть воплощены и могут рассматриваться, используя множество различных подходов.
Следует также отметить, что представленные здесь технологии хорошо приспособлены для использования в системах памяти, включающих в себя одно или больше устройств энергонезависимой памяти. Однако, следует отметить, что представленные здесь варианты осуществления не ограничены использованием в таких вариантах применения и что технологии, описанные здесь, также хорошо пригодны для других вариантов применения.
В то время как детали были, в частности, представлены и описаны со ссылкой на предпочтительные варианты их воплощения, для специалистов в данной области техники должно быть понятно, что различные изменения в форме и деталях могут быть выполнены в них, без выхода за пределы сущности и объема настоящей заявки, как определено приложенной формулой изобретения. Предполагается, что такие вариации должны быть охвачены объемом такой настоящей заявки. При этом представленное выше описание вариантов осуществления настоящей заявки не предназначено для ограничения. Скорее, любые ограничения в отношении представленных здесь вариантов осуществления представлены в следующей формуле изобретения.