{'fraction_non_alphanumeric': 0.019981834695731154, 'fraction_numerical': 0.0, 'mean_word_length': 5.406976744186046, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
PTL: PCM Translation Layer

PCM (Phase Change Memory) has been used as NOR flash replacement in embedded systems, and poses interesting system-level challenges for transparent exploitation of these memory structures by embedded systems software. We propose such a system-level transparent framework, called PTL (PCM Translation Layer), to efficiently manage PCM. PTL's translation layer conceals the physical constraints of the PCM architecture so that embedded systems software can use PCMs in a transparent manner, while efficiently exploiting the idiosyncrasies of the PCM architecture. We study the requirements for transparently managing PCM in embedded systems, and propose the system architecture of PTL. As a case study, we propose a simple yet effective wear leaveling technique by exploiting application-specific features in embedded systems. The experimental results show that our wear leveling technique can effectively improve the lifetime of PCM chips compared with the previous work. We expect this work can serve as a first step towards the full exploration of PCM in embedded systems.