terça-feira, dezembro 23, 2008

Cartões de memória: a guerra dos formatos

A popularização dos cartões de memória Flash deu início a uma guerra entre diversos formatos de cartões, alguns abertos e outros proprietários. Esta variedade de formatos deriva da questão do pagamento de royalties, já que quando um fabricante consegue impor um padrão proprietário (mesmo que seja algo simples, como um novo conector USB, ou um novo formato de cartões de memória), ele ganha o direito de recolher royalties sobre os outros fabricantes que quiserem utilizá-lo, de forma que cada fabricante tentou vender o seu peixe.



Entre eles tivemos o CompactFlash (que é ainda utilizado em algumas câmeras de uso profissional, devido à boa taxa de transferência oferecida pelos cartões), o SmartMedia (o falido antecessor dos cartões SD atuais, que foi desenvolvido pela Toshiba), o xD (usado em algumas câmeras da Olympus e da Fujifilm), o MMC (o padrão semi-aberto, antecessor do SD) e o Memory Stick (o padrão proprietário da Sony).

Destes quatro padrões iniciais, o único que deixou descendentes é o Memory Stick, que deu origem ao Memory Stick Pro Duo e ao Memory Stick Micro (ou M2), que são os formatos utilizados pela Sony na maioria de seus produtos:


Muito se discute sobre qual é o motivo da Sony insistir em seus padrões proprietários, já que cartões mais caros servem apenas para reduzir as vendas dos produtos. A verdade é que mesmo dentro da Sony existem vozes contrárias, tanto que alguns modelos da Sony, como o Xperia X1 já utilizam cartões microSD.

Finalmente, temos os cartões SD (Secure Digital), que acabaram vencendo a guerra e se tornando o formato dominante. Existem três formatos de cartões SD. Além do formato padrão, temos os cartões miniSD e microSD, versões miniaturizadas, que são eletricamente compatíveis com o padrão original e podem ser usados no lugar dos cartões SD regulares usando um adaptador simples.

O miniSD mede 2.15 x 2.0 cm, com apenas 1.4 mm de espessura, enquanto o microSD é um formato ainda menor, onde o cartão mede apenas 1.5 x 1.1 cm e tem apenas 1 mm de espessura. O SD original, que já parecia pequeno na época em que foi lançado, parece um gigante perto do microSD:


O SD original é usado apenas em aparelhos muito antigos, como o Treo 650. Aparelhos lançados entre 2005 e 2006, como o Motorola Q e o Nokia E62 utilizam cartões miniSD, enquanto quase todos os smartphones atuais já migraram para os cartões microSD, fazendo que que eles respondessem por mais de 80% dos cartões de memória vendidos no segundo semestre de 2008.

Além do formato, outra questão importante sobre os cartões SD é a questão da capacidade. Inicialmente, o padrão de cartões SD previa o desenvolvimento de cartões de até 2 GB, formatados por padrão em FAT16 (você pode reformatar o cartão em NTFS ou em outros sistemas de arquivos, mas nesse caso a maior parte das câmeras e outros dispositivos deixam de conseguir acessá-lo, embora você ainda consiga acessar o cartão normalmente se conectá-lo a um PC usando um adaptador USB).

Quando o limite de 2 GB foi atingido, os fabricantes passaram a criar extensões para permitir a criação de cartões de 4 GB, usando hacks para modificar o sistema de endereçamento e passando a usar o sistema FAT32 (no lugar do FAT16) na formatação. Estes cartões de 4 GB "não-padronizados" são compatíveis com a maioria dos dispositivos antigos, mas você pode enfrentar problemas diversos de compatibilidade, já que eles não seguem o padrão.

Para colocar ordem na casa, foi criado o padrão SDHC (Secure Digital High Capacity), onde a tabela de endereçamento foi expandida e passou a ser oficialmente usado o sistema de arquivos FAT32. Todos os cartões que seguem o novo padrão carregam o logotipo "SDHC" (que permite diferenciá-los dos cartões de 4 GB "não-oficiais") e trazem um número de classe, que indica a taxa de transferência mínima em operações de escrita. Veja um exemplo de cartão com o logotipo:


Os cartões "Class 2" gravam a 2 MB/s, os "Class 4" a 4 MB/s, os "Class 6" a 6 MB/s e assim por diante. O mesmo se aplica também aos cartões miniSD e microSD. Note que a numeração não diz nada sobre a velocidade de leitura, mas ela tende a ser proporcionalmente maior.

O lançamento do padrão SDHC criou problemas de compatibilidade entre os novos cartões e aparelhos antigos. Para suportar o SDHC, é necessário que o dispositivo utilize um controlador de memória compatível e também um firmware compatível. Muitos aparelhos lançados de 2005 em diante, que originalmente não oferecem suporte ao SDHC podem se tornar compatíveis através de atualizações de firmware, mas existem muitos modelos recentes que realmente ficarão para sempre limitados aos cartões de 2 GB. Eles podem até parecer satisfatórios hoje, mas vão deixar de ser a partir do momento em que cartões de 8 GB por R$ 50 (ou menos, já que os preços caem continuamente) começarem a aparecer nas lojas.

Em muitos casos, é possível utilizar os cartões de 4 GB não padronizados nesses aparelhos (eles podem ser diferenciados dos SDHC facilmente, pois não possuem o logo), mas nesse caso é uma questão de tentativa e erro. É muito melhor confirmar a compatibilidade com o SDHC antes de comprar.

O padrão SDHC original prevê a criação de cartões de até 32 GB, que é o limite de tamanho para partições FAT 32 com clusters de 16 KB. Entretanto, este limite deve ser logo expandido, já que os cartões de 64 e 128 GB já estão no horizonte, mas é provável que muitos dispositivos precisem de atualizações de firmware para lidarem com eles.

Outra observação é que as especificações de muitos smartphones falam em compatibilidade com cartões de até 8 GB ou até 16 GB, enquanto outros falam em compatibilidade com cartões de até 32 GB.

Estes números indicam apenas a capacidade máxima para a qual ele foi certificado, ou seja, a capacidade máxima que foi efetivamente testada e é garantida pelo fabricante e não necessariamente a capacidade máxima. Como todos suportam o padrão SDHC, todos devem suportar cartões de até 32 GB sem percalços.


Matéria extraída em 23dez2008: Guia do Hardware.net