[обновлено] Проблемы у Curiosity: причины и текущая ситуация

:

Как многие из вас уже наверняка слышали, на прошлой неделе у марсохода Curiosity, который был занят анализом образцов, высверленных им с помощью дрели, возникли некоторые проблемы с основным бортовым компьютером. Давайте разберемся, что именно произошло, и как специалисты JPL планируют решать эту проблему.

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


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

«Мы находились в довольно странной ситуации — наше ПО работало, но работало лишь частично, так что мы приняли решение переключится на «чистую» версию бортового ПО, работающую к тому же на «чистом» железе», — заявил руководитель проекта Curiosity Ричард Кук. «Самый простой способ сделать это — просто начать использовать запасной компьютер».

Curiosity оснащен двумя компьютерами, имеющими незамысловатые названия A и B, причем каждый из них может быть использован для управления ровером. Компьютер B использовался во время полета к Марсу, а после посадки ровер переключился на компьютер A, и пользовался им с тех самых пор.

[Бортовые компьютеры Curiosity называются RAD750, и представляют собой радиационно-устойчивые одноплатники на базе одноименного процессора. Они выпускаются по 250- или 150-нм технологии и способны выдержать радиацию до 1000000 рад, и работать в диапазоне температур от -55 до 125 градусов Цельсия, потребляя около 5 ватт энергии. Система, состоящая из самого процессора и материнской платы может выдерживать до 100000 рад, и температуру от -55 до 70 градусов. Компьютеры имеют 256 килобайт EEPROM, 256 мегабайт оперативной, и 2 гигабайта флеш-памяти. Конечно, это не очень впечатляет в 2013 году, но по сравнению с аппаратным обеспечением роверов предыдущего поколения, прирост в производительности очень велик, — прим.пер.]

Переключение с основного на запасной компьютер произошло около 5:30 вечера по EDT (GMT-5) в прошлый четверг. После этого ровер перешел в так называемый «безопасный режим». В течение следующих нескольких дней инженеры будут продолжать подключать компьютер B ко всем бортовым системам, и восстанавливать нормальное функционирование марсохода.

С момента посадки, эта проблема стала самой значительной из тех, что пали на голову Curiosity.

«Скорее всего, мы скоро вернемся в нормальный режим работы», — сказал Кук, — «И все же, это не самый приятный опыт – видите ли, ровер – это чрезвычайно сложный аппарат. Достаточно сущей мелочи, чтобы что-то пошло не так, и нам все время приходится принимать это во внимание»

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

В тот же день, во время сеанса связи через спутник MRO, телеметрия показала, что повреждение памяти все еще не было исправлено. К тому же, как выяснялось, компьютер не проделал некоторых заранее запрограммированных действий — он должен был перейти в спящий режим на час, а затем проснуться во время очередного коммуникационного окна со спутником Odyssey.


Спутники MRO (слева) и Odyssey (справа)

«Во время второго пролета, мы получили некоторую информацию, которая вкратце сводилась к следующему: Эй, ребята, память все еще повреждена, и к тому же я не лег спать, когда должен был, я бодрствовал все это время!», — заявил Кук.
Следующее коммуникационное окно было между 22:30 и полночью того же дня (по часовому поясу центра управления JPL). Компьютер ровера все еще работал, и инженеры приняли решение перейти на систему B.

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

«Не вдаваясь в подробности, у нас есть несколько степеней защиты. Сама память является самокорректирующейся, а ПО рассчитано на то, чтобы быть толерантным к повреждениям данных. Мы считаем, что нам крайне не повезло – мы получили ошибки именно в тех областях памяти, которые были к ним наиболее чувствительны»

[Напомню, что само ПО ровера имеет несколько уровней действий во внештатной ситуации. В случае возникновения особенно серьезных проблем, марсоход обычно переходит в «безопасный режим», прекращает всю свою деятельность и ожидает следующего коммуникационного окна, чтобы передать в центр управления информацию о проблеме, и получить дальнейшие инструкции, — прим.пер.]

«Таким образом, мы просто потеряли информацию, о том где какие данные находятся. Я повторюсь – в теории, ПО ровера должно быть толерантно к ошибкам такого рода, но мы попали в ситуацию, когда часть ПО работала как положено, а часть начала сбоить в ожидании изменения данных в памяти – софт просто не мог понять, откуда эти данные считывать.»

Кук отметил, что шансы того, что космические лучи вызовут такого рода проблему, крайне невысоки, но такое уже случалось раньше.

«Представьте себе адресную книгу, в которой полно записей. Вместо того, чтобы повредить одну из этих записей, космическая радиация повреждает оглавление. Это крайне редкое явление, но – увы – такие вещи иногда случаются».

Если эта догадка верна, перезапуск основного компьютера должен решить проблему. Однако инженеры не собираются торопиться – они проводят детальный анализ ситуации для того чтобы быть уверенными в причинах проблемы перед тем, как предпринимать какие-то действия.
«Конечно, мы можем использовать и компьютер B, причем абсолютно так же эффективно, как и основной. Так что в ближайшую неделю мы будем настраивать ПО второго компьютера, чтобы убедиться, что все системы работают как надо».

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

Специалисты NASA рассчитывают, что Curiosity сможет продолжить свои научные изыскания в течение ближайших нескольких дней.

Обновление


Сегодня (4.03.2013) NASA сообщило, что Curiosity вновь находится в «активном» режиме. По расчетам, он должен полностью восстановиться и продолжить научные изыскания на следующей неделе.

Выход из безопасного режима был осуществлен в субботу, а в воскресенье марсоход снова начал использовать HGA (high-gain antenna) для связи с Землей.

«Процесс восстановления идет хорошо», — заявил уже знакомый нам Ричард Кук. «Состоит он из двух частей. Во-первых, мы хотим точно понять, что случилось с компьютером А, а во-вторых, провести ряд операций с компьютером B, например сообщить ему о состоянии ровера — текущем положении руки, мачты, и так далее».

Тем не менее, точная причина выхода из строя памяти все еще выясняется.

Пожалуйста, сообщайте о всех ошибках и опечатках в личку!
Как обычно, большое спасибо Zelenyikot за найденный материал.