Patents by Inventor Paul Lassa

Paul Lassa 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: 9372632
    Abstract: The embodiments described herein provide a controller with an extended status register and a method of use therewith. In one embodiment, a controller is provided with a first interface through which to communicate with a host and a second interface through which to communicate with a plurality of flash memory devices. The controller also comprises a status register, an extended status register, and a processor. The processor is operative to store, in the extended status register, status information of a plurality of events in time across the plurality of flash memory devices. The extended status register stores event status information, whereas the ONFI status register stores command status information. In response to a request from the host, the processor sends the status information of the plurality of events to the host for analysis.
    Type: Grant
    Filed: March 2, 2015
    Date of Patent: June 21, 2016
    Assignee: SanDisk Technologies Inc.
    Inventor: Paul A. Lassa
  • Patent number: 9329804
    Abstract: In a storage device such as a solid state disk (SSD), a central controller communicates with a plurality of multi-chip memory packages. Each multi-chip memory package comprises a plurality of memory dies and a local processor, wherein the plurality of memory dies includes different memory tiers. The central controller may handle management of the virtual address space while the local processor in each MCP manages the storage of data within memory tiers in the memory dies of its respective MCP.
    Type: Grant
    Filed: June 4, 2014
    Date of Patent: May 3, 2016
    Assignee: SanDisk Technologies Inc.
    Inventor: Paul A. Lassa
  • Patent number: 9229655
    Abstract: The embodiments described herein provide a controller and method for performing a background commands or operations. In one embodiment, a controller is provided with interfaces through which to communicate with a host and a plurality of flash memory devices. The controller contains a processor operative to perform a foreground command received from the host, wherein the processor performs the foreground command to completion without interruption. The processor is also operative to perform a background commands or operations stored in the controller's memory, wherein the processor performs the background command until completed or preempted by a foreground command. If the background command is preempted, the processor can resume performing the background command at a later time until completed.
    Type: Grant
    Filed: July 14, 2014
    Date of Patent: January 5, 2016
    Assignee: SanDisk Technologies Inc.
    Inventors: Paul A. Lassa, David C. Brief
  • 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: 20150169245
    Abstract: The embodiments described herein provide a controller with an extended status register and a method of use therewith. In one embodiment, a controller is provided with a first interface through which to communicate with a host and a second interface through which to communicate with a plurality of flash memory devices. The controller also comprises a status register, an extended status register, and a processor. The processor is operative to store, in the extended status register, status information of a plurality of events in time across the plurality of flash memory devices. The extended status register stores event status information, whereas the ONFI status register stores command status information. In response to a request from the host, the processor sends the status information of the plurality of events to the host for analysis.
    Type: Application
    Filed: March 2, 2015
    Publication date: June 18, 2015
    Applicant: SanDisk Technologies Inc.
    Inventor: Paul A. Lassa
  • Patent number: 9003102
    Abstract: The embodiments described herein provide a controller with an extended status register and a method of use therewith. In one embodiment, a controller is provided with a first interface through which to communicate with a host and a second interface through which to communicate with a plurality of flash memory devices. The controller also comprises a status register, an extended status register, and a processor. The processor is operative to store, in the extended status register, status information of a plurality of events in time across the plurality of flash memory devices. The extended status register stores event status information, whereas the ONFI status register stores command status information. In response to a request from the host, the processor sends the status information of the plurality of events to the host for analysis.
    Type: Grant
    Filed: August 26, 2011
    Date of Patent: April 7, 2015
    Assignee: SanDisk Technologies Inc.
    Inventor: Paul A. Lassa
  • Patent number: 8924631
    Abstract: A method and system are disclosed for handling host write commands associated with both data aligned with physical page boundaries of parallel write increments in non-volatile storage areas in a non-volatile storage device and data unaligned with the physical page boundaries. The method may include a controller of a storage device identifying the aligned and unaligned portions of received data, temporarily storing the aligned and unaligned portions in different queues, and then writing portions from the unaligned data queue or the aligned data queue in parallel to the non-volatile memory areas when one of the queues has been filled with a threshold amount of data or when the controller detects a timeout condition. The system may include a storage device with a controller configured to perform the method noted above, where the non-volatile memory areas may be separate banks and the queues are random access memory.
    Type: Grant
    Filed: September 15, 2011
    Date of Patent: December 30, 2014
    Assignee: SanDisk Technologies Inc.
    Inventors: King Ying Ng, Marielle Bundukin, Paul Lassa
  • Publication number: 20140325131
    Abstract: The embodiments described herein provide a controller and method for performing a background commands or operations. In one embodiment, a controller is provided with interfaces through which to communicate with a host and a plurality of flash memory devices. The controller contains a processor operative to perform a foreground command received from the host, wherein the processor performs the foreground command to completion without interruption. The processor is also operative to perform a background commands or operations stored in the controller's memory, wherein the processor performs the background command until completed or preempted by a foreground command. If the background command is preempted, the processor can resume performing the background command at a later time until completed.
    Type: Application
    Filed: July 14, 2014
    Publication date: October 30, 2014
    Applicant: SanDisk Technologies Inc.
    Inventors: Paul A. Lassa, David C. Brief
  • Publication number: 20140289458
    Abstract: In a storage device such as a solid state disk (SSD), a central controller communicates with a plurality of multi-chip memory packages. Each multi-chip memory package comprises a plurality of memory dies and a local processor, wherein the plurality of memory dies includes different memory tiers. The central controller may handle management of the virtual address space while the local processor in each MCP manages the storage of data within memory tiers in the memory dies of its respective MCP.
    Type: Application
    Filed: June 4, 2014
    Publication date: September 25, 2014
    Inventor: Paul A. Lassa
  • Patent number: 8819328
    Abstract: The embodiments described herein provide a controller and method for performing a background commands or operations. In one embodiment, a controller is provided with interfaces through which to communicate with a host and a plurality of flash memory devices. The controller contains a processor operative to perform a foreground command received from the host, wherein the processor performs the foreground command to completion without interruption. The processor is also operative to perform a background commands or operations stored in the controller's memory, wherein the processor performs the background command until completed or preempted by a foreground command. If the background command is preempted, the processor can resume performing the background command at a later time until completed.
    Type: Grant
    Filed: December 30, 2010
    Date of Patent: August 26, 2014
    Assignee: SanDisk Technologies Inc.
    Inventors: Paul A. Lassa, David C. Brief
  • Publication number: 20140237167
    Abstract: Disclosed are apparatus and techniques for managing power in a memory system having a controller and nonvolatile memory array. In one embodiment, prior to execution of each command with respect to the memory array, a request for execution of such command is received with respect to the memory array. In response to receipt of each request for each command, execution of such command is allowed or withheld with respect to the memory array based on whether such command, together with execution of other commands, is estimated to exceed a predetermined power usage specification for the memory system.
    Type: Application
    Filed: April 25, 2014
    Publication date: August 21, 2014
    Applicant: SanDisk Technologies Inc.
    Inventors: Damian P. Yurzola, Rajeev Nagabhirava, Gary J. Lin, Matthew Davidson, Paul A. Lassa
  • Patent number: 8760922
    Abstract: In a storage device such as a solid state disk (SSD), a central controller communicates with a plurality of multi-chip memory packages. Each multi-chip memory package comprises a plurality of memory dies and a local processor, wherein the plurality of memory dies includes different memory tiers. The central controller may handle management of the virtual address space while the local processor in each MCP manages the storage of data within memory tiers in the memory dies of its respective MCP.
    Type: Grant
    Filed: April 10, 2012
    Date of Patent: June 24, 2014
    Assignee: SanDisk Technologies Inc.
    Inventor: Paul A. Lassa
  • Patent number: 8745369
    Abstract: Disclosed are apparatus and techniques for managing power in a memory system having a controller and nonvolatile memory array. In one embodiment, prior to execution of each command with respect to the memory array, a request for execution of such command is received with respect to the memory array. In response to receipt of each request for each command, execution of such command is allowed or withheld with respect to the memory array based on whether such command, together with execution of other commands, is estimated to exceed a predetermined power usage specification for the memory system.
    Type: Grant
    Filed: November 15, 2011
    Date of Patent: June 3, 2014
    Assignee: SanDisk Technologies, Inc.
    Inventors: Damian P Yurzola, Rajeev Nagabhirava, Gary J Lin, Matthew Davidson, Paul A Lassa
  • Patent number: 8700961
    Abstract: A controller communicates with a plurality of multi-chip memory packages. Each multi-chip memory package comprises a plurality of memory dies, each having a respective plurality of memory blocks, some of which are good and some of which are bad. The controller determines a number of good blocks in each memory die. Based on the determined number of good blocks in each memory die, the controller selects a memory die from each of the multi-chip memory packages to access in parallel, wherein the selected memory dies are not necessarily all in the same relative position in each multi-chip package. The controller then creates a metablock from a set of good blocks from each of the selected memory dies, wherein a maximum number of metablocks that can be created across the selected memory dies is determined by a lowest number of good blocks in the selected memory dies.
    Type: Grant
    Filed: December 20, 2011
    Date of Patent: April 15, 2014
    Assignee: SanDisk Technologies Inc.
    Inventors: Paul A. Lassa, Alan W. Sinclair
  • 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: 8558566
    Abstract: A multi-interface integrated circuit in which, during the chip's lifetime in use, only one interface is active at a time. However, special test logic powers up all of the on-chip interface modules at once, so that a complete test cycle can be performed. All of the interfaces are exercised in one test program. Since some pads are inactive in some interface modes, mask bits are used to select which pads are monitored during which test cycles.
    Type: Grant
    Filed: April 18, 2011
    Date of Patent: October 15, 2013
    Assignee: SanDisk Technologies Inc.
    Inventors: Po-Shen Lai, Paul A. Lassa, Paul C. Paternoster
  • Publication number: 20130265825
    Abstract: In a storage device such as a solid state disk (SSD), a central controller communicates with a plurality of multi-chip memory packages. Each multi-chip memory package comprises a plurality of memory dies and a local processor, wherein the plurality of memory dies includes different memory tiers. The central controller may handle management of the virtual address space while the local processor in each MCP manages the storage of data within memory tiers in the memory dies of its respective MCP.
    Type: Application
    Filed: April 10, 2012
    Publication date: October 10, 2013
    Inventor: Paul A. Lassa
  • Publication number: 20130173842
    Abstract: A method and system are disclosed for controlling the storage of data in a storage device to reduce fragmentation. The method may include a controller of a storage device receiving data for storage in non-volatile memory and determining if a threshold amount of data has been received. When the threshold amount of data is received, the non-volatile memory is scanned for sequentially numbered logical groups of data previously written in noncontiguous locations in the non-volatile memory. When a threshold amount of such sequentially numbered logical groups is found, the controller re-writes the sequentially numbered logical groups of data contiguously into a new block. The system may include a storage device with a controller configured to perform the method noted above, where the thresholds for scanning the memory for fragmented data and removing fragmentation by re-writing the fragmented data into new blocks may be fixed or variable.
    Type: Application
    Filed: December 28, 2011
    Publication date: July 4, 2013
    Inventors: King Ying Ng, Marielle Bundukin, Paul A. Lassa, Sergey A. Gorobets, Liam Parker
  • 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