Un po di teoria...
per capire correttamente il funzionamento del buffer dell'hard disk occorre conoscere il cosiddetto principio di località (detto anche di prossimità... ognuno lo chiama un po come vuole) che suona più o meno così:
1)
è molto probabile che se accediamo ad un dato in una certa locazione di memoria -in questo caso dell'hard disk- ci serviranno anche i dati nelle locazioni di memoria adiacenti (principio di località spaziale).
2)
è molto probabile che se adesso utilizziamo un dato, entro un tempo breve quel dato ci riservirà (principio di località temporale).
Quindi supponiamo che ci serve un dato residente sull'hard disk. Per il principio di località temporale lo mettiamo in una memoria veloce (cache o buffer) perchè è probabile che tra breve ci riservirà.
Ma per il principio di località spaziale, visto che probabilmente ci serviranno anche i dati adiacenti, oltre a portare in cache il dato che ci serve, portiamo anche i suoi vicini.
Tale tecnica si indica come "paginazione" (paging)
Una grande dimensione della cache/buffer ci permette di estrarre dall'hd sia i dati vicini che quelli un po più in la che quelli lontanucci.
Ma questo non serve perchè i dati lontani ci serviranno con una probabilità molto bassa (chi conosce la distribuzione statistica gaussiana sa di che parlo ;)).
Per tale motivo un buffer superiore ai due mega, di fatto, non produce incrementi prestazionali.
P.S. La tecnica paginazione viene utilizzata in modo identico tra ram e cache di processore
P.S.2 Un hd frammentato uccide i benefici della paginazione ;)