IP Library Granted Patent US 10,346,324
Granted Patent B2
US 10,346,324 · App. 15/874,704 · Granted Jul 9, 2019

Devices and methods for autonomous hardware management of circular buffers

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 10,346,324
App. No.
15/874,704
Granted
Jul 9, 2019
Kind
B2
Abstract

An autonomous circular buffer is described in connection with the various embodiments of the present disclosure. An autonomous circular buffer controller may control movement of data between a user of the autonomous circular buffer and a peripheral. The autonomous circular buffer may enable direct memory access type data movement, including between the user and the peripheral.

Claims (55)

1. A method of accessing data in a memory, comprising:

allocating a circular buffer region of the memory for use by an autonomous circular buffer controller circuitry;

initiating transfer of input data elements, by the autonomous circular buffer controller circuity, to the circular buffer region at subsequent input locations pointed at by an input pointer; and

initiating transfer of output data elements, by the autonomous circular buffer controller circuitry, from the circular buffer region at subsequent output locations pointed at by an output pointer;

wherein each of the input pointer and the output pointer are configured to:

update to point to a next data element location in the circular buffer region responsive to access to a current data element location; and

wrap around to a beginning address of the circular buffer region responsive to an ending address of the circular buffer region being reached.

2. The method of claim 1 , wherein:

the input pointer and the output pointer being equal indicates that the circular buffer region is empty; and

the input pointer and the output pointer being unequal indicates that the circular buffer region includes valid data.

3. The method of claim 1 , wherein the transferring input data elements and the transferring output data elements both occur while the circular buffer region is not empty and not full.

4. The method of claim 1 , wherein transferring input data elements to the circular buffer region at subsequent input locations pointed at by an input pointer comprises transferring input data elements from a register interface to the circular buffer region.

5. The method of claim 1 , wherein transferring output data elements from the circular buffer region at subsequent output locations pointed at by an output pointer comprises receiving an event notification indicating that a peripheral is available.

6. The method of claim 1 , further comprising:

detecting, by the autonomous circular buffer controller circuitry, valid input data elements in the circular buffer region; and

the initiating the transfer of the input data elements responsive to the detecting.

7. The method of claim 1 , further comprising:

receiving, from a host processor, the input data elements at the autonomous circular buffer controller circuitry.

8. A system, comprising:

a first interface for communicating on a first bus for operable coupling with one or more peripheral devices and a host processor;

a second interface for communicating on a second bus for operable coupling with a memory; and

an autonomous circular buffer controller circuitry for defining and accessing a circular buffer region of the memory and configured to:

control a head pointer for stepping through the circular buffer region and wrapping around from an ending address to a beginning address;

control a tail pointer for stepping through the circular buffer region and wrapping around from the ending address to the beginning address;

initiate moving a first data element from the first interface to a location in the circular buffer region pointed at by the head pointer; and

initiate moving a second data element from a location in the circular buffer region pointed at by the tail pointer to the first interface.

9. The system of claim 8 , further comprising the host processor and the one or more peripheral devices and wherein:

the first data element is received from at least one peripheral device of the one or more peripheral devices; and

the second data element is sent to the host processor.

10. The system of claim 8 , further comprising the host processor and the one or more peripheral devices and wherein:

the first data element is received from the host processor; and

the second data element is sent to at least one peripheral device of the one or more peripheral devices.

11. The system of claim 10 , wherein the one or more peripheral devices are selected from a group comprising: a universal synchronous/asynchronous receiver-transmitter, a universal asynchronous receiver-transmitter, and a digital-to-analog converter, an analog-to-digital converter.

12. The system of claim 8 , wherein the autonomous circular buffer controller circuitry is configured to receive an indicator of a direct memory access request for one of the one or more peripheral devices.

13. The system of claim 8 , wherein the first interface, second interface, and autonomous circular buffer controller circuitry are incorporated into the one or more peripheral devices.

14. A system, the system comprising:

a host processor;

one or more peripheral devices;

a first interface for communicating on a first bus for operable coupling with the one or more peripheral devices and the host processor; and

an autonomous circular buffer controller circuitry for defining and accessing a circular buffer region a memory and configured to:

control a head pointer for stepping through the circular buffer region and wrapping around from an ending address to a beginning address;

control a tail pointer for stepping through the circular buffer region and wrapping around from the ending address to the beginning address; and

initiate moving a first data element from a location in the circular buffer region pointed at by the tail pointer to the first interface.

15. The system of claim 14 , wherein the host processor is configured to write the first data element to the circular buffer region.

16. The system of claim 15 , wherein the autonomous circular buffer controller circuitry moves the first data element from the location in the circular buffer region responsive to an interrupt.

17. The system of claim 14 , wherein the autonomous circular buffer controller circuitry is configured to move a second data element from the one or more peripheral devices to the circular buffer region pointed at by the head pointer and notify the host processor that data is available in the circular buffer region.

18. The system of claim 17 , wherein the autonomous circular buffer controller circuitry includes one or more status registers that are accessible by a CPU.

19. The system of claim 18 , wherein a first value stored in the one or more status registers is indicative of a size of the second data element.

20. An embedded system, comprising:

a host processor;

a first peripheral device; and

a second peripheral device, the second peripheral device comprising a first interface configured to communicate on a bus operably coupled to the host processor and the first peripheral device, wherein the second peripheral device is configured to:

provide a multichannel autonomous communication path between the host processor and first peripheral device; and

initiate moving data from a circular buffer in the multichannel autonomous communication path to the first interface.

21. The embedded system of claim 20 , wherein the host processor is part of a microcontroller and the first peripheral device is a digital-to-analog converter or an analog-to-digital converter.

Assignments (13)
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/0335 →
RELEASE OF SECURITY INTEREST Recorded Feb 28, 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 059263/0001 →
GRANT OF SECURITY INTEREST IN PATENT RIGHTS Recorded Nov 19, 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 058214/0625 →
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 →
SECURITY INTEREST Recorded Jun 5, 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 052856/0909 →
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 19, 2018
From: LASSEN, JACOB LUNN; LUND, MORTEN WERNER
To: MICROCHIP TECHNOLOGY INCORPORATED
Reel/Frame 044676/0825 →