Re: Partial Array Self-Refresh on linux embedded systems

From: Henrik Kjellberg
Date: Sat May 08 2010 - 07:21:22 EST


Hello,
I have done my master thesis on the subject of Partial Array
Self-refresh in an embedded Linux environment at STEricsson. I have
now finished my thesis, started working and has verry little time
(read: no time) to spend on Linux hacking. There fore I would like to
pass my work on, in hope that someone else will find it interesting
and worth puting som effort in.

One of the greatest challenges in mobile systems, like cell-phones, is
battery time. All unnecessary power consumers of a mobile system have
to be minimized. One such consumer is the dynamic memory. Dynamic
Random Access Memory (DRAM), is a volatile memory, where every bit of
memory consists of a capacitor and a transistor. When the capacitor is
charged, the bit is set to one, and when it is uncharged, the bit is
set to zero.
 The main advantage with the construction is that only two components
are needed, which leads to a high memory density on the chip.
The disadvantage is the physical properties of a capacitor as a
component. The physical capacitor has leak currents, which drains the
capacitor. The leakage itself does not lead to noticeable losses, but
the data will get corrupted unless it is constantly refreshed by
recharging the capacitor. The recharging is done by reading out and
writing back all the data of the memory.
 During normal operation, the refresh is handled by the operating
system. When in idle mode, on the other hand, the refresh is done by
the memory itself, in a so called self-refresh mode, since the
processor is powered down. To refresh the whole memory if only a part
of it is in use is a super uous waste of power. That is why Partial
Array Self-refresh (PASR) was introduced.
There is no software implementation making use of PASR in the Linux
kernel as of today. The article is based on my master thesis, which
aims to present a possible implementation of PASR and evaluate its e
ciency.

An article summarizing what I have done is found below:
http://sam.cs.lth.se/ExjobGetFile?id=240

Best regards
Henrik Kjellberg
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/