> Не надо мне мозг пудрить :) Да никто вроде и не пытается. Я так, немного капитаню, сугубо глядя на ВЫПУСКАЕМЫЕ СЕЙЧАС реализации железок и даташиты разных проциков, не более.
> Чего тут проще - как предполагается такой жесткой логике знать - какая блин
> у nand вашей запаяной геометрия чипа и технология,
Да, по этому поводу есть некая попаболь, факт. И поэтому часто делают boot ROM в котором логика не столь деревянная, однако с более нового типа оно вполне может обломаться грузиться, факт. Вот только в случае с eMMC вообще надо аж чтение FAT32 делать. И там ограничений на формат карты, ФС на ней и прочая обычно два вагона. Получается крайне дебильное уродство. Эти штуки заточены на откровенный накопитель с данными который на ходу демонтируется и вывешивается большому писюку как FAT32 диск. Вот только грузить пингвин с такой штуки - еще тот изврат.
> или что завтра выпустят nand по технологии о которой загрузчик не знает ?
С таким же успехом загрузчик не знающий о emmc с него обломается загрузиться. Более того, даже те которые знают - накладывают зиллион ограничений на то как все это должно быть скроено. Если честно, грузить пингвин с FAT32 носителя - изврат полный. А eMMC заточен как раз на то чтобы легко монтироваться к большому брату, чем он и удобен: отцепил от встроенного линя и отдал писюку весь диск со всеми потрохами как просто FAT32 карту. Но вот идея бутявить оттуда линукс со всеми этими начинаниями довольно сильно клещится и возникает куча технических трудностей. В принципе конечно преодолимых, но фанатеть от столь уродливых франкенштейнов - как-то странно.
> а за bbt дядя вася будет следить ?
Boot ROM или аппаратная логика опять же - не так уж и сложно оно. Могут быть некие ограничения, например у Ti OMAP - надо чтобы хотя-бы 1 из первых 4 блоков был исправен (делается попытка читать 4 блока, если все 4 плохие, ROM забивает на дальшейшие потуги).
> или предпочитаете при первом bad block в загрузочной
> области перепаивать nand :)
У OMAP например допускается до 4 битых блоков в начале, они будту заскипаны. Хотя вообще-то флеш всегда был ERROR-FREE памятью, а вылезание 1 бэда было признаком скорого умирания памяти. А то что с недавних пор коммерсы в погоне за красивыми цифрами гигабайтов сильно желают продавать даже полубрак, у которого прям с фабрики бэды - ну оно конечно предсказуемо, но это прозрачно намекает что срок службы и надежность этого откровенно "флопповодные". Т.е. вылезание бэдов прям в процессе работы считается нормальным, даже круче чем на дискетах. Странно испытывать восторг по этому поводу. Ну разве что если вам наплевать на ваши данные ;).
> это прям дискеты и MS-DOS напомнило..
Да, вы правы. Сыпучие чипы NAND-MLC которые после пары тыщ циклов дохнут нафиг, прям с фабрики идут с кучей бэдов, могут прямо при работе словить новые - по надежности примерно как флопики, да. И что самое веселое, в eMMC используются те же самые чипы. И вся разница - в том что все это отработает встроенный контроллер. Насколько он лучше это отработает - вопрос интересный. Ну налетел допустим контроллер eMMC на нечитаемый (ECC uncorrectable) сектор флехи. Вы знаете что он и его фирмвара по этому поводу сделает? Если так из основного проца нарваться - вы по крайней мере узнаете что сектор сдох. А вот eMMC в меру дурости может вернуть полураздестроенные данные например, ремапнув на резервный сектор втихаря. Насколько там прямо или криво фирмвара этого контроллера сделана - да кто ж ее знает? Более того - если оно такое умрет, данные с такой хрени врядли смогут снять даже спецы по дата рекавери. Если нанд можно выпаять и прочесть то вот если у такой штуки отлетит в мир иной что-то касающееся ее контроллера, выцепить данные из eMMC будет крайне проблематично. Хотя с учетом отношения как к расходнику - кого волнует чужое горе... ;]
> у каждого производителя есть списки - это я могу а это не могу,
Более того, у каждого производителя есть указание как единственно правильным образом грузиться с eMMC и подобных носителей. И к тому же оно у всех по разному. Там тоже тот еще прыг на костылях с кучей ограничений и подпорок.
> нет таких которые поддерживали бы все технологии NAND -
> slc/mlc с различной геометрией, так что nand для загрузки вообще _очень
> плохо_ подходит,
В основном он плохо подходит потому что не умеет напрямую выполнять код и допускает бэд-сектора. Но производители современных SoC более-менее преодолели подобные грабли путем внедрежа накристальных boot ROM или довольно продвинутых контроллеров внешней шины с аппаратными подпорками для всех типов нанда которые есть на момент дезигна проца.
> недаром на PC BIOS хранят в параллельной NOR или SPI flash.
В параллельной уже никто не хранит ничего - закончилась их эра. Потому что здоровые, многолапые, а за современными CPU всяко не поспевают по шине и приходится как-то миррорить или виртуализовывать доступ железячными приблудами.
А вот в SPI-NOR да, часто. Правда оно тоже процам для загрузки не на 100% удобно т.к. выполнение напрямую из флехи не поддерживается в отличие от параллельных флех, но зато мелкий чип (==дешевле и меньше места занимает) а реализовать логику которая позволит грузиться с этого - не слишком сложно (NOR не предполагает дефектных секторов и прочих грабель и приятнее NAND в этом отношении). Ну так и плотность у этих чипов - ну максимум мегов 16 они бывают (из того что я видел). Сравните с гигабайтами нанда, да? :)