BRPI0708304A2 - método e equipamento de teste de arranjo de memória multiporta em velocidade - Google Patents

método e equipamento de teste de arranjo de memória multiporta em velocidade Download PDF

Info

Publication number
BRPI0708304A2
BRPI0708304A2 BRPI0708304-1A BRPI0708304A BRPI0708304A2 BR PI0708304 A2 BRPI0708304 A2 BR PI0708304A2 BR PI0708304 A BRPI0708304 A BR PI0708304A BR PI0708304 A2 BRPI0708304 A2 BR PI0708304A2
Authority
BR
Brazil
Prior art keywords
data
array
read
ports
patterns
Prior art date
Application number
BRPI0708304-1A
Other languages
English (en)
Inventor
Anand Krishnamurthy
Clint Wayne Mumford
Lakshmikant Mamileti
Sanjay B Patel
Original Assignee
Qualcomm Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Publication of BRPI0708304A2 publication Critical patent/BRPI0708304A2/pt

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/18Address generation devices; Devices for accessing memories, e.g. details of addressing circuits
    • G11C29/30Accessing single arrays
    • G11C29/34Accessing multiple bits simultaneously
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1075Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers for multiport memories each having random access ports and serial ports, e.g. video RAM
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/18Address generation devices; Devices for accessing memories, e.g. details of addressing circuits
    • G11C29/26Accessing multiple arrays
    • G11C2029/2602Concurrent test
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/16Multiple access memory array, e.g. addressing one storage element via at least two independent addressing line groups

Landscapes

  • Engineering & Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Multimedia (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Tests Of Electronic Circuits (AREA)
  • Static Random-Access Memory (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)

Abstract

MéTODO E EQUIPAMENTO DE TESTE DE ARRANJO DE MEMóRIA MULTIPORTA EM VELOCIDADE Um arranjo de memória multiporta é testado através de gravação simultânea de dados no arranjo através de duas ou mais portas de gravação e/ou por leitura simultânea de dados do arranjo através de duas ou mais portas de leitura na freqUência de operação do processador. A comparação dos dados lidos a partir do arranjo com aqueles gravados no arranjo pode ser efetuada em paralelo ou seqúencialmente. Circuitos comparadores são efetivamente desabilitados durante as operações normais do processador. Pela gravação e/ou leitura simultâneas dos dados através de múltiplas portas podem ser expostas as marginalidades elétricas latentes. Além disso, a gravação de padrões de teste utilizando-se múltiplas portas de gravação e a leitura dos padrões usando-se múltiplas portas de leitura reduzem significativamente o tempo de teste durante os testes de fabricaçâo de semicondutores.

Description

"MÉTODO E EQUIPAMENTO DE TESTE DE ARRANJO DE MEMÓRIAMULTIPORTA EM VELOCIDADE"
Campo
A presente invenção está de um modo geralrelacionada ao campo de processadores e em particular a ummétodo para testar arranjos de memória multiporta nafreqüência de operação.
Fundamentos
Os microprocessadores efetuam operações decomputação em uma ampla variedade de aplicações. Umprocessador pode servir como uma unidade central ouprincipal de processamento em um sistema de computaçãoestacionário, tal como um servidor ou computador de mesa.Uma elevada velocidade de processamento constitui umaconsideração principal para tais processadores desktop.Além disso, os processadores são cada vez maisimplementados em computadores móveis, tais como laptops eassistentes de dados pessoais (PDAs), bem como emaplicações embutidas, tais como em telefones móveis,receptores do Sistema de Posicionamento Global (GPS),clientes/dispositivos de e-mail portáteis e similares. Emtais aplicações móveis, além de elevada velocidade deprocessamento, são desejáveis baixo consumo de energia e umpequeno porte.
Vários programas são desenvolvidos como se ocomputador que os executa possuísse uma quantidade muitogrande (idealmente ilimitada) de memória rápida. Comumenteos processadores modernos simulam tal condição ideal dememória rápida.ilimitada pelo emprego de uma hierarquia detipos de memória, cada um possuindo diferentescaracterísticas de velocidade e custo. Os tipos de memór-ana hierarquia variam entre muito rápidos e muito caros notopo, e tipos de armazenamento progressivamente maislentos, porém mais econômicos, nos níveis inferio.res. Umahierarquia comum de memória de processador pode incluirregistradores (portas) no processador no nivel superior,apoiados por um ou mais caches no chip constituídos por umamemória de acesso aleatório estática (SRAM), possivelmenteum cache fora' do chip (SRAM), uma memória principal dememória de acesso aleatório dinâmico (DRAM), ilmarmazenamento em disco (mídia magnética com acesso eletro-mecânico), e uma fita ou disco compacto (CD) (mídiamagnética ou óptica) no nível mais baixo. A maioria dosdispositivos eletrônicos portáteis possui armazenamento emdisco limitado, caso o tenham, e, portanto a memóriaprincipal, amiúde limitada em tamanho, constitui o nívèlmais baixo na hierarquia de memória.
Os registradores no chip de alta velocidadeconstituem o nível de topo de uma hierarquia de memória deprocessador. Registradores e/ou latches individuais sãousados como elementos de armazenamento no encadeamento deexecução de instruções. A maioria das estruturas deconjunto de instruções RISC inclui um conjunto deregistradores de propósito geral (GPR) para uso peloprocessador para armazenamento de uma ampla variedade dedados, tais como códigos de operação de instruções,endereços, offsets, operadores para os resultadosintermediários e finais de operações aritméticas e lógicase similares.
Em alguns processadores, os GPR lógicoscorrespondem a elementos de armazenamento físicos. Emoutros processadores, o desempenho é melhorado poratribuição dinâmica de cada identificador GPR lógico paraum dentre um gr;ande conjunto de locais de armazenamento, ouregistradores físicos (o que é comumente conhecido pelostécnicos na área como renomeação de registradores). Emqualquer dos casos, os elementos de armazenamento acessadospor identificadores GPR lógicos podem ser implementados nãocomo registradores individuais, mas sim na forma de locaisde armazenamento no interior de um arranjo de memória. Osregistradores ou elementos de armazenamento de arranjo dememória implementando os GPR lógicos possuem múltiplasportas. Isto é, eles podem ser gravados, e/ou seu conteúdolido, por diferentes elementos processadores, tais comovários estágios de encadeamento, ALUs, memória cache, qusimilares.
Os testes constituem uma parte importante daprodução de Cl, para identificar e eliminar componentesdefeituosos ou abaixo do padrão. 0 teste de arranjos tiememória é particularmente problemático. Uma metodologia deGeração de Padrão de Teste Automática (ATPG) compreendevarrer um padrão de excitação em um conjunto deregistradores ou latches em corrente por varredura, aplicaro padrão para exercer uma lógica aleatória, capturar osresultados em outro conjunto de registradores ou latches emcorrente por varredura e escanear os resultados capturadospara comparação com valores esperados. Os arranjos dememória não podem ser eficientemente testados usando-setécnicas de ATPG devido ao armazenamento intermediário depadrões de teste no arranjo.
Os arranjos de memória em um processador podemser testados por testes funcionais, em que um código éexecutado no encadeamento de processador para gravarpadrões de teste no arranjo (por exemplo, em GPR lógicos),seguindo-se leiüura dos valores e comparação com valoreiesperados. 0 teste funcional é demorado e ineficiente, poiso processador deve ser inicializado e o código de testecarregado para o cache antes da execução dos testes.Adicionalmente, o ponto de observação e controle - dentrodo encadeamento - está muito afastado dos locais de memóriasendo testados, podendo ser difícil isolar falhas nãodescobertas provenientes dos circuitos intervenientes.
Assim sendo, vários processadores da técnicaanterior com arranjos de memória embutidos incluem umcircuito de autoteste integrado (BIST) que exercita oarranjo de memória durante um modo de teste. Um controladorBIST grava padrões de dados no arranjo de memória, lê ospadrões de dados e compara os dados lidos com dadosesperados. No modo funcional, o controlador BIST estáinativo e o arranjo de memória é controlado pelos circuitósde controle do processador. Os sistemas BIST da técnicaanterior incluem uma porta de teste dedicada no arranjo dememória para gravação e/ou leitura do arranjo durante ostestes. Isto impõe um limite inferior sobre a duração doteste por restrição da largura de banda de acesso àmemória, deixa de testar os circuitos 1/0 da memória,incluindo as portas de gravação e leitura funcionais, ^epode deixar de revelar marginalidades elétricas que somentesão expostas quando duas ou mais portas acessam o arranjosimultaneamente.
SUMÁRIO
De acordo com uma ou mais modalidades, um arranjode memória multiporta é testado por um controlador BIST pormeio de gravação simultânea de dados no arranjo através deduas ou mais portas de gravação e/ou leitura simultânea dedados a partir -do arranjo através de duas ou mais portas deleitura, na freqüência de operação, do processador. Acomparação dos dados lidos a partir do arranjo com aquelesgravados no arranjo pode ser efetuada seqüencialmente ou emparalelo. Circuitos comparadores = sendo efetivamentedesabilitados durante as operações normais do processador.Pela gravação e/ou leitura simultâneas de dados através demúltiplas portas, as marginalidades: elétricas latentespodem ser expostas, sendo reduzido o tempo de teste, emcomparação às metodologias de teste da. técnica anterior.
Uma modalidade está relacionada a um método paratestar um arranjo de memória, possuindo uma pluralidade deportas de gravação, em um processadorGravar um primeiropadrão de dadoá em um primeiro endereço no arranjo atravésde uma primeira porta de gravação. Gravar simultaneamenteum segundo padrão de dados em um segundo endereço noarranjo através de uma segunda porta de gravação. Ler osprimeiro e segundo padrões de dados a partir do arranjo.Comparar os primeiro e segundo padrões de dados lidos (apartir do arranjo com os primeiro e segundo padrões dedados gravados no arranjo, respectivamente.
Outra modalidade está relacionada a um métodopara testar um arranjo de memória, possuindo umapluralidade de portas de gravação, em um processador.Gravar um primeiro padrão de dados em um primeiro endereçono arranjo. Gravar um segundo padrão de dados em um segundoendereço no arranjo. Ler o primeiro padrão de dados apartir do arranjo através de uma primeira porta de leitura.Simultaneamente ler o segundo padrão de dados a partir doarranjo através de uma segunda porta de leitura. Compararos primeiro e segundo padrões de dados lidos a partir doarranjo com os primeiro e segundo padrões de dados gravadosno arranjo, respectivamente.
Mais: outra modalidade está relacionada a ummétodo para testar um arranjo de memória em um processador.Gravar um ou mais padrões de dados no arranjo.Simultaneamente ler os padrões de dados a partir do arran-joatravés de duas ou mais portas de leitura, desse modoexpondo marginalidades elétricas no arranjo e/ou nas portasde leitura não expostas por leitura de dados através de uma.porta de cada vez.
Mais outra modalidade está relacionada a umprocessador. O. processador inclui um .arranjo de memóriapossuindo pelo menos uma porta de gravação e umaPluralidade de portas de leitura de latch; um primeirocomparador de dados possuindo entradas de dados de leiturae dados de comparação e emitindo uma indicação sobre se osdados lidos estão de acordo com padrão de dados decomparação; e um primeiro seletor que orienta seletivamentedados provenientes de duas ou mais primeiras portas deleitura para a entrada de dados de leitura do primeirocomparador. O processador adicionalmente inclui umcontrolador BIST que controla a porta de gravação, asprimeiras portas de leitura e o primeiro seletor, e provêdados de gravação para a porta de gravação e dados decomparação para a entrada de dados de comparação cjoprimeiro comparador, e recebe a saida do primeirocomparador. O controlador BIST operando para gravar um oumais padrões de dados predeterminados no arranjo através daporta de gravação; simultaneamente ler os dados gravadtsprovenientes do arranjo através de duas ou mais primeirasportas de leitura; e controlar seqüencialmente o primeiroseletor para orientar dados provenientes de cada primeiraporta de Ieitufa para o primeiro comparador, prover dadosde comparação correspondentes para o primeiro comparador everificar o arranjo por inspeção da saida do primeiro comparador.
BREVE DESCRIÇÃO DOS DESENHOS
A Figura 1 é um diagrama de blocos funcional deum processador.
A Figura 2 é um diagrama de blocos funcional deum arranjo de memória implementando um arquivo deregistrador muitiporta e um circuito BIST.
A Figura 3 é um fluxograma de um método de BISTpara um arranjo de memória por gravação simultânea depadrões de toste através de duas ou mais portas degravação.
A Figura 4 é um fluxograma de um método de BISTpara um arranjo de memória por leitura simultânea depadrões de teste-através de duas ou mais portas de leitura.
DESCRIÇÃO DETALHADA
A Figura 1 apresenta um diagrama de blocosfuncional de um processador 10. O processador 10 executainstruções em um encadeamento de execução de instruções 12de acordo com a lógica de controle 14. 0 encadeamento 12pode ser um esquema superescalar, com múltiplosencadeamentos em paralelo, tais como 12a e 12b. Osencadeamentos 12a e 12b incluem vários registradores oulatches 16, organizados em estágios de linha, e uma ou maisunidades lógicas aritméticas (ALU) 18. Um arranjo qlememória 20 provê uma pluralidade de locais de armazenamentoque são mapeados para Registradores Lógicos de Uso Geral(GPRs).
Os encadeamentos 12a e 12b buscam instruções apartir de um Cache de Instruções (I-Cache) 22, com oendereçamento de memória e permissões gerenciados por umbuffer de previsão de tradução de instrução lateral (ITLB)24. Os dados são acessados a partir de um cache de dados(d-cache) 26, com o endereçamento de memória e permissõesgerenciados por um buffer de previsão de tradução (TLB)principal 28. Em várias modalidades, o ITLB podecompreender uma cópia de parte do TLB. Alternativamente, oITLB e o TLB podem estar integrados. De forma similar, emvárias modalidades do processador 10, o i-cache 22 e o d~cache 26 podem estar integrados, ou unificados. Perdas noi-cache 22 e/ou no d-cache 26 causam um acesso à memóriaprincipal (fora do chip) 32, sob o controle de umainterface de memória 30. 0 processador 10 pode incluir umainterface de entrada/saida (1/0) 34 que controla o acesso avários dispositivos periféricos 36. Os técnicos na áreanotarão que são possiveis diversas variações do processador10. Como exemplo, o processador.10 pode incluir um cache desegundo nivel (L2) para ambos ou um dos caches IeD. Alémdisso, um ou mais dos blocos funcionais representados noprocessador IQ podem ser omitidos .em uma modalidadeparticular.
A Figura 2 apresenta arranjo de memória 20 commultiporta implementando um conjunto : de GPR lógicos e umcontrolador BIST (Circuito de Autoteste Integrado) 40. 0arranjo de memória 20 está organizado em forma de 128 bitspor 16, apesar de a metodologia e equipamento de teste aquidescritos poderem ser aplicados a qualquer configuração dememória multiporta. Cada local de 128 bits no arranjo dememória 20 é uma palavra legível e o arranjo 20 está lógipae fisicamente segmentado nas fronteiras das palavras (32bits). Um circuito compartilhado de pré-cargadistribuição está posicionado no centro do arranjomemória 20.
O arranjo de memória 20 particular apresentado naFigura 2 inclui três portas de gravação 42 e cinco portasde leitura 44, com três portas de leitura 44 dispostas aolongo de um lado do arranjo de memória 20 e duas portas deleitura 44 disposta no outro lado. Tal configuração émeramente representativa. As três portas de leitura 44,marcadas por A, B e C, estão conectadas a um circuitoseletor 46, tal como um multiplexador. O controlador BISTcontrola o seletor 46 através de um sinal de controle 56para orientar dados lidos a partir do arranjo de memória 20por uma das portas de leitura 44 A, B, ou C, para a pontade dados de um comparador 48. O controlador BIST provêtambém padrões de dados para a entrada de comparação docomparador 48, ao longo da linha de sinal 58. Os dadoslidos pelas portas de leitura 44 D e E, são orientadossimilarmente através do seletor 50, de um segundocomparador 52, pelo comprimento do : controlador BIST 40controlando o seletor 50 e provendo dados de comparaçãopara o comparador 52. As saídas dos comparadores 48 e 52são orientadas. para o controlador BIST 40 ao longo daslinhas de sinal 60.
No modo de teste, o controlador BIST 40 grava umpadrão de dados de fundo no arranjo de memória 20 atravésdas portas 42 A, B e/ou C. O controlador BIST 40 a segu" rgrava padrões de dados de teste para um ou mais locais dearmazenamento do arranjo de memória 20 através das portasde gravação 42 A, B e/ou C. Pelo menos em alguns testes, ocontrolador BIST 40 grava padrões de dados de teste atravésde todas as três portas de gravação 40 simultaneamente,para expor marginalidades elétricas no arranjo de memória20 que podem não ser observáveis quando da gravação dedados através de apenas uma porta de gravação 42 de cadavez.
O controlador BIST 40 a seguir lê os padrões dedados de teste a partir do arranjo de memória 20simultaneamente através de pelo menos duas portas cieleitura 44. Para carregar ao máximo o arranjo de memória 20e expor quaisquer marginalidades elétricas latentes, etambém para minimizar o tempo de teste, o controlador BIST40 lê dados simultaneamente através de todas as portas deleitura 44 disponíveis (isto é, todas as cinco portas deleitura 4 4 na modalidade apresentada na Figura 2). Ocontrolador BIST 40 a seguir orienta seqüencialmente dadosprovenientes de cada porta de leitura 4 4 para um comparador48, 52, fornecendo simultaneamente ao comparador 48, 52, ocorrespondente padrão de dados esperado, e inspeciona asalda do comparador 48, 52, para verificar se o padrão dedados apropriado foi lido a partir do arranjo de memória20. Devido ao fato de que o controlador BIST 40 reside nocomponente processador 10, todos os testes são efetuados"em curso", "isto é, na freqüência de operação doprocessador 10.
Na modalidade apresentada na Figura 2, em umteste, o contrglador BIST 40 exercita' ao máximo o arranjode memória 20' e minimiza o tempo de teste por lersimultaneamente os padrões de teste através de todas ascinco portas cie leitura 44. Os dados provenientes dasportas de leitura 4 4A e D são a seguir simultaneamenteorientados para seus respectivos comparadores 4 8 e 52, ospadrões de comparação apropriados são fornecidos e assaídas do comparador verificadas. No ciclo a seguir, dadosprovenientes das portas de leitura 44B e 44E sãoverificados simultaneamente. Finalmente, os dadosprovenientes da porta de leitura 44C são verificados nocomparador 48. A leitura simultânea de dados provenientesdo arranjo dei memória 20 por todas as cinco portas deleitura 44 exercita o arranjo de memória 20 para expormarginalidades elétricas latentes. A utilização doscomparadores 48, 52, para verificar simultaneamente osdados lidos provenientes das portas de leitura 44 minimizao tempo de teste. :
Os técnicos na área notarão prontamente que onúmero de comparadores 48, 52, pode ser elevado parareduzir ainda mais o tempo de teste efetuando ascomparações de dados em paralelo. 0 tempo de teste pode serminimizado prcvendo-se um comparador 48, 52, para cadaporta de leitura 4 4 (eliminando a necessidade de um seletor46, 50) . No entanto, isto aumenta a área de silício e podeintroduzir um congestionamento de fios, para circuitos deteste que não estão ativos durante a operação normal doprocessador. No outro extremo, um único comparador 48, 50pode ser usado, com os dados provenientes de todasportas de leitura 44 a ele orientados através de um únicoseletor 46, 50. Isto minimiza os circuitos de teste, poremefetiva um limite inferior sobre a duração de teste, umavez que cada palavra no arranjo de memória 20 pode ser maiscompleta e realmente testada do que é possível com astécnicas de teste da técnica anterior, por leiturasimultânea de dados através de duas ou mais (e até todas asdisponíveis) portas de leitura 44.
0 equipamento e a metodologia de teste aquidescritos permite também um diagnóstico mais detalhado doque os sistemas da técnica anterior, muitos dos quais ficamlimitados a um teste de funcionalidade ,mínima (isto é, umadecisão "passa- não passa"). 0 controlador BIST 40 podeminimizar o tempo de teste por gravar simultaneamentepadrões de dados de teste em três locais de armazenamentodiferentes através das três portas de gravação 42, e lersimultaneamente dados provenientes de cinco locais dearmazenamento diferentes através das cinco portas deleitura. Alternativamente, o controlador BIST 40 podeexercitar locais de armazenamento individuais (e seüscircuitos I/O associados) ao gravar dados para, e/ou lerdados de, um único local de armazenamento utilizando todasas respectivas portas disponíveis.
A metodologia de teste pode ser totalmenteaplicada a qualquer arranjo de memória possuindo duas oumais portas de gravação 42 e/ou duas ou mais portas deleitura 44. A Figura 3 apresenta um método de BIST para umarranjo de memória possuindo pelo menos duas portas degravação 42, independentemente do número de portas deleitura 44 ou comparadores 48, 52. Um padrão de fundo égravado em pelo menos um primeiro e um segundo endereços noarranjo de memória 20 através de uma ou mais portas degravação (no bloco 60). Um primeiro padrão de dados égravado em um primeiro endereço no arranjo 20 através deuma primeira porta de gravação 42 (no bloco 62).Simultaneamente, um segundo padrão de dados é gravado em umsegundo endereço no arranjo 20 através de uma segunda portade gravação 42 (no bloco 64). Os primeiro e segundo padrõesde dados podem ser iguais, ou podem ser diferentes. Deforma similar, os primeiro e segunde endereços podem serlocais adjacentes da memória ou podem estar afastados entresi. Os primeiro e segundo padrões de. dados são lidos apartir do arranjo 20 (no bloco 66). Caso estejamdisponíveis múltiplas portas de leitura 44, as operações deleitura dos dados podem ser efetuadas simultaneamente.Alternativamente, as operações de leitura podem serefetuadas seqüencialmente, usando-se uma única porta deleitura 44. Cada um dos primeiro e segundo padrões de dadoslidos a partir do arranjo 20 é comparado com o respectivopadrão de dados gravado no arranjo 20 (no bloco 68). Casoos padrões de dados estejam de acordo (no bloco 70), masnem todos os endereços tenham sido testados (no bloco 71),os endereços são alterados (no bloco 72) e os testesprosseguem. Caso os padrões de dados estejam de acordo (riobloco 70) e todos os endereços tenham sido testados (nobloco 71), o BIST está finalizado (no bloco 73). Caso ospadrões de dados não estejam de acordo (no bloco 70), -ésinalizado um erro (no bloco 74), o qual pode indicartestes adicionais, ou que o arranjo de memória 20 e/ou asportas de gravação em questão estão com defeito.
A Figura 4 apresenta um método de BIST para umarranjo de memória possuindo pelo menos duas portas deleitura 4 4 independentemente do número de portas degravação 42 ou comparadores 48, 52. Um padrão de fundo é depreferência gravado em pelo menos ; primeiro e segundoendereços no arranjo de memória 2C (no bloco 80). Umprimeiro padrão de dados é gravado em um primeiro endereçono arranjo 20 (no bloco 82) e um segundo padrão de dados égravado em um segundo endereço no arranjo 20 (no bloco 84),Caso estejam disponíveis múltiplas portas de gravação 42,-os primeiro e segundo padrões de dados podem ser gravadossimultaneamente. Caso contrário, ele5 podem ser gravadosseqüencialmente através de uma única porta de gravação 42.Os primeiro e segundo padrões de dados podem ser iguais oudiferentes, e os primeiro e segundo endereços podem seradjacentes ou afastados. 0 primeiro padrão de dados é lidoa partir do arranjo 20 através de uma primeira porta deleitura 44 (no bloco 86). Simultaneamente, o segundo padrãode dados é lido a partir do arranjo 20 através de umasegunda porta :de leitura 44 (no bloco 88). Cada um dosprimeiro e segundo padrões de dadcs lido a partir doarranjo 20 é comparado ao respectivo padrão de dadosgravado no arranjo 20 (no bloco 90) caso sejam providosmais de um comparador, as comparações podem ser efetuadasem paralelo. Alternativamente, elas podem ser efetuadasseqüencialmente. Caso os padrões de dados estejam de acordo(no bloco 92), mas nem todos os endereços tenham sidotestados (no bloco 93), os endereços são alterados (nobloco 94) e os testes prosseguem. Caso os padrões de dadosestejam de acordo (no bloco 92) e todos os endereços tenhàmsido testados (no bloco 93), o BIST está finalizado (nobloco 95). Caso os padrões de dados não estejam de acordo(no bloco 92), é sinalizado um erro (no bloco 96).
Fazendo novamente referência à Figura 2, oscircuitos comparadores 48, 52, compreendem portas lógicasestáticas. Isto é, o comparador 48, 52, irá compararquaisquer padrões de dados apresentado em sua entrada dedados com os dados presentes em sua entrada de comparação,e irá gerar um sinal indicativo de se os padrões de dadosestão de acordo. Durante a operação normal do processador(isto é, não no modo de teste), os dados emitidos pelasportas de leitura 44 irão mudar constantemente. Caso pelomenos uma porta de leitura 4 4 esteja conectada à entrada dedados de um comparador 48, 52, por um seletor 46, 50,portas lógicas no interior do comparador 48, 52, estarãoconstantemente em comutação, consumindo energia, gerandocalor e contribuindo para o ruido elétrico nos barramentosde energia e aterramento.
Assim sendo, os circuitos comparadores 48, 50,são efetivamente desabilitados durante as operaçõelnormais, para assegurar que um padrão de dados constanteseja apresentado na entrada de dados do comparador 48, 52.Uma entrada de cada seletor 46, 50, é ligada a um padrão dedados constante, tal como um terra (tal como mostrado naFigura 2), apesar de qualquer padrão de dados poder serutilizado. Quando da reinicialização do sistema (ou emresposta a qualquer outro indicador de que o processadorestá no modo de operação normal), o controlador BIST 40ordena ao selecionador 46, 50, que selecione o padrão dedados fixo. Isto apresenta um padrão de dados estático àentrada de dados dos comparadores 48, 52. O controladorBIST 4 0 pode opcionalmente apresentar um padrão de dadosestático correspondente à entrada de comparação doscomparadores 48, 52. Enquanto a saida do comparador 48, 52,indicar uma concordância ou uma discordância entre osdados, dado que as entradas são estáticas, as portas Jiointerior do comparador 48, 52, não irão comutar além dacomparação inicial de um ciclo.
Várias marginalidades elétricas latentes podemser expostas pela gravação simultânea de padrões de dadosatravés de duas ou mais portas de gravação 42 e/ou porleitura simultânea de padrões de dados através de duas oumais portas de leitura 44. Os métodos de teste da técnicaanterior são completamente incapazes de expor taismarginalidades, quando da gravação simultânea de padrões dedados através de duas ou mais portas de gravação 42,múltiplos drivers de gravação operam simultaneamente. Istosobrecarrega a grade de energia, o que pode expormarginalidades. Além disso, o acoplamento de ruido entrelinhas de bits "silenciosos" e "em comutação" pode serexposto.
A leitura simultânea de padrões de dados atravésde duas ou mais portas de leitura 44 pode expormarginalidades da grade de energia por acionarem múltiplospré-carregador^s simultaneamente. De forma similar,múltiplas linhas de bits lidas : são descarregada!simultaneamente, o que pode também expor marginalidades dagrade de energia. As marginalidades da grade de energiapodem também ser expostas pelo acionamento simultâneo demúltiplas linhas de palavras locais e/OU globais. oacoplamento de ruído entre linhas de bits "silenciosos" e"em comutação" pode ser exposto pela descarga simultânea demúltiplas linhas de bits lidas. Além disso, múltiplassaídas de latch de dados lidos comutam simultaneamente,causando acoplamentos em longas redes não protegidas. Talruído causa um aumento do retardo, o qual pode expormarginalidades de ruído e/ou temporização.
Apesar de a presente invenção ter sido aquidescrita com referência a características, aspectos 'emodalidades específicos da mesma, ficará claro que diversasvariações, modificações e outras modalidades são possíveisdentro do amplo escopo da presente invenção. Assim sendo,todas as variações, modificações e modalidades devem serconsideradas como inseridas no escopo da invenção. Aspresentes modalidades devem, portanto ser consideradas emtodos os aspectos como ilustrativas e não restritivas, etodas as mudanças que se insiram no significado e gama deequivalência das reivindicações anexas devem estar aquienglobadas.

Claims (26)

1. Um método para testar um arranjo de memória,possuindo uma pluralidade de portas de gravação, em umprocessador, compreendendo:gravar um primeiro padrão de dados em um primeiroendereço no arranjo através de uma primeira porta degravação;gravar simultaneamente um segundo padrão de dadosem um segundo endereço no arranjo através de uma segundaporta de gravação;ler os primeiro e segundo padrões de dados apartir do arranjo; ecomparar os primeiro e segundo padrões de dadoslidos a partir do arranjo com os primeiro e segundo padrõesde dados gravados no arranjo, respectivamente.
2. 0 método, de acordo com a reivindicação 1,compreendendo adicionalmente gravar um padrão de dados dlfundo em pelo menos os primeiro e segundo endereços noarranjo antes de gravar os primeiro e segundo padrões dedados.
3. 0 método, de acordo com a reivindicação 1,em que os primeiro e segundo padrões de dados são osmesmos.
4. 0 método, de acordo com a reivindicação 1,em que os primeiro e segundo padrões de dados sãodiferentes.
5. 0 método, de acordo com a reivindicação i,em que os primeiro e segundo endereços são adjacentes.
6. G método, de acordo com a reivindicação 1,em que os primeiro e segundo endereços, não são adjacentes/
7. Q método, de acordo com a reivindicação 1,em que a gravação e leitura dos padrões de teste sãoefetuadas na freqüência de operação dei circuito integrado.
8. Um método para testar um arranjo de memória,possuindo uma pluralidade de portas de gravação, em umprocessador, compreendendo:gravar um primeiro padrão de dados em um primeiroendereço no arranjo;gravar um segundo padrão de dados em um segundoendereço no arranjo;ler o primeiro padrão de dados a partir doarranjo através de uma primeira porta de leitura;ler simultaneamente o segundo padrão de dados apartir do arranjo através de uma segunda porta de leitura;ecomparar os primeiro e segundo padrões de dadoslidos a partir do arranjo com os primeiro e segundo padrõesde dados gravados no arranjo, respectivamente.
9. 0 método, de acordo com a reivindicação 8,compreendendo adicionalmente gravar um padrão de dados defundo em pelo! menos os primeiro e segundo endereços noarranjo, antes de gravar os primeiro e segundo padrões dedados.
10. O método, de acordo com a reivindicação 8,em que os primeiro e segundo padrões de dados são olmesmos.
11. O método, de acordo com a reivindicação 8,em que os primeiro e segundo padrões de dados sãodiferentes.
12. O método, de acordo com a reivindicação 8,em que os primeiro e segundo endereços são os mesmos.
13. O método, de acordo com a reivindicação 8,em que os primeiro e segundo endereços são diferentes.
14. O método, de acordo com a reivindicação 8,em que a gravação e leitura de padrões de teste sãoefetuadas na freqüência de operação de processador.
15. O método, de acordo com a reivindicação 8,em que comparar os primeiro e segundo padrões de dadoslidos a partir do arranjo com os primeiro e segundo padrõesde dados gravados no arranjo compreende compararsimultaneamente os primeiro e segundo padrões de dadoslidos a partir do arranjo com os primeiro e segundo padrõesde dados gravados no arranjo.
16. 0 método, de acordo com a reivindicação 8,compreendendo adicionalmente:gravar um terceiro padrão de dados em um terceiroendereço no arranjo;ler o terceiro padrão de dados a partir doarranjo através de uma terceira porta de leiturasimultaneamente com a leitura dos primeiro e seguníopadrões de dados; ecomparar o terceiro padrão de dados lido a partirdo arranjo com o terceiro padrão de dados gravado noarranjo.
17. 0 método, de acordo com a reivindicação 16,em que comparar os padrões de dados compreende:comparar simultaneamente os primeiro e segundopadrões de dados lidos a partir do arranjo com os primeiroe segundo padrões de dados gravados no arranjo; ecomparar subseqüentemente o terceiro padrão dedados lido a partir do arranjo com o terceiro padrão dedados gravado no arranjo.
18. Um método para testar um arranjo de memóriaem um processador, compreendendo:gravar um ou mais padrões de dados no arranjo;ler simultaneamente os padrões de dados a partirdo arranjo através de duas ou mais portas de leitura, dessemodo expor marginalidades elétricas no arranjo e/ou nasportas de leitura não expostas lendo dados através de umaporta de cada vez.
19. 0 método, de acordo com a reivindicação 18,em que o gravar um ou mais padrões de dados predeterminadosno arranjo compreende gravar simultaneamente padrões dedados predeterminados no arranjo através de duas ou maisportas de gravação, desse modo expor marginalidadeselétricas no arranjo e/ou nas portas de leitura nãoexpostas lendo dados através de uma porta de cada vez.
20. O método, de acordo com a reivindicação 18,em que as gravações e leituras do arranjo são efetuadas nafreqüência de operação de processador.
21. Um processador, compreendendo:um arranjo de memória possuindo pelo menos Jnaporta de gravação e uma pluralidade de portas de leitura delatch;um primeiro comparador de dados possuindoentradas de dados de leitura e dados de comparação eemitindo uma indicação sobre se os dados lidos estão deacordo com o padrão de dados de comparação;um primeiro seletor que orienta seletivamentedados a partir de duas ou mais primeiras portas de leiturapara a entrada de dados de leitura de primeiro comparador;eum controlador de autoteste integrado (BIST) quecontrola a porta de gravação, as primeiras portas deleitura, e o primeiro seletor, e prove dados de gravaçãopara a porta de gravação e dados de comparação para aentrada de dados de comparação de primeiro comparador, erecebe a saída do primeiro comparador, o controlador BISToperativo para:gravar um ou mais padrões de dadospredeterminados no arranjo através da porta degravação;ler simultaneamente os dados gravados apartir do arranjo através de duas ou masprimeiras portas de leitura; econtrolar seqüencialmente o primeiro seletorpara orientar dados partir de·;, cada primeira portade leitura para o primeiro comparador, proverdados de comparação correspondentes ao primeirocomparador, e verificar o arranjo inspecionando asaída do primeiro comparador.
22. O processador, de acordo com a reivindicação-21, em que o controlador BIST é operativo para gravarpadrões de dados em diferentes endereços no arranjo, e lersimultaneamente os dados gravados a partir dos diferentesendereços através de duas ou mais primeiras portas deleitura.
23. O processador, de acordo com a reivindicação-21, em que o controlador BIST é operativo para gravar umpadrão de dados em um endereço no arranjo, e lersimultaneamente os dados gravados a partir de tal endereçoatravés de duas ou mais primeiras portas de leitura.
24. O processador, de acordo com a reivindicação-21, em que o controlador BIST grava e lê o arranjo dememória na freqüência de operação de processador.
25. O processador, de acordo com a reivindicação-21, em que o primeiro seletor adicionalmente orientaseletivamente um padrão de dados fixo para a entrada dedados de leitura de primeiro comparador, em que ocontrolador BIST recebe uma reinicialização de sistema, eem que o controlador BIST é operativo adicionalmente paracontrolar o primeiro seletor para orientar o padrão dedados fixo para o primeiro comparador após umareinicialização:
26. O processador, de acordo com a reivindicação-21, compreendendo adicionalmente:um segundo comparador de dados possuindo entradasde dados de leitura e dados de comparação, e emitindo umaindicação sobre se os dados de leitura estão de acordo como padrão de dados de comparação;um segundo seletor que orienta seletivamentedados a partir de duas ou mais segundas portas de leiturapara a entrada de dados de leitura do segundo comparador; eem que o controlador BIST controla adicionalmenteas segundas portas de leitura e o segundo seletor, provêdados de comparação para a entrada de dados de comparaçãodo segundo comparador, e recebe a saida do segundocomparador, o controlador BIST é operativo adicionalmentepara:gravar um ou mais padrões de dadqspredeterminados no arranjo através da porta degravação;ler simultaneamente os dados gravados apartir do arranjo através de duas ou maisprimeiras portas de leitura e duas ou maissegundas portas de leitura; econtrolar seqüencialmente os primeiro esegundo seletores em paralelo para orientar dadospartir de cada respectiva primeira e segundaporta de leitura para o respectivo comparador,prover dados de comparação correspondentes para orespectivo comparador, e verificar o arranjoinspecionando as saídas dos primeiro e segundocomparadores.
BRPI0708304-1A 2006-03-01 2007-03-01 método e equipamento de teste de arranjo de memória multiporta em velocidade BRPI0708304A2 (pt)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/365,648 US20070208968A1 (en) 2006-03-01 2006-03-01 At-speed multi-port memory array test method and apparatus
US11/365,648 2006-03-01
PCT/US2007/063097 WO2007103745A2 (en) 2006-03-01 2007-03-01 At-speed multi-port memory array test method and apparatus

Publications (1)

Publication Number Publication Date
BRPI0708304A2 true BRPI0708304A2 (pt) 2011-05-24

Family

ID=38440243

Family Applications (1)

Application Number Title Priority Date Filing Date
BRPI0708304-1A BRPI0708304A2 (pt) 2006-03-01 2007-03-01 método e equipamento de teste de arranjo de memória multiporta em velocidade

Country Status (11)

Country Link
US (1) US20070208968A1 (pt)
EP (1) EP1989713A2 (pt)
JP (1) JP5059789B2 (pt)
KR (1) KR101019276B1 (pt)
CN (2) CN102789816A (pt)
BR (1) BRPI0708304A2 (pt)
CA (1) CA2641354A1 (pt)
MX (1) MX2008011173A (pt)
RU (1) RU2408093C2 (pt)
TW (1) TWI342565B (pt)
WO (1) WO2007103745A2 (pt)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7447956B2 (en) * 2006-03-03 2008-11-04 Qualcomm Incorporated Method and apparatus for testing data steering logic for data storage having independently addressable subunits
JP4820795B2 (ja) * 2007-10-04 2011-11-24 パナソニック株式会社 半導体記憶装置
CN102903392B (zh) * 2011-07-25 2015-06-03 中国科学院微电子研究所 存储单元测试电路及其测试方法
JP5982781B2 (ja) 2011-10-28 2016-08-31 富士通株式会社 集積回路,試験回路,試験装置,及び試験方法
TWI493560B (zh) * 2011-11-09 2015-07-21 Au Optronics Corp 自測試驅動電路
US9146696B2 (en) 2011-12-31 2015-09-29 Institute Of Automation, Chinese Academy Of Sciences Multi-granularity parallel storage system and storage
US8930783B2 (en) * 2012-12-10 2015-01-06 Texas Instruments Incorporated pBIST read only memory image compression
CN103943152B (zh) * 2014-03-31 2017-02-01 西安紫光国芯半导体有限公司 存储器的快速内建自测试系统及方法
KR20180016680A (ko) * 2016-08-04 2018-02-19 삼성전자주식회사 저장 장치, 그것을 테스트 하는 테스트 시스템 및 방법
US10438678B2 (en) * 2017-04-04 2019-10-08 Globalfoundries Inc. Zero test time memory using background built-in self-test
CN108335721B (zh) * 2018-03-14 2021-04-20 烽火通信科技股份有限公司 一种实时检测随机存取存储器地址线故障的方法及系统
KR102553267B1 (ko) 2018-05-17 2023-07-07 삼성전자 주식회사 멀티-채널 패키지, 및 그 패키지를 테스트하는 테스트 장치 및 테스트 방법
US10790039B1 (en) * 2019-09-26 2020-09-29 Micron Technology, Inc. Semiconductor device having a test circuit
CN112420114B (zh) * 2020-11-04 2023-07-18 深圳市宏旺微电子有限公司 一种存储芯片的故障检测方法及装置
RU2754960C1 (ru) * 2020-12-18 2021-09-08 Акционерное Общество "Крафтвэй Корпорэйшн Плс" Способ измерения скоростных характеристик запоминающего устройства

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4103190A (en) * 1977-03-25 1978-07-25 Motorola, Inc. Complementary power saving comparator/inverter circuits
US5226142A (en) * 1990-11-21 1993-07-06 Ross Technology, Inc. High performance register file with overlapping windows
US5289427A (en) * 1992-07-20 1994-02-22 Motorola, Inc. Multiport memory with write priority detector
US5912850A (en) * 1995-08-03 1999-06-15 Northern Telecom Limited Multi-port RAM with shadow write test enhancement
US5796745A (en) * 1996-07-19 1998-08-18 International Business Machines Corporation Memory array built-in self test circuit for testing multi-port memory arrays
US5996106A (en) * 1997-02-04 1999-11-30 Micron Technology, Inc. Multi bank test mode for memory devices
US6070256A (en) * 1997-05-29 2000-05-30 Nortel Networks Corporation Method and apparatus for self-testing multi-port RAMs
JPH1116395A (ja) * 1997-06-25 1999-01-22 Mitsubishi Electric Corp 半導体記憶装置
KR100322525B1 (ko) * 1998-03-23 2002-06-22 윤종용 출력드라이버를공유하는병렬비트테스트회로및이를이용한병렬비트테스트방법
US5982684A (en) * 1998-05-28 1999-11-09 Intel Corporation Parallel access testing of a memory array
JP2000339999A (ja) * 1999-05-28 2000-12-08 Matsushita Electric Ind Co Ltd 半導体記憶装置
US6671842B1 (en) * 1999-10-21 2003-12-30 Lsi Logic Corporation Asynchronous bist for embedded multiport memories
US6681358B1 (en) * 2000-02-22 2004-01-20 Lsi Logic Corporation Parallel testing of a multiport memory
US6557127B1 (en) * 2000-02-28 2003-04-29 Cadence Design Systems, Inc. Method and apparatus for testing multi-port memories
US6400635B1 (en) * 2000-03-15 2002-06-04 Altera Corporation Memory circuitry for programmable logic integrated circuit devices
US7168005B2 (en) * 2000-09-14 2007-01-23 Cadence Design Systems, Inc. Programable multi-port memory BIST with compact microcode
US6496432B2 (en) * 2000-12-08 2002-12-17 International Business Machines Corporation Method and apparatus for testing a write function of a dual-port static memory cell
JP2003059293A (ja) * 2001-08-08 2003-02-28 Hitachi Ltd 自己テスト回路
US6853597B2 (en) * 2001-10-03 2005-02-08 Infineon Technologies Aktiengesellschaft Integrated circuits with parallel self-testing
DE10245713B4 (de) * 2002-10-01 2004-10-28 Infineon Technologies Ag Testsystem und Verfahren zum Testen von Speicherschaltungen
JP4334285B2 (ja) * 2003-06-19 2009-09-30 株式会社アドバンテスト 半導体試験装置及びその制御方法
JP4627644B2 (ja) * 2004-08-30 2011-02-09 Okiセミコンダクタ株式会社 メモリテスト回路

Also Published As

Publication number Publication date
KR20080113040A (ko) 2008-12-26
RU2408093C2 (ru) 2010-12-27
JP5059789B2 (ja) 2012-10-31
US20070208968A1 (en) 2007-09-06
CA2641354A1 (en) 2007-09-13
CN102789816A (zh) 2012-11-21
CN101395675A (zh) 2009-03-25
TW200818199A (en) 2008-04-16
WO2007103745A3 (en) 2007-11-29
EP1989713A2 (en) 2008-11-12
MX2008011173A (es) 2008-09-10
RU2008138867A (ru) 2010-04-10
WO2007103745A2 (en) 2007-09-13
JP2009528641A (ja) 2009-08-06
TWI342565B (en) 2011-05-21
KR101019276B1 (ko) 2011-03-07

Similar Documents

Publication Publication Date Title
BRPI0708304A2 (pt) método e equipamento de teste de arranjo de memória multiporta em velocidade
US7657807B1 (en) Integrated circuit with embedded test functionality
US6370661B1 (en) Apparatus for testing memory in a microprocessor
US7178076B1 (en) Architecture of an efficient at-speed programmable memory built-in self test
JP4806035B2 (ja) 独立してアドレス可能な副単位を有するデータ記憶装置用のデータステアリングロジックをテストするための方法および装置
US7865786B2 (en) Scanned memory testing of multi-port memory arrays
US8711645B2 (en) Victim port-based design for test area overhead reduction in multiport latch-based memories
US20050166111A1 (en) Memory built-in self test circuit with full error mapping capability
Bayraktaroglu et al. Cache resident functional microprocessor testing: Avoiding high speed io issues
US7360134B1 (en) Centralized BIST engine for testing on-chip memory structures
US7206979B1 (en) Method and apparatus for at-speed diagnostics of embedded memories
US20020157051A1 (en) Method and apparatus for ABIST diagnostics
US7260759B1 (en) Method and apparatus for an efficient memory built-in self test architecture for high performance microprocessors
US6862704B1 (en) Apparatus and method for testing memory in a microprocessor
US7293199B1 (en) Method and apparatus for testing memories with different read/write protocols using the same programmable memory bist controller
Brauch et al. Design of cache test hardware on the HP PA8500
Sosnowski Improving software based self-testing for cache memories
Cheng Comprehensive study on designing memory BIST: algorithms, implementations and trade-offs
US10319459B1 (en) Customizable built-in self-test testplans for memory units
US11069422B1 (en) Testing multi-port array in integrated circuits
Rodan Design and implementation of testable fault-tolerant RISC-V system
Zorian et al. Designing fault-tolerant, testable, VLSI processors using the IEEE P1149. 1 boundary-scan architecture
Di Carlo et al. A low-cost FPGA-based test and diagnosis architecture for SRAMs
US20110296259A1 (en) Testing memory arrays and logic with abist circuitry
Querbach The Architecture of a Reusable Built-In Self-Test for Link Training, IO and Memory Defect Detection and Auto Repair on 14nm Intel SOC

Legal Events

Date Code Title Description
B08F Application fees: application dismissed [chapter 8.6 patent gazette]

Free format text: REFERENTE A 8A ANUIDADE.

B08K Patent lapsed as no evidence of payment of the annual fee has been furnished to inpi [chapter 8.11 patent gazette]

Free format text: REFERENTE AO DESPACHO 8.6 PUBLICADO NA RPI 2307 DE 24/03/2015.