IP Library Granted Patent US 8,656,086
Granted Patent B2
US 8,656,086 · App. 12/962,781 · Granted Feb 18, 2014

System and method for autonomous NAND refresh

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 8,656,086
App. No.
12/962,781
Granted
Feb 18, 2014
Kind
B2
Abstract

A background scheduler is provided that utilizes low-level communications (e.g., communications with a generic or controller-specific solid state, non-volatile memory driver) to control locking, reading, rewriting and unlocking of pages of data in the non-volatile memory. Such low-level communications cause data to be rewritten to the non-volatile memory independent of the file system in an effort to avoid data loss prior to an estimated data retention period.

Claims (45)

1. A computer system having files stored in a computer file system, the computer system comprising:

a central processing unit;

a non-volatile memory coupled to the central processing unit; and

memory containing computer program code embedded therein, wherein the computer program code controls the central processing unit to determine if a file system independent rewrite process should occur, and, if the file-system independent rewrite process should occur, controls the central processing unit to read at least one page of the non-volatile memory and rewrite the at least one page of non-volatile memory into the non-volatile memory such that each rewritten page of the at least one page appears to the file system to be in the same location after being rewritten as before being rewritten, wherein determining if the file system independent rewrite process should occur comprises determining a temperature of the embedded system and determining based on the temperature if at least a temperature-specific period of time has elapsed since a last rewrite process occurred.

2. The computer system as claimed in claim 1 , wherein the at least one page comprises all pages in a first group of pages but excludes all pages in a second group of pages.

3. The computer system as claimed in claim 1 , wherein the at least one page comprises all pages in at least one block, the file system independent rewrite process further comprising erasing the at least one block of the non-volatile memory between reading and rewriting the least one block of the non-volatile memory.

4. The computer system as claimed in claim 1 , further comprising:

locking the least one page of the non-volatile memory before reading the least one page of the non-volatile memory; and

unlocking the least one page of the non-volatile memory after confirming that the rewriting of the least one page of the non-volatile memory was successful.

5. The computer system as claimed in claim 1 , further comprising for each page of the least one page of the non-volatile memory:

determining if the rewriting of the each page failed and retrying the rewriting of the each page until at least one of a successful rewrite or a threshold number of retries has occurred.

6. The computer system as claimed in claim 5 , wherein the at least one page comprises all pages in at least one block, the file system independent rewrite process further comprising marking the each block as a bad block if the each block has not been successfully rewritten after the threshold number of retries has occurred for the each block.

7. The computer system as claimed in claim 5 , further comprising:

writing the each page to a corresponding reserved page of a pool of reserved pages if the each page has not been successfully rewritten after the threshold number of retries has occurred for the each page; and

dynamically remapping read requests for the each page to the corresponding reserved page to which the each page has been written if the each page has not been successfully rewritten after the threshold number of retries has occurred for the each page.

8. The computer system as claimed in claim 7 , further comprising:

returning an error code when the file system attempts to write to a dynamically remapped page for which data is being stored in the pool of reserved pages;

marking the dynamically remapped page as a bad page; and

freeing from the pool of reserved pages the reserved page corresponding to the dynamically remapped page.

9. The computer system as claimed in claim 1 , wherein the at least one page comprises at least first and second pages and a programmed delay is used between rewriting the first page and rewriting the second page to allow the file system to access the non-volatile memory between rewriting the first page and rewriting the second page.

10. The computer system as claimed in claim 1 , wherein the memory containing the computer program code for controlling the file-system independent rewrite process is the non-volatile memory.

11. The computer system as claimed in claim 1 , wherein the memory containing the computer program code for controlling the file-system independent rewrite process is at least one dynamic random access memory (DRAM) module.

12. The computer system as claimed in claim 1 , wherein the non-volatile memory comprises a solid state memory.

13. The computer system as claimed in claim 12 , further comprising:

locking the least one page of the non-volatile memory before reading the least one page of the non-volatile memory; and

unlocking the least one page of the non-volatile memory after confirming that the rewriting of the least one page of the non-volatile memory was successful.

14. The computer system as claimed in claim 13 , further comprising erasing the at least one page of the non-volatile memory between reading and rewriting the least one page of the non-volatile memory.

15. The computer system as claimed in claim 12 , wherein the solid state memory comprises a NAND flash.

16. The computer system as claimed in claim 1 , wherein the central processing unit comprises a microprocessor.

17. The computer system as claimed in claim 1 , wherein the central processing unit comprises an embedded processor.

18. The computer system as claimed in claim 1 , wherein the non-volatile memory comprises a magnetic-based memory.

19. The computer system as claimed in claim 18 , wherein the magnetic-based memory comprises a platter of a hard disk drive.

20. The computer system as claimed in claim 1 , wherein the non-volatile memory comprises an optical-based memory.

21. The computer system as claimed in claim 20 , wherein the optical-based memory comprises at least one of a rewritable CD and a rewritable DVD.

22. The computer system as claimed in claim 1 , wherein the computer system comprises an embedded system.

23. The computer system as claimed in claim 22 , wherein the embedded system comprises a remote access device.

24. The computer system as claimed in claim 23 , wherein the remote access device comprises a keyboard, video and mouse (KVM) switch.

25. A computer system having files stored in a computer file system, the computer system comprising:

a central processing unit;

a non-volatile memory coupled to the central processing unit; and

memory containing computer program code embedded therein, wherein the computer program code controls the central processing unit to determine if a file system independent rewrite process should occur, and, if the file-system independent rewrite process should occur, controls the central processing unit to read at least one page of the non-volatile memory and rewrite the at least one page of non-volatile memory into the non-volatile memory such that each rewritten page of the at least one page appears to the file system to be in the same location after being rewritten as before being rewritten, wherein the at least one page comprises all non-empty pages in a first group of pages but excludes all empty pages in the first group of pages and all empty and non-empty pages in a second group of pages.

26. A computer system having files stored in a computer file system, the computer system comprising:

a central processing unit;

a non-volatile memory coupled to the central processing unit; and

memory containing computer program code embedded therein, wherein the computer program code controls the central processing unit to determine if a file system independent rewrite process should occur, and, if the file-system independent rewrite process should occur, controls the central processing unit to read at least one page of the non-volatile memory and rewrite the at least one page of non-volatile memory into the non-volatile memory such that each rewritten page of the at least one page appears to the file system to be in the same location after being rewritten as before being rewritten, wherein the at least one page comprises all pages in a first group of pages that are in use in the file system but excludes (1) all pages in the first group of pages that are not in use in a file system and (2) all pages in a second group of pages.

Assignments (10)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 16, 2024
From: VERTIV IT SYSTEMS, INC.
To: VERTIV CORPORATION
Reel/Frame 069695/0620 →
SECURITY INTEREST Recorded Oct 26, 2021
From: VERTIV CORPORATION; VERTIV IT SYSTEMS, INC.; ELECTRICAL RELIABILITY SERVICES, INC.; ENERGY LABS, INC.
To: UMB BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 057923/0782 →
SECURITY AGREEMENT Recorded Mar 3, 2020
From: ELECTRICAL RELIABILITY SERVICES, INC.; ENERGY LABS, INC.; VERTIV CORPORATION; VERTIV IT SYSTEMS, INC.
To: CITIBANK, N.A.
Reel/Frame 052076/0874 →
RELEASE OF SECURITY INTEREST Recorded Mar 2, 2020
From: JPMORGAN CHASE BANK, N.A.
To: VERTIV CORPORATION (F/K/A ALBER CORP.); VERTIV IT SYSTEMS, INC. (F/K/A AVOCENT CORPORATION); VERTIV IT SYSTEMS, INC. (F/K/A AVOCENT FREMONT, LLC); VERTIV IT SYSTEMS, INC. (F/K/A AVOCENT HUNTSVILLE, LLC); VERTIV IT SYSTEMS, INC. (F/K/A AVOCENT REDMOND CORP.); ELECTRICAL RELIABILITY SERVICES, INC.; VERTIV CORPORATION (F/K/A EMERSON NETWORK POWER, ENERGY SYSTEMS, NORTH AMERICA, INC.); VERTIV CORPORATION (F/K/A LIEBERT CORPORATION)
Reel/Frame 052065/0666 →
RELEASE OF SECURITY INTEREST Recorded Mar 2, 2020
From: THE BANK OF NEW YORK MELLON TRUST COMPANY N.A.
To: VERTIV CORPORATION; VERTIV IT SYSTEMS, INC.; ELECTRICAL RELIABILITY SERVICES, INC.
Reel/Frame 052071/0913 →
SECOND LIEN SECURITY AGREEMENT Recorded Jun 10, 2019
From: VERTIV IT SYSTEMS, INC.; VERTIV CORPORATION; VERTIV NORTH AMERICA, INC.; ELECTRICAL RELIABILITY SERVICES, INC.; VERTIV ENERGY SYSTEMS, INC.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 049415/0262 →
CHANGE OF NAME Recorded Dec 11, 2018
From: AVOCENT CORPORATION
To: VERTIV IT SYSTEMS, INC.
Reel/Frame 047788/0620 →
SECURITY AGREEMENT Recorded Dec 2, 2016
From: ALBER CORP.; ASCO POWER TECHNOLOGIES, L.P.; AVOCENT CORPORATION; AVOCENT FREMONT, LLC; AVOCENT HUNTSVILLE, LLC; AVOCENT REDMOND CORP.; ELECTRICAL RELIABILITY SERVICES, INC.; EMERSON NETWORK POWER, ENERGY SYSTEMS, NORTH AMERICA, INC.; LIEBERT CORPORATION; LIEBERT NORTH AMERICA, INC.; NORTHERN TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 040797/0615 →
SECURITY AGREEMENT Recorded Dec 1, 2016
From: ALBER CORP.; ASCO POWER TECHNOLOGIES, L.P.; AVOCENT CORPORATION; AVOCENT FREMONT, LLC; AVOCENT HUNTSVILLE, LLC; AVOCENT REDMOND CORP.; ELECTRICAL RELIABILITY SERVICES, INC.; EMERSON NETWORK POWER, ENERGY SYSTEMS, NORTH AMERICA, INC.; LIEBERT CORPORATION; LIEBERT NORTH AMERICA, INC.; NORTHERN TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 040783/0148 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 12, 2011
From: ZIMMERMANN, ARNALDO; IMOTO, JAMES; CECI, LIVIO
To: AVOCENT CORPORATION
Reel/Frame 027047/0289 →