Patents by Inventor Nicholas James Thomas

Nicholas James Thomas 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: 10423349
    Abstract: A method that uses a reduced logical and physical address field size for storing data having steps of receiving a set of data to write to a solid state drive, determining a logical address to the set of data, setting a logical offset of the set of data to be equal to a physical block offset modulo of the data and writing the set of data to the solid state drive in locations on solid state drive that accept a size of the address of the set of data is disclosed.
    Type: Grant
    Filed: August 23, 2017
    Date of Patent: September 24, 2019
    Assignee: Western Digital Technologies, Inc.
    Inventor: Nicholas James Thomas
  • Patent number: 10360155
    Abstract: The disclosure relates in some aspects to managing multi-tier memory, such as multi-tier NVM. Data that is originally written to a first tier (e.g., a fast tier) may be subsequently copied to a second tier (e.g., a slow tier). The data is temporarily left in the first tier until the space is needed for a subsequent write operation. Thus, for a period of time, a read operation is able to read the data from the first tier (e.g., the fast tier) instead of the second tier (e.g., the slow tier), thereby improving read performance. The disclosure relates in some aspects to a memory mapping scheme that enables a read operation to readily determine that data remains in the first tier and locate the data in that tier. Moreover, the scheme enables efficient reconfiguration of the mapping when the data in the first tier is erased.
    Type: Grant
    Filed: April 5, 2018
    Date of Patent: July 23, 2019
    Assignee: WESTERN DIGITAL TECHNOLOGIES, INC.
    Inventors: Nicholas James Thomas, Matthew Davidson, Eran Erez
  • Publication number: 20190065094
    Abstract: A method that uses a reduced logical and physical address field size for storing data having steps of receiving a set of data to write to a solid state drive, determining a logical address to the set of data, setting a logical offset of the set of data to be equal to a physical block offset modulo of the data and writing the set of data to the solid state drive in locations on solid state drive that accept a size of the address of the set of data is disclosed.
    Type: Application
    Filed: August 23, 2017
    Publication date: February 28, 2019
    Inventor: Nicholas James THOMAS
  • Patent number: 9959071
    Abstract: Methods and systems for managing data storage in a non-volatile memory system are disclosed. The method may include receiving data, determining a data classification for the received data from a predetermined plurality of data classifications, writing the received data to an open block having only data of a same data classification as the determined data classification and, upon completely programming the open block, associating an epoch indicator where the epoch indicator defines a time period within which the block was created. When a block reclaim trigger is detected, only data within a same data classification and epoch may be reclaimed. An incrementing epoch indicator identifies a predetermined time granularity and is assigned to data such that earlier data and newer data are distinguishable. A system to implement the method may include a non-volatile memory and a controller configured to track and apply epoch and data-type classification information for data.
    Type: Grant
    Filed: March 31, 2016
    Date of Patent: May 1, 2018
    Assignee: SanDisk Technologies LLC
    Inventors: Nicholas James Thomas, Joseph Meza
  • Patent number: 9921956
    Abstract: A system and method is disclosed for tracking block mapping overhead in a non-volatile memory. The system may include a non-volatile memory having multiple memory blocks and a processor configured to track a block level mapping overhead for closed blocks of the multiple memory blocks. The processor may be configured to track predetermined logical address ranges within which data written to a block fall, and then store the sum of the number of different logical address ranges for each respective block as a block address entropy metric. The method may include the processor using the block address entropy metric to select source blocks for garbage collection with a lower block address entropy metric or to adjust other operational characteristics such as data routing within the non-volatile memory system based on average block address entropy for a group of blocks.
    Type: Grant
    Filed: July 20, 2016
    Date of Patent: March 20, 2018
    Assignee: SanDisk Technologies LLC
    Inventors: Nicholas James Thomas, Oleg Kragel, Michael Anthony Moser
  • Patent number: 9910773
    Abstract: A system and method for compacting data in a non-volatile memory system that may reduce the need for control data updates is described. The method may include copying valid data from a source block to a destination block, and also writing new host data to the destination block, such that the offset position in the destination block of the copied data is the same as in the source block and fewer mapping table updates are needed for the copied data. The system may include a non-volatile memory system with a coarse granularity mapping table and a fine granularity mapping table where a controller in the non-volatile memory system is configured to only update the coarse granularity mapping table for compacted data written to a new block, but is configured to update both the fine and coarse granularity mapping tables for new host data written to the new block.
    Type: Grant
    Filed: March 29, 2016
    Date of Patent: March 6, 2018
    Assignee: SanDisk Technologies LLC
    Inventor: Nicholas James Thomas
  • Publication number: 20180024920
    Abstract: A system and method is disclosed for tracking block mapping overhead in a non-volatile memory. The system may include a non-volatile memory having multiple memory blocks and a processor configured to track a block level mapping overhead for closed blocks of the multiple memory blocks. The processor may be configured to track predetermined logical address ranges within which data written to a block fall, and then store the sum of the number of different logical address ranges for each respective block as a block address entropy metric. The method may include the processor using the block address entropy metric to select source blocks for garbage collection with a lower block address entropy metric or to adjust other operational characteristics such as data routing within the non-volatile memory system based on average block address entropy for a group of blocks.
    Type: Application
    Filed: July 20, 2016
    Publication date: January 25, 2018
    Applicant: SanDisk Technologies LLC
    Inventors: Nicholas James Thomas, Oleg Kragel, Michael Anthony Moser
  • Publication number: 20170286291
    Abstract: A system and method for compacting data in a non-volatile memory system that may reduce the need for control data updates is described. The method may include copying valid data from a source block to a destination block, and also writing new host data to the destination block, such that the offset position in the destination block of the copied data is the same as in the source block and fewer mapping table updates are needed for the copied data. The system may include a non-volatile memory system with a coarse granularity mapping table and a fine granularity mapping table where a controller in the non-volatile memory system is configured to only update the coarse granularity mapping table for compacted data written to a new block, but is configured to update both the fine and coarse granularity mapping tables for new host data written to the new block.
    Type: Application
    Filed: March 29, 2016
    Publication date: October 5, 2017
    Applicant: SanDisk Technologies Inc.
    Inventor: Nicholas James Thomas
  • Publication number: 20170285948
    Abstract: Methods and systems for managing data storage in a non-volatile memory system are disclosed. The method may include receiving data, determining a data classification for the received data from a predetermined plurality of data classifications, writing the received data to an open block having only data of a same data classification as the determined data classification and, upon completely programming the open block, associating an epoch indicator where the epoch indicator defines a time period within which the block was created. When a block reclaim trigger is detected, only data within a same data classification and epoch may be reclaimed. An incrementing epoch indicator identifies a predetermined time granularity and is assigned to data such that earlier data and newer data are distinguishable. A system to implement the method may include a non-volatile memory and a controller configured to track and apply epoch and data-type classification information for data.
    Type: Application
    Filed: March 31, 2016
    Publication date: October 5, 2017
    Applicant: SanDisk Technologies Inc.
    Inventors: Nicholas James Thomas, Joseph Meza
  • Patent number: 9734050
    Abstract: A multi-layer memory and method for performing background maintenance operations are disclosed. The memory includes a plurality of flash memory die having multiple layers, where each layer is made up of flash memory cells having a greater bit per cell storage capacity than then prior layer and each layer may have a plurality of partitions for different data types. A controller managing the flash memory die is configured to identify an idle die and determine if a layer in the die satisfies a background maintenance criterion. Upon identifying a layer satisfying the background maintenance criterion, the valid data from reclaim blocks in the layer is relocated into a relocation block in the same layer until the relocation block is filled and the background maintenance cycle ends.
    Type: Grant
    Filed: March 14, 2013
    Date of Patent: August 15, 2017
    Assignee: SanDisk Technologies LLC
    Inventors: Alan Welsh Sinclair, Nicholas James Thomas, Barry Wright
  • Patent number: 9734911
    Abstract: A mass storage memory system and method of operation are disclosed. The memory system includes an interface adapted to receive data from a host system, a plurality of memory die and a controller, where the controller is configured to read or write data synchronously across a plurality of die connected to different channels based on a first command, and to read or write data asynchronously and independently in different die in the same channel based on a second command. The controller may program data in a maximum unit of programming for a single memory die. The controller may be a plurality of controllers each configured to select which die of an exclusive subset of die to write data based on characteristics of the die in the subset. The plurality of die may be multi-layer, and multi-partition per layer, flash memory die.
    Type: Grant
    Filed: March 14, 2013
    Date of Patent: August 15, 2017
    Assignee: SanDisk Technologies LLC
    Inventors: Alan Welsh Sinclair, Nicholas James Thomas, Barry Wright
  • Patent number: 9666285
    Abstract: A mass storage memory system and method of operation are disclosed. The memory system includes an interface adapted to receive data from a host system, a plurality of memory die and a controller, where the controller is configured to read or write data synchronously across a plurality of die connected to different channels based on a first command, and to read or write data asynchronously and independently in different die in the same channel based on a second command. The controller may program data in a maximum unit of programming for a single memory die. The controller may be a plurality of controllers each configured to select which die of an exclusive subset of die to write data based on characteristics of the die in the subset. The plurality of die may be multi-layer, and multi-partition per layer, flash memory die.
    Type: Grant
    Filed: March 14, 2013
    Date of Patent: May 30, 2017
    Assignee: SanDisk Technologies LLC
    Inventors: Alan Welsh Sinclair, Nicholas James Thomas, Barry Wright
  • Patent number: 9626312
    Abstract: A data storage device includes a controller coupled to multiple groups of data storage dies, such as a meta-meta-die. The controller is configured to write data to a first meta-block if a storage size associated with a first group of data storage dies associated with a first priority is greater than or equal to a threshold storage size. The first meta-block includes a respective block of each data storage die of the first group. The controller is further configured to write the data to a second meta-block if the storage size associated with the first group is less than the threshold storage size. The second meta-block includes a respective block of each data storage die of the first group and further includes a respective block of each data storage die of the second group. Each data storage die of the second group is associated with a second priority.
    Type: Grant
    Filed: July 17, 2015
    Date of Patent: April 18, 2017
    Assignee: SANDISK TECHNOLOGIES LLC
    Inventors: Marina Frid, Igor Genshaft, Nicholas James Thomas
  • Publication number: 20170017588
    Abstract: A data storage device includes a controller coupled to multiple groups of data storage dies, such as a meta-meta-die. The controller is configured to write data to a first meta-block if a storage size associated with a first group of data storage dies associated with a first priority is greater than or equal to a threshold storage size. The first meta-block includes a respective block of each data storage die of the first group. The controller is further configured to write the data to a second meta-block if the storage size associated with the first group is less than the threshold storage size. The second meta-block includes a respective block of each data storage die of the first group and further includes a respective block of each data storage die of the second group. Each data storage die of the second group is associated with a second priority.
    Type: Application
    Filed: July 17, 2015
    Publication date: January 19, 2017
    Inventors: MARINA FRID, IGOR GENSHAFT, NICHOLAS JAMES THOMAS
  • Publication number: 20160378379
    Abstract: A multi-layer memory and method for operation is disclosed. The memory includes multiple layers, where each layer includes flash memory cells having a greater bit per cell capacity than then prior layer and each layer may include a plurality of partitions having blocks exclusively associated with a particular data type. The method may include the steps of directing host data directly into a particular partition of a particular layer of the multi-layer memory upon receipt depending on a type of the data. The method may also include copying data within the same partition in a respective layer in a data relocation operation to generate more free blocks of memory so that data preferably stays within each layer and in the same partition, as well as transferring data from one layer to the next higher bit per cell layer within a same partition when layer transfer criteria are met.
    Type: Application
    Filed: September 9, 2016
    Publication date: December 29, 2016
    Applicant: SanDisk Technologies LLC
    Inventors: Alan Welsh Sinclair, Nicholas James Thomas, Barry Wright
  • Patent number: 9465731
    Abstract: A multi-layer memory and method for operation is disclosed. The memory includes multiple layers, where each layer includes flash memory cells having a greater bit per cell capacity than the prior layer and each layer may include a plurality of partitions having blocks exclusively associated with a particular data type. The method may include directing host data directly into a particular partition of a particular layer of the multi-layer memory upon receipt depending on a type of the data. The method may also include copying data within the same partition in a respective layer in a data relocation operation to generate more free blocks of memory so that data preferably stays within each layer and in the same partition, as well as transferring data from one layer to the next higher bit per cell layer within a same partition when layer transfer criteria are met.
    Type: Grant
    Filed: March 14, 2013
    Date of Patent: October 11, 2016
    Assignee: SanDisk Technologies LLC
    Inventors: Alan Welsh Sinclair, Nicholas James Thomas, Barry Wright
  • Patent number: 9383927
    Abstract: A method and system are disclosed for handling logical-to-physical mapping in a storage device. The method includes the storage device storing in fast access memory, such as DRAM, only a fixed-size subset of the primary mapping table in non-volatile memory, along with contiguity information of physical addresses for logical address not in the subset that are adjacent to the logical addresses in the subset. The system includes a storage device having volatile memory, non-volatile memory and a controller in communication with the volatile and non-volatile memory that is configured to carry out the method noted above.
    Type: Grant
    Filed: May 28, 2014
    Date of Patent: July 5, 2016
    Assignee: SandDisk Technologies LLC
    Inventor: Nicholas James Thomas
  • Patent number: 9348746
    Abstract: A multi-later memory and method for operation is disclosed. The memory includes at least one flash memory die having multiple layers and a controller configured to execute block reclaim operations in a layer of the flash memory die until a net gain of at least one additional free block has been made in the layer. The method may include relocating data from reclaim blocks to relocation blocks within the same layer, or within a same partition in the same layer until a net gain of one free block has been achieved and an integer number of relocation blocks has been filled with relocated data. The method may also include moving data from reclaim blocks in a first layer into destination blocks in a second layer until a net gain of at least one free block has been achieved in the first layer.
    Type: Grant
    Filed: March 14, 2013
    Date of Patent: May 24, 2016
    Assignee: SanDisk Technologies
    Inventors: Alan Welsh Sinclair, Nicholas James Thomas, Barry Wright
  • Patent number: 9336133
    Abstract: A system and method for managing program cycles in a multi-layer memory are disclosed. The method includes a controller receiving a request to program data from a host and, in advance of programming data associated with the request, determining a program cycle for programming the data associated with the request. The programming cycle may be a set of a host data write programming operation and any maintenance programming operations on an amount of data already programmed in the plurality of memory layers that is necessary to provide free memory capacity for a subsequent request to program data from the host. The controller programs the data associated with the host request, and the amount of data to be programmed in maintenance operations, in predetermined programming units according to the determined program cycle.
    Type: Grant
    Filed: March 14, 2013
    Date of Patent: May 10, 2016
    Assignee: SanDisk Technologies Inc.
    Inventors: Alan Welsh Sinclair, Nicholas James Thomas, Barry Wright
  • Patent number: 9223693
    Abstract: A flash memory system having unequal number of memory die and method for operation are disclosed. The memory system includes a plurality of flash memory die distributed unevenly among different control lines, such that there are an unequal number of die between control lines. A total physical capacity of the plurality of flash memory die is greater than a total logical capacity such that the memory system is over provisioned with physical capacity. A logical address splitter directs data received from a host system and associated with host logical block addresses such that each control line only receives data associated with predetermined host logical block address ranges and directs the data such that a ratio of physical capacity to logical capacity is equal among each of the control lines, regardless of the different number of die and associated different physical capacity per control line.
    Type: Grant
    Filed: March 14, 2013
    Date of Patent: December 29, 2015
    Assignee: SanDisk Technologies Inc.
    Inventors: Alan Welsh Sinclair, Nicholas James Thomas, Barry Wright