Baixe o app para aproveitar ainda mais
Prévia do material em texto
Memória Interna e Memória Externa Gustavo Aires Matos, Eduardo da Silva Lopes Filho gustavoairesmatos@gmail.com, eduardo.lopes.es@gmail.com Campus Quixadá - Universidade Federal do Ceará Quixadá, CE - Brasil Introdução Os módulos de memória existem desde o princípio dos computadores modernos. Desde von Neumann, com sua arquitetura de computador, diversos tipos e tamanhos foram usados dentro das especificações de arquiteturas de modo que cada um atendia determinadas necessidades. Obviamente, no início com muito mais limitações em relação às tecnologias atuais. Este trabalho visa abordar os tipos de memórias internas e externas a fim de mostrar tecnologias, técnicas e métodos de implementação das mesmas fazendo parelelos e utilizando ilustrações para facilitar o entendimento. Portanto, o funcionamento de forma geral desses dois tipos de memória e algumas de suas diversas tecnologias existentes será descrito aqui. Memória Interna Tipos de Memória Semicondutora RAM A memória RAM (Random Access Memory) é um tipo de memória cuja sua peculiaridade é a capacidade de ler e escrever dados na memória rápido e facilmente através de sinais elétricos. Por esse motivo ela é largamente utilizada nos computadores modernos como memória principal ou cache. É uma memória volátil, logo necessita de fonte de alimentação constante para que não haja perca de dados. Existem dois tipos de memória RAM: Dinamic RAM (DRAM) e Static (SRAM). DRAM Em uma DRAM suas células armazenam os dados na forma de carga em capacitores, assim um capacitor com carga é interpretado como 1 e sem carga é interpretado como 0. Tendo que os capacitores apresentam como característica a descarga, uma DRAM necessita de um refresh periódico, afim de manter o dado na memória. Surge daí, o nome Dinamic RAM. Figura 1.1: Estrutura de uma célula DRAM Temos na figura 1.1 a estrutura básica de uma DRAM. Quando o valor da célula precisar ser lido ou escrito a linha é ativada e o transistor irá permitir o fluxo de corrente quando uma voltagem for aplicada à linha e não irá permitir quando nenhuma voltagem estiver sendo aplicada na linha de endereço. Em operações de leitura, ao selecionar a linha o transistor é ligado e então a carga armazenada no capacitor é alimentada em um amplificador e na coluna (linha de bit). O amplificador se encarrega de comparar a voltagem no capacitor para determinar se nesta célula há um valor lógico 0 ou 1. Já em uma operação de escrita, um valor de tensão é aplicado à linha de bit, de forma que uma tensão “alta” representa logicamente 1 e uma tensão “baixa” representa 0. Daí um sinal é aplicado na linha, o que permite que a carga seja armazenada no capacitor SDRAM Uma DRAM Síncrona (SDRAM) tem como diferencial da DRAM comum, o fato de trocar dados em sincronia com um clock externo, trabalhando então na velocidade do barramento do processador. Assim, ao ser feita uma requisição de dados, como uma SDRAM trabalha em sincronia com o barramento, é possível saber quantos ciclos de clock são necessários para que as informações requeridas estejam disponíveis. Nesse meio tempo, o processador, ou outro mestre, pode trabalhar em outra coisa, buscando a informação no tempo necessário para que esteja disponível. DDR-SDRAM Uma DDR-SDRAM trata-se de um tipo de DRAM síncrona que é capaz que capaz de transmitir dados duas vezes por ciclo de clock, uma na transição de subida e outra na transição de descida do clock, como pode ser visto na Figura 1.2. Além disso, existem duas gerações de melhorias de memórias DDR-SDRAM que serão discutidas mais a frente. Figura 1.2: Temporização de leitura em DDR SDRAM RDRAM Uma RAMBUS (DRAM RamBus ou apenas RDRAM) é um tipo de memória, desenvolvida pela Rambus, que ficou muito conhecida por sua capacidade de velocidade, possuindo incrível (para sua época) taxa de dados de 1,6 GBps com um tempo de acesso inicial de 480 ns. Isso é possível por conta de sua estrutura. Seu barramento interno transmite informações de controle e endereço. Uma RDRAM possui um controlador conectado vários chips de RDRAM por um barramento. No fim desse barramento, encontra-se o barramento do sistema, de modo que quando o processador faz uma leitura de dados a uma RDRAM, a informação passa por todo o barramento até chegar ao controlador que faz interpretação do comando e então busca os dados nos chips, de forma que ao encontrar, a informação buscada em determinado chip e enviada diretamente de lá, acelerando o processo, algo que é possível pelo fato dos chips estarem no barramento entre o controlador e o barramento principal. SRAM Em uma Static RAM (SRAM) estão presentes os mesmos elementos lógicos presentes no processador. Assim, diferente da DRAM, a SRAM armazena diretamente em suas células os valores lógicos, algo que é permitido por sua estrutura ser constituída de portas lógicas e flip-flop’s (Figura 1.3). Figura 1.3: Estrutura lógica. Figura 1.4: Estrutura Física. A estrutura de uma célula de uma SRAM pode ser visualizada na Figura 1.3 e Figura 1.4. Esta estrutura possui dois estados lógicos possíveis (0 e 1). No estado lógico 1, temos Q com valor 1 e Q’ com valor zero e no estado lógico 0, os valores são invertidos. Estruturalmente temos no estado 1, o ponto C1 alto e C2 baixo, assim T1 e T4 estarão desligados e T3 e T2 estarão ligados, já no estado 0, temos o inverso, de forma que o ponto C2 estará alto e C1 baixo, para isso T1 e T4 estarão ligados e T3 e T4 desligados. Com esse arranjo dos componentes, pode-se garantir que enquanto houver corrente contínua os estados estarão estáveis, se não forem alterados com uma operação de escrita. O fato, e o diferencial - comparada à DRAM - desse tipo de memória é que não se faz necessário o uso de um circuito de refresh, um dos motivos de se tornar mais rápida. Por outro lado, como a SRAM, possui mais componentes e tem uma estrutura bem mais elaborada, ela necessita de um maior espaço físico, diminuindo a quantidade de memória por unidade de espaço. ROM Uma memória ROM (Read-Only Memory - Memória somente de leitura) é um tipo de memória não volátil, dessa forma não é necessária a permanência de energia para que os valores dos dados continuem na memória. Esse tipo de memória não permite a escrita de dados, assim as informações nela contida são armazenadas no momento da fabricação do chip de ROM, por isso não se pode haver erros nesta fase. Um bit errado compromete todo o chip. Informações são armazenadas em ROM quanto se tem a certeza que realmente não irão precisar de alteração, como programas do sistema ou tabelas de função por exemplo. De forma semelhante temos a memória PROM (Programmable ROM - ROM Programável) que tem como particularidade, em relação à ROM, o fato de não precisar ter as informações armazenadas no momento da fabricação do chip, de modo que umchip possa ser fabricado “genericamente” enquanto que seus dados são armazenados posteriormente por terceiros. Esse processo é feito eletricamente e só pode ser feito uma vez. Uma variação da memória ROM e que parece distorcer um pouco o conceito de ROM, é a memória principalmente de leitura, que é uma solução para a necessidade de armazenamento de informações de forma não volátil e a realização de operações de escrita. Temos três tipos principais de memórias principalmente de leitura: EPROM, EEPROM e memória flash. A Erasable PROM (EPROM) é um tipo de memória principalmente de leitura que possui a capacidade de múltiplas escritas. Para realizar uma escrita é necessário apagar todo o conteúdo contido no chip. Algo que que é feito através da exposição à luz ultravioleta. Para que isso funcione, o chip possui uma espécie de janela, feita de cristal, tornando o chip de silício visível. Um processo de apagamento leva de 10 a 20 minutos. Embora uma EPROM ser mais cara que uma PROM, possui a vantagem de permitir várias atualizações. Com a necessidade de armazenar informações por tempo indeterminado em chips que pudessem ser apagados e reescritos, e inclusive escrever sem apagar o conteúdo “anterior”, rapidamente e inúmeras vezes, surgiu a EEPROM (Memória Somente de Leitura Programável e Apagável Eletricamente). Ela é organizada em bytes e ao atualizar os dados, apenas os bytes desejados e endereçados têm seu conteúdo atualizado. Por se tratar de uma estrutura menos densa e mais cara, acaba possuindo menos bits por chip, porém traz o benefício da possibilidade de atualizar suas informações com mais flexibilidade, por não necessitar apagar. Por fim temos então a memória flash. Uma intermediaria entre EPROM e EEPROM, de modo que alia a capacidade de ser eletricamente apagada da EEPROM, porém de forma bem mais rápida, com a alta densidade da EPROM, pelo fato de possuir apenas um transistor por bit. O nome “flash” remete ao fato da capacidade de apagar uma seção inteira de memória com apenas uma ação. Algoritmos para verificação de erro Como qualquer outro sistema, um sistema de memória também está suscetível a erros, de modo que podem se apresentar de duas maneiras. Como falhas permanentes ou erros não permanentes. Falhas permanentes tratam-se de defeitos físicos, causados por uso intensivo em ambientes não apropriados, defeitos de fabricação ou até mesmo desgaste, comprometendo as células afetadas a não armazenar dados, ou pelo menos, não de forma confiável. Já os erros não permanentes, são eventos aleatórios, os quais alteram o valor de um ou mais células mas que não danificam o sistema de memória. Como erros não permanentes ocorrem com uma certa frequência, a maioria dos sistemas de memória possuem uma lógica para encontrar e corrigir esses erros. Figura 1.5: Estrutura geral de um código de correção de erros Temos na figura 1.5 a estrutura geral de um código de correção de erros. Quando os dados vão ser inseridos na memória, um cálculo é realizado sobre esses dados, M, produzindo um código, K, que é armazenado na memória junto com os dados, de modo que a palavra necessite de M+K bits. Quando os dados precisam ser lidos, os dados M são copiados para um núcleo de correção, e logo após passam novamente pelo cálculo, gerando novamente um código K, que vai para o módulo de comparação, para onde vai também o código K que havia sido armazenado na memória. Após a comparação dos códigos, se não houverem erros, K é novamente transformado em M e enviado para a saída, se for detectado um erro que não pode ser corrigido, um sinal de erro é enviado, porém se o erro puder ser corrigido, as informações vão para o módulo de correção, onde será aplicado um código de correção e logo após os dados, sem erros, são enviados para saída. Mostraremos em seguida alguns dos códigos de correção de erro que podem ser aplicados dentro do módulo de correção. Código de Hamming O código de correção de erro de Hamming, ilustrado na Figura 1.6 através de diagramas de Venn exemplificando seu uso com palavras de 4 bits. Primeiramente atribuímos os valores dos quatro bits, nas seções mais internas do diagrama, Figura 1.6a, então atribuímos às demais áreas os bits de paridade, através da soma dos bits ligados a elas, Figura 1.6b. Dessa forma, se algum erro ocorrer, Figura 1.6c, ele pode ser detectado verificando-se os bits de paridade de forma que no círculo B, se um novo bit de paridade for gerado, ele corresponderá ao já existente, porém o mesmo não aconteceria nos círculos A e B, assim o único dado presente em A e B mas não em C pode ser encontrado, figura 1.6d e então corrigido simplesmente invertendo esse bit. Figura 1.6: Código de correção de erro de Hamming Verificação Polinomial CRC Outra forma de verificação de erros é a Verificação Polinomial CRC (verificação de redundância cíclica), funciona de forma geral como descrito na Figura 1.5. Sua peculiaridade é a forma como é realizado o cálculo do código de verificação. O código é gerado da seguinte forma: Ao polinômio que representa os dados M(x) é adicionado o grau do gerador G(x) de bits 0, o gerador é um polinômio usado para codificar os dados. Então para a gerar o código CRC precisamos dividir o polinômio M(x), após adicionar os bits 0, por G(x) mas essa divisão não se trata de subtrações sucessivas, mas sim de operações XOR sucessivas onde no fim da divisão seu resto é o código CRC que é adicionado aos dados e armazenados na memória. Então quando os dados precisam ser lidos, eles juntamente com o código CRC passam pela função descrita anteriormente, então temos o polinômio de dados mais o código CRC divididos pelo mesmo gerador G(x), então se o resto, R(x), da divisão for igual a zero, significa que não há erros na memória, caso contrário, significa que há erro(s) nos dados. Comparativo estrutural entre modelos de memória DRAM vs RAMBUS Em uma DRAM comum as solicitações são controladas por sinais de RAS, CAS, R/W e CE, onde a memória é organizada na forma de Array no formato linha X Coluna X dado, assim a quantidade de pinos necessários para endereçar uma certa quantidade de memória são reduzidos pela metade, de forma que para uma requisição de dados, são enviados o endereço da linha para o RAS e o endereço de coluna para o CAS, então é feita uma busca pelas linha desejada (contida no RAS) e ao encontrá-la é feita uma busca pela coluna (endereçada no CAS). Já uma solicitação para uma RDRAM, chega por um barramento de alta velocidade e contém o endereço, o tipo de operação e o número de bytes na operação desejada, o que torna bem mais rápida. Em contra-partida, a transferência de alta velocidade torna necessário o uso de uma fiação curta e bastante blindada para evitar interferência eletro magnética. DDR, DDR2 e DDR3 Ao desenvolver a memória do tipo DDR-SDRAM,foi visto um grande potencial de expansão. A ideia de transmitir dados duas vezes por ciclo de clock foi muito bem acolhida, tanto que hoje até mesmo quem tem pouco conhecimento já ouviu falar de em “memória DDR”. Uma evolução da DDR, foi a DDR 2, que tem um tamanho de buffer de pré-busca (uma cache localizada no chip) aumentado de 2 para 4 bits, acelerando o pré-posicionamento de bits a serem colocados na base de dados, e aumentando a frequência operacional do chip. O avanço que a DDR3 trouxe, seguiu a mesma linha, aumentando o tamanho do buffer de pré-busca para 8 bits. É possível perceber claramente a evolução desse tipo de memória analisando-se suas capacidades de transferência de dados. A DDR por exemplo, possui uma taxa de 200 a 600 MHz, uma DDR2 possui uma taxa de 400 a 1066 MHz, já uma DDR3 pode transferir a uma taxa de clock de 800 a 1600 MHz. Memória Externa Memória óptica Compact disk (CD) Em 1981 foi criado este dispositivo que revolucionou a indústria no que diz respeito as mídias de armazenamento. A produção de compact disks tem de ser feita em ambientes extremamente limpos, qualquer partícula de poeira pode estragar o processo. Os CDs são cópias feitas a partir de um disco matriz. Os compact disks será coberto com uma superfície refletora. Esta superfície é protegida de possíveis causas de danos (poeira, arranhão). As informações postas em um CD são gravadas como uma sequência de sulcos na superfície do policarbonato, que é o material utilizado para a fabricação. E para a leitura dessas informações é necessário que um laser de baixa potência emita o feixe no compact disk que se encontra na unidade de disco. Nesta unidade de disco o CD é girado em alta velocidade enquanto o feixe continua sendo emitido. Quando o laser se encontra com um local onde foi colocado um sulco sua intensidade diminui e é refletida de volta. Agora, quando esse feixe se encontra com uma pista ele é refletido com maior intensidade, tornando essa alternância em sinal digital quando captada por um fotorresistor. Um meio para se conseguir maior capacidade nos CDs e CDs-ROM é não organizá-los em trilha concêntricas, mas sim criar apenas uma trilha em forma espiral começando do centro para a borda, sendo que a parte mais externa do disco tem o mesmo tamanho de setor que a parte mais interna. Deste modo as informações estarão em trechos de tamanhos iguais, e a leitura destas informações é feita em mesma velocidade variando somente a velocidade com que o disco gira. Esta leitura ocorre em uma velocidade linear constante (constant linear velocity, em inglês). A capacidade da trilha e o atraso rotacional aumenta para as áreas mais próximas a borda. Embora o uso do CLV aumente a capacidade do disco, é mais difícil utilizar o acesso aleatório. Para a leitura de um endereço específico é necessário que a velocidade de rotação seja ajustada, posicionar a cabeça de leitura para a área geral e então ler o endereço desejado, depois acessar o setor determinado de acordo com alguns ajustes. As informações de um disco óptico podem ser replicadas facilmente e com um baixo custo em relação a um disco magnético. O disco óptico é removível, sendo esta mais uma vantagem que o disco magnético não possui. Embora possua essas vantagens, este disco é apenas de leitura e o seu tempo de acesso é muito maior que que o disco magnético. É importante ressaltar que há dois tipos de CDs (R e RW). O CD-R é um disco em que você pode gravar uma vez e ler múltiplas vezes. Assim, um disco é desenvolvido de modo que posteriormente ele possa ser gravado por um feixe de laser por um usuário que o adquiriu. O disco possui uma camada de substrato. Este que serve para que no momento em que o laser de alta intensidade emitir o feixe, o reflexo seja diferente. Este disco só pode ser lido, tanto numa unidade de CD-R quanto em uma de CD-ROM. Já o CD regravável (CD-RW), diferente do CD-R ele poderia ser gravado mais de uma vez, embora o CD perca suas propriedades. Essa tecnologia é melhor aplicada quando utilizada a mudança de fase, onde esse disco tem dois tipos de reflexão díspares de acordo com a fase em que se encontra. Em uma das fases, o material do CD praticamente não reflete a luz, já no outro estado o feixe de luz vai de encontro a superfície lisa e é refletido com mais precisão. Essa mudança de fase ocorre por conta do feixe de luz emitido. Digital versatile disk (DVD) O DVD foi um avanço importante na história das mídias de armazenamento, pois permitiu outras mídias como CD-ROM e fita de vídeo VHS (Vídeo Home System) que era usada em videocassete. O Digital versatile disk permite então uma maior qualidade nos dados de vídeo e também uma grande capacidade de armazenamento. Essa sua maior capacidade de armazenamento se dá pela proximidade com que os bits são dispostos. Estando bem mais próximos e com um laser mais preciso, a capacidade aumenta consideravelmente. Outra coisa que possibilita esse maior espaço de armazenamento é o fato de que um DVD pode possuir uma camada dupla de sulcos e pistas, que com um simples ajuste de foco os lasers são capazes de ler cada camada de forma independente. Esta técnica chega quase a dobrar o tamanho de um DVD. Discos ópticos de alta definição Estes têm por finalidade guardar muito mais informações com muito mais qualidade que os DVDs. Sabendo disso, eles são responsáveis por uma qualidade de vídeo ainda mais poderosa que os DVDs. Quando é usado um laser de onda mais curta a densidade de bits aumenta, como é feito nos DVDs, embora nos discos ópticos de alta definição tenham ainda mais capacidade de armazenamento e qualidade de vídeo por possuir essa onda na faixa azul violeta. Figura 2: A imagem exibe o modo de acesso aos diversos tipos de mídias de disco óptico, ressaltando a precisão (dada pela distância entre os sulcos) e a distância que o feixe de luz do laser tem das superfícies em todas os casos. Disco magnético Um disco magnético é feito de forma semelhante aos CDs, DVDs e outros, possuindo um material não magnético em sua construção chamado de substrato e uma parte que cobre esse material, sendo este um material magnetizável. O substrato pode ser de diversos materiais incluindo vidro. Baseia-se no fato de que há um campo magnético que se move em relação a cabeça (ou bobina) criando nela uma corrente elétrica. Quando isso acontece, no momento em que alguma parte da superfície do disco passa por baixo da bobina, é passada então uma corrente com a mesma polaridade existente naquela parte disco. Em discos magnéticos mais antigos a mesma cabeça que era usada para a leitura poderia ser usada para escrita por funcionarem do mesmo modo, mesmo que para finalidades diferentes. A gravação em discos magnéticos funciona de forma semelhante, com a bobina gerando um campo magnético ondeas características deste campo são passadas para o disco que gira sob a cabeça. O material desta parte é magnetizável sem muito esforço. Desta forma, uma corrente elétrica no fio condutor localizado na cabeça induz o campo magnético e então magnetiza uma porção na gravação. Nos discos, as trilhas de dados são dispostas de forma concêntrica e possuem a mesma largura da cabeça de gravação e/ou leitura. Estas trilhas são separadas das demais nas proximidades por lacunas para que erros sejam minimizados nos acessos realizados. Estas trilhas por sua vez, se localizam em setores que abrangem um grupo das mesmas e com lacunas para a divisão de trilhas. Atualmente, o tamanho dos setores não é variável com 512 bytes em tamanho fixo. Uma região situada mais a extremidade do disco tende a ser mais rápida ao passar pela bobina que uma região mais próxima do centro, por conta disto é necessário que haja algo que possa manter um equilíbrio entre os acessos em extremos do disco. E para que a velocidade de leitura seja proporcional, um espaço maior entre os bits gravados é utilizado, permitindo que o disco seja girado numa velocidade fixa aumentando a taxa de leitura. Um modo de endereçamento direto de blocos específicos é feito pela trilha ou setor, uma vantagem da velocidade angular constante (CAV). Ao passo que é necessário apenas um movimento da cabeça diretamente para a trilha desejada. Um ponto negativo da velocidade angular constante é que como os espaços entre os bits gravados são aumentados para que a taxa de leitura se mantenha de forma mais constante, o espaço que uma trilha mais externa (e teoricamente maior) pode suportar é o mesmo que uma trilha menor (interna). Já que a quantidade de bits que podem ser armazenadas por uma trilha vai ser delimitado pelas trilhas mais internas onde a densidade de bits é maior, a capacidade de armazenamento sofre perca de capacidade. Uma medida utilizada para diminuir este impacto é fazer da técnica de gravação em zonas múltiplas o meio para a gravação de dados. Nessa técnica, é preciso dividir o disco em zonas concêntricas, onde a quantidade de bits em suas trilhas é constante. Com esta técnica, a capacidade de armazenamento é maior pois as zonas mais exteriores têm maior capacidade, não sendo limitadas pelas zonas mais internas (setores de tamanho menor com densidade de bits maior). Sendo que, isto leva a um circuito mais complexo, além de interferir no tempo de acesso levando em consideração o tamanho dos bits na trilha. Para título de localização o disco reserva parte de si para que nas trilhas ele possa encontrar o fim e o início do setor em que se encontra. Ou seja, o disco magnético possui informações a mais para que isso possa acontecer, de modo as partes do disco que contém estes dados não são acessados pelo o usuário. Em relação às características de um disco magnético temos: disco com cabeça fixa onde há uma cabeça de acesso por trilha essas cabeças ficam em um braço inflexível, que se posiciona sobre todas as trilhas. Este tipo de cabeça não é tão utilizado atualmente. De forma diferente, um disco de cabeça móvel possui um braço que pode se alongar ou comprimir para que a cabeça alcance variadas regiões do disco. Um disco não removível é um disco que não pode ser retirado da unidade de disco. Ao contrário, um disco removível pode ser retirado da unidade de disco a qual pertence. E conforme já foi dito, um disco pode ter ambas as faces magnetizáveis, podendo ser tanto um DVD ou Blu-ray quanto um disco magnético de fato. Outra característica importante de ser destacada é a utilização de múltiplas placas, onde as mesmas são acomodadas na unidade de forma a terem uma distância entre elas garanta que não haja problemas. Nos casos onde isso ocorre, n braços são utilizados para abarcar a quantidade de pratos, com cabeças em suas pontas para o acesso às informações. Estas cabeças têm movimentos sincronizados e estão a mesma distância do centro do prato. Isso possibilita que todas as cabeças sejam posicionadas sob as trilhas de mesma distância do interior do disco. Estas trilhas de mesma região em placas diferentes são chamadas de cilindro. O disco Winchester possui cabeças que praticamente zeram a existência de possíveis elementos que possam afetar o aparelho. Estas trabalham numa proximidade muito maior que as cabeças de outros discos, sendo um meio termo entre o Disket que para acesso precisa de contato para o acesso e os outros modos de posicionamento de cabeças de leitura-escrita. Observando que isto permite uma maior compactação de dados. Esta cabeça se apoia sobre a face do disco quando este está em movimento, embora a pressão criada pelo alto giro do disco faça com quem ela suba garantindo a integridade do disco. RAID (redudant array of independent disks) Dado que o desempenho para o armazenamento secundário ficou para trás se comparado com processadores e memórias principais, o RAID é viável por ser uma técnica que visa dar a este tipo de memória, “defasado” em relação às outras, um jeito de melhorar sua capacidade de trabalho de modo geral. Isto implica numa alternativa comum: uso de mais de um dispositivo em paralelo. E é nisto que o RAID se apoia. Para isso são utilizados disco de baixo custo, portanto menor, que juntos propoem um desempenho melhor que um disco maior e de custo mais alto. O uso do RAID faz com que os dados sejam espalhados por estes discos que juntos formam a unidade de disco utilizando algumas técnicas como striping e mirroring de disco, entre outras. Tudo isso para que a confiabilidade seja aumentada uma vez que a redundância dos dados existe, diminuir a latência, aumentar a largura de banda para o acesso dos discos e também para amplificar a recuperação de quebras de disco. Desta forma, os dados podem ser dispostos por cada disco em toda a extensão do conjunto, pois estes discos em conjunto podem formar uma unidade lógica. Assim, os dados são divididos em tamanhos iguais para serem colocados no disco de acordo com o nível de RAID utilizado. O que faz do conjunto de disco um tipo de disco grande. A seguir, imagens dos níveis de RAID: RAID nível 0 Neste nível os dados quebrados são intercalados (striped) ao longo de todo conjunto de discos na unidade, vista como uma unidade lógica, visando um maior desempenho, mesmo não possuindo redundância. Aqui a capacidade de armazenamento é a mesma do total de discos que fazem parte do hardware RAID. Portanto, este nível não é recomendado para sistemas que necessitem de segurança, visto que não há redundância no mesmo, podendo ocorrer uma pane em um dos discos e os dados serem perdidos. RAID nível 1 Consiste em dividir os dados em dois ou mais discos proporcionando uma segurança a mais por sua redundância. Isto torna a gravação dos dados mais dispendioso por ter de replicar os dados em discos diferentes,embora isso possa ser feito em paralelo com o desempenho sendo determinado pela gravação mais lenta. A leitura é mais ágil pois haverá duas pontes para a procura do arquivo desejado. Em comparação com o nível 0, o RAID 1 pode ter um desempenho bem mais significativo com altas taxas de transação de I/O especialmente quando se trada de leituras. Neste ponto, o nível 1 é superior até duas vezes. Porém, quando uma boa parte das transações forem de gravação, o desempenho acaba sendo praticamente o mesmo ou não haver uma vantagem considerável de uso desta técnica. Os discos podem ser vistos como um só, ao passo que o segundo é apenas um clone, contento os mesmos dados do primeiro. Consequentemente, os dados estão mais protegidos, por terem um meio de “cópia de segurança”. Por isso, este é um meio ideal para um sistema que preza pela segurança dos dados, de forma diferente do nível 0 onde não há redundância. RAID nível 2 Assim como o nível 3, o RAID 2 utiliza a técnica de acesso paralelo, ou seja, todos os discos participam ativamente em cada solicitação de I/O. Neste nível, a cabeça de cada disco deve estar posicionada na mesma posição de forma que os eixos de cada um são sincronizados para este fim. O RAID nível 2 se comparado ao de nível 1 ainda é mais caro, mesmo possuindo menos discos. A quantidade de discos de redundância é proporcional ao logaritmo do número de discos de dados. Neste nível, com apenas uma leitura se acessa todos os discos de forma simultânea e em uma gravação, todos os discos de dados e de paridade têm de ser acessados para que a gravação seja bem sucedida. RAID nível 3 Para este nível, o funcionamento é semelhante ao nível 2, com uma diferença: é usado apenas um único disco de redundância. Esta redundância é utilizada para casos de falha em um disco, utilizando o disco de redundância para que os dados sejam remontados de acordo com os dispositivos que restaram. Nesses casos onde é necessária uma reconstrução dos dados, o cálculo de ou-exclusivo é utilizado para leituras de modo instantâneo. Assim, os dados sendo gravados num RAID nível 3, é necessário manter a paridade de forma consistente no caso de uma regeneração futura. O funcionamento regular volta quando o disco defeituoso for substituído para que conteúdo possa ser recolocado em outro disco. O desempenho deste nível pode ser alto por ter strips pequenos, com acesso mais rápido aos dados. E para uma solicitação de I/O a transferência é feita paralelamente de todos os discos contidos na unidade. A desvantagem é que apenas uma solicitação de entrada e saída pode ser executada, mesmo com um desempenho notável para grandes quantidades de dados. RAID nível 4 Do mesmo modo que o nível 3, a paridade é totalmente concentrada em um único disco da unidade. Sendo mais indicado para transações I/O do que para transferência de arquivos pesados. Utiliza-se então o acesso independente de modo que as solicitações de I/O podem ser feitas em paralelo. Os sprits deste nível são maiores se comparados aos dos níveis anteriores, embora os níveis de leitura sejam semelhantes ao nível 0. Contudo, toda vez que ocorre uma gravação é necessário que a paridade seja atualizada tornando este processo mais lento. Ressaltando também que este nível exige no mínimo 3 discos e a reconstrução dos dados é bem mais complicada. O que pode ser um dos motivos que o torna inviável comercialmente. RAID nível 5 Dentre todos, este é o mais comumente utilizado. Ele elimina o gargalo do nível 4 no que diz respeito a I/O tendo seus strips de paridades distribuídos por todos os discos existentes na unidade. Um jeito conhecido de fazer essa distribuição é o esquema de round-robin, de acordo com a figura no início da sessão RAID. O único problema disso é o processo para se calcular o bit de paridade, mas não chega a ser algo altamente relevante levando em consideração as CPUs e Softwares atuais que podem ser utilizados para se corrigir isso. O desempenho para leitura de dados se assemelha com o do nível 6. RAID nível 6 Este nível se diferencia do RAID 5 pelo fato que exige dois algoritmos de verificação de dados diferentes armazenados em cada disco em blocos distinto. Assim, um dos cálculos de verificação feitos é o ou-exclusivo (também usando no nível 4 e 5) e o outro é um algoritmo com a mesma finalidade, embora independente. Isso cria uma enorme vantagem com a utilização do nível 6, pois mesmo com falha em dois discos é possível recuperar os dados já que estão dispersos em diferentes discos. O RAID 6 conta com uma grande disposição de dados. É preciso que 3 discos falhassem em um mesmo intervalo de tempo para que os dados fossem realmente perdidos. Entretanto, o desempenho para gravação com grande quantidade de dados é diminuído por ter que fazê-la no dobro de blocos de paridade. Fita magnética Estrutura básica: A fita magnética é feita de poliéster flexível coberta com material magnetizável. Hoje essas fitas são acomodadas em cartuchos, embora no início fossem colocadas em bobinas para serem utilizadas. Foi muito usada por ser uma maneira bem viável (barata) de armazenar informação. Essas fitas podem armazenar todo tipo de informação como áudio, texto, imagens. O sistema de fita possui uma fina camada de partículas magnéticas onde os dados são gravados. Uma técnica de gravação que há para fitas magnéticas é a gravação paralela. As informações são colocadas na fita em n trilhas paralelas durante a extensão, onde n determina o número de bits a serem gravados usando uma linha nas trilhas. Desta forma, uma fita que possui 9 trilhas pode armazenar 1 byte por vez com um sinal de paridade, sendo que os sistemas mais antigos utilizavam este tamanho de trilhas. Com o avanço da tecnologia, a quantidade de trilhas foi aumentada podendo ser usado 18 ou 36 trilhas. Há também a gravação serial, que difere da paralela pois os dados são colocados na fita de forma continua em uma trilha, do mesmo modo como é feito nos discos magnéticos. As fitas magnéticas são formatadas para que a localização dos registros físicos seja mais simples, semelhante à forma como os discos magnéticos trabalham. Outro modo de fazer a gravação dos dados consiste em dispor um conjunto de bits ao longo de toda a extensão da fita até que se chegue ao final da trilha, assim tendo que reposicionar as cabeças para a gravação em uma outra trilha do mesmo modo feito na anterior embora no sentido contrário. Esta é conhecida como gravação em serpentina. Todo esse processo pode ser repetido até que a fita esteja completamente cheia. A cabeça de leitura-gravação pode fazer tanto a leitura quanto a escrita ao mesmo tempo visto que isso é feito nas trilhas próximas. Este processo faz com que os dados sejam gravados de forma serial em relação à trilha, mas os blocos de dados são armazenados em trilhasimediatas. Depois de terem sido gravadas, as informações podem ser recuperadas transformando-se em sinais elétricos por meio do sensor responsável pela leitura dessas regiões que foram magnetizadas no processo de gravação. Como a fita é um dispositivo de acesso sequencial, os dados que serão lidos são os que estão dispostos após a posição do leitor. Portanto, para a leitura de algo que possui uma posição anterior em relação ao leitor, é preciso rebobinar. O modo como a fita funciona é contrário ao modo de funcionamento do disco, pois este é um dispositivo de acesso direto, acessando as trilhas desejadas de forma independente. Mesmo com as outras tecnologias existentes para memórias externas, a fita magnética ainda é usada. Atualmente a Sony desenvolveu uma com uma capacidade de 185 TBytes de armazenamento. Isso não muda a velocidade de leitura e escrita, mas com certeza mantém esta tecnologia utilizável na atualidade por conta de seu custo benefício. Referências: STALLINGS, W. Arquitetura e Organização de Computadores, 8a Edição, São Paulo, Peaeson. IDOETA, Ivan V. Elementos de Eletrônica Digital, 41a Edição, São Paulo, Érica Ltda. BABOO, Entendento os níveis de RAID. Disponível em: <http://www.baboo.com.br/tutorial/entendendo-os-niveis-de-raid-redundant-array-of-ine xpensive-disks/>. Acessado em: 27 Setembro 2014. BABOO, Entenda quais são os tipos de RAID. Disponível em: <http://www.baboo.com.br/hardware/hd-ssd/entenda-quais-sao-os-tipos-de-raid/>. Acessado em: 27 Setembro 2014. TECMUNDO, O que é RAID?. Disponível em: <http://www.tecmundo.com.br/aumentar-desempenho/2367-o-que-e-raid-.htm>. Acessado em: 27 Setembro 2014. BATISTA, Othon M. N. Cálculo de CRC - Parte 1. Disponível em: <https://www.youtube.com/watch?v=XWcJcybL3JQ> Acessado em: 24 Setembro 2014. BATISTA, Othon M. N. Cálculo de CRC - Parte 2. Disponível em: <https://www.youtube.com/watch?v=wyUNSzDbFjg> Acessado em: 24 Setembro 2014.
Compartilhar