Error detection/correction and fault detection/recovery – Data processing system error or fault handling – Reliability and availability
Reexamination Certificate
1998-03-31
2001-06-19
Baker, Stephen M. (Department: 2784)
Error detection/correction and fault detection/recovery
Data processing system error or fault handling
Reliability and availability
C714S763000, C714S770000, C714S797000, C714S805000
Reexamination Certificate
active
06249878
ABSTRACT:
BACKGROUND OF THE INVENTION
This invention relates generally to data storage systems, and more particularly to data storage systems wherein a variable stored in the system may be processed by a plurality of system resources.
As is known in the art, large mainframe or open system (i.e., host) computer systems require large capacity data storage systems. These host computer systems generally includes data processors which perform many operations (i.e., functions) on data introduced to the computer system through peripherals including the data storage system. The results of these operations are output to peripherals, including the storage system.
One type of data storage system is a magnetic disk storage system. Here a bank of disk drives and the host computer system are coupled together through an interface. The interface includes CPU, or “front end”, controllers and “back end” disk controllers. The interface operates the controllers in such a way that they are transparent to the computer. That is, data is stored in, and retrieved from, the bank of disk drives in such a way that the host computer system merely thinks it is operating with one host computer memory. One such system is described in U.S. Pat. No. 5,206,939, entitled “System and Method for Disk Mapping and Data Retrieval”, inventors Moshe Yanai, Natan Vishlitzky, Bruno Alterescu and Daniel Castel, issued Apr. 27, 1993, and assigned to the same assignee as the present invention.
As described in such U.S. Patent, the interface may also include, in addition to the CPU controllers and disk controllers, addressable cache memories. The cache memory is a semiconductor memory and is provided to rapidly store data from the host computer system before storage in the disk drives, and, on the other hand, store data from the disk drives prior to being sent to the host computer. The cache memory being a semiconductor memory, as distinguished from a magnetic memory as in the case of the disk drives, is much faster than the disk drives in reading and writing data.
The CPU controllers, disk controllers and cache memory are interconnected through a backplane printed circuit board. More particularly, disk controllers are mounted on disk controller printed circuit boards. CPU controllers are mounted on CPU controller printed circuit boards. And, cache memories are mounted on cache memory printed circuit boards. The disk controller, CPU controller and cache memory printed circuit boards plug into the backplane printed circuit board. In order to provide data integrity in case of a failure in a controller, the backplane printed circuit board has a pair of busses. One set the disk controllers is connected to one bus and another set of the disk controllers is connected to the other bus. Likewise, one set the CPU controllers is connected to one bus and another set of the CPU controllers is connected to the other bus. The cache memories are connected to both busses. Thus, the use of two busses provides a degree of redundancy to protect against a total system failure in the event that the controllers, or disk drives connected to one bus fail.
In one system, the communication to the controllers and the cache memories is through a pair of bi-directional lines. Typically one bi-directional line is for data and the other bi-directional line is for control signals. As noted above, each of the controllers is connected to only one of the busses and, therefore, only one pair of bi-directional lines are electrically connected to the controllers; however, because each one of the cache memories is connected to both busses, each cache memory has two pairs of bi-directional lines.
During the operation of such a system, functional operations may be required to be performed by various system resources on a global variable stored in the system. If one resource has acquired the variable for one type of functional operation, it is important that the variable not be operated upon by another requesting system resource until the first resource has performed its operation on the variable. Thus, in many systems the variable is locked (i.e, made non-accessible by any of the other resources) until the variable has been operated on by the first resource. The locking of the variable, however, requires loss of full utilization of all system resources. For example, in the system described above, a controller requesting transfer of an addressed variable must poll the system to determined whether the variable is being operated upon by another one of the resources. This polling takes places during steps in the desired operation on the variable to see whether the variable is released from any locked condition. During the polling, the system busses are tied up thereby reducing the efficiency of the system.
SUMMARY OF THE INVENTION
In accordance with the invention, a system is provided wherein an addressable memory is coupled to a bus. The addressable memory includes: a control logic coupled to the bus; a random access memory; and a buffer memory coupled between the bus and the random access memory. The buffer memory has: a write buffer memory; a read buffer memory; and an operation selection section. The operation selection section includes a plurality of operation units, each one thereof being configured to perform a different, predetermined operation on data fed to a pair of input ports thereof. One of the input ports is fed by an output of the write buffer memory and the other input port is fed by an output of the read buffer memory. A selector is fed by outputs of the plurality of operation units for coupling a selected one of the operation unit outputs to the random access memory selectively in accordance with a control signal fed to the selector by the control logic.
With such an arrangement, a global variable is stored in the write buffer memory and the operation is performed on the stored global variable. Because the operation is performed locally (i.e., with the addressable memory, the busses are free (i.e., need not be blocked) during processing within the addressable memory. Thus, to put it another way, the controllers may communicate through the un-blocked busses.
In accordance with another feature of the invention, a system is provided wherein an addressable memory is coupled to a bus. The addressable memory includes: a control logic coupled to the bus; a random access memory; and a buffer memory coupled between the bus and the random access memory. The buffer memory has: a write buffer memory; a read buffer memory; and an operation selection section. The operation selection section includes a plurality of substantially identical operation sections. Each one of the operation sections is configured to perform a different, predetermined operation on data fed to a pair of input ports thereof. One of the input ports is fed by an output of the write buffer memory and the other input port is fed by an output of the read buffer memory. A selector is fed by outputs of the plurality of operation section for coupling a selected one of the operation section outputs to the random access memory selectively in accordance with a control signal fed to the selector by the control logic. The output from each of the plurality of substantially identical operation sections is fed to a majority gate. The output of the majority gate represents the output of a majority of the outputs from the plurality of substantially identical operation sections.
With such an arrangement, one, or more, of the operations performed by the operation section may be an operation the result of which requires generation of an error correction and detection code. More particularly, fed to the input port from the write buffer memory is data having an error correction and detection code appended thereto. The operation removes the appended code from the data and then performs the operation on the data. In order to provide error correction to any error generated by the operation, the plurality of substantially identical operation sections have the outputs thereof fed to the majority gate. The correction of any erro
Maclellan Christopher S.
Walton John K.
Baker Stephen M.
Daly, Crowley & Mofford LLP
EMC Corporation
LandOfFree
Data storage system does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with Data storage system, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Data storage system will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-2470025