Patents by Inventor Robert Alan Reid
Robert Alan Reid 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).
-
Patent number: 8854758Abstract: A method and apparatus for storing a disk drive media defect table or list. Defect table entries for a subject disk track are stored on the subject track and retrieved for determining defective sectors only when the subject track is accessed for a data read or write operation.Type: GrantFiled: May 19, 2006Date of Patent: October 7, 2014Assignee: AGERE Systems Inc.Inventors: Walter Allen, Robert Alan Reid
-
Patent number: 8438325Abstract: An invention is provided for improving performance in block based non-volatile memory when performing random small write operations. When requests for small page updates are received for a memory page currently storing data, the updated page data is written to a reserve memory page. The reserve memory page can be in the same memory block as the target memory page, or in an associated reserve memory block. In addition, the associated logical page address is temporarily remapped to the reserve page. Later, when time permits, the page data for the block can be reorganized into continuous pages in a new block.Type: GrantFiled: October 9, 2008Date of Patent: May 7, 2013Assignee: Cadence Design Systems, Inc.Inventors: Robert Alan Reid, Steven L. Shrader
-
Patent number: 8341491Abstract: An invention is provided for ensuring data integrity in a non-volatile memory system, including boot block data integrity during Power On Reset. The invention includes loading data into a buffer, such as a flash buffer, and generating an error detection code for the data utilizing a check code generator located in the memory controller. The error detection code is compared to a previously stored error detection code associated with the data. Then, when the error detection code is different from the previously stored error detection code, a correction pattern is calculated and applied to the data directly in the buffer for the non-volatile memory.Type: GrantFiled: July 16, 2007Date of Patent: December 25, 2012Assignee: Cadence Design Systems, Inc.Inventor: Robert Alan Reid
-
Patent number: 8285940Abstract: An invention is provided for performing flush cache in a non-volatile memory. The invention includes maintaining a plurality of free memory blocks within a non-volatile memory. When a flush cache command is issued, a flush cache map is examined to obtain a memory address of a memory block in the plurality of free memory blocks within the non-volatile memory. The flush cache map includes a plurality of entries, each entry indicating a memory block of the plurality of free memory blocks. Then, a cache block is written to a memory block at the obtained memory address within the non-volatile memory. In this manner, when a flush cache command is received, the flush cache map allows cache blocks to be written to free memory blocks in the non-volatile memory without requiring a non-volatile memory search for free blocks or requiring erasing of memory blocks storing old data.Type: GrantFiled: February 29, 2008Date of Patent: October 9, 2012Assignee: Cadence Design Systems, Inc.Inventor: Robert Alan Reid
-
Patent number: 8271515Abstract: An invention is provided for affording CopyBack data integrity in a non-volatile memory system. When the potential for moving data with a CopyBack command occurs, a counter corresponding to the data is examined. When the counter is below a predetermined limit, the counter is incremented and data from the block of data is moved using a CopyBack command. However, when the counter reaches the predetermined limit, the counter is reset and data from the block of data is moved to system memory and examined for errors. Once any errors are corrected, the data is transferred back to the non-volatile memory.Type: GrantFiled: January 29, 2008Date of Patent: September 18, 2012Assignee: Cadence Design Systems, Inc.Inventor: Robert Alan Reid
-
Patent number: 7945762Abstract: An invention is provided for memory management in a non-volatile memory which includes a plurality of memory blocks. The invention includes loading a block table from a memory block of the non-volatile memory into system memory, where the block table includes, inter alia, a plurality of entries mapping a physical block address of the non-volatile memory to a logical block address of the non-volatile memory. The block table is updated as data is accessed in the non-volatile memory, and the updated block table is stored into a memory block of the non-volatile memory. Generally, the block table is stored periodically and/or at system shutdown.Type: GrantFiled: January 29, 2008Date of Patent: May 17, 2011Assignee: Cadence Design Systems, Inc.Inventor: Robert Alan Reid
-
Patent number: 7937521Abstract: An invention is provided for read disturbance management in a non-volatile memory. The invention includes storing a read count data for a memory location in non-volatile memory. The read count data indicating an amount of read operations accessing the memory location since data was last written to the memory location. Then, when data is read from the memory location while the value of the read count data is less than a predetermined threshold value, the value of the read count data is incremented. However, when the value of the read count data equals the predetermined threshold value, the data is moved to a new memory location, thereby avoiding read disturbance effects.Type: GrantFiled: January 29, 2008Date of Patent: May 3, 2011Assignee: Cadence Design Systems, Inc.Inventor: Robert Alan Reid
-
Patent number: 7934130Abstract: An invention is provided for managing non-volatile memory having a plurality of memory blocks and a plurality of error values associated with the memory blocks. The method includes recording an error value indicating a number of errors occurring in a memory block during an operation accessing the memory block. The error values can then be aggregated to calculate an overall health of the memory, or used individually, for example, by selecting a memory block for a memory operation based on the associated error value. In general, the error value is updated when the most recent number of errors occurring in the memory block during an operation accessing the memory block is greater than a current recorded value.Type: GrantFiled: August 29, 2008Date of Patent: April 26, 2011Assignee: Cadence Design Systems, Inc.Inventor: Robert Alan Reid
-
Patent number: 7876616Abstract: An invention is provided for wear leveling in a non-volatile memory system utilizing relative wear counters to indicate relative levels of wear for each memory block in a non-volatile memory system. Whenever a memory block is erased, the associated relative wear counter is incremented. Then, when any relative wear counter reaches a predetermined limit, the value of the lowest relative wear counter is subtracted from each relative wear counter. Thus, each relative wear counter indicates a relative wear level of the associated memory block relative to other memory blocks. In this manner, the relative wear levels are maintained while reducing the amount of memory needed to for each relative wear counter.Type: GrantFiled: November 12, 2007Date of Patent: January 25, 2011Assignee: Cadence Design Systems, Inc.Inventors: Robert Alan Reid, Robert Pierce, Narayanan Vinay Krishnan, Amit Bhardwaj
-
Publication number: 20100095046Abstract: An invention is provided for improving performance in block based non-volatile memory when performing random small write operations. When requests for small page updates are received for a memory page currently storing data, the updated page data is written to a reserve memory page. The reserve memory page can be in the same memory block as the target memory page, or in an associated reserve memory block. In addition, the associated logical page address is temporarily remapped to the reserve page. Later, when time permits, the page data for the block can be reorganized into continuous pages in a new block.Type: ApplicationFiled: October 9, 2008Publication date: April 15, 2010Applicant: Denali Software, Inc.Inventors: Robert Alan Reid, Steven L. Shrader
-
Publication number: 20100058119Abstract: An invention is provided for managing non-volatile memory having a plurality of memory blocks and a plurality of error values associated with the memory blocks. The method includes recording an error value indicating a number of errors occurring in a memory block during an operation accessing the memory block. The error values can then be aggregated to calculate an overall health of the memory, or used individually, for example, by selecting a memory block for a memory operation based on the associated error value. In general, the error value is updated when the most recent number of errors occurring in the memory block during an operation accessing the memory block is greater than a current recorded value.Type: ApplicationFiled: August 29, 2008Publication date: March 4, 2010Applicant: DENALI SOFTWARE, INC.Inventor: Robert Alan Reid
-
Publication number: 20090222627Abstract: An invention is provided for performing flush cache in a non-volatile memory. The invention includes maintaining a plurality of free memory blocks within a non-volatile memory. When a flush cache command is issued, a flush cache map is examined to obtain a memory address of a memory block in the plurality of free memory blocks within the non-volatile memory. The flush cache map includes a plurality of entries, each entry indicating a memory block of the plurality of free memory blocks. Then, a cache block is written to a memory block at the obtained memory address within the non-volatile memory. In this manner, when a flush cache command is received, the flush cache map allows cache blocks to be written to free memory blocks in the non-volatile memory without requiring a non-volatile memory search for free blocks or requiring erasing of memory blocks storing old data.Type: ApplicationFiled: February 29, 2008Publication date: September 3, 2009Applicant: DENALI SOFTWARE, INC.Inventor: Robert Alan Reid
-
Publication number: 20090193174Abstract: An invention is provided for read disturbance management in a non-volatile memory. The invention includes storing a read count data for a memory location in non-volatile memory. The read count data indicating an amount of read operations accessing the memory location since data was last written to the memory location. Then, when data is read from the memory location while the value of the read count data is less than a predetermined threshold value, the value of the read count data is incremented. However, when the value of the read count data equals the predetermined threshold value, the data is moved to a new memory location, thereby avoiding read disturbance effects.Type: ApplicationFiled: January 29, 2008Publication date: July 30, 2009Applicant: DENALI SOFTWARE, INC.Inventor: Robert Alan Reid
-
Publication number: 20090193221Abstract: An invention is provided for memory management in a non-volatile memory which includes a plurality of memory blocks. The invention includes loading a block table from a memory block of the non-volatile memory into system memory, where the block table includes, inter alia, a plurality of entries mapping a physical block address of the non-volatile memory to a logical block address of the non-volatile memory. The block table is updated as data is accessed in the non-volatile memory, and the updated block table is stored into a memory block of the non-volatile memory. Generally, the block table is stored periodically and/or at system shutdown.Type: ApplicationFiled: January 29, 2008Publication date: July 30, 2009Applicant: DENALI SOFTWARE, INC.Inventor: Robert Alan Reid
-
Publication number: 20090193058Abstract: An invention is provided for affording CopyBack data integrity in a non-volatile memory system. When the potential for moving data with a CopyBack command occurs, a counter corresponding to the data is examined. When the counter is below a predetermined limit, the counter is incremented and data from the block of data is moved using a CopyBack command. However, when the counter reaches the predetermined limit, the counter is reset and data from the block of data is moved to system memory and examined for errors. Once any errors are corrected, the data is transferred back to the non-volatile memory.Type: ApplicationFiled: January 29, 2008Publication date: July 30, 2009Applicant: DENALI SOFTWARE, INC.Inventor: Robert Alan Reid
-
Publication number: 20090122949Abstract: An invention is provided for wear leveling in a non-volatile memory system utilizing relative wear counters to indicate relative levels of wear for each memory block in a non-volatile memory system. Whenever a memory block is erased, the associated relative wear counter is incremented. Then, when any relative wear counter reaches a predetermined limit, the value of the lowest relative wear counter is subtracted from each relative wear counter. Thus, each relative wear counter indicates a relative wear level of the associated memory block relative to other memory blocks. In this manner, the relative wear levels are maintained while reducing the amount of memory needed to for each relative wear counter.Type: ApplicationFiled: November 12, 2007Publication date: May 14, 2009Applicant: DENALI SOFTWARE, INC.Inventors: Robert Alan Reid, Robert Pierce, Narayanan Vinay Krishnan, Amit Bhardwaj
-
Publication number: 20090024899Abstract: An invention is provided for ensuring data integrity in a non-volatile memory system, including boot block data integrity during Power On Reset. The invention includes loading data into a buffer, such as a flash buffer, and generating an error detection code for the data utilizing a check code generator located in the memory controller. The error detection code is compared to a previously stored error detection code associated with the data. Then, when the error detection code is different from the previously stored error detection code, a correction pattern is calculated and applied to the data directly in the buffer for the non-volatile memory.Type: ApplicationFiled: July 16, 2007Publication date: January 22, 2009Inventor: Robert Alan Reid
-
Patent number: 7434222Abstract: A task switch from a first data processing task to a second data processing task can be accomplished by the first task calling a function which saves the first task's context, restores the second task's context and then returns. Because the second task's context has been restored, the called function actually returns to the second task, thereby completing the task switch.Type: GrantFiled: December 20, 2001Date of Patent: October 7, 2008Assignee: Infineon Technologies AGInventor: Robert Alan Reid
-
Publication number: 20030120712Abstract: A task switch from a first data processing task to a second data processing task can be accomplished by the first task calling a function which saves the first task's context, restores the second task's context and then returns. Because the second task's context has been restored, the called function actually returns to the second task, thereby completing the task switch.Type: ApplicationFiled: December 20, 2001Publication date: June 26, 2003Inventor: Robert Alan Reid
-
Patent number: 6017695Abstract: A human brain glycoprotein homologous to the mouse F3 and the chicken contactin/F11 adhesion molecules, nucleic acid sequences encoding the human brain glycoprotein and antibodies directed against the human brain glycoprotein.Type: GrantFiled: March 26, 1993Date of Patent: January 25, 2000Assignee: Becton Dickinson and CompanyInventors: Robert Alan Reid, John Jacob Hemperly