Introdución ao SSD. Parte 2. Interface

Introdución ao SSD. Parte 2. Interface

В última parte ciclo "Introdución ao SSD" falamos sobre a historia da aparición dos discos. A segunda parte falará sobre as interfaces para interactuar coas unidades.

A comunicación entre o procesador e os periféricos prodúcese segundo convencións predefinidas chamadas interfaces. Estes acordos regulan o nivel físico e de software de interacción.

Interface - un conxunto de medios, métodos e regras de interacción entre elementos do sistema.

A implementación física dunha interface afecta aos seguintes parámetros:

  • rendemento da canle de comunicación;
  • o número máximo de dispositivos conectados simultaneamente;
  • o número de erros que se producen.

As interfaces de disco están construídas Portos de E/S, que é o contrario da E/S de memoria e non ocupa espazo no espazo de enderezos do procesador.

Portos paralelos e serie

Segundo o método de intercambio de datos, os portos de E/S divídense en dous tipos:

  • paralelo;
  • consistente.

Como o nome indica, o porto paralelo envía unha palabra de máquina á vez, que consta de varios bits. Un porto paralelo é o xeito máis sinxelo de intercambiar datos, xa que non require solucións de circuítos complexos. No caso máis sinxelo, cada bit da palabra máquina envíase na súa propia liña de sinal e utilízanse dúas liñas de sinal de servizo para a retroalimentación: Datos listos и Datos aceptados.

Introdución ao SSD. Parte 2. Interface
Os portos paralelos, a primeira vista, escalan ben: máis liñas de sinal: transmítense máis bits á vez e, polo tanto, maior rendemento. Non obstante, debido ao aumento do número de liñas de sinal, prodúcense interferencias entre elas, o que provoca a distorsión das mensaxes transmitidas.

Os portos serie son o contrario dos paralelos. Os datos envíanse un bit á vez, o que reduce o número total de liñas de sinal, pero complica o controlador de E/S. O controlador transmisor recibe a palabra da máquina á vez e debe transmitir un bit á vez, e o controlador receptor á súa vez debe recibir os bits e almacenalos na mesma orde.

Introdución ao SSD. Parte 2. Interface
Un pequeno número de liñas de sinal permítelle aumentar a frecuencia de transmisión de mensaxes sen interferencias.

SCSI

Introdución ao SSD. Parte 2. Interface
Small Computer Systems Interface (SCSI) apareceu en 1978 e foi deseñada orixinalmente para combinar dispositivos de varios perfís nun único sistema. A especificación SCSI-1 proporciona a conexión de ata 8 dispositivos (xunto co controlador), como:

  • escáneres;
  • unidades de cinta (streamers);
  • unidades ópticas;
  • unidades de disco e outros dispositivos.

Orixinalmente SCSI chamábase Shugart Associates System Interface (SASI), pero o comité de estándares non aprobou o nome da empresa, e despois dun día de intercambio de ideas, naceu o nome Small Computer Systems Interface (SCSI). O pai de SCSI, Larry Boucher, pretendía que o acrónimo se pronunciase "sexy", pero Dal Allan ler "sсuzzy" ("contar"). Posteriormente, a pronuncia de "tell" quedou firmemente arraigada neste estándar.

Na terminoloxía SCSI, os dispositivos conectados divídense en dous tipos:

  • iniciadores;
  • dispositivos de destino.

O iniciador envía un comando ao dispositivo de destino, que despois envía unha resposta ao iniciador. Os iniciadores e obxectivos están conectados a un bus SCSI común, que ten un ancho de banda de 1 MB/s no estándar SCSI-5.

A topoloxía "bus común" utilizada impón unha serie de restricións:

  • nos extremos do autobús, necesítanse dispositivos especiais: terminadores;
  • o ancho de banda do bus compártese entre todos os dispositivos;
  • O número máximo de dispositivos conectados simultaneamente é limitado.

Introdución ao SSD. Parte 2. Interface

Os dispositivos do bus identifícanse cun número único chamado ID de destino SCSI. Cada unidade SCSI do sistema está representada por polo menos un dispositivo lóxico, ao que se dirixe un número único dentro do dispositivo físico. Número de unidade lóxica (LUN).

Introdución ao SSD. Parte 2. Interface
Os comandos en SCSI envíanse no formulario bloques de descrición de comandos (Command Descriptor Block, CDB), que consta dun código de operación e parámetros de comando. O estándar describe máis de 200 comandos, divididos en catro categorías:

  • obrigatorio — debe ser compatible co dispositivo;
  • opcional - pódese implementar;
  • Específico do vendedor - utilizado por un fabricante específico;
  • Obsoleto - comandos obsoletos.

Entre os moitos comandos, só tres deles son obrigatorios para os dispositivos:

  • UNIDADE DE PROBA LISTO - comprobación da preparación do dispositivo;
  • SOLICITUDE SENTIDO — solicita o código de erro do comando anterior;
  • mENSAXE — solicitar as principais características do dispositivo.

Despois de recibir e procesar o comando, o dispositivo de destino envía un código de estado ao iniciador, que describe o resultado da execución.

A mellora adicional de SCSI (especificacións SCSI-2 e Ultra SCSI) ampliou a lista de comandos usados ​​e aumentou o número de dispositivos conectados ata 16, e a taxa de intercambio de datos no bus ata 640 MB/s. Dado que SCSI é unha interface paralela, o aumento da frecuencia de intercambio de datos estivo asociado cunha diminución da lonxitude máxima do cable e provocou inconvenientes no seu uso.

Comezando co estándar Ultra-3 SCSI, apareceu o soporte para a "conexión en quente": conectar dispositivos cando a alimentación está acendida.

O primeiro SSD SCSI coñecido foi o M-Systems FFD-350, lanzado en 1995. O disco tiña un custo elevado e non era moi utilizado.

Actualmente, o SCSI paralelo non é unha interface de disco popular, pero o conxunto de comandos aínda se usa activamente nas interfaces USB e SAS.

ATA/PATA

Introdución ao SSD. Parte 2. Interface
interface ATA (Advanced Technology Attachment), tamén coñecido como HOOF (Parallel ATA) foi desenvolvido por Western Digital en 1986. O nome comercial do estándar IDE (Eng. Integrated Drive Electronics - "electrónica integrada na unidade") fixo fincapé nunha importante innovación: o controlador da unidade estaba integrado na unidade e non nunha placa de expansión separada.

A decisión de colocar o controlador dentro da unidade resolveu varios problemas á vez. En primeiro lugar, a distancia da unidade ao controlador diminuíu, o que afectou positivamente o rendemento da unidade. En segundo lugar, o controlador integrado foi "afiado" só para un determinado tipo de unidade e, en consecuencia, era máis barato.

Introdución ao SSD. Parte 2. Interface
ATA, como SCSI, usa un método de E/S paralelo, que se reflicte nos cables utilizados. A conexión de unidades mediante a interface IDE require cables de 40 núcleos, tamén coñecidos como cables planos. As especificacións máis recentes usan talóns de 80 fíos, máis da metade dos cales son bucles de terra para reducir as interferencias nas altas frecuencias.

Hai de dous a catro conectores no cable ATA, un dos cales está conectado á placa base e o resto ás unidades. Ao conectar dous dispositivos nun bucle, un deles debe estar configurado como Mestre, e o segundo como Escravo. O terceiro dispositivo só se pode conectar en modo de só lectura.

Introdución ao SSD. Parte 2. Interface
A posición do puente determina o papel dun dispositivo en particular. Os termos mestre e escravo en relación aos dispositivos non son totalmente correctos, xa que en relación ao controlador, todos os dispositivos conectados son escravos.

Unha innovación especial en ATA-3 é a aparencia Autocontrol, Tecnoloxía de análise e informes (SMART). Cinco empresas (IBM, Seagate, Quantum, Conner e Western Digital) uniron forzas e estandarizaron a tecnoloxía de avaliación da saúde das unidades.

O soporte para unidades de estado sólido existe desde a versión 1998 do estándar, lanzado en 33.3. Esta versión do estándar proporcionou velocidades de transferencia de datos de ata XNUMX MB/s.

O estándar establece requisitos estritos para os cables ATA:

  • o penacho debe ser plano;
  • lonxitude máxima do tren 18 polgadas (45.7 centímetros).

O tren curto e ancho era inconveniente e interfería co arrefriamento. Fíxose cada vez máis difícil aumentar a frecuencia de transmisión con cada versión posterior do estándar, e ATA-7 resolveu o problema radicalmente: a interface paralela foi substituída por unha en serie. Despois diso, ATA adquiriu a palabra Parallel e pasou a ser coñecida como PATA, e a sétima versión do estándar recibiu un nome diferente: Serial ATA. A numeración da versión SATA comezou a partir dun.

SATA

Introdución ao SSD. Parte 2. Interface
O estándar Serial ATA (SATA) presentouse o 7 de xaneiro de 2003 e abordou os problemas do seu predecesor cos seguintes cambios:

  • porto paralelo substituído por serial;
  • cable ancho de 80 fíos substituído por 7 fíos;
  • a topoloxía "bus común" foi substituída por unha conexión "punto a punto".

Aínda que SATA 1.0 (SATA/150, 150 MB/s) era lixeiramente máis rápido que ATA-6 (UltraDMA/130, 130 MB/s), o paso á comunicación en serie estaba "asentando o terreo" para as velocidades.

Dezaseis liñas de sinal para a transmisión de datos en ATA foron substituídas por dous pares trenzados: un para a transmisión e o segundo para a recepción. Os conectores SATA están deseñados para ser máis resistentes a múltiples reconexións e a especificación SATA 1.0 fixo posible a conexión en quente.

Algúns pinos das unidades son máis curtos que todos os demais. Isto faise para soportar o "intercambio en quente" (Hot Swap). Durante o proceso de substitución, o dispositivo "perde" e "atopa" as liñas nunha orde predeterminada.

Pouco máis dun ano despois, en abril de 2004, lanzouse a segunda versión da especificación SATA. Ademais de acelerar ata 3 Gb/s, SATA 2.0 introduciu tecnoloxía Cola de comandos nativos (NCQ). Os dispositivos con compatibilidade con NCQ poden organizar de forma independente a orde de execución dos comandos entrantes para acadar o máximo rendemento.

Introdución ao SSD. Parte 2. Interface
Os tres anos seguintes, o grupo de traballo SATA traballou para mellorar a especificación existente e a versión 2.6 introduciu conectores compactos Slimline e micro SATA (uSATA). Estes conectores son unha versión máis pequena do conector SATA orixinal e están deseñados para unidades ópticas e pequenas unidades de portátiles.

Aínda que SATA de segunda xeración tiña suficiente ancho de banda para HDD, os SSD esixían máis. En maio de 2009, lanzouse a terceira versión da especificación SATA cun ancho de banda aumentado a 6 Gb/s.

Introdución ao SSD. Parte 2. Interface
Prestouse especial atención ás unidades de estado sólido na edición SATA 3.1. Apareceu un conector Mini-SATA (mSATA), deseñado para conectar unidades de estado sólido en portátiles. A diferenza de Slimline e uSATA, o novo conector parecía un PCIe Mini, aínda que non era eléctricamente compatible con PCIe. Ademais do novo conector, SATA 3.1 presumía da capacidade de poñer en cola os comandos TRIM con comandos de lectura e escritura.

O comando TRIM notifica ao SSD os bloques de datos que non levan carga útil. Antes de SATA 3.1, este comando limparía as cachés e suspendía as operacións de E/S, seguido dun comando TRIM. Este enfoque deteriorou o rendemento do disco durante as operacións de eliminación.

A especificación SATA non mantivo o rápido crecemento das velocidades de acceso para os SSD, o que levou a un compromiso en 2013 chamado SATA Express no estándar SATA 3.2. En lugar de duplicar de novo o ancho de banda de SATA, os desenvolvedores utilizaron o bus PCIe moi utilizado, cuxa velocidade supera os 6 Gb/s. As unidades con soporte SATA Express adquiriron o seu propio factor de forma chamado M.2.

SAS

Introdución ao SSD. Parte 2. Interface
O estándar SCSI, "competindo" co ATA, tampouco se quedou parado e só un ano despois da aparición do Serial ATA, en 2004, renaceu nunha interface serie. O nome da nova interface é SCSI conectado en serie (XIXO).

Aínda que SAS herdou o conxunto de comandos SCSI, os cambios foron significativos:

  • interface serie;
  • cable de 29 fíos con fonte de alimentación;
  • conexión punto a punto

Tamén se herdou a terminoloxía SCSI. O controlador aínda se chama iniciador e os dispositivos conectados chámanse obxectivo. Todos os dispositivos de destino e o iniciador forman un dominio SAS. En SAS, o ancho de banda de conexión non depende do número de dispositivos do dominio, xa que cada dispositivo utiliza a súa propia canle dedicada.

O número máximo de dispositivos conectados simultaneamente nun dominio SAS, segundo a especificación, supera os 16 mil e, en lugar dun ID SCSI, úsase un identificador para o enderezo Nome mundial (WWN).

WWN é un identificador único de 16 bytes de lonxitude, similar ao enderezo MAC dos dispositivos SAS.

Introdución ao SSD. Parte 2. Interface
A pesar das semellanzas entre os conectores SAS e SATA, estes estándares non son totalmente compatibles. Non obstante, unha unidade SATA pódese conectar a un conector SAS, pero non viceversa. A compatibilidade entre as unidades SATA e o dominio SAS ofrécese mediante o SATA Tunneling Protocol (STP).

A primeira versión do estándar SAS-1 ten un ancho de banda de 3 Gb/s, e a máis moderna, SAS-4, mellorou esta cifra en 7 veces: 22,5 Gb/s.

PCIe

Introdución ao SSD. Parte 2. Interface
Peripheral Component Interconnect Express (PCI Express, PCIe) é unha interface en serie para a transferencia de datos, que apareceu en 2002. O desenvolvemento foi iniciado por Intel e, posteriormente, transferido a unha organización especial: o Grupo de Interese Especial PCI.

A interface serie PCIe non foi unha excepción e converteuse nunha continuación lóxica do PCI paralelo, que está deseñado para conectar tarxetas de expansión.

PCI Express é significativamente diferente de SATA e SAS. A interface PCIe ten un número variable de carrís. O número de liñas é igual a potencias de dous e oscila entre 1 e 16.

O termo "carril" en PCIe non se refire a un carril de sinal específico, senón a un enlace de comunicación full-duplex separado que consta dos seguintes carrís de sinal:

  • recibir+ e recibir-;
  • transmisión+ e transmisión-;
  • catro fíos de terra.

O número de carrís PCIe afecta directamente ao ancho de banda máximo da conexión. O estándar PCI Express 4.0 actual permítelle acadar 1.9 GB/s nunha soa liña e 31.5 GB/s cando se usan 16 liñas.

Introdución ao SSD. Parte 2. Interface
Os "apetitos" das unidades de estado sólido están crecendo moi rapidamente. Tanto SATA como SAS non puideron aumentar o seu ancho de banda para seguir o ritmo dos SSD, o que levou á introdución de SSD conectados a PCIe.

Aínda que as tarxetas de complemento PCIe están enroscadas, PCIe é intercambiable en quente. Os pinos curtos PRSNT (presente en inglés - presente) aseguran que a tarxeta estea completamente instalada na ranura.

As unidades de estado sólido conectadas mediante PCIe están reguladas por un estándar separado Especificación da interface do controlador de host de memoria non volátil e están plasmados nunha variedade de factores de forma, pero falaremos deles na seguinte parte.

Unidades Remotas

Ao crear grandes almacéns de datos, existía a necesidade de protocolos que permitan conectar unidades situadas fóra do servidor. A primeira solución neste ámbito foi Internet SCSI (iSCSI), desenvolvido por IBM e Cisco en 1998.

A idea detrás do protocolo iSCSI é simple: os comandos SCSI son "envolturas" en paquetes TCP/IP e envíanse á rede. A pesar da conexión remota, dá a ilusión aos clientes de que a unidade está conectada localmente. A rede de área de almacenamento (SAN) baseada en iSCSI pódese construír sobre a infraestrutura de rede existente. O uso de iSCSI reduce significativamente o custo de organización dunha SAN.

iSCSI ten unha opción "premium" - Protocolo de canle de fibra (FCP). SAN que usa FCP está construído sobre liñas de comunicación de fibra óptica dedicadas. Este enfoque require equipos de rede óptica adicionais, pero é estable e de alto rendemento.

Existen moitos protocolos para enviar comandos SCSI a través de redes informáticas. Non obstante, só hai un estándar que resolve o problema contrario e permite enviar paquetes IP a través do bus SCSI: IP sobre SCSI.

A maioría dos protocolos SAN usan o conxunto de comandos SCSI para xestionar as unidades, pero hai excepcións, como o simple ATA sobre Ethernet (AOE). O protocolo AoE envía comandos ATA en paquetes Ethernet, pero as unidades aparecen como SCSI no sistema.

Coa chegada das unidades NVM Express, os protocolos iSCSI e FCP xa non cumpren os requisitos de rápido crecemento dos SSD. Xurdiron dúas solucións:

  • eliminación do bus PCI Express fóra do servidor;
  • creación do protocolo NVMe sobre Fabrics.

A eliminación do bus PCIe crea hardware de conmutación complexo pero non cambia o protocolo.

O protocolo NVMe sobre Fabrics converteuse nunha boa alternativa a iSCSI e FCP. NVMe-oF usa unha conexión de fibra óptica e o conxunto de comandos NVM Express.

DDR-T

Introdución ao SSD. Parte 2. Interface
Os estándares iSCSI e NVMe-oF solucionan o problema de conectar unidades remotas como locais, mentres que Intel foi ao outro lado e achegou a unidade local o máis posible ao procesador. A elección recaeu nas ranuras DIMM nas que está conectada a RAM. O ancho de banda máximo DDR4 é de 25 GB/s, que é moito máis rápido que o bus PCIe. Así naceu o SSD de memoria persistente Intel® Optane™ DC.

Inventouse un protocolo para conectar unha unidade a ranuras DIMM DDR-T, compatible física e eléctricamente con DDR4, pero que require un controlador especial que vexa a diferenza entre unha barra de memoria e unha unidade. A velocidade de acceso á unidade é menor que a RAM, pero máis que a NVMe.

DDR-T só está dispoñible con procesadores Intel® Cascade Lake ou posteriores.

Conclusión

Case todas as interfaces percorreron un longo camiño dende a transmisión de datos en serie ata en paralelo. As velocidades dos SSD están a disparar, onte os SSD eran unha curiosidade e hoxe NVMe xa non é unha sorpresa.

No noso laboratorio Laboratorio Selectel podes probar as unidades SSD e NVMe ti mesmo.

Só os usuarios rexistrados poden participar na enquisa. Rexístrate, por favor.

As unidades NVMe substituirán os SSD clásicos nun futuro próximo?

  • 55.5%Si 100

  • 44.4%No 80

Votaron 180 usuarios. 28 usuarios abstivéronse.

Fonte: www.habr.com

Engadir un comentario