2  Dispositivos de Almacenamiento

2.1 Introducción Almacenamiento Secundario

"El diseño dependerá de las limitantes del medio y del ambiente"

Si los archivos se almacenaran en memoria (RAM), no existiría una disciplina para el estudio del manejo de archivos

Diferencias entre memoria primaria y secundaria:

  • La primera es considerablemente más rápida en comparacion con la segunda
  • La primera posee un acceso aleatorio y la segunda no
  • La primera es demasiado cara:


            256 Mb RAM           --->   $ 40 usd
            120 Gb  DiscoDuro   --->   $ 95 usd


 
 

2.2  Tipos de dispositivos de almacenamiento

  • Acceso Serie: cintas
  • Acceso Directo:  discos

 

2.2.1 Cintas Magnéticas

  • Acceso serial o sequencial
  • Compactas, fáciles de transportar y extremadamente baratas
  • Anteriormente se usaron para almacenar aplicaciones, actualmente solo respaldos
  • Se usan mucho en combinacion con "robots" capaces de cambiar las cintas entre racks de almacenamiento

 

2.2.2 Discos

2.2.2.1 Tipos de discos

Disk Drives= Discos magnéticos

Pero no todos los discos son iguales:
 

  • Magnéticos
    • Discos Duros (Hard Disk)
    • Diskette (Floppy)  3.5", 5 1/4"   8"
    • Discos Removibles (Disk Cartridges)
      • Iomega Zip (100Mb)
      • Jaz (1Gb)
  • Opticos

2.2.2.2 Partes de un Disco

 

Floppy 5 1/4 "


 

Partes de un disco duro
 
 

Organización de los sectores

  • Al principio no eran adyacentes, existía un factor de intercalamiento de 3 o 5
  • Actualmente gracias a las velocidades de los discos si pueden estar adyacentes

 

1 plato de disco con 2 caras y un intercalamiento de 3

   

Clusters

  • Relacionado a cómo ve el Sistema Operativo al disco
  • Son un número fijo de sectores continuos (grupo)
  • Permiten que se lean "clusters" y asi evitar tener que leer sector por sector
  • El número de sectores agrupados se puede ajustar en la mayoría de los OS (1-65535), default 3512
  • Tip: clusters grandes para archivos grandes y viceversa

 

Extents

  • Cuando un archivo no puede estar en sectores contiguos ocurre un "extent"
  • Si hay demasiados extents tenemos un problema porque se incrementa el tiempo de acceso a disco


Fragmentación Interna

  • Sucede cuando un archivo no es del mismo tamaño que los sectores o clusters
  • Tip: clusters grandes para archivos grandes y viceversa

 

Cálculos para conocer información de los discos duros

Track Capacity     = number of sectors per track X  bytes per sector
Cylinder Capacity = number of sectors per cylinder X track capacity
Drive Capacity     = number of cylinders X cylinder capacity

Número de bytes por sector=512
Número de sectores por track=63
Número de tracks por cilindro=16
Número de cilindros=4092

63*512=32256
16* 32256=516096
4092*516096=2,111,864,832 = 2.1 Gb
 

Número de bytes por sector=512
Número de sectores por track=63
Número de tracks por cilindro=16
Número de cilindros=6279

63*512=32256
16* 32256=516096
59321*516096= 30,615,330,816=30  Gb

 

2.2.2.3 Velocidades de discos

Internal Media Transfer Rate

La velocidad interna del disco, para leer la información, alrededor de uno 500 Mbits/s (62.5Mb/s) en promedio.

dle Speed (RPM)

Average Latency (Half Rotation) (ms)

Typical Current Applications

3,600

8.3

Former standard, now obsolete

4,200

7.1

Laptops

4,500

6.7

IBM Microdrive, laptops

4,900

6.1

Laptops

5,200

5.8

Obsolete

5,400

5.6

Low-end  IDE/ATA, laptops

7,200

4.2

High-end IDE/ATA, Low-end SCSI

10,000

3.0

High-end SCSI

12,000

2.5

High-end SCSI

15,000

2.0

Top-of-the-line SCSI

 

External (Interface) Transfer Rate

La velocidad para tranferir los datos desde el disco al resto de la computadora; este valor siempre será mayor que el "internal rate" ya que hablamos de actividades electrónicas. La velocidad depende del tipo de interface que soporte el disco, esto se menciona en las secciones siguientes.

 

2.2.2.4 Interfaces para transmisión de datos

Tipos de Interfaces para transmisión de datos:

  • IDE: Integrated Drive Electronics
    • ATA, Fast ATA, Fast ATA-2 con LBA (Logical Block Addressing)
    • Ultra ATA  (UATA)
      • Direct Memory Access             (DMA)    30 Mb/s
      • Ultra Direct Memory Access   (UDMA)     60-100 Mb/s
    • Serial ATA 150 Mb/s
  • USB: Universal serial bus 480Mbits/s
  • SCSI: Small Computer System Interface 5-320 Mb/s
  • Fiber Channel 2 Gbits/s

 

Ultra ATA

Direct Memory Access (DMA): es el término para identificar al protocolo de transferencia a través del cual un dispositivo puede enviar/recibir información directamente de memoria sin utilizar el procesador.



Un conector IDE/ATA en un disco (arriba) y un cable regular de 40 conductores IDE/ATA cable (abajo).

 

Ultra DMA: agrega transicion en ambos extremos del reloj, doblando así la velocidad; también introduce el uso de CRC (cyclical redundancy checking).

 

 

80-conductor Ultra DMA IDE/ATA interface cable.
Nótense los conectores azul, gris y negro, así como los 80 cables.
La marca roja indicando el cable #1 está presente también (aunque no se aprecie en la foto)

 

Comparación entre los cables de 80-conductores y 40-conductores.

 

SCSI (Small Computer System Interface)

SCSI no es únicamente una interface, es todo un protocolo de comunicación que ha ido evolucionando con el tiempo hasta llegar a convertirse en la interface más rápida en el mercado.

Transfer Mode

Defining Standard

Bus Width (bits)

Bus Speed (MHz)

Through- put (MB/s)

Cabling

Maximum Cable Length (m)

"Regular" SCSI (SCSI-1)

 

SCSI-1

 

8

 

5

 

5

 

50-pin

 

6

 

25

Wide SCSI

 

SCSI-2

 

16

 

5

 

10

 

68-pin

 

6

 

25

Fast SCSI

 

SCSI-2

 

8

 

10

 

10

 

50-pin

 

3

 

25

Fast Wide SCSI

 

SCSI-2

 

16

 

10

 

20

 

68-pin

 

3

 

25

Ultra SCSI

 

SCSI-3 / SPI

 

8

 

20

 

20

 

50-pin

 

1.5

 

3

 

25

Wide Ultra SCSI

 

SCSI-3 / SPI

 

16

 

20

 

40

 

68-pin

 

1.5

 

3

 

25

Ultra2 SCSI

 

SCSI-3 / SPI-2

 

8

 

40

 

40

 

50-pin

 

12

 

25

 

25

Wide Ultra2 SCSI

 

SCSI-3 / SPI-2

 

16

 

40

 

80

 

68-pin

 

12

 

25

 

25

Ultra3 SCSI

 

SCSI-3 / SPI-3

 

16

 

40 (DT)

 

160

 

68-pin

 

12

 

25

Ultra160(/m) SCSI

 

SCSI-3 / SPI-3

 

16

 

40 (DT)

 

160

 

68-pin

 

12

 

25

Ultra160+ SCSI

 

SCSI-3 / SPI-3

 

16

 

40 (DT)

 

160

 

68-pin

 

12

 

25

Ultra320 SCSI

 

SCSI-3 / SPI-4

 

16

 

80 (DT)

 

320

 

68-pin

 

12

 

25

Los tipos de conectores han ido cambiando, permitiendo principalmente:

  • Enviar mayor cantidad de datos con mayor velocidad y mayor confiabilidad
  • Tener un menor tamaño del conector para adecuarlo a distintos dispositivos

 

  • D-Shell (D-Sub, DD): El primer SCSI standard, SCSI-1

Un conector macho DD-50 SCSI
Se observa el metal "D-shaped" alrededor de los pins.

Cuidado: El conector Apple DB-25 SCSI es mecánicamente indéntico al conector paralelo de una PC, un grave daño puede ocurrir.

  • Centronics: otro conector SCSI-1 standard de 50-pin, también llamado "Centronics connector"



Conector macho (arriba) y hembra 50-pin Centronics connectors.
Se observa que los pins son planos y las esquinas poseen pestañas para conectarse.

  • High-Density (HD): El conector D-shell basado en el SCSI-1 standard fue reemplazado por uno nuevo de alta densidad basadp en SCSI-2 .

Machos de 50-pin (izquierda) y 68-pin conectores de alta densidad externos.

  • Very High Density Cable Interconnect (VHDCI): Para mejorar de manera notable la flexibilidad del hardware SCSI surge este nuevo conector

A male 68-pin VHDCI connector.

Conectores internos (unshielded):

  • Regular Density: Definido para SCSI-1 standard para dispositivos de 8 bits. Es una conector rectangular de 25 pins muy similar al de los IDE/ATA excepto por tener 5 pins extra en cada renglón.



Macho (arriba) y hembra 50-pin regular density.

  • High Density: SCSI-2 definió estos conectores que llamados de alta densidad porque el espacio entre pins es de la mita que en los antiguos SCSI-1 haciéndolos mucho más pequeños.

Un macho interno, high-density 68-pin connector.

  • Single Connector Attachment (SCA): Es el estandar para conectores SCSI internos, no refiriéndose a los cables sino la interface integrada en alguna tarjeta.

Un conector hembra de 80-pin SCA connector.

 

Serial ATA Interface

 

 
1st generation
 
2nd generation
2nd generation
Approximate
Data Rate
 
150MB/s
 
300MB/s
600MB/s
Approximate
Bus Speed
 
1.5GB/s
 
3.0GB/s
6.0GB/s
Introduction
 
Mid 2002
 
Mid 2004
Mid 2007
Signal compatibility
 
-
 
Compatible w/1st generation
Compatible w/ 2nd generation

 

Universal Serial Bus (USB)

    • Velocidad de 480Mbits/s
    • El cable puede tener un largo de 5 metros.

 

FC Fiber Channel

    • Velocidad de 2Gbits/s
    • El cable puede medir hasta 15 km

 

Ejemplos de configuraciones de discos

 

2.2.2.5 Disk Handling

Los discos pueden sufrir sobrecalentamiento, por eso en algunos casos se recomiendan algunos "Drive Coolers" que son ventiladores muy similares a los que usa el CPU. Se pegan al disco directamente con una cinta térmica sobre el disco.

Otra manera de enfriar los discos es a través de "Bay Coolers" que son gabinetes por ejemplo de 5.25" que envuelven al drive de 3.5" y proveen una excelente ventilación.

 

Para tranportar un disco es importante mantenerlo alejado de alguna descarga, aún la estática que los humanos podemos tener.

Anti-static bag

SeaShell

 

2.2.2.6 Retail vs OEM drives

Un disco "Retail" incluye:

  • Hard Disk Drive: El disco con su empaque
  • Instrucciones de Instalación
  • Drivers y/o utilerías.
  • Mounting Hardware: tornillos y/o placas para instalar el disco en el gabinete
  • Interface Cable
  • Tarjeta de Garantía
  • Cajita

En contraste un OEM "original equipment manufacturer" incluye:

  • Hard Disk Drive: El disco con su empaque
  • Jumpers: jumpers para configurar el disco

 

2.2.2.7 CD-ROM/DVD-ROM

  • Muy populares debido a que surgieron con fines musicales, de ahí que sean tan económicos
  • El esquema visto en los discos duros (sectores, tracks, etc) no aplica aquí ya que la información es almacenada en forma de espiral
  • Escritura del centro hacia afuera del disco

 

2.3 Subsistemas de Disco


Problema:

  • Capacidad limitada en cuanto al espacio de almacenamiento por disco.
  • Existe un cuello de botella en lo que se refiere a I/O para aquellos sistemas que requieren de gran performance
  • Acceso a disco (milisegundos) vs RAM (nanosegundos)


Soluciones:

  • RAID (Redundant Arrays of Inexpensive/Independient Disks)
  • Disk Catching

2.3.1 RAID

  • Existen 6 niveles diferentes los cuales usan múltiples discos duros para mejorar la velocidad, la fiabilidad o ambos.
  • Los niveles 1-5 están relacionados con la fiabilidad (redundancia de datos) pero no ofrecen grandes mejoras en lo que se refiere a operaciones de lectura.
  • La redundancia permite tener múltiples copias de los mismos datos en varios discos de manera que si alguno falla los datos no se pierden.
  • Para que un RAID funcione que requiere invertir en un hardware que permita obtener los beneficios de dicha técnica, de otra manera el maximizar el uso de cache es una buena solución.

RAID0:

  • Específico para aumentar el performance, no provee redundancia
  • Los datos se envían (almacenan) en los diferentes discos
  • Para la computadora varios discos se aprecian como si fueran 1 solo.
  • Se requieren al menos 2 discos para implementarlo


RAID1:

  • Este nivel produce un "espejo" (mirror) de los datos, los mismos datos son almacenados en 2 discos
  • Estos discos pueden o no estar en la misma máquina
  • Las lecturas tienden a ser más rápidas que si se hicieran de un solo disco, ya que los datos pueden ser leídos simultáneamente de ambos.
  • Las escrituras suelen ser más lentas ya que se están escribiendo 2 copias de los datos.
  • Se requieren al menos 2 discos para implementarlo


RAID2:

  • Utiliza códigos de corrección de errores para compensar la carencia de dicha funcionalidad en algunos discos
  • Actualmente ya no es muy utilizado debido a que la mayoría de los dispositivos posee dicha característica.


RAID3:

  • Almacena toda la información en diferentes discos pero a nivel byte.
  • Un disco está dedicado exclusivamente a guardar el bit de paridad, de manera que si algun disco falla los datos se puede recuperar gracias a este bit.
  • Se requieren al menos 3 discos para implementarlo


RAID4:

  • Similar a RAID3 con la diferencia que la paridad se almacena por bloques.
  • La paridad también se almacena en un solo disco
  • En ambos casos el disco de paridad se puede volver un cuello de botella
  • Se requieren al menos 3 discos para implementarlo


RAID5:

  • Semejante a RAID4 solo que con la diferencia de que la paridad se divide entre todos los discos del arreglo.
  • Resiste la caída o falla de un disco
  • Las escrituras son lentas debido a que un sencilla operación de escritura requiere leer los datos del bloque así como su paridad, recalcular la paridad con los nuevos datos y escribir entre los diferentes discos del raid.
  • Sin embargo la gran mejora en tiempo de lectura minimiza el overhead que se gasta en las escrituras.
  • El rendimiento puede llegar a ser igual o mejor que si trabajáramos con un solo disco.
  • Se requieren al menos 3 discos para implementarlo

Otros Niveles de RAID, basados en las ideas generales de los 6 niveles básicos (no se encuentran disponibles en todas las implementaciones disponibles)

RAID6

  • Similar a RAID5
  • Incluye un esquema de paridad adicional distribuido a través de los diferentes discos
  • Se requieren al menos N+2 discos para implementarlo

RAID7

  • Principalmente implementado a nivel hardware
  • Aprovecha propiedad de un sistema operativo inmerso (embedded) para tener las ventajas del bus de transferencia
  • Permite grandes velocidades en transferencia de datos
  • Marca Registrada por Storage  Computer Corporation.

RAID10

  • Es un arreglo de clases (stripes), cada una de ellas compuesta por un arreglo de discos con RAID1
  • Es costo de esta implementación es demasiado alto, tanto en recursos como en dinero
  • Se requieren al menos 4 discos para implementarlo


RAID53

  • Es un arreglo de clases (stripes), cada una de ellas compuesta por un arreglo de discos con RAID3
  • Esto ofrece gran velocidad pero el costo es demasiado alto
  • Se requieren al menos 5 discos para implementarlo


RAID0+1

  • Es un arreglo de discos espejo
  • Cada segmento de discos está configurado como un RAID0

Implementaciones de RAID

Conceptos relacionados:

  • Disc Spare (Hot Spare): discos o particiones de respaldo que entran automáticamente si alguno de los discos del arreglo tiene alguna falla
  • Dispositivos Hot Plug: máquinas/discos que pueden ser agregados al arreglo en caliente; sin necesidad de reiniciar la máquina.

Un RAID puede estar implementado en Hardware o en Software

 


2.3.2 Disk Catching
 

  • Utiliza la memoria RAM del sistema o una memoria caché del disco para "cachar" el I/O del disco.
  • Debido a estas memorias más rápidas el rendimiento aumenta.
  • Cuando se leer algo del disco lo más reciente se almacena en esta cache de manera que cuando se hace otra llamada al disco ésta se intercepta  y se revisa si los datos se encuentran en el buffer de memoria, si es así los datos se utilizan de ésta y no del disco.


Implementación de Catching

  • La configuración del Disk Catching suele hacerse en el BIOS de la máquina.
  • Algunos Sistemas Operativos automáticamente utilizan la memoria RAM libre para realizar el catching
  • La incluída en el disco, actualmente 2 MB en drives IDE/ATA y de hasta 16 MB en algunos SCSI.




2.4 NAS (Network Attached Storage)


Es un dispositivo que posee un disco duro, una tarjeta controladora, una tarjeta de red, y el software necesario que incluye los protocolos para que los archivos sean alcanzables desde las demás máquinas (NFS, CIFS, Internetwork Packet Exchange)

2.5 SAN (Storage Area Network)

Red dedicada creada para permitir a un grupo de servidores el compartir sistemas de almacenamiento de alta velocidad

Libro: Using SANs and NAS, Oreilly

2.6 CAS (Content Addressed Storage)

Referencias tomadas de
http://www.acnc.com
http://www.storage.com
http://www.emc.com