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: 9141308Abstract: 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: GrantFiled: December 30, 2011Date of Patent: September 22, 2015Assignee: SanDisk Technologies Inc.Inventors: Paul A. Lassa, Robert D. Selinger, Alan W. Sinclair
-
Patent number: 9116620Abstract: 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: GrantFiled: December 30, 2011Date of Patent: August 25, 2015Assignee: SanDisk Technologies Inc.Inventors: Paul A. Lassa, Robert D. Selinger
-
Publication number: 20140250348Abstract: 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: ApplicationFiled: May 15, 2014Publication date: September 4, 2014Applicant: SanDisk Technologies Inc.Inventors: Eliyahou Harari, Richard R. Heye, Robert D. Selinger
-
Patent number: 8694719Abstract: 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: GrantFiled: June 24, 2011Date of Patent: April 8, 2014Assignee: SanDisk Technologies Inc.Inventors: Paul A. Lassa, Robert D. Selinger
-
Patent number: 8595411Abstract: 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: GrantFiled: December 30, 2009Date of Patent: November 26, 2013Assignee: SanDisk Technologies Inc.Inventors: Robert D. Selinger, Gary Lin, Chaoyang Wang
-
Publication number: 20130173846Abstract: 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: ApplicationFiled: December 30, 2011Publication date: July 4, 2013Inventors: Paul A. Lassa, Robert D. Selinger
-
Publication number: 20130173848Abstract: 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: ApplicationFiled: December 30, 2011Publication date: July 4, 2013Inventors: Paul A. Lassa, Robert D. Selinger, Alan W. Sinclair
-
Patent number: 8443263Abstract: 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: GrantFiled: December 30, 2009Date of Patent: May 14, 2013Assignee: SanDisk Technologies Inc.Inventors: Robert D. Selinger, Gary Lin, Paul Lassa, Chaoyang Wang
-
Publication number: 20130111113Abstract: 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: ApplicationFiled: August 28, 2012Publication date: May 2, 2013Inventors: Eliyahou Harari, Richard R. Heye, Robert D. Selinger, Menahem Lasser
-
Publication number: 20120331207Abstract: 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: ApplicationFiled: June 24, 2011Publication date: December 27, 2012Inventors: Paul A. Lassa, Robert D. Selinger
-
Patent number: 8291295Abstract: 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: GrantFiled: August 11, 2009Date of Patent: October 16, 2012Assignee: SanDisk IL Ltd.Inventors: Eliyahou Harari, Richard R. Heye, Robert D. Selinger, Menahem Lasser
-
Publication number: 20110161784Abstract: 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: ApplicationFiled: December 30, 2009Publication date: June 30, 2011Inventors: Robert D. Selinger, Gary Lin, Paul Lassa, Chaoyang Wang
-
Publication number: 20110161554Abstract: 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: ApplicationFiled: December 30, 2009Publication date: June 30, 2011Inventors: Robert D. Selinger, Gary Lin, Chaoyang Wang
-
Publication number: 20110040924Abstract: 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: ApplicationFiled: August 11, 2009Publication date: February 17, 2011Inventor: Robert D. Selinger
-
Publication number: 20110041005Abstract: 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: ApplicationFiled: August 11, 2009Publication date: February 17, 2011Inventor: Robert D. Selinger
-
Publication number: 20110041039Abstract: 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: ApplicationFiled: August 11, 2009Publication date: February 17, 2011Inventors: Eliyahou Harari, Richard R. Heye, Robert D. Selinger
-
Publication number: 20100023800Abstract: 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: ApplicationFiled: August 11, 2009Publication date: January 28, 2010Inventors: Eliyahou Harari, Richard R. Heye, Robert D. Selinger, Menahem Lasser
-
Publication number: 20090172244Abstract: 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: ApplicationFiled: December 31, 2007Publication date: July 2, 2009Inventors: Chaoyang Wang, Robert D. Selinger
-
Patent number: RE46013Abstract: 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: GrantFiled: April 2, 2014Date of Patent: May 24, 2016Assignee: SanDisk Technologies Inc.Inventors: Robert D Selinger, Gary Lin, Paul Lassa, Chaoyang Wang
-
Patent number: RE46201Abstract: 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: GrantFiled: April 2, 2014Date of Patent: November 8, 2016Assignee: SANDISK TECHNOLOGIES LLCInventors: Robert D Selinger, Gary Lin, Chaoyang Wang