Найти в Дзене
Димас пишет

Как космическая радиация влияет на нашу жизнь.

За 2010 год Toyota отозвала на склад порядка 7 миллионов машин. Среди множества причин основная — внезапное непреднамеренное ускорение. Это когда слабое нажатие на педаль приводит к резкому ускорению вперёд. При этом тормоз, зачастую, также отказывает. В ходе расследования установили: из-за непреднамеренного ускорения “Тойот” 89 людей погибло и ещё 52 понесли травмы.

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

Картинка с theverge.com
Картинка с theverge.com

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

-2

Компания Toyota решила доверить управление заслонкой микросхеме. Её задача — определить на какой угол открыть заслонку. Для этого она считывает степень нажатия на педаль, производит парочку математических операций и выдаёт нужный сигнал.

Когда мы складываем числа, то храним промежуточные результаты вычислений либо на бумаге, либо в голове. Микросхема также хранит данные в так называемой “оперативной памяти”. В сущности, это множество маленьких ячеек — конденсаторов. Каждая такая ячейка cодержит электрический заряд. Если конденсатор заряжен, то микросхема воспринимает значение ячейки как ‘1’. Отсутствие заряда есть ‘0’. Эту же ячейку называют ‘битом’.

На одной такой микросхеме помещается очень много конденсаторов. Поставив их в один ряд, мы получим последовательность из нулей и единиц, например 01010101 или 10001001. Абсолютно все данные в компьютере представляют собой такие последовательности, только куда более длинные.
Так, любое изображение — также последовательность из ноликов и единичек.

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

С новыми знаниями вернемся к Тойотам. Предположим, в микросхеме для управления заслонкой один из битов неожиданно изменил своё значение. Это значит, например, вместо 15 градусов вдруг стало 80. Заслонка открывается шире, больше топлива подается в двигатель и машина едет быстрее. Могло ли такое произойти на самом деле? Оказывается, да и виной этому — космические лучи. Именно их влияние называют одной из возможных причин внезапного непреднамеренного ускорения.

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

Несмотря на теоретическую возможность, на практике очень сложно зафиксировать влияние космических лучей. Так, ни одно расследование не подтвердило, что влияние космических лучей на машины Toyota действительно имело место. Это лишь предположение.

Задокументированный же случай влияния космических лучей произошёл в Бельгии в 2003 году. На выборах в муниципалитет один из кандидатов набрал 4096 голосов. Это число было сильно больше логически возможного. Кроме того, 4096 на языке компьютера есть аккуратная последовательность 1000.0000.0000. При перезапуске программы все остальные значения остались неизменными, а число 4096 превратилось в более разумное. Единственное адекватное объяснение происходящему — космические лучи.

-4

Чтобы понять насколько страшно влияние космических лучей, оценим вероятность сбоя, т.е. флипинга одного бита. Оказывается, если загрузить компьютер 4 гигабайтами данных и оставить в рабочем состоянии на 72 часа, то с вероятностью 96% произойдёт ошибка. Это значит, подобные сбои должны происходить постоянно.

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

-5

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

Самое простое, что можно сделать — поместить дополнительный тонкий слой кремния на конденсатор. Тогда лучу будет сложнее пройти сквозь. Это незначительно улучшает ситуацию, но сильно увеличивает cебестоимость ячейки памяти.

Будем хитрее. Заметим, надо лишь найти ошибку. Как только она обнаружена достаточно перезапустить программу. Тогда давайте запустим одну и ту же программу на нескольких компьютерах, а затем сравним результат. Если он разный, то ошибка имела место. В этом случае нам придется потратиться на дополнительные микросхемы, но вероятность изменения одинаковых битов на нескольких независимых компьютерах практически ноль.

Можно поступить ещё хитрее. В конце каждой последовательности будем писать 1, если число единиц четное, и 0 иначе. Например, 0000 превращается в 0000.1, а 0001 в 0001.0. Тогда по последовательности легко понять ошибочна она или нет.

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

------------------------------------------------------------------------------------------------

Вероятность сбоя подсчитана в статье:
http://lambda-diode.com/opinion/ecc-memory

Веду канал:
https://t.me/dimas_channel

Наука
7 млн интересуются