IP Library Granted Patent US 9,563,491
Granted Patent B2
US 9,563,491 · App. 14/484,876 · Granted Feb 7, 2017

High voltage failure recovery for emulated electrically erasable (EEE) memory system

Inventors: Ross S. Scouller (Austin, TX); Jeffrey C. Cunningham (Austin, TX); Daniel L. Andre (Austin, TX); Tim J. Coots (Austin, TX)
Assignee: NXP USA, Inc.
G06F11/073G06F11/0793
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,563,491
App. No.
14/484,876
Granted
Feb 7, 2017
Kind
B2
Abstract

The present disclosure provides methods and circuits for managing failing sectors in a non-volatile memory. A record address and a read control signal are received, where the record address identifies a location in the non-volatile memory. The record address is compared with a plurality of dead sector addresses, where the dead sector addresses correspond to a subset of sectors located in the non-volatile memory. Data located at the record address is determined to be invalid in response to a combination of a first detection that the record address matches one of the dead sector addresses and a second detection that the read control signal indicates a read operation is requested to be performed on the non-volatile memory.

Claims (98)

1. A semiconductor memory system comprising:

a volatile memory;

a non-volatile memory including a plurality of sectors, each of the plurality of sectors configured to store one or more data records; and

a memory controller coupled to the volatile memory and the non-volatile memory, the memory controller comprising:

a sector management logic circuit configured to:

receive a record address and a read control signal, wherein the record address identifies a location in the non-volatile memory,

compare the record address with a plurality of dead sector addresses, wherein the dead sector addresses correspond to a set of sectors located in the non-volatile memory, and

output a memory control signal that is active in response to a combination of a first detection that the record address matches one of the dead sector addresses and a second detection that the read control signal indicates a read operation is requested to be performed on the non-volatile memory, wherein the memory control signal that is active indicates that data located at the record address is invalid; and

a memory control logic circuit coupled between the sector management logic circuit and the volatile memory, the memory control logic circuit configured to:

receive the memory control signal and the data located at the record address; and

discard the data in response to the memory control signal that is active.

2. The semiconductor memory system of claim 1 , wherein

the memory controller further comprises an address generation circuit, and

the sector management logic circuit is configured to receive the record address and the read control signal from the address generation circuit.

3. The semiconductor memory system of claim 1 , wherein

the sector management logic circuit comprises a sector comparator that is configured to: perform a comparison of the record address with the dead sector addresses, and output a read disable signal based on the comparison, wherein

the read disable signal is active in response to the first detection that the record address matches one of the dead sector addresses, and

the read disable signal is inactive in response to a third detection that the record address does not match any of the dead sector addresses.

4. The semiconductor memory system of claim 1 , wherein

the sector management logic circuit is further configured to

output the memory control signal that is inactive in response to a combination of a third detection that the record address does not match any of the dead sector addresses and the second detection, and

wherein the memory control signal that is inactive indicates that data located at the record address is valid, and

the memory control logic circuit is further configured to utilize the data located at the record address in response to the memory control signal that is inactive.

5. The semiconductor memory system of claim 3 , wherein

the sector management logic circuit further comprises a logic gate circuit that is configured to output the memory control signal, the logic gate circuit having a first input coupled to the read control signal and a second input coupled to the read disable signal.

6. The semiconductor memory system of claim 1 , wherein

each dead sector address includes a set of bits that identifies a respective sector number of the set of sectors,

the record address includes another set of bits that identifies a specific sector number in which the record address is located,

the sector management logic circuit further comprises a second volatile memory that comprises a plurality of flopped registers,

each of the flopped registers are configured to store one of the respective sector numbers of the dead sector addresses, and

the sector comparator is further configured to compare the specific sector number with each of the respective sector numbers.

7. The semiconductor memory system of claim 1 , wherein

each respective sector of the plurality of sectors is further configured to store

a sector identifier (ID) that indicates an erase status of the respective sector,

a failure status indicator that indicates a failure status of the respective sector, and

a sector address of the respective sector.

8. The semiconductor memory system of claim 7 , wherein

the sector management logic circuit is further configured to:

identify sector addresses associated with failure status indicators having dead status bits set to a dead indicator value, and

write the sector addresses to a second volatile memory as the dead sector addresses.

9. A method for managing failing sectors in a semiconductor memory device that includes a volatile memory, a non-volatile memory, and a memory controller coupling the volatile memory and the non-volatile memory, the method comprising:

receiving a record address and a read control signal, wherein the record address identifies a location in the non-volatile memory;

comparing the record address with a plurality of dead sector addresses, wherein the dead sector addresses correspond to a subset of sectors located in the non-volatile memory; and

determining that data located at the record address is invalid in response to a combination of a first detection that the record address matches one of the dead sector addresses and a second detection that the read control signal indicates a read operation is requested to be performed on the non-volatile memory;

receiving the data located at the record address; and

discarding the data in response to the memory control signal that is active.

10. The method of claim 9 , wherein the comparing the record address with the plurality of dead sector addresses comprises

comparing a first set of bits of the record address to a second set of bits of each of the dead sector addresses, wherein

the first set of bits identify a specific sector number in which the record address is located, and

the second set of bits each identify a respective sector number of the dead sector addresses.

11. The method of claim 9 , further comprising:

identifying an oldest full sector for an erase action, wherein the oldest full sector is associated with a failure status indicator having dead status bits and read-only bits.

12. The method of claim 11 , further comprising:

in response to determining that the dead status bits are set to a dead indicator value, updating a sector identifier (ID) of a next sector of the oldest full sector.

13. The method of claim 11 , further comprising:

in response to determining that the dead status bits are set to a default indicator value and the read-only bits are set to a read-only indicator value, updating the dead status bits to a dead indicator value.

14. The method of claim 11 , further comprising:

in response to determining that the dead status bits and the read-only bits are set to a default indicator value, performing the erase action on the oldest full sector; and

in response to determining that the erase action failed, updating the dead status bits to a dead indicator value.

15. The method of claim 9 , further comprising:

detecting that a failure to program (FTP) error occurred during a sector identifier (ID) update action for a sector, wherein

the sector is associated with a failure status indicator having dead status bits and read-only status bits set to a default indicator value;

in response to determining the FTP error occurred while attempting to program the sector ID to one of a READY, READYQ, FULL, and FULLQ erase status, updating the dead status bits to a dead indicator value and storing a sector address of the sector; and

in response to determining the FTP error occurred while attempting to program the sector ID to one of a FULLE, FULLEQ, FULLC, and FULLCQ erase status, updating the read-only status bits to a read-only indicator value and storing the sector address of the sector.

16. The method of claim 9 , further comprising:

receiving a request to write a new record to the non-volatile memory, the new record comprising a memory address of the volatile memory;

searching for any existing records in the non-volatile memory that correspond to the memory address;

in response to finding at least one existing record located in a sector associated with a failure status indicator having read-only status bits set to a read-only indicator value,

writing the new record to the non-volatile memory without updating the at least one existing record; and

in response to not finding at least one existing record located in a sector associated with the failure status indicator having read-only status bits set to the read-only indicator value,

writing the new record to the non-volatile memory, and

invalidating any found existing records that are located in sectors that are associated with another failure status indicator having read-only status bits and dead status bits set to a default indicator value.

17. The method of claim 9 , further comprising:

determining that data located at the record address is valid in response to a combination of a third detection that the record address does not match one of the dead sector addresses and the second detection, wherein

the valid data is utilized in at least one of a copy down action and a search action,

the copy down action updates the volatile memory with the valid data located at the record address in the non-volatile memory,

the copy down action does not update the volatile memory with invalid data located at the record address in the non-volatile memory,

the search action utilizes the valid data located at the record address in the non-volatile memory to search for requested data, and

the search action does not utilize invalid data located at the record address in the non-volatile memory to search for requested data.

18. A computer processing system comprising:

a volatile memory;

a non-volatile memory including a plurality of sectors, each of the plurality of sectors configured to store one or more data records; and

a control module coupled to the non-volatile memory and the volatile memory, the control module is configured to

receive a record address and a read control signal, wherein the record address identifies a location in the non-volatile memory,

compare the record address with a plurality of dead sector addresses, wherein the dead sector addresses correspond to a set of sectors located in the non-volatile memory, and

generate a memory control signal that is active in response to a combination of a first detection that the record address matches one of the dead sector addresses and a second detection that the read control signal indicates a read operation is requested to be performed on the non-volatile memory, wherein

the memory control signal that is active indicates that data located at the record address is invalid; and

a volatile memory (VM) control module coupled between the control module and the volatile memory, the VM control module configured to

receive the memory control signal and the data located at the record address, and

discard the data in response to the memory control signal that is active.

19. The computer processing system of claim 18 , wherein

the memory control signal is inactive in response to a combination of a third detection that the record address does not match one of the dead sector addresses and the second detection, and

the memory control signal that is inactive indicates that data located at the record address is valid.

20. The computer processing system of claim 18 , further comprising:

a non-volatile memory (NVM) control module coupled to the non-volatile memory, the NVM control module configured to

receive the record address and the read control signal, and

implement the read operation as indicated by the read control signal, wherein

the non-volatile memory is configured to output the data located at the record address to the VM control module in response to the read operation implemented by the NVM control module.

Assignments (17)
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 →
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 NATURE OF CONVEYANCE PREVIOUSLY RECORDED AT REEL: 040626 FRAME: 0683. ASSIGNOR(S) HEREBY CONFIRMS THE MERGER AND CHANGE OF NAME EFFECTIVE NOVEMBER 7, 2016. Recorded Jan 12, 2017
From: NXP SEMICONDUCTORS USA, INC. (MERGED INTO); FREESCALE SEMICONDUCTOR, INC. (UNDER)
To: NXP USA, INC.
Reel/Frame 041414/0883 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNMENT DOCUMENTATION - INITIAL CONVENYANCE LISTED CHANGE OF NAME. PREVIOUSLY RECORDED ON REEL 040579 FRAME 0827. ASSIGNOR(S) HEREBY CONFIRMS THE UPDATE CONVEYANCE TO MERGER AND CHANGE OF NAME EFFECTIVE NOVEMBER 7, 2016. Recorded Dec 15, 2016
From: NXP SEMICONDUCTORS USA, INC. (MERGED INTO); FREESCALE SEMICONDUCTOR, INC. (UNDER)
To: NXP USA, INC.
Reel/Frame 040945/0252 →
CHANGE OF NAME Recorded Nov 16, 2016
From: FREESCALE SEMICONDUCTOR INC.
To: NXP USA, INC.
Reel/Frame 040626/0683 →
CHANGE OF NAME Recorded Nov 9, 2016
From: FREESCALE SEMICONDUCTOR INC.
To: NXP USA, INC.
Reel/Frame 040579/0827 →
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 7, 2016
From: CITIBANK, N.A.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 037458/0502 →
ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS Recorded Jan 7, 2016
From: CITIBANK, N.A.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 037458/0460 →
PATENT RELEASE Recorded Dec 21, 2015
From: CITIBANK, N.A., AS COLLATERAL AGENT
To: FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 037357/0921 →
SUPPLEMENT TO IP SECURITY AGREEMENT Recorded Nov 4, 2014
From: FREESCALE SEMICONDUCTOR, INC.
To: CITIBANK, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 034153/0027 →
SUPPLEMENT TO IP SECURITY AGREEMENT Recorded Nov 4, 2014
From: FREESCALE SEMICONDUCTOR, INC.
To: CITIBANK, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 034160/0351 →
SUPPLEMENT TO IP SECURITY AGREEMENT Recorded Nov 4, 2014
From: FREESCALE SEMICONDUCTOR, INC.
To: CITIBANK, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 034160/0370 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 24, 2014
From: SCOULLER, ROSS S.; CUNNINGHAM, JEFFREY C.; ANDRE, DANIEL L.; COOTS, TIM J.
To: FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 033803/0542 →
Continuity (1)
Related Publication 20160077906A1 · Mar 17, 2016