IP Library › Granted Patent US 10,592,122
Granted Patent B2
US 10,592,122 · App. 14/675,261 · Granted Mar 17, 2020

Inherent adaptive trimming

Inventors: Abhijeet Manohar (Bangalore, IN); Daniel Tuers (Kapaa, HI); Sathyanarayanan Subramanian (Bangalore, IN); Judah Gamliel Hahn (Ofra, IL)
Assignee: SANDISK TECHNOLOGIES LLC
G06F3/0613G06F3/0656G06F3/0659G06F3/0679
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,592,122
App. No.
14/675,261
Granted
Mar 17, 2020
Kind
B2
Abstract

A memory system may use adaptive trimming to control throughput and traffic from the host to/from the memory. The trimming parameters of memory may be adaptively changed based on the data rate from the host. The programming speed may be slowed in order to reduce wear and improve endurance. In particular, the data rate for the transfer of data from a data buffer to the memory (e.g. NAND flash) may be matched to the host data rate. This programming speed reduction may be triggered upon prediction of idle times in the host bus.

Claims (34)

1. A method for adaptive trimming on flash memory, the method comprising:

receiving write commands from a host;

detecting write traffic throughput from the host to a memory buffer;

detecting, by firmware, a detune ratio corresponding to the traffic throughput; and

trimming, according to at least one trim parameter, a traffic throughput from the memory buffer to the flash memory based on the detected detune ratio and based on a priority of the write commands, wherein the priority is designated by and received from the host, wherein the traffic throughput from the memory buffer to the flash memory is trimmed to be closer to the traffic throughput from the host to the memory buffer when the write commands are not a high priority, wherein the at least one trim parameter is adjusted based on a host idle time.

2. The method of claim 1 wherein the write traffic throughput from the memory buffer to the flash memory is greater than the write traffic throughput from the host to the memory buffer.

3. The method of claim 2 wherein the trimming comprises reducing the write traffic throughput from the memory buffer to the flash memory based on the write traffic throughput from the host to the memory buffer.

4. The method of claim 3 wherein the write traffic throughput from the memory buffer to the flash memory is matched to the write traffic throughput from the host to the memory buffer.

5. The method of claim 3 wherein the trimming is triggered based on predicted idle time between the write commands and is triggered when the write commands comprise flush commands.

6. The method of claim 3 wherein the write traffic throughput from the memory buffer to the flash memory device is not trimmed to be closer to the write traffic throughput from the host to the memory buffer when the priority of the write commands is high.

7. The method of claim 3 wherein the trimming is based on a priority of the write commands.

8. The method of claim 1 wherein the memory buffer comprises a random access memory that temporarily stores data to be transferred from the host to the flash memory.

9. The method of claim 1 wherein the flash memory comprises a three-dimensional (3D) memory configuration, and wherein a controller is associated with operation of and storing to the flash memory.

10. A storage device comprising:

a non-volatile memory;

a buffer for storing data to be written to the non-volatile memory;

a buffer monitor module that monitors a data transfer rate for the data to be stored at the buffer; and

a trim adjustment module that identifies future idle time from a host device providing commands to the storage device that is based on identifying a queue from multiple host side queues, and adjusts a data transfer rate from the buffer to the non-volatile memory from a first trim set to a second trim set that is based on a detune ratio detected by firmware and based on the identified future idle time, wherein the first trim set comprises a standard data transfer rate from the buffer to the non-volatile memory and the second trim set comprises a slower data transfer rate from the buffer to the non-volatile memory, further wherein data written using the second trim set is stored in a different set of blocks in the non-volatile memory from data written using the first trim set, wherein the second trim set is adjusted based on the future idle time of the host, wherein the detune ratio is detected by the firmware in response to the monitored data transfer rate to the buffer.

11. The storage device of claim 10 wherein the buffer monitor module and the trim adjustment module are part of a controller.

12. The storage device of claim 11 wherein the buffer comprises a read access memory that is coupled to the controller, further wherein the data stored in the buffer is data transferred from a host to the non-volatile memory.

13. The storage device of claim 12 wherein the non-volatile memory comprises a three-dimensional (3D) memory configuration, and wherein the controller is associated with operation of and storing to the non-volatile memory.

14. The storage device of claim 10 wherein the non-volatile memory comprises NAND flash memory.

15. The storage device of claim 14 wherein the identification of the queue from multiple host side queues is a queue most likely to have idle time.

16. The storage device of claim 15 wherein the trim adjustment module is initiated by a controller upon the identification of future idle time.

17. The storage device of claim 10 wherein the data transfer rate from the buffer to the non-volatile memory is reduced to approximate the monitored data transfer rate.

18. A memory system for improving memory endurance, the system comprising:

a flash memory module;

a staging buffer that receives data to be written to the flash memory module;

a monitor that monitors a transfer rate of data transferred to fill the staging buffer and monitors a queue for data to be written; and

a flash trim adjuster that reduces a transfer rate, according to a parameter detune ratio detected by firmware, from the staging buffer to the flash memory module based on the monitored transfer rate of the data transferred to the staging buffer and based on a future idle time identified by a power state from the host, wherein the transfer rate from the staging buffer to the flash memory module is not reduced when the queue for the data to be written includes a long queue depth, wherein the at least one trim parameter is adjusted based on the future idle time, wherein the firmware is configured to detect the detune ratio in response to the monitored transfer rate, and wherein data written at the reduced transfer rate is stored in memory blocks separate from other data.

19. The system of claim 18 further comprising:

a host that provides the data to the staging buffer, wherein the queue comprises a host queue;

further wherein the host queue is analyzed to identify potential idle times of the host based on write commands in the queue in order to trigger the flash trim adjuster.

20. The system of claim 18 wherein the flash trim adjuster matches the transfer rate to the staging buffer to the flash memory to the transfer rate.

Assignments (5)
PARTIAL RELEASE OF SECURITY INTERESTS Recorded Apr 25, 2025
From: JPMORGAN CHASE BANK, N.A., AS AGENT
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 071382/0001 →
SECURITY AGREEMENT Recorded Apr 25, 2025
From: SANDISK TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 071050/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 31, 2024
From: SANDISK TECHNOLOGIES LLC
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 069796/0423 →
CHANGE OF NAME Recorded May 25, 2016
From: SANDISK TECHNOLOGIES INC
To: SANDISK TECHNOLOGIES LLC
Reel/Frame 038812/0954 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 31, 2015
From: MANOHAR, ABHIJEET; TUERS, DANIEL; SUBRAMANIAN, SATHYANARAYANAN; HAHN, JUDAH GAMLIEL
To: SANDISK TECHNOLOGIES INC.
Reel/Frame 035304/0048 →
Continuity (1)
Related Publication 20160291883A1 · Oct 6, 2016
Cited By (2)
US 12,625,613 US 12,657,123