O que permite que a memória flash seja usada para o sistema operacional em computadores como tablets?


7

Desde que os pen drives (pen drives) foram inventados, as pessoas se perguntavam se poderiam rodar seu sistema operacional neles. A resposta foi "não" porque o número de gravações necessárias para um sistema operacional esgotaria rapidamente a unidade flash.

À medida que os SSDs se tornaram populares, as tecnologias de nível de desgaste foram aprimoradas para permitir que os sistemas operacionais rodassem com elas.

Vários tablets, netbooks e outros computadores compactos 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 geralmente implementam tecnologias de nível de desgaste?


"À medida que os SSDs se tornaram populares, as tecnologias de nível de desgaste foram inventadas" - Você tem isso ao contrário.
sawdust

@sawdust Obrigado. Eu fiz uma edição para dizer "melhorado". Embora, no IIRC, os primeiros SSDs não tenham nenhum nível de desgaste.
RockPaperLizard

2
O foco da questão é o meio de armazenamento e o aparente conflito com o "conhecimento comum". Os tablets são discutidos no tópico, e os netbooks / Chromebooks, que estão no tópico, também são plataformas às quais a pergunta se aplica. Os smartphones são apenas um exemplo de uso semelhante de um meio de armazenamento, eles não são realmente o foco da questão. A pergunta é sobre como entender a memória flash e se aplica a dispositivos no tópico.
fixer1234

Pergunta decente, mas votando para fechar. FWIW, enquanto esta pergunta é decente, mas as respostas de todos parecem bastante focadas na opinião e fazem declarações amplas sem realmente apoiá-la com fatos ou detalhes.
JakeGould

@JakeGould, boa observação; me fez repensar minha resposta. O ponto principal é que um tipo de memória flash pode preencher uma necessidade específica a um preço atraente, por isso é usada. Nesse caso, a resposta realmente se concentra nas suposições da pergunta (a razão para não usá-la são os limites de gravação, que se aplicam a qualquer design e finalidade). Alguma sugestão para fatos e detalhes que dariam uma resposta melhor?
fixer1234

Respostas:


4

"A resposta foi" não "porque o número de gravações necessárias para um sistema operacional esgotaria rapidamente a unidade flash".

TLDR: Eles finalmente se tornaram rentáveis ​​para o uso convencional.

Esse desgaste é a única preocupação é um pouco de suposição. Existem sistemas que esgotam a memória de estado sólido por um período de tempo considerável - muitas pessoas que construíram gravadores de carros inicializados com cartões CF (que eram eletricamente compatíveis com o PATA - e fáceis de instalar em vez de um disco rígido PATA) e PCs industriais tiveram um armazenamento pequeno, robusto e baseado em flash. Dito isto, não havia muitas opções para a pessoa comum . Você pode comprar um cartão CF e um adaptador para um laptop ou encontrar um disco industrial 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 DOMs IDE modernos chegam a 8 ou 16 GB, eu acho). Certeza de que você poderia ter configurado unidades de sistema de estado sólido antes que os SSDs 'padrão' se tornassem comuns

Realmente não houve melhorias universais / mágicas no nivelamento de desgaste, até onde eu sei. Houve melhorias incrementais (enquanto passamos do caro SLC para o MLC, o TLC e até o QLC, e tamanhos de processo menores, todos com menor custo, com maior risco de desgaste). O Flash ficou muito mais barato.

Havia também algumas alternativas que não apresentavam problemas de desgaste - por exemplo, executar o sistema inteiro a partir de uma ROM (que possivelmente é o armazenamento de estado sólido), memória ram suportada por bateria, usada por muitos SSDs iniciais e dispositivos portáteis como o palm pilot. Hoje nada disso é comum. Os discos rígidos balançaram em comparação com, por exemplo, ram com bateria (muito caro), dispositivos antigos de estado sólido (um pouco caro) ou camponeses com bandeiras (nunca detectados, uma densidade de dados terrível ). Até a memória flash moderna é descendente de eeproms de apagamento rápido ), e os eeproms têm sido usados ​​em dispositivos eletrônicos para armazenamento de coisas como firmware há séculos.

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

O motivo pelo qual você encontra emmcs em PCs modernos e de baixo custo é que os componentes são relativamente baratos, grandes o suficiente (para sistemas operacionais de desktops) a esse custo e compartilham a mesma semelhança com os componentes de celulares, sendo produzidos em massa com uma interface padrão. Eles também fornecem uma grande densidade de armazenamento para o seu volume. Considerando que muitas dessas máquinas possuem uma unidade insignificante de 32 ou 64 gb, comparável aos discos rígidos da maior parte de uma década atrás, elas são uma opção sensata nesse papel.

Finalmente chegamos ao ponto em que você pode armazenar uma quantidade razoável de memória de maneira acessível e com velocidades razoáveis emmcs e flash, e é por isso que as pessoas buscam por elas.


3

Todos os dispositivos de memória flash, de tablets a telefones, relógios inteligentes, SSDs e até 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 no eMMC. Os dados que posso encontrar sobre essa tecnologia sugerem entre 3k e 10k ciclos de gravação. Infelizmente, nada do que encontrei até agora é definitivo, pois a Wikipedia está em branco nos ciclos de gravação dessa tecnologia. Todos os outros lugares que eu vi foram vários fóruns, dificilmente o que eu chamaria de fonte confiável.

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

Agora, com relação à 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 seria o disco rígido. Você tem uma partição do SO e uma partição de dados, juntamente com várias outras partições proprietárias, dependendo do fabricante do dispositivo. A partição raiz real vive 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 estágio 1 do dispositivo estiver concluída (geralmente a tela de logotipo do fabricante), o kernel é inicializado 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 e ext2 / 3/4 em dispositivos desde o Android 4.0 e xfs nos dispositivos mais recentes) como somente leitura, para que não os dados podem ser gravados nele. Obviamente, isso pode ser contornado pelo chamado "enraizamento" do seu dispositivo, que lhe dá acesso como superusuário e permite remontar 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 mais e mais telefones descartando o slot de sdcard, você pode pensar que atingirá o limite de gravação mais cedo, porque agora todos os seus dados estão sendo salvos no armazenamento 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 incorreta (conhecida como bloco inválido) 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 disco, ou o dispositivo verificará automaticamente o sistema de arquivos durante a próxima inicialização.

Por uma questão de fato, o Google possui uma patente para detectar e manipular automaticamente blocos defeituosos.

https://www.google.com/patents/US7690031

Para ir mais longe, sua pergunta "como isso de repente se tornou prático?" não é a pergunta certa a ser feita. Antes, nunca foi impraticável, em primeiro lugar. É altamente recomendável instalar o SO (Windows) em um SSD (presumivelmente) devido ao 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 Regmon da Microsoft / SysInternals ( https://technet.microsoft.com/en-us/sysinternals/regmon.aspx )

A instalação do sistema operacional (Windows) foi desaconselhada nas unidades SSD de primeira geração, porque, com a falta de nivelamento do desgaste, os dados gravados no registro a cada segundo provavelmente alcançaram os primeiros usuários e resultaram em sistemas não inicializáveis ​​devido à corrupção do registro.

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

Para dispositivos Windows Embedded, como muitos dos quiosques (incluindo quiosques de auto checkout do Walmart e Kroger) em público - você sabe, aqueles em que você pode ver um BSOD aleatório de tempos em tempos - não há muito de configuração que pode ser feita, pois são pré-projetados com configurações que nunca serão alteradas. As únicas mudanças de tempo ocorrem antes que o chip seja gravado na maioria dos casos. Tudo o que precisa ser salvo (como o pagamento ao supermercado) é feito pela rede, nos bancos de dados da loja em um servidor.


2

Sua pergunta é baseada no pressuposto de que os limites de gravação da memória flash, sem um amplo nivelamento de desgaste, a tornam inadequada 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 pude encontrar evidências de que, em geral, a memória usada nesses dispositivos tenha uma vida útil mais longa que as unidades flash ou cartões SD.

Embora a memória flash seja usada, existem algumas diferenças em relação ao conteúdo de um pen drive ou cartão SD. Esses computadores geralmente 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, para que o computador o veja como um dispositivo inicializável. Essa é uma conveniência de design.

Alguns fabricantes afirmam que seu controlador eMMC usa melhor o nivelamento e possui uma correção de erro mais robusta do que a encontrada em um cartão SD ou unidade flash típica. A implicação do ECC aprimorado é que ele pode tolerar mais degradação e ainda funcionar, por isso tem uma vida útil mais longa.

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

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

Diferenças de 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 se encaixam perfeitamente no seu dispositivo de armazenamento principal, dada a quantidade típica de escrita que eles foram projetados para lidar e a vida útil esperada. Isso se reflete nas orientações descritas na pergunta e 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 a memória flash como armazenamento principal são dispositivos de finalidade limitada. As tarefas para as quais eles foram projetados, seus recursos mínimos de hardware disponíveis para oferecer suporte a outros usos, design básico, sistema operacional e software, resultam em menos gravação em comparação com um PC. Como esses dispositivos dependem da 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 mais curta. Os dispositivos que usam a memória flash como armazenamento primário são baratos, projetados para um mercado em que as pessoas atualizam com frequência. Os dispositivos fornecem certos recursos e capacidades em um pequeno fator de forma e duram o tempo que duram, com base nos componentes dos quais são construídos. É provável que a bateria falhe antes da memória flash ou peças podem quebrar. E há marketing constante para convencê-lo de que seu dispositivo é obsoleto e precisa ser substituído pelo modelo mais recente.

Há uma história que Henry Ford costumava enviar seus engenheiros para os depósitos de lixo procurando componentes de carros mortos que ainda eram bons. A ideia era que essas peças pudessem ser fabricadas de forma mais barata porque não precisavam durar tanto tempo. Essa lógica se aplica à memória flash nesses dispositivos. Ele só precisa durar o suficiente, não precisa durar mais que o dispositivo.

Bottom Line

Existem nichos de mercado para dispositivos de computação baratos e pequenos, que não gravam tanto no armazenamento primário como o PC é projetado para lidar 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.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.