Ir para o conteúdo

Célula de memória (computação)

Origem: Wikipédia, a enciclopédia livre.
Layout para a implementação em silício de uma célula de memória SRAM de seis transistores

A célula de memória é a unidade fundamental da memória de computador. A célula de memória é um dispositivo, como um circuito eletrônico, que armazena um bit de informação binária e deve ser definida para armazenar um nível lógico 1 (nível de tensão alto) e reiniciada para armazenar um nível lógico 0 (nível de tensão baixo). Seu valor é mantido/armazenado até que seja alterado pelo processo de set/reset. O valor na célula de memória pode ser acessado através da leitura.

Ao longo da história da computação, diferentes arquiteturas de células de memória foram utilizadas, incluindo memória de núcleo, memória twistor,[1] e memória de bolha. Hoje[desde quando?], a arquitetura de célula de memória mais comum é a memória MOS, que consiste em células de memória de metal–óxido–semicondutor (MOS). A memória de acesso aleatório (RAM) moderna usa transistores de efeito de campo MOS (MOSFETs) como flip-flops, juntamente com capacitores MOS para certos tipos de RAM.

A célula de memória SRAM (RAM estática) é um tipo de circuito flip-flop, normalmente implementado usando MOSFETs. Estes requerem baixíssima potência para manter o valor armazenado quando não estão sendo acessados. Um segundo tipo, DRAM (RAM dinâmica), é baseado em capacitores MOS. Carregar e descarregar um capacitor pode armazenar um '1' ou um '0' na célula. No entanto, como a carga no capacitor se dissipa lentamente, ela deve ser atualizada (refresh) periodicamente. Devido a esse processo de atualização, a DRAM consome mais energia, mas pode atingir densidades de armazenamento mais altas.

A maioria das memórias não voláteis (NVM), por outro lado, é baseada em arquiteturas de células de memória de porta flutuante. Tecnologias de memória não volátil como EPROM, EEPROM e memória flash utilizam células de memória de porta flutuante, que dependem de transistores MOSFET de porta flutuante.

Descrição

[editar | editar código]

A célula de memória é o bloco de construção fundamental da memória. Ela pode ser implementada usando diferentes tecnologias, como bipolar, MOS e outros dispositivos semicondutores. Também pode ser construída a partir de material magnético, como núcleos de ferrite ou bolhas magnéticas.[2] Independentemente da tecnologia de implementação usada, o propósito da célula de memória binária é sempre o mesmo. Ela armazena um bit de informação binária que pode ser acessado lendo a célula e deve ser definida para armazenar um 1 e reiniciada para armazenar um 0.[3]

Significância

[editar | editar código]
Matriz quadrada de células de memória DRAM sendo lidas

Circuitos lógicos sem células de memória são chamados de combinacionais, o que significa que a saída depende apenas da entrada presente.

Mas a memória é um elemento fundamental dos sistemas digitais. Nos computadores, ela permite armazenar tanto programas quanto dados, e as células de memória também são usadas para o armazenamento temporário da saída de circuitos combinacionais para serem usadas posteriormente por sistemas digitais.

Circuitos lógicos que usam células de memória são chamados de circuitos sequenciais, o que significa que a saída depende não apenas da entrada presente, mas também do histórico de entradas passadas. Essa dependência do histórico de entradas passadas torna esses circuitos com estado (stateful) e são as células de memória que armazenam esse estado. Esses circuitos requerem um gerador de temporização ou clock para sua operação.[4]

A memória de computador usada na maioria dos sistemas de computação contemporâneos é construída principalmente de células DRAM; como o layout é muito menor que o da SRAM, ela pode ser compactada de forma mais densa, resultando em memória mais barata com maior capacidade. Como a célula de memória DRAM armazena seu valor como a carga de um capacitor, e existem problemas de fuga de corrente, seu valor deve ser constantemente reescrito. Esta é uma das razões que tornam as células DRAM mais lentas que as células SRAM (RAM estática) maiores, que têm seu valor sempre disponível. É por isso que a memória SRAM é usada para cache no chip incluído em chips de microprocessador modernos.[5]

História

[editar | editar código]
Plano de memória de núcleo 32x32 armazenando 1024 bits de dados

Em 11 de dezembro de 1946, Freddie Williams solicitou uma patente para seu dispositivo de armazenamento em tubo de raios catódicos (CRT) (Tubo de Williams) com 128 palavras de 40 bits. Estava operacional em 1947 e é considerado a primeira implementação prática de memória de acesso aleatório (RAM).[6] Naquele ano, os primeiros pedidos de patente para memória de núcleo magnético foram depositados por Frederick Viehe.[7][8] A memória prática de núcleo magnético foi desenvolvida por An Wang em 1948, e aprimorada por Jay Forrester e Jan A. Rajchman no início da década de 1950, antes de ser comercializada com o computador Whirlwind I em 1953.[9] Ken Olsen também contribuiu para seu desenvolvimento.[10]

A memória semicondutora começou no início da década de 1960 com células de memória bipolares, feitas de transistores bipolares. Embora tenha melhorado o desempenho, não pôde competir com o preço mais baixo da memória de núcleo magnético.[11]

Células de memória MOS

[editar | editar código]
Intel 1103, um chip de memória de acesso aleatório dinâmica (DRAM) metal-óxido-semicondutor (MOS) de 1970

Em 1957, Frosch e Derick conseguiram fabricar os primeiros transistores de efeito de campo de dióxido de silício no Bell Labs, os primeiros transistores nos quais o dreno e a fonte eram adjacentes na superfície.[12] Subsequentemente, uma equipe demonstrou um MOSFET funcional no Bell Labs em 1960.[13][14] A invenção do MOSFET permitiu o uso prático de transistores de metal–óxido–semicondutor (MOS) como elementos de armazenamento de células de memória, uma função anteriormente servida por núcleos magnéticos.[carece de fontes]?

As primeiras células de memória modernas foram introduzidas em 1964, quando John Schmidt projetou a primeira memória de acesso aleatório estática (SRAM) MOS de canal p (PMOS) de 64 bits.[15][16]

A SRAM normalmente possui células de seis transistores, enquanto a DRAM (memória de acesso aleatório dinâmica) normalmente possui células de um único transistor.[17][15] Em 1965, a calculadora eletrônica Toscal BC-1411 da Toshiba usou uma forma de DRAM bipolar capacitiva, armazenando dados de 180 bits em células de memória discretas, consistindo de transistores bipolares de germânio e capacitores.[18][19] A tecnologia MOS é a base para a DRAM moderna. Em 1966, Robert H. Dennard no IBM Thomas J. Watson Research Center estava trabalhando em memória MOS. Ao examinar as características da tecnologia MOS, ele descobriu que ela era capaz de construir capacitores, e que armazenar ou não uma carga no capacitor MOS poderia representar o 1 e 0 de um bit, enquanto o transistor MOS poderia controlar a escrita da carga no capacitor. Isso levou ao desenvolvimento de uma célula de memória DRAM de um único transistor.[20] Em 1967, Dennard entrou com um pedido de patente para uma célula de memória DRAM de um único transistor, baseada na tecnologia MOS.[21]

A primeira SRAM bipolar comercial de 64 bits foi lançada pela Intel em 1969 com o 3101 Schottky TTL. Um ano depois, lançou o primeiro chip de circuito integrado DRAM, o Intel 1103, baseado na tecnologia MOS. Em 1972, ele bateu recordes anteriores em vendas de memória semicondutora.[22] Os chips DRAM durante o início da década de 1970 tinham células de três transistores, antes que as células de um único transistor se tornassem o padrão desde meados da década de 1970.[17][15]

A memória CMOS foi comercializada pela RCA, que lançou um chip de memória SRAM CMOS de 288 bits em 1968.[23] A memória CMOS era inicialmente mais lenta que a memória NMOS, que era mais amplamente usada por computadores na década de 1970.[24] Em 1978, a Hitachi introduziu o processo CMOS de poço duplo, com seu chip de memória HM6147 (SRAM de 4 kb), fabricado com um Processo de 3 μm. O chip HM6147 foi capaz de igualar o desempenho do chip de memória NMOS mais rápido da época, enquanto o HM6147 também consumia significativamente menos energia. Com desempenho comparável e muito menos consumo de energia, o processo CMOS de poço duplo acabou superando o NMOS como o processo de fabricação de semicondutores mais comum para memória de computador na década de 1980.[24]

Os dois tipos mais comuns de células de memória DRAM desde a década de 1980 têm sido as células de capacitor de trincheira (trench) e as células de capacitor empilhado (stacked).[25] Células de capacitor de trincheira são onde furos (trincheiras) são feitos em um substrato de silício, cujas paredes laterais são usadas como uma célula de memória, enquanto células de capacitor empilhado são a forma mais antiga de memória tridimensional (memória 3D), onde as células de memória são empilhadas verticalmente em uma estrutura de célula tridimensional.[26] Ambas estrearam em 1984, quando a Hitachi introduziu a memória de capacitor de trincheira e a Fujitsu introduziu a memória de capacitor empilhado.[25]

Células de memória MOS de porta flutuante

[editar | editar código]

O MOSFET de porta flutuante (FGMOS) foi inventado por Dawon Kahng e Simon Sze no Bell Labs em 1967.[27] Eles propuseram o conceito de células de memória de porta flutuante, usando transistores FGMOS, que poderiam ser usados para produzir ROM reprogramável (memória de apenas leitura).[28] As células de memória de porta flutuante mais tarde se tornaram a base para tecnologias de memória não volátil (NVM), incluindo EPROM (ROM programável apagável), EEPROM (ROM programável apagável eletricamente) e memória flash.[29]

A memória flash foi inventada por Fujio Masuoka na Toshiba em 1980.[30][31] Masuoka e seus colegas apresentaram a invenção da Flash NOR em 1984,[32] e depois a Flash NAND em 1987.[33] A memória flash célula de multinível (MLC) foi introduzida pela NEC, que demonstrou células de nível quádruplo em um chip flash de 64 Mb armazenando 2 bits por célula em 1996.[25] A V-NAND 3D, onde as células de memória flash são empilhadas verticalmente usando a tecnologia 3D Flash de armadilha de carga (CTP), foi anunciada pela primeira vez pela Toshiba em 2007,[34] e fabricada comercialmente pela primeira vez pela Samsung Electronics em 2013.[35][36]

Implementação

[editar | editar código]

Os seguintes esquemas detalham as três implementações mais usadas para células de memória eletrônica:

  • A célula de memória de acesso aleatório dinâmica (DRAM);
  • A célula de memória de acesso aleatório estática (SRAM);
  • Flip-flops como o J/K mostrado abaixo, usando apenas portas lógicas.
Célula DRAM (1 transistor e um capacitor)
Célula SRAM (6 transistores)
Flip-flop J/K com clock

Operação

[editar | editar código]

Célula de memória DRAM

[editar | editar código]
Pastilha (Die) do MT4C1024 (1994) integrando um mebibit de células de memória DRAM

Armazenamento

[editar | editar código]
O elemento de armazenamento da célula de memória DRAM é o capacitor rotulado (4) no diagrama acima. A carga armazenada no capacitor degrada-se com o tempo, por isso seu valor deve ser atualizado (refrescado) periodicamente. O transistor nMOS (3) atua como uma porta para permitir a leitura ou escrita quando aberto, ou o armazenamento quando fechado.[37]
Para a leitura, a linha de palavra (word line) (2) aciona um 1 lógico (tensão alta) na porta do transistor nMOS (3), o que o torna condutivo e a carga armazenada no capacitor (4) é então transferida para a linha de bit (bit line) (1). A linha de bit terá uma capacitância parasita (5) que drenará parte da carga e retardará o processo de leitura. A capacitância da linha de bit determinará o tamanho necessário do capacitor de armazenamento (4). É um compromisso (trade-off). Se o capacitor de armazenamento for muito pequeno, a tensão da linha de bit levaria muito tempo para subir ou nem subiria acima do limiar necessário pelos amplificadores no final da linha de bit. Como o processo de leitura degrada a carga no capacitor de armazenamento (4), seu valor é reescrito após cada leitura.[38]
O processo de escrita é o mais fácil; o valor desejado, 1 lógico (tensão alta) ou 0 lógico (tensão baixa), é direcionado para a linha de bit. A linha de palavra ativa o transistor nMOS (3), conectando-o ao capacitor de armazenamento (4). A única questão é mantê-lo aberto por tempo suficiente para garantir que o capacitor esteja totalmente carregado ou descarregado antes de desligar o transistor nMOS (3).[38]

Célula de memória SRAM

[editar | editar código]
Célula de memória SRAM retratando o loop de inversores como portas
Um latch SR animado. Preto e branco significam '1' e '0' lógicos, respectivamente.
(A) S = 1, R = 0: set
(B) S = 0, R = 0: hold (manter)
(C) S = 0, R = 1: reset
(D) S = 1, R = 1: não permitido
A transição da combinação restrita (D) para (A) leva a um estado instável.

Armazenamento

[editar | editar código]
O princípio de funcionamento da célula de memória SRAM pode ser mais fácil de entender se os transistores M1 a M4 forem desenhados como portas lógicas. Dessa forma, fica claro que, em sua essência, o armazenamento da célula é construído usando dois inversores acoplados transversalmente. Este loop simples cria um circuito biestável. Um 1 lógico na entrada do primeiro inversor transforma-se em um 0 na sua saída, e este é alimentado no segundo inversor que transforma esse 0 lógico de volta para um 1 lógico, realimentando o mesmo valor para a entrada do primeiro inversor. Isso cria um estado estável que não muda com o tempo. Da mesma forma, o outro estado estável do circuito é ter um 0 lógico na entrada do primeiro inversor. Após ser invertido duas vezes, ele também realimentará o mesmo valor.[39]
Portanto, existem apenas dois estados estáveis em que o circuito pode estar:
  • = 0 e   = 1
  • = 1 e   = 0
Para ler o conteúdo da célula de memória armazenado no loop, os transistores M5 e M6 devem ser ligados. Quando eles recebem tensão em suas portas vinda da linha de palavra (), eles se tornam condutivos e, assim, os valores de e    são transmitidos para a linha de bit () e para o seu complemento ().[39] Finalmente, esses valores são amplificados no final das linhas de bit.[39]
O processo de escrita é semelhante, a diferença é que agora o novo valor que será armazenado na célula de memória é direcionado para a linha de bit () e o invertido para o seu complemento (). Em seguida, os transistores M5 e M6 são abertos aplicando um 1 lógico (tensão alta) na linha de palavra (). Isso efetivamente conecta as linhas de bit ao loop inversor biestável. Existem dois casos possíveis:
  1. Se o valor do loop for o mesmo que o novo valor aplicado, não há alteração;
  2. Se o valor do loop for diferente do novo valor aplicado, existem dois valores conflitantes; para que a tensão nas linhas de bit sobrescreva a saída dos inversores, o tamanho dos transistores M5 e M6 deve ser maior que o dos transistores M1-M4. Isso permite que flua mais corrente pelos primeiros e, portanto, inclina a tensão na direção do novo valor; em algum ponto, o loop então amplificará esse valor intermediário até o nível total da linha (rail).[39]

Flip-flop

[editar | editar código]

O flip-flop possui muitas implementações diferentes, seu elemento de armazenamento é geralmente um latch consistindo em um loop de porta NAND ou um loop de porta NOR com portas adicionais usadas para implementar o sincronismo (clocking). Seu valor está sempre disponível para leitura como uma saída. O valor permanece armazenado até que seja alterado através do processo de set ou reset. Flip-flops são tipicamente implementados usando MOSFETs; eles também foram implementados usando transistores bipolares.

Porta flutuante

[editar | editar código]
Uma célula de memória flash

As células de memória de porta flutuante, baseadas em MOSFETs de porta flutuante, são usadas para a maioria das tecnologias de memória não volátil (NVM), incluindo EPROM, EEPROM e memória flash.[29] De acordo com R. Bez e A. Pirovano:

Uma célula de memória de porta flutuante é basicamente um transistor MOS com uma porta completamente cercada por dielétricos (Fig. 1.2), a porta flutuante (FG), e governada eletricamente por uma porta de controle (CG) acoplada capacitivamente. Sendo eletricamente isolada, a FG atua como o eletrodo de armazenamento para o dispositivo da célula. A carga injetada na FG é mantida lá, permitindo a modulação da tensão de limiar 'aparente' (ou seja, VT vista da CG) do transistor da célula.[29]

Ver também

[editar | editar código]

Referências

[editar | editar código]
  1. ↑ Bobeck, Andrew H. (6 novembro de 1957). «A New Storage Element Suitable for Large-Sized Memory Arrays - The Twistor». Bell System Technical Journal. XXXVI (5). ISSN 0005-8580. doi:10.1002/j.1538-7305.1957.tb01513.x. Três métodos foram desenvolvidos para armazenar informações de maneira de corrente coincidente em fio magnético. As células de memória resultantes foram coletivamente chamadas de "twistor".
  2. ↑ D. Tang, Denny; Lee, Yuan-Jen (2010). Magnetic Memory: Fundamentals and Technology. [S.l.]: Cambridge University Press. p. 91. ISBN 978-1139484497. Consultado em 13 de dezembro de 2015
  3. ↑ Fletcher, William (1980). An engineering approach to digital design. [S.l.]: Prentice-Hall. p. 283. ISBN 0-13-277699-5
  4. ↑ Microelectronic Circuits Second ed. [S.l.]: Holt, Rinehart and Winston, Inc. 1987. p. 883. ISBN 0-03-007328-6
  5. ↑ «La Question Technique : le cache, comment ça marche ?» [A questão técnica: o cache, como funciona?]. PC World Fr (em francês). Cópia arquivada em 30 de março de 2014
  6. ↑ O’Regan, Gerard (2013). Giants of Computing: A Compendium of Select, Pivotal Pioneers. [S.l.]: Springer Science & Business Media. p. 267. ISBN 978-1447153405. Consultado em 13 de dezembro de 2015
  7. ↑ Reilly, Edwin D. (2003). Milestones in Computer Science and Information Technology. [S.l.]: Greenwood Publishing Group. p. 164. ISBN 9781573565219. viehe.
  8. ↑ Pugh, Emerson W.; Johnson, Lyle R.; Palmer, John H. (1991). IBM's 360 and Early 370 Systems. [S.l.]: MIT Press. p. 706. ISBN 0262161230. Consultado em 9 de dezembro de 2015. An Wang, que mais tarde fundou a Wang Laboratories, demonstrou o armazenamento de informações em núcleos magnéticos em um registrador de deslocamento em 1948. Sua patente e uma de um inventor independente, Frederick W. Viehe, Jr., foram consideradas pela IBM como dominantes sobre a patente de Forrester.
  9. ↑ «1953: Whirlwind computer debuts core memory». Computer History Museum. Consultado em 2 de agosto de 2019
  10. ↑ Taylor, Alan (18 de junho de 1979). Computerworld: Mass. Town has become computer capital. [S.l.]: IDG Enterprise. 25 páginas
  11. ↑ «1966: Semiconductor RAMs Serve High-speed Storage Needs». Computer History Museum. Consultado em 19 de junho de 2019
  12. ↑ Frosch, C. J.; Derick, L (1957). «Surface Protection and Selective Masking during Diffusion in Silicon». Journal of the Electrochemical Society. 104 (9). 547 páginas. doi:10.1149/1.2428650
  13. ↑ Kahng, D. (1991). «Silicon-Silicon Dioxide Surface Device». Semiconductor Devices: Pioneering Papers. [S.l.: s.n.] pp. 583–596. ISBN 978-981-02-0209-5. doi:10.1142/9789814503464_0076
  14. ↑ Lojek, Bo (2007). History of Semiconductor Engineering. Berlin, Heidelberg: Springer-Verlag Berlin Heidelberg. p. 321. ISBN 978-3-540-34258-8
  15. 1 2 3 «1970: Semiconductors compete with magnetic cores». Computer History Museum. Consultado em 19 de junho de 2019
  16. ↑ Solid State Design - Vol. 6. [S.l.]: Horizon house. 1965
  17. 1 2 «Late 1960s: Beginnings of MOS memory» (PDF). Semiconductor History Museum of Japan. 23 de janeiro de 2019. Consultado em 27 de junho de 2019
  18. ↑ «Spec Sheet for Toshiba "TOSCAL" BC-1411». Old Calculator Web Museum. Consultado em 8 de maio de 2018. Cópia arquivada em 3 de julho de 2017
  19. ↑ «Toshiba "Toscal" BC-1411 Desktop Calculator». Cópia arquivada em 20 de maio de 2007
  20. ↑ «DRAM». IBM100. IBM. 9 de agosto de 2017. Consultado em 20 de setembro de 2019
  21. ↑ «Robert Dennard». Encyclopædia Britannica. Consultado em 8 de julho de 2019
  22. ↑ Kent, Allen; Williams, James G. (6 de janeiro de 1992). Encyclopedia of Microcomputers: volume 9 - Icon Programming Language to Knowledge-based Systems: APL Techniques. [S.l.]: CRC Press. 131 páginas. ISBN 9780824727086
  23. ↑ «1963: Complementary MOS Circuit Configuration is Invented». Computer History Museum. Consultado em 6 de julho de 2019
  24. 1 2 «1978: Double-well fast CMOS SRAM (Hitachi)» (PDF). Semiconductor History Museum of Japan. Consultado em 5 de julho de 2019. Cópia arquivada (PDF) em 5 de julho de 2019
  25. 1 2 3 «Memory». Semiconductor Technology Online (STOL). Consultado em 25 de junho de 2019
  26. ↑ «1980s: DRAM capacity increases, the shift to CMOS advances, and Japan dominates the market» (PDF). Semiconductor History Museum of Japan. Consultado em 19 de julho de 2019
  27. ↑ Kahng, D.; Sze, S.M. (1967). «A floating-gate and its application to memory devices». The Bell System Technical Journal. 46 (6): 1288–95. Bibcode:1967BSTJ...46.1288K. doi:10.1002/j.1538-7305.1967.tb01738.x
  28. ↑ «1971: Reusable semiconductor ROM introduced». Computer History Museum. Consultado em 19 de junho de 2019
  29. 1 2 3 Bez, R.; Pirovano, A. (2019). Advances in Non-volatile Memory and Storage Technology. [S.l.]: Woodhead Publishing. ISBN 9780081025857
  30. ↑ Fulford, Benjamin (24 de junho de 2002). «Unsung hero». Forbes. Consultado em 18 de março de 2008. Cópia arquivada em 3 de março de 2008
  31. ↑ US 4531203
  32. ↑ «Toshiba: Inventor of Flash Memory». Toshiba. Consultado em 20 de junho de 2019. Cópia arquivada em 20 de junho de 2019
  33. ↑ Masuoka, F.; Momodomi, M.; Iwata, Y.; Shirota, R. (1987). «New ultra high density EPROM and flash EEPROM with NAND structure cell». Electron Devices Meeting, 1987 International. IEDM 1987. IEEE. doi:10.1109/IEDM.1987.191485
  34. ↑ «Toshiba announces new "3D" NAND flash technology». Engadget. 12 de junho de 2007. Consultado em 10 de julho de 2019
  35. ↑ «Samsung introduces world's first 3D V-NAND based SSD for enterprise applications». Samsung semiconductor global website. Cópia arquivada em 15 de abril de 2021
  36. ↑ Clarke, Peter (2013). «Samsung Confirms 24 Layers in 3D NAND». EE Times
  37. ↑ Jacob, Bruce; Ng, Spencer; Wang, David (28 de julho de 2010). Memory Systems: Cache, DRAM, Disk. [S.l.]: Morgan Kaufmann. 355 páginas. ISBN 9780080553849
  38. 1 2 Siddiqi, Muzaffer A. (19 de dezembro de 2012). Dynamic RAM: Technology Advancements. [S.l.]: CRC Press. 10 páginas. ISBN 9781439893739
  39. 1 2 3 4 Li, Hai; Chen, Yiran (19 de abril de 2016). Nonvolatile Memory Design: Magnetic, Resistive, and Phase Change. [S.l.]: CRC Press. pp. 6, 7. ISBN 9781439807460