1460758330-badbc3bc-2604-4b9e-a63c-b3a19282ca82

1. A computer implemented method for writing data, the method comprising:
receiving write data to be encoded into a write word;
receiving constraints on symbol values associated with the write word;
encoding the write data into the write word, the encoding comprising:
representing the write data and the constraints as a first linear system in a first field of a first size;
embedding the first linear system into a second linear system in a second field of a second size, the second size larger than the first size;
solving the second linear system in the second field resulting in a solution; and
collapsing the solution into the first field resulting in the write word, the write word satisfying the constraints on symbol values associated with the write word; and
writing the write word to a memory.
2. The method of claim 1, wherein the first and second fields are Galois fields.
3. The method of claim 1, wherein the memory is a phase change memory (PCM).
4. The method of claim 1, wherein the constraints are due to physical defects in the memory.
5. The method of claim 1, wherein the second linear system is represented as Vandermonde matrix.
6. The method of claim 5, wherein the Vandermonde matrix contains powers of symbols denoting locations of constrained symbol values.
7. The method of claim 1, wherein the first linear system includes an underspecified system of equations.
8. The method of claim 1, wherein the collapsing includes multiplying a matrix times the solution.
9. The method of claim 1 wherein the collapsing the solution includes multiplying a matrix times the solution and adding it to a result of multiplying a different matrix times the write data.
10. A memory system comprising:
a memory including memory cells and constraints on symbol values stored in the memory cells; and
an encoder in communication with the memory, the encoder configured for:
receiving write data to be encoded into a write word that satisfies the constraints on the symbol values;
encoding the write data into the write word, the encoding comprising:

representing the write data and the constraints as a first linear system in a first field of a first size;
embedding the first linear system into a second linear system in a second field of a second size, the second size larger than the first size;
solving the second linear system in the second field resulting in a solution; and
collapsing the solution into the first field resulting in the write word, the write word satisfying the constraints on symbol values in the write word; and

transmitting the write word to the memory.
11. The system of claim 10, wherein the first and second fields are Galois fields.
12. The system of claim 10, wherein the memory is a phase change memory (PCM).
13. The system of claim 10, wherein the constraints are constrained values.
14. The system of claim 10, wherein the second linear system is represented as Vandermonde matrix.
15. The system of claim 10, wherein the first linear system includes an underspecified system of equations.
16. The system of claim 10, wherein the collapsing includes multiplying a matrix times the solution.
17. A computer implemented method for transmitting data, the method comprising:
receiving data to be encoded into a word for transmission across a transmission medium;
receiving constraints on symbol values associated with the word;
encoding the data into the word, the encoding comprising:
representing the data and the constraints as a first linear system in a first field of a first size;
embedding the first linear system into a second linear system in a second field of a second size, the second size larger than the first size;
solving the second linear system in the second field resulting in a solution; and
collapsing the solution into the first field resulting in the word, the word satisfying the constraints on symbol values associated with the word; and
outputting the word on the transmission medium.
18. The method of claim 17, wherein the first and second fields are Galois fields.
19. The method of claim 17, wherein the constraints are constrained values.
20. The method of claim 17, wherein the first linear system is represented as Vandermonde matrix.
21. The method of claim 17, wherein the second linear system includes an underspecified system of equations.
22. The method of claim 17, wherein the collapsing includes multiplying a matrix times the solution.
23. A computer implemented method for solving linear systems, the method comprising:
receiving a linear system of equations in a first field of a first size;
embedding the linear system of equations into a second field of a second size, the second size larger than the first size;
solving the linear system of equations in the second field resulting in a second field solution; and
collapsing the second field solution into the first field resulting in a first field solution; and
outputting the first field solution.
24. The method of claim 23, wherein the first and second fields are Galois fields.
25. The method of claim 23 wherein the constraints are constrained values.

The claims below are in addition to those above.
All refrences to claim(s) which appear below refer to the numbering after this setence.

1. A host processor so configured as to provide an application programming interface between a host computer driver and a telephone data processing system capable of processing both analog-type telephone calls and ISDN telephone calls, said application programming interface comprising:
a host interface that transfers signals to and from the host computer driver;
a modem interface that transfers signals to and from the host interface and that transfers commands and data associated with analog type telephone calls to and from a modem processor in the telephone data processing system, the modem processor processing analog type telephone calls; and
an ISDN interface that transfers signals to and from the host interface and that transfers commands and data associated with ISDN telephone calls to and from an ISDN processor in the telephone data processing system, the ISDN processor processing ISDN telephone calls.
2. A host processor as defined by claim 1 wherein the modem interface transfers commands and data to and from the modem processor to process multiple simultaneous analog-type telephone calls.
3. A host processor as defined by claim 1 wherein the ISDN interface transfers commands and data to and from the ISDN processor to process multiple simultaneous ISDN telephone calls.
4. A host processor as defined by claim 1 wherein the host interface transfers signals to and from the host driver to process multiple analog-type and ISDN telephone calls.
5. A host processor as defined by claim 1 wherein the signals transferred to and from the host computer driver are independent of the call type of the telephone call being processed.
6. An apparatus for providing an application programming interface between a host computer driver and a telephone data processing system capable of processing both analog-type telephone calls and ISDN telephone calls, said application programming interface comprising:
host interface means for implementing a host interface that transfers signals to and from the host computer driver;
modem interface means for implementing a modem interface that transfers signals to and from the host interface and that transfers commands and data associated with analog type telephone calls to and from a modem processor in the telephone data processing system, the modem processor processing analog type telephone calls; and
ISDN interface means for transferring signals to and from the host interface means and transferring commands and data associated with ISDN telephone calls to and from an ISDN processor in the telephone data processing system, the ISDN processor processing ISDN telephone calls.
7. An apparatus as defined by claim 6 wherein the modem interface means transfers commands and data to and from the modem processor to process multiple simultaneous analog-type telephone calls.
8. An apparatus as defined by claim 6 wherein the ISDN interface means transfers commands and data to and from the ISDN processor to process multiple simultaneous ISDN telephone calls.
9. An apparatus as defined by claim 6 wherein the host interface means transfers signals to and from the host driver to process multiple analog-type and ISDN telephone calls.
10. An apparatus as defined by claim 6 wherein the signals transferred to and from the host computer driver are independent of the call type of the telephone call being processed.