Fully Buffered DIMM
La Fully Buffered DIMM (ou FB-DIMM) est un type de barrette de mémoire qui peut être utilisé pour augmenter la fiabilité, la performance et la densité des systèmes mémoire. Précédemment à cette technologie, les modules DRAM possédaient des lignes de données provenant du contrôleur de mémoire qui étaient directement connectées aux lignes de données. À mesure que la largeur de bus de mémoire et la vitesse d'accès augmentent, la qualité du signal se dégrade à l'interface du bus et du dispositif. Cet inconvénient limite la vitesse et/ou la densité de la mémoire. Les FB-DIMM résolvent ce problème en utilisant une approche différente. Comme avec toutes les spécifications de mémoire vive, la spécification pour la FB-DIMM a été publié par le JEDEC.
Technologie
L'architecture des FB-DIMM introduit un nouvel intermédiaire entre le contrôleur de mémoire et la barrette de mémoire : le Advanced Memory Buffer (AMB). Contrairement aux technologies DRAM précédentes, les FB-DIMM n'utilisent pas une architecture de bus parallèle mais plutôt une interface à accès séquentiel entre le contrôleur de mémoire et le AMB. Ce qui permet d'accroître la bande passante sans augmenter le nombre de broches du contrôleur de mémoire au-delà d'un niveau réalisable. Cette architecture permet au contrôleur de mémoire de ne plus accéder à la barrette de mémoire directement, mais plutôt, l'accès est effectué via l'AMB. L'AMB peut donc compenser la détérioration de la qualité du signal en offrant une mémoire tampon pouvant ainsi renvoyer le signal au besoin.
De plus, l'AMB peut également effectuer une correction d'erreur sans augmenter le temps système du micro-processeur ou du contrôleur de mémoire. Il peut également utiliser la fonctionnalité Bit Lane Failover Correction permettant d'identifier des chemins de données défectueux, ce qui réduit grandement les erreurs d'adresse ou de commande. De plus, puisque les accès en écriture et en lecture sont mis en mémoire tampon, ils peuvent être effectués en parallèle par le contrôleur de mémoire. Ce qui permet des interconnexions simplifiées, une augmentation de la bande passante de la mémoire, et (en théorie), des puces de contrôleur de mémoire interchangeables d'une version de mémoire à une autre (notamment DDR2 et DDR3). L'inconvénient principal de cette approche est que de la latence est ajoutée aux différentes requêtes de mémoire. Cependant, l'approche devrait permettre des performances de la mémoire améliorée dans le futur, ce qui écarterait cette contrainte.