1. A programming system, comprising: a differential programming semiconductor device which comprises: a plurality of interconnections in which program data is programmed, and a program circuit which comprises an ID (identification) register configured to hold identification data corresponding to the programmed program data, and which programs the program data in said plurality of interconnections; a storage unit configured to store the program data; and a host configured to read first identification data corresponding to first program data from said ID register of said program circuit, read the first program data from said storage unit based on the first identification data, generate write data based on the first program data and a second program data, which is to be newly programmed in said plurality of interconnections, and transfer the write data to said program circuit, wherein the first program data has been programmed in said plurality of interconnections, and wherein said program circuit writes the write data in said plurality of interconnections to program the second program data in said plurality of interconnections.