SSD, SD, eMMC, Raw NAND quais são as diferenças?

28

então a tecnologia subjacente com SSD, eMMC, SD, USB Flash etc ... o flash NAND está correto? Então, a diferença entre todos eles é exatamente como os controladores são implementados? Ou as tecnologias são diferentes todas juntas?

Pelo que sei, acho que os SSDs são para desktops e os eMMCs são para dispositivos móveis, mas há alguma diferença intricada entre todas essas tecnologias de armazenamento?

Alistair
fonte

Respostas:

17

NAND significa N egated E . Geralmente se refere à maneira como um portão lógico é construído a partir de silício .

A memória flash também é construída a partir de chips de silício e usa portas NAND. Isso leva ao termo flash NAND . Suspeito que este seja o NAND a que você se refere, mas por uma questão de exaustividade, eu queria mencionar os antecedentes.

Você pode criar armazenamento com flash NAND, mas precisará de alguma maneira de acessá-lo.

Por exemplo, você pode colocar um chip flash NAND em uma PCB, adicionar um chip controlador e alguma lógica USB e obter um pen drive USB. Ou você pode adicionar um controlador SD e colocá-lo neste formato para obter um cartão SD.

insira a descrição da imagem aqui

Ambos são dispositivos relativamente simples e, quando você armazena informações, gravará em um local fixo. Isso é ruim, porque o número de gravações no flash NAND é limitado.

Você pode adicionar um controlador ao dispositivo para garantir que todas as gravações sejam distribuídas uniformemente pela NAND, fornecendo uma imagem consistente ao computador. Isso requer muito mais inteligência da parte do dispositivo e é feito em SSDs . (Os SSDs devem substituir os discos rígidos mecânicos e, portanto, espera-se obter muitas gravações).

A diferença entre todos eles é exatamente como os controladores são implementados?

Para pendente SD / USB: basicamente o mesmo, apenas com uma interface diferente.
Para SSDs: controladores completamente diferentes.

Ou as tecnologias são diferentes todas juntas?

Existem várias maneiras de implementar o armazenamento nand. As principais diferenças implementadas parecem se resumir a:

  • Células individuais em que se pode armazenar uma alta voltagem ou uma baixa ( SLC , ou S ingle nível). Basicamente, 'on' ou 'off', ou '1' ou '0'.
  • chips que permitem vários níveis de potência. (desativado, ligeiramente carregado, principalmente carregado, totalmente carregado. Compare-o com a sinalização com um aparelho de som. O SLC seria música ativada ou desativada. O MLC estaria desativado, música suave, alta e alta).

Isso deixa o eMMC .

Eu nunca ouvi falar disso antes, mas, de acordo com a Wikipedia, é um cartão de memória flash padrão.

Hennes
fonte
Explicação muito concisa e clara Hennes, obrigado. Eu acredito que o eMMC é usado principalmente em dispositivos móveis (por exemplo, dispositivos Android usam armazenamento eMMC, então basicamente é um cartão SD incorporado de algum tipo).
Alistair
@Hennes O próximo bastão de computação da Intel melhorou o armazenamento eMMC e o USB3, você acha que um sistema operacional rodaria mais rápido em um SSD por USB3 do que na própria placa-mãe com armazenamento eMMC?
Alpha2k 27/08/15
1
@Alpha2k I think booting from a USB3 SSD has too much overhead to be faster than eMMC.
jiggunjer
1
De fato. O USB3 adiciona sobrecarga desnecessária. Portanto, um disco igualmente rápido por meio de uma interface direta pode / deve ser mais rápido que o mesmo disco em USB3. Isso pressupõe flash e controladores com capacidade igual. Se um dos discos for alguns anos mais moderno, é provável que seja mais rápido.
Hennes
31

NAND - memória flash bruta

O flash bruto usa seu próprio protocolo, e este protocolo inclui a leitura de páginas, a escrita de páginas e a exclusão de blocos. Ele não funciona como discos - os discos conseguem ler e escrever blocos, o flash é capaz de ler e escrever páginas - e um conjunto de páginas chamado bloco deve ser apagado antes que você possa gravar novos dados. Você pode apagar apenas um número limitado de vezes antes que o bloco se esgote e não apague mais completamente.

SD - "Secure Digital"

É um formato de cartão de memória. Os cartões SD contêm um pequeno microcontrolador e NAND. O microcontrolador implementa um FTL (Flash Translation Layer) que acessa blocos do tipo disco e o converte em operações NAND significativas, além de executar o nivelamento de desgaste e a economia de blocos. Os cartões SD usam o protocolo SPI no lado "host". Os leitores de cartão SD USB convertem de comandos USB de armazenamento em massa em comandos SPI SD.

eMMC - MMC incorporado

Isso se refere basicamente ao que você pode imaginar como um cartão SD embutido em uma placa-mãe (os padrões SD e MMC são muito semelhantes - o suficiente para que os leitores de cartão SD normalmente possam ler cartões MMC) - geralmente soldados e não removíveis. Normalmente, ele é conectado ao restante do hardware através de um barramento SPI interno. Telefones celulares e hardware ARM e outros dispositivos do tipo incorporado (ou seja, roteadores) podem ter isso. ATUALIZAÇÃO: Alguns netbooks mais recentes do Windows, com preços acessíveis, também estão começando a ter esses. Os cartões SD e eMMC são mais lentos que os SSDs porque o barramento SPI não é tão rápido quanto o barramento SATA.

SSD - "Unidade de estado sólido"

Um controlador + um monte de NAND colocado em um gabinete de disco rígido. O controlador implementa um FTL (Flash Translation Layer) que acessa blocos do tipo disco e o converte em operações NAND significativas, além de executar o nivelamento de desgaste e a economia de blocos. Alguns tipos de controladores como "Sandforce" etc. são bem conhecidos. Os SSDs usam o protocolo e o conector SATA no lado "host".


Se você estiver em uma situação em que está lidando com NAND bruto, como o Guruplug, é responsável por nivelar o desgaste e poupar o bloco. Os sistemas de arquivos Linux gostam jffs2e outros fazem isso, mas não são necessários onde uma FTL funciona, como na maioria dos cartões SD, USB, etc.

LawrenceC
fonte
7
Esta é uma ótima resposta. Um comentário: enquanto os cartões MMC / eMMC / SD usam uma interface serial síncrona para comunicação, essa interface não é SPI, então eu não usaria esse termo. É confuso porque a maioria dos cartões MMC / SD também oferece suporte a SPI como uma interface alternativa de baixa velocidade para sistemas profundamente embutidos (baseados em MCU). O modo SPI não é usado em sistemas de processadores de aplicativos x86 ou ARM.
Jay Carlson
NAND é bastante restritivo com as reescritas limitadas. Por que é usado? Preço?
Ciro Santilli
FTLs e economia de bloco atenuam as reescrições limitadas de maneira muito eficaz. Muito medo de usar SSDs prematuramente é exagerado.
LawrenceC (
Também deve esclarecer que SSDs, cartões SD e memória flash eMMC estão todos usando NAND como um "back-end". Cada um deles não permite o acesso do sistema ao flash bruto, mas possui um microcontrolador que aceita comandos e implementa uma FTL.
LawrenceC
Muito útil. Eu esperava que o eMMC fosse mais rápido como o m2SATA, já que no próprio quadro, por assim dizer, mas não é o caso. Graças
James Campbell
0

Observe que essas são todas as memórias não voláteis, que retêm dados sem energia:

  • Flash - Meio de armazenamento de memória não volátil.

  • NAND - Tipo de chip de memória Flash.

  • SSD - Contém vários chips NAND.

Apenas para diferenciar o Flash da RAM (Memória de Acesso Aleatório):

  • SDRAM / DDR - chips de memória voláteis, em que os dados são perdidos quando a energia é perdida.
Noam Manos
fonte