Patents by Inventor Robert D. Selinger

Robert D. Selinger 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: 9141308
    Abstract: A controller is presented having one or more interfaces through which to communicate with a plurality of memory dies with multi-level memory cells and an interface through which to communicate with a host. The controller also contains a processor that is configured to receive a command from the host to program data in a plurality of lower pages and a plurality of upper pages of the multi-level memory cells. The controller detects an indication from the host that indicates which previously-programmed lower pages from a previous program command are at risk of being corrupted by the programming of the upper pages from the received program command. Prior to programming the upper pages, the controller backs up the previously-programmed lower pages from the previous program command that are at risk of being corrupted but not the lower pages of data programmed by the received program command.
    Type: Grant
    Filed: December 30, 2011
    Date of Patent: September 22, 2015
    Assignee: SanDisk Technologies Inc.
    Inventors: Paul A. Lassa, Robert D. Selinger, Alan W. Sinclair
  • Patent number: 9116620
    Abstract: A controller and method for memory aliasing for different flash memory types are presented. In one embodiment, a controller is presented having one or more interfaces through which to communicate with a plurality of memory dies, wherein at least one of the memory dies is of a different memory type than the other memory dies. The controller also has an interface through which to communicate with a host, wherein the interface only supports commands for a single memory types. The controller further contains a processor that is configured to receive a logical address and a command from the host, determine which memory die is associated with the logical address, and translate the command received from the host to a form suitable for the memory type of the memory die associated with the logical address.
    Type: Grant
    Filed: December 30, 2011
    Date of Patent: August 25, 2015
    Assignee: SanDisk Technologies Inc.
    Inventors: Paul A. Lassa, Robert D. Selinger
  • Publication number: 20140250348
    Abstract: The embodiments described herein provide a controller and method for interfacing between a host controller in a host and a flash memory device. In one embodiment, a controller comprises a first NAND interface, a second NAND interface, and one or more of the following modules: a data scrambling module, a column replacement module, and a module that manages at least one of had blocks and spare blocks. Other embodiments are disclosed, and each of the embodiments can be used alone or together in combination.
    Type: Application
    Filed: May 15, 2014
    Publication date: September 4, 2014
    Applicant: SanDisk Technologies Inc.
    Inventors: Eliyahou Harari, Richard R. Heye, Robert D. Selinger
  • Patent number: 8694719
    Abstract: The embodiments described herein provide a controller, storage device, and method for power throttling memory operations. In one embodiment, a controller is provided in a storage device with a plurality of flash memory devices. The controller determines how much power will be consumed (or heat will be generated) by each of a plurality of commands and dynamically alters when each of the commands operating on one or more of the flash memory devices is performed based on the determination of how much power would be consumed (or heat will be generated), so that performance of the plurality of commands does not exceed a predetermined average power limit over a period of time (or a predetermined temperature). In some embodiments, the storage device also has a thermal sensor, and a reading from the thermal sensor can be used, instead of or in addition to the power or thermal costs of each command, to dynamically alter when the commands are performed.
    Type: Grant
    Filed: June 24, 2011
    Date of Patent: April 8, 2014
    Assignee: SanDisk Technologies Inc.
    Inventors: Paul A. Lassa, Robert D. Selinger
  • Patent number: 8595411
    Abstract: The embodiments described herein provide a method and controller for performing a sequence of commands. In one embodiment, a controller receives a command from a host to perform a memory operation in a flash memory device, wherein the command comprises at least one bit that indicates whether the command is a stand-alone command or is part of a sequence of commands. The controller analyzes the at least one bit to determine whether the at least one bit indicates that the command is a stand-alone command or is part of a sequence of commands. If the at least one bit indicates that the command is a stand-alone command, the controller performs the command. If the at least one bit indicates that the command is part of a sequence of commands, the controller performs the command as part of the sequence of commands.
    Type: Grant
    Filed: December 30, 2009
    Date of Patent: November 26, 2013
    Assignee: SanDisk Technologies Inc.
    Inventors: Robert D. Selinger, Gary Lin, Chaoyang Wang
  • Publication number: 20130173846
    Abstract: A controller and method for memory aliasing for different flash memory types are presented. In one embodiment, a controller is presented having one or more interfaces through which to communicate with a plurality of memory dies, wherein at least one of the memory dies is of a different memory type than the other memory dies. The controller also has an interface through which to communicate with a host, wherein the interface only supports commands for a single memory types. The controller further contains a processor that is configured to receive a logical address and a command from the host, determine which memory die is associated with the logical address, and translate the command received from the host to a form suitable for the memory type of the memory die associated with the logical address.
    Type: Application
    Filed: December 30, 2011
    Publication date: July 4, 2013
    Inventors: Paul A. Lassa, Robert D. Selinger
  • Publication number: 20130173848
    Abstract: A controller is presented having one or more interfaces through which to communicate with a plurality of memory dies with multi-level memory cells and an interface through which to communicate with a host. The controller also contains a processor that is configured to receive a command from the host to program data in a plurality of lower pages and a plurality of upper pages of the multi-level memory cells. The controller detects an indication from the host that indicates which previously-programmed lower pages from a previous program command are at risk of being corrupted by the programming of the upper pages from the received program command. Prior to programming the upper pages, the controller backs up the previously-programmed lower pages from the previous program command that are at risk of being corrupted but not the lower pages of data programmed by the received program command.
    Type: Application
    Filed: December 30, 2011
    Publication date: July 4, 2013
    Inventors: Paul A. Lassa, Robert D. Selinger, Alan W. Sinclair
  • Patent number: 8443263
    Abstract: The embodiments described herein provide a method and controller for performing a copy-back command. In one embodiment, a controller receives the data and error correction code associated with a copy-back operation from at least one flash memory device. The controller determines if the error correction code indicates there is an error in the data. If the error correction code does not indicate there is an error in the data, the controller sends a destination address and copy-back program command received from a host to the at least one flash memory device. If the error correction code indicates there is an error in the data, the controller corrects the data and sends the destination address, the corrected data, and a program command to the at least one flash memory device. Additional embodiments relate to modifying data during the copy-back operation.
    Type: Grant
    Filed: December 30, 2009
    Date of Patent: May 14, 2013
    Assignee: SanDisk Technologies Inc.
    Inventors: Robert D. Selinger, Gary Lin, Paul Lassa, Chaoyang Wang
  • Publication number: 20130111113
    Abstract: A NAND controller for interfacing between a host device and a flash memory device (e.g., a NAND flash memory device) fabricated on a flash die is disclosed. In some embodiments, the presently disclosed NAND controller includes electronic circuitry fabricated on a controller die, the controller die being distinct from the flash die, a first interface (e.g. a host-type interface, for example, a NAND interface) for interfacing between the electronic circuitry and the flash memory device, and a second interface (e.g. a flash-type interface) for interfacing between the controller and the host device, wherein the second interface is a NAND interface. According to some embodiments, the first interface is an inter-die interface. According to some embodiments, the first interface is a NAND interface. Systems including the presently disclosed NAND controller are also disclosed. Methods for assembling the aforementioned systems, and for reading and writing data using NAND controllers are also disclosed.
    Type: Application
    Filed: August 28, 2012
    Publication date: May 2, 2013
    Inventors: Eliyahou Harari, Richard R. Heye, Robert D. Selinger, Menahem Lasser
  • Publication number: 20120331207
    Abstract: The embodiments described herein provide a controller, storage device, and method for power throttling memory operations. In one embodiment, a controller is provided in a storage device with a plurality of flash memory devices. The controller determines how much power will be consumed (or heat will be generated) by each of a plurality of commands and dynamically alters when each of the commands operating on one or more of the flash memory devices is performed based on the determination of how much power would be consumed (or heat will be generated), so that performance of the plurality of commands does not exceed a predetermined average power limit over a period of time (or a predetermined temperature). In some embodiments, the storage device also has a thermal sensor, and a reading from the thermal sensor can be used, instead of or in addition to the power or thermal costs of each command, to dynamically alter when the commands are performed.
    Type: Application
    Filed: June 24, 2011
    Publication date: December 27, 2012
    Inventors: Paul A. Lassa, Robert D. Selinger
  • Patent number: 8291295
    Abstract: A NAND controller for interfacing between a host device and a flash memory device (e.g., a NAND flash memory device) fabricated on a flash die is disclosed. In some embodiments, the presently disclosed NAND controller includes electronic circuitry fabricated on a controller die, the controller die being distinct from the flash die, a first interface (e.g. a host-type interface, for example, a NAND interface) for interfacing between the electronic circuitry and the flash memory device, and a second interface (e.g. a flash-type interface) for interfacing between the controller and the host device, wherein the second interface is a NAND interface. According to some embodiments, the first interface is an inter-die interface. According to some embodiments, the first interface is a NAND interface. Systems including the presently disclosed NAND controller are also disclosed. Methods for assembling the aforementioned systems, and for reading and writing data using NAND controllers are also disclosed.
    Type: Grant
    Filed: August 11, 2009
    Date of Patent: October 16, 2012
    Assignee: SanDisk IL Ltd.
    Inventors: Eliyahou Harari, Richard R. Heye, Robert D. Selinger, Menahem Lasser
  • Publication number: 20110161784
    Abstract: The embodiments described herein provide a method and controller for performing a copy-back command. In one embodiment, a controller receives the data and error correction code associated with a copy-back operation from at least one flash memory device. The controller determines if the error correction code indicates there is an error in the data. If the error correction code does not indicate there is an error in the data, the controller sends a destination address and copy-back program command received from a host to the at least one flash memory device. If the error correction code indicates there is an error in the data, the controller corrects the data and sends the destination address, the corrected data, and a program command to the at least one flash memory device. Additional embodiments relate to modifying data during the copy-back operation.
    Type: Application
    Filed: December 30, 2009
    Publication date: June 30, 2011
    Inventors: Robert D. Selinger, Gary Lin, Paul Lassa, Chaoyang Wang
  • Publication number: 20110161554
    Abstract: The embodiments described herein provide a method and controller for performing a sequence of commands. In one embodiment, a controller receives a command from a host to perform a memory operation in a flash memory device, wherein the command comprises at least one bit that indicates whether the command is a stand-alone command or is part of a sequence of commands. The controller analyzes the at least one bit to determine whether the at least one bit indicates that the command is a stand-alone command or is part of a sequence of commands. If the at least one bit indicates that the command is a stand-alone command, the controller performs the command. If the at least one bit indicates that the command is part of a sequence of commands, the controller performs the command as part of the sequence of commands.
    Type: Application
    Filed: December 30, 2009
    Publication date: June 30, 2011
    Inventors: Robert D. Selinger, Gary Lin, Chaoyang Wang
  • Publication number: 20110040924
    Abstract: The embodiments described herein provide a controller and method for detecting a transmission error over a NAND interface using error detection code. In one embodiment, a controller receives a write command, data, and an error detection code associated with the data from a host through a first NAND interface of the controller using a NAND interface protocol. The controller uses the error detection code to detect if a transmission error occurred. In another embodiment, a controller generates an error detection code based on data read from a flash memory device and provides the data and error detection code to a host through a first NAND interface of the controller, so the host can detect if a transmission error occurred.
    Type: Application
    Filed: August 11, 2009
    Publication date: February 17, 2011
    Inventor: Robert D. Selinger
  • Publication number: 20110041005
    Abstract: The embodiments described herein provide a controller and method for providing status and spare block management information in a flash memory system, as well for managing spare block allocation in cooperation with a host. In one embodiment, a controller receives a command from a host, retrieves data from flash memory, analyzes the retrieved data for errors, and transmits status information to the host, wherein the status information comprises information based on a result of the error analysis, such as a read error. Alternatively, the controller stores the status information and transmits an error indicator to the host identifying that the status information regarding the error is available in memory. In another embodiment, the controller may be reselectably initialized to one of a plurality of spare block management modes, wherein in a split management mode, the controller may ask the host to return extra blocks available to the host.
    Type: Application
    Filed: August 11, 2009
    Publication date: February 17, 2011
    Inventor: Robert D. Selinger
  • Publication number: 20110041039
    Abstract: The embodiments described herein provide a controller and method for interfacing between a host controller in a host and a flash memory device. In one embodiment, a controller comprises a first NAND interface, a second NAND interface, and one or more of the following modules: a data scrambling module, a column replacement module, and a module that manages at least one of bad blocks and spare blocks. Other embodiments are disclosed, and each of the embodiments can be used alone or together in combination.
    Type: Application
    Filed: August 11, 2009
    Publication date: February 17, 2011
    Inventors: Eliyahou Harari, Richard R. Heye, Robert D. Selinger
  • Publication number: 20100023800
    Abstract: A NAND controller for interfacing between a host device and a flash memory device (e.g., a NAND flash memory device) fabricated on a flash die is disclosed. In some embodiments, the presently disclosed NAND controller includes electronic circuitry fabricated on a controller die, the controller die being distinct from the flash die, a first interface (e.g. a host-type interface, for example, a NAND interface) for interfacing between the electronic circuitry and the flash memory device, and a second interface (e.g. a flash-type interface) for interfacing between the controller and the host device, wherein the second interface is a NAND interface. According to some embodiments, the first interface is an inter-die interface. According to some embodiments, the first interface is a NAND interface. Systems including the presently disclosed NAND controller are also disclosed. Methods for assembling the aforementioned systems, and for reading and writing data using NAND controllers are also disclosed.
    Type: Application
    Filed: August 11, 2009
    Publication date: January 28, 2010
    Inventors: Eliyahou Harari, Richard R. Heye, Robert D. Selinger, Menahem Lasser
  • Publication number: 20090172244
    Abstract: Methods and apparatus of the present invention include new data and parity mapping for a two-level or hierarchical secondary RAID architecture. The hierarchical secondary RAID architecture achieves a reduced mean time to data loss compared with a single-level RAID architecture. The new data and parity mapping technique provides load-balancing between the disks in the hierarchical secondary RAID architecture and facilitates sequential access.
    Type: Application
    Filed: December 31, 2007
    Publication date: July 2, 2009
    Inventors: Chaoyang Wang, Robert D. Selinger
  • Patent number: RE46013
    Abstract: The embodiments described herein provide a method and controller for performing a copy-back command. In one embodiment, a controller receives the data and error correction code associated with a copy-back operation from at least one flash memory device. The controller determines if the error correction code indicates there is an error in the data. If the error correction code does not indicate there is an error in the data, the controller sends a destination address and copy-back program command received from a host to the at least one flash memory device. If the error correction code indicates there is an error in the data, the controller corrects the data and sends the destination address, the corrected data, and a program command to the at least one flash memory device. Additional embodiments relate to modifying data during the copy-back operation.
    Type: Grant
    Filed: April 2, 2014
    Date of Patent: May 24, 2016
    Assignee: SanDisk Technologies Inc.
    Inventors: Robert D Selinger, Gary Lin, Paul Lassa, Chaoyang Wang
  • Patent number: RE46201
    Abstract: The embodiments described herein provide a method and controller for performing a sequence of commands. In one embodiment, a controller receives a command from a host to perform a memory operation in a flash memory device, wherein the command comprises at least one bit that indicates whether the command is a stand-alone command or is part of a sequence of commands. The controller analyzes the at least one bit to determine whether the at least one bit indicates that the command is a stand-alone command or is part of a sequence of commands. If the at least one bit indicates that the command is a stand-alone command, the controller performs the command. If the at least one bit indicates that the command is part of a sequence of commands, the controller performs the command as part of the sequence of commands.
    Type: Grant
    Filed: April 2, 2014
    Date of Patent: November 8, 2016
    Assignee: SANDISK TECHNOLOGIES LLC
    Inventors: Robert D Selinger, Gary Lin, Chaoyang Wang