IP Library Granted Patent US 10,255,177
Granted Patent B2
US 10,255,177 · App. 15/289,866 · Granted Apr 9, 2019

System and method for adaptive optimization for performance in solid state drives based on read/write intensity

Inventors: Lip Vui Kan (Hillbrooks, SG); Young Hwan Jang (Gyeonggi-do, KR)
Assignee: Dell Products, LP
G06F12/0246G06F2212/1024G06F2212/214G06F2212/7201G06F2212/7203G06F2212/7204
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,255,177
App. No.
15/289,866
Granted
Apr 9, 2019
Kind
B2
Abstract

A method and information handling system and having a solid state drive (SSD) memory device including NAND flash memory with an SSD controller to execute instructions of an SSD adaptive profiling engine for RAM cache optimization and configured to cache a partial FTL table in RAM including look-up addresses corresponding to LBA segments in the NAND flash memory having access counts reflecting SSD I/O operations. The method and system further configured to determine whether the SSD memory device operation is write intensive (or read intensive) from assessment of stored read access counts and write access counts and further determine whether to load a partial FTL table into RAM cache and use remaining unoccupied RAM space for a data cache to enhance the SSD memory device operations.

Claims (52)

1. An information handling system comprising:

a solid state drive (SSD) memory device;

an SSD controller executing instructions of an SSD adaptive profiling engine for random access memory (RAM) cache optimization;

the SSD adaptive profiling engine determining whether the SSD memory device operation is write intensive from assessment of stored write accesses as recorded in logical block address (LBA) segment access counts;

a RAM cache to be used for caching purposes with the SSD memory device;

the SSD controller caching a partial flash transition layer (FTL) table in RAM when the SSD memory device operation is determined to be write intensive; and

the SSD controller establishing a cache in RAM space unoccupied by the partial FTL table to enhance SSD memory device operation.

2. The information handling system of claim 1 further comprising:

the SSD controller caching a full FTL table in RAM including look-up addresses corresponding to LBA segments in the flash memory when the SSD memory device operation is determined to not be write intensive.

3. The information handling system of claim 1 wherein a threshold level for determining write intensive operation is a ratio of greater than 50% of all incoming SSD I/O operation accesses are write accesses as recorded in the LBA segment access counts.

4. The information handling system of claim 1 wherein a threshold level for determining write intensive operation is a ratio of greater than 60% of all incoming SSD I/O operation accesses are write accesses as recorded in the LBA segment access counts.

5. The information handling system of claim 1 further comprising:

the SSD controller determining the SSD memory device operation is read intensive from assessment of stored read access counts; and

the SSD controller caching a full FTL table in RAM including look-up addresses corresponding to LBA segments in the NAND flash memory when the SSD memory device operation is determined to be read intensive.

6. The information handling system of claim 1 further comprising:

the SSD controller utilizing the RAM space unoccupied by the partial FTL table for write caching.

7. The information handling system of claim 6 further comprising:

the SSD controller receiving an incoming write I/O operation from a host;

the SSD controller writing the incoming write I/O operation data to the write cache in RAM;

the SSD controller responding to the host that the write I/O operation is complete; and

the SSD controller flushing the write cache to flash memory location corresponding to write I/O data LBA address upon determining that the SSD memory device is idle.

8. A computerized method of RAM cache optimization for a solid state drive (SSD) memory device comprising:

executing instructions, via an SSD controller, of an SSD adaptive profiling engine for RAM cache optimization to determine whether SSD memory device operation is read intensive based on tracking read access counts to LBA segment addresses as recorded in LBA segment access counts;

caching in a RAM a partial FTL table including look-up addresses corresponding to LBA segments in NAND flash memory when the SSD memory device operation is determined not to be read intensive; and

establishing a data cache in RAM space unoccupied by the partial FTL table to enhance SSD memory device responsiveness.

9. The computerized method of claim 8 further comprising:

caching in the RAM a full FTL table including look-up addresses corresponding to LBA segments in the NAND flash memory when the SSD memory device operation is determined to be read intensive.

10. The computerized method of claim 8 wherein a threshold level for determining read intensive operation is a ratio of greater than 50% of all incoming SSD I/O operation accesses are read accesses as recorded in the LBA segment access counts.

11. The computerized method of claim 8 wherein a threshold level for determining read intensive operation is a ratio of greater than 60% of all incoming SSD I/O operation accesses are read accesses as recorded in the LBA segment access counts.

12. The computerized method of claim 8 further comprising:

utilizing the RAM space unoccupied by the partial FTL table for write caching.

13. The computerized method of claim 12 further comprising:

upon receiving a next incoming write I/O operation from a host, writing the incoming write I/O operation data to the write cache in RAM;

completing the write I/O operation.

14. The information handling system of claim 13 further comprising:

upon determining that the SSD memory device is idle, flushing the write cache to one or more flash memory locations corresponding to a write I/O data LBA address.

15. An information handling system comprising:

a solid state drive (SSD) memory device;

an SSD controller executing instructions of an SSD adaptive profiling engine for random access memory (RAM) cache optimization;

the SSD adaptive profiling engine determining whether the SSD memory device operation is write intensive or read intensive from assessment of stored LBA address read access counts and LBA address write access counts;

a RAM cache to be used for caching purposes with the SSD memory device;

the SSD controller caching a partial flash transition layer (FTL) table in RAM when the SSD memory device operation is determined to be write intensive and establishing a write cache in RAM space unoccupied by the partial FTL table; and

the SSD controller caching a full FTL table in RAM when the SSD memory device operation is determined to be read intensive.

16. The information handling system of claim 15 wherein the data cache in RAM space unoccupied by the partial FTL table is used as a write cache when the SSD memory device operation is determined to be write intensive.

17. The information handling system of claim 15 wherein a threshold level for determining whether SSD memory device operation is read intensive or write intensive when either the LBA address read access counts or the LBA address write access counts are greater than 50% of all incoming SSD I/O operation accesses.

18. The information handling system of claim 15 wherein a threshold level for determining whether SSD memory device operation is read intensive or write intensive to trigger a change in FTL table size when either the read I/O access counts or the write I/O access counts greater than 65% of all incoming SSD I/O operation accesses.

19. The information handling system of claim 15 further comprising:

the SSD controller determining the SSD memory device operation is write intensive and caching a partial FTL table;

the SSD controller receiving an incoming write I/O operation from a host and writing the incoming write I/O operation data to the write cache in RAM; and

the SSD controller responding to the host that the write I/O operation is complete.

20. The information handling system of claim 19 further comprising:

the SSD controller flushing the write cache to flash memory corresponding to write I/O data LBA addressing upon determining that the SSD memory device is idle.

Assignments (10)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (050724/0466) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO WYSE TECHNOLOGY L.L.C.)
Reel/Frame 060753/0486 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (040679/0386) Recorded Apr 26, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO WYSE TECHNOLOGY L.L.C.)
Reel/Frame 059803/0666 →
RELEASE OF SECURITY INTEREST AT REEL 040633 FRAME 0799 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL INTERNATIONAL, L.L.C.; DELL PRODUCTS L.P.; WYSE TECHNOLOGY L.L.C.; EMC CORPORATION
Reel/Frame 058297/0427 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Oct 15, 2019
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 050724/0466 →
SECURITY AGREEMENT Recorded Mar 21, 2019
From: CREDANT TECHNOLOGIES, INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 049452/0223 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Nov 23, 2016
From: DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; WYSE TECHNOLOGY L.L.C.; EMC CORPORATION
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 040679/0386 →
SECURITY INTEREST Recorded Nov 16, 2016
From: DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; WYSE TECHNOLOGY L.L.C.; EMC CORPORATION
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040633/0799 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 10, 2016
From: KAN, LIP VUI; JANG, YOUNG HWAN
To: DELL PRODUCTS, LP
Reel/Frame 039980/0097 →
Continuity (1)
Related Publication 20180101477A1 · Apr 12, 2018
Cited By (1)
US 12,645,379