The inventive concept relates generally to electronic data storage technologies. More particularly, the inventive concept relates to data storage devices connected to multiple hosts, and input/output (I/O) scheduling devices and methods that can be used to schedule I/O operations for the hosts.
Storage devices such as hard disk drives (HDDs) and solid-state disk (SSDs) are widely used to store various types of data in computer systems, portable electronic devices, and other electronic environments. In some environments, a storage device may be used to store data for multiple host devices, such as multiple processors, multiple network endpoints, or multiple client devices connected to a server.
In environments where multiple host devices access a storage device, an I/O scheduling device can be used to coordinate I/O operations among the multiple hosts. The I/O scheduling device can control various aspects of memory access operations performed on the storage device, such as the access priority of each host, the latency of the operations, and many others. Consequently, the I/O scheduling device can have a significant impact on the performance of both the storage device and the hosts.