eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.pecetDysk SSD ile procent zapasuRe: Dysk SSD ile procent zapasu
  • Path: news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!news.cyf-kr.edu.pl!news.nask
    .pl!news.nask.org.pl!news.unit0.net!usenet.blueworldhosting.com!feeder01.bluewo
    rldhosting.com!peer03.iad.highwinds-media.com!news.highwinds-media.com!feed-me.
    highwinds-media.com!nx02.iad01.newshosting.com!newshosting.com!newsfeed.neostra
    da.pl!unt-exc-02.news.neostrada.pl!unt-spo-b-01.news.neostrada.pl!news.neostrad
    a.pl.POSTED!not-for-mail
    From: Olaf Frikiov Skiorvensen <B...@i...invalid>
    Newsgroups: pl.comp.pecet
    Subject: Re: Dysk SSD ile procent zapasu
    Date: Thu, 10 Apr 2014 23:53:08 +0200
    Organization: PZWMDK
    Message-ID: <a...@4...com>
    References: <li0449$356$1@node2.news.atman.pl>
    <u...@4...com>
    <53467bd9$0$9313$c3e8da3$634c5816@news.astraweb.com>
    <li64ou$isf$1@speranza.aioe.org> <li6f0g$v1s$1@usenet.news.interia.pl>
    X-Newsreader: Forte Agent 4.2/32.1118
    MIME-Version: 1.0
    Content-Type: text/plain; charset=ISO-8859-2
    Content-Transfer-Encoding: 8bit
    Lines: 73
    NNTP-Posting-Host: 79.187.134.189
    X-Trace: 1397166829 unt-rea-b-01.news.neostrada.pl 2243 79.187.134.189:3456
    X-Complaints-To: a...@n...neostrada.pl
    X-Received-Bytes: 4924
    X-Received-Body-CRC: 3931198583
    Xref: news-archive.icm.edu.pl pl.comp.pecet:1234985
    [ ukryj nagłówki ]

    Wcale nie przypadkiem, dnia Thu, 10 Apr 2014 17:57:03 +0200
    doszła do mnie wiadomość <li6f0g$v1s$1@usenet.news.interia.pl>
    od Adam <a...@p...onet.pl> :
    >W dniu 2014-04-10 15:02, Latet pisze:
    >>> Czy można na chłopski rozum wyjaśnić skąd taka różnica w wydajności?
    >>> Wtedy taki dysk gdzie partycja zajęła 75% (czyli 25% pozostawione
    >>> wolne, nieprzydzielone z całkowitej pojemności dysku?) robi sobie
    >>> "coś" poza tymi 75% czego by nie mógł zrobić gdyby partycja zajęła
    >>> 100% pojemności dysku SSD?
    >>
    >> Tak, dokładnie tak.
    >> (...)
    >>
    >
    >Czyli, że dyski SSD mają "pływającą partycję"?
    >Mówię o sytuacji, gdy partycja/partycje nie obejmują całego obszaru SSD.
    >
    >Bo w mechanicznych HDD partycja (o ile jest, bo w linuksach nie musi
    >być), to jest dokładnie zaadresowana.

    Pływającej partycji nie ma, ale są "pływające zapisy", zwie się to
    wear leveling i jest dokładnie opisane w sieci:

    http://en.wikipedia.org/wiki/Wear_leveling
    http://en.wikipedia.org/wiki/Write_amplification

    Mocno upraszczając, w przypadku dysku magnetycznego możliwe są
    cykliczne zapisy do tego samego sektora fizycznego, natomiast w
    przypadku dysku SSD, który ma ograniczoną dopuszczalną ilość zapisów
    do komórki flash(w niektórych wypadkach nawet <1000), każdy zapis
    kierowany jest do komórki, która ma najmniej zapisów "na liczniku" i
    jest gotowa do zapisu(była wcześniej wykasowana).
    Dysk SSD posiada tablicę, w której trzyma adresy LBA i odpowiadające
    im fizyczne adresy komórek flash(strony), która to tablica
    uaktualniana jest po każdym zapisie, tablica zawiera numery LBA i
    odpowiadające im fizyczne numery stron w pamięci flash.
    Przykładowo i łopatologicznie, system chce zapisać dane do LBA 1000 i
    wysyła je do dysku SSD, dysk SSD sprawdza gdzie fizycznie w pamięci
    flash znajduje się wolna komórka(strona) z najmniejszą wartością
    licznika zapisów, znajduje ją(przykładowo) pod swoim wewnętrznym
    adresem 4000, zapisuje w niej dane i uaktualnia tabelę translacji tak,
    że LBA 1000 wskazuje w niej na wewnętrzny adres 4000. Każda próba
    odczytu z LBA 1000 spowoduje, że dysk sprawdzi w tabeli translacji
    jaki numer komórki(strony) jest przypisany do LBA 1000 i wyśle
    systemowi zawartość strony 4000(lba 1000 --> strona 4000).
    Jeśli system chce ponownie coś zapisać w LBA 1000 i wyśle dane do
    zapisania dyskowi SSD, to dysk najpierw sprawdzi tabele translacji i
    znajdzie w niej, że dane lba 1000 znajdują się w komórce(stronie)
    4000, teraz dysk szuka innej, gotowej do zapisu komórki(strony)o
    najmniejszej ilości zapisów, znajdzie ją, przykładowo, pod adresem
    40000, zapisuje w niej dane i uaktualnia tabelę translacji(zmienia
    przypisanie "lba 1000 --> strona 4000" na "lba 1000 --> strona 40000"
    a stronę 4000 oznacza jako zwolnioną, listę zwolnionych stron
    przegląda co pewien czas garbage collector starając się je kasować i
    oznaczać jako gotowe do zapisu.
    Garbage collector nie może kasować pojedynczych stron, lecz całe bloki
    składające się z kilkudziesięciu czy nawet z kilkuset stron(to jest
    ograniczenie wynikające z budowy pamięci flash), wiec czeka, aż
    zostanie zwolniony cały blok(tu bardzo pomaga TRIM), i dopiero wtedy
    go kasuje. Między innymi z tego względu na dysku SSD powinien być
    zawsze pewien zapasowy obszar(over-provisioning), im jest go wiecej,
    tym lepiej, jest to gwarancja, że zawsze znajdzie się jakaś wolna
    strona do zapisu(czasem warto spartycjonować tylko część dysku, na
    przykład 75% czy mawet 50%, wolne, nie spartycjonowane miejsce będzie
    pełniło rolę dodatkowej przestrzeni na over-provisioning, oczywiście
    pod warunkiem, że jest strimowane czyli dla dysku jest wolne, gotowe
    do zapisu). W razie braku miejsza na partycji roboczej zawsze można ją
    powiększyć za pomocą Gparted.
    Tak, mocno łopatologizując, wygląda wear leveling.
    --
    Gdyby się wysadziło ich planety, zburzyło miasta,
    spaliło księgi, a ich samych wytłukło do nogi,
    może udałoby się ocalić naukę miłości bliźniego. SL.

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: