1091 / 641 / 75
Регистрация: 15.03.2012
Сообщений: 2,797
Записей в блоге: 1
1

SSD и TRIM

03.02.2020, 14:12. Показов 17514. Ответов 73

Author24 — интернет-сервис помощи студентам
Программа CrystalDiskInfo не показывает что на SSD 970 EVO Plus работает TRIM. Power Shell показывает 0 включено, Samsung Magician тоже. Кому верить?
Кликните здесь для просмотра всего текста
SSD и TRIM
SSD и TRIM
SSD и TRIM
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.02.2020, 14:12
Ответы с готовыми решениями:

Trim & SSD
Имеется ССД KINGSTON SKC300S37A120G Периодически вручную делаю ему трим под линухом fstrim -v -a...

TRIM на SSD Raid 0 SATA III (Intel C606)
Всем привет. Подскажите пожалуйста, будет работать TRIM на SSD Raid 0 SATA III на чипсете Intel...

Не определяются самодиагностика SMART и функция TRIM на NVME SSD (GNOME DISK)
Итак, имеем свежую Ubuntu 19.04 и SSD накопитель KINGSTON SA1000 (NVME, PCI-E x2, m,2) Проблема...

программы для ssd сам ssd не видят, пропали диски с ssd
Всем привет, купил на днях ssd adata.Решил перенести систему на ssd диск с помощью программы...

73
1660 / 979 / 97
Регистрация: 23.01.2017
Сообщений: 3,807
07.02.2020, 16:22 21
Author24 — интернет-сервис помощи студентам
Цитата Сообщение от all1605
...но сработала утилита на FAT32.
TRIM appears to be WORKING !
- Вот это интересно!
Повсеместно пишут, что в FAT32 трим не работает!
И как это объянить, значит работает?

Еще что-то полезное по теме TRIM нашли?
Цитата Сообщение от Tau_0
Поэтому у меня на FAT32 TRIM не работает.
CONCLUSION: INDETERMINATE
Вывод: неопределенный

Не факт, что не работает на FAT32, но содержимое заменено полностью, как у меня на INTEL.
От этого не легче, с точки зрения recovery - удаленные файлы нельзя будет восстановить.

Когда NOT WORKING , данные неизменны.

Добавлено через 14 минут
Tau_0, a на NTFS у вас WORKING или INDETERMINATE ?
Запустите не сразу, а через 20-40 сек. Возможно тоже будет INDETERMINATE ?
Кстати, у меня на INTEL, если резко запустить проверку, через 5 сек - NOT WORKING (данные неизменны), а уже через 20 sec. INDETERMINATE.

Добавлено через 2 минуты
И наоборот: на FAT32 запустите порезче, сразу после первого окна.
Возможно покажет 00 - WORKING...
0
1091 / 641 / 75
Регистрация: 15.03.2012
Сообщений: 2,797
Записей в блоге: 1
07.02.2020, 17:05  [ТС] 22
Цитата Сообщение от nonym4uk Посмотреть сообщение
И как это объянить
Да кто его знает. Tau_0 предложил поэкспериментировать, я попробовал и получилось.
Цитата Сообщение от nonym4uk Посмотреть сообщение
Еще что-то полезное по теме TRIM нашли?
Нет, в основном одно и тоже, как будто друг у друга перепечатывают.
Заметил такую интересную вещь, если во время ожидания 20 сек. производить какие-нибудь действия (открыть/закрыть файл)даже на HDD, то выдает такой результат (скрин). А если в эти 20-25 сек. даже не дышать на ноут, выдает CONCLUSION: TRIM appears to be WORKING!.
Миниатюры
SSD и TRIM  
0
1660 / 979 / 97
Регистрация: 23.01.2017
Сообщений: 3,807
07.02.2020, 20:09 23
all1605, Ага! Значит тоже "шевелится" и выдает INDETERMINATE, другое содержимое.
Наверно также и с "С" диском?

Вот что понял: eсли сразу, через 5-8 сек , прога выдает нули и WORKING, значит верно, работает TRIM.
A ждать дольше - происходит что угодно (INDETERMINATE).
Т.е. для проверки TRIM ждать НЕ надо.
Наоборот, ждать, когда покажет "NOT WORKING" и после будет INDETERMINATE.

Написать бы автору проги, что не надо удалять файл json автоматически, после WORKING, чтобы можно было проверить еще раз, через время и убедиться, что там 00. Наверно, для утили есть ключи параметров (не искал).

А попробуйте скопировать файл JSON сразу после первого окна.
Когда покажет успех - WORKING и удалит json, вы его верните обратно из копии.
Затем подождав 30-40 sec запустите снова или еще подождать.
Предвижу, что через время будет тот же INDETERMINATE, т.е. нули заменятся произвольными данными.

В общем, эта прога только для успокоения параноиков, чтоб увидеть заветное WORKING.
А не увидел или прощелкал момент - увидишь тот же INDETERMINATE и тогда ночь не спать

Добавлено через 13 минут
Тест ll для INTEL 600р
Как писал, в Bios переключил на AHCI и загрузился с флешки Recovery Win10.
Запуск окна "поддержки ком.строки".
В консоли запустилась версия TRIMcheck х64.
Кликните здесь для просмотра всего текста


>
12.11.2019 21:01 <DIR> Mount Programm Wim
19.03.2019 07:52 <DIR> PerfLogs
09.01.2020 00:24 <DIR> Program Files
09.01.2020 01:08 <DIR> Program Files (x86)
31.07.2019 16:04 <DIR> TEST
29.07.2019 13:26 <DIR> Users
02.02.2020 17:34 <DIR> Windows
28.10.2019 01:05 <DIR> XXX
06.02.2020 15:27 <DIR> XXX2
0 файлов 0 байт
9 папок 116 943 355 904 байт свободно

C:\>cd xxx2

C:\XXX2>dir
Том в устройстве C имеет метку Acer
Серийный номер тома: 1AD0-3B46

Содержимое папки C:\XXX2

06.02.2020 15:27 <DIR> .
06.02.2020 15:27 <DIR> ..
06.02.2020 15:22 <DIR> Test
04.02.2020 22:56 951 632 TRIMCHCK.exe
04.02.2020 22:55 1 377 088 trimcheck-0.7-win64.exe
2 файлов 2 328 720 байт
3 папок 116 943 355 904 байт свободно

C:\XXX2>trimchck
Эта версия "C:\XXX2\TRIMCHCK.exe" не совместима с версией Windows, работающей на этом компьютере. Проверьте сведения о системе, а затем обратитесь к издателю программного обеспечения.

C:\XXX2>trimcheck-0.7-win64.exe
TRIM check v0.7 - Written by Vladimir Panteleev
https://github.com/CyberShadow/trimcheck

USAGE: Place this program file on the same drive
you'd like to test TRIM on, and run it.

Press Enter to test drive C:...

Querying C:\ disk space and sector size information...
C:\ has 512 bytes per sector, and 8 sectors per cluster.
28550624 out of 62220543 clusters are free.
Generating random target data block (16384 bytes)...
First 16 bytes: 5C 90 B5 9F 1E 32 78 90 7E 12 23 02 6D BD 58 A8...
Creating C:\XXX2\trimcheck.bin...
Querying file final paths...
DOS : \\?\C:\XXX2\trimcheck.bin
GUID : \\?\Volume{04f718c7-dfa0-433b-a094-13e4caf99048}\XXX2\trimcheck.bin
NT : \Device\HarddiskVolume3\XXX2\trimcheck.bin
NONE : \XXX2\trimcheck.bin
Writing padding (33554432 bytes)...
Writing data (16384 bytes)...
Writing padding (33554432 bytes)...
Flushing file...
Checking file size...
Data is located at Virtual Cluster Numbers 8192-8195 within file.
Querying file physical location...
trimcheck.bin has 7 extents:
Extent 0: Virtual clusters 0-255 are located at LCN 6534768
Extent 1: Virtual clusters 256-767 are located at LCN 31151911
Extent 2: Virtual clusters 768-1923 are located at LCN 25132364
Extent 3: Virtual clusters 1924-3916 are located at LCN 23861400
Extent 4: Virtual clusters 3917-9515 are located at LCN 29289297
(this is the extent containing our data)
Extent 5: Virtual clusters 9516-13259 are located at LCN 29348710
Extent 6: Virtual clusters 13260-16625 are located at LCN 31070519
Closing file.
Saving continuation data to C:\XXX2\trimcheck-cont.json...
Flushing buffers on \\.\C:...
Opening \\.\C:...
Flushing buffers...
Deleting file...
Flushing buffers on \\.\C:...
Opening \\.\C:...
Flushing buffers...

Test file created and deleted, and continuation data saved.
Do what needs to be done to activate the SSD's TRIM functionality,
and run this program again.
Usually, you just need to wait a bit (around 20 seconds).
Sometimes, a reboot is necessary.

Press Enter to exit...


C:\XXX2>dir
Том в устройстве C имеет метку Acer
Серийный номер тома: 1AD0-3B46

Содержимое папки C:\XXX2

06.02.2020 16:02 <DIR> .
06.02.2020 16:02 <DIR> ..
06.02.2020 15:22 <DIR> Test
04.02.2020 22:56 951 632 TRIMCHCK.exe
04.02.2020 22:55 1 377 088 trimcheck-0.7-win64.exe
06.02.2020 16:02 58 577 trimcheck-cont.json
3 файлов 2 387 297 байт
3 папок 116 943 294 464 байт свободно

C:\XXX2>trimcheck-0.7-win64.exe
TRIM check v0.7 - Written by Vladimir Panteleev
https://github.com/CyberShadow/trimcheck

Loading continuation data from C:\XXX2\trimcheck-cont.json...
Drive path : \\.\C:
Offset : 119986470912
Random data : 5C 90 B5 9F 1E 32 78 90 7E 12 23 02 6D BD 58 A8...

Reading raw volume data...
Opening \\.\C:...
Seeking to position 119986470912...
Reading 16384 bytes...
First 16 bytes: A0 40 ED B8 E6 FE AE 81 E9 1D 71 F0 93 9E 3C BC...
Data is neither unchanged nor empty.
Possible cause: another program saved data to disk,
overwriting the sector containing our test data.

CONCLUSION: INDETERMINATE.
Re-run this program and wait less before verifying / try to
minimize writes to drive C:.

Press Enter to exit...


C:\XXX2>cd \

C:\>notepad

CONCLUSION: INDETERMINATE
Данные заменены полностью - что это, внутренние алгоритмы SSD ?
Пока только эта версия приходит на ум.
И здесь уже работа прочего софта и запись сведены к нулю, т.к. сама Win10 не загружена.

Вероятно и на Fat32 будет то же Indeterminate.

Со временем сделаю тест с какой-либо Live сборки, пока не делал для UEFI, а Legacy этот биос не поддерживает.

Интересно было бы увидеть тест TRIMcheck по USB интерфейсу для этого INTEL m2, но пока также не имею такой возможности.
* * *
* * *
Из результатов тестов делаю выводы и вижу тут 3 варианта:

• или TRIMcheck как-то неправильно считает (представляет) на определенной конфигурации, т.е. иначе, чем внутренний алгоритм системы и трансляции SSD (маловероятно);

• или TRIM (что вернее) всё же проходит и контроллер SSD отрабатывает содержимое секторов. Система и ФС дают "добро" контроллеру SSD , и он производит внутренние перестановки для "свободного" содержимого;

• или он делает эти перестановки (движухи) всегда, наподобие дефрагментации, и размещение файлов по секторам постоянно динамически меняется, движется. Т.е. сегодня содержимое файла в одних секторах, завтра в других.

_ Вот этот вопрос надо проверить, особенно мне, с моим SSD INTEL.
Недаром эта посредственная модель показывала на тестах рекорды живучести памяти.
Это не память TLC надежна, а алгоритмы выравнивания, выявления и оптимизации хороши.

_ То представление , что транслирует SSD системе виртуально.
LBA (сектора) "нарисованы" , а сам контроллер SSD работает с физическими ячейками памяти по своим внутренним алгоритмам, иным.
_ Это можно сравнить с инструментом REMAP у HDD.
Нам представлены сектора в одном виде, но дефектный уже вырезан из трансляции, а на его месте другой, совсем из иного физического расположения, и естественно, это содержимое отличается.
2
1660 / 979 / 97
Регистрация: 23.01.2017
Сообщений: 3,807
07.02.2020, 20:24 24
Тест lll
Для Samsung 860 EVO
через контроллер Sata-USB 2.0, подключил внешним.
Результат предсказуем: NOT Working. Данные не изменны и шансы восстановить их есть.
Кликните здесь для просмотра всего текста
Samsung 860 EVO по USB

TRIM check v0.7 - Written by Vladimir Panteleev
https://github.com/CyberShadow/trimcheck

Loading continuation data from d:\XXX\trimcheck-cont.json...
Drive path : \\.\d:
Offset : 45228388352
Random data : AB 29 8E C2 D3 64 50 8A 17 0E 26 53 1C 68 B7 D6...

Reading raw volume data...
Opening \\.\d:...
Seeking to position 45228388352...
Reading 16384 bytes...
First 16 bytes: AB 29 8E C2 D3 64 50 8A 17 0E 26 53 1C 68 B7 D6...
Data unchanged.

CONCLUSION: TRIM appears to be NOT WORKING (or has not kicked in yet).

You can re-run this program to test again with the same data block,
or delete trimcheck-cont.json to create a new test file.

Press Enter to exit...

Кликните здесь для просмотра всего текста
Screen
SSD и TRIM
SSD и TRIM
SSD и TRIM
Что характерно:
CrystalDiskInfo кажет в возможностях поддержку TRIM накопителем (по USB).
SSD-Z также + TRIM Enabled !
НО сама система не распознает его по USB как SSD, в оптимизации написано - "жесткий диск".
_ Получается так: софт умный, читает паспорт, понимает возможности, видит, с чем работает, а Винда глупая - до сих пор ориентируется (распознаёт) по каким-то косвенным признакам, не понимает подключенную железку своими тупыми стандартными драйверами.

Другой предполагаемый вывод: по USB возможна передача TRIM, но это задача софта и драйверов , и конечно, контроллер USB должен пропускать команды накопителю.
Теоретически это реализуемо.
1
1091 / 641 / 75
Регистрация: 15.03.2012
Сообщений: 2,797
Записей в блоге: 1
07.02.2020, 20:45  [ТС] 25
Цитата Сообщение от nonym4uk Посмотреть сообщение
А попробуйте скопировать файл JSON сразу после первого окна.
Когда покажет успех - WORKING и удалит json, вы его верните обратно из копии.
Проверил, копирование JSON это действие на разделе и при повторном запуске выдает INDETERMINATE, но при этом файл JSON удаляется. Сделал по другому, запустил- файл создался- закрыл- подождал- запустил- WORKING- файл удалился-восстановил файл- подождал- запустил- INDETERMINATE- файл удалился.

Цитата Сообщение от nonym4uk Посмотреть сообщение
A ждать дольше - происходит что угодно (INDETERMINATE).
Сделал так, запустил- файл создался- закрыл- сходил на кухню покурил минут 6-7-запустил- WORKING.

Добавлено через 17 минут
Цитата Сообщение от nonym4uk Посмотреть сообщение
Написать бы автору проги, что не надо удалять файл json автоматически, после WORKING, чтобы можно было проверить еще раз, через время и убедиться, что там 00.
Я думаю, если не удалится файл, после второго запуска, то и 00 не будет.
1
X-Factor
Эксперт Hardware
3177 / 2107 / 184
Регистрация: 16.11.2011
Сообщений: 5,840
07.02.2020, 21:04 26
Цитата Сообщение от nonym4uk Посмотреть сообщение
Tau_0, a на NTFS у вас WORKING или INDETERMINATE ?
А на NTFS моя Самсунга работает как часы. Хоть через 20 секунд, хоть через двое суток и кучу перезагрузок --- результат един.
Но специально для Вас показываю картинки с пометками для особо одарённых...

Полная проверка состоит из двух этапов или стадий
1a и 1b --- это картинки для первой стадии.
2. для второй стадии проверки.
Интересующие файлы в синей рамке.

Файл trimcheck-cont.json контролировал на уровне бинарного файла по файловой системе NTFS...
Конечно его контент до второй стадии не менялся. А иначе такой SSD не нужен. А после второй стадии растворялся в небытие...

А вот с FAT32 ничего не помогало. --- Ни длительные суточные выдержки, ни запуск TRIM из Samsung Magician не обнуляли контрольные 16 байтов. А после второго запуска файл trimcheck по любому исчезает.

ЗЫ Я себя тешу тем, что и Вы подобные картинки для своей каркалыжки от Интела а то всё намёками да намёками...
--- Неубедительно, однако.
Миниатюры
SSD и TRIM   SSD и TRIM   SSD и TRIM  

1
X-Factor
Эксперт Hardware
3177 / 2107 / 184
Регистрация: 16.11.2011
Сообщений: 5,840
07.02.2020, 21:49 27
Цитата Сообщение от nonym4uk Посмотреть сообщение
Написать бы автору проги, что не надо удалять файл json автоматически, после WORKING, чтобы можно было проверить еще раз, через время и убедиться, что там 00. Наверно, для утили есть ключи параметров (не искал).
Вы совсем или где... --- Стирать в любом случае надо обязательно.

Если станут Zero в блоке, то содержимое блока никак не доступно на высоком уровне файловой системы. Потому, что будут стёрты ВСЕ страницы блока, а содержимое физического блока не определено, оно всегда меняется. --- Постоянно идёт игра в сокобану или пятнашки. С тасовкой страниц. Есть такая штука Flash Translation Layer (FTL) --- это прокладка высокого уровня между высоким уровнем операционной системы (драйвером), которая работает на самом высоком уровне кластеров и SSD.
В качестве нулевой итерации См. Особенности операций записи данных

Долго с этим надо кропотливо разбираться. Только непонятно зачем...
0
1660 / 979 / 97
Регистрация: 23.01.2017
Сообщений: 3,807
08.02.2020, 00:26 28
Цитата Сообщение от Tau_0
ЗЫ Я себя тешу тем, что и Вы подобные картинки для своей каркалыжки от Интела а то всё намёками да намёками...
- Мои результаты в тексте ПОД СПОЙЛЕРАМИ, не в картинках, логи выводимые прогой.
Перевод текста с первого окна
ИСПОЛЬЗОВАНИЕ: Поместите этот файл программы на тот же диск
Вы хотите протестировать TRIM и запустить его.

Нажмите Enter, чтобы проверить диск C: ...

Запрос C: \ дискового пространства и информации о размере сектора ...
C: \ имеет 512 байт на сектор и 8 секторов на кластер.
28550624 из 62220543 кластеров являются бесплатными.
Генерация случайного целевого блока данных (16384 байта) ...
Первые 16 байтов: 5C 90 B5 9F 1E 32 78 90 7E 12 23 02 6D BD 58 A8 ...
Создание C: \ XXX2 \ trimcheck.bin ...
Запрос окончательных путей к файлу ...
DOS: \\? \ C: \ XXX2 \ trimcheck.bin
GUID: \\? \ Volume {04f718c7-dfa0-433b-a094-13e4caf99048} \ XXX2 \ trimcheck.bin
NT: \ Device \ HarddiskVolume3 \ XXX2 \ trimcheck.bin
NONE: \ XXX2 \ trimcheck.bin
Заполнение записи (33554432 байт) ...
Запись данных (16384 байта) ...
Заполнение записи (33554432 байт) ...
Промывка файла ...
Проверка размера файла ...
Данные расположены по номерам виртуальных кластеров 8192-8195 в файле.
Запрос файла физического местоположения ...
trimcheck.bin имеет 7 экстентов:
Степень 0: виртуальные кластеры 0-255 расположены в LCN 6534768
Степень 1: Виртуальные кластеры 256-767 расположены в LCN 31151911
Степень 2: Виртуальные кластеры 768-1923 расположены по адресу LCN 25132364.
Степень 3: Виртуальные кластеры 1924-3916 расположены в LCN 23861400
Степень 4: Виртуальные кластеры 3917-9515 расположены по адресу LCN 29289297.
(это объем, содержащий наши данные)
Степень 5: Виртуальные кластеры 9516-13259 расположены по адресу LCN 29348710.
Степень 6: Виртуальные кластеры 13260-16625 расположены по адресу LCN 31070519.
Закрытие файла.
Сохранение данных продолжения в C: \ XXX2 \ trimcheck-cont.json ...
Промывка буферов на \\. \ C: ...
Открытие \\. \ C: ...
Промывочные буферы ...
Удаление файла ...
Промывка буферов на \\. \ C: ...
Открытие \\. \ C: ...
Промывочные буферы ...

Тестовый файл создан и удален, а данные продолжения сохранены.
Сделайте то, что нужно сделать, чтобы активировать функцию TRIM SSD,
и запустите эту программу снова.
Обычно вам просто нужно немного подождать (около 20 секунд).
Иногда требуется перезагрузка.

Нажмите Enter, чтобы выйти.

Цитата Сообщение от Tau_0
А после второго запуска файл trimcheck по любому исчезает.
- Не исчезает, когда NOT WORKING. Можно проверять не один раз, после подачи команды TRIM другим софтом.
Цитата Сообщение от all1605
Я думаю, если не удалится файл, после второго запуска, то и 00 не будет.
00 не будет, если INDETERMINATE, когда содержимое уже подменено.
А когда NOT WORKING, т.е. одинаковое содержимое по месту и в проверочном файле trimcheck-cont.json и запуск TRIM каким-то софтом оптимизации может обнулить содержимое по месту (на SSD).. Тогда станет WORKING, а может стать INDETERMINATE, если сам SSD расторопится быстрее и перетосует.
_ В общем сплю уже , крыша едет с этим, думаю правильно сам понял и объяснил.

А файл trimcheck-cont.json можно копировать просто в буфер и вставлять, когда удалится после WORKING для повторных проверок.
1
X-Factor
Эксперт Hardware
3177 / 2107 / 184
Регистрация: 16.11.2011
Сообщений: 5,840
08.02.2020, 01:32 29
Цитата Сообщение от nonym4uk Посмотреть сообщение
Степень 0: виртуальные кластеры 0-255 расположены в LCN 6534768
Степень 1: Виртуальные кластеры 256-767 расположены в LCN 31151911
Степень 2: Виртуальные кластеры 768-1923 расположены по адресу LCN 25132364.
Степень 3: Виртуальные кластеры 1924-3916 расположены в LCN 23861400
Степень 4: Виртуальные кластеры 3917-9515 расположены по адресу LCN 29289297.
Вам следует начать с нуля... --- Я давал ссылку на третью страницу весьма простой страницы на русском но непривычном языке. -- Поторопился. Начните со второй страницы Устройство микросхем флэш-памяти. Это чтобы попробовать говорить на одном языке. --- А файл как кластеры по файловой системе не имеет никакого смысла для SSD, который работает на уровне физических ячеек, страниц, блоков, и массивов блоков.
Нам не нужен контент файла потому, что не нужен...

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

Цитата Сообщение от jfyut Посмотреть сообщение
Поцы, вы так усердно обсуждаете трим на фат и через USB, что хочется сообщить на всякий случай "Земля крутится вокруг Солнца".
Как Хвизик, хвизику отвечу --- --- Это солнце бегает каждый день с Востока на Задад по причудливой траектории, которая непрестанно меняется.. Это понимает и видит даже маленький ребёнок. С этого, а не со знахарства, начинается серьёзная Хвизика.
0
all1605
08.02.2020, 11:25  [ТС]
  #30

Не по теме:

Tau_0, nonym4uk, Ваш диспут очень интересен, но давайте вести его по корректней.
Не стыдно не знать, плохо не хотеть узнать.

0
1660 / 979 / 97
Регистрация: 23.01.2017
Сообщений: 3,807
08.02.2020, 13:09 31
Лучший ответ Сообщение было отмечено Tau_0 как решение

Решение

Цитата Сообщение от all1605
...сработала утилита на FAT32
Для barsuk2021 , сам-то что думаешь по этому? Почему сработала и кажет TRIM WORKING на Fat32?
Я думаю, раз написано, значит, работает TRIM.
Возможно, на старых версиях Windows не работает TRIM в fat32 (у TS Win10)....
может проблема в драйверах или НЕ работает, когда сама система стоит на FAT32...
или играет роль актуальность модели SSD, его алгоритмов и возможностей прошивки, отличающихся от древних.

Когда писали старые "догмы" про TRIM, системы и SSD были древними, это 7-10 лет назад !!!

А про то, что по USB может отрабатывать TRIM при определенных условиях, уже есть информация.
3
X-Factor
Эксперт Hardware
3177 / 2107 / 184
Регистрация: 16.11.2011
Сообщений: 5,840
10.02.2020, 06:03 32
Цитата Сообщение от nonym4uk Посмотреть сообщение
В общем сплю уже , крыша едет с этим, думаю правильно сам понял и объяснил.
&
Цитата Сообщение от nonym4uk Посмотреть сообщение
Когда писали старые "догмы" про TRIM, системы и SSD были древними, это 7-10 лет назад !!!
У меня тоже глаза красные от желания сходу разобраться со многим..

Решил на время отложить это дело и просто сделать набросок...

К сожалению, невозможно точно знать, что на самом деле делают накопители. Мы можем наблюдать только тени на стене, а не объекты, отбрасывающие сами тени. Я согласен, что существует много дезинформации (например, метод "fsutil", чтобы проверить, работает ли TRIM).
Vladimir Panteleev

Идею для своей программы trimcheck Владимир Пантелеев позаимствовал из статьи
TRIM & RAID-0 SSD Arrays Work With Intel 6-Series Motherboards Too

Обсуждение SSD TRIM check tool

Практическая польза от этого инструмента в том, что он выдаст достоверную информацию, что TRIM работает на… FAT32 из под Window XP или не работает на SSE Samsung M.2 NVMe емкостью 500 ГБ на десктопе под Windows 10. (Версия 1703, (64-разрядная версия). Trimcheck указывает, что TRIM НЕ включена. И запуск FUTIL для установки TRIM не действует.
См. Очень интересное Обсуждение и вопросы к разработчику SSD TRIM check tool

А разработчик профи серьёзный --- это не трепачь Знахарь . Он в свободный доступ все исходные коды на языке D (очень похож на диалекты C, С++ …). --- Красиво код пишет…
И вопnonym4uk, росы оппонентов тоже достойно выглядят.

nonym4uk, в одном пока хочу Вас подправить --- буферы, кеши, регистры и файлы не промываются, а очищаются. Например корзина... Это раньше на больших машинах элелтронщики промывали спиртом ..., правда в основном не не платы, а другое...

А по мелочам я много чего наковырял... Основная неприятность состоит в том, что параллельно очень трудно работать с дисковым редактором . Редактор мне был нужен для поиска по сигнатурам и копирования блоков. Но из этого ничего не вышло --- процессы Trimcheck и WinHex постоянно блокировали друг друга и важная информация получалась несогласованной... Нет, ток был, но не тот, которого я хотел.
1
1660 / 979 / 97
Регистрация: 23.01.2017
Сообщений: 3,807
10.02.2020, 12:10 33
Мне интересна эта тема с TRIM, поэтому к ней еще вернусь, пока надо разобраться с другими делами...
Также хочу проверить на FAT32 на своих SSD под Win7 u 10.

Пролистал содержимое INTEL в редакторе DMDE - нулей практически нет.
Просмотр глазами наводит на мысль, что TRIM у меня не отрабатывает (состояние INDETERMINATE).
Оптимизация включена.

Все взвешу и планирую переключить на AHCI, а там и в самой ToolBox должна заработать функция.
Если не будет успеха, тогда заменять драйвер контроллера, как делали уже другие пользователи для включения оптимизации.
1
X-Factor
Эксперт Hardware
3177 / 2107 / 184
Регистрация: 16.11.2011
Сообщений: 5,840
13.02.2020, 10:51 34
Лучший ответ Сообщение было отмечено nonym4uk как решение

Решение

Цитата Сообщение от nonym4uk Посмотреть сообщение
Пролистал содержимое INTEL в редакторе DMDE - нулей практически нет.
Их там и не должно быть….
Пока в дополнение к Вашему переводу.

Кликните здесь для просмотра всего текста
Если вы знакомы с TRIMcheck, вам действительно не нужен скриншот. Когда вы запускаете TRIMcheck, он устанавливает свой шаблон DATA, находит все части файла (расположение на диске), которые он только что создал, выбирает часть, с которой он будет проверять, УДАЛЯЕТ файл и просит вас выйти. Затем вы быстро запускаете его снова, и, скорее всего, он покажет вам свой оригинальный шаблон данных, который он проверяет, и сообщит вам, что TRIM не активен, и попросит вас повторить проверку через несколько секунд. Если TRIM работает, в конечном итоге он покажет другой шаблон данных (обычно НУЛИ) с DZAT и ВСЕ ЕДИНИЦЫ с DRAT <, но это не обязательно>. Если он видит тот же шаблон “другим” (но не как НУЛИ),то предполагает DRAT и объявляет, что TRIM работает...,Почему, потому что шаблон всегда один и тот же, но не его ТЕСТОВЫЕ ДАННЫЕ. Он предполагает недетерминированный и говорит Вам, что не может определить статус TRIM..
Существует внешняя возможность, если вы используете какую-то очень загруженную систему генерирования данных, TRIMcheck не сможет определить состояние TRIM из-за того, что ОС может быстро повторно использовать блок TRIMcheck's TEST DATA после этого. выпускает его и до того, как он действительно сможет проверить TRIM. Это было бы очень необычной ситуацией, основанной на том, как Windows выделяет дополнительное необходимое хранилище.
Есть ничтожный возможность, если вы используете какую-то очень загруженную систему генерирования данных, TRIMcheck не сможет определить состояние TRIM из-за того, что ОС может быстро повторно использовать TRIMcheck's TEST DATA после этого. выпускает его и до того, как он действительно сможет проверить TRIM. Это было бы очень необычной ситуацией, основанной на том, как Windows выделяет дополнительное необходимое хранилище.

Когда TRIMcheck запускается 1-й раз и устанавливает свою проверку на DATA retention (Сохранение данных) или TRIMming, он оставляет специальный файл AUDIT (.JSON) в том же месте, в котором он выполняется. Этот файл аудита будет оставаться до тех пор, пока TRIMcheck не решит, что TRIM активен, затем он его удалит чтобы в следующий раз он выполнял еще одну запись/чтение/удаление данных с последующей проверкой.
## (data retention удерживание (сохранение) данных способность энергонезависимой памяти (например, флеш-памяти) хранить записанные в неё данные. Обычно производителем флэш-памяти гарантируется более десяти лет хранения flash memory , retention period)

Начиная со второго запуска, он всегда будет проверять свои старые данные (через файл .JSON), чтобы увидеть, был ли TRIM применен к его данным. Как только он обнаружит TRIM активным, этот файл аудита исчезнет. Исходя из этого, TRIM будет продолжать выполнять проверки, а не перезаписывать (каждый раз, когда выполняется), пока не увидит TRIM активным. Он будет продолжать проверять, видит ли он свои исходные ДАННЫЕ ИСПЫТАНИЯ (и сообщает, что TRIM не активен), ИЛИ если он постоянно видит ДАННЫЕ, отличные от своих ПРОВЕРЯТЬ ДАННЫЕ, в этот момент он скажет вам, что не может определить статус TRIM. Это условие, вызванное недетерминированными данными TRIM или быстрым повторным использованием ОС области данных.

Начиная со второго запуска, он всегда будет проверять свои старые данные (через файл .JSON), чтобы увидеть, был ли TRIM применен к его данным. Как только он обнаружит TRIM активным, этот файл аудита исчезнет. Исходя из этого, TRIM будет продолжать выполнять проверки, а не перезаписывать (каждый раз, когда выполняется), пока не увидит TRIM активным. Он будет продолжать проверять, видит ли он свои исходные ДАННЫЕ ИСПЫТАНИЯ (и сообщает, что TRIM не активен), ИЛИ если он постоянно видит ДАННЫЕ, отличные от своих ПРОВЕРЯТЬ ДАННЫЕ, в этот момент он скажет вам, что не может определить статус TRIM. Это условие, вызванное недетерминированными данными TRIM или быстрым повторным использованием ОС области данных.

И оригинал на английском, вполне прилично его Гугл переводит. Видно тест наши спецы по форензике правили, но и я по мелочам тоже подрихтовал, но на оригинал не покушался.. И это надо обсудить.

Image For Windows | Page 18 | Wilders Security Forums начиная с поста #439
https://www.wilderssecurity.co... 25/page-18

Надеюсь, что прочитав это Вы поймёте почему необходимо и обязательно надо удалять и чистить файл аудита…. Хотя на самом деле это может не совсем удаляется , но и невидимо из ВНЕ.

Видимо Вам следует разобраться со своим SSD и убедится, что Ваш SSD от Intel полностью поддерживает DRAT и DZAT
Deterministic Read After Trim (DRAT) и Deterministic Zeroes After Trim (DZAT), а также работу за сервером.
Вот мой Samsung 860 Pro 256GB такую поддержку заимел только с 860 с 860 серии, а раньше её не было.

Проверить это дело просто, хотя производители темнят и не пишут спеки, но достаточно выдать Sata команду IDENTIFY DEVICE.
Везде пишут, что нужно в Linux выполнить Hdparm, а для Windows утилиты нету, но я нашёл.
Технически вы можете отправить ATA IDENTIFY DEVICE команду на подключенное к SATA устройство (SSD), и слова 69 и 169 должны предоставить вам информацию, которую вы ищете.
См. картинку
и HDD Identify Drive — информация о HDD из IDENTIFY DEVICE

ЗЫ Я много чего разного и противоречивого нарыл, но пока для первоей итерации хватит этого, а нулевую итерацию мы уже раньше сделали.
Миниатюры
SSD и TRIM  
2
1660 / 979 / 97
Регистрация: 23.01.2017
Сообщений: 3,807
13.02.2020, 18:00 35
Tau_0, Постараюсь вникнуть...
Не понял принципа, почему в редакторе не должно быть нулей, если TRIM сбрасывает состояние ячеек.
В начальных секторах и в конце, в неразмеченном, ведь кажет нули?

Я так размышлял: диск заполнен наполовину, если TRIM отрабатывал, то нули должны быть. А по факту, их практически нет.
Я не искал никакой файл, ничего не сопоставлял, просто "пробежал" всю поверхность на наличие нулей.
Что скажете?
0
X-Factor
Эксперт Hardware
3177 / 2107 / 184
Регистрация: 16.11.2011
Сообщений: 5,840
13.02.2020, 21:31 36
Цитата Сообщение от nonym4uk Посмотреть сообщение
Не понял принципа, почему в редакторе не должно быть нулей, если TRIM сбрасывает состояние ячеек.
Если нулей не было, то и не будет... А было, то, что было до тримминга. Не на что смотреть...

Всё дело в том, что мы можем посмотреть на SSD только с одной с одной стороны стены на тени, и не можем посмотреть с другой на ячейки, страницы и блоки NAND памяти..

Но тени на стене мы видим, общаясь с контроллером при помощи этой самой ATA команды IDENTIFY DEVICE.
А со стороны стены мы видим привычные LBA адреса, что и у харда, а размеры страниц внутри больше. Если прсто смотреть со стороны стены, то неинтересно и до и после тримминга будет одно и тоже… А вот по теням можно определить стирание другой станицы, что за стеной… Во Вадим Пантелеев и придумал и реализовал как "заглянуть" в этот чёрный ящик...

Короче стирать надо --- это посылка через драйвер Windows заказа на TRIM.

Прочитайте статью Жизнь после Trim: как восстановить удалённые данные с накопителей SSD
Грамотно ни доступно ВСЁ расписали ребята из БелкаСофт.
1
1660 / 979 / 97
Регистрация: 23.01.2017
Сообщений: 3,807
14.02.2020, 01:39 37
Tau_0, Cкачал эту утилитку HDD Identify Drive. Скриншоты
SSD и TRIM
SSD и TRIM

По ссылке выше не очень понял, не врубился пока
Кликните здесь для просмотра всего текста
Современный SSD может работать только в одном из трёх режимов:
Non-deterministic Trim: неопределённое состояние. Контроллер может вернуть фактические данные, нули или что-то ещё, причём результат может различаться между попытками (SATA Word 169 bit 0). В настоящее время почти не встречается, хотя безымянные китайские накопители могут удивить.
Deterministic Trim (DRAT): контроллер гарантированно возвращает одно и то же значение (чаще всего, но не обязательно нули) для всех ячеек после команды Trim (SATA Word 69 bit 14). Самый распространённый вариант.
Deterministic Read Zero after Trim (DZAT): гарантированное возвращение нулей после Trim (SATA Word 69 bit 5). Часто встречается в дисках, предназначенных для работы в составе RAID массивов.
Определить, к какому типу относится конкретная модель SSD, можно при помощи команды hdparm –I.
...

Получается по информации HDD Identify Drive и из таблички выше, у меня не работает TRIM?
Правильно ли понимаю?

Кстати, какую-то информацию выдает и Intel Toolbox
SSD и TRIM
0
1660 / 979 / 97
Регистрация: 23.01.2017
Сообщений: 3,807
14.02.2020, 02:02 38
И вот как интерпретируют обе проги по-разному
SSD и TRIM
SSD и TRIM

HDD Identify Drive не кажет ничего после Word 255, Intel Toolbox - дополнительно разные цифры, НО не кажет Word 69 и 169
0
1660 / 979 / 97
Регистрация: 23.01.2017
Сообщений: 3,807
14.02.2020, 02:48 39
all1605, Не покажете, что у вас кажет HDD Identify Drive на этих же пунктах?
Интересно для м2 NVMe сравнить, который с правильными драйверами.
0
X-Factor
Эксперт Hardware
3177 / 2107 / 184
Регистрация: 16.11.2011
Сообщений: 5,840
14.02.2020, 05:27 40
Цитата Сообщение от nonym4uk Посмотреть сообщение
all1605, Не покажете, что у вас кажет HDD Identify Drive на этих же пунктах?
Да там проще простого.
1. В HDD Identify Drive смотрите два слова --- WORD 69 и WORD 169. И читаете их.
2. Открываете PDF документ типа ATA/ATAPI Command Set - 2 (ACS-2). И быстро по ключам ищите описание команд.
Ссылки на имена есть в описании к HDD Identify Drive. Одни выпуски (их в сети как грязи...) могут давать более подробное описание стандарта, а другие менее.
Мне хватило того, что на картинке в свобной таблице. Но Вам для начала полезно и поподробнее почитать.

См. Картинки

УЗЫ У меня с SSD ВСЁ хорошо. Но вот не хочет гадёныш работать из-под Windows 7 на FAT32.
И trimcheck после долгой борьбы выдаёт INDETERMINATE. Но и NOT WORKING тоже не выдаёт...
Так и осталась неопределённость.

ЗЫ Хотя и FAT32 мне сто лет не нужен. --- Обидно, что у all1605 на десятке на PCIe FAT32 работает, а у меня на не хочет. Поэтому попробую заставить. Да и другое тоже интересно.
Миниатюры
SSD и TRIM   SSD и TRIM   SSD и TRIM  

1
14.02.2020, 05:27
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.02.2020, 05:27
Помогаю со студенческими работами здесь

Скорость установки игры с HDD на SSD, и с SSD на тот же SSD
Я собрался сыграть в пиратку Middle-earth Shadow of War, а она весит 109 гигов. Вопрос: Насколько...

TRIM()
void __fastcall TFORM_REDAKTOR2::Button3Click(TObject *Sender) { char *zametky; ...

Trim
Подскажите, пожалуйста, как сделать что б при в воде в TextBox один и тот же текст , в дном поле...

Не работает Trim
string rd_info = File.ReadAllLines(&quot;1.txt&quot;); for (int i = 0; i...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru