IP Library Granted Patent US 10,235,079
Granted Patent B2
US 10,235,079 · App. 15/253,643 · Granted Mar 19, 2019

Cooperative physical defragmentation by a file system and a storage device

Inventor: Daisuke Hashimoto (Cupertino, CA)
Assignee: TOSHIBA MEMORY CORPORATION
G06F3/0641G06F3/061G06F3/0604G06F3/0659G06F3/0665G06F3/0679G06F12/0246G06F2212/1016G06F2212/1044G06F2212/152G06F2212/214G06F2212/7201G06F2212/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 10,235,079
App. No.
15/253,643
Granted
Mar 19, 2019
Kind
B2
Abstract

A storage system includes a host including a processor and a storage device including a controller and a flash memory unit. The host is configured to read physically fragmented data of a file stored in one or more physical storage regions of the flash memory unit and write the data continuously into other one or more physical regions of the flash memory unit, such that the data are physically defragmented.

Claims (47)

1. A storage system comprising a host and a storage device connected through an interface, wherein

the storage device comprises a controller and a nonvolatile semiconductor memory including a plurality of physical blocks, and

the host is configured to

determine logical addresses corresponding to a target file that is to undergo a physical defragmentation operation;

send a read command that references the determined logical addresses to the controller;

receive from the controller data associated with the logical addresses referenced in the read command; and

send to the controller a write command that includes the logical addresses and the data associated with the logical addresses to cause the controller to perform a write operation on the data associated with the logical addresses in one or more physical blocks of the plurality of physical blocks, so that the data associated with the logical addresses of the file are physically defragmented.

2. The storage system according to claim 1 , wherein

the host is further configured to carry out logical defragmentation of the target file such that the logical addresses corresponding to the target file become consecutive prior to sending the read command.

3. The storage system according to claim 1 , wherein

the write command references new logical addresses that are consecutive and are different from the logical addresses determined by the host.

4. The storage system according to claim 1 , wherein

the host causes the controller to perform the write operation on the data associated with the determined logical addresses in one or more physical blocks that are associated with a stream number, by including the stream number in the write command.

5. The storage apparatus according to claim 1 , wherein

the one or more physical blocks in the plurality of physical blocks are different from physical blocks in the plurality of physical blocks that store non-defragmented data.

6. The storage system according to claim 5 , wherein

the host is further configured to cause the controller to prepare a certain number of the one or more physical blocks to store no valid data, by sending the certain number to the storage device, after receiving the data associated with the logical addresses and prior to sending the write command.

7. The storage system according to claim 6 , wherein

the controller prepares the certain number of free blocks by selectively transferring valid data stored in one or more target physical blocks to one or more destination physical blocks and then invalidating all data stored in the target physical blocks.

8. The storage apparatus according to claim 1 , wherein the data of the file that are physically defragmented are stored in one or more physical blocks in the plurality of physical blocks so that the data can be read sequentially from the one or more physical blocks.

9. The storage apparatus according to claim 1 , wherein the host is further configured to determine the target file based on a mapping of files to logical addresses.

10. The storage apparatus according to claim 1 , wherein the host is further configured to select the target file from files that have undergone a logical defragmentation operation in which logical addresses of the target file are selected to be continuous.

11. The storage apparatus according to claim 1 , wherein the host is further configured to:

request from the controller physical fragmentation information for the logical addresses of the target file; and

determine the target file based on physical fragmentation information received from the controller.

12. The storage apparatus according to claim 11 , wherein the physical fragmentation information includes a number of physical blocks that include physical addresses corresponding to the logical addresses of the target file, a ratio of the size of the specified physical addresses with respect to a total size of the physical blocks that include the physical addresses, or a combination of both.

13. A storage apparatus comprising:

a nonvolatile semiconductor memory including a plurality of physical blocks;

a communication interface; and

a controller configured to

receive a request through the communication interface for physical fragmentation information for logical addresses corresponding to a target file that is to undergo a physical defragmentation operation;

determine physical fragmentation information that includes a number of physical blocks of the plurality of physical blocks that include a physical address corresponding to one of the logical addresses of the target file;

return the physical fragmentation information through the communication interface;

receive a request through the communication interface to prepare a certain number of free blocks that store no valid data in the nonvolatile semiconductor memory, wherein the certain number is based on the physical fragmentation information; and

prepare the certain number of free blocks that store no valid data in the nonvolatile semiconductor memory by selectively transferring valid data stored in one or more target physical blocks to one or more destination physical blocks and then invalidating all data stored in the target physical blocks, wherein

the controller is further configured to

receive a write command through the communication interface that includes data associated with the logical addresses; and

perform a write operation on the data associated with the logical addresses in one or more of the certain number of free blocks.

14. A storage apparatus comprising:

a nonvolatile semiconductor memory including a plurality of physical blocks;

a communication interface; and

a controller configured to

receive a request through the communication interface for physical fragmentation information for logical addresses corresponding to a target file that is to undergo a physical defragmentation operation;

determine physical fragmentation information that includes a ratio of size of data corresponding to the logical addresses with respect to total size of physical blocks of the plurality of physical blocks which correspond to the logical addresses;

return the physical fragmentation information through the communication interface;

receive a request through the communication interface to prepare a certain number of free blocks that store no valid data in the nonvolatile semiconductor memory, wherein the certain number is based on the physical fragmentation information; and

prepare the certain number of free blocks that store no valid data in the nonvolatile semiconductor memory.

Assignments (6)
MERGER Recorded Jan 22, 2021
From: TOSHIBA MEMORY CORPORATION
To: K.K. PANGEA
Reel/Frame 055659/0471 →
CHANGE OF NAME AND ADDRESS Recorded Jan 22, 2021
From: TOSHIBA MEMORY CORPORATION
To: KIOXIA CORPORATION
Reel/Frame 055669/0001 →
CHANGE OF NAME AND ADDRESS Recorded Jan 22, 2021
From: K.K. PANGEA
To: TOSHIBA MEMORY CORPORATION
Reel/Frame 055669/0401 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 14, 2017
From: KABUSHIKI KAISHA TOSHIBA
To: TOSHIBA MEMORY CORPORATION
Reel/Frame 043194/0647 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 6, 2016
From: HASHIMOTO, DAISUKE
To: TOSHIBA AMERICA ELECTRONIC COMPONENTS, INC.
Reel/Frame 039958/0181 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 6, 2016
From: TOSHIBA AMERICA ELECTRONIC COMPONENTS, INC.
To: KABUSHIKI KAISHA TOSHIBA
Reel/Frame 039958/0271 →
Continuity (2)
Provisional Application 62290843 · Feb 3, 2016
Related Publication 20170220292A1 · Aug 3, 2017
Cited By (1)
US 12,332,844