Unidad RAM - RAM drive

Una unidad RAM (también llamada disco RAM ) es un bloque de memoria de acceso aleatorio ( almacenamiento primario o memoria volátil ) que el software de una computadora trata como si la memoria fuera una unidad de disco ( almacenamiento secundario ). A veces se la denomina unidad RAM virtual o unidad RAM de software para distinguirla de una unidad RAM de hardware que utiliza hardware separado que contiene RAM, que es un tipo de unidad de estado sólido respaldada por batería .

Rendimiento

El rendimiento de una unidad RAM es generalmente órdenes de magnitud más rápido que otras formas de almacenamiento digital, como SSD , cinta , óptica , disco duro y unidades de disquete . Esta ganancia de rendimiento se debe a múltiples factores, incluido el tiempo de acceso, el rendimiento máximo y las características del sistema de archivos .

El tiempo de acceso a los archivos se reduce en gran medida ya que una unidad RAM es de estado sólido (sin partes móviles). Un disco duro físico, óptico (por ejemplo, CD-ROM , DVD y Blu-ray ) u otro medio (por ejemplo , burbuja magnética , almacenamiento acústico , cinta magnética ) debe mover la información a una posición particular antes de que se pueda leer o escribir. Las unidades RAM pueden acceder a los datos solo con la dirección, lo que elimina esta latencia .

En segundo lugar, el rendimiento máximo de una unidad RAM está limitado por la velocidad de la RAM, el bus de datos y la CPU de la computadora. Otras formas de medios de almacenamiento están además limitadas por la velocidad del bus de almacenamiento, como IDE (PATA), SATA , USB o FireWire . Para agravar esta limitación está la velocidad de la mecánica real de los motores impulsores, cabezales u ojos.

En tercer lugar, el sistema de archivos en uso, como NTFS , HFS , UFS , ext2, etc., usa accesos adicionales, lee y escribe en la unidad, que aunque es pequeña, puede acumularse rápidamente, especialmente en el caso de muchos archivos pequeños vs. pocos archivos más grandes (carpetas temporales de Internet, cachés web, etc.).

Debido a que el almacenamiento está en RAM, es una memoria volátil , lo que significa que se perderá en caso de pérdida de energía, ya sea intencional (reinicio o apagado de la computadora) o accidental (falla de energía o falla del sistema). Esto es, en general, una debilidad (los datos deben respaldarse periódicamente en un medio de almacenamiento persistente para evitar pérdidas), pero a veces es deseable: por ejemplo, cuando se trabaja con una copia descifrada de un archivo cifrado o se utiliza la RAM. drive para almacenar los archivos temporales del sistema .

En muchos casos, los datos almacenados en la unidad RAM se crean a partir de datos almacenados permanentemente en otro lugar, para un acceso más rápido , y se vuelven a crear en la unidad RAM cuando el sistema se reinicia.

Aparte del riesgo de pérdida de datos, la principal limitación de las unidades de RAM es la capacidad, que está limitada por la cantidad de RAM instalada. El almacenamiento SSD de varios terabytes se ha vuelto común, pero la RAM todavía se mide en gigabytes.

Las unidades RAM usan la memoria normal del sistema como si fuera una partición en un disco duro físico en lugar de acceder al bus de datos que normalmente se usa para el almacenamiento secundario. Aunque las unidades de RAM a menudo se pueden admitir directamente en el sistema operativo a través de mecanismos especiales en el kernel de O / S , generalmente es más sencillo acceder a una unidad de RAM a través de un controlador de dispositivo virtual . Esto hace que la naturaleza sin disco de las unidades RAM sea invisible tanto para el SO como para las aplicaciones.

Por lo general, no se necesita una batería de respaldo debido a la naturaleza temporal de la información almacenada en la unidad de RAM, pero una fuente de alimentación ininterrumpida puede mantener el sistema en funcionamiento durante un breve corte de energía.

Algunas unidades de RAM utilizan un sistema de archivos comprimido como cramfs para permitir el acceso a los datos comprimidos sobre la marcha, sin descomprimirlos primero. Esto es conveniente porque las unidades de RAM suelen ser pequeñas debido al mayor precio por byte que el almacenamiento en disco duro convencional.

Historia y detalles del sistema operativo

La primera unidad RAM de software para microcomputadoras fue inventada y escrita por Jerry Karlin en el Reino Unido en 1979/80. El software, conocido como Silicon Disk System, se desarrolló aún más en un producto comercial y fue comercializado por JK Systems Research, que se convirtió en Microcosm Research Ltd cuando Peter Cheesewright de Microcosm Ltd se unió a la compañía . La idea era permitir que las primeras microcomputadoras usaran más RAM de la que la CPU podía abordar directamente. Hacer que la RAM conmutada por banco se comporte como una unidad de disco era mucho más rápido que las unidades de disco, especialmente en aquellos días antes de que los discos duros estuvieran disponibles en tales máquinas.

Silicon Disk se lanzó en 1980, inicialmente para el sistema operativo CP / M y más tarde para MS-DOS . Debido a las limitaciones en el direccionamiento de la memoria en las computadoras Atari de 8 bits , Apple II y Commodore , una unidad de RAM también era una aplicación popular en los sistemas Atari 130XE , Commodore 64 y Commodore 128 con unidades de expansión RAM y en computadoras de la serie Apple II con más de 64kB de RAM. Apple Computer admitía una unidad RAM de software de forma nativa en ProDOS : en sistemas con 128kB o más de RAM, ProDOS asignaba automáticamente una unidad RAM llamada / RAM .

IBM agregó una unidad RAM llamada VDISK.SYS a PC DOS (versión 3.0) en agosto de 1984, que fue el primer componente de DOS en usar memoria extendida . VDISK.SYS no estaba disponible en Microsoft 's de MS-DOS , ya que, a diferencia de la mayoría de los componentes de las primeras versiones de PC DOS, fue escrito por IBM. Microsoft incluyó el programa similar RAMDRIVE.SYS en MS-DOS 3.2 (lanzado en 1986), que también podría usar memoria expandida . Se suspendió en Windows 7. DR-DOS y la familia DR de sistemas operativos multiusuario también venían con un disco RAM llamado VDISK.SYS. En DOS multiusuario , el disco RAM tiene por defecto la letra de unidad M: (para unidad de memoria). AmigaOS ha tenido una unidad RAM incorporada desde el lanzamiento de la versión 1.1 en 1985 y todavía la tiene en AmigaOS 4.1 (2010). Apple Computer agregó la funcionalidad al panel de control de memoria de Apple Macintosh con System 7 en 1991, y mantuvo la función durante toda la vida de Mac OS 9 . Los usuarios de Mac OS X pueden usar hdid , newfs (o newfs hfs ) y montar utilidades para crear, formatear y montar una unidad RAM.

Una innovación de la unidad RAM introducida en 1986 pero que Perry Kivolowitz puso a disposición en 1987 para AmigaOS fue la capacidad de la unidad RAM para sobrevivir a la mayoría de los fallos y reinicios. Llamado ASDG Recoverable Ram Disk, el dispositivo sobrevivió a los reinicios al asignar memoria dinámicamente en el orden inverso de la asignación de memoria predeterminada (una característica compatible con el sistema operativo subyacente) para reducir la fragmentación de la memoria. Se escribió un "superbloque" con una firma única que podría ubicarse en la memoria al reiniciar. El superbloque y todos los demás "bloques" del disco RRD mantuvieron sumas de verificación para permitir la invalidación del disco si se detectaban daños. Al principio, el ASDG RRD estaba bloqueado en tarjetas de memoria ASDG y se utilizaba como función de venta. Más tarde, el ASDG RRD se puso a disposición como shareware con una donación sugerida de 10 dólares. La versión shareware apareció en Fred Fish Disks 58 y 241. El propio AmigaOS obtendría un Disco RAM recuperable (llamado "RAD") en la versión 1.3.

Muchos Unix y Unix-como sistemas proporcionan algún tipo de funcionalidad de unidad de RAM, tal como / dev / RAM en Linux , o md (4) en FreeBSD . Las unidades de RAM son particularmente útiles en aplicaciones de alto rendimiento y bajos recursos para las que a veces se configuran sistemas operativos similares a Unix. También hay algunas distribuciones de Linux especializadas "ultraligeras" que están diseñadas para arrancar desde medios extraíbles y se almacenan en un disco RAM durante toda la sesión.

Unidades de RAM de hardware dedicadas

Ha habido unidades de RAM que utilizan memoria DRAM que se dedica exclusivamente a funcionar como un dispositivo de almacenamiento de latencia extremadamente baja. Esta memoria está aislada del procesador y no se puede acceder directamente a ella de la misma manera que la memoria normal del sistema.

Assimilation Process, Inc. introdujo un ejemplo temprano de una unidad RAM de hardware en 1986 para Macintosh. Llamada "Excalibur", era una unidad RAM externa de 2 MB y se vendía al por menor entre $ 599 y $ 699 dólares. Con la capacidad de RAM ampliable en incrementos de 1 MB, se decía que su batería interna era efectiva entre 6 y 8 horas y, inusual para la época, se conectaba a través del puerto de disquete de Macintosh.

En 2002, Cenatek produjo el Rocket Drive , un máximo de 4 GB, que tenía cuatro ranuras DIMM para la memoria PC133, con un máximo de cuatro gigabytes de almacenamiento. En ese momento, las computadoras de escritorio comunes usaban de 64 a 128 megabytes de memoria PC100 o PC133. Los módulos PC133 de un gigabyte (los más grandes disponibles en ese momento) cuestan aproximadamente $ 1,300 (equivalente a $ 1,871 en 2020). Una Rocket Drive completamente equipada con cuatro GB de almacenamiento habría costado $ 5,600 (equivalente a $ 8,058 en 2020).

En 2005, Gigabyte Technology produjo la i-RAM , un máximo de 4 GB, que funcionó esencialmente de manera idéntica a la Rocket Drive, excepto que se actualizó para usar la tecnología de memoria DDR más nueva, aunque también se limitó a un máximo de 4 GB de capacidad.

Para ambos dispositivos, la RAM dinámica requiere energía continua para retener datos; cuando se pierde la energía, los datos se desvanecen. Para el Rocket Drive, había un conector para una fuente de alimentación externa separada de la computadora y la opción de una batería externa para retener datos durante un corte de energía. La i-RAM incluyó una pequeña batería directamente en la placa de expansión, para 10-16 horas de protección.

Ambos dispositivos utilizaron la interfaz SATA 1.0 para transferir datos desde la unidad RAM dedicada al sistema. La interfaz SATA era un cuello de botella lento que limitaba el rendimiento máximo de ambas unidades RAM, pero estas unidades aún proporcionaban una latencia de acceso a datos excepcionalmente baja y altas velocidades de transferencia sostenidas, en comparación con los discos duros mecánicos.

En 2006, Gigabyte Technology produjo el GC-RAMDISK , máximo 8GB, que fue la creación de segunda generación para i-RAM. Tiene una capacidad máxima de 8 GB, el doble que la i-RAM. Usó el puerto SATA-II, nuevamente el doble que el i-RAM. Uno de sus mejores puntos de venta es que se puede utilizar como dispositivo de arranque.

En 2007, ACard Technology produjo el disco RAM ANS-9010 Serial ATA, máximo 64 GB. Cita del informe técnico: El ANS-9010 ", que tiene ocho ranuras DIMM DDR2 y admite hasta 8 GB de memoria por ranura. El ANS-9010 también cuenta con un par de puertos Serial ATA, lo que le permite funcionar como una sola unidad o disfrazarse como un par de unidades que se pueden dividir fácilmente en una matriz RAID 0 aún más rápida ".

En 2009, Acard Technology produjo el disco RAM ACARD ANS-9010BA 5.25 Dynamic SSD SATA-II, máximo 64 GB. Utiliza un solo puerto SATA-II.

Ambas variantes están equipadas con una interfaz de tarjeta CompactFlash ubicada en el panel frontal, lo que permite que los datos no volátiles que se almacenan en la unidad RAM se copien en la tarjeta CompactFlash en caso de falla de energía y batería de respaldo baja. Dos botones ubicados en el panel frontal permiten al usuario hacer una copia de seguridad / restaurar manualmente los datos en la unidad RAM. La tarjeta CompactFlash en sí no es accesible para el usuario por medios normales ya que la tarjeta CF está diseñada únicamente para respaldo y restauración de RAM. Tenga en cuenta que la capacidad de la tarjeta CF tiene que cumplir o superar la capacidad total del módulo RAM para que funcione de forma eficaz como una copia de seguridad fiable.

En 2009, DDRdrive, LLC produjo el DDRDrive X1, que afirma ser el disco de estado sólido más rápido del mundo. La unidad es una unidad RAM DDR dedicada principal de 4 GB para uso regular, que puede realizar copias de seguridad y recuperar desde una unidad SLC NAND de 4 GB. El mercado previsto es el de mantener y registrar archivos de registro . Si hay una pérdida de energía, los datos se pueden guardar en un ssd interno de 4GB en 60 segundos, mediante el uso de una batería de respaldo. A partir de entonces, los datos se pueden recuperar en la RAM una vez que se restablezca la energía. Una pérdida de energía del host hace que el DDRdrive X1 realice una copia de seguridad de los datos volátiles en un almacenamiento no volátil integrado.

Ver también

Referencias

enlaces externos