SSD avec interface PCI Express : revue et test de cinq modèles. Contrôleurs PCI : caractéristiques, types, types Quels sont les différents formats PCI Express

L'USB est l'interface moderne la plus populaire pour connecter des périphériques externes. Concrètement, la norme USB 2.0 offre des vitesses de transfert de données allant jusqu'à 480 Mbit/s. Il est considéré comme obsolète compte tenu de l'émergence de versions plus rapides et plus avancées - 3.0 et 3.1. Cependant, les capacités de l'USB 2.0 sont tout à fait suffisantes pour les périphériques qui ne nécessitent pas de vitesses de transfert de données élevées ni d'alimentation puissante - claviers, souris, caméras Web, clés USB, etc. et cette interface est peu coûteuse. Les connecteurs de ce type continuent donc d’être largement utilisés dans la technologie informatique et il est peu probable que la situation change dans un avenir proche.

USB 3.2 génération 1

L'USB est l'interface moderne la plus populaire pour connecter des périphériques externes. L'USB 3.2 gen1 (anciennement appelé USB 3.1 gen1 et USB 3.0) est la prochaine génération de cette interface après la 2.0. Dans cette version, le taux de transfert de données a été augmenté à 4,8 Gbit/s et la puissance pouvant être fournie au connecteur a également augmenté.

USB 3.2 génération 2

L'USB est l'interface moderne la plus populaire pour connecter des périphériques externes. La version 3.2 gen2 (anciennement connue sous le nom d'USB 3.1 gen2 et USB 3.1) offre des vitesses de transfert de données allant jusqu'à 10 Gbit/s.

USB C 3.2 génération 1

ESATA est une interface spécialisée pour connecter des disques externes. Il offre des vitesses de transfert de données de 2,4 Gbit/s (5 fois plus rapides que la norme USB 2.0). De plus, la connexion via eSATA est pratique car le disque n'occupe pas de port USB, ce qui peut être utile pour d'autres périphériques. En revanche, relativement peu de périphériques dotés d'un tel connecteur sont produits.

Port COM

Le terme « port COM » désigne généralement l'interface RS-232. Il s'agit d'un connecteur de service, aujourd'hui principalement utilisé pour connecter divers équipements spécialisés - machines CNC, alimentations sans interruption, automates programmables, certains modèles de routeurs, etc. De plus, cette interface peut être utilisée pour une connexion directe entre deux ordinateurs, et également pour gérer les paramètres des téléviseurs, projecteurs, récepteurs audio et autres équipements audio et vidéo. Un port COM est rarement installé sur les ordinateurs modernes lors de leur construction initiale, l'utilisation de cette interface nécessite donc généralement l'installation d'un contrôleur PCI.

Port LPT

LPT est une interface obsolète permettant de connecter des périphériques à un ordinateur. Il était principalement utilisé pour les imprimantes, les scanners et les disques externes, mais techniquement, il peut également être utilisé avec d'autres appareils - des modems et joysticks aux équipements hautement spécialisés et à une connexion directe entre deux ordinateurs. De nouveaux périphériques pour LPT ne sont pratiquement pas produits, mais il existe de nombreux anciens appareils fonctionnels ; C'est pourquoi des contrôleurs PCI dotés de ports similaires continuent d'être produits.

Notez que LPT est de taille assez grande, il est donc problématique de fournir plus de deux connecteurs de ce type dans un contrôleur PCI. Cependant, dans la pratique, un seul port suffit le plus souvent.

SAS (SFF-8088)

SFF-8088 est l'un des types de connecteurs utilisés pour connecter des disques externes via l'interface SAS. Cette connexion offre des taux de transfert de données allant jusqu'à 12 Gbit/s, ce qui est particulièrement pratique lorsque vous travaillez avec de grandes quantités de données. Dans le même temps, relativement peu de périphériques dotés d'un tel connecteur sont produits, les connecteurs de ce type sont donc assez rares.

USB2.0

Le nombre de ports USB 2.0 internes fournis dans le contrôleur.

Pour plus d'informations sur l'interface elle-même, voir « USB 2.0 » ci-dessus. Et les ports internes sont situés directement sur la carte contrôleur et sont dirigés, conformément à leur nom, à l'intérieur du boîtier. Ils conviennent bien aux périphériques qui doivent rester connectés en permanence au système et qui peuvent être cachés dans un boîtier ; Des exemples de tels appareils incluent les adaptateurs Wi-Fi et Bluetooth. L'avantage de se connecter à un USB interne est que l'appareil ne dépasse pas du boîtier et n'occupe pas de ports externes qui pourraient être utiles pour d'autres périphériques.

USB 3.2 génération 1

Le nombre de ports USB 3.2 gen1 internes (anciennement appelés USB 3.1 gen1 et USB 3.0) fournis dans le contrôleur.

Pour plus d'informations sur l'interface elle-même, voir « USB 3.2 gen1 » ci-dessus. Et les ports internes sont situés directement sur la carte contrôleur et sont dirigés, conformément à leur nom, à l'intérieur du boîtier. Ils conviennent bien aux périphériques qui doivent rester connectés en permanence au système et qui peuvent être cachés dans un boîtier ; Des exemples de tels appareils incluent les adaptateurs Wi-Fi et Bluetooth. L'avantage de se connecter à un USB interne est que l'appareil ne dépasse pas du boîtier et n'occupe pas de ports externes qui pourraient être utiles pour d'autres périphériques.

USB 3.2 génération 2

Le nombre de ports USB 3.2 gen2 internes (anciennement appelés USB 3.1 gen2 et USB 3.1) fournis dans le contrôleur.

Pour plus d'informations sur l'interface elle-même, voir « USB 3.2 gen2 » ci-dessus. Et les ports internes sont situés directement sur la carte contrôleur et sont dirigés, conformément à leur nom, à l'intérieur du boîtier. Ils conviennent bien aux périphériques qui doivent rester connectés en permanence au système et qui peuvent être cachés dans un boîtier ; Des exemples de tels appareils incluent les adaptateurs Wi-Fi et Bluetooth. L'avantage de se connecter à un USB interne est que l'appareil ne dépasse pas du boîtier et n'occupe pas de ports externes qui pourraient être utiles pour d'autres périphériques.

SATA

Lors de l'estimation du nombre de connecteurs, il convient de considérer qu'un connecteur peut être connecté à deux ports USB.

Taille du cache

La quantité de mémoire cache fournie dans le contrôleur.

La mémoire cache est utilisée dans les contrôleurs RAID (voir « Type »). Il permet de stocker les données les plus souvent utilisées lors du fonctionnement de l'appareil : le cache permet d'accéder à haut débit à ces données, améliorant ainsi les performances globales du contrôleur. Plus le cache est grand, plus il peut stocker de données et plus l'appareil peut fonctionner rapidement ; d’un autre côté, de grandes quantités de mémoire ont un impact correspondant sur le coût.

Nourriture supplémentaire

Type de connecteur permettant de connecter une alimentation supplémentaire pour laquelle le contrôleur est conçu.

- Molex. Un connecteur d'alimentation caractéristique à quatre broches, de taille assez grande. Assez polyvalent, utilisé pour alimenter une grande variété de composants système

- SATA. Connecteur d'alimentation, débloqué simultanément avec l'interface de données correspondante (voir ci-dessus) spécifiquement pour les disques durs ; cependant, il peut également être utilisé pour d’autres composants. Possède une fiche à 15 broches.

- Molex/SATA. Possibilité de connexion à un contrôleur de puissance en utilisant l'un des connecteurs décrits ci-dessus. Cette conception est aussi universelle que possible ; elle minimise la probabilité que l'alimentation ne dispose pas d'un connecteur approprié. D’un autre côté, cette polyvalence affecte la taille et le prix de l’appareil.

Emplacements occupés

Nombre d'emplacements standard sur le panneau arrière occupés par le contrôleur. Ces informations sont nécessaires pour évaluer s'il y a suffisamment d'espace dans le boîtier pour installer la carte. Généralement, les contrôleurs occupent , ou des emplacements.

Profile bas

Cette fonctionnalité signifie que la carte contrôleur est de petite hauteur ; et la hauteur dans ce cas correspond à la mesure dans laquelle la carte dépasse au-dessus de la « carte mère » dans laquelle elle est installée.

Les composants à profil bas sont conçus principalement pour être utilisés dans des boîtiers compacts où il n'y a pas de place pour des cartes pleine taille. Cependant, rien ne vous empêche d'installer une telle carte dans un boîtier plus grand.

Longueur de la planche

La longueur totale du contrôleur va de la bande montée sur la paroi arrière du boîtier du PC jusqu'à l'extrémité opposée de la carte. Ces informations vous permettent d'évaluer s'il y a suffisamment d'espace dans le boîtier pour installer ce composant.

Les ordinateurs disposent depuis longtemps d'un bus PCI Express v3.0 x16 ; Les tests des adaptateurs vidéo modernes montrent des vitesses d'environ 12 Go/s sur ce bus. Je voudrais créer un module sur FPGA qui a la même vitesse. Cependant, les FPGA disponibles disposent d'un contrôleur HARDWARE uniquement pour PCIe v3.0 x8 ; Des implémentations SOFT IP Core existent, mais elles sont très coûteuses. Mais il existe une issue.

Le FPGA Virtex 7 VX330T dispose de deux contrôleurs PCI Express v3.0 x8 ; La solution évidente consiste à placer un commutateur doté d'un connecteur x16 sur le côté et de deux bus x8 connectés au FPGA. Cela donne une structure comme celle-ci :


Le module HTG-728 de HighTechGlobal a été construit selon ce schéma.

La société Alpha-Data emprunte une voie différente. Le module ADM-PCIE-KU3-X16 ne possède pas de commutateur. Mais le connecteur x16 produit deux bus x8. Le FPGA peut implémenter deux contrôleurs indépendants. Pour ce faire, le FPGA contient deux signaux de réinitialisation et deux fréquences de référence. Mais ce module ne fonctionnera que sur les cartes mères spéciales, où deux connecteurs x8 sont également sortis vers le connecteur x16. Je n'ai pas vu de telles cartes mères, mais apparemment elles existent.

Notre société a décidé de mettre en œuvre le module FMC122P avec un commutateur interne. La tâche principale était de vérifier la vitesse d'échange maximale. Une autre tâche tout aussi importante consiste à assurer la compatibilité avec les logiciels existants et les composants FPGA.

Le contrôleur PCI Express pour Virtex 7 est radicalement différent des contrôleurs pour Virtex 6, Kintex 7. Il est devenu plus pratique, mais c'est différent. La figure montre le schéma fonctionnel du contrôleur :

Le contrôleur comporte deux parties, Completer et Requester, chacune disposant de deux bus AXI_Stream. Les requêtes du bus PCI Express transitent par le nœud Completer. Ces requêtes sont envoyées au bus m_axis_cq. Le bus s_axis_cc doit recevoir une réponse du composant User. Il s'agit généralement d'un nœud d'accès aux registres internes du FPGA.

Via le nœud Requester sur le bus s_axis_rq, le contrôleur DMA envoie des requêtes au bus PCI Express. Les réponses arrivent via le bus m_axis_rc.

Simulation d'autobus

IP Core comprend un exemple de projet qui peut vous aider à comprendre son fonctionnement. Le projet est écrit en Verilog et, malheureusement, il peut aussi servir d'exemple sur la façon de ne pas développer. Regardons l'exemple de schéma fonctionnel.

Ce diagramme est tiré de la description d'IP Core. À première vue, tout va bien - c'est une image magnifique, vous pouvez la montrer aux managers, aux chefs de projet et aux clients. Les problèmes commencent dès la mise en œuvre. Il existe de nombreux endroits dans ce système où les fonctionnalités de Verilog sont utilisées pour accéder aux objets à l'aide d'un chemin absolu. À mon avis, le seul endroit où cela est justifié dans ce système est le contournement des nœuds GTP pour la modélisation au niveau PIPE. Mais il n'est absolument pas nécessaire d'établir une connexion entre userapp_tx et userapp_rx en utilisant des chemins absolus.

Dans le projet, cela ressemble à ceci :

Le composant pci_exp_usrapp_tx a une fonction TSK_SYSTEM_INITIALIZATION qui appelle la fonction depuis pci_exp_userapp_cfg via un chemin absolu :

board.RP.cfg_usrapp.TSK_WRITE_CFG_DW(ci-après j'appelle une fonction ce qui est décrit dans Verilog via une tâche). Nous regardons le composant pci_exp_userapp_cfg, ce que nous voyons : cfg_ds_bus_number<= board.RP.tx_usrapp.RP_BUS_DEV_FNS;

Regardons le composant pci_exp_userapp_rc, la même chose s'y trouve : board.RP.com_usrapp.TSK_PARSE_FRAME(`RX_LOG);

Ce n’est pas seulement stylistiquement incorrect. Cela vous empêche d'appliquer le modèle dans votre projet. Premièrement, il n'est pas du tout nécessaire que dans votre propre projet, le fichier de niveau supérieur s'appelle board et que la même hiérarchie y reste. Deuxièmement, il peut y avoir deux éléments. Les deux cas nous sont arrivés. J'ai dû travailler avec Verilog, même si je ne l'aime pas du tout. Il s'avère qu'avec un petit réarrangement, l'ensemble du composant root_port peut être amené à une forme complètement hiérarchique. Les fichiers de composants résultants étaient :

  • xilinx_pcie_3_0_7vx_rp_m2.v
  • pci_exp_usrapp_tx_m2.v
  • pci_exp_usrapp_cfg_m2.v
Et des fichiers avec des fonctions :
  • task_bar.vh
  • tâche_rd.vh
  • tâche_s1.vh
  • tâche_test.vh
Cela nous a permis d'inclure deux composants root_port dans le modèle. Dans le composant VHDL, l'activation de deux root_ports ressemble à ceci :

port_racine

gen_rp0 : if(is_rp0=1) générer rp0 : xilinx_pcie_3_0_7vx_rp_m2 carte générique (INST_NUM => 0) carte de port (sys_clk_p => sys_clk_p, sys_clk_n => sys_clk_n, sys_rst_n => sys_rst_n, -- Envoi de commandes cmd_r w => cmd_ rw, -- Signe lecture-écriture : 0 - lecture, 1 - écriture cmd_req => cmd_req, -- 1 - Demande d'opération cmd_ack => cmd_ack, -- 1 - confirmation de l'opération cmd_adr => cmd_adr, -- adresse de la commande de lecture-écriture cmd_data_i => cmd_data_i , -- données à écrire cmd_data_o => cmd_data_o, -- lire les données cmd_init_done => cmd_init_done_0 -- 1 - initialisation terminée); fin générer; gen_rp1 : if(is_rp1=1) générer rp1 : xilinx_pcie_3_0_7vx_rp_m2 carte générique (INST_NUM => 1) carte de port (sys_clk_p => sys_clk_p, sys_clk_n => sys_clk_n, sys_rst_n => sys_rst_n, cmd_init_done => cmd_init_ done_1 -- 1 - initialisation terminée); fin générer;


Grâce au composant rp0, des accès sont effectués pour écrire ou lire des mots de 32 bits. Le composant rp1 effectue uniquement l'initialisation.

Malheureusement, la simulation prend beaucoup de temps, même si la simulation est effectuée au niveau PIPE. Une séance de modelage typique dure environ dix minutes (ou peut-être plus, je ne me souviens pas). Cela ne convient pas au travail opérationnel avec un canal DMA. Dans cette situation, une décision tout à fait naturelle a été prise de supprimer le contrôleur PCI Express du modèle. D’ailleurs, cela a déjà été étudié.

Schéma fonctionnel du contrôleur

Un schéma de contrôleur généralisé est présenté sur la figure.

Deux composants core256_top_engine identiques donnent accès à deux contrôleurs EP0, EP1. core256_top_engine permet d'accéder aux registres du côté PCI Express, pour cela, seuls EP0 et le composant reg_access sont utilisés. Le composant dma_access contient la logique de gestion du contrôleur principal. Son schéma fonctionnel est présenté dans la figure ci-dessous :

Tout est contrôlé par le nœud ctrl_main. Le nœud ctrl_dsc contient un bloc de descripteurs. Le nœud ctrl_adr convertit le descripteur en une séquence d'adresses de bloc de quatre kilo-octets. Les adresses sont envoyées aux nœuds cmd0 et cmd1 pour être échangées avec les nœuds core256_top_engine ;

Du côté utilisateur du FPGA, il y a deux bus de 512 bits de large. Mais les données sur ces bus doivent être transmises par blocs de 4 kilo-octets et strictement à tour de rôle. Ceci est nécessaire pour remplir séquentiellement les nœuds de mémoire ram0, ram1. Chaque nœud mémoire contient quatre blocs de 4 kilo-octets. Sur ces nœuds de mémoire, le flux d'origine d'une largeur de 512 bits est divisé en deux flux de 256 bits. A l’avenir, les deux flux de 256 bits seront totalement indépendants. Les données du flux ne seront trouvées que dans la RAM de l'ordinateur, où elles aboutiront à des adresses adjacentes.

Modélisation dma_access

Le nœud dma_access est la partie la plus complexe du contrôleur. En conséquence, il doit être modélisé avec une attention particulière. Comme je l'ai écrit ci-dessus, la simulation de deux cœurs PCI Express prend beaucoup de temps. Pour accélérer, un modèle a été développé qui se connecte à la place de core256_top_engine. Pour dma_access, la même interface est restée et la vitesse de modélisation a augmenté d'un ordre de grandeur. Ce projet, comme le projet PROTEQ, utilise le lancement automatique de tests via un fichier tcl.

Voici un fragment du fichier tcl :

Run_test "stend_m4" "test_read_8kb " 6 "50 us" run_test "stend_m4" "test_read_16kb " 7 "100 us" run_test "stend_m4" "test_read_49blk " 8 "150 us" run_test "stend_m4" "test_read_8x4_cont" 9 "150 us" run_test " stend_m4" "test_read_128x1_cont " 12 "200 us" run_test "stend_m4" "test_read_16kbx2 " 13 "150 us" run_test "stend_m4" "test_read_step " 14 "200 us" run_test "stend_m4" "test_read_8kb_sg_eot " 15 "100 us" run_test "stand_m4" "test_read_64x1" 16" 100 us"
Cela exécute automatiquement neuf tests. A titre d'exemple, voici le code d'un test :

test_read_4ko

la procédure test_read_4kb (signal cmd : out bh_cmd ; --! signal de commande ret : in bh_ret --! réponse) est variable adr : std_logic_vector(31 downto 0) ; données variables : std_logic_vector (31 jusqu'à 0) ; variable str : ligne ; variable L : ligne ; erreur variable : entier :=0 ; variable dma_complete : entier ; variable data_expect : std_logic_vector (31 jusqu'à 0 ); begin write(str, string"("TEST_READ_4KB")); writeline(log, str); ---- Formation d'un bloc de descripteurs --- pour ii en boucle 0 à 127 adr:= x"00100000"; adr: =adr + ii*4 ; int_mem_write(cmd, ret, adr, x"00000000"); fin de boucle; int_mem_write(cmd, ret, x"00100000", x"00008000"); int_mem_write(cmd, ret, x"00100004 ", x"00000100"); -- int_mem_write(cmd, ret, x"00100080", x"00008000"); -- int_mem_write(cmd, ret, x"00100084", x"00000100"); int_mem_write(cmd, ret, x"001001F8", x"00000000"); int_mem_write(cmd, ret, x"001001FC", x"762C4953"); ---- Programmation du canal DMA ---- block_write(cmd, ret, 4, 8 , x "00000025"); -- DMA_MODE block_write(cmd, ret, 4, 9, x"00000010"); -- DMA_CTRL - RESET FIFO block_write(cmd, ret, 4, 20, x"00000000"); -- PCI_ADRL block_write (cmd, ret, 4, 21, x"00100000"); -- PCI_ADRH block_write(cmd, ret, 4, 23, x"0000A400"); -- LOCAL_ADR block_write(cmd, ret, 4, 9, x "00000001 "); -- DMA_CTRL - START attend 20 us; block_read(cmd, ret, 4, 16, data); -- STATUS write(str, string"("STATUS: ")); hwrite(str, data(15 jusqu'à 0)); if(data(8)="1") then write(str, string"(" - Corriger le descripteur")); else write(str, string"(" - Erreur de lecture du descripteur")); erreur := erreur + 1 ; fin si; writeline(log, str); if(error=0) then ---- En attente de la fin du DMA ---- dma_complete:= 0; for ii en boucle 0 à 100 block_read(cmd, ret, 4, 16, data); -- STATUS write(str, string"("STATUS: ")); hwrite(str, data(15 jusqu'à 0)); if(data(5)="1") then write(str, string"(" - DMA terminé ")); dma_complete:= 1; fin si; writeline(log, str); if(dma_complete=1) alors quittez ; fin si; attendez 1 nous; terminer la boucle ; writeline(log, str); if(dma_complete=0) then write(str, string"("Erreur - DMA n'est pas terminé ")); writeline(log, str); error:=error+1; end if; end if; for ii in 0 to 3 boucles block_read(cmd, ret, 4, 16, data);-- STATUS write(str, string"("STATUS: ")); hwrite(str, data(15 jusqu'à 0)); writeline(log, str); attendez 500 ns ; terminer la boucle ; block_write(cmd, ret, 4, 9, x"00000000"); -- DMA_CTRL - STOP write(str, string"(" Read: ")); writeline(log, str); data_expect:= x"A0000000"; for ii in 0 to 1023 loop adr:= x"00800000"; adr :=adr + ii*4 ; int_mem_read(cmd, ret, adr, data); if(data=data_expect) then fprint(output, L, "%r: %r - Ok\n", fo(ii), fo (données)); fprint(log, L, "%r: %r - Ok\n", fo(ii), fo(data)); else fprint(output, L, "%r: %r Attendu : % r - Erreur \n", fo(ii), fo(data), fo(data_expect)); fprint(log, L, "%r: %r Attendu : %r - Erreur \n", fo(ii), fo(data), fo(data_expect)); error:=error+1; end if; data_expect:= data_expect + 1; end loop; -- block_write(cmd, ret, 4, 9, x"00000010"); - - DMA_CTRL - RESET FIFO -- block_write(cmd, ret, 4, 9, x"00000000"); -- DMA_CTRL -- block_write(cmd, ret, 4, 9, x"00000001"); -- DMA_CTRL - START fprint (sortie, L, "\nTemps de test : %r \n", fo(maintenant)); fprint(log, L, "\nTemps de test : %r \n", fo(maintenant)); -- sortie dans un fichier -- writeline(log, str); if(error=0) then write(str, string"("TEST terminé avec succès")); cnt_ok := cnt_ok + 1 ; else write(str, string"("TEST terminé avec ERR")); cnt_error:= cnt_error + 1; end if; writeline(log, str); writeline(log, str); -- sortie de la console -- writeline( sortie , str); if(error=0) then write(str, string"("TEST terminé avec succès")); sinon write(str, string"("TEST terminé avec ERR")); end if; writeline(output, str); writeline(output, str); end test_read_4kb


Les commandes int_mem_write écrivent dans la RAM HOST de l'ordinateur. Dans ce test, un bloc de descripteurs y est écrit. Les commandes block_write et block_read permettent d'accéder aux registres DMA du contrôleur. Le contrôleur est programmé, lancé et l'échange est terminé. Après cela, les commandes int_mem_read lisent et vérifient les données reçues. Le code de ce test est presque entièrement identique au test du contrôleur PCIe_DS_DMA, que j'ai publié en tant que projet open source sur opencores.org ; Par rapport à l'original, une vérification des données reçues a été ajoutée.

Organisation logique du contrôleur

Au niveau du registre, le contrôleur réplique complètement nos contrôleurs précédents pour les FPGA Virtex 4, Virtex 5, Virtex 6, Kintex 7 ; L'organisation se trouve dans le projet PCIe_DS_DMA.
Une caractéristique de tous les contrôleurs est la combinaison de descripteurs uniques en un bloc de descripteurs. Cela donne une augmentation spectaculaire de la vitesse lors de l'utilisation de la mémoire fragmentée.

Connexion aux ordinateurs portables

Il est important pour nous de connecter ce contrôleur à nos ordinateurs portables. J'ai écrit sur ce que sont les tétrades dans l'article précédent : « Interface ADM : Qu'est-ce qu'une tétrade ». Travailler avec un bus 512 bits a nécessité un changement d'approche. Pour connecter le portable, nous avons dû utiliser une unité de reconditionnement supplémentaire. Le schéma fonctionnel est dans la figure.

Le repacker résout deux problèmes :

  • routage du bus à travers la puce, pour cela, vous pouvez définir le nombre d'étapes supplémentaires du pipeline
  • connexion aux ordinateurs portables avec bus 64 et 128 bits
Utilisation de la mémoire

Le but ultime du développement d'un contrôleur et de la connexion aux tétrades est de recevoir un flux continu de données de l'ADC vers l'ordinateur. Et nous sommes ici confrontés au fait que le bus PCI Express n'offre pas des vitesses stables. Il peut y avoir des retards dans le bus. Ceci est particulièrement visible lorsque les taux de change sont élevés. Des retards se produisent en raison du fonctionnement d'autres appareils. L'ampleur du retard peut être différente, elle peut être de 5 à 10 μs, voire plus. Une latence de 10 microsecondes à une vitesse de 11 Go/s correspond à un bloc mémoire de 110 kilo-octets. C'est beaucoup pour la mémoire interne des FPGA, même modernes. Mais le délai pourrait être encore plus long. Si le flux de données ne peut pas être suspendu, et c'est exactement le cas lorsque des ADC sont utilisés, la seule option est la mise en mémoire tampon dans la mémoire externe. De plus, la mémoire doit pouvoir fonctionner à une vitesse de 22 Go/s. Nous avons deux SODIMM DDR3-1600 installés sur le module. La mémoire fonctionne à 800 MHz. Cela correspond à un flux de données continu de 8 400 Mo/s. Ce chiffre a été confirmé par l'expérience. Je voudrais noter que la vitesse de 8 400 Mo/s dépasse la vitesse de sortie des données de notre sous-module le plus rapide, qui dispose de deux ADC de 1 800 MHz installés.

Tracé

La capture d'écran montre le résultat du traçage dans le programme PlanAhead :

L'image montre deux contrôleurs PCI Express (surlignés en jaune et vert) et deux contrôleurs de mémoire (à côté de PCI Express).

Il s’est avéré qu’un tel projet est très difficile pour Vivado et qu’il s’en sort très mal. Le projet de Vivado est peu développé et ne fonctionne souvent tout simplement pas. ISE montre des résultats beaucoup plus stables. Les nœuds PCI Express ont été acheminés conformément aux recommandations de Xilinx, mais il s'est avéré qu'ils étaient espacés sur la puce. Et cela crée déjà un problème pour partager les lignes multi-gigabit restantes.

résultats

Le fonctionnement du module a été testé sur plusieurs ordinateurs. Les résultats sont assez intéressants.

Intel Core i7 4820K P9X79WS DDR3-1866 11140 Mo/s
Intel Core i7 5820K X99-A DDR4-2400 11128 Mo/s
Intel Core i7 3820K P9X79 DDR3-1600 11120 Mo/s

Il s'agit de la vitesse de saisie des données sans vérification. Les données sont saisies en continu dans un tampon de 1 Go alloué dans la zone de mémoire système, c'est-à-dire en continu sur toutes les adresses physiques. La vitesse d'entrée moyenne est mesurée sur un intervalle d'au moins 1 minute.

Sur un ordinateur doté de mémoire DDR3-1600, lorsque la vérification est activée, la vitesse chute à 8 500 Mo/s.

Sur un ordinateur équipé de DDR3-1866, la vitesse ne diminue pas avec un module et la vérification activée.

Deux modules FMC122P dans un ordinateur équipé de DDR3-1866 sans tests affichent également une vitesse maximale d'environ 11 000 Mo/s pour chaque module. Mais lorsque la vérification est activée, la vitesse diminue.

Avec ces mesures, on suppose que 1 Mo équivaut à 1 024 Ko et 1 Ko à 1 024 octets.

Je tiens à souligner que dans ce travail je présente le résultat du travail d'une grande équipe. Un merci spécial à Dmitry Avdeev, qui a fait un excellent travail sur ce projet.

P.S. Alors que le développement était en cours, Virtex 7 est devenu obsolète. Kintex Ultrascale est déjà plus pratique à utiliser. Et Kintex Ultrascale+ dispose déjà d'un bloc PCI Express v3.0 x16 HARD - une telle division n'est donc plus nécessaire.

P.S.S. Mais Kintex Ultrascale+ dispose également d'un bloc PCI Express v4.0 x8 HARD - peut-être que la séparation sera toujours utile ?

IntroductionDans le passé, le consommateur de masse n'était principalement intéressé que par deux types de SSD : soit des modèles haut de gamme haut débit comme le Samsung 850 PRO, soit des offres d'un bon rapport qualité-prix comme le Crucial BX100 ou le SanDisk Ultra II. Autrement dit, la segmentation du marché des SSD était extrêmement faible et la concurrence entre les fabricants, même si elle s'est développée dans les domaines des performances et des prix, l'écart entre les solutions de haut et de bas niveau est resté assez faible. Cet état de fait était en partie dû au fait que la technologie SSD elle-même améliore considérablement l'expérience utilisateur de travail avec un ordinateur, et donc les problèmes de mise en œuvre spécifiques passent au second plan pour beaucoup. Pour la même raison, les SSD grand public ont été intégrés à l’ancienne infrastructure, initialement axée sur les disques durs mécaniques. Cela a grandement facilité leur mise en œuvre, mais a placé les SSD dans un cadre assez étroit, ce qui a largement freiné à la fois la croissance du débit et la réduction de la latence du sous-système de disque.

Mais jusqu'à un certain temps, cet état de fait convenait à tout le monde. La technologie SSD était nouvelle et les utilisateurs migrant vers les SSD étaient satisfaits de leurs achats, même s'ils obtenaient essentiellement des produits qui ne fonctionnaient pas de manière optimale, les performances étant freinées par des barrières artificielles. Cependant, à l’heure actuelle, les disques SSD peuvent peut-être être considérés comme véritablement courants. Tout propriétaire d'ordinateur personnel qui se respecte, s'il ne possède pas au moins un SSD dans son système, envisage très sérieusement d'en acheter un dans un avenir très proche. Et dans ces conditions, les fabricants sont simplement obligés de réfléchir à la manière de développer enfin une concurrence à part entière : détruire toutes les barrières et passer à la production de gammes de produits plus larges et fondamentalement différentes dans les caractéristiques proposées. Heureusement, tout le terrain nécessaire a été préparé pour cela et, tout d'abord, la plupart des développeurs de SSD ont le désir et la possibilité de commencer à produire des produits qui ne fonctionnent pas via l'interface SATA héritée, mais via le bus PCI Express beaucoup plus productif.

La bande passante SATA étant limitée à 6 Gb/s, la vitesse maximale des SSD SATA phares ne dépasse pas environ 500 Mo/s. Cependant, les disques modernes basés sur la mémoire flash sont capables de bien plus : après tout, si vous y réfléchissez bien, ils ont plus en commun avec la mémoire système qu'avec les disques durs mécaniques. Quant au bus PCI Express, il est désormais activement utilisé comme couche de transport lors de la connexion de cartes graphiques et d'autres contrôleurs supplémentaires nécessitant un échange de données à haut débit, par exemple Thunderbolt. Une seule voie PCI Express Gen 2 fournit 500 Mo/s de bande passante, tandis qu'une voie PCI Express 3.0 peut atteindre des vitesses allant jusqu'à 985 Mo/s. Ainsi, une carte d'interface installée dans un emplacement PCIe x4 (à quatre voies) peut échanger des données à des vitesses allant jusqu'à 2 Go/s dans le cas du PCI Express 2.0 et jusqu'à près de 4 Go/s lors de l'utilisation du PCI Express de troisième génération. Ce sont d'excellents indicateurs qui conviennent parfaitement aux disques SSD modernes.

De ce qui précède, il s'ensuit naturellement qu'en plus des SSD SATA, les disques haut débit utilisant le bus PCI Express devraient progressivement se généraliser sur le marché. Et cela se produit réellement. En magasin, vous pouvez trouver plusieurs modèles de SSD grand public de grands fabricants, réalisés sous forme de cartes d'extension ou de cartes M.2 utilisant différentes versions du bus PCI Express. Nous avons décidé de les rassembler et de les comparer en termes de performances et d'autres paramètres.

Participants aux tests

Intel SSD 750 400 Go

Sur le marché des disques SSD, Intel adhère à une stratégie plutôt non conventionnelle et ne prête pas trop d'attention au développement de SSD destinés au segment grand public, se concentrant sur les produits pour serveurs. Cependant, cela ne rend pas ses propositions inintéressantes, surtout lorsqu'il s'agit d'un disque SSD pour le bus PCI Express. Dans ce cas, Intel a décidé d'adapter sa plate-forme serveur la plus avancée pour l'utiliser dans un SSD client hautes performances. C'est exactement ainsi qu'est né l'Intel SSD 750 400 Go, qui a reçu non seulement des caractéristiques de performances impressionnantes et un certain nombre de technologies au niveau du serveur responsables de la fiabilité, mais également la prise en charge de la nouvelle interface NVMe, sur laquelle quelques mots doivent être dits séparément. .




Si nous parlons d'améliorations spécifiques du NVMe, la réduction des frais généraux mérite d'être mentionnée en premier. Par exemple, l’envoi des blocs 4K les plus courants dans le nouveau protocole nécessite d’émettre une seule commande au lieu de deux. Et l'ensemble des instructions de contrôle a été tellement simplifié que leur traitement au niveau du pilote réduit d'au moins la moitié la charge du processeur et les retards qui en résultent. La deuxième innovation importante est la prise en charge du pipeline profond et du multitâche, qui consiste en la possibilité de créer plusieurs files d'attente de requêtes en parallèle au lieu de la file d'attente unique existante pour 32 commandes. Le protocole d'interface NVMe est capable de gérer jusqu'à 65 536 files d'attente, et chacune d'entre elles peut contenir jusqu'à 65 536 commandes. En fait, toutes les restrictions sont complètement éliminées, ce qui est très important pour les environnements de serveur dans lesquels le sous-système de disque peut être soumis à un grand nombre d'opérations d'E/S simultanées.



Mais bien qu'il fonctionne via l'interface NVMe, l'Intel SSD 750 n'est toujours pas un disque serveur, mais un disque grand public. Oui, presque la même plate-forme matérielle que dans ce lecteur est utilisée dans les SSD de classe serveur Intel DC P3500, P3600 et P3700, mais le SSD Intel 750 utilise une NAND MLC ordinaire moins chère et, en plus, le micrologiciel est modifié. Le fabricant estime que grâce à de tels changements, le produit résultant séduira les passionnés, car il combine une puissance élevée, une interface NVMe fondamentalement nouvelle et un prix pas trop effrayant.

L'Intel SSD 750 est une carte PCIe x4 demi-hauteur qui peut utiliser quatre voies 3.0 et atteindre des taux de transfert séquentiels allant jusqu'à 2,4 Go/s et des vitesses de fonctionnement aléatoires allant jusqu'à 440 000 IOPS. Certes, la modification la plus volumineuse de 1,2 To a les performances les plus élevées, mais la version de 400 Go que nous avons reçue pour les tests est un peu plus lente.



La carte d'entraînement est entièrement recouverte d'une armure. Sur la face avant, il s'agit d'un radiateur en aluminium et sur la face arrière se trouve une plaque métallique décorative qui n'entre pas réellement en contact avec les microcircuits. Il est à noter que l’utilisation d’un radiateur est ici une nécessité. Le contrôleur principal d'un SSD Intel génère beaucoup de chaleur et, sous une charge élevée, même un disque équipé d'un tel refroidissement peut chauffer jusqu'à des températures d'environ 50 à 55 degrés. Mais grâce au refroidissement préinstallé, il n'y a aucune trace de limitation : les performances restent constantes même en cas d'utilisation continue et intensive.



L'Intel SSD 750 est basé sur le contrôleur de niveau serveur Intel CH29AE41AB0, qui fonctionne à une fréquence de 400 MHz et dispose de dix-huit (!) canaux pour connecter la mémoire flash. Si l’on considère que la plupart des contrôleurs SSD grand public disposent de huit ou quatre canaux, il devient clair que le SSD Intel 750 peut en réalité pomper beaucoup plus de données sur le bus que les modèles SSD conventionnels.



Quant à la mémoire flash utilisée, l'Intel SSD 750 n'apporte aucune innovation en la matière. Il est basé sur une MLC NAND standard de fabrication Intel, produite à l'aide d'une technologie de traitement de 20 nm et comportant des cœurs avec un volume de 64 et 128 Gbits intercalés. Il convient de noter que la plupart des autres fabricants de SSD ont abandonné cette mémoire depuis assez longtemps, passant à des puces fabriquées selon des normes plus fines. Et Intel lui-même a commencé à convertir non seulement ses disques grand public, mais également ses serveurs, en mémoire 16 nm. Cependant, malgré tout cela, l'Intel SSD 750 est équipé d'une mémoire plus ancienne, censée disposer d'une ressource plus élevée.

L'origine du serveur Intel SSD 750 réside également dans le fait que la quantité totale de mémoire flash de ce SSD est de 480 Gio, dont seulement 78 % environ sont disponibles pour l'utilisateur. Le reste est alloué au fonds de remplacement, aux technologies de collecte des ordures et de protection des données. L'Intel SSD 750 implémente un schéma de type RAID 5, traditionnel pour les disques phares, au niveau de la puce MLC NAND, qui vous permet de restaurer avec succès les données même si l'une des puces tombe complètement en panne. De plus, le SSD Intel offre une protection complète des données contre les pannes de courant. L'Intel SSD 750 dispose de deux condensateurs électrolytiques et leur capacité est suffisante pour un arrêt normal du disque en mode hors ligne.

Kingston HyperX Predator 480 Go

Kingston HyperX Predator est une solution beaucoup plus traditionnelle par rapport au Intel SSD 750. Premièrement, il fonctionne via le protocole AHCI, et non NVMe, et deuxièmement, ce SSD nécessite le bus PCI Express 2.0 le plus courant pour se connecter au système. Tout cela rend la version Kingston un peu plus lente - les vitesses de pointe pour les opérations séquentielles ne dépassent pas 1 400 Mo/s et celles aléatoires - 160 000 IOPS. Mais HyperX Predator n'impose aucune exigence particulière au système - il est compatible avec toutes les plates-formes, y compris les anciennes.

Dans le même temps, le lecteur a une conception à deux composants pas tout à fait simple. Le SSD lui-même est une carte au format M.2, qui est complétée par un adaptateur PCI Express qui vous permet de connecter des disques M.2 via des emplacements PCIe pleine taille classiques. L'adaptateur est conçu comme une carte PCIe x4 demi-hauteur qui utilise les quatre voies PCI Express. Grâce à cette conception, Kingston vend son HyperX Predator en deux versions : en tant que SSD PCIe pour les ordinateurs de bureau et en tant que disque M.2 pour les systèmes mobiles (dans ce cas, l'adaptateur n'est pas inclus dans la livraison).



Kingston HyperX Predator est basé sur le contrôleur Marvell Altaplus (88SS9293), qui, d'une part, prend en charge quatre voies PCI Express 2.0 et, d'autre part, dispose de huit canaux pour connecter la mémoire flash. À l'heure actuelle, il s'agit du contrôleur SSD Marvell le plus rapide disponible dans le commerce avec prise en charge PCI Express. Cependant, Marvell aura bientôt des successeurs plus rapides avec la prise en charge de NVMe et PCI Express 3.0, ce que la puce Altaplus ne possède pas.



Étant donné que Kingston lui-même ne produit ni contrôleurs ni mémoire, assemblant ses SSD à partir d'éléments achetés auprès d'autres fabricants, il n'est pas étrange que le SSD HyperX Predator PCIe soit basé non seulement sur un contrôleur tiers, mais également sur 128 gigabits 19- nm Puces MLC NAND de Toshiba. Une telle mémoire a un faible prix d'achat et est désormais installée dans de nombreux produits de Kingston (et d'autres sociétés), et principalement dans les modèles grand public.



Cependant, l'utilisation d'une telle mémoire a donné lieu à un paradoxe : bien que, selon son positionnement formel, le SSD Kingston HyperX Predator PCIe soit un produit premium, il n'est assorti que d'une garantie de trois ans, et la moyenne indiquée le temps entre les pannes est nettement inférieur à celui des SSD SATA phares d'autres fabricants.

Kingston HyperX Predator ne fournit pas non plus de technologies spéciales de protection des données. Mais le disque possède une zone relativement grande cachée aux yeux de l'utilisateur, dont la taille représente 13 % de la capacité totale du disque. La mémoire flash de sauvegarde qu'elle contient est utilisée pour le garbage collection et le nivellement de l'usure, mais est principalement consacrée au remplacement des cellules mémoire défaillantes.

Il reste seulement à ajouter que la conception de l'HyperX Predator ne prévoit aucun moyen spécial pour évacuer la chaleur du contrôleur. Contrairement à la plupart des autres solutions hautes performances, ce disque ne possède pas de dissipateur thermique. Cependant, ce SSD n'est pas du tout sujet à la surchauffe : sa dissipation thermique maximale n'est que légèrement supérieure à 8 W.

OCZ Revodrive 350 480 Go

L'OCZ Revodrive 350 peut à juste titre être considéré comme l'un des plus anciens SSD grand public dotés d'une interface PCI Express. À l'époque où aucun des autres fabricants ne pensait même à lancer des SSD PCIe clients, la gamme d'OCZ comprenait RevoDrive 3 (X2) - le prototype du Revodrive 350 moderne. Cependant, les racines du disque PCIe OCZ en font une proposition quelque peu étrange. … dans le contexte des concurrents actuels. Alors que la plupart des fabricants de disques PC hautes performances utilisent des contrôleurs modernes avec prise en charge native du bus PCI Express, le Revodrive 350 implémente une architecture très complexe et clairement sous-optimale. Il est basé sur deux ou quatre (selon le volume) contrôleurs SandForce SF-2200, assemblés dans une matrice RAID de niveau zéro.

Si l'on parle du modèle OCZ Revodrive 350 480 Go qui a participé à ces tests, alors il est en réalité basé sur quatre SSD SATA d'une capacité de 120 Go, chacun basé sur sa propre puce SF-2282 (analogue du largement utilisé SF-2281). Ces éléments sont ensuite combinés en une seule matrice RAID 0 en quatre parties. Cependant, à cette fin, on n'utilise pas un contrôleur RAID très familier, mais un processeur de virtualisation propriétaire (VCA 2.0) OCZ ICT-0262. Cependant, il est très probable que ce nom cache une puce Marvell 88SE9548 repensée, qui est un contrôleur RAID SAS/SATA 6 Gb/s à quatre ports avec une interface PCI Express 2.0 x8. Mais même si c'est le cas, les ingénieurs d'OCZ ont écrit leur propre firmware et pilote pour ce contrôleur.



Le caractère unique du composant logiciel RevoDrive 350 réside dans le fait qu'il implémente non pas tout à fait le RAID 0 classique, mais quelque chose de similaire avec un équilibrage de charge interactif. Au lieu de diviser le flux de données en blocs de taille fixe et de les transmettre séquentiellement à différents contrôleurs SF-2282, la technologie VCA 2.0 implique une analyse et une redistribution flexible des opérations d'E/S en fonction de l'occupation actuelle des contrôleurs de mémoire flash. Par conséquent, le RevoDrive 350 ressemble à un SSD monolithique pour l'utilisateur. Il est impossible d'accéder à son BIOS, et il est impossible de découvrir qu'une matrice RAID est cachée dans les profondeurs de ce SSD sans une connaissance approfondie du matériel. De plus, contrairement aux matrices RAID conventionnelles, le RevoDrive 350 prend en charge toutes les fonctions SSD typiques : surveillance SMART, fonctionnement TRIM et Secure Erase.

Le RevoDrive 350 est disponible sous forme de cartes avec interface PCI Express 2.0 x8. Bien que les huit lignes d'interface soient réellement utilisées, les performances indiquées sont nettement inférieures à leur débit théorique total. La vitesse maximale des opérations séquentielles est limitée à 1 800 Mo/s et les performances des opérations aléatoires ne dépassent pas 140 000 IOPS.

Il convient de noter que l'OCZ RevoDrive 350 est conçu comme une carte PCI Express x8 pleine hauteur, c'est-à-dire que ce disque est physiquement plus grand que tous les autres SSD participant aux tests et qu'il ne peut donc pas être installé dans des systèmes bas de gamme. La surface avant de la carte RevoDrive 350 est recouverte d'un boîtier métallique décoratif, qui fait également office de radiateur pour la puce du contrôleur RAID de base. Les contrôleurs SF-2282 sont situés au verso de la carte et ne disposent pas de refroidissement.



Pour former la matrice de mémoire flash, OCZ a utilisé des puces de sa société mère, Toshiba. Des puces produites à l'aide d'une technologie de traitement de 19 nm et ayant une capacité de 64 Gbit sont utilisées. La quantité totale de mémoire flash du RevoDrive 350 480 Go est de 512 Go, mais 13 % sont réservés aux besoins internes - nivellement d'usure et garbage collection.



Il est à noter que l'architecture du RevoDrive 350 n'est pas unique. Il existe plusieurs autres modèles de SSD similaires sur le marché, fonctionnant sur le principe d'une « matrice RAID de SSD SATA basée sur des contrôleurs SandForce ». Cependant, toutes ces solutions, comme le lecteur OCZ PCIe considéré, présentent un inconvénient désagréable : leurs performances lors des opérations d'écriture se dégradent avec le temps. Cela est dû aux particularités des algorithmes internes des contrôleurs SandForce, dont le fonctionnement TRIM ne ramène pas la vitesse d'écriture au niveau d'origine.



Le fait incontestable que le RevoDrive 350 est un cran inférieur aux disques PCI Express de nouvelle génération est souligné par le fait que ce disque n'a qu'une garantie de trois ans et que sa ressource d'enregistrement garantie n'est que de 54 To - plusieurs fois moins que celui de ses concurrents. De plus, malgré le fait que le RevoDrive 350 soit basé sur le même design que le serveur Z-Drive 4500, il ne dispose d'aucune protection contre les surtensions. Cependant, tout cela n'empêche pas OCZ, avec son audace caractéristique, de positionner le RevoDrive 350 comme une solution premium au niveau Intel SSD 750.

Plextor M6e édition noire 256 Go

Il faut immédiatement noter que le disque Plextor M6e Black Edition est le successeur direct du célèbre modèle M6e. La similitude du nouveau produit avec son prédécesseur peut être vue dans presque tout, si l'on parle de la composante technique plutôt que de la composante esthétique. Le nouveau SSD a également une conception à deux composants, y compris le disque lui-même au format M.2 2280 et un adaptateur qui vous permet de l'installer dans n'importe quel emplacement PCIe x4 standard (ou plus rapide). Il repose également sur un contrôleur Marvell 88SS9183 à huit canaux, qui communique avec le monde extérieur via deux lignes PCI Express 2.0. Tout comme la modification précédente, le M6e Black Edition utilise la mémoire flash Toshiba MLC.

Cela signifie que même si le M6e Black Edition ressemble à une carte PCI Express x4 mi-hauteur une fois assemblé, ce SSD n'utilise en réalité que deux voies PCI Express 2.0. D'où des vitesses peu impressionnantes, qui ne sont que légèrement supérieures aux performances des SSD SATA traditionnels. Les performances nominales pour les opérations séquentielles sont limitées à 770 Mo/s et pour les opérations arbitraires – 105 000 IOPS. Il convient de noter que le Plextor M6e Black Edition fonctionne en utilisant l'ancien protocole AHCI, ce qui garantit sa large compatibilité avec divers systèmes.



Malgré le fait que le Plextor M6e Black Edition, comme le Kingston HyperX Predator, soit une combinaison d'un adaptateur PCI Express et d'un « core » au format de carte M.2, il est impossible de le déterminer de face. L'ensemble du lecteur est caché sous un boîtier en aluminium noir figuré, au centre duquel se trouve un radiateur rouge intégré, qui doit évacuer la chaleur du contrôleur et des puces mémoire. Le calcul des concepteurs est clair : une palette de couleurs similaire est largement utilisée dans divers matériels de jeu, de sorte que le Plextor M6e Black Edition sera harmonieux à côté de nombreuses cartes mères de jeu et cartes vidéo de la plupart des principaux fabricants.



La matrice de mémoire flash du Plextor M6e Black Edition est équipée de puces MLC NAND 19 nm de deuxième génération de Toshiba d'une capacité de 64 Gbits. La réserve utilisée pour le fonds de remplacement et le fonctionnement des algorithmes internes de nivellement de l'usure et de collecte des déchets est allouée à 7 pour cent du volume total. Tout le reste est disponible pour l'utilisateur.



En raison de l'utilisation d'un contrôleur Marvell 88SS9183 plutôt faible avec un bus externe PCI Express 2.0 x2, le disque Plextor M6e Black Edition doit être considéré comme un SSD PCIe plutôt lent. Cependant, cela n'empêche pas le fabricant de classer ce produit dans la catégorie de prix supérieure. D'une part, il est toujours plus rapide qu'un SSD SATA, et d'autre part, il présente de bonnes caractéristiques de fiabilité : il a un temps moyen entre pannes long et est couvert par une garantie de cinq ans. Cependant, aucune technologie spéciale pouvant protéger le M6e Black Edition des surtensions ou augmenter sa durée de vie n'y est mise en œuvre.

Samsung SM951 256 Go

Le Samsung SM951 est le disque le plus insaisissable des tests actuels. Le fait est qu'il s'agit initialement d'un produit destiné aux assembleurs d'ordinateurs, il est donc plutôt mal présenté dans les ventes au détail. Cependant, si vous le souhaitez, il est toujours possible de l'acheter, nous n'avons donc pas refusé de considérer le SM951. De plus, à en juger par ses caractéristiques, il s'agit d'un modèle à action très rapide. Il est conçu pour fonctionner sur le bus PCI Express 3.0 x4, utilise le protocole AHCI et promet des vitesses impressionnantes : jusqu'à 2 150 Mo/s pour les opérations séquentielles et jusqu'à 90 000 IOPS pour les opérations aléatoires. Mais surtout, avec tout cela, le Samsung SM951 est moins cher que de nombreux autres SSD PCIe, sa recherche de vente peut donc avoir une justification économique très spécifique.

Une autre caractéristique du Samsung SM951 est qu'il est disponible au format M.2. Initialement, cette solution est destinée aux systèmes mobiles, donc aucun adaptateur pour emplacements PCIe pleine taille n'est inclus avec le lecteur. Cependant, cela peut difficilement être considéré comme un inconvénient sérieux : la plupart des cartes mères phares disposent également d'emplacements d'interface M.2 à bord. De plus, les cartes d'adaptation nécessaires sont largement disponibles à la vente. Le Samsung SM951 lui-même est une carte au format M.2 2280, dont le connecteur possède une clé de type M, indiquant la nécessité d'un SSD avec quatre lignes PCI Express.



Le Samsung SM951 est basé sur un contrôleur Samsung UBX exceptionnellement puissant, développé par le constructeur spécifiquement pour les SSD dotés d'une interface PCI Express. Il est basé sur trois cœurs avec une architecture ARM et, en théorie, est capable de fonctionner à la fois avec les commandes AHCI et NVMe. Dans le SSD en question, seul le mode AHCI est activé dans le contrôleur. Mais la version NVMe de ce contrôleur sera bientôt visible dans un nouveau SSD grand public, que Samsung devrait lancer cet automne.



En raison de l'orientation OEM, ni la période de garantie ni l'endurance prévue ne sont fournies pour le variateur en question. Les constructeurs de systèmes dans lesquels le SM951 sera installé ou les vendeurs doivent déclarer ces paramètres. Cependant, il convient de noter que la 3D V-NAND, qui est désormais activement promue par Samsung dans les SSD grand public comme un type de mémoire flash plus rapide et plus fiable, n'est pas utilisée dans le SM951. Au lieu de cela, il utilise le mode planaire Toggle Mode 2.0 MLC NAND conventionnel, vraisemblablement produit à l'aide de la technologie 16 nm (certaines sources suggèrent une technologie de processus 19 nm). Cela signifie qu'il ne faut pas s'attendre à ce que le SM951 ait la même endurance élevée que le disque phare SATA 850 PRO. Dans ce paramètre, le SM951 est plus proche des modèles conventionnels de milieu de gamme ; de plus, seulement 7 % de la matrice de mémoire flash est allouée à la redondance dans ce SSD. Le Samsung SM951 ne dispose d'aucune technologie spéciale au niveau du serveur pour protéger les données contre les pannes de courant. En d’autres termes, ce modèle met uniquement l’accent sur la vitesse et tout le reste est supprimé pour réduire les coûts.



Un autre point mérite d’être souligné. Sous une charge élevée, le Samsung SM951 présente un échauffement assez important, qui peut même conduire à un étranglement. Par conséquent, dans les systèmes performants, il est conseillé d'organiser au moins un flux d'air pour le SM951, ou mieux encore, de le recouvrir d'un radiateur.

Caractéristiques comparatives des SSD testés


Problèmes de compatibilité

Comme toute nouvelle technologie, les disques SSD dotés d'une interface PCI Express ne peuvent pas encore se vanter d'un fonctionnement à 100 % sans problème avec n'importe quelle plate-forme, en particulier les plus anciennes. Par conséquent, vous devez choisir un SSD approprié non seulement en fonction des caractéristiques du consommateur, mais également en tenant compte de la compatibilité. Et ici, il est important de garder deux points à l’esprit.

Tout d'abord, différents SSD peuvent utiliser différents nombres de voies PCI Express et différentes générations de ce bus - 2.0 ou 3.0. Par conséquent, avant d'acheter un lecteur PCIe, vous devez vous assurer que le système sur lequel vous envisagez de l'installer dispose d'un emplacement libre avec la bande passante requise. Bien sûr, les SSD PCIe plus rapides sont rétrocompatibles avec les emplacements lents, mais dans ce cas, l'achat d'un SSD haute vitesse n'a pas beaucoup de sens - il ne pourra tout simplement pas libérer tout son potentiel.

Le Plextor M6e Black Edition a la compatibilité la plus large en ce sens - il ne nécessite que deux voies PCI Express 2.0, et un tel emplacement libre se trouvera probablement sur presque toutes les cartes mères. Le Kingston HyperX Predator nécessite déjà quatre voies PCI Express 2.0 : de nombreuses cartes disposent également de tels emplacements PCIe, mais certaines plates-formes bon marché peuvent ne pas avoir d'emplacements supplémentaires avec quatre voies PCI Express ou plus. Cela est particulièrement vrai pour les cartes mères construites sur des chipsets de niveau inférieur, dont le nombre total de lignes peut être réduit à six. Par conséquent, avant d'acheter un Kingston HyperX Predator, assurez-vous de vérifier que le système dispose d'un emplacement libre avec quatre voies PCI Express ou plus.

OCZ Revodrive 350 pose un problème plus difficile : il nécessite déjà huit voies PCI Express. De tels emplacements ne sont généralement pas implémentés par le chipset, mais par le processeur. Par conséquent, l'endroit optimal pour utiliser un tel lecteur est les plates-formes LGA 2011/2011-3, où le contrôleur du processeur PCI Express dispose d'un nombre excessif de voies, lui permettant de gérer plus d'une carte vidéo. Dans les systèmes équipés de processeurs LGA 1155/1150/1151, l'OCZ Revodrive 350 ne sera approprié que si les graphiques intégrés au CPU sont utilisés. Sinon, au profit du disque SSD, vous devrez supprimer la moitié des lignes du GPU, en le passant en mode PCI Express x8.

Les Intel SSD 750 et Samsung SM951 sont quelque peu similaires aux OCZ Revodrive 350 : ils sont également préférables pour une utilisation dans les slots PCI Express alimentés par le processeur. Cependant, la raison ici n'est pas le nombre de voies - ils ne nécessitent que quatre voies PCI Express, mais la génération de cette interface : ces deux disques sont capables d'utiliser la bande passante accrue du PCI Express 3.0. Cependant, il existe une exception : les derniers chipsets Intel de la 100e série, conçus pour les processeurs de la famille Skylake, ont reçu le support PCI Express 3.0, donc dans les dernières cartes LGA 1151, ils peuvent être installés sans un pincement au cœur dans le chipset. Emplacements PCIe, auxquels au moins quatre lignes.

Il existe une deuxième partie du problème de compatibilité. En plus de toutes les restrictions associées au débit des différentes variantes d'emplacements PCI Express, il existe également des restrictions associées aux protocoles utilisés. Les SSD qui fonctionnent via AHCI sont les plus simples à cet égard. Du fait qu'ils émulent le comportement d'un contrôleur SATA classique, ils peuvent fonctionner avec n'importe quelle plate-forme, même ancienne : ils sont visibles dans le BIOS de n'importe quelle carte mère, peuvent être des disques de démarrage et aucun pilote supplémentaire n'est requis pour leur fonctionnement. dans le système d'exploitation. En d’autres termes, Kingston HyperX Predator et Plextor M6e Black Edition sont deux des SSD PCIe les plus simples.

Qu'en est-il de l'autre paire de disques AHCI ? La situation avec eux est un peu plus compliquée. L'OCZ Revodrive 350 fonctionne dans le système d'exploitation via son propre pilote, mais malgré cela, il n'y a aucun problème pour rendre ce lecteur amorçable. La situation est pire avec le Samsung SM951. Bien que ce SSD communique avec le système via l'ancien protocole AHCI, il ne possède pas son propre BIOS et doit donc être initialisé par le BIOS de la carte mère. Malheureusement, toutes les cartes mères, notamment les plus anciennes, ne prennent pas en charge ce SSD. Par conséquent, nous ne pouvons parler qu'en toute confiance de sa compatibilité avec les cartes basées sur les derniers chipsets Intel des 90e et 100e séries. Dans d'autres cas, il se peut que la carte mère ne le voie tout simplement pas. Bien entendu, cela ne vous empêchera pas d'utiliser le Samsung SM951 dans un système d'exploitation où il s'initialise facilement par le pilote AHCI, mais dans ce cas vous devrez oublier la possibilité de démarrer à partir d'un SSD haut débit.

Mais le plus gros inconvénient peut être causé par l'Intel SSD 750, qui fonctionne via la nouvelle interface NVMe. Les pilotes requis pour prendre en charge les SSD qui utilisent ce protocole ne sont disponibles que sur les derniers systèmes d'exploitation. Ainsi, sous Linux, le support NVMe est apparu dans la version 3.1 du noyau ; le pilote NVMe « inné » est disponible dans les systèmes Microsoft, à partir de Windows 8.1 et Windows Server 2012 R2 ; et sous OS X, la compatibilité avec les lecteurs NVMe a été ajoutée dans la version 10.10.3. De plus, le SSD NVMe n'est pas pris en charge par toutes les cartes mères. Pour que ces lecteurs puissent être utilisés comme lecteurs de démarrage, le BIOS de la carte mère doit également disposer du pilote approprié. Cependant, les fabricants ont intégré les fonctionnalités nécessaires uniquement dans les dernières versions du micrologiciel publiées pour les derniers modèles de cartes mères. Par conséquent, la prise en charge du chargement du système d'exploitation à partir de disques NVMe n'est disponible que sur les cartes mères les plus modernes pour les passionnés, basées sur les chipsets Intel Z97, Z170 et X99. Sur les plates-formes plus anciennes et moins chères, les utilisateurs pourront utiliser les SSD NVMe uniquement comme deuxième disque dans un ensemble limité de systèmes d'exploitation.

Malgré le fait que nous ayons essayé de décrire toutes les combinaisons possibles de plates-formes et de disques PCI Express, la principale conclusion de ce qui précède est la suivante : la compatibilité des SSD PCIe avec les cartes mères n'est pas une question aussi évidente que dans le cas des SSD SATA. Par conséquent, avant d’acheter un disque SSD haute vitesse fonctionnant via PCI Express, assurez-vous de vérifier sa compatibilité avec une carte mère spécifique sur le site Web du fabricant.

Configuration des tests, outils et méthodologie de test

Les tests sont effectués dans le système d'exploitation Microsoft Windows 8.1 Professionnel x64 avec mise à jour, qui reconnaît et gère correctement les disques SSD modernes. Cela signifie que pendant le processus de test, comme lors d'une utilisation quotidienne normale du SSD, la commande TRIM est prise en charge et activement utilisée. Les mesures de performances sont effectuées avec des disques dans un état « utilisé », ce qui est obtenu en les pré-remplissant de données. Avant chaque test, les disques sont nettoyés et entretenus à l'aide de la commande TRIM. Il y a une pause de 15 minutes entre les tests individuels, réservée au développement correct de la technologie de collecte des déchets. Tous les tests utilisent des données randomisées et incompressibles, sauf indication contraire.

Applications et tests utilisés :

Iomètre 1.1.0

Mesure de la vitesse de lecture et d'écriture séquentielles des données par blocs de 256 Ko (la taille de bloc la plus typique pour les opérations séquentielles dans les tâches de bureau). Les vitesses sont estimées en une minute, après quoi la moyenne est calculée.
Mesurer la vitesse de lecture et d'écriture aléatoires par blocs de 4 Ko (cette taille de bloc est utilisée dans la grande majorité des opérations réelles). Le test est effectué deux fois - sans file d'attente de requêtes et avec une file d'attente de requêtes d'une profondeur de 4 commandes (typique pour les applications de bureau qui fonctionnent activement avec un système de fichiers ramifié). Les blocs de données sont alignés par rapport aux pages de mémoire flash des lecteurs. L'évaluation de la vitesse est effectuée pendant trois minutes, après quoi la moyenne est calculée.
Établir la dépendance des vitesses de lecture et d'écriture aléatoires lors de l'exploitation d'un lecteur avec des blocs de 4 Ko sur la profondeur de la file d'attente des requêtes (allant de une à 32 commandes). Les blocs de données sont alignés par rapport aux pages de mémoire flash des lecteurs. L'évaluation de la vitesse est effectuée pendant trois minutes, après quoi la moyenne est calculée.
Établir la dépendance des vitesses de lecture et d'écriture aléatoires lorsque le lecteur fonctionne avec des blocs de tailles différentes. Des blocs d'une taille allant de 512 octets à 256 Ko sont utilisés. La profondeur de la file d'attente des requêtes pendant le test est de 4 commandes. Les blocs de données sont alignés par rapport aux pages de mémoire flash des lecteurs. L'évaluation de la vitesse est effectuée pendant trois minutes, après quoi la moyenne est calculée.
Mesurer les performances sous des charges de travail multithread mixtes et déterminer leur dépendance au rapport entre les opérations de lecture et d'écriture. Le test est effectué deux fois : pour des lectures et écritures séquentielles dans des blocs de 128 Ko, exécutées dans deux threads indépendants, et pour des opérations aléatoires avec des blocs de 4 Ko, exécutées dans quatre threads. Dans les deux cas, le rapport entre les opérations de lecture et d’écriture varie par incréments de 20 pour cent. L'évaluation de la vitesse est effectuée pendant trois minutes, après quoi la moyenne est calculée.
Etude de la dégradation des performances des SSD lors du traitement d'un flux continu d'opérations d'écriture aléatoires. Des blocs d'une taille de 4 Ko et une profondeur de file d'attente de 32 commandes sont utilisés. Les blocs de données sont alignés par rapport aux pages de mémoire flash des lecteurs. La durée du test est de deux heures, des mesures de vitesse instantanée sont effectuées toutes les secondes. À la fin du test, la capacité du lecteur à restaurer ses performances à ses valeurs d'origine est en outre vérifiée grâce au fonctionnement de la technologie de récupération de place et après l'exécution de la commande TRIM.

CrystalDiskMark 5.0.2
Test synthétique qui fournit des indicateurs de performances typiques pour les disques SSD, mesurés sur une zone de disque de 1 Go « au-dessus » du système de fichiers. Parmi l'ensemble des paramètres pouvant être évalués à l'aide de cet utilitaire, nous prêtons attention à la vitesse de lecture et d'écriture séquentielles, ainsi qu'aux performances de lecture et d'écriture aléatoires de blocs de 4 Ko sans file d'attente de requêtes et avec une profondeur de file d'attente de 32 commandes.
PCMark 8 2.0
Un test basé sur l'émulation de la charge réelle du disque, typique de diverses applications populaires. Sur le lecteur testé, une seule partition est créée dans le système de fichiers NTFS pour l'intégralité du volume disponible et le test de stockage secondaire est exécuté dans PCMark 8. Les résultats des tests prennent en compte à la fois les performances finales et la vitesse d'exécution des traces de tests individuelles générées par diverses applications.
Tests de copie de fichiers
Ce test mesure la vitesse de copie des répertoires avec différents types de fichiers, ainsi que la vitesse d'archivage et de décompression des fichiers à l'intérieur du lecteur. Pour la copie, un outil Windows standard est utilisé - l'utilitaire Robocopy ; pour l'archivage et la décompression, l'archiveur 7-zip version 9.22 bêta est utilisé. Les tests impliquent trois ensembles de fichiers : ISO – un ensemble qui comprend plusieurs images disque avec les distributions de programmes ; Programme – un ensemble qui est un progiciel préinstallé ; Travail – un ensemble de fichiers de travail, comprenant des documents bureautiques, des photographies et des illustrations, des fichiers PDF et du contenu multimédia. Chaque ensemble a une taille de fichier totale de 8 Go.

La plate-forme de test est un ordinateur doté d'une carte mère ASUS Z97-Pro, d'un processeur Core i5-4690K avec Intel HD Graphics 4600 intégré et de 16 Go de SDRAM DDR3-2133. Les disques dotés d'une interface SATA se connectent au contrôleur SATA 6 Gb/s intégré au chipset de la carte mère et fonctionnent en mode AHCI. Les disques dotés d'une interface PCI Express sont installés dans le premier emplacement PCI Express 3.0 x16 pleine vitesse. Les pilotes utilisés sont Intel Rapid Storage Technology (RST) 13.5.2.1000 et le pilote Intel Windows NVMe 1.2.0.1002.

Le volume et la vitesse de transfert de données dans les benchmarks sont indiqués en unités binaires (1 Ko = 1024 octets).

En plus des cinq héros principaux de ce test - les disques SSD clients avec une interface PCI Express, nous avons également ajouté le SSD SATA le plus rapide - le Samsung 850 PRO.

De ce fait, la liste des modèles testés a pris la forme suivante :

Intel SSD 750 400 Go (SSDPEDMW400G4, micrologiciel 8EV10135) ;
Kingston HyperX Predator PCIe 480 Go (SHPM2280P2H/480G, micrologiciel OC34L5TA) ;
OCZ RevoDrive 350 480 Go (RVD350-FHPX28-480G, firmware 2.50) ;
Plextor M6e Black Edition 256 Go (PX-256M6e-BK, firmware 1.05) ;
Samsung 850 Pro 256 Go (MZ-7KE256, micrologiciel EXM01B6Q) ;
Samsung SM951 256 Go (MZHPV256HDGL-00000, firmware BXW2500Q).

Performance

Lectures et écritures séquentielles






La nouvelle génération de disques SSD, transférée sur le bus PCI Express, doit avant tout se distinguer par des vitesses de lecture et d'écriture séquentielles élevées. Et c’est exactement ce que nous voyons sur le graphique. Tous les SSD PCIe s'avèrent plus productifs que le meilleur SSD SATA – Samsung 850 PRO. Cependant, même quelque chose d'aussi simple que des lectures et écritures séquentielles montre d'énormes différences entre les SSD de différents fabricants. Par ailleurs, la version du bus PCI Express utilisée n'est pas déterminante. Les meilleures performances ici peuvent être obtenues par le lecteur PCI Express 3.0 x4 du Samsung SM951, et en deuxième position se trouve le Kingston HyperX Predator, fonctionnant via PCI Express 2.0 x4. Le disque NVMe progressif Intel SSD 750 n'arrive qu'à la troisième place.

Lectures aléatoires






Si nous parlons de lecture aléatoire, alors, comme le montrent les schémas, les SSD PCIe ne diffèrent pas particulièrement en vitesse des SSD SATA traditionnels. De plus, cela s'applique non seulement aux disques AHCI, mais également au produit qui fonctionne avec le canal NVMe. En fait, seuls trois participants à ce test peuvent démontrer de meilleures performances que le Samsung 850 PRO pour les opérations de lecture aléatoire sur de petites files d'attente de requêtes : Samsung SM951, Intel SSD 750 et Kingston HyperX Predator.

Malgré le fait que les opérations avec une file d'attente de requêtes profonde ne soient pas typiques des ordinateurs personnels, nous verrons toujours comment les performances du SSD en question dépendent de la profondeur de la file d'attente de requêtes lors de la lecture de blocs de 4 Ko.



Le graphique montre clairement comment les solutions fonctionnant via PCI Express 3.0 x4 peuvent surpasser tous les autres SSD. Les courbes correspondant aux Samsung SM951 et Intel SSD 750 sont nettement plus élevées que les graphiques des autres disques. Sur la base du schéma ci-dessus, une conclusion supplémentaire peut être tirée : l'OCZ RevoDrive 350 est un disque SSD honteusement lent. Dans les opérations de lecture aléatoire, il est environ deux fois moins performant qu'un SSD SATA, en raison de son architecture RAID et de l'utilisation de contrôleurs SandForce de deuxième génération obsolètes.

En plus de cela, nous vous suggérons d’examiner comment la vitesse de lecture aléatoire dépend de la taille du bloc de données :



Ici, la situation est un peu différente. À mesure que la taille des blocs augmente, les opérations commencent à ressembler à des opérations séquentielles, de sorte que non seulement l'architecture et la puissance du contrôleur SSD commencent à jouer un rôle, mais également la bande passante du bus qu'ils utilisent. Sur des blocs plus gros, les meilleures performances sont fournies par Samsung SM951, Intel SSD 750 et Kingston HyperX Predator.

Écritures aléatoires






Quelque part, les avantages de l'interface NVMe à faible latence et du contrôleur Intel SSD 750 à haute parallèle devaient apparaître. De plus, le grand tampon DRAM disponible dans ce SSD permet une mise en cache des données très efficace. En conséquence, le SSD Intel 750 offre des vitesses d'écriture aléatoires inégalées, même lorsque la file d'attente des requêtes est minime.

Vous pouvez voir plus clairement ce qui arrive aux performances d'écriture aléatoire à mesure que la profondeur de la file d'attente des requêtes augmente dans le graphique suivant, qui montre la dépendance de la vitesse d'écriture aléatoire en blocs de 4 Ko sur la profondeur de la file d'attente des requêtes :



Les performances du Intel SSD 750 évoluent jusqu'à ce que la profondeur de la file d'attente atteigne 8 commandes. Il s’agit d’un comportement typique des SSD grand public. Cependant, le nouveau produit d'Intel est différent dans la mesure où ses vitesses d'écriture aléatoire sont nettement supérieures à celles de tous les autres disques SSD, y compris les modèles PCIe les plus rapides comme le Samsung SM951 ou le Kingston HyperX Predator. En d’autres termes, pour les charges de travail d’écriture occasionnelles, le SSD Intel 750 offre des performances fondamentalement meilleures que n’importe quel autre SSD. Autrement dit, passer à l’interface NVMe permet d’améliorer la vitesse d’écriture aléatoire. Et c'est certainement une caractéristique importante, mais surtout pour les lecteurs de serveur. En fait, l'Intel SSD 750 est précisément un proche parent de modèles tels que les Intel DC P3500, P3600 et P3700.

Le graphique suivant montre les performances d'écriture aléatoire en fonction de la taille du bloc de données.



À mesure que la taille des blocs augmente, le SSD Intel 750 perd son avantage inconditionnel. Le Samsung SM951 et le Kingston HyperX Predator commencent à produire à peu près les mêmes performances.


À mesure que les SSD deviennent moins chers, ils ne sont plus utilisés comme disques purement système et deviennent des disques de travail réguliers. Dans de telles situations, le SSD reçoit non seulement une charge raffinée sous forme d'écriture ou de lecture, mais également des requêtes mixtes, lorsque les opérations de lecture et d'écriture sont initiées par différentes applications et doivent être traitées simultanément. Cependant, le fonctionnement en duplex intégral reste un problème important pour les contrôleurs SSD modernes. Lorsque vous mélangez des lectures et des écritures dans la même file d'attente, la vitesse de la plupart des SSD grand public diminue sensiblement. C'est la raison pour laquelle nous avons mené une étude distincte, dans laquelle nous vérifions le fonctionnement des SSD lorsqu'il est nécessaire de traiter des opérations séquentielles arrivant entre elles. Les deux graphiques suivants montrent le cas le plus typique pour les ordinateurs de bureau, où le rapport entre les opérations de lecture et d'écriture est de 4 pour 1.






Avec une charge mixte séquentielle avec des opérations de lecture prédominantes, typique des ordinateurs personnels conventionnels, le Samsung SM951 et le Kingston HyperX Predator offrent les meilleures performances. Une charge mixte aléatoire s'avère être un test plus difficile pour les SSD et laisse le Samsung SM951 en tête, mais l'Intel SSD 750 passe en deuxième position. Dans le même temps, le Plextor M6e Black Edition, le Kingston HyperX Predator et l'OCZ RevoDrive 350 s'avèrent généralement nettement pire qu'un SSD SATA classique.

La paire de graphiques suivante donne une image plus détaillée des performances sous des charges mixtes, montrant la dépendance de la vitesse du SSD sur le rapport des opérations de lecture et d'écriture sur celui-ci.






Tout ce qui est dit ci-dessus est bien confirmé par les graphiques ci-dessus. Avec une charge mixte avec des opérations séquentielles, les meilleures performances sont affichées par le Samsung SM951, qui ressemble à un poisson dans l'eau lorsque l'on travaille avec des données série. Pour les opérations mixtes arbitraires, la situation est légèrement différente. Les deux disques Samsung, le SM951 fonctionnant via PCI Express 3.0 x4 et le SATA 850 PRO standard, donnent de très bons résultats dans ce test, surpassant presque tous les autres SSD. Dans certains cas, seul le SSD Intel 750 peut y résister, qui, grâce au système de commande NVMe, est parfaitement optimisé pour travailler avec des écritures aléatoires. Et lorsque la part des enregistrements dans le flux de transactions mixtes atteint 80 % ou plus, cela fait un bond en avant.

Résultats dans CrystalDiskMark

CrystalDiskMark est une application de référence simple et populaire qui s'exécute sur le système de fichiers et produit des résultats facilement reproductibles par les utilisateurs ordinaires. Les indicateurs de performance obtenus devraient compléter les graphiques détaillés que nous avons construits sur la base de tests dans IOMeter.












Les quatre diagrammes présentés n'ont qu'une valeur théorique et montrent des performances maximales qui ne sont pas atteignables avec les charges de travail client typiques. Il n'y a jamais de profondeur de file d'attente de requêtes de 32 commandes dans les ordinateurs personnels, mais lors de tests spéciaux, cela vous permet d'obtenir des indicateurs de performances maximaux. Et dans ce cas, les performances en tête sont largement données par l'Intel SSD 750, qui possède une architecture héritée des disques de serveur, où une grande profondeur de file d'attente de requêtes est tout à fait normale.












Mais ces quatre diagrammes présentent un intérêt pratique : ils affichent les performances sous charge, ce qui est typique des ordinateurs personnels. Et ici, les meilleures performances sont données par le Samsung SM951, qui n'est en retard sur l'Intel SSD 750 qu'avec des écritures aléatoires de 4 Ko.

PCMark 8 2.0, cas d'usage réels

Le package de test Futuremark PCMark 8 2.0 est intéressant car il n'est pas de nature synthétique, mais au contraire est basé sur le fonctionnement d'applications réelles. Lors de son passage, des scénarios réels-traces d'utilisation du disque dans des tâches de bureau courantes sont reproduits et la vitesse de leur exécution est mesurée. La version actuelle de ce test simule des charges de travail provenant d'applications de jeu réelles de Battlefield 3 et World of Warcraft et de progiciels d'Abobe et Microsoft : After Effects, Illustrator, InDesign, Photoshop, Excel, PowerPoint et Word. Le résultat final est calculé sous la forme de la vitesse moyenne affichée par les lecteurs lors du passage des itinéraires de test.



Le test PCMark 8 2.0, qui évalue les performances des systèmes de stockage dans des applications réelles, nous indique clairement qu'il n'existe que deux disques PCIe, dont la vitesse est fondamentalement supérieure à celle des modèles classiques dotés d'une interface SATA. Il s'agit du Samsung SM951 et du Intel SSD 750, qui remportent de nombreux autres tests. D'autres SSD PCIe, par exemple le Plextor M6e Black Edition et le Kingston HyperX Predator, sont en retard de plus d'une fois et demie par rapport aux leaders. Eh bien, l'OCZ ReveDrive 350 démontre des performances franchement médiocres. Il est plus de deux fois plus lent que les meilleurs SSD PCIe et encore plus lent que le Samsung 850 PRO, qui fonctionne via une interface SATA.

Le résultat intégral de PCMark 8 doit être complété par des indicateurs de performances produits par les lecteurs flash lors de la réussite de traces de test individuelles qui simulent diverses options de charge réelles. Le fait est que sous différentes charges, les lecteurs flash se comportent souvent légèrement différemment.






























Quelle que soit l'application dont nous parlons, dans tous les cas, les performances les plus élevées sont fournies par l'un des SSD dotés d'une interface PCI Express 3.0 x4 : soit Samsung SM951, soit Intel SSD 750. Il est intéressant de noter que dans certains cas, d'autres SSD PCIe n'offrent généralement que des vitesses. au niveau des SSD SATA. En fait, l'avantage des mêmes Kingston HyperX Predator et Plextor M6e Black Edition par rapport au Samsung 850 PRO n'est visible que dans Adobe Photoshop, Battlefield 3 et Microsoft Word.

Copie de fichiers

Gardant à l'esprit que les disques SSD sont de plus en plus introduits dans les ordinateurs personnels, nous avons décidé d'ajouter à notre méthodologie une mesure des performances lors des opérations courantes sur les fichiers - lors de la copie et de l'utilisation des archiveurs - qui sont effectuées « à l'intérieur » du disque. . Il s'agit d'une activité de disque typique qui se produit lorsque le SSD n'agit pas comme un lecteur système, mais comme un disque ordinaire.









Dans les tests de copie, les leaders sont toujours les mêmes Samsung SM951 et Intel SSD 750. Cependant, si nous parlons de gros fichiers séquentiels, alors le Kingston HyperX Predator peut rivaliser avec eux. Je dois dire qu'avec une simple copie, presque tous les SSD PCIe s'avèrent plus rapides que le Samsung 850 PRO. Il n’y a qu’une seule exception : le Plextor M6e Black Edition. Et l'OCZ RevoDrive 350, qui dans d'autres tests s'est systématiquement retrouvé dans la position d'un outsider désespéré, surpasse de manière inattendue non seulement le SSD SATA, mais également le SSD PCIe le plus lent.

Le deuxième groupe de tests a été réalisé lors de l'archivage et du désarchivage d'un répertoire contenant des fichiers de travail. La différence fondamentale dans ce cas est que la moitié des opérations sont effectuées avec des fichiers séparés et l'autre moitié avec un seul gros fichier d'archive.






La situation est similaire lorsque l'on travaille avec des archives. La seule différence est qu'ici le Samsung SM951 parvient à se démarquer avec confiance de tous ses concurrents.

Comment fonctionnent TRIM et le garbage collection en arrière-plan

Lors du test de divers SSD, nous vérifions toujours comment ils gèrent la commande TRIM et s'ils sont capables de collecter les déchets et de restaurer leurs performances sans l'aide du système d'exploitation, c'est-à-dire dans une situation où la commande TRIM n'est pas émise. De tels tests ont également été effectués cette fois-ci. La conception de ce test est standard : après avoir créé une longue charge continue d'écriture de données, ce qui entraîne une dégradation de la vitesse d'écriture, nous désactivons le support TRIM et attendons 15 minutes, pendant lesquelles le SSD peut essayer de récupérer tout seul en utilisant son propre garbage collection. algorithme, mais sans aide extérieure du système d'exploitation, et mesurer la vitesse. Ensuite, la commande TRIM est forcée sur le variateur - et après une courte pause, la vitesse est à nouveau mesurée.

Les résultats de ces tests sont présentés dans le tableau suivant, qui montre pour chaque modèle testé s'il répond à TRIM en effaçant la mémoire flash inutilisée et s'il peut procurer des pages de mémoire flash propres pour des opérations futures si aucune commande TRIM ne lui est envoyée. Pour les lecteurs capables d'effectuer un garbage collection sans la commande TRIM, nous avons également indiqué la quantité de mémoire flash libérée indépendamment par le contrôleur SSD pour des opérations futures. Si le disque est utilisé dans un environnement sans support TRIM, c'est exactement la quantité de données qui peuvent être enregistrées sur le disque avec une vitesse initiale élevée après une inactivité.



Malgré le fait qu'une prise en charge de haute qualité de la commande TRIM soit devenue une norme industrielle, certains fabricants considèrent qu'il est acceptable de vendre des lecteurs qui n'implémentent pas pleinement cette commande. Un exemple aussi négatif est démontré par l'OCZ Revodrive 350. Formellement, il comprend TRIM, et essaie même de faire quelque chose lors de la réception de cette commande, mais il n'est pas question d'un retour complet de la vitesse d'écriture à ses valeurs d'origine. Et cela n'a rien d'étrange : le Revodrive 350 est basé sur des contrôleurs SandForce, qui se distinguent par leur dégradation irréversible des performances. Ainsi, il est également présent dans le Revodrive 350.

Tous les autres SSD PCIe fonctionnent avec TRIM, tout comme leurs homologues SATA. C'est-à-dire idéal : dans les systèmes d'exploitation qui envoient cette commande aux disques, les performances restent à un niveau constamment élevé.

Cependant, nous voulons plus : un lecteur de haute qualité devrait être capable d'effectuer un garbage collection sans émettre la commande TRIM. Et ici, le Plextor M6e Black Edition se démarque - un disque capable de libérer indépendamment beaucoup plus de mémoire flash pour les opérations à venir que ses concurrents. Bien que, bien sûr, à un degré ou à un autre, le garbage collection autonome fonctionne pour tous les SSD que nous avons testés, à l'exception du Samsung SM951. En d'autres termes, lors d'une utilisation normale dans des environnements modernes, les performances du Samsung SM951 ne se dégraderont pas, mais dans les cas où TRIM n'est pas pris en charge, ce SSD n'est pas recommandé.

conclusions

Nous devrions probablement commencer à résumer les résultats en affirmant que les SSD grand public avec interface PCI Express ne sont plus des produits exotiques ou expérimentaux, mais tout un segment de marché dans lequel jouent les disques SSD les plus rapides pour les passionnés. Naturellement, cela signifie également qu'il n'y a eu aucun problème avec les SSD PCIe depuis longtemps : ils prennent en charge toutes les fonctions des SSD SATA, mais en même temps ils sont plus productifs et disposent parfois de nouvelles technologies intéressantes.

Dans le même temps, le marché des SSD PCIe clients n'est pas si encombré et jusqu'à présent, seules les entreprises ayant un potentiel d'ingénierie élevé ont pu entrer dans la cohorte des fabricants de tels disques SSD. Cela est dû au fait que les développeurs indépendants de contrôleurs SSD produits en série ne disposent pas encore de solutions de conception leur permettant de commencer à produire des disques PCIe avec un effort d'ingénierie minimal. Par conséquent, chacun des SSD PCIe actuellement présentés dans les rayons des magasins est original et unique à sa manière.

Lors de ces tests, nous avons pu rassembler les cinq SSD PCIe les plus populaires et les plus courants, destinés à fonctionner dans le cadre d'ordinateurs personnels. Et sur la base des résultats de leur connaissance, il devient clair que les acheteurs qui souhaitent passer à l'utilisation de disques SSD avec une interface progressive n'auront pas encore de problème de choix sérieux. Dans la plupart des cas, le choix sera clair, tant les modèles testés diffèrent par leurs qualités de consommateur.

Dans l’ensemble, le modèle SSD PCIe le plus attractif s’est avéré être SamsungSM951. Il s'agit d'une solution brillante de l'un des leaders du marché, fonctionnant sur le bus PCI Express 3.0 x4, qui s'avère non seulement capable de fournir les plus hautes performances dans les charges de travail courantes typiques, mais est également nettement moins cher que tous les autres disques PCIe.

Cependant, le Samsung SM951 n'est toujours pas parfait. Premièrement, il ne contient aucune technologie spéciale visant à augmenter la fiabilité, mais on aimerait toujours en avoir dans les produits haut de gamme. Deuxièmement, ce SSD est assez difficile à trouver à la vente en Russie - il n'est pas fourni dans notre pays par les canaux officiels. Heureusement, nous pouvons suggérer de prêter attention à une bonne alternative : Intel SSD 750. Ce SSD fonctionne également via PCI Express 3.0 x4 et n'est que légèrement derrière le Samsung SM951. Mais il s'agit d'un parent direct des modèles de serveur, il présente donc une grande fiabilité et fonctionne via le protocole NVMe, ce qui lui permet de démontrer une vitesse inégalée dans les opérations d'écriture aléatoires.

En principe, comparés au Samsung SM951 et au Intel SSD 750, les autres SSD dotés d'une interface PCIe semblent plutôt faibles. Cependant, il existe encore des situations dans lesquelles ils devront préférer un autre modèle de SSD PCIe. Le fait est que les disques avancés Samsung et Intel ne sont compatibles qu'avec les cartes mères modernes construites sur des chipsets Intel de la quatre-vingt-dixième ou centième série. Dans les systèmes plus anciens, ils ne peuvent fonctionner que comme un « deuxième disque » et il sera impossible de charger le système d'exploitation à partir d'eux. Par conséquent, ni le Samsung SM951 ni l'Intel SSD 750 ne sont adaptés à la mise à niveau des plates-formes des générations précédentes, et le choix devra se porter sur le disque. Prédateur Kingston HyperX, qui, d'une part, peut fournir de bonnes performances, et d'autre part, est garanti de ne pas avoir de problèmes de compatibilité avec les anciennes plates-formes.

J'ai ajouté deux ports USB 3.0 à mon ordinateur à l'aide de cette carte. La carte mère n'a pas de ports natifs et il n'y a pas encore envie de mettre à niveau. De plus, selon le degré d'antiquité, cela entraîne également un changement de processeur, de RAM, d'alimentation et de boîtier. Je me suis donc contenté d'un contrôleur PCI-E.

Il n'y a aucun problème à acheter un tel contrôleur dans les magasins hors ligne. Mais il me semblait que le prix était trop élevé pour une si petite chose. En général, je n'ai pas remarqué qu'il était rentable de commander des composants dans les félins, mais ici, en DE, le contrôleur s'est avéré être à moitié prix.
J'ai décidé cela pour 400 roubles. tu peux l'acheter parce que L'appareil est utile. Si vous disposez d'un disque dur externe, la connexion via USB 3.0 est plus agréable.

Je l'ai acheté il y a trois mois. Contenu de l'emballage : boîte contenant le contrôleur, adaptateur secteur supplémentaire, mini-disque avec pilotes.

regarder


La boîte n'est pas comme en magasin. La carte elle-même est dans l'ordinateur, je ne l'ai pas retirée, elle ressemble exactement à la description.


Je l'ai installé dans un PCI-E gratuit, utilisé x4, celui de la deuxième carte vidéo. Un adaptateur secteur n'était pas nécessaire, car J'ai retiré le cordon de l'alimentation qui alimente le lecteur.

regarder




Pour installer sous Windows 7 j'ai utilisé le driver du disque. Défini comme NEC, comme dans les instructions. Il indique également que MAC et Linux ne sont pas pris en charge.

regarder



En termes d'utilisation, il n'est pas différent des ports USB classiques. J'ai juste dû acheter une nouvelle rallonge.

Résultats lors de l'utilisation d'un disque dur externe (ST32000542AS) dans une station d'accueil (AgeStar) :
Vitesse d'enregistrement séquentiel ~70 Mb/s.
Vitesse de lecture séquentielle ~80 Mb/s.

Par rapport à l'USB3 intégré sur les nouvelles cartes mères. planches - le résultat est à peu près le même.

En général, vous pouvez l'acheter. Il copie vraiment plus rapidement que les anciennes clés USB et est peu coûteux.

Je prévois d'acheter +8 Ajouter aux Favoris J'ai aimé la critique +9 +13

Modules WiFi et autres appareils similaires. Intel a commencé à développer ce bus en 2002. Aujourd'hui, l'organisation à but non lucratif PCI Special Interest Group développe de nouvelles versions de ce bus.

À l'heure actuelle, le bus PCI Express a complètement remplacé des bus obsolètes tels que AGP, PCI et PCI-X. Le bus PCI Express est situé au bas de la carte mère en position horizontale.

PCI Express est un bus développé sur la base du bus PCI. Les principales différences entre PCI Express et PCI résident au niveau de la couche physique. Alors que PCI utilise un bus partagé, PCI Express utilise une topologie en étoile. Chaque appareil est connecté à un interrupteur commun avec une connexion séparée.

Le modèle logiciel PCI Express suit largement le modèle PCI. Par conséquent, la plupart des contrôleurs PCI existants peuvent être facilement modifiés pour utiliser le bus PCI Express.

Emplacements PCI Express et PCI sur la carte mère

De plus, le bus PCI Express supporte de nouvelles fonctionnalités telles que :

  • Branchement à chaud d'appareils ;
  • Vitesse d’échange de données garantie ;
  • Gestion de l'énergie;
  • Contrôler l'intégrité des informations transmises ;

Comment fonctionne le bus PCI Express ?

Le bus PCI Express utilise une connexion série bidirectionnelle pour connecter les périphériques. De plus, une telle connexion peut comporter une (x1) ou plusieurs (x2, x4, x8, x12, x16 et x32) lignes distinctes. Plus ces lignes sont utilisées, plus la vitesse de transfert de données que le bus PCI Express peut fournir est élevée. En fonction du nombre de lignes prises en charge, la taille des notes sur la carte mère sera différente. Il existe des emplacements avec une (x1), quatre (x4) et seize (x16) lignes.

Démonstration visuelle des dimensions du slot PCI Express

De plus, n'importe quel périphérique PCI Express peut fonctionner dans n'importe quel emplacement si l'emplacement comporte la même ou plusieurs lignes. Cela vous permet d'installer une carte PCI Express avec un connecteur x1 dans un emplacement x16 de la carte mère.

La bande passante PCI Express dépend du nombre de voies et de la version du bus.

Un sens/deux sens en Gbit/s

Nombre de lignes

PCIe 1.0 2/4 4/8 8/16 16/32 24/48 32/64 64/128
PCIe 2.0 4/8 8/16 16/32 32/64 48/96 64/128 128/256
PCIe 3.0 8/16 16/32 32/64 64/128 96/192 128/256 256/512
PCIe 4.0 16/32 32/64 64/128 128/256 192/384 256/512 512/1024

Exemples de périphériques PCI Express

PCI Express est principalement utilisé pour connecter des cartes vidéo discrètes. Depuis l'avènement de ce bus, absolument toutes les cartes vidéo l'utilisent.

Carte graphique GIGABYTE GeForce GTX 770

Cependant, ce n'est pas tout ce que le bus PCI Express peut faire. Il est utilisé par les fabricants d'autres composants.

Carte son SUS Xonar DX

Disque SSD OCZ Z-Drive R4 Entreprise

Avez-vous aimé l'article? Partager avec des amis: