Non-volatile storage system with integrated compute engine and optimized use of local fast memory
AssigneeWestern Digital Technologies, Inc.
InventorsPankaj Mehra, Vidyabhushan Mohan
Life of this patent
Estimating the term…
Abstract
A memory system (e.g. a solid state drive) includes one or more non-volatile memory die, a controller in communication with the memory die, a local memory connected to (or part of) the controller and a compute engine inside the memory system that is near the location of the data and can be used to perform common data manipulation operations. When the memory system receives instructions to use the compute engine to perform data manipulation operations, the local memory is reallocated such that an amount of space allocated in the local memory for logical to physical translation information is changed based on the one or more data manipulation instructions.
Claims20
A non-volatile storage system, comprising:
- a controller;
- local memory in communication with the controller;
- non-volatile memory in communication with the controller;
- and
- a compute engine in communication with the controller and the local memory, the compute engine is configured to:
- receive one or more data manipulation instructions from an entity external to the non-volatile storage system, and
- perform one or more data manipulation operations, using the local memory, on data stored in the non-volatile memory in response to the one or more data manipulation instructions;
- wherein the local memory is configured such that an amount of space allocated in the local memory for logical to physical translation information is changed based on the one or more data manipulation instructions.
A method of operating a storage system comprising persistent storage, a controller and a local memory for the controller, the method comprising:
- receiving at the controller, from a host system, data manipulation instructions including instructions for performing one or more data manipulation operations on data stored in the persistent storage;
- in response to receiving the data manipulation instructions from the host system, reallocating the local memory including reducing space in the local memory allocated to address translation by removing address translation information for addresses not accessed by the data manipulation instructions;
- in response to receiving the data manipulation instructions from the host system, performing the one or more data manipulation operations on the data stored in the persistent storage using a local compute core in the storage system and the local memory for the controller to determine a result of the one or more data manipulation operations;
- and
- conveying to the host system at least one of a completion status of the one or more data manipulation operations and the result of the one or more data manipulation operations.
A non-volatile storage system, comprising:
- a non-volatile memory package comprising non-volatile memory and a compute core;
- a local memory;
- and
- means, in communication with the local memory and the non-volatile memory package, for receiving instructions to perform data manipulation operations, causing the compute core to perform the data manipulation operations on data stored in the non-volatile memory, and for reallocating amount of space for logical to physical translation data in the local memory based on which logical addresses are used in the received instructions.
Dependencies are inferred from the claim text.