Return to search

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 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.

Identiferoai:union.ndltd.org:UPSALLA1/oai:DiVA.org:kth-176276
Date January 2014
CreatorsMakridis, Odysseus
PublisherKTH, Maskinkonstruktion (Inst.)
Source SetsDiVA Archive at Upsalla University
LanguageEnglish
Detected LanguageEnglish
TypeStudent thesis, info:eu-repo/semantics/bachelorThesis, text
Formatapplication/pdf
Rightsinfo:eu-repo/semantics/openAccess
RelationMMK 2010:69 MDA 386

Page generated in 0.0019 seconds