Patent US5761729A successfully refreshed from Google Patents.
← Back to Patent Explorer
US5761729A Expired / Lapsed US ⏱️ 0.0 years remaining

Validation checking of shared memory accesses

Assignee: Hewlett Packard Enterprise Development LP
•
Filing: 1996-07-17
•
Granted: 1998-06-02
•
Expires: 2016-07-17
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract In a computer system a plurality of workstations are connected to each other by a network. Each workstation including a processor, a memory having addresses, and an input/output interface connected to each other by a bus. The input/output interfaces connect the workstations to each other via the network. Valid data accesses are checked by a software implemented method. A set of the addresses of the memories are designated as virtual shared addresses to store shared data. A particular one of the programs allocates a portion of the virtual shared addresses to store a shared data structure as one or more blocks accessible by the programs executing in any of the processors. The size of a particular block depends on the size of the shared data structure. Each block including an integer number of lines, each line including a predetermined number of bytes. The program is instrumented to initialize the bytes allocated for the shared data structure to a predetermined flag value. The flag value indicates that the data are in an invalid state. Load instructions of the programs are instrumented to check if data loaded from the shared data structure are different than the predetermined flag value. The load instructions are executed if the data are different than the predetermined flag value. Otherwise, miss handling code is executed before the load instructions are executed.

Inventors

  • 👤 Daniel J. Scales

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-30 10:01
CPC Classifications
G; G06; G06F; G06F12/00; G06F12/02; G06F12/08; G06F12/0802; G06F12/0806; G06F12/0815; G06F12/0817; G06F2212/00; G06F2212/65; G06F2212/656

Claims Analysis

Total Claims: 15
Claim 1
Independent Claim 202 words
In a computer system including a plurality of workstations, each workstation including a processor, a memory having addresses, and an input/output interface connected to each other by a bus, the input/output interfaces connecting the workstations to each other by a network, a software implemented method for identifying valid load accesses to shared data stored in the memories by programs executing in the workstations, comprising the steps of: designating a set of the addresses of the memories as virtual shared addresses to store shared data; allocating, by a particular one of the programs, a portion of the virtual shared addresses to store a shared data structure as one or more blocks accessible by the programs executing in any of the processors, each block including an integer number of lines, each line including a predetermined number of bytes; instrumenting the particular program to initialize the bytes allocated for the shared data structure to a predetermined flag value to indicate an invalid state of the shared data; instrumenting load instructions of the programs to check if data loaded from the shared data structure are different than the predetermined flag value; and executing the load instruction if the data are different than the predetermined flag value.
Claim 2
Dependent Claim 202 words
In a computer system including a plurality of workstations, each workstation including a processor, a memory having addresses, and an input/output interface connected to each other by a bus, the input/output interfaces connecting the workstations to each other by a network, a software implemented method for identifying valid load accesses to shared data stored in the memories by programs executing in the workstations, comprising the steps of: designating a set of the addresses of the memories as virtual shared addresses to store shared data; allocating, by a particular one of the programs, a portion of the virtual shared addresses to store a shared data structure as one or more blocks accessible by the programs executing in any of the processors, each block including an integer number of lines, each line including a predetermined number of bytes; instrumenting the particular program to initialize the bytes allocated for the shared data structure to a predetermined flag value to indicate an invalid state of the shared data; instrumenting load instructions of the programs to check if data loaded from the shared data structure are different than the predetermined flag value; and executing the load instruction if the data are different than the predetermined flag value.
Claim 3
Dependent Claim 21 words
The method of claim 1 further comprising: executing miss handling code if the data are equal to the predetermined flag value.
Claim 4
Dependent Claim 27 words
The method of claim 1 further comprising: storing the predetermined flag value at a particular target address when the data at the particular target address become invalid.
Claim 5
Dependent Claim 20 words
The method of claim 1, wherein the set of addresses of the memories includes addresses of at least two memories.
Claim 6
Dependent Claim 148 words
An article of manufacture for detecting valid load accesses to a shared data structure, comprising: a computer readable storage medium; and computer programming stored on the storage medium; wherein said stored computer programming is configured to be readable from said computer readable storage medium by a computer and thereby cause the computer to operate so as to: store the shared data structure on a virtual disks the shared data structure including a plurality of lines, each of the plurality of lines including a validity flag; initialize the validity flag in each of the plurality of lines to be in one of a first state and a second slate; and execute a load instruction to load one of the plurality of lines; wherein the load instruction is executed if the validity flag associated with the one of the plurality of lines to be loaded is in a first state.
Claim 7
Dependent Claim 148 words
An article of manufacture for detecting valid load accesses to a shared data structure, comprising: a computer readable storage medium; and computer programming stored on the storage medium; wherein said stored computer programming is configured to be readable from said computer readable storage medium by a computer and thereby cause the computer to operate so as to: store the shared data structure on a virtual disks the shared data structure including a plurality of lines, each of the plurality of lines including a validity flag; initialize the validity flag in each of the plurality of lines to be in one of a first state and a second slate; and execute a load instruction to load one of the plurality of lines; wherein the load instruction is executed if the validity flag associated with the one of the plurality of lines to be loaded is in a first state.
Claim 8
Dependent Claim 48 words
The article of manufacture of claim 5, wherein the computer programing is further configured to cause the computer to operate so as to: execute miss handling code if the validity flag associated with the one of the. plurality of lines to be loaded is in the second state.
Claim 9
Dependent Claim 45 words
The article of manufacture of claim 5, wherein the computer programming is further configured to cause the computer to operate so as to: set the validity flag associated with a particular line to the second state when data associated with the particular line is invalid.
Claim 10
Independent Claim 94 words
A system for detecting valid load accesses to a shared data structure, the system comprising: a plurality of memory devices; a virtual disk, portions of the plurality of memory devices forming the virtual disk; a data structure stored on the virtual disk, the data structure including a pluralism of lines, each of the plurality of lines including a validity flag; a processor configured to load at least one of the plurality of lines only if the validity flag associated with the at least one of the plurality of lines is in a valid state.
Claim 11
Independent Claim 94 words
A system for detecting valid load accesses to a shared data structure, the system comprising: a plurality of memory devices; a virtual disk, portions of the plurality of memory devices forming the virtual disk; a data structure stored on the virtual disk, the data structure including a pluralism of lines, each of the plurality of lines including a validity flag; a processor configured to load at least one of the plurality of lines only if the validity flag associated with the at least one of the plurality of lines is in a valid state.
Claim 12
Dependent Claim 34 words
The system of claim 8, wherein miss handling code is executed if the validity flag associated with the at least one of the plurality of lines to be loaded is in an invalid state.
Claim 13
Dependent Claim 39 words
The system of claim 8, wherein the validity flag associated with a particular one of the plurality of lines is set to an invalid state after data associated with the particular one of the plurality of lines becomes invalid.
Claim 14
Dependent Claim 16 words
The system of claim 8, wherein the plurality of memory devices are connected by a network.
Claim 15
Dependent Claim 44 words
The system of claim 8, wherein the processor is a first processor, the system further comprising: a second processor configured to load the at least one of the plurality of lines; wherein the second processor is connected to the first processor by a network.

References Cited (Backward Citations)

US5117350A Cited
US5528761A Cited
US5193180A Cited
US5335344A Cited
US5566321A Cited
US5590329A Cited
US5613063A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2001-06-01 2001-12-01 2002-06-02 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2005-06-01 2005-12-01 2006-06-02 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2009-06-01 2009-12-01 2010-06-02 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag