1. A method of programming a differential programming semiconductor device, comprising: outputting first identification data corresponding to first program data from an ID register of a program circuit in said device to a host, wherein the first program data is programmed in a plurality of interconnections; reading the first program data from a storage unit by said host based on the first identification data; generating write data based on the first program data and a second program data, which is to be newly programmed in said plurality of interconnections, by said host; transferring the write data from said host to said device; and writing the write data in said plurality of interconnections by said program circuit so as to program the second program data in said plurality of interconnections.