Dispositivi di archiviazione

Completato

Verranno ora esaminati i dispositivi effettivi usati per archiviare i dati e salvarli in modo permanente. Questo video consente un ripasso delle informazioni sui diversi tipi di tecnologie di archiviazione disponibili, con i relativi compromessi in termini di costi e prestazioni.

Gerarchia di memoria

Come riepilogo rapido, nella figura seguente è illustrata la gerarchia di memoria. Lo spazio di archiviazione più veloce (e più costoso) in un computer moderno è rappresentato dai registri su chip, che sono costituiti da circa sedici di registri da 8 byte per core. È possibile accedervi in un singolo ciclo di clock (< 1 nanosecondo). C'è poi la RAM statica (SRAM), usata dalla tecnologia di archiviazione nella memoria cache. È possibile accedervi in un tempo compreso tra 0,5 e 2,5 nanosecondi, ma con costi di circa 10-50 dollari per megabyte. I processori moderni hanno pochi megabyte di questo tipo di memoria nei vari livelli (L1-L3) della cache sul die del processore. Ogni livello è diverso in termini di capacità, tempo di accesso, larghezza di banda e organizzazione.

Memory hierarchy.

Figura 3: Gerarchia di memoria

Da qui, si passa alla memoria principale (DRAM), con un salto significativo in termini di capacità e tempo di accesso. L'attuale tecnologia DRAM consente latenze di accesso di 50-70 nanosecondi ed è costituita da più gigabyte. La DRAM costa circa 10-30 dollari per GB, quindi è possibile disporre di alcuni gigabyte di spazio di archiviazione nei personal computer e fino a un terabyte nei server. Tenere presente che tutti i tipi di memoria descritti fino a questo momento sono volatili. I dati archiviati in queste memorie persistono fino a quando la memoria è accesa. Quando viene spenta, tutte le informazioni vanno perse.

Il successivo ordine di grandezza si osserva nei dischi, che possono richiedere un tempo compreso tra decine di nanosecondi e centinaia di millisecondi per recuperare un determinato elemento, a seconda del tipo di dispositivo di archiviazione usato. Infine, c'è la rete, che può connettere computer che si trovano nello stesso rack o dispositivi sparsi in diversi paesi/aree geografiche. In questo caso le latenze di accesso possono variare in modo significativo, a seconda delle tecnologie usate e della distanza. I dischi sono di tipo non volatile e conservano i dati anche quando vengono spenti.

Tipi di dispositivi di archiviazione

Dischi magnetici

I dischi magnetici sono stati per decenni i sistemi di archiviazione più convenienti e diffusi, ma ora stanno cedendo la loro posizione di predominio alle unità SSD. I dischi magnetici sono costituiti da uno o più piatti magnetici rotanti e da una testina di lettura/scrittura mobile che fluttua sopra i piatti. I dischi magnetici sono estremamente densi e convenienti. Al momento della stesura di questo documento, le unità da 6 terabyte sono disponibili nel fattore di forma desktop da 3,5" a un costo di circa 270 dollari, ovvero circa 4 centesimi per gigabyte. I dischi magnetici sono quindi una delle tecnologie di archiviazione online più convenienti, a differenza delle tecnologie offline o rimovibili, ad esempio nastri e dischi ottici.

I dischi magnetici, tuttavia, sono tra le tecnologie di archiviazione più lente. Le latenze di accesso tipiche sui dischi moderni sono di 5-20 millisecondi. Il motivo principale che influisce sulle prestazioni dei dischi magnetici è la presenza di parti mobili in fase di lettura e scrittura dei dati. Come illustrato nella figura seguente, i dischi magnetici sono organizzati come un insieme di settori, tracce e cilindri. In particolare, una superficie su un'unità disco tipica è divisa in una serie di tracce concentriche. Ogni traccia è divisa in diversi settori di uguale dimensione. I dati archiviati nei settori vengono letti e scritti usando un set di testine di lettura e scrittura, con una testina per ogni superficie. Il set di tracce selezionate dalle testine del disco in un determinato momento è detto cilindro. Per accedere ai dati nei settori, le testine del disco si devono spostare sul cilindro appropriato (il tempo necessario per questa attività è detto tempo di posizionamento) e quindi devono attendere la rotazione del disco fino a quando il settore desiderato non si trova sotto una delle testine (e in questo caso si parla di tempo di rotazione). Il tempo necessario per accedere a un settore (cioè tempo di posizionamento + tempo di rotazione) dipende dalla distanza tra la posizione corrente delle testine del disco e il settore desiderato.

Architecture of a magnetic hard disk drive.

Figura 4: Architettura di un'unità disco rigido magnetico

Di conseguenza, i dischi di archiviazione magnetici sono lenti, in particolare per letture e scritture casuali. Per leggere le informazioni, la testina deve spostarsi continuamente tra diverse aree del disco, quindi il tempo di accesso globale aumenta. Tuttavia, si tratta di una soluzione a basso costo e questa tecnologia di archiviazione è la più usata nei sistemi di archiviazione su larga scala. L'archiviazione magnetica tende a essere il dispositivo di archiviazione principale che si trova alla fine dello spettro, responsabile del salvataggio permanente di grandi quantità di dati a costi contenuti.

Dischi SSD

Nell'ultimo decennio, l'evoluzione della tecnologia flash NAND ha consentito un miglioramento delle prestazioni e una riduzione dei prezzi per l'archiviazione su unità SSD. Le unità SSD (Solid-State Drive), a differenza dei dischi magnetici, non hanno parti mobili e offrono quasi un ordine di grandezza in più di velocità rispetto ai dischi magnetici per le letture e le scritture casuali. Le unità SSD hanno latenze di accesso di un ordine di grandezza migliore rispetto ai dischi magnetici (70-150 nanosecondi per le operazioni sequenziali), ma costano significativamente di più (circa 2-5 dollari per GB).

Architecture of a solid-state hard drive.

Figura 5: Architettura di un disco rigido a stato solido

I dischi SSD, tuttavia, presentano problemi di affidabilità e prestazioni. A causa della natura della tecnologia flash NAND, le scritture nelle unità SSD richiedono un ciclo di cancellazione costoso che cancella un'intera pagina di dati, come illustrato nella figura precedente. Questa operazione richiede tempo e comporta l'usura del supporto flash. Le unità SSD contengono internamente la logica per livellare l'usura del supporto distribuendo le scritture su più pagine e blocchi sul disco. Come illustrato in un modulo precedente, sul mercato sono disponibili diverse tecnologie SSD, in cui il compromesso principale è quello tra costo, prestazioni e vita utile del disco.

Di conseguenza, le unità SSD hanno caratteristiche di prestazioni diverse rispetto ai dischi rotanti. Letture e scritture sequenziali, in cui la CPU accede a blocchi del disco logici in ordine sequenziale, hanno prestazioni analoghe, con la lettura sequenziale un po' più veloce rispetto alla scrittura sequenziale. Tuttavia, quando si accede ai blocchi logici in ordine casuale, la scrittura è di un ordine di grandezza più lenta rispetto alla lettura, soprattutto a causa della natura della logica di cancellazione nelle unità SSD.

DRAM come dispositivo di archiviazione

L'espansione costante delle dimensioni della DRAM, insieme al calo del prezzo per gigabyte, ha portato allo sviluppo dei sistemi di archiviazione in memoria. I sistemi di archiviazione in memoria offrono prestazioni più veloci (di un ordine di grandezza) rispetto ai sistemi di archiviazione tradizionali basati su disco, ma bisogna fare attenzione alla durabilità. I sistemi di archiviazione in memoria sono in genere costituiti da schemi abbastanza complessi che consentono di trasmettere i dati a una risorsa di archiviazione durevole per salvarli in modo permanente a scopo di ripristino e tolleranza di errore. Questi tipi di sistemi verranno esaminati in dettaglio più avanti in questo modulo.

Memorie SCM (Storage Class Memory) e memorie non volatili

Stanno nascendo diverse tecnologie che mirano a colmare il divario di prestazioni tra la DRAM volatile e i dischi SSD/magnetici non volatili. Questi dispositivi, detti memorie SCM (Storage Class Memory), mirano a latenze di accesso con un ordine di grandezza simile a quello della DRAM. Ciò consente lo spostamento rapido dei dati, mantenendo al tempo stesso le proprietà di persistenza dei dischi SSD/magnetici e con densità di archiviazione molto più elevate rispetto alla DRAM. Insieme alle versioni migliorate della memoria flash NAND, tecnologie come memristori, memoria a cambiamento di fase e altre cercano di guadagnare una posizione di supremazia in questo settore. Le memorie di classe SCM/NVM sono attualmente in fase di sviluppo e si prevede che presto diventeranno parte della gerarchia di memoria.