J'ai un disque SSD qui peut être configuré pour signaler la taille de son secteur physique à un système d'exploitation de deux manières différentes:
Option 1: Logique = 512 octets, physique = 512 octets
Option 2: Logique = 512 octets, physique = 4096 octets (4K)
Quel avantage un système d'exploitation gagne-t-il à connaître la taille du secteur physique 4K, en prenant en compte:
Le système d'exploitation doit communiquer avec le lecteur dans les secteurs de 512 octets indépendamment
Tous les systèmes d’exploitation modernes s’alignent sur 4K et utilisent 4K ou des multiples de 4K I/O indépendamment
Le réglage semble inutile, car les systèmes d'exploitation modernes sont déjà optimisés pour les lecteurs du secteur 4K. Les systèmes d’exploitation modernes n’ont pas besoin de "demander" à un lecteur si ses secteurs sont 512b ou 4K, car le système d’exploitation fait tout par défaut de manière conviviale pour 4K.
Par exemple, Windows 7 aligne les partitions sur 1 Mo (un multiple de 4 Ko), la taille de cluster NTFS est de 4 Ko ou plusieurs de celles-ci et toutes les E/S sont effectuées en 4 Ko ou plusieurs de celles-ci. Windows ne se soucie guère de savoir quel disque dur vous avez, il appliquera le comportement ci-dessus dans tous .
Quoi qu'il en soit ... mon SSD a ce paramètre "taille du secteur physique" et il doit donc être là pour une bonne raison ... c'est la raison pour laquelle je cherche.
BTW, pour ce que cela vaut, le lecteur est un SSD Intel DC S351 . Le lecteur datasheet dit ceci (page 27):
En utilisant la commande SCT 0xD801 avec State = 0, Option = 1, le mot ID 106 peut être modifié de 0x6003 à 0x4000 (la taille du secteur physique de 4 Ko à la prise en charge de la taille du secteur physique de 5 Ko est modifiée).
Lorsqu'un système d'exploitation hérité tente d'écrire sur un disque Advanced Format, des problèmes de performances peuvent survenir car les secteurs logiques écrits peuvent ne pas correspondre aux secteurs physiques.
[...] le disque dur doit d'abord lire l'intégralité du secteur 4K contenant l'emplacement ciblé de la demande d'écriture de l'hôte, fusionner les données existantes avec les nouvelles données, puis réécrire l'intégralité du secteur 4K:
Dans ce cas, le disque dur doit effectuer des opérations mécaniques supplémentaires, telles que la lecture d’un secteur 4K, la modification du contenu, puis l’écriture des données. Ce processus s'appelle un cycle lecture-modification-écriture, ce qui n'est pas souhaitable car il a un impact négatif sur les performances du disque dur.
Traditionnellement, la première partition d'un disque dur commence au secteur 63. Windows XP et les systèmes d'exploitation plus anciens partitionnant les disques de cette manière. Les versions plus récentes de Windows créeront des partitions sur une limite de 1 Mo, assurant ainsi un alignement correct sur les secteurs physiques. Cela s'appelle l'alignement 0 .
Etant donné que LBA 63 n’est pas un multiple de 8 (huit secteurs hérités de 512 octets s’insérant dans un secteur 4K), un disque au format avancé formaté de la manière ancienne comportera des clusters (la plus petite unité d’allocation de données de système de fichiers, généralement de 4K ) qui ne sont pas alignés sur les secteurs physiques d’un disque 4K, une condition appelée Alignement 1 . Par conséquent, une opération d'E/S impliquant 4 Ko de données s'étend désormais sur deux secteurs, ce qui aboutit à une opération de lecture-modification-écriture réduisant les performances.
Les centres de données disposent souvent de matrices de stockage composées de disques 512n hérités. Les disques 4K, même ceux qui émulent des secteurs de 512 octets, peuvent ne pas être compatibles avec ces baies. Cette fonctionnalité est donc nécessaire pour assurer la compatibilité. Voir ce sujet du forum :
Nous ne pouvons pas simplement coller un lecteur 4K dans une matrice formatée avec des disques 512b. De nombreux modules RAID (notamment le stockage basé sur ZFS, qui est de plus en plus populaire car le stockage défini par logiciel crée des vagues) n'accepteront pas un disque de remplacement avec un format de secteur physique différent.
Notez que de meilleures performances seront atteintes sur les systèmes modernes si le lecteur est configuré pour utiliser des secteurs 4K.
Quel avantage un système d'exploitation gagne-t-il à prendre conscience de la taille du secteur physique lorsque, indépendamment du temps, le système d'exploitation doit communiquer avec le lecteur dans des secteurs de 512 octets.
La taille logique est une taille minimale pour transférer des données . Puisqu'il s'agit d'un périphérique en mode bloc, tout transfert de données entre l'ordinateur hôte et le lecteur sera un multiple de cette taille de bloc logique.
La taille physique est une taille optimale pour transférer des données et reflète la taille de la lecture réelle et écrivent des opérations au niveau du contrôleur/lecteur.
Lorsque l'ordinateur hôte demande la lecture d'un secteur logique, le contrôleur/lecteur effectue une opération de lecture du secteur physique contenant le secteur logique.
Lorsque la taille du secteur logique est égale à la taille du secteur physique, l'opération est simple. Lorsque la taille du secteur logique est inférieure à la taille du secteur physique, le contrôleur doit extraire le secteur logique du secteur physique pour le transférer sur l'ordinateur hôte.
Lorsque l'ordinateur hôte demande l'écriture d'un secteur logique, la taille du secteur physique est importante.
Lorsque la taille du secteur logique est égale à la taille du secteur physique, l'opération d'écriture est simple et peut se poursuivre directement. L'état du contenu précédent du secteur n'affectera pas l'opération d'écriture.
Lorsque la taille du secteur logique est inférieure à la taille du secteur physique, le contrôleur doit d'abord effectuer une opération de lecture du secteur physique contenant le secteur logique.
Si la lecture réussit, le secteur logique est inséré dans le secteur physique et le secteur physique est entièrement écrit.
Si la lecture échoue (même après plusieurs tentatives), l'opération d'écriture ne peut pas être terminée.
Si le système d'exploitation effectue les opérations de lecture et d'écriture avec la taille du secteur physique (en utilisant les opérations multisectorielles disponibles dans le jeu de commandes ATAPI), les opérations d'écriture seront effectuées de manière plus efficace (et sans risque inutile d'incomplétude).
La taille du secteur LOGICAL définit entièrement la manière dont un système d'exploitation peut communiquer avec un lecteur. Aucune exception. À quoi sert-il de connaître la taille du secteur physique, lorsque vous n'êtes autorisé à communiquer que dans la taille du secteur logique?
Votre affirmation "sans exception" est incorrecte.
Le jeu de commandes ATAPI, introduit avec le disque dur IDE, a toujours été en mesure d’effectuer des opérations de lecture et d’écriture avec un paramètre sector count
. Il s’agit simplement d’une extension des interfaces de contrôleur de disque et de disquette existantes, qui étaient également capables d’opérations de lecture/écriture multi-secteurs (tant que les secteurs étaient sur la même piste).
Si le système d'exploitation connaît la taille du secteur physique sous-jacent, il peut optimiser ses requêtes pour nécessiter le moins d'opérations physiques possible. En particulier avec les disques SSD, la limite de fonctionnement physique (limite IOPS de 4 Ko) est souvent la limite ultime de la vitesse du périphérique. Il est donc important de pouvoir utiliser au mieux cette capacité.
Il existe deux manières différentes d’accéder à un emplacement dans un lecteur: l’un est le schéma CHS et l’autre est le schéma LBA.
CHS signifie Cylinder, Head, Sector (Cylindre, tête, secteur) et représente la méthode la plus simple pour déterminer où lire ou écrire à partir du lecteur. Vous lui dites d’utiliser le cylindre x, la tête y et le secteur z et de lire ou d’écrire le contenu de cet emplacement dans ou à partir d’une adresse de la mémoire (un tampon). Il est dérivé des composants physiques réels d’un disque dur (disque rotatif Rust), dans lequel vous avez des cylindres physiques et des têtes de lecture. Le secteur est la plus petite unité adressable et était traditionnellement fixé à 512 octets.
LBA est un adressage d'octet logique dans lequel le lecteur lit et écrit dans une adresse de secteur par son décalage, par exemple, lit le 123837e secteur sur le disque ou l'écrit dans le 123734e secteur du disque (à partir de zéro).
Le problème? Chacune de ces valeurs a une portée limitée. En fait, à cause de la sévérité limitée du SHC, le LBA a dû être introduit. Pour CHS, les valeurs possibles pour C (le cylindre) sont 1023, tandis que H (têtes) peuvent être au maximum de 255, et S (secteur) ne peut aller que jusqu'à 63, ce qui signifie que vous pouvez avoir au plus 1024 cylindres x 255 têtes x 64 secteurs x 512 octets mappés au format traditionnel du SHC, vous donnant un total général de moins de 8 Go! Avec CHS, il est tout simplement impossible d’accéder à un disque de plus de 8 Go!
Ainsi, LBA a été introduit avec une limite de 32 bits, ce qui vous donne une taille de disque de 2 ^ 32 x 512 octets ou de 2 To. C'est la raison pour laquelle un disque MBR ne peut pas dépasser 2 To car il utilise CHS et LBA pour spécifier la taille des partitions. soutenir tout ce qui dépasse 2TiB.
Des options plus récentes et plus performantes ont été introduites, telles que le schéma de partitionnement GPT qui étend le LBA à 64 bits, ce qui vous donne une quantité de plus que ce dont vous aurez besoin à 2 ^ 64 x 512 octets - mais il y a un piège: de nombreux matériels et systèmes d'exploitation hérités, ainsi que des implémentations de BIOS et des pilotes hérités ne prennent pas en charge UEFI ou GPT, et de nombreuses personnes souhaiteraient disposer de quelque chose pouvant être mis à niveau plus facilement pour dépasser la limite de 2TiB sans avoir à réécrire la pile entière à partir de zéro. Et, enfin, nous atteignons la taille du secteur 4096.
Voir, à travers toutes les limitations discutées ci-dessus, une hypothèse est restée constante: la taille du secteur. Depuis le premier jour, il s’agit de 512 octets et le reste depuis. Mais récemment, les fabricants de disques durs ont compris qu’il était possible de faire quelque chose de magique: prenez le LBA 32 bits et CHS traditionnel et remplacez simplement la taille du secteur par 4096 (4 Ko) au lieu de 512 octets. Lorsqu'un système d'exploitation dit "donnez-moi le 2e secteur du disque" en demandant à LBA 1 (car LBA 0 est le premier), nous n'allons pas lui attribuer les octets 512 à 1023 mais plutôt les octets 4096 à 8191.
Soudainement, notre limite de 2TiB passe à 2 ^ 32 x 4096 octets, soit 16 TiB, sans avoir à abandonner le MBR, à passer en UEFI ou à un TPG, ou quoi que ce soit!
Le seul problème est que, si le système d'exploitation ne sait pas qu'il s'agit d'un disque magique qui utilise 4096 secteurs au lieu de 512 octets, il risque d'y avoir une incompatibilité. Chaque fois que le système d'exploitation dit "hé, vous, disque, écrivez-moi ces 512 octets pour compenser xxx", le disque utilisera 4096 octets pour stocker ces 512 octets (le reste étant des zéros ou des données indésirables, en supposant vous ne vous retrouvez pas avec un manque de mémoire) car ils ne communiquent pas en octets, ils communiquent en secteurs.
Ainsi, les BIOS maintenant incluent (parfois) une option vous permettant de spécifier manuellement qu’une taille de secteur de 512 octets doit être utilisée à la place de la taille de secteur native de 4096 octets utilisée par les disques les plus récents - avec l’avertissement que vous ne pouvez pas l’utiliser pour accéder à plus de 2TiB du disque sur un système MBR, comme au bon vieux temps. Mais les systèmes d’exploitation modernes qui sont conscients de 4k peuvent tirer parti de tout cela pour utiliser cette magie pour lire et écrire en morceaux de 4096 octets et le tour est joué!
(Un avantage supplémentaire est que les choses sont beaucoup plus rapides, car si vous lisez et écrivez 4096 octets à la fois, il y aura moins d'opérations à lire ou à écrire, disons, 4 Go de données.)
Je voulais juste vous informer d'une situation où les secteurs 4K sont un problème pour les systèmes d'exploitation modernes.
Le graveur VSS de Microsoft (cliché instantané) ne fonctionne pas bien avec les secteurs 4K. Afin de sauvegarder un dossier partagé de réplication DFS, notre logiciel de sauvegarde "Backup Exec" doit créer une copie fantôme du dossier DFS répliqué. Le travail échoue si le dossier de réplication DFS se trouve sur un lecteur comportant des secteurs 4K car VSS ne fonctionne pas correctement avec les secteurs 4K.
Jim
512/4096 = système d'exploitation responsable de l'alignement/optimisation,
512/512 = Lecteur responsable de cela
Voir aussi: http://support.Microsoft.com/en-us/kb/2510009