Abstract:
A memory system and method for power-based operation scheduling are provided. In one embodiment, a memory system begins to perform a plurality of operations in an order in which they are stored in a queue. Before performing a next operation in the queue, the memory system determines whether the power consumed by performing the next operation would exceed a maximum power threshold. In response to determining that the power consumed would exceed the maximum power threshold, the memory system selects an operation out of order from the queue to perform instead, so the maximum power threshold would not be exceeded. Other embodiments are provided.
Abstract:
A method and system are disclosed for improved block erase cycle life prediction and block management in a non-volatile memory. The method includes the storage device tracking information relating to a first erase cycle count at which the block erase time exceeded a predetermined threshold relative to a first erase cycle at which this occurred in other blocks. Blocks having a later relative erase cycle at which the erase time threshold is exceeded are assumed to have a greater erase cycle life than those that need to exceed the erase time threshold at an earlier erase cycle. This information is used to adjust wear leveling in the form of free block selection, garbage collection block selection and other block management processes. Alternatively or in combination, the predicted erase cycle life information is used to adjust program and/or erase parameters such as erase voltage and time.
Abstract:
A storage module and method for scheduling memory operations for peak-power management and balancing are provided. In one embodiment, a storage module maintains a count of time slots over a period of time. The period of time corresponds to an amount of time between periodic power peaks of a memory operation. For each time slot, the storage module determines whether to commence a memory operation on one or more of the plurality of memory dies based on whether a power peak generated in the time slot by the memory operation would exceed a power threshold allowed for the time slot. Other embodiments are provided.
Abstract:
A data storage device includes a write cache, a non-volatile memory, and a controller coupled to the write cache and to the non-volatile memory. The controller is configured to, responsive to receiving a command to flush particular data from the write cache, attempt to fill a write block of data using the particular data and pending data obtained after receipt of the command.
Abstract:
Methods, systems, and computer readable media for providing a flexible host memory buffer are disclosed. One method includes allocating an amount of host memory as a host memory buffer accessible by a solid state drive (SSD) as a cache for SSD data. The method further includes caching data from the solid state drive in the host memory buffer. The method further includes monitoring utilization of the host memory buffer. The method further includes dynamically increasing or decreasing the amount of host memory allocated for the host memory buffer based on the utilization.
Abstract:
A memory system and method for reducing peak current consumption. In one embodiment, a method is provided that is performed in a memory system comprising a memory with a plurality of blocks, wherein each block has a peak current consumption. In this method, a plurality of metablocks is created, wherein each metablock is created by grouping together blocks with complementary peak current consumption. Next, the metablocks are programmed. Because each of the metablocks has blocks with complementary peak current consumption, each of the metablocks has similar peak current consumption when programmed. Other embodiments are provided.
Abstract:
A memory system and method are provided for selecting memory dies for memory access operations based on memory die temperatures. The memory system has a plurality of memory dies, where each memory die has its own temperature sensor. In one embodiment, the memory system selects which memory dies to perform memory access operations in based on the temperatures of the memory dies. In another embodiment, a controller of the memory system selects which memory dies to thermal throttle memory access operations in based on the detected temperatures. In yet another embodiment, a temperature-aware media management layer module of the memory 1 system routes a memory access operation from a first memory die to a second memory die based on the temperatures of the memory dies.
Abstract:
A storage module and method are provided for optimized power utilization. In one embodiment, a storage module is provided comprising a storage controller and a plurality of memory dies in communication with the storage controller. The storage controller determines if sufficient power is available to perform an operation on one of the memory dies. In response to determining that sufficient power is not available to perform the operation on one of the memory dies, the storage controller determines if suspending an in-progress operation on another one of the memory dies would provide enough power to perform the operation. In response to determining that suspending the in-progress operation would provide enough power to perform the operation, the storage controller suspends the in-progress operation and performs the operation. Instead of suspending an in-progress operation, the storage controller can instead use a reduced power version of the operation or the in-progress operation.
Abstract:
Methods, systems, and computer readable media for providing a flexible host memory buffer are disclosed. One method includes allocating an amount of host memory as a host memory buffer accessible by a solid state drive (SSD) as a cache for SSD data. The method further includes caching data from the solid state drive in the host memory buffer. The method further includes monitoring utilization of the host memory buffer. The method further includes dynamically increasing or decreasing the amount of host memory allocated for the host memory buffer based on the utilization.