Kako rade SSD-ovi?

Ovdje u 2007es.comu često smo raspravljali o razlici između različitih tipova NAND struktura - vertikalni NAND nasuprot ravninske ili višerazinske ćelije (MLC) nasuprotstanice na tri razine(TLC) i četverokatne stanice (QLC). Sada, razgovarajmo o osnovnijem relevantnom pitanju: Kako uopće rade SSD-ovi i kako se uspoređuju s novijim tehnologijama, poput Intelove nehlapljive tehnologije za pohranu, Optane?

Da bih razumio kako i zašto SSD-ovi razlikuju se od vrtljivih diskova, moramo malo razgovarati o tvrdim diskovima. Tvrdi disk pohranjuje podatke o nizu vrtljivih magnetskih diskova koji se nazivaju pladnjevi. Postoji pokretačka ruka s pričvršćenim glavama za čitanje / pisanje. Ovaj krak postavlja glave za čitanje i pisanje preko ispravnog područja pogona za čitanje ili pisanje podataka.



Budući da se glave pogona moraju poravnati na području diska da bi mogle čitati ili pisati podatke, a disk se neprestano okreće, prije početka pristupa podacima može doći do kašnjenja. Pogon će možda trebati čitati s više mjesta kako bi pokrenuo program ili učitao datoteku, što znači da će možda morati čekati da se pladnjevi vrate u pravi položaj više puta prije nego što može izvršiti naredbu. Ako pogon spava ili je u stanju male potrošnje, može potrajati i nekoliko sekundi da se disk okrene do pune snage i počne raditi.



Od samog početka bilo je jasno da tvrdi diskovi nikako ne mogu odgovarati brzini kojom CPU mogu raditi. Kašnjenje na HDD-ima mjeri se u milisekundama, u usporedbi s nanosekundama za vaš tipični CPU. Jedna milisekunda iznosi 1.000.000 nanosekundi, a tvrdom disku obično treba 10-15 milisekundi da pronađe podatke na disku i počne ih čitati. Industrija tvrdih diskova predstavila je manje ploče, memorijske predmemorije na disku i brže brzine vretena kako bi se suprotstavila ovom trendu, ali postoje samo tako brzi diskovi. Obitelj VelociRaptor tvrtke Western Digital s 10.000 okretaja u minuti najbrži je skup pogona ikad napravljenih za potrošačko tržište, dok su se neki pogoni tvrtke okretali i do 15.000 o / min. Problem je u tome što su čak i najbrži vrtljivi pogoni s najvećim predmemorijama i najmanjim pločama i dalje bolno spori što se tiče vašeg CPU-a.

Po čemu se SSD-ovi razlikuju

'Da sam pitao ljude što žele, rekli bi brže konje.' - Henry Ford



SSD pogoni nazivaju se tako posebno jer se ne oslanjaju na pokretne dijelove ili predenje diskova. Umjesto toga, podaci se spremaju u skup NAND bljeskalica. Sam NAND sastoji se od onoga što se naziva tranzistori s plutajućim vratima. Za razliku od dizajna tranzistora koji se koriste u DRAM-u, a koji se moraju osvježavati više puta u sekundi, NAND bljeskalica dizajnirana je da zadrži svoje stanje napunjenosti čak i kad nije uključena. To NAND čini vrstom trajne memorije.

Struktura flash stanica

Slika Cyferz na Wikipediji, Creative Commons Pripisivanje-Dijeli pod istim uvjetima 3.0.

Gornji dijagram prikazuje jednostavan dizajn flash stanica. Elektroni se pohranjuju u plutajuću kapiju koja tada glasi kao napunjena '0' ili nenapunjena '1'. Da, u NAND bljeskalici 0 znači da su podaci pohranjeni u ćeliji - suprotno je onome kako obično mislimo na nulu ili jedan. NAND bljesak organiziran je u mreži. Cjelokupni raspored mreže naziva se blokom, dok se pojedinačni retci koji čine mrežu nazivaju stranicom. Uobičajene veličine stranica su 2K, 4K, 8K ili 16K, sa 128 do 256 stranica po bloku. Stoga veličina bloka obično varira između 256 KB i 4 MB.



Jedna prednost ovog sustava trebala bi biti odmah očita. Budući da SSD-ovi nemaju pokretne dijelove, mogu raditi brzinama daleko iznad brzina tipičnog HDD-a. Sljedeća tablica prikazuje kašnjenje pristupa za tipične medije za pohranu dano u mikrosekundama.

SSD-latencija

Slika: CodeCapsule

NAND nije ni približno brz kao glavna memorija, ali je višestruki redoslijed brži od tvrdog diska. Iako su latencije pisanja za NAND bljesak znatno sporije od latencija čitanja, i dalje nadmašuju tradicionalne medije za okretanje.

Dvije su stvari koje treba primijetiti u gornjoj tablici. Prvo, imajte na umu kako dodavanje više bitova po ćeliji NAND-a ima značajan utjecaj na performanse memorije. Lošije je za upisivanje, za razliku od čitanja - tipična latencija trorazinske ćelije (TLC) učetvero je lošija u usporedbi s jednorazinskim NAND ćelijama (SLC) za čitanja, ali 6 puta gora za upise. Kašnjenja u brisanju također su značajno pogođena. Ni utjecaj nije proporcionalan - TLC NAND gotovo je dvostruko sporiji od MLC NAND-a, unatoč tome što drži samo 50% više podataka (tri bita po ćeliji, umjesto dva). To vrijedi i za QLC pogone koji pohranjuju još više bitova na različitim naponskim razinama unutar iste ćelije.

Razlog zašto je TLC NAND sporiji od MLC-a ili SLC-a ima veze s načinom na koji se podaci kreću i odlaze iz NAND ćelije. S SLC NAND-om kontroler treba znati je li bit 0 ili 1. S MLC NAND-om ćelija može imati četiri vrijednosti - 00, 01, 10 ili 11. S TLC NAND-om ćelija može imati osam vrijednosti , a QLC ima 16. Čitanje ispravne vrijednosti iz ćelije zahtijeva da memorijski kontroler koristi precizan napon kako bi utvrdio je li neka određena ćelija napunjena.

Čita, piše i briše

Jedno od funkcionalnih ograničenja SSD-ova je dok oni mogu vrlo brzo čitati i pisati podatke na prazan pogon, prepisivanje podataka je puno sporije. To je zato što dok SSD-ovi čitaju podatke na razini stranice (što znači iz pojedinačnih redaka unutar mreže NAND memorije) i mogu pisati na razini stranice, pod pretpostavkom da su okolne ćelije prazne, oni mogu izbrisati podatke samo na razini bloka. To je zato što čin brisanja NAND bljeskalice zahtijeva veliku količinu napona. Iako teoretski možete izbrisati NAND na razini stranice, potrebna količina napona naglašava pojedinačne stanice oko stanica koje se prepisuju. Brisanje podataka na razini bloka pomaže u ublažavanju ovog problema.

Jedini način na koji SSD može ažurirati postojeću stranicu je kopiranje sadržaja cijelog bloka u memoriju, brisanje bloka i pisanje sadržaja starog bloka + ažurirane stranice. Ako je pogon pun i nema praznih stranica, SSD prvo mora potražiti blokove koji su označeni za brisanje, ali koji još nisu izbrisani, izbrisati ih, a zatim zapisati podatke na sada izbrisanu stranicu. Zbog toga SSD-ovi mogu postajati sporiji kako stare - uglavnom prazan pogon pun je blokova koji se mogu odmah napisati, vjerojatnije je da će uglavnom-pun pogon biti prisiljen kroz čitav niz programa / brisanja.

Ako ste koristili SSD-ove, vjerojatno ste čuli za nešto što se naziva 'odvoz smeća'. Skupljanje smeća je pozadinski postupak koji omogućuje pogonu da ublaži utjecaj izvedbe programa / brisanja ciklusa izvođenjem određenih zadataka u pozadini. Sljedeća slika prolazi kroz postupak odvoza smeća.

Kolekcija smeća

Slika ljubaznošću Wikipedije

Imajte na umu u ovom primjeru, pogon je iskoristio činjenicu da može vrlo brzo pisati na prazne stranice ispisujući nove vrijednosti za prva četiri bloka (A’-D ’). Također su napisana dva nova bloka, E i H. Blokovi A-D sada su označeni kao zastarjeli, što znači da sadrže informacije koje je pogon označio kao zastarjele. Tijekom praznog hoda SSD će premjestiti svježe stranice u novi blok, izbrisati stari blok i označiti ga kao slobodan prostor. To znači da sljedeći put kada SSD treba izvršiti upis, može pisati izravno u sada prazan Block X, umjesto da izvodi ciklus programiranja / brisanja.

Sljedeći koncept o kojem želim razgovarati je TRIM. Kad na uobičajenom tvrdom disku izbrišete datoteku iz sustava Windows, datoteka se neće izbrisati odmah. Umjesto toga, operativni sustav tvrdi tvrdi disk može prebrisati fizičko područje diska na kojem su ti podaci pohranjeni sljedeći put kad treba izvršiti upis. Zbog toga je moguće vratiti datoteke iz brisanja (i zašto brisanje datoteka u sustavu Windows obično ne uklanja puno fizičkog prostora na disku dok ne ispraznite kantu za recikliranje). S tradicionalnim HDD-om, OS ne treba obraćati pažnju na to gdje se zapisuju podaci ili kakvo je relativno stanje blokova ili stranica. Sa SSD-om je ovo važno.

Naredba TRIM omogućuje operativnom sustavu da SSD-u kaže da može preskočiti prepisivanje određenih podataka sljedeći put kada izvrši brisanje bloka. To smanjuje ukupnu količinu podataka koje pogon zapisuje i povećava dugovječnost SSD-a. I čitanje i pisanje oštećuje NAND flash, ali upisivanje nanosi mnogo veću štetu od čitanja. Srećom, dugovječnost na razini bloka nije se pokazala problemom u modernom NAND bljeskalici. Više podataka o SSD dugovječnost, ljubaznošću Tehničkog izvještaja, možete pronaći ovdje.

Posljednja dva koncepta o kojima želimo razgovarati su izravnavanje trošenja i pojačanje zapisa. Budući da SSD-ovi zapisuju podatke na stranice, ali ih brišu u blokovima, količina podataka koja se zapisuje na pogon uvijek je veća od stvarnog ažuriranja. Ako, na primjer, napravite promjenu u 4KB datoteci, cijeli blok u kojem se nalazi 4K datoteka mora se ažurirati i ponovo napisati. Ovisno o broju stranica u bloku i veličini stranica, možda ćete na kraju upisati podatke vrijedne 4 MB za ažuriranje datoteke od 4 KB. Skupljanje smeća smanjuje utjecaj pojačavanja pisanja, kao i naredba TRIM. Ako značajan dio pogona ostane slobodan i / ili proizvođač prekomjerno osigurava, također se može smanjiti utjecaj pojačanja pri upisivanju.

Izravnavanje odjeće odnosi se na praksu osiguravanja da se neki NAND blokovi ne zapisuju i ne brišu češće od ostalih. Iako izravnavanje istrošenosti povećava očekivani životni vijek i izdržljivost pogona podjednakim pisanjem u NAND, zapravo može povećati pojačanje upisa. Da biste ravnomjerno distribuirali zapise po disku, ponekad je potrebno programirati i izbrisati blokove iako se njihov sadržaj zapravo nije promijenio. Dobar algoritam za izravnavanje trošenja nastoji uravnotežiti te utjecaje.

SSD kontroler

Do sada bi trebalo biti očito da SSD-ovi zahtijevaju mnogo sofisticiranije upravljačke mehanizme od tvrdih diskova. To se ne odnosi na magnetske medije - zapravo mislim da HDD zaslužuju više poštovanja nego što im se ukazuje. Mehanički izazovi uključeni u balansiranju više nanometra glava za čitanje i pisanje iznad ploča koje se vrte od 5.400 do 10.000 o / min nisu za kihanje. Činjenica da HDD-ovi izvode ovaj izazov dok pioniruju nove metode snimanja na magnetske medije i na kraju završavaju prodajom pogona po 3-5 centi po gigabajtu jednostavno je nevjerojatna.

SSD kontroler

Tipični SSD kontroler

SSD kontrolerimeđutim, sami su u razredu. Često imaju memoriju DDR3 ili DDR4 memorije za pomoć u upravljanju samim NAND-om. Mnogi pogoni također uključuju jednorazinske predmemorije stanica koje djeluju kao međuspremnici, povećavajući performanse pogona posvećujući brzi NAND ciklusima čitanja / pisanja. Budući da je NAND bljeskalica u SSD-u tipično povezana s kontrolerom kroz niz paralelnih memorijskih kanala, možete smatrati da upravljački pogon obavlja neki isti posao uravnoteženja opterećenja kao vrhunski prostor za pohranu - SSD-ovi ne implementirajte RAID interno, ali izravnavanje trošenja, odvoz smeća i upravljanje predmemorijom SLC imaju paralele u velikom svijetu željeza.

Neki pogoni također koriste algoritme kompresije podataka kako bi smanjili ukupan broj upisa i poboljšali životni vijek pogona. SSD kontroler rukuje ispravljanjem pogrešaka, a algoritmi koji kontroliraju jednobitne pogreške postaju sve složeniji kako vrijeme prolazi.

Nažalost, ne možemo ulaziti u previše detalja o SSD kontrolerima jer tvrtke zaključavaju svoje razne tajne umake. Mnogo performansi NAND bljeskalice određuje osnovni kontroler, a tvrtke nisu spremne previše podizati poklopac kako rade ono što rade, da ne bi konkurentu dale prednost.

Sučelja

U početku su SSD-ovi koristili SATA priključke, baš kao i tvrdi diskovi. Posljednjih godina vidjeli smo prelazak na M.2 pogone - vrlo tanke diskove, dugačke nekoliko centimetara, koji se udubljuju izravno u matičnu ploču (ili, u nekoliko slučajeva, u montažni nosač na PCIe riser kartici. Samsung Pogon 970 EVO Plus prikazan je dolje.


NVMe pogoni nude bolje performanse od tradicionalnih SATA upravljačkih programa jer podržavaju brže sučelje. Uobičajeni SSD-ovi pričvršćeni preko SATA-e dosežu brzinu od ~ 550 MB / s u smislu praktične brzine čitanja / pisanja. M.2 pogoni sposobni su za znatno brže performanse u rasponu od 3,2 GB / s.

Put naprijed

NAND bljeskalica nudi ogroman napredak u odnosu na tvrde diskove, ali nije bez vlastitih nedostataka i izazova. Očekuje se da će pogonski kapaciteti i cijena po gigabajtu i dalje rasti, odnosno padati, ali male su šanse da će SSD-ovi uhvatiti tvrde diskove po cijeni po gigabajtu. Skupljanje procesnih čvorova značajan je izazov za NAND flash - dok se većina hardvera poboljšava kako se čvor smanjuje, NAND postaje krhkiji. Vrijeme zadržavanja podataka i performanse pisanja suštinski su niži za 20nm NAND od 40nm NAND, čak i ako su gustoća podataka i ukupni kapacitet znatno poboljšani. Do sada smo vidjeli pogone s do 96 slojeva na tržištu, a 128 slojeva čini se vjerojatnim u ovom trenutku. Sve u svemu, prelazak na 3D NAND pomogao je poboljšati gustoću bez smanjivanja procesnih čvorova ili oslanjanja na ravninsko skaliranje.

Do sada su proizvođači SSD-ova postigli bolje performanse nudeći brže standarde podataka, veću širinu pojasa i više kanala po kontroleru - plus upotrebu SLC predmemorije koju smo ranije spomenuli. Unatoč tome, dugoročno se pretpostavlja da će NAND biti zamijenjen nečim drugim.

Kako će izgledati nešto drugo, još uvijek je otvoreno za raspravu. Oba magnetski RAM i pamćenje promjene faze su se predstavili kao kandidati, iako su obje tehnologije još uvijek u ranoj fazi i moraju prevladati značajne izazove da bi se zapravo natjecale kao zamjena za NAND. Hoće li potrošači primijetiti razliku, otvoreno je pitanje. Ako ste nadogradili s NAND-a na SSD, a zatim nadogradili na brži SSD, vjerojatno znate da je jaz između HDD-a i SSD-a mnogo veći od jaza između SSD-a i SSD-a, čak i prilikom nadogradnje s relativno skromnog pogona. Poboljšanje vremena pristupa s milisekundi na mikrosekundu ima veliko značenje, ali njihovo poboljšanje s mikrosekundi na nanosekunde može pasti ispod onoga što ljudi u većini slučajeva zaista mogu percipirati.

Intelov 3D XPoint (koji se prodaje kao Intel Optane) pojavio se kao jedan od potencijalnih izazivača NAND bljeskalice i jedina trenutna alternativna tehnologija u glavnoj proizvodnji. Optane SSD-ovi ne koriste NAND - izrađeni su od neisparljive memorije za koju se vjeruje da je implementirana slično RAM-u s faznom promjenom - ali nude slične sekvencijalne performanse kao i trenutni NAND flash pogoni, ali sa znatno boljim performansama u malim redovima pogona. Kašnjenje pogona također je otprilike polovica NAND bljeskalice (10 mikrosekundi, naspram 20) i znatno veća izdržljivost (30 punih zapisa dnevno, u usporedbi s 10 dnevnih upisa dnevno, za vrhunski Intel SSD).

Optane1

Ciljevi performansi Intel Optanea

Optane je sada dostupan u širokom rasponu formata, uključujući kartice za proširenje poslužitelja, osobne SSD-ove i kao dodatna predmemorija za ubrzanje konvencionalnog tvrdog diska. Intel je također forsirao Optane kao oblik izravno spojena memorija s daleko više ukupno dostupnih kapaciteta od DRAM-a, po cijenu većih kašnjenja u pristupu.

Pogledajte našu seriju 2007es.com Explains za detaljnije izvještavanje o najnovijim tehnološkim temama današnjice.

Copyright © Sva Prava Pridržana | 2007es.com