Dismiss
InnovationQ will be updated on Sunday, Oct. 22, from 10am ET - noon. You may experience brief service interruptions during that time.
Browse Prior Art Database

Efficient Circular Buffer Reading and Writing

IP.com Disclosure Number: IPCOM000125092D
Publication Date: 2005-May-18
Document File: 2 page(s) / 224K

Publishing Venue

The IP.com Prior Art Database

Abstract

Disclosed is a method that provides easier, more efficient read and write operations on circular buffers implemented in RAM.

This text was extracted from a Microsoft Word document.
At least one non-text object (such as an image or picture) has been suppressed.
This is the abbreviated version, containing approximately 53% of the total text.

Efficient Circular Buffer

Reading

and Writing

Disclosed is a method that provides easier, more efficient read and write operations on circular buffers implemented in RAM.

Background

A circular buffer is a common method for buffering data between data-producing and data-consuming components in a streaming environment. Typically, circular buffers are implemented in a single block of RAM, which is accessed in linear fashion. Circularity is achieved by implementing logic in the producer and consumer that determines when a data block “wraps around” from the end of the buffer’s memory block to the beginning (see Figure 1). The producer and consumer must take this wrap around point into account when writing data into or reading data from the circular buffer. For example, when a data block spans the wrap around point, the data consumer must begin by reading the first part of the block, starting where the last read operation finished and ending at the top address of the buffer. Next, the data consumer must read the second part of the block, beginning at the base address of the buffer and ending at the last address written by the producer.

The disadvantage with this approach is that it requires copying the data from the caller-supplied buffer to the destination circular buffer for a write operation, or vice-versa for a read operation.  

General Description

The disclosed method maps the physical memory occupied by the circular buffer into two adjacent virtual address spaces (see Figure...