← Back to Patent Explorer
US6490657B1 Expired / Lapsed US ⏱️ 0.0 years remaining

Cache flush apparatus and computer system having the same

Assignee: Toshiba Corp
•
Filing: 1997-08-26
•
Granted: 2002-12-03
•
Expires: 2017-08-26
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract Addresses of all of dirty blocks of a cache memory are, by an update address registering section, stored in one of plural regions of an update address memory. When a certain cache block is brought to a dirty state and then suspended from the dirty state, the update address removing section removes the address from the region. When cache flush is performed, a flush executing section sequentially fetches the addresses of the dirty blocks from each region to issue, to the system bus, a command for writing-back data indicated by the address into the main memory so that the contents of all of the a dirty block are written-back into the main memory. Therefore, the cache flush apparatus according to the present invention is able to shorten time required to perform the cache flush procedure and to improve the performance of a computer system having the cache flush apparatus.

Inventors

  • 👤 Yoshio Masubuchi
  • 👤 Takuya Kano
  • 👤 Hiroshi Sakai

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-04 17:18
CPC Classifications
G; G06; G06F; G06F12/00; G06F12/02; G06F12/08; G06F11/00; G06F11/07; G06F11/16; G06F11/20; G06F11/202; G06F11/2041; G06F11/2043; G06F12/0802; G06F12/0804; G06F11/14; G06F11/1402; G06F11/1405; G06F11/1407; G06F12/0806; G06F12/0815; G06F12/0831

Claims Analysis

Total Claims: 83
Claim 1
Independent Claim 281 words
A cache flush apparatus for use in a computer having at least one processor provided with a copy-back type cache memory having a bus snoop mechanism, a main memory and a system bus for connecting said at least one processor and said main memory, said cache flush apparatus comprising: update address storage means having a plurality of regions each of which has one or more entries for storing the address of data held in a dirty block; update address registering means for monitoring said system bus to detect an update of data within said cache memory, selecting a region of said update address storage means according to a memory address MU at which the data has been updated and an identifier of a processor which has updated the data and storing the memory address MU as an update address in one of the entries of the selected region; update address removing means for monitoring said system bus to detect a write-back of data from a dirty block, selecting a region of said update address storage means according to a memory address MW at which the data has been written back and an identifier of a processor from which the data has been written back and removing the update address which is equal to the memory address MW and is stored in an entry of the selected region; and flush executing means, in response to a request from said at least one processor, for issuing, to said system bus, a command for sequentially reading all update addresses stored in said update address storage means and writing-back into said main memory the data of the dirty block indicated by the update address read.
Claim 2
Dependent Claim 281 words
A cache flush apparatus for use in a computer having at least one processor provided with a copy-back type cache memory having a bus snoop mechanism, a main memory and a system bus for connecting said at least one processor and said main memory, said cache flush apparatus comprising: update address storage means having a plurality of regions each of which has one or more entries for storing the address of data held in a dirty block; update address registering means for monitoring said system bus to detect an update of data within said cache memory, selecting a region of said update address storage means according to a memory address MU at which the data has been updated and an identifier of a processor which has updated the data and storing the memory address MU as an update address in one of the entries of the selected region; update address removing means for monitoring said system bus to detect a write-back of data from a dirty block, selecting a region of said update address storage means according to a memory address MW at which the data has been written back and an identifier of a processor from which the data has been written back and removing the update address which is equal to the memory address MW and is stored in an entry of the selected region; and flush executing means, in response to a request from said at least one processor, for issuing, to said system bus, a command for sequentially reading all update addresses stored in said update address storage means and writing-back into said main memory the data of the dirty block indicated by the update address read.
Claim 3
Dependent Claim 27 words
A cache flush apparatus according to claim 1 , in which the plural regions of said update address store means can be selected by the update address.
Claim 4
Dependent Claim 295 words
A cache flush apparatus for use in a computer having at least one processor provided with a copy-back type and direct map cache memory having a bus snoop mechanism, a main memory and a system bus for connecting said at least one processor and said main memory, said cache flush apparatus comprising: update address storage means having a plurality of regions each of which corresponds to a cache block and has one entry for storing the memory address of data held in the corresponding cache block if the cache block's state is dirty; update address registering means for monitoring said system bus to detect an update of data within said cache memory, selecting a region of said update address storage means according to a memory address MU at which the data has been updated and an identifier of a processor which has updated the data and storing the memory address MU as an update address in the entry of the selected region; update address removing means for monitoring said system bus to detect a write-back of data from a dirty block, selecting a region of said update address storage means according to a memory address MW at which the data has been written back and an identifier of a processor from which the data has been written back, comparing the update address stored in the entry of the selected region with the write-back address and if they are the same, removing the update address; and flush executing means, in response to a request from said at least one processor, for issuing commands to said system bus each of which has the update address stored in the entry of a region and causes a write-back of data from the dirty block designated by the update address.
Claim 5
Dependent Claim 295 words
A cache flush apparatus for use in a computer having at least one processor provided with a copy-back type and direct map cache memory having a bus snoop mechanism, a main memory and a system bus for connecting said at least one processor and said main memory, said cache flush apparatus comprising: update address storage means having a plurality of regions each of which corresponds to a cache block and has one entry for storing the memory address of data held in the corresponding cache block if the cache block's state is dirty; update address registering means for monitoring said system bus to detect an update of data within said cache memory, selecting a region of said update address storage means according to a memory address MU at which the data has been updated and an identifier of a processor which has updated the data and storing the memory address MU as an update address in the entry of the selected region; update address removing means for monitoring said system bus to detect a write-back of data from a dirty block, selecting a region of said update address storage means according to a memory address MW at which the data has been written back and an identifier of a processor from which the data has been written back, comparing the update address stored in the entry of the selected region with the write-back address and if they are the same, removing the update address; and flush executing means, in response to a request from said at least one processor, for issuing commands to said system bus each of which has the update address stored in the entry of a region and causes a write-back of data from the dirty block designated by the update address.
Claim 6
Dependent Claim 273 words
A cache flush apparatus for use in a computer having at least one processor provided with a copy-back type and direct map cache memory having a bus snoop mechanism, a main memory and a system bus for connecting said at least one processor and said main memory, said cache flush apparatus comprising: update address storage means having a plurality of regions each of which corresponds to a cache block and has one entry and one counter; update address registering means for monitoring said system bus to detect an update of data within said cache memory, selecting a region of said update address storage means according to a memory address MU at which the data has been updated and an identifier of a processor which has updated the data, storing the memory address MU as an update address in the entry of the selected region, and incrementing the counter of the selected region; update address removing means for monitoring said system bus to detect a write-back of data from a dirty block, selecting a region of said update address storage means according to a memory address MW at which the data has been written back and an identifier of a processor from which the data has been written back, and decrementing the counter of the selected region; and flush executing means, in response to a request from said at least one processor, for issuing bus commands to said system bus each of which has the update address stored in the entry of a region with a non-initial counter value and causes a write-back of data from the dirty block designated by the update address.
Claim 7
Dependent Claim 273 words
A cache flush apparatus for use in a computer having at least one processor provided with a copy-back type and direct map cache memory having a bus snoop mechanism, a main memory and a system bus for connecting said at least one processor and said main memory, said cache flush apparatus comprising: update address storage means having a plurality of regions each of which corresponds to a cache block and has one entry and one counter; update address registering means for monitoring said system bus to detect an update of data within said cache memory, selecting a region of said update address storage means according to a memory address MU at which the data has been updated and an identifier of a processor which has updated the data, storing the memory address MU as an update address in the entry of the selected region, and incrementing the counter of the selected region; update address removing means for monitoring said system bus to detect a write-back of data from a dirty block, selecting a region of said update address storage means according to a memory address MW at which the data has been written back and an identifier of a processor from which the data has been written back, and decrementing the counter of the selected region; and flush executing means, in response to a request from said at least one processor, for issuing bus commands to said system bus each of which has the update address stored in the entry of a region with a non-initial counter value and causes a write-back of data from the dirty block designated by the update address.
Claim 8
Dependent Claim 254 words
A cache flush apparatus for use in a computer having at least one processor provided with a copy-back type cache memory having a bus snoop mechanism, a main memory and a system bus for connecting said at least one processor and said main memory, said cache flush apparatus comprising: update address storage means having a plurality of regions each of which has one or more entries for storing the addresses of data held in dirty blocks; update address registering means for monitoring said system bus to detect an update of data within said cache memory, selecting a region of said update address storage means according to a memory address MU at which the data has been updated and an identifier of a processor which has updated the data, and storing the memory address MU as an update address in one of the entries of the selected region; update address removing means for monitoring said system bus to detect a write-back of data from a dirty block, selecting a region of said update address storage means according to a memory address MW at which the data has been written back and an identifier of a processor from which the data has been written back and removing the update address in the selected region which coincides with the written-back address stored; and update address reading means for sequentially reading all of the update addresses stored in said update address storage means in order to make the update addresses be read by said at least one processor.
Claim 9
Dependent Claim 254 words
A cache flush apparatus for use in a computer having at least one processor provided with a copy-back type cache memory having a bus snoop mechanism, a main memory and a system bus for connecting said at least one processor and said main memory, said cache flush apparatus comprising: update address storage means having a plurality of regions each of which has one or more entries for storing the addresses of data held in dirty blocks; update address registering means for monitoring said system bus to detect an update of data within said cache memory, selecting a region of said update address storage means according to a memory address MU at which the data has been updated and an identifier of a processor which has updated the data, and storing the memory address MU as an update address in one of the entries of the selected region; update address removing means for monitoring said system bus to detect a write-back of data from a dirty block, selecting a region of said update address storage means according to a memory address MW at which the data has been written back and an identifier of a processor from which the data has been written back and removing the update address in the selected region which coincides with the written-back address stored; and update address reading means for sequentially reading all of the update addresses stored in said update address storage means in order to make the update addresses be read by said at least one processor.
Claim 10
Dependent Claim 299 words
A cache flush apparatus for use in a computer having at least one processor provided with a copy-back type and direct map cache memory having a bus snoop mechanism, a main memory and a system bus for connecting said at least one processor and said main memory, said cache flush apparatus comprising: update address storage means having a plurality of regions provided to correspond to cache blocks provided in said cache memory for storing an address of data stored in a dirty block which is a cache block among cache blocks and which stores data which must be written-back into said main memory, each region having one entry; update address registering means for monitoring said system bus to detect an update of data within said cache memory, selecting a region of said update address storage means according to a memory address MU at which the data has been updated and an identifier of a processor which has updated the data, and storing the memory address MU as an update address in one of the entries of the selected region; update address removing means for monitoring said system bus to detect a write-back of data from a dirty block, selecting a region of said update address storage means according to a memory address MW at which the data has been written back and an identifier of a processor from which the data has been written back, comparing the update address stored in the entry of the selected region with the write-back address, and if they are the same removing the update address from the entry; and update address reading means for sequentially reading all of the update addresses stored in said update address storage means in order to make the update addresses be read by said at least one processor.
Claim 11
Dependent Claim 299 words
A cache flush apparatus for use in a computer having at least one processor provided with a copy-back type and direct map cache memory having a bus snoop mechanism, a main memory and a system bus for connecting said at least one processor and said main memory, said cache flush apparatus comprising: update address storage means having a plurality of regions provided to correspond to cache blocks provided in said cache memory for storing an address of data stored in a dirty block which is a cache block among cache blocks and which stores data which must be written-back into said main memory, each region having one entry; update address registering means for monitoring said system bus to detect an update of data within said cache memory, selecting a region of said update address storage means according to a memory address MU at which the data has been updated and an identifier of a processor which has updated the data, and storing the memory address MU as an update address in one of the entries of the selected region; update address removing means for monitoring said system bus to detect a write-back of data from a dirty block, selecting a region of said update address storage means according to a memory address MW at which the data has been written back and an identifier of a processor from which the data has been written back, comparing the update address stored in the entry of the selected region with the write-back address, and if they are the same removing the update address from the entry; and update address reading means for sequentially reading all of the update addresses stored in said update address storage means in order to make the update addresses be read by said at least one processor.
Claim 12
Dependent Claim 300 words
A cache flush apparatus for use in a computer having at least one processor provided with a copy-back type and direct map cache memory having a bus snoop mechanism, a main memory and a system bus for connecting said at least one processor and said main memory, said cache flush apparatus comprising: update address storage means having a plurality of regions provided to correspond to cache blocks provided in said cache memory for storing an address of data stored in a dirty block which is a cache block among cache blocks which stores data which must be written-back into said main memory, each region having one entry and one counter; update address registering means for monitoring said system bus to detect an update of data within said cache memory, selecting a region of said update address storage means according to a memory address MU at which the data has been updated and an identifier of a processor which has updated the data, storing the memory address MU as an update address in one of the entries of the selected region, and incrementing said counter corresponding to the selected region; update address removing means for monitoring said system bus to detect a write-back of data from a dirty block, selecting a region of said update address storage means according to a memory address MW at which the data has been written back and an identifier of a processor from which the data has been written back, and decrementing said counter corresponding to the selected region; and update address reading means for sequentially reading update addresses stored in regions among the plural regions of said update address storage means for which a counter value is not an initial value and making the update addresses be read by said at least one processor.
Claim 13
Dependent Claim 300 words
A cache flush apparatus for use in a computer having at least one processor provided with a copy-back type and direct map cache memory having a bus snoop mechanism, a main memory and a system bus for connecting said at least one processor and said main memory, said cache flush apparatus comprising: update address storage means having a plurality of regions provided to correspond to cache blocks provided in said cache memory for storing an address of data stored in a dirty block which is a cache block among cache blocks which stores data which must be written-back into said main memory, each region having one entry and one counter; update address registering means for monitoring said system bus to detect an update of data within said cache memory, selecting a region of said update address storage means according to a memory address MU at which the data has been updated and an identifier of a processor which has updated the data, storing the memory address MU as an update address in one of the entries of the selected region, and incrementing said counter corresponding to the selected region; update address removing means for monitoring said system bus to detect a write-back of data from a dirty block, selecting a region of said update address storage means according to a memory address MW at which the data has been written back and an identifier of a processor from which the data has been written back, and decrementing said counter corresponding to the selected region; and update address reading means for sequentially reading update addresses stored in regions among the plural regions of said update address storage means for which a counter value is not an initial value and making the update addresses be read by said at least one processor.
Claim 14
Dependent Claim 283 words
A cache flush apparatus for use in a computer having at least one processor provided with a copy-back type cache memory having a bus snoop mechanism, a main memory and a system bus for connecting said at least one processor and said main memory, said cache flush apparatus comprising: update address storage means having a plurality of regions each of which has one or more entries for storing the addresses of data held in dirty blocks; update address registering means for monitoring said system bus to detect an update of data within said cache memory, selecting a region of said update address storage means according to a memory address MU at which the data has been updated and an identifier of a processor which has updated the data and storing the memory address MU as an update address in one of the entries of the selected region; entry reclaiming means for comparing the number of empty entries of the region selected by said update address registering means with a predetermined value, selecting a stuffed entry of the selected region if the number of the empty entries is smaller than the predetermined value, issuing a bus command which causes a write-back of data stored in the cache block designated by the update address held in the selected entry, and changing the state of the selected entry from “stuffed” to “empty”; and flush executing means, in response to a request from said at least one processor, for issuing bus commands to said system bus each of which has one of the update addresses stored in said update address storage means and causes a write-back of data from the dirty block designated by the update address.
Claim 15
Dependent Claim 46 words
A cache flush apparatus according to claim 8 , in which said cache memory is an n-way set-associative type memory, and said plural regions of said update address storage means are provided to, one-to-one, correspond to groups each of which is formed by n cache blocks.
Claim 16
Dependent Claim 37 words
A cache flush apparatus according to claim 8 , in which the number of entries of each of the plural regions of said update address storage means is smaller than the number of the corresponding cache blocks.
Claim 17
Dependent Claim 27 words
A cache flush apparatus according to claim 8 , in which the plural regions of said update address storage means can be selected by the update address.
Claim 18
Dependent Claim 171 words
A cache flush apparatus according to claim 8 , in which said update address storage means comprises a dirty block counter for storing a number of dirty blocks corresponding to the regions storing an address of data which is stored as a dirty block; and said update address registering means comprises means for incrementing said dirty block counter corresponding to the selected region, and characterized by further comprising: decrement means for monitoring said system bus to detect a write-back of data from a dirty block, selecting a region of said update address storage means according to the memory address MW at which the data has been written back and the identifier of the processor from which the date has been written back, and decrementing the dirty block counter of the selected region; and entry reclaiming means, when the value of a dirty block counter is made to an initial value as a result of a decrement performed by said decrement means, for making all the entries of the selected region empty.
Claim 19
Dependent Claim 99 words
A cache flush apparatus according to claim 12 , in which said entry reclaiming means, when the number of the update addresses stored in one of the plural regions of said update address storage means is larger than the count value of said dirty block counter corresponding to the region, selects one of the update addresses already stored in the region, issues a command for writing-back of data stored in the dirty block indicated by the selected update address into said main memory, and makes the entry in which the update address is stored to be an empty entry.
Claim 20
Dependent Claim 373 words
A cache flush apparatus for use in a computer having at least one processor provided with a copy-back type cache memory having a bus snoop mechanism, a main memory and a system bus for connecting said at least one processor and said main memory, said cache flush apparatus comprising: update address storage means having a plurality of regions each of which has one or more entries for storing the addresses of data held in dirty blocks; update address registering means for monitoring said system bus to detect an update of data within said cache memory, selecting a region of said update address storage means according to a memory address MU at which the data has been updated and an identifier of a processor which has updated the data, and storing the memory address MU as an update address in one of the entries of the selected region; update address removing means for monitoring said system bus to detect a write-back of data from a dirty block, selecting a region of said update address storage means according to a memory address MW at which the data has been written back and an identifier of a processor from which the data has been written back, detecting, for a predetermined time, whether or not an update address which coincides with the write-back address exists in the selected region, and removing the update address which coincides with the write-back address; entry reclaiming means for comparing the number of the empty entries of the region selected by said update address registering means with a predetermined value, selecting a stuffed entry of the selected region if the number of the empty entries is smaller than the predetermined value, issuing a bus command which causes a write-back of data stored in the cache block designated by the update address held in the selected entry, and changing the state of the selected entry from “stuffed” to “empty”; and flush executing means, in response to a request from said at least one processor, for issuing bus commands to said system bus each of which has one of the update addresses stored in said update address storage means and causes a write-back of data from the dirty block designated by the update address.
Claim 21
Dependent Claim 70 words
A cache flush apparatus according to claim 14 , in which said update address removing means, upon detecting that a cache block storing data of a given address is not a dirty block, selects one of the plural regions of said update address storage means based on the given address and, when it detects an update command coincides with the update address in the selected region, removes the update address.
Claim 22
Dependent Claim 37 words
A cache flush apparatus according to claim 14 , in which the number of entries of each of the plural regions of said update address storage means is smaller than the number of the corresponding cache blocks.
Claim 23
Dependent Claim 27 words
A cache flush apparatus according to claim 14 , in which the plural regions of said update address storage means can be selected by the update address.
Claim 24
Dependent Claim 127 words
A cache flush apparatus according to claim 14 , in which said update address storage means comprises a dirty block counter for storing a number of dirty blocks corresponding to the regions storing an address of data which is stored as a dirty block; said update address registering means comprises means for incrementing said dirty block counter corresponding to the selected region; said update address removing means comprises means for decrementing said dirty block counter corresponding to the selected region, and characterized by further comprising: removing means for removing all of the update addresses stored in the region corresponding to said dirty block counter when said dirty block counter is made to be an initial value as a result of a decrement performed by said decrement means.
Claim 25
Dependent Claim 391 words
A cache flush apparatus for use in a computer having at least one processor provided with a copy-back type cache memory having a bus snoop mechanism, a main memory and a system bus for connecting said at least one processor and said main memory, said cache flush apparatus comprising: update address storage means having a plurality of regions each of which has one or more entries for storing the addresses of data held in dirty blocks; update address registering means for monitoring said system bus to detect an update of data within said cache memory, selecting a region of said update address storage means according to a memory address MU at which the data has been updated and an identifier of a processor which has updated the data, and storing the memory address MU as an update address in one of the entries of the selected region; update address removing means for monitoring said system bus to detect a write-back of data from a dirty block into said main memory, selecting a region of said update address storage means according to a memory address MW at which the data has been written back and an identifier of a processor from which the data has been written back, determining whether or not an update address which coincides with the write-back address exists in the selected region until said cache flush apparatus detects a command which must be processed next, and removing the update address when an update address which coincides with the write-back address is detected; entry reclaiming means for comparing a number of empty entries of the region selected by said update address registering means with a predetermined value, selecting a stuffed entry of the selected region if the number of the empty entries is smaller than the predetermined value, issuing a bus command which causes a write-back of data stored in the cache block designated by the update address held in the selected entry, and changing the state of the selected entry from “stuffed” to “empty”; and flush executing means, in response to a request from said at least one processor, for issuing bus commands to said system bus each of which has one of the update addresses stored in said update address storage means and causes a write-back of data from the dirty block designated by the update address.
Claim 26
Dependent Claim 81 words
A cache flush apparatus according to claim 19 , in which when said update address removing means detects a command indicating that all cache blocks for storing data indicated by a certain address are not dirty blocks, said update address removing means selects one of the plural regions of said update address storage means in accordance with the certain address, retrieves the selected region, and removes the update address when an update address which coincides with the write-back address is detected.
Claim 27
Dependent Claim 37 words
A cache flush apparatus according to claim 19 , in which the number of entries of each of the plural regions of said update address storage means is smaller than the number of the corresponding cache blocks.
Claim 28
Dependent Claim 27 words
A cache flush apparatus according to claim 19 , in which the plural regions of said update address storage means can be selected by the update address.
Claim 29
Dependent Claim 127 words
A cache flush apparatus according to claim 19 , in which said update address storage means comprises a dirty block counter for storing a number of dirty blocks corresponding to the regions storing an address of data which is stored as a dirty block; said update address registering means comprises means for incrementing said dirty block counter corresponding to the selected regions; said update address removing means comprises means for decrementing said dirty block counter corresponding to the selected region, and characterized by further comprising: removing means for removing all of the update addresses stored in the region corresponding to said dirty block counter when said dirty block counter is made to be an initial value as a result of a decrement performed by said decrement means.
Claim 30
Dependent Claim 378 words
A computer system having processors provided with a copy-back type cache memory having a bus snoop mechanism, a main memory and a system bus for connecting said processors and said main memory and arranged to periodically extract a checkpoint for restarting an interrupted process, comprising: a cache flush apparatus comprising: update address storage means having a plurality of regions each of which has one or more entries for storing the addresses of data held in dirty blocks; update address registering means for monitoring said system bus to detect an update of data within said cache memory, selecting a region of said update address storage means according to a memory address MU at which the data has been updated and an identifier of a processor which has updated the data and storing the memory address MU as an update address in one of the entries of the selected region; update address removing means for monitoring said system bus to detect a write-back of data from a dirty block, selecting a region of said update address storage means according address MW at which the data has been written back and an identifier of a processor from which the data has been written back and removing the update address which is equal to the memory address stored in an entry of the selected region; and flush executing means, in response to a request from any of said processors, for issuing, to said system bus, a command for sequentially reading all update addresses stored in said update address storage means and writing-back into said main memory the data of the dirty block indicated by the update address read; normal data processing means for performing normal data processing while causing said cache flush apparatus to acquire an update address; checkpoint acquisition means including means for storing into said main memory the context of a data process which is synchronously performed by said processors and writing-back, into said main memory, of data stored in all of the dirty blocks by said flush executing means of said cache flush apparatus; and rollback & recovery means for restoring said main memory to a previous checkpoint when a fault has taken place and using information stored in said restored main memory to restart the normal data processing.
Claim 31
Dependent Claim 378 words
A computer system having processors provided with a copy-back type cache memory having a bus snoop mechanism, a main memory and a system bus for connecting said processors and said main memory and arranged to periodically extract a checkpoint for restarting an interrupted process, comprising: a cache flush apparatus comprising: update address storage means having a plurality of regions each of which has one or more entries for storing the addresses of data held in dirty blocks; update address registering means for monitoring said system bus to detect an update of data within said cache memory, selecting a region of said update address storage means according to a memory address MU at which the data has been updated and an identifier of a processor which has updated the data and storing the memory address MU as an update address in one of the entries of the selected region; update address removing means for monitoring said system bus to detect a write-back of data from a dirty block, selecting a region of said update address storage means according address MW at which the data has been written back and an identifier of a processor from which the data has been written back and removing the update address which is equal to the memory address stored in an entry of the selected region; and flush executing means, in response to a request from any of said processors, for issuing, to said system bus, a command for sequentially reading all update addresses stored in said update address storage means and writing-back into said main memory the data of the dirty block indicated by the update address read; normal data processing means for performing normal data processing while causing said cache flush apparatus to acquire an update address; checkpoint acquisition means including means for storing into said main memory the context of a data process which is synchronously performed by said processors and writing-back, into said main memory, of data stored in all of the dirty blocks by said flush executing means of said cache flush apparatus; and rollback & recovery means for restoring said main memory to a previous checkpoint when a fault has taken place and using information stored in said restored main memory to restart the normal data processing.
Claim 32
Dependent Claim 26 words
A computer system according to claim 24 , in which the plural regions of said update address storage means can be selected by the update address.
Claim 33
Dependent Claim 398 words
A computer system having processors provided with a copy-back type cache memory having a bus snoop mechanism, a main memory and a system bus for connecting said processors and said main memory and arranged to periodically extract a checkpoint for restarting an interrupted process, comprising: a cache flush apparatus comprising: update address storage means having a plurality of regions provided to correspond to cache blocks provided in said cache memory for storing an address of data stored in a dirty block, each region having one entry; update address registering means for monitoring said system bus to detect an update of data within said cache memory, selecting a region of said update address storage means according to a memory address MU at which the data has been updated and an identifier of a processor which has updated the data and storing the memory address MU as an update address in one of the entries of the selected region; update address removing means for monitoring said system bus to detect a write-back of data from a dirty block, selecting a region of said update address storage means according to a memory address MW at which the data has been written back and an identifier of a processor from which the data has been written back, comparing the update address stored in the entry of the selected region with the write-back address and if they are the same, removing the update address from the entry; and flush executing means, in response to a request from any of said processors, for issuing, to said system bus, a command for sequentially reading all update addresses stored in said update address storage means and writing-back into said main memory data of the dirty block indicated by the update address read; normal data processing means for performing normal data processing while causing said cache flush apparatus to acquire an update address; checkpoint acquisition means including means for storing into said main memory the context of a data process which is synchronously performed by said processors and writing-back, into said main memory, of data stored in all of the dirty blocks by said flush executing means of said cache flush apparatus; and rollback & recovery means for restoring said main memory to a previous checkpoint when a fault has taken place and using information stored in said restored main memory to restart the normal data processing.
Claim 34
Dependent Claim 398 words
A computer system having processors provided with a copy-back type cache memory having a bus snoop mechanism, a main memory and a system bus for connecting said processors and said main memory and arranged to periodically extract a checkpoint for restarting an interrupted process, comprising: a cache flush apparatus comprising: update address storage means having a plurality of regions provided to correspond to cache blocks provided in said cache memory for storing an address of data stored in a dirty block, each region having one entry; update address registering means for monitoring said system bus to detect an update of data within said cache memory, selecting a region of said update address storage means according to a memory address MU at which the data has been updated and an identifier of a processor which has updated the data and storing the memory address MU as an update address in one of the entries of the selected region; update address removing means for monitoring said system bus to detect a write-back of data from a dirty block, selecting a region of said update address storage means according to a memory address MW at which the data has been written back and an identifier of a processor from which the data has been written back, comparing the update address stored in the entry of the selected region with the write-back address and if they are the same, removing the update address from the entry; and flush executing means, in response to a request from any of said processors, for issuing, to said system bus, a command for sequentially reading all update addresses stored in said update address storage means and writing-back into said main memory data of the dirty block indicated by the update address read; normal data processing means for performing normal data processing while causing said cache flush apparatus to acquire an update address; checkpoint acquisition means including means for storing into said main memory the context of a data process which is synchronously performed by said processors and writing-back, into said main memory, of data stored in all of the dirty blocks by said flush executing means of said cache flush apparatus; and rollback & recovery means for restoring said main memory to a previous checkpoint when a fault has taken place and using information stored in said restored main memory to restart the normal data processing.
Claim 35
Dependent Claim 402 words
A computer system having processors provided with a copy-back type cache memory having a bus snoop mechanism, a main memory and a system bus for connecting said processors and said main memory and arranged to periodically extract a checkpoint for restarting an interrupted process, comprising: a cache flush apparatus comprising: update address storage means having a plurality of regions provided to correspond to cache blocks provided in said cache memory for storing an address of data stored in a dirty block, each region having one entry and one counter; update address registering means for monitoring said system bus to detect an update of data within said cache memory, selecting a region of said update address storage means according to a memory address MU at which the data has been updated and an identifier of a processor which has updated the data, storing the memory address MU as an update address in one of the entries of the selected region, and incrementing said counter corresponding to the selected region; update address removing means for monitoring said system bus to detect a write-back of data from a dirty block, selecting a region of said update address storage means according to a memory address MW at which the data has been written back and an identifier of a processor from which the data has been written back, and decrementing said counter corresponding to the selected region; and flush executing means, in response to a request from any of said processors, for issuing, to said system bus, a command for sequentially reading update addresses stored in regions among the regions of said update address storage means of which count value is not an initial value, and writing-back into said main memory data of the dirty block indicated by the update address read; normal data processing means for performing normal data processing while causing said cache flush apparatus to acquire an update address; checkpoint acquisition means including means for storing into said main memory the context of a data process which is synchronously performed by said processors and writing-back, into said main memory, of data stored in all of the dirty blocks by said flush executing means of said cache flush apparatus; and rollback & recovery means for restoring said main memory to a previous checkpoint when a fault has taken place and using information stored in said restored main memory to restart the normal data processing.
Claim 36
Dependent Claim 402 words
A computer system having processors provided with a copy-back type cache memory having a bus snoop mechanism, a main memory and a system bus for connecting said processors and said main memory and arranged to periodically extract a checkpoint for restarting an interrupted process, comprising: a cache flush apparatus comprising: update address storage means having a plurality of regions provided to correspond to cache blocks provided in said cache memory for storing an address of data stored in a dirty block, each region having one entry and one counter; update address registering means for monitoring said system bus to detect an update of data within said cache memory, selecting a region of said update address storage means according to a memory address MU at which the data has been updated and an identifier of a processor which has updated the data, storing the memory address MU as an update address in one of the entries of the selected region, and incrementing said counter corresponding to the selected region; update address removing means for monitoring said system bus to detect a write-back of data from a dirty block, selecting a region of said update address storage means according to a memory address MW at which the data has been written back and an identifier of a processor from which the data has been written back, and decrementing said counter corresponding to the selected region; and flush executing means, in response to a request from any of said processors, for issuing, to said system bus, a command for sequentially reading update addresses stored in regions among the regions of said update address storage means of which count value is not an initial value, and writing-back into said main memory data of the dirty block indicated by the update address read; normal data processing means for performing normal data processing while causing said cache flush apparatus to acquire an update address; checkpoint acquisition means including means for storing into said main memory the context of a data process which is synchronously performed by said processors and writing-back, into said main memory, of data stored in all of the dirty blocks by said flush executing means of said cache flush apparatus; and rollback & recovery means for restoring said main memory to a previous checkpoint when a fault has taken place and using information stored in said restored main memory to restart the normal data processing.
Claim 37
Dependent Claim 304 words
A computer system having processors provided with a copy-back type cache memory having a bus snoop mechanism, a main memory and a system bus for connecting said processors and said main memory and arranged to periodically extract a checkpoint for restarting an interrupted process, comprising: a cache flush apparatus comprising: update address storage means having a plurality of regions each of which has one or more entries for storing the addresses of data held in dirty blocks; update address registering means for monitoring said system bus to detect an update of data within said cache memory, selecting a region of said update address storage means according to a memory address MU at which the data has been updated an identifier of a processor which has updated the data and storing the memory address MU as an update address in one of the entries of the selected region; and flush executing means, in response to a request from any of said processors, for issuing bus commands to said system bus each of which has one of the update addresses stored in said update address storage means and causes a write-back of data from the dirty block designated by the update address; normal data processing means for performing normal data processing while causing said cache flush apparatus to acquire an update address; checkpoint acquisition means including means for storing into said main memory the context of a data process which is synchronously performed by said processors and writing-back, into said main memory, of data stored in all of the dirty blocks by said flush executing means of said cache flush apparatus; and rollback & recovery means for restoring said main memory to a previous checkpoint when a fault has taken place and using information stored in said restored main memory to restart the normal data processing.
Claim 38
Dependent Claim 304 words
A computer system having processors provided with a copy-back type cache memory having a bus snoop mechanism, a main memory and a system bus for connecting said processors and said main memory and arranged to periodically extract a checkpoint for restarting an interrupted process, comprising: a cache flush apparatus comprising: update address storage means having a plurality of regions each of which has one or more entries for storing the addresses of data held in dirty blocks; update address registering means for monitoring said system bus to detect an update of data within said cache memory, selecting a region of said update address storage means according to a memory address MU at which the data has been updated an identifier of a processor which has updated the data and storing the memory address MU as an update address in one of the entries of the selected region; and flush executing means, in response to a request from any of said processors, for issuing bus commands to said system bus each of which has one of the update addresses stored in said update address storage means and causes a write-back of data from the dirty block designated by the update address; normal data processing means for performing normal data processing while causing said cache flush apparatus to acquire an update address; checkpoint acquisition means including means for storing into said main memory the context of a data process which is synchronously performed by said processors and writing-back, into said main memory, of data stored in all of the dirty blocks by said flush executing means of said cache flush apparatus; and rollback & recovery means for restoring said main memory to a previous checkpoint when a fault has taken place and using information stored in said restored main memory to restart the normal data processing.
Claim 39
Dependent Claim 45 words
A computer system according to claim 28 , in which said cache memory is an n-way set-associative type memory, and said plural regions of said update address storage means are provided to, one-to-one, correspond to groups each of which is formed by n cache blocks.
Claim 40
Dependent Claim 36 words
A computer system according to claim 28 , in which the number of entries of each of the plural regions of said update address storage means is smaller than the number of the corresponding cache blocks.
Claim 41
Dependent Claim 26 words
A computer system according to claim 28 , in which the plural regions of said update address storage means can be selected by the update address.
Claim 42
Dependent Claim 170 words
A computer system according to claim 28 , in which said update address storage means comprises a dirty block counter for storing a number of dirty blocks corresponding to the regions storing an address of data which is stored as a dirty block; and said update address registering means comprises means for incrementing said dirty block counter corresponding to the selected region, and characterized by further comprising: decrement means for monitoring said system bus to detect a write-back of data from a dirty block, selecting a region of said update address storage means according to the memory address MW at which the data has been written back and the identifier of the processor from which the date has been written back, and decrementing the dirty block counter of the selected region; and entry reclaiming means, when the value of a dirty block counter is made to an initial value as a result of a decrement performed by said decrement means, for making all the entries of the selected region empty.
Claim 43
Dependent Claim 98 words
A computer system according to claim 32 , in which said entry reclaiming means, when the number of the update addresses stored in one of the plural regions of said update address storage means is larger than the count value of said dirty block counter corresponding to the region, selects one of the update addresses already stored in the region, issues a command for write-back of data stored in the dirty block indicated by the selected update address into said main memory, and makes the entry in which the update address is stored to be an empty entry.
Claim 44
Dependent Claim 471 words
A computer system having processors provided with a copy-back type cache memory having a bus snoop mechanism, a main memory and a system bus for connecting said processors and said main memory and arranged to periodically extract a checkpoint for restarting an interrupted process, comprising: a cache flush apparatus comprising: update address storage means having a plurality of regions each of which has one or more entries for storing the addresses of data held in dirty blocks; update address registering means for monitoring said system bus to detect an update of data within said cache memory, selecting a region of said update address storage means according to a memory address MU at which the data has been updated an identifier of a processor which has updated the data, and storing the memory address MU as an update address in one of the entries of the selected region; update address removing means for monitoring said system bus to detect a write-back of data from a dirty block, selecting a region of said update address storage means according to a memory address MW at which the data has been written back and an identifier of a processor from which the data has been written back, detecting, for a predetermined time, whether or not an update address which coincides with the write-back address exists in the selected region, and removing the update address which coincides with the write-back address; entry reclaiming means for comparing the number of empty entries of the region selected by said update address registering means with a predetermined value, selecting a stuffed entry of the selected region if the number of the empty entries is smaller than the predetermined value, issuing a bus command which causes a write-back of data stored in the cache block designated by the update address of the entry, and changing the state of the entry from “stuffed” to “empty”; and flush executing means, in response to a request from any of said processors, for issuing bus commands to said system bus each of which has one of the update addresses stored in said update address storage means and causes a write-back of data from the dirtyblock designated by the update address; normal data processing means for performing normal data processing while causing said cache flush apparatus to acquire an update address; checkpoint acquisition means including means for storing into said main memory the context of a data process which is synchronously performed by said processors and writing-back, into said main memory, of data stored in all of the dirty blocks by said flush executing means of said cache flush apparatus; and rollback & recovery means for restoring said main memory to a previous checkpoint when a fault has taken place and using information stored in said restored main memory to restart the normal data processing.
Claim 45
Dependent Claim 69 words
A computer system according to claim 34 , in which said update address removing means, upon detecting that a cache block storing data of a given address is not a dirty block, selects one of the plural regions of said update address storage means based on the given address and, when it detects an update command coincides with the update address in the selected region, removes the update address.
Claim 46
Dependent Claim 36 words
A computer system according to claim 34 , in which the number of entries of each of the plural regions of said update address storage means is smaller than the number of the corresponding cache blocks.
Claim 47
Dependent Claim 26 words
A computer system according to claim 34 , in which the plural regions of said update address storage means can by selected by the update address.
Claim 48
Dependent Claim 126 words
A computer system according to claim 34 , in which said update address storage means comprises a dirty block counter for storing a number of dirty blocks corresponding to the regions storing an address of data which is stored as a dirty block; said update address registering means comprises means for incrementing said dirty block counter corresponding to the selected region; said update address removing means comprises means for decrementing said dirty block counter corresponding to the selected region, and characterized by further comprising: removing means for removing all of the update addresses stored in the region corresponding to said dirty block counter when said dirty block counter is made to be an initial value as a result of a decrement performed by said decrement means.
Claim 49
Dependent Claim 494 words
A computer system having processors provided with a copy-back type cache memory having a bus snoop mechanism, a main memory and a system bus for connecting said processors and said main memory and arranged to periodically extract a checkpoint for restarting an interrupted process, comprising: a cache flush apparatus comprising: update address storage means having a plurality of regions each of which has one or more entries for storing the addresses of data held in dirty blocks; update address registering means for monitoring said system bus to detect an update of data within said cache memory, selecting a region of said update address storage means according to a memory address MU at which the data has been updated and an identifier of a processor which has updated the data, and storing the memory address MU as an update address in one of the entries of the selected region; update address removing means for monitoring said system bus to detect a write-back of data from a dirty block into said main memory, selecting a region of said update address storage means according to a memory address MW at which the data has been written back and an identifier of a processor from which the data has been written back, determining whether or not an update address which coincides with the write-back address exists in the selected region until said cache flush apparatus detects a command which must be processed next, and removing the update address when an update address which coincides with the write-back address is detected; entry reclaiming means for comparing a number of empty entries of the region selected by said update address registering means with a predetermined value, selecting a stuffed entry of the selected region if the number of the empty entries is smaller than the predetermined value, issuing a bus command which causes a write-back of data stored in the cache block designated by the update address held in the selected entry, and changing the state of the entry from “stuffed” to “empty”; and flush executing means, in response to a request from any of said processors, for issuing bus commands to said system bus each of which has one of the update addresses stored in said update address storage means and causes a write-back of data from the dirty block designated by the update address; normal data processing means for performing normal data processing while causing said cache flush apparatus to acquire an update address; checkpoint acquisition means including means for storing into said main memory the context of a data process which is synchronously performed by said processors and writing-back, into said main memory, of data stored in all of the dirty blocks by said flush executing means of said cache flush apparatus; and rollback & recovery means for restoring said main memory to a previous checkpoint when a fault has taken place and using information stored in said restored main memory to restart the normal data processing.
Claim 50
Dependent Claim 80 words
A computer system according to claim 39 , in which when said update address removing means detects a command indicating that all cache blocks for storing data indicated by a certain address are not dirty blocks said update address removing means selects one of the plural regions of said update address storage means in accordance with the certain address, retrieves the selected region, and removes the update address when an update address which coincides with the write-back address is detected.
Claim 51
Dependent Claim 36 words
A computer system according to claim 39 , in which the number of entries of each of the plural regions of said update address storage means is smaller than the number of the corresponding cache blocks.
Claim 52
Dependent Claim 26 words
A computer system according to claim 39 , in which the plural regions of said update address storage means can be selected by the update address.
Claim 53
Dependent Claim 126 words
A computer system according to claim 39 , in which said update address storage means comprises a dirty block counter for storing a number of dirty blocks corresponding to the regions storing an address of data which is stored as a dirty block; said update address registering means comprises means for incrementing said dirty block counter corresponding to the selected regions; said update address removing means comprises means for decrementing said dirty block counter corresponding to the selected region, and characterized by further comprising: removing means for removing all of the update addresses stored in the region corresponding to said dirty block counter when said dirty block counter is made to be an initial value as a result of a decrement performed by said decrement means.
Claim 54
Dependent Claim 384 words
A computer system having processors provided with a copy-back type cache memory having a bus snoop mechanism, a main memory and a system bus for connecting said processors and said main memory and arranged to periodically extract a checkpoint for restarting an interrupted process, comprising: a cache flush apparatus comprising: update address storage means having a plurality of regions each of which has one or more entries for storing the addresses of data held in dirty blocks; update address registering means for monitoring said system bus to detect an update of data within said cache memory, selecting a region of said update address storage means according to a memory address MU at which the data has been updated and an identifier of a processor which has updated the data, and storing the memory address MU as an update address in one of the entries of the selected region; update address removing means for monitoring said system bus to detect a write-back of data from a dirty block, selecting a region of said update address storage means according to a memory address MW at which the data has been written back and an identifier of a processor from which the data has been written back and removing the update address in the selected region which coincides with the written-back address stored; and update address reading means for sequentially reading all of the update addresses stored in said update address storage means in order to make the update addresses be read by said processors; normal data processing means for performing normal data processing while causing said cache flush apparatus to acquire an update address; checkpoint acquisition means including means for storing into said main memory the context of a data process which is synchronously performed by said processors and writing-back, into said main memory, of data stored in all of the dirty blocks by obtaining the update address through said update address reading means of said cache flush apparatus and by performing a command for writing-back data indicated by the identified update address from said cache memory into said main memory; and rollback & recovery means for restoring said main memory to a previous checkpoint when a fault has taken place and using information stored in said restored main memory to restart the normal data processing.
Claim 55
Dependent Claim 384 words
A computer system having processors provided with a copy-back type cache memory having a bus snoop mechanism, a main memory and a system bus for connecting said processors and said main memory and arranged to periodically extract a checkpoint for restarting an interrupted process, comprising: a cache flush apparatus comprising: update address storage means having a plurality of regions each of which has one or more entries for storing the addresses of data held in dirty blocks; update address registering means for monitoring said system bus to detect an update of data within said cache memory, selecting a region of said update address storage means according to a memory address MU at which the data has been updated and an identifier of a processor which has updated the data, and storing the memory address MU as an update address in one of the entries of the selected region; update address removing means for monitoring said system bus to detect a write-back of data from a dirty block, selecting a region of said update address storage means according to a memory address MW at which the data has been written back and an identifier of a processor from which the data has been written back and removing the update address in the selected region which coincides with the written-back address stored; and update address reading means for sequentially reading all of the update addresses stored in said update address storage means in order to make the update addresses be read by said processors; normal data processing means for performing normal data processing while causing said cache flush apparatus to acquire an update address; checkpoint acquisition means including means for storing into said main memory the context of a data process which is synchronously performed by said processors and writing-back, into said main memory, of data stored in all of the dirty blocks by obtaining the update address through said update address reading means of said cache flush apparatus and by performing a command for writing-back data indicated by the identified update address from said cache memory into said main memory; and rollback & recovery means for restoring said main memory to a previous checkpoint when a fault has taken place and using information stored in said restored main memory to restart the normal data processing.
Claim 56
Dependent Claim 425 words
A computer system having processors provided with a copy-back type cache memory having a bus snoop mechanism, a main memory and a system bus for connecting said processors and said main memory and arranged to periodically extract a checkpoint for restarting an interrupted process, comprising: a cache flush apparatus comprising: update address storage means having a plurality of regions provided to correspond to cache blocks provided in said cache memory for storing an address of data stored in a dirty block which is a cache block among cache blocks and which stores data which must be written-back into said main memory, each region having one entry; update address registering means for monitoring said system bus to detect an update of data within said cache memory, selecting a region of said update address storage means according to a memory address MU at which the data has been updated and an identifier of a processor which has updated the data, and storing the memory address MU as an update address in one of the entries of the selected region; update address removing means for monitoring said system bus to detect a write-back of data from a dirty block, selecting a region of said update address storage means according to a memory address MW at which the data has been written back and an identifier of a processor from which the data has been written back, the update address stored in the entry of the selected region with the write-back address, and if they are the same removing the update address from the entry; and update address reading means for sequentially reading all of the update addresses stored in said update address storage means in order to make the update addresses be read by said processors; normal data processing means for performing normal data processing while causing said cache flush apparatus to acquire an update address; checkpoint acquisition means including means for storing into said main memory the context of a data process which is synchronously performed by said processors and writing-back, into said main memory, of data stored in all of the dirty blocks by obtaining the update address through said update address reading means of said cache flush apparatus and by performing a command for writing-back data indicated by the identified update address from said cache memory into said main memory; and rollback & recovery means for restoring said main memory to a previous checkpoint when a fault has taken place and using information stored in said restored main memory to restart the normal data processing.
Claim 57
Dependent Claim 425 words
A computer system having processors provided with a copy-back type cache memory having a bus snoop mechanism, a main memory and a system bus for connecting said processors and said main memory and arranged to periodically extract a checkpoint for restarting an interrupted process, comprising: a cache flush apparatus comprising: update address storage means having a plurality of regions provided to correspond to cache blocks provided in said cache memory for storing an address of data stored in a dirty block which is a cache block among cache blocks and which stores data which must be written-back into said main memory, each region having one entry; update address registering means for monitoring said system bus to detect an update of data within said cache memory, selecting a region of said update address storage means according to a memory address MU at which the data has been updated and an identifier of a processor which has updated the data, and storing the memory address MU as an update address in one of the entries of the selected region; update address removing means for monitoring said system bus to detect a write-back of data from a dirty block, selecting a region of said update address storage means according to a memory address MW at which the data has been written back and an identifier of a processor from which the data has been written back, the update address stored in the entry of the selected region with the write-back address, and if they are the same removing the update address from the entry; and update address reading means for sequentially reading all of the update addresses stored in said update address storage means in order to make the update addresses be read by said processors; normal data processing means for performing normal data processing while causing said cache flush apparatus to acquire an update address; checkpoint acquisition means including means for storing into said main memory the context of a data process which is synchronously performed by said processors and writing-back, into said main memory, of data stored in all of the dirty blocks by obtaining the update address through said update address reading means of said cache flush apparatus and by performing a command for writing-back data indicated by the identified update address from said cache memory into said main memory; and rollback & recovery means for restoring said main memory to a previous checkpoint when a fault has taken place and using information stored in said restored main memory to restart the normal data processing.
Claim 58
Dependent Claim 424 words
A computer system having processors provided with a copy-back type cache memory having a bus snoop mechanism, a main memory and a system bus for connecting said processors and said main memory and arranged to periodically extract a checkpoint for restarting an interrupted process, comprising: a cache flush apparatus comprising: update address storage means having a plurality of regions provided to correspond to cache blocks provided in said cache memory for storing an address of data stored in a dirty block which is a cache block among cache blocks which stores data which must be written-back into said main memory, each region having one entry and one counter; update address registering means for monitoring said system bus to detect an update of data within said cache memory, selecting a region of said update address storage means according to a memory address MU at which the data has been updated and an identifier of a processor which has updated the data, storing the memory address MU as an update address in one of the entries of the selected region, and incrementing said counter corresponding to the selected region; update address removing means for monitoring said system bus to detect a write-back of data from a dirty block, selecting a region of said update address storage means according to a memory address MW at which the data has been written back and an identifier of a processor from which the data has been written back, and decrementing said counter corresponding to the selected region; and update address reading means for sequentially reading update addresses stored in regions among the plural regions of said update address storage means for which a counter value is not an initial value and making the update addresses be read by said processors; normal data processing means for performing normal data processing while causing said cache flush apparatus to acquire an update address; checkpoint acquisition means including means for storing into said main memory the context of a data process which is synchronously performed and writing-back, into said main memory, of data stored in all of the dirty blocks by obtaining the update address through said update address reading means of said cache flush apparatus and by performing a command for writing-back data indicated by the identified update address from said cache memory into said main memory; and rollback & recovery means for restoring said main memory to a previous checkpoint when a fault has taken place and using information stored in said restored main memory to restart the normal data processing.
Claim 59
Dependent Claim 424 words
A computer system having processors provided with a copy-back type cache memory having a bus snoop mechanism, a main memory and a system bus for connecting said processors and said main memory and arranged to periodically extract a checkpoint for restarting an interrupted process, comprising: a cache flush apparatus comprising: update address storage means having a plurality of regions provided to correspond to cache blocks provided in said cache memory for storing an address of data stored in a dirty block which is a cache block among cache blocks which stores data which must be written-back into said main memory, each region having one entry and one counter; update address registering means for monitoring said system bus to detect an update of data within said cache memory, selecting a region of said update address storage means according to a memory address MU at which the data has been updated and an identifier of a processor which has updated the data, storing the memory address MU as an update address in one of the entries of the selected region, and incrementing said counter corresponding to the selected region; update address removing means for monitoring said system bus to detect a write-back of data from a dirty block, selecting a region of said update address storage means according to a memory address MW at which the data has been written back and an identifier of a processor from which the data has been written back, and decrementing said counter corresponding to the selected region; and update address reading means for sequentially reading update addresses stored in regions among the plural regions of said update address storage means for which a counter value is not an initial value and making the update addresses be read by said processors; normal data processing means for performing normal data processing while causing said cache flush apparatus to acquire an update address; checkpoint acquisition means including means for storing into said main memory the context of a data process which is synchronously performed and writing-back, into said main memory, of data stored in all of the dirty blocks by obtaining the update address through said update address reading means of said cache flush apparatus and by performing a command for writing-back data indicated by the identified update address from said cache memory into said main memory; and rollback & recovery means for restoring said main memory to a previous checkpoint when a fault has taken place and using information stored in said restored main memory to restart the normal data processing.
Claim 60
Dependent Claim 452 words
A computer system having at least first and second computers and arranged to periodically extract a checkpoint for restarting an interrupted process, the system comprising: memory update monitoring means for acquiring a write command generated in said first computer, storing the write command to a main memory and transmitting a stored command to said second computer when it is instructed by said first computer; and memory update means for receiving the command transmitted by said memory update monitoring means to issue a write command, similar to that for said first computer, into a main memory of said second computer, wherein said first computer comprises: a plurality of processors and a system bus; a cache flush apparatus comprising: update address storage means having a plurality of regions each of which has one or more entries for storing the addresses of data held in dirty blocks; update address registering means for monitoring said system bus to detect an update of data within said cache memory, selecting a region of said update address storage means according to a memory address MU at which the data has been updated and an identifier of a processor which has updated the data and storing the memory address MU as an update address in one of the entries of the selected region; update address removing means for monitoring said system bus to detect a write-back of data from a dirty block, selecting a region of said update address storage means according to a memory address MW at which the data has been written back and an identifier of a processor from which the data has been written back and removing the update address which is equal to the memory address stored in an entry of the selected region; and flush executing means, in response to a request from any of said processors for issuing, to said system bus, a command for sequentially reading all update addresses stored in said update address storage means and writing-back into said main memory the data of the dirty block indicated by the update address read; normal data processing means for performing normal data processing while causing said cache flush apparatus to acquire an update address; checkpoint acquisition means including means for storing into said main memory the context of a data process which is synchronously performed and writing-back, into said main memory, data stored in all of the dirty blocks performed by said flush executing means of said cache flush apparatus, and issuing a command for transmitting the stored commands to said second computer; and said second computer comprises waiting means for starting the normal data processing when said memory update means does not receive a command from said memory update monitoring means.
Claim 61
Dependent Claim 452 words
A computer system having at least first and second computers and arranged to periodically extract a checkpoint for restarting an interrupted process, the system comprising: memory update monitoring means for acquiring a write command generated in said first computer, storing the write command to a main memory and transmitting a stored command to said second computer when it is instructed by said first computer; and memory update means for receiving the command transmitted by said memory update monitoring means to issue a write command, similar to that for said first computer, into a main memory of said second computer, wherein said first computer comprises: a plurality of processors and a system bus; a cache flush apparatus comprising: update address storage means having a plurality of regions each of which has one or more entries for storing the addresses of data held in dirty blocks; update address registering means for monitoring said system bus to detect an update of data within said cache memory, selecting a region of said update address storage means according to a memory address MU at which the data has been updated and an identifier of a processor which has updated the data and storing the memory address MU as an update address in one of the entries of the selected region; update address removing means for monitoring said system bus to detect a write-back of data from a dirty block, selecting a region of said update address storage means according to a memory address MW at which the data has been written back and an identifier of a processor from which the data has been written back and removing the update address which is equal to the memory address stored in an entry of the selected region; and flush executing means, in response to a request from any of said processors for issuing, to said system bus, a command for sequentially reading all update addresses stored in said update address storage means and writing-back into said main memory the data of the dirty block indicated by the update address read; normal data processing means for performing normal data processing while causing said cache flush apparatus to acquire an update address; checkpoint acquisition means including means for storing into said main memory the context of a data process which is synchronously performed and writing-back, into said main memory, data stored in all of the dirty blocks performed by said flush executing means of said cache flush apparatus, and issuing a command for transmitting the stored commands to said second computer; and said second computer comprises waiting means for starting the normal data processing when said memory update means does not receive a command from said memory update monitoring means.
Claim 62
Dependent Claim 26 words
A computer system according to claim 47 , in which the plural regions of said update address storage means can be selected by the update address.
Claim 63
Dependent Claim 478 words
A computer system having at least first and second computers and arranged to periodically extract a checkpoint for restarting an interrupted process, the system comprising: memory update monitoring means for acquiring a write command generated in said first computer, storing the write command to a main memory and transmitting a stored command to said second computer when it is instructed by said first computer; and memory update means for receiving the command transmitted by said memory update monitoring means to issue a write command, similar to that for said first computer, into a main memory of said second computer, wherein said first computer comprises: a plurality of processors and a system bus; a cache flush apparatus comprising: update address storage means having a plurality of regions provided to correspond to cache blocks provided in said cache memory for storing an address of data stored in a dirty block, each region having one entry; update address registering means for monitoring said system bus to detect an update of data within said cache memory, selecting a region of said update address storage means according to a memory address MU at which the data has been updated and an identifier of a processor which has updated the data and storing the memory address MU as an update address in one of the entries of the selected region; update address removing means for monitoring said system bus to detect a write-back of data from a dirty block, selecting a region of said update address storage means according to a memory address MW at which the data has been written back and an identifier of a processor from which the data has been written back, comparing the update address stored in the entry of the selected region with the write-back address and removing the update address stored in the selected region when the update address and the memory address are the same; and flush executing means, in response to a request from any of said processors, for issuing, to said system bus, a command for sequentially reading all of update addresses stored in said update address storage means and writing-back into said main memory data of the dirty block indicated by the update address read; normal data processing means for performing normal data processing while causing said cache flush apparatus to acquire an update address; checkpoint acquisition means including means for storing into said main memory the context of a data process which is synchronously performed and writing-back, into said main memory, data stored in all of the dirty blocks performed by said flush executing means of said cache flush apparatus, and issuing a command for transmitting the stored commands to said second computer; and said second computer comprises waiting means for starting the normal data processing when said memory update means does not receive a command from said memory update monitoring means.
Claim 64
Dependent Claim 478 words
A computer system having at least first and second computers and arranged to periodically extract a checkpoint for restarting an interrupted process, the system comprising: memory update monitoring means for acquiring a write command generated in said first computer, storing the write command to a main memory and transmitting a stored command to said second computer when it is instructed by said first computer; and memory update means for receiving the command transmitted by said memory update monitoring means to issue a write command, similar to that for said first computer, into a main memory of said second computer, wherein said first computer comprises: a plurality of processors and a system bus; a cache flush apparatus comprising: update address storage means having a plurality of regions provided to correspond to cache blocks provided in said cache memory for storing an address of data stored in a dirty block, each region having one entry; update address registering means for monitoring said system bus to detect an update of data within said cache memory, selecting a region of said update address storage means according to a memory address MU at which the data has been updated and an identifier of a processor which has updated the data and storing the memory address MU as an update address in one of the entries of the selected region; update address removing means for monitoring said system bus to detect a write-back of data from a dirty block, selecting a region of said update address storage means according to a memory address MW at which the data has been written back and an identifier of a processor from which the data has been written back, comparing the update address stored in the entry of the selected region with the write-back address and removing the update address stored in the selected region when the update address and the memory address are the same; and flush executing means, in response to a request from any of said processors, for issuing, to said system bus, a command for sequentially reading all of update addresses stored in said update address storage means and writing-back into said main memory data of the dirty block indicated by the update address read; normal data processing means for performing normal data processing while causing said cache flush apparatus to acquire an update address; checkpoint acquisition means including means for storing into said main memory the context of a data process which is synchronously performed and writing-back, into said main memory, data stored in all of the dirty blocks performed by said flush executing means of said cache flush apparatus, and issuing a command for transmitting the stored commands to said second computer; and said second computer comprises waiting means for starting the normal data processing when said memory update means does not receive a command from said memory update monitoring means.
Claim 65
Dependent Claim 474 words
A computer system having at least first and second computers and arranged to periodically extract a checkpoint for restarting an interrupted process, the system comprising: memory update monitoring means for acquiring a write command generated in said first computer, storing the write command to a main memory and transmitting a stored command to said second computer when it is instructed by said first computer; and memory update means for receiving the command transmitted by said memory update monitoring means to issue a write command, similar to that for said first computer, into a main memory of said second computer, wherein said first computer comprises: a plurality of processors and a system bus; a cache flush apparatus comprising: update address storage means having a plurality of regions provided to correspond to cache blocks provided in said cache memory for storing an address of data stored in a dirty block, each region having one entry and one counter; update address registering means for monitoring said system bus to detect an update of data within said cache memory, selecting a region of said update address storage means according to a memory address MU at which the data has been updated and an identifier of a processor which has updated the data, storing the memory address MU as an update address in one of the entries of the selected region, and incrementing said counter corresponding to the selected region; update address removing means for monitoring said system bus to detect a write-back of data from a dirty block, selecting a region of said update address storage means according to a memory address MW at which the data has been written back and an identifier of a processor from which the data has been written back, and decrementing said counter corresponding to the selected region; and flush executing means, in response to a request from any of said processors, for issuing, to said system bus, a command for sequentially reading update addresses stored in regions among the regions of said update address storage means of which count value is not an initial value, and writing-back into said main memory data of the dirty block indicated by the update address read; normal data processing means for performing normal data processing while causing said cache flush apparatus to acquire an update address; and checkpoint acquisition means including means for storing into said main memory the context of a data process which is synchronously performed and writing-back, into said main memory, data stored in all of the dirty blocks performed by said flush executing means of said cache flush apparatus, and issuing a command for transmitting the stored commands to said second computer; and said second computer comprises waiting means for starting the normal data processing when said memory update means does not receive a command from said memory update monitoring means.
Claim 66
Dependent Claim 474 words
A computer system having at least first and second computers and arranged to periodically extract a checkpoint for restarting an interrupted process, the system comprising: memory update monitoring means for acquiring a write command generated in said first computer, storing the write command to a main memory and transmitting a stored command to said second computer when it is instructed by said first computer; and memory update means for receiving the command transmitted by said memory update monitoring means to issue a write command, similar to that for said first computer, into a main memory of said second computer, wherein said first computer comprises: a plurality of processors and a system bus; a cache flush apparatus comprising: update address storage means having a plurality of regions provided to correspond to cache blocks provided in said cache memory for storing an address of data stored in a dirty block, each region having one entry and one counter; update address registering means for monitoring said system bus to detect an update of data within said cache memory, selecting a region of said update address storage means according to a memory address MU at which the data has been updated and an identifier of a processor which has updated the data, storing the memory address MU as an update address in one of the entries of the selected region, and incrementing said counter corresponding to the selected region; update address removing means for monitoring said system bus to detect a write-back of data from a dirty block, selecting a region of said update address storage means according to a memory address MW at which the data has been written back and an identifier of a processor from which the data has been written back, and decrementing said counter corresponding to the selected region; and flush executing means, in response to a request from any of said processors, for issuing, to said system bus, a command for sequentially reading update addresses stored in regions among the regions of said update address storage means of which count value is not an initial value, and writing-back into said main memory data of the dirty block indicated by the update address read; normal data processing means for performing normal data processing while causing said cache flush apparatus to acquire an update address; and checkpoint acquisition means including means for storing into said main memory the context of a data process which is synchronously performed and writing-back, into said main memory, data stored in all of the dirty blocks performed by said flush executing means of said cache flush apparatus, and issuing a command for transmitting the stored commands to said second computer; and said second computer comprises waiting means for starting the normal data processing when said memory update means does not receive a command from said memory update monitoring means.
Claim 67
Dependent Claim 463 words
A computer system having at least first and second computers and arranged to periodically extract a checkpoint for restarting an interrupted process, the system comprising: memory update monitoring means for acquiring a write command generated in said first computer, storing the write command to a main memory and transmitting a stored command to said second computer when it is instructed by said first computer; and memory update means for receiving the command transmitted by said memory update monitoring means to issue a write command, similar to that for said first computer, into a main memory of said second computer, wherein said first computer comprises: a plurality of processors and a system bus; a cache flush apparatus comprising: update address storage means having a plurality of regions each of which has one or more entries for storing the addresses of data held in dirty blocks; update address registering means for monitoring said system bus to detect an update of data within said cache memory, selecting a region of said update address storage means according to a memory address MU at which the data has been updated and an identifier of a processor which has updated the data and storing the memory address MU as an update address in one of the entries of the selected region; entry reclaiming means for comparing the number of the empty entries of the region selected by said update address registering means with a predetermined value, selecting a stuffed entry of the selected region if the number of the empty entries is smaller than the predetermined value, issuing a bus command which causes a write-back of data stored in the cache block designated by the update address held in the selected entry, and changing the state of the selected entry from “stuffed” to “empty”; and flush executing means, in response to a request from any of said processors, for issuing bus commands to said system bus each of which has one of the update addresses stored in said update address storage means and causes a write-back of data from the dirty block designated by the update address; normal data processing means for performing normal data processing while causing said cache flush apparatus to acquire an update address; and checkpoint acquisition means including means for storing into said main memory the context of a data process which is synchronously performed by said processors and writing-back, into said main memory, data stored in all of the dirty blocks performed by said flush executing means of said cache flush apparatus, and issuing a command for transmitting the stored commands to said second computer; and said second computer comprises waiting means for starting the normal data processing when said memory update means does not receive a command from said memory update monitoring means.
Claim 68
Dependent Claim 45 words
A computer system according to claim 51 , in which said cache memory is an n-way set-associative type memory, and said plural regions of said update address storage means are provided to, one-to-one, correspond to groups each of which is formed by n cache blocks.
Claim 69
Dependent Claim 36 words
A computer system according to claim 51 , in which the number of entries of each of the plural regions of said update address storage means is smaller than the number of the corresponding cache blocks.
Claim 70
Dependent Claim 26 words
A computer system according to claim 51 , in which the plural regions of said update address storage means can be selected by the update address.
Claim 71
Dependent Claim 170 words
A computer system according to claim 51 , in which said update address storage means comprises a dirty block counter for storing a number of dirty blocks corresponding to the regions storing an address of data which is stored as a dirty block; and said update address registering means comprises means for incrementing said dirty block counter corresponding to the selected region, and characterized by further comprising: decrement means for monitoring said system bus to detect a write-back of data from a dirty block, selecting a region of said update address storage means according to the memory address MW at which the data has been written back and the identifier of the processor from which the date has been written back, and decrementing the dirty block counter of the selected region; and entry reclaiming means, when the value of a dirty block counter is made to an initial value as a result of a decrement performed by said decrement means, for making all the entries of the selected region empty.
Claim 72
Dependent Claim 98 words
A computer system according to claim 55 , in which said entry reclaiming means, when the number of the update addresses stored in one of the plural regions of said update address storage means is larger than the count value of said dirty block counter corresponding to the region, selects one of the update addresses already stored in the region, issues a command for write-back of data stored in the dirty block indicated by the selected update address into said main memory, and makes the entry in which the update address is stored to be an empty entry.
Claim 73
Dependent Claim 552 words
A computer system having at least first and second computers and arranged to periodically extract a checkpoint for restarting an interrupted process, the system comprising: memory update monitoring means for acquiring a write command generated in said first computer, storing the write command to a main memory and transmitting a stored command to said second computer when it is instructed by said first computer; and memory update means for receiving the command transmitted by said memory update monitoring means to issue a write command, similar to that for said first computer, into a main memory of said second computer, wherein said first computer comprises: a plurality of processors and a system bus; a cache flush apparatus comprising: update address storage means having a plurality of regions each of which has one or more entries for storing the addresses of data held in dirty blocks; update address registering means for monitoring said system bus to detect an update of data within said cache memory, selecting a region of said update address storage means according to a memory address MU at which the data has been updated and an identifier of a processor which has updated the data, and storing the memory address MU as an update address in one of the entries of the selected region; update address removing means for monitoring said system bus to detect a write-back of data from a dirty block, selecting a region of said update address storage means according to a memory address MW at which the data has been written back and an identifier of a processor from which the data has been written back, detecting, for a predetermined time, whether or. not an update address which coincides with the write-back address exists in the selected region, and removing the update address which coincides with the write-back address; entry reclaiming means for comparing the number of the empty entries of the region selected by said update address registering means with a predetermined value, selecting a stuffed entry of the selected region if the number of the empty entries is smaller than the predetermined value, issuing a bus command which causes a write-back of data stored in the cache block designated by the update address held in the selected entry, and changing the state of the selected entry from “stuffed” to “empty”; and flush executing means, in response to a request from any of said processors, for issuing bus commands to said system bus each of which has one of the update addresses stored in said update address storage means and causes a write-back of data from the dirty block designated by the update address; normal data processing means for performing normal data processing while causing said cache flush apparatus to acquire an update address; and checkpoint acquisition means including means for storing into said main memory the context of a data process which is synchronously performed by said processors and writing-back, into said main memory, data stored in all of the dirty blocks performed by said flush executing means of said cache flush apparatus, and issuing a command for transmitting the stored commands to said second computer; and said second computer comprises waiting means for starting the normal data processing when said memory update means does not receive a command from said memory update monitoring means.
Claim 74
Dependent Claim 70 words
A cache flush apparatus according to claim 57 , in which said update address removing means, upon detecting that a cache block storing data of a given address is not a dirty block, selects one of the plural regions of said update address storage means based on the given address and, when it detects an update command coincides with the update address in the selected region, removes the update address.
Claim 75
Dependent Claim 36 words
A computer system according to claim 57 , in which the number of entries of each of the plural regions of said update address storage means is smaller than the number of the corresponding cache blocks.
Claim 76
Dependent Claim 26 words
A computer system according to claim 57 , in which the plural regions of said update address storage means can be selected by the update address.
Claim 77
Dependent Claim 126 words
A computer system according to claim 57 , in which said update address storage means comprises a dirty block counter for storing a number of dirty blocks corresponding to the regions storing an address of data which is stored as a dirty block; said update address registering means comprises means for incrementing said dirty block counter corresponding to the selected region; said update address removing means comprises means for decrementing said dirty block counter corresponding to the selected region, and characterized by further comprising: removing means for removing all of the update addresses stored in the region corresponding to said dirty block counter when said dirty block counter is made to be an initial value as a result of a decrement performed by said decrement means.
Claim 78
Dependent Claim 569 words
A computer system having at least first and second computers and arranged to periodically extract a checkpoint for restarting an interrupted process, the system comprising: memory update monitoring means for acquiring a write command generated in said first computer, storing the write command to a main memory and transmitting a stored command to said second computer when it is instructed by said first computer; and memory update means for receiving the command transmitted by said memory update monitoring means to issue a write command, similar to that for said first computer, into a main memory of said second computer, wherein said first computer comprises: a plurality of processors and a system bus; a cache flush apparatus comprising: update address storage means having a plurality of regions each of which has one or more entries for storing the addresses of data held in dirty blocks; update address registering means for monitoring said system bus to detect an update of data within said cache memory, selecting a region of said update address storage means according to a memory address MU at which the data has been updated and an identifier of a processor which has updated the data, and storing the memory address MU as an update address in one of the entries of the selected region; update address removing means for monitoring said system bus to detect a write-back of data from a dirty block into said main memory, selecting a region of said update address storage means according to a memory address MW at which the data has been written back and an identifier of a processor from which the data has been written back, determining whether or not an update address which coincides with the write-back address exists in the selected region until said cache flush apparatus detects a command which must be processed next, and removing the update address when an update address which coincides with the write-back address is detected; entry reclaiming means for comparing a number of empty entries of the region selected by said update address registering means with a predetermined value, selecting a stuffed entry of the selected region if the number of the empty entries is smaller than the predetermined value, issuing a bus command which causes a write-back of data stored in the cache block designated by the update address held in the selected entry, and changing the state of the selected entry from “stuffed” to “empty”; and flush executing means, in response to a request from any of said processors, for issuing bus commands to said system bus each of which has one of the update addresses stored in said update address storage means and causes a write-back of data from the dirty block designated by the update address; normal data processing means for performing normal data processing while causing said cache flush apparatus to acquire an update address; checkpoint acquisition means including means for storing into said main memory the context of a data process which is synchronously performed by said processors and writing-back, into said main memory, data stored in all of the dirty blocks performed by said flush executing means of said cache flush apparatus, and issuing a command for transmitting the stored commands to said second computer; and said second computer comprises waiting means for starting the normal data processing when said memory update means does not receive a command from said memory update monitoring means.
Claim 79
Dependent Claim 80 words
A computer system according to claim 62 , in which when said update address removing means detects a command indicating that all cache blocks for storing data indicated by a certain address are not dirty blocks, said update address removing means selects one of the plural regions of said update address storage means in accordance with the certain address, retrieves the selected region, and removes the update address when an update address which coincides with the write-back address is detected.
Claim 80
Dependent Claim 36 words
A computer system according to claim 62 , in which the number of entries of each of the plural regions of said update address storage means is smaller than the number of the corresponding cache blocks.
Claim 81
Dependent Claim 26 words
A computer system according to claim 62 , in which the plural regions of said update address storage means can be selected by the update address.
Claim 82
Dependent Claim 127 words
A computer system according to claim 62 , in which said update address storage means comprises a dirty block counter for storing the number of the dirty blocks corresponding to the regions storing an address of data which is stored by the dirty block; said update address registering means comprises means for incrementing said dirty block counter corresponding to the selected regions; said update address removing means comprises means for decrementing said dirty block counter corresponding to the selected region, and characterized by further comprising: removing means for removing all of the update addresses stored in the region corresponding to said dirty block counter when said dirty block counter is made to be an initial value as a result of a decrement performed by said decrement means.
Claim 83
Dependent Claim 39 words
A computer system according to one of claims 24 to 45 , and 47 to 66 , in which said normal data processing means includes a process for turning on said flush executing means of said cache flush apparatus.

References Cited (Backward Citations)

WO1984002409A1 Cited
EP0299511A2 Cited
EP0328172A1 Cited
DE4136729A1 Cited
EP0750262A2 Cited
US5745730A Cited
US5828821A Cited
US5845326A Cited
US6088773A Cited

USPTO Annuity & Maintenance Windows

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

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag