Shadow mechanism having masterblocks for a modifiable object oriented system
Abstract
A computer system is disclosed which includes a read only memory in which a first version of a data element is stored, a random access memory in which a second version of the data element is stored, and a shadow system for transparently determining whether to access the first or second version of the data element. The system includes a masterblock for accessing the first version of the data element. In the disclosed system, separate areas of memory are maintained for a committed version of the data element and an uncommitted version of the data element. Bottleneck commit routines only allow the uncommitted version to become the committed version of the data element at certain times, such as when the data are not subject to modification. By disposing of the version of the data elements in the uncommitted area, the system effectively reverts to the state it was in at the time changes were last committed from the uncommitted area to the committed area.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1. An information handling system comprising a processor, a read only memory coupled to the processor, the read only memory storing a first version of a data element, the first version of the data element including a plurality of objects, a random access memory coupled to the processor, the random access memory storing a second version of the data element, the second version of the data element including a plurality of objects, and a shadow system, the shadow system transparently determining which of the first and second versions of the data elements the processor accesses, the shadow system including a masterblock for accessing objects of the first version of the data element, the masterblock including a list of address offsets, and the list of address offsets starting at a cluster pointer address.
2. An information handling system comprising a processor, a read only memory coupled to the processor, the read only memory storing a first version of a data element, the first version of the data element including a plurality of objects, a random access memory coupled to the processor, the random access memory storing a second version of the data element, the second version of the data element including a plurality of objects, and a shadow system, the shadow system transparently determining which of the first and second versions of the data elements the processor accesses, the shadowy system including a plurality of masterblocks, each masterblock for accessing objects of the first version of the data element, the plurality of masterblocks being accessed via a masterblock list of cluster pointer addresses, each masterblock including a list of address offsets, the list of address offsets starting at a cluster pointer address, and wherein an object number provides an index to the cluster pointer address.
3. The information handling system of claim 2 wherein the list of address offsets is added to the cluster pointer to access an object within the first version of data elements.
4. An information handling system comprising a processor, a read only memory coupled to the processor, the read only memory storing a first version of a data element, the first version of the data element including a plurality of objects, a random access memory coupled to the processor, the random access memory storing a second version of the data element, the second version of the data element including a plurality of objects, and a shadow system, the shadow system transparently determining which of the first and second versions of the data elements the processor accesses, the shadow system including a first masterblock for accessing objects of the first version of the data element, and a second masterblock for accessing objects within the second version of data elements, wherein the second version of the data element has a beginning location, and the second masterblock includes a list of pairs, each pair including an object identifier and an offset of a location of the object from the beginning location of the second version of the data element.
5. The information handling system of claim 4 wherein the list of pairs is sorted by the object identifier of each pair.
6. The information handling system of claim 4 wherein the second masterblock includes a bit table of objects referenced by the list of pairs, the bit table including a bit per possible object number.
7. The information handling system of claim 4 wherein the second masterblock includes storage locations for storing lowest and highest object numbers, the lowest and highest object numbers indicating the lowest and highest object numbers of objects referenced by the second masterblock.
8. An information handling system comprising a processor, a read only memory coupled to the processor, the read only memory storing a first version of a data element, the first version of the data element including a plurality of objects, a random access memory coupled to the processor, the random access memory storing a second version of the data element, the second version of the data element including a plurality of objects, and a shadow system, the shadow system transparently determining which of the first and second versions of the data elements the processor accesses, the shadow system including a dense masterblock for accessing objects of the first version of the data element, and a sparse masterblock for accessing objects within the second version of data elements, wherein the dense masterblock includes a list of address offsets, and the list of address offsets starts at a cluster pointer address.
9. The information handling system of claim 8 wherein the list of address offsets is added to the cluster pointer to access an object within the first version of data elements.
10. An information handling system comprising a processor, a read only memory coupled to the processor, the read only memory storing a first version of a data element, the first version of the data element including a plurality of objects, a random access memory coupled to the processor, the random access memory storing a second version of the data element, the second version of the data element including a plurality of objects, and a shadow system, the shadow system transparently determining which of the first and second versions of the data elements the processor accesses, the shadow system including a dense masterblock for accessing objects of the first version of the data element, and a sparse masterblock for accessing objects within the second version of data elements, wherein the second version of data elements has a beginning location, and the sparse masterblock includes a list of pairs, each pair including an object identifier and an offset of a location of the object from the beginning location of the second version of data elements.
11. The information handling system of claim 10 wherein the list of pairs is sorted by the object identifier of each pair.
12. The information handling system of claim 10 wherein the sparse masterblock includes a bit table of objects referenced by the list of pairs, the bit table including a bit per possible object number.
13. The information handling system of claim 10 wherein the sparse masterblock includes storage locations for storing lowest and highest object numbers, the lowest and highest object numbers indicating the lowest and highest object numbers of objects referenced by the sparse masterblock.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.