IP Library Granted Patent US 7,457,894
Granted Patent B2
US 7,457,894 · App. 09/941,478 · Granted Nov 25, 2008

Synchronization of non-sequential moving pointers

Assignee: NXP B.V.
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 7,457,894
App. No.
09/941,478
Granted
Nov 25, 2008
Kind
B2
Abstract

A hierarchical memory access control distinguishes between blocks of data that are known to be sequentially accessed, and the contents of each block, which may or may not be sequentially accessed. If the contents of a block are provided in a sequential manner within the block, but the sequence does not correspond to a higher-level sequence, due to a non-zero offset in the start of the sequence within the block, the memory access control is configured to optimize the use of available memory by signaling when the within-block sequence corresponds to the higher-level sequence. While the within-block sequence differs from the higher-level sequence, access to the buffer is limited to the higher-level partitioning of the buffer. When the within-block sequence corresponds to the higher-level sequence, access to the buffer is provided at the within-block partitioning of the buffer. In this manner, dependent upon the degree of offset of the within-block sequence relative to the higher-level sequence, access to the buffer is often provided well before the entire block is provided to the buffer, thereby optimizing the speed at which the memory can be accessed.

Claims (25)

1. A buffer management system for controlling access of a first buffer operation and a second buffer operation to a shared buffer to prevent overwriting of data not yet read or reading of locations to which valid data has not yet been written, comprising

a buffer manager that is configured to assert a wrap signal in response to a condition in which the first buffer operation involves consecutively accessing each buffer location of a block of buffer locations assigned sequential address values in an order different than an order defined by the sequential address values, and to de-assert the wrap signal in response to a condition in which the first buffer operation involves consecutively accessing each buffer location of a block of buffer locations assigned sequential address values in an order the same as an order defined by the sequential address values, and is further configured to limit accesses to the buffer of the second buffer operation when the wrap signal is asserted.

2. The buffer management system of claim 1 , wherein

the first buffer operation includes an access that is based on a block address and an offset address, and

the second buffer operation is limited to the block address when the wrap signal is asserted, and is limited to a combination of the block address and the offset address when the wrap signal is deasserted.

3. The buffer management system of claim 2 , wherein

a change of limit of the second buffer operation is communicated via a gray-code sequence.

4. The buffer management system of claim 2 , wherein

the buffer manager is further configured to assert an idle signal when the first buffer operation terminates, and

the second buffer operation is further limited to the block address when the idle signal is asserted.

5. The buffer management system of claim 1 , wherein

the first and the second buffer operations correspond to, respectively:

a series of write-accesses to the buffer, and

a series of read-accesses to the buffer.

6. A method of controlling access of a first buffer operation and a second buffer operation to a shared buffer to prevent overwriting of data not yet read or reading of locations to which valid data has not yet been written comprising:

determining a block address and an offset address corresponding to the first buffer operation involving consecutively accessing each buffer location of a block of buffer locations assigned sequential block address values,

determining when the offset address is non-sequential relative to the block address wherein the buffer locations are accessed in an order different than an order defined by the sequential address values,

determining when the offset address is sequential relative to the block address wherein the buffer locations are accessed in an order the same as an order defined by the sequential address values,

disallowing access of the second buffer operation to locations within the block when the offset address is non-sequential; and

allowing access of the second buffer operation to locations within the block when the offset address is sequential.

7. The method of claim 6 , further including:

determining when the offset address is sequential relative to the block address, and

limiting accesses of the second buffer operation to a combination of the block address and the offset address when the offset address is sequential.

8. The method of claim 6 , wherein

limiting the second buffer operation includes determining a gray-code sequence corresponding to a change in the block address.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 22, 2011
From: NXP B.V.
To: CALLAHAN CELLULAR L.L.C.
Reel/Frame 027265/0798 →
CHANGE OF NAME Recorded Aug 31, 2011
From: PHILIPS SEMICONDUCTORS INTERNATIONAL B.V.
To: NXP B.V.
Reel/Frame 026837/0649 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 24, 2009
From: KONINKLIJKE PHILIPS ELECTRONICS N.V.
To: NXP B.V.
Reel/Frame 022856/0807 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 29, 2001
From: ROEVER, JENS
To: KONINKLIJKE PHILIPS ELECTRONICS N.V.
Reel/Frame 012130/0059 →
Continuity (1)
Related Publication 20030046498A1 · Mar 6, 2003