Cargando…
A Flexible Hybrid BCH Decoder for Modern NAND Flash Memories Using General Purpose Graphical Processing Units (GPGPUs)
Bose–Chaudhuri–Hocquenghem (BCH) codes are broadly used to correct errors in flash memory systems and digital communications. These codes are cyclic block codes and have their arithmetic fixed over the splitting field of their generator polynomial. There are many solutions proposed using CPUs, hardw...
Autores principales: | , |
---|---|
Formato: | Online Artículo Texto |
Lenguaje: | English |
Publicado: |
MDPI
2019
|
Materias: | |
Acceso en línea: | https://www.ncbi.nlm.nih.gov/pmc/articles/PMC6632097/ https://www.ncbi.nlm.nih.gov/pubmed/31159191 http://dx.doi.org/10.3390/mi10060365 |
_version_ | 1783435668004798464 |
---|---|
author | Subbiah, Arul Ogunfunmi, Tokunbo |
author_facet | Subbiah, Arul Ogunfunmi, Tokunbo |
author_sort | Subbiah, Arul |
collection | PubMed |
description | Bose–Chaudhuri–Hocquenghem (BCH) codes are broadly used to correct errors in flash memory systems and digital communications. These codes are cyclic block codes and have their arithmetic fixed over the splitting field of their generator polynomial. There are many solutions proposed using CPUs, hardware, and Graphical Processing Units (GPUs) for the BCH decoders. The performance of these BCH decoders is of ultimate importance for systems involving flash memory. However, it is essential to have a flexible solution to correct multiple bit errors over the different finite fields (GF(2 [Formula: see text])). In this paper, we propose a pragmatic approach to decode BCH codes over the different finite fields using hardware circuits and GPUs in tandem. We propose to employ hardware design for a modified syndrome generator and GPUs for a key-equation solver and an error corrector. Using the above partition, we have shown the ability to support multiple bit errors across different BCH block codes without compromising on the performance. Furthermore, the proposed method to generate modified syndrome has zero latency for scenarios where there are no errors. When there is an error detected, the GPUs are deployed to correct the errors using the iBM and Chien search algorithm. The results have shown that using the modified syndrome approach, we can support different multiple finite fields with high throughput. |
format | Online Article Text |
id | pubmed-6632097 |
institution | National Center for Biotechnology Information |
language | English |
publishDate | 2019 |
publisher | MDPI |
record_format | MEDLINE/PubMed |
spelling | pubmed-66320972019-08-19 A Flexible Hybrid BCH Decoder for Modern NAND Flash Memories Using General Purpose Graphical Processing Units (GPGPUs) Subbiah, Arul Ogunfunmi, Tokunbo Micromachines (Basel) Article Bose–Chaudhuri–Hocquenghem (BCH) codes are broadly used to correct errors in flash memory systems and digital communications. These codes are cyclic block codes and have their arithmetic fixed over the splitting field of their generator polynomial. There are many solutions proposed using CPUs, hardware, and Graphical Processing Units (GPUs) for the BCH decoders. The performance of these BCH decoders is of ultimate importance for systems involving flash memory. However, it is essential to have a flexible solution to correct multiple bit errors over the different finite fields (GF(2 [Formula: see text])). In this paper, we propose a pragmatic approach to decode BCH codes over the different finite fields using hardware circuits and GPUs in tandem. We propose to employ hardware design for a modified syndrome generator and GPUs for a key-equation solver and an error corrector. Using the above partition, we have shown the ability to support multiple bit errors across different BCH block codes without compromising on the performance. Furthermore, the proposed method to generate modified syndrome has zero latency for scenarios where there are no errors. When there is an error detected, the GPUs are deployed to correct the errors using the iBM and Chien search algorithm. The results have shown that using the modified syndrome approach, we can support different multiple finite fields with high throughput. MDPI 2019-05-31 /pmc/articles/PMC6632097/ /pubmed/31159191 http://dx.doi.org/10.3390/mi10060365 Text en © 2019 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (http://creativecommons.org/licenses/by/4.0/). |
spellingShingle | Article Subbiah, Arul Ogunfunmi, Tokunbo A Flexible Hybrid BCH Decoder for Modern NAND Flash Memories Using General Purpose Graphical Processing Units (GPGPUs) |
title | A Flexible Hybrid BCH Decoder for Modern NAND Flash Memories Using General Purpose Graphical Processing Units (GPGPUs) |
title_full | A Flexible Hybrid BCH Decoder for Modern NAND Flash Memories Using General Purpose Graphical Processing Units (GPGPUs) |
title_fullStr | A Flexible Hybrid BCH Decoder for Modern NAND Flash Memories Using General Purpose Graphical Processing Units (GPGPUs) |
title_full_unstemmed | A Flexible Hybrid BCH Decoder for Modern NAND Flash Memories Using General Purpose Graphical Processing Units (GPGPUs) |
title_short | A Flexible Hybrid BCH Decoder for Modern NAND Flash Memories Using General Purpose Graphical Processing Units (GPGPUs) |
title_sort | flexible hybrid bch decoder for modern nand flash memories using general purpose graphical processing units (gpgpus) |
topic | Article |
url | https://www.ncbi.nlm.nih.gov/pmc/articles/PMC6632097/ https://www.ncbi.nlm.nih.gov/pubmed/31159191 http://dx.doi.org/10.3390/mi10060365 |
work_keys_str_mv | AT subbiaharul aflexiblehybridbchdecoderformodernnandflashmemoriesusinggeneralpurposegraphicalprocessingunitsgpgpus AT ogunfunmitokunbo aflexiblehybridbchdecoderformodernnandflashmemoriesusinggeneralpurposegraphicalprocessingunitsgpgpus AT subbiaharul flexiblehybridbchdecoderformodernnandflashmemoriesusinggeneralpurposegraphicalprocessingunitsgpgpus AT ogunfunmitokunbo flexiblehybridbchdecoderformodernnandflashmemoriesusinggeneralpurposegraphicalprocessingunitsgpgpus |