Abstract:
Devices, methods, and systems for a mass storage device attached to a host device use speculation about the host command likely to be received next from the host device based on a previously received command to improve throughput of accesses to the mass storage device. Host device commands are used to speculatively produce commands for the data storage devices of the mass storage device, such that host commands speculated as being likely next host commands can be started during idle time of the data storage devices, based upon the probability that the speculation will be correct some of the time, and otherwise wasted idle time of the data storage devices will be more efficiently used. Time taken by the host device to produce successive commands to the mass storage system is monitored, and future speculatively produced commands are parameterized so that they complete within the observed host time to produce new commands, making more efficient use of the data storage devices of the mass storage system.
Abstract:
Various techniques are provided to support efficient data transfers over serial data streams. In one example, a serial device may be used to efficiently transfer data between a host device and the serial device over a data stream of a serial interface. A data stream value identifying the data stream may be stored in a register indexed by a tag associated with a command received from the host device. The command may be passed to a storage media device, wherein the passing is controlled by a processor of the serial device. The tag may be extracted from an address value received from the storage media device in response to execution of the command by the storage media device. The data stream value may be retrieved from the register using the extracted tag as an index without requiring an interrupt to the processor to determine the data stream value.
Abstract:
Systems and methods for a mass storage device attached to a host device use speculation about the host command likely to be received next from the host device based on a previously received command to improve throughput of accesses to the mass storage device. Host commands are used to speculatively produce commands for data storage devices of the mass storage device, such that host commands speculated as being likely next can be started during idle time of the data storage devices, based upon the probability that the speculation will be correct some of the time, and otherwise wasted idle time will be more efficiently used. Time taken by the host device to produce successive commands to the mass storage system is monitored, and future speculatively produced commands are parameterized to complete within the observed host time to produce new commands, making more efficient use of the data storage devices.
Abstract:
Various techniques are provided for interfacing external devices with host computer systems. In one example, hard drive parameters may be retrieved from a nonvolatile memory of an external hard drive enclosure device in order to register the external device with a host device while the host device provides a low power level to the external device. Following registration of the external device, the host device may provide a high power level to the external device to operate the registered external device. The hard drive parameters may be stored in the nonvolatile memory by a provider of the external device. In another example, the hard drive parameters may be loaded into the nonvolatile memory by appropriate software running on the host device. In yet another example, the external device may read the hard drive parameters from the hard drive while emulating another external device.