IP Library Granted Patent US 9,405,720
Granted Patent B2
US 9,405,720 · App. 13/941,671 · Granted Aug 2, 2016

Managing wait states for memory access

Inventors: Frode Milch Pedersen (Trondheim, NO); Sebastien Jouin (LaChapell-Launay, FR); Ian Fullerton (Tanem, NO)
Assignee: Atmel Corporation
G06F13/4217G06F13/1689G06F13/4243
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,405,720
App. No.
13/941,671
Granted
Aug 2, 2016
Kind
B2
Abstract

A latch signal is received from a non-volatile memory device that is indicative of a current access time for the non-volatile memory device. The access time represents an amount of time required for the non-volatile memory device to make data available responsive to a request for data. A bus system clock signal is received. The latch signal is evaluated and a wait state for the non-volatile memory device is adjusted based on the evaluation. The wait state represents a number of cycles of the bus system clock used by a central processing unit for an access of the non-volatile memory device. A bus system data ready signal that is triggered based on the adjusted wait state is produced. The bus system data ready signal, when triggered, indicates that data is available responsive to the request.

Claims (60)

1. A method comprising:

receiving a first edge of a latch signal from a non-volatile memory device that indicates a start of a memory access performed by the non-volatile memory device;

receiving a first edge of a system bus clock signal that corresponds to a start of a first cycle of the system bus clock;

based on the first edge of the latch signal and the first edge of the system bus clock signal, setting a latch delay signal to a first state;

conditioned on the latch delay signal being in the first state, setting a system bus data ready signal to the first state to indicate an initiation of a wait state for a central processing unit (CPU), wherein the wait state is associated with reading data from the non-volatile memory device, and wherein the latch delay signal is distinct from the system bus data ready signal;

receiving a second edge of the latch signal from the non-volatile memory device that indicates that data is available; and

based on the second edge of the latch signal and the system bus clock signal, setting the system bus data ready signal to a second state to indicate completion of the wait state for the CPU.

2. The method of claim 1 , wherein receiving a latch signal includes receiving the latch signal from the non-volatile memory device, and wherein the first edge of the latch signal is indicative of a start time for processing a request for data and the second edge of the latch signal is indicative of an end to the processing of the request and data being available responsive to the request.

3. The method of claim 1 , wherein the system bus clock signal is received from the CPU and wherein the system bus clock signal varies over time depending on an application executed by the CPU.

4. The method of claim 1 , wherein receiving the first edge or the second edge of the latch signal includes:

evaluating a data ready edge of the latch signal; and

adjusting the wait state based on the evaluation, including automatically increasing or decreasing the wait state and delaying or accelerating a triggering of the system bus data ready signal depending on a current access time associated with the non-volatile memory device.

5. The method of claim 4 , wherein the system bus clock signal varies over time depending on an application executed by the CPU and wherein the wait state adjustment is independent of frequency of the system bus clock signal.

6. The method of claim 1 , wherein setting the system bus data ready signal includes triggering the system bus data ready signal a finite amount of time after receipt of a data ready edge of the latch signal.

7. The method of claim 6 , wherein the finite amount of time is based on the system bus clock signal, the system bus data ready signal triggered after elapse of a complete cycle of the system bus clock signal subsequent to the receipt of the data ready edge of the latch signal.

8. The method of claim 1 , wherein the latch signal represents an amount of time used to access physical memory locations in the non-volatile memory device responsive to a request for data.

9. The method of claim 1 , comprising synchronizing the latch signal to the system bus clock signal.

10. The method of claim 1 , wherein setting the system bus data ready signal to the first state conditioned on the latch delay signal being in the first state comprises:

receiving a leading edge of a next cycle of the system bus clock signal after the first cycle of the system bus clock signal; and

in response to receiving the leading edge of the next cycle of the system bus clock signal after the first cycle of the system bus clock signal when the latch delay signal is in the first state, setting the system bus data ready signal to the first state.

11. The method of claim 10 , wherein setting the system bus data ready signal to the second state based on the second edge of the latch signal and the system bus clock signal comprises:

receiving a second edge of the system bus clock signal that corresponds to a start of a second cycle of the system bus clock; and

changing the latch delay signal from the first state to the second state based on receiving the second edge of the latch signal and the second edge of the system bus clock signal.

12. The method of claim 11 , further comprising:

receiving a leading edge of a next cycle of the system bus clock signal after the second cycle of the system bus clock signal; and

in response to receiving the leading edge of the next cycle of the system bus clock signal after the second cycle of the system bus clock signal when the latch delay signal is in the second state, setting the system bus data ready signal to the second state.

13. The method of claim 8 , wherein the amount of time used to access the physical memory locations in the non-volatile memory device depends on one or more of temperature, voltage, memory semiconductor material, process deviation or frequency of memory access.

14. A system comprising:

a storage medium storing first logic that, when executed, is operable to cause a processor to:

determine a current access time associated with a non-volatile memory device, wherein access time defines an amount of time used by the non-volatile memory device to make data available responsive to a request for data;

generate a latch signal that is indicative of the current access time; and

provide the latch signal to a non-volatile memory device controller; and a storage medium storing second logic that, when executed, is operable to cause the non-volatile memory device controller to:

receive a first edge of the latch signal from the non-volatile memory device that indicates start of a memory access performed by the non-volatile memory device;

receive a first edge of a system bus clock signal that corresponds to a start of a first cycle of the system bus clock;

based on the first edge of the latch signal and the first edge of the system bus clock signal, set a latch delay signal to a first state;

conditioned on the latch delay signal being in the first state, set a system bus data ready signal to a first state to indicate an initiation of a wait state for a central processing unit (CPU), wherein the wait state is associated with reading data from the non-volatile memory device, and wherein the latch delay signal is distinct from the system bus data ready signal;

receive a second edge of the latch signal from the non-volatile memory device that indicates that data is available; and

based on the second edge of the latch signal and the system bus clock signal, set the system bus data ready signal to a second state to indicate completion of the wait state for the CPU to read data.

15. The system of claim 14 , wherein the second logic that is operable to cause the non-volatile memory device controller to receive the system bus clock signal includes logic that is operable to:

synchronize the latch signal to the system bus clock signal.

16. The system of claim 14 , wherein the system bus clock signal is received from the CPU and wherein the system bus clock signal varies over time depending on an application executed by the CPU.

17. The system of claim 14 , wherein the second logic that is operable to cause the non-volatile memory device controller to receive the first edge of the latch signal includes logic operable to:

evaluate a data ready edge of the latch signal; and

adjust the wait state based on the evaluation, including automatically increase or decrease the wait state and delay or accelerate a triggering of the system bus data ready signal depending on a current access time associated with the non-volatile memory device.

18. The system of claim 17 , wherein the system bus clock signal varies over time depending on an application executed by the CPU and wherein the wait state adjustment is independent of frequency of the system bus clock signal.

19. The system of claim 14 , wherein the second logic that is operable to cause the non-volatile memory device controller to set the system bus data ready signal includes logic operable to trigger the system bus data ready signal a finite amount of time after receipt of a data ready edge of the latch signal.

20. The system of claim 19 , wherein the finite amount of time is based on the system bus clock signal, the system bus data ready signal triggered after elapse of a complete cycle of the system bus clock signal subsequent to the receipt of the data ready edge of the latch signal.

21. The system of claim 14 , wherein the latch signal represents an amount of time used to access physical memory locations in the non-volatile memory device responsive to a request for data.

22. The system of claim 14 , wherein the second logic is operable to cause the non-volatile memory device controller to:

synchronize a leading edge of the latch signal to the system bus clock signal.

23. The system of claim 14 , wherein setting the system bus data ready signal to the first state conditioned on the latch delay signal being in the first state comprises:

receive a leading edge of a next cycle of the system bus clock signal after the first cycle of the system bus clock signal; and

in response to receiving the leading edge of the next cycle of the system bus clock signal after the first cycle of the system bus clock signal when the latch delay signal is in the first state, setting the system bus data ready signal to the first state.

24. The system of claim 23 , wherein setting the system bus data ready signal to the second state based on the second edge of the latch signal and the system bus clock signal comprises:

receiving a second edge of the system bus clock signal that corresponds to a start of a second cycle of the system bus clock; and

changing the latch delay signal from the first state to the second state based on receiving the second edge of the latch signal and the second edge of the system bus clock signal.

25. The system of claim 24 , wherein the second logic is operable to cause the non-volatile memory device controller to:

receive a leading edge of a next cycle of the system bus clock signal after the second cycle of the system bus clock signal; and

in response to receiving the leading edge of the next cycle of the system bus clock signal after the second cycle of the system bus clock signal when the latch delay signal is in the second state, set the system bus data ready signal to the second state.

26. The system of claim 21 , wherein the amount of time used to access the physical memory locations in the non-volatile memory device depends on one or more of temperature, voltage, memory semiconductor material, process deviation or frequency of memory access.

Assignments (19)
RELEASE OF SECURITY INTEREST Recorded Mar 14, 2022
From: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
To: MICROCHIP TECHNOLOGY INCORPORATED; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
Reel/Frame 060894/0437 →
RELEASE OF SECURITY INTEREST Recorded Mar 11, 2022
From: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
To: MICROCHIP TECHNOLOGY INCORPORATED; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
Reel/Frame 059363/0001 →
RELEASE OF SECURITY INTEREST Recorded Mar 10, 2022
From: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
To: MICROCHIP TECHNOLOGY INCORPORATED; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
Reel/Frame 059863/0400 →
RELEASE OF SECURITY INTEREST Recorded Mar 9, 2022
From: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
To: MICROCHIP TECHNOLOGY INCORPORATED; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
Reel/Frame 059358/0001 →
RELEASE OF SECURITY INTEREST Recorded Feb 28, 2022
From: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
To: ATMEL CORPORATION
Reel/Frame 059262/0105 →
RELEASE OF SECURITY INTEREST Recorded Feb 25, 2022
From: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
To: MICROCHIP TECHNOLOGY INCORPORATED; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
Reel/Frame 059333/0222 →
SECURITY INTEREST Recorded Jun 4, 2021
From: MICROCHIP TECHNOLOGY INCORPORATED; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 057935/0474 →
SECURITY INTEREST Recorded Dec 24, 2020
From: MICROCHIP TECHNOLOGY INCORPORATED; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 055671/0612 →
SECURITY INTEREST Recorded Jun 5, 2020
From: MICROCHIP TECHNOLOGY INC.; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
To: WELLS FARGO BANK, NATIONAL ASSOCIATION
Reel/Frame 053468/0705 →
RELEASE OF SECURITY INTEREST Recorded May 30, 2020
From: JPMORGAN CHASE BANK, N.A, AS ADMINISTRATIVE AGENT
To: MICROCHIP TECHNOLOGY INC.; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
Reel/Frame 053466/0011 →
SECURITY INTEREST Recorded Apr 24, 2020
From: MICROCHIP TECHNOLOGY INC.; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 053311/0305 →
SECURITY INTEREST Recorded Sep 18, 2018
From: MICROCHIP TECHNOLOGY INCORPORATED; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 047103/0206 →
SECURITY INTEREST Recorded Jun 25, 2018
From: MICROCHIP TECHNOLOGY INCORPORATED; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 046426/0001 →
SECURITY INTEREST Recorded Feb 10, 2017
From: ATMEL CORPORATION
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 041715/0747 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT COLLATERAL Recorded Apr 7, 2016
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: ATMEL CORPORATION
Reel/Frame 038376/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 24, 2014
From: ATMEL NANTES S.A.S.
To: ATMEL CORPORATION
Reel/Frame 033387/0204 →
PATENT SECURITY AGREEMENT Recorded Jan 3, 2014
From: ATMEL CORPORATION
To: MORGAN STANLEY SENIOR FUNDING, INC. AS ADMINISTRATIVE AGENT
Reel/Frame 031912/0173 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 23, 2013
From: PEDERSEN, FRODE MILCH; FULLERTON, IAN
To: ATMEL CORPORATION
Reel/Frame 030854/0057 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 23, 2013
From: JOUIN, SEBASTIEN
To: ATMEL NANTES S.A.S.
Reel/Frame 030854/0241 →
Continuity (2)
Provisional Application 61790421 · Mar 15, 2013
Related Publication 20140281156A1 · Sep 18, 2014