Flash-Zuverlässigkeit: erwartet und unerwartet. Teil 1. XIV. Konferenz der USENIX Association. Dateispeichertechnologien

Da Flash-basierte Solid-State-Laufwerke zum primären Mittel zum dauerhaften Speichern von Informationen in Rechenzentren werden, ist es wichtig zu erkennen, wie zuverlässig sie sind. Bisher wurde eine große Anzahl von Laboruntersuchungen an Flash-Speicherchips unter Verwendung synthetischer Tests durchgeführt, aber es gibt nicht genügend Informationen über ihr Verhalten vor Ort. Dieser Artikel widmet sich den Ergebnissen einer groß angelegten Feldstudie, die Millionen von Tagen der Verwendung von Festplatten, 10 verschiedenen Modellen von Solid-State-Laufwerken, verschiedenen Flash-Speichertechnologien (MLC, eMLC, SLC) und mehr als 6 Jahren betrieblicher Nutzung in Google-Rechenzentren umfasst.



Wir haben eine Vielzahl von Zuverlässigkeitsmerkmalen dieser Geräte untersucht und sind zu einer Reihe unerwarteter Schlussfolgerungen gekommen. Wenn beispielsweise ein Laufwerk abgenutzt ist, steigt die Bitbitfehlerrate (Bit Bit Error Rate, RBER) viel langsamer an, als der Exponentialindikator vermuten lässt, und, was noch wichtiger ist, es erlaubt nicht, das Auftreten nicht korrigierbarer Fehler oder anderer Arten von Fehlern vorherzusagen.

Die weit verbreitete UBER-Metrik (Unrecoverable Bit Error Rate) ist kein signifikanter Indikator für die Zuverlässigkeit, da die Beziehung zwischen der Anzahl der Lesevorgänge und der Anzahl der nicht korrigierbaren Fehler nicht erkannt wurde. Wir haben auch keine Beweise dafür gefunden, dass Laufwerke, die auf der einstufigen SLC-Architektur basieren, während der normalen Lebensdauer einer SSD zuverlässiger sind als MLC-Laufwerke. Im Vergleich zu herkömmlichen Festplatten ist die Häufigkeit des Austauschs von Flash-basierten SSDs erheblich geringer, sie weisen jedoch eine höhere Fehlerkorrektur auf.

1. Einleitung


Die Popularität der Verwendung von Solid-State-Flash-Laufwerken auf Basis der NAND-Technologie in Rechenzentren nimmt ständig zu. Je mehr Daten auf einer solchen Festplatte gespeichert werden können, desto größer ist die Sicherheit und Verfügbarkeit von Informationen, die von der Zuverlässigkeit des Flash-Laufwerks selbst abhängen. Obwohl die Leistungsvorteile von SSDs im Vergleich zu HDDs bekannt sind, sind die Fehlereigenschaften von Flash-Laufwerken nicht gut verstanden.

Die von Flash-Speicherherstellern bereitgestellten Daten enthalten nur vage Garantien, wie z. B. die Anzahl der Löschzyklen, bis das Gerät vollständig abgenutzt ist. Ein typisches Verständnis des Problems basiert auf Studien, die die Zuverlässigkeit von Flash-Laufwerken durch kontrollierte Laborexperimente (z. B. beschleunigte Haltbarkeitstests) untersuchen. Gleichzeitig wird eine kleine Anzahl zufällig ausgewählter Geräte zum Testen der Auswirkungen synthetischer Workloads verwendet. Es mangelt an Forschung, um einen Zusammenhang zwischen Labortestergebnissen und Zuverlässigkeitseigenschaften von Flash-Laufwerken herzustellen, die unter realen Bedingungen betrieben werden.

Dieser Artikel enthält detaillierte Ergebnisse einer Feldstudie zur Zuverlässigkeit von Flash-Laufwerken, die auf Daten basiert, die über einen Zeitraum von 6 Jahren in Google-Rechenzentren gesammelt wurden. Diese Daten umfassen Millionen von Tagen Festplattenbetrieb (die genaue Anzahl der Festplatten und Geräte, die sie verwenden, wird von Google vertraulich behandelt, sodass wir keine genauen Zahlen angeben können. Wir konnten jedoch die statistische Signifikanz der uns zur Verfügung gestellten Daten überprüfen), zehn verschiedene Modelle von Flash-Laufwerken und verschiedene Flash-Laufwerke -Technologien (MLC, eMLC und SLC) mit Chiptechnologie von 24 bis 50 nm.

Wir haben diese Daten verwendet, um die Betriebssicherheit des Flash-Speichers besser zu verstehen. Insbesondere haben wir solche Aspekte der Gerätezuverlässigkeit analysiert:

  1. Verschiedene Arten von Fehlern, die im Flash-Speicher auftreten, und die Häufigkeit ihres Auftretens im Feld (Abschnitt 3).
  2. Bitfehlerrate (RBER), der Einfluss von Faktoren wie Verschleiß, Antriebsalter und Arbeitsbelastung sowie die Beziehung von RBER zu anderen Fehlertypen (Abschnitt 4).
  3. Nicht behebbare Fehler, ihre Häufigkeit und der Einfluss verschiedener Faktoren auf sie (Abschnitt 5).
  4. Feldmerkmale verschiedener Arten von Geräteausfällen, einschließlich komplexer Ausfälle, Chipausfälle und Häufigkeit von Reparatur- und Austauschlaufwerken (Abschnitt 6).
  5. 5. Zuverlässigkeitsvergleich verschiedener Flash-Technologien (MLC, eMLC, SLC-Festplatten) (Abschnitt 7) und SSD- und HDD-Zuverlässigkeitsvergleich (Abschnitt 8).

Wir haben sichergestellt, dass unsere Analyse eine Reihe von Aspekten der Zuverlässigkeit des Flash-Speichers im Feld aufzeigt, die sich von den Schlussfolgerungen aus früheren Arbeiten unterscheiden. Wir hoffen, dass unsere Arbeit als Anreiz für die weitere Forschung in diesem Bereich dienen wird.


Tab. 1. Eigenschaften der Module, die an den Feldtests teilgenommen haben.

2. Hintergrundinformationen zu Daten und Systemen


2.1. Flash-Laufwerke


Unsere Forschung umfasste serielle Hochleistungs-SSD-Laufwerke, die auf industriell hergestellten Flash-Chips basieren. Wir verwendeten jedoch eine benutzerdefinierte PCIe-Schnittstelle, eine benutzerdefinierte Firmware und einen Treiber. Wir haben uns auf zwei Laufwerksgenerationen konzentriert, bei denen alle Laufwerke derselben Generation denselben Gerätetreiber und dieselbe Firmware verwenden. Dies bedeutet, dass sie auch dieselben Fehlerkorrekturcodes (ECCs) verwenden, um beschädigte Bits zu erkennen und zu reparieren, und dieselben Algorithmen, um den Verschleißgrad zu bestimmen. Der Hauptunterschied zwischen Laufwerksmodellen derselben Generation ist die Art des verwendeten Speicherchips.

Unsere Studie konzentrierte sich auf 10 Laufwerksmodelle, deren Hauptmerkmale in Tabelle 1 aufgeführt sind. Wir haben Modelle von vier Herstellern ausgewählt, von denen jeder mehrere Millionen Tage lang unter Verwendung der drei häufigsten Arten von Flash-Speichern (MLC, SLC, eMLC) arbeitete.

2.2. Verwendete Daten


Wir haben Daten aus der täglichen Überwachung des Betriebs von Flash-Laufwerken vor Ort über einen Zeitraum von 6 Jahren verwendet. Darüber hinaus wurden täglich verschiedene Arten von Fehlern gezählt, Statistiken zur Arbeitslast erstellt, einschließlich der Anzahl der Schreib- und Löschvorgänge, und die Anzahl der während des Tages aufgetretenen fehlerhaften Blöcke berechnet. Die Anzahl der Lese-, Schreib- und Löschvorgänge umfasste sowohl die Anzahl der Benutzervorgänge als auch die Anzahl der internen Speicherbereinigungsvorgänge. Ebenfalls verwendet wurden Aufzeichnungen, in denen Fälle von Chipausfällen sowie Fälle von Reparatur oder Austausch von SSDs aufgezeichnet wurden.

3. Die Prävalenz verschiedener Arten von Fehlern


Beginnen wir mit einigen grundlegenden Statistiken über die Häufigkeit des Auftretens verschiedener Arten von Fehlern im Feld. Wir heben transparente Fehler hervor, die für den Benutzer unsichtbar sind, und undurchsichtige Fehler, die zum Fehlschlagen von Benutzeroperationen führen. Der Flash-Laufwerkstreiber meldet die folgenden Arten von transparenten Fehlern:

Korrigierbarer Fehler: Während eines Lesevorgangs wird der erkannte Fehler durch die integrierte ECC-Fehlerkorrekturfunktion korrigiert.

  • Lesefehler Lesefehler: Ein Fehler, der während des Lesevorgangs auftritt (für Speicher ohne Nicht-ECC-Fehlerkorrektur) und bei wiederholtem Lesen korrigiert wird.
  • Schreibfehler Schreibfehler: Fehler beim Schreiben, der nach dem erneuten Versuch erfolgreich ist.
  • Löschfehler Löschfehler: Der Löschvorgang im Block schlägt fehl.

Geräte melden außerdem die folgenden Arten von undurchsichtigen Fehlern:

  • Nicht korrigierbarer Fehler: Während des Vorgangs treten mehr beschädigte Bits auf, als ECC beheben kann.
  • Fehler beim endgültigen Lesen Fehler beim endgültigen Lesen: Ein Fehler, der beim Lesen aufgetreten ist, wird bei wiederholten Versuchen nicht behoben.
  • Fehler beim endgültigen Schreiben Fehler beim endgültigen Schreiben: Ein Fehler, der beim Schreiben aufgetreten ist, wird bei wiederholten Versuchen nicht behoben.
  • Metafehler Metafehler: Fehler beim Zugriff auf die internen Metadaten der Festplatte.
  • Timeout-Fehler: Der Vorgang wird nach 3 Sekunden abgebrochen.

Schwerwiegende Fehler umfassen Fehler, die während vom Benutzer initiierter Vorgänge oder interner Speicherbereinigungsvorgänge erkannt wurden, während endgültige Lesefehler Fehler enthalten, die während des Benutzervorgangs aufgetreten sind.

Bitte beachten Sie, dass Fehler in der Schwere der Auswirkungen variieren. Neben dem Unterschied zwischen transparenten und undurchsichtigen Fehlern ändert sich auch die Schwere der undurchsichtigen Fehler. Insbesondere führen einige dieser Fehler (endgültiger Lesefehler, schwerwiegender Fehler, Metafehler) zu Datenverlust, wenn das System auf höheren Ebenen keine Redundanz aufweist, da die Festplatte dem Benutzer keine Daten zur Verfügung stellen kann, die zur Speicherung akzeptiert wurden.

Wir haben nur Festplatten berücksichtigt, die vor mindestens 4 Jahren in Produktion gegangen sind (eMLC-Festplatten wurden vor 3 Jahren veröffentlicht, da es sich um einen neueren Typ von Flash-Laufwerken handelt), und Fehler, die während der ersten 4 Betriebsjahre aufgetreten sind. Tabelle 2 zeigt den Prozentsatz der Laufwerke jedes Modells, bei denen unterschiedliche Fehlertypen auftreten, wenn diese Fehler mindestens einmal aufgetreten sind (obere Hälfte der Tabelle), und den Prozentsatz der Betriebstage, an denen die Laufwerke Fehlern eines bestimmten Typs ausgesetzt waren (untere Hälfte der Tabelle).


Tab. 2. Die Prävalenz verschiedener Arten von Fehlern. Die obere Hälfte der Tabelle zeigt den Prozentsatz der von Fehlern betroffenen Festplatten und die untere Hälfte den Prozentsatz der Festplattennutzungstage, an denen verschiedene Arten von Fehlern aufgetreten sind.

3.1. Undurchsichtige Fehler


Wir glauben, dass die häufigsten undurchsichtigen Fehler endgültige Lesefehler sind, dh Fehler, die nicht durch eine wiederholte Leseoperation korrigiert werden können. Je nach Laufwerksmodell ist bei mindestens 20-63% der Geräte ein solcher Fehler innerhalb von 2-6 Tagen von 1000 Tagen nach dem Betrieb der Festplatte aufgetreten.

Wir schließen daraus, dass die Anzahl der endgültigen Lesefehler in hohem Maße mit der Anzahl der nicht korrigierbaren Fehler korreliert und dass diese endgültigen Lesefehler nur auftreten, weil Bitschäden nicht mit ECC behoben werden können. Bei allen Festplattenmodellen treten die endgültigen Lesefehler 2 Größenordnungen häufiger auf (wenn Sie sich auf die Anzahl der Tage konzentrieren, an denen die Festplatten verwendet wurden, als diese Fehler auftraten) als bei jeder anderen Art von undurchsichtigen Fehlern.

Im Gegensatz zu Lesefehlern werden Schreibfehler selten zu undurchsichtigen Fehlern. Abhängig vom Modell hatten nur 1,5 bis 2,5% der Discs innerhalb von 1 bis 4 Tagen nach 10.000 Betriebstagen einen endgültigen Schreibfehler, d. H. erfolgloser Schreibvorgang, der nach wiederholten Versuchen nicht korrigiert wurde. Dieser Unterschied in der Häufigkeit der endgültigen Lese- und Schreibfehler ist wahrscheinlich auf die Tatsache zurückzuführen, dass der fehlgeschlagene Schreibvorgang einfach durch Schreiben an eine andere Stelle auf der Platte in dem Bereich mit intakten Bits korrigiert wurde. Wenn der Fehler des Lesevorgangs nur durch das Vorhandensein mehrerer beschädigter Bits verursacht werden kann, weist der endgültige Schreibfehler auf ein größeres Hardwareproblem hin.

Metafehler treten mit einer Häufigkeit auf, die mit der Rate der Schreibfehler vergleichbar ist, jedoch wiederum viel seltener als die endgültigen Lesefehler. Dies ist nicht überraschend, da die Festplatte viel weniger Metadaten enthält als die Menge der realen Daten, was die Häufigkeit des Zugriffs auf die Metadaten verringert. Andere undurchsichtige Fehler (Timeout-Fehler und Antwortfehler) sind recht selten und betreffen in der Regel weniger als 1% der Festplatten während eines Tages von 100.000 Tagen Festplattenbetrieb.

3.2. Transparente Fehler


Es überrascht nicht, dass Fehlerkorrekturen die häufigste Art von transparenten Fehlern sind. Fast alle Laufwerke weisen mindestens einige korrigierbare Fehler auf, die an den meisten Tagen des Festplattenbetriebs auftreten (61-90%). Fehler, die detaillierter korrigiert werden können, einschließlich der Bitfehlerratenanalyse (RBER), werden in Abschnitt 4 dieses Artikels erläutert.

Die folgenden häufigsten transparenten Fehlertypen sind Schreib- und Löschfehler. Normalerweise treten sie in 6-10% der Laufwerke auf, aber bei einigen Modellen erreichen SSDs bis zu 40-68%. In den meisten Fällen treten solche Fehler in weniger als 5 von 10.000 Betriebstagen auf. Laut unserer Forschung weisen Schreib- und Löschfehler auf eine Beschädigung des Geräts hin. Dieses Problem wird in Abschnitt 6 ausführlich erörtert.

Fehler, die während Lesevorgängen auftreten, sind seltener als transparente Fehler, wahrscheinlich weil dieses Problem nicht nur durch wiederholte Vorgänge mit ECC korrigiert wird, sondern auch durch wiederholte Vorgänge behoben wird. Unvollständige Lesefehler, dh Lesefehler, die durch wiederholte Versuche korrigiert werden können, treten in weniger als 2% der Laufwerke auf und dauern weniger als 2-8 Tage von 100.000 Tagen Festplattenbetrieb.

Infolgedessen treten zusätzlich zu den korrigierbaren Fehlern, die in einer großen Anzahl von Tagen des Festplattenbetriebs auftreten, transparente Fehler im Vergleich zu allen Arten von undurchsichtigen Fehlern weniger häufig auf. Die häufigste Art von undurchsichtigen Fehlern sind nicht korrigierbare Fehler, die innerhalb von 2-6 Tagen von 1000 Tagen Festplattenbetrieb auftreten.

4. Bitfehlerrate (RBER)


Die Standardmetrik zur Bewertung der Zuverlässigkeit von Flash-Laufwerken ist die Bitfehlerrate (RBER) der Festplatte, die als Verhältnis der Anzahl beschädigter Bits zur Anzahl der gelesenen Bits definiert ist (einschließlich der Fälle von korrigierbaren und nicht korrigierbaren Fehlern).

Die zweite Generation von Laufwerken (Modelle eMLC-A und eMLC-B) liefert die genaue Anzahl beschädigter Bits und Lesebits, sodass wir die RBER mit hoher Präzision bestimmen können.
Die erste Generation von Laufwerken gibt die genaue Anzahl der gelesenen Bits an. Für jede Seite, die aus 16 Datenblöcken besteht, wird jedoch nur die Anzahl der beschädigten Bits des Datenblocks mit der größten Anzahl beschädigter Bits gemeldet. Infolgedessen kann im schlimmsten statistischen Fall, wenn alle Blöcke Fehler enthalten und die Anzahl dieser Fehler gleich ist, der RBER-Koeffizient 16-mal höher sein als der Koeffizient, der auf der Grundlage des Plattenstatusberichts erhalten wird.

Dieses Problem spielt beim Vergleich zwischen Laufwerken derselben Generation keine große Rolle, sollte jedoch beim Vergleich von Laufwerken verschiedener Generationen berücksichtigt werden.


Tab. 3. Aggregierte Bitfehlerrate RBER für verschiedene SSD-Modelle.

4.1. High Level RBER Review


Tabelle 3 zeigt den mittleren RBER-Wert für jedes Laufwerksmodell für alle Laufwerke dieses Modells sowie das 95. und 99. Perzentil. Wir haben uns für die Arbeit mit Medianen und Perzentilen entschieden, da wir feststellen, dass die gemittelten Indikatoren aufgrund mehrerer stark differenzierter Werte stark voreingenommen sind, was es schwierig macht, Trends zu erkennen.

Wir beobachten große Unterschiede in der RBER für verschiedene Antriebsmodelle, die von 5.8e-10 bis zu mehr als 3e-08 für Antriebe der ersten Generation reichen. Diese Unterschiede sind noch größer, wenn nicht der mittlere RBER-Wert, sondern das 95. oder 99. Perzentil berücksichtigt wird. Beispielsweise reicht das 99. RBER-Perzentil von 2.2e-08 für das SLC-B-Modell bis 2.7e-05 für das MLC-D-Modell. Selbst innerhalb der Antriebslinie desselben Modells gibt es große Unterschiede: Der RBER-Antrieb im 99. Perzentil ist in der Regel mindestens eine Größenordnung größer als der mittlere RBER-Antrieb desselben Modells.

Der RBER-Unterschied zwischen den Modellen kann teilweise durch Unterschiede in der zugrunde liegenden Flash-Technologie erklärt werden. Der RBER-Wert für MLC-Modelle ist höher als für SLC-Modelle, sodass der höhere Preis für SLC-Modelle den niedrigeren RBER-Wert berücksichtigt. In Abschnitt 5 dieses Artikels werden wir sehen, wie sich diese Unterschiede in Unterschieden bei undurchsichtigen Fehlern niederschlagen, die für den Benutzer sichtbar sind.
EMLC-Modelle melden RBER, das mehrere Größenordnungen höher ist als das anderer Antriebsmodelle. Selbst wenn berücksichtigt wird, dass die RBER-Antriebe der ersten Generation im schlimmsten Fall 16-mal höher sein können, ist die vorhandene Differenz der Koeffizientenwerte um eine Größenordnung größer. Wir gehen davon aus, dass es einen Größenfaktor gibt, da die beiden eMLC-Modelle Chips mit der niedrigsten mikroelektronischen Lithographie im Vergleich zu allen anderen Antriebsmodellen aufweisen.

Schließlich gibt es keine Hersteller, deren Produkte Vorteile gegenüber Produkten anderer Hersteller haben. Innerhalb der SLC- und eMLC-Plattengruppe produziert derselbe Anbieter sowohl eines der schlechtesten als auch eines der besten Modelle in der Gruppe.
Im Allgemeinen variiert RBER stark zwischen Disc-Modellen sowie zwischen SDDs desselben Modells. Dies motiviert uns, die Faktoren, die RBER beeinflussen, weiter zu untersuchen.

4.2. Welche Faktoren beeinflussen den RBER-Wert?


In diesem Abschnitt werden wir die Auswirkungen einer Reihe von Faktoren auf die RBER untersuchen:

  • Verschleiß durch Programm- / Löschzyklen (PE);
  • physisches Alter, d. h. die Anzahl der Monate, in denen das Gerät im Feld betrieben wurde, unabhängig von den PE-Zyklen;
  • Arbeitslast, gemessen an der Anzahl der Lese-, Schreib- und Löschvorgänge sowie an der Anzahl der Vorgänge auf der Seite, die möglicherweise die umgebenden Speicherzellen beschädigen könnten;
  • das Vorhandensein anderer Arten von Fehlern.

Wir haben die Wirkung jedes Faktors auf RBER auf zwei verschiedene Arten untersucht. Wir verwendeten visuelle visuelle Daten, indem wir den Einfluss von Faktoren auf RBER aufzeichneten, und untersuchten quantitative Einflussindikatoren unter Verwendung des Korrelationskoeffizienten. Wir haben den Rangkorrelationskoeffizienten nach Spearman verwendet, da er monotone nichtlineare Beziehungen in nichtparametrischen Methoden abdecken kann, im Gegensatz zum Beispiel zum Korrelationskoeffizienten nach Pearson.

Bevor wir die einzelnen Faktoren im Detail analysieren, haben wir ein zusammenfassendes Diagramm erstellt, wie in Abbildung 1 dargestellt.


Abb. 1. Die Abhängigkeit des Spearman-Rangkorrelationskoeffizienten zwischen dem RBER-Wert während des Monats des Plattenbetriebs und anderen Faktoren.

Dies zeigt die Beziehung zwischen dem Spearman-Rangkorrelationskoeffizienten zwischen dem RBER-Wert während des Monats des Plattenbetriebs und Faktoren wie der Anzahl der vorherigen PE-Zyklen, der Anzahl der Lese-, Schreib- oder Löschvorgänge in diesem Monat, dem RBER-Wert im Vormonat und der Anzahl der nicht korrigierbaren Fehler (UE) in Vormonat. Der Rangkorrelationskoeffizient nach Spearman kann von -1 (starke negative Korrelation) bis +1 (starke positive Korrelation) variieren.

Jede Gruppe von Beschriftungen zeigt die Korrelationskoeffizienten zwischen RBER und einem bestimmten Faktor (siehe Interpretation auf der X-Achse), und die verschiedenen Beschriftungen in jeder Gruppe entsprechen unterschiedlichen Antriebsmodellen. Alle Korrelationskoeffizienten verdienen mehr als 95% Vertrauen.

Wir haben sichergestellt, dass alle Faktoren, mit Ausnahme des Auftretens schwerwiegender Fehler im Vormonat, zumindest für einige Modelle eine eindeutige Beziehung zu RBER aufweisen. Wir haben auch darauf hingewiesen, dass einige dieser Abhängigkeiten möglicherweise falsch sind, da einige Faktoren miteinander korrelieren können. Deshalb haben wir jeden Faktor im nächsten Unterabschnitt genauer untersucht.

4.2.1. RBER und tragen

Da die Lebensdauer der Flash-Speicherzelle begrenzt ist, steigt der RBER-Koeffizient mit zunehmenden Programm- / Löschzyklen (PE). Die hohen Korrelationskoeffizienten zwischen RBER- und PE-Zyklen in Abbildung 2 belegen ihre Beziehung.


Abb. 2. Die Abhängigkeit des Medians und 95 Prozent RBER von der Anzahl der PE-Zyklen.

2 95- RBER . , PE, 95- RBER .

, , RBER PE , 95- RBER. , , . : , , .

, RBER , , RBER PE. , MLC RBER PE, , PE (3,000 MLC), 4- RBER.

, , RBER , (., , MLC-D PE = 3000). , RBER 3- PE, , , PE.



, . ? ? Unterstützen Sie uns, indem Sie eine Bestellung aufgeben oder Ihren Freunden empfehlen, einen Rabatt von 30% für Habr-Benutzer auf ein einzigartiges Analogon von Einstiegsservern, das wir für Sie erfunden haben: Die ganze Wahrheit über VPS (KVM) E5-2650 v4 (6 Kerne) 10 GB DDR4 240 GB SSD 1 Gbit / s von $ 20 oder wie teilt man den Server? ( RAID1 RAID10, 24 40GB DDR4).

Dell R730xd 2 ? 2 Intel TetraDeca-Core Xeon 2x E5-2697v3 2.6GHz 14C 64GB DDR4 4x960GB SSD 1Gbps 100 $199 ! Dell R420 — 2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB — $99! . c Dell R730xd 5-2650 v4 9000 ?

Source: https://habr.com/ru/post/de470019/


All Articles