![](https://habrastorage.org/storage2/df9/06f/86e/df906f86e97b3d3e235bad8eff17b3f5.jpg)
Напомню историю вопроса. 9 ноября прошлого года, после почти 15 лет разработки, нескольких приостановок проекта и переносов запуска, с Байконура была запущена ракета-носитель Zenit-2SB с новым российским космическим аппаратом «Фобос-Грунт». Цели были поставлены весьма амбициозные: запустить автоматическую станцию к Марсу, достичь его спутника — Фобоса, взять с него пробы грунта, которые затем были бы возвращены на Землю. Это бы были первые пробы внеземного материала, физически доставленные в руки исследователей (ну, буквоеды бы тут мне попеняли японским «Хаябуса», из-за постоянных задержек «Фобоса» доставившим несколько лет назад отдельные микроскопические частицы межпланетной пыли ранее нашего аппарата), со времен исследований Луны «в прошлом веке». А с учетом того, что, по сегодняшней теории, Фобос — это захваченный Марсом астероид, то есть образец того самого исходного материала, из которого вообще образовалась все планеты Солнечной Системы (Луна — это все же отколотый в прошлом «кусок» Земли, а не настоящая «планета»), эта экспедиция имела и беспрецедентное научное значение. Это был бы также первый «возврат» аппарата от Марса и его спутника.
Немаловажным был также вопрос престижа и открытого возвращения России в «глубокий космос», к межпланетным исследованиям, прекратившимся еще во времена СССР.
Увы, вся экспедиция закончилась довольно скоро. Сразу после запуска выяснилось, что аппарат «застрял» на околоземной «парковочной» орбите, не отвечает на команды, и находится там в «зависшем» состоянии, не выполняя программу. 24 ноября были официально прекращены попытки восстановить работоспособность, а в феврале этого года аппарат неуправляемо вошел в плотные слои атмосферы, и упал в океан, никого, к счастью, при таком спуске на Земле не задев.
Краткий официальный отчет был опубликован в феврале на сайте Роскосмоса. Вот что там, по существу, говорится:
Основные положения Заключения Межведомственной комиссии по анализу причин нештатной ситуации, возникшей в процессе проведения летных испытаний космического аппарата «Фобос-Грунт», образованной в соответствии с приказом руководителя Роскосмоса от 9 декабря 2011 года № 206
Источник http://www.roscosmos.ru/main.php?id=2&nid=18647
[перечисляются рассмотренные различные возможные причины и их источники]
Проведённый экспертами комиссии анализ возможных отказов этих систем и агрегатов показал (с учетом их состояния и ТМИ), что к моменту возникновения НШС [нештатной ситуации] они не могли стать её первопричиной.
2.2. Причиной возникновения НШС является перезапуск двух полукомплектов устройства ЦВМ22 БВК [Бортовой Вычислительный Комплекс] (двойной «рестарт»), выполнявших на этом участке полёта управление КА «Фобос-Грунт», после чего в соответствии с логикой работы БКУ произошло прерывание штатной циклограммы полета КА «Фобос-Грунт», и он перешёл в режим поддержания постоянной солнечной ориентации и ожидания команд с Земли в X-диапазоне связи, который был предусмотрен проектными решениями для перелетной траектории. […]
2.3. Наиболее вероятным фактором, который мог стать первопричиной двойного «рестарта», является локальное воздействие тяжелых заряженных частиц (ТЗЧ) космического пространства, которое привело к сбою в ОЗУ вычислительных модулей комплектов ЦВМ22 во время полёта на втором витке КА «Фобос-Грунт».
Сбой ОЗУ мог быть вызван кратковременной неработоспособностью ЭРИ вследствие воздействия ТЗЧ на ячейки вычислительных модулей ЦВМ22, которые содержат две микросхемы одного типа WS512K32V20G24M (ячейки вычислительных модулей располагаются в едином корпусе параллельно друг другу). Воздействие привело к искажению программного кода и срабатыванию «сторожевого» таймера, что стало причиной «рестарта» обоих полукомплектов ЦВМ22. Модель подобного взаимодействия ТЗЧ с ЭКБ не регламентирована нормативно-техническими документами. Комиссия считает необходимым разработать и внедрить в организациях РКП нормативно-технические документы, содержащие современные модели ионизирующих излучений космического пространства и руководства по их использованию.
Из разрозненных и обрывочных сведений о том, как конструируются и что собой представляют бортовые компьютеры российских космических аппаратов, удалось понять, что в Фобос-Грунте было решено применить новый бортовой вычислительный комплекс БВК ЦВМ22, производства компании «Техком», подразделения КБ «Аргон», именно переходом на ЦВМ22 объяснялась последняя задержка и перенос запуска с предыдущего «окна» пуска на текущее. Примерно два года (среди прочего) Фобос переоборудовался под новый, компактный БВК, созданный с использованием современной микроэлектроники, и весящий не 30, как прежний, а всего 1,5кг. А ведь в космосе каждый даже не килограмм, грамм на вес золота (примерная стоимость вывода килограмма груза на самую низкую околоземную орбиту — около 3000-4000USD)! А ведь полет к Марсу это не только вывод на околоземную орбиту. Каждый сэкономленный килограмм «железа» позволяет поставить на аппарат килограмм умного научного прибора.
Ничего удивительного, что воспользоваться такой экономией было очень заманчиво.
На борту Фобоса размещалось два независимых модуля ЦВМ22, работающих параллельно, независимо, и обеспечивающих горячее дублирование, на случай выхода из строя любого модуля в паре. Такое дублирование — общепринятая практика в авиационной и космической технике.
На волне всеобщего раздражения, вызванного регулярными неудачами, в последнее время, в российской космической программе, приходилось слышать даже уж совсем обидные и нелепые слухи, о том, что, якобы, в Фобосе использовалась ширпотребная «китайская» электроника, вот она-де, и подвела. На самом деле это не так.
Вот что пишет о указанной микросхеме в своем блоге Джеймс Гамильтон, в статье о влиянии сбоев в памяти на работу серверного оборудования:
These SRAMS are manufactured by White Electronic Design and the model number can be decoded as “W” for White Electronic Design, “S” for SRAM, “512K32” for a 512k memory by 32 bit wide access, “V” is the improvement mark, “20” for 20ns memory access time, “G24” is the package type, and “M” indicates it is a military grade part.
«Это SRAM (Static RAM, микросхема памяти, ячейка которой, в отличие от привычной по персональным компьютерам DRAM — Dynamic RAM, сохраняет свое состояние при отсутствии обращения и не требует „регенерации“, широко применяется в промышленной электронике) произведена компаний White Electronic Design (»W"), имеет организацию StaticRAM («S»), «512K32» означает 512Kслов разрядностью 32 бита. «V» отметка улучшенных характеристик, «20» — 20ns время доступа к ячейке памяти, «G24» — тип корпуса, «M» — указывает на «военный» класс изготовления и допусков."
Источник: http://perspectives.mvdirona.com/2012/02/26/ObservationsOnErrorsCorrectionsTrustOfDependentSystems.aspx
Однако, увы, даже использования настоящей «белой» американской микроэлектроники «military-grade» класса оказалось недостаточно.
Налицо классическая проблема недостаточной конструктивной проработки, а если взять шире, то, по-видимому, низкой инженерной компетенции в целом. Конечно спроектировать такое расположение двух плат БВК, чтобы микросхемы памяти в них была расположены так близко, что прошивались-бы одной частицей, и вызывали (одновременный!) сбой сразу обоих сдублированных компьютеров, это уже явная конструктивная недоработка «верхнего уровня».
Это, судя по всему, классическая проблема «кто сшил костюм?» их известного монолога Жванецкого-Райкина. «К пуговицам претензии есть?». Прекрасный, возможно, вычислительный комплекс сам по себе. Просто никто не подумал, что размещая две микросхемы рядом мы повышаем вероятность губительного одновременного радиационного воздействия на его элементы. Никто не посмотрел под таким углом на узел в сборе. Или, как сухо выражается официальный отчет: «Модель подобного взаимодействия ТЗЧ [тяжелых заряженных частиц (»космических лучей")] с ЭКБ [электронным командным блоком] не регламентирована нормативно-техническими документами.".
Но это, увы, не все. Еще хуже, по-видимому, обстоит дело с конструкторской компетенцией.
Удивительно, но факт: еще в 2005 году, в сборнике работ «Radiation Effects Data Workshop», опубликованный IEEE, посвященному теме радиационного воздействия и воздействия тяжелых заряженных частиц на компоненты электроники, прямо отмечалось:
Recent SEE testing of 1M and 4M monolithic SRAMs at Brookhaven National Laboratories has shown an extreme sensitivity to single-event latchup (SEL). We have observed SEL at the minimum heavy-ion LET available at Brookhaven, 0.375 MeV-cm2/mg.
«Недавнее тестирование монолитных чипов SRAM емкостью 1M и 4M, проведенное в Брукхейвенской Национальной Лаборатории, показало их крайнюю чувствительность к эффекту „защелкивания“. Мы наблюдали этот эффект при воздействии по меньшей мере доступных на ускорителе в Брукхейвене тяжелых ионов, энергией 0,375МэВ-см2/мг.»
Источник http://ieeexplore.ieee.org/xpl/freeabs_all.jsp?reload=true&arnumber=1532657
А ведь это те самые микросхемы, которые выбрали в Техкоме для создания ЦВМ22! И известно об этом их поведении было еще, по меньшей мере, с 2005 года.
Судя по всему Фобос был обречен с самого начала. Рано или поздно, в довольно радиационно-суровых условиях «открытого межпланетного космоса» этот эффект был бы словлен. Но если «защелкивание» в принципе, если повезет, лечится «холодной перезагрузкой» комплекса с дублирующей системы, то одновременный сбой обоих комплексов (вызванный, в первую очередь, как указывает отчет, их конструкцией) оказался фатальным. Как указывает отчет, сбой произошел настолько «дружно», что Фобос даже не отправил сообщение о сбое, и с зарубежной помощью Центру управления удалось получить только довольно отрывочные телеметрические данные (по-видимому с «тупой» автоматики), которые говорили лишь о практически полном бездействии ЦВМ на борту и выходе всего комплекса из строя.
Несколько поясняющих слов о упомянутом выше «latchup effect» или «эффекте защелкивания». Это специфический эффект, который вызывает своеобразное «зависание» ячейки памяти SRAM (как показано выше, он происходит при пролете тяжелой заряженной частицы космических лучей), и, как правило, он требует полного выключения-включения модуля SRAM для восстановления его работоспособности, а иногда выход из строя бывает и необратим.
В статье «Did Bad Memory Chips Down Russia’s Mars Probe?Moscow blames radiation wreckage on an SRAM chip, but does it add up?»
«Плохой чип памяти погубил русский марсианский космический аппарат? Москва винит воздействие космических лучей на чип SRAM, но только ли в этом дело?»
Источник http://spectrum.ieee.org/aerospace/space-flight/did-bad-memory-chips-down-russias-mars-probe
опубликованной в e-журнале IEEE Spectrum, Steven McClure, специалист NASA из Jet Propulsion Laboratory (JPL, старейшем отделе NASA, занимающейся конструированием для космоса), руководитель Radiation Effects Group, прямо указывает, что в NASA использование в космическом оборудовании подобных чипов SRAM не рассматривается по причине их, хорошо известной специалистам, низкой радиационной устойчивости.
«Чип WS512K32 хорошо известен и широко применяется в военной и авиационной технике, но не в космической технике» — говорит McClure, «Ни его изготовитель, ни коммерческие вендоры, использующие этот чип, не проводили радиационное тестирование и не публиковали нормы и спецификации такого воздействия на данный чип». «Он, возможно, может быть использован в космической технике, для небольших по времени задач, в орбитальных аппаратах, и на некритичных позициях, но не как компонент главного управляющего вычислительного модуля межпланетной станции, которая должна проработать в открытом космосе несколько лет.» — говорит автору статьи McClure.
Также в статье отмечалось, что, по непонятной причине, в алгоритмах Фобоса не рассматривался вариант отказа, подобного случившемуся, на околоземной орбите, где, собственно, несчастье и произошло. В случае отказа, подобного случившемуся, аппарат переходит в так называемый Safe-mode, при котором «тупыми», некомпьютерными средствами простой автоматики аппарат ориентируется солнечными батареями на Солнце, чтобы избежать разряда батарей, и включает командную радиолинию для приема команд с Земли («дает консоль»), с помощью которых можно восстановить работоспособность системы.
Автоматика сработала, аппарат был правильно сориентирован и включил радиоприем на аварийном канале, однако в алгоритме не был предусмотрен сбой (и, соответственно, прием команд по аварийному каналу) на этапе вывода, возможность сбоя и, соответственно, вмешательства с Земли, была предусмотрена только с момента выхода на «отлетную траекторию».
В вышепроцитированной статье довольно жестко указывается: «The release of the official accident investigation results on 3 February served only to further rumors of fundamental hardware and software design flaws, and of blatant violations of safety standards.
Источник http://spectrum.ieee.org/aerospace/space-flight/did-bad-memory-chips-down-russias-mars-probe
»Выпуск официального отчета от 3 февраля дает лишь пищу для дальнейших слухов, о наличии фундаментальных ошибок в оборудовании и программном обеспечении, а также грубых нарушений норм безопасности (при разработке)"
Факт такой нелепой, по большому счету ошибки проектирования, комментирует Джеймс Гамильтон:
«Эта ошибка поразительна. Разумные люди, казалось бы, ни в коем случае не могли допустить такое, ошибка очевидна и лежит на поверхности. Тем не менее такого рода ошибки в больших системах допускаются то тут, то там, снова и снова. Эксперты, каждый в своей области, делают хорошую работу, но взаимодействие между такими „вертикальными“ сегментами (отдельно — конструирование вычислительного комплекса, отдельно — его размещение в аппарате, отдельно — его программирование, отдельно — разработка „циклограммы“, или последовательности выполняемых операций и действий при старте и во время полета. Прим.) оказываются сложными, и, если общее понимание продукта и „кросс-вертикальных“ отношений в нем недостаточно глубоко, эти конструктивные недостатки могут остаться неувиденными (см. выше про проблему „кто сшил костюм?“. Прим.). Хорошие специалисты создают хорошие компоненты, но при соединении всех компонентов в целостную систему, то тут, то там мы видим проблемы между компонентами и в их взаимодействии.
Часто хорошие „вертикальные“ специалисты не видят создаваемый продукт в целом, хорошо зная только свой компонент. Два решения это 1) хорошо определенные и хорошо документированные интерфейсы (в широком смысле) между компонентами, неважно, аппаратными или программными, и 2) выделенные опытные и знающие инженеры, которые занимаются именно вопросами взаимодействия компонент и работой системы в целом. Назначение на такую позицию, как это бывает, технически неквалифицированного менеджера, часто не является эффективным.
Проблемы и ошибки, вызванные „сложностной слепотой“ (complexity blindness) часто очень серьезны, и, при этом, удручающе очевидны „задним числом“, как в рассмотренном выше примере».
PS. Несколько лет назад мне довелось разговаривать с выпускником МАИ, проходившим преддипломную практику в КБ Туполева. Он в восторгом рассказывал о тех специалистах, с кем ему там довелось общаться. «Деды — настоящие зубры, с запредельным уровнем опыта, ходячие справочники и энциклопедии, но они там уже все пенсионеры, и просто тупо вымирают. Средний возраст в КБ — под 60 лет. Все либо дорабатываюшие до пенсии, либо работающие пенсионеры. Если кто помоложе — так редкие энтузиасты, вчерашние студенты, которых хватает года на два-три, после чего они сваливают с тех зарплат и беспросветности либо в бизнес, либо в руководство. Да и какие сейчас студенты из МАИ выходят… В „середине“ же нет никого.»
Думаю, что в космической отрасли ситуация ненамного отличается. А в результате — вот такие вот истории.
PPS. Долго думал, нужна ли такая статья на Хабре, и куда ее вообще постить такую. Но тут как-то было дело, пообсуждали историю Фобоса, попересказывли слухи из телевизора и поругали «сраную Рашку», как водится, и мне показалось, будет кому-нибудь интересно то, «чем дело закончилось» и как все обстояло на самом деле.
PPPS. Я намеренно хотел ограничиться только фактами, и обойтись без уже привычной на хабре истерии «пилят», «валить», «Сколково» и «враги России
UPD: В комментариях привели ссылку на открытое письмо бывшего ведущего специалиста из НПО им. Лавочкина, нашего основного космического инженерного центра, в котором, в том числе, проектировался и создавался «Фобос».
open-letter.ru/letter/26645
Излагается все вполне ожидаемое, в соответствии со сказанным в статье выше:
«Хочу упомянуть и об искусственном разделении структуры ОКБ. Оно поделено на Центры, в каждом из которых свой директор, его замы, плановые отделы и т.п. И такая организация привела к реальной разобщенности некогда единого ОКБ.
[...]
Отсюда с одной стороны дублирование служб (например, несколько подразделений занимаются редукторами, каждое на свой лад), с другой стороны тот же привод проектируется в трех Центрах – блок управления в одном, электрика в другом, механика – в третьем. И каждая из этих частей не хочет понимать другую.»
Письмо было написано на имя зампредправительства С.Б.Иванова в марте 2011 года.