Claims
- 1. A data communication system comprising:
- addressable storage means having a random access mode of operation and a sequential access mode of operation; said storage means comprising at least one random access memory array having data storage cells arranged in discretely addressable rows and columns, each row containing a predetermined large number of storage cells, a sequential access data storage array, and means coupling said random and sequential access arrays for enabling data to be transferred bidirectionally, in parallel, between all cells in any row in the random access array and the sequential access array; said random access array having a random access port for directly reading data from and writing data to a selected small number of cells in a selected column position of any row in said random access array; said sequential access array having a serial access port for transferring data in a serial form into or out of said serial access array and thereby reading data indirectly from or to an entire row of said cells in said random access array; said data transferred through said serial access port including general purpose data that does not represent graphic images; and
- communication control means coupled between said storage means and at least one data communication link for transferring data between said storage means and said communication link; said communication control means having connections to both said random access port and said serial access port for selectively transferring data bidirectionally between said at least one communication link and said random access memory array either directly through said random access port or indirectly through said serial access port and said sequential access array; said connections including means for routing transfers of varriable sized blocks of data to said random access ports for data blocks of less than a determined size while routing transfers of blocks of at least said predetermined size through said serial access port.
- 2. The data communication system in accordance with claim 1 wherein:
- said connections between said random access and serial access ports and said communication control means enable said communication control means to transfer data between itself and said ports defining control and status functions of communication processes conducted by said communication control means relative to said at least one communication link; said communication control means reading said data defining control functions from said random access array directly via said random access port, and using said data to control said communication processes; said communication control means generating said data defining said status functions and controlling writing of said generated data directly into said random access array via said random access port.
- 3. The data communication system in accordance with claim 1 wherein said storage means includes:
- at least one additional random access array having no connections to said random access tray and said sequential access array; and wherein
- said communication control means is coupled to said additional random access array for exchanging data with said additional array.
- 4. The data communication system in accordance with claim 3 wherein:
- data transferred to and from said random access array via either of said random access and sequential access ports includes data being communicated on said link; and
- data exchanged between said communication control means and said additional random access array consists only of data that represents information other than data being communicated on said link.
- 5. The data communication system in accordance with claim 4 wherein said information other than data being communicated includes first information used by said communication control means to control communication processes on said data communication link, and second information generated by said communication control means representing status of said communication processes.
- 6. The data communication system in accordance with claim 1 wherein:
- said sequential access array comprises data storage cells located at positions corresponding to positions of said columns in said random access array, and said data exchanged between said communication control means and said sequential access array is transferred in a sequential mode relative to successively positioned said data storage cells in said sequential access array; and said storage means is controlled by said communication control means to allow said sequential mode transfer to begin and end at arbitrary storage cell positions in said sequential access array that are designated by said communication control means.
- 7. The data communication system in accordance with claim 1 wherein:
- said communication control means operates to control transfers of varied sized blocks of data between said storage means and said link; said data block transfers being conducted selectively through different first and second data transfer paths selected as a function of the size of the block being transferred; where said first data transfer path is a direct transfer path between said communication control means and said random access array, and said second data transfer path is a indirect transfer path between said communication control means and said random access array, said indirect transfer path including said sequential access array and requiring transfer of said data through said sequential access array.
- 8. The data communication system in accordance with claim 6 wherein:
- said communication control means control execution of a read-modify-write operation through said sequential access array, for modifying a selected portion of data contained in a said row in said random access array; said read-modify-write operation requiring said communication control means to control said storage means to first read data in parallel from a selected said row in said random access array to said sequential access array, to then transfer data in said sequential mode form said communication control means to a series of storage cell positions in said sequential access array selected by said communication control means, and to then cause data to be written in parallel from said sequential access array to said selected row in said random access array; whereby data in a series of column positions in said selected row, which correspond to the storage cell positions written in said sequential mode, is selectively modified while data in other positions in said selected row is not modified.
- 9. The data communication system in accordance with claim 6 wherein:
- said communication control means controls transfers of varied sized blocks of data between said communication link and addressable storage positions in said random access array selectively through a direct data transfer first path, between said communication control means and said random access array, and an indirect data transfer second path through both said sequential access array and said means coupling said random and sequential access arrays; and
- said communication control means selectively control writing of said varied sized data blocks through said direct and indirect data transfer paths as a function of the size of each said data block, so that data blocks shorter than a predetermined first size are transferred through said direct data transfer path and data blocks of at least said first size are transferred through said indirect data transfer path.
- 10. In a data processing system including a high speed data communication channel, apparatus for sustaining efficient transfer of data between said communication channel and other parts of said system, said apparatus comprising:
- a dual ported data storage subsystem; said storage subsystem including a video RAM (VRAM) memory structure having a random access port and a sequential access port; said VRAM structure including random access and sequential access storage arrays; said random access and sequential access storage arrays having respective separate connections to said random access port and said sequential access port; said VRAM structure further including an internal connection, between said random access and sequential access arrays, for transferring blocks of up to N bytes of data in parallel between the arrays, where N is much larger than the number of bytes which can be transferred in parallel between said random access array and said random access port; said data blocks transferred through said sequential array including general purpose data having no association with graphic images; and
- data communication control means, coupled between said data communication channel and both said random access and said sequential access ports of said data storage subsystem, for transferring variously sized blocks of data between said data communication channel and said data storage subsystem through both of said ports; said communication control means selecting between said ports as a function of the size of each said block of data and routing each said block of data through a respectively selected one of said ports as a function of the respective block size.
- 11. The apparatus of claim 10 wherein said data communication control means transfers said variously sized blocks of data bidirectionally between said data communication channel and said ports of said data storage subsystem.
- 12. In a data processing system including a high speed data communication channel, apparatus for sustaining efficient transfer of data between said communication channel and other parts of said system, said apparatus comprising:
- a dual ported data storage subsystem; said storage subsystem including a video RAM (VRAM) memory structure having a random access port and a sequential access port; said VRAM structure including random access and sequential access storage arrays; said random access and sequential access storage arrays having respective separate connections to said random access port and said sequential access port; said VRAM structure further including an internal connection, between said random access and sequential access arrays, for transferring blocks of up to N bytes of data in parallel between the arrays, where N is much larger than the number of bytes which can be transferred in parallel between said random access array and said random access port; said data blocks transferred through said sequential array including general purpose data having no association with graphic images;
- data communication control means, coupled between said data communication channel and both said random access and sequential access ports of said data storage subsystem, for transferring variously sized blocks of data bidirectionally between said data communication channel and said data storage subsystem through said random access and sequential access ports; said communication control means including:
- means for selectively routing transfers of said variously sized blocks of data between said data communication channel and both said sequential access and random access ports of said data storage subsystem, said routing means selecting between said sequential access port and said random access port as a function of the size of each said block being transferred.
- 13. Apparatus according to claim 12 wherein said data communication control means includes:
- means for accessing said data storage subsystem, via said random access port, to read data representing first information form said data storage subsystem, and to write data representing second information to said data storage subsystem; wherein said first information is used by said communication control means for controlling communication processes being conducted by said communication control means relative to said data communication channel, and said second information indicates the instantaneous status of such processes.
- 14. Apparatus according to claim 13 including a data processor separate from said communication control means, said apparatus including means for coupling said data processor to said random access port of said data storage subsystem; said means connecting said data processor to said random access port being discretely separate from the connection between said random access port and said data communication control means; so that said processor and said data communication control means can operate independently of each other to access said data storage subsystem via said random access port.
- 15. Apparatus according to claim 12 wherein:
- said data storage subsystem contains a second random access storage array isolated from both said random access and sequential access storage arrays, said second random access array having a connection only to said random access port of said data storage subsystem, and being accessible to said communication control means only for transferring data through said random access port; and
- said means for selectively routing data includes means for selectively routing data between said communication control means and both said random access array and said second random access array through said random access port.
- 16. In a high speed data communication network having plural access nodes linked by a high speed data communication channel, a method of handling data communications relative to said channel at any one of said nodes, said method comprising:
- storing data, that is being received from and transmitted to said channel at said one node, in a storage subsystem having random access and sequential access ports, and containing random access and sequential access storage arrays with respective separate connections to said random access and sequential access ports; said arrays also having an internal connection for transferring large blocks of data between said arrays in parallel; each said large block of data being larger in size than the amount of data which can be transferred in parallel through said random access port; said random access array having discretely addressable blocks of storage cells relative to which individual said large data blocks are transferrable; said data transferred through said sequential access port including general purpose data having no graphic significance; and
- transferring various length blocks of data, that are being communicated over said channel, through either a direct or an indirect path between said channel and said random access array of said subsystem; said direct path extending directly through said random access port and said indirect path extending through said sequential access port and said sequential access array; and
- when transferring each of said various length blocks of data, selecting said direct path if the respective said block of data has less than a predetermined length and said indirect path if the respective block of data has at least said predetermined length.
- 17. The method of handling data communications according to claim 16 comprising:
- when transferring a said block of data through said indirect path, selectively performing a read-modify-write operation relative to said storage subsystem; wherein said read-modify-write operation is executed by:
- in a first data transfer operation, transferring data in parallel from a selected block address in said random access array to said sequential access array, and in a second data transfer operation, following said first data transfer operation, transferring data in parallel from said sequential access array to said selected block address in said random access array; and
- between said first and second data transfer operations, conducting a serial data transfer operation to overwrite a selected portion of the data contained in said sequential access array as a result of said first data transfer operation; whereby the data transferred to and stored in said selected block address as a result of said second operations partly includes data that is the same as data previously contained at said address and partly includes data not previously contained at that address.
Parent Case Info
This is a continuation of application Ser. No. 07/810,267 filed Dec. 19, 1991, now abandoned.
US Referenced Citations (7)
Continuations (1)
|
Number |
Date |
Country |
Parent |
810267 |
Dec 1991 |
|