"Spark knock or pinging" is cause by two flame fronts burning in the combustion chamber. Normally there is just one flame front as the gas/air mixture is ignited by the spark plug. The shape of the combustion chamber can play a role in how the flame front travels but the biggest cause of pre-ignition is two things; low octane rating for fuel and combustion chamber deposits. Carbon deposits can cause hot spots that will per-ignite the fuel mixture causing the two flame fronts ( along with the spark plug) and make the noise. Have you changed the spark plugs? Did you use OEM brand spark plugs? How much carbon was on the spark plugs? Does the engine burn any motor oil? Unleaded fuel does not leave much for carbon deposits in a combustion chamber provided your using a high quality gasoline like Top Tier™ gasoline with higher levels of detergent. Motor oil will leave lots of carbon deposits behind. If your engine uses any motor oil, you will have carbon deposits in your combustion chamber.
3M made a kit to remove chamber deposits for fuel injected engines (now obsolete and cost ~$150.00) but most others of these types of kits involve feeding cleaner into a vacuum port on the intake manifold, which does not distribute the clean to all cylinders. Additives in the gas tank do little to nothing once the carbon is there but work well as a preventive measure. One do-it-yourself way I have seen is here:
http://www.fullsizechevy.com/forum/gene ... nique.html
Warning: performing the above is very dangerous and can lead to damaged paint, car fire, blown motor, etc...... make sure you know what you are getting into by doing this.
The best way to remove carbon is to pull the cylinder head off and physically clean the carbon out of the combustion chambers and the tops of the pistons; very expensive and time consuming.
A hot engine adds to the above by keeping the carbon hot and the low grade fuel burning before it should.