XDR DRAM - XDR DRAM

XDR-DRAM.

XDR DRAM tai äärimmäisen tiedonsiirtonopeuden dynaaminen hajasaantimuisti on tehokkaan RAM- rajapinnan ja Rambus RDRAM: n seuraaja, johon se perustuu, kilpailevan kilpailevien DDR2 SDRAM- ja GDDR4- tekniikoiden kanssa.

Yleiskatsaus

XDR on suunniteltu toimimaan pienissä, suurten kaistaleveyksien kuluttajajärjestelmissä, korkean suorituskyvyn muistisovelluksissa ja huippuluokan GPU-laitteissa . Se eliminoi epätavallisen korkeat viiveongelmat, jotka vaivanneet RDRAM: n varhaisia ​​muotoja. Lisäksi XDR DRAM korostaa painokasta kaistanleveyttä, mikä voi hyödyttää lisäkustannusten hallintaa piirilevytuotannossa. Tämä johtuu siitä, että samalla kaistanleveydellä tarvitaan vähemmän kaistoja. Rambus omistaa oikeudet tekniikkaan. XDR käyttää Sonyn vuonna PlayStation 3 -konsolissa.

Tekniset tiedot

Esitys

  • Alkuperäinen kellotaajuus 400 MHz: llä.
  • Oktaalinen tiedonsiirtonopeus (ODR): Kahdeksan bittiä per kellojakso kaistaa kohti.
  • Jokainen siru tarjoaa 8, 16 tai 32 ohjelmoitavaa kaistaa, tuottaen jopa 230,4  Gbit / s (28,8  GB / s) taajuudella 900 MHz (7,2 GHz tehokas).

ominaisuudet

  • Kaksisuuntainen differentiaalinen Rambus-signalointitaso (DRSL)
  • Ohjelmoitava sirun päättäminen
  • Adaptiivinen impedanssin sovitus
  • Kahdeksan pankkimuistiarkkitehtuuria
  • Jopa neljä pankkilomistettua tapahtumaa täydellä kaistanleveydellä
  • Piste-piste-data yhdistetään
  • Mikropakkaus- pakkaus
  • Dynaaminen pyyntöjen ajoitus
  • Varhaisen lukemisen jälkeen kirjoittamisen tuki maksimaalisen tehokkuuden saavuttamiseksi
  • Nolla yläpuolella päivitys

Tehovaatimukset

  • 1,8 Vdd
  • Ohjelmoitava erittäin matalajännitteinen DRSL 200 mV -vipu
  • Pienitehoinen PLL / DLL- suunnittelu
  • Katkaise itsensä päivitystuki
  • Dynaaminen datan leveyden tuki dynaamisella kelloportauksella
  • I / O-nastainen virta katkaistaan
  • Alisivun aktivointituki

Helppo järjestelmän suunnittelu

  • Per bittiä olevat FlexPhase- piirit kompensoivat 2,5 ps: n tarkkuuden
  • XDR Interconnect käyttää vähimmäismäärää pin

Viive

  • 1,25 / 2,0 / 2,5 / 3,33 ns pyytää paketteja

protokolla

XDR RAM-sirun nopeat signaalit ovat differentiaalinen kellotulo (kello isäntältä, CFM / CFMN), 12-bittinen yksipäinen pyyntö / komentoväylä (RQ11..0) ja kaksisuuntainen differentiaalidataväylä jopa 16: een asti. bittiä leveitä (DQ15..0 / DQN15..0). Pyyntöväylä voidaan yhdistää useisiin muistisiruihin samanaikaisesti, mutta dataväylä on pisteestä pisteeseen; siihen voidaan kytkeä vain yksi RAM-siru. Eri muistimäärien tukemiseksi kiinteän leveyden muistisäätimellä, siruilla on ohjelmoitava rajapinnan leveys. 32-bittinen DRAM-ohjain voi tukea 2 16-bittistä sirua tai olla kytkettynä 4 muistipiiriin, joista kukin toimittaa 8 bittiä dataa, tai jopa 16 siruun, jotka on konfiguroitu 2-bittisillä rajapinnoilla.

Lisäksi jokaisella sirulla on hidasta sarjaväylää, jota käytetään sen ominaisuuksien määrittämiseen ja käyttöliittymän konfigurointiin. Tämä koostuu kolmesta jaetusta tulosta: nollausriviltä (RST), sarjakomennon sisääntulosta (CMD) ja sarjankellosta (SCK) sekä sarjatiedoista tulo- / lähtölinjoilla (SDI ja SDO), jotka on koottu ketjulla yhteen ja lopulta yhdistetään muistin ohjaimen yhdelle nastalle.

Kaikki yksipäiset linjat ovat alhaalla ; vaadittua signaalia tai loogista 1 edustaa matala jännite.

Pyyntöväylä toimii kaksinkertaisella datanopeudella suhteessa kellotuloon. Kaksi peräkkäistä 12-bittistä siirtoa (CFM: n laskevasta reunasta alkaen) tekee 24-bittisen komentopaketin.

Dataväylä toimii 8x kellon nopeudella; 400 MHz: n kello tuottaa 3200 MT / s. Kaikki tiedot lukemat ja kirjoittavat toimivat 16 siirtopurskeella, jotka kestävät 2 kellosykliä.

Pyydä pakettiformaatit ovat seuraavat:

XDR DRAM pyytää pakettimuotoja
Kellon
reuna
Bitti NOP Sarake lukea / kirjoittaa Kalibroi / sammutuksen Precharge / refresh Rivi Aktivoi Naamioitu kirjoittaa
Bitti Bitti Kuvaus Bitti Kuvaus Bitti Kuvaus Bitti Kuvaus Bitti Kuvaus
RQ11 0 0 COL-koodi 0 COLX -koodi 0 ROWP-koodinumero 0 ROWA-koodi 1 COLM -koodi
RQ10 0 0 0 0 1 M3 Kirjoita maskin
pienet bitit
RQ9 0 0 1 1 R9 Riviosoitteen
korkeat bitit
M2
RQ8 0 1 0 1 R10 M1
RQ7 x WRX Kirjoita / lue bitti x varattujen pop1 Ennakkoviive (0–3) R11 M0
RQ6 x C8 Sarakkeen osoitteen
korkeat bitit
x POP0 R12 varattujen C8 Sarakkeen osoitteen
korkeat bitit
RQ5 x C9 x x varattujen R13 C9
RQ4 x C10 varattujen x x R14 C10 varattujen
RQ3 x C11 XOP3 Subopcode x R15 C11
RQ2 x BC2 pankkiosoite XOP2 BP2 Ennakkomaksu pankki BA2 pankkiosoite BC2 pankkiosoite
RQ1 x BC1 XOP1 BP1 BA1 BC1
RQ0 x BC0 XOP0 BP0 BA0 BC0
RQ11 x DELC Komentoviive (0–1) x varattujen POP2 Ennakkomaksu käyttöön DELA Komentoviive (0–1) M7 Kirjoita maski
korkeita bittejä
RQ10 x x varattujen x ROP2 Päivitä-komento R8 Riviosoitteen
pienet bitit
M6
RQ9 x x x ROP1 R 7 M5
RQ8 x x x ROP0 R6 M4
RQ7 x C7 Sarakkeen osoitteen
pienet bitit
x DELR1 Päivitysviive (0–3) R5 C7 Sarakkeen osoitteen
pienet bitit
RQ6 x C6- x DELR0 R4 C6-
RQ5 x C5 x x varattujen R3 C5
RQ4 x C4 x x R2 C4
RQ3 x SC3 Alasarakkeen osoite x x R1 SC3 Alasarakkeen osoite
RQ2 x SC2 x BR2 Päivitä pankki R0 SC2
RQ1 x SC1 x BR1 SR1 Alarivin osoite SC1
RQ0 x SC0 x BR0 SR0 SC0

Ajoitusrajoituksia on paljon, jotka antavat minimiajat, joiden on kuluttava eri komentojen välillä (katso dynaaminen hajasaantimuisti § Muistin ajoitus ); heitä lähettävän DRAM-ohjaimen on varmistettava, että ne kaikki täytetään.

Jotkut komennot sisältävät viivekentät; nämä viivästyvät komennon vaikutusta annetulla kellosyklin lukumäärällä. Tämä sallii useiden komentojen (eri pankeille) tulla voimaan samassa kellosyklissä.

Rivin aktivointikomento

Tämä toimii samalla tavalla kuin tavallinen SDRAM: n aktivointikomento, joka määrittää rivin osoitteen, joka ladataan pankin aistivahvistinryhmään. Virran säästämiseksi siru voidaan konfiguroida aktivoimaan vain osa sensiovahvistinryhmästä. Tässä tapauksessa SR1..0-bitit määrittävät aktivoitavan rivin puolen tai neljänneksen, ja seuraavien luku- / kirjoituskomentojen sarakeosoitteiden on oltava rajoitettuja siihen osaan. (Päivitä toiminnot käyttävät aina koko riviä.)

Lue / kirjoita komennot

Nämä toimivat samalla tavalla kuin tavalliset SDRAM: n luku- tai kirjoituskomennot määrittelemällä sarakeosoitteen. Tiedot toimitetaan sirulle muutama jakso kirjoituskomennon jälkeen (tyypillisesti 3), ja siru tuottaa useita jaksoja lukukomennon jälkeen (tyypillisesti 6). Kuten muissakin SDRAM-muodoissa, DRAM-ohjain on vastuussa siitä, että dataväylää ei ajoiteta käytettäväksi molempiin suuntiin samanaikaisesti. Tiedot siirretään aina 16 siirtopurskeena, jotka kestävät 2 kellosykliä. Siten × 16 -laitteelle siirretään 256 bittiä (32 tavua) pursketta kohti.

Jos siru käyttää alle 16 bitin leveää dataväylää, yhtä tai useampaa alasarakkeen osoitebittiä käytetään valitsemaan dataväylässä esitettävä sarakkeen osa. Jos dataväylä on 8 bittiä leveä, SC3: ta käytetään tunnistamaan, kumpaa puolta luetusta tiedosta käytetään; jos dataväylä on 4 bittiä leveä, käytetään SC3: ta ja SC2: ta jne.

Toisin kuin tavanomainen SDRAM, ei ole mahdollista valita järjestystä, jossa tiedot toimitetaan purskeen sisällä. Siksi ei ole mahdollista suorittaa kriittisiä sana-ensin -lukuja.

Naamioitu kirjoituskomento

Naamioitu kirjoituskomento on samanlainen kuin normaali kirjoitus, mutta komentoviive ei ole sallittu ja peitetavu toimitetaan. Tämä sallii 8-bittisten kenttien kirjoittamisen hallinnan. Tämä ei ole bittikartta, joka osoittaa, mitkä tavut kirjoitetaan; se ei olisi tarpeeksi suuri 32 tavulle kirjoituspurskeessa. Pikemminkin se on vähän kuvio, jolla DRAM-ohjain täyttää kirjoittamattomat tavut. DRAM-ohjain on vastuussa kuvion löytämisestä, jota ei esiinny muissa kirjoitettavissa tavuissa. Koska purskeessa on 256 mahdollista mallia ja vain 32 tavua, on helppo löytää yksi. Jopa silloin, kun useita laitteita on kytketty samanaikaisesti, peitetavu voidaan aina löytää, kun väylä on korkeintaan 128 bittiä leveä. (Tämä tuottaa 256 tavua pursketa kohti, mutta naamioitua kirjoituskomentoa käytetään vain, jos ainakin yhtä niistä ei kirjoiteta.)

Jokainen tavu on 8 peräkkäistä bittiä, jotka siirretään yhden tietolinjan yli tietyn kellosyklin aikana. M0 sovitetaan ensimmäiseen databittiin, joka on siirretty kellosyklin aikana, ja M7 sovitetaan viimeiseen bittiin.

Tämä käytäntö myös häiritsee kriittisten sana-ensin -lukemien suorittamista; minkä tahansa sanan tulee sisältää bittejä ainakin kahdelta ensimmäiseltä siirretyltä bitiltä.

Lataa / päivitä komento

Tämä komento on samanlainen kuin tavanomaisen SDRAM: n esilataus- ja päivityskomentojen yhdistelmä. POP x- ja BP x -bitit määrittävät esilatauksen, kun taas ROP x , DELR x ja BR x -bitit määrittävät päivitysoperaation. Jokainen voidaan ottaa käyttöön erikseen. Jos tämä on käytössä, jokaisella voi olla erilainen komentoviive ja ne on osoitettava eri pankille.

Ennakkomaksukomennot voidaan lähettää vain yhdelle pankille kerrallaan; toisin kuin tavanomainen SDRAM, komentoa "ennakkomaksu kaikille pankeille" ei ole.

Päivityskomennot ovat myös erilaisia ​​kuin tavanomainen SDRAM. "Päivitä kaikki pankit" -komentoa ei ole, ja päivitysoperaatio on jaettu erillisiin aktivointi- ja esilatausoperaatioihin, joten muistin ohjain määrittää ajoituksen. Päivityslaskurin voi myös ohjelmoida ohjaimessa. Toiminnot ovat:

  • 000: NOPR Älä suorita päivitystoimintoa
  • 001: REFP Päivitä esilataus; lopeta päivitys valitulla pankilla.
  • 010: REFA Refresh aktivoitu; aktivoi REFH / M / L-rekisterin ja valitun pankin valitsemasi rivi päivitystä varten.
  • 011: REFI- päivitys ja lisäys; kuten REFA: lla, mutta lisää myös REFH / M / L -rekisteriä.
  • 100: LRR0 Lataa päivitysrekisteri vähäinen; kopioi RQ7–0 päivityslaskurin REFL alhaisiin 8 bittiin. Ei komentoviivettä.
  • 101: LRR1 Lataa päivitysrekisterin keskiosa; kopioi RQ7–0 päivityslaskurin REFM keskimmäiseen 8 bittiä. Ei komentoviivettä.
  • 110: LRR2 Lataa päivitysrekisteri korkea; kopioi RQ7–0 päivityslaskurin REFH korkeisiin 8 bittiin (jos toteutettu). Ei komentoviivettä.
  • 111 varattu

Kalibrointi / sammutuskomento

Tämä komento suorittaa useita sekalaisia ​​toimintoja XOP x -kentän määrittämällä tavalla . Vaikka mahdollisuuksia on 16, tosiasiallisesti käytetään vain neljää. Kolme alikomentoa käynnistää ja lopettaa lähtöohjaimen kalibroinnin (joka on suoritettava säännöllisesti, 100 ms: n välein).

Neljäs alakäsky asettaa sirun virrankatkaisutilaan. Tässä tilassa se suorittaa sisäisen päivityksen ja jättää nopeaan tiedonsiirtolinjaan. Se on herätettävä hitaalla sarjaväylällä.

Hidas nopeus sarjaväylä

XDR-DRAM-muistit tutkitaan ja konfiguroidaan käyttämällä hidasnopeista sarjaväylää. Ohjain ohjaa RST-, SCK- ja CMD-signaaleja jokaiselle sirulle samanaikaisesti. SDI- ja SDO-rivit on koottu ketjulla, jolloin viimeinen SDO-lähtö on kytketty ohjaimeen ja ensimmäinen SDI-sisääntulo on sidottu korkeaan (logiikka 0).

Resetissä jokainen siru ajaa SDO-nastaansa alhaiseksi (1). Kun nollaus vapautetaan, siruille lähetetään sarja SCK-pulsseja. Jokainen siru ajaa SDO-tulonsa korkealla (0) yhdellä jaksolla nähtyään SDI-tulonsa korkealle (0). Lisäksi se laskee jaksojen lukumäärän, joka kuluu nollauksen palauttamisen ja sen SDI-tulon näkemisen välillä, ja kopioiden, jotka lasketaan sisäiseen sirutunnisterekisteriin. Ohjaimen lähettämät komennot CMD-rivin yli sisältävät osoitteen, jonka on vastattava sirutunnuskenttää.

Komentojen yleinen rakenne

Jokainen komento joko lukee tai kirjoittaa yhden 8-bittisen rekisterin 8-bittistä osoitetta käyttämällä. Tämä sallii jopa 256 rekisteriä, mutta vain alue 1-31 on tällä hetkellä määritetty.

Normaalisti CMD-viiva jätetään korkeaksi (logiikka 0) ja SCK-pulsseilla ei ole vaikutusta. Komennon lähettämiseksi CMD-rivit ajautetaan 32-bittinen sekvenssi:

  • 4 bittiä 1100, komennon aloitussignaali.
  • Luku / kirjoitusbitti. Jos 0, tämä on lukema, jos 1 tämä on kirjoitus.
  • Yksi / lähetysbitti. Jos 0, valitaan vain laite, jolla on vastaava tunnus. Jos 1, kaikki laitteet suorittavat komennon.
  • 6 bittiä sarjalaitetunnusta. Laitetunnukset määritetään automaattisesti nollasta alkaen 0: lla.
  • 8 bittiä osoiteosoitetta
  • Yksi bitti "0". Tämä antaa aikaa käsitellä lukupyyntöjä ja ottaa SDO-lähtö käyttöön, jos lukua,
  • 8 bittiä dataa. Jos tämä on lukukomento, annettujen bittien on oltava 0 ja rekisterin arvo tuotetaan valitun sirun SDO-nastalle. Kaikki valittamattomat sirut yhdistävät SDI-tulonsa SDO-ulostuloihinsa, joten ohjain näkee arvon.
  • Yksi bitti "0". Tämä lopettaa komennon ja antaa aikaa poistaa SDO-lähtö.

Katso myös

Viitteet

Ulkoiset linkit