Sprinkler: Maximizing Resource Utilization in Many-Chip Solid State Disks
Resource utilization is one of the emerging problems in many-chip SSDs. In this paper, we propose Sprinkler, a novel device-level SSD controller, which targets maximizing resource utilization and achieving high performance without additional NAND flash chips. Specifically, Sprinkler relaxes parallelism dependency by scheduling I/O requests based on internal resource layout rather than the order imposed by the device-level queue. In addition, Sprinkler improves flash-level parallelism and reduces the number of transactions (i.e., improves transactional-locality) by over-committing flash memory requests to specific resources. Our extensive experimental evaluation using a cycle-accurate large-scale SSD simulation framework shows that a many-chip SSD equipped with our Sprinkler provides at least 56.6 2.2 times better throughput than the state-of-the-art SSD controllers. Further, it improves overall resource utilization by 68.8 patterns and provides, on average, 80.2 reducing half of the flash memory requests at runtime.
READ FULL TEXT