RU2417461C2 - Способ и устройство для записи высокоскоростных входных данных в матрицу запоминающих устройств - Google Patents

Способ и устройство для записи высокоскоростных входных данных в матрицу запоминающих устройств Download PDF

Info

Publication number
RU2417461C2
RU2417461C2 RU2008133604/08A RU2008133604A RU2417461C2 RU 2417461 C2 RU2417461 C2 RU 2417461C2 RU 2008133604/08 A RU2008133604/08 A RU 2008133604/08A RU 2008133604 A RU2008133604 A RU 2008133604A RU 2417461 C2 RU2417461 C2 RU 2417461C2
Authority
RU
Russia
Prior art keywords
page
storage devices
flash
input data
value
Prior art date
Application number
RU2008133604/08A
Other languages
English (en)
Other versions
RU2008133604A (ru
Inventor
Томас БРУНЕ (DE)
Томас БРУНЕ
Йенс Петер ВИТТЕНБУРГ (DE)
Йенс Петер ВИТТЕНБУРГ
Original Assignee
Томсон Лайсенсинг
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Томсон Лайсенсинг filed Critical Томсон Лайсенсинг
Publication of RU2008133604A publication Critical patent/RU2008133604A/ru
Application granted granted Critical
Publication of RU2417461C2 publication Critical patent/RU2417461C2/ru

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • G11C29/76Masking faults in memories by using spares or by reconfiguring using address translation or modifications

Abstract

Изобретение относится к средствам записи в запоминающие устройства. Техническим результатом является обеспечение адаптации режимов записи в зависимости от выявленных дефектов записи. Для хранения потоковых HD видеоданных используют системы на основе флэш-памяти. Физический доступ к устройствам флэш-памяти осуществляют в странично-ориентированном режиме. При этом входные данные записывают в режиме мультиплексирования в матрицу множественных флэш-устройств. Осуществляют обработку списка, и дефектные страницы блоков флэш-памяти единичных флэш-устройств адресуют в архитектуре матрицы. При записи в последовательном режиме, содержание данных для текущей страницы флэш-устройства всех флэш-устройств матрицы копируют в соответствующую область памяти в дополнительном буфере памяти. После того как текущая серия страниц записана без ошибок во флэш-устройства, соответствующую область памяти в дополнительном буфере памяти перезаписывают данными следующей страницы. В случае возникновения ошибки в текущей странице в одном или нескольких флэш-устройствах, содержание этих текущих страниц сохраняют в дополнительном буфере памяти. 2 н. и 12 з.п. ф-лы, 7 ил.

Description

Область техники, к которой относится изобретение
Изобретение относится к способу и устройству для записи высокоскоростных входных данных в матрицу запоминающих устройств.
Уровень техники
Для записи или воспроизведения в реальном времени широкополосных цифровых видеосигналов, например сигналов HDTV, HD progressive или HD film capture, требуются высокоскоростные запоминающие устройства. Для хранения потоковых HD видеоданных можно использовать системы на основе NAND флэш-памяти. Физический доступ к устройствам флэш-памяти осуществляется в странично-ориентированном режиме, благодаря чему одна 'страница' включает в себя, например, 1024 слов данных и соответствующий код коррекции ошибки (ecc). Операции стирания в конкретной флэш-памяти можно осуществлять только на блоках данных определенного размера. Эти блоки данных обозначаются ниже термином 'блок флэш-памяти'. Блок флэш-памяти состоит, например, из 64 страниц. Устройства флэш-памяти NAND имеют два основных недостатка:
- слишком медленный доступ для записи;
- имеют незамаскированные дефекты производства и получают еще больше дефектов в ходе эксплуатации. Необходимая обработка ошибок возлагается на пользователя. Это также справедливо для эквивалентных типов памяти.
Поскольку выявление дефектов в устройствах флэш-памяти (например, устройствах NAND) происходит, например, при выполнении операции стирания, дефект в странице делает непригодным весь блок флэш-памяти. Файловая система не должна использовать такие дефектные блоки флэш-памяти. Обработка таких дефектов полностью находится в ведении пользователя.
Известно, что для такой обработки ошибок используются избыточные коды, например код Рида-Соломона, но этот подход также страдает недостатками, например высоким динамическим расходом времени, что препятствует работе в режиме реального времени. Например, на рынке присутствуют следующие устройства флэш-памяти NAND: Samsung K9K2G16U0M-YCB000 (ориентированное на 2Гбит, 16бит), K9W4G08U0M-YCB000 (4Гбит, ориентированное на 8бит), Toshiba TH58NVG2S3BFT00 (4Гбит, ориентированное на 8бит), MICRON MT29G08AAxxx (2Гбит, ориентированное на 8бит), MT29G16AAxxx (2Гбит, ориентированное на 16бит), Samsung K9K4G08 (4Гбит, ориентированное на 8бит).
Раскрытие изобретения
Изобретение можно использовать для записи в режиме реального времени потоковых видеоданных высокого разрешения на устройства на основе NAND флэш-памяти. Использование флэш-устройств при записи в реальном времени при высокой скорости передачи данных приводит к большим файлам. Важно иметь обработку, экономичную в отношении ресурсов и производительности, для динамического перераспределения дефектов из поврежденных блоков флэш-памяти в свободные блоки флэш-памяти. Большинство современных приложений NAND-флэш имеют защиту от ошибок на основе кода Рида-Соломона и не может работать в режиме реального времени.
Задача изобретения состоит в обеспечении алгоритма, экономичного в отношении ресурсов и производительности, для перераспределения дефектов во флэш-устройствах, которые возникают в ходе работы, для поддержки низкого энергопотребления, высокого быстродействия и режима реального времени. Эта задача решается благодаря способу, раскрытому в п. 1 формулы изобретения. Устройство, использующее этот способ, раскрыто в п. 2 формулы изобретения.
Согласно изобретению, высокоскоростные входные данные записываются в режиме мультиплексирования в матрицу множественных флэш-устройств. Осуществляется максимально простая обработка списка, и дефектные страницы блоков флэш-памяти единичных флэш-устройств адресуются в архитектуре матрицы. При записи в последовательном режиме содержание данных для текущей страницы флэш-устройства всех флэш-устройств матрицы также копируется в соответствующую область памяти в дополнительном буфере памяти. После того как текущая серия страниц записана без ошибок во флэш-устройства, соответствующую область памяти в дополнительном буфере памяти можно перезаписывать данными следующей страницы. В случае возникновения ошибки в текущей странице в одном или нескольких флэш-устройствах содержание этих текущих страниц сохраняется в дополнительном буфере памяти.
В принципе, способ, отвечающий изобретению, пригоден для записи высокоскоростных входных данных в матрицу запоминающих устройств первого типа, причем матрица включает в себя, по меньшей мере, два запоминающих устройства на строку и, по меньшей мере, два запоминающих устройства на столбец, в которой запоминающие устройства строки подключены к общей шине, и каждой строке матрицы назначена отдельная общая шина, и в которой все запоминающие устройства внутренне организованы в виде множественных страниц, в каковые страницы можно записывать входные данные в последовательном режиме, и в которой, при записи в запоминающие устройства первого типа, дефекты могут возникать в разных местах в запоминающих устройствах, способ включает в себя этапы, на которых:
A) записывают первую секцию входных данных в режиме мультиплексирования, с использованием общих шин, в одной и той же текущей странице запоминающих устройств, начиная с первого столбца запоминающих устройств, столбец за столбцом, и записывают эту первую секцию входных данных также в соответствующую секцию дополнительного запоминающего устройства второго типа, отличного от первого типа;
B) проверяют, возник ли, по меньшей мере, один дефект в, по меньшей мере, одном запоминающем устройстве при записи первой секции входных данных в текущую страницу запоминающих устройств;
C) записывают следующую секцию входных данных в режиме мультиплексирования, с использованием общих шин, в следующей странице запоминающих устройств, начиная с первого столбца запоминающих устройств, столбец за столбцом,
и если на предыдущем этапе дефектов не обнаружено, также записывают эту следующую секцию входных данных в одной и той же секции дополнительного запоминающего устройства,
и если на предыдущем этапе обнаружен дефект, также записывают эту следующую секцию входных данных в следующей соответствующей секции дополнительного запоминающего устройства;
D) проверяют, возник ли, по меньшей мере, один дефект в, по меньшей мере, одном запоминающем устройстве при записи следующей секции входных данных в следующую страницу;
E) переходят к этапам C) и D), пока все секции входных данных не будут записаны в матрицу запоминающих устройств и в дополнительное запоминающее устройство;
F) копируют входные данные, хранящиеся в соответствующих наборах страниц матрицы запоминающих устройств, каковые наборы включают в себя, по меньшей мере, один дефект на набор в, по меньшей мере, одном запоминающем устройстве, в соответствующие наборы страниц в матрице запоминающих устройств, которые еще не заняты входными данными, благодаря чему берут входные данные дефектных единичных страниц не из матрицы запоминающих устройств, но из соответствующих данных единичных страниц, хранящихся в дополнительном запоминающем устройстве.
В принципе, устройство, отвечающее изобретению, пригодно для записи высокоскоростных входных данных в матрицу запоминающих устройств первого типа, причем матрица включает в себя, по меньшей мере, два запоминающих устройства на строку и, по меньшей мере, два запоминающих устройства на столбец, в которой запоминающие устройства строки подключены к общей шине, и каждой строке матрицы назначена отдельная общая шина, и в которой все запоминающие устройства внутренне организованы в виде множественных страниц, в каковые страницы можно записывать входные данные в последовательном режиме, и в которой, при записи в запоминающие устройства первого типа, дефекты могут возникать в разных местах в запоминающих устройствах, причем устройство включает в себя дополнительное запоминающее устройство второго типа, отличного от первого типа, и средство, приспособленное для осуществления следующих функций:
A) запись первой секции входных данных в режиме мультиплексирования, с использованием общих шин, в одной и той же текущей странице запоминающих устройств, начиная с первого столбца запоминающих устройств, столбец за столбцом, и запись этой первой секции входных данных также в соответствующую секцию дополнительного запоминающего устройства;
B) проверка, возник ли, по меньшей мере, один дефект в, по меньшей мере, одном запоминающем устройстве при записи первой секции входных данных в текущую страницу запоминающих устройств;
C) запись следующей секции входных данных в режиме мультиплексирования, с использованием общих шин, в следующей странице запоминающих устройств, начиная с первого столбца запоминающих устройств, столбец за столбцом,
и если в предыдущей функции дефектов не обнаружено, также запись этой следующей секции входных данных в одной и той же секции дополнительного запоминающего устройства, и если в предыдущей функции обнаружен дефект, также запись этой следующей секции входных данных в следующей соответствующей секции дополнительного запоминающего устройства;
D) проверка, возник ли, по меньшей мере, один дефект в, по меньшей мере, одном запоминающем устройстве при записи следующей секции входных данных в следующую страницу;
E) переход к функциям C) и D), пока все секции входных данных не будут записаны в матрицу запоминающих устройств и в дополнительное запоминающее устройство;
F) копирование входных данных, хранящихся в соответствующих наборах страниц матрицы запоминающих устройств, каковые наборы включают в себя, по меньшей мере, один дефект на набор в, по меньшей мере, одном запоминающем устройстве, в соответствующие наборы страниц в матрице запоминающих устройств, которые еще не заняты входными данными, благодаря чему входные данные дефектных единичных страниц берутся не из матрицы запоминающих устройств, но из соответствующих данных единичных страниц, хранящихся в дополнительном запоминающем устройстве.
Дополнительные преимущественные варианты осуществления изобретения раскрыты в соответствующих зависимых пунктах формулы изобретения.
Краткое описание чертежей
Иллюстративные варианты осуществления изобретения описаны со ссылкой на прилагаемые чертежи, в которых:
фиг. 1 - матрица флэш-устройств;
фиг. 2 - дополнительный буфер, содержащий копии неповрежденных данных поврежденных страниц флэш-памяти;
фиг. 3 - элемент списка дефектов;
фиг. 4 - пример списка дефектов;
фиг. 5 - массив страничных регистров;
фиг. 6 - регистр битовой карты;
фиг. 7 - последовательность замены страниц.
Осуществление изобретения
Для записи в режиме реального времени предпочтительно, чтобы флэш-устройства были организованы в матрицу, подключенную несколькими шинами BS0, BS1, BS2, ... к блоку управления CTRLU, как показано на фиг. 1. Несколько флэш-устройств совместно используют одну и ту же шину данных, например устройства DEV0-DEV2 совместно используют шину BS0. В целом, количество флэш-устройств, совместно использующих одну и ту же шину данных, равно M. В матрице существует несколько таких строк, состоящих из флэш-устройств и общей шины, количество которых равно N. Матрица включает в себя, по меньшей мере, два запоминающих устройства на строку и, по меньшей мере, два запоминающих устройства на столбец. Блок управления CTRLU может принимать высокоскоростные входные данные, подлежащие хранению или записи. В отношении операции 'стирание' наименьшей адресуемой единицей в устройстве 1 наподобие NAND флэш-памяти является блок флэш-памяти 2 (отмеченный обведением жирной рамкой, т.е. на фигуре устройство 1 имеет четыре блока флэш-памяти).
В отношении операции 'запись' наименьшей адресуемой единицей в NAND флэш-памяти является страница флэш-памяти 3 (на фигуре каждый блок флэш-памяти содержит четыре страницы флэш-памяти).
В одной реализации полное количество блоков флэш-памяти в матрице равно, например, 4096. Каждый блок может содержать 64 страницы.
Входные данные, подлежащие хранению, мультиплексируются и записываются через N параллельных шин в одну и ту же текущую страницу в каждом из флэш-устройств в первом столбце матрицы, т.е. в устройство DEV0 и устройства, размещенные под ним. После заполнения текущей страницы, следующие входные данные записываются в ту же самую текущую страницу во втором столбце матрицы, т.е. в устройство DEV1 и устройства, размещенные под ним. Эта обработка записи продолжается M раз, пока текущая страница всех флэш-устройств матрицы не заполнится входными данными. Это состояние обозначено диагональной штриховкой второй страницы во флэш-устройствах. После этого обработка записи продолжается для следующей (т.е. третьей) страницы во флэш-устройствах, каковая третья страница обозначена на фиг. 1 вертикальной штриховкой. Эти страницы из набора страниц SOP.
Для достижения высокоскоростной записи в режиме реального времени и выявления дефектов содержание данных для текущей страницы флэш-памяти всех флэш-устройств матрицы всякий раз копируется в последовательном режиме в дополнительный буфер памяти AMB (например, SRAM), который может быть подключен к блоку управления CTRLU или к шинам, и эти данные будут оставаться в буфере AMB при возникновении одного или нескольких дефектов в текущей странице в одном или нескольких из флэш-устройств матрицы.
Дополнительный буфер AMB более подробно показан на фиг. 2. Матрица, изображенная на фиг. 1, включает в себя девять флэш-устройств. Первый столбец устройств в матрице связан с первым столбцом в памяти AMB, второй столбец в матрице связан со вторым столбцом в памяти AMB, и т.д. Линия в памяти AMB связана со страницей в строке устройств матрицы.
При записи в третью страницу (обозначенную вертикальной штриховкой) во флэш-устройствах матрицы возникла ошибка или дефект 5. Поэтому исходное содержание входных данных этих страниц сохраняется в соответствующей области (обозначенной вертикальной штриховкой) в памяти AMB, т.е. он сохраняется в AMB без дефекта 5. Поэтому, при записи следующей серии страниц (т.е. четвертой страницы) во флэш-устройства, исходные входные данные записываются в следующую секцию в памяти AMB (т.е. линии 3-6 на фиг. 2). В случае, когда ни в одной из четырех страниц нет дефектов, эта секция (линии 3-6) в памяти AMB перезаписывается следующей серией страниц (т.е. пятой страницей). Поскольку в десятой странице (т.е. в блоке три флэш-устройств) возникло три дефекта 5a, 5b и 5c, исходное содержание входных данных этих страниц сохраняется в соответствующей области (линии 3-6) в памяти AMB без дефектов в соответствующих ячейках 5A, 5B и 5C.
В результате, под управлением блока управления CTRLU, буфер AMB сохраняет копии неповрежденных данных поврежденных страниц флэш-памяти, но его емкость значительно меньше, чем у флэш-матрицы. Например, AMB типа ОЗУ может иметь емкость, позволяющую хранить содержание данных до 15 разных страниц каждого устройства матрицы.
Ошибки страницы (например, 5, 5a, 5b и 5c), возникшие при записи в режиме реального времени, помечены в списке дефектов, причем на фиг. 3 показан элемент списка дефектов. Этот элемент может содержать номер блока BLNO (0 ... B), номер страницы PGNO (0 ... P) и номер столбца устройств DEV0, ..., DEVm во флэш-матрице. Биты BTO, BT1, ..., BTn в номере столбца указывают, в строке под каким номером (=номер шины BS0, BS1, ..., BSn) матрицы возник дефект или возникли множественные дефекты в странице флэш-памяти. Сохранять положение дефекта на странице не требуется.
Иллюстративный список дефектов для девяти флэш-устройств, изображенных на фиг. 1, показан на фиг. 4. Этот список может храниться в блоке управления CTRLU. Этот иллюстративный список дефектов указывает дефектные страницы в матрице, показанной на фиг. 1.
Первый дефект 5 находится в блоке номер BLNO=0 в странице номер PGNO=2, и согласно части битовой карты BTMP в третьем столбце устройств DEV2 относительно второй шины BS1. Второй дефект 5a находится в блоке номер BLNO=2 в странице номер PGNO=1 в первом столбце устройств DEV0 относительно второй шины BS1.
Третий дефект 5b находится в блоке номер BLNO=2 в странице номер PGNO=1 во втором столбце устройств DEV1 относительно второй шины BS1.
Четвертый дефект 5c находится в блоке номер BLNO=2 в странице номер PGNO=1 во втором столбце устройств DEV1 относительно третьей шины BS2.
Другие дефекты находятся в блоке номер BLNO=2 в странице номер PGNO=3 в первом столбце устройств DEV0 относительно третьей шины BS2 и во втором столбце устройств DEV1 относительно второй шины BS1.
После или при записи входных данных во флэш-устройства, флэш-устройства сообщают о любых дефектах через шины BS0-BS2 на блок управления CTRLU.
Копии соответствующих страниц флэш-памяти должны храниться в буфере. При выявлении дефектов предпочтительно анализировать список дефектов в режиме, экономичном в отношении ресурсов и производительности, для поддержки низкого энергопотребления, высокого быстродействия и режима реального времени. Задача состоит в том, чтобы содержание блока флэш-памяти, который содержит одну или несколько поврежденных страниц флэш-памяти, копировался в соответствующие наборы FSOP из трех страниц флэш-памяти в свободный блок флэш-памяти в том же флэш-устройстве. Наконец, поврежденный блок флэш-памяти нужно логически перераспределять новым блоком флэш-памяти, например, в файловой системе.
Таким образом, задача анализа списка дефектов, который содержит информацию о блоке флэш-памяти, странице флэш-памяти, устройстве и шине каждого дефекта подробно описана ниже. В ходе обработки анализа соответствующая дефектная страница флэш-памяти в блоке должна копироваться из буфера в новый блок флэш-памяти. Все остальные страницы флэш-памяти в блоке должны копироваться из поврежденного блока флэш-памяти в новый блок флэш-памяти.
Для определения дефектных страниц флэш-памяти блока флэш-памяти:
a) Инициализируют массив регистров для значений 'страница' неверными значениями (на фиг. 5 показан соответствующий массив страничных регистров, содержащий дефектные страницы для блока флэш-памяти BLNO=2, каковой страничный регистр содержит соответствующие значения номера страницы из столбца PGNO для строк, относящихся к BLNO=2);
b) Задают первое верное значение BLNO «блок» из списка дефектов равным «опорный блок»;
c) Копируют соответствующее значение 'страница' из списка дефектов в надлежащее поле в массиве страничных регистров;
d) Анализируют следующий элемент списка дефектов;
e) Если текущее значение BLNO «блок» равно значению «опорный блок», переходят к этапу c), иначе переходят к этапу d);
f) Повторяют этапы c)-e), пока не будет достигнут конец списка дефектов.
На фиг. 6 показан регистр битовой карты для хранения битовых карт для элементов страницы, обрабатываемых на этапе c). Битовые карты для этих страниц обрабатываются в последовательном порядке обработки PRO (каждые N битов). Регистр битовой карты используется для быстрого вызова бездефектных флэш-устройств, для чего:
g) Инициализируют указатель для битовой карты или для 'счетчика устройств';
h) Инициализируют указатель для массива страничных регистров. Инициализируют регистр битовой карты нулями;
i) Обращаются к единичной ячейке в массиве страничных регистров;
j) Если этот элемент верен, переходят к этапу k), иначе переходят к этапу l);
k) Загружают N битов из соответствующей битовой карты (хранящейся в списке дефектов) и подвергают логической операции ИЛИ с соответствующими значениями регистра битовой карты (N=количество шин);
l) Увеличивают указатель массива страничных регистров и переходят к этапу i), пока не будет достигнут конец массива страничных регистров;
m) Если значение регистра битовой карты равно нулю, то увеличивают указатель битовой карты и 'счетчик устройств' и переходят к этапу h), пока не будет достигнут конец битовой карты. Если значение регистра битовой карты не равно нулю, то начинают следующие этапы n)-u).
На фиг. 7 представлена последовательность замены страниц в соответствии с анализом регистра битовой карты и битовой карты. Для определения шины для дефектного блока в дефектном флэш-устройстве и для копирования соответствующих страниц флэш-памяти:
n) инициализируют 'счетчик шины' и указатель для массива страничных регистров;
o) Считывают массив страничных регистров (фиг. 5) для верного значения;
p) Анализируют бит в регистре битовой карты, на который указывает 'счетчик шины': если этот бит равен нулю, увеличивают 'счетчик шины' и переходят к этапу o), если этот бит равен единице, переходят к этапу q);
q) Для всех значений страницы между нулем и значением, считанным на этапе o) минус один, копируют страницы флэш-памяти из поврежденного блока флэш-памяти в новый блок флэш-памяти. Номер опорного флэш-устройства соответствует значению 'счетчик устройств', номер опорной шины соответствует значению 'счетчик шины';
r) Для значения страницы, считанной на этапе o), копируют данные соответствующей страницы флэш-памяти из дополнительного буфера памяти AMB в новый блок флэш-памяти. Номер опорного флэш-устройства соответствует значению 'счетчик устройств', номер опорной шины соответствует значению 'счетчик шины';
s) Увеличивают указатель для массива страничных регистров и переходят к этапу o), пока не будет достигнут конец массива страничных регистров;
t) Обновляют 'таблицу перераспределения блоков' для соответствующего устройства и помечают соответствующий элемент блока в списке дефектов как неверный;
u) Переходят к этапу a).
Вышеупомянутыми регистрами, указателями, списком и таблицей может управлять блок управления CTRLU.
Изобретение можно использовать в блочно-ориентированном хранилище, которое может быть подвержено дефектам в ходе эксплуатации.

Claims (14)

1. Способ записи высокоскоростных входных данных в матрицу запоминающих устройств первого типа, причем матрица включает в себя, по меньшей мере, два запоминающих устройства на строку и, по меньшей мере, два запоминающих устройства на столбец, при этом запоминающие устройства (DEV0, DEV1, DEV2) строки подключены к общей шине (BS0), и каждой строке матрицы назначена отдельная общая шина (BS0, BS1, BS2), и при этом все упомянутые запоминающие устройства внутренне организованы в виде множественных страниц, причем в эти страницы можно последовательно записывать входные данные, и причем при записи в запоминающие устройства первого типа могут возникать дефекты (5, 5а, 5b, 5с) в разных местах в запоминающих устройствах, при этом способ характеризуется этапами, на которых:
A) записывают первую секцию входных данных в режиме мультиплексирования, с использованием общих шин, в одной и той же текущей странице запоминающих устройств, начиная с первого столбца (DEVO) запоминающих устройств, столбец за столбцом, и записывают эту первую секцию входных данных также в соответствующую секцию дополнительного запоминающего устройства (АМВ) второго типа, отличного от первого типа,
B) проверяют (CTRLU), возник ли, по меньшей мере, один дефект (5, 5а, 5b, 5с) в, по меньшей мере, одном запоминающем устройстве при записи первой секции входных данных в текущую страницу запоминающих устройств,
C) записывают следующую секцию входных данных в режиме мультиплексирования, с использованием общих шин, в следующей странице запоминающих устройств, начиная с первого столбца (DEV0) запоминающих устройств, столбец за столбцом, и, если на предыдущем этапе дефектов не обнаружено, также записывают эту следующую секцию входных данных в одной и той же секции упомянутого дополнительного запоминающего устройства, и если на предыдущем этапе обнаружен дефект, также записывают эту следующую секцию входных данных в следующей соответствующей секции дополнительного запоминающего устройства,
D) проверяют (CTRLU), возник ли, по меньшей мере, один дефект (5, 5а, 5b, 5с), по меньшей мере, в одном запоминающем устройстве при записи следующей секции входных данных в следующей странице,
Е) переходят к этапам С) и D), пока все секции входных данных не будут записаны в матрицу запоминающих устройств и в дополнительное запоминающее устройство (АМВ),
F) копируют входные данные, хранящиеся в соответствующих наборах страниц (SOP) матрицы запоминающих устройств, причем эти наборы включают в себя, по меньшей мере, один дефект на набор в, по меньшей мере, одном запоминающем устройстве, в соответствующие наборы страниц (FSOP) в матрице запоминающих устройств, которые еще не заняты входными данными, при этом берут входные данные дефектных единичных страниц не из матрицы запоминающих устройств, а из соответствующих данных единичных страниц, хранящихся в дополнительном запоминающем устройстве (АМВ).
2. Способ по п.1, в котором упомянутые запоминающие устройства первого типа являются устройствами флэш-памяти.
3. Способ по п.1, в котором упомянутые дефекты сохраняют в списке дефектов, который содержит элементы информации о соответствующей странице, соответствующем запоминающем устройстве и соответствующей шине для каждого дефекта.
4. Способ по п.2, в котором упомянутые дефекты сохраняют в списке дефектов, который содержит элементы информации о соответствующем блоке, соответствующей странице, соответствующем запоминающем устройстве и соответствующей шине для каждого дефекта.
5. Способ по п.4, в котором дефектные страницы блока флэш-памяти определяются следующим образом:
a) инициализируют массив регистров для значений «страница» неверными значениями;
b) задают первое верное значение BLNO «блок» из списка дефектов равным значению «опорный блок»;
c) копируют соответствующее значение «страница» из списка дефектов в надлежащее поле в упомянутом массиве страничных регистров;
d) анализируют следующий элемент списка дефектов;
e) если текущее значение BLNO «блок» равно значению «опорный блок», переходят к этапу с), иначе переходят к этапу d);
f) повторяют этапы с)-е), пока не будет достигнут конец списка дефектов.
6. Способ по п.5, в котором генерируют регистр битовой карты для хранения битовых карт для элементов страницы, обрабатываемых на этапе с), и обрабатывают каждые N битов битовых карты для этих страниц в последовательном порядке обработки (PRO), и используют регистр битовой карты для быстрого вызова бездефектных флэш-устройств, при этом регистр битовой карты генерируют следующим образом:
g) инициализируют указатель для битовой карты или для «счетчика устройств»;
h) инициализируют указатель для упомянутого массива страничных регистров и инициализируют регистр битовой карты нулями;
i) обращаются к единичной ячейке в упомянутом массиве страничных регистров;
j) если этот элемент верен, переходят к этапу k), иначе переходят к этапу l);
k) загружают N битов из соответствующей битовой карты, хранящейся в упомянутом списке дефектов, и подвергают логической операции ИЛИ с соответствующими значениями регистра битовой карты;
l) увеличивают указатель массива страничных регистров и переходят к этапу i), пока не будет достигнут конец массива страничных регистров;
m) если значение регистра битовой карты равно нулю, увеличивают указатель битовой карты и упомянутый «счетчик устройств» и переходят к этапу h), пока не будет достигнут конец битовой карты.
7. Способ по п.6, в котором, если на этапе m) значение регистра битовой карты не равно нулю, для определения шины для дефектного блока в дефектном флэш-устройстве и для копирования соответствующих страниц флэш-памяти выполняют этапы, на которых:
n) инициализируют «счетчик шины» и указатель для массива страничных регистров;
о) считывают массив страничных регистров для верного значения;
р) анализируют бит в регистре битовой карты, на который указывает «счетчик шины»: если этот бит равен нулю, увеличивают «счетчик шины» и переходят к этапу о), если этот бит равен единице, переходят к этапу q), q) для всех значений страницы между нулем и значением, считанным на этапе о) минус один, копируют страницы флэш-памяти из поврежденного блока флэш-памяти в новый блок флэш-памяти, при этом номер опорного флэш-устройства соответствует значению «счетчик устройств», и номер опорной шины соответствует значению «счетчик шины»;
r) для значения страницы, считанной на этапе о), копируют данные соответствующей страницы флэш-памяти из дополнительного буфера памяти (АМВ) в новый блок флэш-памяти, при этом номер опорного флэш-устройства соответствует значению «счетчик устройств», и номер опорной шины соответствует значению «счетчик шины»;
s) увеличивают указатель для массива страничных регистров и переходят к этапу о), пока не будет достигнут конец массива страничных регистров;
t) обновляют «таблицу перераспределения блоков» для соответствующего устройства и помечают соответствующий элемент блока в списке дефектов как неверный;
u) переходят к этапу а) по п.5.
8. Устройство для записи высокоскоростных входных данных в матрицу запоминающих устройств первого типа, причем матрица включает в себя, по меньшей мере, два запоминающих устройства на строку и, по меньшей мере, два запоминающих устройства на столбец, в которой запоминающие устройства (DEV0, DEV1, DEV2) строки подключены к общей шине (BS0) и каждой строке матрицы назначена отдельная общая шина (BS0, BS1, BS2), и при этом все запоминающие устройства внутренне организованы в виде множественных страниц, в каковые страницы можно записывать входные данные в последовательном режиме, и причем, при записи в запоминающие устройства первого типа, дефекты (5, 5а, 5b, 5с) могут возникать в разных местах в запоминающих устройствах, причем упомянутое устройство включает в себя дополнительное запоминающее устройство (АМВ) второго типа, отличного от первого типа, и средство (CTRLU, BS0, BS1, BS2), выполненное с обеспечением возможности осуществления следующих функций:
A) записи первой секции входных данных в режиме мультиплексирования, с использованием общих шин, в одной и той же текущей странице запоминающих устройств, начиная с первого столбца запоминающих устройств (DEV0), столбец за столбцом, и записи этой первой секции входных данных также в соответствующую секцию дополнительного запоминающего устройства (АМВ);
B) проверки, возник ли, по меньшей мере, один дефект (5, 5а, 5b, 5с) в, по меньшей мере, одном запоминающем устройстве при записи первой секции входных данных в текущую страницу запоминающих устройств;
C) записи следующей секции входных данных в режиме мультиплексирования, с использованием общих шин, в следующей странице запоминающих устройств, начиная с первого столбца запоминающих устройств (DEV0), столбец за столбцом, и если в предыдущей функции дефектов не обнаружено, также запись этой следующей секции входных данных в одной и той же секции дополнительного запоминающего устройства, и если в предыдущей функции обнаружен дефект, также записи этой следующей секции входных данных в следующей соответствующей секции дополнительного запоминающего устройства;
D) проверки, возник ли, по меньшей мере, один дефект (5, 5а, 5b, 5с) в, по меньшей мере, одном запоминающем устройстве при записи следующей секции входных данных в следующую страницу;
Е) перехода к функциям С) и D), пока все секции входных данных не будут записаны в матрицу запоминающих устройств и в упомянутое дополнительное запоминающее устройство (АМВ);
F) копирования входных данных, хранящихся в соответствующих наборах страниц (SOP) матрицы запоминающих устройств, причем эти наборы включают в себя, по меньшей мере, один дефект на набор в, по меньшей мере, одном запоминающем устройстве, в соответствующие наборы страниц (FSOP) в матрице запоминающих устройств, которые еще не заняты упомянутыми входными данными, при этом входные данные дефектных единичных страниц берутся не из матрицы запоминающих устройств, а из соответствующих данных единичных страниц, хранящихся в дополнительном запоминающем устройстве (АМВ).
9. Устройство по п.8, в котором упомянутые запоминающие устройства первого типа являются устройствами флэш-памяти.
10. Устройство по п.8, в котором упомянутые дефекты хранятся в списке дефектов, который содержит элементы информации о соответствующей странице, соответствующем запоминающем устройстве и соответствующей шине для каждого дефекта.
11. Устройство по п.9, в котором упомянутые дефекты хранятся в списке дефектов, который содержит элементы информации о соответствующем блоке, соответствующей странице, соответствующем запоминающем устройстве и соответствующей шине для каждого дефекта.
12. Устройство по п.11, в котором дефектные страницы блока флэш-памяти определяются следующим образом:
a) инициализируют массив регистров для значений «страница» неверными значениями;
b) задают первое верное значение BLNO «блок» из списка дефектов равным «опорный блок»;
c) копируют соответствующее значение «страница» из списка дефектов в надлежащее поле в массиве страничных регистров;
d) анализируют следующий элемент списка дефектов;
e) если текущее значение BLNO «блок» равно значению «опорный блок», переходят к этапу с), иначе переходят к этапу d);
f) повторяют этапы с)-е), пока не будет достигнут конец списка дефектов.
13. Устройство по п.12, в котором генерируют регистр битовой карты для хранения битовых карт для элементов страницы, обрабатываемых на этапе с), и обрабатывают каждые N битов битовых карты для этих страниц в последовательном порядке обработки (PRO), и используют регистр битовой карты для быстрого вызова бездефектных флэш-устройств, при этом регистр битовой карты генерируют следующим образом:
g) инициализируют указатель для битовой карты и для «счетчика устройств»;
h) инициализируют указатель для упомянутого массива страничных регистров и инициализируют регистр битовой карты нулями;
i) обращаются к единичной ячейке в упомянутом массиве страничных регистров;
j) если этот элемент верен, переходят к этапу k), иначе переходят к этапу l);
k) загружают N битов из соответствующей битовой карты, хранящейся в списке дефектов и подвергают логической операции ИЛИ с соответствующими значениями регистра битовой карты;
l) увеличивают указатель массива страничных регистров и переходят к этапу i), пока не будет достигнут конец массива страничных регистров;
m) если значение регистра битовой карты равно нулю, увеличивают указатель битовой карты и «счетчик устройств» и переходят к этапу h), пока не будет достигнут конец битовой карты.
14. Устройство по п.13, в котором, если на этапе m) значение регистра битовой карты не равно нулю, для определения шины для дефектного блока в дефектном флэш-устройстве и для копирования соответствующих страниц флэш-памяти выполняют этапы, на которых:
n) инициализируют «счетчик шины» и указатель для массива страничных регистров;
о) считывают массив страничных регистров для верного значения;
р) анализируют бит в регистре битовой карты, на который указывает «счетчик шины»: если этот бит равен нулю, увеличивают «счетчик шины» и переходят к этапу о), если этот бит равен единице, переходят к этапу q), q) для всех значений страницы между нулем и значением, считанным на этапе о) минус один, копируют страницы флэш-памяти из поврежденного блока флэш-памяти в новый блок флэш-памяти, при этом номер опорного флэш-устройства соответствует значению «счетчик устройств», и номер опорной шины соответствует значению «счетчик шины»;
r) для значения страницы, считанной на этапе о), копируют данные соответствующей страницы флэш-памяти из дополнительного буфера памяти (АМВ) в новый блок флэш-памяти, благодаря чему номер опорного флэш-устройства соответствует значению «счетчик устройств», и номер опорной шины соответствует значению «счетчик шины»;
s) увеличивают указатель для массива страничных регистров и переходят к этапу о), пока не будет достигнут конец массива страничных регистров;
t) обновляют «таблицу перераспределения блоков» для соответствующего устройства и помечают соответствующий элемент блока в списке дефектов как неверный;
u) переходят к этапу а) по п.12.
RU2008133604/08A 2006-01-16 2006-12-04 Способ и устройство для записи высокоскоростных входных данных в матрицу запоминающих устройств RU2417461C2 (ru)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP06090010A EP1808863A1 (en) 2006-01-16 2006-01-16 Method and apparatus for recording high-speed input data into a matrix of memory devices
EP06090010.7 2006-01-16

Publications (2)

Publication Number Publication Date
RU2008133604A RU2008133604A (ru) 2010-02-27
RU2417461C2 true RU2417461C2 (ru) 2011-04-27

Family

ID=36763177

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2008133604/08A RU2417461C2 (ru) 2006-01-16 2006-12-04 Способ и устройство для записи высокоскоростных входных данных в матрицу запоминающих устройств

Country Status (12)

Country Link
US (1) US7802152B2 (ru)
EP (2) EP1808863A1 (ru)
JP (1) JP5160448B2 (ru)
KR (1) KR101261671B1 (ru)
CN (1) CN101361137B (ru)
AT (1) ATE430364T1 (ru)
AU (1) AU2006334660B2 (ru)
CA (1) CA2636237C (ru)
DE (1) DE602006006600D1 (ru)
RU (1) RU2417461C2 (ru)
TW (1) TWI403896B (ru)
WO (1) WO2007080031A1 (ru)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101715145B (zh) 2008-10-06 2012-08-15 辉达公司 利用级联存储器评估处理能力的设备和方法
US7945822B1 (en) * 2009-04-27 2011-05-17 Netapp, Inc. Storing data to multi-chip low-latency random read memory device using non-aligned striping
EP2270662A1 (en) * 2009-06-29 2011-01-05 Thomson Licensing Method and apparatus for dealing with write errors when writing information data into flash memory devices
EP2388706A1 (en) * 2010-05-21 2011-11-23 Thomson Licensing Method and system for real-time streaming and storage
KR102072449B1 (ko) 2012-06-01 2020-02-04 삼성전자주식회사 불휘발성 메모리 장치를 포함하는 저장 장치 및 그것의 리페어 방법
US9026893B1 (en) * 2012-12-13 2015-05-05 Western Digital Technologies, Inc. Dynamically assigning inactive pages not used in Reed-Solomon code in non-volatile solid-state storage array
US9502139B1 (en) 2012-12-18 2016-11-22 Intel Corporation Fine grained online remapping to handle memory errors
US9286176B1 (en) 2013-11-08 2016-03-15 Western Digital Technologies, Inc. Selective skipping of blocks in an SSD
US10120816B2 (en) * 2016-07-20 2018-11-06 Sandisk Technologies Llc Bad column management with data shuffle in pipeline
CN107423159B (zh) * 2017-07-11 2019-06-28 华中科技大学 一种基于闪存错误模式提升ldpc译码性能的方法
CN107395214B (zh) * 2017-07-12 2019-06-28 华中科技大学 一种基于闪存页错误特性降低ldpc译码延迟的方法
CN107391299B (zh) * 2017-07-17 2019-06-18 华中科技大学 一种提升闪存存储系统读性能的方法
US11475102B2 (en) * 2019-02-21 2022-10-18 Samsung Electronics Co., Ltd. Adaptive matrix multiplication accelerator for machine learning and deep learning applications

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6347051B2 (en) * 1991-11-26 2002-02-12 Hitachi, Ltd. Storage device employing a flash memory
JP3267320B2 (ja) * 1992-03-31 2002-03-18 株式会社東芝 不揮発性半導体メモリ装置及び不揮発性半導体メモリ装置の制御方法
JP3215237B2 (ja) * 1993-10-01 2001-10-02 富士通株式会社 記憶装置および記憶装置の書き込み/消去方法
JP3154892B2 (ja) * 1994-05-10 2001-04-09 株式会社東芝 Icメモリカードおよびそのicメモリカードの検査方法
US5708771A (en) * 1995-11-21 1998-01-13 Emc Corporation Fault tolerant controller system and method
KR100389867B1 (ko) * 2001-06-04 2003-07-04 삼성전자주식회사 플래시 메모리 관리방법
US7168010B2 (en) * 2002-08-12 2007-01-23 Intel Corporation Various methods and apparatuses to track failing memory locations to enable implementations for invalidating repeatedly failing memory locations
KR100532413B1 (ko) * 2002-12-02 2005-12-02 삼성전자주식회사 플래시 메모리 보호 장치 및 방법
US20040153902A1 (en) * 2003-01-21 2004-08-05 Nexflash Technologies, Inc. Serial flash integrated circuit having error detection and correction
KR100543447B1 (ko) * 2003-04-03 2006-01-23 삼성전자주식회사 에러정정기능을 가진 플래쉬메모리장치
US7392436B2 (en) * 2003-05-08 2008-06-24 Micron Technology, Inc. Program failure recovery
US7606993B2 (en) * 2003-06-10 2009-10-20 Tdk Corporation Flash memory controller, memory control circuit, flash memory system, and method for controlling data exchange between host computer and flash memory
JP4595342B2 (ja) * 2004-02-19 2010-12-08 日本電気株式会社 記憶装置のデータ書き込み、読み出し方法およびデータ記憶システム
JP4722839B2 (ja) * 2004-05-19 2011-07-13 パナソニック株式会社 メモリ制御回路、不揮発性記憶装置及びメモリ制御方法
KR100845526B1 (ko) * 2006-10-19 2008-07-10 삼성전자주식회사 플래시 메모리를 포함한 메모리 시스템 및 그것의 프로그램방법

Also Published As

Publication number Publication date
TW200739341A (en) 2007-10-16
AU2006334660A1 (en) 2007-07-19
JP2009524127A (ja) 2009-06-25
EP1974354A1 (en) 2008-10-01
ATE430364T1 (de) 2009-05-15
JP5160448B2 (ja) 2013-03-13
TWI403896B (zh) 2013-08-01
CA2636237C (en) 2014-07-08
CA2636237A1 (en) 2007-07-19
KR20080092364A (ko) 2008-10-15
US20090083591A1 (en) 2009-03-26
CN101361137A (zh) 2009-02-04
CN101361137B (zh) 2011-06-22
EP1808863A1 (en) 2007-07-18
AU2006334660B2 (en) 2011-08-25
RU2008133604A (ru) 2010-02-27
DE602006006600D1 (de) 2009-06-10
WO2007080031A1 (en) 2007-07-19
KR101261671B1 (ko) 2013-05-06
US7802152B2 (en) 2010-09-21
EP1974354B1 (en) 2009-04-29

Similar Documents

Publication Publication Date Title
RU2417461C2 (ru) Способ и устройство для записи высокоскоростных входных данных в матрицу запоминающих устройств
US8301825B2 (en) Method and system for storing logical data blocks into flash-blocks in multiple non-volatile memories which are connected to at least one common data I/O bus
US8316175B2 (en) High throughput flash memory system
US20110225347A1 (en) Logical block storage in a storage device
US11037627B2 (en) Cell block allocation for hybrid dual write
CN108959526B (zh) 日志管理方法以及日志管理装置
US20230032639A1 (en) Hot data management in a data storage system
EP1712984A1 (en) Method and system for accessing logical data blocks in a storage system that includes multiple memories which are connected to at least one common bus
US10108470B2 (en) Parity storage management
CN101937719B (zh) 将信息数据写入闪速存储器件时处理写错误的方法和装置
TW202334821A (zh) 資料儲存裝置以及非揮發式記憶體控制方法
CN109725853B (zh) 一种数据回收方法及装置
TW202334819A (zh) 資料儲存裝置以及非揮發式記憶體控制方法
CN116665755A (zh) 数据储存装置以及非挥发式存储器控制方法
KR20010091565A (ko) 플래시 메모리 구조 및 그 관리 방법
WO2008087082A9 (en) Method and apparatus for recording data into a matrix of memory devices

Legal Events

Date Code Title Description
MM4A The patent is invalid due to non-payment of fees

Effective date: 20151205