SSD дискове - как работят

Изглежда, че всички знаят предимствата на SSD пред традиционните твърди дискове (HDD): висока механична надеждност, без движещи се части, висока скорост на четене/запис, ниско тегло, по-ниска консумация на енергия. Но нека видим дали всичко е толкова добро, колкото изглежда?
SSD дискът се състои от дъска, която съдържа:
Твърди модули памет и Временен буфер (ох)
Основното нещо, което трябва да знаете за твърдотелните дискове, тъй като те вече са широко достъпни за масите:
Разглобяваме SSD
Какво е SSD диск ? Solid State Drive или Solid State Disk) SSD устройство, енергонезависимо, презаписваемо устройство за съхранение без движещи се механични части с помощта на флаш памет. SSD напълно емулира работата на твърдия диск.

Нека да видим какво има SSD вътре и да сравним с близката му относителна USB Flash.
Както можете да видите от снимката, няма толкова много разлики. По същество SSD устройството е същата голяма флашка. За разлика от флашките, SSD дисковете използват DDR DRAM кеш памет, поради спецификата на операцията и неколкократно увеличения обмен на данни между контролера и интерфейса SATA.
SSD контролер
Основната задача на контролера е да осигури операции за четене/запис и да управлява структурата за разпределение на данните. Въз основа на матрицата за разпределение на блокове, в които клетките вече са записани и които все още не са, контролерът трябва да оптимизира скоростта на запис и да осигури възможно най-дългия живот на SSD. Поради особеностите на изграждането на NAND-паметта е невъзможно да се работи с всяка клетка поотделно. Клетките се комбинират в 4 KB страници и информацията може да бъде записана само когато страницата е напълно заета. Можете да изтриете данни в блокове, които са равни на 512 KB. Всички тези ограничения налагат определени отговорности на правилния интелигентен алгоритъм на контролера. Следователно, правилно настроените и оптимизирани контролни алгоритми могат значително да увеличат производителността и издръжливостта на SSD.
Контролерът включва следните основни елементи:
В момента в SSD се използват следните модели контролери:
Indilinx "Бос ECO" IDX110MO1
Indilinx "Бос" IDX110M00
Intel PC29AS21BA0
JMicron JMF602
JMicron JMF612
Marvel 88SS9174-BJP2
Samsung S3C29RBB01-YK40
SandForce SF-1200
SandForce SF-1500
Toshiba T6UG1XBG
Флаш памет.
SSD дисковете, като USB флаш памети, използват 3 вида NAND памет:
SLC (едно ниво клетка)
MLC (многостепенна клетка)
TLC (клетка на три нива)
Единствената разлика е, че SLC ви позволява да съхранявате само един бит информация във всяка клетка, MLC - две и TLC - три клетки (използвайки различни нива на електрически заряд на плаващата порта на транзистора), което прави MLC и TLC памет по-евтини по отношение на капацитета.

Как работи SSD устройството
Но когато променяте/изтривате данни в SSD устройство, това не е толкова просто. Чиповете NAND флаш памет са оптимизирани за специфични за сектора операции. Флаш паметта се записва в блокове от 4 KB и се изтрива в блокове от 512 KB. Когато модифицира няколко байта вътре в блок, контролерът изпълнява следната последователност от действия:
- чете блока, съдържащ модифицирания блок, във вътрешния буфер/кеш;
- променя необходимите байтове;
- изтриване на блок в чип с флаш памет;
- изчислява новото местоположение на блока в съответствие с изискванията на алгоритъма за смесване;
- записва блока на ново място.
Но след като сте записали информацията, тя не може да бъде заменена, докато не бъде изчистена. Проблемът е, че минималният размер на записаната информация не може да бъде по-малък от 4 KB и данните могат да бъдат изтрити в поне 512 KB блока. За целта контролерът групира и прехвърля данни, за да освободи целия блок.
Тук идва оптимизацията на операционната система за работа с HDD. Когато изтрива файлове, операционната система не почиства физически сектори на диска, а само маркира файловете като изтрити и знае, че заетото от тях пространство може да се използва повторно. Това не пречи на работата на самото устройство и разработчиците на интерфейси не са се притеснявали по този въпрос преди. Въпреки че този метод за премахване помага за подобряване на производителността при работа с твърди дискове, тогава при използване на SSD дискове това се превръща в проблем. Със SSD, точно както традиционните твърди дискове, данните все още се съхраняват на диска, след като са изтрити от операционната система. Но факт е, че SSD устройството не знае кои от съхранените данни са полезни и кои вече не са необходими и е принудено да обработва всички заети блокове според дълъг алгоритъм.
Прочетете, модифицирайте и запишете отново на място, след като изчистите клетките на паметта, засегнати от операцията, които от гледна точка на ОС вече са изтрити. Следователно, колкото повече блокове на SSD съдържат полезни данни, толкова по-често трябва да прибягвате до четене> модифициране> изчистване> писане вместо директно писане. Тук потребителите на SSD се сблъскват с факта, че скоростта на диска забележимо намалява, когато се пълнят с файлове. Устройството просто няма достатъчно предварително изтрити блокове. Максималната производителност се демонстрира от чисти задвижвания, но по време на тяхната работа реалната скорост постепенно започва да намалява.