O que permite que a memória flash seja usada no SO em computadores como tablets?

8

Desde que os pen drives (pen drives) foram inventados, as pessoas imaginaram se poderiam rodar o sistema operacional neles. A resposta foi "não" porque o número de gravações exigidas por um sistema operacional desgastaria rapidamente o pen drive.

À medida que os SSDs se tornaram populares, as tecnologias de nivelamento de desgaste foram aprimoradas para permitir que os sistemas operacionais fossem executados nelas.

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? Por exemplo, eles normalmente implementam tecnologias de nivelamento de desgaste?

    
por RockPaperLizard 16.12.2016 / 20:57

3 respostas

4

"The answer was "no" because the number of writes required by an OS would quickly wear out the flash drive."

TLDR: Eles finalmente se tornaram rentáveis para uso corrente.

Esse desgaste é a única preocupação é um pouco de 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 cartuchos de inicialização inicializaram cartões CF (que eram eletricamente compatíveis com PATA - e triviais para instalar em vez de um disco rígido PATA) e PCs industriais. tiveram um armazenamento pequeno, robusto e baseado em flash. Dito isso, 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 na unidade de módulo para um desktop. Eles não eram muito grandes em comparação com os discos rígidos contemporâneos (os DOM modernos IDE chegam a 8GB ou 16GB, eu acho). Certifique-se 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 melhorias incrementais (enquanto estivemos nos afastando do SLC mais caro para MLC, TLC e até QLC, e tamanhos de processo menores, todos com custo menor, com maior risco de desgaste) . O Flash ficou muito mais barato.

Havia também algumas alternativas que não apresentavam problemas - por exemplo, executar todo o sistema em uma ROM (possivelmente é armazenamento em estado sólido), suportada por bateria, que muitos SSDs antigos e dispositivos portáteis como o palm pilot usado. Nenhum destes é comum hoje em dia. Discos rígidos balançaram em comparação com, por exemplo, memória RAM suportada por bateria (muito cara), dispositivos de estado sólido inicial (um pouco mais caros), ou camponeses com bandeiras (nunca pegou, terrível densidade de dados). Mesmo a memória flash moderna é uma descendente de eeproms de apagamento rápido ), e os eeproms têm foi usado 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 (ish) custo e relativamente suficiente armazenamento.

A razão pela qual você encontra emmcs PCs 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 os componentes do celular. em massa com uma interface padrão. Eles também fornecem uma grande densidade de armazenamento para seu volume. Considerando que muitas dessas máquinas têm uma unidade insignificante de 32 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 nessa função.

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

    
por 18.12.2016 / 09:43
3

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

Para tablets e telefones 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 olhei acabaram por ser vários fóruns, tão dificilmente o que eu chamaria de uma fonte confiável.

Para fins de comparação, outras tecnologias NVRAM, como SSDs que usam tecnologia NAND ou NOR, os ciclos de gravação 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 e uma partição de dados, além de várias outras partições proprietárias, dependendo do fabricante do dispositivo. A partição raiz real reside dentro do gerenciador de inicialização, que é empacotado como um arquivo compactado (jffs2, cramfs, etc) junto com o kernel, de modo que quando a inicialização do dispositivo 1 estiver concluída (geralmente a tela do logotipo do fabricante), o kernel inicializado e a partição raiz é montada simultaneamente como um disco RAM.

Quando o SO é inicializado, ele monta o sistema de arquivos da partição principal (/ system, que é jffs2 nos dispositivos anteriores ao Android 4.0 e ext2 / 3/4 nos dispositivos desde o Android 4.0, e xfs nos dispositivos mais recentes) como somente leitura para que nenhum dado possa 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 telefones substituindo o slot sdcard, você pode pensar que atingirá o limite de gravação mais cedo, porque todos os seus dados agora estão sendo salvos no armazenamento do eMMC, em vez do sdcard. 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 do armazenamento, e a área defeituosa (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 de 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 bloqueios ruins.

link

Para chegar mais ao ponto, a sua pergunta "como isso de repente se tornou prático?" não é a pergunta certa a ser feita. Pelo contrário, nunca foi impraticável, em primeiro lugar. Foi strongmente desaconselhado instalar o sistema operacional (Windows) em um SSD (presumivelmente) por causa do número de gravações que o SO faz no 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 ( link )

Aconselhamos a instalação do sistema operacional (Windows) nas unidades SSD de primeira geração porque, com a falta de nivelamento de desgaste, os dados gravados no registro a cada segundo provavelmente acabaram sendo adotados pelos primeiros usuários e resultaram em sistemas não inicializáveis devido ao registro corrupção.

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

Para dispositivos Windows Embedded, como muitos dos quiosques (incluindo os quiosques de auto-atendimento Walmart e Kroger) em público - você sabe, aqueles em que você pode ver um BSOD aleatório de vez em quando - não há uma grande quantidade de configurações que podem ser feitas, já que elas são pré-projetadas com configurações que nunca serão 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 a mercearia) é feito pela rede para os bancos de dados da loja em um servidor.

    
por 17.12.2016 / 01:36
2

A sua pergunta está baseada na suposição de que os limites de gravação da memória flash, sem o uso de extensivo nivelamento de desgaste, a tornam imprópria para o armazenamento primário de qualquer dispositivo de computação. Há uma variedade de dispositivos de computação, incluindo tablets, netbooks, smartphones, etc., que usam memória flash para esse fim, sem o nivelamento de desgaste encontrado nos SSDs.

Vida da memória

Não consegui encontrar evidências de que, em geral, a memória usada nesses dispositivos tem uma vida útil mais longa do que os pen drives ou os cartões SD.

Embora a memória flash seja usada, existem algumas diferenças em relação ao que está em um pen drive ou cartão SD. Esses computadores normalmente usam o eMMC, que contém o controlador e a memória flash em um único chip, com uma arquitetura diferente de um cartão SD ou unidade flash. Uma diferença para o controlador eMMC é que ele emula um disco rígido, então o computador o vê como um dispositivo inicializável. Essa é uma conveniência de design.

Alguns fabricantes alegam que seu controlador eMMC usa melhor o nivelamento e possui uma correção de erros mais robusta do que a que você encontra em um cartão SD ou unidade flash típica. A implicação da melhoria da ECC é que ela pode tolerar mais degradação e ainda funcionar, por isso tem uma vida mais longa e efetiva.

Como tudo isso é proprietário, é difícil encontrar dados concretos para suportá-lo. Mesmo se houver eMMCs de última geração que duram mais, isso não é necessariamente o que é usado na maioria desses dispositivos. As diversas informações que pude encontrar sobre os limites de gravação da eMMC parecem colocá-la no mesmo patamar geral dos cartões SD e pen drives.

Parece que, em geral, a memória de vida mais longa não é a base para o uso da memória flash como armazenamento primário nesses dispositivos. Todo mundo não estava errado sobre os limites de gravação; o uso pode ser explicado pelo fato de que os requisitos são diferentes.

Diferenças da plataforma

PCs e laptops são computadores de uso geral que as pessoas esperam usar por um longo tempo. As unidades flash e os cartões de memória não são um ótimo ajuste como seu dispositivo de armazenamento principal, considerando a quantidade típica de gravação para a qual foram projetados e sua vida útil esperada. Isso se reflete na orientação que você descreveu na pergunta, e isso não mudou (pelo menos para a geração atual de memória flash).

Tablets, netbooks, smartphones e similares são uma situação diferente. Os que usam memória flash como armazenamento primário são dispositivos de finalidade limitada. As tarefas para as quais foram projetadas, seus recursos mínimos de hardware disponíveis para suportar outros usos, seu design básico e seu SO e software resultam em menos escrita em comparação a um PC. Como esses dispositivos dependem de memória flash (em um formato que não é substituível), os limites de gravação são considerados no que é executado neles.

Eles também têm uma expectativa de vida menor. Os dispositivos que usam memória flash como armazenamento principal são baratos, projetados para um mercado em que as pessoas atualizam com frequência. Os dispositivos fornecem determinados recursos e capacidades em um formato minúsculo e duram enquanto durarem, com base nos componentes de onde são construídos. É provável que a bateria falhe antes da memória flash, ou as partes podem quebrar. E há marketing constante para convencê-lo de que seu dispositivo está obsoleto e precisa ser substituído pelo modelo mais recente.

Há uma história que Henry Ford usou para enviar seus engenheiros a estaleiros que procuravam por componentes de carros mortos que ainda eram bons. A ideia era que essas partes poderiam ser mais baratas porque não precisavam durar tanto quanto elas. Essa lógica se aplica à memória flash nesses dispositivos. Ele só precisa durar o tempo suficiente, não precisa durar muito mais que o dispositivo.

Resultado final

Existem nichos de mercado para dispositivos de computação baratos e pequenos que não escrevem tanto para armazenamento primário como um PC é projetado para manipular, e que não têm as mesmas expectativas de vida útil. A memória na forma de eMMC é barata, pequena, inicializável e boa o suficiente para esse aplicativo.

    
por 18.12.2016 / 21:00