Victor_VG

Tracker Mod | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору www_world Для исправления ошибок нужны корректирующие коды с избыточностью (например коды Рида-Соломона, Хафмена, и т.п.), а хэш алгоритмы могут иметь коллизию алгоритма - когда два и более двоично-разных набора имеют одинаковое значение хаша и могут только определить целостность - отсутствие инверсии/утраты битов набора. Корректирующие коды выполняют несколько проходов сначала для установления факта наличия ошибки, а затем для поиска искажённых битов. А это процессорное время. Например для кода Хемминга один проход позволяет исправить один бит, а максимальное число исправляемых ошибок зависит от кодового расстояния. И чем оно больше, тем выше избыточность. Но т.к. вероятность кратных ошибок в защищаемом блоке значительно снижается с ростом их числа, то смысла в коде с большими кодовыми расстояниями нет, и на практике используют варианты типа кода Хемминга(64,72) позволяющие исправить любые шестикратные ошибки в 64-х битном блоке за шесть проходов кода. Этот вариант так же реализован в микросхемах, например 1804ВЖ1 (Am2960), 1804ВЖ2 (Am2961) - 16-разрядная схема обнаружения и коррекции ошибок ОЗУ с использованием кода Хемминга(64,72) из секционированного (с наращиваемой по 4 бит разрядностью) микропроцессорного набора 1804 (аналог AMD Am2900). А взять произвольный алгоритм и сказать "Он всё исправит" не получится т.к. для этого используемый им код должен иметь возможность поиска и коррекции ошибок.
---------- Жив курилка! (Р. Ролан, "Кола Брюньон") Xeon E5 2697v2/C602/128 GB PC3-14900L/GTX 1660 Ti, Xeon E5-2697v2/C602J/128 Gb PC3-14900L/GTX 1660 Ti |
|