Quais são as diferenças entre o flash NAND e NOR?

37

Quais são as diferenças e onde você usaria cada uma?

JeffV
fonte

Respostas:

22

Há muitas vantagens e desvantagens.

Wikipedia também:

Apesar dos transistores adicionais, a redução de fios terra e linhas de bits permite um layout mais denso e maior capacidade de armazenamento por chip. Além disso, normalmente é permitido que o flash NAND contenha um certo número de falhas (espera-se que o flash NOR, como é usado para uma ROM do BIOS, esteja livre de falhas). Os fabricantes tentam maximizar a quantidade de armazenamento utilizável diminuindo o tamanho do transistor abaixo do tamanho em que podem ser feitos com segurança, para o tamanho em que reduções adicionais aumentariam o número de falhas mais rapidamente do que o armazenamento total disponível.

Portanto, o flash NOR pode ser mais fácil, mas não é tão denso.

Se você der uma olhada em um PDF de comparação bastante decente.

O NOR possui menor poder de espera, é fácil para a execução do código e possui uma alta velocidade de leitura.

O NAND possui uma potência ativa muito menor (a gravação de bits é mais rápida e com menor custo), maior velocidade de gravação (em grande parte), capacidade muito maior, custo muito menor por bit e é muito fácil para o armazenamento de arquivos. devido à sua velocidade de leitura mais baixa ao usá-lo para execução de código, você realmente precisa fantasma-lo para ram.

Para citar uma pequena seção com uma grande mesa acima dela ...

As características do NAND Flash são: alta densidade, velocidade média de leitura, alta velocidade de gravação, alta velocidade de apagamento e acesso indireto ou de E / S. As características do NOR Flash são: densidade mais baixa, alta velocidade de leitura, baixa velocidade de gravação, baixa velocidade de apagamento e uma interface de acesso aleatório.

Kortuk
fonte
22

O flash NAND é mais barato, então você deseja usá-lo se puder. A desvantagem é que não é tão confiável. O flash NAND é mais rápido na maioria das operações, com a exceção notável sendo pequenas leituras de acesso aleatório. Se você deseja ler alguns bytes de um endereço aleatório na memória, a NOR é mais rápida. Para leituras de memória grande, o NAND se sai razoavelmente bem e, na verdade, supera o NOR para pedaços grandes o suficiente.

A maioria dos sistemas operacionais incorporados inclui código para corrigir os erros no NAND Flash. Existem também microcontroladores com correção de erros de hardware. O problema real acontece no momento da inicialização - os carregadores de inicialização de primeiro nível não possuem código de correção de erros e ainda não configuraram o controlador de memória para executar o ECC do hardware. É um problema de galinha e ovo - você não pode carregar o código ECC sem erros, porque ainda não o carregou.

Para contornar esse problema, alguns fabricantes de memória especificarão uma determinada região do chip que é garantida como livre de erros (os primeiros 4 kB ou algo assim). Você coloca um carregador de inicialização com o software ECC (como o U-boot ), lê-o sem erros e depois o usa para ler o kernel do sistema operacional, corrigindo os erros à medida que avança. Você também pode armazenar um carregador de inicialização em um flash serial e apenas usar o flash NAND para coisas grandes, como um kernel do sistema operacional ou sistema de arquivos.

Achei útil esta nota de aplicação do Atmel: http://www.atmel.com/dyn/resources/prod_documents/doc6255.pdf

pingswept
fonte
2
Uma consequência da menor confiabilidade do flash NAND é que, embora os dispositivos flash NAND permitam leituras aleatórias de bytes individuais (com um pouco de tempo de configuração), não é realmente possível ler menos de uma página, a menos que se inclua informações de correção de erros em blocos menores ( por exemplo, pode-se escrever cada byte como 16 bits e ser capaz de detectar todos os erros de um e de dois bits, com o custo de poder armazenar apenas metade da informação).
supercat
5

NOR permite acesso aleatório, mas NAND não (somente acesso à página).

Da Wikipedia :

NOR e NAND flash obtêm seus nomes da estrutura das interconexões entre as células de memória. No flash NOR, as células são conectadas em paralelo às linhas de bit, permitindo que as células sejam lidas e programadas individualmente. A conexão paralela de células se assemelha à conexão paralela de transistores em uma porta CMOS NOR. No flash NAND, as células são conectadas em série, semelhante a uma porta NAND. As conexões em série consomem menos espaço que as paralelas, reduzindo o custo do flash NAND. Não impede, por si só, que as células NAND sejam lidas e programadas individualmente.

Thomas O
fonte