What is DDR software leveling ?
It is a method to compensate for the signal propagation delays as a result of different trace length at high frequencies.
How it is different from DDR2 and DDR3 ?
It is just a mechanism that is used for (DDR2 and)? DDR3.
Why it is required and important ?
It is intended for fine tuning the DDR interface. For example to be able to use higher frequencies.
There is a seed used for this how this seed is calculated?
The seed values are the actual values that are used to configure the DDR PHY registers in software. In general, the values depend on DDR3 clock frequency and CK and DQS trace lengths.
Texas instruments for example provides an Excel spreadsheet for obtaining the seed values.
Generally leveling is required to ensure proper timing for read/write operation is that the only purpose?
As far as I can tell, yes.