Patents by Inventor Kevin Conley

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

  • Publication number: 20060109712
    Abstract: A non-volatile memory system is formed of floating gate memory cells arranged in blocks as the smallest unit of memory cells that are erasable together. The system includes a number of features that may be implemented individually or in various cooperative combinations. One feature is the storage in separate blocks of the characteristics of a large number of blocks of cells in which user data is stored. These characteristics for user data blocks being accessed may, during operation of the memory system by its controller, be stored in a random access memory for ease of access and updating. According to another feature, multiple sectors of user data are stored at one time by alternately streaming chunks of data from the sectors to multiple memory blocks. Bytes of data in the stream may be shifted to avoid defective locations in the memory such as bad columns. Error correction codes may also be generated from the streaming data with a single generation circuit for the multiple sectors of data.
    Type: Application
    Filed: December 29, 2005
    Publication date: May 25, 2006
    Inventors: Kevin Conley, John Mangan, Jeffrey Craig
  • Publication number: 20060106972
    Abstract: A re-programmable non-volatile memory system, such as a flash EEPROM system, having its memory cells grouped into blocks of cells that are simultaneously erasable is operated in a manner to level out the wear of the individual blocks through repetitive erasing and re-programming. This may be accomplished without use of counts of the number of times the individual blocks experience erase and re-programming but such counts can optionally aid in carrying out the wear leveling process. Individual active physical blocks are chosen to be exchanged with those of an erased block pool in a predefined order.
    Type: Application
    Filed: November 15, 2004
    Publication date: May 18, 2006
    Inventors: Sergey Gorobets, Alan Bennett, Peter Smith, Alan Sinclair, Kevin Conley, Philip Royall
  • Publication number: 20060062048
    Abstract: In order to maintain the integrity of data stored in a flash memory that are susceptible to being disturbed by operations in adjacent regions of the memory, disturb events cause the data to be read, corrected and re-written before becoming so corrupted that valid data cannot be recovered. The sometimes conflicting needs to maintain data integrity and system performance are balanced by deferring execution of some of the corrective action when the memory system has other high priority operations to perform. In a memory system utilizing very large units of erase, the corrective process is executed in a manner that is consistent with efficiently rewriting an amount of data much less than the capacity of a unit of erase.
    Type: Application
    Filed: November 10, 2005
    Publication date: March 23, 2006
    Inventors: Carlos Gonzalez, Kevin Conley
  • Publication number: 20060039196
    Abstract: In order to maintain the integrity of data stored in a flash memory that are susceptible to being disturbed by operations in adjacent regions of the memory, disturb events cause the data to be read, corrected and re-written before becoming so corrupted that valid data cannot be recovered. The sometimes conflicting needs to maintain data integrity and system performance are balanced by deferring execution of some of the corrective action when the memory system has other high priority operations to perform. In a memory system utilizing very large units of erase, the corrective process is executed in a manner that is consistent with efficiently rewriting an amount of data much less than the capacity of a unit of erase. Data is rewritten when severe errors are found during read operations. Portions of data are corrected and copied within the time limit for read operation. Corrected portions are written to dedicated blocks.
    Type: Application
    Filed: October 18, 2005
    Publication date: February 23, 2006
    Inventors: Sergey Gorobets, Reuven Elhamias, Carlos Gonzalez, Kevin Conley
  • Publication number: 20060031627
    Abstract: Data in less than all of the pages of a non-volatile memory block are updated by programming the new data in unused pages of either the same or another block. In order to prevent having to copy unchanged pages of data into the new block, or to program flags into superceded pages of data, the pages of new data are identified by the same logical address as the pages of data which they superceded and a time stamp is added to note when each page was written. When reading the data, the most recent pages of data are used and the older superceded pages of data are ignored. This technique is also applied to metablocks that include one block from each of several different units of a memory array, by directing all page updates to a single unused block in one of the units.
    Type: Application
    Filed: October 13, 2005
    Publication date: February 9, 2006
    Inventor: Kevin Conley
  • Publication number: 20060020745
    Abstract: Techniques for managing data in a non-volatile memory system (e.g., Flash Memory) are disclosed. A controller can use information relating to a host's file system, which is stored by the host on non-volatile memory, to determine if one or more clusters (or sectors with clusters) are currently allocated. The controller can use the information relating to the host's file system to identify when the host is sending data to the next free cluster and to store such data in a sequential format by copying data from other locations in the non-volatile memory.
    Type: Application
    Filed: December 23, 2004
    Publication date: January 26, 2006
    Inventors: Kevin Conley, Alan Sinclair, Peter Smith
  • Publication number: 20050257120
    Abstract: The present invention present methods and architectures for the pipelining of read operation with write operations. In particular, methods are presented for pipelining data relocation operations that allow for the checking and correction of data in the controller prior to its being re-written, but diminish or eliminate the additional time penalty this would normally incur. A number of architectural improve are described to facilitate these methods, including: introducing two registers on the memory where each is independently accessible by the controller; allowing a first memory register to be written from while a second register is written to; introducing two registers on the memory where the contents of the registers can be swapped.
    Type: Application
    Filed: May 13, 2004
    Publication date: November 17, 2005
    Inventors: Sergey Gorobets, Kevin Conley
  • Publication number: 20050251617
    Abstract: The present invention presents a hybrid non-volatile system that uses non-volatile memories based on two or more different non-volatile memory technologies in order to exploit the relative advantages of each these technology with respect to the others. In an exemplary embodiment, the memory system includes a controller and a flash memory, where the controller has a non-volatile RAM based on an alternate technology such as FeRAM. The flash memory is used for the storage of user data and the non-volatile RAM in the controller is used for system control data used by the control to manage the storage of host data in the flash memory. The use of an alternate non-volatile memory technology in the controller allows for a non-volatile copy of the most recent control data to be accessed more quickly as it can be updated on a bit by bit basis.
    Type: Application
    Filed: May 7, 2004
    Publication date: November 10, 2005
    Inventors: Alan Sinclair, Sergey Gorobets, Kevin Conley, Carlos Gonzalez
  • Publication number: 20050195653
    Abstract: An improved flash EEPROM memory-based storage subsystem includes one or more flash memory arrays, each with three data registers and a controller circuit. During a flash program operation, one data register is used to control the program operation, a second register is used to hold the target data value, and a third register is used to load the next sector's data. Subsequent to a flash program operation, a sector's data are read from a flash array into the first data register and compared to the target data stored in the second register. When the data is verified good, the data from the third register is copied into the first and second registers for the next program operation. This creates an improved performance system that doesn't suffer data transfer latency during program operations that require data verification after the program operation is complete. Alternate embodiments perform the comparison using two register implementations and a single register implementations.
    Type: Application
    Filed: May 9, 2005
    Publication date: September 8, 2005
    Inventors: Kevin Conley, Daniel Guterman, Carlos Gonzalez
  • Publication number: 20050195661
    Abstract: A non-volatile memory is divided into logical zones by the card controller in order reduce the size of the data structures it uses for address translation. Zone boundaries are adjusted to accommodate defects allowed by memory test to improve card yields and to adjust boundaries in the field to extend the usable lifetime of the card. Firmware scans for the presence of defective blocks on the card. Once the locations of these blocks are known, the firmware calculates the zone boundaries in such a way that good blocks are equally distributed among the zones. Since the number of good blocks meets the card test criteria by the memory test criteria, defects will reduce card yield fallout. The controller can perform dynamic boundary adjustments. When defects occur, the controller can perform the analysis again and, if needed, redistributes the zone boundaries, moving any user data.
    Type: Application
    Filed: April 26, 2005
    Publication date: September 8, 2005
    Inventor: Kevin Conley
  • Publication number: 20050195635
    Abstract: A buffer cache interposed between a non-volatile memory and a host may be partitioned into segments that may operate with different policies. Cache policies include write-through, write and read-look-ahead. Write-through and write back policies may improve speed. Read-look-ahead cache allows more efficient use of the bus between the buffer cache and non-volatile memory. A session command allows data to be maintained in volatile memory by guaranteeing against power loss.
    Type: Application
    Filed: March 8, 2004
    Publication date: September 8, 2005
    Inventors: Kevin Conley, Reuven Elhamias
  • Publication number: 20050169051
    Abstract: The present invention presents several techniques for using writable tracking cells. Multiple tracking cells are provided for each write block of the memory. These cells are re-programmed each time the user cells of the associated write block are written, preferably at the same time, using the same fixed, global reference levels to set the tracking and user cell programmed thresholds. The threshold voltages of the tracking cells are read every time the user cells are read, and these thresholds are used to determine the stored logic levels of the user cells. In one set of embodiments, populations of one or more tracking cells are associated with different logic levels of a multi-state memory. These tracking cell populations may be provided for only a subset of the logic levels. The read points for translating the threshold voltages are derived for all of the logic levels based upon this subset.
    Type: Application
    Filed: February 22, 2005
    Publication date: August 4, 2005
    Inventors: Shahzad Khalid, Daniel Guterman, Geoffrey Gongwer, Richard Simko, Kevin Conley
  • Publication number: 20050154819
    Abstract: A removable data storage device that intelligently operates as one large data storage region or as multiple, smaller data storage regions is disclosed. The removable data storage device can be used in not only modern electronic products (using 32-bit addressing) but also legacy products (using 16-bit addressing). A host device can couple to the removable storage device to access data stored in/to the removable storage device. As an example, the removable data storage device can be a memory card.
    Type: Application
    Filed: January 9, 2004
    Publication date: July 14, 2005
    Inventors: Kevin Conley, Robert Chang, Wes Brewer, Eric Bone, Yoram Cedar
  • Publication number: 20050146939
    Abstract: The present invention allows for an increase in programming parallelism in a non-volatile memory system without incurring additional data transfer latency. Data is transferred from a controller to a first memory chip and a programming operation is caused to begin. While that first memory chip is busy performing that program operation, data is transferred from the controller to a second memory chip and a programming operation is caused to begin in that chip. Data transfer can begin to the first memory chip again once it has completed its programming operation even though the second chip is still busy performing its program operation. In this manner high parallelism of programming operation is achieved without incurring the latency cost of performing the additional data transfers.
    Type: Application
    Filed: February 14, 2005
    Publication date: July 7, 2005
    Inventors: Kevin Conley, Yoram Cedar
  • Publication number: 20050144362
    Abstract: The present invention presents a non-volatile memory and method for its operation that ensures reliable mechanism for write and erase abort detection in the event of lost of power during non-volatile memory programming and erasing with minimized system performance penalty. During a multi-sector write process, an indication of a successful write in one sector is written into the overhead of the following sector at the same time as the following sector's data content is written. The last sector written will additionally have an indication of its own successful write written into its overhead. For erase, an erase abort flag in the first sector of the block can be marked after a successful erase operation.
    Type: Application
    Filed: December 31, 2003
    Publication date: June 30, 2005
    Inventors: Jason Lin, Kevin Conley, Robert Chang
  • Publication number: 20050144358
    Abstract: A non-volatile memory system of a type having blocks of memory cells erased together and which are programmable from an erased state in units of a large number of pages per block. If the data of only a few pages of a block are to be updated, the updated pages are written into another block provided for this purpose. Updated pages from multiple blocks are programmed into this other block in an order that does not necessarily correspond with their original address offsets. The valid original and updated data are then combined at a later time, when doing so does not impact on the performance of the memory. If the data of a large number of pages of a block are to be updated, however, the updated pages are written into an unused erased block and the unchanged pages are also written to the same unused block. By handling the updating of a few pages differently, memory performance is improved when small updates are being made.
    Type: Application
    Filed: December 30, 2003
    Publication date: June 30, 2005
    Inventors: Kevin Conley, Carlos Gonzalez
  • Publication number: 20050144361
    Abstract: In a non-volatile memory storage system such as a flash EEPROM system, a controller switches the manner in which data sectors are mapped into blocks and metablocks of the memory in response to host programming and controller data consolidation patterns, in order to improve performance and reduce wear. Data are programmed into the memory with different degrees of parallelism.
    Type: Application
    Filed: December 30, 2003
    Publication date: June 30, 2005
    Inventors: Carlos Gonzalez, Mark Sompel, Kevin Conley
  • Publication number: 20050073884
    Abstract: In order to maintain the integrity of data stored in a flash memory that are susceptible to being disturbed by operations in adjacent regions of the memory, disturb events cause the data to be read, corrected and re-written before becoming so corrupted that valid data cannot be recovered. The sometimes conflicting needs to maintain data integrity and system performance are balanced by deferring execution of some of the corrective action when the memory system has other high priority operations to perform. In a memory system utilizing very large units of erase, the corrective process is executed in a manner that is consistent with efficiently rewriting an amount of data much less than the capacity of a unit of erase.
    Type: Application
    Filed: October 3, 2003
    Publication date: April 7, 2005
    Inventors: Carlos Gonzalez, Kevin Conley