Sicherer Speicher für PC, Server und Workstations

Fehlertoleranter Speicher schützt vor Systemausfällen und Datenverlust

08.04.2008 von Bernhard Haluschak
Ein Horrorszenario für jeden Administrator: Falsch ausgelesene Bits oder ein defekter Speicher führen zum Systemabsturz und Datenverlust. Funktionen zur Erkennung und Korrektur von Speicherfehlern sorgen für Sicherheit.

Kein Hauptspeicher eines Rechners ist 100-prozentig vor einem Fehler gefeit - aber eine ausgereifte Speichertechnik verhindert dies annähernd. Findet der Betrieb von Speichermodulen innerhalb der vom Hersteller spezifizierten Bedingungen statt, ist die Wahrscheinlichkeit für ein Kippen von einzelnen Datenbits gering. Trotzdem können äußere Einflüsse eine logische Eins in eine Null verwandeln. Im Fachjargon nennt man ein ungewolltes Bitkippen Soft Error.

Zu diesen reparablen Fehlern können noch Defekte auf physikalischer Ebene dazukommen. Neben Alterungserscheinungen durch Diffusion, elektromagnetische Felder und radioaktive Strahlung führen meist Spannungsspitzen oder elektrostatische Aufladungen bei unsachgemäßer Handhabung zu irreparablen Defekten bei Speicherbausteinen.

Gerade im Server- und Workstation-Umfeld sind Speicherfehler und daraus resultierende Systemausfälle schmerzlich, da sie in der Regel enorme Kosten verursachen. Um falsch ausgelesene und damit fehlerhaft geschriebene Daten durch einen Fehler im Speicher zu verhindern, gibt es verschiedene Verfahren. Sie sind abhängig vom eingesetzten Chipsatz. So bieten Chipsätze von IBM, Intel oder ServerWorks fehlertolerante Speicherfunktionen wie zum Beispiel Registered DIMM, Parity-Prüfung, ECC, Chipkill, Hot Swap, Hot Add, Hot Spare, Memory Mirroring, Fully Buffered DIMM, Hot Plug RAID Memory oder die Memory-Expansion-Technologie.

Der folgende Artikel beschreibt detailliert die verschiedenen Technologien, die die Datensicherheit des Hauptspeichers eines Servers oder einer Workstation maximieren können.

Registered DIMM

In Servern und Workstations sind hohe Speicherkapazitäten erforderlich. Darüber hinaus soll die Datenintegrität möglichst hoch sein. Ungepufferte Speichermodule können diese Anforderungen nicht erfüllen, da sie die Signale zu stark belasten und somit Störungen auf den Leitungen verursachen. Diese können dann zum Systemabsturz führen.

Besser geeignet für diese Aufgabe sind Registered-DIMMs. Sie verfügen über spezielle Treiber-Bausteine, so genannte Register-ICs, die die Signale der Adress- und Steuerleitungen puffern beziehungsweise aufbereiten. Dagegen sind bei den herkömmlichen Unbuffered-Modulen aller Signalleitungen einfach parallel geschaltet und führen direkt zu den Speicherbausteinen. Ein Manko der Registered-DIMM-Technologie ist allerdings die Zeitverzögerung um einen Takt für das Signal-Refreshing. Allerdings wird diese geringe Performance-Einbuße zu Gunsten eines stabileren Systems im Server-Umfeld in Kauf genommen.

Bei einem Hauptspeicherausbau von beispielsweise zwei Modulen (Double-Sided) je zwei GByte mit einer Organisation von 256 MBit x 72 Bit müsste der Speicher-Controller insgesamt 36 Chips ansprechen. Bei Registered-DIMMs sind es nur die vier Register-Bausteine auf den zwei Modulen. Diese Buffer-Bausteine leiten separat die Adress- und Steuersignale an die entsprechenden Speicher-Chips und sorgen somit für optimale Signalqualität auf den Leitungen und damit für ein stabileres System.

Das Erkennungsmerkmal auf Registered DIMMs (Double-Sided) sind zwei Pufferbausteine für die Adressleitungen und ein PLL-Baustein, der zur Aufbereitung des Taktsignals dient. Letzterer entlastet zusätzlich den Taktsignaltreiber des Mainboards und sorgt für synchrone und fehlerfreie Datenübermittelung.

Parity-Prüfung

Unterstützen der Speicher-Controller des Chipsatzes und das Speichermodul die Paritätstechnik, erfolgt bei jedem Speichervorgang eine zusätzliche Prüfsummenbildung. Jedem Daten-Byte (8 Bit) wird beim Schreiben ein eigenes Paritätsbit zugeordnet, das im DRAM mit gespeichert wird. Beim Lesen eines Daten-Bytes erfolgt durch die Speichersteuerung über ein Protokoll dann der Vergleich mit dem zugehörigen Paritätsbit. Damit lässt sich ein umgekipptes Bit beim Lesen sofort erkennen.

Es gibt zwei Arten von Paritätsprotokollen: ungerade und gerade Parität. Beide Verfahren funktionieren nach dem gleichen Prinzip und unterscheiden sich nur in ihren Attributen. In der folgenden Tabelle sehen Sie den Ablauf der Protokolle beim Schreiben und Lesen von Daten:

Parität-Technologien im Vergleich

Ablauf

Ungerade Parität

Gerade Parität

Ermittlung der Parität

Besteht das Daten-Byte aus einer geraden Anzahl von Einsen, ist das zugehörige Paritätsbit 1. Bei ungerader Anzahl erhält es den Wert 0. Der Vorgang erfolgt über die Speichersteuerung.

Besteht das Daten-Byte aus einer geraden Anzahl von Einsen, ist das zugehörige Paritätsbit 0. Bei ungerader Anzahl erhält es den Wert 1. Der Vorgang erfolgt über die Speichersteuerung.

Schreibvorgang

Speicherung der acht Datenbits und des korrespondierenden Paritätsbits im DRAM

siehe links

Lesevorgang

Erneute Prüfsummenbildung beim Lesen und Vergleich mit dem gespeicherten Paritätsbit. Daten gültig bei Übereinstimmung. Bei ungleicher Prüfsumme erfolgt die Fehlermeldung durch die Speichersteuerung

siehe links

Der Nachteil der Paritätsprüfung ist, dass sie zwar Fehler erkennen, aber nicht korrigieren kann. Das Verfahren arbeitet zudem nur zuverlässig, wenn ein einzelnes Bit umkippt. Kippen dagegen mehrere Bits in einem Daten-Byte um, so bleiben die Fehler möglicherweise verdeckt. Enthält zum Beispiel ein Daten-Byte bei gerader Paritätsprüfung vier Einsen, so ist das zugehörige Paritätsbit Null. Nach dem Schreiben von Daten-Byte und Paritätsbit in das DRAM kippen zwei von den acht Bit um. Beim späteren Lesen ermittelt die Speichersteuerung aber wieder eine gerade Anzahl von Einsen und erkennt das Daten-Byte beim Vergleich mit dem Paritätsbit als gültig an.

Speichermodule mit Parität sind im Gegensatz zu Non-Parity-Modulen teurer. Parity-Module benötigen pro Byte neun Bit und somit mehr Speicher bei gleicher Kapazität. Die Module besitzen einen zusätzlichen DRAM-Chip, der nur der Paritätsspeicherung dient.

ECC-Verfahren

Neben der einfachen Fehlererkennung gibt es in der Elektronik eine Vielzahl von Fehlerkorrektur-Algorithmen. Einer, der sich speziell für das Überprüfen und Korrigieren von Ein-Bit-Soft-Errors in großen Speicherfeldern eignet, ist der Hamming-Code. Der Code kann zudem Zwei-Bit-Fehler erkennen, aber nicht korrigieren. Dieses ECC-Verfahren benötigt bei 32 Bit breiten Daten zusätzliche sieben Check-Bits. Bei 64 Bit breiten DIMMs sind für die Fehlerkorrektur acht Bit nötig. ECC-fähige DIMMs haben deshalb eine Datenbreite von insgesamt 72 Bit. Der Datenbus zwischen DIMM und Chipsatz ist ebenfalls 72 Bit breit.

Wenn der Prozessor eines 64-Bit-Rechnersystems seine Daten in das DRAM schreibt, berechnet der ECC-Controller der Speichersteuerung acht ECC-Bits und hängt diese an die Daten an. Das nunmehr 72 Bit breite Datenpaket wird im DIMM gespeichert. Während eines Lesevorgangs berechnet der Chipsatz die ECC-Bits von den eingelesenen 64 Datenbits neu. Der Controller vergleicht dann den neu berechneten Code mit dem ebenfalls eingelesenen Fehlercode, der beim Schreiben generiert wurde. Bei Übereinstimmung der Codes ist das 64-Bit-Datenwort korrekt. Unterscheiden sich die Codes, lässt sich die Stelle, an der ein Bit gekippt ist, genau lokalisieren. Die Speichersteuerung ändert dann wieder das Attribut des gekippten Bits zu seinem ursprünglichen Wert.

ECC-Verfahren: Das Diagramm verdeutlicht, wie das ECC-Verfahren ein Single-Bit-Fehler korrigiert. (Quelle: HP)

Das ECC-Verfahren eignet sich besonders gut für Bereiche, die eine hohe Datenintegrität erfordern. Daher findet das gegenüber normalem Speicher teurere ECC-DRAM hauptsächlich in Servern und Workstations seinen Einsatz. Nach einer internen IBM-Laborstudie erreicht der ECC-Speicher über einen Zeitraum von drei Jahren eine Zuverlässigkeit von 91 Prozent.

Advanced-ECC-Verfahren

Um eine höhere Speichersicherheit als beim Standard-ECC-Verfahren zu gewährleisten, entwickelte HP 1996 die Advanced-ECC-Technologie. Das Verfahren ist in der Lage, Single- und Double-Bit- sowie DRAM-Chip-Fehler beziehungsweise Multi-Bit-Fehler innerhalb eines DRAM-Chips zu erkennen und zu korrigieren.

Advanced ECC: Jeder DRAM-Chip sendet vier Daten-Bits, die auf vier ECC-Einheiten verteilt werden.(Quelle: HP)

In einem System mit Advanced-ECC-Technologie erzeugt jeder DRAM-Chip vier ECC-Datenbits vom Datenwort. Die vier Bits der DRAM-Chips werden auf die einzelnen ECC-Einheiten verteilt, sodass ein Fehler in einem Chip vier separate Single-Bit-Fehler erzeugt. Da jede ECC-Einheit ein Single-Bit-Fehler korrigieren kann, ist somit die Advanced-ECC-Technologie in der Lage, Multi-Bit-Fehler in einem Chip zu beheben.

ECC- und Advanced-ECC-Verfahren im Vergleich

Speicherfehler

ECC-Verfahren

Advanced-ECC-Verfahren

Single-Bit

korrigieren

korrigieren

Double-Bit

erkennen

korrigieren

DRAM-Chip

erkennen

korrigieren

ECC-Fehler

nicht erkennen

nicht erkennen

Die Advanced-ECC-Technologie verfügt wie das ECC-Verfahren über keine Fail-over-Fähigkeiten. Das heißt, tritt ein ECC-Speicherfehler auf, muss das Rechnersystem vor dem Wechseln des Speichermoduls außer Betrieb genommen werden.

Chipkill-Technologie

Um die Datensicherheit des Hauptspeichers weiter zu maximieren, führte IBM Ende der 90er Jahre die Chipkill-Technologie ein- sie wird auch als Advanced ECC bezeichnet. Die Speichertechnologie wurde ursprünglich explizit für die NASA entwickelt. Das Raumfahrtunternehmen setzte Chipkill erstmals in der Marsmission "Pathfinder" ein. Hier hätten Speicherfehler und somit ein Systemausfall fatale Folgen gehabt und enorme Kosten verursacht. Anschließend nutzte man die Chipkill-Speichertechnologie auch für kommerzielle Zwecke in Servern und Workstations.

Anders als die ECC-Fehlerkorrektur, die nur einen Bitfehler korrigieren kann, ist die Chipkill-Funktion in der Lage, bis zu vier Bitfehler zu korrigieren und acht Bitfehler zu erkennen. Bei Fehlerhäufung in einem Speicherchip kann sie diesen sogar ausblenden, ohne das System herunterzufahren. Ein Vorteil der Chipkill-Technologie: Es sind keine speziellen Speichermodule notwendig, handelsübliche ECC-DIMMs genügen. Zusätzlich arbeitet das Korrekturverfahren unabhängig vom Betriebssystem und hängt somit nur vom Chipsatz und vom BIOS ab.

Die Chipkill-Technologie funktioniert ähnlich wie ein Festplatten-RAID-System nach dem Striping-Verfahren mit Parity-Prüfung. Muss ein Speicher-Controller zum Beispiel vier DIMM-Module mit 4-Bit-Organisation verwalten, so bestehen die Speicherdaten aus vier mal 64 Datenbits und vier mal acht ECC-Bits. Insgesamt beträgt die Datenweite 288 Bit und enthält vier ECC-Words zu je 72 Bit. Der Chipkill-Algorithmus verteilt das 72-Bit-Datenwort systematisch zu je 18 Bit auf die vier DIMM-Speichermodule (Striping). Gleichzeitig werden die 18-Bit-Segmente ebenfalls regelmäßig auf die 18-DRAM-Chips eines DIMMs aufgesplittet. Aus dieser Verteilung resultiert, dass sich jeweils das erste Bit eines 18-Bit-Datensegments im ersten Datenbit eines Speicherchips befindet. Diese spezielle Aufteilung der einzelnen Datenbits ist wichtig für die spätere Rekonstruktion von Multi-Bit-Speicherfehlern durch den Memory Controller nach dem ECC-Verfahren.

Nach einer IBM-Laborstudie über eine Zeitspanne von drei Jahren erreichte das Chipkill-Verfahren eine Zuverlässigkeitsrate von 99,94 Prozent. Eine höhere Sicherheit vor Speicherfehlern erreicht man nur noch durch die Kombination mit anderen Speichertechniken.

Hot-Swap- und Hot-Add-Funktion

Mit Hot Swap und Hot Add stehen dem Administrator zwei weitere Sicherheitsmechanismen für den Speicher im Server-Einsatz zur Verfügung. Diese Funktionen können im laufenden Betrieb des Servers benutzt werden.

Hot Swap ermöglicht es, ein defekt erkanntes Speichermodul zu wechseln. Das neue Speichermodul muss allerdings die gleiche Speicherkapazität, Bandbreite und identische Typangaben aufweisen. Zusätzlich erfordert die Funktion ein aktiviertes Memory Mirroring, um Datenverluste beim Austauschen der Speichermodule zu vermeiden. Ein großer Vorteil von Hot Swap: Die Funktion ist im Chipsatz integriert und arbeitet deshalb unabhängig vom eingesetzten Betriebssystem.

Die Hot-Add-Funktion gestattet es, den Hauptspeicher zu erweitern, ohne den Server herunterzufahren. Die zusätzlichen Speichermodule dürfen nur in bereits leere DIMM-Sockel eingesetzt werden. Ein bereits vorhandenes Speichermodul durch eines mit höherer Speicherkapazität zu ersetzen, ist nicht möglich. Das Hot-Add-Feature setzt zurzeit das Betriebssystem Windows Server 2003 in der Enterprise- oder Datacenter-Edition voraus. Darüber hinaus muss das Memory Mirroring deaktiviert sein.

Hot Spare Memory

Bei der Hot-Spare-Memory-Technologie steht eine festgelegte Speicherbank als Ersatz zur Verfügung. Häufen sich bei einem Modul Speicherfehler, deaktiviert der Memory Controller automatisch die Bank mit dem defekten Speicher und aktiviert die Ersatzbank. Gleichzeitig alarmiert das System den Administrator über diesen Speicherausfall.

Die Einbindung eines Hot-Spare-Moduls geschieht automatisch und ohne Datenverluste im laufenden Betrieb. Das gilt auch für alle anderen "Hot-Memory-Technologien". Verfügt das System nicht über Hot Spare, muss der Administrator das defekte Modul manuell wechseln. Dies erfordert eine außerplanmäßige Betriebsunterbrechung, die gewöhnlich mit hohen Kosten verbunden ist.

Hot Plug RAID Memory

Die Hot-Plug-Memory-Technologie ist eine Entwicklung von Hewlett-Packard. Sie wurde speziell für den Enterprise-Server-Bereich konzipiert. Die Technologie vereint Redundanz und Hot-Plug-Fähigkeit des Speichers, um hohe Verfügbarkeit, Skalierbarkeit und Fehlertoleranz zu gewährleisten.

Ähnlich wie bei RAID-5-Festplattensystemen arbeitet die Hot-Plug-Speichertechnologie mit fünf Speicherbänken. Jede Speicherbank verfügt über einen separaten Speicher-Controller für die eingesetzten SDRAM-Module. Will das System eine so genannte "Cache-Line" in den Speicher schreiben, unterteilt es die Daten in vier Blöcke. Anschließend verteilen die Speicher-Controller die einzelnen Datenblöcke auf die ersten vier Speicherbänke beziehungsweise Speicher-Cartridges (Stripe-Verfahren). Eine RAID-Logik berechnet aus dem Datensatz die entsprechenden Parity-Informationen und speichert diese in die fünfte Speicherbank.

Mit den vier Datenbänken und der Parity-Bank ergibt sich somit eine Redundanz. Denn falls die Daten einer Speicherbank beziehungsweise eines DIMMs inkorrekt sind oder ein Speicherriegel entnommen wird, kann das System aus den verbleibenden vier Speicherbänken die korrekten Daten reproduzieren.

Vergleich von Fehlerkorrekturverfahren

Fehler

Standard ECC

RAID Memory

Single-Bit

korrigieren

korrigieren

Double-Bit

erkennen

korrigieren

4-Bit-DRAM

erkennen

korrigieren

8-Bit-DRAM

nicht definierbar

korrigieren

Größer als ein DRAM-Modul

nicht definierbar

erkennen

Ein wichtiger Vorteil des Hot Plug RAID Memory ist, dass bei einem Fehler der Speicher im Betrieb gewechselt werden kann, ohne das System herunterzufahren. Zusätzlich ermöglicht es einen DIMM-Satz mit höherer Kapazität "On the fly" einzusetzen (Hot Upgrade). Darüber hinaus verfügt diese Speichertechnologie über zahlreiche Diagnose- und Überwachungsfunktionen, die dem Administrator erlauben, jederzeit den Zustand des Systemspeichers abzufragen.

Memory Mirroring

Das Memory Mirroring ist annähernd vergleichbar mit der RAID1-Funktion bei Festplatten-Arrays. Die Speicherspiegelung erreicht eine 1:1 Redundanz und erfordert in der Minimalkonfiguration von der Hardware zwei identische Speichermodule in zwei verschiedenen Bänken. Daraus resultiert der gravierende Nachteil dieser Technologie: Die hohen Kosten für den Hauptspeicher bei gleichzeitiger Halbierung der nutzbaren Gesamtspeichermenge.

Sind zum Beispiel insgesamt zwei GByte Speicher installiert, erkennt das Betriebssystem lediglich ein GByte des Gesamtspeichers. Den restlichen Speicher blendet der Controller automatisch aus. Dieser "versteckte" Speicher enthält eine exakte Spiegelung der Daten des "aktiven" Speichers.

Die Mirroring-Funktion steuert eine implementierte Hardware im Chipsatz, die das BIOS aktiviert, und arbeitet daher unabhängig vom Betriebssystem. Je nach Größe der eingesetzten Speichermodule müssen die aktiven und die gespiegelten Module die gleichen Eigenschaften besitzen und in den dafür vom Mainboard-Hersteller festgelegten Speichersockeln installiert sein.

Entdeckt der Speicher-Controller eine Fehlerhäufung im aktiven Speicherbereich, schaltet er im laufenden Betrieb ohne Datenverluste auf den gespiegelten Bereich. Gleichzeitig löst der Memory Controller eine Warnung aus und informiert den Administrator über den Zustand des Hauptspeichers.

Memory Scrubbing

Das Memory Scrubbing setzt eine aktivierte ECC-Funktion des Chipsatzes voraus und ist in der Lage, unabhängig vom Betriebssystem einen automatisierten Speichertest durchzuführen. Die gewonnenen Ergebnisse des Memory-Tests leitet es dann an eine übergeordnete und geeignete Server-Management-Software weiter.

Zusätzlich verhindert das Memory Scrubbing Server-Ausfälle durch schwerwiegende Speicherdefekte, indem es die Speicherfehler untersucht und gegebenenfalls sicherheitsrelevante Speicherfunktionen wie ProteXion oder Memory Mirroring startet. Reichen diese Maßnahmen nicht aus, benachrichtigt die Memory-Scrubbing-Funktion mit entsprechender Fehlerdiagnose den Systemadministrator.

Die Memory-Scrubbing-Funktion wird präventiv eingesetzt und nur dann automatisch gestartet, wenn es die Auslastung des Rechensystems und des Hauptspeichers zulässt. Darüber hinaus kann der Administrator mit geeigneter Management-Software das Memory Scrubbing zeitlich steuern.

Memory-Expansion-Technologie

Die von IBM entwickelte Memory eXpansion Technology (MXT) verdoppelt scheinbar die effektive Kapazität des Hauptspeichers durch eine spezielle Datenkompression. So verhält sich beispielsweise ein mit 42 GByte ausgestatteter Server wie einer, der mit 84 GByte großem Systemspeicher arbeitet. Allerdings erkennt das System physikalisch nur 42 GByte. Als Speichermodule kommen handelsübliche Registered-ECC-DIMMs zum Einsatz. Zusätzlich lassen sich mithilfe von Software-Tools Speicherprobleme erkennen und analysieren. Als Vorreiter integrierte die Broadcom-Tochterfirma ServerWorks bereits 2002 diese neue Speichertechnologie in einen Chipsatz für Pentium-Prozessoren.

Die MXT-Technologie nutzt einen "Serial-Processing-Algorithmus", der in der Hardware im Chipsatz integriert ist. Dieser speichert automatisch häufig genutzte Daten und Instruktionen in einem separaten Zwischenspeicher (Cache), um sie ohne Performance-Verluste direkt an den Prozessor weiterzuleiten. Die selten verwendeten Daten und Befehle komprimiert MXT und legt sie im Hauptspeicher ab. Üblicherweise reduziert jedes Kompressionsverfahren die Performance, da aber die benötigten Daten im so genannten Cache unkomprimiert zur Verfügung stehen, hat das MXT-Verfahren keine negativen Auswirkungen auf die Systemleistung.

So bringt laut IBM die MXT-Technologie den Vorteil, dass sich die Performance bei speicherintensiven Anwendungen gleicher Speicherbestückung annähernd verdoppelt. Oder ein System soll dank MXT nur einen halb so großen Hauptspeicher benötigen, um auf die gleiche Systemleistung zu kommen, wie ohne MXT-Technologie. Darüber hinaus soll die Entwicklung eine hohe Datenintegrität gewährleisten und zu weniger Server-Ausfällen führen.

ProteXion-Technologie

Die ProteXion-Technologie von IBM - auch bekannt als Redundant Bit Steering - nutzt freie Bits im Speicherchip als Redundanz, um im Falle eines Bitfehlers die Daten umzuleiten.

Normalerweise nutzen die aktuellen Standard-Server acht Bit des 72-Bit-Datenpakets für die ECC-Funktion und die restlichen 64 Bit für Daten. Allerdings verwendet die ProteXion-Technologie ein ECC-Verfahren, das zur korrekten Arbeitsweise nur sechs statt acht Bit benötigt, da es einen speziellen Berechnungsalgorithmus hat. Die restlichen zwei Bit bleiben vorerst unbenutzt.

Stellt das Memory Scrubbing einen Bitfehler in einem Speicherchip auf einem DIMM fest, aktiviert es die ProteXion-Funktion. Diese veranlasst den Memory-Controller, den Defekt auszublenden und die entsprechenden Daten auf die freien Bits zu verteilen (Hot Spare Bits). So lange genügend freie Bits für die korrekte Funktionsweise des Speichers zur Verfügung stehen, protokolliert der Speicher-Controller lediglich die aufgetretenen Ausfälle in einer Log-Datei.

Falls die Bitfehler nicht mehr behebbar sind, sendet die Memory-Scrubbing-Funktion einen Alert zum Administrator. Auf Grund der protokollierten Daten kann dieser dann den Defekt analysieren und geeignete Gegenmaßnahmen wie Speichertausch (Hot Swap) oder Speichererweiterung (Hot Add) im laufenden Betrieb vornehmen - vorausgesetzt, der Chipsatz (BIOS) beziehungsweise das Betriebssystem unterstützen diese Funktionen.

Fully Buffered DIMM

Hinter dem Namen FB-DIMM verbirgt sich die Bezeichnung "Fully Buffered DIMM". Fully Buffered DIMMs stellen die nächste Generation von Speichermodulen im Server- und Workstation-Bereich dar. Das FB-DIMM unterstützt ausschließlich DDR2- und DDR3-Speicherbausteine. Jedes Modul besitzt neben den Speicherchips einen speziellen, so genannten Advanced Memory Buffer (AMB). Dieser Baustein stellt über 24 differenzielle Leitungspaare, ähnlich wie bei der seriellen PCI-Express-Technologie, eine Verbindung zum Memory Controller her. Maximal verwaltet die FB-DIMM-Technologie acht Module pro Speicherkanal.

Die serielle Schnittstellentechnik der FB-DIMM-Architektur ermöglicht eine hohe Performance und Skalierbarkeit. Gegenüber der herkömmlichen parallelen Registered-DIMM-Speichertechnologie bedeutet das in der Praxis: Erhöhung der Speicherkapazität um etwa den Faktor 24 und eine Vervierfachung der Speicherbandbreite. Zusätzlich bietet die FB-DIMM-Technologie für den Server- und Workstation-Einsatz umfangreiche Datensicherheits-Features.

Erste serienreife Chipsätze mit der entsprechenden Speicherunterstützung werden ab Anfang 2006 erwartet. Dazu zählt Intels Bayshore-Chipsatz, der Itanium-Prozessoren und FB-DIMMs mit DDR2-SDRAM unterstützt.

Erweiterte Sicherheitsfunktionen von FB-DIMM

Als Maßstab für die Fehlertoleranz eines Systems dient die sogenannte SDC-FIT-Rate (Silent Data Corruption Failure in Time). Die SDCs sind Fehler, die ein Rechner erzeugt, aber nicht erkennt. Im Server-Bereich gibt Intel eine Zeit von zirka 100 Jahren an, in der eine solche Störung auftreten darf. Nur ein Bruchteil davon fällt auf das Speicher-Interface zurück. Die FB-DIMM-Architektur verspricht eine Fehlerrate, die um etwa den Faktor 1000 geringer ist als die des Gesamtsystems.

Um dies zu gewährleisten, bietet die FB-DIMM-Technologie für den Server-Einsatz Sicherheits-Features. Dazu zählen neben dem standardmäßigen ECC auch eine CRC-Fehlerkorrektur, die nicht nur die Daten, sondern auch die Kommandos eines übertragenen Frames überprüft.

Für einen störungsfreien Datentransport zu den Speichermodulen sorgt eine Transient-Bit-Error-Funktion. Sie ist in der Lage, einzelne Bitfehler zu erkennen und eine Wiederholung des korrupten Datentransfers zu veranlassen. Darüber hinaus garantiert eine Path-through-path-Logik eine hohe störungsfreie Verfügbarkeit der Daten an den entsprechenden FB-DIMMs.

Mit der Bit Lane Fail-Over Correction kann das FB-DIMM eine fehlerhafte Datenleitung durch eine funktionierende ersetzen. Dabei werden intern die Signalleitung für den erweiterten CRC-Schutz und die daneben liegenden Datenleitungen bis zur defekten Stelle umgeschaltet. Die nachgeschalteten Speicherchips verfügen zwar nicht mehr über eine CRC-Fehlerkorrektur, können aber weiter fehlerfrei arbeiten. Bei der nächsten routinemäßigen Wartung des Systems können dann die defekten Module ausgetauscht werden.

Zusätzliche Sicherheit gewährleistet ein separates Error-Register im AMB. Dieses isoliert und verwaltet fehlerhafte Speicherstellen in den DRAMs. Treten zu viele Fehler auf, alarmiert eine entsprechende Diagnose-Software den Systembetreuer über den Speicherstatus.

Eine Hot-Add-Funktion rundet die Sicherheitsfunktionen ab. Sie erlaubt im laufenden Betrieb, weitere Speichermodule in das System einzufügen. Der entsprechende Speicherkanal muss beim Einfügen des neuen FB-DIMMs nicht vorher deaktiviert werden.

Weitere detaillierte Informationen zur FB-DIMM-Technologie finden Sie in dem Artikel FB-DIMM: Revolutionärer Speicher für Server.

Advanced Memory Protection (AMP)

Das Advanced-Memory-Protection-Konzept (AMP) umfasst folgende Funktionen: Online Spare Memory, Hot Plug Mirrored Memory und Hot Plug RAID Memory. Den Begriff AMP verwendet vorzugsweise HP in seinen entsprechenden Rechnersystemen.

Die gemeinsame Verwendung dieser Speicher-Sicherheitstechnologien erhöht die Ausfallsicherheit des Rechnersystems gegenüber den Einzelfunktionen enorm. Zusätzlich kann die Verfügbarkeit der Rechner gesteigert werden, da im Falle eines Speicherfehlers Mechanismen greifen, die den Fehler korrigieren beziehungsweise auf ein neues Modul im Betrieb umschalten.

Das defekte Modul kann der Techniker sogar im laufenden Betrieb (Online) wechseln. Die AMP-Funktion ist im BIOS des Rechnersystems implementiert und arbeitet unabhängig vom Betriebssystem.

Flex-Memory-Technologie

Die Flex-Memory-Technologie wurde unter der Federführung von Intel entwickelt. Sie ist zwar kein direktes Sicherheitsfeature, bietet aber dem Anwender dennoch ein gewisses Grad an Sicherheit in punkto Speicherbestückung und Performance. So gewährleistet der aktuelle Memory-Flex-Mode bei der Bestückung mit Speichermodulen gerade bei Dual-Channel-Memory-Controllern eine hohe Flexibilität, da der Dual-Channel-Modus auch beim Einsatz von nur zwei, drei oder vier DIMMs mit unterschiedlicher Gesamtkapazität in den Speicherkanälen funktioniert.

Wenn jeder der zwei Memory Channels mit der gleichen Speicherkapazität arbeitet, spricht Intel vom sogenannten "Dual-Channel Symmetric Mode". Die Speicherzugriffe erfolgen nach dem Dual-Channel-Verfahren mit 128 Bit und profitieren damit von der hohen Performance dieses Modus. Die Anzahl der Speichermodule pro Memory Channel spielt keine Rolle. So können zum Beispiel der Speicherkanal A mit zwei 256-MByte-Speichermodulen und der Kanal B mit einem 512-MByte-Modul bestückt sein.

Dual-Channel-Symmetric-Konfiguration: Damit der Speicher-Controller optimal mit 128-Bit-Speicherzugriffen arbeiten kann, gilt es, beide Kanäle mit gleicher Speicherkapazität auszustatten. (Quelle: Intel)

Bestückt der Anwender nur einen Speicherkanal, erfolgt der Speicherzugriff im sogenannten "Single-Channel Mode". In diesem Modus erfolgt der Speicherzugriff mit 64-Bit-Breite nach dem Single-Channel-Verfahren, sodass die Speicherperformance gegenüber dem Dual-Channel-Symmetric-Modus entsprechend niedrig liegt.

Single-Channel-Konfiguration: Mit dieser Bestückung arbeitet der Speicher-Controller im langsamen Singel-Channel-Modus. (Quelle: Intel)

Befinden sich pro Speicher-Channel Speichermodule mit unterschiedlichen Gesamtkapazitäten wie zum Beispiel 512 MByte und 1024 MByte im System, können durch die Flex-Mode-Technologie dennoch schnelle Dual-Channel-Speicherzugriffe (128 Bit) durchgeführt werden. Dies erfolgt jedoch nur im gemeinsamen Speicheradressbereich von 512 MByte. Der restliche Speicher von 512 MByte des 1024-MByte-Moduls arbeitet weiter nur im Single-Channel-Modus.

Dual-Channel-Asymmetric-Konfiguration: Obwohl beide Memory-Kanäle unterschiedlich bestückt sind, kann der Speicher-Controller in den entsprechenden Adressbereichen schnelle Dual-Channel-Zugriffe durchführen. (Quelle: Intel)

In allen Betriebsmodi richten sich die Taktrate und das Timing des Gesamtspeichers nach der langsamsten Arbeitsfrequenz beziehungsweise Timings eines einzelnen Speichermoduls, die das SPD-Register in kodierter Form enthält. Ist das Mainboard zum Beispiel mit einem DDR2-667- und einem DDR2-800-Speichermodul bestückt, arbeitet der gesamte Systemspeicher nur mit DDR2-667-Einstellungen.

Fazit

Um bei Server- und Workstation-Ausfällen hohe Kosten durch fehlerhaften oder defekten Hauptspeicher zu vermeiden, stehen den Systemherstellern verschiedene Sicherheitsmechanismen zur Verfügung. So ermöglichen zum Beispiel Registered-DIMM-Module einen relativ großen Speicherausbau, ohne die Häufigkeit von Speicherfehlern zu steigern.

Zu den einfachsten Korrekturfunktionen zählt das ECC-Verfahren. Es behebt Ein-Bit-Fehler und erkennt Zwei-Bit-Defekte. Laut einer IBM-Laborstudie erreicht ein mit ECC ausgestatteter Hauptspeicher bereits eine Zuverlässigkeitsrate von 91 Prozent.

Höhere Speicherausfallsicherheit bietet nach IBM das Chipkill-Verfahren mit 99,94 Prozent. Die zum Beispiel in IBM- oder ServerWorks-Chipsätzen eingesetzte Funktion korrigiert bis zu vier multiple Bitfehler und ist in der Lage, acht Bitfehler zu erkennen. Sollen Speicherintegrität und Ausfallsicherheit eines Rechnersystems weiter gesteigert werden, bieten entsprechende Chipsätze und Betriebssysteme zusätzliche Technologien wie Hot Swap, Hot Add, Hot Spare Memory, Memory Mirroring, ProteXion, Hot Plug RAID Memory, FB-DIMM-, die Memory-Expansion-, oder die Flex-Mode-Technologie. (hal)