When you copy a file from the local file system to HDFS or when you a create a new file in HDFS, the blocks are copied sequentially. Which means that the first block is copied to a datanode first, then the second block is copied to a datanode and so on until the last block.
When the data of one datanode node is replicated to other datanodes, it is done in parallel. When a datanode receives data of the block from the client, the datanode saves the data in a file, and simultaneously replicates this data to another datanode.