RU2454739C1 - Способ программирования имс flash-памяти типа nand и устройство для его реализации - Google Patents

Способ программирования имс flash-памяти типа nand и устройство для его реализации Download PDF

Info

Publication number
RU2454739C1
RU2454739C1 RU2011100944/08A RU2011100944A RU2454739C1 RU 2454739 C1 RU2454739 C1 RU 2454739C1 RU 2011100944/08 A RU2011100944/08 A RU 2011100944/08A RU 2011100944 A RU2011100944 A RU 2011100944A RU 2454739 C1 RU2454739 C1 RU 2454739C1
Authority
RU
Russia
Prior art keywords
command
cycle
data
input
parameters
Prior art date
Application number
RU2011100944/08A
Other languages
English (en)
Inventor
Андрей Михайлович Прокопенко (RU)
Андрей Михайлович Прокопенко
Евгений Андреевич Тарутин (RU)
Евгений Андреевич Тарутин
Андрей Константинович Иванов (RU)
Андрей Константинович Иванов
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 Российская Федерация, от имени которой выступает Министерство обороны Российской Федерации
Priority to RU2011100944/08A priority Critical patent/RU2454739C1/ru
Application granted granted Critical
Publication of RU2454739C1 publication Critical patent/RU2454739C1/ru

Links

Images

Landscapes

  • Read Only Memory (AREA)

Abstract

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

Description

Изобретение относится к вычислительной технике и предназначено для обеспечения доступа устройства управления, поддерживающего протокол USB 2.0, к данным, хранящимся в интегральных микросхемах (ИМС) flash-памяти типа NAND.
Задачи чтения, стирания и записи данных в ИМС flash-памяти типа NAND обычно решают с помощью универсальных программаторов, таких как Beeprog фирмы «Elnec», Тритон ООО «ТЦ Тритон» и т.д.
Основным недостатком таких устройств является ограниченный список поддерживаемых ИМС. Пользователю для операций с новыми микросхемами или микросхемами, не входящими в список поддерживаемых, необходимо ожидать выпуска дополнительных программных модулей к программатору или искать другие программаторы.
Другим вариантом решения этой задачи является использование специализированных устройств типа «РС-3000 Flash» фирмы «ACELab» или «NAND Flash Reader» фирмы «Софт-Центр». Данные устройства рассчитаны на работу только с ИМС flash-памяти типа NAND, поэтому имеют более широкий, но также ограниченный список поддерживаемых микросхем.
Основным недостатком приведенных аналогов является отсутствие гибкого интерфейса связи с ИМС flash-памяти типа NAND, позволяющего пользователю быстро перенастроить параметры обмена данными без применения дополнительных программных и/или аппаратных средств.
Наиболее близкими по технической сущности к заявляемому изобретению являются выбранный в качестве прототипа способ и устройство (патент США №6985778 В2, G05B 11/01 от 10 января 2006 г.), позволяющие связывать центральный процессор и ИМС flash-памяти типа NAND. Устройство включает набор регистров, внутреннюю память, блок flash-интерфейса и конечный автомат. Набор регистров получает и хранит команды управления операциями с ИМС flash-памяти типа NAND от центрального процессора, а также оперативную информацию, необходимую для выполнения команд. Блок flash-интерфейса вырабатывает сигналы управления для ИМС flash-памяти типа NAND, выводит команды, оперативную информацию и данные центрального процессора на линии ввода/вывода данных ИМС flash-памяти типа NAND. Конечный автомат извлекает команду и оперативную информацию из набора регистров и управляет внутренней памятью и блоком flash-интерфейса при выполнении команды. Способ позволяет выполнять операции чтения данных, записи данных, стирания данных, проверку блока на наличие сбоев, пометку блока, имеющего сбои.
Данный способ не поддерживает варьирование параметров протокола обмена данными без изменения алгоритма функционирования. Отсутствует реализация некоторых функций, таких как чтение идентификационного номера ИМС flash-памяти типа NAND.
Устройство не поддерживает протокол обмена данными с ПЭВМ и не позволяет варьировать физические параметры протокола обмена данными с ИМС flash-памяти типа NAND, без преобразования блоков устройства.
ИМС flash-памяти типа NAND производятся различными производителями, такими как Samsung, Toshiba, Intel, Micron, SunDisk, Renesas, Hynix и т.д. Анализ технической документации ИМС flash-памяти типа NAND показал, что интерфейс обмена данными у всех производителей примерно одинаковый. Но несмотря на это существует ряд различий, которые необходимо учитывать при обеспечении доступа к данным. ИМС flash-памяти типа NAND могут различаться по структуре организации памяти. Основными параметрами организации памяти являются: размер хранимых данных в странице, размер данных дополнительной области страницы, количество страниц в блоке, количество блоков в ИМС. В протоколе обмена может применяться различное количество циклов установки COL- и ROW-адреса. ИМС flash-памяти типа NAND могут различаться размером шины данных, рабочим напряжением и скоростью обмена данными.
Как правило, устройства программирования ИМС представляют собой интерфейсные устройства, обеспечивающие связь между ПЭВМ по протоколу USB и ИМС по соответствующему протоколу.
Целью изобретения является расширение функциональных возможностей программаторов ИМС flash-памяти типа NAND путем создания гибкого, настраиваемого пользователем интерфейса связи с ИМС flash-памяти типа NAND, обеспечивающего возможность работы со всеми ИМС flash-памяти типа NAND, а также за счет добавления функций чтения идентификационного номера ИМС, чтения статуса ИМС и функции сброса ИМС.
Цель достигается тем, что в известном способе, заключающемся в том, что во время старта производят сброс устройства, выполняют инициализацию устройства, ожидают ввода команды, при команде чтения данных выполняют первый цикл команды чтения, производят необходимое количество циклов установки адреса страницы, ожидают сигнала готовности ИМС flash-памяти типа NAND, выполняют заданное количество циклов чтения, при команде записи данных выполняют первый цикл команды записи, производят необходимое количество циклов установки адреса страницы, выполняют заданное количество циклов записи данных, выполняют второй цикл команды записи, ожидают сигнала готовности ИМС flash-памяти типа NAND, при команде стирания данных выполняют первый цикл команды стирания, производят необходимое количество циклов установки адреса блока, выполняют второй цикл команды стирания, ожидают сигнала готовности ИМС flash-памяти типа NAND, согласно изобретению после приема команды выполняют извлечение параметров команды, при команде чтения данных, после выполнения заданного количества циклов установки адреса, выполняют второй цикл команды чтения, а после выполнения заданного количества циклов чтения данных производят инкрементирование адреса страницы и выполняют проверку равенства количества прочитанных страниц с заданным количеством, если это равенство не достигнуто, то переходят к этапу выполнения первого цикла команды чтения, если равенство достигнуто, то переходят в цикл ожидания приема следующей команды, при команде записи после получения сигнала готовности ИМС flash-памяти типа NAND производят инкрементирование адреса страницы и выполняют проверку равенства количества записанных страниц с заданным количеством, если это равенство не достигнуто, то переходят к этапу выполнения первого цикла команды записи, если равенство достигнуто, то переходят в цикл ожидания приема следующей команды, при команде чтения идентификационного номера выполняют цикл команды чтения ID-номера, выполняют цикл установки адреса со значением «00h», производят чтение пяти байт данных и переходят в цикл ожидания приема следующей команды, при команде чтения статуса ИМС выполняют цикл команды чтения статуса, производят чтение одного байта статуса и переходят в цикл ожидания приема следующей команды, при команде сброса ИМС flash-памяти типа NAND выполняют цикл команды сброса, производят задержку на одну миллисекунду и переходят в цикл ожидания приема следующей команды, при команде установки параметров ИМС выполняют сохранение параметров ИМС в регистре параметров flash-интерфейса, производят применение этих параметров и переходят в цикл ожидания приема следующей команды.
В зависимости от параметров flash-интерфейса при выполнении заданного количества циклов установки адреса страницы выполняют первый цикл установки COL-адреса, если количество байт COL-адреса превышает один байт, то выполняют второй цикл установки COL-адреса, выполняют первый цикл установки ROW-адреса, если количество байт ROW-адреса превышает один байт, то выполняют второй цикл установки ROW-адреса, если количество байт ROW-адреса превышает два байта, то выполняют третий цикл установки ROW-адреса.
В зависимости от параметров flash-интерфейса, при выполнении заданного количества циклов установки адреса блока, выполняют первый цикл установки ROW-адреса, если количество байт ROW-адреса превышает один байт, то выполняют второй цикл установки ROW-адреса, если количество байт ROW-адреса превышает два байта, то выполняют третий цикл установки ROW-адреса.
При выполнении заданного количества циклов чтения данных выполняют цикл чтения данных, проверяют равенство количества байт данных страницы, хранящихся в параметрах flash-интерфейса, с количеством прочитанных байт, если условие не выполняется, то переходят к выполнению цикла чтения следующих данных.
При выполнении заданного количества циклов записи данных выполняют цикл записи данных, проверяют равенство количества байт данных страницы, хранящихся в параметрах flash-интерфейса, с количеством записанных байт, если условие не выполняется, то переходят к выполнению цикла записи следующих данных.
Цель достигается тем, что в известное устройство, содержащее регистр параметров команды, блок flash-интерфейса, конечный автомат управления, согласно изобретению введены контроллер USB-FIFO и регистр параметров flash-интерфейса, причем первый выход контроллера USB-FIFO соединен с первым входом блока flash-интерфейса, второй выход контроллера USB-FIFO соединен с первым входом конечного автомата управления, третий выход контроллера USB-FIFO соединен с третьим входом регистра параметров команды, четвертый выход контроллера USB-FIFO соединен с первым входом регистра параметров flash-интерфейса, первый выход конечного автомата управления соединен со вторым входом контроллера USB-FIFO, второй выход конечного автомата управления соединен с первым входом регистра параметров команды, третий выход конечного автомата управления соединен со вторым входом блока flash-интерфейса, четвертый выход конечного автомата управления соединен со вторым входом регистра параметров flash-интерфейса, первый выход блока flash-интерфейса соединен с первым входом контроллера USB-FIFO, второй выход блока flash-интерфейса соединен с третьим входом конечного автомата управления, третий выход блока flash-интерфейса соединен со вторым входом регистра параметров команды, первый выход регистра параметров команды соединен со вторым входом конечного автомата управления, второй выход регистра параметров команды соединен с третьим входом блока flash-интерфейса, первый выход регистра параметров flash-интерфейса соединен с четвертым входом блока flash-интерфейса.
Блок flash-интерфейса состоит из формирователя сигналов и конечного автомата операций, причем выход конечного автомата операций соединен с входом формирователя сигналов, а выход формирователя сигналов соединен с входом конечного автомата операций.
Предлагаемый способ отличается новыми операциями чтения идентификационного номера ИМС, чтения статуса ИМС, сброса ИМС, установки параметров протокола обмена данными с ИМС, а устройство - введенными новыми блоками контроллера USB-FIFO и регистра параметров flash-интерфейса с соответствующими связями. Таким образом, изобретение соответствует критерию «новизны».
Изобретение соответствует критерию «изобретательский уровень», так как оно для специалиста явным образом не следует из уровня техники.
Изобретение может быть использовано в области электроники для создания программаторов ИМС flash-памяти типа NAND с гибким, настраиваемым пользователем интерфейсом связи с ИМС flash-памяти типа NAND и соответствует критерию «промышленная применимость».
На фиг.1 и фиг.2 изображена блок-схема алгоритма программирования ИМС flash-памяти типа NAND.
На фиг.3 изображена структурно-функциональная схема устройства, реализующего предлагаемый способ.
Способ состоит из выполнения следующих операций:
- инициализация устройства (фиг.1а),
- прием команды (фиг.1а),
- чтение данных ИМС flash-памяти типа NAND (фиг.1б),
- запись данных ИМС flash-памяти типа NAND (фиг.1в),
- стирание данных ИМС flash-памяти типа NAND (фиг.1г),
- чтение идентификационного номера ИМС flash-памяти типа NAND (фиг.1д),
- чтение статуса ИМС flash-памяти типа NAND (фиг.1е),
- сброс ИМС flash-памяти типа NAND (фиг.1ж),
- установка параметров протокола обмена данными с ИМС flash-памяти типа NAND (фиг.1з).
Устройство (фиг.3) содержит контроллер USB-FIFO 1, регистр параметров команды 2, регистр параметров flash-интерфейса 3, конечный автомат управления 4, блок flash-интерфейса 5.
Первый выход контроллера USB-FIFO 1 соединен с первым входом блока flash-интерфейса 5, второй выход контроллера USB-FIFO 1 соединен с первым входом конечного автомата управления 4, третий выход контроллера USB-FIFO 1 соединен с третьим входом регистра параметров команды 2, четвертый выход контроллера USB-FIFO 1 соединен с первым входом регистра параметров flash-интерфейса 3, первый выход конечного автомата управления 4 соединен со вторым входом контроллера USB-FIFO 1, второй выход конечного автомата управления 4 соединен с первым входом регистра параметров команды 2, третий выход конечного автомата управления 4 соединен со вторым входом блока flash-интерфейса 5, четвертый выход конечного автомата управления 4 соединен со вторым входом регистра параметров flash-интерфейса 3, первый выход блока flash-интерфейса 5 соединен с первым входом контроллера USB-FIFO 1, второй выход блока flash-интерфейса 5 соединен с третьим входом конечного автомата управления 4, третий выход блока flash-интерфейса 5 соединен со вторым входом регистра параметров команды 2, первый выход регистра параметров команды 2 соединен со вторым входом конечного автомата управления 4, второй выход регистра параметров команды 2 соединен с третьим входом блока flash-интерфейса 5, первый выход регистра параметров flash-интерфейса 3 соединен с четвертым входом блока flash-интерфейса 5.
Блок flash-интерфейса 5 содержит формирователь сигналов 6 и конечный автомат операций 7.
Выход конечного автомата операций 7 соединен с входом формирователя сигналов 6, а выход формирователя сигналов 6 соединен с входом конечного автомата операций 7.
Контроллер USB-FIFO 1 предназначен для обмена данными с устройством управления по протоколу USB 2.0.
Регистр параметров команды 2 содержит следующие данные: тип команды, количество страниц участвующих в операции, адрес начальной страницы.
Регистр параметров flash-интерфейса 3 содержит следующие данные: скорость обмена данными, рабочее напряжение, размер шины данных, номер текущего кристалла, размер страницы, размер COL адреса, размер ROW адреса, значение первого цикла команды чтения данных, значение второго цикла команды чтения данных, значение первого цикла команды записи данных, значение второго цикла команды записи данных, значение первого цикла команды стирания данных, значение второго цикла команды стирания данных, значение команды чтения ID номера, значение команды чтения статуса, значение команды сброса ИМС.
Блок flash-интерфейса 5 предназначен для формирования последовательности сигналов, соответствующей протоколу обмена данными с ИМС flash-памяти типа NAND, и для выполнения операций с данными, хранящимися в ИМС flash-памяти типа NAND.
Конечный автомат управления 4 осуществляет управление и синхронизацию работы всех остальных блоков.
Сущность способа заключается в следующем.
Включением питания производят сброс устройства (фиг.1а). Выполняют инициализацию устройства, устанавливают заданные по умолчанию параметры. Переходят в состояние ожидания команды. При получении команды из нее извлекают тип и параметры, сохраняют их в регистре параметров команды и переходят в процедуры выполнения команды.
При команде чтения данных (фиг.1б) выполняют первый цикл команды чтения данных со значением, заданным в регистре параметров flash-интерфейса. Выполняют заданное количество циклов установки адреса страницы (фиг.2а), т.е. выполняют первый цикл установки COL-адреса, если количество байт COL-адреса превышает один байт, то выполняют второй цикл установки COL-адреса, выполняют первый цикл установки ROW-адреса, если количество байт ROW-адреса превышает один байт, то выполняют второй цикл установки ROW-адреса, если количество байт ROW-адреса превышает два байта, то выполняют третий цикл установки ROW-адреса. Выполняют второй цикл команды чтения данных со значением, заданным в регистре параметров flash-интерфейса. Переходят в режим ожидания сигнала готовности ИМС flash-памяти типа NAND. При сигнале R/B=1, переходят к выполнению заданного количества циклов чтения данных (фиг.2в). Выполняют цикл чтения данных, проверяют равенство количества байт данных страницы, хранящихся в регистре параметров flash-интерфейса, с количеством прочитанных байт, если условие не выполняется, то переходят к выполнению цикла чтения следующих данных. При равенстве количества байт данных страницы с количеством прочитанных байт переходят к инкрементированию адреса страницы. Выполняют проверку количества прочитанных страниц с заданным количеством в регистре параметров flash-интерфейса. Если количество прочитанных страниц меньше заданного количества, то переходят к выполнению первого цикла команды чтения данных, иначе переходят в состояние ожидания приема следующей команды.
При команде записи данных (фиг.1в) выполняют первый цикл команды записи данных со значением, заданным в регистре параметров flash-интерфейса. Выполняют заданное количество циклов установки адреса страницы (фиг.2а), т.е. выполняют первый цикл установки COL-адреса, если количество байт COL-адреса превышает один байт, то выполняют второй цикл установки COL-адреса, выполняют первый цикл установки ROW-адреса, если количество байт ROW-адреса превышает один байт, то выполняют второй цикл установки ROW-адреса, если количество байт ROW-адреса превышает два байта, то выполняют третий цикл установки ROW-адреса. Выполняют заданное количество циклов записи данных (фиг.2г). Выполняют цикл записи данных, проверяют равенство количества байт данных страницы, хранящихся в регистре параметров flash-интерфейса, с количеством записанных байт, если условие не выполняется, то переходят к выполнению цикла записи следующих данных. При равенстве количества байт данных страницы с количеством записанных байт переходят к инкрементированию адреса страницы. Выполняют второй цикл команды записи данных со значением, заданным в регистре параметров flash-интерфейса. Переходят в режим ожидания сигнала готовности ИМС flash-памяти типа NAND. При сигнале R/B=1, выполняют проверку количества записанных страниц с заданным количеством в регистре параметров flash-интерфейса. Если количество записанных страниц меньше заданного количества, то переходят к выполнению первого цикла команды записи данных, иначе переходят в состояние ожидания приема следующей команды.
При команде стирания данных (фиг.1г) выполняют первый цикл команды стирания данных со значением, заданным в регистре параметров flash-интерфейса. Выполняют заданное количество циклов установки адреса блока (фиг.2б), т.е. выполняют первый цикл установки ROW-адреса, если количество байт ROW-адреса превышает один байт, то выполняют второй цикл установки ROW-адреса, если количество байт ROW-адреса превышает два байта, то выполняют третий цикл установки ROW-адреса. Выполняют второй цикл команды стирания данных со значением, заданным в регистре параметров flash-интерфейса. Переходят в режим ожидания сигнала готовности ИМС flash-памяти типа NAND. При сигнале R/B=1, переходят в состояние ожидания приема следующей команды.
При команде чтения идентификационного номера ИМС flash-памяти типа NAND (фиг.1д) выполняют цикл команды чтения ID номера со значением, заданным в регистре параметров flash-интерфейса. Выполняют цикл установки адреса со значением «00h». Производят чтение пяти байт данных и переходят в состояние ожидания приема следующей команды.
При команде чтения статуса ИМС flash-памяти типа NAND (фиг.1е) выполняют цикл команды чтения статуса со значением, заданным в регистре параметров flash-интерфейса. Производят чтение одного байта статуса и переходят в состояние ожидания приема следующей команды.
При команде сброса ИМС flash-памяти типа NAND (фиг.1ж) выполняют цикл команды сброса со значением, заданным в регистре параметров flash-интерфейса. Производят задержку на одну миллисекунду и переходят в состояние ожидания приема следующей команды.
При команде установки параметров ИМС flash-памяти типа NAND (фиг.1з) выполняют сохранение параметров ИМС в регистре параметров flash-интерфейса. Производят применение этих параметров и переходят в цикл ожидания приема следующей команды.
Устройство работает следующим образом.
Контроллер USB-FIFO 1 принимает команду и сопутствующие данные от устройства управления по протоколу USB 2.0 и записывает их во внутренний буфер, выставляя сигнал наличия данных. Конечный автомат управления 4 анализирует этот сигнал и вырабатывает управляющие сигналы для записи типа команды и ее параметров из буфера контроллера USB-FIFO 1 в регистр параметров команды 2. В зависимости от типа команды конечный автомат управления 4 вырабатывает управляющие сигналы для регистра параметров команды 2, регистра параметров flash-интерфейса 3 и конечного автомата операций 7.
Алгоритм работы конечного автомата управления 4 соответствует блок-схеме, изображенной на фигуре 3а и 3з. При приеме команды установки параметров ИМС flash-памяти типа NAND конечный автомат управления 4 вырабатывает управляющие сигналы для записи параметров flash-интерфейса из буфера контроллера USB-FIFO 1 в регистр параметров flash-интерфейса 3. При приеме других команд конечный автомат управления 4 запускает конечный автомат операций 7 и ожидает завершения выполнения операции.
Алгоритм работы конечного автомата операций 7 соответствует блок-схеме, изображенной на фигурах 3б-3ж и 4. Входными параметрами работы конечного автомата операций 7 являются данные, записанные в регистре параметров команды 2, регистре параметров flash-интерфейса 3 и буфере контроллера USB-FIFO 1. Конечный автомат операций 7 в зависимости от типа операции вырабатывает последовательность сигналов, которая при помощи формирователя сигналов 6 преобразуется в последовательность сигналов, соответствующую протоколу обмена данными с ИМС flash-памяти типа NAND. Данные, полученные от ИМС flash-памяти типа NAND через формирователь сигналов 6, передаются конечным автоматом операций 7 в буфер контроллера USB-FIFO 1 для последующей передачи к устройству управления.
Контроллер USB-FIFO может быть выполнен на микроконтроллере CY7C68013A фирмы Cypress. Регистр параметров команды, регистр параметров flash-интерфейса, конечный автомат управления и конечный автомат операций могут быть выполнены на базе одной ПЛИС, например, X3S500E фирмы Xilinx. Формирователь сигналов может быть выполнен при помощи шинных формирователей 74LV244 фирмы Philips и микроконтроллера М30879 фирмы Renesas, содержащего модули АЦП и ГДАП.
Изобретение обеспечило возможность пользователю самостоятельно адаптировать устройство для работы с различными ИМС flash-памяти типа NAND, а также добавило функции чтения идентификационного номера ИМС, чтения статуса ИМС и функцию сброса ИМС flash-памяти типа NAND.

Claims (7)

1. Способ программирования ИМС flash-памяти типа NAND, заключающийся в том, что во время старта производят сброс устройства, выполняют инициализацию устройства, ожидают ввода команды, при команде чтения данных выполняют первый цикл команды чтения, производят необходимое количество циклов установки адреса страницы, ожидают сигнала готовности ИМС flash-памяти типа NAND, выполняют заданное количество циклов чтения, при команде записи данных выполняют первый цикл команды записи, производят необходимое количество циклов установки адреса страницы, выполняют заданное количество циклов записи данных, выполняют второй цикл команды записи, ожидают сигнала готовности ИМС flash-памяти типа NAND, при команде стирания данных выполняют первый цикл команды стирания, производят необходимое количество циклов установки адреса блока, выполняют второй цикл команды стирания, ожидают сигнала готовности ИМС flash-памяти типа NAND, отличающийся тем, что после приема команды выполняют извлечение параметров команды, при команде чтения данных, после выполнения заданного количества циклов установки адреса, выполняют второй цикл команды чтения, а после выполнения заданного количества циклов чтения данных производят инкрементирование адреса страницы и выполняют проверку равенства количества прочитанных страниц с заданным количеством, если это равенство не достигнуто, то переходят к этапу выполнения первого цикла команды чтения, если равенство достигнуто, то переходят в цикл ожидания приема следующей команды, при команде записи после получения сигнала готовности ИМС flash-памяти типа NAND производят инкрементирование адреса страницы и выполняют проверку равенства количества записанных страниц с заданным количеством, если это равенство не достигнуто, то переходят к этапу выполнения первого цикла команды записи, если равенство достигнуто, то переходят в цикл ожидания приема следующей команды, при команде чтения идентификационного номера выполняют цикл команды чтения ID-номера, выполняют цикл установки адреса со значением «00h», производят чтение пяти байт данных и переходят в цикл ожидания приема следующей команды, при команде чтения статуса ИМС выполняют цикл команды чтения статуса, производят чтение одного байта статуса и переходят в цикл ожидания приема следующей команды, при команде сброса ИМС flash-памяти типа NAND выполняют цикл команды сброса, производят задержку на одну миллисекунду и переходят в цикл ожидания приема следующей команды, при команде установки параметров ИМС выполняют сохранение параметров ИМС в регистре параметров flash-интерфейса, производят применение этих параметров и переходят в цикл ожидания приема следующей команды.
2. Способ по п.1, отличающийся тем, что в зависимости от параметров flash-интерфейса при выполнении заданного количества циклов установки адреса страницы выполняют первый цикл установки COL-адреса, если количество байт COL-адреса превышает один байт, то выполняют второй цикл установки COL-адреса, выполняют первый цикл установки ROW-адреса, если количество байт ROW-адреса превышает один байт, то выполняют второй цикл установки ROW-адреса, если количество байт ROW-адреса превышает два байта, то выполняют третий цикл установки ROW-адреса.
3. Способ по п.1, отличающийся тем, что в зависимости от параметров flash-интерфейса при выполнении заданного количества циклов установки адреса блока выполняют первый цикл установки ROW-адреса, если количество байт ROW-адреса превышает один байт, то выполняют второй цикл установки ROW-адреса, если количество байт ROW-адреса превышает два байта, то выполняют третий цикл установки ROW-адреса.
4. Способ по п.1, отличающийся тем, что при выполнении заданного количества циклов чтения данных выполняют цикл чтения данных, проверяют равенство количества байт данных страницы, хранящихся в параметрах flash-интерфейса, с количеством прочитанных байт, если условие не выполняется, то переходят к выполнению цикла чтения следующих данных.
5. Способ по п.1, отличающийся тем, что при выполнении заданного количества циклов записи данных выполняют цикл записи данных, проверяют равенство количества байт данных страницы, хранящихся в параметрах flash-интерфейса, с количеством записанных байт, если условие не выполняется, то переходят к выполнению цикла записи следующих данных.
6. Устройство программирования ИМС flash-памяти типа NAND, содержащее регистр параметров команды, блок flash-интерфейса, конечный автомат управления, отличающееся тем, что введены контроллер USB-FIFO и регистр параметров flash-интерфейса, причем первый выход контроллера USB-FIFO соединен с первым входом блока flash-интерфейса, второй выход контроллера USB-FIFO соединен с первым входом конечного автомата управления, третий выход контроллера USB-FIFO соединен с третьим входом регистра параметров команды, четвертый выход контроллера USB-FIFO соединен с первым входом регистра параметров flash-интерфейса, первый выход конечного автомата управления соединен со вторым входом контроллера USB-FIFO, второй выход конечного автомата управления соединен с первым входом регистра параметров команды, третий выход конечного автомата управления соединен со вторым входом блока flash-интерфейса, четвертый выход конечного автомата управления соединен со вторым входом регистра параметров flash-интерфейса, первый выход блока flash-интерфейса соединен с первым входом контроллера USB-FIFO, второй выход блока flash-интерфейса соединен с третьим входом конечного автомата управления, третий выход блока flash-интерфейса соединен со вторым входом регистра параметров команды, первый выход регистра параметров команды соединен со вторым входом конечного автомата управления, второй выход регистра параметров команды соединен с третьим входом блока flash-интерфейса, первый выход регистра параметров flash-интерфейса соединен с четвертым входом блока flash-интерфейса.
7. Устройство по п.6, отличающееся тем, что блок flash-интерфейса состоит из формирователя сигналов и конечного автомата операций, причем выход конечного автомата операций соединен с входом формирователя сигналов, а выход формирователя сигналов соединен с входом конечного автомата операций.
RU2011100944/08A 2011-01-12 2011-01-12 Способ программирования имс flash-памяти типа nand и устройство для его реализации RU2454739C1 (ru)

Priority Applications (1)

Application Number Priority Date Filing Date Title
RU2011100944/08A RU2454739C1 (ru) 2011-01-12 2011-01-12 Способ программирования имс flash-памяти типа nand и устройство для его реализации

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
RU2011100944/08A RU2454739C1 (ru) 2011-01-12 2011-01-12 Способ программирования имс flash-памяти типа nand и устройство для его реализации

Publications (1)

Publication Number Publication Date
RU2454739C1 true RU2454739C1 (ru) 2012-06-27

Family

ID=46682005

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2011100944/08A RU2454739C1 (ru) 2011-01-12 2011-01-12 Способ программирования имс flash-памяти типа nand и устройство для его реализации

Country Status (1)

Country Link
RU (1) RU2454739C1 (ru)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109324828A (zh) * 2018-09-21 2019-02-12 山东华芯半导体有限公司 一种在验证平台中实现闪存多命令并行执行的方法
RU199833U1 (ru) * 2019-06-03 2020-09-22 Федеральное государственное бюджетное образовательное учреждение высшего образования "Петрозаводский государственный университет" Модульная система электрического и функционального тестирования микросхем NAND-памяти на основе ПЛИС
CN114882935A (zh) * 2022-04-22 2022-08-09 西北核技术研究所 一种nand闪存的辐射效应实时测试方法、系统及终端设备
CN115080471A (zh) * 2022-06-29 2022-09-20 成都九洲迪飞科技有限责任公司 基于FPGA的nand flash接口控制器及读写方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0710914B1 (en) * 1994-11-04 2000-05-03 Canon Information Systems, Inc. Smart programming of flash memory
RU2156506C2 (ru) * 1993-04-27 2000-09-20 Самсунг Электроникс Ко., Лтд. Полупроводниковая память
US6985778B2 (en) * 2002-05-31 2006-01-10 Samsung Electronics Co., Ltd. NAND flash memory interface device
EP1788575A1 (en) * 2005-11-18 2007-05-23 STMicroelectronics S.r.l. Method for accessing in reading, writing and programming to a NAND non-volatile memory electronic device monolithically integrated on semiconductor

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2156506C2 (ru) * 1993-04-27 2000-09-20 Самсунг Электроникс Ко., Лтд. Полупроводниковая память
EP0710914B1 (en) * 1994-11-04 2000-05-03 Canon Information Systems, Inc. Smart programming of flash memory
US6985778B2 (en) * 2002-05-31 2006-01-10 Samsung Electronics Co., Ltd. NAND flash memory interface device
EP1788575A1 (en) * 2005-11-18 2007-05-23 STMicroelectronics S.r.l. Method for accessing in reading, writing and programming to a NAND non-volatile memory electronic device monolithically integrated on semiconductor

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109324828A (zh) * 2018-09-21 2019-02-12 山东华芯半导体有限公司 一种在验证平台中实现闪存多命令并行执行的方法
RU199833U1 (ru) * 2019-06-03 2020-09-22 Федеральное государственное бюджетное образовательное учреждение высшего образования "Петрозаводский государственный университет" Модульная система электрического и функционального тестирования микросхем NAND-памяти на основе ПЛИС
CN114882935A (zh) * 2022-04-22 2022-08-09 西北核技术研究所 一种nand闪存的辐射效应实时测试方法、系统及终端设备
CN115080471A (zh) * 2022-06-29 2022-09-20 成都九洲迪飞科技有限责任公司 基于FPGA的nand flash接口控制器及读写方法

Similar Documents

Publication Publication Date Title
TWI628542B (zh) 快閃記憶體的垃圾回收斷電回復方法以及使用該方法的裝置
US7793035B2 (en) Memory system and controller
US10089212B2 (en) Memory system, information processing system, and host device outputting debugging information through a host interface
US20140331034A1 (en) Embedded system boot from a storage device
TW201327561A (zh) 橋接晶片組與資料儲存系統
KR20080083474A (ko) 플래시 메모리를 기반으로 한 메모리 시스템
US8799605B2 (en) Initializing and writing to a nonvolatile storage device based on a client/server model
US20080052448A1 (en) Flash memory interface device
KR102395541B1 (ko) 메모리 컨트롤 유닛 및 그것을 포함하는 데이터 저장 장치
RU2454739C1 (ru) Способ программирования имс flash-памяти типа nand и устройство для его реализации
US20190155765A1 (en) Operation method of host system including storage device and operation method of storage device controller
TWI640872B (zh) 記憶體控制電路單元、記憶體儲存裝置及其控制方法
KR20020036717A (ko) 마이크로컴퓨터 및 그 제어 방법
US7644247B2 (en) System controller for flash memory
WO2006051692A1 (ja) 不揮発性メモリシステム
KR102180972B1 (ko) 메모리 컨트롤 유닛 및 그것을 포함하는 데이터 저장 장치
US9858990B2 (en) Hardware-based performance equalization for storage devices
CN105825898A (zh) 动态存储器测试装置及其测试方法
JP2008021396A (ja) コントローラ及びメモリシステム
Priyanka et al. Standalone portable host for unified bootloader in pic devices using can interface
CN111782574A (zh) 一种串行外设接口控制方法和串行外设接口控制器
JP2008257415A (ja) プログラム書き込み機能を有するコントローラ
TWI461872B (zh) 自動化量產方法及其系統
KR100621635B1 (ko) 원낸드 플래시 메모리 장치의 인터럽트 제어 방법 및 장치
KR102553263B1 (ko) 스토리지 장치 및 이의 동작 방법

Legal Events

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

Effective date: 20180113