Storage buffer that dynamically adjusts boundary between two storage areas when one area is full and the other has an empty data register
AssigneeTexas Instruments Incorporated
InventorKevin Kornher
Life of this patent
Estimating the term…
Abstract
An electronic storage buffer (22) is efficiently used by dividing the buffer into a first (26) and second (28) storage area with a dynamically adjustable boundary (24) governing the respective sizes of each storage area. If the first storage area becomes full with data, the first storage area can be expanded and the second storage area can be reduced to utilize the empty space in the second storage area. Conversely, the second storage area can be expanded and the first storage area can be reduced to satisfy the data storage demands of the second storage area.
Claims19
An electronic storage buffer for storing data, comprising:
- a first storage area having a first plurality of data storage registers;
- a second storage area having a second plurality of data storage registers;
- a dynamically adjustable boundary for defining the size of said first storage area and said second storage area, said adjustable boundary movable within said first plurality of data storage registers and said second plurality of data storage registers to increase the size of said second storage area when said second storage area has no empty data storage registers and said first storage area has at least one empty data storage register such that the size of said first storage area can be reduced to zero when said first plurality of data storage registers is empty and further to increase the size of said first storage area when said first storage area has no empty data storage registers and said second storage area has at least one empty data storage register such that the size of said second storage area can be reduced to zero when said second plurality of data storage registers is empty;
- and
- control logic coupled to said adjustable boundary for moving said adjustable boundary within said first plurality of data storage registers and said second plurality of data storage registers so that an empty register of said first plurality of data storage registers can be allocated to said second storage area.
A method for storing a new piece of data in a buffer, said method comprising the steps of:
- establishing a first storage area having a first plurality of data storage registers for storing data in said buffer;
- establishing a second storage area having a second plurality of data storage registers for storing data in said buffer;
- creating an adjustable boundary movable within said first storage area and said second storage area, said adjustable boundary defining the size of said first storage area and said second storage area;
- detecting when any one of said storage areas is full;
- determining if any one of said storage areas has an empty data register;
- moving said adjustable boundary within said storage area having an empty data register so that said empty register is allocated to said full storage area and further such that the size of said storage area having an empty data register is reduced to zero when said storage area having an empty data register is comprised solely of empty registers and further when said new piece of data requires the total storage capacity of the empty registers;
- and
- storing said new piece of data in at least one empty register.
A computer program storage medium readable by a computing system and encoding a computer program of instructions for executing a method for storing a new piece of data in a buffer, said method comprising the steps of:
- establishing a first storage area having a first plurality of data storage registers for storing data in said buffer;
- establishing a second storage area having a second plurality of data storage registers for storing data in said buffer;
- creating an adjustable boundary movable within said first storage area and said second storage area, said adjustable boundary defining the size of said first storage area and said second storage area;
- detecting when any one of said storage areas is full;
- determining if any one of said storage areas has an empty data register;
- moving said adjustable boundary within said storage area having an empty data register so that said empty register is allocated to said full storage area and further such that the size of said storage area having an empty data register is reduced to zero when said storage area having an empty data register is comprised solely of empty registers and further when said new piece of data requires the total storage capacity of said empty registers;
- and
- storing said new piece of data in at least one empty register.
Dependencies are inferred from the claim text.