• ComputerBase erhält eine Provision für Käufe über eBay-Links.

News HPE SAS SSD: Update gegen Datenverlust bei 32.768 Betriebsstunden

Sombatezib schrieb:
32.768*2 = 65536 (2^16) bzw. entspricht die Stundenzahl 2^15

Zufallszahl? Eher nicht. xD

Wahrscheinlich war der Speicherplatz für die Firmware zu teuer/kostbar ;)
Ergänzung ()

Salutos schrieb:
Gibt es eine Info von welchem Hersteller die SSDs sind, und ggf. dann auch noch die eigenen Modellnummern des Herstellers?

Die VO015300JWCNL ist z.B. eine Samsung PM1533a

siehe: https://storagepartsdirect.com/hpe-...2-5inch-ds-sas-12g-read-intensive-g9-g10-ssd/


Im Heise-Forum berichten einige auch von Intel-SSDs.
https://www.heise.de/forum/heise-on...wer-ist-der-Hersteller/posting-35671169/show/
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: Salutos
DocWindows schrieb:
Wüsstest du so spontan einen Test mit dem du genau diesen Fehler beim Testing erkannt hättest? Welcher Test wäre das gewesen und was hättest du dir von diesem Test erhofft? Testparcours werden schließlich nicht ausgewürfelt, sondern entwickelt. Und jeder Test wird aus einem bestimmten Grund gemacht um ein bestimmtes potenzielles Fehlverhalten auszuschließen.
Ein derart grober Fehler hätte sofort auffallen müssen. Offenbar werden vom Controller ja die Stunden gezählt. Sowas hätte man problemlos simulieren können, was aber noch nicht mal hätte nötig sein dürfen. Schon bei der Entwicklung der Firmware hätte man sich Gedanken zum verwendeten Datentyp machen oder eine Abfrage einbauen sollen, die beim Überschreiten des maximal möglichen Wertes sofort eingreift. Das ist kein großer Mehraufwand, sondern in wenigen Sekunden gemacht.

Und das Vorgehen, möglicherweise absichtlich solche Fehler in Kauf genommen zu haben, kannst du ja wohl kaum rechtfertigen, ansonsten ist dir nicht mehr zu helfen! Ein solch enorm wichtiges Produkt halbfertig in den Markt zu entlassen oder an den Kunden zu bringen, ist ein absolutes Spiel mit dem Feuer und durch NICHTS zu rechtfertigen. Dadurch können ganze Unternehmen zugrunde gehen, falls sie sich auf die Zuverlässigkeit dieses Produktes verlassen haben.

Wenn die Zeit ein Problem ist, hätte man mehr Informatiker dafür einstellen müssen, ganz einfach. Aber den Sparkurs des Unternehmens zu rechtfertigen und so zu tun, als sei der Käufer schuld und die Kritiker seien plemplem, ist erbärmlich.
 
SaschaHa schrieb:
Sowas hätte man problemlos simulieren können, was aber noch nicht mal hätte nötig sein dürfen.

Eben. Gar nicht nötig. Da haben wir es schon. Darum gabs vermutlich auch keinen Test.

SaschaHa schrieb:
Schon bei der Entwicklung der Firmware hätte man sich Gedanken zum verwendeten Datentyp machen oder eine Abfrage einbauen sollen, die beim Überschreiten des maximal möglichen Wertes sofort eingreift. Das ist kein großer Mehraufwand, sondern in wenigen Sekunden gemacht.

Man kann bei der Entwicklung sicherlich alles mögliche bedenken, aber dann wird man a) nie fertig und hat b) hinterher ein unperformantes Produkt, weil tonnenweise Prüfcode auf alles mögliche auf die Leistung drückt, und das vollkommen unnötig weil 99,9% der überprüften Zustände niemals eintreten.
Meinst du der Kunde kauft dann eine 20% langsamere SSD weil du ihm sagst dass die Firmware jede Popelaktion 3x prüft? Und das auch noch zu 25% mehr Kosten, weil du, wie du unten schreibst, "einfach ein paar mehr Informatiker" eingestellt hast?

SaschaHa schrieb:
Und das Vorgehen, möglicherweise absichtlich solche Fehler in Kauf genommen zu haben, kannst du ja wohl kaum rechtfertigen, ansonsten ist dir nicht mehr zu helfen!

Und das "möglicherweise absichtlich" kannst du nicht rechtfertigen. Ich rechtfertige außerdem nichts, sondern versuche zu erklären wie solche Fehler passieren können und warum es schwer bis unmöglich ist sowas abzufangen.
Brauchst nur mal einen Codeschnipsel aus einem anderen Projekt für die Firmware hernehmen der in seinem angestammten Bereich gut funktioniert hat, und aus Zeitdruck den ganzen Quellcoderanz nicht gründlich durchlesen. Schon hast du einen Stundenzähler der 10 Jahre lang in anderem Umfeld super funktioniert hat, weil er maximal 150 Stunden zählen musste, und der bei >32768 Stunden aussteigt.
Nochmal: Das ist keine Rechtfertigung sondern eine Erklärung. Und diese basiert auf Erfahrungen in der Praxis.

SaschaHa schrieb:
Ein solch enorm wichtiges Produkt halbfertig in den Markt zu entlassen oder an den Kunden zu bringen, ist ein absolutes Spiel mit dem Feuer und durch NICHTS zu rechtfertigen. Dadurch können ganze Unternehmen zugrunde gehen, falls sie sich auf die Zuverlässigkeit dieses Produktes verlassen haben.

Jemand der sich in diesem Maße auf die Zuverlässigkeit einer SSD verlässt ist jemand der kein Backup und/oder keine Failsafe Systeme hat. Wenn etwas enorm wichtig ist, wie z.B. Unternehmensdaten, behandelt man dies auch so. Sich darauf zu verlassen dass die Hardware schon halten wird ist grob fahrlässig.
 
Bei uns wird gerade nur wegen dieses "Bugs" eine Notfallwartung durchgeführt, da einige der SSDs an dem Wert nah drann sind.
 
DocWindows schrieb:
Eben. Gar nicht nötig. Da haben wir es schon. Darum gabs vermutlich auch keinen Test.
Es hätte nicht nötig sein dürfen, weil man die Firmware von vornherein besser hätte planen müssen.
DocWindows schrieb:
Man kann bei der Entwicklung sicherlich alles mögliche bedenken, aber dann wird man a) nie fertig und hat b) hinterher ein unperformantes Produkt, weil tonnenweise Prüfcode auf alles mögliche auf die Leistung drückt, und das vollkommen unnötig weil 99,9% der überprüften Zustände niemals eintreten.
Es geht hier um einen simplen Stundenzähler. Ein solcher Prüfcode würde sich rein gar nicht auf die Performance auswirken, da er im schlimmsten Fall wenige Male pro Stunde ausgeführt wird und lediglich zwei Zahlenwerte vergleichen muss. Und auch das wäre ja nicht nötig, wenn man einfach einen anderen Datentyp bzw. ein paar mehr Bits verwendet hätte.

Man muss sicher nicht alles abfangen, aber man sollte schon einen Überblick haben, welche Werte angenommen werden und welche Fälle eintreten können, und diese dann entsprechend abfangen. Hier geht es ja nicht um eine simple App fürs Smartphone, die man einfach erneut öffnet, wenn sie mal abschmiert, sondern um eine wichtige Firmware, die nötig ist, damit die Hardware überhaupt funktioniert. Da sollte man schon ein genaueres Auge drüber haben.
DocWindows schrieb:
Brauchst nur mal einen Codeschnipsel aus einem anderen Projekt für die Firmware hernehmen der in seinem angestammten Bereich gut funktioniert hat, und aus Zeitdruck den ganzen Quellcoderanz nicht gründlich durchlesen. Schon hast du einen Stundenzähler der 10 Jahre lang in anderem Umfeld super funktioniert hat, weil er maximal 150 Stunden zählen musste, und der bei >32768 Stunden aussteigt.
Copy & Paste hat selten zu guter Software geführt. Man sollte dann schon auf die relevanten Befehle schauen. Gerade bei Datenbanken, also bei Werten, die geschrieben werden, ist es essentiell, genau darauf zu achten, dass da kein Mist mit passieren kann.
DocWindows schrieb:
Jemand der sich in diesem Maße auf die Zuverlässigkeit einer SSD verlässt ist jemand der kein Backup und/oder keine Failsafe Systeme hat. Wenn etwas enorm wichtig ist, wie z.B. Unternehmensdaten, behandelt man dies auch so. Sich darauf zu verlassen dass die Hardware schon halten wird ist grob fahrlässig.
SSD-Controller sind längst nicht mehr an einen Hersteller gebunden, wie in diesem Fall ja auch nicht. Du kannst 10 verschiedene SSDs von verschiedenen Herstellern haben, die dann den selben Controller besitzen, was für den Kunden kaum ersichtlich ist. Und schon hast du den Salat. Aber deiner Theorie nach wäre dann ja trottdem der Kunde schuld.

Was würdest du machen, wenn Autohersteller demnächst auch so denken? Wenn dann auf einmal der Boardcomputer abstürzt und der Wagen beispielsweise autonom eine Vollbremsung machst, ohne dass du es verhindern kannst? Da will ich dich mal sehen, wenn du dann immer noch sagst "kann ja passieren". Ja, es kann passieren, aber es darf nicht!

Ich hoffe, dass der Hersteller der SSD bzw. des Controllers daraus lernt und zukünftig mehr darauf achtet!
 
Ledeker schrieb:
Das klingt nach Lebenszeitbegrenzung und erinnert an "Mysteriöser" Fehler bei HP-Druckern war bewusstes Ablaufdatum: https://winfuture.de/news,94063.html
Lebenszeitbegrenzung bei Serverkomonenten? HPE (und jeder andere Serverhersteller) hat ein finanzielles Interesse daran, dass die Kunden zwar Supportverträge abschließen, diese aber möglichst nie zum Einsatz kommen müssen (weil das den maximalen Profit bringt). Glaubst du im Ernst, die bauen etwas ein, damit sie schon nach drei Jahren zu fast allen Kunden ausrücken müssen und den Dienstleistern die Datenträgern tauschen müssen?

Es ist unsinnig, jeden Fehler sinnfrei gleich geplanter Lebenszeitbegrenzung zuzuschreiben.
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: BrollyLSSJ, Freak_On_Silicon, Holt und eine weitere Person
Atkatla schrieb:
Glaubst du im Ernst, die bauen etwas ein, damit sie schon nach drei Jahren zu fast allen Kunden ausrücken müssen und den Dienstleistern die Datenträgern tauschen müssen?

Hatte ich das behauptet? Denkst du ein Autohersteller oder ein Hersteller von Produkt X mag das?
Nur etwas komisch ist der Fall schon. Aber lassen wir es als Bug dem Kunden verkaufen und sagen einfach er soll gefälligst das Update einspielen, sonst... :hammer_alt:
 
Ledeker schrieb:
Hatte ich das behauptet? [...] Aber lassen wir es als Bug dem Kunden verkaufen und sagen einfach er soll gefälligst das Update einspielen, sonst...
Du hast es Lebenszeitbegrenzung genannt. Und wenn Sie es dem Kunden "als Bug verkaufen", impliziert du wieder, dass es mglw. kein Bug war.

Und das nur, weil es dir "komisch vorkommt". Warum eigentlich? Es ist ja nicht der erste Bug, der auf Laufzeit beruht. Es gab doch sogar hier Beispiele im Thread. Dieser Fehler kostet HPE jetzt Geld durch unnötige Service-Einsätze und längerfristig Vertrauen und Umsätze.
 
Mal die Kunden von uns abgeklappert; einer ist betroffen und für dessen SSD steht noch kein FW Update bereit.
Ist jetzt noch nicht so tragisch, da wir noch gut 32000h Zeit haben. ;)
 
Ist uns vor ner Weile mit einer EMC Storage und Micron SSDs auch passiert.

EMC Internal Reference ID – EMC FCO F092316EE
There is a significant risk of data unavailability when the affected SSDs exceed 1,000 days of continuous runtime. .... upgrade the drive firmware to version 0336 as soon as possible which will clear the buffer before it overflows.

Tja, bis wir das Update einspielen konnten/wollten war es dann schon zu spät, kompletter Datenverlust auf dem Produktivsystem, Daten zwar alle im Backup aber 1,5 Arbeitstage verloren bis alle Systeme wieder am Start waren.

Passiert jedem Hersteller irgendwann mal.
 
snaxilian schrieb:
Dafür hat man ja Backups ;)

Backups schön und gut, aber wenn man dann ein rein flashbasiertes SAN hat, bei dem dann alle Platten gleichzeitig den Geist aufgeben hat man trotz Backup erstmal extrem viel Arbeit.

Wohl dem, der noch Replicas auf rotierenden Platten hat :D
Aber Spaß beseite, sowas darf nicht passieren.
 
Mickey Cohen schrieb:
das eigentliche problem ist doch, warum gehn die daten verloren, bloß weil der betriebsstundenzähler mist ausgibt? diese abhängigkeit dürfte schon garnicht existieren.
Es dürfte so viel nicht, würden aber alle immer alles richtig machen, wäre das schlecht für meine berufliche Laufbahn :D. Vorstellen kann ich mir aber, dass es ein Selfcheck der Firmware gibt, evtl. gar auf Manipulation. Bei letzterem wäre das Vorgehen dann auch, Selfcheck schlägt fehl, also wird der Cryptokey verworfen -> Daten weg.
 
Hat sich wohl jemand aus der Generation Z ("Generation Work-Life-Balance") an der SSD-Controller-Programmierung versucht und kurz vor 12 Uhr am Freitag noch einmal schnell auf "Compile" gedrückt. Keine Zeit mehr für weitergehende Überlegungen oder Fehlersuche, denn das Wochende rief...

Gruß,
CTN
 
corvus schrieb:
Backups schön und gut, aber wenn man dann ein rein flashbasiertes SAN hat, bei dem dann alle Platten gleichzeitig den Geist aufgeben hat man trotz Backup erstmal extrem viel Arbeit.
Wer kein kaltes Backup auf abweichende Technologien speichert, bettelt aber auch drum. Ist eigentlich schon so ne Weißheit, dass man HDDs nie nur von einer Marke / Charge ins Rechenzentrum steckt.
Ergänzung ()

CrunchTheNumber schrieb:
Hat sich wohl jemand aus der Generation Z ("Generation Work-Life-Balance") an der SSD-Controller-Programmierung versucht und kurz vor 12 Uhr am Freitag noch einmal schnell auf "Compile" gedrückt.
Alter / Generation hat damit nix zu tun.
 
Piktogramm schrieb:
Wer kein kaltes Backup auf abweichende Technologien speichert, bettelt aber auch drum. Ist eigentlich schon so ne Weißheit, dass man HDDs nie nur von einer Marke / Charge ins Rechenzentrum steckt.
Ergänzung ()


Alter / Generation hat damit nix zu tun.

Ja ich rede nun hier eher vom (kleinen) Mittelständler, der sich halt ein rein flashbasiertes Storage holt. Der bekommt das Ding fertig von HP geliefert und hat keinerlei Handhabe bei der Charge der Platten.
 
Piktogramm schrieb:
Alter / Generation hat damit nix zu tun.
Das war ironisch gemeint. Klar, Fehler passieren, aber so einer sollte seit dem Y2K-Bug jedem versierten Programmierer nun wirklich nicht mehr passieren. Man sollte zu der Zeit aber natürlich schon bewusst auf der Welt gewesen sein...

Ergänzung ()

Gangwars schrieb:
Da wurde nichts experimentiert. Du hast beim entwickelt Datentypen mit Wertgrenzen, ein Flüchtigkeitsfehler der Entwickler, der bei Tests und Qualitätssicherung nicht aufgefallen ist.
Also da wurde dann auf mehreren Ebenen versagt, die voneinander unabhängig sein sollten:
  • Auf Entwicklerebene (kein Code-Review)
  • Auf Testungs-Ebene (unvollständig / falsch konzipierte Tests)
  • Auf allgemeiner Qualitätssicherungsebene (dann hätten das Versagen auf den beiden anderen Ebenen auffallen müssten)
Ich persönlich würde von dem Hersteller nichts mehr kaufen. Bei jeder Consumer-HDD aus dem Elektromarkt hätte ich ein besseres Gefühl...

Gruß,
CTN
 
Zuletzt bearbeitet von einem Moderator:
Mickey Cohen schrieb:
das eigentliche problem ist doch, warum gehn die daten verloren, bloß weil der betriebsstundenzähler mist ausgibt? diese abhängigkeit dürfte schon garnicht existieren.
Die Daten werden wohl noch im NAND stehen, aber der Controller dürfte nicht mehr arbeiten und daher kommt man dann nicht mehr ran.
ImpactBlue schrieb:
vorausgesetzt das Update zerschießt einem nicht die Daten. Aber dafür gibt es wieder Backups. Theoretisch.
Das ein FW Update einer SSD die Daten zerstört ist schon lange nicht mehr verbreitet, ganz früher ist sowas öfter mal vorgekommen, aber das letzte an das ich mich erinnern kann, war eines bei der Samsung 470, also wirklich so aus der Anfangszeit der modernen SSDs.
Chattermark() schrieb:
Einige von uns waren selbst betroffen (Hallo, hier). Das hat mit übler Nachrede nichts zu tun.
Welche konkrete Crucial SSDs ist Dir den ausgefallen oder meinst Du mit betroffen den 5400 Stunden Bug der m4 und mit betroffen, dass man ein FW Update einspielen musste?
Chattermark() schrieb:
Ich denk da an meine erste SSD (Hersteller vergessen), die hatte alle paar Stunden Bluescreens produziert - das Firmware-Update das "bald" kommen sollte gibts bis heute nicht.
Hersteller vergessen aber auf Crucial meckern :evillol:

Beim 5400h Bug war es so ähnlich, aber der BSOD kam bei der nach maximal einer Stunde, nämlich wenn der Betriebsstundenzähler über den kritischen Wert hinauszählen wollte, dann reagierte sie nicht mehr, bis man sie stromlos machte (z.B. durch Neustart des Rechners) und dann hatte man wieder maximal eine Stunden und konnte in der Zeit das FW Update einspielen, dann war der Spuck vorbei.
DocWindows schrieb:
Wüsstest du so spontan einen Test mit dem du genau diesen Fehler beim Testing erkannt hättest?
Beim Testing kann man den nicht finden, aber zu den Grundlagen jeder Softwareentwicklung gehört es sich Gedanken um die Datentypen zu machen die man jeweils verwendet. Wenn jemand eine Variabel nimmt um die Betriebsstunden zu zählen, sollte man sich überlegen wie lange ein 16 Bit Integer reicht und klar sein, dass dies zu kurz ist um die geplante Nutzungsdauer zu überstehen.
DocWindows schrieb:
Wenn der Zähler überläuft dürfte sich die positive Zahl der Betriebsstunden in eine negative Zahl umkehren. Wenn die Firmware das beim Starten und/oder Aktualisieren nicht abfängt, stürzt sie ab und bootet auch nicht mehr. Da man für Betriebsstunden selten negative Werte erwartet, weil Zeitreisen noch nicht funktionieren, fängt man das wahrscheinlich auch nicht ab.
Das ist aber der nächste Fehler, man muss jeden möglichen Fehler abfangen, außerdem frage ich mich, wofür die FW die Betriebsstunden überhaupt nutzt, die müssen doch nur hochgezählt werden, aber scheinbar macht die FW irgendwelche Berechnungen mit den Betriebsstunden.
DocWindows schrieb:
Der höhere Wert schwappt dann möglicherweise quasi in den nächsten Speicherbereich über und überschreibt etwas anderes, möglicherweise wichtiges.
Wieso sollte was anderes überschrieben werden? Es gibt ein Register in der CPU welches gesetzt wird und wenn man dies nicht abfragt, passiert gar nichts, der Wert geht auf 0 und mehr passiert dann nicht.
Nebula123 schrieb:
Bei Intel geht es um die Idle Stunden, dort gibt es nur Probleme, wenn die SSD mehr als 1700h ununterbrochen Idle ist, was allenfalls bei einer Hot-Spare SSD der Fall sein dürfte, wobei meist schon das Auslesen der S.M.A.R.T. Werte, z.B. zur Überwachung der Temperatur, den Idle Zustand unterbricht. Außerdem gibt es das FW Update mit dem Bugfix bei Intel schon lange.
DocWindows schrieb:
Man kann bei der Entwicklung sicherlich alles mögliche bedenken, aber dann wird man a) nie fertig und hat b) hinterher ein unperformantes Produkt, weil tonnenweise Prüfcode auf alles mögliche auf die Leistung drückt, und das vollkommen unnötig weil 99,9% der überprüften Zustände niemals eintreten.
Also so lange dauert es nun auch nicht sich Gedanken um die Datentypen zu machen und wenn man ein 32 Bit Integer nimmt, dann braucht man keinen Prüfcode um deren Überlauf abzufangen.
 
  • Gefällt mir
Reaktionen: bullit1
Auch wenn dies hier natürlich ein sehr sichtbarer und unmittelbar fataler Fehler ist, wundert mich sowas gar nicht.

Die FW für Consumer SSDs und damit auch von Server SSDs die sich kaum davon unterscheiden, ist unabhängig vom Controllerhersteller, oft durchzogen von offensichtlichsten Fehlern. Aber für den normalen Endkunden reicht es in 99,99% der Fälle. Schick solche SSDs mal durch eine Qualifikation für industrial SSDs und diese fallen gnadenlos durch.

Der Preisdruck und möglichst schneller time to market zusammen mit immer empfindlicheren Flash sorgt natürlich für immer mehr Probleme. Man darf die Komplexität von FW aber auch nicht unterschätzen - verschiedenste Flash, verschiedene Flashlayouts, unterschiedliche Anforderungen bezüglich Fehlerbehandlung etc. Wie in den meisten Dingen hat man immer einen Zielkonflikt irgendwo. Daher sollten solche Fehler natürlich nicht vorkommen und das wird sicherlich auch noch Konsequenzen haben für wie man sowas in Zukunft handhabt, aber im Prinzip wird FW für solche Drives nie auch nur annähernd fehlerlos sein.
 
Ihr überseht was. SSDs sind keine Raketentechnik.
Ich behaupte mal das der Teil der FW seit Jahren weiter geschleppt wird und wurde da es einfach keinen Grund gibt da etwas zu "Verbessern". Kein Hersteller schaut sich im Liveview die Zahlen seiner Platten an.
Ich hab hier 25PB an Stoprage rumstehen und ein passendes SAN dazu. Die Platten fallen oft nicht aus, sondern meckern nur mal und werden schon und direkt ausgetauscht. zumindest die Platten/Flash/SSDs werden auch zum FW Update nicht mehr powergecycelt. Das geht alles Online.

Am Ende sehen die verträge nur vor das eine kompatible FW auf den Platten ist. SUN Micro hat sich jahrenlang des Support hoch gehalten. Da wurden 1TB Platten gekauft und auf SUN Micro FW umgeflasht und es waren nur noch 320GB (ound dergleichen). Das ist in den Bereich völlig normal.

Bei Samsung werdet Ihr fündig. Sucht halt selbst. Das ist nicts besonderes.
https://www.ebay.com/itm/816562-B21...-3-SFF-2-5-IN-SC-SSD-817047-001-/173250615093
https://www.memory4less.com/samsung-ssd-mz-ils4800
 
Zurück
Oben