Dynamiczna pamięć o dostępie swobodnym - Dynamic random-access memory

Die fotografia Micron Technology MT4C1024 DRAM układ scalony (1994). Ma pojemność 1  megabitowego odpowiednika bitów lub 128 kB.
Płyta główna komputera NeXTcube , 1990, z 64 MiB pamięci głównej DRAM (u góry po lewej) i 256 KiB VRAM (dolna krawędź, prawa od środka).

Dynamiczna pamięć o dostępie swobodnym ( dynamiczna pamięć RAM lub DRAM ) to rodzaj pamięci półprzewodnikowej o dostępie swobodnym, która przechowuje każdy bit danych w komórce pamięci składającej się z małego kondensatora i tranzystora , oba zazwyczaj oparte na półprzewodnikach z tlenku metalu (MOS ) technologia. Kondensator może być ładowany lub rozładowywany; te dwa stany są traktowane jako reprezentacja dwóch wartości bitu, konwencjonalnie nazywanych 0 i 1. Ładunek elektryczny na kondensatorach powoli ulatnia się, więc bez interwencji dane na chipie zostaną wkrótce utracone. Aby temu zapobiec, DRAM wymaga zewnętrznego obwodu odświeżania pamięci , który okresowo przepisuje dane w kondensatorach, przywracając ich pierwotny ładunek. Ten proces odświeżania jest charakterystyczną cechą dynamicznej pamięci o dostępie swobodnym, w przeciwieństwie do statycznej pamięci o dostępie swobodnym (SRAM), która nie wymaga odświeżania danych. W przeciwieństwie do pamięci flash , DRAM jest pamięcią ulotną (w przeciwieństwie do pamięci nieulotnej ), ponieważ szybko traci dane po odłączeniu zasilania. Jednak DRAM wykazuje ograniczoną remanencję danych .

DRAM zazwyczaj przyjmuje postać układu scalonego, który może składać się z dziesiątek do miliardów komórek pamięci DRAM. Chipy DRAM są szeroko stosowane w elektronice cyfrowej, gdzie wymagana jest tania i pojemna pamięć komputerowa . Jednym z największych zastosowań DRAM jest pamięć główna (potocznie nazywana „RAM”) we współczesnych komputerach i kartach graficznych (gdzie „pamięć główna” nazywana jest pamięcią graficzną ). Jest również używany w wielu urządzeniach przenośnych i konsolach do gier wideo. Natomiast SRAM, który jest szybszy i droższy niż DRAM, jest zwykle używany tam, gdzie szybkość ma większe znaczenie niż koszt i rozmiar, na przykład w pamięciach podręcznych w procesorach .

Ze względu na potrzebę systemu do wykonywania odświeżania, DRAM ma bardziej skomplikowane wymagania dotyczące obwodów i taktowania niż SRAM, ale jest znacznie szerzej stosowany. Zaletą DRAM jest strukturalna prostota jej komórek pamięci: tylko jeden tranzystor i kondensator są wymagane na bit, w porównaniu do czterech lub sześciu tranzystorów w SRAM. Pozwala to DRAM na osiągnięcie bardzo wysokich gęstości , czyniąc DRAM znacznie tańszym na bit. Zastosowane tranzystory i kondensatory są niezwykle małe; miliardy mogą zmieścić się na jednym układzie pamięci. Ze względu na dynamiczną naturę komórek pamięci DRAM zużywa stosunkowo duże ilości energii, z różnymi sposobami zarządzania zużyciem energii.

DRAM odnotował 47% wzrost ceny za bit w 2017 roku, największy skok od 30 lat od 45% skoku w 1988 roku, podczas gdy w ostatnich latach cena spada.

Historia

Schematyczny rysunek przedstawiający przekrój oryginalnej jednotranzystorowej, jednokondensatorowej komórki NMOS DRAM. Został opatentowany w 1968 roku.

Rozszyfrowywania kryptonimie maszyna „Wodnik” stosowany w Bletchley Park w czasie II wojny światowej włączył hard-wired pamięci dynamicznej. Odczytano papierową taśmę, a znaki na niej „zapamiętywano w magazynie dynamicznym. ... W magazynie zastosowano duży bank kondensatorów, które były naładowane lub nie, naładowany kondensator reprezentujący krzyż (1) i nienaładowaną kropkę kondensatora ( 0). Ponieważ ładunek stopniowo wyciekał, zastosowano impuls okresowy w celu uzupełnienia tych, które nadal są naładowane (stąd określenie „dynamiczny”)”.

W 1964 roku Arnold Farber i Eugene Schlig, pracujący dla IBM, stworzyli przewodową komórkę pamięci, wykorzystując bramkę tranzystorową i zatrzask diody tunelowej . Zapadkę zastąpili dwoma tranzystorami i dwoma opornikami , konfiguracja, która stała się znana jako ogniwo Farbera-Schliga. W tym samym roku zgłosili zamknięcie wynalazku, ale zostało ono początkowo odrzucone. W 1965 roku Benjamin Agusta i jego zespół w IBM stworzyli 16-bitowy krzemowy układ pamięci oparty na komórce Farber-Schlig, z 80 tranzystorami, 64 rezystorami i 4 diodami. Toshiba „Toscal” BC-1411 elektronicznego kalkulatora , który został wprowadzony w listopadzie 1965, stosowany w postaci pojemnościowej DRAM (180 bitowa) zbudowany z pojedynczych dwubiegunowe komórki pamięci.

Wspomniane wcześniej najwcześniejsze formy DRAM wykorzystywały tranzystory bipolarne. Chociaż oferowała lepszą wydajność w porównaniu z pamięcią z rdzeniem magnetycznym , bipolarna pamięć DRAM nie była w stanie konkurować z niższą ceną dominującej wówczas pamięci z rdzeniem magnetycznym. Kondensatory były również używane we wcześniejszych schematach pamięci, takich jak bęben komputera Atanasoff-Berry , lampa Williamsa i lampa Selectrona .

Wynalezienie tranzystora MOSFET (metal-oxide-semiconductor field-effect tranzystor ), znanego również jako tranzystor MOS, przez Mohameda Atallę i Dawona Kahnga w Bell Labs w 1959 roku, doprowadziło do opracowania DRAM z metal-tlenek-półprzewodnik (MOS) . W 1966 dr Robert Dennard z IBM Thomas J. Watson Research Center pracował nad pamięcią MOS i próbował stworzyć alternatywę dla SRAM, która wymagałaby sześciu tranzystorów MOS na każdy bit danych. Badając charakterystykę technologii MOS, odkrył, że jest ona zdolna do budowania kondensatorów i że przechowywanie ładunku lub brak ładunku na kondensatorze MOS może reprezentować 1 i 0 bitu, podczas gdy tranzystor MOS może sterować zapisem ładunku do kondensator. Doprowadziło to do opracowania przez niego jednotranzystorowej komórki pamięci MOS DRAM. Złożył patent w 1967 r. i otrzymał patent amerykański numer 3387286 w 1968 r. Pamięć MOS oferowała wyższą wydajność, była tańsza i zużywała mniej energii niż pamięć z rdzeniem magnetycznym.

Układy MOS DRAM zostały skomercjalizowane w 1969 roku przez Advanced Memory system, Inc z Sunnyvale w Kalifornii . Ten 1000-bitowy chip został sprzedany firmom Honeywell , Raytheon , Wang Laboratories i innym. W tym samym roku firma Honeywell poprosiła Intela o wykonanie pamięci DRAM przy użyciu opracowanej przez siebie komórki z trzema tranzystorami. Stało się to Intelem 1102 na początku 1970 roku. Jednak 1102 miał wiele problemów, co skłoniło Intela do rozpoczęcia pracy nad własnym ulepszonym projektem, w tajemnicy, aby uniknąć konfliktu z Honeywell. Stało się to pierwszą komercyjnie dostępną pamięcią DRAM, Intel 1103 , w październiku 1970 roku, pomimo początkowych problemów z niską wydajnością aż do piątej wersji masek . Model 1103 został zaprojektowany przez Joela Karpa i rozplanowany przez Pata Earharta. Maski zostały pocięte przez Barbarę Maness i Judy Garcia. Pamięć MOS wyprzedziła pamięć z rdzeniem magnetycznym jako dominującą technologię pamięci na początku lat 70. XX wieku.

Pierwszą pamięcią DRAM z multipleksowanymi liniami adresowymi wierszy i kolumn była 4-kbitowa pamięć DRAM firmy Mostek MK4096 zaprojektowana przez Roberta Proebstinga i wprowadzona w 1973 r. Ten schemat adresowania wykorzystuje te same piny adresowe do odbioru dolnej i górnej połowy adresu komórki pamięci odniesienie, przełączanie między dwiema połówkami w naprzemiennych cyklach magistrali. Był to radykalny postęp, skutecznie zmniejszając o połowę liczbę wymaganych linii adresowych, co umożliwiło dopasowanie do pakietów z mniejszą liczbą pinów, co stanowi przewagę kosztową, która rosła z każdym skokiem wielkości pamięci. MK4096 okazał się bardzo solidną konstrukcją do zastosowań u klientów. Przy gęstości 16 kbit wzrosła przewaga kosztowa; 16 kbit Mostek MK4116 DRAM, wprowadzony w 1976 roku, osiągnął ponad 75% udziału w światowym rynku DRAM. Jednak wraz ze wzrostem gęstości do 64 kbit na początku lat 80. Mostek i inni amerykańscy producenci zostali wyprzedzeni przez japońskich producentów pamięci DRAM, którzy zdominowali rynek amerykański i światowy w latach 80. i 90. XX wieku.

Na początku 1985 roku Gordon Moore postanowił wycofać firmę Intel z produkcji pamięci DRAM. Do 1986 roku wszyscy producenci chipów w Stanach Zjednoczonych przestali produkować pamięci DRAM.

W 1985 roku, kiedy chipy pamięci 64 KB DRAM były najczęściej używanymi w komputerach układami pamięci, a ponad 60 procent tych chipów było produkowanych przez firmy japońskie, producenci półprzewodników w Stanach Zjednoczonych oskarżyli japońskie firmy o dumping eksportowy w celu prowadzenia producentów w Stanach Zjednoczonych z branży chipów pamięci.

Synchroniczna pamięć dynamiczna o dostępie swobodnym (SDRAM) została opracowana przez firmę Samsung . Pierwszym komercyjnym układem SDRAM był Samsung KM48SL2000, który miał pojemność 16 Mb i został wprowadzony w 1992 roku. Pierwszym komercyjnym układem pamięci DDR SDRAM ( SDRAM o podwójnej szybkości transmisji danych ) był 64 Mb DDR SDRAM firmy Samsung , wydany w 1998 roku.   

Później, w 2001 roku, japońscy producenci DRAM oskarżyli koreańskich producentów DRAM o dumping.

W 2002 roku amerykańscy producenci komputerów twierdzili, że ustalają ceny DRAM .

Zasady działania

Zasady działania odczytu prostej tablicy 4 4 DRAM
Podstawowa struktura macierzy komórek DRAM

DRAM jest zwykle ułożony w prostokątny układ komórek magazynujących ładunek, składający się z jednego kondensatora i tranzystora na bit danych. Rysunek po prawej pokazuje prosty przykład z macierzą komórek cztery na cztery. Niektóre macierze DRAM mają wysokość i szerokość wielu tysięcy komórek.

Długie poziome linie łączące każdy rząd są znane jako linie słowne. Każda kolumna komórek składa się z dwóch linii bitowych, z których każda jest połączona z każdą inną komórką pamięci w kolumnie (ilustracja po prawej nie zawiera tego ważnego szczegółu). Są one ogólnie znane jako linie bitowe „+” i „−”.

Wzmacniacz sensie jest zasadniczo krzyż podłączonych do przetwornic pomiędzy wiertłem linii. Pierwszy falownik jest połączony z wejściem z linii bitowej +, a wyjściem z linią bitową −. Wejście drugiego falownika jest z linii bitowej − z wyjściem do linii bitowej +. Skutkuje to dodatnim sprzężeniem zwrotnym, które stabilizuje się po tym, jak jedna linia bitowa jest w pełni na najwyższym napięciu, a druga linia bitowa ma najniższe możliwe napięcie.

Operacje odczytu bitu danych z komórki pamięci DRAM

  1. Wzmacniacze zmysłów są odłączone.
  2. Linie bitowe są wstępnie ładowane do dokładnie równych napięć, które znajdują się pomiędzy wysokim i niskim poziomem logicznym (np. 0,5 V, jeśli dwa poziomy to 0 i 1 V). Linie bitowe są fizycznie symetryczne, aby utrzymać równą pojemność, a zatem w tym czasie ich napięcia są równe.
  3. Obwód ładowania wstępnego jest wyłączony. Ponieważ linie bitowe są stosunkowo długie, mają wystarczającą pojemność, aby utrzymać wstępnie naładowane napięcie przez krótki czas. To jest przykład logiki dynamicznej .
  4. Linia słowa żądanego rzędu jest następnie ustawiana w górę, aby podłączyć kondensator magazynujący komórki do jej linii bitowej. Powoduje to, że tranzystor przewodzi, przenosząc ładunek z komórki pamięci do podłączonej linii bitów (jeśli przechowywana wartość wynosi 1) lub z podłączonej linii bitów do komórki pamięci (jeśli przechowywana wartość wynosi 0). Ponieważ pojemność linii bitowej jest zwykle znacznie wyższa niż pojemność komórki magazynującej, napięcie na linii bitowej wzrasta bardzo nieznacznie, jeśli kondensator komórki magazynującej jest rozładowany i spada bardzo nieznacznie, jeśli komórka magazynująca jest naładowana (np. 0,54 i 0,45 V w dwóch przypadkach). Ponieważ druga linia bitowa utrzymuje napięcie 0,50 V, istnieje niewielka różnica napięcia między dwiema skręconymi liniami bitowymi.
  5. Wzmacniacze zmysłów są teraz podłączone do par linii bitowych. Dodatnie sprzężenie zwrotne występuje następnie z połączonych krzyżowo falowników, wzmacniając w ten sposób niewielką różnicę napięć między nieparzystymi i parzystymi liniami bitów danej kolumny, aż jedna linia bitowa będzie w pełni przy najniższym napięciu, a druga przy maksymalnym wysokim napięciu. Gdy to nastąpi, wiersz jest „otwarty” (dostępne są żądane dane komórki).
  6. Wszystkie komórki pamięci w otwartym rzędzie są wykrywane jednocześnie, a wyjścia wzmacniacza wykrywania są blokowane. Adres kolumny wybiera następnie, który bit zatrzasku należy połączyć z zewnętrzną magistralą danych. Odczyty różnych kolumn w tym samym wierszu można wykonać bez opóźnienia otwarcia wiersza, ponieważ w przypadku otwartego wiersza wszystkie dane zostały już wykryte i zablokowane.
  7. Podczas odczytu kolumn w otwartym rzędzie prąd płynie z powrotem liniami bitów z wyjścia wzmacniaczy zmysłowych i ładuje komórki pamięci. Wzmacnia to (tj. „odświeża”) ładunek w ogniwie magazynującym poprzez zwiększenie napięcia w kondensatorze magazynującym, jeśli był naładowany na początku, lub przez utrzymywanie go w stanie rozładowanym, jeśli był pusty. Należy zauważyć, że ze względu na długość linii bitowych występuje dość duże opóźnienie propagacji ładunku, który ma zostać przeniesiony z powrotem do kondensatora ogniwa. Zajmuje to dużo czasu po zakończeniu wzmacniania sensu, a zatem nakłada się na jeden lub więcej odczytów kolumny.
  8. Po zakończeniu odczytywania wszystkich kolumn w bieżącym otwartym wierszu, linia słowa jest wyłączana, aby odłączyć kondensatory komórki pamięci (wiersz jest „zamknięty”) od linii bitów. Wzmacniacz sensu jest wyłączany, a linie bitowe są ponownie wstępnie ładowane.

Aby zapisać w pamięci

Zapis do komórki DRAM

W celu przechowywania danych, wiersz jest otwierany, a wzmacniacz czujnikowy danej kolumny jest tymczasowo wymuszany do pożądanego stanu wysokiego lub niskiego napięcia, co powoduje, że linia bitowa ładuje lub rozładowuje kondensator magazynujący ogniwa do pożądanej wartości. Ze względu na konfigurację dodatniego sprzężenia zwrotnego wzmacniacza sensownego, będzie on utrzymywał linię bitową przy stabilnym napięciu, nawet po usunięciu napięcia wymuszającego. Podczas zapisu do konkretnej komórki wszystkie kolumny w rzędzie są wykrywane jednocześnie, tak jak podczas odczytu, więc chociaż zmienia się tylko ładunek kondensatora komórki pamięciowej pojedynczej kolumny, cały wiersz jest odświeżany (z powrotem zapisywany), jak pokazano na postać po prawej.

Częstotliwość odświeżania

Zazwyczaj producenci określają, że każdy wiersz musi być odświeżany co 64 ms lub mniej, zgodnie z definicją standardu JEDEC .

Niektóre systemy odświeżają każdy wiersz w serii aktywności obejmującej wszystkie wiersze co 64 ms. Inne systemy odświeżają jeden wiersz na raz, rozłożone w odstępie 64 ms. Na przykład system z 2 13  = 8192 wierszami wymagałby rozłożonej częstotliwości odświeżania jednego wiersza co 7,8 µs, co stanowi 64 ms podzielone przez 8192 wiersze. Kilka systemów czasu rzeczywistego odświeża część pamięci w czasie określonym przez funkcję zegara zewnętrznego, która steruje działaniem reszty systemu, na przykład interwał wygaszania pionowego, który występuje co 10–20 ms w sprzęcie wideo.

Adres wiersza, który zostanie odświeżony w następnej kolejności, jest utrzymywany przez zewnętrzną logikę lub licznik w pamięci DRAM. System, który dostarcza adres wiersza (i polecenie odświeżania), robi to, aby mieć większą kontrolę nad tym, kiedy i który wiersz odświeżyć. Ma to na celu zminimalizowanie konfliktów z dostępem do pamięci, ponieważ taki system ma zarówno wiedzę o wzorcach dostępu do pamięci, jak i wymaganiach dotyczących odświeżania pamięci DRAM. Gdy adres wiersza jest dostarczany przez licznik w pamięci DRAM, system traci kontrolę nad tym, który wiersz jest odświeżany i dostarcza tylko polecenie odświeżania. Niektóre nowoczesne pamięci DRAM są zdolne do samodzielnego odświeżania; żadna zewnętrzna logika nie jest wymagana do nakazania pamięci DRAM odświeżenia lub dostarczenia adresu wiersza.

W pewnych warunkach większość danych w pamięci DRAM można odzyskać, nawet jeśli pamięć DRAM nie była odświeżana przez kilka minut.

Czas pamięci

Wiele parametrów jest wymaganych do pełnego opisania czasu działania pamięci DRAM. Oto kilka przykładów dwóch klas taktowania asynchronicznej pamięci DRAM z arkusza danych opublikowanego w 1998 roku:

"50 ns" "60 ns" Opis
t RC 84 ns 104 ns Czas cyklu losowego odczytu lub zapisu (od jednego pełnego cyklu /RAS do drugiego)
t RAC 50 ns 60 ns Czas dostępu: /RAS niski do poprawnych danych out
t RCD 11 ns 14 ns /RAS niski do /CAS niski czas
t ZAZ 50 ns 60 ns /RAS szerokość impulsu (minimalny /RAS niski czas)
t RP 30 ns 40 ns Czas wstępnego ładowania /RAS (minimalny /wysoki czas RAS)
t PC 20 ns 25 ns Czas cyklu odczytu lub zapisu w trybie strony (/CAS do /CAS)
t AA 25 ns 30 ns Czas dostępu: adres kolumny prawidłowy do wysłania prawidłowych danych (w tym czas ustawienia adresu przed /CAS low)
t CAC 13 ns 15 ns Czas dostępu: /CAS niski do poprawnych danych out
t CAS 8 ns 10 ns /CAS minimalna szerokość impulsu

Tak więc ogólnie cytowana liczba to czas dostępu /RAS. Jest to czas na odczytanie losowego bitu z wstępnie naładowanej tablicy DRAM. Czas na odczytanie dodatkowych bitów z otwartej strony jest znacznie krótszy.

Gdy dostęp do takiej pamięci RAM uzyskuje się za pomocą taktowanej logiki, czasy są zazwyczaj zaokrąglane w górę do najbliższego cyklu zegara. Na przykład przy dostępie do maszyny stanowej 100 MHz (tj. zegar 10 ns), pamięć DRAM 50 ns może wykonać pierwszy odczyt w pięciu cyklach zegara, a dodatkowe odczyty w obrębie tej samej strony co dwa cykle zegara. Było to ogólnie określane jako czas „5-2-2-2” , ponieważ częste były serie czterech odczytów na stronie.

Opisując pamięć synchroniczną, taktowanie jest opisane przez liczbę cykli zegara oddzieloną myślnikami. Liczby te reprezentują t CL - t RCD - t RP - t RAS w wielokrotnościach czasu cyklu zegara DRAM. Należy zauważyć, że jest to połowa szybkości przesyłania danych, gdy używana jest sygnalizacja o podwójnej szybkości transmisji danych . Standardowe taktowanie PC3200 JEDEC to 3-4-4-8 z zegarem 200 MHz, podczas gdy wysokiej jakości moduł PC3200 DDR DRAM DIMM może działać z taktowaniem 2-2-2-5 .

PC-3200 (DDR-400) PC2-6400 (DDR2-800) PC3-12800 (DDR3-1600) Opis
Typowy Szybko Typowy Szybko Typowy Szybko
cykle czas cykle czas cykle czas cykle czas cykle czas cykle czas
t CL 3 15 ns 2 10 ns 5 12,5 ns 4 10 ns 9 11,25 ns 8 10 ns /CAS niski do poprawnych danych (odpowiednik t CAC )
t RCD 4 20 ns 2 10 ns 5 12,5 ns 4 10 ns 9 11,25 ns 8 10 ns /RAS niski do /CAS niski czas
t RP 4 20 ns 2 10 ns 5 12,5 ns 4 10 ns 9 11,25 ns 8 10 ns /RAS precharge time (minimalne ładowanie do czasu aktywności)
t ZAZ 8 40 ns 5 25 ns 16 40 ns 12 30 ns 27 33,75 ns 24 30 ns Czas aktywności rzędu (minimalny czas aktywności do wstępnego ładowania)

Minimalny czas dostępu losowego poprawił się z t RAC  = 50 ns do t RCD + t CL = 22,5 ns , a nawet odmiana premium 20 ns jest tylko 2,5 razy lepsza w porównaniu z typowym przypadkiem (~2,22 razy lepsza). Opóźnienie CAS poprawiło się jeszcze mniej, z t CAC = 13 ns do 10 ns. Jednak pamięć DDR3 osiąga 32 razy większą przepustowość; ze względu na wewnętrzne potokowanie i szerokie ścieżki danych, może wysyłać dwa słowa co 1,25 ns (1 600  Msłów/s) , podczas gdy EDO DRAM może wyprowadzać jedno słowo na t PC  = 20 ns (50 Msłów/s).

Skróty czasowe

  • t CL – opóźnienie CAS
  • t CR – Szybkość poleceń
  • t PTP – opóźnienie wstępnego ładowania do wstępnego ładowania
  • t ZAZ – czas aktywności ZAZ
  • t RCD – opóźnienie RAS do CAS
  • t REF – Okres odświeżania
  • t RFC – Czas cyklu odświeżania wiersza
  • t RP – wstępne ładowanie RAS
  • t RRD – opóźnienie ZAZ do ZAZ
  • t RTP – Odczytaj do wstępnego ładowania opóźnienia
  • t RTR – Opóźnienie odczytu do odczytu
  • t RTW – Opóźnienie odczytu i zapisu
  • t WR – Czas przywracania zapisu
  • t WTPzapis do wstępnego ładowania opóźnienia
  • t WTR – Opóźnienie zapisu do odczytu
  • t WTW – Opóźnienie zapisu do zapisu

Projekt komórki pamięci

Każdy bit danych w pamięci DRAM jest przechowywany jako dodatni lub ujemny ładunek elektryczny w strukturze pojemnościowej. Struktura zapewniająca pojemność, a także tranzystory, które kontrolują dostęp do niej, określane są zbiorczo jako komórka DRAM . Są podstawowym budulcem w macierzach DRAM. Istnieje wiele wariantów komórek pamięci DRAM, ale najczęściej używanym wariantem we współczesnych pamięciach DRAM jest komórka z jednym tranzystorem i jednym kondensatorem (1T1C). Tranzystor jest używany do wprowadzania prądu do kondensatora podczas zapisu i do rozładowywania kondensatora podczas odczytu. Tranzystor dostępowy został zaprojektowany tak, aby zmaksymalizować siłę napędu i zminimalizować wyciek tranzystor-tranzystor (Kenner, str. 34).

Kondensator ma dwa zaciski, z których jeden jest podłączony do jego tranzystora dostępowego, a drugi do masy lub V CC /2. W nowoczesnych pamięciach DRAM ten drugi przypadek jest bardziej powszechny, ponieważ umożliwia szybsze działanie. W nowoczesnych pamięciach DRAM do przechowywania jedynki logicznej wymagane jest napięcie +V CC /2 na kondensatorze; a do przechowywania logicznego zera wymagane jest napięcie -V CC /2 na kondensatorze. Ładunek elektryczny zmagazynowany w kondensatorze mierzony jest w kulombach . Dla logicznego ładunek to: , gdzie Q jest ładunkiem w kulombach, a C jest pojemnością w faradach . Logiczne zero ma ładunek: .

Odczyt lub zapis logicznej jedynki wymaga, aby linia słowa była doprowadzona do napięcia większego niż suma VCC i napięcia progowego tranzystora dostępu ( VTH ). To napięcie nazywa się pompowane V CC (V CCP ). Czas wymagany do rozładowania kondensatora zależy zatem od tego, jaka wartość logiczna jest przechowywana w kondensatorze. Kondensator zawierający logikę zaczyna się rozładowywać, gdy napięcie na zacisku bramki tranzystora dostępu jest powyżej V CCP . Jeśli kondensator zawiera zero logiczne, zaczyna się rozładowywać, gdy napięcie na zaciskach bramki przekracza VTH .

Konstrukcja kondensatora

Do połowy lat 80. kondensatory w ogniwach DRAM były współpłaszczyznowe z tranzystorem dostępowym (konstruowano je na powierzchni podłoża), stąd nazywano je kondensatorami planarnymi . Dążenie do zwiększenia zarówno gęstości, jak i, w mniejszym stopniu, wydajności wymagało gęstszych konstrukcji. Było to silnie motywowane ekonomią, głównym czynnikiem dla urządzeń DRAM, zwłaszcza standardowych DRAM. Minimalizacja obszaru komórek DRAM może zapewnić gęstsze urządzenie i obniżyć koszt na bit pamięci. Począwszy od połowy lat 80. kondensator był przesuwany nad lub pod podłoże krzemowe, aby osiągnąć te cele. Ogniwa DRAM wyposażone w kondensatory nad podłożem określane są jako kondensatory ułożone w stos lub złożone . Te z kondensatorami zakopanymi pod powierzchnią podłoża są określane jako kondensatory do rowów . W 2000 roku producenci byli ostro podzieleni ze względu na rodzaj kondensatora stosowanego w ich pamięciach DRAM, a względny koszt i długoterminowa skalowalność obu projektów były przedmiotem szerokiej debaty. Większość pamięci DRAM, pochodzących od głównych producentów, takich jak Hynix , Micron Technology , Samsung Electronics, wykorzystuje układ kondensatorów w stosie, podczas gdy mniejsi producenci, tacy jak Nanya Technology, wykorzystują konstrukcję kondensatorów rowowych (Jacob, s. 355–357).

Kondensator w układzie kondensatorów piętrowych jest skonstruowany nad powierzchnią podłoża. Kondensator jest zbudowany z dielektryka tlenek-azotek-tlenek (ONO) umieszczony pomiędzy dwiema warstwami płytek polikrzemowych (górna płyta jest wspólna dla wszystkich komórek DRAM w układzie scalonym), a jego kształt może być prostokątem, cylindrem lub jakiś inny, bardziej złożony kształt. Istnieją dwie podstawowe odmiany kondensatora ułożonego w stos, oparte na jego lokalizacji w stosunku do linii bitowej - kondensator-over-bitline (COB) i kondensator-under-bitline (CUB). W poprzedniej odmianie kondensator znajduje się pod linią bitową, która zwykle jest wykonana z metalu, a linia bitowa ma styk polikrzemowy, który rozciąga się w dół, aby połączyć go z zaciskiem źródłowym tranzystora dostępu. W tej ostatniej odmianie kondensator jest skonstruowany powyżej linii bitowej, która prawie zawsze jest wykonana z polikrzemu, ale poza tym jest identyczna z odmianą COB. Zaletą wariantu COB jest łatwość wykonania styku między linią bitową a źródłem tranzystora dostępowego, ponieważ znajduje się on fizycznie blisko powierzchni podłoża. Wymaga to jednak ułożenia aktywnego obszaru pod kątem 45 stopni, patrząc z góry, co utrudnia zapewnienie, że styk kondensatora nie dotyka linii bitowej. Komórki CUB unikają tego, ale cierpią z powodu trudności we wstawianiu styków pomiędzy linie bitowe, ponieważ wielkość cech tak blisko powierzchni jest równa lub zbliżona do minimalnego rozmiaru cech technologii procesu (Kenner, s. 33–42).

Kondensator do rowów jest skonstruowany przez wytrawienie głębokiego otworu w podłożu krzemowym. Objętość podłoża otaczająca otwór jest następnie silnie domieszkowana, aby wytworzyć zakopaną płytkę n + i zmniejszyć opór. Narasta lub osadza się warstwa dielektryka tlenek-azotek-tlenek, a na koniec otwór jest wypełniany przez osadzanie domieszkowanego polikrzemu, który tworzy górną płytę kondensatora. Górna część kondensatora jest połączona z końcówką drenu tranzystora dostępowego za pomocą paska polisilikonowego (Kenner, s. 42–44). Stosunek głębokości do szerokości kondensatora rowowego w pamięciach DRAM z połowy 2000 roku może przekraczać 50:1 (Jacob, s. 357).

Kondensatory kanałowe mają wiele zalet. Ponieważ kondensator jest zakopany w masie podłoża zamiast leżeć na jego powierzchni, zajmowany przez niego obszar można zminimalizować do tego, co jest wymagane do podłączenia go do zacisku drenu tranzystora dostępu bez zmniejszania rozmiaru kondensatora, a tym samym pojemności (Jacob, s. 356–357). Alternatywnie, pojemność można zwiększyć, wytrawiając głębszy otwór bez zwiększania powierzchni (Kenner, str. 44). Kolejną zaletą kondensatora do rowów jest to, że jego struktura znajduje się pod warstwami metalowego połączenia, dzięki czemu można je łatwiej wykonać planarnie, co umożliwia jego integrację w zoptymalizowanej pod względem logicznym technologii procesowej, która ma wiele poziomów połączeń nad podłożem . Fakt, że kondensator jest pod logiką, oznacza, że ​​jest konstruowany przed tranzystorami. Umożliwia to procesom wysokotemperaturowym wytwarzanie kondensatorów, które w przeciwnym razie degradowałyby tranzystory logiczne i ich wydajność. To sprawia, że ​​kondensatory rowkowe nadają się do budowy wbudowanej pamięci DRAM (eDRAM) (Jacob, s. 357). Wadami kondensatorów rowkowych są trudności w niezawodnej konstrukcji konstrukcji kondensatora w głębokich otworach oraz w połączeniu kondensatora z końcówką drenu tranzystora dostępowego (Kenner, str. 44).

Historyczne projekty komórek

Układy DRAM pierwszej generacji (te o pojemności 1 kbit), z których pierwszym był Intel 1103 , wykorzystywały ogniwo DRAM z trzema tranzystorami i jednym kondensatorem (3T1C). W drugiej generacji wymóg zwiększenia gęstości poprzez umieszczenie większej liczby bitów na danym obszarze lub wymóg zmniejszenia kosztów poprzez umieszczenie tej samej liczby bitów na mniejszym obszarze doprowadziły do ​​niemal powszechnego przyjęcia komórki 1T1C DRAM, chociaż kilka urządzeń o przepustowości 4 i 16 kbit nadal korzystało z komórki 3T1C ze względu na wydajność (Kenner, s. 6). Te zalety wydajnościowe obejmowały, co najważniejsze, możliwość odczytu stanu zapisanego przez kondensator bez rozładowywania go, unikając konieczności zapisywania z powrotem tego, co zostało odczytane (odczyt nieniszczący). Drugą zaletą wydajności jest to, że komórka 3T1C ma oddzielne tranzystory do odczytu i zapisu; kontroler pamięci może wykorzystać tę cechę do wykonywania atomowych odczytów-modyfikacji-zapisów, w których wartość jest odczytywana, modyfikowana, a następnie zapisywana z powrotem jako pojedyncza, niepodzielna operacja (Jacob, s. 459).

Proponowane projekty ogniw

Jednotranzystorowe ogniwo DRAM o zerowej pojemności (1T) było przedmiotem badań od końca lat 90. XX wieku. 1T DRAM to inny sposób konstruowania podstawowej komórki pamięci DRAM, różniący się od klasycznej jednotranzystorowej/jednokondensatorowej komórki DRAM (1T/1C), która jest również czasami określana jako „1T DRAM”, szczególnie w porównaniu z DRAM 3T i 4T, które zastąpiła w latach 70. XX wieku.

W komórkach 1T DRAM bit danych jest nadal przechowywany w obszarze pojemnościowym kontrolowanym przez tranzystor, ale ta pojemność nie jest już zapewniana przez oddzielny kondensator. 1T DRAM to "bezkondensatorowa" konstrukcja ogniw bitowych, która przechowuje dane przy użyciu pasożytniczej pojemności ciała, która jest nieodłączna dla tranzystorów krzemowych na izolatorach (SOI) . Uważany za uciążliwy w projektowaniu logiki, ten efekt pływającego ciała może być używany do przechowywania danych. Daje to komórkom 1T DRAM największą gęstość, a także umożliwia łatwiejszą integrację z wysokowydajnymi obwodami logicznymi, ponieważ są one konstruowane przy użyciu tych samych technologii procesowych SOI.

Odświeżanie komórek pozostaje konieczne, ale w przeciwieństwie do 1T1C DRAM, odczyty z 1T DRAM są nieniszczące; zmagazynowany ładunek powoduje wykrywalne przesunięcie napięcia progowego tranzystora. Pod względem wydajności czasy dostępu są znacznie lepsze niż DRAM oparte na kondensatorach, ale nieco gorsze niż SRAM. Istnieje kilka rodzajów pamięci 1T DRAM: skomercjalizowana Z-RAM firmy Innovative Silicon, TTRAM firmy Renesas oraz A-RAM firmy UGR / CNRS .

Struktury tablicowe

Samodopasowujące się lokalizacje węzłów pamięci masowej upraszczają proces wytwarzania w nowoczesnej pamięci DRAM.

Komórki DRAM są ułożone w regularny prostokątny wzór przypominający siatkę, aby ułatwić ich kontrolę i dostęp za pomocą linii słów i linii bitów. Fizyczny układ komórek DRAM w tablicy jest zwykle zaprojektowany tak, że dwie sąsiednie komórki DRAM w kolumnie współdzielą pojedynczy styk linii bitowej w celu zmniejszenia ich powierzchni. Obszar komórki DRAM jest podany jako n F 2 , gdzie n jest liczbą wyprowadzoną z projektu komórki DRAM, a F jest najmniejszym rozmiarem cechy danej technologii procesu. Schemat ten umożliwia porównanie rozmiaru DRAM w różnych generacjach technologii procesowych, ponieważ obszar komórki DRAM skaluje się z szybkością liniową lub prawie liniową w odniesieniu do rozmiaru cechy. Typowy obszar dla nowoczesnych komórek DRAM waha się od 6 do 8 F 2 .

Poziomy przewód, wordline, jest podłączony do terminala bramki każdego tranzystora dostępowego w swoim rzędzie. Pionowa linia bitowa jest połączona z zaciskiem źródłowym tranzystorów w swojej kolumnie. Długość linii słów i linii bitowych jest ograniczona. Długość linii słowa jest ograniczona przez żądaną wydajność tablicy, ponieważ czas propagacji sygnału, który musi przejść przez linię słowa, jest określony przez stałą czasową RC . Długość linii bitowej jest ograniczona jej pojemnością (która rośnie wraz z długością), która musi być utrzymywana w zakresie dla prawidłowego wykrywania (ponieważ pamięci DRAM działają poprzez wykrywanie ładunku kondensatora uwalnianego na linię bitową). Długość linii bitowej jest również ograniczona przez wielkość prądu roboczego, jaki DRAM może pobierać, oraz przez sposób, w jaki moc może być rozpraszana, ponieważ te dwie cechy są w dużej mierze zdeterminowane przez ładowanie i rozładowywanie linii bitowej.

Architektura bitline

Wzmacniacze Sense są wymagane do odczytu stanu zawartego w komórkach DRAM. Gdy tranzystor dostępu jest aktywowany, ładunek elektryczny w kondensatorze jest współdzielony z linią bitową. Pojemność bitline jest znacznie większa niż pojemność kondensatora (około dziesięć razy). Tak więc zmiana napięcia bitline jest niewielka. Wzmacniacze Sense są wymagane do rozwiązania różnicy napięć na poziomy określone przez logiczny system sygnalizacji. Nowoczesne pamięci DRAM wykorzystują różnicowe wzmacniacze sensu i towarzyszą im wymagania dotyczące budowy macierzy DRAM. Wzmacniacze różnicowe działają, kierując swoje wyjścia do przeciwnych ekstremów w oparciu o względne napięcia na parach bitline. Wzmacniacze sensu działają skutecznie i wydajnie tylko wtedy, gdy pojemność i napięcia tych par bitline są ściśle dopasowane. Oprócz zapewnienia, że ​​długości linii bitowych i liczba dołączonych do nich komórek DRAM są równe, pojawiły się dwie podstawowe architektury do projektowania macierzy, aby spełnić wymagania wzmacniaczy zmysłowych: otwarte i złożone macierze bitline.

Otwarte tablice bitline

Pierwsza generacja (1 kbit) układów DRAM, aż do generacji 64 kbit (i niektórych urządzeń generacji 256 kbit) miała otwartą architekturę macierzy bitline. W tych architekturach linie bitowe są podzielone na wiele segmentów, a wzmacniacze różnicowe są umieszczone pomiędzy segmentami bitline. Ponieważ wzmacniacze sensu są umieszczone między segmentami bitline, aby skierować ich wyjścia poza tablicę, wymagana jest dodatkowa warstwa interkonektu umieszczona ponad tymi używanymi do konstruowania linii słów i bitline.

Komórki DRAM znajdujące się na krawędziach tablicy nie mają przyległych segmentów. Ponieważ wzmacniacze sensu różnicowego wymagają identycznej pojemności i długości bitline z obu segmentów, dostarczane są fikcyjne segmenty bitline. Zaletą otwartej tablicy bitline jest mniejszy obszar tablicy, chociaż przewaga ta jest nieco zmniejszona przez atrapy segmentów bitline. Wadą, która spowodowała niemal zniknięcie tej architektury, jest nieodłączna podatność na zakłócenia , która wpływa na skuteczność różnicowych wzmacniaczy zmysłowych. Ponieważ każdy segment linii bitowej nie ma żadnego związku przestrzennego z drugim, prawdopodobnie szum wpłynąłby tylko na jeden z dwóch segmentów linii bitowej.

Składane tablice bitline

Architektura złożonej tablicy bitline kieruje linie bitowe parami w całej tablicy. Bliskie sąsiedztwo sparowanych linii bitowych zapewnia lepszą charakterystykę tłumienia szumów w trybie wspólnym w porównaniu z otwartymi macierzami bitline. Złożona architektura macierzy bitline zaczęła pojawiać się w układach DRAM w połowie lat 80., poczynając od generacji 256 kbit. Ta architektura jest preferowana w nowoczesnych układach DRAM ze względu na doskonałą odporność na zakłócenia.

Ta architektura jest określana jako złożona, ponieważ opiera się na architekturze otwartej tablicy z perspektywy schematu obwodu. Architektura złożonej macierzy wydaje się usuwać komórki DRAM w naprzemiennych parach (ponieważ dwie komórki DRAM współdzielą pojedynczy kontakt linii bitowej) z kolumny, a następnie przenieść komórki DRAM z sąsiedniej kolumny do pustych przestrzeni.

Miejsce, w którym skręca się linia bitowa, zajmuje dodatkowy obszar. Aby zminimalizować narzut obszaru, inżynierowie wybierają najprostszy i najbardziej minimalizujący obszar schemat skręcania, który jest w stanie zredukować hałas poniżej określonego limitu. Wraz z poprawą technologii procesu w celu zmniejszenia minimalnych rozmiarów elementów, problem sygnału do szumu pogarsza się, ponieważ sprzężenie między sąsiednimi przewodami metalowymi jest odwrotnie proporcjonalne do ich skoku. Stosowane schematy składania tablicy i skręcania linii bitowych muszą zwiększać złożoność w celu utrzymania wystarczającej redukcji szumów. Schematy, które mają pożądane charakterystyki odporności na zakłócenia przy minimalnym oddziaływaniu w terenie, są przedmiotem aktualnych badań (Kenner, s. 37).

Przyszłe architektury macierzy

Postępy w technologii procesów mogą spowodować, że preferowane będą otwarte architektury macierzy bitline, jeśli będą one w stanie zaoferować lepszą długoterminową wydajność obszaru; ponieważ złożone architektury tablic wymagają coraz bardziej złożonych schematów składania, aby dopasować się do postępu w technologii procesowej. Związek między technologią procesową, architekturą macierzy i wydajnością obszaru jest aktywnym obszarem badań.

Nadmiarowość wierszy i kolumn

Pierwsze układy scalone DRAM nie miały żadnej redundancji. Układ scalony z uszkodzoną komórką DRAM zostałby odrzucony. Począwszy od generacji 64 kbit, macierze DRAM zawierają zapasowe wiersze i kolumny w celu zwiększenia wydajności. Zapasowe rzędy i kolumny zapewniają tolerancję na drobne wady produkcyjne, które spowodowały, że niewielka liczba rzędów lub kolumn nie działa. Uszkodzone rzędy i kolumny są fizycznie odłączane od reszty tablicy przez wyzwalanie programowalnego bezpiecznika lub przez przecięcie drutu laserem. Zapasowe wiersze lub kolumny są zastępowane przez logikę remapowania w dekoderach wierszy i kolumn (Jacob, s. 358–361).

Wykrywanie i korekcja błędów

Zakłócenia elektryczne lub magnetyczne w systemie komputerowym mogą spowodować, że pojedynczy bit pamięci DRAM spontanicznie przestawi się w przeciwny stan. Większość jednorazowych („ miękkich ”) błędów w układach DRAM powstaje w wyniku promieniowania tła , głównie neutronów z wtórnych promieni kosmicznych , które mogą zmieniać zawartość jednej lub więcej komórek pamięci lub zakłócać obwody używane do odczytu/ napisz je.

Problem można złagodzić, stosując nadmiarowe bity pamięci i dodatkowe obwody, które wykorzystują te bity do wykrywania i korygowania błędów programowych. W większości przypadków wykrywanie i korekcja są wykonywane przez kontroler pamięci ; czasami wymagana logika jest w przejrzysty sposób zaimplementowana w układach lub modułach DRAM, umożliwiając funkcjonalność pamięci ECC dla systemów, które w przeciwnym razie nie obsługują ECC. Dodatkowe bity pamięci służą do rejestrowania parzystości i umożliwienia odtworzenia brakujących danych za pomocą kodu korekcji błędów (ECC). Parzystość umożliwia wykrycie wszystkich błędów jednobitowych (w rzeczywistości dowolnej nieparzystej liczby błędnych bitów). Najpopularniejszy kod korekcji błędów, kod Hamminga SECDED , umożliwia korygowanie błędu jednobitowego oraz, w zwykłej konfiguracji, z dodatkowym bitem parzystości, wykrywanie błędów dwubitowych.

Ostatnie badania dają bardzo różne poziomy błędów z ponad siedem rzędów wielkości różnicy, począwszy od 10 -10 -10 -17 błąd / bit · h , w przybliżeniu jeden błąd nieco, za godzinę, za gigabajt pamięci na jeden błąd bit per wieku na gigabajt pamięci. Schroeder i in. Badanie z 2009 r. wykazało 32-procentowe prawdopodobieństwo, że dany komputer objęty badaniem doznałby co najmniej jednego możliwego do skorygowania błędu rocznie i dostarczyło dowodów na to, że większość takich błędów to sporadyczne błędy twarde, a nie miękkie. Badanie z 2010 roku na Uniwersytecie Rochester dostarczyło również dowodów na to, że znaczna część błędów pamięci to sporadyczne błędy twarde. Badania na dużą skalę nad pamięcią główną bez ECC w komputerach PC i laptopach sugerują, że niewykryte błędy pamięci odpowiadają za znaczną liczbę awarii systemu: badanie wykazało szansę 1 na 1700 na 1,5% testowanej pamięci (ekstrapolacja do około 26% szansa na całkowitą pamięć), że komputer będzie miał błąd pamięci co osiem miesięcy.

Bezpieczeństwo

Remanencja danych

Chociaż specyfikacja pamięci dynamicznej jest gwarantowana i gwarantuje zachowanie jej zawartości tylko wtedy, gdy jest zasilana i odświeżana co krótki okres czasu (często 64 ms ), kondensatory komórek pamięci często zachowują swoje wartości przez znacznie dłuższy czas, szczególnie w niskich temperaturach. W pewnych warunkach większość danych w pamięci DRAM można odzyskać, nawet jeśli nie były one odświeżane przez kilka minut.

Ta właściwość może służyć do obchodzenia zabezpieczeń i odzyskiwania danych przechowywanych w pamięci głównej, co do których zakłada się, że zostaną zniszczone po wyłączeniu zasilania. Komputer można było szybko zrestartować i odczytać zawartość pamięci głównej; lub przez wyjęcie modułów pamięci komputera, schłodzenie ich w celu przedłużenia przechowywania danych, a następnie przeniesienie ich do innego komputera w celu odczytania. Taki atak wykazano obejście popularnych systemów szyfrowania dysku, takich jak open source TrueCrypt , Microsoft BitLocker Drive Encryption , a firmy Apple „s FileVault . Ten typ ataku na komputer jest często nazywany atakiem zimnego rozruchu .

Uszkodzenie pamięci

Pamięć dynamiczna z definicji wymaga okresowego odświeżania. Co więcej, odczytywanie pamięci dynamicznej jest operacją destrukcyjną, wymagającą doładowania komórek pamięci w odczytanym rzędzie. Jeśli te procesy są niedoskonałe, operacja odczytu może spowodować miękkie błędy . W szczególności istnieje ryzyko, że część ładunku może wyciekać między sąsiednimi komórkami, powodując odświeżenie lub odczyt jednego rzędu, powodując błąd zakłócenia w sąsiednim lub nawet sąsiednim rzędzie. Świadomość występowania błędów zakłóceń sięga pierwszej dostępnej na rynku pamięci DRAM na początku lat 70. ( Intel 1103 ). Pomimo technik łagodzenia stosowanych przez producentów, komercyjni badacze udowodnili w analizie z 2014 roku, że dostępne na rynku chipy DDR3 DRAM wyprodukowane w 2012 i 2013 roku są podatne na błędy zakłóceń. Powiązany efekt uboczny, który doprowadził do zaobserwowanych przerzucania bitów, został nazwany młotkiem rzędowym .

Opakowania

Moduł pamięci

Układy scalone dynamicznej pamięci RAM są zwykle pakowane w odlewane obudowy epoksydowe, z wewnętrzną ramą wyprowadzeń do połączeń między matrycą silikonową a wyprowadzeniami obudowy. Oryginalny projekt IBM PC wykorzystywał układy scalone pakowane w podwójne pakiety in-line , lutowane bezpośrednio do płyty głównej lub montowane w gniazdach. Wraz ze wzrostem gęstości pamięci pakiet DIP nie był już praktyczny. Dla wygody obsługi kilka dynamicznych układów scalonych RAM może być zamontowanych na jednym module pamięci, co pozwala na instalację 16-bitowej, 32-bitowej lub 64-bitowej pamięci w jednej jednostce, bez konieczności instalowania przez instalatora wielu pojedynczych obwody scalone. Moduły pamięci mogą zawierać dodatkowe urządzenia do sprawdzania parzystości lub korekcji błędów. W trakcie ewolucji komputerów stacjonarnych opracowano kilka znormalizowanych typów modułów pamięci. Laptopy, konsole do gier i specjalistyczne urządzenia mogą mieć własne formaty modułów pamięci, których nie można zastąpić standardowymi częściami do komputerów stacjonarnych z powodów związanych z opakowaniem lub zastrzeżonymi prawami.

Osadzony

Pamięć DRAM zintegrowana z układem scalonym zaprojektowanym w procesie zoptymalizowanym pod względem logicznym (takim jak układ scalony specyficzny dla aplikacji , mikroprocesor lub cały system na chipie ) nazywana jest osadzoną pamięcią DRAM (eDRAM). Wbudowana pamięć DRAM wymaga projektów komórek DRAM, które można wyprodukować bez uniemożliwiania wytwarzania szybko przełączających się tranzystorów stosowanych w logice o wysokiej wydajności, oraz modyfikacji podstawowej technologii procesu zoptymalizowanej pod kątem logiki w celu dostosowania do etapów procesu wymaganych do budowy struktur komórek DRAM.

Wersje

Ponieważ podstawowa komórka i tablica DRAM przez wiele lat utrzymywały tę samą podstawową strukturę, typy DRAM wyróżniają się głównie wieloma różnymi interfejsami do komunikacji z chipami DRAM.

Asynchroniczna pamięć DRAM

Pierwotna pamięć DRAM, znana obecnie pod nazwąasynchroniczna DRAM ”, była pierwszym używanym typem pamięci DRAM. Od swoich początków w późnych latach 60-tych był powszechny w komputerach do około 1997 roku, kiedy to został w większości zastąpiony przez synchroniczną pamięć DRAM . W dzisiejszych czasach produkcja asynchronicznej pamięci RAM jest stosunkowo rzadka.

Zasady działania

Asynchroniczny układ DRAM ma przyłącza zasilania, pewną liczbę wejść adresowych (zwykle 12) i kilka (zwykle jedną lub cztery) dwukierunkowych linii danych. Istnieją cztery sygnały sterujące aktywny-niski :

  • RAS , stroboskop adresu wiersza. Wejścia adresowe są przechwytywane na opadającej krawędzi stacji ZAZ i wybierają wiersz do otwarcia. Rząd pozostaje otwarty tak długo, jak RAS jest niski.
  • CAS , stroboskop adresu kolumny. Wejścia adresowe są przechwytywane na opadającej krawędzi CAS i wybierają kolumnę z aktualnie otwartego wiersza do odczytu lub zapisu.
  • WE , Napisz Włącz. Sygnał ten określa, czy dane zbocze opadające CAS jest odczytem (jeśli jest wysokie) czy zapisem (jeśli jest niski). Jeśli jest niski, dane wejściowe są również przechwytywane na opadającej krawędzi CAS .
  • OE , Wyjście Włącz. Jest to dodatkowy sygnał sterujący wyjściem na piny I/O danych. Piny danych są sterowane przez układ DRAM, jeśli RAS i CAS są niskie, WE jest wysokie, a OE jest niskie. W wielu aplikacjach OE może być na stałe podłączony na niskim poziomie (wyjście zawsze włączone), ale może to być przydatne przy równoległym podłączeniu wielu układów pamięci.

Ten interfejs zapewnia bezpośrednią kontrolę nad taktowaniem wewnętrznym. Gdy RAS jest ustawiony na niski, nie można podejmować próby cyklu CAS, dopóki wzmacniacze wykrywania nie wykryją stanu pamięci, a RAS nie może zostać zwrócony w stanie wysokim, dopóki komórki pamięci nie zostaną odświeżone. Gdy stacja RAS znajduje się wysoko, musi być utrzymywana wystarczająco długo, aby zakończyć ładowanie wstępne.

Chociaż pamięć DRAM jest asynchroniczna, sygnały są zazwyczaj generowane przez taktowany kontroler pamięci, który ogranicza ich taktowanie do wielokrotności cyklu zegara kontrolera.

Odśwież tylko RAS

Klasyczna asynchroniczna pamięć DRAM jest odświeżana, otwierając kolejno każdy wiersz.

Cykle odświeżania są rozłożone na cały interwał odświeżania w taki sposób, że wszystkie wiersze są odświeżane w wymaganym interwale. Aby odświeżyć jeden wiersz tablicy pamięci przy użyciu tylko odświeżania RAS (ROR), należy wykonać następujące kroki:

  1. Adres wiersza, który ma być odświeżony, musi być podany na pinach wejściowych adresu.
  2. Stacja RAS musi przełączyć się z wysokiego na niski. CAS musi pozostać na wysokim poziomie.
  3. Pod koniec wymaganego czasu RAS musi zwrócić wysoki.

Można to zrobić, podając adres wiersza i pulsując stan niski RAS ; nie jest konieczne wykonywanie żadnych cykli CAS . Potrzebny jest zewnętrzny licznik do iteracji kolejno po adresach wierszy.

CAS przed odświeżeniem RAS

Dla wygody licznik został szybko włączony do samych chipów DRAM. Jeśli linia CAS jest obniżona przed RAS (zazwyczaj nieprawidłowa operacja), wówczas DRAM ignoruje wprowadzane adresy i używa wewnętrznego licznika do wybrania wiersza do otwarcia. Jest to znane jako odświeżanie CAS -przed- RAS (CBR). Stało się to standardową formą odświeżania dla asynchronicznej pamięci DRAM i jest jedyną formą powszechnie używaną z SDRAM-em.

Ukryte odświeżenie

Biorąc pod uwagę obsługę CAS -przed- odświeżeniem RAS , możliwe jest anulowanie potwierdzenia RAS przy jednoczesnym utrzymywaniu CAS na niskim poziomie w celu utrzymania danych wyjściowych. Jeśli RAS zostanie ponownie potwierdzony, wykonuje cykl odświeżania CBR, podczas gdy dane wyjściowe DRAM pozostają prawidłowe. Ponieważ wyprowadzanie danych nie jest przerywane, jest to znane jako ukryte odświeżanie .

Tryb strony DRAM

DRAM w trybie stronicowania to niewielka modyfikacja interfejsu DRAM IC pierwszej generacji, która poprawiła wydajność odczytu i zapisu w wierszu, unikając nieefektywnego wstępnego ładowania i wielokrotnego otwierania tego samego wiersza w celu uzyskania dostępu do innej kolumny. W trybie strony DRAM, po otwarciu wiersza przez przytrzymanie RAS na niskim poziomie, wiersz mógł pozostać otwarty i można było wykonać wielokrotne odczyty lub zapisy w dowolnej kolumnie w wierszu. Każdy dostęp do kolumny był inicjowany przez potwierdzenie CAS i przedstawienie adresu kolumny. W przypadku odczytów, po opóźnieniu ( t CAC ), prawidłowe dane pojawią się na pinach wyjściowych danych, które były utrzymywane na wysokim Z przed pojawieniem się prawidłowych danych. W przypadku zapisów sygnał zezwalający na zapis i dane zapisu byłyby prezentowane wraz z adresem kolumny.

DRAM w trybie stronicowania został później ulepszony dzięki niewielkiej modyfikacji, która dodatkowo zmniejszyła opóźnienia. DRAM z tym ulepszeniem nazwano DRAM- ami szybkiego trybu stronicowania ( FPM DRAM ). W trybie strony DRAM, CAS był potwierdzony przed podaniem adresu kolumny. W FPM DRAM adres kolumny można było podać, gdy CAS był nadal nieaktywny. Adres kolumny propagowany w ścieżce danych adresu kolumny, ale nie wyprowadzał danych na piny danych do momentu potwierdzenia CAS . Przed potwierdzeniem CAS , piny wyjściowe danych były utrzymywane na wysokim Z. FPM DRAM zmniejsza opóźnienie t CAC . DRAM w trybie szybkiej strony został wprowadzony w 1986 roku i był używany z procesorem Intel 80486.

Kolumna statyczna jest wariantem trybu szybkiej strony, w którym adres kolumny nie musi być przechowywany, ale raczej dane wejściowe adresu mogą być zmieniane przy niskim poziomie CAS , a dane wyjściowe zostaną odpowiednio zaktualizowane kilka nanosekund później.

Tryb półbajtowy to kolejny wariant, w którym cztery kolejne lokalizacje w rzędzie są dostępne za pomocą czterech kolejnych impulsów CAS . Różnica w stosunku do normalnego trybu strony polega na tym, że wejścia adresowe nie są używane dla drugiej do czwartej krawędzi CAS ; są generowane wewnętrznie począwszy od adresu podanego dla pierwszej krawędzi CAS .

Rozszerzone wyjście danych DRAM
Para 32  MB modułów EDO DRAM

Pamięć DRAM z rozszerzonym przesyłaniem danych (EDO DRAM) została wynaleziona i opatentowana w latach 90. przez firmę Micron Technology, która następnie licencjonowała technologię wielu innym producentom pamięci. EDO RAM, czasami określany jako pamięć DRAM z włączonym trybem Hyper Page, jest podobna do pamięci DRAM w trybie Fast Page z dodatkową funkcją, która umożliwia rozpoczęcie nowego cyklu dostępu przy jednoczesnym zachowaniu aktywnych danych wyjściowych z poprzedniego cyklu. Pozwala to na pewne nakładanie się podczas pracy (potokowanie), co pozwala na nieco lepszą wydajność. Jest do 30% szybszy niż FPM DRAM, który zaczął zastępować w 1995 roku, kiedy Intel wprowadził chipset 430FX z obsługą EDO DRAM. Niezależnie od wzrostu wydajności, moduły FPM i EDO SIMM mogą być używane zamiennie w wielu (ale nie we wszystkich) aplikacjach.

Aby być precyzyjnym, EDO DRAM rozpoczyna wyprowadzanie danych na opadającej krawędzi CAS , ale nie zatrzymuje wyprowadzania, gdy CAS ponownie rośnie. Utrzymuje ważność danych wyjściowych (tym samym wydłużając czas wyprowadzania danych), dopóki RAS nie zostanie anulowany lub nowa opadająca krawędź CAS wybierze inny adres kolumny.

Jednocyklowe EDO ma możliwość przeprowadzenia pełnej transakcji pamięciowej w jednym cyklu zegarowym. W przeciwnym razie każdy sekwencyjny dostęp do pamięci RAM w ramach tej samej strony zajmuje dwa cykle zegara zamiast trzech, po wybraniu strony. Wydajność i możliwości EDO pozwoliły mu w pewnym stopniu zastąpić powolne wówczas pamięci podręczne L2 komputerów PC. Stworzyło to możliwość zmniejszenia ogromnej utraty wydajności związanej z brakiem pamięci podręcznej L2, jednocześnie czyniąc systemy tańszymi w budowie. Było to również dobre dla notebooków ze względu na trudności związane z ich ograniczoną formą i ograniczoną żywotnością baterii. System EDO z pamięcią podręczną L2 był namacalnie szybszy niż starsza kombinacja FPM/L2.

Jednocyklowa pamięć EDO DRAM stała się bardzo popularna w kartach graficznych pod koniec lat 90-tych. Był bardzo tani, ale prawie tak wydajny pod względem wydajności, jak znacznie droższy VRAM.

Seria EDO DRAM

Ewolucja EDO DRAM, burst EDO DRAM (BEDO DRAM), może przetwarzać cztery adresy pamięci w jednej serii, maksymalnie 5-1-1-1 , oszczędzając dodatkowe trzy zegary w optymalnie zaprojektowanej pamięci EDO. Dokonano tego poprzez dodanie licznika adresu na chipie, aby śledzić następny adres. BEDO dodał również etap potoku, który umożliwia podzielenie cyklu dostępu do strony na dwie części. Podczas operacji odczytu pamięci pierwsza część uzyskiwała dostęp do danych z tablicy pamięci do stopnia wyjściowego (drugi zatrzask). Druga część wyprowadziła magistralę danych z tego zatrzasku na odpowiednim poziomie logicznym. Ponieważ dane znajdują się już w buforze wyjściowym, osiągany jest szybszy czas dostępu (do 50% w przypadku dużych bloków danych) niż w przypadku tradycyjnego EDO.

Chociaż BEDO DRAM wykazywał dodatkową optymalizację w porównaniu z EDO, zanim stał się dostępny, rynek poczynił znaczne inwestycje w synchroniczną pamięć DRAM lub SDRAM [1] . Chociaż BEDO RAM był pod pewnymi względami lepszy od SDRAM, ta ostatnia technologia szybko wyparła BEDO.

Synchroniczna dynamiczna pamięć RAM

Synchroniczna dynamiczna pamięć RAM (SDRAM) znacząco zmienia interfejs pamięci asynchronicznej, dodając linię zegara (i włączania zegara). Wszystkie inne sygnały są odbierane na zboczu narastającym zegara.

W RAS i CAS wejścia nie może działać jako błyska, ale zamiast tego, wraz z / y, część komendy 3-bitowe:

Podsumowanie poleceń SDRAM
CS RAS CAS MY Adres Komenda
h x x x x Blokada poleceń (bez operacji)
L h h h x Bez operacji
L h h L x Zakończenie serii: zatrzymaj trwającą serię odczytu lub zapisu.
L h L h Kolumna Czytaj z aktualnie aktywnego wiersza.
L h L L Kolumna Napisz do aktualnie aktywnego wiersza.
L L h h Wiersz Aktywuj wiersz do odczytu i zapisu.
L L h L x Naładuj (dezaktywuj) bieżący wiersz.
L L L h x Automatyczne odświeżanie: odśwież jeden wiersz każdego banku, używając wewnętrznego licznika.
L L L L Tryb Rejestr trybu ładowania: szyna adresowa określa tryb pracy DRAM.

Funkcja linii OE jest rozszerzona na sygnał „DQM” na bajt, który steruje wprowadzaniem danych (zapisem) oprócz wyprowadzania danych (odczyt). Dzięki temu układy DRAM mogą być szersze niż 8 bitów, a jednocześnie nadal obsługują zapisy z ziarnistością bajtów.

Wiele parametrów czasowych pozostaje pod kontrolą kontrolera DRAM. Na przykład między aktywacją wiersza a poleceniem odczytu lub zapisu musi upłynąć minimalny czas. Jeden ważny parametr musi być zaprogramowany w samym układzie SDRAM-u, a mianowicie opóźnienie CAS . Jest to liczba cykli zegara dozwolona dla operacji wewnętrznych między poleceniem odczytu a pierwszym słowem danych pojawiającym się na szynie danych. Komenda "Load mode register" jest używana do przesłania tej wartości do układu SDRAM. Inne konfigurowalne parametry obejmują długość serii odczytu i zapisu, tj. liczbę słów przesłanych na polecenie odczytu lub zapisu.

Najważniejszą zmianą i głównym powodem, dla którego SDRAM wyparł asynchroniczną pamięć RAM, jest obsługa wielu wewnętrznych banków wewnątrz układu DRAM. Używając kilku bitów "adresu banku" towarzyszących każdemu poleceniu, można aktywować drugi bank i rozpocząć odczytywanie danych w trakcie odczytu z pierwszego banku . Dzięki naprzemiennym bankom urządzenie SDRAM może utrzymywać ciągłą zajętość magistrali danych w sposób, którego asynchroniczna pamięć DRAM nie może.

Synchroniczna pamięć DRAM z pojedynczą szybkością transmisji danych

SDRAM o pojedynczej szybkości transmisji danych (SDR SDRAM lub SDR) jest oryginalną generacją SDRAM; wykonał pojedynczy transfer danych na cykl zegara.

Synchroniczna pamięć DRAM z podwójną szybkością transmisji danych

Die pakietu Samsung DDR-SDRAM 64Mbity

SDRAM z podwójną szybkością transmisji danych (DDR SDRAM lub DDR) był późniejszym rozwinięciem SDRAM-u, używanego w pamięci PC począwszy od 2000 roku. Kolejne wersje są numerowane sekwencyjnie ( DDR2 , DDR3 , itd.). DDR SDRAM wewnętrznie wykonuje dostępy o podwójnej szerokości z częstotliwością zegara i wykorzystuje interfejs o podwójnej szybkości danych do przesyłania połowy na każdej krawędzi zegara. DDR2 i DDR3 zwiększyły ten współczynnik odpowiednio do 4x i 8x, zapewniając 4- i 8-słowne impulsy odpowiednio przez 2 i 4 cykle zegara. Szybkość dostępu wewnętrznego pozostaje w większości niezmieniona (200 milionów na sekundę dla pamięci DDR-400, DDR2-800 i DDR3-1600), ale każdy dostęp przenosi więcej danych.

Bezpośrednia pamięć RAM RAM

Bezpośredni RAMBUS DRAM ( DRDRAM ) został opracowany przez Rambus. Po raz pierwszy obsługiwana na płytach głównych w 1999 r., miała stać się standardem branżowym, ale została pokonana przez DDR SDRAM , czyniąc ją technicznie przestarzałą do 2003 r.

DRAM o zmniejszonej latencji

DRAM o zmniejszonej latencji (RLDRAM) to pamięć SDRAM o podwójnej szybkości przesyłania danych (DDR) o wysokiej wydajności, która łączy szybki, losowy dostęp z dużą przepustowością, przeznaczoną głównie do zastosowań sieciowych i buforowania.

Karta graficzna

Graficzne pamięci RAM to asynchroniczne i synchroniczne pamięci DRAM przeznaczone do zadań związanych z grafiką, takich jak pamięć tekstur i bufory ramki , znajdujące się na kartach graficznych .

DRAM wideo

Video DRAM (VRAM) to dwuportowa odmiana DRAM, która kiedyś była powszechnie używana do przechowywania bufora ramki w niektórych kartach graficznych .

Okno DRAM

Window DRAM (WRAM) to wariant pamięci VRAM, który był kiedyś używany w kartach graficznych, takich jak Matrox Millennium i ATI 3D Rage Pro . Pamięć WRAM została zaprojektowana, aby działać lepiej i kosztować mniej niż VRAM. Pamięć WRAM oferowała do 25% większą przepustowość niż VRAM i przyspieszyła powszechnie stosowane operacje graficzne, takie jak rysowanie tekstu i wypełnianie bloków.

Wielobankowa pamięć DRAM

Multibank DRAM (MDRAM) to rodzaj wyspecjalizowanej pamięci DRAM opracowanej przez MoSys. Jest zbudowany z małych banków pamięci o pojemności 256 kB , które działają w sposób z przeplotem , zapewniając przepustowość odpowiednią dla kart graficznych przy niższych kosztach dla pamięci takich jak SRAM . MDRAM umożliwia również operacje na dwóch bankach w jednym cyklu zegara, umożliwiając wielokrotne równoczesne dostępy, jeśli dostępy były niezależne. MDRAM był używany głównie w kartach graficznych, takich jak te z chipsetami Tseng Labs ET6x00. Płyty oparte na tym chipsecie często miały niezwykłą pojemność 2,25 MB ze względu na możliwość łatwiejszej implementacji MDRAM przy takich pojemnościach. Karta graficzna z 2,25 MB pamięci MDRAM miała wystarczająco dużo pamięci, aby zapewnić 24-bitowy kolor w rozdzielczości 1024×768 — bardzo popularne wówczas ustawienie.

Synchroniczna pamięć graficzna RAM

Synchroniczna pamięć graficzna RAM (SGRAM) to wyspecjalizowana forma pamięci SDRAM dla kart graficznych. Dodaje funkcje, takie jak maskowanie bitów (zapis do określonego bitplanu bez wpływu na inne) i zapis blokowy (wypełnianie bloku pamięci jednym kolorem). W przeciwieństwie do VRAM i WRAM, SGRAM jest jednoportowy. Może jednak otwierać jednocześnie dwie strony pamięci, co symuluje dwuportową naturę innych technologii pamięci RAM wideo.

Grafika SDRAM z podwójną szybkością transmisji danych

Pakiet 512 MBit Qimonda GDDR3 SDRAM
Wewnątrz pakietu Samsung GDDR3 256 MBit

Grafika dwukrotnie szybkość przesyłania danych SDRAM jest rodzajem specjalizuje DDR SDRAM przeznaczony do stosowania jako głównej pamięci procesory graficzne (GPU). GDDR SDRAM różni się od popularnych typów DDR SDRAM, takich jak DDR3, chociaż dzielą niektóre podstawowe technologie. Ich podstawową cechą są wyższe częstotliwości taktowania zarówno rdzenia DRAM, jak i interfejsu I/O, co zapewnia większą przepustowość pamięci dla GPU. Od 2020 roku istnieje siedem kolejnych generacji GDDR: GDDR2 , GDDR3 , GDDR4 , GDDR5 , GDDR5X , GDDR6 i GDDR6X .

Pseudostatyczna pamięć RAM

Pseudostatyczna pamięć RAM 1 Mbit CMOS , wyprodukowana przez firmę Toshiba

Pseudostatyczna pamięć RAM (PSRAM lub PSDRAM) to dynamiczna pamięć RAM z wbudowanymi obwodami odświeżania i kontroli adresu, dzięki czemu zachowuje się podobnie do statycznej pamięci RAM (SRAM). Łączy wysoką gęstość pamięci DRAM z łatwością użytkowania prawdziwej pamięci SRAM. PSRAM (wyprodukowany przez Numonyx ) jest używany w Apple iPhone i innych systemach wbudowanych, takich jak XFlar Platform.

Niektóre komponenty DRAM mają „tryb samoodświeżania”. Chociaż wiąże się to w dużej mierze z tą samą logiką, która jest potrzebna do działania pseudostatycznego, ten tryb jest często równoważny trybowi gotowości. Jest dostarczany przede wszystkim po to, aby umożliwić systemowi zawieszenie działania kontrolera DRAM w celu oszczędzania energii bez utraty danych przechowywanych w DRAM, a nie aby umożliwić działanie bez oddzielnego kontrolera DRAM, jak ma to miejsce w przypadku PSRAM.

Osadzone wariant PSRAM został sprzedany przez MoSys pod nazwą 1T-SRAM . Jest to zestaw małych banków DRAM z pamięcią podręczną SRAM z przodu, aby zachowywał się podobnie do SRAM. Jest używany w konsolach do gier wideo Nintendo GameCube i Wii .

Zobacz też

Bibliografia

Dalsza lektura

Zewnętrzne linki