0

Pure Storage Inc patents list (updated weekly)
Real Time Touch



new TOP 200 Companies filing patents this week

new Companies with the Most Patent Filings (2010+)




Real Time Touch

Pure Storage Inc patents


Recent patent applications related to Pure Storage Inc. Pure Storage Inc is listed as an Agent/Assignee. Note: Pure Storage Inc may have other listings under different names/spellings. We're not affiliated with Pure Storage Inc, we're just tracking patents.

ARCHIVE: New 2018 2017 2016 2015 2014 2013 2012 2011 2010 2009 | Company Directory "P" | Pure Storage Inc-related inventors


Deduplication aware scalable content placement

Systems and methods of deduplication aware scalable content placement are described. A method may include receiving data to be stored on one or more nodes of a storage array and calculating a plurality of hashes corresponding to the data. ... Pure Storage Inc

Efficient flash management for multiple controllers

A storage controller coupled to a storage array comprising one or more storage devices receive a request to write data to one of the storage devices. The storage controller determines a first data block on the storage device comprising a list of deallocated data blocks on the storage device, the list comprising a block number of each deallocated data block and an access operation count value at which each deallocated data block was deallocated. ... Pure Storage Inc

Storage cluster

A method for managing processing power in a storage system is provided. The method includes providing a plurality of blades, each of a first subset having a storage node and storage memory, and each of a second, differing subset having a compute-only node. ... Pure Storage Inc

Distributed integrated high-speed solid-state non-volatile random-access memory

A system may include embedded storage devices, each including: a first solid state drive (ssd) storage portion and a second non-volatile random-access memory (nvram) portion. The nvram portion includes a random access memory (ram) device, a processing device, and an energy source, where the first ssd portion and the second nvram portion are separately addressable. ... Pure Storage Inc

Peer-to-peer non-volatile random-access memory

A system may include embedded storage devices, each including an addressable non-volatile random-access memory (nvram) portion and storage system controllers operatively coupled to the embedded storage devices via a full-duplex switched network. The storage system controllers may be configured to instruct a first embedded storage device of the plurality of embedded storage devices to: receive first data to be stored in a first nvram portion of the embedded storage device, store the first data in the first nvram portion of the first embedded storage device, and send second data to a second nvram portion of a second embedded storage device directly via the full-duplex switched network.. ... Pure Storage Inc

Scheduling operations for a storage device

A request to perform an operation at a storage device of a storage array may be received. Schedulable units of the storage device may be identified. ... Pure Storage Inc

Migrating data between volumes using virtual copy operation

A storage controller coupled to a storage array comprising one or more storage devices initiates a transformation of data from a block-based storage system resident on the storage array to a file-based storage system resident on a storage array. The storage controller identifies a plurality of data blocks to be transformed from the block-based storage system and generates metadata for a file in the file-based storage system, the metadata to associate the plurality of data blocks with the file.. ... Pure Storage Inc

Parallel segment writer

Apparatus and methods of operating solid-state drives in a storage system are described. A method includes adjusting, by a host controller of a storage system during run-time, storage bandwidth for a storage system process responsive to an input output (i/o) write request to write data to the storage system that includes multiple solid-state storage drives by determining an allocation share for the storage system process requesting to write the data, and responsive to determining an open segment usage by the storage system process is under the allocation share for the storage system process, opening a new segment for the storage system process.. ... Pure Storage Inc

Non-volatile ram and flash memory in a non-volatile solid-state storage

A non-volatile solid-state storage is provided. The non-volatile solid state storage includes a non-volatile random access memory (nvram) addressable by a processor external to the non-volatile solid state storage. ... Pure Storage Inc

Adaptive concurrency for write persistence

A method for adaptive concurrency for write persistence in a storage system, performed by the storage system, is provided. The method includes selecting a write process from among a plurality of write processes, responsive to receiving a write request for writing data into the storage system, and writing the data into the storage system in accordance with the selected write process. ... Pure Storage Inc

Distributed deletion of a file and directory hierarchy

A method of distributed file deletion, performed by a storage system, is provided. The method includes receiving, at the storage system, a request to delete a directory and contents of the directory and adding the directory to a first set, listed in a memory in the storage system. ... Pure Storage Inc

Storage system with elective garbage collection to reduce flash contention

A method for elective garbage collection in storage memory, performed by a storage system is provided. The method includes monitoring storage space available in each of a plurality of portions of storage memory of a storage system and detecting an imbalance in the storage space available across the plurality of portions of storage memory. ... Pure Storage Inc

Distributed file deletion and truncation

A method for distributed file deletion or truncation, performed by a storage system, is provided. The method includes determining, by an authority owning an inode of a file, which authorities own data portions to be deleted, responsive to a request for the file deletion or truncation. ... Pure Storage Inc

Token based communication

A method for authorizing i/o (input/output) commands in a storage cluster is provided. The method includes generating a token responsive to an authority initiating an i/o command, wherein the token is specific to assignment of the authority and a storage node of the storage cluster. ... Pure Storage Inc

03/08/18 / #20180067881

Ensuring the appropriate utilization of system resources using weighted workload based, time-independent scheduling

Ensuring the appropriate utilization of system resources using weighted workload based, time-independent scheduling, including: receiving an i/o request associated with an entity; determining whether an amount of system resources required to service the i/o request is greater than an amount of available system resources in a storage system; responsive to determining that the amount of system resources required to service the i/o request is greater than the amount of available system resources in the storage system: queueing the i/o request in an entity-specific queue for the entity; detecting that additional system resources in the storage system have become available; and issuing an i/o request from an entity-specific queue for an entity that has a highest priority, where a priority for each entity is determined based on the amount of i/o requests associated with the entity and a weighted proportion of resources designated for use by the entity.. . ... Pure Storage Inc

03/08/18 / #20180067775

Ensuring the fair utilization of system resources using workload based, time-independent scheduling

Ensuring the fair utilization of system resources using workload based, time-independent scheduling, including: determining whether an amount of system resource utilization in the storage system has reached a predetermined utilization threshold; and responsive to determining that the amount of system resource utilization in the storage system has reached a predetermined utilization threshold: determining whether one or more entities in the storage system have utilized system resources in excess of their fair share by a predetermined threshold during a time-independent period; and responsive to determining that one or more entities in the storage system have utilized system resources in excess of their fair share by the predetermined threshold during the time-independent period, freezing, at least partially, an amount by which the one or more entities in the storage system have utilized system resources in excess of their fair share.. . ... Pure Storage Inc

03/08/18 / #20180067772

Ensuring the fair utilization of system resources using workload based, time-independent scheduling

Ensuring the fair utilization of system resources using workload based, time-independent scheduling, including: determining whether an amount of available system resources in the storage system has reached a predetermined reservation threshold; and responsive to determining that the amount of available system resources in the storage system has reached the predetermined reservation threshold: determining whether one or more entities in the storage system have utilized system resources in excess of their fair share by a predetermined threshold during one or more time-independent periods; and responsive to determining that one or more entities in the storage system have utilized system resources in excess of their fair share by the predetermined threshold during the time-independent period, limiting the one or more entities from issuing additional i/o requests to the storage system.. . ... Pure Storage Inc

03/08/18 / #20180067771

Ensuring the fair utilization of system resources using workload based, time-independent scheduling

Ensuring the fair utilization of system resources using workload based, time-independent scheduling, including: receiving an i/o request associated with an entity; determining whether an amount of system resources required to service the i/o request is greater than an amount of available system resources in a storage system; responsive to determining that the amount of system resources required to service the i/o request is greater than the amount of available system resources in the storage system: queuing the i/o request in an entity-specific queue for the entity; detecting that additional system resources in the storage system have become available; and responsive to detecting that additional system resources in the storage system have become available, issuing an i/o request from an entity-specific queue for an entity that has a highest priority among entities with non-empty entity-specific queues.. . ... Pure Storage Inc

03/08/18 / #20180067652

Parallel update to maintain coherency

A method for updates in a storage system is provided. The method includes writing identifiers, associated with data to be stored, to storage units of the storage system and writing trim records indicative of identifiers that are allowed to not exist in the storage system to the storage units. ... Pure Storage Inc

03/01/18 / #20180060383

Method for maintaining multiple fingerprint tables in a deduplicating storage system

A system and method for managing tables in a storage system is described.. . ... Pure Storage Inc

02/08/18 / #20180039431

Scalable non-uniform storage sizes

A plurality of storage nodes cooperating as a storage cluster is provided. Each of the plurality of storage nodes has storage memory. ... Pure Storage Inc

02/01/18 / #20180032280

Geometry based, space aware shelf/writegroup evacuation

A method for migration of data is provided. The method includes triggering a rebuild of data according to a first migration mechanism from a first storage drive to a second storage drive. ... Pure Storage Inc

02/01/18 / #20180032279

Evacuating blades in a storage array that includes a plurality of blades

Evacuating blades in a storage array that includes a plurality of blades, including: detecting an occurrence of a blade evacuation event associated with one or more blades; iteratively until migration has completed for each of the blades associated with the blade evacuation event: selecting, in dependence upon a blade redundancy policy, one or more next blades to be evacuated from the storage array; migrating, from the one or more next blades to one or more blades in the storage array that are not associated with the blade evacuation event, data stored on the next blade; and migrating, from the one or more next blades to one or more blades in the storage array that are not associated with the blade evacuation event, storage array computational workloads executing on the one or more next blades.. . ... Pure Storage Inc

01/25/18 / #20180027681

Independent scaling of compute resources and storage resources in a storage system

A storage system that supports independent scaling of compute resources and storage resources, the storage system including: one or more chassis, wherein each chassis includes a plurality of slots, each slot configured to receive a blade; a plurality of compute resources; a plurality of storage resources; a plurality of blades, where each blade includes at least one compute resource or at least one storage resource and each of the storage resources may be directly accessed by each of the compute resources without utilizing an intermediate compute resource; a first power domain configured to deliver power to one or more of the compute resources; and a second power domain configured to deliver power to the storage resources, wherein the first power domain and the second power domain can be independently operated.. . ... Pure Storage Inc

01/25/18 / #20180024964

Disaggregated compute resources and storage resources in a storage system

A storage cluster with disaggregated compute resources and storage memory is provided. The storage cluster includes a plurality of blades coupled as the storage cluster, each of at least a subset of the plurality of blades having solid-state storage memory therein. ... Pure Storage Inc

01/25/18 / #20180024877

Optimize data protection layouts based on distributed flash wear leveling

A method for storing data in a storage system having solid-state memory is provided. The method includes determining portions of the solid-state memory that have a faster access rate and portions of the solid-state memory that have a slower access rate, relative to each other or to a threshold. ... Pure Storage Inc

01/25/18 / #20180024830

Hardware support for non-disruptive upgrades

A method for non-disruptive upgrade of a storage system is provided. The method includes disabling, by an interlock, access by one or more processors of the storage system to the first memory, responsive to a request. ... Pure Storage Inc

01/11/18 / #20180011721

Generation of an instruction guide based on a current hardware configuration of a system

Information identifying a current hardware configuration of a system may be received. Furthermore, information of a new hardware component that has not been installed may be received. ... Pure Storage Inc

01/04/18 / #20180004594

Masking defective bits in a storage array

A method of failure mapping is provided. The method includes determining that a non-volatile memory block in the memory has a defect and generating a mask that indicates the non-volatile memory block and the defect. ... Pure Storage Inc

12/07/17 / #20170351590

Dynamically forming a failure domain in a storage system that includes a plurality of blades

Dynamically forming a failure domain in a storage system that includes a plurality of blades, each blade mounted within one of a plurality of chassis, including: identifying, in dependence upon a failure domain formation policy, an available configuration for a failure domain that includes a first blade mounted within a first chassis and a second blade mounted within a second chassis, wherein each chassis is configured to support multiple types of blades; and creating the failure domain in accordance with the available configuration.. . ... Pure Storage Inc

11/23/17 / #20170337002

Dynamically configuring a storage system to facilitate independent scaling of resources

Dynamically configuring a storage system to facilitate independent scaling of resources, including: detecting a change to a topology of the storage system consisting of different sets of blades configured within one of a plurality of chassis; and reconfiguring the storage system to change an allocation of resources to one or more authorities responsive to detecting the change to the topology of the storage system.. . ... Pure Storage Inc

11/16/17 / #20170331626

Resharing of a split secret

A processor-based method for secret sharing in a computing system is provided. The method includes encrypting shares of a new secret, using a previous secret and distributing unencrypted shares of the new secret and the encrypted shares of the new secret, to members of the computing system. ... Pure Storage Inc

09/21/17 / #20170269838

Performing a non-disruptive upgrade of data in a storage system

Performing a non-disruptive upgrade of data in a storage system that includes a plurality of storage devices and a storage controller, including: creating new data in a new data format, wherein the new data includes a reference to old data in an old data format, wherein system software in the storage system can utilize data in the new data format and the old data format; determining that a portion of the volume has changed; and responsive to determining that the portion of the volume has changed, updating the new data to include a reference to old data associated with a portion of the volume that precedes the changed portion of the volume, new data associated with the changed portion of the volume, and a reference to old data associated with a portion of the volume that follows the changed portion of the volume.. . ... Pure Storage Inc

08/24/17 / #20170242604

Ability to partition an array into two or more logical arrays with independently running software

A plurality of storage nodes in a single chassis is provided. The plurality of storage nodes includes a first plurality of storage nodes configured to communicate together as a first storage cluster and a second plurality of storage nodes configured to communicate together as a second storage cluster. ... Pure Storage Inc

08/17/17 / #20170235774

Compressing data in dependence upon characteristics of a storage system

Compressing data in dependence upon characteristics of a storage system, including: receiving an amount of processing resources available in the storage system; receiving an amount of space available in the storage system; and selecting, in dependence upon the priority for conserving the amount of processing resources and the amount of space, a data compression algorithm to utilize to compress the data.. . ... Pure Storage Inc

08/17/17 / #20170235503

Managing input/output ('i/o') queues in a data storage system

Managing input/output (‘i/o’) queues in a data storage system, including: receiving, by a host that is coupled to a plurality of storage devices via a storage network, a plurality of i/o operations to be serviced by a target storage device; determining, for each of a plurality of paths between the host and the target storage device, a data transfer maximum associated with the path; determining, for one or more of the plurality of paths, a cumulative amount of data to be transferred by i/o operations pending on the path; and selecting a target path for transmitting one or more of the plurality of i/o operations to the target storage device in dependence upon the cumulative amount of data to be transferred by i/o operations pending on the path and the data transfer maximum associated with the path.. . ... Pure Storage Inc

08/03/17 / #20170220464

Efficiently managing encrypted data on a remote backup server

Efficiently managing encrypted data on a remote backup server, including: receiving an encrypted extent of data; storing the encrypted extent; determining, without decrypting the encrypted extent, whether the encrypted extent is no longer valid; and responsive to determining that the encrypted extent is no longer valid, garbage collecting the encrypted extent.. . ... Pure Storage Inc

08/03/17 / #20170220387

Placing workloads in a multi-array system

Placing workloads in a multi-array system comprising a plurality of storage arrays, including: determining, for each of a plurality of storage arrays, a current system activity level trend of the storage array; receiving a performance profile of a workload to be executed on one of the storage arrays; generating, for each of the plurality of storage arrays in dependence upon the current system activity level trend of the storage array and the performance profile of the workload, a projected system activity level trend for the storage array; identifying, in dependence upon the projected system activity level trend for each of the plurality of storage arrays, an optimal storage array for receiving the workload; and placing the workload on the optimal storage array.. . ... Pure Storage Inc

07/20/17 / #20170206136

Automatically reconfiguring a storage memory topology

A storage cluster is provided. The storage cluster includes a plurality of storage nodes within a single chassis. ... Pure Storage Inc

07/13/17 / #20170199823

Nonrepeating identifiers in an address space of a non-volatile solid-state storage

A method of applying an address space to data storage in a non-volatile solid-state storage is provided. The method includes receiving a plurality of portions of user data for storage in the non-volatile solid-state storage and assigning to each successive one of the plurality of portions of user data one of a plurality of sequential, nonrepeating addresses of an address space. ... Pure Storage Inc

06/29/17 / #20170185313

Intelligently compressing data in a storage array

Intelligently compressing data in a storage array that includes a plurality of storage devices, including: prioritizing, in dependence upon an expected benefit to be gained from compressing each data element, one or more data elements; receiving an amount of processing resources available for compressing the one or more of the data elements; and selecting, in dependence upon the prioritization of the one or more data elements and the amount of processing resources available for compressing one or more of the data elements, a data compression algorithm to utilize on one or more of the data elements.. . ... Pure Storage Inc

06/22/17 / #20170177253

Distributed transactions with token-associated execution

A method of processing transactions associated with a command in a storage system is provided. The method includes receiving, at a first authority of the storage system, a command relating to user data. ... Pure Storage Inc

06/15/17 / #20170169052

Proactive management of a plurality of storage arrays in a multi-array system

Proactive management of a plurality of storage arrays in a multi-array system, including: comparing one or more conditions of a particular storage array to conditions of other storage arrays in the multi-array system; and generating an action recommendation based on the comparison, the action recommendation specifying one or more actions for improving the conditions of the particular storage array relative to the conditions of the other storage arrays.. . ... Pure Storage Inc

06/08/17 / #20170163728

Synchronizing snapshots between storage systems

Synchronizing snapshots between storage systems, including: receiving, from a source storage system, an identification of a snapshot to be replicated to a destination storage system; identifying, from hint information stored on the destination storage system, a most recent version of the snapshot that is stored on the destination storage system; issuing, to the source storage system, a request for an identification of the differences between the snapshot to be replicated to the destination storage system and the most recent version of the snapshot that is stored on the destination storage system; receiving, from the source storage system, the identification of the differences; and issuing a request to transfer, from the source storage system to the destination storage system, data associated with the differences.. . ... Pure Storage Inc

06/08/17 / #20170161184

Writing data in a storage system that includes a first type of storage device and a second type of storage device

Writing data in a storage system that includes a first type of storage device and a second type of storage device, including: selecting, for one or more unprocessed write requests, a target storage device type from the first type of storage device and the second type of storage device; issuing a first group of write requests to the first type of storage device, the first group of write requests addressed to one or more locations selected in dependence upon an expected address translation to be performed by the first type of storage device; and issuing a second group of write requests to the second type of storage device, the second group of write requests addressed to one or more locations selected in dependence upon a layout of memory in the second type of storage device.. . ... Pure Storage Inc

05/18/17 / #20170139776

Failure mapping in a storage array

A storage cluster is provided. The storage cluster includes a plurality of storage nodes within a chassis. ... Pure Storage Inc

05/04/17 / #20170126470

Distributing management responsibilities for a storage system

Distributing management responsibilities for a storage system that includes a storage array controller and a plurality of storage devices, including: identifying a plurality of elements in the storage system; for each of the plurality of elements in the storage system, creating a distributed manager, wherein each distributed manager is configured for gathering information describing the state of the associated element in the storage system, determining an action to perform against the associated element in the storage system, and executing an approved action against the associated element in the storage system; and creating a distributed management hierarchy that includes each of the distributed managers.. . ... Pure Storage Inc

05/04/17 / #20170126255

Dynamically adjusting an error correction effort level of a storage device

Dynamically adjusting an error correction effort level of a storage device, including: receiving, from a storage array controller, an error correction effort level to perform when attempting to read data from the storage device; identifying that an attempt to read the data resulted in an error; and determining whether an amount of error correction effort level required to attempt to correct the error exceeds the error correction effort level to perform when attempting to read data from the storage device.. . ... Pure Storage Inc

05/04/17 / #20170123926

Ensuring crash-safe forward progress of a system configuration update

Ensuring crash-safe forward progress of a system configuration update in a storage system that includes a storage array controller and a plurality of storage devices, including: determining a number of storage devices in the storage system; determining a number of unavailable storage devices in the storage system; and determining, for the one or more system configurations, whether the system configuration can be reconstructed in dependence upon the number of storage devices in the storage system and the number of unavailable storage devices in the storage system.. . ... Pure Storage Inc

05/04/17 / #20170123691

Optimizing copy operations

Optimizing copy operations in a storage array, including: receiving a plurality of copy operations; detecting a triggering event that causes a storage array controller to initiate execution of the plurality of copy operations; and combining, in dependence upon a metadata optimization policy, the plurality of copy operations into a single copy operation.. . ... Pure Storage Inc

04/27/17 / #20170118028

Authorizing i/o commands with i/o tokens

A method for authorizing i/o (input/output) commands in a storage cluster is provided. The method includes generating a token responsive to an authority initiating an i/o command, wherein the token is specific to assignment of the authority and a storage node of the storage cluster. ... Pure Storage Inc

04/27/17 / #20170116100

Disaster recovery at high reliability in a storage cluster

A storage grid is provided. The storage grid includes a first cluster, a second cluster, and a third cluster. ... Pure Storage Inc

04/27/17 / #20170116074

Rebuilding data across storage nodes

A method for proactively rebuilding user data in a plurality of storage nodes of a storage cluster is provided. The method includes distributing user data and metadata throughout the plurality of storage nodes such that the plurality of storage nodes can read the user data, using erasure coding, despite loss of two of the storage nodes. ... Pure Storage Inc

04/27/17 / #20170115878

Proactively tuning a storage array

Proactively tuning a storage array includes: determining, in dependence upon telemetry from a storage array supporting a workload having one or more particular workload attributes, whether performance settings of the storage array meet predefined criteria specified in a best practices template for the particular workload attributes; and responsive to determining that the performance settings of the storage array do not meet the predefined criteria specified in the best practices template for the particular workload attributes, applying one or more performance settings specified in the best practices template to the storage array.. . ... Pure Storage Inc

04/20/17 / #20170109055

Capacity planning in a multi-array storage system

Capacity planning in a multi-array system that includes a plurality of storage arrays, includes: receiving data representing projected capacity utilization for at least one of the plurality of storage arrays, where the projected capacity utilization is generated in dependence upon capacity utilization patterns of a plurality of other storage arrays; and presenting the projected capacity utilization.. . ... Pure Storage Inc

03/30/17 / #20170093980

Storage system architecture

A storage system is provided. The storage system includes a plurality of storage units, each of the plurality of storage units having storage memory for user data and a plurality of storage nodes, each of the plurality of storage nodes configured to have ownership of a portion of the user data. ... Pure Storage Inc

03/30/17 / #20170093564

Resharing of a split secret

A processor-based method for secret sharing in a computing system is provided. The method includes encrypting shares of a new secret, using a previous secret and distributing unencrypted shares of the new secret and the encrypted shares of the new secret, to members of the computing system. ... Pure Storage Inc

03/30/17 / #20170091236

Mechanism for a system where data and metadata are located closely together

A processor-based method for locating data and metadata closely together in a storage system is provided. The method includes writing a first range of a file and a first metadata relating to attributes of the file into at least one segment controlled by a first authority of the file. ... Pure Storage Inc

03/30/17 / #20170091114

Hardware assisted data lookup methods

A method for hardware assisted data lookup in a storage unit is provided. The method includes formatting data in at least one of a plurality of data formats for storage in the storage unit. ... Pure Storage Inc

03/16/17 / #20170075782

Mechanism for persisting messages in a storage system

A plurality of storage nodes is provided. Each of the plurality of storage nodes includes nonvolatile solid-state memory for user data storage. ... Pure Storage Inc

03/16/17 / #20170075586

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.. . ... Pure Storage Inc

03/09/17 / #20170068476

Scheduling policy for queues in a non-volatile solid-state storage

A method of applying scheduling policies is provided. The method includes distributing user data throughout a plurality of storage nodes through erasure coding, wherein the plurality of storage nodes are housed within a single chassis coupling the storage nodes as a cluster. ... Pure Storage Inc

03/02/17 / #20170060934

Modifying a compressed block of data

Modifying a compressed block of data, including: splitting the compressed block of data into a leading compressed portion and a trailing compressed portion, wherein neither the leading compressed portion nor the trailing compressed portion includes an outdated portion of the compressed block of data; creating an updated compressed block to replace the outdated portion; and combining the leading compressed portion, the updated compressed block, and the trailing compressed portion.. . ... Pure Storage Inc

03/02/17 / #20170060711

Error recovery in a storage cluster

A plurality of storage nodes within a single chassis is provided. The plurality of storage nodes is configured to communicate together as a storage cluster. ... Pure Storage Inc

03/02/17 / #20170060451

Erase block state detection

A method for erasure detection in a storage cluster is provided. The method includes establishing a connection, via a network, of a storage unit to one of a plurality of storage nodes of a storage cluster and determining, for at least one page of a storage memory of the storage unit, that the at least one page is erased. ... Pure Storage Inc

03/02/17 / #20170060444

Placing data within a storage device

Placing data within a storage device, including: receiving, by a storage device, information describing an expected longevity of data stored on the storage device; determining, by the storage device, a location for storing the data in dependence upon the expected longevity of the data; adjusting a garbage collection schedule in dependence upon data placement; and providing, to a storage array controller, garbage collection statistics.. . ... Pure Storage Inc

02/09/17 / #20170039150

Emulating a remote direct memory access ('rdma') link between controllers in a storage array

Emulating a remote direct memory access (‘rdma’) link between controllers in a storage array, including: inserting, into a buffer utilized by a direct memory access (‘dma’) engine of a first storage array controller, a data transfer descriptor describing data stored in memory of the first storage array controller and a location to write the data to memory of the second storage array controller; retrieving, in dependence upon the data transfer descriptor, the data stored in memory of the first storage array controller; and writing the data into the memory of the second storage array controller in dependence upon the data transfer descriptor.. . ... Pure Storage Inc

01/26/17 / #20170024141

Data rebuild on feedback from a queue in a non-volatile solid-state storage

A storage cluster is provided. The storage cluster includes a plurality of storage nodes, each of the plurality of storage nodes having nonvolatile solid-state memory and a plurality of operations queues coupled to the solid-state memory. ... Pure Storage Inc

01/19/17 / #20170017666

Efficient distribution of large directories

A method for distribution of directories in a storage system is provided. The method includes distributing information, regarding location in the storage system of a plurality of files in a directory, to a plurality of owners in a plurality of storage nodes of the storage system, wherein ownership of differing subsets of the plurality of files of the directory is distributed among differing owners in differing storage nodes. ... Pure Storage Inc

01/19/17 / #20170017662

Method and system for accessing a file

A method for accessing a file in a storage system is provided. The method includes determining, for each file chunk of the file, an authority among differing storage nodes of the storage system and receiving from the authority having ownership of the file chunk, location information for the file chunk. ... Pure Storage Inc

01/05/17 / #20170003896

Offloading device management responsibilities from a storage device in an array of storage devices

Offloading device management responsibilities from a storage device in an array of storage devices, including: retrieving, from the storage device, control information describing the state of one or more memory blocks in the storage device; and performing, in dependence upon the control information, a storage device management operation.. . ... Pure Storage Inc








ARCHIVE: New 2018 2017 2016 2015 2014 2013 2012 2011 2010 2009



###

This listing is an abstract for educational and research purposes is only meant as a recent sample of applications filed, not a comprehensive history. Freshpatents.com is not affiliated or associated with Pure Storage Inc in any way and there may be associated servicemarks. This data is also published to the public by the USPTO and available for free on their website. Note that there may be alternative spellings for Pure Storage Inc with additional patents listed. Browse our Agent directory for other possible listings. Page by FreshPatents.com

###