Lista pecet@man.lodz.pl
[Lista archiwów] [Inne Listy]

Re: [PECET] SSD, smart, wear leveling i inne bzdury... co jest grane?

To: pecet@man.lodz.pl
Subject: Re: [PECET] SSD, smart, wear leveling i inne bzdury... co jest grane?
From: ansajawruk@polbox.com
Date: Wed, 16 Feb 2022 00:20:19 +0100
Wcale nie przypadkiem, dnia Tue, 15 Feb 2022 00:51:18 -0800 (PST) 
 doszła do mnie wiadomość
<865b0e04-2673-4fc3-ab5e-a9802830d023n@googlegroups.com> 
 od ptoki <sczygiel@gmail.com>  :
>poniedziałek, 14 lutego 2022 o 12:04:23 UTC-6 Roman Tyczka napisał(a):
/.../
>> Wydaje mi się, że tu brakuje jednej prostej rzeczy. Softwaru, który 
>> podobnie jak defragmentator HDD, raz na jakiś czas "zamiesza" blokami na 
>> dysku przerzucając je z miejsca obciążonego do miejsca mało 
>> użytkowanego. Taki soft pracowałby sobie w tle i by często dręczone 
>> bloki "zamieniał" z blokami od dawna nietykanymi, przezroczyście dla SO, 
>
>Nie jestem pewien, moze ansaj wie lepiej, jest szansa ze kontrolery to robia. 
>A moze nie. Ale idea niezla.

Wystarczy wejść do liku wikipedii, który podałem, tam jest
wyjaśnienie:

https://en.wikipedia.org/wiki/Wear_leveling

Static wear leveling

"The other type of wear leveling is called static wear leveling which
also uses a map to link the LBA to physical memory addresses. Static
wear leveling works the same as dynamic wear leveling except the
static blocks that do not change are periodically moved so that these
low usage cells are able to be used by other data. This rotational
effect enables an SSD to continue to operate until most of the blocks
are near their end of life."

No i tak jest, trudno tylko doprosić się o dokładną specyfikację dysku
od producenta.

Mamy jeszcze kilka innych funkcji, które taki SSD może mieć
zaimplementowane(w wielu odmianach), deduplikacja, kompresia, RAIN,
nawet zwykła funkcja TRIM też ma kilka podrodzajów, DZAT i DRAT.

sudo hdparm -I /dev/sda | grep -i trim
Data Set Management TRIM supported (limit 1 block)
* Deterministic read data after TRIM


Non-deterministic TRIM: each read command after a Trim may return
different data.
Deterministic Trim (DRAT): all read commands after a TRIM shall return
the same data, or become determinate. Note that this level of TRIM
does not necessarily return all-zeroes when trimmed pages are
accessed. Instead, DRAT guarantees that the data returned when
accessing a trimmed page will be the same (“determined”) before and
after the affected page has been processed by the garbage collection
algorithm and until the page is written new data. As a result, the
data returned by SSD drives supporting DRAT as opposed to DZAT can be
all zeroes or other words of data, or it could be the original
pre-trim data stored in that logical page. The essential point here is
that the values read from a trimmed logical page do not change since
the moment the TRIM command has been issued and before the moment new
data get written into that logical page.
Deterministic Read Zero after Trim (DZAT): all read commands after a
TRIM shall return zeroes until the page is written new data.

Oczywiście najlepiej jest, jak dysk ma DZAT, wtedy każdy odczyt
wytrimowanych danych da zera, w przypadku DRAT zwracane są stare dane
do momentu, w którym garbage collector fizycznie nie wyzeruje
wytrimowanego bloku(a kiedy to nastąpi, to uj wie).

Więc, generalnie, możemy mieć setki funkcjonalności w takim zwykłym
SSD.

I ciekawostki.
TRIM DRAT umożliwia odzysk skasowanych danych przez jakiś czas po ich
wytrimowaniu, DZAT nie, mimo tego, że dane mogą jeszcze wisieć w dysku
jakiś czas, aby je odzyskać, dysk trzeba wprowadzić w tryb serwisowy.

Windows 7 nie obsługuje TRIM na dyskach SSD w kieszeni USB mimo tego,
że hardware, czyli mostek USB i reszta obsługuje TRIM(TRIM na USB SSD
działa dopiero od W8 w górę), nie ma na to rady, trzeba bootować
jakiegoś Linuksa i wytrimować ręcznie.

Dyski talerzowe SMR obsługują TRIM.

/.../

-- 
Szwambuł Trantiputl
Inter stercus/faeces et urinam nascimur
Rodzimy się między łajnem i uryną

<Pop. w Wątku] Aktualny Wątek [Nast. w Wątku>