Pagina inicial » como » O que torna a memória flash eMMC viável em dispositivos móveis, mas não em PCs?

    O que torna a memória flash eMMC viável em dispositivos móveis, mas não em PCs?

    O uso de memória flash para executar um sistema de desktop, como o Windows, foi desaconselhado por algum tempo. Mas o que tornou uma opção desejável e viável para dispositivos móveis? O post de perguntas e respostas do SuperUser de hoje tem a resposta para a pergunta de um curioso leitor.

    A sessão de perguntas e respostas de hoje nos é oferecida por cortesia do SuperUser - uma subdivisão do Stack Exchange, um agrupamento de sites de perguntas e respostas conduzido pela comunidade..

    A questão

    Leitor SuperUser RockPaperLizard quer saber o que torna a memória flash eMMC viável em dispositivos móveis, mas não em PCs:

    Desde que as unidades flash USB foram inventadas, as pessoas imaginam se poderiam executar seus sistemas operacionais nelas. A resposta sempre foi "não" porque o número de gravações exigidas por um sistema operacional iria esgotá-las rapidamente.

    À medida que os SSDs se tornaram mais populares, a tecnologia de nivelamento de desgaste melhorou para permitir que os sistemas operacionais fossem executados neles. Vários tablets, netbooks e outros computadores slim usam memória flash em vez de um disco rígido ou SSD, e o sistema operacional é armazenado nele.

    Como isso de repente se tornou prático? Eles normalmente implementam tecnologias de nivelamento de desgaste, por exemplo??

    O que torna a memória flash eMMC viável em dispositivos móveis, mas não em PCs?

    A resposta

    Os contribuidores do SuperUser, Speeddymon e Journeyman Geek, têm a resposta para nós. Primeiro, Speeddymon:

    Todos os dispositivos de memória flash, de tablets a telefones celulares, relógios inteligentes, SSDs, cartões SD em câmeras e pen drives USB usam a tecnologia NVRAM. A diferença está na arquitetura NVRAM e em como o sistema operacional monta o sistema de arquivos em qualquer meio de armazenamento em que esteja.

    Para tablets e celulares Android, a tecnologia NVRAM é baseada em eMMC. Os dados que posso encontrar nesta tecnologia sugerem entre 3k a 10k ciclos de gravação. Infelizmente, nada do que encontrei até agora é definitivo, já que a Wikipedia está em branco nos ciclos de gravação desta tecnologia. Todos os outros lugares que eu procurei eram vários fóruns, então dificilmente o que eu chamaria de uma fonte confiável.

    Para fins de comparação, os ciclos de gravação em outra tecnologia NVRAM, como SSDs, que usam tecnologia NAND ou NOR, estão entre 10k e 30k..

    Agora, sobre a escolha do sistema operacional de como montar o sistema de arquivos. Eu não posso falar sobre como a Apple faz isso, mas para o Android, o chip é particionado como um disco rígido seria. Você tem uma partição do sistema operacional, uma partição de dados e várias outras partições proprietárias, dependendo do fabricante do dispositivo.

    A partição raiz real mora dentro do gerenciador de inicialização, que é empacotado como um arquivo compactado (jffs2, cramfs, etc.) junto com o kernel, então quando a inicialização do dispositivo 1 estiver completa (geralmente a tela do logotipo do fabricante), então o kernel botas e a partição raiz é montada simultaneamente como um disco RAM.

    À medida que o sistema operacional é inicializado, ele monta o sistema de arquivos da partição principal (/ system, que é jffs2 em dispositivos anteriores ao Android 4.0, ext2 / 3/4 em dispositivos desde o Android 4.0 e xfs nos dispositivos mais recentes) como somente leitura que nenhum dado pode ser gravado nele. É claro que isso pode ser contornado pelo chamado “enraizamento” do seu dispositivo, que lhe dá acesso como superusuário e permite que você remonte a partição como leitura / gravação. Seus dados de "usuário" são gravados em uma partição diferente no chip (/ data, que segue a mesma convenção acima, com base na versão do Android).

    Com cada vez mais telemóveis a abocanhar as ranhuras para cartões SD, poderá pensar que atingirá o limite do ciclo de gravação mais cedo, porque todos os seus dados estão agora a ser guardados no armazenamento eMMC em vez de num cartão SD. Felizmente, a maioria dos sistemas de arquivos detecta uma falha na gravação em uma determinada área de armazenamento. Se uma gravação falhar, os dados serão salvos silenciosamente em uma nova área de armazenamento e a área inválida (conhecida como um bloco defeituoso) será isolada pelo driver do sistema de arquivos para que os dados não sejam mais gravados no futuro. Se uma leitura falhar, os dados serão marcados como corrompidos e o usuário será instruído a executar uma verificação do sistema de arquivos (ou verificar o disco) ou o dispositivo verificará automaticamente o sistema de arquivos durante a próxima inicialização..

    Na verdade, o Google tem uma patente para detectar e manipular automaticamente os blocos defeituosos: Gerenciamento de bloqueios ruins na memória flash para cartão flash de dados eletrônicos

    Para chegar mais ao ponto, sua pergunta sobre como isso de repente se tornou prático não é a pergunta certa a ser feita. Nunca foi impraticável em primeiro lugar. Foi altamente recomendado contra a instalação de um sistema operacional (Windows) em um SSD (presumivelmente) devido ao número de gravações que ele faz em um disco.

    Por exemplo, o registro recebe literalmente centenas de leituras e gravações por segundo, o que pode ser visto com a ferramenta Microsoft-SysInternals Regmon.

    A instalação do Windows foi desaconselhada nos SSDs de primeira geração porque, com a falta de nivelamento de desgaste, os dados gravados no registro a cada segundo (provavelmente) acabaram chegando aos adotantes iniciais e resultaram em sistemas não inicializáveis ​​devido à corrupção do registro.

    Com tablets, telefones celulares e praticamente qualquer outro dispositivo incorporado, não há registro (obviamente, dispositivos Windows Embedded sendo exceções) e, portanto, não há preocupação com dados sendo constantemente gravados nas mesmas partes do meio flash.

    Para dispositivos Windows Embedded, como muitos dos quiosques encontrados em locais públicos (como Walmart, Kroger, etc.), onde você pode ver uma BSOD aleatória de tempos em tempos, não há muita configuração que possa ser feita são pré-projetados com configurações que nunca devem ser alteradas. As únicas mudanças de horário ocorrem antes que o chip seja gravado na maioria dos casos. Tudo o que precisa ser salvo, como o pagamento para o supermercado, é feito pela rede para os bancos de dados da loja em um servidor..

    Seguido pela resposta do Journeyman Geek:

    A resposta sempre foi "não" porque o número de gravações exigidas por um sistema operacional iria esgotá-las rapidamente.

    Eles finalmente se tornaram rentáveis ​​para uso mainstream. Esse "desgaste" é a única preocupação é um pouco de uma suposição. Existem sistemas que funcionam com memória de estado sólido por um período considerável de tempo. Muitas pessoas que construíram carros carregados com cartões CF (que eram eletricamente compatíveis com o PATA e triviais para instalar em comparação com os discos rígidos PATA), e os computadores industriais tiveram um armazenamento pequeno e robusto baseado em flash..

    Dito isto, não havia muitas opções para a pessoa média. Você pode comprar um cartão CF e um adaptador para um laptop ou encontrar um disco industrial pequeno e muito caro em uma unidade de módulo para desktop. Eles não eram muito grandes em comparação com os discos rígidos contemporâneos (os IDE DOM modernos têm 8 GB ou 16 GB, eu acho). Tenho certeza de que você poderia ter instalado drives de sistema de estado sólido antes que os SSDs padrão se tornassem comuns..

    Não houve realmente nenhuma melhoria universal / mágica no nivelamento de desgaste, tanto quanto eu sei. Houve aprimoramentos incrementais enquanto nos afastávamos do SLC mais caro para o MLC, o TLC e até mesmo o QLC, juntamente com tamanhos de processo menores (todos com menor custo e maior risco de desgaste). Flash ficou muito mais barato.

    Havia também algumas alternativas que não tinham problemas de desgaste. Por exemplo, a execução de todo o sistema de uma ROM (que pode ser armazenada em estado sólido) e RAM com suporte de bateria, que muitos SSDs iniciais e dispositivos portáteis como o Palm Pilot usavam. Nenhum destes é comum hoje em dia. Os discos rígidos balançaram em comparação, por exemplo, com RAM (muito cara), dispositivos de estado sólido iniciais (um pouco mais caros) ou camponeses com bandeiras (nunca detectados devido à terrível densidade de dados). Até mesmo a memória flash moderna é uma descendente de eeproms e eeproms de apagamento rápido que têm sido usados ​​em dispositivos eletrônicos para armazenamento de coisas como firmware para idades.

    Os discos rígidos simplesmente estavam em uma boa interseção de alto volume (o que é importante), baixo custo e armazenamento relativamente suficiente.

    O motivo pelo qual você encontra eMMCs em computadores modernos e de baixo custo é que os componentes são relativamente baratos, grandes o suficiente (para sistemas operacionais de desktop) e compartilham aspectos comuns com componentes de telefones celulares, sendo produzidos em massa com uma interface padrão. Eles também dão grande densidade de armazenamento para o seu volume. Considerando que muitas dessas máquinas têm um disco insignificante de 32 GB ou 64 GB, a par com discos rígidos da melhor parte de uma década atrás, eles são uma opção sensata nesse papel..

    Estamos finalmente chegando ao ponto em que você pode armazenar uma quantidade razoável de memória de forma acessível e com velocidades razoáveis ​​em eMMCs e flash, e é por isso que as pessoas optam por eles.


    Tem algo a acrescentar à explicação? Som desligado nos comentários. Quer ler mais respostas de outros usuários do Stack Exchange com experiência em tecnologia? Confira o tópico de discussão completo aqui.

    Crédito de imagem: Martin Voltri (Flickr)