Русский
Русский
English
Статистика
Реклама

Usb flash drive

Моя USB визитка

01.07.2020 22:06:22 | Автор: admin
Всем привет!

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



Цель проекта


Сделать максимально дешёвую версию USB Flash визитки, на которой бы содержалось моё резюме, исходный код и ещё несколько файлов. При этом использовать доступные комплектующие, которые можно заказать на LCSC и JLCPCB.

Что мне нужно было для этого сделать?


Подобрать дешёвые, но не ширпотребные компоненты, развести под них печатную плату, запаять их и написать прошивку.

Что в итоге делает моя визитка?


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

Основные узлы проекта


Микроконтроллер STM32F070F6 это был самый дешевый вариант контроллера с USB device на борту из тех что я нашёл;
Winbond W25Q32 последовательная флэш память на 4 Мб;
Светодиоды 0805 белый и синий цвета, для красоты;
LP3992 понижающий преобразователь напряжения на 3.3В, питание микросхем;
USBLC6-2 защита USB разъема от статики.

Мой подход к разработке пет-проектов


Есть определенный путь, которого я придерживаюсь программируя микроконтроллеры:
1) Не использовать SPL, HAL и другие библиотеки для программирования периферии. Этого правила я придерживаюсь и на основной работе;
2) Не использовать ОС. Я считаю что мои домашние проекты не настолько сложны, чтобы использовать этот полезный инструмент;
3) Не использовать Кучу. Касается только домашних проектов (нет необходимости);
4) Не использовать динамическое выделение памяти. Касается только домашних проектов (нет необходимости).

Проектирование


Компоненты
Для начала мне было необходимо подобрать компоненты для моей задумки т.к. помимо рассыпухи у меня ничего не было. Для этого я решил использовать сервис LCSC, как дешёвый и доступный вариант для домашних разработок. Как оказалось, по многим параметрам я вошёл тютелька в тютельку. Например, использовал все ножки микроконтроллера, уложился в оперативную память в 6кБ, из которых 4кБ у меня занял буфер для передачи данных с USB на SPI Flash, использовал ноги для USB которых физически нету на данном контроллере и т.п.

По цене в итоге вышло следующее:
Микроконтроллер STM32F070F6 -0.64$
Последовательная флэш память Winbond W25Q32 0.35$
Понижающий преобразователь LP3992-33B5F 0.04$
Защита от статики USBLC6-2SC6 -0.08$
Кварц 0.15$

Резисторы и конденсаторы использовал в форм факторе 0603, светодиоды 0805. Всё это у меня уже было, поэтому подсчитать их стоимость не представляется возможным. Однако можно с уверенностью сказать, что по цене всё уместилось в 1.5$ с запасом. Это не выглядит дешёвым по сравнению с проектом Хиллиарда, но и цены у меня не оптовые.

Печатная плата и схемотехника
Схему и печатную плату проектировал в Altium designer, скрины прилагаю.





Все компоненты обвязаны согласно даташитам. Микросхема флэш памяти запускается с контроллера через МДП транзистор.
Тут проблемой был USB разъем. Согласно спецификации USB он имеет толщину 2мм. Плату такой толщины заказывать дорого, да и для визитки не очень практично. Выход из ситуации я подсмотрел у одного человека, который делал музыкальную визитку. Он использовал плату 1мм, и делал на ней дополнительный разъем, который отрывается и запаивается поверх основного. Я поступил также.



Пайка
Пайка компонентов в основном проблем не вызывала. Всё запаял феном и паяльной пастой. Единственной проблемой для меня стало запаивание микроконтроллера. От паяльной пасты получалось слишком много клякс, паяльником такие ножки запаять тяжело. В итоге я просто промазал припоем все пады, а затем феном впаял микроконтроллер.

Программирование
Тут мне особо сказать нечего, программировал всё на низком уровне, на языке C++.Исходный код прикрепляю. Обращение к регистрам делал по статьям lamerok. USB реализовано с помощью средств микроконтроллера. Микросхема флэш памяти работает по SPI через DMA на самой высокой скорости. Диоды мигают по очереди по прерыванию таймера на 250мС.





Заключение


На этом думаю всё, основные моменты я описал. Если нужно что-то раскрыть более подробно (программирование USB, Flash или схемотехнику), то пишите, обязательно сделаю.

Всех благ!
Подробнее..

Создание загрузочной флешки c HirensBootCD в mac os

23.12.2020 00:17:09 | Автор: admin

Предисловие: в моем случае нужен был загрузочный usb накопитель c "HirensBootCD", но потратил день я так и не нашел нормальной статьи как его сделать из под mac os, а также все они были основаны на установки образа с помощью "Unetbootin и Eather".


В итоге все заканчивается тем что usb накопитель не грузится. Почему так ?


Возьмем "Unetbootin" он просто напросто не создает загрузочную область на usb накопителе по крайне мере в mac os, а "Eather" не умеет создавать загрузочную область если ее нет изначально в образе iso, но зато установочные образы live linux подобные успешно грузятся.


И так начнем.


Что нам понадобится: usb накопитель минимум 2GB, терминал mac os, файл "mbr.bin" далее будет дана ссылка, "HirensBootCD" или любой другой образ и программа "Unetbootin" их можно найти с помощью поиска в интернете.


Шаг первый


Смотрим как у нас монтирован usb накопитель с помощью терминала


Пишем в терминале: diskutil list


В моем случае ответ выглядит так:


/dev/disk2 (external, physical):0: FDisk_partition_scheme *2.0 GB disk21: DOS_FAT_32 BOOTUSB 2.0 GB disk2s1

В дальнейшем все действия будут описаны с /dev/disk2 эта точка монтированная в моей системе, а в вашей может быть иначе.


Шаг второй


Форматируем usb накопитель с использованием команды diskutil с опцией MBRFormat.


Пишем в терминале:


sudo diskutil eraseDisk FAT32 BOOTUSB MBRFormat /dev/disk2

Затем отмонтируем usb накопитель.


Пишем в терминале: diskutil unmountDisk /dev/disk2


Шаг третий


Если у вас в дальнейшем возникла ошибка


fdisk: could not open MBR file /usr/standalone/i386/boot0: No such file or directoryEnter 'help' for information

Не обращаем анимания на данную ошибку!


Отметим раздел активным, затем снова отмонтируем usb накопитель.


Пишем в терминале (вводим все построчно):


sudo fdisk -e /dev/disk2printf 1writeprintexitdiskutil unmountDisk /dev/disk2

Шаг четвертый


Скачаем syslinux дистрибутив (я скачал syslinux-5.00.zip).
Ссылка


Затем распаковываем архив и ищем папку "mbr", далее чтобы не вбивать путь этой папки руками просто перетащите папку в терминал.


Затем нужно прописать в терминале команду для перезаписи MBR.


Пишем в терминале: sudo dd conv=notrunc bs=440 count=1 if=mbr.bin of=/dev/disk2


Шаг пятый


С помощью "Unetbootin" записываем образ "HirensBootCD" на usb накопитель.


Затем переходим в папку HBCD в корневом каталоге usb накопителя и переименовываем файл isolinux.cfg в syslinux.cfg, далее копируем его в корень usb накопителя.


Загрузочный usb накопитель готов и его можно использовать по назначению.

Подробнее..

История изобретения флешки в лицах и занимательных фактах

21.09.2020 22:05:33 | Автор: admin

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

Полупроводниковые запоминающие устройства, поддерживающие стирание записанных данных, появились почти полвека назад: первое EPROM было создано израильским инженером Довом Фроманом еще в 1971 году.


Дов Фроман, разработчик EPROM

Инновационные для своего времени ПЗУ достаточно успешно применялись в ходе производства микроконтроллеров (например, Intel 8048 или Freescale 68HC11), однако оказались решительно непригодны для создания портативных накопителей. Главной проблемой EPROM была слишком сложная процедура стирания информации: для этого интегральную схему необходимо было облучить в ультрафиолетовом спектре. Работало это следующим образом: фотоны УФ-излучения придавали избыточным электронам энергию, достаточную для рассеивания заряда на плавающем затворе.


В чипах EPROM были предусмотрены специальные окошки для стирания данных, закрытые кварцевыми пластинами

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

Перечисленные проблемы были решены в следующем поколении чипов. В 1977 году Элай Харари (кстати, впоследствии основавший SanDisk, вошедшую в число крупнейших мировых производителей носителей данных, выполненных на базе флеш-памяти), используя технологию автоэлектронной эмиссии, создал первый прототип EEPROM ПЗУ, в котором стирание данных, как и программирование, осуществлялось сугубо электрически.


Элай Харари, основатель SanDisk, держащий в руках одну из первых SD-карт

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

Но и здесь все оказалось отнюдь не так радужно. Чтобы получить возможность стирать данные электрически, в каждую ячейку памяти пришлось внедрить дополнительный транзистор, управляющий процессом записи и стирания. Теперь на каждый элемент массива приходилось 3 проводника (1 проводник столбцов и 2 проводника строк), из-за чего усложнялась разводка компонентов матрицы и возникали серьезные проблемы с масштабированием. А значит, о создании миниатюрных и емких устройств не могло быть и речи.

Поскольку готовая модель полупроводниковой ПЗУ уже существовала, дальнейшие научные изыскания продолжились с прицелом на создание микросхем, способных обеспечить более плотное хранение данных. И таковые увенчались успехом в 1984 году, когда Фудзио Масуока, работавший в корпорации Toshiba, представил прототип энергонезависимой флеш-памяти на международной конференции International Electron Devices Meeting, проходившей в стенах Института инженеров электротехники и электроники (IEEE).


Фудзио Масуока, отец флеш-памяти

Кстати, само название придумал вовсе не Фудзио, а один из его коллег, Сёдзи Ариидзуми, которому процесс стирания данных напомнил сияющую вспышку молнии (от английского flash вспышка). В отличие от EEPROM, флеш-память была основана на МОП-транзисторах с дополнительным плавающим затвором, расположенным между p-слоем и управляющим затвором, что позволило отказаться от лишних элементов и создавать действительно миниатюрные чипы.

Первыми коммерческими образцами флеш-памяти стали микросхемы Intel, выполненные по технологии NOR (Not-Or), производство которых было запущено в 1988 году. Как и в случае с EEPROM, их матрицы представляли собой двумерный массив, в котором каждая ячейка памяти находилась на пересечении строки и столбца (соответствующие проводники подключались к разным затворам транзистора, а исток к общей подложке). Однако уже в 1989 году Toshiba представила собственную версию флеш-памяти, получившую название NAND. Массив имел аналогичную структуру, но в каждом его узле вместо одной ячейки теперь располагалось несколько последовательно включенных. Кроме того, в каждой линии использовалось два МОП-транзистора: управляющий, расположенный между разрядной линией и столбцом ячеек, и транзистор заземления.

Более высокая плотность компоновки помогла увеличить емкость чипа, однако при этом усложнился и алгоритм чтения/записи, что не могло не отразиться на скорости передачи информации. По этой причине новая архитектура так и не смогла полностью вытеснить NOR, нашедшую применение в создании встраиваемых ПЗУ. В то же время именно NAND оказалась идеально подходящей для производства портативных накопителей данных SD-карт и, разумеется, флешек.

К слову, появление последних стало возможным лишь в 2000 году, когда стоимость флеш-памяти достаточно снизилась и выпуск подобных устройств для розничного рынка мог окупиться. Первым в мире USB-накопителем стало детище израильской компании M-Systems: компактную флешку DiskOnKey (что можно перевести, как диск-на-брелке, поскольку на корпусе устройства было предусмотрено металлическое кольцо, позволявшее носить флешку вместе со связкой ключей) разработали инженеры Амир Баном, Дов Моран и Оран Огдан. За миниатюрный девайс, способный вместить 8 МБ информации и заменявший собой пяток 3,5-дюймовых дискет, в то время просили $50.


DiskOnKey первая в мире флешка от израильской компании M-Systems

Интересный факт: на территории США у DiskOnKey был официальный издатель, в роли которого выступала IBM. Локализованные флешки ничем не отличались от оригинальных, за исключением логотипа на лицевой части, из-за чего многие ошибочно приписывают создание первого USB-накопителя именно американской корпорации.


DiskOnKey, IBM Edition

Вслед за оригинальной моделью буквально через пару месяцев свет увидели более вместительные модификации DiskOnKey на 16 и 32 МБ, за которые просили уже $100 и $150 соответственно. Несмотря на дороговизну, сочетание компактных размеров, вместительности и высокой скорости чтения/записи (которая оказалась примерно в 10 раз выше, чему у стандартных дискет) пришлось по вкусу множеству покупателей. И с этого момента флешки начали свое триумфальное шествие по планете.

Один в поле воин: битва за USB


Впрочем, флешка не была бы флешкой, не появись пятью годами ранее спецификация Universal Serial Bus именно так расшифровывается привычная нам аббревиатура USB. И историю зарождения данного стандарта можно назвать чуть ли не более интересной, чем изобретение самой флеш-памяти.

Как правило, новые интерфейсы и стандарты в IT являются плодом тесного сотрудничества крупных предприятий, зачастую даже конкурирующих между собой, но вынужденных объединить усилия ради создания унифицированного решения, которое позволило бы существенно упростить разработку новых продуктов. Так произошло, например, с картами памяти формата SD: первая версия Secure Digital Memory Card была создана в 1999 году при участии SanDisk, Toshiba и Panasonic, причем новый стандарт оказался настолько удачным, что удостоился титула отраслевого спустя всего год. Сегодня же SD Card Association насчитывает свыше 1000 компаний-участников, инженеры которых занимаются разработкой новых и развитием существующих спецификаций, описывающих разнообразные параметры флеш-карт.



И с первого взгляда история USB полностью идентична тому, что происходило со стандартом Secure Digital. Чтобы сделать персональные компьютеры более дружелюбными по отношению к рядовому пользователю, производителям железа требовался, помимо прочего, универсальный интерфейс для работы с периферией, поддерживающий горячее подключение и не нуждающийся в дополнительной настройке. Кроме того, создание унифицированного стандарта позволило бы избавиться от зоопарка портов (COM, LPT, PS/2, MIDI-port, RS-232 и т. д.), что в перспективе помогло бы существенно упростить и удешевить разработку нового оборудования, а также внедрение поддержки тех или иных устройств.

На фоне перечисленных предпосылок ряд компаний-разработчиков компьютерных комплектующих, периферии и софта, крупнейшими из которых были Intel, Microsoft, Philips и US Robotics, объединились в попытке найти тот самый общий знаменатель, который бы устроил всех действующих игроков, каковым в итоге и стал USB. Популяризации же нового стандарта во многом поспособствовала Microsoft, добавившая поддержку интерфейса еще в Windows 95 (соответствующий патч входил в состав Service Release 2), а затем внедрившая необходимый драйвер в релизную версию Windows 98. В то же время на железном фронте подмога пришла, откуда не ждали: в 1998 году свет увидел iMac G3 первый компьютер все в одном от Apple, в котором для подключения устройств ввода и другой периферии (за исключением микрофона и наушников) использовались исключительно USB-порты. Во многом такой разворот на 180 градусов (ведь в то время Apple делала ставку на FireWire) был обусловлен возвращением Стива Джобса на пост СЕО компании, состоявшимся годом ранее.


Оригинальный iMac G3 первый USB-компьютер

На самом же деле рождение универсальной последовательной шины проходило куда более мучительно, а само по себе появление USB во многом является заслугой отнюдь не мегакорпораций и даже не одного научно-исследовательского отдела, действующего в составе той или иной компании, а вполне конкретного человека инженера Intel индийского происхождения по имени Аджай Бхатт.


Аджай Бхатт, главный идеолог и создатель интерфейса USB

Еще в 1992 году Аджай задумался о том, что персональный компьютер не особо оправдывает собственное название. Даже такая простая с первого взгляда задача, как подключение принтера и печать документа, требовала от пользователя определенной квалификации (хотя, казалось бы, зачем офисному работнику, от которого требуется создать отчет или ведомость, разбираться в мудреных технологиях?) либо вынуждала обращаться к профильным специалистам. И если все оставить как есть, ПК никогда не станет массовым продуктом, а значит, и о том, чтобы выйти за пределы цифры в 10 миллионов пользователей по всему миру, не стоит и мечтать.

Понимание необходимости некоей стандартизации на тот момент было и у Intel, и у Microsoft. В частности, изыскания в этой области привели к появлению шины PCI и концепции Plug&Play, а значит, инициатива Бхатта, который решил сосредоточить усилия именно в сфере поиска универсального решения для подключения периферии, должна была быть воспринята положительно. Но не тут-то было: непосредственный начальник Аджая, выслушав инженера, заявил, что эта задача настолько сложна, что на нее не стоит тратить время.

Тогда Аджай стал искать поддержку в параллельных группах и нашел таковую в лице одного из заслуженных исследователей Intel (Intel Fellow) Фреда Поллака, известного на тот момент благодаря работе в качестве ведущего инженера Intel iAPX 432 и ведущего архитектора Intel i960, который и дал проекту зеленый свет. Однако это было лишь начало: реализация столь масштабной задумки стала бы невозможна без участия других игроков рынка. С этого момента начались подлинные хождения по мукам, ведь Аджаю предстояло не только убедить участников рабочих групп Intel в перспективности данной идеи, но и заручиться поддержкой других производителей железа.


На многочисленные обсуждения, согласования и мозговые штурмы ушло почти полтора года. За это время к Аджаю присоединились Бала Кадамби, руководивший командой, ответственной за разработку PCI и Plug&Play, а позже занявший пост директора Intel по технологическим стандартам интерфейсов ввода/вывода, и Джим Паппас, эксперт по системам ввода/вывода. Летом 1994 года наконец-то удалось сформировать рабочую группу и приступить к более плотному взаимодействию с другими компаниями.

В течение последующего года Аджай и его команда встретились с представителями более 50 фирм, среди которых были как небольшие, узкоспециализированные предприятия, так и гиганты вроде Compaq, DEC, IBM и NEC. Работа кипела буквально в режиме 24/7: с раннего утра троица отправлялась на многочисленные совещания, а ночью встречалась в ближайшей закусочной, чтобы обсудить план действий на следующий день.

Возможно, кому-то такой стиль работы может показаться пустой тратой времени. Тем не менее все это принесло свои плоды: в результате было сформировано несколько многоплановых команд, куда входили инженеры из IBM и Compaq, специализирующиеся на создании компьютерных комплектующих, люди, занимавшиеся разработкой чипов из самой Intel и NEC, программисты, работавшие над созданием приложений, драйверов и операционных систем (в том числе из Microsoft), и множество других специалистов. Именно одновременная работа по нескольким фронтам помогла в итоге создать по-настоящему гибкий и универсальный стандарт.


Аджай Бхатт и Бала Кадамби на церемонии вручения Европейской премии изобретателя

Хотя команде Аджая удалось блестяще решить проблемы политического (добившись взаимодействия разнообразных компаний, в том числе являвшихся прямыми конкурентами) и технического (собрав под одной крышей множество экспертов в различных областях) характера, оставался еще один аспект, требующий пристального внимания, экономическая сторона вопроса. И здесь пришлось идти на существенные компромиссы. Так, например, именно стремление снизить себестоимость провода привело к тому, что привычный нам USB Type-A, который мы используем и по сей день, стал односторонним. Ведь для создания действительно универсального кабеля требовалось бы не просто изменить конструкцию коннектора, сделав его симметричным, но и вдвое увеличить количество токопроводящих жил, что привело бы и к удвоению стоимости провода. Зато теперь у нас есть нестареющий мем о квантовой природе USB.


На снижении стоимости настаивали и другие участники проекта. Джим Паппас в связи с этим любит вспоминать о звонке от Бетси Таннер из Microsoft, заявившей в один прекрасный день, что, к сожалению, компания намерена отказаться от использования интерфейса USB при производстве компьютерных мышек. Все дело в том, что пропускная способность 5 Мбит/с (именно такая скорость передачи данных планировалась изначально) была излишне высокой, и инженеры опасались, что не смогут уложиться в спецификации по электромагнитной интерференции, а значит, такая турбомышь может помешать нормальному функционированию как самого ПК, так и других периферических устройств.

На резонный довод об экранировании Бэтси ответила, что дополнительная изоляция приведет к удорожанию кабеля: по 4 цента сверху на каждый фут, или 24 цента на стандартный провод 1,8 метра (6 футов), что делает всю затею бессмысленной. Кроме того, кабель мышки должен оставаться достаточно гибким, чтобы не стеснять движения руки. Чтобы решить эту проблему, было принято решение добавить разделение на высокоскоростной (12 Мбит/с) и низкоскоростной (1,5 Мбит/с) режимы. Запас в 12 Мбит/с позволял использовать разветвители и хабы для одновременного подключения нескольких устройств на одном порту, а 1,5 МБит/с оптимально подходил для подключения к ПК мышек, клавиатур и других аналогичных девайсов.

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

Что в имени тебе моем, или Безумный ребрендинг


И раз уж сегодня мы с вами обсуждаем USB-накопители, давайте заодно проясним ситуацию с версиями и скоростными характеристиками данного стандарта. Здесь все совсем не так просто, как может показаться на первый взгляд, ведь с 2013 года организация USB Implementers Forum приложила максимум усилий для того, чтобы окончательно запутать не только рядовых потребителей, но и профессионалов из мира IT.

Раньше все было достаточно просто и логично: у нас есть медленный USB 2.0 с максимальной пропускной способностью 480 Мбит/с (60 МБ/с) и в 10 раз более быстрый USB 3.0, у которого предельная скорость передачи данных достигает уже 5 Гбит/с (640 МБ/с). За счет обратной совместимости накопитель с USB 3.0 можно подключить в порт USB 2.0 (или наоборот), однако при этом скорость чтения и записи файлов будет ограничена 60 МБ/с, так как более медленное устройство будет выступать в роли бутылочного горлышка.

31 июля 2013 года USB-IF внесла в эту стройную систему изрядную путаницу: именно в этот день было объявлено о принятии новой спецификации USB 3.1. И нет, дело вовсе не в дробной нумерации версий, что встречалось и раньше (хотя справедливости ради стоит отметить, что USB 1.1 была доработанной версией 1.0, а не чем-то качественно новым), а в том, что USB Implementers Forum зачем-то решила переименовать и старый стандарт. Следите за руками:

  • USB 3.0 превратился в USB 3.1 Gen 1. Это чистой воды переименование: никаких улучшений произведено не было, да и максимальная скорость осталась все той же 5 Гбит/с и не битом больше.
  • По-настоящему новым стандартом стал USB 3.1 Gen 2: переход на кодирование 128b/132b (ранее использовалось 8b/10b) в режиме full-duplex позволил удвоить пропускную способность интерфейса и добиться впечатляющих 10 Гбит/с, или 1280 МБ/с.

Но этого ребятам из USB-IF показалось мало, так что они решили добавить и пару альтернативных названий: USB 3.1 Gen 1 стал SuperSpeed, а USB 3.1 Gen 2 SuperSpeed+. И как раз этот шаг вполне оправдан: розничному покупателю, далекому от мира компьютерной техники, куда проще запомнить броское название, нежели последовательность букв и цифр. А здесь все интуитивно: у нас есть сверхскоростной интерфейс, который, как можно заключить из названия, очень быстрый, и есть сверхскоростной+ интерфейс, который еще быстрее. Но зачем при этом было проводить столь специфический ребрендинг индексов поколений решительно непонятно.

Впрочем, нет предела несовершенству: 22 сентября 2017 года с публикацией стандарта USB 3.2 ситуация еще более усугубилась. Начнем с хорошего: двусторонний разъем USB Type-C, спецификации которого были разработаны еще для прошлого поколения интерфейса, позволил удвоить максимальную пропускную способность шины за счет использования дублирующих выводов в качестве отдельного канала передачи данных. Так появился USB 3.2 Gen 22 (почему его нельзя было назвать USB 3.2 Gen 3, опять же загадка), работающий на скорости вплоть до 20 Гбит/с (2560 МБ/с), который, в частности, нашел применение при производстве внешних твердотельных накопителей (именно таким портом оснащены высокоскоростные WD_BLACK P50, ориентированные на геймеров).


И все бы ничего, но, помимо введения нового стандарта, не заставило себя ждать и переименование предыдущих: USB 3.1 Gen 1 превратился в USB 3.2 Gen 1, а USB 3.1 Gen 2 в USB 3.2 Gen 2. Претерпели изменения даже маркетинговые названия, причем USB-IF отошли от ранее принятой концепции интуитивно понятно и никаких цифр: вместо того, чтобы обозначить USB 3.2 Gen 22 как, например, SuperSpeed++ или UltraSpeed, они решили добавить прямое указание на максимальную скорость передачи данных:

  • USB 3.2 Gen 1 стал SuperSpeed USB 5Gbps,
  • USB 3.2 Gen 2 SuperSpeed USB 10Gbps,
  • USB 3.2 Gen 22 SuperSpeed USB 20Gbps.

И как же разобраться с зоопарком стандартов USB? Чтобы облегчить вам жизнь, мы составили сводную табличку-памятку, с помощью которой сопоставить разные версии интерфейсов не составит особого труда.

Версия стандарта


Маркетинговое название


Скорость, Гбит/с


USB 3.0


USB 3.1


USB 3.2


Версия USB 3.1


Версия USB 3.2


USB 3.0


USB 3.1 Gen 1


USB 3.2 Gen 1


SuperSpeed


SuperSpeed USB 5Gbps


5



USB 3.1 Gen 2


USB 3.2 Gen 2


SuperSpeed+


SuperSpeed USB 10Gbps


10




USB 3.2 Gen 22



SuperSpeed USB 20Gbps


20



Многообразие USB-накопителей на примере продукции SanDisk


Но давайте вернемся непосредственно к предмету сегодняшнего обсуждения. Флешки стали неотъемлемой частью нашей с вами жизни, получив множество модификаций, иногда весьма причудливых. Наиболее полное представление о возможностях современных USB-накопителей позволяет получить портфолио компании SanDisk.

Все актуальные модели флеш-накопителей SanDisk поддерживают стандарт передачи данных USB 3.0 (он же USB 3.1 Gen 1, он же USB 3.2 Gen 1, он же SuperSpeed практически как в фильме Москва слезам не верит). Среди них можно найти как вполне классические флешки, так и более специализированные устройства. Например, если вы хотите обзавестись компактным универсальным накопителем, имеет смысл обратить внимание на линейку SanDisk Ultra.


SanDisk Ultra

Наличие шести модификаций различной емкости (от 16 до 512 ГБ) помогает подобрать наиболее оптимальный вариант в зависимости от ваших потребностей и не переплачивать за лишние гигабайты. Скорость передачи данных вплоть до 130 МБ/с позволяет достаточно быстро скачивать даже объемные файлы, а удобный раздвижной корпус надежно защищает коннектор от повреждений.

Поклонникам элегантных форм мы рекомендуем линейку USB-накопителей SanDisk Ultra Flair и SanDisk Luxe.


SanDisk Ultra Flair

Технически эти флешки полностью идентичны: обе серии характеризуются скоростью передачи данных до 150 МБ/с, а каждая из них включает в себя 6 моделей емкостью от 16 до 512 ГБ. Отличия кроются лишь в дизайне: Ultra Flair получил дополнительный конструктивный элемент из прочного пластика, тогда как корпус версии Luxe полностью выполнен из алюминиевого сплава.


SanDisk Luxe

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

Помимо полноразмерных накопителей, в коллекции SanDisk присутствуют и решения категории подключил и забыл. Речь идет, конечно же, о сверхкомпактных SanDisk Ultra Fit, размеры которых составляют всего 29,8 14,3 5,0 мм.


SanDisk Ultra Fit

Такой малыш едва выступает над поверхностью USB-разъема, что делает его идеальным решением для расширения хранилища клиентского устройства, будь то ультрабук, автомобильная аудиосистема, Smart-телевизор, игровая приставка или одноплатный компьютер.


Самыми же интересными в коллекции SanDisk можно назвать USB-накопители Dual Drive и iXpand. Оба семейства, несмотря на конструктивные различия, объединяет единая концепция: эти флешки получили по два порта разных типов, что позволяет использовать их для переноса данных между ПК или ноутбуком и мобильными гаджетами без дополнительных кабелей и переходников.

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

Миниатюрные SanDisk Dual Drive m3.0, помимо USB Type-A, оснащены коннектором microUSB, что обеспечивает совместимость с девайсами прошлых лет, а также смартфонами начального уровня.


SanDisk Dual Drive m3.0

SanDisk Ultra Dual Type-C, как нетрудно догадаться по названию, обзавелись более современным двусторонним коннектором. Сама же флешка стала крупнее и массивнее, однако такая конструкция корпуса обеспечивает лучшую защиту, да и потерять устройство стало куда сложнее.


SanDisk Ultra Dual Type-C

Если же вы ищете нечто более элегантное, рекомендуем обратить внимание на SanDisk Ultra Dual Drive Go. В этих накопителях реализован тот же принцип, что и в упомянутых ранее SanDisk Luxe: полноразмерный USB Type-A является частью корпуса флешки, что исключает его поломку даже при неосторожном обращении. Коннектор USB Type-C, в свою очередь, хорошо защищен поворотным колпачком, на котором также предусмотрена проушина под брелок. Такая компоновка позволила сделать флешку по-настоящему стильной, компактной и надежной.


SanDisk Ultra Dual Drive Go

Серия iXpand полностью аналогична Dual Drive, за исключением того факта, что место USB Type-C занял фирменный коннектор Apple Lightning. Самым необычным устройством в серии можно назвать SanDisk iXpand: данная флешка имеет оригинальный дизайн в виде петли.


SanDisk iXpand

Смотрится эффектно, к тому же в получившуюся проушину можно продеть ремешок и носить накопитель, к примеру, на шее. Да и использовать такую флешку вместе с iPhone куда удобнее, нежели традиционную: при подключении большая часть корпуса оказывается позади смартфона, упираясь в его заднюю крышку, что помогает свести к минимуму вероятность повреждения разъема.


Если же подобный дизайн по тем или иным причинам вас не устраивает, имеет смысл посмотреть в сторону SanDisk iXpand Mini. Технически перед нами все тот же iXpand: модельный ряд также включает четыре накопителя на 32, 64, 128 или 256 ГБ, а максимальная скорость передачи данных достигает 90 МБ/с, чего вполне достаточно даже для просмотра 4K видео непосредственно с флешки. Разница заключается лишь в дизайне: петля исчезла, зато появился защитный колпачок для коннектора Lightning.


SanDisk iXpand Mini

Третий представитель славного семейства, SanDisk iXpand Go, является братом-близнецом Dual Drive Go: их размеры практически идентичны, к тому же оба накопителя получили поворотный колпачок, пусть и немного отличающийся по дизайну. Данная линейка включает в себя 3 модели: на 64, 128 и 256 ГБ.


SanDisk iXpand Go

Перечень продукции, выпускаемой под брендом SanDisk, отнюдь не ограничивается перечисленными USB-накопителями. Познакомиться с другими девайсами именитой марки вы можете на официальном портале Western Digital.
Подробнее..

Из песочницы USB-флешки заряжать нельзя игнорировать

28.07.2020 22:14:29 | Автор: admin


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

Лично мне ссылочку на статью скинул главный конструктор одного из предприятий радиоэлектронной промышленности с формулировкой хочешь поржать?.

Пара ссылок по теме:


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

USB-флешка является блочным устройством хранения данных: все адресное пространство разбито на секторы по 512 байт. Операционная система может обратиться по адресу определенного сектора (LBA) и прочитать его или перезаписать, все просто.

А теперь заглянем под капот нашей флешки

В состав флешки входят микросхемы:

  • контроллер;
  • NAND-flash память.

Микросхемы памяти устроены довольно специфично с точки зрения адресации, записи и хранения данных, что продиктовано ее архитектурой (и мы должны любить ее такой, какая она есть). Для NAND-flash определены следующие правила:

  • Память разделена на блоки, размером порядка единиц Мегабайт;
  • Перед записью в блок памяти его необходимо стереть. При стирании все байты данных в блоке устанавливаются в значение 0xFF;
  • Блок состоит из страниц, размером порядка десятков Килобайт;
  • Запись данных в блок производится страницами, одновременно может быть записана сразу вся страница данных;
  • Страницы данных внутри одного блока должны записываться строго в порядке возрастания их номеров;
  • Каждая страница после стирания блока может быть записана только единожды до следующего стирания.

Вот, этот набор правил превращает такое простое действие (с точки зрения пользователя) как записать один сектор на USB-флешку в настоящую головоломку для разработчика контроллера этой самой флешки.



Попробуйте представить, как бы эту задачку решили вы, и увидите сходство с игрушкой Ханойская башня (http://personeltest.ru/aways/ru.wikipedia.org/wiki/%D0%A5%D0%B0%D0%BD%D0%BE%D0%B9%D1%81%D0%BA%D0%B0%D1%8F_%D0%B1%D0%B0%D1%88%D0%BD%D1%8F).

Для того, чтобы подружить user-friendly блочную адресацию накопителя и sadist-friendly адресацию NAND-flash памяти, внутри контроллера флешки крутится процессор, который реализует алгоритм трансляции адресов, он же FTL (Flash Translation Layer). В задачи алгоритма FTL входят:

  • построение и поддержка таблицы трансляции адресов (page mapping);
  • сборка мусора (garbage collection);
  • выравнивание износа блоков NAND-flash памяти (wear leveling).

Знающие люди скажут, что есть еще и другие задачи, как, например, отслеживание битых блоков NAND-flash памяти (bad block management), но я об этом сейчас не хочу говорить, потому что к текущему делу не относится

Немного ликбеза по обозначенным пунктам:

Page mapping


Ну, тут, пожалуй, все понятно Адресное пространство логических адресов накопителя (LBA) транслируется в адреса блоков и страниц NAND-flash памяти (физический адрес) через огромный массив, индекс которого означает LBA, а значение элемента физический адрес. Если необходимо перезаписать одну страаницу, то данные этой страницы пишутся в свободный блоки по порядку, а, затем, в массиве заменяется номер страници на вновь записанный. Когда школьник покупает флешку 32ГБайта, а обнаруживает, что на ней только 29 ГБайт, школьник еще не знает, что недостающее место не китайцы на фабрике украли, а разработчики алгоритма FTL. Чтобы иметь возможность писать данные на накопитель.



Garbage Collection


А что будет со страницей, которая утратила актуальность? Данные, записанные в ней больше не нужны, но стереть ее мы не сможем, потому что стирать дозволено только блоками, а в этом же блоке могут быть еще актуальные страницы. Рано или поздно сложится ситуация, когда у нас больше нет свободных блоков, в которые можно писать страницы. Зато, в остальных блоках то там, то сям будут неактуальые страницы. Чтобы такого не случилось, в накопителях крутится функционал сборщика мусора, который занимается тем, что отыскивает дырявые блоки, в которых меньше всего актуальных страниц, и переносит актуальные страницы в новый блок. Таким образом дырявый блок освобождается полностью от актуальных страниц и его можно стереть А в новом же блоке все страницы станицы остаются актуальными. Напоминает дефрагментацию.



Wear Leveling


Ничто не вечно под луной, а NAND-flash особенно. Так уж вышло, что NAND-flash память имеет ограниченный ресурс, который выражается ограниченным числом циклов стирания блоков (возрастом блока). Блоки, которые стирались большее число раз (старые блоки), имеют большую вероятность выхода из строя, чем те, которые менее изношенные (молодые блоки).

Задумывались ли вы когда-нибудь над тем, что надо бы таблицу FAT перенести из нулевых адресов накопителя куда-нибудь в другое место, чтобы не протереть дырку в адресном пространстве флешки? Это вряд ли, да и не следует над этим думать. Потому что во флешке работает механизм выравнивания износа блоков. Суть его в том, что молодые блоки, меняются местами со старыми в принудительном порядке, чтобы износ всех блоков был равномерным в течение эксплуатации накопителя. Так у накопителя есть шанс жить долго и счастливо, пока все его блоки не умрут в один день.



А теперь о главном зачем таки заряжать флешки?

1) Бывало у вас такое, что вы изо дня в день собираетесь постирать носки, но каждый вечер оказывается не до этого? А потом наступает такой момент, что чистых носков на завтра просто физически не осталось! И тогда вам приходится жертвовать сном ради стирки носков. Еще хуже, если приходится опаздывать на работу с феном в руках.

Примерно это же происходит и с алгоритмом сборки мусора в FTL. Пользователь зачастую использует флешку для переноса каких-то данных с одного компьютера на другой. При этом, сценарий действий следующий: воткнуть флешку в комп записать быстро файлы выдернуть флешку добежать до другого компа воткнуть флешку считать файлы. Через некоторое время пользователь начинает замечать, что его накопитель медленно работает. Обычно в таких случаях грешат на то, что ну, просто флешка дешевая, старая. Вот, куплю новую, она будет летать!. И действительно будет! Но ее, скорее всего, постигнет та же участь через некторое время. Дело в том, что сценарий таких короткометражек не позволяет алгоритму garbage collection производить высвобождение блоков для записи, что рано или поздно приведет к тому, что свободных блоков больше просто физически не останется. И тогда контроллер вынужден сначала заняться высвобождением блоков, а затем только записью ваших файлов в них, отсюда и потеря скорости. Чтобы быть готовым принять ваши данные на полной скорости, накопителю необходимо свободное время для того, чтобы постирать носки заранее. Как легко догадаться, зарядка флешки снимает эту проблему, предоставляя контроллеру достаточно времени для наведения прядка в данных.



2) Проблема нехватки личного времени контроллера актуальна и для алгоритма выравнивания возрастов. Алгоритм Wear Leveling выполняется контроллером в моменты простоя накопителя, пока нет задач для записи или чтения пользовательских данных. Если же накопитель работает в режиме короткометражек, то времени на выравнивание износа блоков просто нет. Неравномерный износ блоков приводит к тому, что старые блоки выходят из строя. При этом число доступных для записи блоков уменьшается, пока не наступит критичный момент, когда свободных блоков для записи просто не останется, хотя NAND-flash память в целом еще не изношена, и могла бы еще долго прослужить.



3) Эволюция научила нас прикапывать дорогие нам ценности где-нибудь подальше от проходных мест. Это хорошо работает в случае кладов и необитаемых островов. Но с цифровыми данными и NAND дело обстоит с точностью до наоборот. Наверняка, у вас были случаи, когда вы скинули на флешку какие-то фотографии со свадьбы друга, год флешка полежала в ящике стола (как вам казалось, в целости и сохранности), а потом некоторые из фоток прочитались только наполовину. Дело в том, что единожды записанная в NAND-flash память информация способна протухнуть со временем. Производитель памяти не гарантирует 100% сохраняемость данных, а просто озвучивает вероятность возникновения битовых ошибок.

Конечно же, контроллер накопителя решает задачу устранения битовых ошибок, добавляя избыточный код к данным, но какой бы ни был большой этот код, со временем заряд в ячейках NAND-памяти рассасывается, и число битовых ошибок может перевалить за любую корректирующую способность. Нельзя оставлять данные лежать долго в одиночестве в NAND-flash памяти, за ними надо ухаживать. А именно периодически перезаписывать. Правильный контроллер производит периодически перечитывание данных, контроль числа битовых ошибок и перезапись данных в случае необходимости (пока число битовых ошибок не превысило допустимое). Разумеется, для этого также контроллеру необходимо свободное время.

Из всего вышесказанного подведу итог: не стесняйтесь заряжать флешки, это благоприятно сказывается на их быстродействии и надежности. А если вас захэйтят технари, просто дайте им ссылочку на эту статью.
Подробнее..

Категории

Последние комментарии

  • Имя: Макс
    24.08.2022 | 11:28
    Я разраб в IT компании, работаю на арбитражную команду. Мы работаем с приламы и сайтами, при работе замечаются постоянные баны и лаги. Пацаны посоветовали сервис по анализу исходного кода,https://app Подробнее..
  • Имя: 9055410337
    20.08.2022 | 17:41
    поможем пишите в телеграм Подробнее..
  • Имя: sabbat
    17.08.2022 | 20:42
    Охренеть.. это просто шикарная статья, феноменально круто. Большое спасибо за разбор! Надеюсь как-нибудь с тобой связаться для обсуждений чего-либо) Подробнее..
  • Имя: Мария
    09.08.2022 | 14:44
    Добрый день. Если обладаете такой информацией, то подскажите, пожалуйста, где можно найти много-много материала по Yggdrasil и его уязвимостях для написания диплома? Благодарю. Подробнее..
© 2006-2024, personeltest.ru