Dynamic fault tolerant mechanism for memory controllers

Detalhes bibliográficos
Autor(a) principal: Stefani, Marco Pokorski
Data de Publicação: 2023
Tipo de documento: Tese
Idioma: eng
Título da fonte: Biblioteca Digital de Teses e Dissertações da PUC_RS
Texto Completo: https://tede2.pucrs.br/tede2/handle/tede/11400
Resumo: Memory errors can cause failures, security vulnerabilities, corruption, and data loss, which are unacceptable for server systems. These problems push the construction of a robust computing memory architecture design. Memory controllers can mitigate these errors by employing an Error Correction Code (ECC) in the data write and read flows. Environmental and technological factors imply different error probabilities, preventing defining at design time which ECC is most effective and efficient to be used. This work proposes a fault-tolerant mechanism acting as a memory controller encoding and decoding manager. This mechanism dynamically defines the ECC for each memory block, following as criteria the error rate captured at runtime and the ECCs efficacy implemented in the controller. Memory blocks with a high error rate can be recoded to a high efficacy ECC and vice versa. Experimental results show that our proposal achieves high error correction efficacy with high energy efficiency. Additionally, we developed the Absimth tool to analyze the efficacy and efficiency of the proposal that employs dynamic fault tolerance management mechanisms. Absimth enables hardware/software modeling and verification in various granularity levels, from in-memory applications to the operating system, including encoding and decoding processes that employ ECCs, enabling comparing the efficacy and efficiency of the proposed solutions in uncountable scenarios
id P_RS_2fc3d2b091dda55f932b047ac45cd8ac
oai_identifier_str oai:tede2.pucrs.br:tede/11400
network_acronym_str P_RS
network_name_str Biblioteca Digital de Teses e Dissertações da PUC_RS
repository_id_str
spelling Dynamic fault tolerant mechanism for memory controllersMecanismo dinâmico de tolerância a falhas para controladoras de memóriaTolerância a FalhasMemória ConfiávelCódigo de Correção de Erro (ECC)ECC DinâmicoControlador de MemóriaFault ToleranceReliable MemoryError Correting Code (ECC)Dynamic ECCMemory ControllerCIENCIA DA COMPUTACAO: TEORIA DA COMPUTACAOMemory errors can cause failures, security vulnerabilities, corruption, and data loss, which are unacceptable for server systems. These problems push the construction of a robust computing memory architecture design. Memory controllers can mitigate these errors by employing an Error Correction Code (ECC) in the data write and read flows. Environmental and technological factors imply different error probabilities, preventing defining at design time which ECC is most effective and efficient to be used. This work proposes a fault-tolerant mechanism acting as a memory controller encoding and decoding manager. This mechanism dynamically defines the ECC for each memory block, following as criteria the error rate captured at runtime and the ECCs efficacy implemented in the controller. Memory blocks with a high error rate can be recoded to a high efficacy ECC and vice versa. Experimental results show that our proposal achieves high error correction efficacy with high energy efficiency. Additionally, we developed the Absimth tool to analyze the efficacy and efficiency of the proposal that employs dynamic fault tolerance management mechanisms. Absimth enables hardware/software modeling and verification in various granularity levels, from in-memory applications to the operating system, including encoding and decoding processes that employ ECCs, enabling comparing the efficacy and efficiency of the proposed solutions in uncountable scenariosErros de memória podem causar falhas, vulnerabilidades de segurança, corrupção e perda de dados que são inaceitáveis para servidores. Esses problemas impulsionam a construção de um projeto de arquitetura de memória robusta. As controladoras de memória podem atenuar esses erros empregando um Código de Correção de Erro (ECC) nos fluxos de gravação e leitura de dados. Fatores ambientais e tecnológicos implicam diferentes probabilidades de erro, impedindo definir em tempo de projeto qual ECC é mais eficaz e eficiente a ser utilizado. Este trabalho propõe um mecanismo tolerante a falhas atuando como gerenciador de codificação e decodificação da controladora de memória. Este mecanismo define dinamicamente o ECC para cada bloco de memória, seguindo como critério a taxa de erro capturada em tempo de execução e a eficácia dos ECCs implementados na controladora. Blocos de memória com uma alta taxa de erro podem ser recodificados para um ECC de alta eficácia e vice-versa. Resultados experimentais mostram que nossa proposta alcança elevada eficácia na correção de erros com alta eficiência energética. Adicionalmente, desenvolvemos a ferramenta Absimth para analisar a eficácia e eficiência da proposta que emprega mecanismos de gerenciamento dinâmico de tolerância a falhas. A ferramenta Absimth permite a modelagem e verificação de hardware/software em diversas granularidades, desde aplicativos armazenados na memória até o sistema operacional, incluindo processos de codificação e decodificação de diversos ECCs, habilitando comparar a eficácia e eficiência das soluções propostas em inúmeros cenários.Pontifícia Universidade Católica do Rio Grande do SulEscola PolitécnicaBrasilPUCRSPrograma de Pós-Graduação em Ciência da ComputaçãoMarcon, César Augusto Missiohttp://lattes.cnpq.br/8611020242763828Silveira, Jarbas Aryel Nunes dahttp://lattes.cnpq.br/0406937598151848Stefani, Marco Pokorski2024-10-22T19:37:46Z2023-08-24info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/doctoralThesisapplication/pdfhttps://tede2.pucrs.br/tede2/handle/tede/11400enginfo:eu-repo/semantics/openAccessreponame:Biblioteca Digital de Teses e Dissertações da PUC_RSinstname:Pontifícia Universidade Católica do Rio Grande do Sul (PUCRS)instacron:PUC_RS2024-10-22T23:00:23Zoai:tede2.pucrs.br:tede/11400Biblioteca Digital de Teses e Dissertaçõeshttp://tede2.pucrs.br/tede2/PRIhttps://tede2.pucrs.br/oai/requestbiblioteca.central@pucrs.br||opendoar:2024-10-22T23:00:23Biblioteca Digital de Teses e Dissertações da PUC_RS - Pontifícia Universidade Católica do Rio Grande do Sul (PUCRS)false
dc.title.none.fl_str_mv Dynamic fault tolerant mechanism for memory controllers
Mecanismo dinâmico de tolerância a falhas para controladoras de memória
title Dynamic fault tolerant mechanism for memory controllers
spellingShingle Dynamic fault tolerant mechanism for memory controllers
Stefani, Marco Pokorski
Tolerância a Falhas
Memória Confiável
Código de Correção de Erro (ECC)
ECC Dinâmico
Controlador de Memória
Fault Tolerance
Reliable Memory
Error Correting Code (ECC)
Dynamic ECC
Memory Controller
CIENCIA DA COMPUTACAO: TEORIA DA COMPUTACAO
title_short Dynamic fault tolerant mechanism for memory controllers
title_full Dynamic fault tolerant mechanism for memory controllers
title_fullStr Dynamic fault tolerant mechanism for memory controllers
title_full_unstemmed Dynamic fault tolerant mechanism for memory controllers
title_sort Dynamic fault tolerant mechanism for memory controllers
author Stefani, Marco Pokorski
author_facet Stefani, Marco Pokorski
author_role author
dc.contributor.none.fl_str_mv Marcon, César Augusto Missio
http://lattes.cnpq.br/8611020242763828
Silveira, Jarbas Aryel Nunes da
http://lattes.cnpq.br/0406937598151848
dc.contributor.author.fl_str_mv Stefani, Marco Pokorski
dc.subject.por.fl_str_mv Tolerância a Falhas
Memória Confiável
Código de Correção de Erro (ECC)
ECC Dinâmico
Controlador de Memória
Fault Tolerance
Reliable Memory
Error Correting Code (ECC)
Dynamic ECC
Memory Controller
CIENCIA DA COMPUTACAO: TEORIA DA COMPUTACAO
topic Tolerância a Falhas
Memória Confiável
Código de Correção de Erro (ECC)
ECC Dinâmico
Controlador de Memória
Fault Tolerance
Reliable Memory
Error Correting Code (ECC)
Dynamic ECC
Memory Controller
CIENCIA DA COMPUTACAO: TEORIA DA COMPUTACAO
description Memory errors can cause failures, security vulnerabilities, corruption, and data loss, which are unacceptable for server systems. These problems push the construction of a robust computing memory architecture design. Memory controllers can mitigate these errors by employing an Error Correction Code (ECC) in the data write and read flows. Environmental and technological factors imply different error probabilities, preventing defining at design time which ECC is most effective and efficient to be used. This work proposes a fault-tolerant mechanism acting as a memory controller encoding and decoding manager. This mechanism dynamically defines the ECC for each memory block, following as criteria the error rate captured at runtime and the ECCs efficacy implemented in the controller. Memory blocks with a high error rate can be recoded to a high efficacy ECC and vice versa. Experimental results show that our proposal achieves high error correction efficacy with high energy efficiency. Additionally, we developed the Absimth tool to analyze the efficacy and efficiency of the proposal that employs dynamic fault tolerance management mechanisms. Absimth enables hardware/software modeling and verification in various granularity levels, from in-memory applications to the operating system, including encoding and decoding processes that employ ECCs, enabling comparing the efficacy and efficiency of the proposed solutions in uncountable scenarios
publishDate 2023
dc.date.none.fl_str_mv 2023-08-24
2024-10-22T19:37:46Z
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/doctoralThesis
format doctoralThesis
status_str publishedVersion
dc.identifier.uri.fl_str_mv https://tede2.pucrs.br/tede2/handle/tede/11400
url https://tede2.pucrs.br/tede2/handle/tede/11400
dc.language.iso.fl_str_mv eng
language eng
dc.rights.driver.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv application/pdf
dc.publisher.none.fl_str_mv Pontifícia Universidade Católica do Rio Grande do Sul
Escola Politécnica
Brasil
PUCRS
Programa de Pós-Graduação em Ciência da Computação
publisher.none.fl_str_mv Pontifícia Universidade Católica do Rio Grande do Sul
Escola Politécnica
Brasil
PUCRS
Programa de Pós-Graduação em Ciência da Computação
dc.source.none.fl_str_mv reponame:Biblioteca Digital de Teses e Dissertações da PUC_RS
instname:Pontifícia Universidade Católica do Rio Grande do Sul (PUCRS)
instacron:PUC_RS
instname_str Pontifícia Universidade Católica do Rio Grande do Sul (PUCRS)
instacron_str PUC_RS
institution PUC_RS
reponame_str Biblioteca Digital de Teses e Dissertações da PUC_RS
collection Biblioteca Digital de Teses e Dissertações da PUC_RS
repository.name.fl_str_mv Biblioteca Digital de Teses e Dissertações da PUC_RS - Pontifícia Universidade Católica do Rio Grande do Sul (PUCRS)
repository.mail.fl_str_mv biblioteca.central@pucrs.br||
_version_ 1850041125969068032