IP Library Granted Patent US 10,971,241
Granted Patent B2
US 10,971,241 · App. 15/463,750 · Granted Apr 6, 2021

Performance based method and system for patrolling read disturb errors in a memory unit

Inventors: Tadashi Nagahara (Tokyo, JP); Franklin Antony muthu Sunder (Bangalore, IN)
Assignee: TOSHIBA MEMORY CORPORATION
G11C16/349G06F11/10G11C16/3418G11C16/3427G11C16/3431
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,971,241
App. No.
15/463,750
Granted
Apr 6, 2021
Kind
B2
Abstract

Disclosed herein is a method and a system for handling read disturb errors in a memory unit. Status information related to each memory block in the memory unit is retrieved and plurality of target memory blocks with valid pages and having highest block erase count are identified for patrolling. Each valid page in the target memory blocks are patrolled for identifying read disturb errors. Finally, each valid page having read disturb errors are recycled, thereby effectively handling the read disturb errors in the memory unit. The method disclosed herein involves patrolling of only the valid pages in the memory block, thereby reducing the time required for handling the read disturb errors and improving the overall performance. Also, the method ensures data retention reliability within each memory blocks by patrolling the memory block in the order of highest block erase counts.

Claims (35)

1. A method for handling read disturb errors in a memory, the method comprising:

retrieving, by a memory management system, status information related to each of a plurality of memory blocks in the memory from a memory status table associated with the memory, wherein the status information includes a block erase count and a number of one or more valid pages in each of the plurality of memory blocks;

identifying, by the memory management system, one or more target memory blocks with the one or more valid pages and having a highest block erase count among the plurality of memory blocks;

patrolling, by the memory management system, each of the one or more valid pages in the one or more target memory blocks for identifying the read disturb errors in the one or more valid pages, wherein at least three different threshold counters are considered during initialization and execution of the patrolling, (1) a first threshold counter corresponding to a first predetermined threshold value for initializing the patrolling based on a number of read-write memory operations, (2) a second threshold counter corresponding to a second predetermined threshold value for a user to trigger the patrolling based on a count of page read-write memory operations, and (3) a third threshold counter corresponding to a third predetermined threshold value for the user to set a number of valid pages to be patrolled when the patrolling is triggered and initialized; and

recycling, by the memory management system, the one or more valid pages having the read disturb errors for handling the read disturb errors in the memory, wherein

a status of patrolling of one or more of the plurality of memory blocks is set as patrolled when the one or more of the plurality of memory blocks are being used by an application running on the memory management system during the patrolling of the one or more of the plurality of memory blocks, and

the status of the patrolling is stored in a patrol status table in the memory, wherein the patrol status table includes information related to the one or more valid pages which are not patrolled and target block information including at least a memory address of the one or more target memory blocks and a number of the one or more valid pages pending to be patrolled in the one or more target memory blocks.

2. The method as claimed in claim 1 , wherein the memory status table further comprises memory address mapping data, a target memory block count, and the number of one or more valid pages to be patrolled in each of the one or more target memory blocks.

3. The method as claimed in claim 1 , wherein the patrolling is initialized when the number of read-write memory operations performed on the one or more valid pages is higher than at least one of the first predetermined threshold value or a user defined value in real-time.

4. The method as claimed in claim 1 , wherein the status of patrolling of one or more of the plurality of memory blocks is set as patrolled when the one or more of the plurality of memory blocks are moved into a free memory block pool, the free memory block pool including one or more free memory blocks, based on one or more system operations.

5. The method as claimed in claim 1 further comprises iteratively performing step of the patrolling until each of the one or more valid pages which are not patrolled are patrolled.

6. The method as claimed in claim 3 , wherein a number of the one or more target memory blocks to be patrolled in an iteration is based on the second predetermined threshold value.

7. The method as claimed in claim 1 , wherein the patrol status table is updated at each iteration of the step of the patrolling.

8. The method as claimed in claim 1 , wherein the recycling comprises copying contents of the one or more valid pages into a free memory block in the memory.

9. The method as claimed in claim 6 , wherein the first predetermined threshold value and the second predetermined threshold value are dynamically controlled by the user.

10. The method as claimed in claim 1 further comprises moving the one or more target memory blocks into a free memory block pool having one or more free memory blocks upon completion of the recycling of the one or more valid pages.

11. The method as claimed in claim 1 further comprises updating the memory status table upon completion of the recycling.

12. A memory management system for handling read disturb errors in a memory, the memory management system comprises:

a processor; and

the memory communicatively coupled to the processor, wherein the memory stores processor-executable instructions, which, on execution, causes the processor to:

retrieve status information related to each of a plurality of memory blocks in the memory from a memory status table associated with the memory, wherein the status information includes a block erase count and a number of one or more valid pages in each of the plurality of memory blocks;

identify one or more target memory blocks with the one or more valid pages and having a highest block erase count among the plurality of memory blocks;

patrol each of the one or more valid pages in the one or more target memory blocks for identifying the read disturb errors in the one or more valid pages, wherein at least three different threshold counters are considered during initialization and execution of the patrol, (1) a first threshold counter corresponding to a first predetermined threshold value for initializing the patrolling based on a number of read-write memory operations, (2) a second threshold counter corresponding to a second predetermined threshold value for a user to trigger the patrolling based on a count of page read-write memory operations, and (3) a third threshold counter corresponding to a third predetermined threshold value for the user to set a number of valid pages to be patrolled when the patrol is triggered and initialized; and

recycle the one or more valid pages having the read disturb errors for handling the read disturb errors in the memory, wherein

the processor sets a status of patrolling of one or more of the plurality of memory blocks as patrolled when the one or more of the plurality of memory blocks are being used by an application running on the memory management system during the patrolling of the one or more of the plurality of memory blocks, and

the processor stores a status of the patrolling in a patrol status table in the memory, wherein the patrol status table includes information related to the one or more valid pages which are not patrolled and target block information including at least a memory address of the one or more target memory blocks and a number of the one or more valid pages pending to be patrolled in the one or more target memory blocks.

13. The memory management system as claimed in claim 12 , wherein the memory status table further comprises memory address mapping data, a target memory block count, and the number of the one or more valid pages to be patrolled in each of the one or more target memory blocks.

14. The memory management system as claimed in claim 12 , wherein the processor initializes the patrolling when the number of read-write memory operations performed on the one or more valid pages is higher than at least one of the first predetermined threshold value or a user defined value in real-time.

15. The memory management system as claimed in claim 12 , wherein the processor sets the status of patrolling of one or more of the plurality of memory blocks as patrolled when the one or more of the plurality of memory blocks are moved into a free memory block pool, the free memory block pool including one or more free memory blocks, based on one or more system operations.

16. The memory management system as claimed in claim 12 , wherein the processor further iteratively patrols until each of the one or more valid pages which are not patrolled are patrolled.

17. The memory management system as claimed in claim 12 , wherein a number of target memory blocks to be patrolled in an iteration is based on the second predetermined threshold value.

18. The memory management system as claimed in claim 12 , wherein the processor updates the patrol status table at each time the one or more of the plurality of memory blocks are patrolled.

19. The memory management system as claimed in claim 12 , wherein the processor copies contents of the one or more valid pages into a free memory block in the memory during the recycle.

20. The memory management system as claimed in claim 12 , wherein the processor moves the one or more target memory blocks into a free memory block pool having one or more free memory blocks upon completion of the recycle of the one or more valid pages.

21. The memory management system as claimed in claim 12 , wherein the processor updates the memory status table upon completion of the recycle.

Assignments (5)
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 22, 2017
From: KABUSHIKI KAISHA TOSHIBA
To: TOSHIBA MEMORY CORPORATION
Reel/Frame 043620/0798 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 18, 2017
From: NAGAHARA, TADASHI; SUNDER, FRANKLIN ANTONY MUTHU
To: KABUSHIKI KAISHA TOSHIBA
Reel/Frame 043336/0233 →
Priority Claims (1)
IN 201741003371 · Jan 30, 2017 · national
Continuity (1)
Related Publication 20180217769A1 · Aug 2, 2018