Rendimentos em DRAM e outros processos massivamente redundantes


9

Neste momento, estou analisando a literatura de engenharia elétrica sobre os tipos de estratégias empregadas para produzir de maneira confiável sistemas altamente complexos, mas também extremamente frágeis, como DRAM, onde você tem uma matriz de muitos milhões de componentes e onde uma única falha pode afetar todo o sistema. .

Parece que uma estratégia comum empregada é a fabricação de um sistema muito maior e a desativação seletiva de linhas / colunas danificadas usando fusíveis configuráveis. Eu li [1] que (a partir de 2008) nenhum módulo DRAM sai da linha funcionando e que, para os módulos DDR3 de 1 GB, com todas as tecnologias de reparo implementadas, o rendimento total varia de ~ 0% a cerca de 70% .

Esse é apenas um ponto de dados, no entanto. O que eu quero saber é, isso é algo que é anunciado em campo? Existe uma fonte decente para discutir a melhoria no rendimento em comparação com o SoA? Tenho fontes como esta [2], que fazem um trabalho decente em discutir o rendimento do raciocínio dos primeiros princípios, mas isso é 1991, e imagino / espero que as coisas estejam melhores agora.

Além disso, o uso de linhas / colunas redundantes ainda é empregado ainda hoje? Quanto espaço adicional na placa requer esta tecnologia de redundância?

Eu também estive olhando para outros sistemas paralelos, como monitores TFT. Um colega mencionou que a Samsung, a certa altura, achou mais barato fabricar telas quebradas e depois repará-las, em vez de melhorar seu processo para um rendimento aceitável. Ainda estou para encontrar uma fonte decente sobre isso, no entanto.

Refs

[1]: Gutmann, Ronald J. et al. Wafer Nível 3-d Ics Tecnologia de Processo. Nova York: Springer, 2008. [2]: Horiguchi, Masahi, et al. "Uma técnica de redundância flexível para DRAMs de alta densidade". Circuitos de Estado Sólido, IEEE Journal de 26.1 (1991): 12-17.


3
A redundância de linha e coluna ainda é usada hoje. A redundância em nível de bloco foi usada no cache Itanium 2 L3 (consulte Stefan Rusu et al., "Processador Itanium 2 6M: Maior Freqüência e Maior Cache L3", 2004). Outra consideração para o rendimento é a separação, tanto para velocidade / potência / temperatura operacional quanto para "capacidade" (por exemplo, os multiprocessadores de chip podem ser vendidos com uma variedade de contagens de núcleos; até mesmo DRAM com uma contagem de defeitos alta, em teoria, pode ser vendido como meia capacidade parte).
Paul A. Clayton

fascinante, obrigada. Observando o design do cache, vejo 140 subarrays, cada um com 2 subbancos, que, por sua vez, têm oito blocos de matriz 96x256. Cada bloco possui 32 bits. O que significa que, no total, são necessários 140 * 2 * 8 * 96 * 256 * 32 = 1.762x10 ^ 9 bits necessários para produzir 48x10 ^ 6 bits de armazenamento. Isso está correto?
Mefistófeles

3
Não, os 32 bits fazem parte do bloco 96x256 (12 maneiras de cache * 8 * 4 * 32 bits por linha de cache). Deve-se notar também que alguns dos bits são usados ​​para ECC, portanto, o cache tinha 6MiB de dados . (O uso do ECC introduz outra ruga no rendimento no escaneamento. Os requisitos do ECC variam de acordo com a aplicação e o excesso de ECC pode ser usado para suportar tensão mais baixa (ou taxa de atualização para DRAM) sem perda de dados para uma parte de menor potência e fornecer correção para fabricação defeitos tal é mais uma consideração teórica como fatores de marketing geralmente não permitem essa flexibilidade)..
Paul A. Clayton

obrigado novamente. Isso é mais para obter uma estimativa do custo total do processo de fabricação. Ou seja, quanto espaço adicional na placa (como representante dos recursos físicos gastos) é necessário para atingir esses 6MiB? Vou tentar estimar isso a partir da área ocupada pelo cache L3 e voltar para você.
Mefistófeles

2
O uso da área de célula de bit não considera a decodificação de linha e outras despesas gerais. A sobrecarga de área de redundância pode ser simplesmente estimada reconhecendo que 4 dos 140 subarrays são peças de reposição (um pouco menos de 3% de sobrecarga), ignorando a sobrecarga de roteamento extra. Também deve ser observado que as versões de cache de 3MiB L3 foram vendidas, portanto o rendimento para versões de 6MiB foi permitido ser menor. (Eu acho que o uso de transistores de tamanho maior que o mínimo para as células SRAM, para vazamentos mais baixos, também pode diminuir um pouco a taxa de defeitos efetivos.) 136 subarrays usados ​​indicam 8 para ECC (6 +% de sobrecarga).
Paul A. Clayton

Respostas:


1

Nenhum fabricante jamais divulgará dados de rendimento, a menos que seja necessário por algum motivo. É considerado um segredo comercial. Portanto, para responder sua pergunta diretamente, não, não é anunciado no setor.

No entanto, existem muitos engenheiros cujas tarefas são melhorar o rendimento da linha e o rendimento no final da linha. Isso geralmente consiste em usar técnicas como binning e redundância de bloco para que as perdas fora da linha funcionem o suficiente para serem vendáveis. A redundância de bloco é certamente usada hoje. É muito fácil analisar:

(blocos com falha por peça) / (blocos por peça) * (blocos com falha por peça) / (blocos por peça)

Isso lhe dará a probabilidade de ambos os blocos paralelos falharem. Eu duvido que você acabe com um rendimento tão baixo quanto 70%, pois normalmente 90% é o rendimento mínimo aceitável.


2
Embora eu aprecie sua resposta, @ Paul-a-clayton forneceu essas informações e também foi capaz de citar publicações reais (especificamente o Itanium 2) nos comentários. Além disso, embora a redundância de blocos seja discutida nesses documentos, ele diz "Esse uso de subarrays otimiza a utilização da área de matriz sem restringir a planta baixa do núcleo" sem mencionar a tolerância a falhas. Se você possui documentos que propõem especificamente redundância de bloco como uma ferramenta para solucionar erros, eles serão muito apreciados.
Mephistopheles
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.