N-Step-SCAN (also referred to as N-Step LOOK) is a disk scheduling algorithm to determine the motion of the disk's arm and head in servicing read and write requests. It segments the request queue into subqueues of length N. Breaking the queue into segments of N requests makes service guarantees possible. Subsequent requests entering the request queue will not get pushed into N sized subqueues which are already full by the elevator algorithm. As such, starvation is eliminated and guarantees of service within N requests is possible.[1]
Another way to look at N-step SCAN is this: A buffer for N requests is kept. All the requests in this buffer are serviced in any particular sweep. All the incoming requests in this period are not added to this buffer but are kept up in a separate buffer. When these top N requests are serviced, the IO scheduler chooses the next N requests and this process continues. This allows for better throughput and avoids starvation.
N-Step-SCAN along with FSCAN prevents "arm stickiness" unlike SSTF, SCAN, and C-SCAN.
Other variations include: