Skip to content
Luca Dell'Oca Principal Cloud Architect @Veeam
Virtual To The Core Virtual To The Core

Virtualization blog, the italian way.

  • Media
  • About me
Virtual To The Core
Virtual To The Core

Virtualization blog, the italian way.

I dischi SSD sono molto più di semplici hard disk (e come l’ho scoperto dolorosamente)

Luca Dell'Oca, May 9, 2013December 4, 2016

Quello che segue è il racconto di una disavventura che mi ha fatto sudare freddo per diversi giorni ma che fortunatamente si è conclusa per il meglio, e che mi ha fatto riflettere…

Solitamente, spengo il mio MacBook unicamente quando c’è qualche programma o aggiornamento da installare che richiede espressamente il riavvio. La modalità standby non mi ha mai dato problemi, mi permette di usare il computer dopo due secondi dalla sua estrazione dalla borsa, e capita quindi sovente che l’uptime del mio Mac superi abbonantemente il mese. Settimana scorsa, il solito aggiornamento di flash player richiedeva il riavvio, e così a malincuore ho riavviato il mio MacBook, dopo aver controllato come spesso faccio che l’uptime era di 28 giorni e alcune ore.

Dopo pochi minuti dal riavvio, ho chiuso il computer per mandarlo in standby e sono tornato a casa. Rincasato, ho aperto il notebook e con mia sopresa, il sistema era completamente bloccato. Schermo nero, mouse visibile e muovibile, ma nessuna possibilità di accedere al sistema. Nessun sistema è perfetto mi son detto, men che meno Mac OS X, ho provveduto quindi a resettare il computer, e dopo il riavvio ho riaperto i miei soliti programmi e ricominciato ad usarlo.

Improvvisamente, dopo un pò di tempo, è comparsa lei, la diabolica “spinning beachball of death“!!

Spinning Beachball of Death

Per chi non usa sistemi Mac, quando compare lei, solitamente sono dolori. Applicazioni che non rispondono, code disco che non si svuotano, l’equivalente Mac della clessidra di Windows insomma. Dato che spesso il problema è un’applicazione in crash, ho provato ad aprire l’apposito menu per arrestare, ma con mia sopresa, non riuscivo più a lanciare nessuna applicazione e nemmeno a spostarmi tra quelle già aperte, finder e dock compresi.

Altro hard reset, e da qui è iniziato un vero e proprio calvario, durato tre giorni abbondanti. Non sto a raccontarvi tutte le prove che ho fatto, un mix di controlli hardware a ventole e cpu, verifica dei task alla ricerca di applicazioni o daemon fuori controllo, rimozione di vecchie app non più usate da tempo, e via dicendo. Avevo anche temuto una imminente dipartita del mio disco SSD che tante gioie mi aveva dato, ma un controllo con DriveDX mi dava uno stato generale ottimo.

DriveDX Check

Mentre effettuavo tutti questi test intanto, i blocchi erano sempre più frequenti, costringendomi ogni volta a un riavvio forzato di tutto il sistema. Una voce di questo report mi ha fatto suonare un campanello d’allarme in testa: “buggy/unknown firmware config”. Vuoi vedere che il problema risiedeva nel disco SSD? La cosa mi pareva strana, dato che stavo usando il disco oramai da 19 mesi, ma una rapida ricerca su google per “Crucial M4 firmware bug” mi ha fatto trovare questo articolo, che recitava testuale:

This bug would cause systems that reached a total of 5184 hours on their m4 SSD to become unstable. Once restarted systems would be stable until another hour had passed. The 0309 firmware update released today fixes this problem and allows users to update directly to the latest version regardless if the current firmware revision is 0001, 0002, or 0009.

Il mio firmware era effettivamente lo 009, quindi tra quelli col bug, anche se non mi tornava il conteggio delle ore. Il mio disco aveva un uptime di 5788 ore, di molto superiore alle 5184 indicate dal bug report. Ragionandoci però, poteva effettivamente essere il mio problema: se il valore di uptime veniva aggiornato unicamente al boot, il mio precedente valore di uptime doveva essere ridotto di almeno 28 giorni, tanti quanti il MacBook era rimasto acceso. Il valore da sottrarre era di circa 672 ore, il che portava il precedente valore a 5116…

Scoperto l’arcano: al riavvio il contatore aveva aggiunto in un colpo solo 672 ore, portando il valore al di sopra di 5184. Un paio di test col terminale e il comando “watch uptime” mi hanno poi dato conferma che il sistema si bloccava esattamente dopo 1 ora, come indicato dal bug. Aggiornato il firmware dell’SSD (dopo un doveroso backup!), sono ruscito a passare la soglia dell’ora:

There's life after 1 hour

In questi giorni vissuti a periodi di un’ora, mi sono fatto una discreta cultura sui dischi SSD, e di come siano tutto tranne semplici dischi, ma assomiglino molto più a veri e propri computer in miniatura. Il firmware che possiedono è aggiornabile, presenta bug, e al loro interno eseguono attività schedulate come veri e propri daemon, come Wear Leveling, Garbage Collection e altre ancora. Leggendo le note di rilascio dei vari firmware si vede chiaramente come da una versione all’altra migliorino i servizi, le prestazioni, esattamente come in un sistema operativo. Niente a che vedere con i vecchi dischi meccanici, i cui firmware erano poco più che delle interfacce per permettere ai controller di dialogarci.

Share this:

  • Click to share on X (Opens in new window) X
  • Click to share on Facebook (Opens in new window) Facebook
  • Click to share on LinkedIn (Opens in new window) LinkedIn
  • Click to email a link to a friend (Opens in new window) Email
  • Click to share on Tumblr (Opens in new window) Tumblr
  • Click to share on Pinterest (Opens in new window) Pinterest
  • Click to share on Reddit (Opens in new window) Reddit
  • Click to share on WhatsApp (Opens in new window) WhatsApp
  • Click to share on Pocket (Opens in new window) Pocket
Tecnologia 5184bugcrucialfirmwarem4ssduptime

Post navigation

Previous post
Next post

Search

Sponsors

Latest Posts

  • Migrate WSL (Windows Subsystem for Linux) to a new computer
  • Pass keystrokes to a pfSense virtual machine to install it automatically
  • Automatically deploy pfSense with Terraform and Ansible
  • My Automated Lab project: #6 Create a S3 Bucket with Terraform
  • My Automated Lab project: #5 Deploy a Linux vSphere VM with Terraform and custom disks
©2025 Virtual To The Core | WordPress Theme by SuperbThemes
We use cookies to ensure that we give you the best experience on our website, and to collect anonymous data regarding navigations stats using 3rd party plugins; they all adhere to the EU Privacy Laws. If you continue to use this site we will assume that you are ok with it.OkNoPrivacy Policy