-1

Я предполагаю, конечно, что твердотельные накопители NAND с ECC корректируют данные с помощью системы голосования, то есть, если биты обоих держателей битов совпадают. НАСА использовала как 5 на первом корабле. Так как же тогда SSD-диски могут испортить ваши важные данные путем записи на лету и всех этих проблем, с которыми сталкивается молодая технология, когда у нее есть ECC !?

2 ответа2

0

Я предполагаю, конечно, что твердотельные накопители NAND с ECC корректируют данные с помощью системы голосования, то есть, если биты обоих держателей битов совпадают.

Вы неправильно предполагаете, как работает ECC.

Способность ECC, требуемая NAND, зависит от чипа.
Производитель чипа NAND указывает минимальное количество битов, которое должно корректироваться (хостом) на блок. Меньшее количество битов может указывать на более надежный NAND.
(Блоки, которые проверены на наличие большего количества дефектных битов, будут помечены производителем как "плохие блоки".)

NAND, установленный на SBC, обычно требует возможности исправления в 1, 2 или 4 бита на ~ 512 байт. Чипы в SSD могли (?) требуют больше битов.
Длина ECC зависит от реализации кода; например, это может быть 7 байтов для корректности 4 бит контроллером NAND, который использует код BCH.

Ядро Linux может сообщить об этом атрибуте NAND во время загрузки:

[    0.780000] nand: device found, Manufacturer ID: 0x2c, Chip ID: 0xf1
[    0.780000] nand: Micron MT29F1G08ABAEAWP
[    0.790000] nand: 128 MiB, SLC, erase size: 128 KiB, page size: 2048, OOB size: 64
[    0.790000] atmel_nand 80000000.nand: minimum ECC: 4 bits in 512 bytes
[    0.800000] atmel_nand 80000000.nand: Initialize PMECC params, cap: 4, sector: 512

Данные ECC генерируются перед записью блока данных с помощью алгоритма кода (например, Хэмминга, BCH или Fire) (который оценивает полином).
При чтении обратный алгоритм подает данные и байты ECC для получения вердикта о хорошем чтении, корректируемом чтении или некорректируемом чтении.
Алгоритмы могут быть реализованы в аппаратном или программном обеспечении.

Так как же тогда SSD-диски могут испортить ваши важные данные путем записи на лету и всех этих проблем, с которыми сталкивается молодая технология, когда у нее есть ECC !?

Похоже, вы подразумеваете, что ECC каким-то образом должен предотвращать или препятствовать "порче" данных.
ECC не имеет такой возможности; Целью ECC является обнаружение ошибок при чтении и, возможно, исправление этих ошибок (в определенных пределах) после потери данных.

Потеря данных во флэш-памяти NAND объясняется потерей питания, износом памяти, нарушением чтения и эффектами рентгеновского излучения.

0

Я предполагаю, конечно, твердотельные накопители NAND с ECC корректируют данные с помощью системы голосования

Хм нет ECC обычно не работает, сравнивая несколько копий. Вместо этого ему нужно всего лишь 10 бит хранимых данных для обнаружения и исправления 1-битного сбоя.

Упрощенный способ того, как это работает, показан здесь.

Итак, как же SSD может испортить ваши важные данные при записи на лету и всех этих проблем, с которыми сталкивается молодая технология, когда у нее есть ECC?

Потому что данные, хранящиеся на чипах NAND, - не единственное место, где они могут быть повреждены.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .