1. A method for reading a current track of data from a storage device, the method comprising: using a first read head to read the current track of data and at least a respective first portion of each of a plurality of adjacent tracks of data; using a plurality of respective additional read heads, respectively offset along the current track of data, and offset perpendicularly to the current track of data, relative to the first read head, to read at least a portion of the current track of data and at least a respective second portion of each of the plurality of adjacent tracks of data, and adjusting the at least a portion of the current track of data and the at least a respective second portion of the plurality of adjacent tracks of data read by the plurality of respective additional read heads to account for each respective offset; and decoding the data read from the current track, including processing signals from the first read head and the plurality of respective additional read heads, to at least partly remove, from the signal from the first read head, contributions from the respective first portion of each of the plurality of adjacent tracks of data.