Invalid data detection, recording and nullification
First Claim
1. In a data processing system having a host processor, said host processor coupled to a plurality of channels, a controller attached to said host processor through said plurality of channels, and a plurality of data storage devices coupled to said controller, said controller including a plurality of storage paths for managing data movement between said host processor and said plurality of data storage devices, a method in said controller for detecting and reporting to said host processor invalid data, due to an exception condition, received from said host processor comprising the steps of:
- identifying the exception condition causing the invalid data to be invalid;
marking the invalid data processed under said exception condition as invalid;
in response to a subsequent request by said host processor to read the invalid data, detecting that said invalid data is marked as invalid;
signaling the host processor that the invalid data is marked as invalid; and
wherein said exception condition is a power loss in the host processor, an operating system failure within the host processor, or a failed retry.
1 Assignment
0 Petitions
Accused Products
Abstract
Often in DASD subsystems, circumstances can occur which prevent the full transfer of the required data from channel to subsystem during a write operation. The disclosed methods prevents this data from later being read and treated as valid data by the host processor. This is achieved by marking data as invalid within the storage subsystem once it is determined that a channel error has occured. Subsequently, upon reading that data, the host processor can be made aware of the data invalidity and treat the data accordingly. In a second embodiment, invalid data is discarded rather than stored over the previous valid version of the data, before it is ever stored on DASD.
-
Citations
8 Claims
-
1. In a data processing system having a host processor, said host processor coupled to a plurality of channels, a controller attached to said host processor through said plurality of channels, and a plurality of data storage devices coupled to said controller, said controller including a plurality of storage paths for managing data movement between said host processor and said plurality of data storage devices, a method in said controller for detecting and reporting to said host processor invalid data, due to an exception condition, received from said host processor comprising the steps of:
-
identifying the exception condition causing the invalid data to be invalid; marking the invalid data processed under said exception condition as invalid; in response to a subsequent request by said host processor to read the invalid data, detecting that said invalid data is marked as invalid; signaling the host processor that the invalid data is marked as invalid; and wherein said exception condition is a power loss in the host processor, an operating system failure within the host processor, or a failed retry. - View Dependent Claims (2, 3)
-
-
4. In a data processing system having a host processor, said host processor coupled to a plurality of channels, a controller attached to said host processor through said plurality of channels, and a plurality of data storage devices coupled to said controller, said controller including a plurality of storage paths for managing data movement between said host processor and said plurality of data storage devices, each said storage path having an Automatic Data Transfer (ADT) buffer, a method in said controller for detecting and reporting to said host processor invalid data received from said host processor comprising the steps of:
-
establishing an asynchronous mode in the controller for allowing said invalid data received from said host processor to be discarded in said ADT buffer such that said invalid data is not written to said plurality of data storage devices; transferring a data record from said host processor through one of said plurality of channels into said ADT buffer; in response to a channel error during said data record transfer from said host processor through one of said plurality of channels into said ADT buffer, discarding said data record in said ADT buffer and preserving a previous copy of said data record on one of said plurality of data storage devices; and in response to a successful data record transfer without a channel error from said host processor through one of said plurality of channels into said ADT buffer, further transferring said data record to one of said plurality of data storage devices. - View Dependent Claims (5)
-
-
6. In a data processing system having a host processor, said host processor coupled to a plurality of channels, a controller attached to said host processor through said plurality of channels and operating in Direct Access Storage Device (DASD) fast write mode, a plurality of data storage devices coupled to said controller, said controller including a cache memory having a track slot, a non-volatile storage (NVS) array having a block and shadowing said cache memory, and a plurality of storage paths for managing data movement between said host processor and said plurality of data storage devices, said plurality of storage paths each having an automatic data transfer (ADT) buffer, a method in said controller for detecting and reporting to said host processor an invalid data record received from said host processor comprising the steps of:
-
establishing an asynchronous mode in the controller for allowing said invalid data received from said host processor to be discarded in said ADT buffer such that said invalid data is not written to said plurality of data storage devices; transferring a data record from said host processor through one of said plurality of channels to said controller; determining whether a previous version of said data record is located in said track slot in said cache memory; determining whether a block in said NVS array has been allocated for said data record; determining whether said data record is invalid; wherein if said transfer of said data record comprises a format write and said data record is invalid, deallocating a block in said NVS array associated with said data record and converting the format write command into an erase command; wherein if said transfer of said data record comprises a first update write and said data record is invalid, deallocating said block in said NVS array associated with said data record and invalidating said track slot in said cache memory associated with said data record; wherein if said transfer of said data record comprises a subsequent update write and a previously non-updated data record within said track slot is to be updated and said data record is invalid, destaging said track slot containing said data record from said cache memory to one of said plurality of data storage devices, deallocating said block in said NVS array associated with said data record, and invalidating said track slot in said cache memory associated with said data record; and wherein if said transfer of said data record comprises a subsequent update write and a previously updated data record within said track slot is to be updated and said data record is invalid, discarding said block in said NVS array allocated for said data record, invalidating said track slot in said cache memory associated with said data record, destaging said block in said NVS array associated with said previously updated data record from said NVS array to one of said plurality of data storage devices, destaging said track slot containing said data record from said cache memory to one of said plurality of data storage devices, and deallocating said block in said NVS array associated with said previously updated data record. - View Dependent Claims (7, 8)
-
Specification