We need a sort algorithm that will let us fit more data in memory. Most of the time, we're not using the whole heap array. Assume an array size of N records. Place two heaps in the array, the primary and the secondary. This still fits easily within a cylinder.
M seeks as before.
Remember, we started with 2M seeks. We access it via an index. We can use a sorted index file, and use binary search to find keys in index file. Insertion would be much easier, and deletion would be less expensive as well. To solve this problem, we can try to store some balance information, which will allow us to rebalance the tree.