Embedded systems are customized systems designed to meet functionality and specific usage purposes. These systems often grapple with challenges such as power interruptions, limited memory space, and the expectation of a long operational lifespan. It is in this context that Non-Volatile Memory (NVM) plays a vital role. NVM is a type of memory that ensures data persistence even in situations of temporary power loss or signal interruptions. Efficiently utilizing NVM is a critical necessity for the effectiveness and reliability of these systems. Efficient utilization of NVM necessitates the effective management of write and read cycles. Previous studies have demonstrated the efficient utilization of NVM sectors by ensuring that no garbage bytes remain unallocated. Previous studies have demonstrated the efficient utilization of NVM by compressing the data to be written into NVM using the Huffman compression algorithm, and filling sectors without any residual garbage bytes. This paper aspires to advance beyond prior research by integrating the Advanced Encryption Standard (AES-128) block encryption algorithm, aiming to optimize the utilization of NVM to a greater extent. The AES-128 algorithm provides data security with encryption and decryption operations. By applying AES-128 encryption to the data before writing it to the NVM, this work adds a data security layer to the developed software module. Data is divided into blocks using this algorithm. Each block is encrypted independently and then reassembled. The encryption process includes key management, substitution-permutation network layers, and multiple rounds, all of which make substantial contributions to high-level data security. The resulting encrypted data is compressed using the Huffman compression algorithm. This process enhances both the security and efficiency of data storage. The data is written to NVM with maximum efficiency, ensuring that no residual garbage bytes remain, upon the completion of the encryption and compression processes. This study surpasses previous research by enhancing storage security and efficiency through these processes. Moreover, the developed secure and efficient NVM usage, as it fills the NVM with data without leaving any garbage bytes, results in slower processing speed compared to standard NVM usage. Therefore, in future research, interventions with code optimization techniques can be applied to the developed algorithms to enhance write and read speeds.
Read full abstract