IP Library Granted Patent US 9,710,169
Granted Patent B2
US 9,710,169 · App. 15/223,227 · Granted Jul 18, 2017

Managing wait states for memory access

Inventors: Frode Milch Pedersen (Trondheim, NO); Sebastien Jouin (La Chapelle-Launay, FR); Ian Fullerton (Los Gatos, CA)
Assignee: Atmel Corporation
G06F3/0611G06F3/0655G06F3/0679G06F13/1689G06F13/4217G06F13/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,710,169
App. No.
15/223,227
Granted
Jul 18, 2017
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 (62)

1. A method comprising:

receiving, at a device controller, a first latch signal from a peripheral device that indicates start of an access operation at the peripheral device;

setting, by the device controller, an internal delay signal to a first state based on the first latch signal;

in response to setting the internal delay signal to the first state, setting a system bus data ready signal to the first state to indicate start of a wait state associated with the access operation at the peripheral device, wherein the internal delay signal is distinct from the system bus data ready signal;

receiving a second latch signal from the peripheral device that indicates that the access operation is completed; and

setting the system bus data ready signal to a second state to indicate completion of the wait state based on the second latch signal.

2. The method of claim 1 , wherein setting the internal delay signal to the first state based on the first latch signal comprises:

setting the internal delay signal to the first state based on adjusting the first latch signal with a system bus clock signal.

3. The method of claim 2 , wherein setting the internal delay signal to the second state based on the second latch signal comprises:

setting the internal delay signal to the second state based on adjusting the second latch signal with a system bus clock signal.

4. The method of claim 2 , wherein the system bus clock signal varies over time depending on an application executed by a central processing unit (CPU) associated with the peripheral device, and wherein the wait state is independent of a frequency of the system bus clock signal.

5. The method of claim 1 , wherein the first latch signal corresponds to a first edge of a latch signal that indicates a start time for processing the access operation at the peripheral device, and wherein the second latch signal corresponds to a second edge of the latch signal that indicates an end to the processing of the access operation at the peripheral device.

6. The method of claim 5 , wherein the first or the second edge of the latch signal corresponds to a current access time for the peripheral device, and wherein receiving the first edge or the second edge of the latch signal includes:

evaluating a data ready edge of the latch signal; and

based on the evaluation, automatically increasing or decreasing the wait state depending on the current access time for the peripheral device, wherein increasing or decreasing the wait state respectively includes delaying or accelerating a triggering of the system bus data ready signal.

7. The method of claim 1 , wherein setting the system bus data ready signal to the first state or the second state comprises:

setting the system bus data ready signal to the first state or the second state after a finite amount of time subsequent to receipt of the first latch signal or the second latch signal respectively, comprising:

setting the system bus data ready signal to the first state or the second state after elapse of a complete cycle of a system bus clock signal subsequent to receiving the first latch signal or the second latch signal.

8. The method of claim 1 , wherein setting the system bus data ready signal to the first state in response to setting the internal delay signal to the first state comprises:

upon setting the internal delay signal to the first state, waiting for a next cycle of a system bus clock signal;

receiving a leading edge of the next cycle of the system bus clock signal following setting the internal delay signal to the first state; and

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

9. The method of claim 8 , wherein setting the system bus data ready signal to the second state based on the second latch signal comprises:

in response to receiving the second latch signal from the peripheral device, transitioning the internal delay signal from the first state to the second state;

upon transitioning the internal delay signal to the second state, waiting for a next cycle of a system bus clock signal;

receiving a leading edge of the next cycle of the system bus clock signal following transitioning the internal delay signal to the second state; and

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

10. The method of claim 1 , wherein the wait state is based on an amount of time used to perform the access operation at the peripheral device, the amount of time depending on one or more of temperature, voltage, semiconductor material, process deviation or frequency of access.

11. The method of claim 1 , wherein the peripheral device includes a memory device and wherein the access operation at the memory device corresponds to a data access operation at the memory device.

12. The method of claim 11 , wherein the first latch signal or the second latch signal corresponds to an amount of time used to access physical memory locations in the memory device in response to a data access request associated with the memory device.

13. A system comprising:

a peripheral device; and

a device controller coupled to the peripheral device, the device controller configured to perform operations comprising:

receiving a first latch signal from the peripheral device that indicates start of an access operation at the peripheral device;

setting an internal delay signal to a first state based on the first latch signal;

in response to setting the internal delay signal to the first state, setting a system bus data ready signal to the first state to indicate start of a wait state associated with the access operation at the peripheral device, wherein the internal delay signal is distinct from the system bus data ready signal;

receiving a second latch signal from the peripheral device that indicates that the access operation is completed; and

setting the system bus data ready signal to a second state to indicate completion of the wait state based on the second latch signal.

14. The system of claim 13 , wherein setting the internal delay signal to the first state based on the first latch signal comprises:

setting the internal delay signal to the first state based on adjusting the first latch signal with a system bus clock signal.

15. The system of claim 14 , wherein setting the internal delay signal to the second state based on the second latch signal comprises:

setting the internal delay signal to the second state based on adjusting the second latch signal with a system bus clock signal.

16. The system of claim 14 , wherein the system bus clock signal varies over time depending on an application executed by a central processing unit (CPU) associated with the peripheral device, and wherein the wait state is independent of a frequency of the system bus clock signal.

17. The system of claim 13 , wherein the first latch signal corresponds to a first edge of a latch signal that indicates a start time for processing the access operation at the peripheral device, and wherein the second latch signal corresponds to a second edge of the latch signal that indicates an end to the processing of the access operation at the peripheral device.

18. The system of claim 17 , wherein the first or the second edge of the latch signal corresponds to a current access time for the peripheral device, and wherein receiving the first edge or the second edge of the latch signal includes:

evaluating a data ready edge of the latch signal; and

based on the evaluation, automatically increasing or decreasing the wait state depending on the current access time for the peripheral device, wherein increasing or decreasing the wait state respectively includes delaying or accelerating a triggering of the system bus data ready signal.

19. The system of claim 13 , wherein setting the system bus data ready signal to the first state or the second state comprises:

setting the system bus data ready signal to the first state or the second state after a finite amount of time subsequent to receipt of the first latch signal or the second latch signal respectively, comprising:

setting the system bus data ready signal to the first state or the second state after elapse of a complete cycle of a system bus clock signal subsequent to receiving the first latch signal or the second latch signal.

20. The system of claim 13 , wherein setting the system bus data ready signal to the first state in response to setting the internal delay signal to the first state comprises:

upon setting the internal delay signal to the first state, waiting for a next cycle of a system bus clock signal;

receiving a leading edge of the next cycle of the system bus clock signal following setting the internal delay signal to the first state; and

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

21. The system of claim 20 , wherein setting the system bus data ready signal to the second state based on the second latch signal comprises:

in response to receiving the second latch signal from the peripheral device, transitioning the internal delay signal from the first state to the second state;

upon transitioning the internal delay signal to the second state, waiting for a next cycle of a system bus clock signal;

receiving a leading edge of the next cycle of the system bus clock signal following transitioning the internal delay signal to the second state; and

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

22. The system of claim 13 , wherein the wait state is based on an amount of time used to perform the access operation at the peripheral device, the amount of time depending on one or more of temperature, voltage, semiconductor material, process deviation or frequency of access.

23. The system of claim 13 , wherein the peripheral device includes a memory device and wherein the access operation at the memory device corresponds to a data access operation at the memory device.

24. The system of claim 23 , wherein the first latch signal or the second latch signal corresponds to an amount of time used to access physical memory locations in the memory device in response to a data access request associated with the memory device.

Assignments (17)
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 11, 2017
From: PEDERSEN, FRODE MILCH; FULLERTON, IAN
To: ATMEL CORPORATION
Reel/Frame 041969/0196 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 11, 2017
From: ATMEL NANTS S.A.S.
To: ATMEL CORPORATION
Reel/Frame 041969/0510 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 11, 2017
From: JOUIN, SEBASTIEN
To: ATMEL NANTES S.A.S.
Reel/Frame 041969/0412 →
SECURITY INTEREST Recorded Feb 10, 2017
From: ATMEL CORPORATION
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 041715/0747 →
Continuity (3)
Continuation 13941671 · Jul 15, 2013
Provisional Application 61790421 · Mar 15, 2013
Related Publication 20160335000A1 · Nov 17, 2016