Claims
- 1. A method for encoding data comprising:
receiving a block of two or more symbols; determining a running disparity of previously transmitted symbols; determining a block disparity of the received block of symbols; and when the block disparity and the running disparity are in the same direction, changing the encoding of the block of symbols so that the running disparity after the block of symbols with the changed encoding is transmitted is better than if the block of symbols without the changed encoding was transmitted.
- 2. The method of claim 1 wherein the changing of the encoding includes modifying one of the symbols in the block so that it is an out-of-band symbol and inverting the other symbols in the block.
- 3. The method of claim 2 wherein the inverting of the other symbols in the block includes inverting all bits of the other symbols.
- 4. The method of claim 2 wherein the modifying of the one symbol of the block includes inverting alternate bits of the one symbol.
- 5. The method of claim 1 including when the running disparity is neutral, not changing the encoding of the block of symbols.
- 6. The method of claim 1 including when the block disparity and the running disparity are not in the same direction, not changing the encoding of the block of symbols.
- 7. The method of claim 1 wherein running disparity is the difference between total number of bits with a 1-value and bits with a 0-value in symbols that have been transmitted.
- 8. The method of claim 1 wherein running disparity is the difference between the number of transmitted blocks with more bits with 1-values than with 0-values and the number of transmitted blocks with more bits with 0-values than with 1-values.
- 9. The method of claim 1 wherein the symbols in the received block have been encoded using transition optimized encoding.
- 10. The method of claim 9 wherein transition optimized encoding encodes a code by inverting alternate bits of the code and adding a bit indicating whether alternate bits of the code have been inverted when the number of transitions in the code does not meet a criterion.
- 11. The method of claim 10 wherein the criterion is that the inverting of the alternate bits will result in more transitions.
- 12. The method of claim 10 wherein the criterion is that the inverting of the alternate bits will result in less transitions.
- 13. A method for encoding a block of symbols, the method comprising:
determining a block disparity of the symbols in the block; and when the block disparity is to be changed,
modifying one of the symbols in the block to indicated that the block disparity is being changed; and modifying the other symbols in the block to effect the changing of the block disparity of the symbols in the block.
- 14. The method of claim 13 wherein the modifying of the one symbol includes applying transition inversion to the one symbol.
- 15. The method of claim 13 wherein the modifying of the one symbol includes inverting alternate bits of the one symbol.
- 16. The method of claim 13 wherein the modifying of the one symbol includes changing the one symbol so that it is an out-of-band symbol.
- 17. The method of claim 13 wherein the modifying of the other symbols includes applying polarity inversion to the other symbols.
- 18. The method of claim 13 wherein the modifying of the other symbols includes inverting each bit of the other symbols.
- 19. The method of claim 13 including determining that the block disparity is to be changed when the block disparity and a running disparity are not in the same direction.
- 20. The method of claim 13 including determining that the block disparity is to be changed when a running disparity after the block of symbols are transmitted would be better if the block disparity is changed.
- 21. The method of claim 13 wherein the modifying of the one symbol includes applying transition inversion to the one symbol and the modifying of the other symbols includes applying polarity inversion to the other symbols.
- 22. The method of claim 13 wherein a block of symbols contains four symbols.
- 23. The method of claim 13 wherein a block of symbols contains a configurable number of symbols.
- 24. A method for decoding data comprising:
receiving a block of symbols; determining whether the block of symbols has been encoded to change its block disparity; and when it is determined that the block of symbols has been encoded, modifying the symbols of the block to effect the decoding of the encoded symbols.
- 25. The method of claim 24 wherein the determining includes identifying whether one of the symbols in the block has been transition inverted.
- 26. The method of claim 24 wherein the determining includes identifying whether one of the symbols in the block is an out-of-band symbol.
- 27. The method of claim 24 wherein the modifying includes transition inverting one symbol of the block and polarity inverting the other symbols of the block.
- 28. The method of claim 24 wherein the block has fours symbols.
- 29. The method of claim 24 wherein the block has a configurable number of symbols.
- 30. The method of claim 24 including transition inverting a decoded symbol.
- 31. An apparatus for encoding a block of symbols, the block of symbols having a block disparity, comprising:
a component that determines whether the block disparity of the symbols in the block is to be changed; a component that modifies one of the symbols in the block to indicated that the block disparity is being changed when the block disparity is to be changed; and a component that modifies the other symbols in the block to effect the changing of the block disparity of the symbols in the block when the block disparity is to be changed.
- 32. The apparatus of claim 31 wherein the modification of the one symbol includes applying transition inversion to the one symbol.
- 33. The apparatus of claim 31 wherein the modification of the one symbol includes inverting alternate bits of the one symbol.
- 34. The apparatus of claim 31 wherein the modification of the one symbol includes changing the one symbol so that it is an out-of-band symbol.
- 35. The apparatus of claim 31 wherein the modification of the other symbols includes applying polarity inversion to the other symbols.
- 36. The apparatus of claim 31 wherein the modification of the other symbols includes inverting each bit of the other symbols.
- 37. The apparatus of claim 31 wherein the block disparity is to be changed when the block disparity and a running disparity are not in the same direction.
- 38. The apparatus of claim 31 including the determination that the block disparity is to be changed when a running disparity after the block of symbols are transmitted would be better if the block disparity is changed.
- 39. The apparatus of claim 31 wherein the modification of the one symbol includes applying transition inversion to the one symbol and the modifying of the other symbols includes applying polarity inversion to the other symbols.
- 40. The apparatus of claim 31 wherein a block of symbols contains four symbols.
- 41. The apparatus of claim 31 wherein a block of symbols contains a configurable number of symbols.
- 42. An apparatus for encoding a block of symbols, the block of symbols having a block disparity, comprising:
means for modifying one of the symbols in the block to indicate that the block disparity is being changed; and means for modifying the other symbols in the block to effect the changing of the block disparity of the symbols in the block.
- 43. The apparatus of claim 42 including means for modifying codes to generate the symbols of the block.
- 44. The apparatus of claim 43 wherein the means for modifying codes includes transition inverting the codes.
- 45. The apparatus of claim 42 wherein the means for modifying the one symbol transition inverts the one symbol and wherein the means for modifying the other symbols polarity inverts the other symbols.
CROSS REFERENCE TO RELATED APPLICATIONS
[0001] This application claims the benefit of U.S. Provisional Application No. 60/252,724 entitled “METHOD AND APPARATUS FOR STORAGE I/O WITH FULL-DUPLEX ONE-TIME BLOCK I/O TRANSFER AND ADAPTIVE PAYLOAD SIZING,” filed Nov. 22, 2000, and is related to U.S. patent application No. ______ entitled “METHOD AND SYSTEM FOR PLESIOSYNCHRONOUS COMMUNICATIONS WITH NULL INSERTION AND REMOVAL” (Attorney Docket No. 371798002US); U.S. patent application No. ______, entitled “METHOD AND SYSTEM FOR TRANSITION-CONTROLLED SELECTIVE BLOCK INVERSION COMMUNICATIONS” (Attorney Docket No. 371798007US); U.S. Patent Application No. ______ entitled “COMMUNICATIONS ARCHITECTURE FOR STORAGE-BASED DEVICES” (Attorney Docket No. 371798008US1); U.S. Patent Application No. ______ entitled “METHOD AND SYSTEM FOR PACKET ORDERING BASED ON PACKET TYPE” (Attorney Docket No. 371798013US); U.S. patent application No. ______ entitled “METHOD AND SYSTEM FOR HOST HANDLING OF COMMUNICATIONS ERRORS” (Attorney Docket No. 371798014US); U.S. patent application No. ______ entitled “METHOD AND SYSTEM FOR DYNAMIC SEGMENTATION OF COMMUNICATIONS PACKETS” (Attorney Docket No. 371798015US); U.S. patent application No. ______ entitled “METHOD AND SYSTEM FOR ASYMMETRIC PACKET ORDERING BETWEEN COMMUNICATIONS DEVICES” (Attorney Docket No. 371798016US); U.S. patent application No. ______ entitled “METHOD AND SYSTEM FOR COMMUNICATING CONTROL INFORMATION VIA OUT-OF-BAND SYMBOLS” (Attorney Docket No. 371798017US); U.S. patent application No. ______ entitled “METHOD AND SYSTEM FOR INTEGRATING PACKET TYPE INFORMATION WITH SYNCHRONIZATION SYMBOLS” (Attorney Docket No. 371798018US); U.S. patent application No. ______ entitled “METHOD AND SYSTEM FOR NESTING OF COMMUNICATIONS PACKETS” (Attorney Docket No. 371798019US); U.S. patent application No. ______ entitled “COMMUNICATIONS ARCHITECTURE FOR MEMORY-BASED DEVICES” (Attorney Docket No. 371798012US); U.S. patent application No. ______ entitled “METHOD AND SYSTEM FOR DC-BALANCING AT THE PHYSICAL LAYER” (Attorney Docket No. 371798020US); and U.S. patent application No. ______ entitled “MULTISECTION MEMORY BANK SYSTEM” (Attorney Docket No. 371798021 US, which are all hereby incorporated by reference in their entirety.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60252724 |
Nov 2000 |
US |