COMPTOIR
  
register

×

un banc de mesure au CDH

Hard du hard • Anatomie du PCB d'un SSD
un banc de mesure au CDH
le PCB dun SSD
PCB SSD : cellules JTAG
PCB SSD : points de tests
PCB SSD : le contrôleur (ici un Sandforce 2281)
Sandforce 2281 I/O
SSD PCB : nettoyage électriques du contrôleur

• Le circuit imprimé

Abordons maintenant un disque SSD sous son aspect électronique pour en détailler ses composants. Étant donné que nous avons réalisé l'analyse qui suit en travaillant sur un modèle de chez OCZ, les observations seront donc parfois ciblées sur ce SSD. Mais pour ce qui nous intéresse là, le modèle ou la marque n'a aucune importance en soit car le mode opératoire est le même pour tous les SSD du marché.

 

un banc de mesure au CDH [cliquer pour agrandir]

Nous avions 2 oscilloscopes en simultané pour monitorer l'activité de ce SSD pendant l'analyse

 

Par contre, en conclusion de cet article, on passera en revue le circuit imprimé de quelques modèles connus afin de commenter les choix techniques voulus par leurs constructeurs.

 

Lorsqu'on observe le circuit imprimé d'un SSD, on peut distinguer 4 régions distinctes, toutes aussi essentielles les unes que les autres, au sein desquelles se trouvent des modules parfois constitués de plusieurs étages. On les identifie selon : CPU, NAND, Alimentation et Connecteurs.

 

le PCB dun SSD [cliquer pour agrandir]

PCB classique d'un SSD classique à base de SF-2281

 

Exclusivement constitué de composants de surface pour des raisons évidentes de densité d'intégration, ce type de circuit imprimé est de classe FR-4, c'est à dire qu'il est fait d'un composite de résine epoxy renforcé de fibre de verre. Il est multi-couche, et on ne doit pas être loin du compte en disant qu'il comporte au moins 2 couches conductrices internes en plus des 2 externes qui sont visibles sur la face avant et sur la face arrière. Un rapide coup d’œil sur le connecteur d'alimentation SATA nous permet d'affirmer que l'une des couches internes est d'ailleurs celle sur laquelle est distribuée la masse, car les broches de masse de ce connecteur rejoignent immédiatement des vias qui descendent vers une couche interne.

 

On remarquera aussi qu'il reste pas mal d'espace vide autour du processeur central et sur la seconde moitié de la face arrière. Le constructeur aurait donc pu miser sur un facteur de forme plus petit du circuit imprimé et augmenter ainsi le niveau d'intégration des composants.

 

Sur ces 2 faces externes recouvertes d'un vernis coloré, les pistes qui relient le contrôleur et les mémoires ne représentent qu'une petite partie du bus de données, le reste est enfoui dans les couches internes. C'est une technique de répartition courante, étant donné la largeur de ce bus par rapport à la petite surface à exploiter. On remarque également qu'il y a des cellules JTAG qui sont là pour nous permettre de monitorer l'activité des circuits intégrés auxquelles elles sont reliées, ou même d'intervenir dans leur système de commande.

 

PCB SSD : cellules JTAG [cliquer pour agrandir]

Stoi le JTAG, bouffon (cliquez pour agrandir)

 

Et on trouve aussi sur cette carte un certain nombre de points de test nous permettant de mesurer les différents signaux qui les traversent afin de procéder à des vérifications de tension localisées ou à effectuer du debuging.

 

PCB SSD : points de tests [cliquer pour agrandir]

Des chiffres et des lettres (cliquez pour ah ! grandir)

 

• Le contrôleur dédié

Présenté dans un boîtier BGA (soudé au circuit à partir d'une matrice de billes de soudure), et positionné de façon centrale sur le circuit pour être relativement équidistant des NAND, ce contrôleur dispose de son quartz électronique qui oscille à une fréquence de base (30.0 Mhz sur ce modèle OCZ), fréquence que le CPU va largement amplifier en interne pour atteindre des vitesses de cycle beaucoup plus importantes (de l'ordre d'au moins x10). Il faut également noter que ce quartz est aussi là pour fixer la fréquence d'horloge des mémoires NAND orchestrées par le contrôleur.

 

PCB SSD : le contrôleur (ici un Sandforce 2281) [cliquer pour agrandir]

Une puce pour les contrôleur toutes (cliquez pour agrandir)

 

Il faut savoir qu'à l'exception des quelques informations qu'ils acceptent de donner sur leurs plaquettes marketing, les fabricants ne communiquent que très rarement sur les détails techniques de leurs ASIC. Ils ne divulguent aucun datasheet ou schéma-bloc qui nous permettraient de faire les mesures pertinentes directement sur le composant pour mieux comprendre la nature du signal traité.

Par exemple, le diagramme ci-dessous extrait de la seule plaquette marketing du contrôleur SandForce SF-2281 de ce modèle OCZ, montre grossièrement les différents blocs de traitement ainsi que leur relation d'entrée/sortie au sein du processeur.

 

Sandforce 2281 I/O [cliquer pour agrandir]

Où est la zone rouge ? (cliquez pour agrandir)

 

Et mis à part le fait qu'il confirme que cette puce intègre bien un cache rapide interne (Buffer) que d'autres processeurs déportent dans une mémoire DRAM externe, nous n'apprenons hélas pas grand chose de pertinent.

Sur la face arrière du circuit imprimé, juste en dessous du contrôleur sont regroupés les condensateurs de découplage en céramique (ou parfois au tantale) dont le rôle est d'évacuer les harmoniques de haute et moyenne fréquence vers la masse afin de nettoyer tous les parasites susceptibles de perturber son bon fonctionnement.

 

SSD PCB : nettoyage électriques du contrôleur [cliquer pour agrandir]

On ne voit pas très bien (quoique, cliquez pour agrandir) mais il y'a plein de micro-conchitas qui nettoient le signal

 

Et pour une efficacité optimale, la distance entre eux et les broches du circuit intégré doit être la plus courte possible, d'où leur présence juste en-dessous du boîtier. Ils n'ont alors que les couches internes de la carte mère à traverser.

Le contrôleur est un microprocesseur dédié, et il est fréquent que les ingénieurs adoptent désormais une architecture multi-coeur basée ARM 32 bits, en y intégrant une circuiterie propriétaire pour les blocs-modules d’interfaçage avec les mémoires, le cache et le SATA. Et comme tout microprocesseur, il exécute un code machine. Pour le grand public, ce code est connu sous l'appellation « Firmware ». Lorsqu'on fait une mise à jour de ce firmware à partir d'un système d'exploitation quelconque (Windows, MacOSX, Linux ou autre), le nouveau code est réinjecté dans l'EEPROM interne du contrôleur à la place de l'ancien. Ensuite, il se place dans un état de réinitialisation logicielle pour recharger et exécuter le nouveau firmware, le tout ne prenant que quelques centaines de millisecondes.

 

Sur son circuit imprimé, ce modèle OCZ ne présente pas de mémoire volatile DRAM en guise de cache car son contrôleur SandForce en dispose déjà en interne. Mais il est assez fréquent qu'un contrôleur se fasse épauler par un composant DDR DRAM dont les temps d'accès se mesurent en nanosecondes. A partir d'algorithmes intelligents, l'usage d'un cache en mémoire dynamique permet au processeur de réorganiser des écritures de données aléatoires de taille variable en blocs séquentiels et de les transférer alors aux NAND sous cette nouvelle forme. On obtient ainsi une écriture faiblement amplifiée et parfaitement optimisée : usage de blocs importants sur de grandes pages et niveau de latence le plus faible possible.



Un poil avant ?

PNY avait aussi du SSD à présenter au CES

Un peu plus tard ...

Firefox 35 est disponible

Les 37 ragots
Les ragots sont actuellement
ouverts à tous, c'est open bar !
par Un ragoteur Gaulois embusqué, le Mercredi 24 Février 2016 à 20h18  
par Je ne ragote pas moi ! embusqué, le Mercredi 27 Mai 2015 à 07h15  
Je tiens à dire que l'article est très fourni techniquement, bien expliqué, et je pense qu'a partir de maintenant on ne regardera pas les SSD du même œil.

Beau travail les garçons pour ce grand dossier.
par Je ne ragote pas moi ! embusqué, le Mercredi 27 Mai 2015 à 07h08  
Il y a un détail dans lequel je n'ai pas vu de remarque, c'est sur la qualité de l'oscillateur du contrôleur. Il a son influence sur les PLL et donne déjà une première indication sur la stabilité de fonctionnement des SSD et la probabilité que du jitter ( gigue en FR ) tape l'incruste dans le fonctionnement du contrôleur, génère des erreurs et rende ses performances un peu variables.

Concernant le marquage des composants et des points tests, il n'est pas obligatoire. Il suffit d'avoir la doc technique pour savoir ou ils se trouvent. Voir les pastilles en cuivre nu, elles ne le sont pas pour rien.

Concernant la redondance de l'alimentation, c'est seulement une option, pas une amélioration. C'est juste un pneu de secours. Ce qui compte c'est la mise en œuvre, la protection et la stabilité de l'alimentation aux variations de la charge. Les condensateur tantales sont gage de fiabilité et de durabilité, quand au chimiques d'Intel, ils sont de grande qualité et durables.
par Un ragoteur process de Franche-Comte, le Samedi 23 Mai 2015 à 20h57  
"Sandisk a conçu là un circuit imprimé simple face avec le soucis de ne poser aucun composant sur la face extérieure pour les protéger d'une éventuelle décharge électrostatique."

Mais non, c'est pas pour ça... Ca évite de passer le PCB deux fois sur la ligne (1 par face) donc c'ets plus rapide et donc moins cher à produire...

Et les points de test c'est pas pour que le quidam aile voir avec son oscilloscope : en fin de ligne électronique, il y a ce qu'on appelle un ICT ou test In-Situ (ou "lits à clous" ) qui se charge en un coup de contrôler les valeurs de tous les composants liés au points tests, au cas ou il y ait eu un pbm dans le process... Ca sert qu'une fois dans la vie du produit.
par MirageFL, le Dimanche 22 Février 2015 à 13h06  
Superbe initiative CDH, un grand merci !!
par MetallixX974, le Vendredi 16 Janvier 2015 à 19h46  
Génial l'article
par GrosDadou du Nord-Pas-de-Calais, le Jeudi 15 Janvier 2015 à 21h53  
Excellent article ! Très instructif, bien rédigé, agréable à lire, de belles photos macros, bref un régal.
J'ai cependant trouvé deux coquilles dans le paragraphe sur le plextor M6E: "...circuits intégrés qu'il emploi. Un minimum de stockage est de filtrage est cependant effectué..."
Mais je le redis: super article !
par cakinou, le Jeudi 15 Janvier 2015 à 21h26  
Cool, de la lecture instructive

Merci à l'équipe du CDH !
par Stéphane M., le Jeudi 15 Janvier 2015 à 12h38  
par Un fossile de Lorraine, le Jeudi 15 Janvier 2015 à 11h53
A noter que la SRAM est quelque part non-volatile, d'ailleurs...
??
Euh, en quoi une SRAM est-elle non volatile ? Elle ne retient pas son état mémoire lorsqu'elle n'est plus alimentée.
par Un fossile de Lorraine, le Jeudi 15 Janvier 2015 à 11h53  
A noter que la SRAM est quelque part non-volatile, d'ailleurs...

La ROM n'existe plus de toute façon, déjà il y a 20 ans elle avait été remplacée quasi intégralement par l'EEPROM qui était très similaire à la flash (accès non "random" mais R/W quand même), elle était juste limitée à une utilisation en tant que ROM par son environnement.
par Stéphane M., le Jeudi 15 Janvier 2015 à 10h10  
par Un ragoteur curieux embusqué, le Jeudi 15 Janvier 2015 à 09h21
Salut les gens :-)
Bon, j'y vais de mon commentaire aussi, en toute sympathie et humilité.
Article que je vais lire en entier d'ici peu, mais déjà une phrase me chagrine :
"Mais pour nous autres puristes, une mémoire non volatile concerne avant tout les mémoires à accès direct, en d'autre terme la RAM" ==> sauf erreur de ma part et du haut de mes petites connaissances, c'est le contraire : la RAM est bien une mémoire à accès direct, mais elle est de type volatile et non pas non-volatile en opposition à la ROM.
Suis-je dans le vrai ou avez-vous un autre point de vue ?
En fait, la RAM (Random Access Memory) désigne plutôt la nature de l'accès à ses tables (en l'occurrence Random), pas l'état de charge électrique de ces électrons. Il y a des RAM volatiles (Static RAM, Dynamic RAM, etc) et d'autres RAM non-volatiles (Magnetic RAM, Phase-change RAM, etc.)
par Un ragoteur curieux embusqué, le Jeudi 15 Janvier 2015 à 09h21  
Salut les gens :-)
Bon, j'y vais de mon commentaire aussi, en toute sympathie et humilité.
Article que je vais lire en entier d'ici peu, mais déjà une phrase me chagrine :
"Mais pour nous autres puristes, une mémoire non volatile concerne avant tout les mémoires à accès direct, en d'autre terme la RAM" ==> sauf erreur de ma part et du haut de mes petites connaissances, c'est le contraire : la RAM est bien une mémoire à accès direct, mais elle est de type volatile et non pas non-volatile en opposition à la ROM.
Suis-je dans le vrai ou avez-vous un autre point de vue ?