ssd - jeuazarru.comjeuazarru.com/wp-content/uploads/2015/11/ssd.pdf · capaz de realizar millones...

21
Universidad Cat ´ olica ”Nuestra Se ˜ nora de la Asunci ´ on” Ingenier ´ ıa inform ´ atica Teor ´ ıa y Aplicaci ´ on de la Inform ´ atica 2 SSD Mario Acosta Profesor: Ing. Juan Eduardo Urraza 29 de Noviembre de 2015 L A T E X

Upload: vucong

Post on 23-Jul-2018

219 views

Category:

Documents


0 download

TRANSCRIPT

Universidad Catolica”Nuestra Senora de la Asuncion”

Ingenierıa informatica

Teorıa y Aplicacion de la Informatica 2

SSD

Mario AcostaProfesor:

Ing. Juan Eduardo Urraza

29 de Noviembre de 2015

LATEX

TAI2 Solid States Drives

Indice

1. Jerarquia de Memoria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

2. SSD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

3. Primeras etapas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

4. Componentes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

4.1. Controlador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

4.2. Memoria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

4.2.1. DRAM-based . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

4.2.2. Flash-memory-based . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

4.2.3. NAND . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

4.2.4. NOR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

4.2.5. Cache . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

4.3. Tipos de NAND . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

4.3.1. Celda de nivel individual (SLC) . . . . . . . . . . . . . . . . . . . . . . . . 9

4.3.2. Celda de nivel multiple (MLC) . . . . . . . . . . . . . . . . . . . . . . . . 9

4.3.3. Triple bit por celda (TLC) . . . . . . . . . . . . . . . . . . . . . . . . . . 10

4.4. Interfaz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

5. Bloques y paginas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

6. Garbage Collection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

6.1. Introduciendo TRIM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

7. Configuraciones(Form Factors) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

7.1. HDD Standards . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

7.2. Card Standards . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

7.2.1. mSATA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

7.2.2. M.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

7.3. Disk-on-a-module Standards . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

8. Modos de Comandos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

8.1. AHCI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

8.2. NVMe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

8.2.1. Problemas de Booteo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

9. SSD vs HDD (Ventajas y Desventajas) . . . . . . . . . . . . . . . . . . . . . . . . 18

9.1. Costo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

9.2. Capacidad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

9.3. Velocidad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

9.4. Fragmentacion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

9.5. Ruidos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

Pagina 1

Solid States Drives TAI2

1. Jerarquia de Memoria

Para entender la relevancia de los SSD o unidades de estado solido dentro de la informatica

hoy es importante entender cual es el lugar que ocupan los dispositivos de almacenamiento dentro

de la jerarquıa de memoria segun la siguiente figura.[1]

Fig. 1: Jerarquıa de Memoria.

Los registros son los que se encuentran directamente dentro del procesador y su tiempo de

acceso es de 0 ciclos del mismo, por lo tanto son de acceso practicamente instantaneo. Ademas

de los registros existen distintos niveles de cache en el mismo pero el acceso a los mismos tiene

un tiempo de espera de 3 a 4 ciclos para la cache L1, 7 a 20 ciclos para la cache L2 y aun mas

ciclos para la cache L3 cuyo tamano es ampliamente superior, en el orden de magnitud de varios

Megabytes (MB).

La memoria principal (RAM) posee un tiempo de acceso de 5 nanosegundos para las DDR3

convencionales pero debido a que dicha memoria no se encuentra dentro del procesador sino mas

alejada fısicamente, los tiempos de acceso reales aumentan hasta los 40-80 nanosegundos hasta

llegar al procesador.

Es un axioma dentro de la jerarquıa de memoria que a medida que descendemos en la misma

los tamanos van aumentando al igual que los tiempos de acceso mientras que los costos disminuyen

drasticamente hasta llegar al nivel mas bajo que es el de almancenamiento. Es imposible dejar

de notar como el tiempo de acceso vario del orden de algunos nanosegunos hasta llegar a la cifra

de varios millones.

Los discos duros hoy en dıa poseen una basta capacidad pero tambien son drasticamente

mas lentos comparado a los otros niveles dentro de la jerarquıa de memoria, mientras que el

procesador espera datos de la memoria principal transcurren algunos ciclos, por debajo de los

100 ciclos, pero la espera de datos que provienen del disco duro la espera es de algunos millones

de ciclos.

Ademas de ello, el tiempo de respuesta de un disco duro es variable debido a que el medio

se encuentra en movimiento por lo cual una aplicacion puede requerir acceder a datos que se

encuentran en distintas posiciones por lo cual se necesita de cierto tiempo a que el cabezal se

ubique en la pista necesaria y luego esperar la rotacion del mismo para comenzar a leer los datos,

sin embargo existen varias soluciones para disminuir la cantidad de tiempo de espera como por

Pagina 2

TAI2 Solid States Drives

ejemplo predecir los proximos datos a ser requeridos y cargarlos en la memoria principal antes

que sean pedidos.

De cierta forma a los ojos del humano no existe demasiada diferencia entre la transicion de

algunos mili, micro o nanosegundos. Una billonesima parte de un segundo transcurre casi tan

instantaneamente como una milesima de segundo, pero siendo la computadora un dispositivo

capaz de realizar millones de tareas por segundo, dichas fracciones de segundo pueden generar

diferencias subjetivas y demoras mayores para ciertas tareas que involucran acceder a varios

archivos de tamanos muy pequenos y ubicados en ubicaciones aleatorias para tareas como iniciar

el sistema.

2. SSD

Las unidades de estado solido o SSD son dispositivos de almacenamiento de datos que utilizan

memoria no volatil (No necesita de corriente electrica para mantener los datos). Se los denomina

de estado solido debido a que utilizan solamente circuitos electricos para el almacenamiento de

los datos, a diferencia de los discos normales que utilizan partes mecanicas en movimiento para

acceder a datos de un disco giratorio.[2]

Los SSD proveen un aumento significativo e inmediato sobre la velocidad subjetiva de un

computador debido a que descarta casi la mayorıa del tiempo de espera de los discos rıgidos,

en primer lugar debido a que no posee cabezales que alinear ni platos girando, cada bloque es

accesible a la misma velocidad que el resto sin importar si estos sean consecutivos o no. Por lo

tanto con un SSD la computadora obtiene los datos con un tiempo de espera mucho menor y a

una tasa de transferencia mayor.

El impacto del SSD sobre la velocidad subjetiva del computador se acentua debido a que

compone la mayor brecha entre los distintos peldanos de la jerarquıa de memoria, sin importar

que la velocidad entre la memoria y el procesador sea 10 veces mas rapida, esto aun serıa un

cambio menor en la velocidad subjetiva debido a todo el tiempo de espera generado por un

disco rıgido, en otra palabras, todo beneficio ganado entre los peldanos superiores siempre se

veran afectados por la gran brecha a nivel de almacenamiento que es el camino final de toda la

informacion computada, ya sea un programa ejecutado, un MP3 siendo reproducido o cualquier

tipo particular de dato siendo accedido por la computadora.

Pagina 3

Solid States Drives TAI2

Fig. 2: La latencia afecta al rendimiento permitiendo acceder a mayor cantidad de datos en una

cantidad menor de tiempo, la figura indica que la mayor parte del tiempo un disco rıgido

se pasa esperando al cabezal y al plato giratorio para leer el dato buscado.

Sin embargo no es una regla que un SSD sea siempre mejor que un disco rıgido, puede ser

definido un Benchmark o test sintetico que sature la escritura y reescritura de los bloques de

datos de un SSD sin darle tiempo al mismo de realizar operaciones de limpieza y recoleccion de

basura lo que puede degradar el funcionamiento del mismo aunque en aplicaciones reales casi

no existen escenarios donde un disco rıgido mejore la velocidad subjetivo de la computadora de

mayor manera que un SSD.

3. Primeras etapas

Los SSD tuvieron su aparicion en los anos 50’ con el desarrollo de 2 tecnologıas muy similares,

las memorias de nucleo magnetico (Magnetic Core Memory) y los CCROS (Charged Capacitor

Read-Only Storage). Ambas tecnologıas son unidades de memoria auxiliar que surgieron en la

epoca donde aun se utilizaban las computadoras con tubos al vacıo.

Mas adelante en los 70’ y 80’ los SSD fueron implementados sobre memoria utilizando semi-

conductores pero presentaban un precio excesivamente alto con un desempeno que no lo justifi-

caba. Tambien General Instruments desarrollo una ROM alterable electricamente (EAROM) con

un funcionamiento simiar a las memorias NAND Flash actuales. Todas estas tecnologıas hacen

referencia a SSD basados en RAM.

Llegado los 90’s aparecieron los primeros SSD basados en las recientes memorias flash NAND,

para el ano 1991 la empresa SanDisk creo un SSD basado en memorias flash con un tamano de

20MB a un precio de 1000$ dando inicio a una era de constantes cambios tecnologicas hasta llegar

a nuestros tiempos donde la asequibilidad de los mismos aumento compitiendo directamente con

los medios magneticos tradicionales y dejandolos de lado en forma paulatina.

4. Componentes

La arquitectura de los SSD dicta 2 partes principales, un controlador y la memoria principal

donde se almacenan los datos.

Pagina 4

TAI2 Solid States Drives

4.1. Controlador

El controlador es un componente indispensable de los SSD cuya funcion es actuar de inter-

mediario entre la memoria del SSD y el computador [3], es un procesador empotrado que realiza

funciones para salvaguardar el performance de la unidad como el cacheo, encriptacion, mapeo y

demas funciones para aumentar el tiempo de vida util del mismo. Las velocidades de escritura

y lectura pueden verse beneficiados con la paralelizacion de una mayor cantidades de chips de

memoria.

Fig. 3: El controlador, tambien llamado procesador ejecuta todas las operaciones a nivel de Firm-

ware, dicho software es exclusivo para cada dispositivo y en la mayorıa de los casos es

actualizable.

Un controlador se vuelve a componer de ciertos elementos de forma integrada:

Procesador empotrado: Generalmente un microprocesador de 32 bits.

EEROM: ROM del firmware borrable electricamente.

Memoria RAM

ECC: Error Correction Code (Necesario para memorias de tipo NAND)

Flash Component Interface: Por lo general una interfaz como el Open NAND Flash Interface

ONFI

Host Electrical Interface: Interfaz de conexion, por lo general SATA u otros.

Pagina 5

Solid States Drives TAI2

Ciertos fabricantes de controladores como Intel y Micron implementaron el desglosamiento de

los datos (Data Striping) en forma similar a la utilizada en un RAID 0 para crear controladores

con velocidades de hasta 250MB/s llegando ası al limite de la interfaz SATA II, mas adelante

llegando a los 500MB/s con la utilizacion de la interfaz SATA III.

4.2. Memoria

Es el componente principal del SSD y puede subdividirse segun el tipo.

4.2.1. DRAM-based

Los SSD basados en DRAM son de memoria volatil y estan caracterizados por ser de acceso

ultra rapido y su uso principal es para acelerar otras aplicaciones que necesitan de mayor veloci-

dad de acceso que los SSD tradicionales basados en flash o discos rıgidos, ademas incorporan una

baterıa para salvaguardar los datos en caso de perdida de energıa. Fueron utilizados inicialmente

para los SSD de tipo consumer hasta que en el 2004 el costo de la memoria flash disminuyo por

debajo del costo de los DRAM aumentando su popularidad por los costos bajos.

Desde el punto de vista de la fiabilidad los DRAM poseen una ventaja por sobre los Flash,

el acceso y escritura de datos es mas simple y por ello no cuentan con un ECC y debido a ello

su uso popular es en aquellos hosts con amplia cantidad de servidores virtuales que necesitan de

una alta fiabilidad en el ambiente en el que opera.

Es recomendable adquirir unidades DRAM based cuando existe un factor de generacion de

revenue por los IOPS (Input/Output Operations per Second) o cuando la fiabilidad es un factor

crıtico como servidores de aplicacion para transacciones online.[4]

4.2.2. Flash-memory-based

La memoria Flash fue inventada por el Dr. Fujio Masuoka en 1980 en Toshiba. Puede ser

dividida en 2 tipos, la memoria de tipo NOR y NAND based.

Fig. 4: Esquema basico de una celda de una memoria Flash. Dependiendo de la carga almacenada

en el Floating Gate pueden ser almacenados 1, 2 o 3 bits de datos.

Pagina 6

TAI2 Solid States Drives

4.2.3. NAND

La memoria NAND based posee ventajas en tamano, el tamano de una celda es de la mitad

de una celda NOR y es ideal para soluciones de alta capacidad de almacenamiento de datos.

Ofrece alto rendimiento en velocidades de lectura y escritura de datos pero carece de la

facilidad de acceso a los datos del NOR. Los datos deben ser leıdos de forma serial en bloques,

cada bloque posee cientos de miles de bits. Dicha caracterıstica hace que la NAND no sea un

candidato para reemplazar a las memorias ROM pues necesita de un acceso por niveles, por ello

es utilizado en otros tipos de almacenamiento secundario como USB Flash Drives.

Fig. 5: MicroSD Sandisk de 32GB de Clase 10.

4.2.4. NOR

La memoria NOR based provee un alto rendimiento de lectura debido a que posee direcciona-

miento completo y acceso de bus de datos directo, por ello soporta XIP (eXecution In Place) lo

que permite a la aplicacion correr directamente desde la memoria flash sin pasar por la memoria

RAM. Su mayor ventaja es la facilidad del acceso a los datos.

Su desventaja es que posee tiempos extremadamente bajos en escritura y borrado de datos

y un tamano de celda mayor en comparacion a la NAND based lo que lo hace muy efectivo

en almacenamiento de bajo porte raras veces modificado como en el caso de una BIOS de un

computador.

Pagina 7

Solid States Drives TAI2

Fig. 6: Esquemattocp de los circuitos basicos para flash NOR y NAND.

Ademas de ellos la alta densidad de datos en un espacio reducido permitio el surgimiento de

tarjetas de memoria de tamanos muy reducido como el MicroSD que ocupa un area de 1.5 cm2

con un grosor menor a 1mm y capacidades de 32GB, 64GB y hasta 128GB.

Actualmente es la mas utilizada por la mayorıa de los fabricantes de SSD, las memorias flash

de tipo NAND son considerablemente mas economicas que las DRAM utilizadas inicialmente

ademas poseen un menor tamano posibilitando conseguir discos de factores 1.8, 2.5 y 3.5 pulgadas.

4.2.5. Cache

Es una pequena cantidad de memoria utilizada por los SSD basados en flash, su funcion es

acelerar aun mas el acceso a ciertas porciones de la unidad utilizados mas frecuentemente o de

forma consecutiva, tambien puede ser utilizado un algoritmo de prediccion, esto es controlado

por el controlador.

Generalmente el tipo de memoria utilizado es la DRAM para las operaciones pendientes,

algunos fabricantes como Intel y Sandforce utilizan SRAM, ambos tipos de memoria son volatiles,

por lo que una perdida de energıa electrica puede ocasionar perdida de datos.

Por ello surge una solucion tecnologica por parte de Sandisk-Toshiba que elimina este riesgo

mediante la utilizacion de una porcion de la NAND como cache.[5]

Pagina 8

TAI2 Solid States Drives

4.3. Tipos de NAND

Los SSD basados en NAND almacenan la informacion no volatil en celdas, dichas celdas

pueden ser de alguno de los siguientes 3 tipos: SLC,MLC o TLC.

Fig. 7: Tipos de celdas y valores que pueden almacenar

4.3.1. Celda de nivel individual (SLC)

Para este tipo de celda, los datos se almacenan por bits individuales, cada celda tiene 2 posibles

estados, teniendo como ventaja mayores velocidades de lectura y escritura de datos, menor tasa

de consumo y una mayor durabilidad, por ello no estan orientadas al sector consumer sino al

enterprise, su tiempo de vida es de 100.000 ciclos.[6]

Fig. 8: OCZ Vertex EX SLC. 2009

4.3.2. Celda de nivel multiple (MLC)

Estas celdas de nivel multiples son capaces de almacenar 2 bits de forma simultanea, posibi-

litando hasta 4 estados distintos, gracias a la mayor densidad de datos tiene un costo menor en

comparacion a las SLC, su tiempo de vida es de 10.000 ciclos y 30.000 para los entreprise-based

MLC.

Pagina 9

Solid States Drives TAI2

Fig. 9: OCZ Vertex 3 MLC. 2011

4.3.3. Triple bit por celda (TLC)

Tambien denominado 3bit MLC, es un tipo de celda de 3 bits, capaz de soportar 8 estados

distintos, dicho aumento de densidad disminuye aun mas los costos de fabricacion pero disminu-

yendo la vida util garantizada de las celdas a solo 1.000 ciclos garantizados, dicha cantidad sigue

siendo bastante representativa para un SSD orientado a consumidores finales, en situaciones de

prueba reales dicho valor fue incluso triplicado antes de expirar la vida util de los mismos[7].

Fig. 10: OCZ Trion 100 TLC. 2015

4.4. Interfaz

Ademas de los componentes principales del SSD se debe considerar la conectividad del mismo,

para ellos tomamos en cuenta la interfaz del mismo que puede ser uno de los siguientes:

1. Parallel ATA (IDE)

2. Parallel SCSI (>40Mbps)

3. Serial ATA (I=1.5Gbps, II=3.0Gbps, III=6.0Gbps)

4. Serial Attached SCSI o SAS (SAS>3Gbps)

5. PCI Express (PCIe >2.0Gbps)

6. Fibre Channel (>200Mbps)

7. USB (2.0>480mbps, 3.0>5Gbps)

Pagina 10

TAI2 Solid States Drives

5. Bloques y paginas

La forma mas sencilla de usar los transistores es interconectando las columnas y las filas para

permitir la lectura de cada bit por separado teniendo una fila (word line) y una columna (bit

line). De esta misma manera estan interconectadas las memorias volatiles SDRAM.

Fig. 11: Interconexion de celdas para una memoria flash NOR

Mientras que el funcionamiento se ve bastante simple la interconexion de todas las celdas no

lo es debido a la gran cantidad de cableado complejo que debe hacerse por las conexiones en

paralelo de los Bit Line.

Para reducir dichas complicaciones y reducir el cableado se vuelve a crear una nueva inter-

conexion entre las filas de la misma manera pero las columnas seran conectadas en serie y no en

paralelo para facilitar la conectividad.

Dicha solucion facilita el cableado pero para acceder a la informacion la unidad mınima ya

no sera una sola celda sino todas las celdas de un word line creando ası el concepto de pagina.

Pagina 11

Solid States Drives TAI2

Fig. 12: Interconexion de celdas para una memoria flash NAND

Un bloque esta compuesto con un conjunto de paginas. El borrado se hace por bloques y la

escritura por paginas lo cual genera un nuevo problema para el funcionamiento de los SSD.[8]

6. Garbage Collection

Todo tipo de dispositivo de almacenamiento moderno ya sea un SSD o un Flash Drive USB

posee 2 capas distintas de organizacion interna. La primera de ellas conocida como la capa de

”bloques”que son definidos durante el proceso de fabricacion. En un SSD un bloque esta cons-

tituido fısicamente por un numero fijo de paginas, comunmente de 8KB y representa la unidad

mınima que un SSD puede leer o escribir.

Sin embargo los sistemas operativos no trabajan a nivel de bloques, dicha tarea corresponde

al controlador del SSD. Los SO poseen sus propios esquemas de organizacion llamados Sistemas

de Ficheros o filesystems, en Windows NTFS, OS X utiliza HFS+ y Linux generalmente ext4.

Exista una barrera entre ambas capas ya que el sistema operativo no puede controlar la

manera en la que el controlador del SSD realiza su trabajo o que bloques utiliza o se encuentran

libres. Ni el controlador tiene conocimiento de que bloques pertenecen a que archivos. A la hora

Pagina 12

TAI2 Solid States Drives

de eliminar archivos se complica aun mas dicha tarea debido a que el borrado se realiza por

bloques y no por paginas.

Fig. 13: El borrado se realiza por bloques enteros.

El sistema de Garbage Collection se encarga de que siempre exista la mayor cantidad de

bloques vacıos en reservacomo sea posible. Para ello involucra al controlador en la tarea de

buscar paginas catalogadas como .obsoletas.o Stale mover las paginas utiles a otros bloques y

ası ”limpiar”dicho bloque y volver a mantenerlo en estado disponible para escritura.

Esto lo realiza debido a que resulta imposible cambiar el estado de una pagina obsoleta a vacıa

sin tener que borrar el bloque entero debido al peligro que involucra para el alto voltaje necesario

para las celdas correlativas a la misma poniendo ası en peligro la integridad de la informacion.

Pagina 13

Solid States Drives TAI2

6.1. Introduciendo TRIM

TRIM es un comando ATA que el sistema operativo puede mandar al SSD mediante el AHCI

cuando borra un archivo ya que el Garbage Collector no reconoce los archivos borrados por el

sistema operativo, solo los .obsoletos.o Stale, de esta manera el TRIM mejora el trabajo realizado

por el GC gracias a una comunicacion antes inexistente entre el SO y el SSD.

Fig. 14: Sin TRIM el GC no reconoce archivos borrados por el sistema y los copia a un bloque

nuevo pese a ser inservibles, pero con TRIM ya puede reconcerlos y no los copia a un

bloque nuevo.

TRIM mejora la labor del GC del SSD pero no es imprescindible para el funcionamiento del

SSD, de hecho Apple no lo soporta debido a que implementa sistemas similares y propietarios

bastante eficientes a nivel de sistema operativo.[9]

Pagina 14

TAI2 Solid States Drives

7. Configuraciones(Form Factors)

7.1. HDD Standards

Debido al gran tamano de los HDD convencionales y la miniaturizacion de los SSD existe

una gran flexibilidad de parte de los mismos con respecto a adaptabilidad de tamanos, entre los

cuales podemos encontrar 5.25”, 3.5”, 2.5 21.8”, siendo 2.5.el tamano mas comun y tambien el

utilizado en las laptops.[10]

7.2. Card Standards

Estos estandares de tamano son de aun menores dimensiones y son encontrados comunmente

en las laptops de tipo ultrabook y tablets. Dicha categorıa de form factor vuelve a desglosarse

en distintas interfaces.

7.2.1. mSATA

Fue anunciado inicialmente por la Serial ATA International Organization en el 2009, entre

las aplicaciones principales se incluıan netbooks y dispositivos similares con muy poco espacio

disponible. Es electricamente compatible con la interfaz PCI Express Mini.[11]

Fig. 15: SATA vs mSATA

7.2.2. M.2

Actualmente la interfaz SATA III se encuentra limitando el rendimiento de los SSD. Por lo

que nace una nueva interfaz denominada NGFF (Next Gen Form Factor) derivado de la interfaz

mSATA que finalmente fue estandarizada como M.2 bajo las especificaciones de la interfaz SATA

3.2

Mientras que el tamano es un factor relevante para el desarrollo de nuevas interfaces, de la

misma manera es importante la velocidad de la misma, las especificaciones de la interfaz SATA

Pagina 15

Solid States Drives TAI2

III llega a un lımite de 600MBps mientras que PCI-Express alcanza velocidades de hasta 1GBps

por lane, M.2 soporta el uso de hasta 4 lanes totalizando 4GBps lo cual seria duplicado a la

eventual llegada del PCI-Express 4.0.[12]

Sin embargo no todos los sistemas soportan ambas especificaciones por lo cual es importante

si ambas especificaciones son soportadas o tan solo alguna de ellas. La interfaz SATA limitada a

600MBps o la PCI-E limitada a 1GBps por lane pudiendo utilizar 2 o 4 lanes.[13]

Fig. 16: Samsung 950 PRO M2

7.3. Disk-on-a-module Standards

Es un estandar que utiliza las interfaces PATA o SATA de 40/44 pines respectivamente,

mayormente utilizado en sistemas empotrados preensamblados cuyas prestaciones requieren de

componentes silenciosos o de mayor eficiencia energetica.

Fig. 17: Disk on a Module

8. Modos de Comandos

Todas las interfaces necesitan de una interfaz de comunicacion entre el host y el sistema opera-

tivo, inicialmente fue desarrollado el IDE (Integrated Drive Electronics) utilizado especialmente

para unidades PATA, pero luego fueron surgiendo unidades cada vez mas potentes y capaces de

Pagina 16

TAI2 Solid States Drives

desarrollar mas tareas por lo que necesitaban de una mejor interfaz de comunicacion entre los

dispositivos.[14]

8.1. AHCI

AHCI (Advanced Host Controller Interface) es un estandar tecnico definido por Intel para

operar con hosts de especificacion SATA, permite una cola de comandos nativos para el disco

como Hot Swapping.

La estructura de comandos que brinda el AHCI permite comunicar instrucciones a los dispo-

sitivos de almacenamiento y viene integrado a los sistemas operativos modernos sin la necesidad

de drivers especiales.[15]

Ha funcionado de manera correcta debido a que fue desarrollado en una epoca donde los

discos no necesitaban de una gran cantidad de instrucciones y una cola de comandos de 32 bits

era suficiente, sin embargo el problema radica en que los SSD son capaces de realizar una mayor

cantidad de tareas pero se encuentran limitados por dicha interfaz. Para eliminar este cuello de

botella y mejorar el rendimiento surge el NVMe.

8.2. NVMe

El NVMe (Non-Volatile Memory Express) es una estructura de comandos y controladores

desarrollado para eliminar el problema de restriccion del AHCI con los SSD, aumenta de una

cola de 32bits a 65.536 colas con 65.536 comandos por cada una de ellas, permitiendo aprovechar

el procesamiento paralelo de los pedidos de lectura y escritura.

Mientras que el AHCI se encuentra estandarizado en los sistemas operativos modernos, el

NVMe aun no lo esta, por lo que se necesitan de controladores que no se encuentran disponibles

para sistemas operativos un poco mas anejos. Pero gracias a las especificaciones del M.2 es posible

elegir entre los modos de comando NVMe y AHCI para compatibilidad.[16]

8.2.1. Problemas de Booteo

La interfaz M.2 es un gran avance en lo que respecta a almacenamiento pero existe un

problema con la adopcion tempranera de dicha tecnologıa. Para obtener el mejor resultado de la

misma se debe utilizar el bus PCI-E, de otra manera funcionarıa como un dispositivo SATA 3.0

Esto no parece ser un problema muy significativo pero de hecho lo es para las primeras placas

madres que soportan esta tecnologıa ya que ciertos sistemas operativos tienen problema para

arrancar desde el bus PCI-E lo cual es necesario para sacar el maximo provecho a la unidad.

Sin embargo no todos los sistemas tienen problemas con el booteo. Por ejemplo, Apple desa-

rrollo OS X de modo que pueda utilizar el bus PCI-E para particiones Root debido a que utiliza

SSD PCI-E desde la MacBook Air 2013, antes que las especificaciones de M.2 esten terminadas.

Microsoft por otra parte ha actualizado Windows 10 de modo a que soporte las nuevas unidades

PCI-E y drivers NVMe de forma nativa sin la necesidad de drivers de terceros.

Ademas de ello la BIOS debe ser capaz de soportar el booteo de unidades con NVMe [16]

Pagina 17

Solid States Drives TAI2

Fig. 18: Intel 750 SSD PCI-E con soporte NVMe

Fig. 19: Samsung 950 Pro con soporte NVMe

9. SSD vs HDD (Ventajas y Desventajas)

9.1. Costo

Actualmente para el sector consumer el costo por GB de los HDD es de 0.05$ por GB

mientras que un SSD tiene un costo de 0.09$ por GB, casi el doble de costo del anterior. Como

los HDD estan basados en una tecnologıa mas asentada y desarrollada poseen un costo bajo

que no tendera a variar en el futuro cercano, sin embargo para los SSD se tiende a desarrollar

tecnologıas que permiten abaratar los costos cada dıa mas.

9.2. Capacidad

El SSD de mayor tamano adquirible a la fecha es de 2TB pero con un costo de 0.36$ por

GB, considerablemente mas costoso que los de menor capacidad, mientras que el HDD de mayor

Pagina 18

TAI2 Solid States Drives

capacidad es de 8TB a un costo de 0.03$ por GB. Siendo la prioridad mayor capacidad no existe

dudas de que la mejor opcion actualmente es un HDD.[17]

9.3. Velocidad

Debido a la carencia de componentes mecanicos, el tiempo de respuesta es mucho mas pequeno

en un SSD, esto se traduce en tiempos de booteo significativamente menores (5-7 segundos) en

comparacion a un HDD tradicional (40-50 segundos), ademas de ello las tasas de transferencia

de datos inclinan la balanza de vuelta hacia los SSD con velocidad en promedio de 500MBps

vs 150MBps de los discos tradicionales, dicha diferencia solo se da en datos de mayor volumen

por la consecutividad de los datos, en casos de archivos de menor volumen, el HDD disminuye

abruptamente su performance.[18]

9.4. Fragmentacion

Debido a que un HDD trabaja con piezas moviles rotacionales, los datos que se encuentren

muy fragmentados necesitan de mayores tiempos de busqueda disminuyendo ası las tasas de

transferencia, dicho fenomeno se encuentra ausente en los SSD.

9.5. Ruidos

La carencia de partes mecanicas hace que un SSD practicamente no emita ruido alguno,

mientras que un HDD emite muchos dependiendo de la velocidad de rotacion y la tarea que se

encuentre desarrollando o de su encendido/apagado. Es por eso que en lugares como estudios de

grabacion profesional optan por esta nueva tecnologıa.

Pagina 19

Solid States Drives TAI2

Referencias

[1] Arstechnica. Inside the ssd revolution, 2015.

[2] Notebook Review. An introduction guide to ssd storage, 2015.

[3] Storage Review. An introduction guide to ssd storage, 2015.

[4] Storage Switzerland. The advantages of dram ssd, 2012.

[5] Anandtech. The advantages of dram ssd, 2011.

[6] Techtarget. Slc-vs-mlc-explained, 2015.

[7] hardware.info. Hardware.info tests lifespan of samsung ssd 840 250gb tlc ssd, 2015.

[8] Arstechnica. Blocks and pages, 2015.

[9] SearchSolidStateStorage. The state of ssd trim today, 2015.

[10] PCMAG. Ssd vs. hdd: What’s the difference?, 2015.

[11] Superuser. What is the difference between msata and sata ssd, 2015.

[12] Arstechnica. Undestanding m.2 the interface that will speed up your next ssd, 2015.

[13] Arstechnica. M.2 pcie lanes, 2015.

[14] MSI Forum. Ide, sata and ahci, all you need to know, 2011.

[15] Diffen.com. Ahci vs ide, 2015.

[16] Compreviews. What is m.2, 2015.

[17] Computerhoy. Discos duros ssd 2tb samsung, 2015.

[18] SSDReview.com. Ssd throughput latency iops explained, 2015.

Pagina 20