Abstract: A client system makes a client request to read or write data according to a first protocol. The requests is received by an Array Management Controller which determines an associated storage location identifying at least one disk controller system and a corresponding memory location. The Array Management Controller translates the client request into a requests, which is sent to a disk controller system according to a second protocol. The disk controller system performs the client request and can perform parity calculation. The Array Management Controller combines the responses from each sent disk controller system request to generate a response into the client request. The client response is then sent to the client system according to a first protocol. Advantageously, a plurality of disk controller system can be used to perform parity calculations thereby reducing the parity calculations performed by the Array Management Controller.
Abstract: A data storage system and method to promote integrity of data written, optionally using a cache with buffer to persistent memory. Health of a computer system is dynamically monitored. If good health is present, during a data write operation, the cache system is configured so data is buffered within the cache, thus promoting faster performance. But if good health is absent, the cache system is configured to write through to persistent memory, thus trading off speed for integrity of the data stored. Optionally, a multi-level cache hierarchy system can be used as the caching system.