Синхрона динамичка меморија са случајним приступом
Синхрона динамичка меморија са случајним приступом (Synchronous dynamic random access memory - SDRAM) је динамичка меморија случајног приступа (DRAM) која је синхронизована са системским магистралама. Класични DRAM има асинхрони интерфејс, што значи да одговара што је могуће брже на промене у контролним улазима. SDRAM има синхрони интерфејс, што значи да он чека на сигнал генератора такта пре него што реагује на контролу улаза и зато се синхронизује са рачунарским системским магистралама. Генератор такта се користи за интерно коначно стање машине са прихватањем долазних команди. Простор за складиштење података је подељен у неколико банака, што омогућава чипу да ради на неколико меморијских приступних команди у једном тренутку, убачених у одвојене банке. Ово омогућава веће опсеге приступних података у односу на асинхрони DRAM.
Pipeline (pipeline је скуп елемената за обраду података повезаних у серији, где је излаз једног елемента улаз на следећи). Pipeline омогућава да чип може да прихвати нову команду пре него што је завршио обраду претходне. У pipeline писању, написану команду може одмах да следи још једна команда, без чекања на писање података на меморијски низ. У pipeline читању, затражени подаци се појављују након одређеног броја циклуса генератора такта после читања команде (латентно), циклуси генератора такта за време којих се могу послати додатне команде. (Ово кашњење се зове латенција и важан је извршни параметар у разматрању приликом куповине SDRAM за рачунар.)
SDRAM се широко користи у рачунарима; од оригиналног SDRAM, даље кроз генерације DDR (или DDR1), а затим су кроз DDR2 и DDR3 ушли масовно на тржиште, и са DDR4 који се тренутно дизајнира и који је предвиђен да буде доступан 2014. године.
SDRAM историја
[уреди | уреди извор]![](http://upload.wikimedia.org/wikipedia/commons/thumb/8/8b/SDR_SDRAM-1.jpg/220px-SDR_SDRAM-1.jpg)
Иако је концепт синхроног DRAM pознат од најмање 1970. године и коришћен је у раним Intel процесорима, он је био активан само до 1993. године, када је SDRAM почео свој пут ка универзалном прихватању у електронској индустрији. Године 1993, Samsung је представио свој KM48SL2000 синхрони DRAM, и до 2000, SDRAM меморија је због бољих перформанси заменила готово све остале врсте DRAM-а у модерним рачунарима.
SDRAM латенција суштински није нижа (бржа) од асинхроног DRAM-а. Заиста, рани SDRAM је био нешто спорији него савремени рафал EDO DRAM због додатне логике. Предности SDRAM-овог интерног баферовања долази због његове способности да убаци операције на више банака меморије, чиме се повећава ефикасни пропусни опсег.
Данас, готово сви SDRAM-ови су произведени у складу са стандардима који су установљени од стране JEDEC, електронског индустријског удружења, које усваја отворене стандарде за олакшавање интероперабилности електронских компоненти. JEDEC је формално усвојио свој први SDRAM стандард 1993. године, а потом је усвојио и друге SDRAM стандарде, укључујући и оне за DDR, DDR2 и DDR3 SDRAM.
SDRAM је такође доступан у регистрованим варијантама, за системе који захтевају већу скалабилност, као што су сервери и радне станице.
Данас, највећи светски произвођачи SDRAM-a су: Samsung Electronics, Panasonic, Micron Technologi и Hinik.
SDRAM тајминг
[уреди | уреди извор]Постоји неколико ограничења DRAM перформанси. Већина истиче да је то временски циклус читања, време између узастопних читања операција у отвореном реду. Ово време је смањено са 10 ns за 100 MHz SDRAM на 5 ns за DDR-400, али је остало релативно непромењено кроз генерације DDR2-800 и DDR3-1600. Међутим, оперативним интерфејс колима у све већим мултипликаторима фундаменталног опсега читања, остварив проток је нагло порастао.
Друго ограничење је CAS латенција, време између снабдевања адресне колоне и пријема одговарајућих података. Опет, ово је остало релативно константно на 10-15 ns за неколико последњих генерација DDR SDRAM.
При раду, CAS латенција је одређени број циклуса генератора такта програмираних у SDRAM-овом мод регистру и очекивана је од DRAM контролера. Свака вредност може да се програмира, али SDRAM неће исправно да ради ако је вредност сувише ниска. На већим опсезима генератора такта, коришћена CAS латенција у циклусима генератора такта се природно повећава. 10-15 ns је 2-3 циклуса (CL2-3) од 200 MHz генератор такта DDR-400 SDRAMa, CL4-6 za DDR2-800, и CL8-12 за DDR3-1600. Спорији циклус генератора такта ће природно омогућути ниже бројеве CAS латенционих циклуса.
SDRAM модули имају своје сопствене временске спецификације, које могу бити спорије од чипова на модулу. Када су се 100 MHz SDRAM чипови први пут појавили, неки произвођачи су продали "100 MHz" модуле који нису могли да раде поуздано у том опсегу генератора такта. Као одговор, Intel је објавио PC100 стандард, који утврђује услове и смернице за производњу меморијских модула који могу поуздано да раде на 100 MHz. Овај стандард је јако утицајан, а термин "PC100" је брзо постао заједнички идентификатор за 100 MHz SDRAM модуле, а модули су сада обично означени са "PC"-префиксом бројева (PC66, PC100 или PC133 - иако се стварно значење бројева променило).
SDR SDRAM
[уреди | уреди извор]![](http://upload.wikimedia.org/wikipedia/commons/thumb/8/89/Micron_48LC32M8A2-AB.jpg/220px-Micron_48LC32M8A2-AB.jpg)
Првобитно једноставно познат као SDRAM, single data rate (SDR) SDRAM може да прихвати једну команду и пренесе једну реч података по циклусу генератора такта. Типичне фреквенције генератора такта су 100 и 133 MHz. Чипови су направљени са различитим величинама магистралних података (најчешће 4, 8 или 16 бита), и чипови си обично монтирају у 168-пин DIMM-ове да читају или пишу 64 (non-ECC) или 72 бита (ECC) у времену.
Коришћење магистрале података је сложено и стога захтева сложено DRAM Controller коло. То је зато што подаци написани на DRAM-у морају да буду представљени у истом циклусу као команда уписивања, и чита произведе излаза 2 или 3 циклуса након команде за читање. DRAM контролер мора да обезбеди да магистрални подаци никада не захтевају истовремено читање и писање.
Типични SDR SDRAM опсези генератора такта су 66, 100, и 133 MHz (периоди 15, 10, и 7.5 ns). Опсези горњег генератора такта до 150 MHz су били доступни за перформансе ентузијаста.
SDRAM контролни сигнали
[уреди | уреди извор]Све команде су временске у односу на растуће ивице сигнала генератора такта. Додатно у генератору такта постоје 6 контролних сигнала, углавном ниске активности, које су узорковане на растућу ивицу генератора такта:
- CKE Clock Enable. Када је овај сигнал низак, чип се понаша као да је стао генератор такта. Ниједна од команди се не тумачи и команда латенција времена не пролази. Стање осталих контролних линија није релевантно. Ефекат овог сигнала је заправо кашњење од стране једног циклуса генератора такта. То јест, тренутни циклус генератора такта наставља да функционише као и обично, али следећи циклус генератора такта се игнорише, осим што се опет тестира CKE улаз. Нормалне операције се настављају на растућој ивици генератора такта после оне у којој је CKE узорак висок.
Другим речима, све друге чип операције су временски односне на растућу ивицу маскирног генератора такта. Маскирани генератор такта је логичко И улазног генератора такта и стања CKE сигнала током претходне растуће ивице улазног генератора такта.
- /CS Chip Select. Када је овај сигнал висок, чип игнорише све друге инпуте (осим CKE), а делује као да је команда NOP примљена.
- DQM Data Mask. (Слово Q се појављује зато што су, следеће дигиталне логичке конвенције, линије података познате као "DQ" linije.) Kada je on visok, ovi signali potiskuju podatke У/И. Kada prati upisivanje podataka, podaci zapravo nisu napisani na DRAM-у. Када се потврде два висока циклуса пре циклуса читања, подаци читања нису излаз из чипа. Постоји једна линија DKM по 8 бита на к16 меморијском чипу или DIMM-u.
Командни сигнали
[уреди | уреди извор]- /RAS Row Address Strobe. Упркос имену, то није строб, већ једноставно битна команда. Уз /CAS и /VE, она бира једну од 8 команди.
- /CAS Column Address Strobe. Упркос имену, то није строб, већ једноставно битна команда. Уз /RAS и /VE, она бира једну од 8 команди.
- /WE Write enable. Уз /RAS и /CAS, ona bira jednu od 8 komandi. To obično razlikuje komande čitanje-poput od komande pisanje-poput.
Bank Selection (BAn)
[уреди | уреди извор]SDRAM уређаји су интерно подељени на било 2, 4 или 8 независних интерних банака података. Један до три банке адресних улаза (BA0, BA1 i BA2) се користе за избор која банка команда је усмерена у правцу.
Адресирање (A10/An)
[уреди | уреди извор]Многе команде такође користе адресе представљене на адреси улазних пинова. Неке команде, које или не користе адресе, или представљају колоне адресе, такође користе А10 за избор варијанте.
Команде
[уреди | уреди извор]Команде су дефинисане као:
/CS | /RAS | /CAS | /WE | BAn | A10 | An | Команда |
---|---|---|---|---|---|---|---|
H | x | x | x | x | x | x | Команда спречена (Нема операције) |
L | H | H | H | x | x | x | Нема операције |
L | H | H | L | x | x | x | Рафални режим: зауставити рафално читање или писање које је у току. |
L | H | L | H | bank | L | column | Читати: читати рафалне податке из тренутно активног реда. |
L | H | L | H | bank | H | column | Читати са ауто precharge(претходни набој): као горе, и прецхарге (затворени ред) када заврши. |
L | H | L | L | bank | L | column | Писати: писати рафалне податке из тренутно активног реда. |
L | H | L | L | bank | H | column | Писати са ауто precharge(претходни набој): као горе, и прецхарге (затворени ред) када заврши. |
L | L | H | H | bank | row | Активно (активирати): отоворити ред за команде Читати и Писати. | |
L | L | H | L | bank | L | x | Precharge: Напуњено: Деактивирати (затворити) текући ред селектоване банке. |
L | L | H | L | x | H | x | Укупна напуњеност: Деактивирати (затворити) текући ред свих банака. |
L | L | L | H | x | x | x | Аутоматско освежавање: Освежити један ред сваке банке, коришћењем интрерног бројача. Све банке морају да буду напуњене. |
L | L | L | L | 0 0 | mode | Оптерећени мод регистар: А0 кроз А9 се учитавају за конфигурацију DRAM чипа. Најзначајније поставке су CAS latency (2 or 3 cycles) латенција (2 или 3 циклуса) и коначна дужина (1, 2, 4 или 8 циклуса). |
Све SDRAM генерације (SDR и DDRx) користе суштински исте команде, са променама које су:
- Додатни адресни битови да подрже веће уређаје
- Додатне банке изабраних битова
- Шири мод регистри (DDR2 и користе горе до 13 бита, A0-A12)
- Додатни проширени мод регистри (изабрани од стране Банке адресних битова)
- DDR2 брише команду Рафални Режим; DDR3 га поново означава као "ZK калибрација“
SDRAM конструкција и функционисање
[уреди | уреди извор]512 MB SDRAM DIMM (који садржи 512 MiB (mebibytes) = 512 × 220 бајта = 536.870.912 бајтова тачно), може да буде од 8 или 9 SDRAM чипова, од којих сваки садржи 512 Mbit складиштења, а сваки од њих доприноси са 8 битова за DIMM и са 64 - или 72-бит ширином. Типичан 512 Mbit SDRAM чип интерно садржи 4 независне 16 MB (MiB) меморијске банке. Свака банка је низ од 8,192 реда, 16.384 бита сваки. Банка је или у стању мировања, или је активна, или се мења од једне до друге варијанте.
Активна команда активира неискоришћену банку. Она представља 2-битну адресу банке (BA0 BA1) и 13-битну редну адресу (А0 А12), и изазива читање тог реда у банковном низу свих 16.384 колона чулним појачалима. Ово је такође познато као „отварање“ реда. Ова операција има споредни ефекат освежавања динамичких (капацитивних) складишних меморијских ћелија тог реда.
Када је ред активиран или „отворен“, команде Чита и Пише су могуће у том реду. Активација захтева минимални износ времена, који се зове кашњење реда-на-колону, или tRCD пре него што се на њему може јавити читање или писање. Ово време, заокружено на наредни умножак периода генераторског такта, наводи минимални број циклуса чекања између Активне команде, и команде Чита или Пише. Током ових циклуса чекања, додатне команде се могу послати на другим банкама, јер свака банка послује потпуно независно.
Обе команде, Читај и Пиши, захтевају адресу колоне. Зато што сваки чип приступа 8 битним подацима у исто време, зато постоје 2048 могућих адреса колона које захтевају само 11 адресних линија (A0 A9, A11).
Када је издата команда Читај, SDRAM ће произвести одговарајуће излазне податке на DQ линијама у време раста ивица генератора такта 2 или 3 циклуса генератора такта касније (у зависности од конфигурисане латенције CAS). Накнадне речи рафала ће се производити у време наредних растућих ивица генератора такта.
Команда Пиши је пропраћена подацима који ће бити уписани на диск на DQ линијама у времену истог раста ивица генераторског такта. Дужност је меморијског контролера да обезбеди да SRDAM не води податке читања на DQ линије у исто времену када он треба да води податке писања на тим линијама. Ово се може урадити чекањем док се не заврши рафал читања, окончањем рафала читања, или помоћу ДQМ контролних линија.
Када меморијски контролер треба да приступи другом реду, он прво мора да врати и појача осећај банке ка неактивном стању, и да она буде спремна да осети следећи ред. Ово је познато као "precharge" операција, или „затварање“ реда. Precharge може да буде извршен експлицитно, или може да се изврши аутоматски при закључењу операција читај или пиши. Опет, постоји минимално време, Precharge Delay ред, tRP, које мора да протекне пре него што та банка не постане потпуно бескорисна и она може да прими још једну активирану команду.
Иако је освежавање реда аутоматски споредни ефекат његовог активирања, постоји минимално време да се то догоди, које захтева минимално редно приступно временско кашњење tRAS између Активне команде која отвара ред и одговарајуће precharge команде која га затвара. Ово ограничење је обично релативно мало у односу жељене команде читања и писања у реду, тако да његова вредност има мало утицаја на типичне перформансе.
Командне интеракције
[уреди | уреди извор]Команда без операција је увек дозвољена.
Оптерећени режим регистарских команди захтева да све банке буду у стању мировања, и кашњење након тога мора да омогуће да промене буду делотворне.
Команда аутоматског освежавања такође захтева да све банке буду у стању мировања, а потребно је време освежавања циклуса tRFC да врати чип у статус приправности. (Ово време је обично једнако tRCD+tRP.)
Једина друга команда која је дозвољена за банку мировања је активна команда. Ово узима, као што је већ поменуто, tRCD пре него што се ред потпуно отвори и може да прихвати команде читати и писати.
Када је банка отворена, постоје четири дозвољене команде: читати, писати, рафални режим, и precharge. Команде читати и писати почињу рафално, могу се прекинути помоћу следећих команди.
Прекид рафалног читања
[уреди | уреди извор]Команда читање, рафални режим, или precharge, може да буде издата у било које време након команде читати, и прекинуће рафално читање после конфигурисане CAS латенције. Дакле, ако се команда читати даје на циклусу 0, друга команда читати даје се на циклусу 2, а CAS латенција је на 3, онда прво команда читати ће почети са рафалним подацима током циклуса 3 и 4, и тада ће се резултати из друге команде читања појавити почевши од 5. циклуса.
Ако је команда која се емитује на циклусу 2 у рафалном режиму, или прецхарге од активне банке, онда нема излаза који ће бити генерисан током циклуса 5.
Иако прекинуто читање може да буде на било којој активној банци, команда precharge ће само прекинути рафал читања ако је у истој банци или свим банкама; команда precharge у другој банки неће прекидати рафал читања.
Прекид рафалног читања помоћу команди писати је могуће, али је теже. То може да се уради, ако се DQM сигнал користи за потискивање излаза из SDRAM, тако да меморијски контролер може водити податаке преко DQ линија на SDRAM у времену писања операције. Пошто ефекти DQM на подацима читања касне за 2 циклус, то су ефекти DQM на подацима писања непосредни, а DQM мора бити подигнут (да маскирај прочитане податке) са почетком у најмање два циклуса пре команде писања, али мора да се спусти за циклус команде писања (под претпоставком да се жели да команда писати има ефекта).
На тај начин се само у два циклуса генератора такта захтева пажљива координација између времена SDRAM потребног за искључење његовог излаза на ивици генератора такта и време када се подаци морају испоручуити као улаз за СДРАМ за писати на следећој ивици генератора такта. Ако је фреквенција генератора такта сувише висока да омогући довољно време, може да се деси потреба за три циклуса.
Ако команда читање укључује аутоматски-precharge, precharge почиње исти циклус као команда прекида.
SDRAM рафалне наредбе
[уреди | уреди извор]Модеран микропроцесор са кешом ће генерално приступити меморији у јединицама кеш линија. При преносу, 64-бајт кеш линија захтева 8 узастопних приступа на 64-битном DIMM-у, који може цео да се активира једном командом читати или писати помоћу комфигурације SDRAM чипова, коришћењем мод регистра, у обављању 8-речног рафала.
Доношење кеш линија је обично изазвано читањем из одређене адресе, и SDRAM омогућава да се „критична реч“ кеш линије прва преноси. ("Реч“ се овде односи на ширину SDRAM чипа или DIMM, која има 64 бита за типични DIMM.) SDRAM чипови подржавају две могуће конвенције за наручивање преосталих речи у кеш линији.
Рафал увек приступа сврставању блок BL узастопних речи почевши од умношка BL. Тако, на пример, 4-речни рафални приступ свакој адресној колони од 4 до 7 ће вратити речи 4 7. Наредба, међутим, зависи од захтеване адресе, и конфигурисаног типа рафалне опције: секвенцијална или уметање. Типично, меморијски контролер ће захтевати једно или друго.
Када је дужина рафала 1 или 2, тип рафала није битан. За дужине рафала од 1, захтевана реч је само приступна реч. За дужину рафала од 2, захевана реч приступа прва, а друга реч у блоку сврставања приступа друга. Ово је следећа реч ако је адреса наведена, а претходна реч ако је наведена непарана адреса.
За секвенцијални рафални мод, касније речи приступају у повећаном адресном реду, који се пакује назад на почетак блока када се дође до краја. Тако, на пример, за дужину рафала од 4, и захтеване колоне адресе 5, речи ће приступати у редоследу 5-6-7-4. Ако је дужина рафала била 8, приступни ред би био 5-6-7-0-1-2-3-4. То се ради додавањем бројача на колони адресе, и игнорише се пренос из прошлости и дужина рафала.
Убачени рафални мод израчунава адресу помоћу ексклузивности или операција између бројача и адресе. Користећи исту почетну адресу од 5, 4-речни рафал ће вратити речи у редоследу 5-4-7-6. 8-речни рафал ће бити 5-4-7-6-1-0-3-2. Иако то више збуњује људе, то може бити лакше за спровођење у хардверу, и преферира се од стране Intel микропроцесора.
Ако је захтевана колона адресе на почетку блока, оба рафал мода враћају податке у истом редоследу секвенцијалне секневце 0-1-2-3-4-5-6-7. Разлика је једино битна ако је доношење кеш линије из меморије у критична-реч-први ред.
SDRAM мод регистар
[уреди | уреди извор]Једна брзина података SDRAM има један 10-битни програмабилни мод регистар. Касније, двострука брзина података SDRAM стандардизује додатак додатних мод регистра, који су адресирани коришћењем банковних адресних пинова. За SDR SDRAM, банка адресних пинова и адресе линија А10 и горње, се игноришу, али би требало да буде нула за време мод регистра писати.
Битови М9 кроз М0 су представљени на адресним линијама А9 кроз А0 за време оптерећеног мод регистра циклуса.
- M9: Напиши рафални мод. Ако је 0, напиши користи рафалну дужину читања и мод. Ако је 1, сви уписи су не-рафални (сингл локација).
- М8 , М7: Мод рад. Резервисан, и мора бити 00.
- M6, M5, M4: CAS латентнција. Генерално само 010 (CL2) и 011 (CL3) су легални. Одређује број циклуса између команде читања и излазних података из чипа. Чип има фундаментални лимит на овој вредности у наносекундама; за време иницијализације, меморијски контролер мора да користи своје знање о фреквенцији генераторског такта да би превео тај лимит у циклусе.
- М3: Рафални тип. 0 - захтева секвенцијалне рафалне наредбе, док 1 захтева убачене рафалне наредбе.
- М2 , М1 , М0: Рафална дужина. Вредности 000, 001 , 010 и 011 одређују рафалну величину од 1, 2, 4 или 8 речи. Свако читати (и писати, ако је М9 једнако 0) извршиће те многе приступе, осим ако није било прекида заустављањем рафала или друге команде. Вредност од 111 наводи пун-редни рафал. Рафал ће наставити све док не дође до прекида. Пуни-радни рафали су дозвољени само уз секвенцијални тип рафала.
Каснији (двострука брзина преноса података) SDRAM стандарди користе више мод регистарских битова, и обезбеђују додатне мод регистре који се зову Проширени Мод регистри. Регистарски број је кодиран на банци адресних пинова током команде Оптерећени Мод Регистар. На пример, DDR2 SDRAM iма 13-битни Мод Регистар, 13-бит Проширени Мод Регистар #1 (EMR1), и 5-битни Проширени Мод Региста #2 (EMR2).
Аутоматско освежавање
[уреди | уреди извор]Могуће је да се освежи RAM чип отварањем и затварањем (активирање и precharging) сваког реда у свакој банци. Међутим, да би се поједноставио меморијски контролер, SDRAM чипови треба да подрже "Auto Refresh" команду, која обавља ове операције у једном реду у свакој банци истовремено. SDRAM такође одржава интерни бројач, који се примењује преко свих могућих редова. Меморијски контролер мора једноставно да изда довољан број Ауто Освежавајућих команди (једна по реду, 4096 у примеру који је коришћен) сваког освежавајућег интервала (tREF = 64 ms је уобичајена вредност). Све банке морају бити у стању мировања (затворене, прецхаргед) када се издаје ова команда.
Мод ниске моћи
[уреди | уреди извор]Као што је поменуто, генераторски такт омогућеног (CKE) улаза се може користити за ефикасно заустављање генератора такта у SDRAM. CKE улаз је узоркован сваком растућом ивицом генераторског такта, а ако је он низак, следећа растућа ивица генераторског такта се игнорише за све друге сврхе осим провере CKE. Докле год је CKE низак, то је дозвољено да се промени генераторсли такт, или чак да се генераторсли такт зауставити у потпуности.
Ако је CKE низак док SDRAM обавља операције, он се једноставно „замрзне“ у месту док се ЦКЕ поново не подигне.
Ако је SDRAM неактиван (све банке су затворене, ниједна команда у току) када је CKE низак, SDRAM аутоматски улази у напајајући-доњи мод, узимајући минимално напајање све док се CKE поново не подигне. Ово не сме да траје дуже од интервала максималног освежавања tREF, или садржај меморије може да се изгуби. Дозвољено је да се заустави генераторски такт у потпуности за ово време ради додатне уштеде снаге.
Коначно, ако је CKE снижен у исто време када је команда аутоматског освежавања послата на SDRAM, тада SDRAM улази само-освежавајући мод. То је као снага надоле, али SDRAM користи на-чип тајмер за генерисање интерних циклуса освежавања по потреби. Генератор такта може бити прекинут током овог времена. Докле само-освежавајући мод троши нешто више снаге од снаге-доњег мода, што омогућава да меморијски контролер буде потпуно онемогућен, и што обично више него прави горњу разлику.
SDRAM који је дизајниран за уређај са батеријским напајањем нуди неке додатне опције за уштеду енергије. Једна је температурно-зависно освежавање: на-чипу температурни сензор смањује брзину освежавања на нижим температурама, пре него што изврши најгори случај брзине. Друга је селективно освежавање, које ограничава само-освежавање у делу DRAM низа. Фракција која је освежена конфигурисана је коришћењем проширеног мод регистра. Трећа, реализована у Mobile DDR (LPDDR) i LPDDR2 је „дубоко доле снага“ мод, који поништава меморију и захтева пуну реиницијализацију да би из ње изашла. Ово се активира слањем команде „рафални режим“ док се снижава CKE.
Генерације SDRAM
[уреди | уреди извор]SDR SDRAM (синхрони DRAM са брзином једне речи)
[уреди | уреди извор]Овај тип SDRAM је спорији од DDR варијанти, зато што се само једна реч података преноси по циклусу генератора такта (брзина једног податка). Али овај тип је такође бржи од претходника EDO-RAM и FPM-RAM који узимају типично 2 или 3 генератора такта у преносу једне речи података.
DDR1 SDRAM
[уреди | уреди извор]Иако је приступна латенција DRAM-а у основи ограничена DRAM низом, DRAM има веома висок потенцијал пропусног опсега, јер је свако унутрашње читање заправо ред много хиљада битова. Више од овог расположивог пропусног опсега понуђен је корисницима, тако што је развијен интерфејс двоструке брзине података. Он користи исте команде, које су прихваћене једном по циклусу, али чита или пише две речи података по циклусу. DDR интерфејс то постиже читањем и писањем података и на предњој и на задњој ивици сигнала генератора такта. Поред тога, неке мање промене SDR интерфејс тајминга су направљене у овој перспективи, а напајање је смањено са 3,3 на 2,5 V. Као резултат тога, DDR није компатибилан са SDR SDRAM.
Типични DDR SDRAM генератори такта су вредности 133, 166 и 200 MHz (7.5, 6 и 5 и ns/циклус), и обично се описује као DDR-266, DDR-333 и DDR-400 (3.75, 3 и 2.5 нс и по биту). Одговарајући 184-пин DIMM-ови су познати као PC-2100, PC-2700 и PC-3200. Перформансе до DDR-550 (PC-4400) су ценовно повољне.
DDR SDRAM (неки пут назван DDR1 за велику јасноћу) удвостручује минималну јединицу читања или писања; сваки приступ се односи на најмање две узастопне речи.
DDR2 SDRAM
[уреди | уреди извор]DDR2 је веома сличан DDR SDRAM, али поново удвостручује минималну јединицу читати или писати, до 4 узастопних речи. Магистрални протокол је такође поједностављен да би дозволио више перформансних операција. (Конкретно, команда „рафални режим“ се брише.) Ово омогућава да магистрална брзина SDRAM буде удвостручена без повећања брзине генератора такта унутрашњих RAM операција; уместо тога, унутрашње операције се обављају у јединицама 4 пута широке као SDRAM. Такође, екстра банка адресни пин (BA2) је додат да дозволи 8 банака на великим RAM чиповима.
Типичне вредности DDR2 SDRAM генератор такта су 200, 266, 333 или 400 MHz (периоди 5, 3,75, 3 и 2,5 ns), и генерално су описани као DDR2-400, DDR2-533, DDR2-667 и DDR2-800 (периоди 2.5, 1.875, 1.5 и 1,25 ns). Одговарајући 240-пин DIMM-ови су познати као PC2-3200 кроз PC2-6400. DDR2 SDRAM је сада доступан на брзини генератора такта од 533 MHz генерално описаног као DDR2-1066 и одговарајући DIMM-ови су познати као PC2-8500 (такође назван PC2-8600 у зависности од произвођача). Перформансе до DDR2-1250 (DDR2-10000) су ценовно доступне.
Треба имати на уму да због унутрашњих операција са 1/2 брзине генератора такта, DDR2-400 меморија (Internal Clock Rate 100 MHz) има нешто већу латенцију од DDR-400 (Internal Clock Rate 200 MHz).
DDR3 SDRAM
[уреди | уреди извор]DDR3 наставља тренд удвостручења минималне читати или писати јединице са 8 узастопних речи. Ово омогућава још једно дуплирање пропусног опсега и спољне магистралне брзине, без потребе за променом брзине генератора унутрашњих операција, само ширином. За одржавање 800-1600 М трансфера/s (обе ивице на 400-800 MHz генераторског такта), интерни RAM низ мора да изврши 100-200 М преузимања у секунди.
Опет, са сваким дуплирањем, мана је повећана латенција. Као и код свих DDR SDRAM генерација, команде су и даље ограничене на једну ивицу генераторског такта и команде латенције су дате у изразу циклуса генератора такта, који су пола брзине од обично цитиране брзине преноса (CAS латенција од 8 са DDR3-800 je 8/(400 MHz) = 20 ns, иста латенција од CAS2 на PC100 SDR SDRAM).
DDR3 меморијски чипови се праве комерцијално,[2] и рачунарски системи који их користе били су доступни од друге половине 2007. године,[3] са значајном употребом од 2008. године па на даље.[4] Почетне брзине генераторског такта биле су 400 i 533 MHz, које су описане као DDR3-800 и DDR3-1066 (PC3-6400 и PC3-8500 модули), а 667 и 800 MHz, описани као DDR3-1333 и DDR3-1600 (PC3-10600 и PC3-12800 модули) су сада уобичајени.[5] Перформансе до DDR3-2800 (PC3 22400 модули) су ценовно доступни.[6]
DDR4 SDRAM
[уреди | уреди извор]DDR4 SDRAM је наследник DDR3 SDRAM. Откривен је од стране Intel Developer Forum у Сан Франциску 2008. године, а требало је да буде пуштен на тржиште током 2011. године. Тајминг је значајно варирао током свог развоја - првобитно је очекивано да буде пуштен 2012. године,[7] а касније (током 2010. године) се очекивало да буде пуштен 2015. године,[8] пре него што су узорци најављени почетком 2011. године, а произвођачи су почели са објавама да је комерцијална производња и пуштање на тржиште предвиђено 2012. године. Очекује се да DDR4 достигне масовно тржиште око 2015. године, што је упоредиво са DDR3 који је за око 5 година постигао масовну транзицију на тржишту у односу на DDR2.
За нове чипове се очекује да раде на 1,2 V или мање,[9][10] у односу на 1,5 V за DDR3 чипове, и имају више од 2 билиона преносних података у секунди. Очекује се да ће бити уведени са фреквентним брзинама од 2133 MHz, са проценом да расту до потенцијалних 4266 MHz[11] и смањеног напона од 1,05 V[12] до 2013. године.
DDR4 неће поново удвостручити унутрашњу претходно донету ширину, али ће користити исти претходно донети 8N као DDR3.[13] Тако, биће потребно да се убаци читање из неколико банака да би се задржали подаци магистралне заузетости.
У фебруару 2009. године, Samsung је проверио 40 nm DRAM чипове, што се сматра „значајаним кораком“ ка развоју DDR4,[14] будући да су од 2009. године текући DRAM чипови само почели да мигрирају у процесу од 50 nm.[15] Јануара 2011. године, Samsung је најавио завршетак и дао на испитивање 30 nm 2 GB DDR4 DRAM модул. Он има максимални пропусни опсег од 2.13 Gbit/s на 1,2 V, користи технологију псеудо отворених мозгова и вуче 40% мање снаге од еквивалентних DDR3 модула.[16][17]
Одлике мапе
[уреди | уреди извор]Тип | Карактеристичне измене |
---|---|
SDRAM | Vcc = 3.3 V Сигнал: LVTTL |
DDR1 | Приступ је ≥2 речи Дупли генераторски такт Vcc = 2.5 V 2.5 - 7.5 ns по циклусу Сигнал: SSTL_2 (2.5V)[18] |
DDR2 | Приступ је ≥4 речи „Рафални режим“ је уклоњен 4 јединице се користе у паралели 1.25 - 5 ns по циклусу Унутрашње операције су на 1/2 брзине генераторског такта. Сигнал: SSTL_18 (1.8V)[18] |
DDR3 | Приступ је ≥8 речи Сигнал: SSTL_15 (1.5V)[18] Много дужа CAS латенција |
DDR4 | Vcc ≤ 1.2 V тачка-до-тачке (један модул по каналу) |
Изневерени наследници
[уреди | уреди извор]Поред DDR, било је неколико других предложених меморијских технологија за SDR SDRAM.
Рамбус DRAM (RDRAM)
[уреди | уреди извор]RDRAM је власничка технологија која се такмичила са DDR. Његова релативно висока цена и разочаравајући учинак (последица високих латенција и уског 16-битног канала са подацима у односу на DDR-ове 64 битне канале) изазвао је да губи трку успеха са SDR DRAM-ом.
Синхрони-Линк DRAM (SLDRAM)
[уреди | уреди извор]SLDRAM је хвалио боље перформансе и такмичио се са RDRAM-ом. Он се развио током касних 1990—их година од стране SLDRAM Конзорцијума. SLDRAM Конзорцијум био је састављен од око 20 великих произвођача DRAM-а и рачунарске индустрије. (SLDRAM Конзорцијум је регистрован као SLDRAM Inc а онда је променио име у Advanced Memori International, Inc). SLDRAM је био отворен стандард и није захтевао таксе за издавање дозвола. Спецификације које су се звале 64-битне магистрале радиле су на 200, 300 или 400 MHz фреквенцији генератора такта. То се постизало тако што су сви сигнали били на истој линији, чиме се избегавало време синхронизације вишеструких линија. Као и DDR SDRAM, SLDRAM користи дуплу-пумпану магистралу, која му даје ефективну брзину од 400,[19] 600,[20] или 800 MT/s.
SLDRAM користио 11-битну командну магистралу (10 командних битова CA9: 0 плус једна старт-од-командна FLAG линија) за пренос 40-битних пакета команде на 4 узастопне ивице диференцијалног командног генератора такта (CCLK/CCLK#). За разлику од SDRAM, он није имао по-чип изабране сигнале; сваки чип је био додељен ID (идентификатор) када се ресетује, и команда је садржала ID чип који треба да га обради. Подаци су били пребачени у 4 - или 8-речне рафале преко 18-битне (по чипу) магистрале података, користећи један од два диференцијална податка генератора такта (DCLK0/DCLK0# i DCLK1/DCLK1#). За разлику од стандардног SDRAM, генераторски такт је био генерисан помоћу изворних података (SLDRAM чип у случају операције читања) и пренесен у истом смеру као и подаци, и у великој мери смањује изобличење података. Да би се избегла потреба за паузом када се извор ДЦЛК мења, свака команда прецизира који DCLK пар ће бити коришћен.[21]
Основна команда читати/писати састоји се од (почевши са CA9 од прве речи):
FLAG | CA9 | CA8 | CA7 | CA6 | CA5 | CA4 | CA3 | CA2 | CA1 | CA0 |
---|---|---|---|---|---|---|---|---|---|---|
1 | ID8 | Уређај ID | ID0 | CMD5 | ||||||
0 | Командни код | CMD0 | Банка | Ред | ||||||
0 | Ред (наставак) | 0 | ||||||||
0 | 0 | 0 | 0 | Колона |
- 9 битни уређај ID
- 6 битна команда
- 3 битна банкарска адреса
- 10 или 11 битна редна адреса
- 5 или 4 бита за резервни ред или проширену колону
- 7 битна колона адресе
Појединачни уређаји су имали 8-битне ID. 9-битно ID слање у командама било је коришћено у адресама више уређаја. Било које усклађене енергетске-од-2 величине групе могу да се адресују. Ако је био постављен пренесени msbit, сви најмање-значајни битови горе и укључујући најмање значајни бит 0 на пренесеној адреси били су игнорисани за сврху „је ли ово упућено мени?". (Ако се ID8 бит заправо сматра мање значајним него ID0, уницаст адреса упаривања постаје посебан случај овог обрасца.)
Команда за читање/писање имала је јасан msbit:
- CMD5 = 0
- CMD4 = 1 за отварање (активирање) наведеног реда; CMD4 = 0 да би се користио тренутно отворени ред
- CMD3 = 1 за пренос 8-речног рафала; CMD3 = 0 за 4-речни рафал
- CMD2 = 1 за писати, CMD2 = 0 за читати
- CMD1 = 1 да затворити ред после овог приступа; CMD1 = 0 да га остави отвореног
- CMD0 бира DCLK пар за коришћење (DCLK1 или DCLK0)
Значајан пропуст из спецификације је био могућ писати по-бајту; то је био дизаин за системе са кешовима и ECC меморијом, који се увек пишу у мултипликаторима кеш линије.
Додатне команде (са CMD5 сетом) отварале су и затварале редове без преноса података, обављале су операције освежавања, чита или пише конфигурације регистара, и вршиле друге операције одржавања. Већина од ових команди подржале су додатни 4-битни sub-ID (послат као 5 бита, користећи иста, више одредишта кодирања као примарни ID) који може да се користи за разликовање уређаја којима су били додељени исти примарни ID, јер су они били повезани у паралели и увек читали/писали у исто време.
Постојао је број од 8-битних контролних регистара и 32-битна статусна регистра за контролу различитих временских параметара уређаја.
Виртуални меморијски канал (VCM) SDRAM
[уреди | уреди извор]VCM је власнички тип SDRAM који је дизајниран од стране NEC, али пуштен као отворени стандард без накнада за издавање дозвола. То је пин-компатибилан са стандардним SDRAM, али са другачијим командама.
Технологија је била потенцијално конкурентна RDRAM-у јер VCM није био ни близу скуп као RDRAM. Виртуална меморија канала (VCM) модула је механички и електрично компатибилна са стандардним SDRAM-ом, па подршка за оба зависи само од могућности меморијског контролера. Касних 1990—их година, један број PC northbridge (северни мост) чипсета (као што су популарни VIA KT133 компаније KKS133) укључио је VCSDRAM подршку.
VCM убацује SRAM кеш од 16 „канални“ бафер, сваки 1/4 редног „сегмента“ величине, између DRAM банковних чулних појачивача редова и података У/И пинова. Команда "Prefetch" ("Претходно донета") и "Restore" ("Обновљена"), јединствена на VCSDRAM, копира податаке између DRAM-ских чулних појачивача реда и бафер канала, док еквивалентне SDRAM-ове команде Читања и Писања одређују број канала за приступ.
Читања и писања могу тако да се обављају независно од тренутно активног стања DRAM низа, са еквивалентим 4 пуним DRAM редовима који су „отворени“ за приступ на време. То је побољшање у односу на 2 отворена реда могуће у стандардном 2-банк SDRAM. (Заправо постоји 17 „лажних канала“ који се користе за неке операције.)
Читање из VCSDRAM, након активне команде, захтева команду "Prefetch" да би се копирали подаци из чулног појачивача низа до канала SDRAM. Ова команда одређује банку, 2 битну колона адресу (да изабере сегмент реда), и 4 битова броја канала. Када се то изврши, DRAM низ може бити напуњен док се команде читања у канал баферу настављају.
При писању, најпре се пишу подаци у бафер каналу (обично претходна иницијализација која користи команду prefetch), затим Restore команда, са истим параметрима као команда Prefetch, копира сегмент података из канала у чулном појачивачу низа.
Постоји, додатно, 17-ти „лажни канал“, који омогућава писање тренутно отвореног реда. То не може бити форма Читања, али може бити Prefetched на, Pisanje на, и Враћање да, у чулном појачивачу низа.[22][23]
Иако се сегмент обично враћа на исту меморијску адресу, како је она била у Prefetched облику, бафери канала могу такође да се користе за веома ефикасно копирање или чишћење великих, поређаних меморијских блокова.
(Коришћење четврт-редних сегмената је вођено чињеницом да су DRAM ћелије уже од SRAM ћелија. SRAM битови су дизајнирани да буду 4 DRAM бит ширине, и конвенционално су повезани са једном од 4 DRAM бита где се они простиру.)
Додатне команде префетцх пар сегмената су на пар канала, а опциона команда комбинује prefetch, читање и прецхарге да би се смањили режијски трошкови од случајних читања.
/CS | /RAS | /CAS | /WE | BA | A12–11 | A10 | A9 | A8 | A7 | A6 | A5 | A4–2 | A1–0 | Команда |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
H | x | x | x | x | — x — | Команда спречена (Нема операције) | ||||||||
L | H | H | H | x | — x — | Нема операције | ||||||||
L | H | H | L | bank | channel | AP | channel | L | L | L | x | segment | Prefetch (auto-precharge ako je AP=H) | |
L | H | H | L | bank | x | x | x | L | L | H | x | segment | Prefetch то лажном | |
L | H | H | L | bank | channel | AP | channel | L | H | x | x | segment | Пар prefetch (auto-precharge ako je AP=H) | |
L | H | H | L | bank | channel | AP | channel | H | L | x | x | segment | Restore (auto-precharge ako je AP=H) | |
L | H | H | L | bank | x | L | x | H | H | — x — | Precharge банка | |||
L | H | H | L | x | x | H | x | H | H | — x — | Precharge све банке | |||
L | H | L | H | x | channel | x | channel | column | Канал читања | |||||
L | H | L | L | L | channel | x | channel | column | Канал писања | |||||
L | H | L | L | H | x | x | x | AR | column | Писати лажни канал (auto-restore ako je AR=H) | ||||
L | L | H | H | bank | row | Активирана банка | ||||||||
L | L | H | L | seg | channel | seg | channel | column | Prefetch читање са auto-precharge (опционо) | |||||
L | L | L | H | x | — x — | Auto освежење | ||||||||
L | L | L | L | reg | mode register data | Mode регистарски скуп |
Горе су JEDEC-стандардизоване команде. Раније чипови нису подржавали лажни канал или prefetch пар, и користе другачије кодирање за precharge.
13-битна адресна магистрала, како је овде приказано, је погодна за уређај горе до 128 Mbit. То би имало две банке, од којих свака садржи 8192 редова и 8192 колоне. Тако, редови адреса су са 13 бита, сегментне адресе су 2 бита, и 8 колонска адреса бита се тражи у изабору једног бајта од 2048 бита (256 бајта) у сегменту.
Референце
[уреди | уреди извор]- ^ „SDRAM Part Catalog”. Архивирано из оригинала 23. 11. 2007. г. Приступљено 02. 12. 2013. 070928 micron.com
- ^ „What is DDR memory?”. Архивирано из оригинала 13. 05. 2007. г. Приступљено 02. 12. 2013.
- ^ Soderstrom, Thomas (5. 6. 2007). „Pipe Dreams: Six P35-DDR3 Motherboards Compared”. Tom's Hardware.
- ^ „AMD to Adopt DDR3 in Three Years”.
- ^ Fink, Wesly (20. 7. 2007). „Super Talent & TEAM: DDR3-1600 Is Here!”. Anandtech.
- ^ Jennifer Johnson (24. 4. 2012). „G.SKILL Announces DDR3 Memory Kit For Ivy Bridge”. Архивирано из оригинала 03. 12. 2013. г. Приступљено 02. 12. 2013.
- ^ „DDR4 PDF pp. 23” (PDF). Архивирано из оригинала (PDF) 01. 04. 2010. г. Приступљено 02. 12. 2013.
- ^ DDR4 not expected until 2015 | SemiAccurate
- ^ „Looking forward to DDR4”. Архивирано из оригинала 02. 04. 2009. г. Приступљено 02. 12. 2013.
- ^ DDR3 successor
- ^ „Next-Generation DDR4 Memory to Reach 4.266GHz - Report”. Xbitlabs.com. 16. 8. 2010. Архивирано из оригинала 19. 12. 2010. г. Приступљено 3. 1. 2011.
- ^ „IDF: DDR4 memory targeted for 2012” (на језику: German). hardware-infos.com. Архивирано из оригинала 13. 07. 2009. г. Приступљено 16. 6. 2009. English translation
- ^ „JEDEC Announces Key Attributes of Upcoming DDR4 Standard” (Саопштење). JEDEC. 22. 8. 2011. Приступљено 6. 1. 2011.
- ^ Gruener, Wolfgang (4. 2. 2009). „Samsung hints to DDR4 with first validated 40 nm DRAM”. tgdaily.com. Архивирано из оригинала 24. 05. 2009. г. Приступљено 16. 6. 2009.
- ^ Jansen, Ng (20. 1. 2009). „DDR3 Will be Cheaper, Faster in 2009”. dailytech.com. Архивирано из оригинала 22. 06. 2009. г. Приступљено 17. 6. 2009.
- ^ „Samsung Develops Industry's First DDR4 DRAM, Using 30nm Class Technology”. Samsung. 4. 1. 2011. Приступљено 13. 3. 2011.
- ^ Samsung develops DDR4 memory, up to 40% more efficient - TechSpot
- ^ а б в „EDA DesignLine, januari 12, 2007, The outlook for DRAMs in consumer electronics”.[мртва веза] 100622 edadesignline.com
- ^ Kent, Dean (24. 10. 1998), RAM Guide: SLDRAM, Tom's Hardware, Приступљено 1. 1. 2011
- ^ Electronics, Hyundai (20. 12. 1997), HYSL8M18D600A 600 Mb/s/pin 8M x 18 SLDRAM (PDF) (data sheet), Архивирано из оригинала (PDF) 26. 4. 2012. г., Приступљено 27. 12. 2011
- ^ SLDRAM Inc. (9. 7. 1998), SLD4M18DR400 400 Mb/s/pin 4M x 18 SLDRAM (PDF) (data sheet), стр. 32—33, Архивирано из оригинала (PDF) 26. 4. 2012. г., Приступљено 27. 12. 2011
- ^ Siemens Semiconductor Group, HYB39V64x0yT 64MBit Virtual Channel SDRAM (PDF), Приступљено 17. 7. 2012[мртва веза]
- ^ NEC (1999), 128M-BIT VirtualChannel™ SDRAM preliminary datasheet (PDF), Приступљено 17. 7. 2012
- ^ JEDEC Standard 21-C section 3.11.5.4 "VCSDRAM Specific SDRAM Functions"