Abstract:
Implementations disclosed herein provide for sequential readback of program data in from a cached data region of a storage device. In particular, the disclosed technology provides for storing a sequence of logical addresses associated with execution of a program, the sequence of logical addresses including at least two consecutive logical addresses associated with non-consecutive data blocks in a user data region; writing data corresponding to the at least two consecutive logical addresses to sequential data blocks in a cached data region; determining that a sequence of read commands from a host computer is associated with the data; and reading the data from the cached data region.
Abstract:
Technologies are described herein for adaptively controlling the size of a write cache in a storage device based on the time required to flush the cache. Upon receiving a write command at a controller for the storage device, an estimated cache flush time for the write cache is calculated based on the write commands contained therein. If the estimated cache flush time is greater than a maximum threshold time, the size of the write cache is decreased to control the cache flush time. If the estimated cache flush time is less than a minimum threshold time, the size of the write cache is increased to enhance random write performance.
Abstract:
Implementations disclosed herein provide for sequential readback of program data in from a cached data region of a storage device. In particular, the disclosed technology provides for storing a sequence of logical addresses associated with execution of a program, the sequence of logical addresses including at least two consecutive logical addresses associated with non-consecutive data blocks in a user data region; writing data corresponding to the at least two consecutive logical addresses to sequential data blocks in a cached data region; determining that a sequence of read commands from a host computer is associated with the data; and reading the data from the cached data region.