US5537569A
Expired / Lapsed
US
⏱️ 0.0 years remaining
Multiprocessor system utilizing a directory memory and including grouped processing elements each having cache
Assignee: Toshiba Corp
•
Filing: 1994-03-02
•
Granted: 1996-07-16
•
Expires: 2014-03-02
Abstract
Abstract In a shared memory type multiprocessing system, when data stored in each processing element is managed in a directory method, a plurality of processing elements are grouped in advance. A directory memory is provided along with a data memory mounted in a shared memory. Directory information held in the directory memory indicates which one of the groups holds a copy of a data block. In response to a request from the processing element, the shared memory executes a process of finding the processing element from the processing group, or a process of finding the processing group from the processing element.
Inventors
- 👤 Yoshio Masubuchi
Bibliographic Details
Application Number
—
Jurisdiction
US
Data Source
google_patents
Last Synchronized
2026-10-24 15:57
CPC Classifications
G; G06; G06F; G06F12/00; G06F12/02; G06F12/08; G06F12/0802; G06F12/0806; G06F12/0815; G06F12/0817; G06F12/0826
Claims Analysis
Total Claims: 19
Claim 1
Independent Claim
160 words
A multiprocessor system having a data memory for storing data in a plurality of divided block areas, and a plurality of processing elements each having a cache memory for holding a copy of part of said data stored in said divided block areas of said data memory in units of a data block stored in each of said divided block areas, said multiprocessor system comprising: a directory memory for classifying said plurality of processing elements into processing groups each comprising a plurality of said processing elements, and for holding directory information indicating which one of said processing group holds a copy of the data stored in said data memory in units of said data block; and control means for referring to said directory memory in response to a request from one of said processing elements, for identifying the processing group holding said copy of data, and for delivering a predetermined message to processing elements belonging to the identified processing group.
Claim 2
Dependent Claim
160 words
A multiprocessor system having a data memory for storing data in a plurality of divided block areas, and a plurality of processing elements each having a cache memory for holding a copy of part of said data stored in said divided block areas of said data memory in units of a data block stored in each of said divided block areas, said multiprocessor system comprising: a directory memory for classifying said plurality of processing elements into processing groups each comprising a plurality of said processing elements, and for holding directory information indicating which one of said processing group holds a copy of the data stored in said data memory in units of said data block; and control means for referring to said directory memory in response to a request from one of said processing elements, for identifying the processing group holding said copy of data, and for delivering a predetermined message to processing elements belonging to the identified processing group.
Claim 3
Dependent Claim
26 words
The multiprocessor system according to claim 1, wherein said control means delivers successively said predetermined message to the processing elements belonging to said identified processing group.
Claim 4
Dependent Claim
25 words
The multiprocessor system according to claim 1, wherein said control means broadcasts said predetermined message to the processing elements belonging to said identified processing group.
Claim 5
Dependent Claim
29 words
The multiprocessor system according to claim 1, wherein said directory information includes a shared bit indicating that the data is held in at least two of said processing groups.
Claim 6
Dependent Claim
21 words
The multiprocessor system according to claim 1, wherein each of said processing elements includes a plurality of CPUs (Central Processing Unit).
Claim 7
Dependent Claim
62 words
The multiprocessor system according to claim 1, wherein said control means refers to said directory memory in response to a write request from one of said processing elements, identifies the processing group holding said copy of data, and delivers a data invalidation message to the processing elements belonging to the identified processing group, excluding the one processing element making the write request.
Claim 8
Dependent Claim
144 words
The multiprocessor system according to claim 6, wherein said control means includes directory information control means and group information control means, wherein said group information control means finds, from a group address assigned to the processing group sent from said directory information control means, an end address assigned to the processing elements belong to said processing group, and delivers the end address to said directory information control means, and said directory information control includes: means for referring to said directory memory, in response to said write request, for identifying the processing group holding said copy of data, and for delivering the group address corresponding to said processing group to said group information control means, and means for delivering the data invalidation message to the processing elements belonging to said identified processing group based on the end address sent from said group information control means.
Claim 9
Dependent Claim
48 words
The multiprocessor system according to claim 1, wherein said control means writes new directory information in said directory memory in response to a read request from a given one of said processing elements, and delivers a desired data block to the one processing element making the read request.
Claim 10
Dependent Claim
177 words
The multiprocessor system according to claim 8, wherein said control means includes directory information control means and group information control means, said group information control means includes: means for identifying, from an end address sent from said directory information control means, the processing group to which the one processing element making the read request belongs; and means for decoding a group address assigned to said identified processing group, for obtaining first directory information, and for delivering said first directory information to said directory information control means, and said directory information control means includes: means for delivering said end address of the origin of the request to said group information control means in response to said read request; means for referring to said directory memory in response to said read request and for reading out second directory information corresponding to desired data; and means for calculating logical OR of said first directory information and said second directory information, and for changing said second directory information in said directory information memory to a result of the calculated logical OR.
Claim 11
Dependent Claim
46 words
The multiprocessor system according to claim 1, wherein a group address (m-bits) assigned to said processing group is determined to satisfy the condition: k≦2.sup.m, and n≧m, when an end address assigned to said processing element is n-bits and one entry of the directory information is k-bits.
Claim 12
Dependent Claim
191 words
A directory management method applicable to a multiprocessing system having a data memory for storing data in a plurality of divided block areas, a plurality of processing elements each having a cache memory for holding a copy of part of said data stored in said divided block areas of said data memory in units of a data block stored in each of said divided block areas, and a directory memory for storing information relating to a copy of the data stored in said data memory, said directory management method comprising the steps of: a) classifying said plurality of processing elements into processing groups each comprising a plurality of said processing elements, and holding directory information indicating which of said processing groups hold the copy of the data stored in said data memory, said directory information being held in said directory memory in units corresponding to said data block; and b) referring to said directory memory in response to a request for data from one of said processing elements, identifying the processing group holding the requested data, and delivering a predetermined message to the processing elements belonging to the identified processing group.
Claim 13
Dependent Claim
191 words
A directory management method applicable to a multiprocessing system having a data memory for storing data in a plurality of divided block areas, a plurality of processing elements each having a cache memory for holding a copy of part of said data stored in said divided block areas of said data memory in units of a data block stored in each of said divided block areas, and a directory memory for storing information relating to a copy of the data stored in said data memory, said directory management method comprising the steps of: a) classifying said plurality of processing elements into processing groups each comprising a plurality of said processing elements, and holding directory information indicating which of said processing groups hold the copy of the data stored in said data memory, said directory information being held in said directory memory in units corresponding to said data block; and b) referring to said directory memory in response to a request for data from one of said processing elements, identifying the processing group holding the requested data, and delivering a predetermined message to the processing elements belonging to the identified processing group.
Claim 14
Dependent Claim
29 words
The method according to claim 11, wherein said step b) includes a step of delivering successively said predetermined message to the processing elements belonging to said identified processing group.
Claim 15
Dependent Claim
28 words
The method according to claim 11, wherein said step b) includes a step of broadcasting said predetermined message to the processing elements belonging to said identified processing group.
Claim 16
Dependent Claim
38 words
The method according to claim 11, wherein said step a) includes a step of storing, in said directory memory, shared information indicating that the copy of the data is held in at least two of said processing groups.
Claim 17
Dependent Claim
20 words
The method according to claim 11, wherein each of said processing elements includes a plurality of CPUs (Central Processing Unit).
Claim 18
Dependent Claim
87 words
The method according to claim 11, wherein said step b) includes the steps of: referring to said directory memory in response to a write request for data from a given one of said processing elements, and identifying the processing group holding the requested data, identifying an end address assigned to the processing elements within said processing group based on a group address assigned to said processing group, and delivering a data invalidation message to the processing elements within said identified processing group based on the end address.
Claim 19
Dependent Claim
150 words
The method according to claim 11, wherein said step b) includes the additional steps of: identifying, in response to a read request from one of the processing elements, the processing group to which said processing element making the read request belongs, the identification being made based on an end address of the processing element making the read request, and decoding a group address assigned to said identified processing group and obtaining first directory information, and wherein the steps recited by claim 11 include: referring to said directory memory in response to said read request and reading out second directory information corresponding to desired data, calculating logical OR of said first directory information and said second directory information, and changing said second directory information in said directory information memory to a result of the calculated logical OR, and delivering a desired data block to the processing element making the read request.
References Cited (Backward Citations)
US5155857A
Cited
US5025365A
Cited
US5301290A
Cited
US5339397A
Cited
US5265235A
Cited
US5282272A
Cited
US5303362A
Cited
US5313609A
Cited
US5375220A
Cited
US5261053A
Cited
USPTO Annuity & Maintenance Windows
| Annuity Stage | Window Opens | Payment Deadline | Surcharge Period Until | Estimated Fee | Status |
|---|---|---|---|---|---|
| 3.5 Years (Year 4) | 1999-07-16 | 2000-01-15 | 2000-07-16 | $2000.00 | Window Closed / Lapsed |
| 7.5 Years (Year 8) | 2003-07-16 | 2004-01-15 | 2004-07-16 | $3760.00 | Window Closed / Lapsed |
| 11.5 Years (Year 12) | 2007-07-16 | 2008-01-15 | 2008-07-16 | $7700.00 | Window Closed / Lapsed |