Patents by Inventor David Nellans

David Nellans 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: 11880261
    Abstract: A system, method, and apparatus of power management for computing systems are included herein that optimize individual frequencies of components of the computing systems using machine learning. The computing systems can be tightly integrated systems that consider an overall operating budget that is shared between the components of the computing system while adjusting the frequencies of the individual components. An example of an automated method of power management includes: (1) learning, using a power management (PM) agent, frequency settings for different components of a computing system during execution of a repetitive application, and (2) adjusting the frequency settings of the different components using the PM agent, wherein the adjusting is based on the repetitive application and one or more limitations corresponding to a shared operating budget for the computing system.
    Type: Grant
    Filed: March 31, 2022
    Date of Patent: January 23, 2024
    Assignee: NVIDIA Corporation
    Inventors: Evgeny Bolotin, Yaosheng Fu, Zi Yan, Gal Dalal, Shie Mannor, David Nellans
  • Publication number: 20230137205
    Abstract: Introduced herein is a technique that uses ML to autonomously find a cache management policy that achieves an optimal execution of a given workload of an application. Leveraging ML such as reinforcement learning, the technique trains an agent in an ML environment over multiple episodes of a stabilization process. For each time step in these training episodes, the agent executes the application while making an incremental change to the current policy, i.e., cache-residency statuses of memory address space associated with the workload, until the application can be executed at a stable level. The stable level of execution, for example, can be indicated by performance variations, such as standard deviations, between a certain number of neighboring measurement periods remaining within a certain threshold. The agent, who has been trained in the training episodes, infers the final cache management policy during the final, inferring episode.
    Type: Application
    Filed: October 29, 2021
    Publication date: May 4, 2023
    Inventors: Yaosheng Fu, Shie Mannor, Evgeny Bolotin, David Nellans, Gal Dalal
  • Patent number: 11625279
    Abstract: In general, an application executes on a compute unit, such as a central processing unit (CPU) or graphics processing unit (GPU), to perform some function(s). In some circumstances, improved performance of an application, such as a graphics application, may be provided by executing the application across multiple compute units. However, when using multiple compute units in this manner, synchronization must be provided between the compute units. Synchronization, including the sharing of the data, is typically accomplished through memory. While a shared memory may cause bottlenecks, employing local memory for each compute unit may itself require synchronization (coherence) which can be costly in terms of resources, delay, etc. The present disclosure provides read-write page replication for multiple compute units that avoids the traditional challenges associated with coherence.
    Type: Grant
    Filed: February 11, 2020
    Date of Patent: April 11, 2023
    Assignee: NVIDIA CORPORATION
    Inventors: Daniel Lustig, Oreste Villa, David Nellans
  • Patent number: 11609879
    Abstract: In various embodiments, a parallel processor includes a parallel processor module implemented within a first die and a memory system module implemented within a second die. The memory system module is coupled to the parallel processor module via an on-package link. The parallel processor module includes multiple processor cores and multiple cache memories. The memory system module includes a memory controller for accessing a DRAM. Advantageously, the performance of the parallel processor module can be effectively tailored for memory bandwidth demands that typify one or more application domains via the memory system module.
    Type: Grant
    Filed: July 1, 2021
    Date of Patent: March 21, 2023
    Assignee: NVIDIA Corporation
    Inventors: Yaosheng Fu, Evgeny Bolotin, Niladrish Chatterjee, Stephen William Keckler, David Nellans
  • Publication number: 20230079978
    Abstract: A system, method, and apparatus of power management for computing systems are included herein that optimize individual frequencies of components of the computing systems using machine learning. The computing systems can be tightly integrated systems that consider an overall operating budget that is shared between the components of the computing system while adjusting the frequencies of the individual components. An example of an automated method of power management includes: (1) learning, using a power management (PM) agent, frequency settings for different components of a computing system during execution of a repetitive application, and (2) adjusting the frequency settings of the different components using the PM agent, wherein the adjusting is based on the repetitive application and one or more limitations corresponding to a shared operating budget for the computing system.
    Type: Application
    Filed: March 31, 2022
    Publication date: March 16, 2023
    Inventors: Evgeny Bolotin, Yaosheng Fu, Zi Yan, Gal Dalal, Shie Mannor, David Nellans
  • Publication number: 20220276984
    Abstract: In various embodiments, a parallel processor includes a parallel processor module implemented within a first die and a memory system module implemented within a second die. The memory system module is coupled to the parallel processor module via an on-package link. The parallel processor module includes multiple processor cores and multiple cache memories. The memory system module includes a memory controller for accessing a DRAM. Advantageously, the performance of the parallel processor module can be effectively tailored for memory bandwidth demands that typify one or more application domains via the memory system module.
    Type: Application
    Filed: July 1, 2021
    Publication date: September 1, 2022
    Inventors: Yaosheng FU, Evgeny BOLOTIN, Niladrish CHATTERJEE, Stephen William KECKLER, David NELLANS
  • Publication number: 20210248014
    Abstract: In general, an application executes on a compute unit, such as a central processing unit (CPU) or graphics processing unit (GPU), to perform some function(s). In some circumstances, improved performance of an application, such as a graphics application, may be provided by executing the application across multiple compute units. However, when using multiple compute units in this manner, synchronization must be provided between the compute units. Synchronization, including the sharing of the data, is typically accomplished through memory. While a shared memory may cause bottlenecks, employing local memory for each compute unit may itself require synchronization (coherence) which can be costly in terms of resources, delay, etc. The present disclosure provides read-write page replication for multiple compute units that avoids the traditional challenges associated with coherence.
    Type: Application
    Filed: February 11, 2020
    Publication date: August 12, 2021
    Inventors: Daniel Lustig, Oreste Villa, David Nellans
  • Patent number: 10489295
    Abstract: A system includes a data store and a memory cache subsystem. A method for pre-fetching data from the data store for the cache includes determining a performance characteristic of a data store. The method also includes identifying a pre-fetch policy configured to utilize the determined performance characteristic of the data store. The method also includes pre-fetching data stored in the data store by copying data from the data store to the cache according to the pre-fetch policy identified to utilize the determined performance characteristic of the data store.
    Type: Grant
    Filed: March 14, 2013
    Date of Patent: November 26, 2019
    Assignee: SANDISK TECHNOLOGIES LLC
    Inventors: David Nellans, Torben Mathiasen, David Flynn, Nisha Talagala
  • Patent number: 10318324
    Abstract: Techniques are disclosed relating to enabling virtual machines to access data on a physical recording medium. In one embodiment, a computing system provides a logical address space for a storage device to an allocation agent that is executable to allocate the logical address space to a plurality of virtual machines having access to the storage device. In such an embodiment, the logical address space is larger than a physical address space of the storage device. The computing system may then process a storage request from one of the plurality of virtual machines. In some embodiments, the allocation agent is a hypervisor executing on the computing system. In some embodiments, the computing system tracks utilizations of the storage device by the plurality of virtual machines, and based on the utilizations, enforces a quality of service level associated with one or more of the plurality of virtual machines.
    Type: Grant
    Filed: July 13, 2017
    Date of Patent: June 11, 2019
    Assignee: SANDISK TECHNOLOGIES LLC
    Inventors: Neil Carson, Nisha Talagala, Mark Brinicombe, Robert Wipfel, Anirudh Badam, David Nellans
  • Publication number: 20190073296
    Abstract: Data is stored on a non-volatile storage media in a sequential, log-based format. The formatted data defines an ordered sequence of storage operations performed on the non-volatile storage media. A storage layer maintains volatile metadata, which may include a forward index associating logical identifiers with respective physical storage units on the non-volatile storage media. The volatile metadata may be reconstructed from the ordered sequence of storage operations. Persistent notes may be used to maintain consistency between the volatile metadata and the contents of the non-volatile storage media. Persistent notes may identify data that does not need to be retained on the non-volatile storage media and/or is no longer valid.
    Type: Application
    Filed: November 1, 2018
    Publication date: March 7, 2019
    Inventors: David Atkisson, David Nellans, David Flynn, Jens Axboe, Michael Zappe
  • Patent number: 10133663
    Abstract: Data is stored on a non-volatile storage media in a sequential, log-based format. The formatted data defines an ordered sequence of storage operations performed on the non-volatile storage media. A storage layer maintains volatile metadata, which may include a forward index associating logical identifiers with respective physical storage units on the non-volatile storage media. The volatile metadata may be reconstructed from the ordered sequence of storage operations. Persistent notes may be used to maintain consistency between the volatile metadata and the contents of the non-volatile storage media. Persistent notes may identify data that does not need to be retained on the non-volatile storage media and/or is no longer valid.
    Type: Grant
    Filed: October 3, 2013
    Date of Patent: November 20, 2018
    Assignee: Longitude Enterprise Flash S.A.R.L.
    Inventors: David Atkisson, David Nellans, David Flynn, Jens Axboe, Michael Zappe
  • Patent number: 10102075
    Abstract: A storage layer of a non-volatile storage device may be configured to provide key-value storage services. Key conflicts may be resolved by modifying the logical interface of data stored on the non-volatile storage device. Resolving a key conflict may comprise identifying an alternative key and implementing one or more range move operations configured to bind the stored data to the alternative key. The move operations may be implemented without relocating the data on the non-volatile storage device.
    Type: Grant
    Filed: March 24, 2016
    Date of Patent: October 16, 2018
    Assignee: SanDisk Technologies LLC
    Inventors: Nisha Talagala, David Flynn, Swaminathan Sundararaman, Sriram Subramanian, David Nellans, Robert Wipfel, John Strasser
  • Patent number: 10013354
    Abstract: A storage layer (SL) for a non-volatile storage device presents a logical address space of a non-volatile storage device to storage clients. Storage metadata assigns logical identifiers in the logical address space to physical storage locations on the non-volatile storage device. Data is stored on the non-volatile storage device in a sequential log-based format. Data on the non-volatile storage device comprises an event log of the storage operations performed on the non-volatile storage device. The SL presents an interface for requesting atomic storage operations. Previous versions of data overwritten by the atomic storage device are maintained until the atomic storage operation is successfully completed. Data pertaining to a failed atomic storage operation may be identified using a persistent metadata flag stored with the data on the non-volatile storage device. Data pertaining to failed or incomplete atomic storage requests may be invalidated and removed from the non-volatile storage device.
    Type: Grant
    Filed: July 28, 2011
    Date of Patent: July 3, 2018
    Assignee: SANDISK TECHNOLOGIES LLC
    Inventors: David Flynn, Stephan Uphoff, Xiangyong Ouyang, David Nellans, Robert Wipfel
  • Patent number: 9983993
    Abstract: An apparatus, system, and method are disclosed for implementing conditional storage operations. Storage clients access and allocate portions of an address space of a non-volatile storage device. A conditional storage request is provided, which causes data to be stored to the non-volatile storage device on the condition that the address space of the device can satisfy the entire request. If only a portion of the request can be satisfied, the conditional storage request may be deferred or fail. An atomic storage request is provided, which may comprise one or more storage operations. The atomic storage request succeeds if all of the one or more storage operations are complete successfully. If one or more of the storage operations fails, the atomic storage request is invalidated, which may comprise deallocating logical identifiers of the request and/or invalidating data on the non-volatile storage device pertaining to the request.
    Type: Grant
    Filed: January 13, 2016
    Date of Patent: May 29, 2018
    Assignee: SanDisk Technologies LLC
    Inventors: David Flynn, David Nellans, Xiangyong Ouyang
  • Patent number: 9842128
    Abstract: An atomic storage module may be configured to implement atomic storage operation directed to a first set of identifiers in reference to a second, different set of identifiers. In response to completing the atomic storage operation, the atomic storage module may move the corresponding data to the first, target set of identifiers. The move operation may comprise modifying a logical interface of the data. The move operation may further include storing persistent metadata configured to bind the data to the first set of identifiers.
    Type: Grant
    Filed: June 24, 2014
    Date of Patent: December 12, 2017
    Assignee: SanDisk Technologies LLC
    Inventors: Nisha Talagala, David Flynn, Swaminathan Sundararaman, Sriram Subramanian, David Nellans, Robert Wipfel, John Strasser
  • Publication number: 20170315832
    Abstract: Techniques are disclosed relating to enabling virtual machines to access data on a physical recording medium. In one embodiment, a computing system provides a logical address space for a storage device to an allocation agent that is executable to allocate the logical address space to a plurality of virtual machines having access to the storage device. In such an embodiment, the logical address space is larger than a physical address space of the storage device. The computing system may then process a storage request from one of the plurality of virtual machines. In some embodiments, the allocation agent is a hypervisor executing on the computing system. In some embodiments, the computing system tracks utilizations of the storage device by the plurality of virtual machines, and based on the utilizations, enforces a quality of service level associated with one or more of the plurality of virtual machines.
    Type: Application
    Filed: July 13, 2017
    Publication date: November 2, 2017
    Inventors: Neil Carson, Nisha Talagala, Mark Brinicombe, Robert Wipfel, Anirudh Badam, David Nellans
  • Patent number: 9720717
    Abstract: Techniques are disclosed relating to enabling virtual machines to access data on a physical recording medium. In one embodiment, a computing system provides a logical address space for a storage device to an allocation agent that is executable to allocate the logical address space to a plurality of virtual machines having access to the storage device. In such an embodiment, the logical address space is larger than a physical address space of the storage device. The computing system may then process a storage request from one of the plurality of virtual machines. In some embodiments, the allocation agent is a hypervisor executing on the computing system. In some embodiments, the computing system tracks utilizations of the storage device by the plurality of virtual machines, and based on the utilizations, enforces a quality of service level associated with one or more of the plurality of virtual machines.
    Type: Grant
    Filed: March 14, 2013
    Date of Patent: August 1, 2017
    Assignee: SanDisk Technologies LLC
    Inventors: Neil Carson, Nisha Talagala, Mark Brinicombe, Robert Wipfel, Anirudh Badam, David Nellans
  • Patent number: 9690694
    Abstract: An apparatus, system, and method are disclosed for storage address translation. The method includes storing, in volatile memory, a plurality of logical-to-physical mapping entries for a non-volatile recording device. The method includes persisting a logical-to-physical mapping entry from the volatile memory to recording media of the non-volatile recording device. The logical-to-physical mapping entry may be selected for persisting based on a mapping policy indicated by a client. The method includes loading the logical-to-physical mapping entry from the recording media of the non-volatile recording device into the volatile memory in response to a storage request associated with the logical-to-physical mapping entry.
    Type: Grant
    Filed: September 27, 2012
    Date of Patent: June 27, 2017
    Assignee: SanDisk Technologies, LLC
    Inventors: David Nellans, Jens Axboe, Nick Piggin
  • Patent number: 9678874
    Abstract: An apparatus, system, and method are disclosed for managing eviction of data. A cache write module stores data on a non-volatile storage device sequentially using a log-based storage structure having a head region and a tail region. A direct cache module caches data on the non-volatile storage device using the log-based storage structure. The data is associated with storage operations between a host and a backing store storage device. An eviction module evicts data of at least one region in succession from the log-based storage structure starting with the tail region and progressing toward the head region.
    Type: Grant
    Filed: July 8, 2015
    Date of Patent: June 13, 2017
    Assignee: SanDisk Technologies LLC
    Inventors: David Nellans, David Atkisson, Jim Peterson, Jeremy Garff, Michael Zappe
  • Patent number: 9575882
    Abstract: Apparatuses, systems, methods, and computer program products are disclosed for a memory controller. An apparatus includes a volatile memory medium located on a memory module. An apparatus includes a non-volatile memory medium located on a memory module. A memory controller is located on a memory module. A memory controller may be configured to provide access to at least a non-volatile memory medium over a direct wire interface with a processor.
    Type: Grant
    Filed: September 25, 2015
    Date of Patent: February 21, 2017
    Assignee: SANDISK TECHNOLOGIES LLC
    Inventors: David Nellans, Robert Wipfel