1. A method of controlling a non-volatile memory device including multiple planes, the method comprising: receiving a write request from a host, the write request including a data set; storing the data set at a buffer address in a buffer; storing the buffer address in a mapping table, the mapping table configured to map the buffer addresses to the multiple planes, and the buffer address corresponding to where the data set is stored; sequentially transmitting data sets stored at respective buffer addresses to page buffers of the planes corresponding to the buffer addresses according to the mapping table; and programming in parallel at least two data sets stored in respective page buffers to memory cells of the non-volatile memory device.