SSD технологиясы
![](/assets/img/loading.gif)
![](/assets/img/loading.gif)
Мазмұны
Тарих
SSD технологиясы
SSD диск жетектері (мысалы, NAND жады)
SSD қосуға арналған интерфейстер
SSD қосуға арналған интерфейстер
SSD қалай жұмыс істейді
NAND жад ұяшығының құрылғысы
SSD дискілерін қолдану
Қатты диск жетектерімен (HDD) салыстырғанда артықшылықтары мен кемшіліктері
Нанотехнологиялар және қатты денелер жетектері
Ақпарат көздерінің тізімі
SSD жадының пайдалану жолдары және тарихы
1. Тарих
Қатты күйдегі дискілердің (SSD) тарихы 1978 жылдан басталады, содан кейін StorageTek жедел жадына негізделген алғашқы жартылай өткізгіш дискіні жасаған. Қазіргі заманға келесі қадам 1982 ж. Жад жадына негізделген жартылай өткізгішті сақтау құрылғысының пайда болуымен ерекшеленді (деректерді оқу жылдамдығы - 320 Мбит с). 1995 жыл заманауи SSD диск жетегінің пайда болған жылы болды (M-Systems компаниясы флэш-жадыға негізделген жартылай өткізгішті ұсынды). 2008 жыл Mtron Storage Technology компаниясының жазу жылдамдығы сәйкесінше 240 және 260 МБ с жылдамдықтағы қазіргі заманғы қатты күйдегі дискіні шығарумен ерекшеленді.
SSD технологиясы
қатты күйдегі интерфейсті басқарыңыз
SSD (қатты диск жетегі, қатты күйдегі диск, қатты күйдегі диск - орыс) - бұл электр қуаты өшкеннен кейін деректерді үнемдейтін тұрақты жад микросхемаларына негізделген ақпаратты сақтау құрылғысы. Олар сақтау құралдарының салыстырмалы түрде жаңа түрі болып табылады және алғашқы көрінісі мен дамуы, тұрақты емес жад микросхемалары флэш-дискілерден және қарапайым RAM жадынан алынды.
Қазіргі заманғы қатты дискілер сияқты бірдей енгізу-шығару интерфейстерінен тұрады. SSD электромеханикалық құрылғылардағыдай (қатты дискілер, иілгіш дискілер) қозғалатын бөлшектер мен элементтерді қолданбайды, бұл механикалық тозу мүмкіндігін жоққа шығарады.
Тұрақты күйдегі дискілердің архитектурасы мен жұмыс істеуі SSD дискілері, олар тұрақты жад (NAND SSD) негізінде салынған, салыстырмалы түрде жақында пайда болды, бірақ әлдеқайда арзан болғандықтан (гигабайт үшін 2 доллардан), олар сенімді түрде жеңе бастады нарық. Бүгінгі күні SSD дискілерінің жазу оқу жылдамдығы SATA3 қосылу интерфейсін (6 Гб с дейін) қолдануды ескере отырып, дәстүрлі қатты дискілер деңгейінде.Тұрақты жадқа негізделген SSD дискілері өте жоғары ақпаратты оқу, жазу және іздеу жылдамдығы. SSD дискілерінің негізгі жетіспеушілігі - олардың жоғары құны (1 ГБ үшін 800 долларға дейін). RAM SSD дискілері мәліметтер базасын басқару жүйелерінде және графикалық орталықтарда жиі қолданылады. Қуат өшірілген кезде деректерді сақтау үшін батареялар немесе резервтік жүйе қолданылады.
Қазіргі заманғы қатты күйдегі диск жетектерінің көпшілігі тұрақты NAND жадына негізделген.
SSD және HDD дискілерінің гибридті нұсқалары бар (1-сурет).
Сурет 1. SSD және HDD гибридті сақтау орны
Оларға сақталған ақпараттың үлкен көлеміне арналған магниттік табақтар және бір жағдайда SSD дискісі кіреді. Жиі қолданылатын деректер SSD-де сақталады және HDD құрылғысынан жаңартылған кезде жаңартылады. Бұл деректерге қол жеткізгенде, олар қатты жадыдан жоғары жылдамдықта баяу магниттік табақтарға қол жеткізбей оқылады.
3. SSD диск жетектері (мысалы, NAND жады)
Сурет 2. SSD құрылғысы
Қатты күйдегі диск жетегі NAND чиптерінен, барлық функцияларды орындайтын басқарушы микроконтроллерден, жедел жад кэш чипінен және осының бәрі дәнекерленген баспа платасынан тұрады.
Кейде SSD дискілері шағын батареяны пайдаланады, сондықтан қуат өшірілген кезде кэштегі барлық деректер тұрақты жадқа жазылып, барлық деректер өзгеріссіз сақталуы мүмкін.
Жад
Жоғары, орта және бюджеттік сыныптағы қатты денелердегі барлық дерлік диск жетектері тұрақты NAND (флэш) жадын пайдаланады, себебі оның бағасы төмен, деректерді тұрақты қоректендірусіз сақтау мүмкіндігі және бұл жағдайда мәліметтерді сақтау технологиясын қолдану мүмкіндігі бар. электр қуатының күтпеген өшуі.
Чиптердің ықшам орналасуына байланысты өндірушілер SSD дискілерін 1,8 форм-факторында шығара алады; 2,5; Қорғаныс орамасы жоқ құрылғыларға қатысты 3,5 дюйм немесе одан аз. Мысалы, ноутбуктар үшін немесе компьютердегі ішкі орналастыру үшін.
SSD дискілерінің көпшілігінде бір ұяшықта бірнеше бит сыйымдылығы бар арзан MLC (Multi Level Cell) жады қолданылады. Бұл дайын өнімнің бағасына өте тиімді әсер етеді және осы дискілерді танымал етуге ықпал етеді. Бірақ MLC жадының да үлкен кемшіліктері бар. Бұл SLC (бір деңгейлі ұяшық) жетектеріне қарағанда ұяшықтардың төзімділігі төмен және жазу және оқу жылдамдығы төмен, олар ұяшыққа бір бит жазады және бұл MLC-мен салыстырғанда 10 есеге дейін төзімділікті және 2 есе жылдамдықты қамтамасыз етеді. Сондай-ақ, бір кемшілік бар - SLC жадына арналған дискілердің бағасы MLC жадына арналған дискілерден шамамен екі есе жоғары. Бұл өндіріс шығындарының үлкендігімен байланысты, әсіресе бірдей мөлшердегі SLC чиптері MLC-мен салыстырғанда бірдей көлемге жету үшін орта есеппен екі есе көп уақытты қажет етеді.
SSD контроллері.
Контроллердің негізгі міндеті - оқу жазу операцияларын қамтамасыз ету және мәліметтерді бөлу құрылымын басқару. Ұяшықтарға жазылған және әлі жазылмаған блокты бөлу матрицасына сүйене отырып, контроллер жазу жылдамдығын оңтайландыруы және SSD-дің ең ұзақ қызмет етуін қамтамасыз етуі керек. NAND-жадыны құру ерекшеліктеріне байланысты оның әр ұяшығымен бөлек жұмыс жасау мүмкін емес. Ұяшықтар 4 Кбайт параққа біріктіріледі және ақпаратты парақ толы болған кезде ғана жазуға болады. Сіз 512 КБ-қа тең деректерді блоктармен өшіре аласыз. Барлық осы шектеулер контроллердің дұрыс интеллектуалды алгоритміне белгілі бір жауапкершілік жүктейді. Сондықтан контроллердің дұрыс реттелген және оңтайландырылған алгоритмдері SSD өнімділігі мен ұзақ мерзімін едәуір жақсарта алады.
Контроллерге келесі негізгі элементтер кіреді: - әдетте 16 немесе 32 биттік микроконтроллер. Микробағдарлама нұсқауларын орындайды, Flash, SMART диагностикасы, кэштеу, қауіпсіздікті түзету (ECC) - ECC қателерін бақылау және басқару блогы туралы деректерді араластыруға және туралауға жауап береді. Контроллер - адрестеуді, мәліметтер шинасын және флэш-жад микросхемаларын басқаруды қамтиды. Контроллер - адрестеу, деректер шинасы және DDR DDR2 SDRAM кэш жадыны басқару. O интерфейсі - сыртқы SATA, USB немесе SAS интерфейстеріне деректерді беру интерфейсі үшін жауап береді. Жад - ROM жадынан және буферден тұрады. Жадты процессор микробағдарламаны орындау үшін және деректерді уақытша сақтау үшін буфер ретінде қолданады. Сыртқы оперативті жад микросхемасы болмаған жағдайда, ол SSD үшін жалғыз дерек буфері ретінде жұмыс істейді.
Қазіргі уақытта SSD-де контроллердің келесі модельдері қолданылады:
Indilinx Жалаңаяқ ЭКО IDX110MO1 Жалаңаяқ IDX110M00PC29AS21BA0JMF602JMF61288S S9174-BJP2S3C29RBB01-YK40SF-1200SF- 1500T6UG1XBG
SSD дискінің барлық дерлік көрсеткіштері басқару контроллеріне байланысты. Оның құрамына арнайы микробағдарламалық жасақтама көмегімен барлық жад процестерін басқаратын микропроцессор кіреді; жад микросхемалары мен компьютер шинасы (SATA3, USB) сигналдары арасындағы көпір.
Қазіргі заманғы SSD контроллерінің ерекшеліктері:
Оқу, жазу және кэштеу.
Қателерді түзету (ECC).
Шифрлау (AES).
SMART бақылау мүмкіндігі.
Қара тізімге қосу үшін жұмыс істемейтін блоктарды белгілеп, жазып алыңыз.
Мәліметтерді қысу.
Барлық жад контроллерлері параллель қосылған NAND жадына бағытталған. Бір чиптің жад шинасы өте аз болғандықтан (максимум 16 бит), параллель жалғанған көптеген чиптердің шиналары қолданылады. Сонымен қатар, бір чиптің керемет сипаттамалары мүлдем жоқ, керісінше. Мысалы, енгізу-шығару кідірісі. Жад микросхемалары параллель қосылған кезде, бұл кідірістер жасырылады, олардың арасында бөлінеді. Автобус әрбір қосылған чипке пропорционалды түрде, контроллердің өткізу қабілеттілігінің максимумына дейін өседі.
Көптеген контроллерлер SATA 6 Gb s-ді қолдана алады, бұл 500 мб с жылдамдықтағы деректер алмасу жылдамдығын қолдайтын контроллерлермен бірге оқу жазу өнімділігінің айтарлықтай өсуіне және SSD диск жетегінің әлеуетін толық ашуға мүмкіндік береді.
Кэш жады.
SSD дискілерінде қатты дискілердегі сияқты, тұрақты DRAM чипі түрінде кэш жады қолданылады.
Сурет 3. Кэш жады
Бірақ қатты күйдегі дискілерде оның тағы бір маңызды қызметі бар. Микробағдарламаның бір бөлігі және жиі өзгеретін деректер NAND жадының тозуын азайтып, тозуды азайтады. Кейбір контроллерлерде кэш-жадыны қолдану қарастырылмаған, бірақ олар жылдамдықта жоғары өнімділікке қол жеткізеді.
4. SSD қосуға арналған интерфейстер
Тұтынушы SSD дискілері үшін ең көп таралған интерфейстер - SATA 6Gb s, PCI-Express және USB 3.0. Бұл интерфейстердің барлығы кез-келген SSD диск жетегі үшін қажетті өткізу қабілеттілігін қамтамасыз ете алады.
Ноутбуктер мен планшеттер сияқты портативті құрылғыларда мини PCI-Express (mSATA) интерфейсі бар ең жиі кездесетін ықшам SSD дискілері.
SSD қалай жұмыс істейді
Қатты дискідегі деректер блогын оқу үшін алдымен оның қай жерде екенін есептеу керек, содан кейін магниттік бастардың блогын қажетті жолға жылжытыңыз, қажетті сектор бастың астында болғанша күтіңіз және оқыңыз. Сонымен қатар, қатты дискінің әр түрлі аймақтарына ретсіз сұраныстар кіру уақытына көбірек әсер етеді. Осындай сұраулармен HDD дискілері құймақтың бүкіл бетіне үнемі қозғалуға мәжбүр болады, тіпті командалық кезектің ретін өзгерту әрдайым үнемдей бермейді. SSD-де бәрі қарапайым - біз қажетті блоктың мекен-жайын есептейміз және оған оқуға жазуға бірден қол жеткіземіз. Механикалық операциялар жасалмайды - барлық уақыт мекен-жай аударуға және блокты аударуға кетеді. Флэш-жады, контроллер және фронт тезірек болса, деректерге қол жетімділік тез болады.
SSD дискісіндегі деректерді өзгерту өшіру кезінде бәрі қарапайым емес. NAND флэш-чиптері салаларға арналған операцияларға оңтайландырылған. Флэш-жады 4 КБ блокта жазылады және 512 КБ блокта өшіріледі. Блок ішіндегі бірнеше байтты өзгерткен кезде контроллер келесі әрекеттер тізбегін орындайды:
өзгертілетін блокты қамтитын блокты ішкі буферге кэшке оқиды;
қажетті байттарды өзгертеді;
флэш-жад микросхемасындағы блокты өшіру;
араластыру алгоритмінің талаптарына сәйкес блоктың жаңа орналасуын есептейді;
блокты жаңа орынға жазады.
Бірақ сіз ақпаратты жазып алғаннан кейін, оны тазартпайынша оны жазуға болмайды. Мәселе мынада: жазылған ақпараттың минималды өлшемі 4 КБ-тан кем болмауы керек және деректерді кем дегенде 512 КБ блокта өшіруге болады. Ол үшін контроллер топтастырады және бүкіл блокты босату үшін деректерді тасымалдайды.
HDD-мен жұмыс істеуге арналған ОЖ-ны оңтайландыру осы жерде басталады. Файлдарды өшіру кезінде амалдық жүйе дискідегі секторларды физикалық тазартпайды, тек файлдарды жойылған деп белгілейді және олар алған орынды қайта пайдалануға болатындығын біледі. Бұл диск жетегінің жұмысына кедергі жасамайды және интерфейс жасаушылар бұл мәселеге бұрын мән бермейтін. Бұл жою әдісі HDD дискілерімен жұмыс кезінде өнімділігін жақсартуға көмектеседі, ал SSD дискілерін пайдалану кезінде бұл проблемаға айналады. SSD дискілерімен, әдеттегі қатты дискілер сияқты, деректер амалдық жүйемен жойылғаннан кейін де дискіде сақталады. Бірақ шын мәнінде қатты күйдегі диск сақталған деректердің қайсысы пайдалы, ал қайсысы қажет емес екенін білмейді және барлық алынған блоктарды ұзақ алгоритм бойынша өңдеуге мәжбүр болады.
ОЖ тұрғысынан жойылған операциядан зардап шеккен жад ұяшықтарын тазартқаннан кейін оқыңыз, өзгертіңіз және қайтадан орнына жазыңыз. Сондықтан SSD-де пайдалы деректер қаншалықты көп блоктар болса, соғұрлым сіз тікелей жазудың орнына оқуға өзгертуге анықтауға жазуға жүгінуге тура келеді. Бұл жерде SSD пайдаланушылары файлдарды толтырған кезде дискінің жылдамдығы айтарлықтай төмендейтіндігіне тап болады. Дискінде алдын ала өшірілген блоктар жеткіліксіз. Максималды өнімділік таза дискілермен көрінеді, бірақ олардың жұмыс істеуі кезінде нақты жылдамдық біртіндеп төмендей бастайды.
Бұрын ATA интерфейсінде ОЖ деңгейінде файлдарды жойғаннан кейін мәліметтер блоктарын физикалық тазарту командалары болмады. HDD үшін олар жай талап етілмеді, бірақ SSD пайда болуы осы мәселеге деген көзқарасты қайта қарауға мәжбүр етті. Нәтижесінде, ATA спецификациясы DIMA SET MANAGEMENT жаңа пәрменін ұсынды, ол Trim деген атпен танымал. Ол драйвер деңгейіндегі OC-ге жойылған файлдар туралы ақпаратты жинауға және оны диск контроллеріне беруге мүмкіндік береді.
Әрекетсіздік кезеңінде SSD ОЖ-де жойылды деп белгіленген блоктарды дербес тазартады және дефрагментациялайды. Контроллер алдын-ала өшірілген жад орындарын алу үшін деректерді жылжытады, кейінірек жазу үшін орын босатады. Бұл жұмыс барысында кідірістерді азайтуға мүмкіндік береді.
Бірақ Trim-ді іске асыру үшін бұл пәрменді дискінің микробағдарламасы және ОЖ-де орнатылған драйвер қолдауы керек. Қазіргі уақытта тек SSD-дің соңғы үлгілері TRIM-ді түсінеді, ал ескі дискілерде осы пәрменге қолдау көрсету үшін контроллерді жыпылықтау керек. Операциялық жүйелер арасында Trim пәрменін Windows 7, Windows Server 2008 R2, Linux 2.6.33, FreeBSD 9.0 қолдайды. Басқа амалдық жүйелер үшін қосымша драйверлер мен утилиталарды орнату қажет.
Мысалы, Intel-ден SSD үшін кестеде ОЖ-мен синхрондау процедурасын орындай алатын SSD Toolbox арнайы утилитасы бар. Оңтайландырудан басқа, утилита SSD диагностикасын жүргізуге және барлық компьютерлік дискілердің SMART деректерін қарауға мүмкіндік береді. SMART көмегімен SSD тозуының ағымдағы дәрежесін бағалауға болады - E9 параметрі NAND ұяшықтарын тазарту циклдарының қалған санын стандартты шамадан пайызбен көрсетеді. 100-ден төмендейтін мән 1-ге жеткенде, сынған блоктардың тез пайда болуын күтуге болады.
6. NAND жад ұяшығының құрылғысы
Флэш-жадының кең таралған архитектурасы - NAND архитектурасы (4-сурет), ол логикалық NAND әрекетіне сәйкес келеді. NAND операциясы барлық операндтар нөлге тең болғанда ғана нөлдік мән береді, ал қалған барлық жағдайларда бір мән береді. NAND архитектурасы транзисторларды жалғаудың сериялық әдісін білдіреді, мұнда әр транзистордың ағуы көрші транзистордың көзіне қосылады, ал тізбектей жалғанған бірнеше транзисторлар тізбегінде олардың біреуі ғана биттік сызыққа қосылады. Сонымен қатар, қосылыстың архитектурасын қарастырған кезде біз қалқымалы қақпалы транзисторлар туралы арнайы айтпаймыз.
Сурет 4. NAND архитектурасы
Осындай тізбектей жалғанған транзисторлар тобын қарастырайық (қалқымалы қақпасы жоқ) (5-сурет). Егер барлық транзисторлардың қақпаларындағы басқару кернеуі шекті мәнге тең болса, онда барлық транзисторлар ашық күйде болады және шығыс кернеуі (разрядтық сызықтағы кернеу) төмен болады, бұл логикалық нөлге сәйкес келеді. Егер кем дегенде бір транзистордағы кіріс кернеуі төмен болса (шекті мәннен төмен), яғни, егер кем дегенде бір транзистор құлыпталған күйде болса, онда биттік сызықтағы кернеу жоғары болады, бұл логикалық бірлікке сәйкес келеді. Транзисторлар қақпасындағы кіріс кернеулерінің ақиқат кестесін аламыз (сөз жолындағы кернеулер) және биттік сызықтағы шығыс кернеуі, NAND логикалық функциясының ақиқат кестесіне сәйкес келеді. Сондықтан транзисторларды біріктірудің мұндай схемасы NAND деп аталады.
Сурет 5. NAND схемасы бойынша транзисторларды қосу
NAND қалқымалы қақпасының тізбегінде тізбектей жалғанған транзисторлар тобы екі транзисторлар тобына кәдімгі транзисторлармен (өзгермелі қақпасыз) қосылады, олар транзисторлар тобын екі жерден де, биттен де бөледі. транзисторлардың бүкіл тобын инициализацияланған кезде биттік сызыққа қосыңыз.
NOR архитектурасымен салыстырғанда, бұл архитектура өндірістік процестің ерекшеліктеріне байланысты (көршілес транзисторлардың дренаждары мен көздерін және өткізгіштердің едәуір аз санын біріктіреді) транзисторларды ықшам орналастыруға мүмкіндік береді, демек таразылар да жақсы. Ақпарат ыстық электронды инъекция әдісі арқылы жазылатын NOR архитектурасынан айырмашылығы, NAND архитектурасында жазу NOR архитектурасына қарағанда жылдам жазуға мүмкіндік беретін FN туннельдеу әдісі арқылы жүзеге асырылады.
Әрине, сұрақ туындайды: NAND архитектурасында бір жад ұяшығына қалай кіруге болады (ұяшықтың мазмұнын оқыңыз)? Ақыр соңында, егер мұндай тізбектелген топтағы транзисторлардың ең болмағанда біреуі жабық күйде болса (оны сәйкес транзистордың қалқымалы қақпасында зарядтың болуы деп түсіндіруге болады), онда биттік сызықтағы кернеу басқа жасушалардың күйіне қарамастан жоғары болады. Бір ұяшыққа қол жеткізу үшін транзистордың қақпасына осы ұяшыққа сәйкес келетін кернеу шегін қолдану және разряд сызығындағы кернеуді өлшеу жеткіліксіз. Барлық басқа транзисторлар ашық күйде болуы керек. Ол үшін транзистордың қақпасына жад ұяшығына сәйкес келетін кернеудің шекті мәні қолданылады, оның мазмұны оқылуы керек, ал қалған барлық транзисторлардың қақпаларына шекті мәннен асатын және қалыптастыру үшін жеткілікті кернеу беріледі. қалқымалы қақпада заряд болған кезде де, бірақ зарядтардың кванттық туннелдеуі үшін жеткіліксіз өткізгіш канал. Бұл жағдайда барлық транзисторлар жалғасады және разрядтық сызықтағы кернеу транзистордың қалқымалы қақпасында зарядтың болуы немесе болмауымен анықталады, оған қол жеткізуге болатын жад ұяшығына сәйкес келеді.
Nand флэш-жадының логикалық құрылымы
Жоғарыда атап өткеніміздей, SSD дискілері NAND флэш-жадын пайдаланады, сондықтан болашақта біз тек NAND флэшін қарауға назар аударамыз.
Флэш-жады бір ұяшықты оқуға, жазуға және өшіруге мүмкіндік беретініне қарамастан, бірлік жад ұяшықтарын тиімді пайдалану үшін, олар төрт деңгейлі құрылымы бар массивтерге біріктірілді. Төменгі деңгейде бірлік жады ұяшығы бар, ал 4 КБ мәліметтері бар массивке біріктірілген бірлік ұяшықтары жад парағы деп аталады. Мұндай 128 парақ жадының 512 КБ блогын құрайды (кейде жадының блогында 64 парақ болады), ал 1024 блок 512 МБ массивін құрайды. Сондықтан ұяшықтарды массивтерге біріктірудің логикалық құрылымы өте қарапайым. Парақ қатты дискідегі кластерге (секторға) ұқсайды және флэш-жады өңдей алатын деректердің минималды өлшемін білдіреді. Дегенмен, оқу, жазу және жою әрекеттерін орындау кезінде қатты диск кластері мен флэш-парақ арасындағы түбегейлі айырмашылық бар. Сонымен, егер қатты дискіні кластер оқуға, жазуға және жоюға болатын болса, онда флэш-жадтағы оқу және жазу операциялары 4 Кбайт көлемінде, ал деректерді өшіру тек 512 КБ блоктарда мүмкін болады. Ақпарат параққа жазылғаннан кейін, оны өшірмей (өшірмей) жазуға болмайды.
SSD-дискілерде деректерді жазу операцияларының ерекшеліктері
Сонымен, біз жоғарыда атап өткендей, NAND флэш-жадында мәліметтерді жазу және оқу 4 Кбайт көлемінде, ал деректерді өшіру тек 512 КБ блоктарда мүмкін. Жалпы, SSD дискілеріне ақпарат жазу процесі HDD дискілерімен бірдей процесстен мүлдем өзгеше. Бұл, мысалы, SSD дискілерінің өнімділігі уақыт бойынша өзгеріп отыратындығымен байланысты және флэш-жадыға тізбекті және таңдамалы қол жетімділіктің жылдамдықтары бір-бірінен ерекшеленеді. Осы құбылыстарды түсіндіру үшін HDD және SSD дискілеріндегі жазу процестерін егжей-тегжейлі қарастырайық.
HDD қатты дискілерінде қатты дискіні басқару жүйесі жұмыс жасайтын ең кіші ақпарат бірлігі сектор немесе блок деп аталады. HDD-де сектордың өлшемі 4 КБ (жаңа модельдер) немесе 512 байтты құрайды. Дискідегі секторларды (блоктарды) адреске келтіру үшін LBA (логикалық блокты адрестеу) әдісі қолданылады, мұнда қатты дискідегі әрбір блоктың жеке реттік нөмірі болады - нөлден басталатын бүтін сан (яғни бірінші блок LBA = 0, екінші LBA = 1 және т.б.).
LBA әдісінің артықшылығы - жүйелік контроллерге қатты дискінің геометриясын (цилиндрлер саны, цилиндрлер, цилиндрлердегі секторлар) ескерудің қажеті жоқ.
Енді HDD-ге деректерді жазу процесін қарастырайық. Егер деректер, мысалы, белгілі бір нөмірі бар LBA блогына жазылған болса, онда бұл оның дискідегі белгілі бір жерде (белгілі бір цилиндрде, жолда және секторда) орналасатындығын білдіреді. Бұл блок қанша рет қайта жазылса да, деректер әрқашан дискідегі LBA блок нөміріне сәйкес сол физикалық кеңістікке орналастырылады. Егер мәліметтер LBA-блоктарына әр түрлі сандармен жазылса, бұл олардың дискіде LBA-блоктарының сандарына сәйкес келетін әр түрлі жерлерде орналасатындығын білдіреді. Егер сізге, мысалы, HDD дискісіне файл жазу керек болса, онда ол бастапқыда блоктарға бөлінеді, олардың әрқайсысына белгілі бір логикалық LBA нөмірі беріледі, ал әрбір логикалық LBA нөмірі дискідегі қатты кодталған кеңістікке сәйкес келеді .
Егер деректер жойылса, яғни пайдаланушы файлды амалдық жүйе деңгейінде жойса, онда іс жүзінде олар дискіден жойылмайды, бірақ жай операциялық жүйе деңгейіндегі мәліметтерге сәйкес келетін логикалық LBA мекен-жайлары тегін деп белгіленеді және кейінірек қолдануға болады (деректерді қайта жазуға болады) ... HDD контроллерінің өзі бұл туралы ештеңе білмеуі маңызды, бірақ HDD үшін бұл проблема емес, өйткені HDD үшін LBA блоктарын қайта жазу қиын емес.
SSD дискісі жағдайында бәрі басқаша. Шындығында, SSD дискілерінде мәліметтердің (парақтың) жазылған бөлігінің логикалық саны мен оның флэш-жадындағы физикалық орналасуы арасында бір-біріне сәйкестік болмайды. Деректерді флэш-жадқа жазу беттерде, ал жою тек блоктарда жүзеге асырылатындығын және бұрын қолданылған параққа жазу үшін алдымен оны тазарту (деректерді өшіру) қажет екенін тағы бір еске салайық.
Флеш-жадыда мәліметтер негізінен дәйекті түрде жазылады, яғни флэш-жадтағы келесі бос параққа әрдайым 4 КБ бөліктерінде жазылады. Бұл жазылып жатқан парақтың логикалық мекен-жайын (LBA) физикалық адреске (PBA), яғни флэш-жадтағы орналасқан мекен-жаймен салыстырады.
Логикалық және физикалық адрестердің сәйкестігі үшін (LBA-PBA картографиясы) логикалық және физикалық адрестердің сәйкес келуінің арнайы кестесі арналған. Бұл кесте SSD жедел жадында орналасқан.
Жазу туралы сұрау түскен кезде контроллер бос беттердің тиісті санын бөліп, кестені LBA мен PBA адрестерінің сәйкестігімен толтырады. Егер деректер қайта жазылса (яғни, бұрыннан бар логикалық адрестермен мәліметтерді жазу қажет болса), онда SSD контроллері келесі бос жад беттерін бөледі, ал логикалық және физикалық адрестер арасындағы сәйкестік кестесінде парақтарды белгілейді бұл деректер ескірген ақпаратты қамтитын ретінде бұрын жазылған. Бұл жағдайда ескірген деректері бар парақтардың қайта жазылмауы (HDD дискілеріндегідей) және жойылмағаны маңызды.
Егер деректер жойылса, яғни пайдаланушы файлды операциялық жүйенің деңгейінде жойса, онда HDD дискісіндегідей, деректер дискіден жойылмайды, тек мәліметтерге сәйкес келетін логикалық LBA-адрестер операциялық жүйенің деңгейінде бос деп белгіленеді және оны пайдалануға болады (деректердің орнына жазуға болады). SSD контроллерінің өзі бұл туралы ештеңе білмеуі және тиісті жад парақтарын бос деп есептеуі маңызды. Яғни, тиісті жад беттері LBA және PBA мекен-жайларын салыстыру кестесінде жою үшін белгіленбеген. SSD-ге жазу көбінесе дәйекті, сондықтан жаңа дискке (деректер әлі жазылмаған) және онсыз да толық дискке жазудың арасында үлкен айырмашылық бар. Пайдаланушының көзқарасы бойынша толық диск бос болуы мүмкін екенін ескеріңіз, өйткені дискіден деректерді операциялық жүйе деңгейінде өшіру ол флэш-жадтан шынымен өшірілген дегенді білдірмейді.
Кездейсоқ бос (немесе жартылай бос) SSD-ге жазған кезде бәрі өте қарапайым. Барлық деректер жад парақтарына ретімен жазылады, осылайша жад блоктарын толтырады. Сонымен қатар, егер деректер қайта жазылса да, олар келесі бос жад парақтарына дәйекті түрде жазылады, ал логикалық және физикалық мекен-жай сәйкестік кестесінде бұл мәліметтер бұрын жазылған парақтарда ескірген мәліметтер бар деп белгіленеді (жою үшін белгіленген) .
Әрине, осындай дәйекті жазба алгоритмімен бүкіл диск толы болатын жағдай сөзсіз болады, яғни онда бос парақтары бар блоктар болмайды, тек толтырылған парақтары бар блоктар және жою үшін белгіленген беттері бар блоктар ( 6-сурет) ...
Сурет 6. Бос және толық дискілерге деректерді жазу
Неліктен ескірген деректерді қамтитын және жою үшін белгіленген флэш-жадтың парақтарына жаңа деректер жазбасқа? Мәселе мынада, флэш-жадтың архитектурасында мәліметтерді жадтың бос жатқан орнына жазу үшін алдымен оны тазарту қажет. Алайда, есімізде, егер флэш-жадыда жазу және оқу парақтарда жүзеге асырылса, онда оларды жою тек блоктармен мүмкін болады. Егер бізге жадтың кейбір бетін тазарту қажет болса, онда біз осы парақ орналасқан барлық блокты өшіруіміз керек. Алайда, бұл блокта жою үшін белгіленген екі парақ (ескірген деректері бар беттер) де, жойылуы мүмкін емес соңғы деректері бар парақтар да болуы мүмкін.
Жою үшін белгіленген парақтары бар блоктарды пайдалану үшін бос және қосалқы блоктарды қолданып деректерді беру әдісі қолданылады. SSD-де бос блоктар қалмаса да, деректерді беру үшін әрдайым қосалқы блоктардың белгілі бір саны қолданылады. Ескірген деректері бар парақты жою үшін алдымен сәйкесінше блоктан бос орынға бос мәліметтер блогын жылжыту керек, содан кейін ескірген деректері бар парақтарды қамтитын бүкіл блогты жою қажет. Тиісінше, біз жылжытылған мәліметтермен, жазуға болатын жартылай бос блокты және бос блокты аламыз, ол резервтік блокқа айналады. Алайда, деректердің бұл қозғалысының нәтижесінде SSD дискісіне талап етілгеннен көп мәліметтер жазылуы керек екен. Мысалы, егер сізге тек бір парақ жазу керек болса (4 КБ) және бұл үшін ешқандай бос блок болмаса, онда алдымен жою үшін белгіленген парақтары бар блокты табу керек. Егер жою үшін тек бір парақ белгіленген блок болса, онда қалған 127 парақты осы блоктан резервтік блокқа көшіріп, оны жазылуы керек бір парақпен толықтыру қажет. Содан кейін жою үшін белгіленген парағы бар блок жойылады және сақталады. Бір парақты (4KB) жазу үшін 128 бет (512KB) жазу керек екен, бұл уақытты бүкіл блокты оқып, оны өшіруге кететінін есептемейді. Сондықтан жаңа дискіге (деректер ешқашан жазылмаған) және толық дискіге жазу жылдамдығы түбегейлі өзгеше болуы мүмкін. Бос және толық дискілерге жазу жылдамдығының түбегейлі айырмашылығын атап көрсету үшін Жазуды күшейту сияқты индикатор қолданылады, бұл шынымен талап етілгеннен қанша есе көп мәліметтер жазуға тура келетінін көрсетеді. Бос дискіге жазған кезде жазудың күшеюі бірге тең, ал толық дискіге жазған кезде ол әрқашан біреуінен үлкен болады - оның мәні 2-ден 25-ке дейін өзгеруі мүмкін.
Қарастырылған мысал біршама идеалдандырылған - шын мәнінде, деректерді жылжыту механизмі, яғни жою үшін белгіленген парақтары бар блоктардан құтылу, диск толтырылған кезде қолданылады, бос және қосалқы блоктар. Бұл процедура қоқысты жинау деп аталады.
Қоқыстарды жинау процедурасының әр түрлі алгоритмдері бар және олардың арасындағы айырмашылық деректерді жылжыту үшін қолданылатын блоктың таңдалуында. Бұл жою үшін белгіленген, мүмкіндігінше көп жад парағын қамтитын блок болуы керек екендігі түсінікті. Бұл жағдайда жазу операцияларының санын азайтуға және сол арқылы Жазуды күшейту индикаторын азайтуға болады. Сонымен қатар, флэш-жад ұяшықтарын қайта жазуға арналған циклдар саны шектеулі екенін ескере отырып, жою үшін белгіленген беттер саны көп блокты таңдай отырып, қоқысты жинау процедурасы SSD-дің қызмет ету мерзімін ұзарта алады.
Жою үшін белгіленген парақтардың максималды саны бар блокты таңдауға не кедергі болатын сияқты. Бірақ бұл үшін сіз LBA-PBA корреспонденция кестесін толығымен қарауыңыз керек, бірақ бұл контроллер үшін өте көп уақытты қажет ететін процесс, бұл процессордың көптеген циклдарын қажет етеді. Жою үшін блоктарды таңдаудың бұл әдісі оңтайлы емес және өнімділіктің төмендеуіне әкеледі, сондықтан барлық алгоритмдер блоктар талданбаған кезде қолданылады, бірақ олардың кейбіреулері ғана (блок терезесі) ең жоғары ықтималдығы бар блокты қамтиды жою үшін белгіленген парақтар саны.
Енді сіз деректерді жылжыту үшін пайдаланылатын қосалқы блоктардың қайдан алынғанын білуіңіз ... жалғасы
Тарих
SSD технологиясы
SSD диск жетектері (мысалы, NAND жады)
SSD қосуға арналған интерфейстер
SSD қосуға арналған интерфейстер
SSD қалай жұмыс істейді
NAND жад ұяшығының құрылғысы
SSD дискілерін қолдану
Қатты диск жетектерімен (HDD) салыстырғанда артықшылықтары мен кемшіліктері
Нанотехнологиялар және қатты денелер жетектері
Ақпарат көздерінің тізімі
SSD жадының пайдалану жолдары және тарихы
1. Тарих
Қатты күйдегі дискілердің (SSD) тарихы 1978 жылдан басталады, содан кейін StorageTek жедел жадына негізделген алғашқы жартылай өткізгіш дискіні жасаған. Қазіргі заманға келесі қадам 1982 ж. Жад жадына негізделген жартылай өткізгішті сақтау құрылғысының пайда болуымен ерекшеленді (деректерді оқу жылдамдығы - 320 Мбит с). 1995 жыл заманауи SSD диск жетегінің пайда болған жылы болды (M-Systems компаниясы флэш-жадыға негізделген жартылай өткізгішті ұсынды). 2008 жыл Mtron Storage Technology компаниясының жазу жылдамдығы сәйкесінше 240 және 260 МБ с жылдамдықтағы қазіргі заманғы қатты күйдегі дискіні шығарумен ерекшеленді.
SSD технологиясы
қатты күйдегі интерфейсті басқарыңыз
SSD (қатты диск жетегі, қатты күйдегі диск, қатты күйдегі диск - орыс) - бұл электр қуаты өшкеннен кейін деректерді үнемдейтін тұрақты жад микросхемаларына негізделген ақпаратты сақтау құрылғысы. Олар сақтау құралдарының салыстырмалы түрде жаңа түрі болып табылады және алғашқы көрінісі мен дамуы, тұрақты емес жад микросхемалары флэш-дискілерден және қарапайым RAM жадынан алынды.
Қазіргі заманғы қатты дискілер сияқты бірдей енгізу-шығару интерфейстерінен тұрады. SSD электромеханикалық құрылғылардағыдай (қатты дискілер, иілгіш дискілер) қозғалатын бөлшектер мен элементтерді қолданбайды, бұл механикалық тозу мүмкіндігін жоққа шығарады.
Тұрақты күйдегі дискілердің архитектурасы мен жұмыс істеуі SSD дискілері, олар тұрақты жад (NAND SSD) негізінде салынған, салыстырмалы түрде жақында пайда болды, бірақ әлдеқайда арзан болғандықтан (гигабайт үшін 2 доллардан), олар сенімді түрде жеңе бастады нарық. Бүгінгі күні SSD дискілерінің жазу оқу жылдамдығы SATA3 қосылу интерфейсін (6 Гб с дейін) қолдануды ескере отырып, дәстүрлі қатты дискілер деңгейінде.Тұрақты жадқа негізделген SSD дискілері өте жоғары ақпаратты оқу, жазу және іздеу жылдамдығы. SSD дискілерінің негізгі жетіспеушілігі - олардың жоғары құны (1 ГБ үшін 800 долларға дейін). RAM SSD дискілері мәліметтер базасын басқару жүйелерінде және графикалық орталықтарда жиі қолданылады. Қуат өшірілген кезде деректерді сақтау үшін батареялар немесе резервтік жүйе қолданылады.
Қазіргі заманғы қатты күйдегі диск жетектерінің көпшілігі тұрақты NAND жадына негізделген.
SSD және HDD дискілерінің гибридті нұсқалары бар (1-сурет).
Сурет 1. SSD және HDD гибридті сақтау орны
Оларға сақталған ақпараттың үлкен көлеміне арналған магниттік табақтар және бір жағдайда SSD дискісі кіреді. Жиі қолданылатын деректер SSD-де сақталады және HDD құрылғысынан жаңартылған кезде жаңартылады. Бұл деректерге қол жеткізгенде, олар қатты жадыдан жоғары жылдамдықта баяу магниттік табақтарға қол жеткізбей оқылады.
3. SSD диск жетектері (мысалы, NAND жады)
Сурет 2. SSD құрылғысы
Қатты күйдегі диск жетегі NAND чиптерінен, барлық функцияларды орындайтын басқарушы микроконтроллерден, жедел жад кэш чипінен және осының бәрі дәнекерленген баспа платасынан тұрады.
Кейде SSD дискілері шағын батареяны пайдаланады, сондықтан қуат өшірілген кезде кэштегі барлық деректер тұрақты жадқа жазылып, барлық деректер өзгеріссіз сақталуы мүмкін.
Жад
Жоғары, орта және бюджеттік сыныптағы қатты денелердегі барлық дерлік диск жетектері тұрақты NAND (флэш) жадын пайдаланады, себебі оның бағасы төмен, деректерді тұрақты қоректендірусіз сақтау мүмкіндігі және бұл жағдайда мәліметтерді сақтау технологиясын қолдану мүмкіндігі бар. электр қуатының күтпеген өшуі.
Чиптердің ықшам орналасуына байланысты өндірушілер SSD дискілерін 1,8 форм-факторында шығара алады; 2,5; Қорғаныс орамасы жоқ құрылғыларға қатысты 3,5 дюйм немесе одан аз. Мысалы, ноутбуктар үшін немесе компьютердегі ішкі орналастыру үшін.
SSD дискілерінің көпшілігінде бір ұяшықта бірнеше бит сыйымдылығы бар арзан MLC (Multi Level Cell) жады қолданылады. Бұл дайын өнімнің бағасына өте тиімді әсер етеді және осы дискілерді танымал етуге ықпал етеді. Бірақ MLC жадының да үлкен кемшіліктері бар. Бұл SLC (бір деңгейлі ұяшық) жетектеріне қарағанда ұяшықтардың төзімділігі төмен және жазу және оқу жылдамдығы төмен, олар ұяшыққа бір бит жазады және бұл MLC-мен салыстырғанда 10 есеге дейін төзімділікті және 2 есе жылдамдықты қамтамасыз етеді. Сондай-ақ, бір кемшілік бар - SLC жадына арналған дискілердің бағасы MLC жадына арналған дискілерден шамамен екі есе жоғары. Бұл өндіріс шығындарының үлкендігімен байланысты, әсіресе бірдей мөлшердегі SLC чиптері MLC-мен салыстырғанда бірдей көлемге жету үшін орта есеппен екі есе көп уақытты қажет етеді.
SSD контроллері.
Контроллердің негізгі міндеті - оқу жазу операцияларын қамтамасыз ету және мәліметтерді бөлу құрылымын басқару. Ұяшықтарға жазылған және әлі жазылмаған блокты бөлу матрицасына сүйене отырып, контроллер жазу жылдамдығын оңтайландыруы және SSD-дің ең ұзақ қызмет етуін қамтамасыз етуі керек. NAND-жадыны құру ерекшеліктеріне байланысты оның әр ұяшығымен бөлек жұмыс жасау мүмкін емес. Ұяшықтар 4 Кбайт параққа біріктіріледі және ақпаратты парақ толы болған кезде ғана жазуға болады. Сіз 512 КБ-қа тең деректерді блоктармен өшіре аласыз. Барлық осы шектеулер контроллердің дұрыс интеллектуалды алгоритміне белгілі бір жауапкершілік жүктейді. Сондықтан контроллердің дұрыс реттелген және оңтайландырылған алгоритмдері SSD өнімділігі мен ұзақ мерзімін едәуір жақсарта алады.
Контроллерге келесі негізгі элементтер кіреді: - әдетте 16 немесе 32 биттік микроконтроллер. Микробағдарлама нұсқауларын орындайды, Flash, SMART диагностикасы, кэштеу, қауіпсіздікті түзету (ECC) - ECC қателерін бақылау және басқару блогы туралы деректерді араластыруға және туралауға жауап береді. Контроллер - адрестеуді, мәліметтер шинасын және флэш-жад микросхемаларын басқаруды қамтиды. Контроллер - адрестеу, деректер шинасы және DDR DDR2 SDRAM кэш жадыны басқару. O интерфейсі - сыртқы SATA, USB немесе SAS интерфейстеріне деректерді беру интерфейсі үшін жауап береді. Жад - ROM жадынан және буферден тұрады. Жадты процессор микробағдарламаны орындау үшін және деректерді уақытша сақтау үшін буфер ретінде қолданады. Сыртқы оперативті жад микросхемасы болмаған жағдайда, ол SSD үшін жалғыз дерек буфері ретінде жұмыс істейді.
Қазіргі уақытта SSD-де контроллердің келесі модельдері қолданылады:
Indilinx Жалаңаяқ ЭКО IDX110MO1 Жалаңаяқ IDX110M00PC29AS21BA0JMF602JMF61288S S9174-BJP2S3C29RBB01-YK40SF-1200SF- 1500T6UG1XBG
SSD дискінің барлық дерлік көрсеткіштері басқару контроллеріне байланысты. Оның құрамына арнайы микробағдарламалық жасақтама көмегімен барлық жад процестерін басқаратын микропроцессор кіреді; жад микросхемалары мен компьютер шинасы (SATA3, USB) сигналдары арасындағы көпір.
Қазіргі заманғы SSD контроллерінің ерекшеліктері:
Оқу, жазу және кэштеу.
Қателерді түзету (ECC).
Шифрлау (AES).
SMART бақылау мүмкіндігі.
Қара тізімге қосу үшін жұмыс істемейтін блоктарды белгілеп, жазып алыңыз.
Мәліметтерді қысу.
Барлық жад контроллерлері параллель қосылған NAND жадына бағытталған. Бір чиптің жад шинасы өте аз болғандықтан (максимум 16 бит), параллель жалғанған көптеген чиптердің шиналары қолданылады. Сонымен қатар, бір чиптің керемет сипаттамалары мүлдем жоқ, керісінше. Мысалы, енгізу-шығару кідірісі. Жад микросхемалары параллель қосылған кезде, бұл кідірістер жасырылады, олардың арасында бөлінеді. Автобус әрбір қосылған чипке пропорционалды түрде, контроллердің өткізу қабілеттілігінің максимумына дейін өседі.
Көптеген контроллерлер SATA 6 Gb s-ді қолдана алады, бұл 500 мб с жылдамдықтағы деректер алмасу жылдамдығын қолдайтын контроллерлермен бірге оқу жазу өнімділігінің айтарлықтай өсуіне және SSD диск жетегінің әлеуетін толық ашуға мүмкіндік береді.
Кэш жады.
SSD дискілерінде қатты дискілердегі сияқты, тұрақты DRAM чипі түрінде кэш жады қолданылады.
Сурет 3. Кэш жады
Бірақ қатты күйдегі дискілерде оның тағы бір маңызды қызметі бар. Микробағдарламаның бір бөлігі және жиі өзгеретін деректер NAND жадының тозуын азайтып, тозуды азайтады. Кейбір контроллерлерде кэш-жадыны қолдану қарастырылмаған, бірақ олар жылдамдықта жоғары өнімділікке қол жеткізеді.
4. SSD қосуға арналған интерфейстер
Тұтынушы SSD дискілері үшін ең көп таралған интерфейстер - SATA 6Gb s, PCI-Express және USB 3.0. Бұл интерфейстердің барлығы кез-келген SSD диск жетегі үшін қажетті өткізу қабілеттілігін қамтамасыз ете алады.
Ноутбуктер мен планшеттер сияқты портативті құрылғыларда мини PCI-Express (mSATA) интерфейсі бар ең жиі кездесетін ықшам SSD дискілері.
SSD қалай жұмыс істейді
Қатты дискідегі деректер блогын оқу үшін алдымен оның қай жерде екенін есептеу керек, содан кейін магниттік бастардың блогын қажетті жолға жылжытыңыз, қажетті сектор бастың астында болғанша күтіңіз және оқыңыз. Сонымен қатар, қатты дискінің әр түрлі аймақтарына ретсіз сұраныстар кіру уақытына көбірек әсер етеді. Осындай сұраулармен HDD дискілері құймақтың бүкіл бетіне үнемі қозғалуға мәжбүр болады, тіпті командалық кезектің ретін өзгерту әрдайым үнемдей бермейді. SSD-де бәрі қарапайым - біз қажетті блоктың мекен-жайын есептейміз және оған оқуға жазуға бірден қол жеткіземіз. Механикалық операциялар жасалмайды - барлық уақыт мекен-жай аударуға және блокты аударуға кетеді. Флэш-жады, контроллер және фронт тезірек болса, деректерге қол жетімділік тез болады.
SSD дискісіндегі деректерді өзгерту өшіру кезінде бәрі қарапайым емес. NAND флэш-чиптері салаларға арналған операцияларға оңтайландырылған. Флэш-жады 4 КБ блокта жазылады және 512 КБ блокта өшіріледі. Блок ішіндегі бірнеше байтты өзгерткен кезде контроллер келесі әрекеттер тізбегін орындайды:
өзгертілетін блокты қамтитын блокты ішкі буферге кэшке оқиды;
қажетті байттарды өзгертеді;
флэш-жад микросхемасындағы блокты өшіру;
араластыру алгоритмінің талаптарына сәйкес блоктың жаңа орналасуын есептейді;
блокты жаңа орынға жазады.
Бірақ сіз ақпаратты жазып алғаннан кейін, оны тазартпайынша оны жазуға болмайды. Мәселе мынада: жазылған ақпараттың минималды өлшемі 4 КБ-тан кем болмауы керек және деректерді кем дегенде 512 КБ блокта өшіруге болады. Ол үшін контроллер топтастырады және бүкіл блокты босату үшін деректерді тасымалдайды.
HDD-мен жұмыс істеуге арналған ОЖ-ны оңтайландыру осы жерде басталады. Файлдарды өшіру кезінде амалдық жүйе дискідегі секторларды физикалық тазартпайды, тек файлдарды жойылған деп белгілейді және олар алған орынды қайта пайдалануға болатындығын біледі. Бұл диск жетегінің жұмысына кедергі жасамайды және интерфейс жасаушылар бұл мәселеге бұрын мән бермейтін. Бұл жою әдісі HDD дискілерімен жұмыс кезінде өнімділігін жақсартуға көмектеседі, ал SSD дискілерін пайдалану кезінде бұл проблемаға айналады. SSD дискілерімен, әдеттегі қатты дискілер сияқты, деректер амалдық жүйемен жойылғаннан кейін де дискіде сақталады. Бірақ шын мәнінде қатты күйдегі диск сақталған деректердің қайсысы пайдалы, ал қайсысы қажет емес екенін білмейді және барлық алынған блоктарды ұзақ алгоритм бойынша өңдеуге мәжбүр болады.
ОЖ тұрғысынан жойылған операциядан зардап шеккен жад ұяшықтарын тазартқаннан кейін оқыңыз, өзгертіңіз және қайтадан орнына жазыңыз. Сондықтан SSD-де пайдалы деректер қаншалықты көп блоктар болса, соғұрлым сіз тікелей жазудың орнына оқуға өзгертуге анықтауға жазуға жүгінуге тура келеді. Бұл жерде SSD пайдаланушылары файлдарды толтырған кезде дискінің жылдамдығы айтарлықтай төмендейтіндігіне тап болады. Дискінде алдын ала өшірілген блоктар жеткіліксіз. Максималды өнімділік таза дискілермен көрінеді, бірақ олардың жұмыс істеуі кезінде нақты жылдамдық біртіндеп төмендей бастайды.
Бұрын ATA интерфейсінде ОЖ деңгейінде файлдарды жойғаннан кейін мәліметтер блоктарын физикалық тазарту командалары болмады. HDD үшін олар жай талап етілмеді, бірақ SSD пайда болуы осы мәселеге деген көзқарасты қайта қарауға мәжбүр етті. Нәтижесінде, ATA спецификациясы DIMA SET MANAGEMENT жаңа пәрменін ұсынды, ол Trim деген атпен танымал. Ол драйвер деңгейіндегі OC-ге жойылған файлдар туралы ақпаратты жинауға және оны диск контроллеріне беруге мүмкіндік береді.
Әрекетсіздік кезеңінде SSD ОЖ-де жойылды деп белгіленген блоктарды дербес тазартады және дефрагментациялайды. Контроллер алдын-ала өшірілген жад орындарын алу үшін деректерді жылжытады, кейінірек жазу үшін орын босатады. Бұл жұмыс барысында кідірістерді азайтуға мүмкіндік береді.
Бірақ Trim-ді іске асыру үшін бұл пәрменді дискінің микробағдарламасы және ОЖ-де орнатылған драйвер қолдауы керек. Қазіргі уақытта тек SSD-дің соңғы үлгілері TRIM-ді түсінеді, ал ескі дискілерде осы пәрменге қолдау көрсету үшін контроллерді жыпылықтау керек. Операциялық жүйелер арасында Trim пәрменін Windows 7, Windows Server 2008 R2, Linux 2.6.33, FreeBSD 9.0 қолдайды. Басқа амалдық жүйелер үшін қосымша драйверлер мен утилиталарды орнату қажет.
Мысалы, Intel-ден SSD үшін кестеде ОЖ-мен синхрондау процедурасын орындай алатын SSD Toolbox арнайы утилитасы бар. Оңтайландырудан басқа, утилита SSD диагностикасын жүргізуге және барлық компьютерлік дискілердің SMART деректерін қарауға мүмкіндік береді. SMART көмегімен SSD тозуының ағымдағы дәрежесін бағалауға болады - E9 параметрі NAND ұяшықтарын тазарту циклдарының қалған санын стандартты шамадан пайызбен көрсетеді. 100-ден төмендейтін мән 1-ге жеткенде, сынған блоктардың тез пайда болуын күтуге болады.
6. NAND жад ұяшығының құрылғысы
Флэш-жадының кең таралған архитектурасы - NAND архитектурасы (4-сурет), ол логикалық NAND әрекетіне сәйкес келеді. NAND операциясы барлық операндтар нөлге тең болғанда ғана нөлдік мән береді, ал қалған барлық жағдайларда бір мән береді. NAND архитектурасы транзисторларды жалғаудың сериялық әдісін білдіреді, мұнда әр транзистордың ағуы көрші транзистордың көзіне қосылады, ал тізбектей жалғанған бірнеше транзисторлар тізбегінде олардың біреуі ғана биттік сызыққа қосылады. Сонымен қатар, қосылыстың архитектурасын қарастырған кезде біз қалқымалы қақпалы транзисторлар туралы арнайы айтпаймыз.
Сурет 4. NAND архитектурасы
Осындай тізбектей жалғанған транзисторлар тобын қарастырайық (қалқымалы қақпасы жоқ) (5-сурет). Егер барлық транзисторлардың қақпаларындағы басқару кернеуі шекті мәнге тең болса, онда барлық транзисторлар ашық күйде болады және шығыс кернеуі (разрядтық сызықтағы кернеу) төмен болады, бұл логикалық нөлге сәйкес келеді. Егер кем дегенде бір транзистордағы кіріс кернеуі төмен болса (шекті мәннен төмен), яғни, егер кем дегенде бір транзистор құлыпталған күйде болса, онда биттік сызықтағы кернеу жоғары болады, бұл логикалық бірлікке сәйкес келеді. Транзисторлар қақпасындағы кіріс кернеулерінің ақиқат кестесін аламыз (сөз жолындағы кернеулер) және биттік сызықтағы шығыс кернеуі, NAND логикалық функциясының ақиқат кестесіне сәйкес келеді. Сондықтан транзисторларды біріктірудің мұндай схемасы NAND деп аталады.
Сурет 5. NAND схемасы бойынша транзисторларды қосу
NAND қалқымалы қақпасының тізбегінде тізбектей жалғанған транзисторлар тобы екі транзисторлар тобына кәдімгі транзисторлармен (өзгермелі қақпасыз) қосылады, олар транзисторлар тобын екі жерден де, биттен де бөледі. транзисторлардың бүкіл тобын инициализацияланған кезде биттік сызыққа қосыңыз.
NOR архитектурасымен салыстырғанда, бұл архитектура өндірістік процестің ерекшеліктеріне байланысты (көршілес транзисторлардың дренаждары мен көздерін және өткізгіштердің едәуір аз санын біріктіреді) транзисторларды ықшам орналастыруға мүмкіндік береді, демек таразылар да жақсы. Ақпарат ыстық электронды инъекция әдісі арқылы жазылатын NOR архитектурасынан айырмашылығы, NAND архитектурасында жазу NOR архитектурасына қарағанда жылдам жазуға мүмкіндік беретін FN туннельдеу әдісі арқылы жүзеге асырылады.
Әрине, сұрақ туындайды: NAND архитектурасында бір жад ұяшығына қалай кіруге болады (ұяшықтың мазмұнын оқыңыз)? Ақыр соңында, егер мұндай тізбектелген топтағы транзисторлардың ең болмағанда біреуі жабық күйде болса (оны сәйкес транзистордың қалқымалы қақпасында зарядтың болуы деп түсіндіруге болады), онда биттік сызықтағы кернеу басқа жасушалардың күйіне қарамастан жоғары болады. Бір ұяшыққа қол жеткізу үшін транзистордың қақпасына осы ұяшыққа сәйкес келетін кернеу шегін қолдану және разряд сызығындағы кернеуді өлшеу жеткіліксіз. Барлық басқа транзисторлар ашық күйде болуы керек. Ол үшін транзистордың қақпасына жад ұяшығына сәйкес келетін кернеудің шекті мәні қолданылады, оның мазмұны оқылуы керек, ал қалған барлық транзисторлардың қақпаларына шекті мәннен асатын және қалыптастыру үшін жеткілікті кернеу беріледі. қалқымалы қақпада заряд болған кезде де, бірақ зарядтардың кванттық туннелдеуі үшін жеткіліксіз өткізгіш канал. Бұл жағдайда барлық транзисторлар жалғасады және разрядтық сызықтағы кернеу транзистордың қалқымалы қақпасында зарядтың болуы немесе болмауымен анықталады, оған қол жеткізуге болатын жад ұяшығына сәйкес келеді.
Nand флэш-жадының логикалық құрылымы
Жоғарыда атап өткеніміздей, SSD дискілері NAND флэш-жадын пайдаланады, сондықтан болашақта біз тек NAND флэшін қарауға назар аударамыз.
Флэш-жады бір ұяшықты оқуға, жазуға және өшіруге мүмкіндік беретініне қарамастан, бірлік жад ұяшықтарын тиімді пайдалану үшін, олар төрт деңгейлі құрылымы бар массивтерге біріктірілді. Төменгі деңгейде бірлік жады ұяшығы бар, ал 4 КБ мәліметтері бар массивке біріктірілген бірлік ұяшықтары жад парағы деп аталады. Мұндай 128 парақ жадының 512 КБ блогын құрайды (кейде жадының блогында 64 парақ болады), ал 1024 блок 512 МБ массивін құрайды. Сондықтан ұяшықтарды массивтерге біріктірудің логикалық құрылымы өте қарапайым. Парақ қатты дискідегі кластерге (секторға) ұқсайды және флэш-жады өңдей алатын деректердің минималды өлшемін білдіреді. Дегенмен, оқу, жазу және жою әрекеттерін орындау кезінде қатты диск кластері мен флэш-парақ арасындағы түбегейлі айырмашылық бар. Сонымен, егер қатты дискіні кластер оқуға, жазуға және жоюға болатын болса, онда флэш-жадтағы оқу және жазу операциялары 4 Кбайт көлемінде, ал деректерді өшіру тек 512 КБ блоктарда мүмкін болады. Ақпарат параққа жазылғаннан кейін, оны өшірмей (өшірмей) жазуға болмайды.
SSD-дискілерде деректерді жазу операцияларының ерекшеліктері
Сонымен, біз жоғарыда атап өткендей, NAND флэш-жадында мәліметтерді жазу және оқу 4 Кбайт көлемінде, ал деректерді өшіру тек 512 КБ блоктарда мүмкін. Жалпы, SSD дискілеріне ақпарат жазу процесі HDD дискілерімен бірдей процесстен мүлдем өзгеше. Бұл, мысалы, SSD дискілерінің өнімділігі уақыт бойынша өзгеріп отыратындығымен байланысты және флэш-жадыға тізбекті және таңдамалы қол жетімділіктің жылдамдықтары бір-бірінен ерекшеленеді. Осы құбылыстарды түсіндіру үшін HDD және SSD дискілеріндегі жазу процестерін егжей-тегжейлі қарастырайық.
HDD қатты дискілерінде қатты дискіні басқару жүйесі жұмыс жасайтын ең кіші ақпарат бірлігі сектор немесе блок деп аталады. HDD-де сектордың өлшемі 4 КБ (жаңа модельдер) немесе 512 байтты құрайды. Дискідегі секторларды (блоктарды) адреске келтіру үшін LBA (логикалық блокты адрестеу) әдісі қолданылады, мұнда қатты дискідегі әрбір блоктың жеке реттік нөмірі болады - нөлден басталатын бүтін сан (яғни бірінші блок LBA = 0, екінші LBA = 1 және т.б.).
LBA әдісінің артықшылығы - жүйелік контроллерге қатты дискінің геометриясын (цилиндрлер саны, цилиндрлер, цилиндрлердегі секторлар) ескерудің қажеті жоқ.
Енді HDD-ге деректерді жазу процесін қарастырайық. Егер деректер, мысалы, белгілі бір нөмірі бар LBA блогына жазылған болса, онда бұл оның дискідегі белгілі бір жерде (белгілі бір цилиндрде, жолда және секторда) орналасатындығын білдіреді. Бұл блок қанша рет қайта жазылса да, деректер әрқашан дискідегі LBA блок нөміріне сәйкес сол физикалық кеңістікке орналастырылады. Егер мәліметтер LBA-блоктарына әр түрлі сандармен жазылса, бұл олардың дискіде LBA-блоктарының сандарына сәйкес келетін әр түрлі жерлерде орналасатындығын білдіреді. Егер сізге, мысалы, HDD дискісіне файл жазу керек болса, онда ол бастапқыда блоктарға бөлінеді, олардың әрқайсысына белгілі бір логикалық LBA нөмірі беріледі, ал әрбір логикалық LBA нөмірі дискідегі қатты кодталған кеңістікке сәйкес келеді .
Егер деректер жойылса, яғни пайдаланушы файлды амалдық жүйе деңгейінде жойса, онда іс жүзінде олар дискіден жойылмайды, бірақ жай операциялық жүйе деңгейіндегі мәліметтерге сәйкес келетін логикалық LBA мекен-жайлары тегін деп белгіленеді және кейінірек қолдануға болады (деректерді қайта жазуға болады) ... HDD контроллерінің өзі бұл туралы ештеңе білмеуі маңызды, бірақ HDD үшін бұл проблема емес, өйткені HDD үшін LBA блоктарын қайта жазу қиын емес.
SSD дискісі жағдайында бәрі басқаша. Шындығында, SSD дискілерінде мәліметтердің (парақтың) жазылған бөлігінің логикалық саны мен оның флэш-жадындағы физикалық орналасуы арасында бір-біріне сәйкестік болмайды. Деректерді флэш-жадқа жазу беттерде, ал жою тек блоктарда жүзеге асырылатындығын және бұрын қолданылған параққа жазу үшін алдымен оны тазарту (деректерді өшіру) қажет екенін тағы бір еске салайық.
Флеш-жадыда мәліметтер негізінен дәйекті түрде жазылады, яғни флэш-жадтағы келесі бос параққа әрдайым 4 КБ бөліктерінде жазылады. Бұл жазылып жатқан парақтың логикалық мекен-жайын (LBA) физикалық адреске (PBA), яғни флэш-жадтағы орналасқан мекен-жаймен салыстырады.
Логикалық және физикалық адрестердің сәйкестігі үшін (LBA-PBA картографиясы) логикалық және физикалық адрестердің сәйкес келуінің арнайы кестесі арналған. Бұл кесте SSD жедел жадында орналасқан.
Жазу туралы сұрау түскен кезде контроллер бос беттердің тиісті санын бөліп, кестені LBA мен PBA адрестерінің сәйкестігімен толтырады. Егер деректер қайта жазылса (яғни, бұрыннан бар логикалық адрестермен мәліметтерді жазу қажет болса), онда SSD контроллері келесі бос жад беттерін бөледі, ал логикалық және физикалық адрестер арасындағы сәйкестік кестесінде парақтарды белгілейді бұл деректер ескірген ақпаратты қамтитын ретінде бұрын жазылған. Бұл жағдайда ескірген деректері бар парақтардың қайта жазылмауы (HDD дискілеріндегідей) және жойылмағаны маңызды.
Егер деректер жойылса, яғни пайдаланушы файлды операциялық жүйенің деңгейінде жойса, онда HDD дискісіндегідей, деректер дискіден жойылмайды, тек мәліметтерге сәйкес келетін логикалық LBA-адрестер операциялық жүйенің деңгейінде бос деп белгіленеді және оны пайдалануға болады (деректердің орнына жазуға болады). SSD контроллерінің өзі бұл туралы ештеңе білмеуі және тиісті жад парақтарын бос деп есептеуі маңызды. Яғни, тиісті жад беттері LBA және PBA мекен-жайларын салыстыру кестесінде жою үшін белгіленбеген. SSD-ге жазу көбінесе дәйекті, сондықтан жаңа дискке (деректер әлі жазылмаған) және онсыз да толық дискке жазудың арасында үлкен айырмашылық бар. Пайдаланушының көзқарасы бойынша толық диск бос болуы мүмкін екенін ескеріңіз, өйткені дискіден деректерді операциялық жүйе деңгейінде өшіру ол флэш-жадтан шынымен өшірілген дегенді білдірмейді.
Кездейсоқ бос (немесе жартылай бос) SSD-ге жазған кезде бәрі өте қарапайым. Барлық деректер жад парақтарына ретімен жазылады, осылайша жад блоктарын толтырады. Сонымен қатар, егер деректер қайта жазылса да, олар келесі бос жад парақтарына дәйекті түрде жазылады, ал логикалық және физикалық мекен-жай сәйкестік кестесінде бұл мәліметтер бұрын жазылған парақтарда ескірген мәліметтер бар деп белгіленеді (жою үшін белгіленген) .
Әрине, осындай дәйекті жазба алгоритмімен бүкіл диск толы болатын жағдай сөзсіз болады, яғни онда бос парақтары бар блоктар болмайды, тек толтырылған парақтары бар блоктар және жою үшін белгіленген беттері бар блоктар ( 6-сурет) ...
Сурет 6. Бос және толық дискілерге деректерді жазу
Неліктен ескірген деректерді қамтитын және жою үшін белгіленген флэш-жадтың парақтарына жаңа деректер жазбасқа? Мәселе мынада, флэш-жадтың архитектурасында мәліметтерді жадтың бос жатқан орнына жазу үшін алдымен оны тазарту қажет. Алайда, есімізде, егер флэш-жадыда жазу және оқу парақтарда жүзеге асырылса, онда оларды жою тек блоктармен мүмкін болады. Егер бізге жадтың кейбір бетін тазарту қажет болса, онда біз осы парақ орналасқан барлық блокты өшіруіміз керек. Алайда, бұл блокта жою үшін белгіленген екі парақ (ескірген деректері бар беттер) де, жойылуы мүмкін емес соңғы деректері бар парақтар да болуы мүмкін.
Жою үшін белгіленген парақтары бар блоктарды пайдалану үшін бос және қосалқы блоктарды қолданып деректерді беру әдісі қолданылады. SSD-де бос блоктар қалмаса да, деректерді беру үшін әрдайым қосалқы блоктардың белгілі бір саны қолданылады. Ескірген деректері бар парақты жою үшін алдымен сәйкесінше блоктан бос орынға бос мәліметтер блогын жылжыту керек, содан кейін ескірген деректері бар парақтарды қамтитын бүкіл блогты жою қажет. Тиісінше, біз жылжытылған мәліметтермен, жазуға болатын жартылай бос блокты және бос блокты аламыз, ол резервтік блокқа айналады. Алайда, деректердің бұл қозғалысының нәтижесінде SSD дискісіне талап етілгеннен көп мәліметтер жазылуы керек екен. Мысалы, егер сізге тек бір парақ жазу керек болса (4 КБ) және бұл үшін ешқандай бос блок болмаса, онда алдымен жою үшін белгіленген парақтары бар блокты табу керек. Егер жою үшін тек бір парақ белгіленген блок болса, онда қалған 127 парақты осы блоктан резервтік блокқа көшіріп, оны жазылуы керек бір парақпен толықтыру қажет. Содан кейін жою үшін белгіленген парағы бар блок жойылады және сақталады. Бір парақты (4KB) жазу үшін 128 бет (512KB) жазу керек екен, бұл уақытты бүкіл блокты оқып, оны өшіруге кететінін есептемейді. Сондықтан жаңа дискіге (деректер ешқашан жазылмаған) және толық дискіге жазу жылдамдығы түбегейлі өзгеше болуы мүмкін. Бос және толық дискілерге жазу жылдамдығының түбегейлі айырмашылығын атап көрсету үшін Жазуды күшейту сияқты индикатор қолданылады, бұл шынымен талап етілгеннен қанша есе көп мәліметтер жазуға тура келетінін көрсетеді. Бос дискіге жазған кезде жазудың күшеюі бірге тең, ал толық дискіге жазған кезде ол әрқашан біреуінен үлкен болады - оның мәні 2-ден 25-ке дейін өзгеруі мүмкін.
Қарастырылған мысал біршама идеалдандырылған - шын мәнінде, деректерді жылжыту механизмі, яғни жою үшін белгіленген парақтары бар блоктардан құтылу, диск толтырылған кезде қолданылады, бос және қосалқы блоктар. Бұл процедура қоқысты жинау деп аталады.
Қоқыстарды жинау процедурасының әр түрлі алгоритмдері бар және олардың арасындағы айырмашылық деректерді жылжыту үшін қолданылатын блоктың таңдалуында. Бұл жою үшін белгіленген, мүмкіндігінше көп жад парағын қамтитын блок болуы керек екендігі түсінікті. Бұл жағдайда жазу операцияларының санын азайтуға және сол арқылы Жазуды күшейту индикаторын азайтуға болады. Сонымен қатар, флэш-жад ұяшықтарын қайта жазуға арналған циклдар саны шектеулі екенін ескере отырып, жою үшін белгіленген беттер саны көп блокты таңдай отырып, қоқысты жинау процедурасы SSD-дің қызмет ету мерзімін ұзарта алады.
Жою үшін белгіленген парақтардың максималды саны бар блокты таңдауға не кедергі болатын сияқты. Бірақ бұл үшін сіз LBA-PBA корреспонденция кестесін толығымен қарауыңыз керек, бірақ бұл контроллер үшін өте көп уақытты қажет ететін процесс, бұл процессордың көптеген циклдарын қажет етеді. Жою үшін блоктарды таңдаудың бұл әдісі оңтайлы емес және өнімділіктің төмендеуіне әкеледі, сондықтан барлық алгоритмдер блоктар талданбаған кезде қолданылады, бірақ олардың кейбіреулері ғана (блок терезесі) ең жоғары ықтималдығы бар блокты қамтиды жою үшін белгіленген парақтар саны.
Енді сіз деректерді жылжыту үшін пайдаланылатын қосалқы блоктардың қайдан алынғанын білуіңіз ... жалғасы
Ұқсас жұмыстар
Пәндер
- Іс жүргізу
- Автоматтандыру, Техника
- Алғашқы әскери дайындық
- Астрономия
- Ауыл шаруашылығы
- Банк ісі
- Бизнесті бағалау
- Биология
- Бухгалтерлік іс
- Валеология
- Ветеринария
- География
- Геология, Геофизика, Геодезия
- Дін
- Ет, сүт, шарап өнімдері
- Жалпы тарих
- Жер кадастрі, Жылжымайтын мүлік
- Журналистика
- Информатика
- Кеден ісі
- Маркетинг
- Математика, Геометрия
- Медицина
- Мемлекеттік басқару
- Менеджмент
- Мұнай, Газ
- Мұрағат ісі
- Мәдениеттану
- ОБЖ (Основы безопасности жизнедеятельности)
- Педагогика
- Полиграфия
- Психология
- Салық
- Саясаттану
- Сақтандыру
- Сертификаттау, стандарттау
- Социология, Демография
- Спорт
- Статистика
- Тілтану, Филология
- Тарихи тұлғалар
- Тау-кен ісі
- Транспорт
- Туризм
- Физика
- Философия
- Халықаралық қатынастар
- Химия
- Экология, Қоршаған ортаны қорғау
- Экономика
- Экономикалық география
- Электротехника
- Қазақстан тарихы
- Қаржы
- Құрылыс
- Құқық, Криминалистика
- Әдебиет
- Өнер, музыка
- Өнеркәсіп, Өндіріс
Қазақ тілінде жазылған рефераттар, курстық жұмыстар, дипломдық жұмыстар бойынша біздің қор #1 болып табылады.
![google play](assets/img/google-play-badge.png)
Ақпарат
Қосымша
Email: info@stud.kz