Uno sguardo approfondito alla protezione dalla perdita di alimentazione delle unità SSD

La protezione contro le interruzioni di alimentazione (PLP) nei drive SSD non rappresenta una novità assoluta, ma le applicazioni e le tecniche per la salvaguardia degli SSD durante e dopo un episodio di interruzione di alimentazione si sono notevolmente evolute nei drive SSD di recente concezione. La protezione contro le interruzioni di alimentazione punta sostanzialmente a ottenere due risultati:

  • Trasferire rapidamente e in sicurezza i dati in transito (ovvero i dati che risiedono nei buffer cache DRAM o SRAM del drive) verso la memoria Flash non volatile;
  • Preservare l’integrità della tabella di mappatura del drive SSD, in modo tale che il drive SSD venga nuovamente riconosciuto e resti riutilizzabile dopo il riavvio del sistema.

Nota: la tabella di mappatura del drive SSD, anche nota come FTL (Flash Transition Layer o livello di conversione Flash) ha il compito di annotare logicamente i dati trasferiti fisicamente in un drive SSD.

Durante un normale arresto del sistema, il drive SSD riceve un comando (Standby Immediate Command o comando di arresto immediato) dal driver ATA dell’host, che avverte il drive SSD che il sistema si trova in fase di arresto, in modo che il drive SSD si prepari alla disattivazione dell’alimentazione. Durante un normale arresto del sistema quindi il drive SSD ha tutto il tempo che gli occorre per liberare i buffer della cache e aggiornare le tabelle di mappatura.

Un drive SSD ben progettato utilizza un sistema hardware dotato di condensatori di potenza capaci di accumulare energia integrati nella scheda del drive SSD e/o un'implementazione PLP di tipo firmware, che provvede alla scrittura di importanti informazioni di metadati nella memoria Flash, grazie ai quali sarà possibile ripristinare normalmente il drive SSD al successivo riavvio. Attualmente, Kingston utilizza condensatori ai polimeri di tantalio per le funzionalità PLP.

Le precedenti generazioni di drive SSD non erano così elastiche in caso di improvvisa mancanza di alimentazione come lo sono i modelli più recenti. Accadeva spesso che un drive SSD a cui veniva improvvisamente a mancare l’alimentazione, diventasse poi inutilizzabile al successivo riavvio. Nella maggior parte di questi casi, l’improvvisa assenza di energia rendeva i drive SSD irreparabili con una conseguente perdita dei dati.

Analisi dei due approcci PLP

PLP di tipo hardware – Il PLP hardware ha come obiettivo principale la massima riduzione del rischio di perdita dei dati, continuando a fornire energia ai condensatori di alimentazione integrati nel drive SSD (Power Cap), per il tempo necessario a completare la scrittura nella memoria Flash non volatile di tutti i dati presenti nei buffer della cache del drive SSD, con il conseguente aggiornamento della tabella di mappatura. Un esempio concettuale di un tipico evento PLP basato su hardware su un SSD dovrebbe apparire simile a quanto descritto in sezione sotto.

Il controller SSD rileva un’improvvisa assenza di alimentazione.

  1. I condensatori di alimentazione integrati continuano a fornire energia al drive SSD.
  2. Il controller emette il comando interno di svuotare i buffer della cache.
  3. Il controller aggiorna le tabelle di mappatura per prepararsi al distacco dell’alimentazione.
  4. Il drive si disattiva senza conseguenze negative.

PLP di tipo firmware – La protezione PLP basata su firmware punta a ridurre il rischio di perdita dei dati, sfruttando però la capacità del firmware di rigenerare la tabella di mappatura al riavvio del dispositivo, dopo una precedente interruzione di alimentazione. Uno schema concettuale del funzionamento dell'approccio PLP di tipo firmware dovrebbe avere la forma seguente:

  1. La tabella di mappatura del drive SSD viene salvata nella memoria Flash e viene aggiornata all’interno del modulo DRAM.
  2. Quando vengono scritti nuovi dati nel drive SSD, il firmware aggiorna la tabella di mappatura.
  3. I nuovi dati vengono sempre scritti accompagnati da tag (o byte liberi) tra cui LBA, EEC e altre informazioni di dati strutturali.
  4. Si verifica un’improvvisa assenza di alimentazione.
  5. I byte liberi contenenti le informazioni di dati strutturali integrati alla tabella di mappatura originale permettono al firmware del drive SSD di ricostruire la tabella di mappatura del drive al successivo ciclo di alimentazione.

La protezione PLP di tipo firmware rappresenta un metodo molto efficace per prevenire la perdita dei dati nelle applicazioni di storage di tipo aziendale. Ad esempio, è essenziale che i drive SSD configurati all'interno di array RAID possano essere ripristinati e riportati a uno stato di normale funzionamento subito dopo un evento di assenza improvvisa di alimentazione, così da preservare l'integrità dell'array RAID. Il malfunzionamento di uno o più componenti interni all'array determinerebbe la non disponibilità dell'intero array con un rischio elevato di perdita dei dati.

Un altro scenario di tipo aziendale potrebbe essere quello dei drive SSD che compongono un esteso "pool condiviso" di storage, dove i singoli drive SSD vengono segmentati in più LUN (Logical Unit Number) e condivisi tra numerosi host. L'elevata disponibilità è un'esigenza essenziale in questo esempio e la protezione PLP di tipo firmware è in grado di assicurare un ripristino efficace dei drive SSD a servizio di questi LUN e dei relativi host.

Kingston considera una priorità fondamentale la capacità di recupero da un evento di mancanza improvvisa dell’alimentazione

Kingston® sottopone i propri drive SSD (sia di livello client che server) a intensivi test sui cicli di alimentazione nell’ambito delle procedure standard per il controllo qualità. Oltre ai test di compatibilità, prestazioni e resistenza, per poter ricevere la certificazione di qualità, i drive SSD Kingston devono quindi dimostrare anche di potersi riavviare normalmente dopo numerosi eventi di perdita dell’alimentazione improvvisa. Se un drive SSD dovesse bloccarsi durante una di queste verifiche, il test viene sospeso fino alla completa risoluzione del problema.

Conclusioni

Ciascun ambiente o applicazione rappresenta un unicum ed è quindi essenziale svolgere alcune considerazioni per decidere che tipo di protezione PLP risulti più indicata per il proprio ambiente.

La maggior parte delle applicazioni aziendali moderne vengono protette tramite alimentatori di riserva, sistemi di backup della batteria e generatori di corrente, al fine di preservare l’ininterrotto funzionamento dei data center in caso di assenza dell’alimentazione. I software e le reti superveloci hanno aperto la strada alla crescita del numero di architetture per la replica dei dati, superando l’hardware SPF (Single Point of Failure).

La stabilità dei data center e le prassi associate ai processi di alta disponibilità (HA) dovrebbero costituire fattori cruciali ai fini della determinazione del tipo di protezione PLP per SSD più adatta per le applicazioni di storage.