La technologie ReadyBoost introduite dans Windows Vista permet d’utiliser une clef USB (ou tout autre type de mémoire flash) comme un cache du disque dur afin de réduire de façon significative le temps de chargement des applications. Nous verrons tout d’abord quel type de matériel utiliser et comment mettre en place cette nouvelle technologie afin d’optimiser Windows Vista et Windows 7. Enfin, nous terminerons par divers tests permettant de mesurer le gain réel obtenu grâce à l’utilisation de cette technologie.
Sommaire
La technologie Windows ReadyBoost
Windows ReadyBoost a pour but d’améliorer les performances de Windows Vista et Windows 7 en utilisant l’espace libre d’une clé USB ou d’une carte de mémoire Flash comme un cache de donnée. Cet espace mémoire supplémentaire, géré par Windows SuperFetch, permet ainsi d’accélérer le traitement des applications, et ce même lorsque la RAM de sa machine est entièrement utilisée. ReadyBoost est donc une mémoire cache supplémentaire mais en aucun cas une extension de la RAM de la machine.
Avant d’aller plus loin, parlons un peu de la technologie SuperFetch. Cet algorithme permet d’optimiser le temps d’ouverture et d’accès aux différentes applications en repérant les programmes qui sont le plus souvent utilisés afin de les pré-charger en mémoire. On retrouve un algorithme similaire appelé PreFetching sur Windows XP et 2000. Pour une meilleure efficacité, SuperFetch peut alors utiliser une mémoire rapide et non volatile supplémentaire, c’est ici qu’intervient ReadyBoost.
Coté sécurité, les données inscrites sur la clé USB sont cryptées à l’aide d’un chiffrement AES (Advanced Encryption Standard) afin d’assurer toute confidentialité.
Microsoft affirme pourvoir obtenir un gain atteignant jusqu’à près de 40% avec l’utilisation de cette technologie. Nous verrons dans la suite de ce dossier si ces promesses sont respectées dans la pratique.
Enfin, sachez que le fait de retirer la clé USB en pleine utilisation ne causera pas le plantage du système. Par contre, le fait de réintroduire cette clé USB par la suite provoquera divers ralentissements temporaires du système (à noter que ces ralentissements sont essentiellement visibles sur les configurations modestes). Mais après quelques secondes, tout reviendra en ordre. Ainsi, vous pourrez utiliser à tout moment votre clé USB pour autre chose sans pour autant éteindre ou redémarrer votre PC.
Quel matériel utiliser ?
Mémoire Flash certifiée ReadyBoost
Avant de commencer à utiliser ReadyBoost, il faut savoir qu’il conseillé d’utiliser une unité de stockage au format Secure Digital ou Compact Flash avec un adaptateur au format ExpressCard. Si votre choix se porte sur une clé USB, cette dernière doit être au format USB 2.0 et certifiée Windows ReadyBoost On parle aussi de clé “Compatible ReadyBoost“, de clé labellée “Designed for Windows Vista ReadyBoost” ou encore de clé de type “Windows Vista Accelerator” (chez Corsair par exemple). Mais quelque soit l’appellation, la clé USB doit répondre à des contraintes techniques élevées.
A noter que cette clé peut être externe mais aussi interne. Dans ce dernier cas, vous ne serez pas obligé d’utiliser un port USB externe, certains constructeurs proposant des clés à brancher directement sur un port USB à l’intérieur de votre machine.
Concernant la taille de cette clé, sachez que celle-ci doit être comprise entre 256 Mo et 32 Go. Le taux de transfert doit être de 2,5 Mo/s ou plus pour des lectures aléatoires de 4 Ko et de 1,75 Mo/s ou plus pour des écritures aléatoires de 512 Ko.
Il est conseillé d’utiliser au minimum un ratio 1:1, c’est-à-dire d’utiliser une clé USB de 1Go si vous possédez 1Go de RAM. Et pour obtenir de meilleures performances, un ratio de 2,5:1 est idéal.
Enfin, même si la capacité de la clé USB peut aller jusqu’à 32 Go, ReadyBoost ne permet d’utiliser que 4 Go au maximum pour la mise en cache du disque. Bien que la technologie ReadyBoost utilise le système NTFS, cette limitation permet de tenir compte des restrictions de la FAT32.
Comment utiliser une clé USB non certifiée ?
Nous venons de voir qu’il est nécessaire d’avoir recours à des mémoires flash possédant des exigences techniques assez élevé. Il reste tout de même possible d’utiliser une clé non certifiée avec la manipulation suivante. Néanmoins, les gains de performance seront plus faibles. Pire encore, dans le cas d’utilisation d’une clé ayant des taux de transferts trop lents en lecture et écriture, les performances peuvent fortement baisser. Mieux vaut dans ce cas ne pas utiliser un tel périphérique…
Lorsque vous insérez une clé USB, le service Windows ReadyBoost va automatiquement analyser le nouveau périphérique afin de déterminer si ses caractéristiques techniques sont suffisantes pour utiliser la technologie ReadyBoost. Les résultats de cette analyse sont alors stockés dans la base de registre à la clé HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\Currentversion\EMDMgmt.
Ainsi, dans le cas où l’analyse à déterminé que le périphérique n’était pas assez performant, nous allons “tricher” en modifiant ces résultats. Nous pourrons alors utiliser notre mémoire flash non certifiée “ReadyBoost” 🙂
- Connectez votre clé USB (ou tout autre type de mémoire flash).
- Allez dans Démarrer puis Ordinateur.
- Une fois dans l’explorateur, effectuez un clic droit sur votre nouveau périphérique et choisissez Propriétés.
- Allez dans l’onglet ReadyBoost et sélectionnez Ne pas tester à nouveau ce périphérique.
- Déconnectez votre clé USB et attendez quelques secondes afin de Windows “désinstalle” la clé.
- Ouvrez regedit (Démarrer et tapez regedit dans le champs Rechercher).
- Allez dans KEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\Currentversion\EMDMgmt.
- Dans cette clé, vous devez voir apparaître votre périphérique. Allez dans la clé correspondante.
- Cliquez sur la valeur Device Status et donnez lui la valeur 2.
- Cliquez sur la valeur WriteSpeedKBs et donnez lui la valeur 1000.
- Cliquez sur la valeur ReadSpeedKBs et donnez lui la valeur 1000.
- Refermez regedit et connectez à nouveau votre clé USB.
- Dans l’explorateur, allez à nouveau dans les Propriétés du périphérique et cochez la case Utiliser ce périphérique.
Voilà maintenant votre périphérique prêt à utiliser ReadyBoost sans pour autant avoir été testé.Note : Si votre clé USB n’est pas à la norme USB 2.0, cette astuce ne vous permettra malheureusement pas l’utilisation de votre périphérique avec la technologie ReadyBoost. Ainsi, l’onglet ReadyBoost de votre clé ne proposera pas les options adéquates et vous indiquera le message “Le périphérique est connecté sur une interface non prise en charge” :
Mise en place de ReadyBoost
Il suffit simplement d’insérer la clé USB dans le port de votre ordinateur. Une fois cette dernière détectée par le système, vous pourrez accéder à l’onglet ReadyBoost dans les propriétés de votre clé USB (accessible par un clic du bouton droit).
Lors de la première insertion de la clé, Windows ouvrira automatiquement une fenêtre vous proposant d’accélérer le système avec Windows ReadyBoost :
Cliquez alors sur la seconde option proposée (“Accélérer mon système“) afin de mettre en place ReadyBoost. A noter que si vous fermez cette fenêtre, vous pourrez toujours l’activer par la suite en allant dans l’onglet ReadyBoost des propriétés de votre périphérique (bouton démarrer, Ordinateur puis clic droit sur le périphérique).
La fenêtre suivante apparaît :
Sélectionnez alors l’option Utiliser ce périphérique. Un curseur vous permet d’allouer l’espace de votre choix qui sera attribué à ReadyBoost. Par défaut, Windows vous propose de réserver automatiquement une taille conseillée. Afin d’obtenir les meilleures performances possible, le mieux est d’utiliser la quantité maximum d’espace libre. Ainsi, un plus grand nombre d’applications pourront bénéficier de la mise en cache.
Après avoir cliqué sur le bouton Appliquer, il faudra attendre les premières secondes d’utilisation du système pour que la mise en cache prenne place sur le périphérique sous la forme d’un unique fichier conteneur du nom de ReadyBoost.sfcache.
A partir de maintenant, le pilote de périphérique Ecache.sys interceptera l’ensemble des lectures et écritures des applications du disque dur et les copiera dans le fichier ReadyBoost.sfcache. Afin d’avoir une mise en cache plus importante, ces données seront compressées de l’ordre de 2:1. Ainsi, si vous réservez 2 Go sur votre clé USB, vous aurez en réalité 4 Go de données en cache.
Vous pouvez dorénavant utiliser votre système de façon habituelle, l’utilisation du cache se faisant bien entendu de façon totalement transparente lors des moments d’inactivité de la machine. Du plus, le cache sera effacé à chaque démarrage de la machine puis sera reconstitué en s’adaptant constamment à l’utilisation de la machine faite par l’utilisateur.
Configurations de test ReadyBoost
Afin de mesurer l’impact réel apporté par ReadyBoost, nous avons effectué différents tests sur deux configurations distinctes. Toutefois, il est très délicat d’obtenir des mesures précises car de très nombreux paramètres entrent en compte, SuperFetch adaptant sans cesse la gestion du cache en fonction de l’utilisation de la machine et de sa configuration. Ainsi, la quantité de mémoire vive et les habitudes d’utilisation de l’utilisateur sont autant de paramètres qui influent sur le comportement de ReadyBoost.
Les tests ont été effectués sur les deux configurations suivantes :
| ||
Machine n°2 : ordinateur portable Vaio S4M CPU Intel Pentium-M 730 à 1.6GHz RAM : 512 Mo (DDR II – 400 MHz) Disque dur SATA de 93.16 Go avec un tampon de 8 Mo Indice de performance Windows : 2.2 |
Les tests ont été effectués avec Windows Vista Edition Intégrale fraîchement installé et disques défragmentés. Les applications utilisées étaient identiques sur les deux configurations.
Enfin, la clé USB utilisée est une Corsair Voyager GT USB 2.0 de 4Go avec des taux de transferts de 28 Mo/s en écriture et 34 Mo/s en lecture. Pour nos tests, nous avons alloué la totalité de l’espace proposé par la clé.
Cette clé USB est bien entendu compatible ReadyBoost.
Temps de redémarrage
Affin de mesurer le temps de redémarrage, nous avons utilisé le script Restart-Time.vbs de sebdraluorgprésenté dans l’astuce “Calculer le temps de redémarrage“. Les résultats présentés ici correspondent à une moyenne effectuée sur trois redémarrages après une utilisation identique de la machine de quelques minutes.
Sans ReadyBoost | Avec ReadyBoost | |
62 secondes | 60 secondes | |
65 secondes | 70 secondes |
Sur nos deux configurations, on constate que les gains de temps lors du redémarrage sont quasiment nuls. Pire encore, les temps de redémarrage se trouvent allongés dans le cas de notre machine de test N°2, ce qui est la conséquence des accès en lecture et écriture sur la clé USB lors des fermetures de sessions. De plus, comme nous l’avions déjà évoqué en début de dossier, le fichier ReadyBoost.sfcache est effacé puis récréé à chaque démarrage, ce qui ne risque pas d’accélérer le temps de boot… Bref, comme l’on pouvait s’en douter, le gain de ReadyBoost n’est clairement pas présent lors du démarrage de la machine, les performances devant avant tout se faire ressentir lors du lancement des applications et non lors du démarrage du système…
Gains lors du lancement d’applications
Théoriquement, c’est lors du lancement d’applications que ReadyBoost devrait révéler tout son intérêt. Nous avons donc réalisé différents tests avec les logiciels suivants :
- Windows Media Center
- Lecteur Windows Media
- Microsoft Word
- Adobe Reader 8.1
- Galerie de photos Windows
Pour chacun de ces programmes, nous avons chronométré leur lancement trois fois de suite avec et sans ReadyBoost. L’ensemble de ces tests a été effectué sur nos deux configurations de tests afin de déterminer l’influence de ReadyBoost en fonction de la puissance de la machine.
Tests de lancements d’applications
Avant de regarder plus en détail les différents temps de lancement des applications, il convient de préciser plusieurs choses concernant les tests effectués. Tout d’abord, ReadyBoost effectue le plus souvent une mise en cache optimale seulement après plusieurs lancements successifs des applications. Ainsi, nous avons mesuré les temps pour trois lancements consécutifs. Pour quasiment toutes les mesures, c’est lors du troisième lancement que les gains constatés sont les meilleurs. Nous avons donc retenu ici les 3ème résultats pour chacune des mesures. Nous verrons également plus bas la moyenne des mesures effectuées lors des trois lancements de toutes les applications au travers d’un graphique comparatif.
Concernant les tests sans utilisation de ReadyBoost, on constate également les meilleurs gains lors des troisièmes exécutions des programmes. En effet, SuperFetch est actif même sans être épaulé par ReadyBoost. Par contre, les gains mesurés dans ce cas de figure sont plus faibles qu’avec ReadyBoost.
Enfin, de très nombreuses applications ont été testées lors d’utilisations courantes de Windows. Les gains constatés pouvaient parfois sensiblement varier d’un logiciel à l’autre. Nous avons retenu ici cinq applications représentatives des différents tests effectués.
Windows Media Center
Lecteur Windows Media
Microsoft Word
Adobe Reader 8.1
Galerie de photos Windows
Comparatif global
Afin de pouvoir rapidement comparer les gains de performances entre nos deux configurations de tests, nous avons effectué une moyenne des temps des lancements des applications sur trois démarrages consécutifs.
Conclusion sur ReadyBoost
Si la technologie Windows ReadyBoost est très facile d’utilisation (insertion de la clé et deux clics de souris à effectuer), nous avons néanmoins constaté que la mesure des performances apportées est assez délicate de part de nombreux paramètres qui entrent en compte. Néanmoins, nous pouvons tirer différentes conclusions quant à son apport en terme de performance.
Tout d’abord, si son utilisation n’améliore par la vitesse de démarrage de la machine en elle même, ReadyBoost apporte un plus réel en terme de rapidité dans les applications. Malheureusement, ce gain est très variable en fonction de la configuration utilisée.
Sur notre machine de test N°1 avec un indice de performance Windows de 5.1, les gains constatés sont souvent assez minimes. Cela s’explique par l’utilisation d’une configuration plutôt musclée comportant 2 Go de RAM et des accès disques rapides. Dans ce cas, l’utilisation d’une clé USB ReadyBoost n’est pas franchement nécessaire même si les gains sont bel et bien présents.
Concernant la machine de test N°2 avec un indice de performance Windows de 2.2, l’intérêt de ReadyBoost devient tout de suite plus évident ! Les gains constatés sont beaucoup plus sensibles sur notre ordinateur portable aux performances techniques plutôt modestes.
Pour conclure, on peut dire que ReadyBoost apporte réellement un plus au niveau des performances d’utilisation de Windows Vista mais il faut tempérer ce gain. Il est indéniable sur des machines n’ayant pas des disques durs véloces, ReadyBoost prend alors tout son sens grâce aux accès beaucoup plus rapides de la mémoire flash en limitant ainsi les accès au disque dur. Enfin, on notera un avantage non négligeable concernant l’autonomie des ordinateurs portables qui se voit allongée en sollicitant plus les accès à la clé USB (moins gourmand en énergie) qu’aux disques durs.
Enfin, il est important de préciser que si ReadyBoost apporte un avantage incontestable lors de l’utilisation répétée d’applications sur les plus petites configurations, son apport n’a rien à voir avec une extension de la mémoire. Un ajout de RAM dans une machine sera plus bénéfique que l’ajout d’une clé USB. Par contre, le choix d’une clé USB sera moins onéreux et cette solution vous permettra bien évidemment de profiter des avantages d’un support de stockage amovible à tout moment.
Dernière mise à jour le 2 décembre 2018