Say I need to create and save the file data on HDD. HDD is nothing but a stack of multiple spinning disks. My understanding is file data is divided in to number of memory blocks which can be saved to any disk(among stack of disk in HDD) in HDD.
The operating system doesn't see individual disk platters – it only sees the whole HDD as a single linear storage device, which is only accessible using "logical block addresses" (LBAs).
Usually the lowest-numbered LBAs (starting from 0) are on the outer edge while highest-numbered LBAs are on the center – but the OS doesn't have information about where physically (e.g. on which disk platter) the data is located. Only the HDD's firmware knows this. (I think it's generally some sort of round-robin mapping?)
(The same applies to flash-based SSDs or USB sticks – the OS sees a single storage unit, and the SSD itself decides how to place each LBA to the corresponding flash chip.)
So when the OS needs to save a file,
first the OS file system divides the file into blocks and decides on which LBAs to store the file at (usually the same file's blocks are kept close together, but different files are scattered around);
then the HDD decides which platter/track/sector to use for each LBA.
Another related question is say two write or two read request are executed at exactly same time. Will they be done sequentially where once one task is executed then only next task will be executed or each request will be executed in round robin fashion for some time interval ?
This depends on the operating system's I/O scheduler. See e.g. this PDF.
The scheduler might also change its logic depending on the device type (e.g. spinning disks have "seek time" delays, but flash memory doesn't), on whether the device supports queued requests (e.g. SATA AHCI supports sending multiple requests at once, but IDE practically doesn't), and other factors.