1. A method of programming a non-volatile data storage device in a multi-channel system using a plurality of non-volatile data storage devices, the method comprising: programming data in a memory cell array included in the non-volatile data storage device using a first page buffer selected from among a plurality of page buffers included in each of the non-volatile data storage devices; performing, during the programming, a setup operation for loading data using a second page buffer, which is different from the first page buffer used during the programming; and programming data in the memory cell array using the second page buffer, after the programming using the first page buffer is completed.