Patents by Inventor Mario Blaum

Mario Blaum has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Publication number: 20160117133
    Abstract: Embodiments of the invention provide parity logs for raid systems with variable-capacity media. In one embodiment, a system includes a first set of data storage media devices having variable capacity. The storage devices include a data portion of a parity data set for storing write data being striped to the first. The system further includes a second set of data storage media devices having variable capacity. The second set includes a linear address space of blocks for storing a parity portion of the parity data set. The linear address space is written in a log form. The first and second sets comprise at least one array in a RAID configuration. The system writes the parity portion of the parity data set to the second set, which enables each storage device among the first set to be written to full capacity.
    Type: Application
    Filed: October 27, 2014
    Publication date: April 28, 2016
    Inventors: Mario Blaum, Veera W. Deenadhayalan, Steven R. Hetzler, Wayne C. Hineman, Robert M. Rees, Pin Zhou
  • Publication number: 20160117222
    Abstract: Embodiments relate to a computer system for storing data on a time multiplexed redundant array of independent tapes. An aspect includes a memory device that buffers data received by the computer system to be written to a set of tape data storage devices. The data is written to the set of tape data storage devices in blocks that form parity stripes across the set of tape data storage device. Aspects further includes a tape drive that writes data to one of the set of tape data storage devices at a time in a tape-sequential manner and a processor that computes a parity value for each of the parity stripes. The tape drive writes the parity values for each of the parity stripes to a last subset of tapes of the set of tape data storage devices.
    Type: Application
    Filed: October 27, 2014
    Publication date: April 28, 2016
    Inventors: Mario Blaum, Veera W. Deenadhayalan, Steven R. Hetzler, Wayne C. Hineman, Robert M. Rees, Pin Zhou
  • Patent number: 9252815
    Abstract: An aspect is a method that includes receiving (k0?1)k1+k2 write data symbols, where k2<k1. The write data symbols are arranged in an array that includes k0?1 rows of length k1 followed by a row of length k2. The first k2 columns are encoded to form a partially encoded array using a vertical error correcting code of length m, m>k0, resulting in k2 columns of length m including the write data symbols and vertical parity values. The k0?1 rows of the write data symbols of length k1 and the m?k0+1 rows from the partially encoded array are encoded into an encoded array of m rows of length n columns, n>k1 including at least one parity value in each of the m rows, thereby enabling correction of up to (n?k1)/2 errors in any row and up to (n?k2)/2 errors in up to m?k0+1 rows of the encoded array.
    Type: Grant
    Filed: December 16, 2013
    Date of Patent: February 2, 2016
    Assignee: International Business Machines Corporation
    Inventors: Mario Blaum, Roy D. Cideciyan, Steven R. Hetzler, Thomas Mittelholzer
  • Publication number: 20160006457
    Abstract: Embodiments include generating an error correction code by identifying two error-correcting codes of length n with minimum distances d and 2d, such that the second code is contained into the first code. Data is then encoded into t?1 blocks using the first code, and into the t-th block using the second block. The first t?1 encoded blocks are stored into t?1 blocks of memory locations, while the exclusive-OR (XOR) of such t?1 encoded blocks and the t-th encoded block is stored into a t-th block of memory location. The final encoded vector of length to is identified as belonging in a code with minimum distance 2d. Rotations of an encoded vector jn times are identified as belonging to the same equivalence class. A received vector or its rotations jn times can be successfully identified in the presence of up to d?1 errors, while d errors are identified as uncorrectable errors.
    Type: Application
    Filed: July 7, 2014
    Publication date: January 7, 2016
    Inventors: John S. Best, Mario Blaum, Steven R. Hetzler
  • Publication number: 20150169397
    Abstract: An aspect is a method that includes receiving (k0?1)k1+k2 write data symbols, where k2<k1. The write data symbols are arranged in an array that includes k0?1 rows of length k1 followed by a row of length k2. The first k2 columns are encoded to form a partially encoded array using a vertical error correcting code of length m, m>k0, resulting in k2 columns of length m including the write data symbols and vertical parity values. The k0?1 rows of the write data symbols of length k1 and the m?k0+1 rows from the partially encoded array are encoded into an encoded array of m rows of length n columns, n>k1 including at least one parity value in each of the m rows, thereby enabling correction of up to (n?k1)/2 errors in any row and up to (n?k2)/2 errors in up to m?k0+1 rows of the encoded array.
    Type: Application
    Filed: December 16, 2013
    Publication date: June 18, 2015
    Applicant: International Business Machines Corporation
    Inventors: Mario Blaum, Roy D. Cideciyan, Steven R. Hetzler, Thomas Mittelholzer
  • Patent number: 9058291
    Abstract: Embodiments of the invention relate to erasure correcting codes for storage arrays. An aspect of the invention includes receiving a read stripe from a plurality of storage devices. The read stripe includes a block of pages arranged in rows and columns, with each column corresponding to one of the storage devices. The pages include data pages and parity pages, with the number of parity pages at least one more than the number of rows and not a multiple of the number of rows. The method further includes reconstructing at least one erased page in response to determining that the read stripe includes the at least one erased page and that the number of erased pages is less than or equal to the number of parity pages. The reconstructing is responsive to a multiple erasure correcting code and to the block of pages. The reconstructing results in a recovered read stripe.
    Type: Grant
    Filed: February 28, 2011
    Date of Patent: June 16, 2015
    Assignee: International Business Machines Corporation
    Inventors: Mario Blaum, James L. Hafner, Steven R. Hetzler, Daniel F. Smith
  • Publication number: 20150142763
    Abstract: Bitmap compression for fast searches and updates is provided. Compressing a bitmap includes receiving a bitmap to compress, and reading the bitmap to determine a value of a bit location for all bits in the bitmap. In one embodiment, a compressed bitmap is created by encoding a variable number of bytes to represent a distance between adjacent 1s in the uncompressed bitmap. In another embodiment, a compressed bitmap is created by representing a distance between adjacent 1s in the uncompressed bitmap using a plurality of bits, and encoding a marker word to indicate the number of bits used to represent the distance.
    Type: Application
    Filed: January 28, 2015
    Publication date: May 21, 2015
    Inventors: Mario Blaum, Alberto Nunez Covarrubias, Steven R. Hetzler
  • Patent number: 8918701
    Abstract: Embodiments of the invention relate to storing data in a storage array. An aspect of the invention includes receiving write data. The write data is arranged into “r” rows and “n” columns of pages, with each page including a plurality of sectors. The write data is encoded using a plurality of horizontal and vertical erasure correcting codes on the pages. The encoding allows recovery from up to tr erasures in any one of the r rows, up to tr?1 erasures in any one of the remaining r?1 rows, up to tr?2 erasures in any one of the remaining r?2 rows, and so on, such that the encoding allows recovery from up to t1 erasures in the last remaining row. Encoded write data is output from the encoding. The encoded write data is written as a write stripe across n storage devices in a storage array.
    Type: Grant
    Filed: July 31, 2012
    Date of Patent: December 23, 2014
    Assignee: SK Hynix Inc.
    Inventors: Mario Blaum, James L. Hafner, Steven R. Hetzler
  • Patent number: 8910012
    Abstract: In one embodiment, a system for encoding data includes logic adapted for receiving data having one or more sub data sets, a C1 encoder module adapted for generating a plurality of C1 codewords during C1 ECC encoding of the one or more sub data sets, logic adapted for interleaving the plurality of C1 codewords into C1 codeword interleaves (CWIs), each CWI having a predetermined number of C1 codewords interleaved therein, a C2 encoder module adapted for generating a plurality of C2 codewords during C2 ECC encoding of the one or more sub data sets, wherein each C2 codeword has at most one symbol from each C1 codeword in each CWI, and wherein each C2 codeword has one symbol from at least two different C1 codewords in each CWI, and logic adapted for writing the one or more encoded sub data sets to a storage medium.
    Type: Grant
    Filed: October 16, 2012
    Date of Patent: December 9, 2014
    Assignee: International Business Machines Corporation
    Inventors: Mario Blaum, Roy D. Cideciyan, Robert A. Hutchins, Thomas Mittelholzer
  • Patent number: 8874995
    Abstract: Embodiments of the invention relate to storing data in a storage array. An aspect of the invention includes receiving and arranging read data in array that includes m rows and n columns of entries, with each entry including at least one sector. In the array, mr+s locations are assigned to parity entries, such that each row has at least r parity entries. The parity entries correspond to a partial-maximum distance separable (PMDS) code that allows recovery from up to r erasures in each of the m rows as well as s additional erasures in any locations in the data array, where s is an integer greater than zero. The write data and the associated parity entries are written to the set of storage devices.
    Type: Grant
    Filed: February 2, 2012
    Date of Patent: October 28, 2014
    Assignee: International Business Machines Corporation
    Inventors: Mario Blaum, James L. Hafner, Steven R. Hetzler
  • Patent number: 8869006
    Abstract: Embodiments of the invention relate to correcting erasures in a storage array. A read stripe is received from a plurality of n storage devices. The read stripe includes an array of entries arranged in m rows and n columns with each column corresponding to one of the storage devices. The entries include data entries and mr+s parity entries. Each row contains at least r parity entries generated from the data entries according to a partial maximum distance separable (PMDS) code. It is determined that the read stripe includes at least one erased entry, at most mr+s erased entries and that no row has more than r+s erased entries. The erased entries are reconstructed from the non-erased entries, resulting in a recovered read stripe.
    Type: Grant
    Filed: July 18, 2012
    Date of Patent: October 21, 2014
    Assignee: International Business machines Corporation
    Inventors: Mario Blaum, James L. Hafner, Steven R. Hetzler
  • Publication number: 20140108881
    Abstract: In one embodiment, a system for encoding data includes logic adapted for receiving data having one or more sub data sets, a C1 encoder module adapted for generating a plurality of C1 codewords during C1 ECC encoding of the one or more sub data sets, logic adapted for interleaving the plurality of C1 codewords into C1 codeword interleaves (CWIs), each CWI having a predetermined number of C1 codewords interleaved therein, a C2 encoder module adapted for generating a plurality of C2 codewords during C2 ECC encoding of the one or more sub data sets, wherein each C2 codeword has at most one symbol from each C1 codeword in each CWI, and wherein each C2 codeword has one symbol from at least two different C1 codewords in each CWI, and logic adapted for writing the one or more encoded sub data sets to a storage medium.
    Type: Application
    Filed: October 16, 2012
    Publication date: April 17, 2014
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Mario Blaum, Roy D. Cideciyan, Robert A. Hutchins, Thomas Mittelholzer
  • Publication number: 20130205168
    Abstract: Embodiments of the invention relate to correcting erasures in a storage array. A read stripe is received from a plurality of n storage devices. The read stripe includes an array of entries arranged in m rows and n columns with each column corresponding to one of the storage devices. The entries include data entries and mr+s parity entries. Each row contains at least r parity entries generated from the data entries according to a partial maximum distance separable (PMDS) code. It is determined that the read stripe includes at least one erased entry, at most mr+s erased entries and that no row has more than r+s erased entries. The erased entries are reconstructed from the non-erased entries, resulting in a recovered read stripe.
    Type: Application
    Filed: July 18, 2012
    Publication date: August 8, 2013
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Mario Blaum, James L. Hafner, Steven R. Hetzler
  • Publication number: 20130205181
    Abstract: Embodiments of the invention relate to storing data in a storage array. An aspect of the invention includes receiving and arranging read data in array that includes m rows and n columns of entries, with each entry including at least one sector. In the array, mr+s locations are assigned to parity entries, such that each row has at least r parity entries. The parity entries correspond to a partial-maximum distance separable (PMDS) code that allows recovery from up to r erasures in each of the m rows as well as s additional erasures in any locations in the data array, where s is an integer greater than zero. The write data and the associated parity entries are written to the set of storage devices.
    Type: Application
    Filed: February 2, 2012
    Publication date: August 8, 2013
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Mario Blaum, James L. Hafner, Steven R. Hetzler
  • Patent number: 8433979
    Abstract: Embodiments of the invention relate to storing data in a storage array. An aspect of the invention includes receiving write data. The write data is arranged into “r” rows and “n” columns of pages, with each page including a plurality of sectors. The write data is encoded using a plurality of horizontal and vertical erasure correcting codes on the pages. The encoding allows recovery from up to tr erasures in any one of the r rows, up to tr?1 erasures in any one of the remaining r?1 rows, up to tr?2 erasures in any one of the remaining r?2 rows, and so on, such that the encoding allows recovery from up to t1 erasures in the last remaining row. Encoded write data is output from the encoding. The encoded write data is written as a write stripe across n storage devices in a storage array.
    Type: Grant
    Filed: February 28, 2011
    Date of Patent: April 30, 2013
    Assignee: International Business Machines Corporation
    Inventors: Mario Blaum, James L. Hafner, Steven R. Hetzler
  • Publication number: 20120331367
    Abstract: Embodiments of the invention relate to storing data in a storage array. An aspect of the invention includes receiving write data. The write data is arranged into “r” rows and “n” columns of pages, with each page including a plurality of sectors. The write data is encoded using a plurality of horizontal and vertical erasure correcting codes on the pages. The encoding allows recovery from up to tr erasures in any one of the r rows, up to tr-1 erasures in any one of the remaining r-1 rows, up to tr-2 erasures in any one of the remaining r-2 rows, and so on, such that the encoding allows recovery from up to t1 erasures in the last remaining row. Encoded write data is output from the encoding. The encoded write data is written as a write stripe across n storage devices in a storage array.
    Type: Application
    Filed: July 31, 2012
    Publication date: December 27, 2012
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Mario Blaum, James L. Hafner, Steven R. Hetzler
  • Patent number: 8301948
    Abstract: A method for adaptively applying an error-correcting code to a storage device is disclosed. A determination is made that a system is in an idle state of input/output requests. First data symbols are copied into a first location within a buffer. First data symbol errors corrected using a first error-correcting code. Second data symbols including corrected bits are written in a second location on the recording media with a second error-correcting code. An error number for the second data symbols in the second location is determined. If the error number is below a first threshold error number, the first data symbols are deleted. If the error number is above the first threshold error number, the second data symbols are deleted.
    Type: Grant
    Filed: August 10, 2009
    Date of Patent: October 30, 2012
    Assignee: Hitachi Global Storage Technologies Netherlands B.V.
    Inventors: Mario Blaum, Kurt A. Rubin, Manfred E. Schabes
  • Publication number: 20120221920
    Abstract: Embodiments of the invention relate to erasure correcting codes for storage arrays. An aspect of the invention includes receiving a read stripe from a plurality of storage devices. The read stripe includes a block of pages arranged in rows and columns, with each column corresponding to one of the storage devices. The pages include data pages and parity pages, with the number of parity pages at least one more than the number of rows and not a multiple of the number of rows. The method further includes reconstructing at least one erased page in response to determining that the read stripe includes the at least one erased page and that the number of erased pages is less than or equal to the number of parity pages. The reconstructing is responsive to a multiple erasure correcting code and to the block of pages. The reconstructing results in a recovered read stripe.
    Type: Application
    Filed: February 28, 2011
    Publication date: August 30, 2012
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Mario Blaum, James L. Hafner, Steven R. Hetzler, Daniel F. Smith
  • Publication number: 20120221926
    Abstract: Embodiments of the invention relate to storing data in a storage array. An aspect of the invention includes receiving write data. The write data is arranged into “r” rows and “n” columns of pages, with each page including a plurality of sectors. The write data is encoded using a plurality of horizontal and vertical erasure correcting codes on the pages. The encoding allows recovery from up to tr erasures in any one of the r rows, up to tr-1 erasures in any one of the remaining r?1 rows, up to tr-2 erasures in any one of the remaining r?2 rows, and so on, such that the encoding allows recovery from up to t1 erasures in the last remaining row. Encoded write data is output from the encoding. The encoded write data is written as a write stripe across n storage devices in a storage array.
    Type: Application
    Filed: February 28, 2011
    Publication date: August 30, 2012
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Mario Blaum, James L. Hafner, Steven R. Hetzler
  • Patent number: 8213229
    Abstract: Flash memory devices and associated methods are described for controlling data errors in the devices through various forms of decoding, error correction, and wear concentration. To this end, a flash memory device may be partitioned into a plurality of sectors. Data may then be received from, for example, a host processor for storage within the flash memory device. Storage durations of the data are then estimated and the data is stored in the data sectors based on those estimated storage durations.
    Type: Grant
    Filed: August 22, 2008
    Date of Patent: July 3, 2012
    Assignee: HGST Netherlands, B.V.
    Inventors: Bruce A. Wilson, Jorge Campello de Souza, Mario Blaum, Ivana Djurdjevic, Jihoon Park