SGdata napisał: Po co jest TRIM? Zapewne chodzi o nasze bezpieczeństwo
- nie spotkałem się z dopinaniem do TRIMu ideologii związanej z bezpieczeństwem.
SGdata napisał: szyfrowanie sprzętowe. Wg. mnie zbędne,
- z punktu widzenia bezpieczeństwa - na ogół tak. Większość szyfrowanych nośników nie jest w żaden sposób zabezpieczona i odszyfruje Ci dane za samo tylko podłączenie do prądu...ale szyfrowanie bardzo dobrze randomizuje dane, a to już jest wygodne dla ograniczania liczby błędów bitowych. Coraz bardziej złożone szablony randomizacji, a w końcu randomizacja dynamiczna wzięły się z walki z niekorzystnymi zjawiskami indukcyjnymi w sytuacji, kiedy tranzystory przechowują zbyt jednorodne dane. Tylko, że w marketingu o wiele lepiej wygląda implementacja szyfrowania ze względów bezpieczeństwa danych, niż po prostu dla randomizacji. Tym bardziej, że wśród użytkowników komputerów trudno spotkać kogoś, kto miałby choćby elementarną wiedzę o kodowaniu danych, przetwarzaniu sygnałów, czy fizyce przechowywania informacji. Nawet wśród serwisów ryzykowne byłoby stwierdzenie, że ta wiedza jest znana w wystarczającym stopniu.
SGdata napisał: Po tygodniu, po NAND odzyskasz większość danych.
- zrób to w kontrolowanych warunkach, kiedy upewnisz się co do poprawnego działania funkcji TRIM, bo w przypadku kart pamięci nie zawsze jest ona niezawodna, a w przypadku czytników USB często to właśnie one powodują, że TRIM nie zadziała, nawet, jak jest obsługiwany. Też miałem takie sytuacje, że próbowałem wylutowywać układy i nieraz było tak, że >80% bloków, to same FF.
SGdata napisał: Gdyby tak nie było, ACE nie wrzuciłby możliwości pracy z translatorami w NVMe
- od kiedy mamy możliwość pracy z translatorami? Z tego, co pamiętam, to od ponad dekady, tylko cicho było, bo większość ludzi myślała, że to tylko dla odbudowy translatora, jak się wysypie, a że na sprawnym dysku można wejść w safe-mode, zablokować procesy w tle i przeszukać adresację fizyczną, to już trzeba było mieć na to pomysł. Teraz się zrobiło głośno, to już pomysłu nie trzeba mieć.
SGdata napisał: ogłaszające tego rewolucyjnym rozwiązaniem
- marketing. Apple rewolucyjnym rozwiązaniem ogłasza zaokrąglenie narożników telefonu. Marketing polega na używaniu wielkich słów w odniesieniu do małych rzeczy. Gdzie nie chcę deprecjonować osiągnięć cioci Asi, ale też obaj dobrze wiemy, że nie jest tak różowo, jak w ich folderach reklamowych.
SGdata napisał: może czasem zadziała
- jeśli zrobisz to dostatecznie szybko - tak, możesz mieć sporą skuteczność, Ale mało prawdopodobne, że stuprocentową.
SGdata napisał: wyrówna zużycie to co innego
- dla ścisłości - są to zupełnie inne algorytmy, jakie działają w tle nawet wtedy, kiedy wyłączysz obsługę funkcji TRIM. Zwłaszcza rośnie rola zbierania śmieci, bo bez tego mogłoby się okazać, że masz kupę bloków zawierających po kilka - kilkanaście aktualnych stron, przez co nie możesz tych bloków skasować i nagle kończą Ci się wolne bloki, co uniemożliwia Ci zapis. Im mniej masz wolnych bloków, tym ważniejsze skuteczne zbieranie śmieci. To też zużywa układy, ale jest konieczne dla zabezpieczenia poprawnej pracy nośnika.
SGdata napisał: fizyczny TRIM dalej zużywa pamięci
- ale mniej, niż gdyby go nie było. Kasować pamięci i tak musisz. Tak wygląda cykl zapisu danych w nośnikach półprzewodnikowych. Zapisz nowe dane w nowym fizycznym miejscu (pustym, skasowanym bloku poza adresacją LBA), przeadresuj w translatorze adresy ze starego bloku na nowy (przenieś numery LBA na nowy blok, wywalając blok zawierający przestarzałe dane z adresacji LBA) i skasuj blok z przestarzałymi danymi, przygotowując go na przyjecie nowych danych. Sprawa się trochę komplikuje, kiedy blok zawiera zarówno strony aktualne, jak i przestarzałe, Aktualne strony nie pozwalają skasować bloku i liczba wolnych bloków spada. Tu wchodzi śmieciarz przenoszący aktualne strony z bloków, gdzie jest dużo stron przestarzałych, do innych bloków. I tu też wchodzi TRIM pozwalając kasować bloki ze stronami zawierającymi aktualną zawartość sektorów (nie zmieniasz jej przy kasowaniu na poziomie struktur logicznych - zmieniasz tylko wpisy w metadanych), ale niezaalokowanymi w strukturach logicznych systemów plików bez przenoszenia tych stron do innych bloków (ograniczasz zużycie zmniejszając liczbę wymaganych zapisów),
SGdata napisał: przy zapełnionym w 60% dysku żywotność by szybko spadała.
- a teraz pomyśl, dlaczego stopień zapełnienia dysku ma wpływ na tempo spadku żywotności? Dlaczego dyski bardziej zapełnione pracują wolniej, ale za to zużywają się szybciej? Czy to nie dlatego, że przerzucają więcej danych, niż dyski zapełnione w mniejszym stopniu? A to własnie dlatego, że dzięki TRIMowi SSDki nie muszą przerzucać danych zawartych w sektorach niezaalokowanych w strukturach logicznych jako części plików. Czytając w hex-edytorze te sektory dostaniesz same zera, szukając tych bloków na programatorze - dostaniesz FF. Porównaj pracę dwóch dysków przy różnym stopniu zapełnienia jeden przy włączonej funkcji TRIM, drugi - przy wyłączonej.
SGdata napisał: chętnie zobaczę jakieś dowody na działanie trim fizycznie na komórkach pamięci/sektorach.
- to sam poeksperymentuj. Sprzęt przecież masz. Zawartość o wysokiej entropii = jakaś treść. Zawartość +/- ustrukturyzowana = prawdopodobny szablon XOR nałożony na jednorodne dane, najczęściej 00. Będziesz spotykał takie rzeczy, bo nie każde 00, to wolna przestrzeń. W strukturach logicznych często spotkasz duże, wyzerowane obszary, ale one będą zapisywane i odczytywane fizycznie nawet przy włączonej obsłudze TRIMu, bo są zaalokowane w strukturze logicznej i coś znaczą. FF=wolny blok. Jeśli masz mniej zajętych bloków, niż wynikałoby to z pojemności SSDka w adresacji LBA = nie przechowuje on fizycznie wszystkiego, co pokazuje logicznie. I tu już masz dowód na to, że TRIM pozwala kasować bloki zawierające dane niezaalokowane logicznie. Jak chcesz - możesz bawić się dalej badając, jak wiele wolnych bloków będziesz miał na dysku całkiem pustym (sformatowanym) i jak szybko wolnych bloków będzie przybywało, kiedy logicznie skasujesz dużą objętość danych. I porównaj to sobie z próbą kontrolną - dyskami pracującymi pod kontrolą systemu, gdzie wyłączysz obsługę funkcji TRIM.