Energy-Efficient Flash Memory Management in Embedded Systems

In today’s embedded systems there is a growing need for energy efficient solutions as applications and hardware are growing in power consumption levels. That is why GEODES was initiated, a project where several companies and universities hold as main objective to develop power efficient solutions in...

Full description

Bibliographic Details
Main Author: Makridis, Odysseus
Format: Others
Language:English
Published: KTH, Maskinkonstruktion (Inst.) 2014
Online Access:http://urn.kb.se/resolve?urn=urn:nbn:se:kth:diva-176276
id ndltd-UPSALLA1-oai-DiVA.org-kth-176276
record_format oai_dc
spelling ndltd-UPSALLA1-oai-DiVA.org-kth-1762762015-11-04T04:54:35ZEnergy-Efficient Flash Memory Management in Embedded SystemsengMakridis, OdysseusKTH, Maskinkonstruktion (Inst.)2014In today’s embedded systems there is a growing need for energy efficient solutions as applications and hardware are growing in power consumption levels. That is why GEODES was initiated, a project where several companies and universities hold as main objective to develop power efficient solutions in embedded software. This master thesis is realized at ENEA and is part of GEODES. The focus of the work is flash memory management and how this type of software can be made power efficient. The first part of the master thesis is a theoretical study in flash memory management and power efficiency in flash systems. This study identified and evaluated the current solutions that exist in this topic. The theoretical foundation was made so an implementation of an energy efficient flash management system could be realized. A requirement specification was also developed regarding both basic functionality and energy optimization. After the theoretical study a power efficient design was developed, containing techniques like data separation, intelligent garbage collection and the utilization of a cache memory. More basic functionality like error code correction, bad block management and wear levelling was also included. The implementation was based on this design and the result was a driver layer for a flash memory, however no power management techniques were included due to time restrictions. The driver was implemented on an i.MX31 board in an OSE5.4 environment; this module (memory device driver - MDD) controlled a 128 M x 8-bit NAND flash memory and included functionalities such as error code correction, bad block management and status read. The MDD utilized an internal RAM buffer and the i.MX31 boards NAND flash controller. It executed all the operations (read, write and erase) and used the spare area for metadata writes. I dagens inbyggda system ser vi behovet av energieffektiva lösningar växa då applikationers och hårdvarors strömkonsumtionsnivåer ökar. Därför har GEODES, ett samarbetsprojekt mellan flera företag och universitet, initierats. GEODES mål är att utveckla strömsparande lösningar inom inbyggda system och deras arbete sträcker sig över hela Europa. Detta examensarbete utfördes på ENEA och var del av GEODES projektet, fokus på arbetet var flashminnes-hantering och hur man skulle kunna strömeffektivisera sådana typer av system. Första delen av arbetet är en teoretisk fördjupning i flashminnes-hantering och energieffektivisering. I denna studie identifierades och utvärderades de lösningar som finns idag. Grunden och teoretiska underlaget lades för att kunna implementera ett sådant system. En mall för ett strömsnålt flash-lager togs fram i form av en kravspecifikation, dessa krav berörde både grundläggande funktionalitet och strömsparning. Nästa steg var utvecklingen av en energieffektiv design som innehöll teknikerna dataseparering, intelligent skräphantering och cache minne. Denna design tillhandhöll också funktionaliteter som error code correction, bad block management och wear-levelling. Implementationen baserades på denna design och resultatet blev en drivare för ett flashminne, men på grund utav tidsrestriktioner så hann inga strömsparnings-tekniker realiseras. Drivaren implementerades på ett i.MX31-kort i OSE5.4 miljö; denna modul (Memory Device Driver - MDD) styrde ett 128 M x 8-bit NAND flashminne och tillhandahöll funktionaliteter som error code correction, bad block management och statusläsning. MDD:n utnyttjade en intern RAM-buffert, i.MX31-kortets NAND flash controller, samt utförde alla operationer (läsa, skriva och radera) och brukade minnets ”spare area” för metadata skrivningar. Student thesisinfo:eu-repo/semantics/bachelorThesistexthttp://urn.kb.se/resolve?urn=urn:nbn:se:kth:diva-176276MMK 2010:69 MDA 386application/pdfinfo:eu-repo/semantics/openAccess
collection NDLTD
language English
format Others
sources NDLTD
description In today’s embedded systems there is a growing need for energy efficient solutions as applications and hardware are growing in power consumption levels. That is why GEODES was initiated, a project where several companies and universities hold as main objective to develop power efficient solutions in embedded software. This master thesis is realized at ENEA and is part of GEODES. The focus of the work is flash memory management and how this type of software can be made power efficient. The first part of the master thesis is a theoretical study in flash memory management and power efficiency in flash systems. This study identified and evaluated the current solutions that exist in this topic. The theoretical foundation was made so an implementation of an energy efficient flash management system could be realized. A requirement specification was also developed regarding both basic functionality and energy optimization. After the theoretical study a power efficient design was developed, containing techniques like data separation, intelligent garbage collection and the utilization of a cache memory. More basic functionality like error code correction, bad block management and wear levelling was also included. The implementation was based on this design and the result was a driver layer for a flash memory, however no power management techniques were included due to time restrictions. The driver was implemented on an i.MX31 board in an OSE5.4 environment; this module (memory device driver - MDD) controlled a 128 M x 8-bit NAND flash memory and included functionalities such as error code correction, bad block management and status read. The MDD utilized an internal RAM buffer and the i.MX31 boards NAND flash controller. It executed all the operations (read, write and erase) and used the spare area for metadata writes. === I dagens inbyggda system ser vi behovet av energieffektiva lösningar växa då applikationers och hårdvarors strömkonsumtionsnivåer ökar. Därför har GEODES, ett samarbetsprojekt mellan flera företag och universitet, initierats. GEODES mål är att utveckla strömsparande lösningar inom inbyggda system och deras arbete sträcker sig över hela Europa. Detta examensarbete utfördes på ENEA och var del av GEODES projektet, fokus på arbetet var flashminnes-hantering och hur man skulle kunna strömeffektivisera sådana typer av system. Första delen av arbetet är en teoretisk fördjupning i flashminnes-hantering och energieffektivisering. I denna studie identifierades och utvärderades de lösningar som finns idag. Grunden och teoretiska underlaget lades för att kunna implementera ett sådant system. En mall för ett strömsnålt flash-lager togs fram i form av en kravspecifikation, dessa krav berörde både grundläggande funktionalitet och strömsparning. Nästa steg var utvecklingen av en energieffektiv design som innehöll teknikerna dataseparering, intelligent skräphantering och cache minne. Denna design tillhandhöll också funktionaliteter som error code correction, bad block management och wear-levelling. Implementationen baserades på denna design och resultatet blev en drivare för ett flashminne, men på grund utav tidsrestriktioner så hann inga strömsparnings-tekniker realiseras. Drivaren implementerades på ett i.MX31-kort i OSE5.4 miljö; denna modul (Memory Device Driver - MDD) styrde ett 128 M x 8-bit NAND flashminne och tillhandahöll funktionaliteter som error code correction, bad block management och statusläsning. MDD:n utnyttjade en intern RAM-buffert, i.MX31-kortets NAND flash controller, samt utförde alla operationer (läsa, skriva och radera) och brukade minnets ”spare area” för metadata skrivningar.
author Makridis, Odysseus
spellingShingle Makridis, Odysseus
Energy-Efficient Flash Memory Management in Embedded Systems
author_facet Makridis, Odysseus
author_sort Makridis, Odysseus
title Energy-Efficient Flash Memory Management in Embedded Systems
title_short Energy-Efficient Flash Memory Management in Embedded Systems
title_full Energy-Efficient Flash Memory Management in Embedded Systems
title_fullStr Energy-Efficient Flash Memory Management in Embedded Systems
title_full_unstemmed Energy-Efficient Flash Memory Management in Embedded Systems
title_sort energy-efficient flash memory management in embedded systems
publisher KTH, Maskinkonstruktion (Inst.)
publishDate 2014
url http://urn.kb.se/resolve?urn=urn:nbn:se:kth:diva-176276
work_keys_str_mv AT makridisodysseus energyefficientflashmemorymanagementinembeddedsystems
_version_ 1718125535702286336