Внешние ЗУ (ВЗУ) (с комментариями по ЭВМ).
Практически всем известны ВЗУ общего пользования, например флеш карты.
ВЗУ имеют большую емкость и применяются в составе ЭВМ с целью наращивания емкости памяти машины, поскольку емкость ОЗУ ограничена. Запоминавшие устройства большой емкости (магнитные диски, магнитные ленты и др.) имеют невысокое быстродействие (время обращения измеряется единицами и десятками миллисекунд, т.е. на 4-5 порядков больше, чем в ОЗУ), поэтому их включение в структуру ЭВМ как оперативных ЗУ нецелесообразно: поскольку время обращения к ОЗУ входит в длительность машинного цикла, длительность цикла будет непомерно большой, а быстродействие ЭВМ – малым. Проблемы, подобные этой, т.е. проблемы эффективного использования медленнодействующих устройств в составе ЭВМ, в свое время (в 50-х годах) привели к революционному скачку в принципах построения ЭВМ.
Новый принцип называется принципом мультипрограммной работы ("мульти" - много) и заключается в следующем. Медленнодействующие устройства (ввод с клавиатуры, ввод/вывод перфокарт, печать, магнитные ленты, диски, телетайпы и др.) объявляются внешними устройствами (ВУ), т.е. не имеющими с процессорами непосредственной связи. Когда программа в процессе своего исполнения подходит к оператору, обращающемуся к ВУ, она запускает операции в ВУ, а сама прерывается, т.е. ее исполнение в процессоре на время прекращается; вместо прерванной программы в процессор вызывается и исполняется другая программа – одна из программ, ожидающих обслуживания процессором. Когда ВУ заканчивает свою операцию, оно сообщает об этом операционной системе специальным сигналом запроса прерывания процессора. Таким образом, при работе ВУ процессор не стоит в ожидании, а исполняет другую программу. За время операции в ВУ современный процессор может выполнить 104 – 105 операций. Если в ЭВМ одновременно находится достаточно много программ, весьма вероятно, что параллельно с работой внешних устройств процессор будет почти полностью загружен исполнением различных программ. Это означает, что принцип мультипрограммной работы, не сокращая времени исполнения каждой отдельной программы, позволяет резко увеличивать число исполняемых программ в единицу времени по сравнению с режимом однопрограммной работы ЭВМ.
1.2.5 ( дополнение)
Контроллер flash–памяти с интерфейсом USB («USB флешка»)
В настоящее время устройства flash – памяти приобрели большую популярность и завоевали всеобщее признание пользователей ПК. Это стало возможно благодаря таким качествам накопителей данного типа, как компактность, малое энергопотребление, большой объем памяти, отсутствие движущихся частей, высокая надежность и простота использования. Самое широкое распространение получил вариант исполнения «memory stick» - память-палочка. Кроме того,
flash-диски выпускаются в виде брелоков, авторучек, складных ножей и т.п.
Рис.1 – пример внешнего вида USB флешки.
Основные составляющие большинства USB флешек – это USB интерфейс, контроллер и flash-память.
Рис.2 – структура типичной флешки.
Современные контроллеры максимально интегрированы и включают в себя все необходимые компоненты для построения готового устройства flash-памяти с минимальным набором внешних элементов. Кроме того, они имеют малогабаритный корпус, что позволяет на их основе создавать миниатюрные устройства памяти.
Рассмотрим пример USB флешки, синтезированной на основе контроллера STBD2010 (Рис.3).
Встроенный в контроллер регулятор напряжения обеспечивает подключаемые микросхемы
flash-памяти необходимыми для них напряжениями питания 3,3 В и 1,8 В без использования внешних стабилизаторов напряжения и других дополнительных элементов. Входным источником питания для контроллера служит источник напряжения 5 В интерфейса USB. Для синхронизации всех процессов внутри контроллера имеется встроенный синтезатор частот, который работает совместно с внешним кварцевым резонатором, задающим тактовую частоту 24 мГц. Протокол интерфейса USB и flash-памяти поддерживается встроенным микроконтроллером High Performance Microcontroller, который использует для своей работы встроенную постоянную память ROM и оперативную память RAM. Поддержка интерфейса USB осуществляется с помощью блока высокоскоростного приемопередатчика USB2.0 Hi-Speed Transceiver и устройство управления USB2.0 Hi-Speed Device Controller. Блок GPIO обеспечивает внешнее управление и индикацию режима работы контроллера. Связь контроллера с flash-памятью осуществляется через интерфейс памяти Flash Memory Interface.
Рис.3 – структурная схема синтезированной USB флешки.
Бытует мнение, что название FLASH применительно к типу памяти переводится как «вспышка». На самом деле это не совсем так. Одна из версий его появления говорит о том, что впервые в 1989-90 году компания Toshiba употребила слово Flash в контексте «быстрый, мгновенный» при описании своих новых микросхем. Вообще, изобретателем считается Intel, представившая в 1988 году флэш-память с архитектурой NOR. Годом позже Toshiba разработала архитектуру NAND, которая и сегодня используется наряду с той же NOR в микросхемах flash. Собственно, сейчас можно сказать, что это два различных вида памяти, имеющие в чем-то схожую технологию производства. Рассмотрим различные варианты практического использования.
NOR
Поскольку память с такой организацией считается первой представительницей семейства Flash, с нее и начнем. Схема логического элемента, собственно давшего ей название (NOR — Not OR — в булевой математике обозначает отрицание «ИЛИ»), приведена на Рис.4.
Рис.4 – схема ЛЭ NOR.
С помощью нее осуществляется преобразование входных напряжений в выходные, соответствующие «0» и «1». Они необходимы, потому что для чтения/записи данных в ячейке памяти используются различные напряжения. Схема ячейки и архитектура NOR приведена на Рис.5.
Рис.5 – схема ячейки и архитектура NOR.
Она характерна для большинства флэш-чипов и представляет из себя транзистор с двумя изолированными затворами: управляющим (control) и плавающим (floating). Важной особенностью последнего является способность удерживать электроны, то есть заряд. Также в ячейке имеются так называемые «сток» и «исток». При программировании между ними, вследствие воздействия положительного поля на управляющем затворе, создается канал — поток электронов. Некоторые из электронов, благодаря наличию большей энергии, преодолевают слой изолятора и попадают на плавающий затвор. На нем они могут храниться в течение нескольких лет. Определенный диапазон количества электронов (заряда) на плавающем затворе соответствует логической единице, а все, что больше его, — нулю. При чтении эти состояния распознаются путем измерения порогового напряжения транзистора. Для стирания информации на управляющий затвор подается высокое отрицательное напряжение, и электроны с плавающего затвора переходят (туннелируют) на исток. В технологиях различных производителей этот принцип работы может отличаться по способу подачи тока и чтению данных из ячейки. Хочу также обратить ваше внимание на то, что в структуре флэш-памяти для хранения 1 бита информации задействуется только один элемент (транзистор), в то время как в энергозависимых типах памяти для этого требуется несколько транзисторов и конденсатор. Это позволяет существенно уменьшить размеры выпускаемых микросхем, упростить технологический процесс, а, следовательно, и снизить себестоимость. Но и один бит далеко не предел: Intel уже выпускает память StrataFlash, каждая ячейка которой может хранить по 2 бита информации. Кроме того, существуют пробные образцы, с 4-х и даже 9-и битными ячейками! В такой памяти используются технология многоуровневых ячеек. Они имеют обычную структуру, а отличие заключается в том, что заряд их делится на несколько уровней, каждому из которых в соответствие ставится определенная комбинация бит. Теоретически прочитать/записать можно и более 4-х бит, однако, на практике возникают проблемы с устранением шумов и с постепенной утечкой электронов при продолжительном хранении. Вообще, у существующих сегодня микросхем памяти для ячеек характерно время хранения информации, измеряемое годами и число циклов чтения/записи — от 100 тысяч до нескольких миллионов. Из недостатков, в частности, у флэш-памяти с архитектурой NOR стоит отметить плохую масштабируемость: нельзя уменьшать площадь чипов путем уменьшения размеров транзисторов. Эта ситуация связана со способом организации матрицы ячеек: в NOR архитектуре к каждому транзистору надо подвести индивидуальный контакт. Гораздо лучше в этом плане обстоят дела у флэш-памяти с архитектурой NAND.
NAND
NAND — Not AND — в той же булевой математике обозначает отрицание «И». Отличается такая память от предыдущей разве что логической схемой (изображена на Рис.6.).
Рис.6 – схема ЛЭ и архитектура NAND.
Устройство и принцип работы ячеек у нее такой же, как и у NOR. Хотя, кроме логики, все-таки есть еще одно важное отличие — архитектура размещения ячеек и их контактов. В отличие от вышеописанного случая, здесь имеется контактная матрица, в пересечениях строк и столбцов которой располагаются транзисторы. Это сравнимо с пассивной матрицей в дисплеях (а NOR — с активной TFT). В случае с памятью такая организация несколько лучше — площадь микросхемы можно значительно уменьшить за счет размеров ячеек. Недостатки (куда уж без них) заключаются в более низкой по сравнению с NOR скорости работы в операциях побайтового произвольного доступа.
Существуют еще и такие архитектуры как: DiNOR (Mitsubishi), superAND (Hitachi) и пр. Принципиально нового ничего они не представляют, а лишь комбинируют лучшие свойства NAND и NOR.
Сфера применения какого-либо типа флэш-памяти зависит в первую очередь от его скоростных показателей и надежности хранения информации. Адресное пространство NOR-памяти позволяет работать с отдельными байтами или словами (2 байта). В NAND ячейки группируются в небольшие блоки (по аналогии с кластером жесткого диска). Из этого следует, что при последовательном чтении и записи преимущество по скорости будет у NAND. Однако с другой стороны NAND значительно проигрывает в операциях с произвольным доступом и не позволяет напрямую работать с байтами информации. К примеру, для изменения одного байта требуется:
1. считать в буфер блок информации, в котором он находится
2. в буфере изменить нужный байт
3. записать блок с измененным байтом обратно
Если еще ко времени выполнения перечисленных операций прибавить задержки на выборку блока и на доступ, то получим отнюдь неконкурентоспособные с NOR показатели (отмечу, что именно для случая побайтовой записи). Другое дело последовательная запись/чтение — здесь NAND наоборот показывает значительно более высокие скоростные характеристики. Поэтому, а также из-за возможностей увеличения объема памяти без увеличения размеров микросхемы, NAND-флэш нашел применение в качестве хранителя больших объемов информации и для ее переноса. Наиболее распространенные сейчас устройства, основанные на этом типе памяти, это флэшдрайвы и карты памяти. Что касается NOR-флэша, то чипы с такой организацией используются в качестве хранителей программного кода (BIOS, RAM карманных компьютеров, мобилок и т.п.), иногда реализовываются в виде интегрированных решений (ОЗУ, ПЗУ и процессор на одной мини-плате, а то и в одном чипе). Удачный пример такого использования — проект Gumstix: одноплатный компьютер размером с пластинку жвачки. Именно NOR-чипы обеспечивают требуемый для таких случаев уровень надежности хранения информации и более гибкие возможности по работе с ней.