Какво е дисков кеш?

Има два основни класа кеш, кеш за четене и кеш за запис. Кешът за четене е инструмент, който осигурява бърз достъп до данни, които иначе биха били бавни за достъп. Кешът за запис е инструмент, който предлага илюзията за бързи скорости на запис, като обикновено крие истинската ниска скорост на устройството с памет от потребителя.

Структура на кеша

Обикновено кешът се съхранява с едно ниво на паметта по-ниско от действителните данни. Данните от един кеш обаче могат да бъдат допълнително кеширани в следващото ниво на паметта. Има четири нива на паметта, като кеша/регистрите на процесора са най-ниското и най-бързо ниво, а архивното съхранение е най-високото и най-бавно ниво. Най-ниските до най-високите нива са кеш/регистри на процесора, системна RAM памет, устройства за съхранение и архивно съхранение.

Всяка стъпка надолу в нивата на паметта предлага повишена скорост на достъп, но намален капацитет. Повечето домашни потребители имат само най-ниските три нива на съхранение в реалния свят. Архивното съхранение обикновено се отнася до лентово съхранение, предназначено за дългосрочно и офлайн съхранение. Архивното съхранение може също да се отнася до използването на оптични или други стандартни носители за съхранение, които са премахнати от устройствата и се съхраняват офлайн. Тези примери са значително по-склонни да бъдат намерени в дома, но все още не са толкова често срещани.

Забележка: До известна степен облачното съхранение може да се счита за вариант на архивно съхранение. Той е много онлайн, но не е задължително да е достъпен веднага и като цяло е бавен за достъп. Сменяеми носители като USB памет също донякъде пресичат границата между устройството за съхранение и архивното съхранение.

Видове дисков кеш

Дисков кеш се отнася до всеки кеш на „диск“, тоест устройства за съхранение като SSD и HDD. Има три типа дисков кеш. Кешът за четене би включвал временно копиране на някои данни от архивно хранилище, за да направи достъпа по-бърз, докато е необходим. Кешът за запис може да бъде под формата на SLC кеш на SSD. Входно/изходният кеш обикновено е някаква флаш памет или DRAM, използвани за кеширане на операции за четене и запис. Определящата характеристика на всички тези е, че кешът е на самия диск.

Прочетете кеша на диска

Версията на кеша за четене на дисковия кеш вероятно е най-рядко използваният тип дисков кеш. Архивното съхранение, по самото си определение, рядко е необходимо. Данните могат да се четат и директно от архивни носители. Въпросът е скоростта. Времето за достъп е бавно, тъй като данните са офлайн, което изисква идентифициране и свързване на подходящо устройство за съхранение. Скоростите на четене зависят от архивния носител, но обикновено са достатъчни за повечето случаи. Но може да не е идеален за високи изисквания за честотна лента, като например гледане на видео с висока разделителна способност. В тези сценарии кешът на диска за четене може да се използва за кеширане на копие на видео файла на носител за съхранение, който може да го възпроизведе в реално време.

Записване на дисков кеш

Съвременните SSD са светкавично бързи, предлагайки невероятно бързи скорости на четене и запис. Това, което може да не осъзнаете, е, че това технически не е вярно. Повечето SSD на пазара са TLC, известни още като трислойни клетки. Това означава, че всяка клетка от паметта може да съхранява три бита данни. Въпреки че това предлага три пъти по-голяма плътност на съхранение от необработените SLC (еднослойни клетки) с един бит на клетка, то също е много по-бавно.

Бакшиш: TLC светкавицата все още е бърза. Той е многократно по-бърз от пиковата честотна лента на SATA 3 шината, използвана от HDD и ранните SSD дискове. QLC flash или Quad Level Cells са дори по-бавни, като в някои тестове всъщност работят по-бавно от HDD.

SLC кешът е изобретен, за да скрие бавните скорости на запис от потребителя. SLC кешът просто третира TLC флаш като SLC флаш, което му позволява да работи с повишени скорости. Данните, записани в SLC кеша, след това се копират вътрешно във формат TLC толкова бързо, колкото скоростта на запис позволява. Тази техника работи отлично, предлагайки нарастващи скорости, които наложиха разработването на нови, по-бързи стандарти.

SLC кешовете обаче имат някои предупреждения. Размерът на SLC кеша е 1/3 от оставащото свободно пространство на SSD. Тъй като SSD се запълва, размерът на SLC кеша намалява. Това не е толкова голям проблем при големи празни дискове, но може да бъде при по-малък или почти капацитетен SSD. След като SLC кешът се запълни, потребителят вижда, че скоростите на запис спадат драстично, тъй като са изложени на истинската скорост на запис на TLC.

Забележка: Технически, ако данните трябва да се записват на архивен носител в бъдеще, всеки диск за съхранение може да се разглежда като кеш за запис на архивния носител. Това значение обаче обикновено не се приема.

I/O дисков кеш

Твърдите дискове обикновено са доста бавни, дори при оптимално натоварване. За да се скрие това от потребителя колкото е възможно повече, може да се използва I/O кеш. Входно/изходният кеш кешира операциите за четене и запис, ако е необходимо. Този кеш обикновено се състои от флаш памет или DRAM в самото устройство. Капацитетите обикновено са ниски, въпреки че класът SSHD или Solid State Hybrid Drive, който включва флаш памет, предлага по-значителни възможности, макар и несравними с модерните SSD капацитети.

Кеширането на четения означава, че твърдият диск не трябва да намира и след това да чете данните. Това може да предложи отлични ползи за производителността, но само при последващи операции за четене. Първото четене винаги е бавно. Кеширането на записи означава, че малките операции по запис могат да бъдат абсорбирани в кеша и след това записани на действителния твърд диск толкова бързо, колкото позволява. Това предлага по-високи скорости, но има голям спад в производителността, ако кешът някога бъде изчерпан.

Входно/изходният кеш трябва внимателно да балансира нуждите на функциите за четене и запис, особено когато е наличен само малък кеш. По-големите кешове донякъде отричат ​​този проблем, въпреки че крайните случаи с големи набори от данни все още могат да претоварят флаш кеша на най-големите SSHD.

Забележка: SSD могат технически също да използват своята вградена DRAM като I/O кеш. Това обаче обикновено се използва основно или изключително за съхраняване на таблицата за преобразуване на логически във физически адрес, използвана за намиране на данни на SSD.

Заключение

Дисковият кеш е кеш, който съществува директно на устройство за съхранение. Може да бъде под формата на кеш за четене или запис или I/O кеш. Кешовете за четене обикновено кешират данни от по-бавно, архивно хранилище. Кешовете за запис скриват бавните скорости на запис на дисковете за съхранение от потребителя. I/O кешовете скриват както бавните скорости на четене, така и бавните скорости на запис от потребителя.

Кешовете са отлични инструменти за използваемост, но могат да причинят някои главоболия на потребителите, когато са изчерпани. Това е особено вярно за динамични кешове за запис като SLC кеша. Тъй като нетехническите потребители може да не разберат защо техните скорости на запис са толкова ниски и по този начин да не могат да ги поправят, като адресират проблеми с капацитета.