---
_id: '66202'
abstract:
- lang: eng
  text: |-
    <jats:p>
                In-memory wear-leveling has become an important research field for emerging non-volatile main memories over the past years. Many approaches in the literature perform wear-leveling by making use of special hardware. Since most non-volatile memories only wear out from write accesses, the proposed approaches in the literature also usually try to spread write accesses widely over the entire memory space. Some non-volatile memories, however, also wear out from read accesses, because every read causes a consecutive write access. Software-based solutions only operate from the application or kernel level, where read and write accesses are realized with different instructions and semantics. Therefore different mechanisms are required to handle reads and writes on the software level. First, we design a method to approximate read and write accesses to the memory to allow aging aware coarse-grained wear-leveling in the absence of special hardware, providing the age information. Second, we provide specific solutions to resolve
                <jats:italic>access hot-spots</jats:italic>
                within the compiled program code (text segment) and on the application stack. In our evaluation, we estimate the cell age by counting the total amount of accesses per cell. The results show that employing all our methods improves the memory lifetime by up to a factor of 955×.
              </jats:p>
author:
- first_name: Christian
  full_name: Hakert, Christian
  last_name: Hakert
- first_name: Kuan-Hsun
  full_name: Chen, Kuan-Hsun
  last_name: Chen
- first_name: Horst
  full_name: Schirmeier, Horst
  last_name: Schirmeier
- first_name: Lars
  full_name: Bauer, Lars
  last_name: Bauer
- first_name: Paul R.
  full_name: Genssler, Paul R.
  last_name: Genssler
- first_name: Georg
  full_name: von der Brüggen, Georg
  last_name: von der Brüggen
- first_name: Hussam
  full_name: Amrouch, Hussam
  last_name: Amrouch
- first_name: Jörg
  full_name: Henkel, Jörg
  last_name: Henkel
- first_name: Jian-Jia
  full_name: Chen, Jian-Jia
  last_name: Chen
citation:
  ama: Hakert C, Chen K-H, Schirmeier H, et al. Software-Managed Read and Write Wear-Leveling
    for Non-Volatile Main Memory. <i>ACM Transactions on Embedded Computing Systems</i>.
    2022;21(1):1-24. doi:<a href="https://doi.org/10.1145/3483839">10.1145/3483839</a>
  apa: Hakert, C., Chen, K.-H., Schirmeier, H., Bauer, L., Genssler, P. R., von der
    Brüggen, G., Amrouch, H., Henkel, J., &#38; Chen, J.-J. (2022). Software-Managed
    Read and Write Wear-Leveling for Non-Volatile Main Memory. <i>ACM Transactions
    on Embedded Computing Systems</i>, <i>21</i>(1), 1–24. <a href="https://doi.org/10.1145/3483839">https://doi.org/10.1145/3483839</a>
  bibtex: '@article{Hakert_Chen_Schirmeier_Bauer_Genssler_von der Brüggen_Amrouch_Henkel_Chen_2022,
    title={Software-Managed Read and Write Wear-Leveling for Non-Volatile Main Memory},
    volume={21}, DOI={<a href="https://doi.org/10.1145/3483839">10.1145/3483839</a>},
    number={1}, journal={ACM Transactions on Embedded Computing Systems}, publisher={Association
    for Computing Machinery (ACM)}, author={Hakert, Christian and Chen, Kuan-Hsun
    and Schirmeier, Horst and Bauer, Lars and Genssler, Paul R. and von der Brüggen,
    Georg and Amrouch, Hussam and Henkel, Jörg and Chen, Jian-Jia}, year={2022}, pages={1–24}
    }'
  chicago: 'Hakert, Christian, Kuan-Hsun Chen, Horst Schirmeier, Lars Bauer, Paul
    R. Genssler, Georg von der Brüggen, Hussam Amrouch, Jörg Henkel, and Jian-Jia
    Chen. “Software-Managed Read and Write Wear-Leveling for Non-Volatile Main Memory.”
    <i>ACM Transactions on Embedded Computing Systems</i> 21, no. 1 (2022): 1–24.
    <a href="https://doi.org/10.1145/3483839">https://doi.org/10.1145/3483839</a>.'
  ieee: 'C. Hakert <i>et al.</i>, “Software-Managed Read and Write Wear-Leveling for
    Non-Volatile Main Memory,” <i>ACM Transactions on Embedded Computing Systems</i>,
    vol. 21, no. 1, pp. 1–24, 2022, doi: <a href="https://doi.org/10.1145/3483839">10.1145/3483839</a>.'
  mla: Hakert, Christian, et al. “Software-Managed Read and Write Wear-Leveling for
    Non-Volatile Main Memory.” <i>ACM Transactions on Embedded Computing Systems</i>,
    vol. 21, no. 1, Association for Computing Machinery (ACM), 2022, pp. 1–24, doi:<a
    href="https://doi.org/10.1145/3483839">10.1145/3483839</a>.
  short: C. Hakert, K.-H. Chen, H. Schirmeier, L. Bauer, P.R. Genssler, G. von der
    Brüggen, H. Amrouch, J. Henkel, J.-J. Chen, ACM Transactions on Embedded Computing
    Systems 21 (2022) 1–24.
date_created: 2026-07-03T21:17:30Z
date_updated: 2026-07-05T14:45:36Z
doi: 10.1145/3483839
intvolume: '        21'
issue: '1'
language:
- iso: eng
page: 1-24
publication: ACM Transactions on Embedded Computing Systems
publication_identifier:
  issn:
  - 1539-9087
  - 1558-3465
publication_status: published
publisher: Association for Computing Machinery (ACM)
status: public
title: Software-Managed Read and Write Wear-Leveling for Non-Volatile Main Memory
type: journal_article
user_id: '128464'
volume: 21
year: '2022'
...
