ECC wydaje się korygować tylko błędy pojedynczych bitów.
Poprawny. Poprawienie większej liczby błędów wymagałoby więcej bitów. W tej chwili używasz już 10 bitów do przechowywania 8 bitów informacji, „marnując” 20% układów pamięci, aby umożliwić korektę jednego bitu i maksymalnie dwa bity wykrywania błędów.
Działa w następujący sposób. Wyobraź sobie a 0
lub an 1
. Jeśli czytam, muszę mieć nadzieję, że przeczytam właściwą rzecz. Jeśli 0 zostanie odwrócone do 1 przez promieniowanie kosmiczne lub przez zły układ, nigdy się nie dowiem.
W przeszłości próbowaliśmy rozwiązać to z parytetem. Parzystość dodawała dziewiąty bit na 8 przechowywanych bitów. Sprawdziliśmy, ile zer i ile 1 było w bajcie. Dziewiąta została ustalona, aby liczba parzysta. (dla parzystości) Jeśli kiedykolwiek przeczytałeś bajt, a liczba była niepoprawna, to wiedziałeś, że coś jest nie tak. Nie wiesz jednak, który bit był zły.
ECC rozszerzyło tę kwestię. Wykorzystuje 10 bitów i złożony algorytm do wykrycia, kiedy jeden bit się odwrócił. Wie także, jaka była pierwotna wartość. Bardzo prosty sposób wyjaśnienia, w jaki sposób to działa:
Zamień wszystkie 0
s na 000
. Zamień wszystkie 1
s na 111
.
Teraz możesz odczytać sześć kombinacji:
000
001
010
100
101
111
Nigdy nie jesteśmy w 100% pewni, co zostało pierwotnie zapisane. Gdybyśmy czytali, 000
to mogło być właśnie to, 000
czego się spodziewaliśmy, lub wszystkie trzy bity mogły się przewrócić. To ostatnie jest bardzo mało prawdopodobne. Bity nie są losowo odwracane, chociaż tak się dzieje. Powiedzmy, że zdarza się to raz na dziesięć razy w przypadku niektórych prostych obliczeń (rzeczywistość jest znacznie mniejsza). Działa to z następującymi szansami odczytania poprawnej wartości:
000
-> Albo 000
(na pewno 99,9%), albo potrójne odwrócenie (szansa 1/1000)
001
-> Wiemy, że coś poszło nie tak. Ale albo był
000
i trochę przewrócony (szansa 1:10), albo był
111
i dwa bity się przewróciły (szansa 1: 100). Traktujmy to tak, jakbyśmy czytali, 000
ale rejestrowali błąd.
010
-> Taki sam jak powyżej.
100
-> Taki sam jak powyżej.
011
-> Taki sam jak wyżej, ale przy założeniu, że to 111
101
-> Taki sam jak wyżej, ale przy założeniu, że to 111
110
-> Taki sam jak wyżej, ale przy założeniu, że to 111
111
-> Albo 111
(na pewno 99,9%), albo potrójne odwrócenie (szansa 1/1000)
111
-> Albo 000
(na pewno 99,9%), albo potrójne odwrócenie (szansa 1/1000)
ECC robi podobne sztuczki, ale robi to bardziej efektywnie. W przypadku 8 bitów (jeden bajt) używają tylko 10 bitów do wykrywania i korygowania.
Pamięć RAM zarejestrowana w ECC może być używana tylko z płytami stacji roboczych / serwerów. Niebuforowana pamięć ECC może być używana na Intel Xeon lga1155 lub AMD AM3 + na płytach Asus.
Wspomniałem już, czym była część ECC, teraz część zarejestrowana vs. niebuforowana.
We współczesnych procesorach kontroler pamięci jest na kości procesora, zaczynając od dawna dla układów AMD Opteron i od serii Core i dla procesorów Intel. Większość procesorów do komputerów stacjonarnych następnie komunikuje się bezpośrednio z gniazdami DIMM utrzymującymi pamięć RAM. Działa i nie jest wymagana dodatkowa logika. Jest to tania w budowie, a prędkość jest wysoka, ponieważ nie ma opóźnienia z kontrolera pamięci do pamięci RAM.
Ale kontroler pamięci może napędzać ograniczony prąd przy dużych prędkościach. Oznacza to, że istnieje ograniczenie liczby gniazd pamięci, które można dodać do płyty głównej. (I aby uczynić to bardziej złożonym, do tego, ile DIMM może zużyć, co prowadzi do rang pamięci. Pominę to, ponieważ jest to już długie).
Na płytach serwerowych często chcesz zużywać więcej pamięci niż system stacjonarny. Dlatego do pamięci dodawany jest bufor „rejestru”. Odczyty z układów na DIMM są najpierw kopiowane do tego bufora. Cykl zegara później bufor ten łączy się z kontrolerem pamięci w celu przesłania danych.
Ten bufor / rejestr opóźnia rzeczy, spowalniając pamięć. Jest to niepożądane i dlatego jest używane / potrzebne tylko na płytkach, które mają wiele banków pamięci. Większość płyt konsumenckich tego nie potrzebuje, a większość procesorów konsumenckich tego nie obsługuje.
Bezpośrednio podłączona, niebuforowana pamięć RAM vs. buforowana / zarejestrowana pamięć RAM nie jest przypadkiem, w którym jedna jest lepsza lub gorsza od drugiej. Mają po prostu różne kompromisy, jeśli chodzi o liczbę gniazd pamięci. Zarejestrowana pamięć RAM pozwala na więcej pamięci RAM kosztem pewnej prędkości (i ewentualnie kosztów). W większości przypadków, gdy potrzebujesz jak najwięcej pamięci, ta dodatkowa pamięć z nadwyżką rekompensuje działanie pamięci RAM z nieco wolniejszą prędkością.
Wątpliwości, które mam (głównie dotyczące płyty asus am3 +): czy pamięć RAM niebuforowana ECC jest tak dobra, jak pamięć RAM zarejestrowana przez ECC (z punktu widzenia bezpieczeństwa i niezawodności)? Czy jest to gorszy wybór. Nie zależy mi na szybkości. **
Z punktu widzenia bezpieczeństwa i stabilności, bufory ECC niebuforowane i zarejestrowane ECC są takie same.
Więcej informacji: serwer użyje skrzynki serwera z dyskami do 24 x 3 '' 'i powinien zużywać jak najmniej.
24 dyski będą zużywać dużo energii. Ile zależy od dysków. Mój dysk SAS o pojemności 140 GB i prędkości 15 000 obr./min pobiera zaledwie 10 W na biegu jałowym, podobnie jak dysk SATA 7k2 o pojemności 1 TB. Przy użyciu oba rysują więcej.
Pomnóż to przez 24. 24x10 W na biegu jałowym oznacza 240 watów, po prostu utrzymując talerze wirujące, pokonując opór powietrza. Podwójnie używany.
LGA1155 wydaje się w tym sensie lepszym wyborem (TDP ~ 20-95 W) w porównaniu do innych (> 80 W) za dwukrotność ceny.
Intel jest lepszy w procesorach o niskiej mocy, w momencie pisania i w procesorach, o których wspomniałeś.
Wszelkie sugestie są mile widziane. Powiedzmy, że mniej niż 120 W na biegu jałowym (~ z 10 dyskami twardymi na 24).
Jeśli wybierasz FreeBSD, przyjrzyj się ZFS. To może być świetne. Wiele jego bardziej zaawansowanych funkcji (np. Deduplikacja i / lub kompresja) wymaga dużej mocy procesora i wymaga dużej ilości pamięci. ZFS do podstawowego użytku z ZRAID poradzi sobie dobrze zarówno na wspomnianych zestawach procesorów, jak i na 16 GB, ale jeśli włączysz takie funkcje, jak deduplikacja, powinieneś dokładnie przyjrzeć się zalecanej pamięci potrzebnej dla twojej pojemności dysku; Niektóre przewodniki zalecają do 5 GB na TB przestrzeni dyskowej .
Jeszcze dwie rzeczy:
- Nie widziałem nic na temat podłączania napędów. Niektóre płyty mogą mieć do 10 portów SATA. Ale do tego wszystkiego potrzebne będą dodatkowe karty. Jeśli rozważasz sprzętową macierz RAID, najlepiej zaplanować to od samego początku.
- Awaria dysku: Jeśli używasz mnożników portów SATA, przyjrzyj się dokładnie, jak działają w przypadku awarii dysku SATA. Często nie jest ładna. Nie jest to duży problem z instalacją domową, ale bardzo nie jest to klasa korporacyjna. Może być konieczne rozważenie, w jaki sposób poszczególne dyski również obsługują błędy. Niektóre dyski są oznaczone jako „NAS” lub „RAID”, ponieważ obsługują błędy inaczej niż zwykłe dyski. Bez RAID chcesz, aby dysk próbował ponownie tyle razy, ile to możliwe. Dzięki macierzy RAID chcesz, aby dysk szybko ulegał awarii , abyś mógł czytać z innej kopii.