Patents by Inventor Farshid Sabet-Sharghi

Farshid Sabet-Sharghi 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: 7174440
    Abstract: Methods and apparatus for caching updates or new data associated with a logical block are disclosed. According to one aspect of the present invention, a method for processing contents associated with blocks of a non-volatile memory includes obtaining a first set of contents that is associated with a first group of logical pages associated with a first logical block, and writing the first set of contents into a memory area. The first set of contents is then written from the memory area into a first group of physical pages associated with a second physical block that is then mapped to the first logical block. In one embodiment, the memory area is one of a RAM cache and a physical block cache.
    Type: Grant
    Filed: October 2, 2003
    Date of Patent: February 6, 2007
    Assignee: SanDisk Corporation
    Inventors: Robert C Chang, Bahman Qawami, Farshid Sabet-Sharghi, Ping Li
  • Patent number: 7171536
    Abstract: Methods and apparatus for tracking defective blocks such that at least some of the defective blocks may be readily identified and tested for usability when desirable are disclosed. According to one aspect of the present invention, a method for identifying spare blocks within a non-volatile memory includes subjecting at least one defective physical block associated with the non-volatile memory to a test that is arranged to determine if the defective physical block is usable. The method also includes determining when the defective physical block passes the test, and identifying the defective physical block as a usable physical block when it is determined that the defective physical block passes the test.
    Type: Grant
    Filed: October 9, 2003
    Date of Patent: January 30, 2007
    Assignee: SanDisk Corporation
    Inventors: Robert C. Chang, Bahman Qawami, Farshid Sabet-Sharghi
  • Patent number: 7165137
    Abstract: A system for booting a microprocessor controlled system wherein a basic interface between the processor and peripheral devices is copied from an application and file storage device into random access memory without usage of the microprocessor or need for a non-volatile code storage device.
    Type: Grant
    Filed: August 6, 2001
    Date of Patent: January 16, 2007
    Assignee: SanDisk Corporation
    Inventors: Robert Chang, Jong Guo, Farshid Sabet-Sharghi
  • Publication number: 20070002612
    Abstract: A mass storage memory system and a method for re-allocating memory partition space is provided. The storage system includes a memory controller with a microprocessor that is adapted to receive data via a logical interface from a host system; a first memory partition with a system area and a data area; and a second memory partition with a system area and a data area; wherein the memory controller re-allocates memory space from the second memory partition to the first memory partition that is either full or has reached a threshold value, by using a virtual block address for the system area and the data area such that the system area and the data area appear contiguous to the host system.
    Type: Application
    Filed: June 29, 2005
    Publication date: January 4, 2007
    Inventors: Robert Chang, Michael Holtzman, Farshid Sabet-Sharghi, Paul McAvoy, Bahman Qawami
  • Publication number: 20060272032
    Abstract: A method and system for conducting a transaction involving digital content is provided. The system includes, a first user of a first mobile device connected to a network; a second user of a second mobile device connected to the network; a MNO that is functionally coupled to the first mobile device and the second mobile device and to a digital content provider and a rights issuing authority. The MNO receives a request for digital content from the first user, searches for the requested digital content and if the second user has the requested digital content, then the MNO obtains any rights to re-distribute/access the requested digital content; and the second user, the digital content provider and the MNO are compensated for distributing the requested digital content from the second mobile device to the first mobile device.
    Type: Application
    Filed: May 26, 2005
    Publication date: November 30, 2006
    Inventors: Fabrice Jogand-Coulomb, Bahman Qawami, Farshid Sabet-Sharghi
  • Publication number: 20060206701
    Abstract: A method and system for booting a microprocessor controlled device. A microprocessor that is designed to read from a linear storage device executes code from a non linear storage device through an interface or emulator that writes and retrieves specially formatted boot instructions to/from the non linear storage device.
    Type: Application
    Filed: May 24, 2006
    Publication date: September 14, 2006
    Inventors: Henry Hutton, Farshid Sabet-Sharghi, Robert Chang, Jong Guo
  • Patent number: 7103732
    Abstract: Methods and apparatus for managing erase counts in a non-volatile memory system. According to one aspect of the present invention, a method for initializing an erase count block in a system memory of a non-volatile memory system, the non-volatile memory system which includes a non-volatile memory involves allocating a plurality of pages within the system memory that are divided into a plurality of entries. Each entry of the plurality of entries has an associated block in the non-volatile memory. The method also includes identifying usable blocks which are suitable for use in accepting user data, and storing values in each entry which is associated with a usable block. Storing the values in each entry which is associated with a usable block substantially identifies the usable block as being usable.
    Type: Grant
    Filed: October 28, 2002
    Date of Patent: September 5, 2006
    Assignee: SanDisk Corporation
    Inventors: Robert C. Chang, Bahman Qawami, Farshid Sabet-Sharghi
  • Patent number: 7096313
    Abstract: Methods and apparatus for performing wear leveling in a non-volatile memory system are disclosed. According to one aspect of the present invention, one method for processing elements included in a non-volatile memory of a memory system includes obtaining erase counts associated with elements and grouping a number of the elements into a first set. Each element has an associated erase count that substantially indicates a number of times the element has been erased. Grouping the number of elements into the first set includes selecting elements included in the plurality of elements which have the lowest associated erase counts of the erase counts associated with the plurality of elements. The method also includes storing the erase counts associated with the first set in a memory component substantially within a table.
    Type: Grant
    Filed: October 28, 2002
    Date of Patent: August 22, 2006
    Assignee: SanDisk Corporation
    Inventors: Robert C. Chang, Bahman Qawami, Farshid Sabet-Sharghi
  • Patent number: 7089349
    Abstract: Methods and apparatus for enabling updates to data structures to be scheduled are disclosed. According to one aspect of the present invention, a method for operating a memory system with a non-volatile memory that includes a plurality of physical blocks and a plurality of data structures including an erase count block involves determining when contents of at least one data structure is to be updated. A request to update the contents of the data structure is queued or scheduled when it is determined that the contents are to be updated, and the request is executed when it effectively reaches the top of the queue.
    Type: Grant
    Filed: October 28, 2003
    Date of Patent: August 8, 2006
    Assignee: SanDisk Corporation
    Inventors: Robert C. Chang, Bahman Qawami, Farshid Sabet-Sharghi
  • Patent number: 7082525
    Abstract: A method and system for booting a microprocessor controlled device. A microprocessor that is designed to read from a linear storage device executes code from a non linear storage device through an interface or emulator that writes and retrieves specially formatted boot instructions to/from the non linear storage device.
    Type: Grant
    Filed: October 2, 2002
    Date of Patent: July 25, 2006
    Assignee: SanDisk Corporation
    Inventors: Henry R. Hutton, Farshid Sabet-Sharghi, Robert C. Chang, Jong Guo
  • Publication number: 20060149896
    Abstract: Methods and apparatus for maintaining an average erase count in a system memory of a non-volatile memory system are disclosed. According to one aspect of the present invention, a method for determining an average number of times each block of a number of blocks within a non-volatile memory of a memory system has been erased includes obtaining an erase count for each block that indicates a number of times each block has been erased. Once all the erase counts have been obtained, the erase counts are summed, and an average erase count that indicates the average number of times each block of the number of blocks has been erased is created by substantially dividing the sum by the number of blocks.
    Type: Application
    Filed: February 25, 2006
    Publication date: July 6, 2006
    Applicant: SanDisk Corporation
    Inventors: Robert Chang, Bahman Qawami, Farshid Sabet-Sharghi
  • Patent number: 7039788
    Abstract: Methods and apparatus for splitting a single logical block into two or more physical blocks are disclosed. According to one aspect of the present invention, a method for associating a plurality of physical blocks of a non-volatile memory with a logical block that includes of logical block elements involves grouping the logical block elements into at least a first logical set and a second logical set. Data associated with the first logical set is provided to a first physical block, and data associated with the second logical set is provided to a second physical block.
    Type: Grant
    Filed: October 28, 2002
    Date of Patent: May 2, 2006
    Assignee: SanDisk Corporation
    Inventors: Robert C. Chang, Bahman Qawami, Farshid Sabet-Sharghi
  • Patent number: 7035967
    Abstract: Methods and apparatus for maintaining an average erase count in a system memory of a non-volatile memory system are disclosed. According to one aspect of the present invention, a method for determining an average number of times each block of a number of blocks within a non-volatile memory of a memory system has been erased includes obtaining an erase count for each block that indicates a number of times each block has been erased. Once all the erase counts have been obtained, the erase counts are summed, and an average erase count that indicates the average number of times each block of the number of blocks has been erased is created by substantially dividing the sum by the number of blocks.
    Type: Grant
    Filed: October 28, 2002
    Date of Patent: April 25, 2006
    Assignee: SanDisk Corporation
    Inventors: Robert C. Chang, Bahman Qawami, Farshid Sabet-Sharghi
  • Patent number: 7032087
    Abstract: Methods and apparatus for efficiently tracking the usage of physical blocks of non-volatile memory are disclosed. According to one aspect of the present invention, a method for maintaining a data structure that stores contents relating to the usage of physical blocks includes determining when to update the contents stored in the data structure, and obtaining a first differential erase count from the data structure when the contents are to be updated. The first differential erase count provides information on a number of times a first physical block has been erased. The method also includes determining a first actual erase count when the contents are to be updated. The first actual erase count is associated with a second physical block, and provides a number of times the second physical block has been erased. Finally, the method includes updating the first differential erase count when the contents are to be updated.
    Type: Grant
    Filed: October 28, 2003
    Date of Patent: April 18, 2006
    Assignee: SanDisk Corporation
    Inventors: Robert C. Chang, Bahman Qawami, Farshid Sabet-Sharghi
  • Patent number: 6985992
    Abstract: Methods and apparatus for performing wear leveling in a non-volatile memory system are disclosed. According to one aspect of the present invention, a method for allocating non-volatile memory that is divided into elements includes grouping the elements into a first group, a second group, and a third group. The first group includes erased elements with relatively low wear and the second group includes erased elements with relatively high wear. The method also includes determining when a first element included in the third group is to be replaced by a second element included in the first group. Contents of the first element are copied into the second element obtained from the first group. The contents are then erased from the first element, and the second element is associated with the third group. Associating the second element with the third group includes substantially disassociating the second element from the first group.
    Type: Grant
    Filed: October 28, 2002
    Date of Patent: January 10, 2006
    Assignee: SanDisk Corporation
    Inventors: Robert C. Chang, Bahman Qawami, Farshid Sabet-Sharghi
  • Patent number: 6973531
    Abstract: Methods and apparatus for performing wear leveling in a non-volatile memory system are disclosed. According to one aspect of the present invention, a method for processing elements included in a non-volatile memory of a memory system includes obtaining erase counts associated with a plurality of erased elements. Each element included in the plurality of elements has an associated erase count that indicates a number of times the element has been erased. The method also includes grouping a number of erased elements included in the plurality of elements into a first set, and storing the erase counts associated with the first set in a memory component of the memory system. Grouping the number of elements into the first set typically includes selecting erased elements included in the plurality of elements which have the highest associated erase counts of the erase counts associated with the plurality of elements.
    Type: Grant
    Filed: October 28, 2002
    Date of Patent: December 6, 2005
    Assignee: SanDisk Corporation
    Inventors: Robert C. Chang, Bahman Qawami, Farshid Sabet-Sharghi
  • Publication number: 20050091445
    Abstract: Methods and apparatus for enabling updates to data structures to be scheduled are disclosed. According to one aspect of the present invention, a method for operating a memory system with a non-volatile memory that includes a plurality of physical blocks and a plurality of data structures including an erase count block involves determining when contents of at least one data structure is to be updated. A request to update the contents of the data structure is queued or scheduled when it is determined that the contents are to be updated, and the request is executed when it effectively reaches the top of the queue.
    Type: Application
    Filed: October 28, 2003
    Publication date: April 28, 2005
    Applicant: SanDisk Corporation
    Inventors: Robert Chang, Bahman Qawami, Farshid Sabet-Sharghi
  • Patent number: 6831865
    Abstract: Methods and apparatus for storing erase counts in a non-volatile memory of a non-volatile memory system are disclosed. According to one aspect of the present invention, a data structure in a non-volatile memory includes a first indicator that provides an indication of a number of times a first block of a plurality of blocks in a non-volatile memory has been erased. The data structure also includes a header that is arranged to contain information relating to the blocks in the non-volatile memory.
    Type: Grant
    Filed: October 28, 2002
    Date of Patent: December 14, 2004
    Assignee: SanDisk Corporation
    Inventors: Robert C. Chang, Bahman Qawami, Farshid Sabet-Sharghi
  • Publication number: 20040177212
    Abstract: Methods and apparatus for maintaining an average erase count in a system memory of a non-volatile memory system are disclosed. According to one aspect of the present invention, a method for determining an average number of times each block of a number of blocks within a non-volatile memory of a memory system has been erased includes obtaining an erase count for each block that indicates a number of times each block has been erased. Once all the erase counts have been obtained, the erase counts are summed, and an average erase count that indicates the average number of times each block of the number of blocks has been erased is created by substantially dividing the sum by the number of blocks.
    Type: Application
    Filed: October 28, 2002
    Publication date: September 9, 2004
    Applicant: SanDisk Corporation
    Inventors: Robert C. Chang, Bahman Qawami, Farshid Sabet-Sharghi
  • Publication number: 20040103241
    Abstract: Methods and apparatus for enabling contents to be efficiently stored in physical blocks of a non-volatile memory are disclosed. According to one aspect of the present invention, a method for performing a write operation in a non-volatile memory system which has a memory unit includes writing a first set of contents into a first physical sub-unit of the memory unit and writing a second set of contents into a second physical sub-unit of the memory unit after the first set of contents is written into the first physical sub-unit. The first physical sub-unit is sequentially before the second physical sub-unit in the memory unit. The first set of contents is associated with a second logical sub-unit of a logical unit and the second set of contents is associated with a first logical sub-unit of the logical unit that is sequentially before the second logical sub-unit in the logical unit.
    Type: Application
    Filed: October 2, 2003
    Publication date: May 27, 2004
    Applicant: SANDISK CORPORATION
    Inventors: Robert C. Chang, Bahman Qawami, Farshid Sabet-Sharghi