Ecc, Parity, Or Fault Code (i.e., Level 2+ Raid) Patents (Class 714/6.24)
  • Patent number: 11955189
    Abstract: Disclosed in some examples are improvements to data placement architectures in NAND that provide additional data protection through an improved NAND data placement schema that allows for recovery from certain failure scenarios. The present disclosure stripes data diagonally across page lines and planes to enhance the data protection. Parity bits are stored in SLC blocks for extra protection until the block is finished writing and then the parity bits may be deleted.
    Type: Grant
    Filed: December 5, 2022
    Date of Patent: April 9, 2024
    Assignee: Micron Technology, Inc.
    Inventors: Carminantonio Manganelli, Paolo Papa, Massimo Iaculo, Giuseppe D'Eliseo, Alberto Sassara
  • Patent number: 11928026
    Abstract: A method for operating a memory includes: reading data and an error correction code from a memory core; correcting an error of the read data based on the read error correction code to produce error-corrected data; generating new data by replacing a portion of the error-corrected data with write data, the portion becoming a write data portion; generating a new error correction code based on the new data; and writing the write data portion of the new data and the new error correction code into the memory core.
    Type: Grant
    Filed: February 27, 2023
    Date of Patent: March 12, 2024
    Assignee: SK hynix Inc.
    Inventors: Munseon Jang, Hoi Ju Chung, Jang Ryul Kim
  • Patent number: 11914736
    Abstract: A computing device comprising a frontend and a backend is operably coupled to a plurality of storage devices. The backend comprises a plurality of buckets. Each bucket is operable to build a failure-protected stripe that spans two or more of the plurality of the storage devices. The frontend is operable to encrypt data as it enters the plurality of storage devices and decrypt data as it leaves the plurality of storage devices.
    Type: Grant
    Filed: October 7, 2022
    Date of Patent: February 27, 2024
    Assignee: Weka.IO Ltd.
    Inventors: Maor Ben Dayan, Omri Palmon, Liran Zvibel, Kanael Arditti, Ori Peleg
  • Patent number: 11914455
    Abstract: Improving storage device performance including initiating, on a storage device, execution of a rehabilitative action from a set of rehabilitative actions that can be performed on the storage device; determining that the storage device is operating outside of a defined range of expected operating parameters after the rehabilitative action has been executed; and initiating execution of a higher level rehabilitative action responsive to determining that the higher level rehabilitative action exists.
    Type: Grant
    Filed: September 9, 2022
    Date of Patent: February 27, 2024
    Assignee: PURE STORAGE, INC.
    Inventors: Andrew Bernat, James Cihla, Jungkeun Kim, Iris Mcleary, Damian Yurzola
  • Patent number: 11899955
    Abstract: One or more data items is received by a processing device managing one or more memory devices partitioned into a plurality of die partitions. The one or more data items is determined to be written sequentially to one or more blocks within a die partition of the plurality of die partitions. Metadata associated with the one or more data items is written sequentially to one or more blocks across the plurality of die partitions.
    Type: Grant
    Filed: June 9, 2022
    Date of Patent: February 13, 2024
    Assignee: Micron Technology, Inc.
    Inventor: Steven R Narum
  • Patent number: 11869606
    Abstract: Disclosed in some examples are improvements to data placement architectures in NAND that provide additional data protection through an improved NAND data placement schema that allows for recovery from certain failure scenarios. The present disclosure stripes data diagonally across page lines and planes to enhance the data protection. Parity bits are stored in SLC blocks for extra protection until the block is finished writing and then the parity bits may be deleted.
    Type: Grant
    Filed: December 5, 2022
    Date of Patent: January 9, 2024
    Assignee: Micron Technology, Inc.
    Inventors: Carminantonio Manganelli, Paolo Papa, Massimo Iaculo, Giuseppe D'Eliseo, Alberto Sassara
  • Patent number: 11856723
    Abstract: Various embodiments disclosed herein relate to a building automation controller and related method and storage medium including a processor configured, through at least execution of a distributed computer program, to: receive sensor data generated by a sensor, wherein the sensor data is indicative of a state of a defined space, identify an action to be performed by a device to affect the state in accordance with an operating characteristic for the defined space, determine that the device is attached to a second controller of a plurality of additional controllers, and transmit to the second controller, an indication that the action is to be performed by the device, wherein: the distributed computer program is configured to be distributed among the processor and the plurality of additional controllers and, the processor is further configured to apportion work to be performed by the computer program between at least the additional controllers.
    Type: Grant
    Filed: August 19, 2022
    Date of Patent: December 26, 2023
    Assignee: PassiveLogic, Inc.
    Inventors: Troy Aaron Harvey, Jeremy David Fillingim
  • Patent number: 11822824
    Abstract: A processing system operates by: storing a data segment as a set of encoded data slices, wherein the set of encoded data slices are dispersed storage error encoded and stored in at least one storage unit of a storage network; receiving, from a requestor, an access request associated with the data segment; detecting an access anomaly associated with the access request, the access anomaly having one of a plurality of anomaly types; denying the access request in response to detecting the access anomaly; generating, based on the one of the plurality of anomaly types, an anomaly detection indicator identifying the requestor; and sending the anomaly detection indicator to other devices of the storage network.
    Type: Grant
    Filed: January 3, 2023
    Date of Patent: November 21, 2023
    Assignee: Pure Storage, Inc.
    Inventor: Jason K. Resch
  • Patent number: 11809274
    Abstract: Techniques are provided to recover from partial device errors of storage devices in a data storage system. A storage control system manages a storage device which comprises storage capacity that is logically partitioned into segments of equal size. The storage control system groups at least some of the segments of the storage device into a segment group. Each segment of the segment group is configured to store one or more data items and associated metadata items. The storage control system generates a parity data segment based on the segments of the segment group, and persistently stores the parity data segment in association with the segment group. In response to detecting a storage device error associated with a corrupted segment of the segment group, the storage control system utilizes the parity data segment and non-corrupted segments of the segment group to recover at least one missing data item of the corrupted segment.
    Type: Grant
    Filed: April 21, 2021
    Date of Patent: November 7, 2023
    Assignee: EMC IP Holding Company LLC
    Inventors: Doron Tal, Yoav Peled, Itay Keller, Asaf Porath, Neta Peleg
  • Patent number: 11797208
    Abstract: A method, computer system, and a computer program product for providing backend deduplication awareness at a virtualizing layer is disclosed. The present invention may include receiving a deduplication information from a backend storage controller associated with performing an input/output (IO) operation to a physical address of a disk. The present invention may include translating the physical address to a logical address to apply to a plurality of storage extents in a virtualizing layer. The present invention may include constructing a graph including corresponding nodes representing the plurality of storage extents and including corresponding deduplication edge weights representing a plurality of deduplications between the plurality of storage extents. The present invention may include identifying at least one subgraph within the constructed graph, wherein the identified at least one subgraph represents a storage extent cluster that is suitable for garbage collection as a cluster.
    Type: Grant
    Filed: September 17, 2021
    Date of Patent: October 24, 2023
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Miles Mulholland, Eric John Bartlett, Dominic Tomkins, Alex Dicks
  • Patent number: 11797232
    Abstract: A memory controller according to an embodiment includes a control circuit configured to duplicate and store data received from an external host device. The control circuit is configured to, when a write request specifying first data and a first logical address is received: i) allocate a first physical address corresponding to a first bit to the first logical address, and order a first memory device to write the first data to the first physical address; and ii) allocate a first mirroring physical address corresponding to a second bit to the first physical address, and order a second memory device to write the first data to the first mirroring physical address. A number of reads the first bit is different from a number of reads for the second bit.
    Type: Grant
    Filed: March 15, 2022
    Date of Patent: October 24, 2023
    Assignee: Kioxia Corporation
    Inventors: Hideki Yamada, Masanobu Shirakawa, Naomi Takeda
  • Patent number: 11755407
    Abstract: A data storage device includes a memory device and a controller coupled to the memory device. The controller is configured to create a dual parity matrix. The dual parity matrix includes a full parity form that includes a payload, a first parity portion, and a second parity portion and a reduced parity form that includes the payload and the first parity portion. The second parity portion is 0. The controller is further configured to create an incremental parity construction matrix. The incremental parity construction matrix includes two arrays. A first array includes a first payload portion, a first, first parity portion, and a first, second parity portion and a second array includes a second payload portion, a second, first parity portion, and a second, second parity portion. The incremental parity construction matrix is arranged in either a block triangular construction or a block diagonal construction.
    Type: Grant
    Filed: May 26, 2021
    Date of Patent: September 12, 2023
    Assignee: Western Digital Technologies, Inc.
    Inventors: Dudy David Avraham, Ran Zamir, Eran Sharon
  • Patent number: 11748142
    Abstract: The disclosure provides an approach for high-availability admission control. Embodiments include determining a number of slots present on the cluster of hosts. Embodiments include receiving an indication of a number of host failures to tolerate. Embodiments include determining a number of slots that are assigned to existing computing instances on the cluster of hosts. Embodiments include determining an available cluster capacity based on the number of slots present on the cluster of hosts, the number of host failures to tolerate, and the number of slots that are assigned to existing computing instances on the cluster of hosts. Embodiments include determining whether to admit a given computing instance to the cluster of hosts based on the available cluster capacity.
    Type: Grant
    Filed: November 13, 2020
    Date of Patent: September 5, 2023
    Assignee: VMware, Inc.
    Inventors: Frank Denneman, Duncan Epping, Cormac Hogan
  • Patent number: 11714718
    Abstract: A method of performing partial redundant array of independent disks (RAID) stripe parity calculations is disclosed. The method includes receiving a last portion of a RAID stripe among multiple portions of the RAID stripe, all portions for a successful write of the RAID stripe being previously received except for the last portion. The method also includes calculating a parity value based on the last portion of the RAID stripe and a previous parity value without calculating the parity value using a previous portion of the RAID stripe. The method further includes writing of the RAID stripe.
    Type: Grant
    Filed: July 13, 2022
    Date of Patent: August 1, 2023
    Assignee: PURE STORAGE, INC.
    Inventors: Constantine Sapuntzakis, Marco Sanvido, Timothy Brennan
  • Patent number: 11704423
    Abstract: A data managing method. Metadata including a sharing policy is applied to a data file on a computing device. A sharing of the data file from the computing device via a network to a platform hosted by a computing system is detected. It is determined whether the platform is in compliance with the sharing policy, and it is reported whether the platform is in compliance with the sharing policy.
    Type: Grant
    Filed: December 28, 2020
    Date of Patent: July 18, 2023
    Assignee: Avast Software s.r.o.
    Inventors: John Poothokaran, Juyong Do, Rajarshi Gupta
  • Patent number: 11704062
    Abstract: A method, apparatus, and system for processing Redundant Array of Independent Disks (RAID) Input/Output (I/O) requests for a plurality of nodes in a cluster is disclosed. A file system request including a byte offset is received. Then, a Physical Extent (PE) row that matches the file system request and a RAID stripe within the identified PE row based on the byte offset is identified. Next, a plurality of RAID I/O requests to be routed to a physical disk is generated. Each of the plurality of the RAID I/O requests includes information associated with the PE and a type of operation. Thereafter, each of the RAID I/O requests is processed based on the information associated with the PE and the type of operation.
    Type: Grant
    Filed: May 7, 2021
    Date of Patent: July 18, 2023
    Assignee: EMC IP HOLDING COMPANY LLC
    Inventors: Paul Nehse, Michael Thiels, Devendra Kulkarni
  • Patent number: 11663080
    Abstract: Techniques for rebuilding data in a data storage system are provided. A method includes: (a) identifying (i) a first set of degraded Ubers that contain no portions reserved for direct writing and (ii) a second set of degraded Ubers that contain at least one portion reserved for direct writing. Direct writing is a process that writes blocks to long-term storage prior to mapping those blocks in a metadata mapping structure. An Uber is a set of adjacent stripes across a respective Redundant Array of Independent Disks (RAID) array of the data storage system, and a degraded Uber is an Uber that includes at least one failed drive within its RAID array. The method further includes (b) initiating a rebuild of the first set of degraded Ubers; and (c) delaying a rebuild of each degraded Uber of the second set until all pending direct writes to blocks of that degraded Uber have been mapped by the metadata mapping structure.
    Type: Grant
    Filed: January 20, 2022
    Date of Patent: May 30, 2023
    Assignee: Dell Products L.P.
    Inventors: Alexander Shknevsky, Oran Baruch, Vamsi K. Vankamamidi, David Ben-David, Maor Rahamim
  • Patent number: 11662925
    Abstract: A data processing method is provided. The method is implemented in a distributed storage system including at least two storage disk clusters. The at least two storage disk clusters are configured with at least two energy saving states. The method includes: receiving, by a processing module of the distributed storage system, a read request including an identifier of to-be-processed data; reading metadata of the to-be-processed data based on the identifier of the to-be-processed data, to determine a first storage disk cluster and a second storage disk cluster, where the first storage disk cluster and the second storage disk cluster are configured with different energy saving states; and reading first sub-data from the first storage disk cluster, and after the first sub-data is read, reading second sub-data from the second storage disk cluster.
    Type: Grant
    Filed: April 23, 2021
    Date of Patent: May 30, 2023
    Assignee: HUAWEI CLOUD COMPUTING TECHNOLOGIES CO., LTD.
    Inventors: Xinjie Li, Rongfeng He, Bin Zhu, Suhong Wu, Xieyun Fang
  • Patent number: 11663079
    Abstract: Exemplary methods, apparatuses, and systems include receiving a request for a segment of data. The requested segment data is one of a plurality of segments of data in a stripe of data. A failure to decode the requested segment is detected. Each of the plurality of segments in the stripe other than the requested segment are read. Reading each segment includes reading raw encoded data and attempting to decode the raw encoded data, the result of reading each segment including decoded data when decoding is successful and the raw encoded data when decoding fails. A combined result of each read is generated. The combining includes combining decoded data for segments that were successfully decoded and the raw encoded data for segments for which decoding failed. A statistical model for the requested segment is updated using the combined result. The requested segment is decoded using the updated statistical model.
    Type: Grant
    Filed: December 1, 2021
    Date of Patent: May 30, 2023
    Assignee: MICRON TECHNOLOGY, INC.
    Inventors: Dung V. Nguyen, Phong Sy Nguyen, Sivagnanam Parthasarathy
  • Patent number: 11650880
    Abstract: A write hole protection method and system for a RAID, and a storage medium. The method comprises: presetting a log area, and after a RAID is degraded, setting the log area to be in an enabled state; when the log area is in the enabled state, determining, before each stripe write operation, whether a data block of a failed member disk of the RAID in a stripe is a check data block; if the data block is not the check data block, determining whether data blocks to be written of the stripe comprise a data block to be written into the failed member disk; if yes, backing up the data block to be written into the failed member disk in the log area; if not, calculating the data block of the failed member disk and backing up the data block in the log area, or backing up the data blocks to be written in the log area; and when the degraded RAID is started after a failure, performing data recovery using the log area. By using the present solution, the write hole issue of the RAID is avoided.
    Type: Grant
    Filed: November 27, 2019
    Date of Patent: May 16, 2023
    Assignee: INSPUR SUZHOU INTELLIGENT TECHNOLOGY CO., LTD.
    Inventor: Peiren Shi
  • Patent number: 11630585
    Abstract: Migrating data in a storage array that includes a plurality of storage devices, including: detecting, by the storage array, an occurrence of a storage device evacuation event associated with one or more source storage devices; responsive to detecting the occurrence of the storage device evacuation event, identifying, by the storage array, one or more target storage devices for receiving data stored on the one or more source storage devices; reducing, by the storage array, write access to the one or more source storage devices; and migrating the data stored on the one or more source storage devices to the one or more target storage devices.
    Type: Grant
    Filed: January 30, 2017
    Date of Patent: April 18, 2023
    Assignee: PURE STORAGE, INC.
    Inventors: John Colgrove, Lydia Do, Ethan Miller
  • Patent number: 11604709
    Abstract: Techniques including receiving a first control value, starting a timeout counter based on receiving the first control value, receiving a second control value, determining whether the second control value is received before the timeout counter expires, and based on the determination that the second control value is received before the timeout counter expires: determining whether the first control value is the same as the second control value, and loading the first control value into a set of control registers based on the determination that the first control value is the same as the second control value.
    Type: Grant
    Filed: August 23, 2021
    Date of Patent: March 14, 2023
    Assignee: Texas Instmments Incorporated
    Inventors: Veeramanikandan Raju, Anand Kumar G
  • Patent number: 11599812
    Abstract: A condition determination system includes: an operation condition data obtaining unit that obtains operation condition data indicating an operation condition of a facility; and a determination unit that determines, based on the operation condition data, a level of a phenomenon that occurs due to the operation condition of the facility.
    Type: Grant
    Filed: March 25, 2016
    Date of Patent: March 7, 2023
    Assignee: MITSUBISHI HEAVY INDUSTRIES, LTD.
    Inventors: Eisuke Noda, Satoshi Hanada, Yusuke Yamada, Mizuki Kasamatsu, Takae Yamashita
  • Patent number: 11601220
    Abstract: A transmitter apparatus and a receiver apparatus are provided. The transmitter apparatus includes: an encoder configured to generate a low density parity check (LDPC) by performing LDPC encoding; an interleaver configured to interleave the LDPC codeword; and a modulator configured to map the interleaved LDPC codeword onto a modulation symbol. The modulator maps a bit included in a predetermined group from among a plurality of groups constituting the LDPC codeword onto a predetermined bit in the modulation symbol.
    Type: Grant
    Filed: May 28, 2021
    Date of Patent: March 7, 2023
    Assignee: SAMSUNG ELECTRONICS CO., LTD.
    Inventors: Hong-sil Jeong, Se-ho Myung, Kyung-joong Kim
  • Patent number: 11593207
    Abstract: A processing device obtains a write operation which comprises first data and second data to be stored in first and second strips of a given stripe. The processing device stores the first data in the first strip and determines that the second strip is unavailable. The processing device determines a parity based on the first data and the second data and stores the parity in a parity strip. The processing device updates metadata to indicate that the second data was not stored in the second strip. In some embodiments, the updated metadata is non-persistent and the processing device may be further configured to rebuild the given stripe, update persistent metadata corresponding to a sector of stripes including the given stripe and clear the non-persistent metadata based at least in part on a completion of the rebuild.
    Type: Grant
    Filed: January 20, 2021
    Date of Patent: February 28, 2023
    Assignee: EMC IP Holding Company LLC
    Inventors: Yosef Shatsky, Doron Tal, Rivka Matosevich
  • Patent number: 11586370
    Abstract: A memory controller and a method of operating the same may provide recovery from a Sudden Power-Off (SPO). The memory controller may control a memory device including a plurality of memory blocks, each memory block having a plurality of pages. The memory controller may include a dummy program controller configured to, after an SPO has occurred while a program operation was being performed on a page of the memory device, control a dummy program operation for recovering from the SPO; a parity data controller configured to control resetting and generation of parity data for chipkill decoding based on pages on which the dummy program operation is determined to be performed; and a valid data controller configured to control movement of valid data based on a number of pages on which the dummy program operation is to be performed.
    Type: Grant
    Filed: April 26, 2021
    Date of Patent: February 21, 2023
    Assignee: SK hynix Inc.
    Inventors: Jung Ae Kim, Beom Rae Jeong
  • Patent number: 11507461
    Abstract: Techniques providing I/O control involve: in response to receiving an I/O request, detecting a first set bits for a stripe in a RAID. The RAID is built on disk slices divided from disks. The stripes include extents. Each of the first set bits indicates whether a disk slice where a corresponding extent in the stripe is located is in a failure state. The techniques further involve determining, from the stripe and based on the first set bits, a first set of extents in the failure state and a second set of extents out of the failure state. The techniques further involve executing the I/O request on the second set of extents without executing the I/O request on the first set of extents. Such techniques can simplify storage bits in I/O control, support the degraded stripe write request for the RAID and enhance performance executing the I/O control.
    Type: Grant
    Filed: September 30, 2019
    Date of Patent: November 22, 2022
    Assignee: EMC IP Holding Company LLC
    Inventors: Geng Han, Jianbin Kang, Jibing Dong
  • Patent number: 11500569
    Abstract: Systems, apparatus and methods for generation of XOR signature metadata and XOR signature management are presented. In one or more embodiments, a storage device controller includes a host interface, configured to receive one or more string lines (SLs) of data from a host, the one or more SLs to be programmed into a non-volatile memory (NVM), and processing circuitry. The processing circuitry is configured to, for each of the one or more SLs, generate signature metadata and provide the signature metadata in a header of the SL. The processing circuitry is still further configured to XOR two or more of the SLs with their respective signature metadata to generate a snapshot, and write the snapshot to the NVM.
    Type: Grant
    Filed: May 7, 2021
    Date of Patent: November 15, 2022
    Assignee: Western Digital Technologies, Inc.
    Inventors: Yoav Markus, Alexander Bazarsky, Alexander Kalmanovich
  • Patent number: 11494089
    Abstract: A distributed storage system having a plurality of nodes that include a first node that stores write data in a storage device, and a second node that stores a redundancy code of the write data. The first node is configured to select a second node, among the plurality of nodes, to store the redundancy code after receiving the write data; and send the write data to the selected second node. The second node is configured to receive and hold the write data, determine whether a prescribed starting condition is met asynchronously with reception of the write data, calculate the redundancy code and a plurality of pieces of data and store the redundancy code in the storage device if the prescribed starting condition is met, hold the write data until a prescribed deletion condition is met and delete the write data after the prescribed deletion condition is met.
    Type: Grant
    Filed: August 28, 2020
    Date of Patent: November 8, 2022
    Assignee: HITACHI, LTD.
    Inventor: Hiromichi Iwase
  • Patent number: 11475936
    Abstract: A memory includes a plurality of rows, each of which is coupled to a plurality of memory cells; a target row determining circuit suitable for determining a row that is likely to lose data among the plurality of rows as a target row; and a transfer circuit suitable for transferring, when a number of target rows determined by the target row determining circuit is equal to or greater than a threshold value, information representing that the number of target rows reaches the threshold value to a memory controller.
    Type: Grant
    Filed: July 27, 2020
    Date of Patent: October 18, 2022
    Assignee: SK hynix Inc.
    Inventors: Hoiju Chung, Paul Fahey
  • Patent number: 11435914
    Abstract: A storage device includes a controller that can dynamically adjust the zone active limit (ZAL) for a zoned namespace (ZNS). Rather than assuming a worst-case scenario for the ZNS, the ZAL can be dynamically adjusted, even after providing the ZAL to a host device. In so doing, device behavior changes due to factors such as temperature, failed or flipped bit count, and device cycling can be considered as impacting the ZAL. The ZAL can then be adjusted over time, and the new ZAL can be communicated to the host device. As such, rather than a fixed, worst-case ZAL, the host device will receive updated ZAL values over time as the device performs.
    Type: Grant
    Filed: March 30, 2020
    Date of Patent: September 6, 2022
    Assignee: Western Digital Technologies, Inc.
    Inventors: Alexander Bazarsky, Tomer Eliash, Judah Gamliel Hahn, Ariel Navon, Shay Benisty
  • Patent number: 11422909
    Abstract: When managing stripes in a storage system, based on a determination that a failed storage device appears in first storage devices, a failed stripe involving the failed storage device is determined in a first redundant array of independent disks (RAID). An idle space that can be used to reconstruct the failed stripe is determined in the first storage devices. The failed stripe is reconstructed to second storage devices in the storage system based on a determination that the idle space is insufficient to reconstruct the failed stripe, the second storage devices being storage devices in a second RAID. An extent in the failed stripe is released in the first storage devices. Accordingly, it is possible to reconstruct a failed stripe as soon as possible to avoid data loss, and further to provide more idle spaces in the first storage devices for future reconstruction.
    Type: Grant
    Filed: August 11, 2020
    Date of Patent: August 23, 2022
    Assignee: EMC IP Holding Company LLC
    Inventors: Jian Gao, Xinlei Xu
  • Patent number: 11417410
    Abstract: A processor coupled to a NAND memory device comprising an n by m array of dies having n channels performs error recovery message scheduling and read error recovery on the dies by receiving indications of read errors responsive to attempted execution of a read command on a destination die and creates an error recovery message or instruction in response to the indication. The processor determines the destination die of the error recovery message and sends the error recovery message to a die queue based on the determined destination die. The n×m die queues can each be further divided into p priority queues, and error recovery messages are sent to the appropriate die priority queue based on a priority associated with the error recovery message. The processor fetches error recovery messages from a head of each die priority queue and performs read error recovery at the destination die.
    Type: Grant
    Filed: September 16, 2020
    Date of Patent: August 16, 2022
    Assignee: Kioxia Corporation
    Inventors: Gyan Prakash, Vijay Sankar
  • Patent number: 11379308
    Abstract: Techniques are disclosed for re-executing a data processing pipeline following a failure of at least one of its components. The techniques may include a syntax for defining a compute graph associated with the data processing pipeline and receiving such a compute graph in association with a specific data processing pipeline. The technique may include executing the data processing pipeline, determining that a component of the data processing pipeline failed, and determining a portion of the data processing pipeline to execute/re-execute based at least in part on dependencies defined by the data processing pipeline in association with the failed component. Re-executing the one or more components may comprise retrieving an output saved in association with a component upon which the failed component depends.
    Type: Grant
    Filed: December 10, 2018
    Date of Patent: July 5, 2022
    Assignee: Zoox, Inc.
    Inventors: Ethan Petrick Dreyfuss, Michael Haggblade, Hao Li, Andres Guillermo Morales Morales
  • Patent number: 11341003
    Abstract: Embodiments of the present disclosure provide a method for a storage system, a storage system and a computer program product. The method comprises determining a first drive in a drive array is temporarily unavailable. The method further comprises setting the first drive in a frozen state. The method further comprises: in response to receiving a write request for the first drive during the frozen state, pending the write request or recording the write request in a second drive in the drive array. The method further comprises: in response to receiving a read request for the first drive during the frozen state, reconstructing data to which the read request is directed through data stored in a third drive in the drive array.
    Type: Grant
    Filed: April 22, 2020
    Date of Patent: May 24, 2022
    Assignee: EMC IP Holding Company LLC
    Inventors: Bing Liu, Man Lv
  • Patent number: 11256420
    Abstract: Embodiments of the present disclosure relate to method and apparatus for scaling out storage devices, and scaled-out storage devices by establishing a cross-device link between a first storage device and a second storage device; exchanging configuration information of at least one of the first storage device and the second storage via the cross-device link; creating, in the first storage device, a shadow object corresponding to a real object in the second storage device; and creating, in the second storage device, a shadow object corresponding to a real object in the first storage device; wherein each shadow object can expose feature and/or state of a corresponding real object to users without implementing a functioning logic of the corresponding real object.
    Type: Grant
    Filed: October 15, 2019
    Date of Patent: February 22, 2022
    Assignee: EMC IP HOLDING COMPANY, LLC
    Inventors: Jian Gao, Hongpo Gao, Geng Han, Xinlei Xu, Jibing Dong
  • Patent number: 11243698
    Abstract: Initialization stripes of a redundant array of inexpensive disks (RAID) may include determining whether the stripes have already been initialized based on redundant correction information. Further, un-initialized stripes may be initialized before intended if write requests are received for such un-initialized stripes. Still further, rebuilt stripes (e.g., portions thereof) may also be checked to determine whether such rebuilt stripes have been initialized based on error detection codes.
    Type: Grant
    Filed: May 14, 2020
    Date of Patent: February 8, 2022
    Assignee: Seagate Technology LLC
    Inventors: Kishan Gelli, Ryan Patrick McCallister
  • Patent number: 11221958
    Abstract: A system and method for an LBA RAID storage device. The LBA RAID storage device includes a plurality of data channels and a plurality of storage components. Each of the storage components is connected to one of the plurality of data channels. A storage controller is configured to receive a data and write the data to a RAID group made up of at least two storage components of the plurality of storage components that are each connected to a separate data channel.
    Type: Grant
    Filed: April 10, 2018
    Date of Patent: January 11, 2022
    Assignee: Samsung Electronics Co., Ltd.
    Inventors: Changho Choi, Nima Elyasi
  • Patent number: 11196565
    Abstract: In one example, a system for managing encrypted memory comprises a processor to store a first MAC based on data stored in system memory in response to a write operation to the system memory. The processor can also detect a read operation corresponding to the data stored in the system memory, calculate a second MAC based on the data retrieved from the system memory, determine that the second MAC does not match the first MAC, and recalculate the second MAC with a correction operation, wherein the correction operation comprises an XOR operation based on the data retrieved from the system memory and a replacement value for a device of the system memory. Furthermore, the processor can decrypt the data stored in the system memory in response to detecting the recalculated second MAC matches the first MAC and transmit the decrypted data to cache thereby correcting memory errors.
    Type: Grant
    Filed: November 20, 2019
    Date of Patent: December 7, 2021
    Assignee: INTEL CORPORATION
    Inventors: David M. Durham, Rajat Agarwal, Siddhartha Chhabra, Sergej Deutsch, Karanvir S. Grewal, Ioannis T. Schoinas
  • Patent number: 11182358
    Abstract: A controller-implemented method includes reading, by a controller, a scrub unit containing a read unit and, in response to determining that the scrub unit is not marked as being scrubbed in a current scrub cycle, storing, by the controller, the scrub unit to a memory. The method also includes marking, by the controller, another scrub unit associated with the stored scrub unit as a scrub-pending scrub unit and reading, by the controller, the scrub-pending scrub unit in response to determining that a subsequent read matches predefined criteria. The method includes performing, by the controller, a scrub using the stored scrub unit and the scrub-pending scrub unit. A system includes a processor and logic integrated with the processor, executable by the processor, or integrated with and executable by the processor. The logic is configured to perform the foregoing method.
    Type: Grant
    Filed: July 18, 2019
    Date of Patent: November 23, 2021
    Assignee: International Business Machines Corporation
    Inventors: Gregory Kishi, Itzhack Goldberg, Daniel I. Tan
  • Patent number: 11061788
    Abstract: Storage management techniques involve, in response to a request to write data to a redundant array of independent disks (RAID), determining whether there is an offline disk in a plurality of storage disks constituting the RAID, the RAID comprising a plurality of stripes, each of the plurality of stripes comprising a plurality of storage blocks divided from the plurality of storage disks; in response to determining that there is an offline disk in the plurality of storage disks, selecting a target stripe from the plurality of stripes, the target stripe having a storage block allocated from the offline disk for storing parity information; and writing the data to the target stripe. In this way, the performance of data write can be improved in presence of an offline disk. In addition, the performance of subsequent data read can also be improved potentially.
    Type: Grant
    Filed: March 20, 2020
    Date of Patent: July 13, 2021
    Assignee: EMC IP Holding Company LLC
    Inventors: Jibing Dong, Geng Han, Hongpo Gao, Jianbin Kang, Jian Gao
  • Patent number: 11016850
    Abstract: The disclosed computer-implemented method for detecting bit rot in distributed storage devices having failure domains may include (1) receiving, at a computing device, a combination of data chunks created by adding, for each failure domain storing data chunks, data chunks from different stripes, (2) receiving a combination of parity chunks created by adding, for each failure domain storing parity chunks, parity chunks from the different stripes, (3) creating at least one new parity chunk from the combination of data chunks, and (4) identifying a presence of bit rot in the failure domains when the at least one new parity chunk does not match the combination of parity chunks. Various other methods, systems, and computer-readable media are also disclosed.
    Type: Grant
    Filed: March 20, 2018
    Date of Patent: May 25, 2021
    Assignee: Veritas Technologies LLC
    Inventors: Sushrut Gajbhiye, Deodatta Barhate, Roshan Kolhe, Shailesh Marathe, Anindya Banerjee
  • Patent number: 10998919
    Abstract: Described herein is a system and method for coded streaming data to facilitate recovery from failed or slow processor(s). A batch of processing stream data can be partitioned into a plurality of data chunks. Parity chunk(s) for the plurality of data chunks. The plurality of data chunks and the parity chunk(s) can be provided to processors for processing. Processed data of at least some (e.g., one or more) of the plurality of data chunks, and, processed data of parity chunk(s) are received. When it is determined that processed data for a pre-defined quantity of data chunks has not been received by a pre-defined period of time, the processed data for particular data chunk(s) of particular processor(s) from which processed data has not been received are determined based, at least in part, upon the received processed parity chunk(s) and the received processed data chunk(s).
    Type: Grant
    Filed: October 2, 2019
    Date of Patent: May 4, 2021
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Todd Robert Porter, Xin Tian, Alexander Alperovich
  • Patent number: 10930315
    Abstract: A method for performing error recovery for data stored on a track of a storage device, in which the method includes: receiving a request to read the data from the storage device, identifying a plurality of sectors of the track to be read in response to the request, reading the data from the plurality of sectors of the track and parity data, based on the data read from the plurality of sectors, determining whether any of the plurality of sectors corresponds to a failed sector, and recovering a portion of the data from the failed sector using the parity data and portions of the data stored in remaining ones of the plurality of sectors.
    Type: Grant
    Filed: January 21, 2019
    Date of Patent: February 23, 2021
    Assignee: Marvell Asia Pte., Ltd.
    Inventors: Gregory Burd, Nedeljko Varnica, Heng Tang
  • Patent number: 10929243
    Abstract: Techniques are provided for service-level rebuild of one or more storage drives. Storage drives can store data of varying priority levels. In an example, when a storage drive is rebuilt, higher-priority data is written to the rebuilt storage drive before lower-priority data. In some examples where multiple storage drives are being rebuilt, a system can prioritize a use of rebuild bandwidth in rebuilding storage drives.
    Type: Grant
    Filed: April 11, 2019
    Date of Patent: February 23, 2021
    Assignee: EMC IP HOLDING COMPANY LLC
    Inventors: John Creed, Owen Martin
  • Patent number: 10929226
    Abstract: Providing for increased flexibility for large scale parity, the including: writing data to a storage system, including utilizing a first data protection scheme; identifying, for storage media in the storage system, characteristics of the storage media; identifying, in dependence up the characteristics for the storage media, a second data protection scheme to use for the data; and writing the data to the to the storage system utilizing the second data protection scheme.
    Type: Grant
    Filed: November 21, 2018
    Date of Patent: February 23, 2021
    Assignee: Pure Storage, Inc.
    Inventors: Ethan Miller, Robert Lee, Par Botes, Ronald Karr
  • Patent number: 10911537
    Abstract: A method, computer program product, computing system, and system for increasing speed during synchronization or restore are described. The method may include acquiring list of items to be synchronized or restored. The method may further include defining a set of storage sources available to a client computer. The method may also include mounting the available storage sources to the client computer. The method may additionally include determining a storage intersection of items in the list based on the items being available in more than one mounted storage device. Moreover, the method may include, in response to determining a set of items that has a storage intersection, synchronizing or restoring the items based on at least one of a speed of download and a network latency.
    Type: Grant
    Filed: December 31, 2015
    Date of Patent: February 2, 2021
    Inventors: Dmitry Chepel, Stanislav Protasov, Serguei M. Beloussov
  • Patent number: 10872010
    Abstract: The present disclosure includes apparatuses, methods, and systems for error identification on executed code. An embodiment includes memory and circuitry configured to read data stored in a secure array of the memory, identify a different memory having an error correcting code (ECC) corresponding to the read data of the memory, execute an integrity check to compare the ECC to the read data of the memory; and take an action in response to the comparison of the read data of the memory and the ECC, wherein the comparison indicates that the ECC identified an error in the read data of the memory.
    Type: Grant
    Filed: March 25, 2019
    Date of Patent: December 22, 2020
    Assignee: Micron Technology, Inc.
    Inventors: Antonino Mondello, Alberto Troia
  • Patent number: 10783036
    Abstract: A method includes accessing at least three storage devices each including a first and a second logical unit stored therein. The method also includes grouping the respective first and second logical units of each of the at least three storage devices into a first striped scheme. The method also includes grouping the respective first logical unit of each of the at least three storage devices into a second striped scheme with parity.
    Type: Grant
    Filed: October 19, 2018
    Date of Patent: September 22, 2020
    Assignee: Seagate Technology LLC
    Inventor: Vijay Nanjunda Swamy
  • Patent number: 10769135
    Abstract: Disclosed herein are methods, systems, and apparatus, including computer programs encoded on computer storage media, for storing blockchain data. One of the methods includes determining block data and current state data associated with a current block of a blockchain; sending the current state data to one or more shared storage nodes of a blockchain network; performing error correction coding of the block data to generate encoded block data; dividing, based on one or more predetermined rules, the encoded block data into a plurality of data sets; storing, based on the one or more predetermined rules, one or more data sets of the plurality of data sets; hashing each data set of remaining data sets of the plurality of data sets to generate one or more hash values corresponding to the remaining data sets; and storing the one or more hash values and the current state data.
    Type: Grant
    Filed: December 12, 2019
    Date of Patent: September 8, 2020
    Assignee: Alibaba Group Holding Limited
    Inventor: Haizhen Zhuo