IP Library Granted Patent US 10,168,901
Granted Patent B2
US 10,168,901 · App. 14/844,235 · Granted Jan 1, 2019

Memory system, information processing apparatus, control method, and initialization apparatus

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,168,901
App. No.
14/844,235
Granted
Jan 1, 2019
Kind
B2
Abstract

According to one embodiment, there is provided an initialization apparatus connectable to a storage apparatus. The initialization apparatus including a controller configured to transmit a first command to the storage apparatus, to transmit a second command to the storage apparatus, and to transmit a third command to the storage apparatus. The first command is a command to write a first value into a first storage area in the storage apparatus. The second command is a command to copy the first value stored in the first storage area to a second storage area in the storage apparatus. The third command is a command to copy the first values stored in the first storage area and the second storage area to a third storage area in the storage apparatus.

Claims (60)

1. A memory system connectable to a host, the host including a host controller and a host memory, the host memory including a first memory area and a second memory area, the second memory area being used as a cache by the memory system, the second memory area including a third memory area and a fourth memory area, the memory system comprising:

a nonvolatile memory; and

a controller configured to:

control the non-volatile memory,

decide an initialization target area in the second memory area,

send the host a write command, the write command being a command to write an initialization value to a 1st area, the 1st area being included in the initialization target area,

determine whether a data size of an uninitialized area is less than (K−1) times a data size of an initialized area in the initialization target area, K being a number that is pre-determined to be more than one or to be less than two or equal to two,

when the data size of the uninitialized area is not less than (K−1) times the data size of the initialized area in the initialization target area, send the host a first copy command, the first copy command being a command to copy the initialization value stored in the initialized area to a 2nd area, the 2nd area being included in the uninitialized area, a data size of the 2nd area being equal to (K−1) times of the data size of the initialized area,

when the data size of the uninitialized area is more than zero and is less than (K−1) times the data size of the initialized area in the initialization target area, send the host a second copy command, the second copy command being a command to copy the initialization value stored in the initialized area to a 3rd area, the 3rd area being included in the uninitialized area, a data size of the 3rd area being less than (K−1) times the data size of the initialized area and being equal to the data size of the uninitialized area,

when the data size of the uninitialized area is equal to zero in the initialization target area, complete the initialization of the initialization target area.

2. The memory system according to claim 1 , wherein

the controller is further configured to pre-determine K=2 when increasing the data size of the initialized area in the initialization target area by two times with using the first copy command.

3. The memory system according to claim 1 , wherein

the initialization value is a bit pattern of all “0”s.

4. The memory system according to claim 1 , wherein

the initialization value is a bit pattern of all “1”s.

5. The memory system according to claim 1 , wherein

the initialization value is a bit pattern in which “0”s and “1”s are mixed.

6. The memory system according to claim 1 , wherein

the controller decides the initialization target area in the second memory area, when receiving use permission of the second memory area.

7. The memory system according to claim 1 , wherein

the controller determines whether the data size of the uninitialized area is less than (K−1) times the data size of the initialized area in the initialization target area, when receiving a response of sent command from the host.

8. The memory system according to claim 1 ,

wherein the controller is further configured to cause, after the initialization of the initialization target area is completed, at least part of management information for the memory system and data stored in the nonvolatile memory to be stored in the third memory area, and causes data for management of information stored in the third memory area to be stored in the fourth memory area.

9. The memory system according to claim 8 ,

wherein the management information includes an address translation information that associates a logical address with a physical address in the nonvolatile memory.

10. The memory system according to claim 1 ,

wherein the nonvolatile memory is a NAND-type flash memory.

11. An information processing apparatus comprising:

a host; and

a memory system connectable to the host,

wherein the host includes a host controller and a host memory, the host memory including a first memory area and a second memory area, the second memory area being used as a cache by the memory system, the second memory area including a third memory area and a fourth memory area,

and wherein the memory system includes:

a nonvolatile memory; and

a controller configured to:

control the non-volatile memory,

decide an initialization target area in the second memory area,

send the host a write command, the write command being a command to write an initialization value to a 1st area, the 1st area being included in the initialization target area,

determine whether a data size of an uninitialized area is less than (K−1) times a data size of an initialized area in the initialization target area, K being a number that is pre-determined to be more than one or to be less than two or equal to two,

when the data size of the uninitialized area is not less than (K−1) times the data size of the initialized area in the initialization target area, send the host a first copy command, the first copy command being a command to copy the initialization value stored in the initialized area to a 2nd area, the 2nd area being included in the uninitialized area, a data size of the 2nd area being equal to (K−1) times of the data size of the initialized area,

when the data size of the uninitialized area is more than zero and is less than (K−1) times the data size of the initialized area in the initialization target area, send the host a second copy command, the second copy command being a command to copy the initialization value stored in the initialized area to a 3rd area, the 3rd area being included in the uninitialized area, a data size of the 3rd area being less than (K−1) times the data size of the initialized area and being equal to the data size of the uninitialized area,

when the data size of the uninitialized area is equal to zero in the initialization target area, complete the initialization of the initialization target area.

12. The information processing apparatus according to claim 11 , wherein

the controller is further configured to pre-determine K=2 when increasing the data size of the initialized area in the initialization target area by two times with using the first copy command.

13. The information processing apparatus according to claim 11 , wherein

the initialization value is a bit pattern of all “0”s.

14. The information processing apparatus according to claim 11 , wherein

the initialization value is a bit pattern of all “1”s.

15. The information processing apparatus according to claim 11 , wherein

the initialization value is a bit pattern in which “0”s and “1”s are mixed.

16. The information processing apparatus according to claim 11 , wherein

the controller decides the initialization target area in the second memory area, when receiving use permission of the second memory area.

17. The information processing apparatus according to claim 11 , wherein

the controller determines whether the data size of the uninitialized area is less than (K−1) times the data size of the initialized area in the initialization target area, when receiving a response of sent command from the host.

18. The information processing apparatus according to claim 11 ,

wherein the controller is further configured to cause, after the initialization of the initialization target area is completed, at least part of management information for the memory system and data stored in the nonvolatile memory to be stored in the third memory area, and causes data for management of information stored in the third memory area to be stored in the fourth memory area.

19. The information processing apparatus according to claim 18 ,

wherein the management information includes an address translation information that associates a logical address with a physical address in the nonvolatile memory.

20. The information processing apparatus according to claim 11 ,

wherein the nonvolatile memory is a NAND-type flash memory.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 5, 2017
From: KABUSHIKI KAISHA TOSHIBA
To: TOSHIBA MEMORY CORPORATION
Reel/Frame 043088/0620 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 14, 2015
From: FUNAOKA, KENJI; KONDO, NOBUHIRO
To: KABUSHIKI KAISHA TOSHIBA
Reel/Frame 036788/0869 →