EP0447054A2

Integrated data link controller with synchronous link interface and asynchronous host processor interface.

Abstract

A single chip integrated data link control (IDLC) device provides full duplex data throughput and versatile protocol adaptation between variably configured time channels on a high speed TDM digital link (e.g. T-1 or T-3 line) and a host data processing system. The device can handle multiple channels of voice and varied protocol data traffic, and thereby is suited for use in primary rate ISDN (Integrated Services Digital Network) applications. Synchronous and asynchronous special purpose logic sections in the device respectively interface with the network and a bus extending to external processing systems. Logic in the synchronous section forms plural-stage receive and transmit processing pipelines relative to the network interface. A "resource manager" element (RSM) (63) and time swap (TS) RAM memory (53) operate to dynamically vary states in these pipelines in synchronism with channel time slots at the network interface, whereby each pipeline operates in multitasking mode to perform plural functions relative to each channel during each time slot. The device also includes integrated memory queues in which communication data and channel status information are stacked relative to the device interfaces. Capacities and modes of operation of these queues are selected to minimize effects on chip size, throughput and cost, while supporting operations in the synchronous section pipelines so that critical time dependencies between consecutive pipeline stages, and between the pipelines and external processors, are lessened.

EP0447054A2, drawing sheet 1
Sheet 1 of 37

Term

Term ended

Projected expiry passed 25 February 2011, 15.6 years ago.

  1. Priority
  2. Filed
  3. Published
  4. Projected expiry
  5. Today

52 claims: 42 independent, 10 dependent

  1. 1
    A data link control device, for connection between a time division data communication network and a parallel information transfer bus, said network sustaining cyclically repetitive time slots assignable to multiple communication channels, said bus connectable to an external data processing system and to an external memory associated with said system, said device comprising:synchronous and asynchronous sections of logic circuits;memory means connected to said sections for storing communication data in transit between said sections relative to said channel slots;said synchronous section processing data in transit between said channel slots and said memory means in synchronous relation to respective slots;said asynchronous section directing transfers of data between said memory means and said external memory via said bus, relative to said channels but in asynchronous relation to respective said slots;and    coordinating means interfacing between said sections for initiating data transfer actions by said asynchronous section relative to said channels in response to signals from said synchronous section, said coordinating means thereby instigating coordinated but asynchronous movement of data relative to said channels between said memory means and external memory.
  2. 2
    A data link control device in accordance with claim 1 wherein:said memory means comprises data storage spaces dedicated to said channels for storing data in transit relative to respective said slots;and    said synchronous section comprises memory management means operating in synchronism with said channel slots for: supervising transfers of data between said synchronous section and respective data storage spaces in said memory means, and issuing action requests to said coordinating means timed to permit said asynchronous section to maintain a coordinated flow of data relative to said respective spaces.
  3. 3
    A data link control device in accordance with claim 2 wherein said coordinating means comprises:bit registers dedicated to respective channel slots;and means responsive to said action requests issued by said memory management means for operating in synchronism to the issuance of said requests to set request pending conditions in respective bit registers.
  4. 4
    A data link control device in accordance with claim 3 wherein said asynchronous section comprises:means responsive to request pending conditions in said bit registers for initiating action to transfer data between respective said data storage spaces and said external memory, and thereby maintain an asynchronous but coordinated flow of data between respective said spaces and said external memory.
  5. 5
    A data link control device in accordance with claim 4 wherein said means for initiating action relative to said request pending conditions includes:means effective when more than one of said request pending conditions exists for selecting said conditions successively for action in a predetermined priority order.
  6. 6
    A data link control device in accordance with claim 5 wherein:said time slots are allocatable to basic channels and extended channels, each basic channel operating through only one time slot in each time division period of slot recurrence at the network and each extended channel operating through a group of associated time slots in each said period;and    said means for selecting said request pending conditions for action is adapted to give priority to conditions associated with extended channels over those associated with basic channels.
  7. 7
    A data link control device in accordance with claim 4 wherein:said asynchronous section includes means cooperative with said means for initiating action for presenting resetting requests to said coordinating means relative to respective request pending conditions operated upon by said initiating means;and    said coordinating means comprises means responsive to said resetting requests for resetting respective request pending conditions in respective bit registers.
  8. 8
    A data link control device in accordance with claim 3 wherein:said coordinating means comprises means operating in synchronism with said channel slots for presenting indications to said memory management means of states of bit registers associated with respective slots.
  9. 9
    A data link control device in accordance with claim 4 wherein said means for initiating action comprises:direct memory access control (DMAC) means responsive to said request conditions for directing access to said external memory in a direct access mode.
  10. 10
    A data link control device in accordance with claim 9 wherein said means for initiating action further comprises:means responsive to signals from said DMAC means for arbitrating for control of said bus and, upon obtaining such, transferring data between spaces in said memory means associated with the condition being acted upon and said external memory via said bus.
  11. 11
    A data link control device in accordance with claim 1 wherein said memory means also includes spaces dedicated to said channels for storing other information, said other information including control and status information relative to respective channels, and said asynchronous section comprises:first information transfer control means operating through a respective first information transfer path relative to said bus for conducting transfers of communication data relative to said channels, between respective data storage spaces in said memory means and said external memory, via said first path;and    second information transfer control means operating through a second information transfer path relative to said bus for conducting transfers of other information relative to said channels, between respective spaces in said memory means and said one or more data processing systems, via said second path;said first and second paths being completely separate within said device in order to reduce time constraints which otherwise would be imposed upon said asynchronous section and said one or more data processing systems in respect to the handling of communication data transfers.
  12. 12
    A data link control device in accordance with claim 11 wherein said first information transfer control means comprises:DMA control (DMAC) means for directing access to said external memory in a direct memory access mode;and    bus control means responsive to signals from said DMA control means associated with a selected request pending condition for arbitrating for control of said bus and, upon obtaining such, transferring data between an associated data storage space in said memory means and said external memory in accordance with control information signals supplied by said DMA control means.
  13. 13
    A data link control device in accordance with claim 11 wherein said second information transfer control means comprises:means coupled to said bus, and operating as a controllable slave of said one or more data processing systems when the latter have control of said bus, for providing said external systems with bidirectional access to said memory means and said device sections;whereby said other information can be transferred between respective spaces said external systems and said device while presenting minimal interference to data transfer processes being handled by said first information transfer control means.
  14. 14
    A data link control device in accordance with claim 1 wherein said memory means comprises:separately accessible first and second RAM storage arrays;said first array connecting with said synchronous and asynchronous sections for storing communication data in transit between said sections relative to said channels;and    said second array connecting with said synchronous section for storing status and configuration control information relative to data manipulation processes being performed in said synchronous section relative to said channels.
  15. 15
    A data link control device in accordance with claim 14 wherein:said sections and said first and second arrays are integrally co-packaged in a single LSI semiconductor chip.
  16. 16
    A data link control device in accordance with claim 14 wherein said synchronous section comprises:a first plurality of discrete logical processing circuits connected in tandem between said network and said first RAM array, said circuits operating concurrently to form a plural-stage receive processing pipeline relative to communication data received from said network channel slots, data exiting said receive pipeline being stored in said first RAM array;and    a second plurality of discrete special purpose logical processing circuits, connected in tandem between said first RAM array and said network and operating concurrently to form a plural-stage transmit processing pipeline relative to communication data being processed for transfer from said first RAM array to said network for transmission in respective said slots.
  17. 17
    A device in accordance with claim 16 wherein:said receive and transmit pipelines operate relative to individual said network channels in synchronism with respective time slots on said network, and the stages therein are capable of performing plural different processing task functions on communication data in transit relative to respective channels during any respective slot.
  18. 18
    A data link control device in accordance with claim 16 wherein:said channels to which individual said time slots are assignable are full duplex channels;and    said receive and transmit pipelines are capable of operating concurrently in time overlap during any slot to perform plural processing tasks on data in transit respectively from and to a respective channel slot.
  19. 19
    A device in accordance with claim 16 wherein:said channels are dynamically configurable to carry data in accordance with various communication protocols and formats;and    said circuits in said pipelines are selectively configurable relative to said channels during respective slots to perform Layer 2 processing tasks relative to channels configured for operating under a protocol requiring Layer 2 processing.
  20. 20
    A data link control device in accordance with claim 19 wherein:the configuring of said pipeline stages relative to each of said active channels is effected by means of information stored relative to respective channels in said second RAM array.
  21. 21
    A device in accordance with claim 16 wherein:said pipeline stages are configurable relative to a plurality of said channels so as to be able to accommodate transmissions of plural channels of digitized voice and HDLC data concurrently and to perform Layer 2 processing operations relative to said HDLC data.
  22. 22
    A control device in accordance with claim 19 wherein:said transmit pipeline is configurable relative to a channel operating under an HDLC protocol to perform Layer 2 processing operations for embedding HDLC frame delimiters and CRC check symbols into respective data as said data flows through the pipeline from respective storage spaces in said first RAM array en route to transmission in the respective slot;and    said receive pipeline is configurable relative to data received from the same channel to perform Layer 2 processing operations to strip HDLC frame delimiting symbols from said data and to carry out CRC checks on said data as said data flows through the receive pipeline en route to being stored in the respective space in the first array.
  23. 23
    A control device in accordance with claim 16 wherein:said capacities and access characteristics of said RAM arrays and processing characteristics of said pipelines are suited for sustaining processing relative to at least 32 full duplex channels with aggregate data rates of 128 kbps in each channel.
  24. 24
    A control device in accordance with claim 16 wherein:the entire device including said sections and said RAM arrays is containable on a single LSI semiconductor chip.
  25. 25
    A control device in accordance with claim 16 wherein:data is transferred relative to active said channels in bit serial bursts occurring during the slots respectively assigned to said channels;each said burst transferring a variable number x of bits in any slot, where x can vary from 0 to n and n is greater than 2;and    said pipelines include means interfacing with said network for accommodating transfers of said bursts during any slot.
  26. 26
    A device in accordance with claim 16 wherein:said second RAM array is coupled separately to each of said pipeline circuit stages so that all stages in each pipeline may be dynamically reconfigured in time synchronism with said slots to carry out processing functions relative to channels to which said slots are assigned in accordance with configurations assigned to respective channels;whereby said pipelines are configurable relative to plural said channels having different assigned protocols to perform processing tasks suited to said different protocols.
  27. 27
    A device in accordance with claim 16 wherein said synchronous section further comprises:resource management means connecting with said second RAM array for cyclically operating said array in synchronism with said channel slots to swap state information with said pipeline circuits, whereby said pipelines are synchronously conditioned relative to said slots for performing processing tasks relative to channels to which said slots are assigned;thereby enabling said pipelines to effectuate concurrent processing of variably formatted data in transit relative to plural said channels.
  28. 28
    A control device in accordance with claim 2 including:request queueing means interfacing between said synchronous and asynchronous sections and operating in synchronism with said channel slots for synchronously receiving requests for action from said synchronous section relative to data storage spaces in said memory means associated with respective channels to which said slots are assigned;said request queueing means containing bit registers dedicated to individual ones of said data storage spaces for storing requests received relative to respective channels for static presentation to said asynchronous section.
  29. 29
    A data link control device in accordance with claim 28 wherein said asynchronous section comprises:means responsive to requests currently presented by said bit registers for initiating data transfer actions relative to said requests;said means operating when more than one request is presented to select one such request and initiate action relative to that one;and    means associated with said action initiating means for presenting a resetting indication to said request queueing means relative to a request currently being acted upon;and    said request queueing means comprising means responsive to each said resetting indication for resetting the bit register containing the request being acted upon, and thereby resetting the respective request condition presented by said bit register. 30. A data link control device in accordance with claim 29 wherein said request queueing means comprises means coupled to said synchronous section for presenting request state indications relative to said bit registers in synchronism with respective channel time slots, thereby enabling said synchronous section to keep track of the status of requests for action issued by said section relative to respective channel storage spaces.
  30. 30
    A device in accordance with claim 1 wherein:said memory means includes storage spaces dedicated to said channels for storing status information defining process events relative to respective channels;and    said asynchronous section comprises means coupled to said bus and said memory means for rendering said status information stored by said memory means accessible for retrieval by said one or more processing systems.
  31. 31
    A device in accordance with claim 30 wherein:said spaces for storing said status information are sufficient to permit concurrent storage of status defining multiple events relative to any respective channel;and    said means rendering said status information accessible for retrieval is configured to allow said one or more processing systems to retrieve said status information associated with multiple said events in a single operation relative to said bus.
  32. 32
    A device in accordance with claim 1 comprising:interruption management means coupled to said synchronous and asynchronous sections for monitoring conditions throughout the device and for rendering associated status information accessible to be retrieved by said one or more processing systems on an asynchronous basis.
  33. 33
    A device in accordance with claim 16 wherein:during the time slot associated with any said channel, said synchronous section can be operated relative to said network to exchange plural bits of data with said network relative to the associated channel;and    such bit exchanges are compressed into an interval having a short duration relative to the respective slot duration, whereby a substantial portion of each slot period is usable to enable the logic in said pipelines to perform processing operations relative to respective channels and to be adaptively reconfigured for such operations relative to configurations held in a prior slot associated with another channel.
  34. 36
    A device in accordance with claim 14 wherein:said memory means further comprises a plurality of registers distributed within said sections;and    said RAM arrays and said registers are accessible via said second transfer path to allow an external processing system operating through said second information transfer control means to place information in and retrieve information from said arrays and registers.
  35. 37
    A data link control device, for connection between a time multiplex data communication network and a parallel information transfer bus, said bus connectable to one or more data processing systems and to one or more external memories associated with said systems, said device comprising:synchronous and asynchronous sections of special purpose logic circuits, said synchronous section interfacing to said network for processing data received and transmitted in cyclically recurrent time division slots assignable to multiple diversely configured communication channels;said synchronous section operating in synchronism with said slots when processing data relative to respective slots;memory means having storage spaces associated with each of said slots;the space associated with each slot being sufficient to store plural bytes of communication data relative to a channel to which the slot is assigned;said synchronous section performing processing tasks on communication data passing therethrough en route to and from said slots, and connecting to said memory means for transferring communication data to and from spaces in said memory means en route respectively from and to respective slots;said asynchronous section interfacing between said memory means and said bus, and operating in asynchronous relation to said slots, for transferring data between said channel spaces in said memory means and a said external memory via said bus, said asynchronous section being able when operating relative to any said channel space in said memory means to transfer plural bytes of data at one time between that space and said external memory;and    means interfacing between said synchronous and asynchronous sections for coordinating operations of said sections relative to said memory means channel spaces, whereby a coordinated flow of data is maintained between said spaces and said external memory so as to minimize possibilities for underrun or overrun occurrences in respective channels.
  36. 38
    A device in accordance with claim 37 wherein:said memory means spaces are further adapted to store processing status information defining instant processing states of said synchronous section relative to respective channels;and    said synchronous section comprises resource management means operating in synchronism with said slots relative to spaces in said memory means containing said status information for conducting status information swaps between said spaces and circuits in the synchronous section, whereby said circuits are prepared during any slot period for performing processing tasks relative to an associated channel while states of said circuits relative to channels associated with earlier slots have been saved in respective spaces;and    said synchronous section comprises memory management means operating in synchronism with said slots relative to spaces in said memory means reserved for storing communication data relative to said channels for issuing action requests to said coordinating means relative to respective data storage spaces, whereby a coordinated flow of communication data is maintained by said coordinating means and said asynchronous section relative to the data storage space associated with any active said channel.
  37. 39
    A device in accordance with claim 38 wherein said coordinating means comprises:a pair of bit registers associated with each of said memory means spaces for storing action requests relative to the respective space;one bit register of each pair serving to store action requests relative to receive data being transferred from the network through the respective space and the other bit register of the pair serving to store action requests relative to transmit data being transferred to the network through the respective space;and    request steering means responsive to said action requests from said memory management means and other signals from said resource management means for steering said request to the appropriate bit register for storage, said action requests from said memory management means indicating if the request is associated with receive data or transmit data and said other signals from said resource management means indicating the current time slot position which corresponds to the channel and memory space association of the request.
  38. 40
    A device in accordance with claim 39 wherein said asynchronous section comprises:first means responsive to requests stored in said bit registers of said coordinating means for initiating data transfer actions relative to said requests for transferring data between an external memory and the respective data storage space in said memory means;said first means acting upon said requests one at a time and in a predetermined order of priority when more than one request is stored in said bit registers;and    second means operating in association with said first means for presenting request resetting signals to said coordinating means;said resetting signals including signals effectively indicating the bit register origin of the respective request;and    said coordinating means includes means responsive to each resetting signal to reset the respective bit register.
  39. 41
    A device in accordance with claim 40 wherein said coordinating means comprises:means coupled to said bit registers and operating in synchronism with said time slots for presenting indications to said memory management means of the states of each pair of bit registers during the respective time slot, whereby the memory management means is informed of the pending and reset status of each request it has issued.
  40. 42
    A device in accordance with claim 40 wherein:said channels include basic channels and extended channels, said basic channels having only a single associated time slot during each frame of time slot recurrence and said extended channels having plural associated slots during each said frame of recurrence;said coordinating means including separate bit register pairs for storing action requests relative to said extended channels;and    said first means for initiating action is operative when requests are pending in said bit registers relative to both basic channels and extended channels to give priority to the requests of the extended channels.
  41. 47
    A device in accordance with claim 46 wherein said memory means contains space relative to each channel for storing event status information relative to plural events in the respective channel, whereby said processing systems may retrieve plural event status information relative to a channel during a single operation relative to said bus.
  42. 48
    A device in accordance with claim 43 wherein said synchronous section processes data relative to each active channel slot in bit parallel byte groups and said asynchronous section and memory means are adapted for handling data in byte parallel word groups relative to each channel, and said memory means comprises:a time swap RAM (TSR) storage array dedicated to the synchronous section and containing spaces reserved for each slot to store process state control information defining the latest processing state of the synchronous section relative to the associated channel, configuration control information defining the configuration of the respective channel and event status information defining status of events occurring in the respective channel;a first in first out RAM (FIFOR) storage array connected to both the synchronous section and asynchronous section and containing spaces reserved to the slots for storing a word group of data relative to each slot, said data representing communication data in transit between the synchronous and asynchronous sections, and for storing control information indicating the order of transfer of individual bytes of data relative to the synchronous section;and    a DMA control RAM (DMAR) storage array reserved to the asynchronous section for storing information defining the operations of said DMAC means relative to said channels.
Independent claims42