XDR DRAM - XDR DRAM

XDR DRAM.

XDR DRAM nebo dynamická paměť s náhodným přístupem s extrémním datovým tokem je vysoce výkonné rozhraní RAM a nástupce Rambus RDRAM, na kterém je založena, konkurující konkurenční technologii DDR2 SDRAM a GDDR4 .

Přehled

XDR byl navržen tak, aby byl efektivní v malých spotřebitelských systémech s velkou šířkou pásma, aplikacích s vysoce výkonnou pamětí a špičkových grafických procesorech . Eliminuje neobvykle vysoké latenční problémy, které trápily rané formy RDRAM. XDR DRAM také klade velký důraz na šířku pásma podle pinů, což může těžit z další kontroly nákladů na výrobu desek plošných spojů. Je to proto, že pro stejnou šířku pásma je potřeba méně jízdních pruhů. Rambus vlastní práva na tuto technologii. XDR používá Sony v konzole PlayStation 3 .

Technické specifikace

Výkon

  • Počáteční taktovací frekvence na 400 MHz.
  • Osmičková rychlost přenosu dat (ODR): Osm bitů na taktovací cyklus na jízdní pruh.
  • Každý čip poskytuje 8, 16 nebo 32 programovatelných linek a poskytuje až 230,4  Gbit / s (28,8  GB / s) při 900 MHz (7,2 GHz efektivní).

Funkce

  • Obousměrný diferenciální úrovně signalizace Rambus (DRSL)
  • Programovatelné ukončení na čipu
  • Adaptivní přizpůsobení impedance
  • Osm architektura bankovní paměti
  • Až čtyři bankovní prokládané transakce s plnou šířkou pásma
  • Datové propojení point-to-point
  • Balení obalu v měřítku třísek
  • Dynamické plánování požadavků
  • Podpora včasného čtení a zápisu pro maximální efektivitu
  • Nulová režijní obnova

Požadavky na napájení

  • 1,8 V Vdd
  • Programovatelný výkyv DRSL 200 mV s velmi nízkým napětím
  • Nízkoenergetický design PLL / DLL
  • Podpora automatického obnovení napájení po vypnutí
  • Podpora dynamické šířky dat s dynamickým hradlováním hodin
  • Vypnutí I / O na pin
  • Podpora aktivace podstránky

Snadnost návrhu systému

  • Per-bit FlexPhase obvody vyrovnání s rozlišením 2,5 ps
  • XDR Interconnect používá minimální počet pinů

Latence

  • Pakety požadavku 1,25 / 2,0 / 2,5 / 3,33 ns

Protokol

Vysokorychlostní signály čipu XDR RAM jsou vstup diferenciálních hodin (hodiny z hlavního, CFM / CFMN), 12bitová jednostranná sběrnice s požadavkem / příkazem (RQ11..0) a obousměrná diferenciální datová sběrnice až 16 bity široké (DQ15..0 / DQN15..0). Sběrnice požadavku může být připojena k několika paměťovým čipům paralelně, ale datová sběrnice je bod k bodu; k němu může být připojen pouze jeden čip RAM. Pro podporu různých velikostí paměti s řadičem paměti s pevnou šířkou mají čipy programovatelnou šířku rozhraní. Řadič DRAM o šířce 32 bitů může podporovat 2 16bitové čipy nebo může být připojen ke 4 paměťovým čipům, z nichž každý dodává 8 bitů dat, nebo až 16 čipů nakonfigurovaných s 2bitovými rozhraními.

Kromě toho má každý čip nízkorychlostní sériovou sběrnici používanou k určení jeho schopností a konfiguraci jeho rozhraní. Skládá se ze tří sdílených vstupů: resetovací linka (RST), sériový příkazový vstup (CMD) a sériové hodiny (SCK) a sériová data na / z linek (SDI a SDO), které jsou vzájemně propojeny a případně připojeny na jeden pin na řadiči paměti.

Všechny řádky s jedním koncem jsou aktivní - nízké ; prosazovaný signál nebo logická 1 je reprezentována nízkým napětím.

Sběrnice požadavku pracuje s dvojnásobnou rychlostí dat vzhledem k hodinovému vstupu. Dva po sobě jdoucí 12bitové převody (počínaje sestupnou hranou CFM) vytvářejí 24bitový příkazový paket.

Datová sběrnice pracuje 8krát rychleji než hodiny; hodiny 400 MHz generují 3200 MT / s. Všechna čtení a zápisy dat fungují v 16 přenosových dávkách trvajících 2 hodiny.

Formáty požadavku na pakety jsou následující:

XDR DRAM vyžaduje formáty paketů
Hodinová
hrana
Bit NOP Sloupec pro čtení / zápis Kalibrace / vypnutí Dobijte / obnovte Aktivovat řádek Maskovaný zápis
Bit Bit Popis Bit Popis Bit Popis Bit Popis Bit Popis
RQ11 0 0 COL opcode 0 COLX operační kód 0 Operační kód ROWP 0 Operační kód ROWA 1 COLM operační kód
RQ10 0 0 0 0 1 M3 Pište
nízké bity masky
RQ9 0 0 1 1 R9 Adresa řádku
vysoké bity
M2
RQ8 0 1 0 1 R10 M1
RQ7 X WRX Bit pro zápis / čtení X Rezervováno POP1 Zpoždění nabíjení (0–3) R11 M0
RQ6 X C8
Vysoké bity adresy sloupce
X POP0 R12 Rezervováno C8
Vysoké bity adresy sloupce
RQ5 X C9 X X Rezervováno R13 C9
RQ4 X C10 Rezervováno X X R14 C10 Rezervováno
RQ3 X C11 XOP3 Subopcode X R15 C11
RQ2 X BC2 adresa banky XOP2 BP2 Předplacená banka BA2 adresa banky BC2 adresa banky
RQ1 X BC1 XOP1 BP1 BA1 BC1
RQ0 X BC0 XOP0 BP0 BA0 BC0
RQ11 X DELC Zpoždění příkazu (0–1) X Rezervováno POP2 Povolení předplatného DELA Zpoždění příkazu (0–1) M7 Pište
vysoké bity masky
RQ10 X X Rezervováno X ROP2 Obnovit příkaz R8 Adresa řádku je
nízká
M6
RQ9 X X X ROP1 R7 M5
RQ8 X X X ROP0 R6 M4
RQ7 X C7
Nízké bity adresy sloupce
X DELR1 Zpoždění obnovy (0–3) R5 C7
Nízké bity adresy sloupce
RQ6 X C6 X DELR0 R4 C6
RQ5 X C5 X X Rezervováno R3 C5
RQ4 X C4 X X R2 C4
RQ3 X SC3 Adresa dílčího sloupce X X R1 SC3 Adresa dílčího sloupce
RQ2 X SC2 X BR2 Obnovit banku R0 SC2
RQ1 X SC1 X BR1 SR1 Adresa podřádku SC1
RQ0 X SC0 X BR0 SR0 SC0

Existuje velké množství časovacích omezení poskytujících minimální časy, které musí uplynout mezi různými příkazy (viz Dynamická paměť s náhodným přístupem § Časování paměti ); řadič DRAM, který je posílá, musí zajistit, aby byly všechny splněny.

Některé příkazy obsahují pole zpoždění; tyto zpožďují účinek tohoto příkazu o daný počet hodinových cyklů. To umožňuje, aby se více příkazů (do různých bank) projevilo ve stejném hodinovém cyklu.

Příkaz aktivovat řádek

Funguje to rovnocenně se standardním příkazem SDRAM Activate, zadáním adresy řádku, který se má načíst do pole sense zesilovače banky. Pro úsporu energie může být čip nakonfigurován tak, aby aktivoval pouze část pole snímacího zesilovače. V tomto případě bity SR1..0 určují polovinu nebo čtvrtinu řádku, které se mají aktivovat, a následující adresy sloupců příkazů pro čtení / zápis musí být omezeny na tuto část. (Obnovovací operace vždy používají celý řádek.)

Příkazy pro čtení / zápis

Ty fungují analogicky se standardními příkazy SDRAM pro čtení nebo zápis a určují adresu sloupce. Data jsou čipu poskytována několik cyklů po příkazu k zápisu (obvykle 3) a čip je vydává několik cyklů po příkazu pro čtení (obvykle 6). Stejně jako u jiných forem SDRAM je řadič DRAM zodpovědný za zajištění toho, že datová sběrnice není naplánována pro použití v obou směrech současně. Data jsou vždy přenášena v 16 přenosových dávkách, které trvají 2 cykly hodin. U zařízení × 16 se tedy na shluk přenáší 256 bitů (32 bajtů).

Pokud čip používá datovou sběrnici o šířce menší než 16 bitů, jeden nebo více adresních bitů sub-sloupce se použije k výběru části sloupce, která má být uvedena na datové sběrnici. Pokud je datová sběrnice široká 8 bitů, použije se SC3 k ​​identifikaci, ke které polovině načtených dat má přístup; pokud je datová sběrnice široká 4 bity, používají se SC3 a SC2 atd.

Na rozdíl od konvenčních SDRAM neexistuje žádné ustanovení pro výběr pořadí, ve kterém jsou data dodávána v sérii. Není tedy možné provádět čtení s kritickým slovem jako prvním.

Maskovaný příkaz pro zápis

Příkaz maskovaného zápisu je podobný normálnímu zápisu, ale není povoleno žádné zpoždění příkazu a je zadán bajt masky. To umožňuje řídit, která 8bitová pole se zapisují. Toto není bitmapa označující, které bajty mají být zapsány; to by nebylo dost velké pro 32 bytů v sérii zápisu. Jedná se spíše o bitový vzor, ​​kterým řadič DRAM vyplňuje nepsané bajty. Řadič DRAM je zodpovědný za nalezení vzoru, který se neobjeví v ostatních bajtech, které mají být zapsány. Protože v sérii je 256 možných vzorů a pouze 32 bajtů, je snadné jeden najít. I když je paralelně připojeno více zařízení, lze vždy najít bajt masky, když je sběrnice široká maximálně 128 bitů. (To by vyprodukovalo 256 bajtů na dávku, ale maskovaný příkaz pro zápis se používá pouze v případě, že alespoň jeden z nich nemá být zapsán.)

Každý bajt je 8 po sobě jdoucích bitů přenesených přes jednu datovou linku během konkrétního hodinového cyklu. M0 se shoduje s prvním datovým bitem přeneseným během hodinového cyklu a M7 se shoduje s posledním bitem.

Tato konvence také narušuje provádění čtení kritických slov od prvního; jakékoli slovo musí obsahovat bity alespoň z prvních 8 přenesených bitů.

Příkaz Precharge / refresh

Tento příkaz je podobný kombinaci konvenčních příkazů preload a refresh běžného SDRAM. Bity POP x a BP x specifikují operaci předběžného nabití , zatímco bity ROP x , DELR x a BR x specifikují operaci obnovení. Každý může být samostatně povolen. Pokud je povoleno, může mít každý jiné zpoždění příkazu a musí být adresováno jiné bance.

Příkazy předběžného nabíjení lze odesílat pouze do jedné banky současně; na rozdíl od konvenčního SDRAM neexistuje příkaz „precharge all bank“.

Příkazy pro aktualizaci se také liší od běžných SDRAM. Neexistuje žádný příkaz „obnovit všechny banky“ a obnovovací operace je rozdělena na samostatné operace aktivace a předbíjení, takže časování určuje řadič paměti. Kontrolní počítadlo je také programovatelné. Operace jsou:

  • 000: NOPR Provádět žádnou operaci obnovení
  • 001: REFP Obnovit předplacení ; ukončit operaci obnovení ve vybrané bance.
  • 010: REFA Refresh aktivován; aktivujte řádek vybraný registrem REFH / M / L a vybranou bankou pro obnovení.
  • 011: REFI Refresh & increment; jako u REFA, ale také zvýší registr REFH / M / L.
  • 100: LRR0 Načíst obnovovací registr nízký; zkopírujte RQ7-0 na spodních 8 bitů obnovovacího čítače REFL. Žádné zpoždění příkazu.
  • 101: LRR1 Načíst obnovovací registr uprostřed; zkopírujte RQ7-0 do prostředních 8 bitů obnovovacího čítače REFM. Žádné zpoždění příkazu.
  • 110: LRR2 Load refresh register high; zkopírujte RQ7-0 do vysokých 8 bitů obnovovacího čítače REFH (pokud je implementován). Žádné zpoždění příkazu.
  • 111 vyhrazeno

Příkaz Calibrate / powerdown

Tento příkaz provádí řadu různých funkcí, jak je určeno polem XOP x . Ačkoli existuje 16 možností, ve skutečnosti se používají pouze 4. Tři dílčí příkazy spouštějí a zastavují kalibraci výstupního ovladače (musí se provádět pravidelně každých 100 ms).

Čtvrtý dílčí příkaz uvede čip do režimu vypnutí. V tomto režimu provádí interní aktualizaci a ignoruje vysokorychlostní datové linky. Musí se probudit pomocí nízkorychlostní sériové sběrnice.

Nízkorychlostní sériová sběrnice

XDR DRAM jsou snímány a konfigurovány pomocí nízkorychlostní sériové sběrnice. Signály RST, SCK a CMD jsou řadičem vedeny paralelně ke každému čipu. Řádky SDI a SDO jsou vzájemně propojeny, přičemž poslední výstup SDO je připojen k řadiči a první vstup SDI je svázán vysoko (logika 0).

Při resetu je u každého čipu nízký pin SDO (1). Po uvolnění resetu se na čipy odešle řada pulzů SCK. Každý čip řídí svůj výstup SDO vysoko (0) jeden cyklus poté, co viděl svůj vstup SDI vysoko (0). Dále počítá počet cyklů, které uplynou mezi uvolněním resetu a vysokým vstupem SDI, a počet kopií, které se počítají do interního registru ID čipu. Příkazy odeslané kontrolérem po řádku CMD obsahují adresu, která se musí shodovat s polem ID čipu.

Obecná struktura příkazů

Každý příkaz čte nebo zapisuje jeden 8bitový registr pomocí 8bitové adresy. To umožňuje až 256 registrů, ale aktuálně je přiřazen pouze rozsah 1–31.

Normálně je řádek CMD ponechán vysoko (logika 0) a impulzy SCK nemají žádný účinek. Chcete-li odeslat příkaz, je na řádcích CMD taktována sekvence 32 bitů:

  • 4 bity 1100, signál spuštění příkazu.
  • Bit pro čtení / zápis. Pokud 0, jedná se o čtení, pokud 1 je to zápis.
  • Jeden / vysílací bit. Pokud je 0, je vybráno pouze zařízení se shodným ID. Pokud 1, příkaz provede všechna zařízení.
  • 6 bitů ID sériového zařízení. ID zařízení se při resetu zařízení přiřadí automaticky od 0.
  • 8 bitů adresy registru
  • Jeden bit „0“. To poskytuje čas na zpracování požadavků na čtení a povolení výstupu SDO v případě čtení,
  • 8 bitů dat. Pokud se jedná o příkaz pro čtení, poskytované bity musí být 0 a hodnota registru se vytvoří na pinu SDO vybraného čipu. Všechny nevybrané čipy připojují své vstupy SDI k jejich výstupům SDO, takže ovladač uvidí hodnotu.
  • Jeden bit „0“. Tím se příkaz ukončí a poskytne se čas pro deaktivaci výstupu SDO.

Viz také

Reference

externí odkazy