Patent classifications
G06F3/0646
Location-aware behavior for a data storage device
A computing device, such as a data storage device, that is location-aware and modifies its behavior depending on its location. In some embodiments, the data storage device may determine its location based on information such as Global Positioning System information, proximity to a wireless network, near-field proximity to another device, etc. The data storage device maintains a profile for various locations in which it is frequently located and records user-behavior at these locations. In addition, the device may be configured or program with specific behaviors at different locations. Based on the location of the device, it may then perform various actions to improve its responsiveness. In one embodiment, a data storage device may enter or exit from a standby state, prefetch various files, etc. based on its proximity to a particular location.
Methods and systems for storing data at different storage tiers of a storage system
Methods and systems for a storage server are provided. One method includes storing data at a first storage tier by a processor executable storage operating system; tracking the data stored at the first storage tier for moving the data to a second storage tier; transferring the data from the first storage tier to the second storage tier; and updating a data structure that tracks a transfer block number of a block that stores the data, where the transfer block number is based on a virtual identifier, a generation count and an offset value of a storage chunk that is a portion of a physical volume block number address space.
Attributing Consumed Storage Capacity Among Entities Storing Data In A Storage Array
Attributing consumed storage capacity among entities storing data in a storage array includes: identifying a data object stored in the storage array and shared by a plurality of entities, where the data object occupies an amount of storage capacity of the storage array; and attributing to each entity a fractional portion of the amount of storage capacity occupied by the data object.
Adaptive raid for an SSD environment
A system and method for adaptive RAID geometries. A computer system comprises client computers and data storage arrays coupled to one another via a network. A data storage array utilizes solid-state drives and Flash memory cells for data storage. A storage controller within a data storage array is configured to determine a first RAID layout for use in storing data, and write a first RAID stripe to the device group according to the first RAID layout. In response to detecting a first condition, the controller is configured to determine a second RAID layout which is different from the first RAID layout, and write a second RAID stripe to the device group according to the second layout, whereby the device group concurrently stores data according to both the first RAID layout and the second RAID layout.
Attributing consumed storage capacity among entities storing data in a storage array
Attributing consumed storage capacity among entities storing data in a storage array includes: identifying a data object stored in the storage array and shared by a plurality of entities, where the data object occupies an amount of storage capacity of the storage array; and attributing to each entity a fractional portion of the amount of storage capacity occupied by the data object.
ADJUSTING A DISPERSAL PARAMETER OF DISPERSEDLY STORED DATA
A method includes dispersed storage error encoding a data object into a plurality of sets of encoded data slices. The method further includes determining a local slice storage number, a local area network (LAN) slice storage number, and a wide area network (WAN) slice storage number, wherein a sum of the local slice number, the LAN slice storage number, and the WAN slice storage number equals the pillar width number. For at least some sets of encoded data slices, the method further includes sending the local slice storage number of encoded data slices to the local slice storage number of local memory devices; sending the LAN slice storage number of encoded data slices to the LAN slice storage number of LAN storage units of the DSN; and sending the WAN slice storage number of encoded data slices to the WAN slice storage number of WAN storage units of the DSN.
MEMORY MAPPING FOR MEMORY, MEMORY MODULES, AND NON-VOLATILE MEMORY
Apparatuses and methods related to commands to transfer data and/or perform logic operations are described. For example, a command that identifies a location of data and a target for transferring the data may be issued to a memory device. Or a command that identifies a location of data and one or more logic operations to be performed on that data may be issued to a memory device. A memory module may include different memory arrays (e.g., different technology types), and a command may identify data to be transferred between arrays or between controllers for the arrays. Commands may include targets for data expressed in or indicative of channels associated with the arrays, and data may be transferred between channels or between memory devices that share a channel, or both. Some commands may identify data, a target for the data, and a logic operation for the data.
Technologies for storage and processing for distributed file systems
Techniques for storage and processing for distributed file systems are disclosed. In the illustrative embodiment, padding is placed between data elements in a file to be stored on a distributed file system. The file is to be split into several objects in order to be stored in the distributed file system, and the padding is used to prevent a data element from being split across two different objects. The objects are stored on data nodes, which analyze the objects to determine which data elements are present in the object as well at the location of those objects. The location of the objects is saved on the data storage device, and those locations can be used to perform queries on the data elements in the object on the data storage device itself. Such an approach can reduce transfer of data elements from data storage to local memory of the data node.
Updating RAID Protection Based on Storage System Characteristics
A system, method, and product for flexible RAID layouts in a storage system, including: determining a reliability of an individual storage device of a plurality of storage devices, the individual storage device containing a plurality of portions of a Redundant Array of Independent Disks (RAID) stripe in a storage system, wherein the RAID stripe includes user data and inter-device parity data; detecting a change in the reliability of the individual storage device that contains the portion corresponding to the RAID stripe; and changing an amount of intra-device protection corresponding to the RAID stripe by decreasing, in the RAID stripe, an amount of space used to store the inter-device protection data.
Technique for rapidly converting between storage representations in a virtualized computing environment
Embodiments described herein provide a storage conversion technique for rapidly converting between storage representations served by a storage system and presented to a host computer of a virtualized computing environment. The storage representations may include physical storage represented by a sequential set of blocks on disks of the storage system that are presented to the host computer in the form of a logical unit number (LUN) and virtual storage represented by a virtual storage device of the storage system that is presented to a hypervisor of the virtualized computing environment in the form of a virtual disk file. Illustratively, the LUN and virtual disk file may be storage objects (e.g., files) having different (file) types and formats in a volume of the storage system; yet each storage object may be organized as a buffer tree having indirect blocks that contain pointers configured to reference data blocks used to store data.