A computer’s cache is a part of the memory where frequently used items are stored to speed up processing. If you visit the same websites on your phone frequently, for example, your phone might save information about those sites so your browser or app doesn’t need to re-download it each time.
University of Arizona electrical and computer engineering professor Tosiron Adegbija compares a computer’s main memory and its cache to a fridge and a minifridge. If he wakes up hungry for a midnight snack every single night, he might start storing snacks in a minifridge by his bed, rather than taking the time to walk to the kitchen refrigerator each time.
“The minifridge is like the cache, while the refrigerator in the kitchen is the main memory,” he said. “When I know I’ll need items frequently, I keep them in my minifridge, so I can substantially reduce how much time it takes to retrieve them. It’s small, though, so I can’t fit everything in there.”
Adegbija is researching techniques for efficiently leveraging a material called spin-transfer torque random access memory, or STTRAM, as an alternative for static RAM in computer caches. STTRAM can store the same amount of data as static RAM using only one-quarter to one-ninth of the space, making it especially useful for resource-constrained devices like mobile phones and tablets.
Lower Energy Consumption is Key
While they reduce the time it takes to access and run programs on computerdevices, caches increase power consumption, which makes them expensive. However, if carefully designed, they can also make computers more energy-efficient.
“If you reduce how much time you spend accessing data, you may also be expending less energy despite consuming more power,” Adegbija said. “My research explores new ways to take advantage of the cache’s positive qualities while mitigating its negative qualities.”
Data for most programs only need to remain in the cache for up to few hundred milliseconds, but STTRAM intrinsically retains data for much longer—up to 10 years. Adegbija’s team has found that designing STTRAM caches to retain data for only as long as needed by each program can reduce energy consumption by up to 84%.
Their research focuses on designing STTRAM caches that can dynamically and automatically adapt to the needs of different running programs, thereby making resource-constrained devices more energy-efficient.