IP Library Granted Patent US 9,928,177
Granted Patent B2
US 9,928,177 · App. 14/989,129 · Granted Mar 27, 2018

Managing method for cache memory of solid state drive

Inventor: Sin-Yu Lin (Taipei, TW)
Assignees: LITE-ON ELECTRONICS (GUANGZHOU) LIMITED; LITE-ON TECHNOLOGY CORPORATION
G06F12/0871G06F3/0613G06F3/0656G06F3/0679G06F12/0246G06F12/0873G06F2212/1016G06F2212/214G06F2212/282G06F2212/313G06F2212/608G06F2212/7203G06F2212/7205
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 9,928,177
App. No.
14/989,129
Granted
Mar 27, 2018
Kind
B2
Abstract

A managing method for a cache memory of a solid state drive includes the following steps. When the solid state drive decides to perform a garbage collection, a storing space of the cache memory is divided into plural storing portions according to at least one of the command type of an access command, access data size of the access command and the drive free space. A first storing portion of the cache memory is set as a buffering unit for a garbage collecting purpose. A second storing portion of the cache memory is set as a buffering unit for a writing purpose.

Claims (29)

1. A managing method for a cache memory of a solid state drive, wherein the solid state drive comprises the cache memory, a flash memory and a controlling unit, wherein the cache memory and the flash memory are physically separate and distinct, and the managing method comprises steps of:

determining at least one of a command type of an access command from a host, an access data size of the access command and a drive free space of the flash memory;

dividing a storing space of the cache memory into plural storing portions according to at least one of the command type, the access data size and the drive free space of the flash memory when the controlling unit decides to perform a garbage collection;

setting a first storing portion of the cache memory as a buffering unit of the flash memory for a garbage collecting purpose; and

setting a second storing portion of the cache memory as another buffering unit of the flash memory for a writing purpose wherein

the first storing portion is larger than the second storing portion when the access command is a write command and the drive free space of the flash memory is lower than a first threshold.

2. The managing method as claimed in claim 1 , further comprising steps of:

when the access command is the write command and the drive free space of the flash memory is higher than the first threshold, size of the first storing portion decreases and size of the second storing portion increases.

3. The managing method as claimed in claim 1 , wherein when the access command is the write command, a write data of the write command is stored into the second storing portion of the cache memory.

4. The managing method as claimed in claim 1 , wherein a moved data of the garbage collection from the flash memory is stored in the first storing portion of the cache memory.

5. The managing method as claimed in claim 1 , further comprising a step of setting a third storing portion of the cache memory as still another buffering unit of the flash memory for a reading purpose, wherein when the access command is a read command, a read data of the read command is stored into the third storing portion of the cache memory.

6. A managing method for a cache memory of a solid state drive, wherein the solid state drive comprises the cache memory, a flash memory and a controlling unit wherein the cache memory and the flash memory are physically separate and distinct, and the managing method comprises steps of:

(a) designating the cache memory for a writing purpose or a reading purpose according to an access command before the controlling unit performs a garbage collection;

(b) setting a first storing portion of the cache memory as a buffering unit of the flash memory for a garbage collecting purpose and setting a second storing portion of the cache memory as another buffering unit of the flash memory for the writing purpose according to at least one of a command type of the access command from a host, an access data size of the access command and a drive free space of the flash memory when the controlling unit decides to perform the garbage collection, wherein the first storing portion is larger than the second storing portion when the drive free space of the flash memory is lower than a first threshold; and

(c) repeatedly performing the step (a) after the garbage collection is completed by the controlling unit.

7. The managing method as claimed in claim 6 , wherein the access command is a sequential write command, a random write command or a read command.

8. The managing method as claimed in claim 6 , wherein the command type of the access command is a write command, wherein when the write command is received by the solid state drive, the solid state drive temporarily stores a write data into the second storing portion of the cache memory and executes the write command.

9. The managing method as claimed in claim 6 , wherein a moved data of the garbage collection from the flash memory is temporarily stored in the first storing portion of the cache memory.

10. The managing method as claimed in claim 6 , wherein the step (b) further comprises a step of setting a third storing portion of the cache memory as a still another buffering unit of the flash memory for a reading purpose, wherein the command type of the access command is a read command, wherein when the read command is received by the solid state drive, the solid state drive temporarily stores a read data into the third storing portion of the cache memory and executes the read command.

11. A solid state drive in communication with a host, the solid state drive comprising:

a flash memory;

a cache memory; and

a controlling unit in communication with the host and connected to the flash memory and the cache memory, wherein the controlling unit receives an access command from the host and determines at least one of a command type of the access command, an access data size of the access command and a drive free space of the flash memory;

wherein when the controlling unit decides to perform a garbage collection, a first storing portion of the cache memory wherein the cache memory and the flash memory are physically separate and distinct, is set as a buffering unit of the flash memory for a garbage collecting purpose, and a second storing portion of the cache memory is set as another buffering unit of the flash memory for a writing purpose according to at least one of the command type, the access data size and the drive free space of the flash memory, wherein the first storing portion is larger than the second storing portion when the drive free space of the flash memory is lower than a first threshold.

12. The solid state drive as claimed in claim 11 , wherein the command type is a sequential write command, a random write command or a read command.

13. The solid state drive as claimed in claim 11 , wherein if the access command is a write command, the controlling unit temporarily stores a write data into the second storing portion of the cache memory and executes the write command.

14. The solid state drive as claimed in claim 11 , wherein a moved data of garbage collection from the flash memory is temporarily stored in the first storing portion of the cache memory.

15. The solid state drive as claimed in claim 11 , wherein a third storing portion of the cache memory is further set as still another buffering unit of the flash memory for a reading purpose, wherein if the access command is a read command, the controlling unit temporarily stores a read data into the third storing portion of the cache memory and executes the read command.

16. The solid state drive as claimed in claim 15 , wherein before the garbage collection is performed by the controlling unit, the cache memory is designated for the writing purpose or the reading purpose according to the access command.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2019
From: LITE-ON ELECTRONICS (GUANGZHOU) LIMITED; LITE-ON TECHNOLOGY CORPORATION
To: SOLID STATE STORAGE TECHNOLOGY CORPORATION
Reel/Frame 051213/0824 →
CORRECTIVE ASSIGNMENT TO CORRECT THE FIRST ASSIGNEE NAMED AND SECOND ASSIGNEE NAME PREVIOUSLY RECORDED ON REEL 037420 FRAME 0431. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Dec 28, 2017
From: LIN, SIN-YU
To: LITE-ON ELECTRONICS (GUANGZHOU) LIMITED; LITE-ON TECHNOLOGY CORPORATION
Reel/Frame 044975/0341 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 6, 2016
From: LIN, SIN-YU
To: LITE-ON TECHNOLOGY CORPORATION; LITE-ON ELECTRONICS (GUANGZHOU) LIMITED
Reel/Frame 037420/0431 →
Priority Claims (1)
CN 2013 1 0365417 · Aug 21, 2013 · national
Continuity (2)
Continuation In Part 14142107 · Dec 27, 2013
Related Publication 20160117251A1 · Apr 28, 2016