# Armazenamento de dados de computador

O armazenamento (ou armazenagem) de dados de computador é uma tecnologia que consiste em componentes de computador e mídia de gravação que são usados para reter dados digitais. É uma função central e componente fundamental dos computadores.$^{:15–16}$
A unidade de processamento central (CPU) de um computador é o que, executando cálculos, manipula os dados. Na prática, quase todos os computadores usam uma hierarquia de armazenamento, $^{:468–473}$ que coloca as opções de armazenamento rápidas, mas caras e pequenas, perto da unidade de processamento central (CPU) e as opções mais lentas, mas menos caras e maiores, mais distantes. Geralmente, as tecnologias voláteis rápidas (que perdem dados quando desligadas) são chamadas de "memória", enquanto as tecnologias persistentes mais lentas são chamadas de "armazenamento".
Até mesmo os primeiros projetos de computador, a máquina analítica de Charles Babbage e a máquina analítica de Percy Ludgate, distinguiam claramente entre processamento e memória (Babbage armazenava números como rotações de engrenagens, enquanto Ludgate armazenava números como deslocamentos de hastes em ônibus espaciais). Essa distinção foi estendida na arquitetura de von Neumann, onde a unidade de processamento central (CPU) consiste em duas partes principais: a unidade de controle e a unidade lógica aritmética (ALU). A primeira controla o fluxo de dados entre a unidade de processamento central (CPU) e a memória, enquanto a última executa operações lógicas e aritméticas nos dados.

## Funcionalidade

Sem uma quantidade significativa de memória, um computador seria apenas capaz de realizar operações fixas e produzir imediatamente o resultado. Teria que ser reconfigurado para mudar seu comportamento. Isso é aceitável para dispositivos como calculadoras de mesa, processadores de sinais digitais e outros dispositivos especializados. As máquinas de von Neumann diferem por terem uma memória na qual armazenam suas instruções de operação e dados. $^{:20}$ Esses computadores são mais versáteis, pois não precisam ter seu hardware reconfigurado para cada novo programa, mas podem simplesmente ser reprogramados com novas instruções na memória; eles também tendem a ser mais simples de projetar, em que um processador relativamente simples pode manter o estado entre cálculos sucessivos para construir resultados de procedimentos complexos. A maioria dos computadores modernos são máquinas de von Neumann.

## Organização e representação de dados

Um computador digital moderno representa dados usando o sistema de numeração binária. Texto, números, imagens, áudio e quase qualquer outra forma de informação podem ser convertidos em uma sequência de bits ou dígitos binários, cada um dos quais tem um valor de 0 ou 1. A unidade mais comum de armazenamento é o byte, igual para 8 bits. Uma parte da informação pode ser manipulada por qualquer computador ou dispositivo cujo espaço de armazenamento seja grande o suficiente para acomodar a representação binária da parte da informação, ou simplesmente os dados. Por exemplo, as obras completas de Shakespeare, com cerca de 1250 páginas impressas, podem ser armazenadas em cerca de cinco megabytes (40 milhões de bits) com um byte por caractere.
Os dados são codificados atribuindo um padrão de bits a cada caractere, dígito ou objeto de multimídia. Existem muitos padrões de codificação (codificações de caracteres como o código padrão americano para intercâmbio de informações (ASCII), codificações de imagens como o grupo conjunto de especialistas fotográficos (JPEG) e codificações de vídeo como a codificação de objetos audiovisuais (grupo de especialistas em imagens em movimento, MPEG-4), por exemplo).
Ao adicionar bits a cada unidade codificada, a redundância permite ao computador detectar erros nos dados codificados e os corrigir com base em algoritmos matemáticos. Os erros geralmente ocorrem em baixas probabilidades devido à inversão aleatória do valor do bit, ou "fadiga física do bit", perda da capacidade do bit físico no armazenamento manter um valor distinguível (0 ou 1), ou devido a erros no interior ou intra comunicação de computador. Uma inversão de bit aleatória (devido à radiação aleatória, por exemplo) é normalmente corrigida após a detecção. Um bit ou um grupo de bits físicos com defeito (nem sempre o bit defeituoso específico é conhecido; a definição do grupo depende do dispositivo de armazenamento específico) é normalmente cercado automaticamente, retirado de uso pelo dispositivo e substituído por outro grupo equivalente funcional no dispositivo, onde os valores de bit corrigidos são restaurados (se possível). O método de verificação de redundância cíclica (CRC) é normalmente usado em comunicações e armazenamento para detecção de erros. Um erro detectado é então tentado novamente.
Os métodos de compactação de dados permitem, em muitos casos (como no de um banco de dados), representar uma sequência de bits através uma sequência de bits mais curta ("compactar") e reconstruir a sequência original ("descompactar") quando necessário. Isso utiliza substancialmente menos armazenamento (dezenas de porcentagens) para muitos tipos de dados ao custo de mais computação (compactar e descompactar quando necessário). A análise de compensação entre a economia no custo do armazenamento (e dos cálculos relacionados) e possíveis atrasos na disponibilidade dos dados é feita antes de se decidir manter certos dados compactados ou não.
Por razões de segurança, certos tipos de dados (informações de cartões de crédito, por exemplo) podem ser mantidos criptografados no armazenamento para evitar a possibilidade de reconstrução de informações não autorizadas a partir de blocos de instantâneos de armazenamento.

## Hierarquia de armazenamento

Geralmente, quanto mais baixo é o armazenamento na hierarquia, menor é a largura de banda e maior é a latência de acesso da unidade de processamento central (CPU). Essa divisão tradicional de armazenamento em armazenamento primário, secundário, terciário e off-line também é orientada pelo custo por bit.
No uso contemporâneo, a memória é geralmente memória de acesso aleatório de leitura e gravação de armazenamento semicondutor, normalmente memória de acesso aleatório dinâmico (DRAM, RAM dinâmica) ou outras formas de armazenamento rápido, mas temporário. O armazenamento consiste em dispositivos de armazenamento e suas mídias não acessíveis diretamente pela unidade de processamento central (CPU) (armazenamento secundário ou terciário), normalmente unidades de disco rígido, unidades de disco óptico e outros dispositivos mais lentos que a memória de acesso aleatório (RAM), mas não voláteis (retendo o conteúdo quando desligados).
Historicamente, a memória tem sido chamada de memória central, memória principal, armazenamento real ou memória interna. Enquanto isso, os dispositivos de armazenamento não volátil são chamados de armazenamento secundário, memória externa ou armazenamento auxiliar/periférico.

### Armazenamento primário

O armazenamento primário (também conhecido como memória principal, memória interna ou memória primária), muitas vezes referido simplesmente como memória, é o único diretamente acessível à unidade de processamento central (CPU). A unidade de processamento central (CPU) lê continuamente as instruções armazenadas e as executa conforme necessário. Quaisquer dados operados ativamente também são armazenados lá de maneira uniforme.
Historicamente, os primeiros computadores usavam linhas de atraso, tubos de Williams ou tambores magnéticos rotativos como armazenamento primário. Em 1954, esses métodos não confiáveis foram substituídos principalmente por memória de núcleo magnético. A memória de núcleo permaneceu dominante até a década de 1970, quando os avanços na tecnologia de circuito integrado permitiram que a memória semicondutora se tornasse economicamente competitiva.
Isso levou à moderna memória de acesso aleatório (RAM). É pequena, leve, mas ao mesmo tempo bastante cara. Os tipos específicos de memória de acesso aleatório (RAM) usadas para armazenamento primário são voláteis, o que significa que elas perdem as informações quando não estão energizadas. Além de armazenar programas abertos, ela serve como cache de disco para melhorar o desempenho de leitura e gravação. Os sistemas operacionais emprestam capacidade de memória de acesso aleatório (RAM) para armazenamento em cache, desde que não sejam necessários para a execução de software.
Existem, tradicionalmente, para além da memória de acesso aleatório (RAM) principal de grande capacidade, duas subcamadas de armazenamento primário:
* Os registros do processador estão localizados dentro do processador. Cada registro normalmente contém uma palavra de dados (geralmente 32 ou 64 bits). As instruções da unidade de processamento central (CPU) instruem a unidade lógica aritmética a realizar vários cálculos ou outras operações com esses dados (ou com a ajuda deles). Os registros são a forma mais rápida de armazenamento de dados do computador.
* O cache do processador é um estágio intermediário entre os registros ultrarrápidos e a memória principal muito mais lenta. Ele foi introduzido apenas para melhorar o desempenho dos computadores. As informações usadas mais ativamente na memória principal são apenas duplicadas na memória cache, que é mais rápida, mas com capacidade muito menor. Por outro lado, a memória principal é muito mais lenta, mas tem uma capacidade de armazenamento muito maior do que os registros do processador. A configuração de cache hierárquico de vários níveis também é comumente usada - o cache primário é menor, mais rápido e está localizado dentro do processador; ocache secundário é um pouco maior e mais lento.
A memória principal está direta ou indiretamente conectada à unidade de processamento central por meio de um barramento de memória. Na verdade, são dois barramentos (não no diagrama): um barramento de endereço e um barramento de dados. A unidade de processamento central (CPU) primeiro envia um número por meio de um barramento de endereço, um número chamado endereço de memória, que indica a localização desejada dos dados. Em seguida, ele lê ou grava os dados nas células de memória usando o barramento de dados. Além disso, uma unidade de gerenciamento de memória (MMU) é um pequeno dispositivo entre unidade de processamento central (CPU) e a memória de acesso aleatório (RAM) recalculando o endereço de memória real para, por exemplo, fornecer uma abstração de memória virtual ou outras tarefas.
Como os tipos de memória de acesso aleatório (RAM) usados para armazenamento primário são voláteis (não inicializados na inicialização), um computador contendo apenas esse armazenamento não teria uma fonte de onde ler as instruções para iniciar o computador. Portanto, o armazenamento primário não volátil contendo um pequeno programa de inicialização (o sistema básico de entrada/saída - BIOS) é usado para inicializar o computador, ou seja, para ler um programa maior do armazenamento secundário não volátil para a memória de acesso aleatório (RAM) e começar a o executar. Uma tecnologia não volátil usada para esse propósito é chamada de memória somente leitura (ROM) (a terminologia pode ser um tanto confusa, pois a maioria dos tipos de memória somente leitura (ROM) também são capazes de acesso aleatório).
Muitos tipos de memória somente leitura (ROM) não são literalmente somente leitura, pois as atualizações são possíveis; no entanto, é lento e a memória deve ser apagada em grandes partes antes que possa ser reescrita. Alguns sistemas embarcados executam programas diretamente da memória somente leitura (ROM) (ou similar), porque esses programas raramente são alterados. Os computadores padrão não armazenam programas não rudimentares em memória somente leitura (ROM) e, em vez disso, usam grandes capacidades de armazenamento secundário, que também é não volátil e não tão caro.
Recentemente, o armazenamento primário e o armazenamento secundário em alguns usos se referem ao que foi historicamente chamado, respectivamente, armazenamento secundário e armazenamento terciário.

### Armazenamento secundário

O armazenamento secundário (também conhecido como memória externa ou armazenamento auxiliar) difere do armazenamento primário por não ser diretamente acessível pela unidade de processamento central (CPU) . O computador geralmente usa seus canais de entrada/saída para acessar o armazenamento secundário e transferir os dados desejados para o armazenamento primário. O armazenamento secundário não é volátil (retém os dados quando a alimentação é desligada). Os sistemas de computador modernos normalmente têm duas ordens de magnitude a mais de armazenamento secundário do que o armazenamento primário porque o armazenamento secundário é mais barato.
Em computadores modernos, as unidades de disco rígido (HDDs) ou unidades de estado sólido (SSDs) são geralmente usadas como armazenamento secundário. O tempo de acesso por byte para unidades de disco rígido (HDDs) ou unidades de estado sólido (SSDs) é normalmente medido em milissegundos (milésimos de segundo), enquanto o tempo de acesso por byte para armazenamento primário é medido em nanossegundos (um bilionésimo segundo). Portanto, o armazenamento secundário é significativamente mais lento do que o armazenamento primário. Dispositivos de armazenamento óptico rotativo, como unidades de disco compacto (CD) e disco versátil digital (DVD), têm tempos de acesso ainda mais longos. Outros exemplos de tecnologias de armazenamento secundário incluem unidades flash USB, disquetes, fita magnética, fita de papel, cartões perfurados e unidades de memória de acesso aleatório (RAM.
Uma vez que o cabeçote de leitura/gravação do disco nas unidades de disco rígido (HDDs) alcança o posicionamento adequado e os dados, os dados subsequentes na trilha são de acesso muito rápido. Para reduzir o tempo de busca e a latência rotacional, os dados são transferidos de e para os discos em grandes blocos contíguos. O acesso sequencial ou em bloco em discos é ordens de magnitude mais rápido do que o acesso aleatório, e muitos paradigmas sofisticados foram desenvolvidos para projetar algoritmos eficientes com base no acesso sequencial e em bloco. Outra forma de reduzir o gargalo de entrada/saída (E/S) é usar vários discos em paralelo para aumentar a largura de banda entre as memórias primária e secundária.
O armazenamento secundário é frequentemente formatado de acordo com um formato de sistema de arquivos, que fornece a abstração necessária para organizar os dados em arquivos e diretórios, ao mesmo tempo que fornece metadados que descrevem o proprietário de um determinado arquivo, o tempo de acesso, as permissões de acesso e outras informações.
A maioria dos sistemas operacionais de computador usa o conceito de memória virtual, permitindo a utilização de mais capacidade de armazenamento primário do que a fisicamente disponível no sistema. À medida que a memória primária é preenchida, o sistema move os pedaços menos usados (páginas) para um arquivo de troca ou arquivo de página no armazenamento secundário, os recuperando posteriormente quando necessário. Se muitas páginas forem movidas para um armazenamento secundário mais lento, o desempenho do sistema será prejudicado.

### Armazenamento terciário

O armazenamento terciário ou memória terciária está um nível abaixo do armazenamento secundário. Normalmente, envolve um mecanismo robótico que monta (insere) e desmonta mídia removível de armazenamento em massa em um dispositivo de armazenamento de acordo com as demandas do sistema; esses dados são frequentemente copiados para o armazenamento secundário antes do uso. É usado principalmente para arquivar informações raramente acessadas, uma vez que é muito mais lento do que o armazenamento secundário (5–60 segundos comparado com 1–10 milissegundos, por exemplo). Isso é útil principalmente para armazenamentos de dados extraordinariamente grandes, acessados sem operadores humanos. Exemplos típicos incluem bibliotecas de fitas e jukeboxes óticas.
Quando um computador precisa ler informações do armazenamento terciário, ele primeiro consulta um banco de dados do catálogo para determinar qual fita ou disco contém as informações. Em seguida, o computador instruirá um braço robótico para buscar a mídia e a colocar em uma unidade. Quando o computador terminar de ler as informações, o braço robótico retornará a mídia ao seu lugar na biblioteca.
O armazenamento terciário também é conhecido como armazenamento nearline porque é "quase online. A distinção formal entre armazenamento online, nearline e offline é:
* O armazenamento online está imediatamente disponível para entrada/saída (E/S).
* O armazenamento nearline não está imediatamente disponível, mas pode ser disponibilizado online rapidamente, sem intervenção humana.
* O armazenamento offline não está imediatamente disponível e requer alguma intervenção humana para ficar online.
Por exemplo, unidades de disco rígido giratórias sempre ativas são armazenamento online, enquanto as unidades giratórias que diminuem automaticamente, como em arranjos massivos de discos ociosos (MAID), são armazenamento nearline. Mídias removíveis, como cartuchos de fita que podem ser carregados automaticamente, como nas bibliotecas de fitas, são armazenamento nearline, enquanto os cartuchos de fita que devem ser carregados manualmente são armazenamento offline.

### Armazenamento off-line

O armazenamento off-line é um armazenamento de dados de computador em um meio ou dispositivo que não está sob o controle de uma unidade de processamento. O meio é gravado, geralmente em um dispositivo de armazenamento secundário ou terciário e, em seguida, removido fisicamente ou desconectado. Ele deve ser inserido ou conectado por um operador humano antes que um computador possa o acessar novamente. Diferentemente do armazenamento terciário, ele não pode ser acessado sem interação humana.
O armazenamento off-line é usado para transferir informações, uma vez que o meio separado pode ser facilmente transportado fisicamente. Além disso, é útil para casos de desastre, onde, por exemplo, um incêndio destrói os dados originais, um meio em um local remoto não será afetado, permitindo a recuperação de desastres. O armazenamento off-line aumenta a segurança geral da informação, uma vez que é fisicamente inacessível de um computador e a confidencialidade ou integridade dos dados não pode ser afetada por técnicas de ataque baseadas em computador. Além disso, se as informações armazenadas para fins de arquivamento raramente são acessadas, o armazenamento off-line é menos caro do que o armazenamento terciário.
Em computadores pessoais modernos, a maioria dos meios de armazenamento secundários e terciários também são usados para armazenamento off-line. Os discos óticos e os dispositivos de memória flash são os mais populares e, em muito menor grau, as unidades de disco rígido removíveis. Em usos corporativos, a fita magnética é predominante. Os exemplos mais antigos são disquetes, discos Zip ou cartões perfurados.

## Características de armazenamento

As tecnologias de armazenamento em todos os níveis da hierarquia de armazenamento podem ser diferenciadas avaliando certas características principais, bem como medindo características específicas para uma implementação particular. Essas características principais são volatilidade, mutabilidade, acessibilidade e endereçamento. Para qualquer implementação particular de qualquer tecnologia de armazenamento, as características que valem a pena medir são capacidade e desempenho.
Visão geral :
| Característica | Unidade de disco rígido | Disco óptico | Memória flash | Memória de acesso aleatório | Fita linear aberta |
| Tecnologia | Disco magnético | Raio laser | Semicondutor | Semicondutor | Fita magnética |
| Volatilidade | Não | Não | Não | Volátil | Não |
| Acesso aleatório | Sim | Sim | Sim | Sim | Não |
| Latência (tempo de acesso) | ~15 ms (rápido) | ~150 ms (moderado) | Nenhuma (instantâneo) | Nenhuma (instantâneo) | Falta de acesso aleatório (muito lento) |
| Controlador | Interno | Externo | Interno | Interno | Externo |
| Falha com perda de dados iminente | Choque de cabeça (cabeçote) | — | Circuito | Circuito | — |
| Detecção de erros | Diagnóstico (S.M.A.R.T.) | Medição da taxa de erros | Indicado pela redução das taxas de transferência | (Armazenamento de curta duração) | Desconhecido |
| Preço por espaço | Baixo | Baixo | Alto | Muito alto | Muito baixo (mas unidades caras) |
| Preço por unidade | Moderado | Baixo | Moderado | Alto | Moderado (mas unidades caras) |
| Aplicação principal | Arquivamento de média duração, servidor, expansão de armazenamento de estação de trabalho | Arquivamento de longo prazo, distribuição de cópias impressas | Eletrônicos portáteis; sistema operacional | Tempo real | Arquivamento de longa duração |

### Volatilidade

A memória não volátil retém as informações armazenadas, mesmo que não seja constantemente alimentada com energia elétrica. É adequada para o armazenamento de informações a longo prazo. A memória volátil requer energia constante para manter as informações armazenadas. As tecnologias de memória mais rápidas são as voláteis, embora essa não seja uma regra universal. Como o armazenamento primário deve ser muito rápido, ele usa predominantemente memória volátil.
A memória de acesso aleatório dinâmica (DRAM) é uma forma de memória volátil que também requer que as informações armazenadas sejam relidas e reescritas periodicamente, ou atualizadas, caso contrário, elas desapareceriam. A memória de acesso aleatório estática é uma forma de memória volátil semelhante à memória de acesso aleatório dinâmica (DRAM), com a exceção de que nunca precisa ser atualizada enquanto a energia é aplicada; ele perde seu conteúdo quando a fonte de alimentação é perdida.
Uma fonte de alimentação ininterrupta (UPS) pode ser usada para dar a um computador uma breve janela de tempo para mover as informações do armazenamento volátil primário para o armazenamento não volátil antes que as baterias se esgotem. Alguns sistemas (EMC Symmetrix, por exemplo) têm baterias integradas que mantêm o armazenamento volátil por vários minutos.

### Mutabilidade
#### Armazenamento de leitura/gravação ou armazenamento mutável

    Permite que as informações sejam sobrescritas a qualquer momento. Um computador sem alguma quantidade de armazenamento de leitura/gravação para fins de armazenamento primário seria inútil para muitas tarefas. Os computadores modernos normalmente usam armazenamento de leitura/gravação também para armazenamento secundário.

#### Gravação lenta, armazenamento de leitura rápida

    Armazenamento de leitura/gravação que permite que as informações sejam sobrescritas várias vezes, mas com a operação de gravação muito mais lenta do que a operação de leitura. Os exemplos incluem disco compacto regravável (CD-RW) e a unidade de estado sólido (SSD).

#### Armazenamento de escrita única

    A escrita única e muitas leituras (WORM) permite que as informações sejam gravadas apenas uma vez em algum ponto após a fabricação. Os exemplos incluem a memória somente leitura programável de semicondutor e o disco compacto gravável (CD-R).

#### Armazenamento somente leitura

    Retém as informações armazenadas no momento da fabricação. Os exemplos incluem os circuitos integrados de memória somente leitura (ROM ICs) de máscara e o disco compacto de memória somente leitura (CD-ROM).

### Acessibilidade
#### Acesso aleatório

    Qualquer local de armazenamento pode ser acessado a qualquer momento, aproximadamente no mesmo período. Essa característica é adequada para armazenamento primário e secundário. A maioria das memórias semicondutoras e unidades de disco fornecem acesso aleatório, embora apenas a memória flash suporte o acesso aleatório sem latência, já que nenhuma parte mecânica precisa ser movida.

#### Acesso sequencial

    O acesso às informações será em ordem serial, uma após a outra; portanto, o tempo para acessar uma determinada informação depende de qual informação foi acessada pela última vez. Essa característica é típica do armazenamento off-line.

### Endereçabilidade
#### Endereçável por localização

    Cada unidade de informação acessível individualmente em armazenamento é selecionada com seu endereço de memória numérica. Em computadores modernos, o armazenamento endereçável por localização geralmente limita o armazenamento primário, acessado internamente por programas de computador, uma vez que a endereçabilidade por localização é muito eficiente, mas onerosa para os humanos.

#### Arquivo endereçável

    As informações são divididas em arquivos de comprimento variável e um arquivo específico é selecionado com um diretório legível por humanos e nomes de arquivo. O dispositivo subjacente ainda é endereçável por localização, mas o sistema operacional de um computador fornece a abstração do sistema de arquivos para tornar a operação mais compreensível. Em computadores modernos, o armazenamento secundário, terciário e off-line usam sistemas de arquivos.

#### Endereçável por conteúdo

    Cada unidade de informação acessível individualmente é selecionada com base (em parte) nos conteúdos ali armazenados. O armazenamento endereçável por conteúdo pode ser implementado usando software (programa de computador) ou hardware (dispositivo de computador), sendo o hardware uma opção mais rápida, mas mais cara. A memória endereçável de conteúdo de hardware é frequentemente usada no cache da unidade de processamento central (CPU) de um computador.

### Capacidade
#### Capacidade bruta

    A quantidade total de informações armazenadas que um dispositivo ou meio de armazenamento pode conter. É expressa como uma quantidade de bits ou bytes (10,4 megabytes, por exemplo).

#### Densidade de armazenamento de memória

    A compactação das informações armazenadas. É a capacidade de armazenamento de um meio dividido por uma unidade de comprimento, área ou volume (1,2 megabytes por polegada quadrada, por exemplo).

### Desempenho
#### Latência

    O tempo que leva para acessar um determinado local de armazenamento. A unidade de medida relevante é normalmente nanossegundo para armazenamento primário, milissegundo para armazenamento secundário e segundo para armazenamento terciário. Pode fazer sentido separar a latência de leitura da latência de gravação (especialmente para memória não volátil) e, no caso de armazenamento de acesso sequencial, latência mínima, máxima e média.

#### Taxa de transferência

    A taxa na qual as informações podem ser lidas ou gravadas no armazenamento. No armazenamento de dados de computador, a taxa de transferência é geralmente expressa em termos de megabytes por segundo (MB/s), embora a taxa de bits também possa ser usada. Tal como acontece com a latência, a taxa de leitura e a taxa de gravação podem precisar ser diferenciadas. Além disso, o acesso à mídia sequencialmente, em vez de aleatoriamente, normalmente produz a taxa de transferência máxima.

#### Granularidade

    O tamanho do maior "bloco" de dados que pode ser acessado com eficiência como uma única unidade, por exemplo, sem introduzir latência adicional.

#### Confiabilidade

    A probabilidade de alteração espontânea do valor do bit sob várias condições ou a taxa de falha geral.
Utilitários como o hdparm e o relatório de atividades do sistema (sar) podem ser usados para medir o desempenho de entrada/saída (E/S) no Linux.

### Uso de energia

* Dispositivos de armazenamento que reduzem o uso da ventoinha desligam automaticamente durante a inatividade e discos rígidos de baixo consumo de energia podem reduzir o consumo de energia em 90%.
* As unidades de disco rígido de 2,5 polegadas geralmente consomem menos energia do que as maiores. Unidades de estado sólido de baixa capacidade não têm partes móveis e consomem menos energia do que os discos rígidos. Além disso, a memória pode consumir mais energia do que os discos rígidos. Caches grandes, que são usados para evitar atingir a parede da memória, também podem consumir muita energia.

### Segurança

A criptografia de disco completa, criptografia de volume e de disco virtual e/ou criptografia de arquivo/pasta estão prontamente disponíveis para a maioria dos dispositivos de armazenamento.
A criptografia de memória de hardware está disponível na arquitetura Intel, suportando criptografia de memória total (TME) e criptografia de memória granular de página com chaves múltiplas (MKTME) e na geração M7 da arquitetura escalável de processador (SPARC) desde outubro de 2015.

### Vulnerabilidade e confiabilidade

Tipos distintos de armazenamento de dados têm diferentes pontos de falha e vários métodos de análise preditiva de falha.
Vulnerabilidades que podem levar instantaneamente à perda total são batidas/colisões de cabeçotes/cabeças em discos rígidos mecânicos e falha de componentes eletrônicos no armazenamento flash.

#### Detecção de erros

A falha iminente nas unidades de disco rígido pode ser estimada usando dados de diagnóstico da tecnologia de automonitoramento, análise e relatórios (S.M.A.R.T.) que incluem as horas de operação e a contagem de giros, embora sua confiabilidade seja contestada.
O armazenamento flash pode sofrer redução nas taxas de transferência como resultado do acúmulo de erros que o controlador de memória flash tenta corrigir.
A integridade da mídia ótica pode ser determinada medindo erros menores corrigíveis, dos quais contagens altas significam mídia deteriorada e/ou de baixa qualidade. Muitos erros menores consecutivos podem levar à corrupção de dados. Nem todos os fornecedores e modelos de unidades ópticas oferecem suporte para escaneamento de erros.

## Mídia de armazenamento

A partir de 2011, as mídias de armazenamento de dados mais usadas são as semicondutoras, as magnéticas e as ópticas, enquanto o papel ainda vê algum uso limitado. Algumas outras tecnologias de armazenamento fundamentais, como arranjos totalmente em flash (AFAs) são propostas para desenvolvimento.

### Semicondutora

A memória de semicondutores usa chips de circuito integrado (IC) baseados em semicondutores para armazenar informações. Os dados são normalmente armazenados em células de memória de metal-óxido-semicondutor (MOS). Um chip de memória semicondutor pode conter milhões de células de memória, consistindo em minúsculos transistores de efeito de campo de metal-óxido-semicondutor (MOSFETs) e/ou capacitores de metal-óxido-semicondutor (MOS). Existem formas voláteis e não voláteis de memória semicondutora, a primeira usando transistores de efeito de campo de metal-óxido-semicondutor (MOSFETs) padrão e a última usando transistores de efeito de campo de metal-óxido-semicondutor (MOSFETs) de porta flutuante.
Nos computadores modernos, o armazenamento primário consiste quase exclusivamente em memória de acesso aleatório (RAM) de semicondutores voláteis dinâmicos, particularmente memória de acesso aleatório dinâmica (DRAM). Desde a virada do século, um tipo de memória semicondutora de porta flutuante não volátil conhecida como memória flash vem ganhando espaço como armazenamento off-line para computadores domésticos. A memória semicondutora não volátil também é usada para armazenamento secundário em vários dispositivos eletrônicos avançados e computadores especializados projetados para eles.
Já em 2006, os fabricantes de notebooks e computadores de mesa começaram a usar unidades de estado sólido (SSDs) baseadas em flash como opções de configuração padrão para o armazenamento secundário, além ou em vez da unidade de disco rígido (HDD) mais tradicional.

### Magnética

O armazenamento magnético usa diferentes padrões de magnetização em uma superfície revestida magneticamente para armazenar informações. O armazenamento magnético não é volátil. A informação é acessada usando um ou mais cabeçotes de leitura/gravação que podem conter um ou mais transdutores de gravação. Um cabeçote de leitura/gravação cobre apenas uma parte da superfície, de modo que o cabeçote ou a mídia ou ambos devem ser movidos em relação ao outro para acessar os dados. Nos computadores modernos, o armazenamento magnético assumirá as seguintes formas:
* Disco magnético;
** Disco flexível (disquete), usado para armazenamento off-line;
** Unidade de disco rígido, usada para armazenamento secundário.
* Fita magnética, usada para armazenamento terciário e off-line;
* Memória carrossel (rolos magnéticos).
Nos primeiros computadores, o armazenamento magnético também era usado como:
* Armazenamento primário em uma forma de memória magnética, ou memória de núcleo, memória de núcleo de corda, memória de filme fino e/ou memória twistor;
* Armazenamento terciário (cartão de memória de acesso aleatório da caixa registradora nacional (NCR CRAM), por exemplo) ou off-line na forma de cartões magnéticos;
* A fita magnética era então frequentemente usada para armazenamento secundário.
O armazenamento magnético não tem um limite definido de ciclos de reescrita, como o armazenamento flash e a mídia óptica regravável, pois a alteração dos campos magnéticos não causa desgaste físico. Em vez disso, sua vida útil é limitada por peças mecânicas.

### Óptica

O armazenamento óptico, o disco óptico típico, armazena informações em deformidades na superfície de um disco circular e lê essas informações iluminando a superfície com um diodo laser e observando a reflexão. O armazenamento em disco óptico não é volátil. As deformidades podem ser permanentes (mídia somente leitura), formadas uma vez (mídia de gravação única) ou reversíveis (mídia regravável ou de leitura/gravação). As seguintes formas estão atualmente em uso comum:
* Disco compacto (CD), disco compacto de memória somente leitura (CD-ROM), disco versátil digital (DVD), disco Blu-ray de memória somente leitura (BD-ROM): Armazenamento somente leitura, usado para distribuição em massa de informações digitais (música, vídeo, programas de computador);
* disco compacto gravável (CD-R), disco versátil digital gravável (DVD-R), disco versátil digital gravável (DVD+R), disco Blu-ray gravável (BD-R): Armazenamento de gravação única, usado para armazenamento terciário e off-line;
* Disco compacto regravável (CD-RW), disco versátil digital regravável (DVD-RW), disco versátil digital regravável (DVD+RW), disco versátil digital de memória de acesso aleatório (DVD-RAM), disco Blu-ray regravável (BD-RE): Armazenamento de gravação lenta e leitura rápida, usado para armazenamento terciário e off-line;
* Ultra densidade óptica (UDO) é semelhante em capacidade ao disco Blu-ray gravável (BD-R) ou o disco Blu-ray regravável (BD-RE) e é armazenamento de gravação lenta e leitura rápida, usado para armazenamento terciário e off-line.
O armazenamento em disco magneto-óptico é o armazenamento em disco óptico onde o estado magnético em uma superfície ferromagnética armazena informações. A informação é lida opticamente e escrita combinando métodos magnéticos e ópticos. O armazenamento em disco magneto-óptico é não volátil, de acesso sequencial, gravação lenta, leitura rápida e é usado para armazenamento terciário e off-line.
O armazenamento de dados óptico 3D também foi proposto.
A fusão por magnetização induzida por luz em fotocondutores magnéticos também foi proposta para armazenamento magneto-óptico de alta velocidade e baixo consumo de energia.

### Papel

O armazenamento de dados em papel, geralmente na forma de fita de papel ou cartões perfurados, há muito tempo é usado para armazenar informações para processamento automático, principalmente antes da existência de computadores de uso geral. As informações eram registradas perfurando o papel ou papelão e lidas mecanicamente (ou posteriormente opticamente) para determinar se um determinado local no meio era sólido ou continha um furo. Os códigos de barras possibilitam que objetos vendidos ou transportados tenham algumas informações legíveis por computador anexadas com segurança.
Quantidades relativamente pequenas de dados digitais (em comparação com outros armazenamentos de dados digitais) podem ser armazenadas em papel como um código de barras 2D para armazenamento de muito longo prazo, pois a longevidade do papel normalmente excede até mesmo o armazenamento magnético de dados.

### Outras mídias ou substratos de armazenamento
#### Memória de tubo de vácuo

    Um tubo de Williams usava um tubo de raios catódicos e um tubo Selectron usava um grande tubo de vácuo para armazenar informações. Esses dispositivos de armazenamento primário tiveram vida curta no mercado, pois o tubo Williams não era confiável e o tubo Selectron era caro.

#### Memória eletroacústica

    A memória de linha de atraso usava ondas sonoras em uma substância como o mercúrio para armazenar informações. A memória de linha de atraso era dinâmica, volátil, com ciclo de armazenamento sequencial de leitura/gravação e era usada para armazenamento primário.

#### Fita óptica

    é uma mídia para armazenamento óptico, geralmente consistindo de uma longa e estreita tira de plástico, na qual os padrões podem ser escritos e a partir da qual os padrões podem ser lidos de volta. Ela compartilha algumas tecnologias com filmes de cinema e discos ópticos, mas não é compatível com nenhum dos dois. A motivação por trás do desenvolvimento dessa tecnologia foi a possibilidade de capacidades de armazenamento muito maiores do que fitas magnéticas ou discos ópticos.

#### Memória de mudança de fase

    usa diferentes fases mecânicas do material de mudança de fase para armazenar informações em um arranjo endereçável X-Y e lê as informações observando a resistência elétrica variável do material. A memória de mudança de fase seria não volátil, armazenamento de leitura/gravação de acesso aleatório e pode ser usada para armazenamento primário, secundário e off-line. A maioria dos discos ópticos regraváveis e de gravação única já usa material de mudança de fase para armazenar informações.

#### Armazenamento holográfico de dados

    armazena informações opticamente dentro de cristais ou fotopolímeros. O armazenamento holográfico pode utilizar todo o volume do meio de armazenamento, diferentemente do armazenamento em disco óptico, que é limitado a um pequeno número de camadas superficiais. O armazenamento holográfico seria não volátil, de acesso sequencial e armazenamento de gravação única ou de leitura/gravação. Pode ser usado para armazenamento secundário e off-line. Consulte o artigo disco versátil holográfico (HVD).

#### Memória molecular

    armazena informações em polímeros que podem armazenar carga elétrica. A memória molecular pode ser especialmente adequada para armazenamento primário. A capacidade teórica de armazenamento da memória molecular é de 10 terabits por polegada quadrada (16 Gb/mm²).

#### Fotocondutores magnéticos

    armazenam informações magnéticas, que podem ser modificadas por iluminação com pouca luz.

#### Armazenamento de dados digitais em ácido desoxirribonucleico (DNA)

    armazena informações em nucleotídeos de ácido desoxirribonucleico (DNA). Foi feito pela primeira vez em 2012, quando os pesquisadores alcançaram uma proporção de 1,28 petabytes por grama de ácido desoxirribonucleico (DNA). Em março de 2017, cientistas relataram que um novo algoritmo chamado fonte de ácido desoxirribonucleico (DNA) atingiu 85% do limite teórico, em 215 petabytes por grama de ácido desoxirribonucleico (DNA).

## Tecnologias relacionadas
### Redundância

Embora o mau funcionamento de um grupo de bits possa ser resolvido por mecanismos de detecção e correção de erros (veja acima), o mau funcionamento do dispositivo de armazenamento requer soluções diferentes. As soluções a seguir são comumente usadas e válidas para a maioria dos dispositivos de armazenamento:
* Espelhamento de dispositivo (replicação) – Uma solução comum para o problema é manter constantemente uma cópia idêntica do conteúdo do dispositivo em outro dispositivo (normalmente do mesmo tipo). A desvantagem é que isso duplica o armazenamento e ambos os dispositivos (cópias) precisam ser atualizados simultaneamente com alguma sobrecarga e possivelmente alguns atrasos. A vantagem é a possibilidade de leitura simultânea de um mesmo grupo de dados por dois processos independentes, o que aumenta o desempenho. Quando um dos dispositivos replicados é detectado como defeituoso, a outra cópia ainda está operacional e está sendo utilizada para gerar uma nova cópia em outro dispositivo (geralmente disponível operacional em um agrupamento de dispositivos em espera para essa finalidade).
* Arranjo redundante de discos independentes (RAID) – Este método generaliza o espelhamento de dispositivo acima, permitindo que um dispositivo em um grupo de n dispositivos falhe e seja substituído pelo conteúdo restaurado (o espelhamento de dispositivo é um arranjo redundante de discos independentes (RAID) com n=2). Grupos de arranjo redundante de discos independentes (RAID) de n=5 ou n=6 são comuns. n>2 economiza armazenamento, em comparação com n=2, ao custo de mais processamento durante a operação regular (com desempenho frequentemente reduzido) e substituição de dispositivos defeituosos.
O espelhamento de dispositivo e o arranjo redundante de discos independentes (RAID) típico são projetados para lidar com uma única falha de dispositivo no grupo de dispositivos do rranjo redundante de discos independentes (RAID). No entanto, se ocorrer uma segunda falha antes que o grupo do arranjo redundante de discos independentes (RAID) seja completamente reparado da primeira falha, os dados poderão ser perdidos. A probabilidade de uma única falha é normalmente pequena. Assim, a probabilidade de duas falhas em um mesmo grupo de arranjo redundante de discos independentes (RAID) em proximidade de tempo é muito menor (aproximadamente a probabilidade ao quadrado, ou seja, multiplicada por si mesma). Se um banco de dados não puder tolerar uma probabilidade ainda menor de perda de dados, o próprio grupo do arranjo redundante de discos independentes (RAID) será replicado (espelhado). Em muitos casos, esse espelhamento é feito geograficamente remotamente, em um arranjo de armazenamento diferente, para lidar também com a recuperação de desastres (consulte recuperação de desastres acima).

### Conectividade de rede

Um armazenamento secundário ou terciário pode se conectar a um computador utilizando redes de computadores. Esse conceito não pertence ao armazenamento primário, que é compartilhado entre vários processadores em menor grau.
* O armazenamento de conexão direta (DAS) é um armazenamento em massa tradicional, que não usa nenhuma rede. Esta ainda é uma abordagem mais popular. Este retrônimo foi cunhado recentemente, juntamente com armazenamento conectado à rede (NAS) e rede de área de armazenamento (SAN).
* O armazenamento conectado à rede (NAS) é um armazenamento em massa conectado a um computador que outro computador pode acessar no nível de arquivo em uma rede de área local, uma rede de área ampla privada ou, no caso de armazenamento de arquivos online, pela Internet. O armazenamento conectado à rede (NAS) é comumente associado aos protocolos sistema de arquivos de rede (NFS) e sistema comum de arquivos da Internet/bloco de mensagens do servidor (CIFS/SMB).
* A rede de área de armazenamento (SAN) é uma rede especializada que fornece capacidade de armazenamento a outros computadores. A diferença crucial entre o armazenamento conectado à rede (NAS) e a rede de área de armazenamento (SAN) é que o armazenamento conectado à rede (NAS) apresenta e gerencia sistemas de arquivos para computadores clientes, enquanto a rede de área de armazenamento (SAN) fornece acesso no nível de endereçamento de bloco (bruto, raw), deixando para anexar sistemas para gerenciar dados ou sistemas de arquivos dentro da capacidade fornecida. A rede de área de armazenamento (SAN) é comumente associada a redes de canal de fibra (FC).

### Armazenamento robótico

Grandes quantidades de fitas magnéticas individuais e discos ópticos ou magneto-ópticos podem ser armazenados em dispositivos robóticos de armazenamento terciário. No campo de armazenamento em fita, eles são conhecidos como bibliotecas de fitas e, no campo de armazenamento óptico, jukeboxes ópticos ou bibliotecas de discos ópticos por analogia. As menores formas de qualquer tecnologia contendo apenas um dispositivo de acionamento são chamadas de carregadores automáticos ou trocadores automáticos.
Os dispositivos de armazenamento com acesso robótico podem ter vários slots, cada um contendo mídia individual e, geralmente, um ou mais robôs de coleta que atravessam os slots e carregam mídia em unidades integradas. A disposição dos slots e dispositivos de coleta afeta o desempenho. Características importantes desse armazenamento são possíveis opções de expansão: adição de slots, módulos, unidades (drives) e robôs. As bibliotecas de fitas podem ter de 10 a mais de 100.000 slots e fornecer terabytes ou petabytes de informações near-line. As jukeboxes ópticas são soluções um pouco menores, com até 1.000 slots.
O armazenamento robótico é usado para cópias de segurança (backups) e para arquivamentos de alta capacidade nos setores de imagem, médico e vídeo. O gerenciamento de armazenamento hierárquico é uma das estratégias de arquivamento mais conhecidas para migrar automaticamente arquivos há muito tempo não usados de armazenamento rápido em disco rígido para bibliotecas ou jukeboxes. Se os arquivos forem necessários, eles serão restaurados de volta ao disco.