1. Perché una cache?

 

Le cache sono tradizionalmente utilizzate nei circuiti elettronici che necessitano di memorizzare i dati in uso in una memoria ad alta velocità, in modo da evitare stalli nell’esecuzione derivanti dall'attesa dei dati dalla memoria principale o secondaria.

I moderni processori integrano quantitativi di cache variabili, dai pochi KB della cache di primo livello, a decine di MB per le cache di terzo livello.

I moderni Hard Disk utilizzano una quantità di cache disponibile che varia dagli 8 ai 64MB, principalmente ottenuta utilizzando SDRAM o DDR, e sono quindi incapaci di mantenere le informazioni in memoria dopo lo spegnimento della macchina.

L’utilizzo di una cache nei sistemi di memorizzazione secondaria (es. Hard Disk) porta a notevoli benefici in tutti quegli ambiti dove è possibile prevedere quali saranno i dati a cui il sistema dovrà accedere, oppure per riordinare le varie operazioni prima di inviarle alla meccanica del disco soggetta a “lunghi” tempi di allineamento con le tracce sulla superficie dello stesso e con velocità variabili in base a dove avviene la lettura dei dati.

In tutti i recenti sistemi operativi Microsoft alcuni componenti software si occupano di monitorare costantemente quali informazioni e programmi sono utilizzati più di frequente, tracciando un profilo delle abitudini dell’utente e precaricando nella memoria RAM questi dati durante i momenti di inattività della macchina.

Questo comportamento del sistema operativo porta ovviamente ad utilizzare un quantitativo di RAM superiore a quello realmente necessario per il funzionamento del sistema.

Tuttavia, a cosa serve acquistare grandi quantitativi di RAM se poi non la si andasse a sfruttare nell’utilizzo reale di tutti i giorni ?

Le tecniche di precaching del sistema operativo impattano positivamente sulle prestazioni e questo comportamento è già avvertibile dopo alcuni avvii della macchina, come ad esempio l’apertura di programmi abituali come quelli di videoscrittura oppure il broswer web.


OCZ Synapse Cache SSD 64GB 1. Perché una cache? 1  Utilizzo combinato di un HDD e di un SSD come unità di cache.

 

Il problema principale degli Hard Disk tradizionali non è tanto la velocità di trasferimento dei dati, che nei modelli più recenti può superare i 140MB/sec, quando il tempo necessario per iniziare a recuperare i dati dal disco.

Questo parametro di funzionamento, comunemente definito latenza, è misurato in ms (millisecondi) ed è influenzato dalla meccanica del disco e dal tipo di operazione che si sta svolgendo.

Al contrario, le memorie allo stato solido sono ad accesso diretto; questo significa che è possibile ricercare il dato voluto, accedendo direttamente alla sua locazione fisica, senza la necessità di spostare alcun componente fisico (es. testina dell’Hard Disk).

E' del tutto evidente che, grazie a questa caratteristica, le memorie allo stato solido, siano esse NAND o RAM, sono decisamente più reattive rispetto ai dischi tradizionali.

Gli algoritmi di caching utilizzati per sfruttare le memorie allo stato solito sono studiati per analizzare l’utilizzo del sistema da parte dell’utente, copiando i dati più utilizzati nella memoria più veloce e andando a scrivere su quest’ultima invece che sull’unità più lenta.

Per essere efficiente, questo processo deve essere completamente trasparente all’utente, che deve beneficiare di un boost prestazionale senza doversi preoccupare della posizione effettiva dei suoi dati, cosa che invece avviene quando si utilizza un SSD come disco di sistema e un HD per i dati.

La dimensione della cache deve essere attentamente studiata per non incorrere nella saturazione della stessa, vanificandone tutti i vantaggi.

Per un utente medio è consigliabile utilizzare una cache tra i 16 e 32GB, per gli utenti avanzati che utilizzano molti strumenti multimediali o videogiochi, capacità superiori possono offrire un boost prestazionale maggiore.