quarta-feira, 2 de maio de 2018

Colocando um SSD no MacMini - Parte 1 e 1/2, também conhecida como Parte 2 simplificada :)

Olá pessoal,

   No post anterior, falei sobre a instalação do MacOs em um drive SSD externo para iniciar meu MacMini.

   Tive alguns problemas ao realizar a instalação e acho necessário escrever sobre isso.

   Inicialmente, ao contrário do que a Apple divulgou, o meu SSD não foi "transformado" para o novo padrão APFS. Ao contrário, ficou em HFS+ com Journaling (Mac OSX Extendido). O MacBook Air, também SSD, foi atualizado para APFS automaticamente. Se é por alguma característica do SSD, se é por estar em USB, se é por estar externo, não sei. Só sei que não foi assim.

   Outra problema que tive foi na má escolha da partição de recuperação. Da primeira vez (sim, fiz 3! instalações para chegar na que estou usando atualmente), tirei o HD externo que estava utilizando e iniciei o Mac apertando a tecla Option. Entrou nessa tela:


   Repare as 3 opções: Macintosh HD (o meu HD interno bichado), Recuperação 10.12 e EFI Boot (disco de boot). Não me atentei que a partição de recuperação era do MacOS Sierra (10.12) enquanto a versão atual é MacOS High Sierra (10.13.4). Quando terminou tudo, percebi que estava numa versão anterior ao APFS e resolvi reinstalar.

   Coloquei meu HD externo de novo, reiniciei com Option apertado e apareceu isso:



   Fui lá na última opção (Recovery 10.13.4). Quando acabou tudo, vi que continuava em HFS+. 😔

   Resolvi apelar. Reinstalei a 10.12 e baixei o arquivo de instalação (vá na Mac App Store --> Buscar --> digite "High Sierra" e dê enter --> faça o download e instale). Achei que fazendo isso, como tinha ocorrido no MacBook Air, ele atualizaria automaticamente o sistema de formatação para APFS. Só que não...

   Enfim, isso me custou horas e horas instalando, reinstalando e reinstalando tudo de novo. Para descobrir, no final, que ainda estava em HFS+. Enfim, desisti! Por enquanto...

   Vou colocar dois vídeos para perceberem a diferença do boot quando se usa um HD convencional e um SSD.

(A unha vermelha não é minha 😂😂😂)



   Ambos os vídeos foram gravados em com o Time-Lapse do iPhone. Comecei a marcar na hora de apertar o Power e encerrei quando foi pedido a senha (não deixei até carregar tudo porque o HD tinha mais programas para boot que o SSD - por ser instalação nova).

   O primeiro é com o SSD e ficou disponível para entrar com a senha em menos de 50 segundos. O segundo vídeo é com o HD. Demorou mais de dois minutos (2:05). Um detalhe a considerar é que, apesar de ter selecionado o HD externo como disco de boot, se eu ligasse sem apertar OPTION o boot era sempre pelo HD interno (o HD com defeito) e o computador se auto-desligava. Assim, gravei o vídeo fazendo exatamente o que eu sempre fazia: ligava com OPTION apertado, escolhia o disco externo para boot e espera carregar.

   A diferença de tempo no boot fala por si.

  Mas por que o SSD é tão mais rápido? 

   Os HDD (Hard Disk Drive) estão na ativa desde meados do século passado. Esse disco é uma memória não volátil (as informações são preservadas mesmo após o aparelho ser desligado), formado por um (ou mais) disco duro (geralmente feito de alumínio, vidro ou cerâmica), onde as informações são guardadas. Esse disco é coberto por uma película de material magnético. Esses discos giram em alta velocidade - os modelos atuais mais comuns variam entre 5.400 e 7.200 RPMs. Outra parte importante é o braço mecânico que tem um conjunto de ímãs em sua extremidade. Eles ficam a nanômetros de distância da película magnética, detectando e/ou modificando a magnetização do material conforme os discos giram. É assim que é feita a leitura e gravação dos dados.


   Já os SSDs  possuem dois componentes fundamentais: a memória flash e a controladora. A memória flash guarda os arquivos e, ao contrário dos discos magnéticos dos HDs, não necessita de partes móveis ou motores para funcionar. Todas as operações são feitas eletricamente, tornando a leitura e a escrita mais rápidas, além de deixar o equipamento mais silencioso e resistente a vibrações e quedas. A controladora, por sua vez, é responsável por gerenciar a troca de dados entre o computador e a memória flash do SSD. Formada por um processador que executa diversas tarefas no drive, é uma das principais responsáveis pela performance de um SSD. O processador da controladora faz o gerenciamento do cache de leitura e escrita de arquivos, criptografa informações, mapeia partes defeituosas do SSD para evitar corrompimento de dados e garantir uma vida útil maior da memória flash. As novas controladoras chegam a ser duas vezes mais rápidas que as mais antigas.


   Devido às superfícies de gravação rotativas, superfícies de HDs normais trabalham melhor com arquivos maiores gravados em blocos contínuos, de modo sequencial. Dessa forma, cabeça de leitura do braço magnético pode começar e terminar a sua leitura em um movimento contínuo. Quando os discos rígidos começam a ficar cheios, os arquivos grandes podem se espalhar em torno do prato de disco (são divididos ocupando os locais vazios onde outros arquivos estavam gravados e foram apagados - fragmentação), prejudicando a velocidade de leitura e gravação de dados nos HDs. Os SSD não tem este problema, já que a localização física da gravação dos arquivos não importa tanto. Assim, SSDs são inerentemente mais rápidos.

   A título de curiosidade, lembrei de um trecho do livro "Guia do Programador MSX", de Eduardo A. Barbosa, de 1990, onde, no capítulo 7, era explicado como era feita a formatação de disquetes. Leia aqui uma boa fonte sobre os disquetes, se tiver interesse.

 
(Disquete 5,25" ou 5 1/4")                  (Disquete 3,5"ou 3 1/2")

   Os drives de disquete, fossem 5 1/4" ou 3 1/2" rodavam a cerca de 300 RPMs. Havia tolerância de +/- 4,5 RPM. No MSX, os disquetes mais novos tinham 40 ou 80 trilhas com 9 setores por trilha e 512 bytes por setor, resultando em 512 x 9 x 40 = 184.320 bytes ou 180kb (um kbyte = 1024 bytes pois bits e bytes não são sistema decimal, mas sim binário; 1 byte = 8 bits = 2ˆ3 bits; assim, 2ˆ10 = 1024) ou 512 x 9 x 8 = 360kb. Se os discos fossem de dupla face, seria o dobro (180kb ou 360kb para cada face, resultando em "assombrosos" 360kb ou 720kb para cada disco!).

   O setor 0 no MSX contém informações como nome do disco, nome dos arquivos (apenas 8 bytes para nome e mais 3 bytes para extensão), informação se o arquivo foi apagado ou não (o arquivo não necessita ser, de fato apagado; apenas é colocado um determinado byte na primeira letra do nome e o sistema interpreta que o arquivo foi intencionalmente apagado) e informações sobre onde se encontra o início do arquivo (do setor 1 ao 359 nos discos de 40 trilhas ou 1 ao 719 nos discos de 80 trilhas). Assim, o sistema sabia onde o arquivos se iniciava. Ao chegar no final do setor, mais alguns bytes informavam em qual setor ele continuava. E assim por diante, até terminar de ler o arquivo todo.

   Portanto, ao ler um arquivo em um disco (seja disquete ou HD), a cabeça de leitura fica pulando de um lado para outro, dando continuidade ao processo de leitura/gravação.

   Nas palavras de Eduardo Barbosa, "Suponha que desejemos ler os setores 1 e 2 de uma determinada trilha. Por mais rápido que seja o Z80, nunca conseguiremos que ele leia o setor 2 logo após o setor 1, com o disquete na mesma volta (...). Desta forma, para ler os setores 1 e 2 (...) gastaríamos o tempo do disquete dar duas voltas".

   Já naquela época, em 1990, havia a preocupação em tentar acessar os arquivos mais e mais rapidamente. Assim, ao contrário das instruções da MSX-BIOS, que faziam a leitura sequencial dos setores (1-2-3-4-5-6-7-8-9), os programadores acessavam diretamente as funções de leitura/gravação do disco e alteravam a sequência para, por exemplo, 1-3-5-7-9-2-4-6-8. Havia ganhos de até 30% nos tempos de acesso aos disquetes!

   Porém esse era uma preocupação apenas para os usuários de computadores de 8 bits, que tinham baixa frequências (inferiores a 10MHz). Nesses equipamentos, o padrão sequencial MS-DOS/MSX-DOS fazia com que fossem necessárias 9 voltas para ler uma trilha inteira (interleave 9:1). As alterações da sequência por acesso direto reduziam essa interleave para 5:1. Os PC's 286 e 386 conseguiam ter um interleave 1:1, ou seja, liam uma trilha a cada volta do disco.

   Bom, fugi do tema loucamente, apesar de achar que é importante perceber a evolução desses sistemas de gravação.

   Além disso, dá pra entender como é a lógica do funcionamento de um HD e de um SSD, permitindo compreender o grande ganho de velocidade do SSD sobre o HD.

   Outra coisa importante: um SSD médio tem vida útil de mais de 3.000 ciclos de escrita. Além disso, as controladoras "distribuem" as gravações, evitando que um mesmo bloco seja utilizado mais que outros blocos. Assim, mesmo que você tenha comprado um SSD com capacidade de 120 GB e vida útil de "apenas" 3.000 ciclos, e mesmo que grave 120 GB todos os dias, o SSD deverá durar pouco mais de 8 anos até começar a falhar. Se você for bem menos frenético, mas ainda gravar 20 GB de dados por dia, esse tempo subiria para 49 anos!

   Pode ficar tranquilo! O SSD vai durar!

   Até a próxima, pessoal!

Nenhum comentário:

Postar um comentário