My research interests lie in the area of computer systems with the emphasis on storage systems and operating systems. My research focus is on theories, algorithms, architectures, and tools for building computer systems, especially embedded systems.
One of my recent research focuses is on storage system designs for embedded systems. Embedded systems, especially battery-backed consumer electronics such as smartphones, usually adopt flash memory as their storage media due to flash-memory’s nice features such as shock resistance and low energy consumption. Because of the cost-reduction issue and the advance of manufacturing technologies, future flash-based storage system designs face critical challenges on performance and reliability problems. We exploited the file-system designs in the operating systems and the management firmware in the storage devices. In the operating systems, we designed new cache systems for general-purpose file systems (e.g., FAT32, NTFS, and ext4) with new non-volatile storage media to prevent from data losses upon power losses and to improve the file-system’s efficiency over flash storage devices; we developed new designs for native flash file systems to improve the performance and reliability of the data stored on flash-based storage devices. In the management firmware, we developed new management schemes to solve the problems inhibited in the next-generation flash-memory chips of fast-growing capacity. Now we are exploring the possibility to integrate data compression and de-duplication technologies to further reduce the energy consumption of embedded storage systems to realize the concept of “green storage” in embedded systems.
Another recent research focus is on the operating system designs for embedded systems. Due to fast-growing capability of hardware resources and the fast-growing complexity of operating systems and mobile applications, the development of embedded systems faces critical challenges in energy consumption and system performance. To reduce the energy consumption, we developed new hibernation techniques to shut down the operating system when the battery is running low, and to resume the operating system efficiently by stealing the idle time of storage devices. We developed new technologies to adjust the CPU frequencies and the device’s power modes for energy saving according to the system runtime information. Now we are investigating the possibility to develop new fast hibernation technologies with finer hibernation granularity so as to minimize the hibernation overhead and to enable fast system resuming and migration on mobile embedded systems, and exploring the interplay between hardware resources for the developing of advanced resource scheduling technologies to further reduce the energy consumption of embedded systems.