IP Library Patent Application 11000676
Patent Application
App. No. 11/000,676

System and method for circular buffer

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 None
App. No.
11/000,676
Abstract

A system and method that determine whether a circular buffer is empty or full. The method may utilize two pointers, one to write data to the buffer, and one to read data from the buffer. The pointers may be initialized to point to the first location of the buffer. Each pointer may have an associated bit, where a bit may get toggled when the associated pointer wraps around the circular buffer and returns to the first location. Initially, the two bits may be equal. When the two pointers are equal, the two associated bits may be examined. If they are equal, that may indicate the buffer is empty, and the pointer that reads data should not pass the pointer that writes data. If the two bits are not equal, that may indicate the buffer is full, and the pointer that writes data should not pass the pointer that reads data.

Claims (40)

1 . A method that determines whether a section of storage in memory is empty or full, the method comprising:

initializing two pointers to point to a starting location of the section of storage;

initializing two bits associated with the two pointers;

determining when the two pointers are pointing to the same location within the buffer; and

comparing the values of the two bits to determine whether the section of storage is empty or full.

2 . The method according to claim 1 wherein the section of storage is a circular buffer.

3 . The method according to claim 2 wherein each of the two bits gets toggled when the pointer associated with the bit returns to the starting location.

4 . The method according to claim 1 further comprising:

utilizing one of the two pointers to read data from the section of storage; and

utilizing the other one of the two pointers to write data to the section of storage.

5 . The method according to claim 1 wherein the two bits are initialized to equal values.

6 . The method according to claim 5 further comprising determining that the section of storage is empty when the two bits are equal.

7 . The method according to claim 5 further comprising determining that the section of storage is full when the two bits are not equal.

8 . The method according to claim 1 wherein the two bits are initialized to different values.

9 . The method according to claim 8 further comprising determining that the section of storage is empty when the two bits are not equal.

10 . The method according to claim 8 further comprising determining that the section of storage is full when the two bits are equal.

11 . The method according to claim 1 wherein one of the two pointers is a pointer that reads data from the section of storage, and the other one of the two pointers is a pointer that writes data to the section of storage.

12 . The method according to claim 11 further comprising:

preventing the pointer that reads data from passing the pointer that writes data when the section of storage is empty; and

preventing the pointer that writes data from passing the pointer that reads data when the section of storage is full.

13 . A system that determines whether a section of storage in memory is empty or full, the system comprising:

at least one processor capable of initializing two pointers to point to a starting location of the section of storage;

the at least one processor capable of initializing two bits associated with the two pointers;

the at least one processor capable of determining when the two pointers are pointing to the same location within the buffer; and

the at least one processor capable of comparing the values of the two bits to determine whether the section of storage is empty or full.

14 . The system according to claim 13 wherein the section of storage is a circular buffer.

15 . The system according to claim 14 wherein each of the two bits gets toggled when the pointer associated with the bit returns to the starting location.

16 . The system according to claim 13 further comprising:

the at least one processor capable of utilizing one of the two pointers to read data from the section of storage; and

the at least one processor capable of utilizing the other one of the two pointers to write data to the section of storage.

17 . The system according to claim 13 wherein the two bits are initialized to equal values.

18 . The system according to claim 17 further comprising the at least one processor capable of determining that the section of storage is empty when the two bits are equal.

19 . The system according to claim 17 further comprising the at least one processor capable of determining that the section of storage is full when the two bits are not equal.

20 . The system according to claim 13 wherein the two bits are initialized to different values.

21 . The system according to claim 20 further comprising the at least one processor capable of determining that the section of storage is empty when the two bits are not equal.

22 . The system according to claim 20 further comprising the at least one processor capable of determining that the section of storage is full when the two bits are equal.

23 . The system according to claim 13 wherein one of the two pointers is a pointer that reads data from the section of storage, and the other one of the two pointers is a pointer that writes data to the section of storage.

24 . The system according to claim 23 further comprising:

the at least one processor capable of preventing the pointer that reads data from passing the pointer that writes data when the section of storage is empty; and

the at least one processor capable of preventing the pointer that writes data from passing the pointer that reads data when the section of storage is full.

Assignments (6)
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Feb 3, 2017
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: BROADCOM CORPORATION
Reel/Frame 041712/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 1, 2017
From: BROADCOM CORPORATION
To: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
Reel/Frame 041706/0001 →
PATENT SECURITY AGREEMENT Recorded Feb 11, 2016
From: BROADCOM CORPORATION
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 037806/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 25, 2009
From: BROADCOM ADVANCED COMPRESSION GROUP, LLC
To: BROADCOM CORPORATION
Reel/Frame 022299/0916 →
CORRECTIVE ASSIGNMENT REEL 015599, FRAME 0233; CORRECTING ASSIGNEE Recorded Nov 28, 2005
From: OH, YONG S.
To: BROADCOM ADVANCED COMPRESSION GROUP, LLC
Reel/Frame 017066/0090 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 17, 2005
From: OH, YONG S.
To: BROADCOM CORPORATION
Reel/Frame 015599/0233 →