IP Library Granted Patent US 9,323,772
Granted Patent B2
US 9,323,772 · App. 14/046,515 · Granted Apr 26, 2016

Segment group-based segment cleaning apparatus and methods for storage units

Inventors: Seok-Young Ko (Yuseong-gu, KR); Jae-Geuk Kim (Hwasung-si, KR); Joo-Young Hwang (Suwon-si, KR)
Assignee: Samsung Electronics Co., Ltd.
G06F17/30129G06F17/30138G06F17/30191
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,323,772
App. No.
14/046,515
Granted
Apr 26, 2016
Kind
B2
Abstract

Victim segments to be returned to a free area in a segment cleaning process from a plurality of segments included in each segment group are selected by using a method corresponding to the segment group. A host comprises an interface relaying data exchange with a storage device; and a file system module performing a segment cleaning process by selecting victim segment from a plurality of segments stored in the storage device, discovering live blocks in each of the victim segments, writing back the discovered live blocks to the storage device through the interface, and returning the victim segments to a free area. The file system module calculates victim points for all segments included in a first segment group using a first victim point calculation formula, calculates victim points for all segments included in a second segment group using a second victim point calculation formula, and selects the victim segments based on the victim points.

Claims (44)

1. A host comprising:

an interface configured to relay data exchange with a storage device; and

a file system module configured to perform a segment cleaning process by performing operations comprising selecting victim segments from a plurality of segments stored in the storage device, discovering live blocks in the victim segments, writing back the discovered live blocks to the storage device through the interface, and returning the victim segments to a free area,

wherein the file system module is further configured to perform operations comprising calculating victim points for segments included in a first segment group using a first victim point calculation formula, calculating victim points for segments included in a second segment group using a second victim point calculation formula, calculating victim points for segments included in a third segment group using the second victim point calculation formula and selecting the victim segments based on the victim points,

wherein the second segment group consists of segments which comprise data written when the data included in the segments of the first segment group is updated, the third segment group comprises the written-back data, the first victim point calculation formula uses a proportion of live blocks relative to the total number of blocks included in a segment and an age calculated using a modification time of a last modified one of the blocks included in the segment, and the second victim point calculation formula uses the proportion of live blocks relative to the total number of blocks included in a segment, but does not use the age calculated using a modification time of a last modified one of the blocks included in the segment.

2. The host of claim 1 , wherein the first segment group consists of segments located in a first address area, and the second segment group consists of segments located in a second address area different from the first address area.

3. The host of claim 1 , wherein the first victim point calculation formula is defined by:

victim

point

=

(

1

-

u

)

*

age

(

1

+

u

)

,

where u is the proportion of live blocks relative to the total number of blocks included in a segment.

4. The host of claim 1 , wherein the second victim point calculation formula uses a value obtained by dividing the number of live blocks by the total number of blocks included in a segment.

5. The host of claim 1 , wherein the file system module is further configured to perform operations comprising selecting a predetermined number of victim segments from a respective section based on the victim points, wherein a respective section consists of a predetermined number of segments.

6. The host of claim 1 , wherein the file system module is further configured to perform operations comprising managing the storage device by dividing the storage device into a first area which is written in a random access manner and a second area to which the segments are written in a sequential access manner, and performing the segment cleaning process such that the live blocks are written back to the free area located at the end of a log area.

7. A segment cleaning method comprising:

selecting victim segments from a plurality of segments stored in a storage device;

discovering live blocks in the victim segments;

writing back the discovered live blocks to the storage device; and

returning the victim segments to a free area,

wherein the selecting the victim segments comprises:

calculating victim points for segments included in a first segment group using a first victim point calculation formula;

calculating victim points for segments included in a second segment group using a second victim point calculation formula;

calculating victim points for segments in a third segment group using the second victim point calculation formula; and

selecting the victim segments based on the victim points,

wherein the second segment group consists of segments which comprise data written when the data included in the segments of the first segment group is updated, the third segment group comprises the written-back data, the first victim point calculation formula uses a proportion of live blocks relative to the total number of blocks included in a segment and an age calculated using a modification time of a last modified one of the blocks included in the segment, and the second victim point calculation formula uses the proportion of live blocks relative to the total number of blocks included in a segment, but does not use the age calculated using modification time of a last modified one of the blocks included in the segment.

8. The segment cleaning method of claim 7 , wherein the selecting of the victim segments based on the victim points comprises:

selecting a predetermined number of victim segments from the first segment group;

selecting a predetermined number of victim segments from the second segment group; and

selecting a predetermined number of victim segments from the third segment group.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 4, 2013
From: KO, SEOK-YOUNG; KIM, JAE-GEUK; HWANG, JOO-YOUNG
To: SAMSUNG ELECTRONICS CO., LTD.
Reel/Frame 031350/0624 →
Priority Claims (1)
KR 10-2012-0110673 · Oct 5, 2012 · national
Continuity (1)
Related Publication 20140101115A1 · Apr 10, 2014