IP Library Granted Patent US 9,417,804
Granted Patent B2
US 9,417,804 · App. 14/325,212 · Granted Aug 16, 2016

System and method for memory block pool wear leveling

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 9,417,804
App. No.
14/325,212
Granted
Aug 16, 2016
Kind
B2
Abstract

A system and method for memory block pool wear leveling in a nonvolatile memory device. An improved bit error rate for the nonvolatile memory system is attained by identifying a plurality of memory block pools of the nonvolatile memory system, identifying a relaxation time delay for each of the plurality of memory block pools and executing a predetermined number of program/erase cycles for each of the plurality of memory block pools based upon the relaxation time delay of the memory block pools.

Claims (21)

1. A method for memory block pool wear leveling in a nonvolatile memory system, the method comprising: identifying a plurality of memory block pools of the nonvolatile memory system, each of the memory block pools comprising a plurality of memory blocks and each of the plurality of memory blocks comprising a plurality of memory cells; identifying a relaxation time delay for each of the plurality of memory block pools, wherein the relaxation time delay for each of the plurality of memory block pools is identified as a duration of time between a completion of a programming cycle of the memory block pool and a point in time when BER (bit error rate) of the memory block pool is at a minimum; and executing a predetermined number of program/erase cycles for each of the plurality of memory block pools based upon the relaxation time delay of each of the plurality of memory block pools.

2. The method of claim 1 , wherein the relaxation time delay for each of the plurality of memory block pools of the nonvolatile memory device is equivalent.

3. The method of claim 1 , wherein the identifying of the relaxation time delay for each of the plurality of memory block pools further comprises programming the plurality of memory blocks of each of the plurality of memory block pools in a first pattern, reading the programmed memory blocks to identify errors, and identifying the relaxation time delay for each of the memory block pools as the end of a relaxation phase for the memory blocks in the respective memory block pool.

4. The method of claim 1 , wherein executing the predetermined number of program/erase cycles for each of the plurality of memory block pools based upon the relaxation time delay of each of the plurality of memory block pools further comprises, evenly distributing the execution of the predetermined number of program/erase cycles among the plurality of blocks of the memory block pool.

5. The method of claim 1 , wherein identifying the plurality of memory block pools of the nonvolatile memory system further comprises randomly identifying the plurality of memory blocks for each of the plurality of memory blocks pools.

6. The method of claim 1 , wherein identifying the plurality of memory block pools of the nonvolatile memory system further comprises: identifying the BER (bit error rate) for each of the plurality of memory blocks; and identifying each of the plurality of memory blocks as belonging to one of the plurality of memory block pools based upon the BER of the memory block.

7. The method of claim 1 , wherein the identifying the relaxation time delay for each of the plurality of memory block pools further comprises: programming the plurality of memory blocks of one or more of the plurality of memory block pools in a one or more patterns, reading the programmed memory blocks to identify errors, and identifying the relaxation time delay for each of the memory block pools using a retention time corresponding to the end of the relaxation phase of each of the one or more patterns.

8. The method of claim 7 , wherein the identifying the relaxation time delay for each of the plurality of memory block pools further comprises identifying the relaxation time delay that is greater than or equal to the lowest retention time of the retention time corresponding to the end of the relaxation phase of each of the one or more patterns and less than or equal to the highest retention time of the retention time corresponding to the end of the relaxation phase of each of the one or more patterns.

9. A nonvolatile memory controller for memory block pool wear leveling in a nonvolatile memory device, the nonvolatile memory controller comprising: a memory block pool wear leveling module configured for identifying a plurality of memory block pools of the nonvolatile memory device and for identifying a relaxation time delay for each of the plurality of memory block pools; and a program/erase module coupled to the memory block pool wear leveling module, the program/erase module configured for executing a predetermined number of program/erase cycles for each of the plurality of memory block pools based upon the relaxation time delay of each of the plurality of memory block pools; wherein the relaxation time delay for each of the plurality of memory block pools is identified as a duration of time between a completion of a programming cycle of the memory block pool and a point in time when BER (bit error rate) of the memory block pool is at a minimum.

10. The controller of claim 9 , wherein the relaxation time delay for each of the plurality of memory block pools of the nonvolatile memory device is equivalent.

11. The controller of claim 9 , wherein the relaxation time delay is a time that is within a relaxation phase for a nonvolatile memory device.

12. The controller of claim 9 , wherein the predetermined number of program/erase cycles for each of the plurality of memory block pools is equivalent.

13. The controller of claim 9 , wherein executing the predetermined number of program/erase cycles for each of the plurality of memory block pools based upon the relaxation time delay of each of the plurality of memory block pools further comprises, evenly distributing the execution of the predetermined number of program/erase cycles among a plurality of blocks for each of the plurality of memory block pools.

14. The controller of claim 9 , wherein the memory block pool wear leveling module is further configured for randomly identifying a plurality of memory blocks for each of the plurality of memory blocks pools.

15. The controller of claim 9 , wherein the memory block pool wear leveling module is further configured for identifying the bit error rate (BER) for each of a plurality of memory blocks and for identifying each of the plurality of memory blocks as belonging to one of the plurality of memory block pools based upon the bit error rate of the memory block.

16. The controller of claim 9 , wherein the memory block pool wear leveling module is configured for programming a plurality of memory blocks of each of the plurality of memory block pools in one or more patterns, reading the programmed memory blocks to identify errors, and identifying the relaxation time delay for each of the memory block pools using a retention time corresponding to the end of a relaxation phase of each of the one or more patterns.

17. A nonvolatile memory system for memory block pool wear leveling in a nonvolatile memory device, the nonvolatile memory system comprising: a nonvolatile memory storage module; and a nonvolatile memory controller coupled to the nonvolatile memory storage module, the nonvolatile memory controller comprising: a memory block pool wear leveling module configured for identifying a plurality of memory block pools of the nonvolatile memory system and for identifying a relaxation time delay for each of the plurality of memory block pools; and a program/erase module coupled to the memory block pool wear leveling module, the program/erase module configured for executing a predetermined number of program/erase cycles for each of the plurality of memory block pools based upon the relaxation time delay of each of the plurality of memory block pools; wherein the relaxation time delay for each of the plurality of memory block pools is identified as a duration of time between a completion of a programming cycle of the memory block pool and a point in time when BER (bit error rate) of the memory block pool is at a minimum.

18. The nonvolatile memory system of claim 17 wherein the identified relaxation time delay for each pool is less than or equal to a retention time at which data retention has resulted in a transition of the same number of cells from an erased state to a programmed state as have transitioned from a programmed state to an erased state for one or more test pattern.

19. The nonvolatile memory system of claim 17 , wherein the relaxation time delay is a time that is within a relaxation phase for one or more nonvolatile memory device in the nonvolatile memory storage module.

20. The nonvolatile memory system of claim 17 , wherein the relaxation time delay is a time that is within the last forty percent of a relaxation phase for one or more nonvolatile memory device in the nonvolatile memory storage module.

21. The nonvolatile memory system of claim 17 , wherein the memory block pool wear leveling module is configured for programming a plurality of memory blocks of each of the plurality of memory block pools in one or more patterns, reading the programmed memory blocks to identify errors, and identifying the relaxation time delay for each of the memory block pools using a retention time corresponding to the end of a relaxation phase of each of the one or more patterns.

Assignments (8)
CONFIRMATORY ASSIGNMENT Recorded Sep 7, 2022
From: IP GEM GROUP, LLC
To: POLARIS POWERLED TECHNOLOGIES, LLC
Reel/Frame 061372/0947 →
RELEASE OF SECURITY INTEREST Recorded May 29, 2018
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: MICROSEMI STORAGE SOLUTIONS, INC.; MICROSEMI STORAGE SOLUTIONS (U.S.), INC.
Reel/Frame 046251/0271 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 7, 2017
From: MICROSEMI SOLUTIONS (U.S.), INC.
To: IP GEM GROUP, LLC
Reel/Frame 043212/0001 →
CHANGE OF NAME Recorded Aug 7, 2017
From: MICROSEMI STORAGE SOLUTIONS (U.S.), INC.
To: MICROSEMI SOLUTIONS (U.S.), INC.
Reel/Frame 043458/0351 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE NAME AND ADDRESS PREVIOUSLY RECORDED AT REEL: 037961 FRAME: 0519. ASSIGNOR(S) HEREBY CONFIRMS THE CHANGE OF NAME. Recorded Mar 15, 2016
From: PMC-SIERRA US, INC.
To: MICROSEMI STORAGE SOLUTIONS (US), INC.
Reel/Frame 038102/0874 →
CHANGE OF NAME Recorded Mar 1, 2016
From: PMC-SIERRA US, INC.
To: MICROSEMI STORAGE SOLUTIONS (U.S.), INC.
Reel/Frame 037961/0519 →
PATENT SECURITY AGREEMENT Recorded Feb 3, 2016
From: MICROSEMI STORAGE SOLUTIONS, INC. (F/K/A PMC-SIERRA, INC.); MICROSEMI STORAGE SOLUTIONS (U.S.), INC. (F/K/A PMC-SIERRA US, INC.)
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 037689/0719 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 7, 2014
From: MICHELONI, RINO; CRIPPA, LUCA; MARELLI, ALESSIA
To: PMC-SIERRA US, INC.
Reel/Frame 033254/0894 →