Raid Patents (Class 714/6.22)
  • Patent number: 10528265
    Abstract: A data storage system includes a plurality of Data Storage Devices (DSDs). A write command is sent to each DSD of the plurality of DSDs to each store one or more erasure coded shards of an overprovisioned number of shards. The overprovisioned number of shards is generated from an erasure coding on data to provide at least a predetermined level of data reliability. Write complete indications are received for a threshold number of shards less than the overprovisioned number of shards, with each write complete indication indicating that one or more shards of the overprovisioned number of shards has been stored in a DSD. It is determined that the data has been written with at least the predetermined level of data reliability after receiving write complete indications for the threshold number of shards, but before receiving write complete indications for all of the overprovisioned number of shards.
    Type: Grant
    Filed: September 3, 2016
    Date of Patent: January 7, 2020
    Assignee: Western Digital Technologies, Inc.
    Inventors: James N. Malina, Kent Anderson, James C. Alexander
  • Patent number: 10528438
    Abstract: A system and method for managing bad blocks in a hardware accelerated caching solution are provided. The disclosed method includes receiving an Input/Output (I/O) request, performing a hash search for the I/O request against a hash slot data structure, and based on the results of the hash search, either performing the I/O request with a data block identified in the I/O request or diverting the I/O request to a new data block not identified in the I/O request. The diversion may also include diverting the I/O request from hardware to firmware of a memory controller.
    Type: Grant
    Filed: May 25, 2017
    Date of Patent: January 7, 2020
    Assignee: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
    Inventors: Horia Simionescu, Gowrisankar Radhakrishnan, Timothy Hoglund, Sridhar Rao Veerla, Panthini Pandit
  • Patent number: 10521592
    Abstract: In one embodiment, a software application that is downloaded from an untrusted source is marked, based on the untrusted classification of the source, to be translocated when the software application is launched. When the software application is launched it is translocated, through a mirroring file system, to a random mount point that is a partial bind mount to the real file system that stores the image of the software application (e.g. the image of the software application's bundle).
    Type: Grant
    Filed: April 18, 2017
    Date of Patent: December 31, 2019
    Assignee: Apple Inc.
    Inventors: Simon P. Cooper, Julien Oster, Robert J. Kendall-Kuppe, Christopher S. Linn, Jonathan Grynspan, Keith Stattenfield
  • Patent number: 10506045
    Abstract: A processing device implementing a storage unit is included in a distributed storage network (DSN) that uses employing one or more storage units to store encoded data slices. The storage unit receives an access request that includes a slice identifier associated with an encoded data slice stored in a particular distributed storage (DS) memory of the storage unit. The storage unit obtains a secure seed, and determines a memory range associated with the slice identifier by performing a deterministic function on the slice identifier using the secure seed as an input to the deterministic function. The storage unit identifies the particular DS memory as being associated with the memory range, and performs the access request using the particular DS memory.
    Type: Grant
    Filed: December 8, 2017
    Date of Patent: December 10, 2019
    Assignee: PURE STORAGE, INC.
    Inventors: Ilya Volvovski, Jason K. Resch
  • Patent number: 10467074
    Abstract: Systems and methods are disclosed for a journal for a storage class memory device. The storage class memory device may execute an access command for a first page in the storage class memory device. The storage class memory device may also determine whether a failure occurred while executing the access command. The storage class memory device may create an entry in a journal for the storage class memory device if a failure occurred while executing the access command. The storage class memory device may refrain from creating the entry if a failure does not occur while executing the access command.
    Type: Grant
    Filed: December 30, 2016
    Date of Patent: November 5, 2019
    Assignee: WESTERN DIGITAL TECHNOLOGIES, INC.
    Inventors: Kiran Kumar Gunnam, Viacheslav Anatolyevich Dubeyko
  • Patent number: 10402122
    Abstract: A method for transferring encoded data slices from a first storage unit to a second storage unit begins by a processing module ascertaining a first mathematical process used to determine that the encoded data slices are to be stored in the first storage unit, where the first mathematical process includes a first mathematical function sequence and a first set of coefficients. The method continues with the processing module determining a second mathematical process, which indicates that the encoded data slices are to be stored in the second storage unit, where the second mathematical process corresponds to an adjustment of at least one of the first mathematical function sequence and the first set of coefficients. The method continues with the processing module transferring, based on a transfer command, the encoded data slices from the first storage unit to the second storage unit utilizing the second mathematical process.
    Type: Grant
    Filed: March 28, 2016
    Date of Patent: September 3, 2019
    Assignee: PURE STORAGE, INC.
    Inventors: Jason K. Resch, Manish Motwani
  • Patent number: 10289336
    Abstract: Technology for relocating data stored in an end of life source storage drive that identifies individual destination drive extents corresponding to drive extents located in the source storage drive by selecting individual storage drives within a set of healthy storage drives in a group of storage drives in a round robin manner and identifying an individual destination drive extent from each selected storage drive. The corresponding destination drive extents replace the drive extents located in the source storage drive, and are used to store data copied from the drive extents located in the source storage drive. Data is copied in parallel from a set of multiple drive extents located in the source storage drive that is selected based on the current total input/output load determined for each storage drive in the set of healthy storage drives, and on the storage drives on which the corresponding destination drive extents are located.
    Type: Grant
    Filed: February 5, 2018
    Date of Patent: May 14, 2019
    Assignee: EMC IP Holding Company LLC
    Inventors: Qingyun Liu, Jamin Kang, Shaoqin Gong, Ree Sun, Jian Gao
  • Patent number: 10241877
    Abstract: A data storage system includes a controller, a hot spare storage device and a plurality of primary storage devices. The controller utilizes the hot spare storage device to mirror only a subset of each stripe of logical pages written across the data storage array, where the subset includes a logical page determined by a write input/output operation (IOP) policy. In response to receipt of a write IOP, the controller writes a stripe including a plurality of logical data pages and a logical data protection page across the plurality of primary storage devices and mirrors the logical page determined by the write IOP policy on the hot spare storage device. In response to a failure of a storage device among the plurality of primary storage devices, contents of the failed storage device not already mirrored on the hot spare storage device are rebuilt on the hot spare storage device.
    Type: Grant
    Filed: December 12, 2016
    Date of Patent: March 26, 2019
    Assignee: International Business Machines Corporation
    Inventors: Charles J. Camp, Lev M. Shuhatovich
  • Patent number: 10229023
    Abstract: A computer-implemented method for managing storage devices in a storage subsystem having an array of storage devices, according to one embodiment, includes determining that at least one storage device in the array of storage devices has failed. Storage device characteristics of the failed storage device are compared with storage device characteristics of each of a plurality of candidate devices, and an attempt is made to identify a first candidate storage device having storage device characteristics that match the storage device characteristics of the failed storage device. A second candidate storage device having storage device characteristics most similar to the storage device characteristics of the failed storage device is identified in response to not identifying a candidate device that matches the failed storage device.
    Type: Grant
    Filed: December 18, 2015
    Date of Patent: March 12, 2019
    Assignee: International Business Machines Corporation
    Inventors: Eric J. Bartlett, Matthew J. Fairhurst, William J. Scales
  • Patent number: 10089026
    Abstract: Techniques are disclosed for using virtual drives to provide RAID groups in a data storage system. A pool of virtual drives is generated by i) dividing each one of a set of physical drives into multiple regions of physically contiguous non-volatile data storage, and ii) allocating individual regions of physically contiguous non-volatile data storage to corresponding virtual drives contained in a pool of virtual drives. RAID groups are then formed, where each one of the RAID groups is made up of a set of virtual drives assigned to the RAID group from the pool of virtual drives. One or more storage objects is then mapped to each RAID group, and host I/O operations received by the data storage system and directed to the storage object mapped to the RAID group are serviced using the set of virtual drives assigned to the RAID group.
    Type: Grant
    Filed: December 29, 2016
    Date of Patent: October 2, 2018
    Assignee: EMC IP Holding Company LLC
    Inventors: Peter Puhov, Robert P. Foley, Jian Gao, Geng Han, Jibing Dong
  • Patent number: 10067696
    Abstract: Systems and processes to prevent storage capacity exhaustion within distributed storage systems using chunk-based storage. The systems and processes control capacity by classifying various types of storage chunks into groups and impose used capacity thresholds on chunk groups.
    Type: Grant
    Filed: June 20, 2016
    Date of Patent: September 4, 2018
    Assignee: EMC Corporation
    Inventors: Mikhail Malygin, Mikhail Danilov, Chen Wang, Ivan Tchoub, Andrey Fomin
  • Patent number: 10033803
    Abstract: A method for performing auto-repair of a data volume may include determining a number of unavailable shards from a plurality of shards associated with a data volume. The plurality of shards may be stored in a plurality of data centers. The data volume may be erasure-coded with a total of N shards and can be reconstructed using at least K available shards out of the N shards. The unavailable shards may be filtered to exclude shards that have been unavailable for less than a threshold amount of time. For each of the plurality of data centers, a total number of unavailable shards may be determined if the data center is disabled. The total number of unavailable shards may be based at least in part on a number of shards associated with the data volume and stored at the data center, and a number of the filtered unavailable shards stored at the remaining plurality of data centers.
    Type: Grant
    Filed: October 31, 2014
    Date of Patent: July 24, 2018
    Assignee: Amazon Technologies, Inc.
    Inventors: Jonathan Robert Collins, Divya Malika Patruni, Neha Sherpa, Bogdan Munteanu
  • Patent number: 9886195
    Abstract: The disclosed embodiments provide a system for analyzing data from a monitored system. During operation, the system identifies a difference between a performance of an application and a service-level agreement (SLA) of the application. Next, the system determines a correlation between the performance of the application and a disk input/output (I/O) performance of a data storage device used by the application. When the correlation exceeds a threshold, the system outputs a recommendation to migrate the application between the data storage device and a different type of data storage device.
    Type: Grant
    Filed: January 14, 2016
    Date of Patent: February 6, 2018
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Zhenyun Zhuang, Sergiy Zhuk, Haricharan K. Ramachandra, Badrinath K. Sridharan
  • Patent number: 9842660
    Abstract: A method for managing a non-volatile random-access memory (NVRAM)-based storage subsystem, the method including: monitoring, by a slave controller on a NVRAM device of the NVRAM-based storage subsystem, an I/O operation on the NVRAM device; identifying, by the slave controller and based on the monitoring, at least one occurrence of error data; comparing, by the slave controller, a numeric aspect of the at least one occurrence of error data with a threshold setting; reporting, by the slave controller on the NVRAM device and to a master controller of the NVRAM-based storage subsystem, the at least one occurrence of error data in response to the numeric aspect crossing the threshold setting; and ascertaining, by the master controller of the NVRAM-based storage system, a physical location of a defect region on the NVRAM device where the error data has occurred by analyzing the reported at least one occurrence of error data.
    Type: Grant
    Filed: March 15, 2013
    Date of Patent: December 12, 2017
    Assignee: VIRIDENT SYSTEMS, LLC
    Inventors: Vijay Karamcheti, Ashish Singhai, Ashwin Narasimha, Muthugopalkrishnan Adiseshan, Viswesh Sankaran, Ajith Kumar
  • Patent number: 9824763
    Abstract: A memory system includes: a memory device comprising a plurality of memory dies, each memory die including a plurality of planes, each plane including a plurality of memory blocks, each memory block including a plurality of pages, each page including a plurality of memory cells in which data is stored; and a controller suitable for, after a first time when the memory system in a power-on state performs a program operation corresponding to a write command received from a host, on first pages of the memory blocks, and records program information on the program operation in a list, in the case where power off occurs at a second time while the memory system performs a program operation on second pages of the memory blocks, checking the program information recorded in the list after the memory system is changed from a power-off state to the power-on state at a third time, and performing a recovery operation for the memory blocks for which a program operation was not completed due do the power off.
    Type: Grant
    Filed: January 13, 2017
    Date of Patent: November 21, 2017
    Assignee: SK Hynix Inc.
    Inventor: Eu-Joon Byun
  • Patent number: 9747973
    Abstract: A data writing method for a solid state storage device includes following steps. A step (a) is performed to judge whether a shutdown command is issued from a host. In a step (b), if the solid state storage device confirms that the shutdown command is not issued from the host, plural program procedures are performed. Consequently, plural write data in a buffer are stored to a triple-level cell flash memory according to a program order. In a step (c), if the solid state storage device confirms that the shutdown command is issued from the host, plural redundant data are added to the plural write data, the write data are stored into the buffer, and the plural program procedures are performed. Consequently, the plural write data in the buffer are stored to the triple-level cell flash memory according to the program order.
    Type: Grant
    Filed: January 11, 2016
    Date of Patent: August 29, 2017
    Assignees: LITE-ON ELECTRONICS (GUANGZHOU) LIMITED, LITE-ON TECHNOLOGY CORPORATION
    Inventors: Ming-Hsuan Lee, Sen-Ming Chuang, Jen-Cheng Liu
  • Patent number: 9740440
    Abstract: A RAID controller stores data in a hybrid asymmetric mix of a RAID 1 mirror and a parity-based RAID array, wherein a first side of the RAID 1 mirror includes a single data storage device storing an operating system image and a second side of the RAID 1 mirror includes a plurality of data storage devices forming a parity-based RAID array. The RAID controller normally calculates parity using data from both the single data storage device and the plurality of data storage devices. However, in response to a user command, the RAID controller recalculates parity stripes on each of the plurality of data storage devices using a predetermined data pattern for a logical data storage device logically replacing the single data storage device storing the operating system. Accordingly, the same stripe count is maintained and the parity-based RAID array maintains redundancy despite physical separation of the single data storage device.
    Type: Grant
    Filed: May 21, 2015
    Date of Patent: August 22, 2017
    Assignee: Lenovo Enterprise Solutions (Singapore) Pte. Ltd.
    Inventors: Gary D. Cudak, Christopher J. Hardee, Lydia M. Do, Adam Roberts
  • Patent number: 9679611
    Abstract: A method implemented by a status-monitoring device connected between a storage device and a corresponding output unit includes: a) determining presence of a storage device according to a first packet from the storage device; b) when it is determined that the storage device is present, generating a pulse signal according to a second packet from the storage device; c) generating a driving signal indicating a status associated with the storage device according to at least a logic level of the pulse signal; and d) sending the driving signal to the output unit for driving the output unit to output an output signal indicating the status.
    Type: Grant
    Filed: September 28, 2015
    Date of Patent: June 13, 2017
    Assignee: MITAC COMPUTING TECHNOLOGY CORPORATION
    Inventors: Yi-Hao Hong, Che-Wei Chang, Chi-Hsing Wang, Hsin-Ta Huang
  • Patent number: 9632870
    Abstract: A data memory system is described, where there may be an asymmetry in the time needed to write or erase data and the time needed to read data. The data may be stored using a RAID data storage arrangement and the reading, writing and erasing operations on the modules arranged such that the erasing and writing operations may be performed without significant latency for performing a read operation. Where a failure of a memory module in the memory system occurs, methods for recovering the data of the failed module are disclosed which may selected in accordance with policies that may relate to the minimizing the possibility of irretrievable data loss, or degradation of latency performance.
    Type: Grant
    Filed: October 8, 2010
    Date of Patent: April 25, 2017
    Assignee: Violin Memory, Inc.
    Inventor: Jon C. R. Bennett
  • Patent number: 9626246
    Abstract: A data storage system employs a de-clustered RAID (DCR) organization with a Vertical Rotation approach to prevent overflow of cache buffers. The Vertical Rotation Controller limits the size of the I/O operation relative to a respective Physical Disk Extent (PDE) to the cache buffer, and writes/reads a computed parity stripe matching the size of the cache, to form chunk bundles in the PDEs. When a bundle is filled in a first PDE residing at a first row, a PDE residing at a second row vertically displaced from the first row is engaged for forming another bundle. The process continues until all PDEs in a Vertical Rotation Group (VRG) are filled, or continues to a next VRG vertically displaced from a previous one to end I/O requesting.
    Type: Grant
    Filed: September 10, 2015
    Date of Patent: April 18, 2017
    Assignee: DataDirect Networks, Inc.
    Inventor: Micheal S. Parkhurst
  • Patent number: 9569136
    Abstract: A mechanism is provided for balancing workload to one or more storage disks in a plurality of storage disks during redistribution or replication associated with adding or removing a storage disk to the plurality of storage disks. Historical information in collected information from the plurality of storage disks is analyzed to identify I/O operation patterns on a per storage disk level. An average amount of I/O operations that occur within each storage disk for a given time period are identified. For each storage disk that is impacted, a disk on/off-hoarding plan is generated that identifies a subset of I/O operations from a set of I/O operations to execute in the given time period using the average amount of I/O operations that historically occur within the storage disk that is impacted during the given time period. The subset of I/O operations are then executed in the given time period.
    Type: Grant
    Filed: April 29, 2015
    Date of Patent: February 14, 2017
    Assignee: International Business Machines Corporation
    Inventors: Liang Fang, Jie P. Wu, Jun W. Zhang, Xiao D. Zhang
  • Patent number: 9519554
    Abstract: In a storage system which supports a redundant disk configuration, while securing fault tolerance, a longer drive access time as well as a drop in I/O throughput are prevented when a redundant data update, generated due to a data update, is mirrored in the drive. A controller for controlling data I/O to and from the drive updates first redundant data and block data of a corresponding data stripe in the disk drive in correspondence with an update of block data of the logical volume, and the controller updates second redundant data on the basis of a predetermined number of block data which belong to the same data stripe as the updated block data with different timing from the update of the block data.
    Type: Grant
    Filed: April 4, 2014
    Date of Patent: December 13, 2016
    Assignee: Hitachi, Ltd.
    Inventor: Hiroaki Akutsu
  • Patent number: 9430341
    Abstract: Failover in a data center that includes a multi-density server, where the multi-density server includes multiple independent servers, includes; detecting, by a management module, a failure of one of the independent servers of the multi-density server; identifying, by the management module, a failover target; determining, by the management module, whether the failover target is a non-failed independent server included in the multi-density server; and responsive to determining that the failover target is a non-failed independent server included in the multi-density server, migrating, by the management module, the failed independent server's workload to another server that is not included in the multi-density server.
    Type: Grant
    Filed: November 22, 2013
    Date of Patent: August 30, 2016
    Assignee: International Business Machines Corporation
    Inventors: Nicholas J. Balogh, Albert D. Bennah, Adrian X. Rodriguez
  • Patent number: 9417821
    Abstract: In accordance with embodiments disclosed herein, there are provided methods, systems, mechanisms, techniques, and apparatuses for presentation of direct accessed storage under a logical drive model; for implementing a distributed architecture for cooperative NVM Data protection; data mirroring for consistent SSD latency; for boosting a controller's performance and RAS with DIF support via concurrent RAID processing; for implementing arbitration and resource schemes of a doorbell mechanism, including doorbell arbitration for fairness and prevention of attack congestion; and for implementing multiple interrupt generation using a messaging unit and NTB in a controller through use of an interrupt coalescing scheme.
    Type: Grant
    Filed: September 30, 2011
    Date of Patent: August 16, 2016
    Assignee: Intel Corporation
    Inventors: Thomas M. Slaight, Sivakumar Radhakrishnan, Mark Schmisseur, Pankaj Kumar, Saptarshi Mondal, Sin S. Tan, David C. Lee, Marc T. Jones, Geetani R. Edirisooriya, Bradley A. Burres, Brian M. Leitner, Kenneth C. Haren, Michael T. Klinglesmith, Matthew R. Wilcox, Eric J. Dahlen
  • Patent number: 9323616
    Abstract: A method of defining a layout mapping function for a parity distributed RAID array including a plurality of target objects, the layout mapping function defining the mapping of the group-address space to the target-address space in the array and including a matrix defining a unit space across a plurality of target objects, the matrix Includes columns defining the target objects and rows defining equally-offset sequential units on the target objects, the method including: a) defining, on a computing apparatus, a layout of stripe groups across the target objects by defining a pattern including a plurality of stripe groups into a predetermined pattern and repeating the pattern across the matrix, each stripe group including a plurality of data units and a plurality of parity units; and b) implementing, on a computing apparatus, the layout on the target objects of the RAID array.
    Type: Grant
    Filed: March 20, 2014
    Date of Patent: April 26, 2016
    Assignee: Xyratex Technology Limited
    Inventors: Eugene Mathew Taranta, II, Stephen F. O'Neil
  • Patent number: 9304875
    Abstract: A technique for operating a storage area network includes detecting an input/output operation failure associated with a logical unit number, which is associated with a first target port. The technique also includes determining, subsequent to the detected input/output operation failure, whether the logical unit number is associated with a second target port. Finally, the technique includes routing subsequent input/output operations for the logical unit number to the logical unit number via the second target port, in response to determining that the logical unit number is associated with the second target port.
    Type: Grant
    Filed: November 30, 2012
    Date of Patent: April 5, 2016
    Assignee: International Business Machines Corporation
    Inventors: Kiran Kumar Anumalasetty, Phani Kumar Ayyagari, Sudhir Maddali, Ramesh Kumar Marupaka, Sanket Rathi
  • Patent number: 9304694
    Abstract: A system and method for effectively scheduling read and write operations among a plurality of solid-state storage devices. 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 comprises an I/O scheduler. The characteristics of corresponding storage devices are used to schedule I/O requests to the storage devices in order to maintain relatively consistent response times at predicted times. Should a device exhibit an unscheduled behavior which may be indicative of the device being in an unknown state, the scheduler may schedule one or more reactive operations on the device configured to cause the device to enter a known state.
    Type: Grant
    Filed: April 23, 2014
    Date of Patent: April 5, 2016
    Assignee: Pure Storage, Inc.
    Inventors: John Colgrove, John Hayes, Bo Hong, Feng Wang, Ethan Miller, Craig Harmer
  • Patent number: 9280579
    Abstract: An improved system and method for query processing in a distributed column chunk data store is provided. A distributed column chunk data store may be provided by multiple storage servers operably coupled to a network. A storage server provided may include a database engine for partitioning a data table into the column chunks for distributing across multiple storage servers, a storage shared memory for storing the column chunks during processing of semantic operations performed on the column chunks, and a storage services manager for striping column chunks of a partitioned data table across multiple storage servers. Query processing may be performed by storage servers or query processing servers operably coupled by a network to storage servers in the column chunk data store. To do so, a hierarchy of servers may be dynamically determined to process execution steps of a query transformed for distributed processing.
    Type: Grant
    Filed: September 20, 2010
    Date of Patent: March 8, 2016
    Assignee: Google Inc.
    Inventor: Radha Krishna Uppala
  • Patent number: 9274717
    Abstract: A storage system comprises a cache for caching data blocks and storage devices for storing blocks. A storage operating system may deduplicate sets of redundant blocks on the storage devices based on a deduplication requirement. Blocks in cache are typically deduplicated based on the deduplication on the storage devices. Sets of redundant blocks that have not met the deduplication requirement for storage devices and have not been deduplicated on the storage devices and cache are targeted for further deduplication processing. Sets of redundant blocks may be further deduplicated based on their popularity (number of accesses) in cache. If a set of redundant blocks in cache is determined to have a combined number of accesses being greater than a predetermined threshold number of accesses, the set of redundant blocks is determined to be “popular.” Popular sets of redundant blocks are selected for deduplication in cache and the storage devices.
    Type: Grant
    Filed: April 25, 2014
    Date of Patent: March 1, 2016
    Assignee: NetApp, Inc.
    Inventor: Manoj Nayak
  • Patent number: 9262265
    Abstract: A storage system has a RAID group configured by storage media, a system controller with a processor, a buffer memory coupled to storage devices and the processor by a communication network, and a cache memory coupled to the processor and the buffer memory by the network. A processor that stores first data, which is related to a write request from a host computer, in a cache memory, specifies a first storage device for storing data before update, which is data obtained before updating the first data, and transfers the first data to the specified first storage device. A first device controller transmits the first data and second data based on the data before update, from the first storage device to the system controller. The processor stores the second data in the buffer memory, specifies a second storage device, and transfers the stored second data to the specified second storage device.
    Type: Grant
    Filed: February 16, 2015
    Date of Patent: February 16, 2016
    Assignee: Hitachi, Ltd.
    Inventor: Tomohiro Yoshihara
  • Patent number: 9262286
    Abstract: Failover in a data center that includes a multi-density server, where the multi-density server includes multiple independent servers, includes; detecting, by a management module, a failure of one of the independent servers of the multi-density server; identifying, by the management module, a failover target; determining, by the management module, whether the failover target is a non-failed independent server included in the multi-density server; and responsive to determining that the failover target is a non-failed independent server included in the multi-density server, migrating, by the management module, the failed independent server's workload to another server that is not included in the multi-density server.
    Type: Grant
    Filed: November 19, 2013
    Date of Patent: February 16, 2016
    Assignee: International Business Machines Corporation
    Inventors: Nicholas J. Balogh, Albert D. Bennah, Adrian X. Rodriguez
  • Patent number: 9253256
    Abstract: A method and apparatus for establishing multiple network sessions over an arbitrary network topology comprises receiving network configuration information describing an initiator system and a target controller. The initiator system contains one or more initiator ports. The target controller contains one or more target ports. Each target port is associated with one or more target nodes. A set of pre-defined rules is identified. The set of pre-defined rules governs the establishment of network sessions between the initiator ports and the target nodes through the target ports. One or more network sessions are established based on the set of pre-defined rules and the network configuration information.
    Type: Grant
    Filed: November 27, 2007
    Date of Patent: February 2, 2016
    Assignee: International Business Machines Corporation
    Inventors: Jesse Paul Arroyo, Josep Cors, David Lee Dosch, Mark Harrison Goff, Jonathan Louis Kaus, Kyle Alan Lucke, Michael Anthony Migliacio, Randall Scott Nelson
  • Patent number: 9229797
    Abstract: Techniques for a method of processing events are described. A first notification is received regarding an occurrence of a first event identifying a first physical drive coming online. It is determined whether the first event is dependent on one or more other events that have not yet occurred. If it is determined that the first event depends on one or more other events that have not yet occurred, performing first processing to defer processing of the first event until the one or more other events have occurred. If it is determined that the first event does not depend on the one or more other events that have not yet occurred, the first event is processed.
    Type: Grant
    Filed: December 26, 2013
    Date of Patent: January 5, 2016
    Assignee: EMC Corporation
    Inventors: Zhipeng Hu, Jian Gao, Wei He, Hongpo Gao, Marc Cassano
  • Patent number: 9229812
    Abstract: A method that includes calculating multiple set parity units for multiple sets of data units that are cached in a storage system thereby providing a group of units that includes multiple sets of units. Each set of units includes a set of data units and at least one associated set parity unit that facilitate a reconstruction of the set of units when a first number of units of the set of units is lost. Calculating at least one group parity unit for the group of units. A combination of the at least one group parity unit and at least one associated set parity unit facilitate a reconstruction of the set of units upon a failure of a second number of units of the set of units. The second number of units of the set of units exceeds the first number of units of the set of units. Destaging the group of units and the at least one group parity unit to multiple disks of the storage system.
    Type: Grant
    Filed: February 10, 2014
    Date of Patent: January 5, 2016
    Assignee: INFINIDAT LTD.
    Inventors: Yechiel Yochai, Ido Ben-Tsion
  • Patent number: 9207873
    Abstract: Data objects can be migrated, while live, to virtualized clustered storage arrays in an efficient manner to allow for efficient transition from non-clustered storage to the virtualized clustered storage arrays. A data migration specification indicates data objects to be migrated and parameters for the migration. The parameters include a source of a data object, a destination of the data object in the virtualized clustered storage arrays, and a transfer space. A migration engine validates and parses the data migration specification. For each unique association of source, destination, and transfer space, the migration engine instantiates a migration process that drives and monitors migration of the corresponding data object. The migration processes operate in parallel for migration of the specified data objects into the virtualized clustered storage arrays.
    Type: Grant
    Filed: December 19, 2013
    Date of Patent: December 8, 2015
    Assignee: NetApp, Inc.
    Inventor: Steven Boyd Nelson
  • Patent number: 9166972
    Abstract: A distributing device for generating private information correctly even if shared information is destroyed or tampered with. A shared information distributing device for use in a system for managing private information by a secret sharing method, including: segmenting unit that segments private information into a first through an nth pieces of shared information; first distribution unit that distributes the n pieces of shared information to n holding devices on a one-to-one basis; and second distribution unit that distributes the n pieces of shared information to the n holding devices so that each holding device holds an ith piece of shared information distributed by the first distribution unit, as well as a pieces of shared information being different from the ith piece of shared information in ordinal position among n pieces of shared information, “i” being an integer in a range from 1 to n.
    Type: Grant
    Filed: November 25, 2014
    Date of Patent: October 20, 2015
    Assignee: Panasonic Corporation
    Inventors: Manabu Maeda, Masao Nonaka, Yuichi Futa, Kaoru Yokota, Natsume Matsuzaki, Hiroki Shizuya, Masao Sakai, Shuji Isobe, Eisuke Koizumi, Shingo Hasegawa, Masaki Yoshida
  • Patent number: 9128898
    Abstract: In a method for managing redundant array of independent disk (RAID) cards, physical layer (PHY) chips of the RAID card is detected by a serial port. Information of a malfunctioning PHY chip and a standby PHY chip is read and stored in a firmware of a flash erasable programmable read only memory (EPROM) of the RAID card. An address of the malfunctioning PHY chip is set as an address of the standby PHY chip, and a hard disk electronically connected to the malfunctioning PHY chip is connected to the standby PHY chip. A new serial attached small computer system interface (SAS) address is obtained by amending an original SAS address according to the number and address of the standby PHY chip, and a new firmware is created in the flash EPROM according to the new SAS address.
    Type: Grant
    Filed: April 9, 2013
    Date of Patent: September 8, 2015
    Assignee: HON HAI PRECISION INDUSTRY CO., LTD.
    Inventor: Chih-Huang Wu
  • Patent number: 9104342
    Abstract: A method for writing a logical data block to storage. The method includes receiving a request to write a logical data block to a storage pool, allocating a number of physical log blocks in a RAID log and a parity block for the logical data block, and writing the logical data block and the parity block to the physical log blocks. The number of the physical log blocks are less than a number of disks storing the RAID log. The method further includes allocating space in a physical slab block in a RAID slab for the logical data block, copying data including the logical data block to the space in the physical slab block, and updating, in the RAID slab, a checksum corresponding to the physical slab block and a parity block that includes the data stripe having the physical slab block based on the data copied.
    Type: Grant
    Filed: October 21, 2010
    Date of Patent: August 11, 2015
    Assignee: Oracle International Corporation
    Inventors: Roch Bourbonnais, Blaise Sanouillet
  • Patent number: 9081713
    Abstract: A memory system and method of operating the same is described, where the memory system is used to store data in a RAIDed manner. The stored data may be retrieved, including the parity data so that the stored data is recovered when the first of either the stored data without the parity data, or the stored data from all but one memory module and the parity data, has been received. The writing of data, for low write data loads, is managed such that only one of the memory modules of a RAID stripe is being written to, or erased, during a time interval.
    Type: Grant
    Filed: March 10, 2015
    Date of Patent: July 14, 2015
    Assignee: VIOLIN MEMORY, INC.
    Inventor: Jon C. R. Bennett
  • Patent number: 9075745
    Abstract: A control module includes an encoder module, a detector module, a mapping module, and a difference module. The encoder module receives data, and based on the data, generates a first code word for drives. The drives are associated with a storage system. The detector module detects an addition of a second drive. The encoder module generates a second code word for the second drive. The mapping module: maps physical locations of the data in the drives to logical locations of the first code word; assigns a predetermined value to a logical location corresponding to an unused logical location; and based on the predetermined value, assigns the unused logical location to the second drive. The difference module generates a third code word based on each of the first and second code words. The encoder module, based on the first and third code words, generates a fourth code word for all drives.
    Type: Grant
    Filed: February 26, 2013
    Date of Patent: July 7, 2015
    Assignee: Marvell International Ltd.
    Inventors: Heng Tang, Zining Wu, Gregory Burd, Pantas Sutardja
  • Patent number: 9069834
    Abstract: A control method executed by a first storage control apparatus comprises receiving, from the information processing apparatus, a request to change data stored in a storage unit provided in the first storage control apparatus so as to be synchronized to changed data, extracting address information, included in the request, that identifies an address at which data corresponding to the data to be synchronized has been stored in a storage unit provided in the second storage control apparatus, creating time information that identifies a time of the day at which the request was received, and transmitting a change request, which includes the extracted address information and the created time information, from the first storage control apparatus to the second storage control apparatus, the change request requesting the corresponding data stored in the second storage control apparatus to be changed to the changed data.
    Type: Grant
    Filed: January 28, 2013
    Date of Patent: June 30, 2015
    Assignee: FUJITSU LIMITED
    Inventor: Mihoko Maeda
  • Patent number: 9043639
    Abstract: A dynamically expandable and contractible fault-tolerant storage system employs a virtual hot spare that is created from unused storage capacity across a plurality of storage devices. This unused storage capacity is available if and when a storage device fails for storage of data recovered from the remaining storage device(s). On an ongoing basis, the storage system may determine the amount of unused storage capacity that would be required for the virtual hot spare (e.g., based on the number of storage devices, the capacities of the various storage devices, the amount of data stored, and the manner in which the data is stored) and generate a signal if additional storage capacity is needed for a virtual hot spare.
    Type: Grant
    Filed: November 4, 2005
    Date of Patent: May 26, 2015
    Assignee: Drobo, Inc.
    Inventors: Geoffrey S. Barrall, Julian M. Terry, Kenneth Rosen
  • Patent number: 9043689
    Abstract: A method begins by a processing module obtaining common storage name information regarding data that is stored in storage units of a distributed storage network (DSN) as a set of data slices. Each data slice of the set of data slices has a unique storage name, where each of the unique storage names for the set of data slices has common naming information regarding the data. The method continues where the processing module interprets the common storage name information to determine whether a difference exists between the common naming information of a data slice of the set of data slices and the common naming information of other data slices of the set of data slices. When the difference exists, the method continues where the processing module indicates a potential storage error of the data slice and implements a storage error process regarding the potential storage error of the data slice.
    Type: Grant
    Filed: June 30, 2014
    Date of Patent: May 26, 2015
    Assignee: Cleversafe, Inc.
    Inventors: Jason K. Resch, John Quigley, Wesley Leggette, Andrew Baptist
  • Publication number: 20150143167
    Abstract: A storage control apparatus for controlling a storage system including a plurality of storage devices includes a monitor unit that collects statistics from each of the storage devices; and a selection unit that, in the event of a failure of any of the storage devices, selects a storage device to which data in the failed storage device is to be reconstructed, based on the statistics collected by the monitor unit.
    Type: Application
    Filed: November 5, 2014
    Publication date: May 21, 2015
    Inventors: Chikashi Maeda, Hidejirou DAIKOKUYA, Kazuhiko IKEUCHI, Kazuhiro URATA, Yukari Tsuchiyama, Takeshi WATANABE, Norihide KUBOTA, Kenji KOBAYASHI, Ryota TSUKAHARA
  • Patent number: 9037921
    Abstract: The relative health of data storage drives may be determined based, at least in some aspects, on data access information and/or other drive operation information. In some examples, upon receiving the operation information from a computing device, a health level of a drive may be determined. The health level determination may be based at least in part on operating information received from a client entity. Additionally, a storage space allocation instruction or operation may be determined for execution. The allocation instruction or operation determined to be performed may be based at least in part on the determined health level.
    Type: Grant
    Filed: March 29, 2012
    Date of Patent: May 19, 2015
    Assignee: Amazon Technologies, Inc.
    Inventors: Marc J. Brooker, Tobias L. Holgers, Madhuvanesh Parthasarathy, Danny Wei
  • Patent number: 9037725
    Abstract: Certain embodiments herein are directed to an online game system, computer-readable medium, and a method comprising: providing a network system comprising a central device and a plurality of remote devices, each said remote device being connected to the central device; providing a plurality of data objects in the network system; and, for running an online game session in the network system, implementing a mode of operation, comprising: assigning each of said data objects to at least one of the remote devices, thereby, giving the at least one remote device control over the assigned data object, and excluding the central device from control over each of said data objects; and, for the plurality of remote devices, limiting data object related game data exchange to a direct data exchange with the central device only.
    Type: Grant
    Filed: October 18, 2012
    Date of Patent: May 19, 2015
    Assignee: BIGPOINT INC.
    Inventors: Scott Guest, Martin Brownlow
  • Patent number: 9032245
    Abstract: A data storage device and a method of managing data in the data storage device to improve data reliability are provided. In the method of managing data, one of control management information about a memory block of nonvolatile memory in which data will be written and control management information about the data are received. A redundant array of independent disks (RAID) parity page ratio is determined according to the control management information. When a data write operation mode is performed, parity data is written in a parity page of the memory block according the RAID parity page ratio. According to some embodiments of the inventive concepts, since a RAID parity page ratio is selectively determined according to control management information, reliability of data is secured or increased.
    Type: Grant
    Filed: June 14, 2012
    Date of Patent: May 12, 2015
    Assignee: Samsung Electronics Co., Ltd.
    Inventor: Kangho Roh
  • Patent number: 9026844
    Abstract: Storing, retrieving, transmitting and receiving data (20) by a) separating the data into a plurality of data subsets (A, B); b) generating parity data (P) from the plurality of data subsets (A, B) such that any one or more of the plurality of data subsets may be recreated from the remaining data subsets and the parity data (P). Steps a and b may be repeated on any one or more each of the plurality of data subsets and parity data providing further data subsets and further parity data; and d) storing each of the further data subsets and further parity data in separate storage locations (380) or transmitting the further data subsets and further parity data.
    Type: Grant
    Filed: September 1, 2009
    Date of Patent: May 5, 2015
    Assignee: Qando Services Inc.
    Inventors: Iskender Syrgabekov, Yerkin Zadauly, Chokan Laumulin
  • Patent number: 9026845
    Abstract: In accordance with embodiments of the present disclosure, a system comprising may include a storage controller and a plurality of storage resources communicatively coupled to the storage controller. At least one storage resource of the storage resources may be capable of performing storage resource-level failure protection and configured to disable storage resource-level failure protection in response to a determination that the at least one storage resource is a member of a redundant storage array.
    Type: Grant
    Filed: May 15, 2012
    Date of Patent: May 5, 2015
    Assignee: Dell Products L.P.
    Inventors: Gary B. Kotzur, Kevin Marks
  • Patent number: 9026846
    Abstract: Disclosed is a system and method for providing data integrity for pinned cache even if a RAID controller card fails while it has pinned cache or a memory module goes bad. A controller is enabled to use complete cache lines even if pinned cache is present, thereby enabling other virtual disks to run in write-back mode when pinned cache is present.
    Type: Grant
    Filed: May 3, 2013
    Date of Patent: May 5, 2015
    Assignee: LSI Corporation
    Inventors: Prafull Tiwari, Madan Mohan Munireddy