IP Library Granted Patent US 11,899,573
Granted Patent B2
US 11,899,573 · App. 17/684,576 · Granted Feb 13, 2024

Memory system

Inventors: Reina Nishino (Kanagawa, JP); Tetsuya Sunata (Kanagawa, JP); Takumi Fujimori (Kanagawa, JP)
Assignee: KIOXIA CORPORATION
G06F12/0246G06F3/0619G06F3/0659G06F3/0679G06F12/0253
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,899,573
App. No.
17/684,576
Granted
Feb 13, 2024
Kind
B2
Abstract

A memory system includes a memory and a controller. The memory is configured to store a number of valid data in each of a plurality of logical blocks and a number of valid data for each of a plurality of banks in each of the logical blocks. The controller is configured to: select logical blocks of garbage collection target candidates based on the numbers of valid data in the logical blocks; calculate a maximum value among the numbers of valid data for the banks in each of the logical blocks of the garbage collection target candidates as a respective comparison value; and select one of the logical blocks of the garbage collection targets based on comparing the respective comparison values of the logical blocks of the garbage collection target candidates with each other.

Claims (42)

1. A memory system, comprising:

a memory configured to store a number of valid data in each of a plurality of logical blocks and a number of valid data for each of a plurality of banks in each of the logical blocks; and

a controller configured to:

select logical blocks of garbage collection target candidates based on the numbers of valid data in the logical blocks;

calculate a maximum value among the numbers of valid data for the banks in each of the logical blocks of the garbage collection target candidates as a respective comparison value;

select one of the logical blocks of the garbage collection targets based on comparing the respective comparison values of the logical blocks of the garbage collection target candidates with each other;

add the number of valid data for each bank in each of the logical blocks to the number of valid data for each bank of one of the logical blocks of the garbage collection targets; and

determine a maximum value among the added numbers of valid data for the banks of each of the logical blocks as the comparison value;

wherein as the result of comparing the respective comparison values of the logical blocks of the garbage collection target candidates with each other, when there are a plurality of logical blocks of the garbage collection target candidates having a minimum comparison value, the controller selects, as the logical block of the garbage collection target, the logical block of one garbage collection target candidate among the logical blocks of the garbage collection target candidates having the minimum comparison value, and selects the logical blocks of other garbage collection target candidates as the logical block of the garbage collection target from the next time.

2. The memory system according to claim 1 ,

wherein the controller is configured to:

calculate an average number of valid data per bank in each of the logical blocks; and

select the garbage collection target candidates based on the average numbers of valid data of the logical blocks.

3. The memory system according to claim 1 ,

wherein the memory further stores access information of the banks of each of the logical blocks, and

the controller is configured to select the logical blocks of the garbage collection targets based on the access information.

4. The memory system according to claim 1 ,

wherein the memory stores a page type of each bank in each of the logical blocks, and

the controller is configured to calculate, as the comparison value, a maximum value of values obtained by weighting the number of valid data for each bank in each of the logical blocks in accordance with the page type of each bank.

5. The memory system according to claim 1 , wherein the memory is a non-volatile memory.

6. A method, comprising:

selecting logical blocks of garbage collection target candidates based on respective numbers of valid data in a plurality of logical blocks of a memory;

calculating a maximum value among the numbers of valid data for a plurality of banks in each of the logical blocks of the garbage collection target candidates as a respective comparison value;

selecting one of the logical blocks of the garbage collection targets based on comparing the respective comparison values of the logical blocks of the garbage collection target candidates with each other;

adding the number of valid data for each bank in each of the logical blocks to the number of valid data for each bank of one of the logical blocks of the garbage collection targets; and

determining a maximum value among the added numbers of valid data for the banks of each of the logical blocks as the comparison value;

wherein as the result of comparing the respective comparison values of the logical blocks of the garbage collection target candidates with each other, when there are a plurality of logical blocks of the garbage collection target candidates having a minimum comparison value, the controller selects, as the logical block of the garbage collection target, the logical block of one garbage collection target candidate among the logical blocks of the garbage collection target candidates having the minimum comparison value, and selects the logical blocks of other garbage collection target candidates as the logical block of the garbage collection target from the next time.

7. The method according to claim 6 , further comprising:

calculating an average number of valid data per bank in each of the logical blocks; and

selecting the garbage collection target candidates based on the average numbers of valid data of the logical blocks.

8. The method according to claim 6 , wherein the memory is a non-volatile memory.

9. A memory controller configured to:

select logical blocks of garbage collection target candidates based on respective numbers of valid data in a plurality of logical blocks, wherein a memory, coupled to the memory controller, stores the number of valid data in each of the logical blocks and a number of valid data for each of a plurality of banks in each of the logical blocks;

calculate a maximum value among the numbers of valid data for the banks in each of the logical blocks of the garbage collection target candidates as a respective comparison value;

select one of the logical blocks of the garbage collection targets based on comparing the respective comparison values of the logical blocks of the garbage collection target candidates with each other;

add the number of valid data for each bank in each of the logical blocks to the number of valid data for each bank of one of the logical blocks of the garbage collection targets; and

determine a maximum value among the added numbers of valid data for the banks of each of the logical blocks as the comparison value;

wherein as the result of comparing the respective comparison values of the logical blocks of the garbage collection target candidates with each other, when there are a plurality of logical blocks of the garbage collection target candidates having a minimum comparison value, the controller selects, as the logical block of the garbage collection target, the logical block of one garbage collection target candidate among the logical blocks of the garbage collection target candidates having the minimum comparison value, and selects the logical blocks of other garbage collection target candidates as the logical block of the garbage collection target from the next time.

10. The memory controller according to claim 9 , wherein the memory controller is further configured to:

calculate an average number of valid data per bank in each of the logical blocks; and

select the garbage collection target candidates based on the average numbers of valid data of the logical blocks.

11. The memory controller according to claim 9 , wherein the memory is a non-volatile memory.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 29, 2022
From: NISHINO, REINA; SUNATA, TETSUYA; FUJIMORI, TAKUMI
To: KIOXIA CORPORATION
Reel/Frame 060350/0875 →
Priority Claims (1)
JP 2021-152897 · Sep 21, 2021 · national
Continuity (1)
Related Publication 20230089083A1 · Mar 23, 2023