Patent classifications
G06F2212/224
STORAGE CONTROLLER, STORAGE SYSTEM, STORAGE CONTROLLER CONTROLLING METHOD, AND PROGRAM
An object is to suppress a process of evicting cached data so as to improve a throughput of an entire system. A storage controller includes an access request section and an operation management section. The access request section requests access to a first storage and to a second storage that is higher in response speed than the first storage, the second storage storing part of data stored in the first storage. The operation management section manages, based on a usage state of the second storage, whether or not to transfer from the first storage to the second storage data targeted for access but not stored in the second storage.
Interlaced magnetic recording storage system
The disclosed technology provides a system and method that improves interlaced magnetic recording (IMR) data throughput in vibration in storage systems. In one implementation, a method includes determining whether there are write retry operations in the IMR storage device, determining whether bottom track caching space is available responsive to determining whether there are write retry operations in the IMR storage device, performing a vibration detection scheme to identify vibration events responsive to determining whether bottom track caching space is available, determining if a number of vibration events is above a predetermined threshold, and writing data to available bottom track caching space responsive to determining if the number of vibration events is above a predetermined threshold.
Cache transfer time mitigation
In accordance with one implementation, a method for mitigating cache transfer time entails reading data into memory from at least two consecutive elliptical data tracks in a main store region of data storage and writing the data read from the at least two consecutive elliptical data tracks to a spiral data track within a cache storage region.
Dynamic cache management in storage devices
Technologies are provided for dynamically changing a size of a cache region of a storage device. A storage device controller writes data to the cache region of the storage device using a particular storage format. The storage device controller then migrates the cached data to a storage region of the device, where the data is written using a different storage format. A dynamic cache manager monitors input and output activity for the storage device and dynamically adjusts a size of the cache region to adapt to changes in the input and/or output activity. The dynamic cache manager can also adjust a size of the storage region. The storage device controller can automatically detect that the storage device has dynamic cache support and configure the storage device by creating the cache region and the storage region on the device.
SMR drive that maintains physical locations of bands via flush/copy operations
When a shingled magnetic recording (SMR) hard disk drive (HDD) performs additional SMR band copy and/or flush operations to ensure that data associated with logical bands that are adjacent or proximate in logical space are stored in physical locations in the SMR HDD that are proximate in physical space. As a result, efficient execution is ensured of read commands that span multiple logical bands of the SMR HDD.
DYNAMIC PREMIGRATION THROTTLING FOR TIERED STORAGE
A dynamic premigration protocol is implemented in response to a secondary tier returning to an operational state and an amount of data associated with a premigration queue of a primary tier exceeding a first threshold. The dynamic premigration protocol can comprise at least a temporary premigration throttling level. An original premigration protocol is implemented in response to an amount of data associated with the premigration queue decreasing below the first threshold.
CLUSTER BASED HARD DRIVE SMR OPTIMIZATION
Technologies are provided for storing data by alternating the performance of data write operations using multiple clusters of storage devices. Data is written to internal buffers of storage devices in one cluster while data stored in buffers of storage devices in another cluster is transferred to the storage devices' permanent storages. When available buffer capacity in a cluster falls below a specified threshold, data write commands are no longer sent the cluster and the storage devices in the cluster transfer data stored in their buffers to their permanent storages. While the data is being transferred, data write commands are transmitted to other clusters. When the data transfer is complete, the storage devices in the cluster can be scheduled to receive data write commands again. A cluster can be selected for performing a given data write request by matching the attributes of the cluster to parameters of the data write request.
Dynamic premigration throttling for tiered storage
A dynamic premigration protocol is implemented in response to a secondary tier returning to an operational state and an amount of data associated with a premigration queue of a primary tier exceeding a first threshold. The dynamic premigration protocol can comprise at least a temporary premigration throttling level. An original premigration protocol is implemented in response to an amount of data associated with the premigration queue decreasing below the first threshold.
SENSE FLAGS IN A MEMORY DEVICE
Memory devices might be configured to perform methods including reading a first page of memory cells and flag data wherein the flag data indicates whether a second page of memory cells adjacent to the first page is programmed, and determining from the flag data whether to re-read the first page of memory cells with an adjusted read voltage; performing a sense operation on memory cells coupled to first data lines of a first array of memory cells and memory cells coupled to data lines of a second array of memory cells, and determining a program indication of memory cells coupled to second data lines from the sense operation performed on the memory cells coupled to the data lines of the second array of memory cells; and/or programming memory cells coupled to first data lines in a first array of memory cells, and programming memory cells coupled to second data lines in the first array of memory cells while programming memory cells coupled to data lines in a second array of memory cells with flag data indicative of the memory cells coupled to the second data lines in the first array of memory cells being programmed.
External disk cache for guest operating system in a virtualized environment
A system and method is provided for managing computing resources of a physical server executing a plurality of virtual machines (VMs) including a first virtual machine (VM). The first VM executes a guest block device driver configured to provide a guest operating system of the first VM an interface to a memory-mapped virtual storage device. A virtual machine monitor maintains a disk cache associated with the virtual storage device. The disk cache resides in a host physical memory of the physical server outside of portions of the host physical memory associated with guest physical memory of the first VM. The virtual machine monitor is configured to, responsive to determining that available host physical memory satisfies a threshold condition, reclaim a target portion of the host physical memory allocated to the disk cache.