Dynamic fault tolerant mechanism for memory controllers
| Autor(a) principal: | |
|---|---|
| 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 |