W pełni buforowana pamięć DIMM

Kontroler pamięci z różnicowymi połączeniami szeregowymi z modułami FB-DIMM DDR2. AMB jest widoczny na środku każdego modułu DIMM.

W pełni buforowany moduł DIMM (lub FB-DIMM ) to technologia pamięci, której można użyć do zwiększenia niezawodności i gęstości systemów pamięci. W przeciwieństwie do architektury magistrali równoległej tradycyjnych pamięci DRAM, moduł FB-DIMM ma interfejs szeregowy między kontrolerem pamięci a zaawansowanym buforem pamięci (AMB). Konwencjonalnie linie danych z kontrolera pamięci muszą być podłączone do linii danych w każdym module DRAM , tj. przez magistrale multidrop . Wraz ze wzrostem szerokości pamięci wraz z szybkością dostępu, sygnał na styku magistrali z urządzeniem ulega degradacji. Ogranicza to szybkość i gęstość pamięci, dlatego moduły FB- DIMM stosują inne podejście do rozwiązania problemu.

240-pinowe moduły DDR2 FB-DIMM nie są kompatybilne mechanicznie ani elektrycznie z konwencjonalnymi 240-pinowymi modułami DDR2 DIMM. W rezultacie te dwa typy modułów DIMM mają różne nacięcia, aby zapobiec użyciu niewłaściwego modułu.

Podobnie jak w przypadku prawie wszystkich specyfikacji pamięci RAM, specyfikacja FB-DIMM została opublikowana przez JEDEC .

Technologia

FB-DIMM DDR2 vs DIMM DDR2

W pełni buforowana architektura DIMM wprowadza zaawansowany bufor pamięci (AMB) między kontrolerem pamięci a modułem pamięci. W przeciwieństwie do równoległej tradycyjnych pamięci DRAM, FB-DIMM ma interfejs szeregowy między kontrolerem pamięci a AMB. Umożliwia to zwiększenie szerokości pamięci bez zwiększania liczby pinów kontrolera pamięci poza możliwy poziom. W tej architekturze kontroler pamięci nie zapisuje bezpośrednio do modułu pamięci; raczej odbywa się to za pośrednictwem AMB. AMB może zatem kompensować pogorszenie sygnału poprzez buforowanie i ponowne wysyłanie sygnału.

AMB może również oferować korekcję błędów , bez obciążania procesora lub kontrolera pamięci systemu żadnymi dodatkowymi kosztami. Może również korzystać z funkcji Bit Lane Failover Correction do identyfikowania złych ścieżek danych i usuwania ich z działania, co radykalnie zmniejsza liczbę błędów poleceń/adresów. Ponadto, ponieważ odczyty i zapisy są buforowane, kontroler pamięci może je wykonywać równolegle. Pozwala to na prostsze połączenia i (teoretycznie) niezależne od sprzętu układy kontrolerów pamięci (takie jak DDR2 i DDR3 ), których można używać zamiennie.

Wady tego podejścia to; wprowadza opóźnienie do żądania pamięci, wymaga dodatkowego zużycia energii przez układy buforujące, a obecne implementacje tworzą szynę zapisu pamięci znacznie węższą niż szyna odczytu pamięci. Oznacza to, że obciążenia wymagające wielu operacji zapisu (takie jak obliczenia o wysokiej wydajności ) zostaną znacznie spowolnione. Jednak to spowolnienie nie jest nawet w przybliżeniu tak poważne, jak brak wystarczającej pojemności pamięci, aby uniknąć używania znacznych ilości pamięci wirtualnej , więc obciążenia, które wykorzystują ekstremalne ilości pamięci w nieregularnych wzorach, mogą być wspomagane przez w pełni buforowane moduły DIMM. [ potrzebne źródło ]

Protokół

Standard JEDEC JESD206 definiuje protokół, a JESD82-20 definiuje interfejs AMB do pamięci DDR2. Protokół jest bardziej ogólnie opisany w wielu innych miejscach. Kanał FB-DIMM składa się z 14 „skierowanych na północ” pasów bitów przenoszących dane z pamięci do procesora i 10 „południowych” pasów bitów przenoszących polecenia i dane z procesora do pamięci. Każdy bit jest przenoszony przez parę różnicową, taktowaną z 12-krotnością podstawowej częstotliwości taktowania pamięci i 6-krotnością szybkości transmisji danych przy podwójnym pompowaniu. Np. dla chipów DRAM DDR2-667 kanał działałby z częstotliwością 4000 MHz. Każde 12 cykli tworzy jedną ramkę, 168 bitów w kierunku północnym i 120 bitów w kierunku południowym.

Jedna ramka w kierunku północnym przenosi 144 bity danych, czyli ilość danych wytworzonych przez 72-bitową macierz DDR SDRAM w tym czasie, oraz 24 bity CRC do wykrywania błędów. Nie ma informacji nagłówka, chociaż nieużywane ramki zawierają celowo nieprawidłowy CRC.

Jedna ramka w kierunku południowym zawiera 98 bitów ładunku i 22 bity CRC. Dwa bity ładunku to typ ramki, a 24 bity to polecenie. Pozostałe 72 bity mogą być (w zależności od typu ramki) 72 bitami danych zapisu, dwoma dodatkowymi 24-bitowymi poleceniami lub jeszcze jednym poleceniem plus 36 bitów danych do zapisania w rejestrze kontrolnym AMB.

Polecenia odpowiadają standardowym cyklom dostępu do pamięci DRAM, takim jak polecenia wyboru wiersza, ładowania wstępnego i odświeżania. Polecenia odczytu i zapisu zawierają tylko adresy kolumn. Wszystkie polecenia zawierają 3-bitowy adres FB-DIMM, co pozwala na podłączenie do 8 modułów FB-DIMM na kanale.

Ponieważ dane do zapisu są dostarczane wolniej, niż oczekuje tego pamięć DDR, zapisy są buforowane w AMB, dopóki nie będą mogły być zapisywane w serii. Polecenia zapisu nie są bezpośrednio powiązane z danymi zapisu; zamiast tego każdy AMB ma FIFO danych zapisu, które jest wypełniane czterema kolejnymi ramkami danych zapisu i jest opróżniane przez polecenie zapisu.

Zarówno łącza w kierunku północnym, jak i południowym mogą działać z pełną prędkością z wyłączoną jedną linią bitową, odrzucając 12 bitów informacji CRC na ramkę.

Należy zauważyć, że przepustowość kanału FB-DIMM jest równa szczytowej przepustowości odczytu kanału pamięci DDR (i ta prędkość może zostać utrzymana, ponieważ nie ma rywalizacji o kanał w kierunku północnym) plus połowa szczytowej przepustowości zapisu Kanał pamięci DDR (który często można utrzymać, jeśli wystarczy jedno polecenie na ramkę). Jedynym narzutem jest potrzeba ramki synchronizacji kanału (która w odpowiedzi wywołuje ramkę stanu w kierunku północnym) co 32 do 42 ramek (2,5–3% narzutu).

Implementacje

Firma Intel zastosowała tę technologię w swoich seriach Xeon 5000/5100 i późniejszych, co uważa za „długoterminowy strategiczny kierunek dla serwerów”.

Firma Sun Microsystems zastosowała moduły FB-DIMM w procesorze serwerowym Niagara II (UltraSparc T2) .

Platforma systemowa entuzjastów firmy Intel, Skulltrail, wykorzystuje moduły FB-DIMM w swoich podwójnych gniazdach procesorów i systemach z wieloma procesorami graficznymi.

Moduły FB-DIMM mają 240 styków i mają taką samą całkowitą długość jak inne moduły DDR DIMM, ale różnią się wcięciami na obu końcach w gnieździe.

Koszt pamięci FB-DIMM był początkowo znacznie wyższy niż zarejestrowanych DIMM , co może być jednym z czynników wpływających na jej obecny poziom akceptacji. Ponadto układ AMB rozprasza znaczne ciepło, co prowadzi do dodatkowych problemów z chłodzeniem. Chociaż dołożono wszelkich starań, aby zminimalizować opóźnienie w AMB, istnieje pewien zauważalny koszt opóźnienia dostępu do pamięci.

Historia

We wrześniu 2006 r. AMD usunęło moduł FB-DIMM ze swojej mapy drogowej. W grudniu 2006 r. AMD ujawniło na jednym ze slajdów, że mikroprocesory oparte na nowej K10 mają wsparcie dla FB-DIMM „w stosownych przypadkach”. Ponadto firma AMD opracowała również moduł Socket G3 Memory Extender ( G3MX ), który wykorzystuje pojedynczy bufor na każde 4 moduły zamiast jednego dla każdego, który ma być używany przez systemy oparte na Opteronie w 2009 roku.

Podczas Intel Developer Forum 2007 ujawniono, że główni producenci pamięci nie planują rozszerzenia FB-DIMM w celu obsługi DDR3 SDRAM. Zamiast tego zademonstrowano tylko zarejestrowany moduł DIMM dla pamięci DDR3 SDRAM.

W 2007 roku Intel zademonstrował moduł FB-DIMM z krótszymi opóźnieniami, CL5 i CL3, wykazując poprawę w zakresie opóźnień.

W dniu 5 sierpnia 2008 r. firma Elpida Memory ogłosiła, że ​​od czwartego kwartału 2008 r. rozpocznie masową produkcję pierwszego na świecie modułu FB-DIMM o pojemności 16 gigabajtów , jednak od stycznia 2011 r. strona.

Zobacz też

Linki zewnętrzne