Legal claims defining the scope of protection, as filed with the USPTO.
1. A controller-implemented method, comprising: reading, by a controller, a scrub unit containing a read unit; in response to determining that the scrub unit is not marked as being scrubbed in a current scrub cycle, storing, by the controller, the scrub unit to a memory; marking, by the controller, another scrub unit associated with the stored scrub unit as a scrub-pending scrub unit; reading, by the controller, the scrub-pending scrub unit in response to determining that a subsequent read matches predefined criteria, wherein the predefined criteria is selected from the group consisting of: the location of data corresponding to the subsequent read being rotationally ahead of the scrub-pending scrub unit, the subsequent read being within a predetermined time window relative to marking the scrub-pending scrub unit, and the location of the data corresponding to the subsequent read being within a predetermined track threshold from the scrub-pending scrub unit; and performing, by the controller, a scrub using the stored scrub unit and the scrub-pending scrub unit.
2. The controller-implemented method of claim 1 , wherein the predefined criteria includes the location of the data corresponding to the subsequent read being rotationally ahead of the scrub-pending scrub unit.
3. The controller-implemented method of claim 1 , wherein the predefined criteria includes the subsequent read being within the predetermined time window relative to marking the scrub-pending scrub unit.
4. The controller-implemented method of claim 1 , wherein the predefined criteria includes the location of the data corresponding to the subsequent read being within the predetermined track threshold from the scrub-pending scrub unit.
5. The controller-implemented method of claim 1 , wherein the scrub-pending scrub unit is located on a different hard disk than the scrub unit containing the read unit.
6. The controller-implemented method of claim 1 , comprising: marking, by the controller, all scrub units associated with the stored scrub unit as scrub-pending scrub units; storing, by the controller, a read scrub-pending scrub request in memory; and reading, by the controller, another scrub-pending scrub unit in response to determining that a second subsequent read matches predefined criteria.
7. The controller-implemented method of claim 1 , comprising: marking, by the controller, all scrub units associated with the stored scrub unit as scrub-pending scrub units; storing, by the controller, a read scrub-pending scrub request in the memory; waiting, by the controller, to read another scrub-pending scrub unit in response to determining that a second subsequent read matches predefined criteria; reading, by the controller, all other scrub-pending scrub units associated with the stored scrub unit not already stored upon occurrence of a predefined event; and performing, by the controller, the scrub using the stored scrub unit and all of the scrub-pending scrub units associated with the stored scrub unit.
8. The controller-implemented method of claim 7 , wherein the predefined event includes passage of a predetermined amount of time since the scrub unit was saved.
9. The controller-implemented method of claim 7 , wherein the predefined event includes the memory reaching a predefined usage.
10. The controller-implemented method of claim 7 , wherein unrelated scrub units from several sets of associated scrub units are stored according to the method, wherein sets of associated scrub units requiring a least amount of additional reads to gather their scrub-pending scrub units are processed first.
11. A system, comprising: a processor; and logic integrated with the processor, executable by the processor, or integrated with and executable by the processor, the logic being configured to: read a scrub unit containing a read unit; in response to determining that the scrub unit is not marked as being scrubbed in a current scrub cycle, store the scrub unit to a memory; mark another scrub unit associated with the stored scrub unit as a scrub-pending scrub unit; read the scrub-pending scrub unit, in response to determining that a subsequent read matches predefined criteria, wherein the predefined criteria is selected from the group consisting of: the location of data corresponding to the subsequent read being rotationally ahead of the scrub-pending scrub unit, the subsequent read being within a predetermined time window relative to marking the scrub-pending scrub unit, and the location of the data corresponding to the subsequent read being within a predetermined track threshold from the scrub-pending scrub unit; and perform a scrub using the scrub unit and the scrub-pending scrub unit.
12. The system of claim 11 , wherein the predefined criteria includes the location of the data corresponding to the subsequent read being rotationally ahead of the scrub-pending scrub unit.
13. The system of claim 11 , wherein the predefined criteria includes the subsequent read being within the predetermined time window relative to marking the scrub-pending scrub unit.
14. The system of claim 11 , wherein the predefined criteria includes the location of the data corresponding to the subsequent read being within the predetermined track threshold from the scrub-pending scrub unit.
15. The system of claim 11 , wherein the scrub-pending scrub unit is located on a different hard disk than the scrub unit containing the read unit.
16. The system of claim 11 , comprising logic configured to: mark all scrub units associated with the stored scrub unit as scrub-pending scrub units; store a read scrub-pending scrub request in memory; and read another scrub-pending scrub unit in response to determining that a second subsequent read matches predefined criteria.
17. The system of claim 11 , comprising logic configured to: mark all scrub units associated with the stored scrub unit as scrub-pending scrub units; store a read scrub-pending scrub request in memory; wait to read another scrub-pending scrub unit in response to determining that a second subsequent read matches predefined criteria; read all other scrub-pending scrub units associated with the stored scrub unit not already stored upon occurrence of a predefined event; and perform the scrub using the stored scrub unit and all of the scrub-pending scrub units associated with the stored scrub unit.
18. The system of claim 11 , wherein the predefined event is selected from the group consisting of: passage of a predetermined amount of time since the scrub unit was saved and the memory reaching a predefined usage.
19. The system of claim 17 , wherein unrelated scrub units from several sets of associated scrub units are stored according to the method, wherein sets of associated scrub units requiring a least amount of additional reads to gather their scrub-pending scrub units are processed first.
20. A computer program product for data scrubbing, the computer program product comprising a computer readable storage medium having program instructions embodied therewith, the program instructions executable by a computer to cause the computer to: read, by the computer, a scrub unit containing a read unit; in response to determining that the scrub unit is not marked as being scrubbed in a current scrub cycle, store, by the computer, the scrub unit to a memory; mark, by the computer, another scrub unit associated with the stored scrub unit as a scrub-pending scrub unit; read, by the computer, the scrub-pending scrub unit, in response to determining that a subsequent read matches predefined criteria, wherein the predefined criteria is selected from the group consisting of: the location of data corresponding to the subsequent read being rotationally ahead of the scrub-pending scrub unit, the subsequent read being within a predetermined time window relative to marking the scrub-pending scrub unit, and the location of the data corresponding to the subsequent read being within a predetermined track threshold from the scrub-pending scrub unit; and perform, by the computer, a scrub using the stored scrub unit and the scrub-pending scrub unit.
Unknown
November 23, 2021
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.