Hay dos tipos de discos:
Los discos, tantos de un tipo como de otro se dividen en lo que llamamos sectores. Tienen un tamaño de 512 B (0,5 KiB). Dividir el disco en sectores se llama hacer un formateo de bajo nivel.
Graban los datos de formas magnética.
Sus características son:
Mas información:
A veces a los conectores también se le puede llamar "Form Factor" o "Factor de Forma" ya que suele estar unido la forma del conector a la forma del dispositivo.
Los datos se guardan en superficial magnéticas llamadas platos.
Las estructura física de un HD es la siguiente:
El cabezas es como un brazo que se mueve para leer cada uno de los sectores. Además los platos giran para poner los sectores bajo el cabezal.
Para grabar un dato en un HD lo mínimo que se puede guardar es un sector. Los sectores ocupan 512 bytes.
Hay dos formas de identificar cada sector de un disco:
Mas información:
Existen varias formas de grabar los datos en un disco duro:
Pero ahora pasemos a la última forma de grabar los datos:
El problema fue que algunos fabricantes, en especial Western Digital no avisó a los usuarios que una serie de sus discos duros que los vendían para NAS y RAID usaban SMR. Así que empezaron a haber problemas. La cosa ha acabado tan mal que han demandando a Western Digital. Finalmente Western Digital tuvo que decir que discos usaban SMR y cuales CMR.
Mas información:
Sus características son:
Vamos ahora una serie de gráficas para comprar la capacidad y el precio de los SSD vs los HDD en 2022
import matplotlib.pyplot as plt import numpy as np from sklearn.linear_model import LinearRegression from matplotlib.ticker import AutoMinorLocator figure=plt.figure(figsize=(18,12)) axes = figure.add_subplot() axes.xaxis.set_minor_locator(AutoMinorLocator(2)) axes.yaxis.set_minor_locator(AutoMinorLocator(2)) axes.set_facecolor("#E5F2FF") axes.grid(visible=True, which='major', axis='both',color="#FFFFFF",linewidth=1) axes.grid(visible=True, which='minor', axis='both',color="#FFFFFF",linewidth=1) axes.tick_params(axis='x',which='major', labelsize=13, colors="#174F78") axes.tick_params(axis='y',which='major',labelsize=13, colors="#174F78") axes.tick_params(axis='x',which='minor', labelsize=13, colors="#FFFFFF") axes.tick_params(axis='y',which='minor',labelsize=13, colors="#FFFFFF") axes.set_xlabel('Tamaño (TB)', fontsize=15,labelpad=10,color="#011119") axes.set_ylabel('Precio (€)', fontsize=15,labelpad=10,color="#011119") axes.set_title("Comparación de precio y tamaños de HDDs y SDDs en 2022", fontsize=20,pad=10,color="#011119") axes.xaxis.set_ticks(np.arange(0.0,19,2)) axes.yaxis.set_ticks(np.arange(0,660,50)) x=[0.5,0.5,0.24,0.48,1,0.512,1,0.48,0.12,0.96,0.256,0.512,1,2,0.5] y=[101,51,27,44,86,101,138,50,22,83,41,78,126,183,91] axes.scatter(x,y,color="#36A522",label="SSD",s=80,zorder=100,alpha=0.7) x=[2,2,1,1.5,4,2,4,6,5,8,10,12,14,16,18] y=[48,51,37,55,81,48,88,187,146,240,360,387,443,516,612] axes.scatter(x,y,color="#AC201B",label="HDD",s=80,zorder=100,alpha=0.7) axes.legend()
import matplotlib.pyplot as plt import numpy as np from sklearn.linear_model import LinearRegression from matplotlib.ticker import AutoMinorLocator figure=plt.figure(figsize=(18,12)) axes = figure.add_subplot() axes.xaxis.set_minor_locator(AutoMinorLocator(2)) axes.yaxis.set_minor_locator(AutoMinorLocator(2)) axes.set_facecolor("#E5F2FF") axes.grid(visible=True, which='major', axis='both',color="#FFFFFF",linewidth=1) axes.grid(visible=True, which='minor', axis='both',color="#FFFFFF",linewidth=1) axes.tick_params(axis='x',which='major', labelsize=13, colors="#174F78") axes.tick_params(axis='y',which='major',labelsize=13, colors="#174F78") axes.tick_params(axis='x',which='minor', labelsize=13, colors="#FFFFFF") axes.tick_params(axis='y',which='minor',labelsize=13, colors="#FFFFFF") axes.set_xlabel('Tamaño (TB)', fontsize=15,labelpad=10,color="#011119") axes.set_ylabel('Precio (€)', fontsize=15,labelpad=10,color="#011119") axes.set_title("Precio de los HDD en función de su tamaño en 2022", fontsize=20,pad=10,color="#011119") axes.xaxis.set_ticks(np.arange(0.0,19,2)) axes.yaxis.set_ticks(np.arange(0,660,50)) x=[2,2,1,1.5,4,2,4,6,5,8,10,12,14,16,18] y=[48,51,37,55,81,48,88,187,146,240,360,387,443,516,612] axes.scatter(x,y,c="#DB2424",s=80,zorder=100,alpha=0.7) model = LinearRegression().fit(list(zip(x)), y) x_recta=[min(x),max(x)] y_recta = model.predict(list(zip(x_recta))) axes.plot(x_recta,y_recta,c="#7F1910")
import matplotlib.pyplot as plt import numpy as np from sklearn.linear_model import LinearRegression from matplotlib.ticker import AutoMinorLocator figure=plt.figure(figsize=(18,12)) axes = figure.add_subplot() axes.xaxis.set_minor_locator(AutoMinorLocator(2)) axes.yaxis.set_minor_locator(AutoMinorLocator(2)) axes.set_facecolor("#E5F2FF") axes.grid(visible=True, which='major', axis='both',color="#FFFFFF",linewidth=1) axes.grid(visible=True, which='minor', axis='both',color="#FFFFFF",linewidth=1) axes.tick_params(axis='x',which='major', labelsize=13, colors="#174F78") axes.tick_params(axis='y',which='major',labelsize=13, colors="#174F78") axes.tick_params(axis='x',which='minor', labelsize=13, colors="#FFFFFF") axes.tick_params(axis='y',which='minor',labelsize=13, colors="#FFFFFF") axes.set_xlabel('Tamaño (TB)', fontsize=15,labelpad=10,color="#011119") axes.set_ylabel('Precio (€)', fontsize=15,labelpad=10,color="#011119") axes.set_title("Precio de los SDD en función de su tamaño en 2022", fontsize=20,pad=10,color="#011119") axes.xaxis.set_ticks(np.arange(0.0,2.2,0.2)) axes.yaxis.set_ticks(np.arange(0,240,20)) x=[0.5,0.5,0.24,0.48,1,0.512,1,0.48,0.12,0.96,0.256,0.512,1,2,0.5] y=[101,51,27,44,86,101,138,50,22,83,41,78,126,183,91] axes.scatter(x,y,c="#36A522",s=80,zorder=100,alpha=0.7) model = LinearRegression().fit(list(zip(x)), y) x_recta=[min(x),max(x)] y_recta = model.predict(list(zip(x_recta))) axes.plot(x_recta,y_recta,c="#22610F")
Mas información:
A veces a los conectores también se le puede llamar "Form Factor" o "Factor de Forma" ya que suele estar unido la forma del conector a la forma del dispositivo.
Más información:
Los datos se guardan en celdas de memoria NAND. Son similares a las celdas de memoria RAM pero no se borran la información al quitar la corriente eléctrica. Por lo tanto los SSD están formado de chips de memoria NAND. También se llama memoria flash. Tiene un número limitado de escrituras.
Los SSD externamente se siguen organizando en sectores pero la forma de identificarlos es por LBA. Sin embargo internamente se organizan en páginas. Lo mínimo que puede grabar un SSD es una página que suele tener un tamaño de 2KiB o 4 KiB o 8 KiB o 16KiB.Aunque no vamos a tratar mas aquí el tema de las páginas ya que es mas del módulo de sistemas operativos pero al formatear o crear particiones en un SSD podría haber problemas de rendimiento y de fiabilidad tal y como se puede ver en:
Existen varios tipos de celdas , que varían en su fiabilidad como en la cantidad de escrituras que permiten.
Mas información:
Como ya hemos indicado , los SSD tiene un número máximo de escrituras lo que limita su vida útil.
Al comprar un SSD , el fabricante te indica:
Con esos dos datos podemos calcular cuantos terabytes se pueden escribir como media cada dia o TBWPD (TeraBytes Written Per Day).
$$TeraBytes \quad Written \quad Per \quad Day \quad (TBWPD)=\frac{TBW}{365*Años \quad de \quad garantía}$$
Pero realmente el dato que acabamos de calcular dato no es muy útil ya que dependiendo del tamaño del disco el valor de TWB puede ser bueno o malo.Así que el datos que se usa realmente es el DWPD (Drive Writes Per Day) que es simplemente el Nº de veces que se puede escribir el disco completo cada día.
$$Drive \quad Writes \quad Per \quad Day \quad (DWPD)=\frac{TBWPD}{Capacidad \quad en \quad TB}$$
Y uniendo las 2 fórmulas se obtiene
$$Drive \quad Writes \quad Per \quad Day \quad (DWPD)=\frac{TBW}{Capacidad \quad en \quad TB*365*Años \quad de \quad garantía}$$
Veamos unos ejemplos. Supongamos dos discos SSD con las siguientes características:
Disco A | Disco B | |
---|---|---|
Años de garantía | 5 | 5 |
TBW | 1000 | 1000 |
Capacidad en GB | 200 | 400 |
Vamos a calcular el TBWPD que será el mismo para los 2 discos ya que tienen el mismo TBW
$$TeraBytes \quad Written \quad Per \quad Day \quad (TBWPD)=\frac{TWB}{365*Años \quad de \quad garantía}=\frac{1000}{365*5}=0,55$$
Por lo tanto ambos discos pueden escribir 550 GB todos los días.
Ahora vamos a calcula el DWPD de cada disco pero antes hay que saber la capacidad en TB que es de 0,2 TB y 0,4 TB respectivamente.
$$DWPD \quad disco \quad A=\frac{TBWPD}{Capacidad \quad en \quad TB}=\frac{0,55}{0,2}=2,74 \quad veces$$
$$DWPD \quad disco \quad B=\frac{TBWPD}{Capacidad \quad en \quad TB}=\frac{0,55}{0,4}=1,37 \quad veces$$
Por lo tanto en disco A se puede escribir 2,74 veces la capacidad del disco cada día y en el disco B se puede escribir 1,37 veces la capacidad del disco cada día. Por lo que el disco A tiene mayor fiabilidad al tener un mayor DWPD.
Acabamos de ver cuanto podemos escribir en un disco antes de que falle pero lo que no hemos calculado es cuanto tiempo le queda de vida a un disco cuando ya lleva tiempo funcionando. Pasemos ahora a calcularlo.
Para ello necesitamos 2 datos
numero de dias
. bytes escritos realmente
Para averiguar cuanto se ha escrito realmente en disco usamos el valor Total_LBAs_Written
que proporciona S.M.A.R.T. Este valor está en sectores.
$$bytes \quad escritos \quad realmente =Total\_LBAs\_Written*512$$ $$TeraBytes \quad escritos \quad realmente=\frac{Total\_LBAs\_Written*512}{2^{40}}$$
Ahora vamos a usar el dato numero de dias
que es el número de días que ha pasado desde que empezamos a usar el disco SSD hasta el día que hemos calculado el Total_LBAs_Written
. Es decir, en cuantos días se han escrito los TeraBytes escritos realmente
. Y con ese datos vamos a calcular el tiempo de vida del disco.
$$Tiempo \quad de \quad vida \quad (en \quad dias)=\frac{TBW*numero \quad de \quad dias}{TeraBytes \quad escritos \quad realmente}$$ $$Tiempo \quad de \quad vida \quad (en \quad años)=\frac{Tiempo \quad de \quad vida \quad (en \quad días)}{365}$$
Si unimos todas las fórmulas en una sola , se obtiene la siguiente:
$$Tiempo \quad de \quad vida \quad (en \quad años)=\frac{TBW*2^{40}*numero \quad de \quad dias}{Total\_LBAs\_Written*512*365}$$
Mas información:
El interfaz físico es lo que especifica la forma de las señales eléctricas como voltajes, corrientes, frecuencias máximas, etc. Su importancia radica en que es lo que define la velocidad a la que se pueden transmitir los datos.
Los discos se pueden conectar con los siguientes interfaces físicos:
Mas información:
Del interfaz SATA hay 3 variantes:
Nombre | Velocidad (Gb/s) | Velocidad Util (Gb/s) | Nombre Alternativo | Otro nombre alternativo |
---|---|---|---|---|
SATA 1,5 Gb/s | 1,5 Gb/s | 1,2 Gb/s | SATA I | SATA 1.0 |
SATA 3 Gb/s | 3 Gb/s | 2,4 Gb/s | SATA II | SATA 2.0 |
SATA 6 Gb/s | 6 Gb/s | 4,8 Gb/s | SATA III | SATA 3.0 |
¿Como se calcula la velocidad útil (A la que realmente transmitimos nuestros datos con información)? Como sabemos el interfaz es serie pero los bits están codificados de forma que cuando se envían 10 bits realmente solo hay 8 de información , es lo que se llama codificación 8b/10b. Por lo que la velocidad real es de solo el 80%. Es decir que hay que multiplicar la velocidad por el ratio de 8b/10b para obtener la velocidad Útil.
Por lo tanto la formula es:
$$ Ratio =\frac{8b}{10b}=0,8$$
$$ Velocidad \quad Util \quad (Gb/s) =Velocidad \quad (Gb/s)*Ratio=Velocidad \quad (Gb/s)*0,8$$
Veamos un ejemplo.
SATA III , funciona a una velocidad de 6 Gb/s, por lo tanto la formula queda:
$$ Velocidad \quad Útil \quad (Gb/s) =Velocidad \quad (Gb/s)*0,8=6*0,8=4,8 \quad Gb/s$$
Para saber la velocidad del PCIe hay que tener en cuenta la versión y el Nº de carriles.
Versión | Velocidad x1 (MB/s) |
---|---|
PCIe 1.0 | 250 |
PCIe 2.0 | 500 |
PCIe 3.0 | 985 |
PCIe 4.0 | 1970 |
Por lo tanto la formula para obtener la velocidad total es:
$$ Velocidad \quad (MBs)=Velocicidad \quad en \quad solo \quad carril \quad (MB/s) * Nº \quad de \quad carriles$$
Veamos un ejemplo.
Si nuestro disco SSD se conecta por PCIe 3.0 con 4 carriles ¿Cual es la velocidad del bus PCIe?
$$ Velocidad \quad (MBs)=Velocicidad \quad en \quad solo \quad carril \quad (MB/s) * Nº \quad de \quad carriles=985*4=3940 \quad MB/s$$
El Interfaz lógico de dispositivo especifica los "comandos" que puede recibir el disco. Es decir es un interfaz para comunicar el sistema operativo y el disco. Lo ideal es que todos los discos tengan el mismo protocolo así solo es necesario que el sistema operativo tenga unos drivers genéricos que pueden servir para cualquier disco. De esa forma podremos usar un disco de cualquier fabricante/modelo y lo podrá reconocer el sistema operativo sin necesidad de instalar nuevos drivers específicos para cada modelo de disco.
Existen 3 Interfaces lógico de dispositivo o protocolos:
Cada nuevo protocolos mejora los "comandos" que puede recibir el disco mejorando su rendimiento.Hay que recordar que usar NVMe (o AHCI o IDE) no puede mejorar nunca la velocidad de transferencia ya que eso lo hace el interfaz físico. Lo que mejora es la latencia, es decir el tiempo que tarda en empezar a devolver el sector que hemos pedido o el tiempo medio que tarda en empezar a devolver el sector que hemos pedido.
Ya no se usa, aunque para dispositivos viejos habría que configurar la BIOS para que siga usando IDE.
En la siguiente imagen podemos configurar si en el conector SATA se usa IDE o AHCI.
Mas información:
Tiene un protocolo llamado Native Command Queueing (NCQ) que mejora la velocidad en discos duros. NCQ lo que hace es que se retornes los sectores a medida que los encuentra el cabezal y no en el orden en el que se han pedido.
Por lo tanto en un disco duro con NCQ se mejora el tiempo en el que se tarda en encontrar cada sector aunque la velocidad de transferencia sea la misma. Es un disco SSD el protocolo NCQ no es casi importante.
Mas información:
NVMe es una mejora de AHCI pero haciendo uso del interfaz PCIe, es decir que solo puede usarse si el interfaz físico de conexión es PCIe. Sin embargo NVMe mejora realmente cuando estamos en un servidor y se hacen peticiones desde distintos procesos a distintas partes del disco. Por ello en un entorno doméstico, NVMe no supone mucha mejora respecto a AHCI.
Mas información:
Ya hemos visto los siguientes conceptos:
En la siguiente tabla se muestra las distintas combinaciones que existen de discos:
Interfaz físico | |||
---|---|---|---|
Conector | PATA | SATA | PCIe |
PATA | IDE | ||
SATA | IDE o AHCI | ||
PCIe (AIC) | AHCI o NVMe | ||
M.2 | AHCI | AHCI o NVMe |
Pasemos ahora a explicar cada uno de ellos:
Conector | Interfaz físico | Protocolo | Explicación |
---|---|---|---|
PATA | PATA | IDE | Son los viejos discos duros con conexión paralelo. Ya no se usan |
SATA | SATA | IDE | Son los primeros discos SATA que aparecieron pero aun llevaban el antiguo protocolo IDE. Ya no se usan |
SATA | SATA | AHCI | Son los discos SATA que usamos actualmente. Se gastan para discos duros. También se usan con SSD pero están siendo reemplazados por los M.2 |
PCIe (AIC) | PCIe | AHCI | Fueron los primeros discos SSD que se conectaban en un zócalo PCIe. Aun usaban el protocolo AHCI, no tuvieron mucho éxito ya que para esa época el SATA aun era lo suficientemente rápido |
PCIe (AIC) | PCIe | NVMe | Actualmente son los discos mas rápidos ya que puede llegar a usar los 16 railes de PCIe |
M.2 | SATA | AHCI | Son los discos M.2 "lentos" ya que al usar el interfaz físico SATA sólo llegan a 600 MB/s |
M.2 | PCIe | AHCI | De estos hay muy pocos discos ya que aunque usan como interfaz físico PCIe aun usan el protocolo antiguo AHCI. |
M.2 | PCIe | NVMe | Son los discos M.2 mas rápidos ya que ademas de usar PCIe , usan el nuevo protocolo NVMe |
La pregunta ahora es que disco nos compramos. La duda debe estar entre un disco M.2-SATA-AHCI o un disco M.2-PCIe-MVNe. La respuesta como siempre depende del uso que le vayamos a dar pero para un ordenador de casa la respuesta es que no hay casi mejora de rendimiento tal y como se explica en La verdad sobre el rendimiento de los discos SSD SATA vs M.2-PCIe/NVMe. También deberíamos ver si hay diferencia de rendimiento entre usar PCIe 3.0 o 4.0, pues tampoco hay mucha diferencia tal y como se explica en SSD PCIe 4.0 vs 3.0: ¿es posible cargar Windows 10 más rápido?. Incluso no hay mucha diferencia de rendimiento entre un SATA-SATA-AHCI vs un M.2-PCIe-MVNe tal y como se explica en ¿Merece la pena cambiar tu SSD SATA 3 por uno PCIe NVMe?
Aunque también hay artículos como el siguiente que parece mas un publireportaje que otra cosa en el que se vende la maravilla de los M.2 PCIe: SATA, ya no te queremos: el estándar M.2 es el presente y futuro de las unidades SSD
Mas información:
Respecto a los discos M.2 hay que añadir una serie de datos como son.
Mas información:
El "nombre" de los discos M.2 indica el ancho y alto del disco.
Nombre | Ancho (mm) | Largo (mm) |
---|---|---|
2242 | 22 | 42 |
2260 | 22 | 60 |
2280 | 22 | 80 |
22110 | 22 | 110 |
Los discos M.2 tienen unas muescas que indican si el interfaz físico es:
A los discos M.2 se les puede añadir un disipador ya que alcanzan una gran temperatura y puede afectar a su rendimiento tal y como explican en: ¿Necesita tu SSD M.2 un disipador? Pruebas de rendimiento con y sin disipador
La mejor forma de ver como instalar un disco M.2 es ver el siguiente vídeo: MSI® HOW-TO install M.2 SSD correctly
En las siguientes imágenes se puede ver donde se coloca el tornillo en una placa base según el tamaño del disco M.2
Para acabar el tema vamos a hablar de algunas herramientas software para discos.
S.M.A.R.T. es un sistema que permite obtener de los discos valores para determinar si va a fallar el disco duro.
Aunque no vaya para el examen no puedo acabar el tema sin hablar de otros tipos factores de forma:
Mas información:
Dado el disco duro Western Digital Gold WD121KRYZ
Indica lo siguiente:
Dado el disco SSD Corsair Force Series Gen.4 PCIe MP600 1TB NVMe M.2 SSD
Indica lo siguiente:
Dado el disco SSD Samsung SSD 960 PRO 1 TB
Indica lo siguiente:
Dado el disco SSD Samsung SSD 850 EVO M.2 de 1 TB
Indica lo siguiente:
Dado el disco SSD Neutron NX500 800GB NVMe PCIe SSD AIC
Indica lo siguiente:
Entre los discos:
¿Cual es mas fiable? Calcula y razona la respuesta.
Entre los discos:
Ordénalos de mas a menos fiable. Calcula y razona la respuesta.
Entre los discos:
Ordénalos de mas a menos fiable. Calcula y razona la respuesta.
Dado los siguientes "nombres" de discos, indica toda la información que puedes obtener de las características de cada disco. (No hay que mirar por internet , solo averiguar todo lo posible en función el nombre)
Busca una placa base con PCIe 4.0 e indica
Busca una placa base con PCIe 3.0 e indica
Vamos a comprobar si hay algún error en el disco de tu propio ordenador.Para ello vamos a usar el programa HDD Scan
Vamos a comprobar cuanta vida le queda al SSD de tu ordenador, para ello vamos a usar S.M.A.R.T. con el programa Crystal Disk Info. Lee el siguiente artículo CrystalDiskInfo: ¿qué es y para que sirve? Tutorial completo para entender que es S.M.A.R.T. y como usar Crystal Disk Info.
Dado la información que proporciona CrystalDiskInfo , calcula cuantos días va a durar tu disco SSD antes de que pueda fallar.
Deberás:
Lee el siguiente artículo:
Haz un esquema de una placa base y explica en que consiste el problema.
En Amazon podemos encontrar los siguientes discos:
Indica