Wydajność w pamięci DRAM i innych masowo redundantnych procesach

9

W tej chwili przeczesuję literaturę elektrotechniczną na temat rodzajów strategii zastosowanych w celu niezawodnego wytwarzania wysoce złożonych, ale także wyjątkowo delikatnych systemów, takich jak DRAM, w których macie Państwo wiele milionów komponentów i gdzie pojedyncza awaria może zepsuć cały system .

Wydaje się, że powszechnie stosowaną strategią jest wytwarzanie znacznie większego systemu, a następnie selektywne wyłączanie uszkodzonych rzędów / kolumn za pomocą ustawialnych bezpieczników. Przeczytałem [1], że (od 2008 r.) Żaden moduł DRAM nie wychodzi z linii i że w przypadku modułów 1 GB DDR3, ze wszystkimi zastosowanymi technologiami naprawy, ogólna wydajność wynosi od ~ 0% do około 70% .

To tylko jeden punkt danych. Zastanawiam się, czy to coś, co reklamuje się w terenie? Czy istnieje dobre źródło dyskusji na temat poprawy wydajności w porównaniu do SoA? Mam źródła takie jak ten [2], które wykonują przyzwoitą robotę, dyskutując o wynikach z pierwszego rozumowania zasad, ale to jest 1991 rok i wyobrażam sobie / mam nadzieję, że teraz jest lepiej.

Ponadto, czy stosowanie zbędnych wierszy / kolumn jest nadal stosowane nawet dzisiaj? Ile dodatkowego miejsca na płycie wymaga ta technologia nadmiarowości?

Patrzyłem również na inne równoległe systemy, takie jak wyświetlacze TFT. Kolega wspomniał, że w pewnym momencie Samsung stwierdził, że taniej jest produkować zepsute wyświetlacze, a następnie je naprawiać, niż poprawiać proces do akceptowalnej wydajności. Jednak jeszcze nie znalazłem na to dobrego źródła.

Refs

[1]: Gutmann, Ronald J, i in. Technologia procesowa poziomu 3-d Ics. New York: Springer, 2008. [2]: Horiguchi, Masahi i in. „Elastyczna technika nadmiarowości pamięci DRAM o dużej gęstości”. Obwody półprzewodnikowe, IEEE Journal z 26.1 (1991): 12-17.

Mefistofeles
źródło
3
Nadmiarowość wierszy i kolumn jest nadal używana. Nadmiarowość na poziomie bloków zastosowano w pamięci podręcznej Itanium 2 L3 (patrz Stefan Rusu i in., „Procesor Itanium 2 6M: wyższa częstotliwość i większa pamięć podręczna L3”, 2004). Innym czynnikiem wpływającym na wydajność jest binowanie zarówno prędkości / mocy / temperatury roboczej, jak i „wydajności” (np. Wieloprocesory chipowe można sprzedawać z szeregiem rdzeni; nawet pamięć DRAM o dużej liczbie wad może teoretycznie być sprzedawana jako pół-pojemność część).
Paul A. Clayton,
fascynujące, dziękuję. Patrząc na konstrukcję pamięci podręcznej, widzę 140 podpowierzchni, każda z 2 podbankami, które z kolei mają osiem bloków macierzy 96x256. Każdy blok ma 32 bity. Co oznacza, że ​​do wytworzenia 48x10 ^ 6 bitów pamięci potrzeba w sumie 140 * 2 * 8 * 96 * 256 * 32 = 1,762x10 ^ 9 bitów. Czy to jest poprawne?
Mefistofeles
3
Nie, 32 bity są częścią bloku 96x256 (12 sposobów buforowania * 8 * 4 * 32 bitów na linię bufora). Należy również zauważyć, że niektóre bity są używane do ECC, więc pamięć podręczna zawierała 6 MB danych . (Zastosowanie ECC wprowadza kolejne zmarszczki w wydajności przy binowaniu. Wymagania ECC różnią się w zależności od zastosowania, a nadmiar ECC można wykorzystać do obsługi niższego napięcia (lub częstotliwości odświeżania dla pamięci DRAM) bez utraty danych dla części o niższej mocy, a także do korekcji produkcji wady. Jest to bardziej teoretyczne rozważanie, ponieważ czynniki marketingowe na ogół nie pozwalają na taką elastyczność.)
Paul A. Clayton
dzięki jeszcze raz. To więcej, aby uzyskać oszacowanie całkowitego kosztu procesu produkcyjnego. To znaczy, ile dodatkowego miejsca na planszy (jako wydatku na zasoby fizyczne) jest potrzebne, aby osiągnąć ten 6MiB? Spróbuję to oszacować na podstawie obszaru zajmowanego przez pamięć podręczną L3 i skontaktuję się z tobą.
Mefistofeles
2
Korzystanie z obszaru komórki bitowej nie uwzględnia dekodowania wiersza i innych kosztów ogólnych. Obszar nadmiaru nadmiarowości można po prostu oszacować, uznając, że 4 ze 140 podnośników są częściami zamiennymi (nieco mniej niż 3% kosztów ogólnych), ignorując dodatkowe koszty routingu. Należy również zauważyć, że sprzedano wersje pamięci podręcznej 3MiB L3, więc wydajność dla wersji 6MiB mogła być niższa. ( Domyślam się, że użycie tranzystorów większych niż minimalna wielkość dla komórek SRAM, dla mniejszego wycieku, może również nieznacznie zmniejszyć efektywną częstość defektów.) 136 zastosowanych podnośników wskazuje 8 dla ECC (6 +% narzutu).
Paul A. Clayton

Odpowiedzi:

1

Żaden producent nigdy nie udostępni danych o wydajności, chyba że z jakiegoś powodu będzie musiał to zrobić. Uważa się to za tajemnicę handlową. Odpowiadając bezpośrednio na twoje pytanie, nie - nie jest reklamowane w branży.

Istnieje jednak wielu inżynierów, których zadaniem jest poprawa przepustowości linii i wydajności na końcu linii. Często polega to na zastosowaniu technik takich jak binowanie i redundancja bloków, aby straty z funkcji linii były wystarczające do sprzedaży. Blokowa redundancja jest dziś z pewnością używana. Bardzo łatwo jest przeanalizować:

(nieudane bloki na część) / (nieudane bloki na część) * (nieudane bloki na część) / (bloki na część)

Zapewni to prawdopodobieństwo awarii obu równoległych bloków. Wątpię, byś uzyskał tak niską wydajność jak 70%, ponieważ zazwyczaj 90% to minimalna akceptowalna wydajność.

Tom Brendlinger
źródło
2
Doceniam twoją odpowiedź, @ Paul-a-clayton dostarczył te informacje i był w stanie zacytować prawdziwe publikacje (szczególnie Itanium 2) w komentarzach. Co więcej, chociaż w tych dokumentach omówiono redundancję bloków, napisano: „Zastosowanie podnośników optymalizuje wykorzystanie obszaru matrycy bez ograniczania planu rdzenia podłogi”, nie wspominając o odporności na uszkodzenia. Jeśli masz dokumenty, które specjalnie proponują nadmiarowość bloków jako narzędzie do rozwiązywania błędów, byłyby bardzo mile widziane.
Mefistofeles