The following is primarily for S2 :-
In case of a write-through cache, data is simultaneously copied to higher level caches, backing storage or memory.
In case of a write-back cache, data is updated in the cache only, data updation in the memory is done at a later time.
In case of Write Allocation policy, data is loaded from the memory into the cache and then updated.
In case of No-Write / Write-Around Allocation policy, data is directly written to / updated in the main memory, without disturbing the cache.
Now, write-allocation policy is generally not used with a write-through cache since it becomes unnecessary to bring data from the memory to the cache and then updating the data in both cache (property of write-allocation policy) and main memory (property of write-through cache).
When no-write-allocation policy is used with a write-back cache, then data updation in memory is being done twice (1st updation is for no-write-allocation policy and the 2nd updation is for write-back policy), which again doesn’t give much of an advantage.
Write-allocation policy in conjunction with a write-back cache is more preferable.