T001: Medios de almacenamiento

publicado a la‎(s)‎ 4 may 2012, 15:33 por Hernan Nina Hanco   [ actualizado el 4 jun 2013, 11:06 ]

1.1 VISIÓN GENERAL DE LOS MEDIOS DE ALMACENAMIENTO

Existen varios tipos de almacenamiento de datos que pueden clasificarse según la Velocidad con la que se puede acceder a los datos, Coste de adquisición del medio por unidad de datos y la fiabilidad del medio.


El almacenamiento se puede diferenciar en, almacenamiento volátil en el cual se pierde el contenido cuando se apaga el equipo y almacenamiento no volátil en el mismo el contenido persiste incluso cuando se apaga el equipo, en este último se incluye incluye almacenamiento secundario y terciario, así como copias de seguridad.


Dentro de los medios se tiene:
  • Caché.- Rápida, pequeña y costosa su uso lo gestiona el Hardware. no se toma en cuenta en sistemas de base de datos.
  • Memoria principal.- Utilizado para operar con los datos disponibles. También se operan instrucciones de la máquina de propósito general. Puede contener muchos megabites de datos, pero pequeña para almacenar toda una base de datos. es volátil.

  • Memoria Flash.- También conocida como memoria sólo de lectura programable y borrable eléctricamente (Electrically Erasable Programmable Read- Only Memory, EEPROM), son no volátil. La lectura de los datos de la memoria flash tarda menos de cien nanosegundos, igual de rápido que la lectura de los datos de la memoria principal. Sin embargo, la escritura de los datos en la memoria flash resulta más complicada. La memoria flash se ha hecho popular como sustituta de los discos magnéticos para guardar pequeños volúmenes de datos (de cinco a diez megabytes) en los sistemas informáticos de coste reducido que se incluyen en otros dispositivos, como computadoras de bolsillo y en otros dispositivos electrónicos como cámaras digitales. existen dispositivos con mas de 256 GB.

  • Almacenamiento en discos magnéticos.- Medio de almacenamiento persistente donde se guarda toda la base de datos. Para tener acceso a los datos hay que trasladarlos desde el disco a la memoria principal. Después de realizar la operación hay que escribir en el disco los datos que se han modificado. El tamaño de los discos magnéticos han ido creciendo a un ritmo del 50 por ciento anual. El almacenamiento en disco puede aguantar los fallos del suministro eléctrico y caídas del sistema. Los dispositivos de almacenamiento en disco pueden fallar a veces y, en consecuencia, destruir los datos, pero tales fallos suelen producirse con mucha menos frecuencia.

  • Almacenamiento óptico.- Disponemos de el disco compacto (Compact Disk, CD), que puede almacenar alrededor de 640 megabytes de datos, y el disco de video digital (Digital Video Disk, DVD), que puede almacenar 4,7 u 8,5 gigabytes de datos por cada cara del disco (o hasta 17 gigabytes en un disco de doble cara). Los datos se almacenan en un disco por medios ópticos y se leen mediante un láser. Entre sus tipos tenemos:

    • Discos compactos de sólo lectura (CD-ROM)

    • Discos de vídeo digital de sólo lectura (DVD-ROM) no se pueden escribir,

    • Disco «grabar una vez» (CD-R) y (DVD-R), llamados también (Write-Once, Read-Only Memory, WORM).

    • Disco «escribir varias veces» (CD-RW, DVD-RW y DVD-RAM)

Estos discos son útiles para el almacenamiento de archivos así como para la distribución de datos. Los cambiadores automáticos (jukebox) contienen unas cuantas unidades y numerosos discos que pueden cargarse de manera automática en una de las unidades (mediante un brazo robotizado) a petición del usuario.

  • Almacenamiento en cinta.- El almacenamiento en cinta se utiliza principalmente para copias de seguridad y datos de archivo. Aunque la cinta magnética es mucho más barata que los discos, el acceso a los datos resulta mucho más lento, ya que el acceso a la cinta debe ser secuencial desde su comienzo. Por este motivo, el almacenamiento se denomina almacenamiento de acceso secuencial. En cambio, el almacenamiento en disco se denomina almacenamiento de acceso directo porque es posible leer datos desde cualquier ubicación del disco. Las cintas tienen una capacidad elevada (actualmente hay disponibles cintas de 40 a 300 gigabytes) y pueden retirarse de la unidad de lectura, lo que facilita un almacenamiento de coste reducido para archivos. Los cambiadores automáticos de cinta se utilizan para guardar conjuntos de datos excepcionalmente grandes, como los datos de sensores remotos de los satélites, que pueden alcanzar cientos de terabytes o incluso pentabytes de datos.


Organizarse en una jerarquía


Figura 1.1


Los diferentes medios de almacenamiento pueden organizarse en una jerarquía (Figura 1.1) de acuerdo con su velocidad y su coste. Los niveles superiores son de coste elevado, pero rápidos. A medida que se desciende por la jerarquía el coste por bit disminuye, mientras que el tiempo de acceso aumenta.

Los medios de almacenamiento más rápidos (por ejemplo, caché y memoria principal) se denominan almacenamiento primario. Los medios del siguiente nivel de la jerarquía (por ejemplo, los discos magnéticos) se conocen como almacenamiento secundario o almacenamiento en conexión. Los medios del nivel inferior de la jerarquía —por ejemplo, cinta magnética y los cambiadores automáticos de discos ópticos— se denominan almacenamiento terciario o almacenamiento sin conexión.

1.2. DISCOS MAGNÉTICOS


Figura 1.2


1.2.1. Características físicas de los discos


Físicamente, los discos son relativamente sencillos (Figura 1.2). Cada plato del disco tiene una forma circular plana. Sus dos superficies están cubiertas por un material magnético y la información se graba en ellas. Los platos están hechos de metal rígido o de vidrio y están cubiertos (generalmente por los dos lados) con material magnético para grabaciones.


Mientras se está utilizando el disco, un motor lo hace girar a una velocidad constante elevada (generalmente 60, 90 o 120 y algunos llegan a 250 revoluciones por segundo). Hay una cabeza de lectura y escritura ubicada justo encima de la superficie del plato. La superficie del disco se divide a efectos lógicos en pistas, que se subdividen en sectores. Un sector (normalmente de 512 bytes) es la unidad mínima de información que puede leerse o escribirse en el disco.


Hay alrededor de 16000 pistas en cada disco y de dos a cuatro platos por disco. Las pistas internas (más cercanas al eje) son de menor longitud, y en los disco de la generación actual, las pistas exteriores contienen más sectores que las pistas internas; normalmente hay alrededor de 200 sectores por pista en las pistas internas y alrededor de 400 sectores por pistas en las pistas externas. La cabeza de lectura y escritura guarda magnéticamente la información en los sectores en forma de inversiones de la dirección de magnetización del material magnético.


Cada cara de un plato del disco tiene una cabeza de lectura y escritura que se desplaza por el plato para tener acceso a las diferentes pistas. Un disco suele contener muchos platos y las cabezas de lectura y escritura de todas las pistas están montadas en un solo dispositivo denominado brazo del disco y se desplazan conjuntamente.


El conjunto de los platos del disco montados sobre un eje y las cabezas montadas en el brazo del disco se denomina dispositivo cabeza-disco. Dado que las cabezas de todos las platos se desplazan conjuntamente, cuando la cabeza de un plato se halle en la pista i-ésima, las cabezas de todos las demás platos también se encontrarán en la pista i-ésima de sus platos respectivos.


Por consiguiente, las pistas i-ésimas de todos los platos se denominan conjuntamente cilindro i-ésimo.


Las cabezas de lectura y escritura se mantienen tan próximas como sea posible a la superficie de los discos para aumentar la densidad de grabación. A menudo la cabeza flota o vuela a sólo micras de la superficie del disco; las revoluciones del disco crean una pequeña brisa y el dispositivo de cabezas se manufactura de forma que la brisa mantenga la cabeza flotando sobre la superficie del disco.


¿Problemas de choque de cabezas?

Discos de cabezas fijas y discos con varios brazos en sistemas de alto rendimiento.


Un controlador de disco actúa como interfaz entre el sistema informático y el hardware concreto de la unidad de disco. Acepta las órdenes de alto nivel para leer o escribir en un sector e inicia las acciones, como desplazar el brazo del disco a la pista adecuada y leer o escribir realmente los datos. Los controladores de disco también añaden comprobación de suma a cada sector.


Otra labor interesante llevada a cabo por los controladores de disco es la reasignación de los sectores dañados. Si el controlador detecta que un sector está dañado cuando se da formato al disco por primera vez, o cuando se realiza un intento de escribir en el sector, puede reasignar lógicamente el sector a una ubicación física diferente (escogida de entre un grupo de sectores extra preparado con esta finalidad). La reasignación se anota en disco o en memoria no volátil y la escritura se realiza en la nueva ubicación.


Figura 1.3


En la Figura 1.3 se muestra la manera en que los discos se conectan a un sistema informático. Al igual que otras unidades de almacenamiento, los discos se conectan a un sistema informático o a un controlador mediante una conexión de alta velocidad. En los sistemas de disco modernos, las funciones de menor nivel del controlador de disco, como el control del brazo, el cálculo y verificación de la comprobación de suma y la reasignación de los sectores dañados se implementan en la unidad de disco.


La interfaz ATA(ATAttachment) (que es una versión más rápida que la interfaz electrónica de dispositivos integrados [IDE, Integrated Drive Electronics]) y la interfaz de conexión para sistemas informáticos pequeños (SCSI, Small Computer-System Interconnect Interface, pronunciado «escasi») se usan habitualmente para conectar los discos con las computadoras personales y las estaciones de trabajo. Los grandes sistemas y los sistemas servidores suelen disponer de una interfaz más rápida y cara, como las versiones de alta capacidad de la interfaz SCSI, y la interfaz Fibre Channel.


Los discos se conectan por lo general directamente al controlador de disco mediante cables, pero también pueden estar situados en una ubicación remota y estar conectados mediante una red de alta velocidad al controlador de disco. En una arquitectura de red de área de almacenamiento (Storage-Area Network, SAN), se conecta un gran número de discos mediante una red de alta velocidad a varias computadoras servidoras.


Los discos generalmente se organizan localmente usando una técnica de organización del almacenamiento denominada “disposición redundante de discos independientes (Redundant Array of Independent Disks, RAID)” para dar a los servidores una vista lógica de un disco de gran tamaño y muy fiable.


1.2.2. Medidas del rendimiento de los discos


Las principales medidas de la calidad de un disco son la capacidad, el tiempo de acceso, la velocidad de transferencia de datos y la fiabilidad.

El tiempo de acceso es el tiempo transcurrido desde que se formula una solicitud de lectura o de escritura hasta que comienza la transferencia de datos. Para tener acceso (es decir, para leer o escribir) a los datos en un sector dado del disco, primero se debe desplazar el brazo para que se ubique sobre la pista correcta y luego hay que esperar a que el sector aparezca bajo el brazo por acción de la rotación del disco. El tiempo para volver a ubicar el brazo se denomina tiempo de búsqueda y aumenta con la distancia que deba recorrer el brazo. Los tiempos de búsqueda típicos varían de dos a treinta milisegundos, en función de la distancia de la pista a la posición inicial del brazo. Los discos de menor tamaño tienden a tener tiempos de búsqueda menores, dado que la cabeza tiene que recorrer una distancia menor.

El tiempo medio de búsqueda es la media de los tiempos de búsqueda medido en una sucesión de solicitudes aleatorias (uniformemente distribuidas). Si todas las pistas tienen el mismo número de sectores y despreciando el tiempo requerido para que la cabeza inicie su movimiento y lo detenga, se puede demostrar que el tiempo medio de búsqueda es un tercio del peor de los tiempos de búsqueda posibles. Teniendo en cuenta estos factores, el tiempo medio de búsqueda es alrededor de la mitad del tiempo máximo de búsqueda. Los tiempos medios de búsqueda varían actualmente entre cuatro y diez milisegundos, dependiendo del modelo de disco.

Una vez ha tenido lugar la búsqueda, el tiempo que se pasa esperando a que el sector al que hay que tener acceso aparezca bajo la cabeza se denomina tiempo de latencia rotacional. Las velocidades rotacionales típicas de los discos actuales varían de 5400 rotaciones por minuto (90 rotaciones por segundo) hasta 15000 rotaciones por minuto (250 rotaciones por segundo) o, lo que es lo mismo, de 4 a 11.1 milisegundos por rotación.


En media hace falta la mitad de una rotación del disco para que aparezca bajo la cabeza el comienzo del sector deseado. Por tanto, el tiempo de latencia medio del disco es la mitad del tiempo empleado en una rotación completa del disco.


El tiempo de acceso es la suma del tiempo de búsqueda y del tiempo de latencia y varía de 8 a 20 milisegundos.


Una vez que se ha ubicado bajo la cabeza el primer sector de datos, comienza su transferencia. La velocidad de transferencia de datos es la velocidad a la que se pueden recuperar o guardar datos en el disco. Los sistemas de disco actuales anuncian que permiten velocidades máximas de transferencia de 25 a 40 megabytes por segundo, aunque las velocidades de transferencia reales pueden ser significativamente menores, alrededor de 4 a 8 megabytes por segundo.


La última de las medidas de los discos utilizadas con frecuencia es el tiempo medio entre fallos, que es una medida de la fiabilidad del disco. El tiempo medio entre fallos de un disco (o de cualquier otro sistema) es la cantidad de tiempo que, en media, se puede esperar que el sistema funcione de manera continua sin tener ningún fallo. De acuerdo con los anuncios de los fabricantes, el tiempo medio entre fallos de los discos actuales varía de 30000 a 1200000 horas (de 3,4 a 136 años). En la práctica, el tiempo medio entre fallos anunciado se calcula en términos de la probabilidad de fallo cuando el disco es nuevo (este escenario significa que dados 1000 discos relativamente nuevos, si el tiempo medio entre fallos es 1200000 horas, uno de ellos fallará en media en 1200 horas). Un tiempo medio entre fallos de 1200000 horas no implica que se espere que el disco vaya a funcionar 136 años. La mayoría de los discos tienen un periodo de vida esperado de cinco años, y tienen significativamente más fallos cuando son algunos años más viejos.


® Medidas del rendimiento de los discos a la fecha.

® Discos de estado solido “Flash Drives”.


1.2.3. Optimización del acceso a los bloques del disco


Las solicitudes de E/S al disco las generan tanto el sistema de archivos como el gestor de la memoria virtual que se halla en la mayor parte de los sistemas operativos.


Cada solicitud especifica la dirección del disco a la que hay que hacer referencia; esa dirección está en la forma de un número de bloque. Un bloque es una secuencia continua de sectores de una sola pista de un plato. Los tamaños de los bloques varían de 512 bytes a varios kilobytes. Los datos se transfieren entre el disco y la memoria principal en unidades de bloques. Los niveles inferiores del gestor del sistema de archivos transforman las direcciones de los bloques en cilindro, superficie y número de sector del nivel de hardware. Dado que el acceso a los datos del disco es varias órdenes de magnitud más lento que el acceso a la memoria principal, se ha prestado mucha atención a la mejora de la velocidad de acceso a los bloques del disco.

  • Planificación. Si hay que transferir varios bloques de un cilindro desde el disco a la memoria principal puede que se logre disminuir el tiempo de acceso solicitando los bloques en el orden en el que pasarán por debajo de las cabezas. Si los bloques deseados se hallan en cilindros diferentes resulta ventajoso solicitar los bloques en un orden que minimice el movimiento del brazo del disco. Los algoritmos de planificación del brazo del disco intentan ordenar el acceso a las pistas de manera que se aumente el número de accesos que puede procesarse. Un algoritmo utilizado con frecuencia es el algoritmo del ascensor, que funciona de manera parecida a muchos ascensores. Supóngase que, inicialmente, el brazo se desplaza desde la pista más interna hacia el exterior del disco. Bajo el control del algoritmo del ascensor, en cada pista para la que hay una solicitud de acceso el brazo se detiene, atiende las solicitudes para la pista y continúa desplazándose hacia el exterior hasta que no queden solicitudes pendientes para las pistas más externas. En este punto el brazo cambia de dirección, se desplaza hacia el interior y vuelve a detenerse en cada pista para las que haya solicitudes hasta alcanzar una pista en la que no haya solicitudes para pistas más cercanas al centro del disco. En ese momento cambia de dirección e inicia un nuevo ciclo. Los controladores de disco suelen realizar la labor de reordenar las solicitudes de lectura para mejorar el rendimiento, dado que conocen perfectamente la organización de los bloques del disco, la posición rotacional de los platos y la posición del brazo.

  • Organización de archivos. Para reducir el tiempo de acceso a los bloques se pueden organizar los bloques del disco de una manera que se corresponda fielmente con la forma en que se espera tener acceso a los datos. Por ejemplo, si se espera tener acceso secuencial a un archivo, en teoría se deberían guardar secuencialmente en cilindros adyacentes todos los bloques del archivo. En el transcurso del tiempo, un archivo secuencial puede quedar fragmentado; es decir, sus bloques pueden quedar dispersos por el disco. Para reducir la fragmentación, el sistema puede hacer una copia de seguridad de los datos del disco y restaurar todo el disco.

  • Memoria intermedia de escritura no volátil. Dado que el contenido de la memoria se pierde durante los fallos de suministro eléctrico, hay que guardar en disco la información sobre las actualizaciones de las bases de datos para que superen las posibles caídas del sistema. Por tanto, el rendimiento de las aplicaciones de bases de datos sensibles a las actualizaciones, como los sistemas de procesamiento de transacciones, dependen mucho de la velocidad de escritura en el disco. Se puede utilizar memoria no volátil de acceso aleatorio (RAM no volátil) para acelerar la escritura en el disco de manera drástica. El contenido de la RAM no volátil no se pierde durante un fallo del suministro eléctrico. Una manera habitual de implementar la RAM no volátil es utilizar RAM alimentada por baterías. La idea es que, cuando el sistema de bases de datos (o el sistema operativo) solicita que se escriba un bloque en el disco, el controlador del disco escriba el bloque en una memoria intermedia de RAM no volátil y comunique de manera inmediata al sistema operativo que la escritura se completó con éxito. El controlador escribe los datos en su destino en el disco en cualquier momento en que el disco no tenga otras solicitudes o cuando la memoria intermedia de RAM no volátil se llene. Cuando el sistema de bases de datos solicita la escritura de un bloque sólo percibe un retraso si la memoria intermedia de RAM no volátil se encuentra llena. Durante la recuperación de una caída del sistema se vuelven a escribir en el disco todas las escrituras que se hallan pendientes en la memoria intermedia de RAM no volátil.

  • Disco de registro histórico. Otro enfoque para reducir las latencias de escritura es utilizar un disco de registro histórico (de manera muy parecida a la memoria intermedia RAM no volátil). Todos los accesos al disco de registro histórico son secuenciales, lo que elimina principalmente el tiempo de búsqueda y, así, pueden escribirse simultáneamente varios bloques consecutivos, lo que hace que los procesos de escritura en el disco sean varias veces más rápidos que los procesos de escritura aleatorios. Igual que ocurría anteriormente también hay que escribir los datos en su ubicación verdadera en el disco, pero este proceso de escritura puede llevarse a cabo sin que el sistema de bases de datos tenga que esperar a que se complete. Más aún, el disco de registro histórico puede reordenar las escrituras para reducir el movimiento del brazo. Si el sistema cae antes de que se hayan realizado algunas escrituras en la ubicación real del disco, cuando el sistema se recupere lee el disco de registro histórico para encontrar las escrituras que no se han realizado y entonces las completa. Los sistemas de archivo que soportan los discos de registro histórico mencionados se denominan sistemas de archivos de diario. Los sistemas de archivos de diario se pueden implementar incluso sin un disco de registro histórico aislado, guardando los datos y el registro histórico en el mismo disco. Al hacerlo así se reduce el coste económico a expensas de un menor rendimiento. El sistema de archivos basado en registro histórico es una versión extrema del enfoque del disco de registro histórico. Los datos no se vuelven a escribir en su ubicación original en el disco; en su lugar, el sistema de archivos hace un seguimiento del lugar del disco de registro histórico en que se escribieron los bloques más recientemente y los recupera desde esa ubicación. El propio disco de registro histórico se compacta de manera periódica, por lo que se pueden eliminar los procesos de escritura antiguos que se han sobrescrito posteriormente. Este enfoque mejora el rendimiento de los procesos de escritura pero genera un elevado grado de fragmentación de los archivos que se actualizan con frecuencia. Como se señaló anteriormente, esa fragmentación aumenta el tiempo de búsqueda en la lectura secuencial de los archivos.

Comments