Tipi di dati e modalità di wear leveling

Prima di trattare in dettaglio i metodi di wear leveling, oggetto di questo approfondimento, è bene fare una breve premessa sui tipi di dati memorizzati in una memoria di massa.

Essi possono essere suddivisi in due categorie:

  • Dati statici: informazioni aggiornate raramente per le quali si può affermare che risiederanno in determinate locazioni di memoria per l’intero ciclo vita del dispositivo. A titolo d’esempio, si possono citare la maggior parte dei file del sistema operativo e archivi di file personali come album fotografici o raccolte di file audio e video;
  • Dati dinamici: file soggetti a continui cambiamenti, cancellazioni e riscritture. A tale categoria appartengono per esempio i file temporanei del sistema, cache di programmi frequentemente utilizzati, file personali di lavoro soggetti a frequenti modifiche.

Allo stesso modo andiamo quindi a identificare due principali implementazioni del wear leveling da parte del controller NAND Flash:

  • Wear leveling dinamico: il controller scrive nei blocchi vuoti disponibili contraddistinti dal più basso tasso di cancellazione, ovvero in quei blocchi che sono stati cancellati meno volte rispetto a tutti gli altri;
  • Wear leveling statico: il controller seleziona un blocco di destinazione con il più basso tasso di cancellazione, lo cancella se necessario, scrive i dati ricevuti dal sistema host e si assicura che gli eventuali dati precedentemente presenti nel blocco di destinazione siano spostati in un’altra locazione caratterizzata da un tasso di cancellazione inferiore ad una certa soglia.

Ti consigliamo anche

Link copiato negli appunti