So Shiv, there is no fine knock correction table? There is only the base ignition map (low octane map), the ignition advance offset map (high octane map), and one scalar advance multiplier?
total = base map + advance multiplier * advance offset map
So if you register a lot of knock events at an RPM/Load range where the knock correction authority (advance offset map) is 0, it will still lower the advance multiplier? This wouldn't change ignition at the RPM/Load where knock occured (because the advance offset map is 0 at that cell), but would retard it over the rest of the rev range where knock wouldn't necessarily have happened at all?
This situation seems to call for a fine tune knock correction table that basically would contain a smaller learned advance multiplier for each cell in the ignition table.