IP Library Granted Patent US 11,042,331
Granted Patent B2
US 11,042,331 · App. 16/217,867 · Granted Jun 22, 2021

Memory device managing data in accordance with command and non-transitory computer readable recording medium

Inventors: Shinichi Kanno (Tokyo, JP); Hiroshi Nishimura (Hachioji, JP); Hideki Yoshida (Tachikawa, JP)
Assignee: TOSHIBA MEMORY CORPORATION
G06F3/0688G06F3/0607G06F3/0661
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 11,042,331
App. No.
16/217,867
Granted
Jun 22, 2021
Kind
B2
Abstract

According to one embodiment, a memory device includes a first memory, a control circuit controlling the first memory, and a second memory storing a second program. The second program manages management information associated with the first memory, sends the management information conforming to a specific interface to a first program if a command conforming to the specific interface is an output command to output the management information. The second program receives first information conforming to the specific interface and issued by the first program, translates the first information into second information corresponding to the second program, translates the second information into third information corresponding to the control circuit, and executes processing for the first memory in accordance with the third information.

Claims (60)

1. A memory device, comprising:

a first memory being nonvolatile;

a control circuit which controls the first memory; and

a second memory storing a second program which controls the control circuit in accordance with a command conforming to a specific interface and issued by a first program when the second program is executed by the control circuit, wherein

the second program manages management information associated with the first memory, and sends the management information conforming to the specific interface to the first program when the command is an output command to output the management information,

the second program receives a first parameter conforming to the specific interface and issued by the first program, translates the first parameter into a second parameter corresponding to the second program, translates the second parameter into a third parameter corresponding to the control circuit, and executes processing for the first memory in accordance with the third parameter, and

the first to third parameters are first to third parameters for setting an acceptable time of latency to access for the first memory, respectively.

2. The memory device of claim 1 , wherein

the first program generates garbage collection setting information conforming to the specific interface and used for garbage collection for the first memory, and sends the garbage collection setting information to the second program, and

the second program executes the garbage collection in accordance with the garbage collection setting information.

3. The memory device of claim 1 , wherein

the control circuit includes at least one processor, and

the second program performs scheduling for tasks executed by the at least one processor.

4. The memory device of claim 1 , wherein

the first memory includes a NAND flash memory, and

the management information includes at least one of a number of erasures from each block of the NAND flash memory, a frequency of erasures from each block, a number of reads from each page, a frequency of reads from each page, a number of writes to each page, a frequency of writes to each page, a block size of each block, a number of pages in each block, a page size, a write speed, a write latency, a read speed, and a read latency.

5. The memory device of claim 1 , wherein the control circuit comprises:

first to third processors controlled by the second program;

a first management module which corresponds to the first processor, and manages a plurality of execution-waiting processing and an execution order of the execution-waiting processing;

a second management module which corresponds to the second processor, and manages processing to be executed by the second processor and an execution order of the processing to be executed by the second processor; and

a third management module which corresponds to the third processor, and manages processing to be executed by the third processor and an execution order of the processing to be executed by the third processor, wherein

when a number of processing tasks managed by the second management module is not more than a first threshold, the second program changes a management destination of the execution-waiting processing managed by the first management module from the first management module to the second management module, and

wherein when a number of processing tasks managed by the third management module is not more than a second threshold, the second program changes a management destination of the execution-waiting processing managed by the first management module from the first management module to the third management module.

6. The memory device of claim 5 , wherein

the second program refers to first priority information including priority degrees associated with the execution-waiting processing, and determines processing in which the management destination is changed from the first management module to one of the second and third management modules.

7. The memory device of claim 5 , wherein

the second program refers to second priority information including priority degrees associated with execution-waiting processing managed by the second management module, and determines processing executed subsequently among the processing managed by the second management module, and

the second program refers to third priority information including priority degrees associated with execution-waiting processing managed by the third management module, and determines processing executed subsequently among the processing managed by the third management module.

8. The memory device of claim 5 , wherein

when new processing activated subsequent to executed processing is executed by the second processor, the second program manages the new processing using the second management module, and

when the new processing is executable by any one of the second and third processors, the second program manages the new processing using the first management module.

9. The memory device of claim 5 , wherein

when new processing activated subsequent to executed processing is executed by the second processor, the second program manages the new processing using the second management module,

when the new processing is executable by any one of the second and third processors, and when a number of execution-waiting processing tasks managed by the second management module is not more than the first threshold, the second program manages the new processing using the second management module,

when the new processing is executable by any one of the second and third processors, and when a number of execution-waiting processing tasks managed by the third management module is not more than the second threshold, the second program manages the new processing using the third management module, and

when the amount of the execution-waiting processing managed by the second management module is more than the first threshold, and when the number of the execution-waiting processing tasks managed by the third management module is more than the second threshold, the second program manages the new processing using the first management module.

10. The memory device of claim 5 , wherein the processing to be executed by the second processor and the processing to be executed by the third processor do not include a task waiting for accessing the control circuit.

11. The memory device of claim 5 , wherein

the control circuit further comprises a shared memory shared among the first to third processors, and

the second program allocates, to processing before execution, a memory area in the shared memory used for the processing before execution.

12. The memory device of claim 5 , wherein

the control circuit further comprises a shared memory shared among the first to third processors, and

the second program manages processing associated with hardware identification information indicating part of the control circuit, using a management module corresponding to the hardware identification information among the first to third management modules.

13. The memory device of claim 5 , wherein

the control circuit further comprises a shared memory shared among the first to third processors,

first processing is executed by any one of the second and third processors,

second processing is executed by any one of the second and third processors after execution of the first processing, and

the first processing notifies the second processing of area information of at least part of a memory area in the shared memory, when the at least part of the memory area used for the first processing is used for the second processing.

14. The memory device of claim 5 , wherein

the control circuit further comprises a shared memory shared among the first to third processors,

first processing is executed by any one of the second and third processors,

second processing is executed by any one of the second and third processors after execution of the first processing,

third processing is executed by any one of the second and third processors after execution of the second processing, and

the second processing receives, from the first processing, identification information indicating at least one of the first and third processing, reads information used for the second processing from a first memory area of the shared memory corresponding to the at least one of the first and third processing, and stores a result of execution of the second processing in a second memory area corresponding to the at least one of the first and third processing.

15. The memory device of claim 14 , wherein the second processing reads information used for the second processing from a memory area corresponding to the first processing, and stores a result of execution of the second processing in a memory area corresponding to the third processing.

16. Anon-transitory computer-readable recording medium storing a control program causing a computer to function as:

a module which controls a control circuit for a nonvolatile memory in accordance with a command conforming to a specific interface and issued by a first program;

a module which manages management information associated with the nonvolatile memory, and sends the management information conforming to the specific interface to the first program when the command is an output command to output the management information; and

a module which receives a first parameter conforming to the specific interface and issued by the first program, translates the first parameter into a second parameter corresponding to a format between the first program and the control circuit, translates the second parameter into a third parameter corresponding to the control circuit, and executes processing for the nonvolatile memory in accordance with the third parameter,

wherein the first to third parameters are first to third parameters for setting an acceptable time of latency to access for the nonvolatile memory, respectively.

Assignments (3)
CHANGE OF NAME AND ADDRESS Recorded Feb 4, 2022
From: K.K PANGEA
To: TOSHIBA MEMORY CORPORATION
Reel/Frame 058957/0124 →
CHANGE OF NAME AND ADDRESS Recorded Jan 31, 2022
From: TOSHIBA MEMORY CORPORATION
To: KIOXIA CORPORATION
Reel/Frame 058905/0582 →
MERGER Recorded Jan 31, 2022
From: TOSHIBA MEMORY CORPORATION
To: K.K PANGEA
Reel/Frame 058946/0675 →