Précédemment sur MacGeneration : si vous avez raté le premier article, il parle de mémoire flash et de produits Apple. Nous avons expliqué le principe de la mémoire flash et fourni différents exemples d'utilisation par Apple. La société a commencé réellement à s'intéresser à ce type de stockage avec l'iPod nano en 2005, puis un SSD a été proposée en option dès le premier MacBook Air en 2008. Apple a ensuite développé des formats physiques propriétaires, sous forme de barrettes, tout en conservant une architecture assez classique, qui permettait la création d'adaptateurs. Dans le même temps, dans les appareils iOS, Apple a choisi une façon spécifique d'intégrer la mémoire pour gagner de la place sur les cartes mères. Dans cette seconde partie, nous allons nous intéresser à un point d'inflexion : le moment où Apple a conçu une architecture maison pour interfacer la mémoire flash.
Le temps des SSD propriétaires
C'est maintenant le moment de revenir sur la mise en place de la mémoire flash. Dans une configuration classique, le cas de tout ce que nous avons évoqué jusqu'ici1, un SSD se compose au moins de deux choses, avec une organisation précise. On trouve de la mémoire flash qui est reliée par un bus dédié (de type Toggle) à un contrôleur. Ce composant va d'un côté prendre en charge la mémoire flash et de l'autre, il va communiquer avec l'hôte. La liaison entre le contrôleur et le système peut être du PATA (dans le premier MacBook Air), du SATA (dans les autres Mac), du PCI-Express, etc. Mais dans tous les cas, on retrouve donc ce chemin précis : le système est connecté au contrôleur par un lien, et le contrôleur est relié à la mémoire flash par un autre lien.
Mais avec l'iPhone 8, Apple part sur une structure différente. Le contrôleur n'est plus une puce externe reliée d'un côté au système sur puce et de l'autre à la mémoire, il est incorporé dans le système sur puce. Et la mémoire n'est plus branchée au contrôleur par un bus pensé pour la mémoire flash, mais directement par un lien PCI-Express. Dans les iPhone 8 à 13, Apple emploie de la mémoire BGA110 (110 broches si vous avez suivi le premier article) qui inclus un lien PCI-Express vers le système sur puce, mais aussi un CPU ARM pour prendre en charge la transmission. À partir de cette époque, on peut noter deux choses : Apple a supprimé un composant de l'équation en l'intégrant et la mémoire flash utilisée est propriétaire. Il ne s'agit plus d'une mémoire flash standard dans un package adapté, mais de puces conçues et fabriquées pour Apple. Elles évolueront dès l'iPhone 14 vers des puces BGA315, avec plus de broches (et plus de débits).
Dans les Mac, l'intégration prend son temps
Dans les Mac, c'est un peu plus lent. En 2015, Apple commence par intégrer son propre contrôleur dans le MacBook. Il emploie le protocole NVMe (et non plus le AHCI), mais est relié à de la mémoire classique, la même que dans les iPhone (de la BGA60). La mémoire en question est soudée sur une bonne partie des Mac, sauf dans quelques MacBook Pro 13 pouces dont le SSD est sur une carte fille qui emploie encore un format propriétaire.