IP Library Granted Patent US 8,438,327
Granted Patent B2
US 8,438,327 · App. 12/826,814 · Granted May 7, 2013

Recovery scheme for an emulated memory system

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,438,327
App. No.
12/826,814
Granted
May 7, 2013
Kind
B2
Abstract

A system includes an emulation memory having a first sector of non-volatile memory for storing information, in which the non-volatile memory includes a plurality of records. It is determined if a last record written of the plurality of records is a compromised record, if the last record written is not a compromised record, a next write is performed to a record of the plurality of records that is next to the last record written. If the last record written is a comprised record, an address of the compromised record is determined, valid data for the address of the compromised record is written into the record of the plurality of records that is next to the compromised record, and data is written into a record that is next to the record of the plurality of records that is next to the compromised record.

Claims (43)

1. In a system having an emulation memory having a first sector of non-volatile memory for storing information, wherein the non-volatile memory includes a plurality of records, a method comprising:

determining if a last record written of the plurality of records is a compromised record;

if the last record written is not a compromised record, performing a next write to a record of the plurality of records that is next to the last record written; and

if the last record written is a compromised record:

determining an address of the compromised record;

writing valid data for the address of the compromised record into the record of the plurality of records that is next to the compromised record; and

writing data into a record that is next to the record of the plurality of records that is next to the compromised record.

2. The method of claim 1 wherein determining the address comprises writing a valid address into the compromised record.

3. The method of claim 1 , wherein the step of determining if a last record written of the plurality of records is a compromised record comprises performing a verification of a write operation.

4. The method of claim 1 , wherein the step of determining if a last record written of the plurality of records is a compromised record comprises determining if an incomplete write had been performed on the compromised record.

5. The method of claim 4 , wherein the step of determining if an incomplete write had been performed on the compromised record comprises determining that power had been lost during writing of the compromised record causing an incomplete write.

6. The method of claim 4 , wherein the step of determining if an incomplete write had been performed on the compromised record comprises determining that power had been reduced below a predetermined magnitude during writing of the compromised record causing an incomplete write.

7. The method of claim 1 , wherein the step of determining if a last record written of the plurality of records is a compromised record determines that the last record written is the compromised record due to brownout.

8. The method of claim 1 , further comprising:

performing an erase of the sector;

determining that a first record of the plurality of records had at least one bit that was not sufficiently erased during the step of performing an erase; and

performing writes on the sector until the first record is the last record written.

9. The method of claim 8 , wherein the step of determining if the last record written of the plurality of records is the compromised record determines that the first record is the compromised record.

10. The method of claim 1 , further comprising updating status bits in the compromised record after writing data in the record next to the compromised record to indicate the compromised record is erased.

11. The method of claim 1 , if the step of determining if the last record written of the plurality of records is a compromised record determines that the last record written is a compromised record, further comprising updating status bits in the compromised record to indicate that the compromised record is compromised.

12. The method of claim 11 , further comprising further updating the status bits in the compromised record after writing data in the record next to the compromised record to indicate the compromised record is erased.

13. The method of claim 12 , wherein the step of determining an address of the compromised record further comprises writing a valid address into the compromised record, further comprising:

locating a corresponding record in the emulation memory having the valid address of the compromised record; and

updating status bits in the corresponding record to indicate the corresponding record is erased after writing valid data for the address of the compromised record into the record of the plurality of records next to the compromised record.

14. A method of operating an emulation memory having a plurality of sectors including a first sector, wherein each sector has a plurality of records, comprising:

identifying a last record written as a compromised record;

determining a valid address for the compromised record;

writing valid data from a corresponding record of the plurality of records in the plurality of sectors having the valid address into a record next to the compromised record; and

writing next valid data into a record next to the record next to the compromised record.

15. The method of claim 14 , wherein the step of determining a valid address comprises writing the valid address into the compromised record after the step of identifying the last record written as the compromised record.

16. The method of claim 15 , wherein the step of identifying comprises indentifying that a brownout occurred during writing of the last record written that caused last record written to be the compromised record.

17. The method of claim 16 , further comprising updating status bits of the compromised record to indicate that the compromised record is compromised.

18. The method of claim 17 further comprising:

updating the status bits of the compromised record to indicate the compromised record is erased after the step of writing valid data; and

updating status bits of the corresponding record to indicate the corresponding record is erased after the step of writing valid data.

19. A method of operating an emulation memory having sectors and records within the sectors wherein erasing occurs by sector, comprising:

determining that a last record written was a compromised record due to one of a group consisting of failing to pass verification during writing and experiencing brownout during writing;

writing an address of the compromised record to a stable address;

locating a corresponding record that is valid having the stable address;

writing contents of the corresponding record into a record next to the compromised record; and

after the writing the contents of the corresponding record, updating status bits of the corresponding record and the compromised record to indicate that the corresponding record and the compromised record were erased.

20. The method of claim 19 further comprising:

prior to the writing the address, updating status bits of the compromised record to indicate that the compromised record has been compromised.

Assignments (21)
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 11759915 AND REPLACE IT WITH APPLICATION 11759935 PREVIOUSLY RECORDED ON REEL 040925 FRAME 0001. ASSIGNOR(S) HEREBY CONFIRMS THE RELEASE OF SECURITY INTEREST. Recorded Feb 17, 2020
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP, B.V. F/K/A FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 052917/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 11759915 AND REPLACE IT WITH APPLICATION 11759935 PREVIOUSLY RECORDED ON REEL 040928 FRAME 0001. ASSIGNOR(S) HEREBY CONFIRMS THE RELEASE OF SECURITY INTEREST. Recorded Jan 17, 2020
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP B.V.
Reel/Frame 052915/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 11759915 AND REPLACE IT WITH APPLICATION 11759935 PREVIOUSLY RECORDED ON REEL 037486 FRAME 0517. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS. Recorded Dec 10, 2019
From: CITIBANK, N.A.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 053547/0421 →
RELEASE OF SECURITY INTEREST Recorded Sep 10, 2019
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP B.V.
Reel/Frame 050744/0097 →
CORRECTIVE ASSIGNMENT TO CORRECT THE TO CORRECT THE APPLICATION NO. FROM 13,883,290 TO 13,833,290 PREVIOUSLY RECORDED ON REEL 041703 FRAME 0536. ASSIGNOR(S) HEREBY CONFIRMS THE THE ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS.. Recorded Feb 20, 2019
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: SHENZHEN XINGUODU TECHNOLOGY CO., LTD.
Reel/Frame 048734/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE PATENTS 8108266 AND 8062324 AND REPLACE THEM WITH 6108266 AND 8060324 PREVIOUSLY RECORDED ON REEL 037518 FRAME 0292. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS. Recorded Feb 1, 2017
From: CITIBANK, N.A.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 041703/0536 →
MERGER Recorded Jan 3, 2017
From: FREESCALE SEMICONDUCTOR, INC.
To: NXP USA, INC.
Reel/Frame 041144/0363 →
RELEASE OF SECURITY INTEREST Recorded Nov 7, 2016
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP B.V.
Reel/Frame 040928/0001 →
RELEASE OF SECURITY INTEREST Recorded Sep 21, 2016
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP, B.V., F/K/A FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 040925/0001 →
SUPPLEMENT TO THE SECURITY AGREEMENT Recorded Jun 16, 2016
From: FREESCALE SEMICONDUCTOR, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 039138/0001 →
ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS Recorded Jan 13, 2016
From: CITIBANK, N.A.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 037518/0292 →
ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS Recorded Jan 12, 2016
From: CITIBANK, N.A.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 037486/0517 →
PATENT RELEASE Recorded Dec 21, 2015
From: CITIBANK, N.A., AS COLLATERAL AGENT
To: FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 037357/0285 →
PATENT RELEASE Recorded Dec 21, 2015
From: CITIBANK, N.A., AS COLLATERAL AGENT
To: FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 037357/0387 →
PATENT RELEASE Recorded Dec 21, 2015
From: CITIBANK, N.A., AS COLLATERAL AGENT
To: FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 037357/0334 →
SECURITY AGREEMENT Recorded Nov 6, 2013
From: FREESCALE SEMICONDUCTOR, INC.
To: CITIBANK, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 031591/0266 →
SECURITY AGREEMENT Recorded Jun 18, 2013
From: FREESCALE SEMICONDUCTOR, INC.
To: CITIBANK, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 030633/0424 →
SECURITY AGREEMENT Recorded Jan 31, 2012
From: FREESCALE SEMICONDUCTOR, INC.
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 027622/0477 →
SECURITY AGREEMENT Recorded Jan 31, 2012
From: FREESCALE SEMICONDUCTOR, INC.
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 027622/0075 →
SECURITY AGREEMENT Recorded Jan 31, 2012
From: FREESCALE SEMICONDUCTOR, INC.
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 027621/0928 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 30, 2010
From: SCOULLER, ROSS S.; ANDRE, DANIEL L.; BAKER, FRANK K., JR.; MCGINTY, STEPHEN F.
To: FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 024614/0692 →