Solid State Memory Patents (Class 714/773)
  • Publication number: 20140082459
    Abstract: An NVM controller measures cell damage for wear leveling in an NVM, thus improving performance, reliability, lifetime, and/or cost of a storage sub-system, such as an SSD. In a first aspect, the controller determines that an error reading a page of NVM was caused by cell damage and/or cell leakage. The controller reprograms and immediately reads back the page, detecting that the error was caused by cell damage if an error is detected during the immediate read. In a second aspect, the cell damage is tracked by updating cell damage counters for pages and/or blocks of NVM. In a third aspect, wear leveling is performed based at least in part upon measured cell damage for pages and/or blocks of NVM.
    Type: Application
    Filed: September 15, 2012
    Publication date: March 20, 2014
    Applicant: LSI CORPORATION
    Inventors: Yan LI, Alexander HUBRIS, Hao ZHONG
  • Patent number: 8677213
    Abstract: An electronic device comprises an error correction coding device. The error correction coding device comprises a parity code generator. This generator is a circuit for computing a remainder polynomial by dividing a user data polynomial by a generator polynomial and generating a parity code from this remainder polynomial. This generator computes the remainder polynomial by dividing and inputting either a bit string comprising coefficients of the generator polynomial, or a bit string comprising coefficients of the generator polynomial and a bit string comprising coefficients of the generator polynomial, and dividing a minimal unit multiple times based on either a division width of the user polynomial or a division width of the user polynomial and the generator polynomial, and outputs a bit string comprising the coefficient of this remainder polynomial.
    Type: Grant
    Filed: September 16, 2011
    Date of Patent: March 18, 2014
    Assignee: Hitachi, Ltd.
    Inventor: Nagamasa Mizushima
  • Publication number: 20140075268
    Abstract: A method for dodging bad page and bad block caused by suddenly power off is disclosed. This method is to avoid a new data from host program to potential hurt block or page caused by power off during NAND flash erasing or programming.
    Type: Application
    Filed: September 7, 2012
    Publication date: March 13, 2014
    Inventor: Chi Nan Yen
  • Publication number: 20140075099
    Abstract: A method and a device for controlling a non-volatile semiconductor memory device having a plurality of physical memory blocks are described. The control method includes forming a logical block including normal physical blocks and a defective physical block. Then read-only data (which can include system data and user data which is infrequently used) is targeted for a write to the defective physical block. Instead of actually writing the read-only data in the defective physical block, an error correction coding generated using the read-only data is stored in the normal physical blocks together with other data. When the read-only data is requested to be read, the read-only data is reproduced using the error correction coding.
    Type: Application
    Filed: March 5, 2013
    Publication date: March 13, 2014
    Applicant: KABUSHIKI KAISHA TOSHIBA
    Inventor: Taku OONEDA
  • Patent number: 8671323
    Abstract: A Low-Density Parity-Check Convolutional Code (LPDCCC) decoder (10) for partial parallel decoding of low-density parity-check convolutional codes, the decoder having: a plurality of pipeline processors (11) to receive channel messages and edge-messages; each processor (11) having: a plurality of block processing units (BPUs) (13), each BPU (13) having a plurality of check node processors (CNPs) (14) to process check nodes that enter into the processor (11) and a plurality of variable node processors (VNPs) (15) to process variable nodes that are about to leave the processor (11); and a plurality of Random Access Memory (RAM) blocks (30) for dynamic message storage of the channel messages and the edge-messages; wherein in each processor (11), the VNPs (15) are directly connected to corresponding RAM blocks (30), and the CNPs (14) are directly connected to corresponding RAM blocks (30) such that the connections from the VNPs (15) and CNPs (14) to the corresponding RAM blocks (30) are pre-defined and fixed accor
    Type: Grant
    Filed: February 10, 2012
    Date of Patent: March 11, 2014
    Assignee: The Hong Kong Polytechnic University
    Inventors: Chiu Wing Sham, Xu Chen, Chung Ming Lau, Yue Zhao, Wal Man Tam
  • Publication number: 20140068384
    Abstract: A flash memory controller for a flash memory system includes an ECC circuit that receives first page data and second page data read from the flash memory, and respectively counts a first number of fail bits in the first page data and a second number of fail bits in the second page data, an abnormal wordline detector configured to compare the first number of fail bits and second number of fail bits to derive a fail bit change rate between the first page data and the second page data, and generate an abnormal wordline detection signal in response to the fail bit change rate, and a control unit that controls operation of the flash memory in response to the abnormal wordline detection signal.
    Type: Application
    Filed: July 5, 2013
    Publication date: March 6, 2014
    Inventors: DONGHUN KWAK, SANG-SOO PARK, JAEWOO IM
  • Publication number: 20140068383
    Abstract: A method of storing system data, and a memory controller and a memory storage apparatus using the same are provided. The method includes determining whether the unused storage space of a system physical erase unit is enough for storing updated system data. The method further includes, if the unused storage space of the system physical erase unit is not enough for storing the updated system data, selecting an empty physical erase unit, writing the updated system data into at least one first physical program unit of the selected physical erase unit and writing dummy data into a second physical program unit of the selected physical erase unit.
    Type: Application
    Filed: October 22, 2012
    Publication date: March 6, 2014
    Applicant: PHISON ELECTRONICS CORP.
    Inventor: Shun-Bin Cheng
  • Publication number: 20140068382
    Abstract: In a data storage device that includes a non-volatile memory, a method includes determining that a current error correction code page count (CEC) is at least as large as a target error correction code page count (TEC). The CEC is a page count of error correction code (ECC) pages of data read from the memory during a time period from a previous time to a particular time using a set of reference voltages. In response to the CEC being at least as large as the TEC, the method includes updating a subset of the set of reference voltages conditioned upon a difference between a current mean error count (CMEC) and a previous mean error count being at least as large as a target mean delta error. The CMEC is based on a count of read errors associated with the ECC pages read during the time period.
    Type: Application
    Filed: September 28, 2012
    Publication date: March 6, 2014
    Applicant: SANDISK TECHNOLOGIES INC.
    Inventors: SATEESH DESIREDDI, JAYAPRAKASH NARADASI, ANAND VENKITACHALAM, MANUEL ANTONIO D'ABREU, STEPHEN SKALA
  • Patent number: 8667368
    Abstract: A page buffer for a NAND memory array has a data register and a cache register that are suitably organized and operated to eliminate gaps and discontinuities in the output data during a continuous page read. The cache register may be organized in two portions, and the page data in the cache may be output from the cache portions in alternation. ECC delay may be eliminated from the output by performing the ECC computation on one cache portion while the other is being output. The data register may also be organized in two portions corresponding to the cache portions, so that data may be transferred to one cache portion while the other is being output. In a variation, the continuous page read may be done without ECC.
    Type: Grant
    Filed: May 4, 2012
    Date of Patent: March 4, 2014
    Assignee: Winbond Electronics Corporation
    Inventors: Anil Gupta, Oron Michael, Robin John Jigour
  • Patent number: 8667372
    Abstract: An estimating unit estimates, when there is a request for data in a system in which an error checking unit of data is formed with a plurality of memories each of which is a dual memory having an independent address line, whether an error has occurred on the address line based on a result of an error checking for data related to the request. A control unit generates, when it is estimated that an error has occurred on the address line, error data of the data related to the request, and controls the memory in such a manner that one line of the dual memory is disabled by switching the data related to the request to generated error data.
    Type: Grant
    Filed: April 26, 2007
    Date of Patent: March 4, 2014
    Assignee: Fujitsu Limited
    Inventor: Yasufumi Honda
  • Publication number: 20140059406
    Abstract: Apparatuses, systems, methods, and computer program products are disclosed for reduced level cell solid-state storage. A method includes determining that an erase block of a non-volatile storage device is to operate in a reduced level cell (RLC) mode. The non-volatile storage device may be configured to store at least three bits of data per storage cell. A method includes instructing the non-volatile storage device to program first and second pages of the erase block with data. A method includes instructing the non-volatile storage device to program a third page of the erase block with a predefined data pattern. Programming of a predefined data pattern may be configured to adjust which abodes of the erase block are available to represent stored user data values.
    Type: Application
    Filed: September 2, 2013
    Publication date: February 27, 2014
    Applicant: Fusion-io, Inc.
    Inventors: Jea Hyun, Ryan Haynes, Charla Mosier, Rick Lucky, Robert Wood
  • Publication number: 20140059405
    Abstract: A solid-state storage retention monitor determines whether user data in a solid-state device is in need of a scrubbing operation. One or more reference blocks may be programmed with a known data pattern, wherein the reference block(s) experiences substantially similar P/E cycling, storage temperature, storage time, and other conditions as the user blocks. The reference blocks may therefore effectively represent data retention properties of the user blocks and provide information regarding whether/when a data refreshing operation is needed.
    Type: Application
    Filed: August 21, 2012
    Publication date: February 27, 2014
    Applicant: WESTERN DIGITAL TECHNOLOGIES, INC.
    Inventors: MEI-MAN L. SYU, JUI-YAO YANG, DENGTAO ZHAO
  • Patent number: 8661321
    Abstract: Error detection and error location determination circuitry is provided for detecting and locating soft errors in random-access-memory arrays on programmable integrated circuits. The random-access-memory arrays contain rows and columns of random-access-memory cells. Some of the cells are loaded with configuration data and produce static output signals that are used to program associated regions of programmable logic. Cyclic redundancy check error correction check bits are computed for each column of an array. The cyclic redundancy check error correction check bits are stored in corresponding columns of cells in the array. During normal operation of an integrated circuit in a system, the cells are subject to soft errors caused by background radiation strikes. The error detection and error location determination circuitry uses parallel processing to continuously monitor the data to identify the row and column location of each error.
    Type: Grant
    Filed: September 14, 2012
    Date of Patent: February 25, 2014
    Assignee: Altera Corporation
    Inventor: Ninh D. Ngo
  • Patent number: 8661319
    Abstract: A memory system according to the embodiment comprises a cell array including cell units having p or more physical quantity levels (p is a prime of 3 or more); a code generator unit operative to convert binary-represented input data to a write code represented by elements in Zp that is a residue field modulo p; and a code write unit operative to write the write code in the cell unit in accordance with the association of the elements in Zp to different physical quantity levels, wherein the input data is recorded in (p?1) cell units, the (p?1) cell units including no cell unit that applies the same physical quantity level for write in the case where the input data is 0 and for write in the case where only 1 bit is 1.
    Type: Grant
    Filed: September 14, 2011
    Date of Patent: February 25, 2014
    Assignee: Kabushiki Kaisha Toshiba
    Inventor: Haruki Toda
  • Publication number: 20140053043
    Abstract: A method for data storage includes accepting data for storage in a memory including multiple analog memory cells. For each memory cell, a respective set of nominal analog values is assigned for representing data values to be stored in the memory cell, by choosing the nominal analog values for a given memory cell in a respective range that depends on interference between the given memory cell and at least one other memory cell in the memory. The data is stored in each memory cell using the respective selected set of the nominal analog values.
    Type: Application
    Filed: October 28, 2013
    Publication date: February 20, 2014
    Applicant: Apple Inc.
    Inventors: Ofir Shalvi, Naftali Sommer, Ronen Dar, Micha Anholt
  • Patent number: 8656256
    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: Grant
    Filed: July 6, 2011
    Date of Patent: February 18, 2014
    Assignee: STEC, Inc.
    Inventors: Anthony D. Weathers, Richard D. Barndt, Ashot Melik-Martirosian
  • Patent number: 8656252
    Abstract: A non-volatile storage device includes one or more non-volatile memories for storing data, and a memory controller for carrying out the control of the non-volatile memory. The non-volatile memory includes the plurality of blocks, which are erase units, and the block includes the plurality of pages, which are write units of data, in each of the blocks at least one set of pages existing which include at least two pages sharing one word line. The memory controller configures a plurality of error correcting groups, each including at least one data page, which is a page for storing data, and at least one error correcting code page for storing a code for error correcting calculation of the data page, and assigns a page of a separate word line with respect to each of the data page and the error correcting page in the same error correcting group.
    Type: Grant
    Filed: May 3, 2012
    Date of Patent: February 18, 2014
    Assignee: Panasonic Corporation
    Inventors: Hirokazu So, Toshiyuki Honda
  • Patent number: 8656251
    Abstract: The disclosed embodiments provide a system that transfers data from a storage device to a host. The system includes a communication mechanism that receives a request to read a set of blocks from the host. Next, upon reading each block from the set of blocks from the storage device, the communication mechanism transfers the block over an interface with the host. The system also includes an error-detection apparatus that performs error detection on the block upon reading the block, and an error-correction apparatus that performs error correction on the block if an error is detected in the block. The communication mechanism may then retransfer the block to the host after the error is removed from the block.
    Type: Grant
    Filed: September 2, 2011
    Date of Patent: February 18, 2014
    Assignee: Apple Inc.
    Inventors: Christopher J. Sarcone, David G. Conroy, Jim Keller
  • Patent number: 8656257
    Abstract: A nonvolatile memory controller may recover encoded data using the outer error correction code of the encoded data if it is determined that a correction capacity of the outer error correction code is not exceeded. Alternatively, the nonvolatile memory controller may recover the encoded data using the inner error correction code of the encoded data followed by the outer error correction code of the encoded data if it is determined that the correction capacity of the outer error correction code is exceeded. Additionally, if it is determined that the correction capacity of the outer error correction code is exceed after recovering the data using the inner error correction code, the nonvolatile memory storage module may perform a redundant array of independent disks (RAID) operation to recover the data.
    Type: Grant
    Filed: March 29, 2012
    Date of Patent: February 18, 2014
    Assignee: PMC-Sierra US, Inc.
    Inventors: Rino Micheloni, Alessia Marelli, Peter Z. Onufryk, Christopher I. W. Norrie
  • Patent number: 8656231
    Abstract: A memory device and method, such as a flash memory device and method, includes a memory having a plurality of nonvolatile memory cells for storing stored values of user data. The memory device and method includes a memory controller for controlling the memory. The memory controller includes an encoder for encoding user write data for storage of code values as the stored values in the memory. The encoder includes an inserter for insertion of an indicator as part of the stored values for use in determining when the stored values are or are not in an erased state. The memory controller includes a decoder for reading the stored values from the memory to form user read data values when the stored values are not in the erased state.
    Type: Grant
    Filed: December 20, 2012
    Date of Patent: February 18, 2014
    Assignee: Marvell International Ltd.
    Inventors: ChengKuo Huang, Siu-Hung Frederick Au
  • Publication number: 20140047302
    Abstract: Examples are disclosed for cycling endurance extending for memory cells of a non-volatile memory array. The examples include implementing one or more endurance extending schemes based on program/erase cycle counts or a failure trigger. The one or more endurance extending schemes may include a gradual read window expansion, a gradual read window shift, an erase blank check algorithm, a dynamic soft-program or a dynamic pre-program.
    Type: Application
    Filed: December 28, 2011
    Publication date: February 13, 2014
    Inventors: Xin Guo, Kiran Pangal, Yogesh B. Wakchaure, Paul D. Ruby, Ravi J. Kumar
  • Publication number: 20140047301
    Abstract: The disclosed semiconductor memory device includes an operating environment information storing unit for storing memory characteristics representing a correlation between an operating environment of a first memory unit and a data error rate; first and second error correction units making a stepwise correction of a bit error in data, based on data stored in the first memory unit; an error rate estimation unit that compares each of parameters retained in an access counts retaining unit, a temperature information retaining unit, and a data retention period retaining unit with relevant memory characteristics and estimates an error rate of data to be accessed within the memory, and a power supply controller that controls power supply to the second error correction unit depending on an error correction step, based on the estimated error rate.
    Type: Application
    Filed: August 2, 2013
    Publication date: February 13, 2014
    Applicant: Renesas Electronics Corporation
    Inventor: Mamoru KURATA
  • Patent number: 8650471
    Abstract: Redundant storage of information is provided by distributing storage functions between a RAID controller and switching device. The switching device multi-casts writes to storage devices and to the RAID controller. The RAID controller generates parity for the information and writes the parity to the storage devices in space reserved for parity by the switching device. Information is read from the storage devices through the switching device without action by the RAID controller.
    Type: Grant
    Filed: June 28, 2011
    Date of Patent: February 11, 2014
    Assignee: Dell Products L.P.
    Inventors: Gary B. Kotzur, Surender Brahmaroutu
  • Patent number: 8650461
    Abstract: A method for data storage includes, in a memory that includes multiple memory blocks, specifying at a first time a first over-provisioning overhead, and storing data in the memory while retaining in the memory blocks memory areas, which do not hold valid data and whose aggregated size is at least commensurate with the specified first over-provisioning overhead. Portions of the data from one or more previously-programmed memory blocks containing one or more of the retained memory areas are compacted. At a second time subsequent to the first time, a second over-provisioning overhead, different from the first over-provisioning overhead, is specified, and data storage and data portion compaction is continued while complying with the second over-provisioning overhead.
    Type: Grant
    Filed: June 3, 2013
    Date of Patent: February 11, 2014
    Assignee: Apple Inc.
    Inventors: Ofir Shalvi, Naftali Sommer, Yoav Kasorla
  • Patent number: 8650462
    Abstract: Data that are stored in cells of a multi-bit-per cell memory, according to a systematic or non-systematic ECC, are read and corrected (systematic ECC) or recovered (non-systematic ECC) in accordance with estimated probabilities that one or more of the read bits are erroneous. In one method of the present invention, the estimates are a priori. In another method of the present invention, the estimates are based only on aspects of the read bits that include significances or bit pages of the read bits. In a third method of the present invention, the estimates are based only on values of the read bits. Not all the estimates are equal.
    Type: Grant
    Filed: March 11, 2009
    Date of Patent: February 11, 2014
    Assignee: Ramot at Tel Aviv University Ltd.
    Inventors: Simon Litsyn, Idan Alrod, Eran Sharon, Mark Murin, Menahem Lasser
  • Patent number: 8650463
    Abstract: The present general inventive concept relates to a solid state drive and a method of controlling an error thereof. A flash translation layer includes a parity managing module to correct errors. A block address of a storage medium including error data that can be recovered is managed through the parity managing module. Parity data of a block including error data is generated through the parity managing module. The generated parity data is managed through the parity managing module. The generated parity data can be stored in an assigned area of the storage medium. When data of a block managed by the parity managing module is not recovered by an error correction code unit, error data is recovered with reference to the generated parity data.
    Type: Grant
    Filed: January 25, 2011
    Date of Patent: February 11, 2014
    Assignee: SAMSUNG Electronics Co., Ltd.
    Inventors: Seungho Lim, Jung-Yeon Yoon
  • Publication number: 20140040704
    Abstract: In an SSD controller reading from flash memory, subsequent to failure of an initial soft-decision decoding attempt based on a nominal LLR, soft-decision re-decoding attempts are made using compensated LLR soft-decision information sets, pre-calculated at respective read-equilibrium points corresponding to mean shifts and variance change in the actual charge-state distributions of the flash memory channel. According to embodiment, soft-decision re-decoding attempts are performed without a retry read, or overlapped with one or more retry reads. By overlapping re-decoding with one or more retry reads, the probability of successful decoding increases, the need for further retry reads diminishes, and throughput is improved. The LLR compensation becomes very effective over a large number of retry reads, improving decoding reliability and achieving close to optimal bit error rates, even in the presence of large channel variation.
    Type: Application
    Filed: August 4, 2012
    Publication date: February 6, 2014
    Applicant: LSI CORPORATION
    Inventors: Yunxiang WU, Earl T. COHEN
  • Patent number: 8645796
    Abstract: Dynamic pipeline cache error correction includes receiving a request to perform an operation that requires a storage cache slot, the storage cache slot residing in a cache. The dynamic pipeline cache error correction also includes accessing the storage cache slot, determining a cache hit for the storage cache slot, identifying and correcting any correctable soft errors associated with the storage cache slot. The dynamic cache error correction further includes updating the cache with results of corrected data.
    Type: Grant
    Filed: June 24, 2010
    Date of Patent: February 4, 2014
    Assignee: International Business Machines Corporation
    Inventors: Ekaterina M. Ambroladze, Michael Fee, Edward T. Gerchman, Arthur J. O'Neill, Jr.
  • Publication number: 20140032992
    Abstract: According to one embodiment, a memory system includes a non-volatile semiconductor memory that includes memory cells each storing 3 bits, a control unit that writes data to the non-volatile semiconductor memory, and an encoding unit that generates a first parity for user data stored in the first page, a second parity for user data stored in the second page, and a third parity for user data stored in the third page. The user data, the first parity, the third parity, and a portion of the second parity are written to the non-volatile semiconductor memory by a first data coding and a portion of the second parity and a portion of the third parity are written to the non-volatile semiconductor memory by second data coding in which the first page is 0 bit, the second page is 2 bits, and the third page is 1 bit.
    Type: Application
    Filed: February 8, 2013
    Publication date: January 30, 2014
    Applicant: Kabushiki Kaisha Toshiba
    Inventors: Tokumasa HARA, Osamu Torii
  • Publication number: 20140032993
    Abstract: A method for managing data stored in a flash memory is provided, where the flash memory includes a plurality of blocks. The method includes: providing a program list, where the program list records information about programmed blocks of the plurality of blocks and sequence of write times of the programmed blocks; detecting quality of a first block of the plurality of blocks to generate a detecting result, where the first block is the programmed block that has an earliest write time; and determining whether to move contents of the first block to a blank block, and to delete the contents of the first block according to the detecting result.
    Type: Application
    Filed: July 25, 2013
    Publication date: January 30, 2014
    Applicant: Silicon Motion Inc.
    Inventors: Tsung-Chieh Yang, Li-Sheng Kan
  • Publication number: 20140026019
    Abstract: An information processing system includes a plurality of clusters and a shared memory device having a shared memory shared by computer programs that operate on the clusters. The shared memory device includes an operating system (OS) stop detecting unit and a solid state drive (SSD) control unit. The OS stop detecting unit detects stop of computer programs that operate on all the clusters allocated to a certain storage area among storage areas of the shared memory shared by the clusters during an operation of the system. The SSD control unit saves, when the OS stop detecting unit detects the stop of the computer programs that operate on all the clusters allocated to the certain storage area, data stored in the certain storage area to a nonvolatile storage area. The information processing system can reduce time required to save data stored in the shared memory device when a power failure occurs.
    Type: Application
    Filed: September 20, 2013
    Publication date: January 23, 2014
    Applicant: FUJITSU LIMITED
    Inventor: Yusuke SAWADA
  • Publication number: 20140026018
    Abstract: A method for reading data from a block of a flash memory is provided, where the block includes a plurality of pages and at least one parity page, each of the pages includes a plurality of sectors used for storing data and associated row parities, each of the sectors of the parity page is used to store a column parity. The method includes: reading data from a specific page of the pages; decoding the data of the specific page; and when a specific sector of the specific page fails to be decoded, sequentially reading all original data of the pages and the parity page, and performing error correction upon the specific sector according to at least a portion of the original data of the pages and the parity page corresponding to the specific sector.
    Type: Application
    Filed: July 16, 2013
    Publication date: January 23, 2014
    Inventors: Tsung-Chieh Yang, ZHEN-U LIU
  • Patent number: 8635509
    Abstract: According to example embodiments, a method of controlling a memory controller includes executing an error correction code (ECC) on first page data that has been read from a non-volatile memory device using a first read voltage level, estimating a second read voltage level for reading the first page data using metadata of second page data when an uncorrectable error is detected in the first page data according to a result of executing the ECC.
    Type: Grant
    Filed: September 12, 2012
    Date of Patent: January 21, 2014
    Assignee: Samsung Electronics Co., Ltd.
    Inventors: Seong Hyeog Choi, Jun Jin Kong, Hong Rak Son
  • Patent number: 8635397
    Abstract: A data writing method for writing data to a flash memory includes writing an initial value to the data storage area, determining whether or not the writing of the initial value is performed normally based on a write flag, writing data to the data storage area when the writing is performed normally, and erasing a block including the data storage area when the writing is not performed normally. An initial value is written to the data storage area before writing data, so that whether or not an error correction code storage area contains the initial value may be confirmed. An erase operation of the block is performed only when the error correction code storage area does not contain the initial value, so that the number of times of erasure of the block may be reduced and the life of the product may be increased.
    Type: Grant
    Filed: March 23, 2011
    Date of Patent: January 21, 2014
    Assignee: Spansion LLC
    Inventor: Tetsuhiro Kodama
  • Publication number: 20140019826
    Abstract: Split data error correction code (ECC) circuits including a control circuit coupled to an error correction code (ECC) circuit. The ECC circuit is adapted to generate at least one ECC code from user data of a first physical sector during a data access. The split data ECC circuit is adapted to write the at least one ECC code to a second physical sector if the data access is a write access and to compare the at least one generated ECC code with at least one ECC code stored in a second physical sector if the data access is a read access.
    Type: Application
    Filed: September 16, 2013
    Publication date: January 16, 2014
    Applicant: Micron Technology, Inc.
    Inventors: David Eggleston, Anthony Moschopoulos, Michael Murray, Brady Keays
  • Patent number: 8631288
    Abstract: Methods, devices, and systems for data sensing in a memory system can include performing a number of successive sense operations on a number of memory cells using a number of different sensing voltages, determining a quantity of the number memory cells that change states between consecutive sense operations of the number of successive sense operations, and determining, based at least partially on the determined quantity of the number of memory cells that change states between consecutive sense operations, whether to output hard data corresponding to one of the number of successive sense operations.
    Type: Grant
    Filed: March 14, 2011
    Date of Patent: January 14, 2014
    Assignee: Micron Technology, Inc.
    Inventors: Mark A. Helm, Uday Chandrasekhar
  • Patent number: 8631310
    Abstract: A method for reducing uncorrectable errors of a memory device regarding Error Correction Code (ECC) includes: performing majority vote according to data read at different times at a same address in order to generate majority vote data corresponding to the address; and checking whether the majority vote data has any uncorrectable error in order to determine whether to output the majority vote data as data of the address. For example, the method further includes: within the data read at different times at the same address, temporarily storing all of the data except for data of a last time into buffering regions/buffers, respectively, with the majority vote data being temporarily stored into a second buffering region/buffer to utilize a latest generated portion within the majority vote data to replace a latest retrieved portion within data in the second buffering region/buffer. An associated memory device and the controller thereof are further provided.
    Type: Grant
    Filed: July 16, 2013
    Date of Patent: January 14, 2014
    Assignee: Silicon Motion Inc.
    Inventor: Tsung-Chieh Yang
  • Patent number: 8631306
    Abstract: A memory system comprises a non-volatile memory device that stores user data and state information regarding the user data. In a read operation of the non-volatile memory device, a memory controller calculates a priori probabilities for the user data based on the state information, calculates a posteriori probabilities based on the a priori probabilities, and performs a soft-decision operation to determine values of the user data based on the a posteriori probabilities.
    Type: Grant
    Filed: January 6, 2011
    Date of Patent: January 14, 2014
    Assignee: Samsung Electronics Co., Ltd.
    Inventors: Ki jun Lee, Hong Rak Son, Jun jin Kong
  • Publication number: 20140013188
    Abstract: A set of data associated with a page in flash storage is received. Error correction decoding is performed on the set of data; if event error correction decoding fails, it is determined whether the page is a most significant bit (MSB) page or a least significant bit (LSB) page. If it is determined the page is a MSB page, one or more MSB read thresholds are adjusted and the is re-read page using the adjusted MSB read threshold(s). If it is determined the page is a LSB page, one or more LSB read thresholds are adjusted and the page is re-read using the adjusted LSB read threshold(s).
    Type: Application
    Filed: July 2, 2013
    Publication date: January 9, 2014
    Applicant: SK hynix memory solutions inc.
    Inventors: Yingquan Wu, Marcus Marrow
  • Publication number: 20140013187
    Abstract: A method includes receiving a request to read data at a data storage device from an external device. In response to determining that the data is in a first memory of the data storage device, a first read operation is initiated to read the data from the first memory and a response is sent to the external device. The response indicates an error correction code (ECC) error. A read latency of the first read operation exceeds a reply time period corresponding to the request. The response is sent prior to completion of the first read operation and within reply time period.
    Type: Application
    Filed: July 6, 2012
    Publication date: January 9, 2014
    Applicant: SANDISK TECHNOLOGIES INC.
    Inventor: MORDECHAI BLAUNSTEIN
  • Patent number: 8627181
    Abstract: According to one embodiment, a storage controller of a storage apparatus includes an array management unit managing an array. The array includes a plurality of stripe groups. A set of an error correcting code block and a plurality of data blocks is arranged in each of the plurality of stripe groups. Each of the plurality of stripe groups includes a set of stripe blocks of which physical positions correspond to each other in the plurality of solid state drives. The array management unit regularly arranges the error correcting code blocks and the data blocks in the plurality of stripe groups such that the numbers of the arranged error correcting code blocks are non-uniform among the plurality of solid state drives.
    Type: Grant
    Filed: March 14, 2013
    Date of Patent: January 7, 2014
    Assignees: Kabushiki Kaisha Toshiba, Toshiba Solutions Corporation
    Inventor: Tatsuya Ito
  • Patent number: 8626988
    Abstract: A device, method, and computer readable medium for programming a codeword are presented. The method includes writing a first codeword portion to portions of nonvolatile memory rows, and writing a second codeword portion to portions of nonvolatile memory rows, wherein the first group of memory rows and the second group belong to non-overlapping groups. The device includes multiple nonvolatile memory rows, and a controller receiving a codeword comprising a first codeword portion and a second codeword portion. The controller writing the first codeword portion to portions of nonvolatile memory rows, and writing the second codeword portion to portions of nonvolatile memory rows, wherein the first group of nonvolatile memory rows differs and the second group of nonvolatile memory rows belong to non-overlapping groups, and the first and second groups of memory rows belong to multiple rows. A computer readable medium having stored thereon instructions performing methods described herein.
    Type: Grant
    Filed: November 9, 2010
    Date of Patent: January 7, 2014
    Assignee: Densbits Technologies Ltd.
    Inventors: Avi Steiner, Hanan Weingarten
  • Patent number: 8627175
    Abstract: Approaches for decoding data read from memory cells of a nonvolatile, solid state memory involve attempting to decode hard data using a hard decoding process prior to a time that soft data is available to the decoder. The hard data includes information about the digital symbols stored in the memory cells without data confidence information. The soft data includes information about the digital symbols stored in the memory cells and data confidence information. In response to the hard decoding process failing to achieve convergence, after the soft data becomes available to the decoder, the soft data is decoded using a soft decoding process. The decoder generates an output of the decoded data after the hard decoding process or the soft decoding process achieves convergence.
    Type: Grant
    Filed: September 27, 2010
    Date of Patent: January 7, 2014
    Assignee: Seagate Technology LLC
    Inventors: Ara Patapoutian, Bernardo Rub, Bruce D. Buch
  • Patent number: 8627177
    Abstract: A method begins with a processing module determining a retrieval threshold for retrieving a set of encoded data slices from a dispersed storage network (DSN). The set of encoded data slices represents data encoded using a dispersed storage error encoding function having a number of encoded data slices in the set of encoded data slices equal to or greater than a decode threshold and the retrieval threshold is equal to or greater than the decode threshold. The method continues with the processing module issuing data retrieval requests to the DSN for the set of encoded data slices and receiving encoded data slices of the set of encoded data slices to produce received encoded data slices. The method continues with the processing module decoding the received encoded data slices to recapture the data when a number of received encoded data slices compares favorably to the retrieval threshold.
    Type: Grant
    Filed: May 20, 2013
    Date of Patent: January 7, 2014
    Assignee: Cleversafe, Inc.
    Inventors: Greg Dhuse, Ilya Volvovski, Andrew Baptist, Sebastien Vas, Zachary J. Mark
  • Publication number: 20140006903
    Abstract: In a particular embodiment, a processor retrieves from memory, for each data block within the region of the memory, error correcting code (ECC) data corresponding to data stored within the data block. In one embodiment, a processor generates for each retrieved ECC data, a hash value by hashing the retrieved ECC data. In a particular embodiment, a processor combines hash values to generate a total hash value corresponding to a region of memory. In one embodiment, a processor uses a total hash value to compare a region of memory to other regions of the memory.
    Type: Application
    Filed: June 27, 2012
    Publication date: January 2, 2014
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventor: Anthony J. Bybell
  • Publication number: 20140006906
    Abstract: A memory device includes a memory chip that stores data, and an external controller that controls the memory chip. The memory chip includes multiple memory cells configured to store data of two or more bits; and an internal controller that executes a program operation for page data including a lower and an upper page program operation, and executes a read operation for page data including a lower and an upper page read operation. The external controller includes an error correction unit that performs error correction encoding on data to be programmed into the memory cell array and performs error correction decoding on data. The internal controller outputs the read page data from the memory cell array to the external controller, regardless of whether the upper page program operation is complete or not, in the upper page read operation.
    Type: Application
    Filed: December 19, 2012
    Publication date: January 2, 2014
    Inventors: Hitoshi Shiga, Hidetaka Tsuji
  • Publication number: 20140006904
    Abstract: One or more bit values of bits in an error correcting code (ECC) may be modified to convert the ECC to a sequence of bit values that does not correspond to a valid ECC. The conversion of the ECC to this non-ECC bit value sequence may be used to encode additional information about the data associated with the ECC. For example, one or more particular non-ECC bit value sequences may indicate that the data associated with the ECC is poisoned. Other non-ECC bit value sequences may convey other quality of service information or other information, such as a specific thread used to process the data. Systems, methods, computer readable media, and apparatuses are provided.
    Type: Application
    Filed: June 29, 2012
    Publication date: January 2, 2014
    Applicant: INTEL CORPORATION
    Inventor: Alexander GENDLER
  • Publication number: 20140006905
    Abstract: The present invention is related to systems and methods for serial application of different decode algorithms to a processing data set.
    Type: Application
    Filed: July 2, 2012
    Publication date: January 2, 2014
    Inventor: Fan Zhang
  • Patent number: 8621328
    Abstract: Storing data in memory using wear-focusing techniques for improved endurance. A method for storing the data includes receiving write data to be written into a memory that is logically divided into a plurality of regions. The plurality of regions includes a first region and a second region that are implemented by the same memory technology. The memory is subject to degradation as a result of write operations. The write data is classified as dynamic data or static data. The write data is encoded using a first type of encoding in response to the write data being classified as dynamic. The write data encoded using the first type of encoding is stored in the first region of the memory. The write data is encoded using a second type of encoding and stored in the second region of the memory in response to classifying the write data as static data.
    Type: Grant
    Filed: March 4, 2011
    Date of Patent: December 31, 2013
    Assignee: International Business Machines Corporation
    Inventors: Michele M. Franceschini, Ashish Jagmohan
  • Patent number: 8615700
    Abstract: Methods, systems, and devices are described for forward error correction for flash memory. Encoded data from flash memory may be used to generate a number of data streams. At each of a number of error detection sub-modules operating in parallel, a different one of the data streams is processed. Each error detection sub-module may detect whether a portion of the respective received stream contains an error, and forward the portion to an error correction module. The error correction module, physically separate from the error detection sub-modules, may correct the forwarded portions of the respective received streams containing an error. The age and error rate associated with the flash memory may be monitored, and a coding rate or other aspects may be dynamically adapted to account for these factors.
    Type: Grant
    Filed: August 18, 2010
    Date of Patent: December 24, 2013
    Assignee: ViaSat, Inc.
    Inventors: Sameep Dave, Russell Fuerst, Mark Kohoot, Jim Keszenheimer, William H. Thesling