In Memories (epo) Patents (Class 714/E11.034)
  • Patent number: 8291161
    Abstract: In one embodiment, a method for writing data to a storage-device array (i) including three or more storage devices and (ii) having a plurality of stripes, each stripe having two or more sector levels, each sector level containing one sector on each storage device in the array at corresponding addresses across the storage devices. The method includes: (a) calculating a parity index based on (i) an index value for a current stripe and (ii) the number of storage devices in the array, the parity index identifying a first storage device for parity data for the current stripe; and (b) at each sector level of the current stripe: (b1) writing parity data to the first storage device identified by the parity index; and (b2) writing information to the remaining storage devices.
    Type: Grant
    Filed: October 6, 2006
    Date of Patent: October 16, 2012
    Assignee: Agere Systems LLC
    Inventors: Richard J. Byrne, Eu Gene Goh, Silvester Tjandra
  • Publication number: 20120260147
    Abstract: A method for data storage includes storing data in a group of analog memory cells by writing respective input storage values to the memory cells in the group. After storing the data, respective output storage values are read from the analog memory cells in the group. Respective confidence levels of the output storage values are estimated, and the confidence levels are compressed. The output storage values and the compressed confidence levels are transferred from the memory cells over an interface to a memory controller.
    Type: Application
    Filed: June 19, 2012
    Publication date: October 11, 2012
    Inventors: Uri Perlmutter, Oren Golov
  • Publication number: 20120260146
    Abstract: A method is provided for operating a data storage device comprising a storage medium and a controller configured to control operations of the storage medium. The method comprises determining whether a read-requested data strip is an error data strip, reading a plurality of data strips in a stripe comprising the read-requested data strip when the read-requested data strip is the error data strip, outputting a data strip recovered using the other data strip except the error data strip among the plurality of data strips, and writing the recovered data strip and the other data strips into the storage medium.
    Type: Application
    Filed: April 5, 2012
    Publication date: October 11, 2012
    Applicant: SAMSUNG ELECTRONICS CO., LTD.
    Inventors: KEUNJAE LEE, SUNG HOON BAEK, WONMOON CHEON, Jeong-Beom Seo
  • Publication number: 20120260149
    Abstract: A data processing method of a memory controller includes receiving first partial data of a last sector data among a plurality of sector data to be stored in an n-th page of a non-volatile memory in a program operation; padding the first partial data with first dummy data and generating a first error correction code (ECC) parity in the program operation; and transferring the first partial data and the first ECC parity to the non-volatile memory in the program operation, while refraining from transferring the first dummy data to the non-volatile memory. Related devices and systems are also described.
    Type: Application
    Filed: April 4, 2012
    Publication date: October 11, 2012
    Applicant: Samsung Electronics Co., Ltd.
    Inventors: Woo Tae Chang, Yong Tae Yim
  • Publication number: 20120254694
    Abstract: A method for data storage includes storing two or more data items in a non-volatile memory. Redundancy information is calculated over the data items, and the redundancy information is stored in a volatile memory. Upon a failure to retrieve a data item from the non-volatile memory, the data item is reconstructed from remaining data items stored in the non-volatile memory and from the redundancy information stored in the volatile memory.
    Type: Application
    Filed: March 25, 2012
    Publication date: October 4, 2012
    Applicant: ANOBIT TECHNOLOGIES LTD.
    Inventors: Oren Golov, Oren Segal, Uzi Doron, Julian Vlaiko, Avraham Meir
  • Publication number: 20120254695
    Abstract: Unrecoverable electronic correction code (ECC) errors in memory storage devices are usually preceded by recoverable ECC errors. A memory storage device controller is provided notice of the recoverable errors and associated information. The memory storage device controller can cause the data having the recoverable information to be rewritten on the memory storage device. Rewriting the data on the memory storage device (often in a different location) normally reduces the probability of encountering data with unrecoverable data errors.
    Type: Application
    Filed: June 11, 2012
    Publication date: October 4, 2012
    Applicant: MICROSOFT CORPORATION
    Inventors: Jered D. Aasheim, Pranish Kumar
  • Publication number: 20120254690
    Abstract: A method begins by a processing module encoding data utilizing a dispersed storage error coding function to produce a set of encoded data slices, wherein the dispersed storage error coding function includes a decode threshold parameter and a pillar width parameter. The method continues with the processing module storing a number of encoded data slices of the set of encoded data slices in a local memory, wherein the number is based on the decode threshold parameter and is less than the pillar width parameter, and outputting remaining encoded data slices of the set of encoded data slices to dispersed storage network (DSN) memory.
    Type: Application
    Filed: March 6, 2012
    Publication date: October 4, 2012
    Applicant: CLEVERSAFE, INC.
    Inventors: Jason K. Resch, Gary W. Grube, Timothy W. Markison
  • Publication number: 20120254699
    Abstract: Embodiments of the invention describe a dynamic read reference voltage for use in reading data from non-volatile memory cells. In embodiments of the invention, the read reference voltage is calibrated as the non-volatile memory device is used. Embodiments of the invention may comprise of logic and or modules to read data from a plurality of non-volatile memory cells using a first read reference voltage level (e.g., an initial read reference voltage level whose value is determined by the non-volatile device manufacturer). An Error Checking and Correction (ECC) algorithm is performed to identify whether errors exist in the data as read using the first read reference voltage level. If errors in the data as read are identified, a pre-determined value is retrieved to adjust the first read reference voltage level to a second read reference voltage level.
    Type: Application
    Filed: April 1, 2011
    Publication date: October 4, 2012
    Inventors: PAUL D. RUBY, Hanmant P. Belgal, Yogesh B. Wakchaure, Xin Guo, Scott E. Nelson, Svanhild M. Salmons
  • Publication number: 20120254689
    Abstract: A method begins by a dispersed storage (DS) processing module updating an encoded data slice of a set of encoded data slices to produce an updated encoded data slice and sending the updated encoded data slice to a first DS unit of a set of DS units. The method continues with the first DS unit storing the updated encoded data slice and generating partial error recovery information to produce a collection of partial error recovery information. The method continues with the first DS unit outputting the collection of partial error recovery information for storage in at least some of the set of DS units. The method continues with one of the at least some of the set of DS units updating error recovery information of an encoded data slice based on a corresponding one of the collection of partial error recovery information.
    Type: Application
    Filed: March 6, 2012
    Publication date: October 4, 2012
    Applicant: CLEVERSAFE, INC.
    Inventor: Jason K. Resch
  • Publication number: 20120254688
    Abstract: A method begins by a processing module receiving a request to store data in dispersed storage network (DSN) memory and determining whether the data is to be appended to existing data. When the data is to be appended, the method continues with the processing module encoding, using an append dispersed storage error coding function, the data to produce a set of encoded append data slices, generating a set of append commands, wherein an append command of the set of append commands includes an encoded append data slice of the set of encoded append data slices and identity of one of a set of dispersed storage (DS) units, and outputting at least a write threshold number of the set of append commands to at least a write threshold number of the set of DS units.
    Type: Application
    Filed: March 6, 2012
    Publication date: October 4, 2012
    Applicant: CLEVERSAFE, INC.
    Inventor: Jason K. Resch
  • Publication number: 20120254697
    Abstract: A method begins when a dispersed storage (DS) processing unit of a DS unit has at least one of DS unit operational data and DS unit operating system algorithm to store. The method continues with the DS processing unit encoding at least a portion of the at least one of DS unit operational data and DS unit operating system algorithm in accordance with an error coding dispersal storage function to produce a plurality of data slices. The method continues with the DS processing unit storing at least some of the plurality of data slices in memory devices of the DS unit in accordance with the error coding dispersal storage function.
    Type: Application
    Filed: June 15, 2012
    Publication date: October 4, 2012
    Applicant: CLEVERSAFE, INC.
    Inventors: STEVEN MARK HOFFMAN, JASON K. RESCH, GARY W. GRUBE, TIMOTHY W. MARKISON
  • Publication number: 20120254698
    Abstract: A data processing apparatus is provided which comprises a processor unit configured to perform data processing operations in response to a sequence of instructions and a storage unit configured to store data values for access by the processor unit when performing its data processing operations. Redundant error control data is stored in association with the data values, the redundant error control data enabling identification of an error in the data values. The data processing apparatus also comprises a data scrubbing unit configured to perform a data scrubbing process on at least a subset of the data values, the data scrubbing process comprising determining with reference to the redundant error control data if an error is present in that subset of data values and, where possible, correcting that error with reference to the redundant error control data.
    Type: Application
    Filed: March 30, 2011
    Publication date: October 4, 2012
    Inventors: Emre Özer, Sachin Satish Idgunji
  • Publication number: 20120254687
    Abstract: A method begins by a processing module receiving a data segment retrieval request regarding a data segment, which is stored in a dispersed storage network (DSN) memory. The method continues with the processing module processing the data segment retrieval request, determining pre-fetch segment buffering information, and when the pre-fetch segment buffering information indicates pre-fetching one or more other data segments, generating one or more pre-fetch segment retrieval requests for the one or more other data segments, receiving, one or more sets of at least a decode threshold number of encoded data slices, decoding, in accordance with a dispersed storage error coding function, the one or more sets of at least a decode threshold number of encoded data slices to reproduce the one or more other data segments, and updating a pre-fetch segment buffer with the one or more other data segments.
    Type: Application
    Filed: March 6, 2012
    Publication date: October 4, 2012
    Applicant: CLEVERSAFE, INC.
    Inventors: Wesley Leggette, Ilya Volvovski, Andrew Baptist, Jason K. Resch
  • Publication number: 20120254696
    Abstract: A method for data storage includes storing data, which is encoded with an Error Correction Code (ECC), in a group of analog memory cells by writing respective first storage values to the memory cells in the group. After storing the data, respective second storage values are read from the memory cells in the group, and the read second storage values are processed so as to decode the ECC. Responsively to a failure in decoding the ECC, one or more of the second storage values that potentially caused the failure are identified as suspect storage values. Respective third storage values are re-read from a subset of the memory cells that includes the memory cells holding the suspect storage values. The ECC is re-decoded using the third storage values so as to reconstruct the stored data.
    Type: Application
    Filed: June 14, 2012
    Publication date: October 4, 2012
    Inventors: Uri Perlmutter, Naftali Sommer, Ofir Shalvi
  • Publication number: 20120254692
    Abstract: A method begins by a processing module encoding data based on a decode threshold parameter and a pillar width parameter to produce a set of encoded data slices and selecting a local area network (LAN) pillar width value of encoded data slices of the set of encoded data slices for storage in LAN available memories, wherein the LAN pillar width value is based on the decode threshold parameter, the pillar width parameter, and quantities of the LAN available memories. The method continues with the processing module selecting a wide area network (WAN) pillar width value of encoded data slices of the set of encode data slices for storage in a dispersed storage network (DSN) memory of a wide area network, wherein the WAN pillar width value is based on the decode threshold parameter and the pillar width parameter.
    Type: Application
    Filed: March 6, 2012
    Publication date: October 4, 2012
    Applicant: CLEVERSAFE, INC.
    Inventors: Jason K. Resch, Gary W. Grube, Timothy W. Markison
  • Publication number: 20120254686
    Abstract: An error correction unit is an area in a page where the error bit count is low, and an error correction unit is an area in a page where the error bit count is high. The error correction unit includes a user data area, a first redundancy area, and a second redundancy area. The error correction unit includes a user data area, a first redundancy area, and a second redundancy area. Errors in the user data areas are corrected with a first set of redundant bits stored in the first redundancy areas, respectively. A second set of redundant bits for correcting errors in the user data area within the high-error bit count page is stored in the second redundancy area within the low-error bit count page and the second redundancy area within the high-error bit count page in a distributed manner.
    Type: Application
    Filed: September 30, 2011
    Publication date: October 4, 2012
    Applicant: SIGLEAD Inc.
    Inventors: Atsushi ESUMI, Kai Li
  • Publication number: 20120246543
    Abstract: A method is described that includes reading a cache tag and the cache tag's corresponding ECC from storage circuitry of a cache. The method also includes generating an ECC for a search tag. The method also includes calculating a hamming distance between a) the cache tag and its corresponding ECC and b) the search tag and its corresponding ECC. The method also includes determining if the cache tag matches the search tag by comparing the hamming distance against a threshold.
    Type: Application
    Filed: March 25, 2011
    Publication date: September 27, 2012
    Inventors: Ariel Szapiro, Alexander Gendler, Eugene Gorkov
  • Publication number: 20120246544
    Abstract: A memory controller and method that provide a read-refresh (also called “distributed-refresh”) mode of operation, in which every row of memory is read within the refresh-rate requirements of the memory parts, with data from different columns within the rows being read on subsequent read-refresh cycles until all rows for each and every column address have been read, scrubbing errors if found, thus providing a scrubbing function that is integrated into the read-refresh operation, rather than being an independent operation. For scrubbing, an atomic read-correct-write operation is scheduled. A variable-priority, variable-timing refresh interval is described. An integrated card self-tester and/or card reciprocal-tester is described. A memory bit-swapping-within-address-range circuit, and a method and apparatus for bit swapping on the fly and testing are described.
    Type: Application
    Filed: September 20, 2011
    Publication date: September 27, 2012
    Applicant: CRAY INC.
    Inventors: David R. Resnick, Van L. Snyder, Michael F. Higgins
  • Publication number: 20120246542
    Abstract: Error correction code (ECC) checkbits are generated for each write access to a memory address based on both the data to be written (the write data) and the memory address. The ECC checkbits are stored with the data and, in response to a read access at the memory address, are employed to check for errors in both the address and the data provided in response to the read access (the read data). The ECC checkbit generation process can result, for particular memory addresses, in checkbits that can incorrectly indicate whether errors are present in the read data. Accordingly, the checkbits can be selectively inverted based on the memory address so that the checkbit pattern will not result in an incorrect error detection or correction.
    Type: Application
    Filed: March 22, 2011
    Publication date: September 27, 2012
    Applicant: Freescale Semiconductor, Inc.
    Inventors: William C. Moyer, Joseph C. Circello
  • Publication number: 20120240012
    Abstract: Disclosed is an apparatus and method for operating a multi-level cell (MLC) flash memory circuit. Data is read from a memory block of a plurality of memory blocks in the MLC flash memory circuit, wherein each of the plurality of memory blocks can operate in one of at least three modes of operation comprising an MLC mode, a single-level cell (SLC) mode and a defective mode, and wherein the memory block is initially operating in the MLC mode. Error correction is performed on the read data to correct read errors in the read data. A determination is made if a number of bits corrected by the error correction exceeds a predetermined threshold value. If the number of bits corrected by the error correction exceeds the predetermined threshold value, the operating mode of the memory block is switched from the MLC mode to the SLC mode.
    Type: Application
    Filed: July 6, 2011
    Publication date: September 20, 2012
    Applicant: STEC, INC.
    Inventors: Anthony D. WEATHERS, Richard D. BARNDT, Ashot MELIK-MARTIROSIAN
  • Publication number: 20120240014
    Abstract: One embodiment of the present invention relates to an error tolerant memory circuit having a low hardware overhead that can tolerate both single volatile soft errors and permanent errors. In one embodiment, the method and apparatus comprise a memory circuit having a plurality of memory element pairs, respectively having two memory storage elements configured to store a data unit. One or more parity generation circuits are configured to calculate a first parity bit from data written to the plurality of memory element pairs (e.g., the two memory storage elements) and a second parity bit from data read from one of the two memory storage elements in the plurality of memory element pairs. Based upon the calculated first and second parity bits, the memory circuit chooses to selectively output data from memory storage elements not known to contain an error.
    Type: Application
    Filed: March 14, 2011
    Publication date: September 20, 2012
    Applicant: Infineon Technologies AG
    Inventors: Georg Georgakos, Michael Gössel, Anton Huber
  • Publication number: 20120233524
    Abstract: Systems and methods for constructing low-density parity check codes for holographic storage are provided. The methods include selecting parameters of a low-density parity check code, determining the number of bit processing elements and the amount of memory in an accompanying decoder, and constructing a mother matrix representation of a quasi-cyclic parity check matrix. The low-density parity check codes are optimized for performance, memory considerations, and throughput.
    Type: Application
    Filed: May 18, 2012
    Publication date: September 13, 2012
    Applicant: MARVELL INTERNATIONAL LTD.
    Inventors: Nedeljko Varnica, Seo-How Low, Gregory Burd, Zining Wu
  • Publication number: 20120233521
    Abstract: Described herein are an apparatus, system, and method for encoder assisted decoding of linear systematic block codes. The apparatus comprises a first logic unit to receive a codeword from a memory, the codeword having a data portion and a corresponding parity portion; an encoder to encode the data portion of the received codeword and to generate a corresponding parity of the data portion of the received codeword; a second logic unit to generate a first parity portion from the corresponding parity portion of the codeword received by the first logic unit and the corresponding parity portion generated by the encoder; and a correction unit to correct the data portion of the codeword via the generated first parity portion.
    Type: Application
    Filed: March 8, 2011
    Publication date: September 13, 2012
    Inventors: Zion S. Kwok, Scott Nelson
  • Publication number: 20120233498
    Abstract: A mechanism is provided for detecting and correcting a first number of bit errors in a segment of data stored in a memory region being read, while concurrently detecting the presence of higher numbers of bit errors in that segment of data. In the event of detection of a higher number of bit errors in any single segment of data of the memory region, error correction of that higher number of bit errors is performed on the memory region, while concurrently detecting the presence of an even higher level of bit errors. By performing error correction of higher levels of bit errors in such a hierarchical order, memory latency associated with such error correction can be avoided in the majority of data accesses, thereby improving performance of the data access.
    Type: Application
    Filed: March 10, 2011
    Publication date: September 13, 2012
    Inventors: Ravindraraj Ramaraju, Edmund J. Gieske, David F. Greenberg
  • Publication number: 20120226961
    Abstract: A method of storing data is disclosed. A set of data blocks, including a plurality of proper subsets of data blocks, is stored. A plurality of first-level parity blocks is generated, wherein each first-level parity block is generated from a corresponding proper subset of data blocks within the plurality of proper subsets of data blocks without reference to other data blocks not in the corresponding proper subset. A second-level parity block is generated, wherein the second level parity block is generated from a plurality of data blocks included in at least two of the plurality of proper subsets of data blocks, and wherein recovery of a lost block in a given proper subset of data blocks is possible without reference to any data blocks not in the given proper subset.
    Type: Application
    Filed: March 4, 2012
    Publication date: September 6, 2012
    Applicant: EMC CORPORATION
    Inventors: Christopher R. Lumb, R. Hugo Patterson
  • Publication number: 20120226960
    Abstract: A computing device includes a central processing unit (CPU) and a memory system module. The CPU includes a data dispersed storage error coding (DSEC) module operable to DSEC decode a set of encoded ingress data slices to recapture ingress data and DSEC encode egress data to produce a set of encoded egress data slices, an instruction DSEC module operable to DSEC decode a set of encoded instruction slices to recapture an instruction, and an arithmetic logic unit (ALU) operable to, execute the instruction on the ingress data and execute the instruction to produce the egress data. The memory system module is operable to coordinate retrieval of the set of encoded ingress data slices from memory, coordinate retrieval of the set of encoded instruction slices from the memory, and coordinate storage of the set of encoded egress data slices in the memory.
    Type: Application
    Filed: February 14, 2012
    Publication date: September 6, 2012
    Applicant: CLEVERSAFE, INC.
    Inventors: Gary W. Grube, Timothy W. Markison, Greg Dhuse, Jason K. Resch, Ilya Volvovski, Wesley Leggette
  • Publication number: 20120226959
    Abstract: Embodiments of the invention describe methods, systems and apparatuses to improve solid state device (SSD) write speed by efficiently utilizing error correction code executed for the device. SSDs may be comprised of several NAND memory devices. It is understood that such devices tend to have a raw bit error rate (RBER) that is related to the program/erase cycle count for the device. Embodiments of the invention efficiently use system ECC by changing the operating conditions of the SSD to better utilize the robustness of the implemented ECC algorithm. For example, embodiments of the invention may alter the programming voltage supplied to an SSD to increase write speed; such an increase may increase the RBER of the device, but will not affect the accuracy of such operations due to the ECC that is provisioned for end of life storage fidelity (i.e., the RBER that will occur at the end of life).
    Type: Application
    Filed: March 3, 2011
    Publication date: September 6, 2012
    Inventors: Ningde Xie, Matthew Goldman, Jawad B. Khan, Robert W. Faber
  • Publication number: 20120221923
    Abstract: A memory system includes a memory module of first to eighth semiconductor memories of an n-bit input/output type; and a memory control unit configured to generate three n-bit error detection and correction codes based on four n-bit data received from an external system, respectively store the four n-bit data in the first to fourth semiconductor memories, and respectively store the three n-bit error detection and correction code in the fifth to seventh semiconductor memories. When reading the four n-bit data stored in the first to fourth semiconductor memories, the memory control unit executes error detection to every two of the four n-bit data read from the first to fourth semiconductor memories based on the three n-bit error detection and correction code stored in the fifth to seventh semiconductor memories and executes error correction to one n-bit data related to an error, of the four n-bit data.
    Type: Application
    Filed: February 23, 2012
    Publication date: August 30, 2012
    Applicant: NEC Computertechno, Ltd.
    Inventor: Shusaku UCHIBORI
  • Publication number: 20120221919
    Abstract: Integrated circuits with memory circuitry may include error detection circuitry and error correction circuitry. The error detection circuitry may be used to detect soft errors in the memory circuitry. The error detection circuitry may include logic gates that are used to perform parity checking. The error detection circuitry may have an interleaved structure to provide interleaved data bit processing, may have a tree structure to reduce logic gate delays, and may be pipelined to optimize performance. The memory circuitry may be loaded with interleaved parity check bits in conjunction with the interleaved structure to provide multi-bit error detection capability. The parity check bits may be precomputed using design tools or computed during device configuration. In response to detection of a memory error, the error correction circuitry may be used to scan desired portions of the memory circuitry and to correct the memory error.
    Type: Application
    Filed: February 25, 2011
    Publication date: August 30, 2012
    Inventors: Paul B. Ekas, David Lewis
  • Publication number: 20120221917
    Abstract: A method includes calculating a first syndrome of a codeword read from a memory location under a first set of conditions and calculating a second syndrome of the codeword read from the memory location under a second set of conditions. The method also includes analyzing the first and second syndromes and applying one of the first and second syndromes to the codeword to find the codeword having a minimum number of errors.
    Type: Application
    Filed: February 28, 2011
    Publication date: August 30, 2012
    Inventors: Christopher Bueb, Sean Eilert
  • Publication number: 20120221924
    Abstract: An apparatus, system, and method are disclosed for detecting and replacing failed data storage. A read module reads data from an array of memory devices. The array includes two or more memory devices and one or more extra memory devices storing parity information from the memory devices. An ECC module determines, using an error correcting code (“ECC”), if one or more errors exist in tested data and if the errors are correctable using the ECC. The tested data includes data read by the read module. An isolation module selects a memory device in response to the ECC module determining that errors exists in the data read by the read module and that the errors are uncorrectable using the ECC. The isolation module also replaces data read from the selected memory device with replacement data and available data wherein the tested data includes the available data combined with the replacement data.
    Type: Application
    Filed: May 8, 2012
    Publication date: August 30, 2012
    Applicant: FUSION-IO, INC.
    Inventors: David Flynn, Jonathan Thatcher, Joshua Aune, Jeremy Fillingim, Bill Inskeep, John Strasser, Kevin Vigor
  • 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
  • Publication number: 20120216096
    Abstract: A memory device and a memory system, the memory system including a data compressor for generating compressed data by compressing program data in a first unit, and an error correction block generator for dividing the compressed data in a second unit to obtain a plurality of pieces of normal data, and generating error correction blocks for correcting errors of the plurality of pieces of normal data, wherein each of the error correction blocks comprises the normal data, invalid data having a size corresponding to the size of the normal data, and parities for the normal data and the invalid data.
    Type: Application
    Filed: February 15, 2012
    Publication date: August 23, 2012
    Inventors: Man-keun Seo, Jun-jin Kong, Kyoung-Lae Cho
  • Publication number: 20120210193
    Abstract: A method for checking reading errors of a memory includes the following steps. A first data fragment is received. A first count index according to the first data fragment is generated, wherein the first count index is corresponding to a quantity of one kind of binary value in the first data fragment. The first data fragment is written into the memory. The first data fragment is read from the memory as a second data fragment. A second count index is generated according to the second data fragment. The first count index is compared with the second count index.
    Type: Application
    Filed: April 26, 2012
    Publication date: August 16, 2012
    Applicant: MACRONIX INTERNATIONAL CO., LTD.
    Inventors: Wen-Chiao HO, Chin-Hung CHANG, Chun-Hsung HUNG, Kuen-Long CHANG
  • Publication number: 20120210192
    Abstract: A data storage system includes a data storage array configured for de-duplication of duplicate data therein by: identification of a plurality of portions of data; a comparison of each portion of the data to identify duplicate data and identification of a link associated with each duplicate data; a determination of whether a Hamming link-separation-distance of the identified link is greater than twice a Hamming radius of an error correction code in the data storage system; and replacement of the duplicate data with the identified link when it is determined that the Hamming link-separation-distance is greater than twice the Hamming radius.
    Type: Application
    Filed: April 23, 2012
    Publication date: August 16, 2012
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Robert Haas, Nils Haustein, Craig Anthony Klein, Ulf Troppens, Daniel James Winarski
  • Publication number: 20120210163
    Abstract: Embodiments of the present invention provide backup and restoration functions for a storage device of a PCI-Express (PCI-e) type that support a low-speed data processing speed for a host. Specifically, embodiments of this invention provide backup and restoration functions for one or more (i.e., a set of) semiconductor storage devices (SSDs). In general, the present invention provides an alarm unit and a secondary power supply coupled to a backup controller. The backup controller is coupled to a backup storage device. When a primary power supply is deactivated (e.g., fails), an alarm unit and the secondary power supply is activated. In response to this activation, the backup controller will backup any data stored on any SSDs of the storage system (as well as any data stored in main memory of the storage system or in main memory of any host server connected thereto).
    Type: Application
    Filed: February 11, 2011
    Publication date: August 16, 2012
    Inventor: Byungcheol Cho
  • Publication number: 20120210194
    Abstract: A method for integrating data and header protection in tape drives includes receiving an array of data organized into rows and columns. The array is extended to include one or more headers for each row of data in the array. The method provides two dimensions of error correction code (ECC) protection for the data in the array and a single dimension of ECC protection for the headers in the array. A corresponding apparatus is also disclosed herein.
    Type: Application
    Filed: April 19, 2012
    Publication date: August 16, 2012
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Roy D. Cideciyan, Hisato Matsuo, Thomas Mittelholzer, Kenji Ohtani, Paul J. Seger, Keisuke Tanaka
  • Publication number: 20120204080
    Abstract: Non-systematic (207, 187) Reed-Solomon codewords contain valuable information concerning the correctness of the outer convolutional coding of the serial concatenated convolutional coding, (SCCC) used for transmitting M/H-service data. An M/H receiver can decode the non-systematic (207, 187) Reed-Solomon coded MHE packets before and during turbo decoding of the SCCC. The decoding results are used to influence the soft decisions concerning bits of the SCCC that arise during SCCC decoding procedures. The decoding results can sometimes correct errors in the outer convolutional coding of the SCCC. The decoding results can be employed to stop the iterative SCCC decoding procedures sometimes before reaching a prescribed maximum number of iterations.
    Type: Application
    Filed: February 8, 2011
    Publication date: August 9, 2012
    Inventor: Allen LeRoy Limberg
  • Publication number: 20120204077
    Abstract: A method in a data storage device receiving data including a data block and main error correction coding (ECC) data for the data block. The data block includes a first sub-block of data and a second sub-block of data. The method also includes initiating an ECC operation to process the data block using the main ECC data. In response to the ECC operation indicating uncorrectable errors in the data block, first additional ECC data that is external to the data block is retrieved and a second ECC operation is initiated to process the first sub-block of data using the first additional ECC data.
    Type: Application
    Filed: February 8, 2011
    Publication date: August 9, 2012
    Applicant: SANDISK CORPORATION
    Inventors: MANUEL ANTONIO D'ABREU, STEPHEN SKALA
  • Publication number: 20120204081
    Abstract: An iterative decoder for decoding a code block comprises a computation unit configured to perform forward and backward recursions over a code block or a code sub-block in each decoding iteration. A first forward/backward decoding scheme is used in a first iteration and a second forward/backward decoding scheme is used in a second iteration. The first and second decoding schemes are different in view of forward and backward processing.
    Type: Application
    Filed: February 8, 2011
    Publication date: August 9, 2012
    Applicant: Infineon Technologies AG
    Inventors: Maria Fresia, Jens Berkmann, Axel Huebner
  • Publication number: 20120198312
    Abstract: A first data set is written to first memory units identified as having a higher data reliability and a second data set is written to second memory units identified as having a lower data reliability than the first memory units. In some cases, the second data set may include metadata or redundancy information that is useful to aid in reading and/or decoding the first data set. The act of writing the second data set increases the data reliability of the first data set. The second data set may be a null pattern, such as all erased bits.
    Type: Application
    Filed: February 2, 2011
    Publication date: August 2, 2012
    Applicant: SEAGATE TECHNOLOGY LLC
    Inventors: Navneeth Kankani, Mark Allen Gaertner, Rodney Virgil Bowman, Ryan James Goss, David Scott Seekins, Tong Shirh Stone
  • Publication number: 20120198310
    Abstract: This invention is a memory system with parity generation which selectively forms and stores parity bits of corresponding plural data sources. The parity generation and storage depends upon the state of a global suspend bit and a global enable bit, and parity detection/correction corresponding to each data source.
    Type: Application
    Filed: September 23, 2011
    Publication date: August 2, 2012
    Applicant: TEXAS INSTRUMENTS INCORPORATED
    Inventors: Jonathan (Son) Hung Tran, Abhijeet Ashok Chachad, Raguram Damodaran, Krishna Chaithanya Gurram
  • Publication number: 20120198309
    Abstract: Correcting memory device (chip) and memory channel failures in the presence of known memory device failures. A memory channel failure is located and corrected, or alternatively up to c chip failures are corrected and up to d chip failures are detected in the presence of up to u chips that are marked as suspect. A first stage of decoding is performed that results in recovering an estimate of correctable errors affecting the data or in declaring an uncorrectable error state. When an uncorrectable error state is declared, a second stage of decoding is performed to attempt to correct u erasures and a channel error in M iterations where the channel location is changed in each iteration. A correctable error is declared in response to exactly one of the M iterations being successful.
    Type: Application
    Filed: January 29, 2011
    Publication date: August 2, 2012
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Luiz C. Alves, Luis A. Lastras-Montano, Patrick J. Meaney, Eldee Stephens, Barry M. Trager
  • Publication number: 20120198311
    Abstract: A method begins by a computing device determining that dispersed storage network (DSN) memory is to be accessed regarding data. The method continues when the computing device is paired with a DSN access token module with the DSN access token module retrieving a plurality of sets of at least a threshold number of dispersed storage (DS) error coding function slices from the DSN memory via the computing device. The method continues with at least one of the computing device and the DSN access token module decoding the plurality of sets of the at least a threshold number of DS error coding function slices using a default DS error coding function to recapture a DS error coding function and executing, by one or more of the computing device and the DSN access token module, the DS error coding function to access the DSN memory regarding the data.
    Type: Application
    Filed: January 10, 2012
    Publication date: August 2, 2012
    Applicant: CLEVERSAFE, INC.
    Inventors: Gary W. Grube, Timothy W. Markison, Greg Dhuse, Jason K. Resch, Ilya Volvovski, Wesley Leggette
  • Publication number: 20120192036
    Abstract: A disk controller comprising a disk formatter configured to receive data being transferred between a disk and a host. A buffer controller is in communication with the disk formatter, a buffer configured to store the data being transferred between the disk and the host, and the host. The buffer is external to each of the disk controller and the host. The buffer controller is configured to regulate transfer of the data between the buffer and the disk formatter. An error correction module is in communication with the disk formatter and the buffer controller. The error correction module is configured to generate an error correction mask to correct errors in the data. The error correction mask is applied to the data prior to the buffer controller transferring the data to the buffer.
    Type: Application
    Filed: February 20, 2012
    Publication date: July 26, 2012
    Inventors: Yujun Si, Theodore Curt White, Stanley Ka Fai Cheong
  • Publication number: 20120192037
    Abstract: Data storage systems and methods perform error correction on a single physical storage disk. The technique includes arranging a plurality of addressable blocks on the single physical storage disk into error correction groups, wherein each error correction group includes N data blocks and M coding blocks. M is determined in accordance with a desired failure tolerance of the error correction groups and an error-correcting code. For each error correction group, error-correcting code data is computed across the N data blocks in the error correction group. The computed error-correcting coding data is stored in the M coding blocks in the error correcting group. The arranging, computing and storing steps are performed by a hardware or software component external to the single physical storage disk.
    Type: Application
    Filed: March 30, 2012
    Publication date: July 26, 2012
    Inventors: Garth A. GIBSON, Ed GRONKE, Brent B. Welch
  • Publication number: 20120192033
    Abstract: A method for managing a memory block is provided. In this method, a plurality of block tables having different storing priorities is provided. In addition, the number of error correction bits in the memory block is checked. Thereby, in the present invention, data can be stored into the memory block in a block table according to the number of error correction bits in the memory block so that the sequence in which the memory block is used for storing data is determined.
    Type: Application
    Filed: April 3, 2012
    Publication date: July 26, 2012
    Inventors: Chia-Ming Hu, Chun-Yu Hsieh
  • Publication number: 20120185752
    Abstract: In one embodiment, a system includes a memory, and a memory controller coupled to the memory via an address bus, a data bus, and an error code bus. The memory stores data at an address and stores an error code at the address. The error code is generated based on a function of the corresponding data and address.
    Type: Application
    Filed: December 14, 2011
    Publication date: July 19, 2012
    Applicant: Cavium, Inc.
    Inventors: Aseem Maheshwari, Michael S. Bertone, Richard E. Kessler
  • Publication number: 20120179952
    Abstract: Systems for generating an identifying response pattern comprising a memory (120) used as a physically unclonable function configured for generating a response pattern dependent on physical, at least partially random characteristics of said memory may be vulnerable to freezing attacks and to aging. A memory-overwriting device (110) configured for overwriting at least a first portion of the plurality of memory locations to obscure the response pattern in the memory avoids freezing attacks. An anti-degradation device (160) configured to write to each respective location of a second portion of the plurality of memory locations an inverse of a response previously read from the memory reduces the effects of aging.
    Type: Application
    Filed: August 6, 2010
    Publication date: July 12, 2012
    Inventors: Pim Theo Tuyls, Geert Jan Schrijen
  • Publication number: 20120173956
    Abstract: A memory device using error correcting code and a system including the same are provided. The memory system includes a memory device, and a storage block connected to the memory device. The memory device includes a normal cell region including a first plurality of memory cells for storing data bits, and an error correcting code (ECC) cell region including a second plurality of memory cells for storing first through mth sets of ECC bits. The storage block includes a third plurality of memory cells for storing first through nth sets of the ECC bits. Each memory cell of the first and second plurality of memory cells is a first type of memory cell and each memory cell of the third plurality of memory cells is a second type of memory cell different from the first type of memory cell.
    Type: Application
    Filed: December 29, 2011
    Publication date: July 5, 2012
    Inventors: Seong Hyun Jeon, Hoi Ju Chung