SCSI-to-SD адаптер

Классические амиги и клоны. 1000, 2000, 3000, 4000, 500, 600, 1200, cdtv, cd32

Модераторы: striimii, Vinnny

Re: SCSI-to-SD адаптер

Сообщение easy_john 24 окт 2015, 00:39

tnt23 писал(а):По сравнению с сыплющимися и грохочущими SCSI винтами. Сколько можно жевать одно и то же.

SD у меня сдохло уже штук пять. scsi винтов ... не помню, что бы хоть один.
PegasosII G4 1.0/1Gb/80Gb/Ati 9200/MorphOS unreg/Debian
a4000/PPC 233mhz/68060 50mhz/128mb/cv ppc/toccata/x-surf/kickflash/indivision/AOS3.9-4.0
a1200/PPC 200mhz/68040 25mhz/256mb/bv ppc/delfina/wifi/indivision sd+ff/AOS 3.9-4.0
a600/68000 7mhz/8mb fast/wifi/AOS 3.0
Аватара пользователя
easy_john
Менеджер
Менеджер
 
Сообщения: 4296
Зарегистрирован: 03 мар 2006, 15:24
Откуда: SPb

Re: SCSI-to-SD адаптер

Сообщение tnt23 24 окт 2015, 00:49

easy_john писал(а):
tnt23 писал(а):По сравнению с сыплющимися и грохочущими SCSI винтами. Сколько можно жевать одно и то же.

SD у меня сдохло уже штук пять. scsi винтов ... не помню, что бы хоть один.


YMMV. У меня сдохло штуки три SCSI винтов, а uSD - ни одной.
A500, A600, A1200, A3000
Аватара пользователя
tnt23
Беспардонный Амигофлуд
Беспардонный Амигофлуд
 
Сообщения: 1293
Зарегистрирован: 17 май 2005, 16:59
Откуда: Санкт-Петербург

Re: SCSI-to-SD адаптер

Сообщение easy_john 24 окт 2015, 13:45

tnt23 писал(а):YMMV. У меня сдохло штуки три SCSI винтов, а uSD - ни одной.

Проблема мне видится в том, что механически диски относительно вечны, у них практически нет износных частей, в противовес им SD имеют жестко ограниченное количество циклов записи, плюс большой (2 мегабайта) размер блока, что при записи классическими фс блоками по 512б убивает ее достаточно быстро.
PegasosII G4 1.0/1Gb/80Gb/Ati 9200/MorphOS unreg/Debian
a4000/PPC 233mhz/68060 50mhz/128mb/cv ppc/toccata/x-surf/kickflash/indivision/AOS3.9-4.0
a1200/PPC 200mhz/68040 25mhz/256mb/bv ppc/delfina/wifi/indivision sd+ff/AOS 3.9-4.0
a600/68000 7mhz/8mb fast/wifi/AOS 3.0
Аватара пользователя
easy_john
Менеджер
Менеджер
 
Сообщения: 4296
Зарегистрирован: 03 мар 2006, 15:24
Откуда: SPb

Re: SCSI-to-SD адаптер

Сообщение tnt23 24 окт 2015, 13:58

Если молотить по диску постоянно, то да. В амиге же нет свопа, и нагрузка на флеш, с которого система грузится, минимальна.
A500, A600, A1200, A3000
Аватара пользователя
tnt23
Беспардонный Амигофлуд
Беспардонный Амигофлуд
 
Сообщения: 1293
Зарегистрирован: 17 май 2005, 16:59
Откуда: Санкт-Петербург

Re: SCSI-to-SD адаптер

Сообщение da-nie 24 окт 2015, 15:46

SD имеют жестко ограниченное количество циклов записи, плюс большой (2 мегабайта) размер блока,


Не знаю, как SDHC, но обычные SD по SPI протоколу пишутся и читаются блоками по 512 байт (размер блока, конечно, можно настроить, если карта позволяет.). По SDIO не помню, но наверное, столько же. Почему же тогда 2 мегабайта блок? :roll:
Я вот себе Raspberry Pi B купил. Она с SD работает. Вроде шустро так и пишет и читает. Интересно, скоро SD сломается... :roll:
Мой репозиторий: https://github.com/da-nie
Мои статьи: https://habr.com/ru/users/da-nie/posts/
Моё видео: https://www.youtube.com/channel/UCUroi3D5Kf1WxDzg3ON852g/videos
Аватара пользователя
da-nie
Престарелый Амигодум
Престарелый Амигодум
 
Сообщения: 240
Зарегистрирован: 23 сен 2011, 17:25
Откуда: Ленинградская область

Re: SCSI-to-SD адаптер

Сообщение easy_john 24 окт 2015, 18:57

da-nie писал(а):Почему же тогда 2 мегабайта блок? :roll:

Внутреннее устройство памяти у всех флешек одинаковое. Прошивка оперирует 2-мя или 4-ю мегабайтными блоками.
Каждый раз, когда ты пишешь 512байт, прошивка читает 2 мегабайта, меняет 512байт, записывает 2 мегабайта.
Записав последовательно 2 мегабайта блоками по 512 ты фактически перезапишешь блок 4 тысячи раз (правда это будут разные блоки). http://lwn.net/Articles/428584/
PegasosII G4 1.0/1Gb/80Gb/Ati 9200/MorphOS unreg/Debian
a4000/PPC 233mhz/68060 50mhz/128mb/cv ppc/toccata/x-surf/kickflash/indivision/AOS3.9-4.0
a1200/PPC 200mhz/68040 25mhz/256mb/bv ppc/delfina/wifi/indivision sd+ff/AOS 3.9-4.0
a600/68000 7mhz/8mb fast/wifi/AOS 3.0
Аватара пользователя
easy_john
Менеджер
Менеджер
 
Сообщения: 4296
Зарегистрирован: 03 мар 2006, 15:24
Откуда: SPb

Re: SCSI-to-SD адаптер

Сообщение da-nie 24 окт 2015, 21:15

Прошивка оперирует 2-мя или 4-ю мегабайтными блоками.


Вот это-то и сомнительно. Слишком большой блок. И в случае, если питание прервётся в момент перезаписи, потеряется весь буфер (данные всех блоков из буфера!) в 4 мегабайта.
Речь, наверное, в статье идёт о чём-то другом. :roll:
У нас микроконтроллеров с объёмом RAM на 2 мегабайта нет, а тут в каждой карте встроен такой объём ОЗУ.
Мой репозиторий: https://github.com/da-nie
Мои статьи: https://habr.com/ru/users/da-nie/posts/
Моё видео: https://www.youtube.com/channel/UCUroi3D5Kf1WxDzg3ON852g/videos
Аватара пользователя
da-nie
Престарелый Амигодум
Престарелый Амигодум
 
Сообщения: 240
Зарегистрирован: 23 сен 2011, 17:25
Откуда: Ленинградская область

Re: SCSI-to-SD адаптер

Сообщение easy_john 25 окт 2015, 02:12

da-nie писал(а):Вот это-то и сомнительно. Слишком большой блок.

Да, можно попытаться убедить себя, что все неправда.
da-nie писал(а):И в случае, если питание прервётся в момент перезаписи,

Сначала пишется новый блок, потом старый помечается на удаление. При пропадании питания старый останется актуальным.
da-nie писал(а):Речь, наверное, в статье идёт о чём-то другом. :roll:

Наверно, если ее прочитать, то можно понять о чем в ней идет речь.
PegasosII G4 1.0/1Gb/80Gb/Ati 9200/MorphOS unreg/Debian
a4000/PPC 233mhz/68060 50mhz/128mb/cv ppc/toccata/x-surf/kickflash/indivision/AOS3.9-4.0
a1200/PPC 200mhz/68040 25mhz/256mb/bv ppc/delfina/wifi/indivision sd+ff/AOS 3.9-4.0
a600/68000 7mhz/8mb fast/wifi/AOS 3.0
Аватара пользователя
easy_john
Менеджер
Менеджер
 
Сообщения: 4296
Зарегистрирован: 03 мар 2006, 15:24
Откуда: SPb

Re: SCSI-to-SD адаптер

Сообщение da-nie 25 окт 2015, 11:15

Наверно, если ее прочитать, то можно понять о чем в ней идет речь.


Это вам, всю жизнь с английским связанным со школы и института, легко говорить. :lol: А я английского не изучал и прочесть полностью я физически не могу. Тем более, правильно перевести со всеми нюансами. А после гугла понять точно о чём речь немного тяжко.

Да, можно попытаться убедить себя, что все неправда.


Можно. Но... зачем? 8)

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


Всё равно очень странно. :wink: Во-первых, ОЗУ очень большое на карте получается. А во-вторых, в чём же выгода между 512 байт и 2 мегабайта в блоке? Почему тогда на уровне интерфейса 512 байт? Чтобы карта служила меньше в 4096 раз? Пока 2 МБ блок запишется, он 4096 раз перезапишется. Записывает-то карта сразу после получения 512 байт блока. А область, где всё это помечается с каждым разом? Как скоро она выйдет из строя?
Вы уверены, что в статье идёт речь о физическом уровне самого контроллера карты, а не об одном из его режимов работы или же о работе на уровне ОС с этим контроллером?
Никаких упоминаний о размере физического блока SD отличном от 512 байт я в сети не нашёл. Вот самое большее, что я нашёл на эту тему:
Затем начинается передача блока данных, объем которых, как было сказано, зависит от размера памяти накопителя. Стоит отметить, что данные в это время сохраняются во временной памяти контроллера устройства и могут быть потеряны в случае отключения питания. Для microSD объемом 2 гигабайта размер блока составляет 512 байт. По завершению передачи блока выдается сооб щение “Data Response”, и внутренний контроллер начинает физическую запись, переходя в состояние “Busy”. Длительность этой записи трудно поддается детерминации и зависит от многих факторов. Размер этой задержки и составляет значительную долю всей длительности записи блока, и полностью избежать этой задержки нельзя, возможно только уменьшить. Внутренний контроллер накопителя представляет собой черный ящик для пользователя, поскольку это одна из основ защиты от несанкционированного чтения. Производители стараются держать в секрете особенности работы внутреннего контроллера. Известно, что перед физическим сохранением данных внутренний контроллер выполняет набор базовых команд, как, например, анализ свободного места, перезапись таблицы адресов и т.д. Многоблочная запись позволяет существенно сократить длительность выполнения базовых команд, так как некоторые из них выполняются единожды в самом начале, а некоторые вообще не требуются.
Мой репозиторий: https://github.com/da-nie
Мои статьи: https://habr.com/ru/users/da-nie/posts/
Моё видео: https://www.youtube.com/channel/UCUroi3D5Kf1WxDzg3ON852g/videos
Аватара пользователя
da-nie
Престарелый Амигодум
Престарелый Амигодум
 
Сообщения: 240
Зарегистрирован: 23 сен 2011, 17:25
Откуда: Ленинградская область

Re: SCSI-to-SD адаптер

Сообщение easy_john 25 окт 2015, 20:54

da-nie писал(а):Вы уверены, что в статье идёт речь о физическом уровне самого контроллера карты, а не об одном из его режимов работы или же о работе на уровне ОС с этим контроллером?

Угу.
da-nie писал(а):Никаких упоминаний о размере физического блока SD отличном от 512 байт я в сети не нашёл. Вот самое большее, что я нашёл на эту тему:

На основании чего вот это написано? Просто калька с работы любого блочного девайса.
Но твердотельные накопители не так просто устроены, иначе их очевидные проблемы вылезали еще раньше. По этому там стоит довольно большой контроллер, который работает, совсем не так, как это выглядит снаружи. Самое главное - проверить это совсем не сложно, стандартными утилитами типа fio начни активно писать на флешку и измеряй скорости/задержки - увидишь тот же самый порог.
PegasosII G4 1.0/1Gb/80Gb/Ati 9200/MorphOS unreg/Debian
a4000/PPC 233mhz/68060 50mhz/128mb/cv ppc/toccata/x-surf/kickflash/indivision/AOS3.9-4.0
a1200/PPC 200mhz/68040 25mhz/256mb/bv ppc/delfina/wifi/indivision sd+ff/AOS 3.9-4.0
a600/68000 7mhz/8mb fast/wifi/AOS 3.0
Аватара пользователя
easy_john
Менеджер
Менеджер
 
Сообщения: 4296
Зарегистрирован: 03 мар 2006, 15:24
Откуда: SPb

Re: SCSI-to-SD адаптер

Сообщение da-nie 25 окт 2015, 21:25

На основании чего вот это написано? Просто калька с работы любого блочного девайса.


На основании официальной документации на стандарт SD-карт. Всё остальное - от лукавого.
А на основании чего написана та статья (http://lwn.net/Articles/428584/) ?

Самое главное - проверить это совсем не сложно, стандартными утилитами типа fio начни активно писать на флешку и измеряй скорости/задержки - увидишь тот же самый порог.


Между fio и картой огромная прослойка как аппаратуры, так и программ.
Работая же на низком уровне с SD-картой есть всего одна задержка - это задержка по завершению передачи карты 512 байт блока - вот дальше карта требует времени ожидания. За режим SDIO не скажу, но по SPI это 100% так. Других задержек просто нет. Тогда какую же скорость fio из ОС вы измерите? Скорость буферизации промежуточных слоёв аппаратуры и программ?

Впрочем, я нашёл, о чём действительно в статье речь. Вот вам спецификация SD V3.01: http://radiokot.ru/forum/download/file.php?id=113707
На страницах 90 и 92 вы можете прочесть, какими именно блоками оперирует карта памяти данного стандарта. Блок этот вовсе не обязательно 2 или 4 МБ. Он может быть и 16 килобайт.
Подчеркну, что это относится к картам версии 3. Что в спецификации V1 - я без понятия, я там такого вовсе не встречал (вот она:
SD_Card_Spec.rar
(131.7 KiB) Скачиваний: 595
). Очень может быть, что стандартные SD и MMC карты блоками больше 512 байт вообще не оперируют. Другое дело, что сейчас этих карт в продаже просто нет (впрочем, я использовал и на 16 МБ SD карты - у меня такие есть.). Но это не основание грести все карты под одну гребёнку, как в той статье. Потому я вас и спрашивал, является ли ваше утверждение о буфере карт абсолютным для любой карты, или это некий частный случай, пусть даже сейчас максимально распространённый.
Мой репозиторий: https://github.com/da-nie
Мои статьи: https://habr.com/ru/users/da-nie/posts/
Моё видео: https://www.youtube.com/channel/UCUroi3D5Kf1WxDzg3ON852g/videos
Аватара пользователя
da-nie
Престарелый Амигодум
Престарелый Амигодум
 
Сообщения: 240
Зарегистрирован: 23 сен 2011, 17:25
Откуда: Ленинградская область

Re: SCSI-to-SD адаптер

Сообщение easy_john 25 окт 2015, 22:37

da-nie писал(а):Между fio и картой огромная прослойка как аппаратуры, так и программ.
Тогда какую же скорость fio из ОС вы измерите? Скорость буферизации промежуточных слоёв аппаратуры и программ?

Вообще то нет.

da-nie писал(а):Вот вам спецификация SD V3.01: http://radiokot.ru/forum/download/file.php?id=113707
На страницах 90 и 92 вы можете прочесть, какими именно блоками оперирует карта памяти данного стандарта. Блок этот вовсе не обязательно 2 или 4 МБ. Он может быть и 16 килобайт.

Это замечательно.
Там же читаем, что RU не может быть меньше 16 кб. А сама карта оперирует AU, размером от от 16 кило (а для uhs карт вообще не меньше 1мб).
При этом AU задается в прошивке и не может быть изменена. Для карт от 512 мб уже AU будет 2мб.
Больше того, в первых 2 мегабайтах любой SD контроллер действительно оперирует меньшими блоками, что бы фат не так быстро убивал карту. Остальной объем идет большими блоками.
PegasosII G4 1.0/1Gb/80Gb/Ati 9200/MorphOS unreg/Debian
a4000/PPC 233mhz/68060 50mhz/128mb/cv ppc/toccata/x-surf/kickflash/indivision/AOS3.9-4.0
a1200/PPC 200mhz/68040 25mhz/256mb/bv ppc/delfina/wifi/indivision sd+ff/AOS 3.9-4.0
a600/68000 7mhz/8mb fast/wifi/AOS 3.0
Аватара пользователя
easy_john
Менеджер
Менеджер
 
Сообщения: 4296
Зарегистрирован: 03 мар 2006, 15:24
Откуда: SPb

Re: SCSI-to-SD адаптер

Сообщение da-nie 25 окт 2015, 22:55

Вообще то нет.


А какую же тогда?
Вы с SD картой напрямую из ОС не работаете. У вас минимум контроллер промежуточный есть, который и позволяет SD с ПК гонять. И хорошо если он хотя бы не на USB висит.

Это замечательно.


Конечно, замечательно, когда появляется официальный документ, а не какая-то хрень с линуксовского сайта неизвестно от кого. :)

При этом AU задается в прошивке и не может быть изменена. Для карт от 512 мб уже AU будет 2мб.


А для карт меньшего размера - меньше. И кроме того, в таблице максимальный размер блока. Карта вольна взять любой, кратный 16 кб. А для карт V1 вообще не упомянут.
А это вот что значит: берёте карту с блоком 32-64К (боюсь только, с ПК вы размер блока не узнаете - контроллер не позволит скорее всего, как он не позволяет ID карты получить.) и делаете кластер в 32-64 К. И будет у вас писаться-читаться быстро и надёжно.
Есть ещё момент - там не указано, действует ли этот блок при работе с картой по SPI. Может быть и нет.

Больше того, в первых 2 мегабайтах любой SD контроллер действительно оперирует меньшими блоками,


Это в спецификации написано? А где именно?

Вообще, у меня есть одна игрушка для SDIO чтобы ID карты считывать. Можно попробовать считать и размер блока карты. :roll:
Мой репозиторий: https://github.com/da-nie
Мои статьи: https://habr.com/ru/users/da-nie/posts/
Моё видео: https://www.youtube.com/channel/UCUroi3D5Kf1WxDzg3ON852g/videos
Аватара пользователя
da-nie
Престарелый Амигодум
Престарелый Амигодум
 
Сообщения: 240
Зарегистрирован: 23 сен 2011, 17:25
Откуда: Ленинградская область

Re: SCSI-to-SD адаптер

Сообщение easy_john 26 окт 2015, 00:59

da-nie писал(а):А какую же тогда?
Вы с SD картой напрямую из ОС не работаете. У вас минимум контроллер промежуточный есть, который и позволяет SD с ПК гонять. И хорошо если он хотя бы не на USB висит.

Вообще пофиг на контроллер, он на io не влияет в данном случае.

da-nie писал(а):Конечно, замечательно, когда появляется официальный документ, а не какая-то хрень с линуксовского сайта неизвестно от кого. :)

Это lwn, вообще то. Ты сначала попробуй напиши такую статью что бы ее у тебя этот "какой-то линуксовый сайт" взял.

da-nie писал(а):А для карт меньшего размера - меньше.

Ну и кому нужны карты размером меньше 512 метров? Мы тут замену винтов обсуждаем или что?

da-nie писал(а):Карта вольна взять любой, кратный 16 кб.

Не вольна. Что в контроллере пробили, то и будет. По факту пробивают максимальный размер.

da-nie писал(а):Есть ещё момент - там не указано, действует ли этот блок при работе с картой по SPI. Может быть и нет.

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

da-nie писал(а):Это в спецификации написано? А где именно?

Там же, на следующих страницах, первый AU отведен под данные фс и не рекомендуется к записи данных.
Кстати, посмотри с какого размера начинается раздел при заводской разбивке - как раз на 2мб границе.

Я, главное, не понимаю, о чем ты споришь.
Я привел статью с исследованиями размеров блоков, после чтения статьи я делал пробный тест и то же видел ступеньку на 2 мегабайтах, ты привел спецификацию непротиворечащию этим тестам - а по итогу все равно "не верю". Ну так проведи тесты свои, покажи результаты, что впустую перемалывать?
PegasosII G4 1.0/1Gb/80Gb/Ati 9200/MorphOS unreg/Debian
a4000/PPC 233mhz/68060 50mhz/128mb/cv ppc/toccata/x-surf/kickflash/indivision/AOS3.9-4.0
a1200/PPC 200mhz/68040 25mhz/256mb/bv ppc/delfina/wifi/indivision sd+ff/AOS 3.9-4.0
a600/68000 7mhz/8mb fast/wifi/AOS 3.0
Аватара пользователя
easy_john
Менеджер
Менеджер
 
Сообщения: 4296
Зарегистрирован: 03 мар 2006, 15:24
Откуда: SPb

Re: SCSI-to-SD адаптер

Сообщение da-nie 26 окт 2015, 08:05

Вообще пофиг на контроллер, он на io не влияет в данном случае.


Контроллер имеет возможность буферизировать данные и пересылать карте блоками. А может и писать прямо в порядке поступления данных сразу. В QNX, когда для SD нет драйвера с буферизацией, очень хорошо видна разница с тем случаем, когда буферизация есть. Тоже относится и к винчестеру.

Это lwn, вообще то. Ты сначала попробуй напиши такую статью что бы ее у тебя этот "какой-то линуксовый сайт" взял.


Какая разница, кто это, если статья непонятно на чём основана и не полна. Менделеев с Бутлеровым вон вообще имели разные взгляды на теорию химического строения и один отрицал, а другой утверждал её. И кому тогда верить? :)

Ну и кому нужны карты размером меньше 512 метров? Мы тут замену винтов обсуждаем или что?


А это кому как. 8)

Не вольна. Что в контроллере пробили, то и будет. По факту пробивают максимальный размер.


А я о чём? ;) Этот размер любой может быть задан до максимального. Но любым из сетки. И что там по факту - это тоже от лукавого.

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


Пока не было официальной документации, утверждать о 2 и 4 МБ нельзя. Тем более, что по факту размер оказался задаваемым в пределах сетки 16 кБ. Так и про SPI.

Я, главное, не понимаю, о чем ты споришь.


Я спорю о том, что все карты различные. И никакого 2 и 4 у всех карт нет. Более того, в режиме совместимости с MMC (т.е. по SPI) карта с высокой вероятностью работает с 512 байт блоком и ни с чем иначе. В режиме SDIO размер блока зависит от производителя. Таким образом, утверждать, что любая карта имеет 2 или 4 мб буфер вообще нельзя. Он есть, но размер его задан иначе, чем написано в статье. Вот и всё.
Раз не о чем спорить, тогда и спорить не надо. :)

Но всё же, если кто хорошо читает по-английски, то было бы интересно узнать, что в документации версии три написано про многоблочную запись - пишет ли контроллер сразу каждый блок (от 512 до 2048 байт), или же ждёт окончания команды. Потому как при кэше 2МБ карта просто износится до дыр, если писать по 512 байт, стирая каждый раз размер AU. С этим, думаю, никто спорить не станет. Очень может быть, что всё-таки это режимы многоблочной записи и ничего иного. Иначе это крайне странно получится - зачем снижать время жизни карты просто так?
Мой репозиторий: https://github.com/da-nie
Мои статьи: https://habr.com/ru/users/da-nie/posts/
Моё видео: https://www.youtube.com/channel/UCUroi3D5Kf1WxDzg3ON852g/videos
Аватара пользователя
da-nie
Престарелый Амигодум
Престарелый Амигодум
 
Сообщения: 240
Зарегистрирован: 23 сен 2011, 17:25
Откуда: Ленинградская область

Пред.След.

Вернуться в Железо Classic Amiga

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 17

cron