[linux-neuchatel] 4k sectors
Marc SCHAEFER
schaefer at alphanet.ch
Thu Mar 11 10:03:16 CET 2010
On Thu, Mar 11, 2010 at 08:54:48AM +0100, Julien Escario wrote:
> Tiens, question subsidiaire : quelle incidence pour les disques SSD
> (techno flash) donc les temps de latence sont trés faibles et surtout qui
> n'ont pas de problème d'alignement ?
Les SSD sont implémentés en flash. Les flash sont subdivisés en
secteurs qui doivent être effacés en groupe, et les secteurs physiques
n'ont pas forcément de relation avec le modèle logique bloc exporté à l'OS.
Notamment, il y a des secteurs remappés, et le problème du RMW
(read-modify-write) se pose en particulier en cas d'écriture
aléatoire chevauchant des secteurs.
Par contre, il n'y a pas besoin de déplacer des têtes ou d'attendre la
rotation d'un demi-tour en moyenne pour des écritures ou lectures
aléatoires, on y gagne pour l'aléatoire.
Les fabricants de SSD peuvent aussi être tentés d'utiliser des caches
internes pour augmenter la performance, caches qui ne sont pas forcément
sauvegardés (no battery-backed-up RAM), donc en cas de coupure de
courant, on peut imaginer des dégâts également à la structure des
données, sauf si des sémantiques de cachage correct sont implémentées.
Les premiers SSD mouraient vite avec les filesystems traditionnels, en
raison d'écritures trop nombreuses au même endroit. Aujourd'hui, le
remappage et les fs spécifiques évitent ce problème.
> Je vais en profiter pour tester avec des tailles de secteur différentes ...
Et déplacer d'un bloc le début d'une partition avec fdisk.
> Pour information, j'ai déjà un rapport de l'ordre de 3 sur les lectures
> séquentielles et 10 sur les lectures 'volontairement' aléatoires.
Donc oui, pour des applications fortement orientées "seek" avec pas trop
d'écritures, le SSD est idéal. D'ailleurs dans cette situation, une
configuration en RAID1 avec SSD + disque-dur, avec le SSD
prioritairement consulté, pourrait être idéale.
Attention à ne pas faire des tests de performance qui n'aboutissent pas
à l'utilisation de tous les secteurs. Les problèmes de performance SSD
arrivent en général au moment où les "erase" doivent être faits.
Donc 1: écrire tous les blocs du disque SSD
2: faire les tests aléatoires
http://fr.wikipedia.org/wiki/Solid_State_Drive
http://en.wikipedia.org/wiki/Trim
PS: j'ajoute que dans les années 70, les premiers essais avec du SSD
(notamment pour stocker des journaux transactionnels) ont été faits non
pas avec de la flash mais avec de la battery-backed-up-RAM. C'est
malheureusement beaucoup plus cher. Mais c'est le summum de la
performance, tant qu'il y a du courant. Finalement, on appelle ça aussi
le "cache disque" de Linux (cf commande free).
More information about the linux-neuchatel
mailing list