ArmazenamentoReview.com

Gerenciamento de mídia em unidades de estado sólido: operações WRITE em várias etapas

Empreendimento  ◇  Armazenamento portátil  ◇  SSD

Entre 2010 e 2015, a IDC prevê que as remessas de unidades de estado sólido deverão aumentar a uma taxa composta de crescimento anual de 52% em termos globais. O aumento correspondente na adoção de servidores corporativos e armazenamento significa que uma compreensão mais profunda de componentes críticos, como gerenciamento de mídia e o uso de unidades novas em vez de unidades usadas, pode ajudar os administradores a gerenciar melhor os recursos de armazenamento.

Os SSDs podem parecer muito semelhantes aos discos rígidos rotativos convencionais, mas a semelhança é apenas superficial. Um exame do funcionamento interno de um SSD revela que, na verdade, os SSDs têm muito pouco em comum com as unidades legadas. Um exemplo importante é a diferença na maneira como cada tipo de unidade sobrescreve os dados existentes – as unidades rotativas sobrescrevem em uma única etapa, enquanto os SSDs baseados em NAND Flash exigem etapas adicionais. Este resumo examina o “processo de gravação em várias etapas” para SSDs.

Antecedentes: Noções básicas de design de SSD

A primeira coisa a entender sobre como os SSDs substituem os dados é como os SSDs são construídos. Qualquer SSD possui os seguintes componentes básicos:

  • Interface do host
  • Placa de circuito impresso
  • Controlador NAND
  • NAND

Escreva diferenças de processo

A data é gravada de maneira diferente na NAND e em um disco rígido giratório – a NAND que contém dados (válidos ou inválidos) deve primeiro ser apagada; só então ele poderá ter novos dados gravados nele. Resumindo, o processo de apagamento primeiro apaga um bloco inteiro; só então as páginas desse bloco poderão ter novos dados gravados nelas.

Como a NAND que já contém dados deve ser apagada antes que novos dados possam ser gravados nela, a sequência de gravação para um dispositivo que está cheio (não possui páginas vazias/apagadas) é muito diferente daquela de um dispositivo que está vazio (ou tem páginas vazias/apagadas suficientes para absorver o tráfego de gravação recebido).

Páginas vazias/apagadas disponíveis

Suponha que pudéssemos garantir que tínhamos páginas vazias/apagadas sempre prontas. À medida que a gravação chega ao SSD, o fluxo do processo seria semelhante ao de uma unidade rotativa:

  1. Os dados chegam ao SSD a partir da interface do host, resultando em uma solicitação de gravação (que eventualmente será gravada na NAND).
  2. “Existem páginas vazias/apagadas” (ou seja, páginas que estão prontas para serem escritas)? Na Figura 1, estão disponíveis páginas vazias/apagadas.
  3. Escreva os dados nas páginas disponíveis.

Esse processo de gravação é realizado em uma única etapa, assim como as unidades rotativas. Normalmente, isso é muito mais rápido do que gravar em um SSD sem páginas vazias/apagadas (conforme mostrado na Figura 2).


 

Páginas vazias/apagadas insuficientes disponíveis

Suponha agora que temos um SSD com páginas vazias/apagadas insuficientes. À medida que novos dados são gravados no SSD, é necessário que as células sejam apagadas imediatamente antes que a gravação aconteça:

  1. Os dados chegam ao SSD a partir da interface do host, resultando em uma solicitação de gravação (que eventualmente será gravada na NAND).
  2. “Existem páginas vazias/apagadas suficientes” (ou seja, páginas que estão prontas para serem escritas)? Na Figura 2, não há páginas vazias/apagadas suficientes.
  3. Localize um bloco cujos dados foram invalidados ou cujos dados válidos podem ser movidos, tornando-o um bom candidato para apagamento, e então chame a rotina de coleta de lixo (veja a seção Unidades Novas vs. Unidades Usadas a seguir) para habilitar este bloco para apagamento .
  4. Apague este bloco. (Repita conforme necessário para armazenar os dados na solicitação de gravação.)
  5. Grave os dados nas páginas recém-apagadas/vazias.

A etapa 4 pode ser lenta para ser concluída porque o apagamento da NAND leva muito mais tempo do que a gravação nela – qualquer ciclo de apagamento da NAND é “lento” (normalmente, são necessários 250 microssegundos [µs] para gravar em uma célula MLC, mas 1500 µs para apagá-la).

Unidades novas versus unidades usadas

Se você estiver usando um SSD novo, o processo de gravação prossegue da mesma forma que na Figura 1. Um novo SSD está vazio; todas as suas páginas estarão vazias e prontas para receber novos dados, portanto a etapa de apagamento raramente é executada enquanto os dados estão sendo gravados. No entanto, à medida que a unidade fica cheia, o número dessas páginas vazias/apagadas diminui e eventualmente serão consumidas.

Existe um processo em segundo plano nos SSDs que libera páginas cujos dados foram invalidados, tornando-as boas candidatas para serem apagadas. Este processo em segundo plano é chamado de “coleta de lixo”.

Conclusão

Se um SSD baseado em NAND estiver cheio, gravar novos dados nele será um processo muito diferente de gravar em um SSD vazio. Se a unidade estiver vazia, o processo de gravação será muito semelhante ao de unidades rotativas. No entanto, se o SSD já contiver dados, serão necessárias etapas adicionais:

  1. O SSD deve determinar se existe espaço livre suficiente para aceitar os dados.
  2. Caso contrário, ele chama sua rotina de coleta de lixo para agrupar e mover dados válidos para que um bloco inteiro possa ser apagado (para que as páginas do bloco possam receber novos dados).
  3. O bloco é apagado.
  4. Os dados são gravados.

Todas essas etapas extras são realizadas pelo controlador SSD sem intervenção do host, mas resultam em variação de desempenho.

Consulte o white paper “ Estados de desempenho de SSD ” em Micron.com para obter mais informações.

Douglas Rollins (Engenheiro de aplicações sênior, unidades de estado sólido empresariais, tecnologia Micron)
Doug Rollins ingressou na Micron em 2009 como engenheiro de aplicativos no grupo Enterprise SSD Products. Antes de ingressar na Micron, o Sr. Rollins passou 17 anos trabalhando em sistemas de servidores, dispositivos de rede, design e fabricação de plataformas de armazenamento/proteção de dados e armazenamento de estado sólido. O Sr. Rollins é o inventor nomeado em 13 patentes nos EUA e foi reconhecido pela Storage Networking Industry Association (SNIA) e pela Intel Corporation por excelentes realizações técnicas. O Sr. Rollins obteve seu bacharelado em matemática pela Humboldt State University.
 

Discuta esta história

Envolva-se com a StorageReview

Newsletter | YouTube | Podcast iTunes / Spotify | Instagram | Twitter | TikTok | Feed RSS

Autor convidado