Patent ID: 6301646
Filing Date: 2001-10-09
Classification: G06F

Abstract:
A method for indicating a valid or invalid status of a pointer in a computer system adapted to havea first page table, a set of zero or more intermediate page table sets, and a last set of page tables forming a hierarchy of tables,each of the first page table, the last page tables and the set of zero or more intermediate page table sets indexed via portions of the pointer,each of the first page table and the set of zero of more intermediate page table sets adapted to contain references to next page tables,the last page table adapted to contain a reference to a memory block, the memory block comprising information relating to a data size and a next memory block,the method comprising the steps of:a) indexing into the first page table via a first portion of the pointer to derive a first page table reference;b) if the first page table reference is null, indicating the invalid status of the pointer and skipping the remaining steps;c) if no page tables exist in the set of zero or more page tables, then selecting a last page table via the first page table reference and skipping to step e);d) if page tables exist in the set of zero or more page tables, then sequentially selecting members of the set of zero or more page tables via a combination of the references to next page tables and portions of the pointer, and if any reference to next page tables is null indicating the invalid status of the pointer and skipping the remaining steps, otherwise selecting a last page table via the final derived reference to next page tables;e) indexing into the selected last page table via a last portion of the pointer to derive a reference to a selected memory block;f) if the reference to the selected memory block is null, indicating the invalid status of the pointer and skipping the remaining steps;g) checking the selected memory block for the presence of the pointer and if present indicating the valid status of the pointer and skipping the remaining steps; andh) checking a next memory block referenced by the next page table of the selected memory block for the presence of the pointer and if present, indicating the valid status of the pointer otherwise indicating the invalid status of the pointer.