US5060145A - Memory access system for pipelined data paths to and from storage - Google Patents
Memory access system for pipelined data paths to and from storage Download PDFInfo
- Publication number
- US5060145A US5060145A US07/403,624 US40362489A US5060145A US 5060145 A US5060145 A US 5060145A US 40362489 A US40362489 A US 40362489A US 5060145 A US5060145 A US 5060145A
- Authority
- US
- United States
- Prior art keywords
- bus
- write
- read
- access system
- set forth
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1051—Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
- G11C7/1063—Control signal output circuits, e.g. status or busy flags, feedback command signals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/36—Handling requests for interconnection or transfer for access to common bus or bus system
- G06F13/368—Handling requests for interconnection or transfer for access to common bus or bus system with decentralised access control
- G06F13/372—Handling requests for interconnection or transfer for access to common bus or bus system with decentralised access control using a time-dependent priority, e.g. individually loaded time counters or time slot
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1015—Read-write modes for single port memories, i.e. having either a random port or a serial port
- G11C7/1039—Read-write modes for single port memories, i.e. having either a random port or a serial port using pipelining techniques, i.e. using latches between functional memory parts, e.g. row/column decoders, I/O buffers, sense amplifiers
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C8/00—Arrangements for selecting an address in a digital store
- G11C8/12—Group selection circuits, e.g. for memory block selection, chip selection, array selection
Definitions
- the present invention relates to a novel system for accessing a main memory of a large mainframe computer. More particularly, the present invention relates to an access system that simultaneously processes requests for access to a plurality of memory banks and resolves conflicts between the read and write bus by assigning access time slots to the individual banks during the time when data will be transferred to or from a specific memory bank.
- Such systems permits parallel data paths and parallel processing of simultaneous requests. It has been suggested that the complex direct I/O muxing circuitry can be simplified by providing a plurality of read buses, one for each I/O port. This would permit simultaneous processing of requests from different banks of memory but would prevent processing of simultaneous requests from the same bank in memory.
- a main storage unit comprising a plurality of memory banks connected through logic circuitry to a separate read bus and a separate write bus and to a plurality of I/O ports.
- Pipeline control means are provided for generating unique data transfer time windows for each of the banks of memory so that data is transferred during a unique transfer time for each of the banks of memory so as to avoid conflicts on the read and write bus.
- FIG. 1 is a block diagram showing a plurality of input-output port cards and a plurality of memory cards interconnected by a read bus and a separate write bus and having a pipeline control for pipelining data on the buses;
- FIG. 2 is a block diagram of a write data path from a processor to the input of the memory cards containing plural memory banks;
- FIGS. 3(a) and 3(b) are block diagrams of the input address and control logic circuitry employed to generate a control function and specify a memory address at one of the memory banks on a memory card;
- FIG. 4 is a block diagram showing a read data path from a memory card to a processor
- FIG. 5 is a simplified schematic block diagram of the pipeline control showing generation of time slot signals and control signals
- FIG. 6 is a waveform diagram of the read and write time slots generated by the pipeline controls of FIG. 5 for controlling access to the memory banks.
- FIG. 1 showing a block diagram of the preferred embodiment memory access system 10 comprising a plurality of memory bank cards 11, 12 and a plurality of I/O port cards 13-15 interconnected by a read bus 16 and a write bus 17.
- Pipeline control means 18 are provided with an address bus 19 which connect to the banks of memory 11, 12 and an address bus 21 connected to the I/O ports 13 to 15.
- one of eight processors 22 raise a request and function operation on line 23 to the pipeline control means 18 and supplies an address on address line 24 to the pipeline control means 18.
- the pipeline control means 18 processes this information and supplies control signals on control buses 25 and 26 to memory banks 12 and 11 and also supplies memory address information on address bus 19 to the same memory banks.
- the address information on bus 21 is used by the port card logic for generating check bits.
- Control lines 27 to 29 are employed to select the I/O port designated by the processor 22 for the transfer of information as will be explained hereinafter.
- Write data appearing on line 31 from one of the processors 22 is applied at the input of a predetermined port 13, 14 or 15.
- the processors are associated with predetermined ports so that the processor designates its predetermined port for processing the write data on a write data line 31.
- Write data on line 31 is processed in one of the I/O ports 13 and appears on write bus 17 as an input to the banks of memory 11, 12, one of which is specified by the address on address bus 19.
- the pipeline control 18 raises the initiate signal on a line in control bus 25 or 26 through the corresponding bank addressed on address bus 19.
- the data on write bus 17 is written into the addressed memory location in one of the banks of memory, thus completing a write data operation.
- data already written into a memory location specified by an address on address bus 19 is made available at a predetermined time slot window time on read bus 16 for an input to one of the I/O ports on port cards 13 to 15 and the data read from the address in a memory bank appears on one of the read data lines 32 to 34 from one of the I/O ports and is applied as an input via a read data line to the processor 22.
- a unique read data line 32 to 34 is provided for each of the I/O ports and that a unique write data line 31, 35 and 36 from the processor 22 is provided for each of the I/O ports. These lines are activated for the read data and write data operations as will be explained hereinafter.
- FIG. 2 showing a block diagram of a write data path from one of the processors 22 to the input of the memory cards.
- the write data on line 31 of FIG. 1 is shown being applied to a logic block 37 shown in greater detail in FIG. 2.
- Logic circuitry 37 comprises an input register 38 for an even word and an input register 39 for an odd word.
- the logic 37 for the even word is shown connected to register 38. It will be understood that the logic for the odd word 39 is identical.
- the even word comprises four bytes of nine bits each having a parity bit thus producing an even word output of 40 bits on line 41.
- Line 41 is applied to the input of check bit generator 42 along with the input address on bus 21 comprising 26 bits.
- the 36 data bits on line 41 and the 26 address bits on bus 21 produce a data parity bit on line 43, eight check bits on line 44 and a byte parity bit on line 45 which are used to produce the first byte in write bus register 46.
- the remaining four ten bit bytes in the 50 bit write bus register 46 are produced by the 40 bits on line 41. Each byte comprises nine data bits and one parity bit.
- the 50 bit output from register 46 is applied to the write bus 17, thus, is available to the inputs of the memory banks 11 and 12 at the write bus data register input logic 47, also shown in FIG. 1.
- the even word input data on line 41 is also applied to a write data parity check circuit 48 to produce an error signal on line 49 in the event of a negative parity check.
- the 50 bits in register 47 which are applied to the memory banks, are also applied to a write data bus parity check device 51 to produce an error signal on line 52 in the event of a negative parity check.
- FIG. 3 showing a block diagram of the control and data paths associated with one of the storage cards 11, 12 shown in FIG. 1.
- the address generated on bus 19 is applied to the address bus input logic 53 shown comprising a four byte register 58.
- Control register 56 is shown having a control bus input 25 and a bank request input 25'.
- a bank operation field input 25" is connected to the control bus input logic 54 which comprises the control register 56.
- the write data bus 17 comprises input lines 17, 17' shown applied to the write bus input logic 47A having a pair of write bus data registers 47, 47' and parity check circuits 51, 51'.
- read bus output 55A comprises register 79, 79' shown connected to the memory bank card 12 comprising a plurality of memory banks BK0 to BK3. The output of the read bus output logic 55A is shown applied to the read bus 16.
- a 30 bit address on line 57 is applied to the register 58 of address logic 53 to produce a 30 bit address field on line 59 that is applied to the address select register 61 employed to specify the row and column address of the memory location in each of the banks 0 thru 3.
- the output of control register 56 on line 62 is applied to the function decode and bank control register 63 to produce bank 3 control signals on line 64 which provides the timing control signals for the DRAM memory in bank 3 of memory bank 12.
- the signals on lines 60 and 64 provide the information for accessing a specific address in memory for reading or writing during a predetermined specified time period.
- the output signals on lines 65, 66 at bank 2 and 67, 68 at bank 1 and 69, 70 at bank 0 also supply the necessary address information and control information for specifying a memory location in these respective banks.
- the aforementioned function decode and bank control logic are shown producing on line 71 to 74 the bank zero to bank 3 busy signals that will be used by the pipeline control means to be explained in more detail hereinafter.
- the bank control signals on lines 69 and 70 are shown being applied to bank zero memory bank, and it will be understood that the same signals for banks 1, 2, 3 are applied to the other banks in a similar manner.
- the write data on bus 17 is shown applied to the write bus input logic 47 to produce a 50 bit write data word on line 75 that is applied to the even word bank zero register 76.
- the output of the bank zero register 76 on line 77 comprises a write data word which is applied to the even side of bank zero memory.
- the write data word on line 17 is applied to a bus data register 47' in logic 47 and produces an output on line 75 which is applied to the odd word bank zero register 76.
- the output from register 76 on line 77 is applied to the odd word side of bank zero memory.
- the double word stored in bank zero comprises two 45 bit words at the output 78, 78' because the 50 bit input to the register 76 and 76' have been parity checked by write data parity check circuits 51 and 51', thus, the parity bits need not be stored in bank zero storage.
- Read bus output logic 55A further comprises a pair of parity bit generators 81 and 81' which generate five parity bits that are added to the 45 data bits to produce 50 bit read data words on bus 16 as shown.
- the write data from the port card which was shown in FIG. 2 in register 46 was applied to the write bus 17 and stored in the write bus data register 47, 47'.
- the information in register 47A is made available to all eight registers 76, 76' and 82 to 84, but only two of the eight registers is enabled by the input enable bank signal on line 85 from the associated control logic 63.
- a cycle clock on line 86 is applied to the registers 47 every 30 nanoseconds in the present invention.
- the input enable signal on line 85 is a 30 nanoseconds enable pulse and does not occur every clock cycle time, but is unique to each of the individual banks, thus, on FIG. 3 there would only be four unique enable bank signals. Since FIG. 3 only shows bank zero to 3 and FIG.
- the output enable signal on line 70 is applied to AND gate 87 to gate the output data on line 78 to the bank output data line 80.
- the data on lines 80, 80' is clocked into the register 79, 79'.
- the data stored in the read bus data register 79 is read out by the enable signal on read bus time slot enable line 88.
- the data on lines 89, 89' to read bus 16 is read out during the unique enable time for each of the eight memory banks zero thru 7.
- the read bus enable time and the write bus enable time for each of the banks provides a 30 nanosecond window during which information may be read into or read out of one of the memory banks.
- Read bus input logic 91 comprises a read bus register 92 which stores an odd or even data word comprising 5 bytes of 50 bits.
- the 50 bits of the data word are applied to syndrome generator and error correction circuit 93 to produce the original 40 bits of data which includes the four parity bits on line 94.
- the 50 bits of data are applied to parity checking circuit 95 to produce a parity check signal on line 96 in the event of a negative parity check.
- Interface register 97 produces an odd and even word output of 80 bits on read data line 32 to processor 22 as shown and described in FIG. 1.
- Pipeline control means 18 comprises a priority function logic block 18' which has a request input 23', a function input 23 and an address input 24 from one of the eight processors 22 (also shown in FIG. 1). This information is applied to the function logic 18 to produce the address to the I/O ports on address bus 21 and the address to the memory banks on address bus 19.
- the address comprises 26 address bits.
- the six bit function information on line 23 is processed in block 18 and produces a read or write function operation signal from its bank operation field on line 25" (also shown in FIG. 3).
- the one bit request signal on line 23 to logic block 18 produces a bank request signal on line 25' (also shown on FIG. 3).
- Function logic 18' also produces a three bit port code signal on line 99 and a 3 bit bank code signal on line 101. Similarly, a request active signal is produced on line 102 and a four bit encoded function code signal on line 103.
- the four outputs from logic 18' are applied to write logic block 104 which produces the write bus time slot enable signal on line 105 (also shown on FIG. 2) as an input to register 46. Further, the control signals to the banks of memory on buses 25 and 26 are shown as an output from logic 104.
- the bank busy signals for the four banks shown in FIGS. 3 at line 71 to 74 are shown as an input to write logic 104.
- These signals produce the bank busy signals on line 106 to the function logic 18' and further produce a selection signal on line 107 which selects one of the eight ports employing the aforementioned control lines 27 to 29 from control logic 18 shown in FIG. 1.
- the information in write logic 104 which is usable for read logic is applied via line 108, delay 109 and line 111 to the read logic register 112.
- Read logic 112 produces the aforementioned read bus time slot enable signal on line 88 which was employed in FIG. 3 to enable read bus data register 79.
- the write bus time slot enable signal on line 105 and the read bus time slot enable signal on line 88 occur at different cycle times for each of the banks of memory to be described in more detail hereinafter.
- a feature of the present invention is that the processors 22 shown in FIG. 1 are attempting to raise a request in one of the memory banks during each of the 30 nanosecond cycle times. More than one request for access to a memory bank may be raised simultaneously to the pipeline control and priority logic 18 which resolves the priorities between the simultaneous request for the same memory block and further resolves all conflicts for access time to a read bus or a write bus. It will be understood that information may be applied to read bus 16 at the same time information is being written into a memory bank from write bus 17, provided that different memory banks are being accessed. Further, no two memory banks may be accessed so as to generate data on read bus 16 during the same unique time slot window or cycle. Similarly, the corollary is true in that the data words on write bus 17 can only be written into one of the memory banks during a unique time slot window or cycle.
- FIG. 6 showing a waveform diagram for the read and write time slots generated by the pipeline control logic 18 for controlling access to the memory banks zero to 7 shown in cards 11 and 12 of FIG. 1.
- the address on line 24 to function logic 18' in FIG. 5 is shown producing a bank request signal on line 25' which is also shown as an input to control logic 56 on FIG. 3.
- This signal is immediately processed and employed to generate a request signal for the specified bank shown as a 30 nanosecond duration bank request signal 113.
- the bank request signal 113 is employed to generate the write data enable time slot window 114 which occurs on line 105 of FIG. 5. Time slot window 114, for accessing bank zero, occurs approximately two 30 nanosecond machine cycles after the bank request signal 113 raised on line 25'.
- the same bank request signal on line 25' is also employed to generate the aforementioned read bus time slot enable window 115 which is produced on line 88 (also shown in FIG. 5).
- the single bank request signal on line 25' reserves the future time slots or windows 114 and 115 without knowing whether the function operation is going to be a read or write operation. It will be understood that the same address in memory cannot be accessed for both the read and write operation. Thus, when one is occurring, the other is busy.
- Bank 1 to 4 request signals 116 to 119 are shown for purposes of example for the write operation. If the eight banks raise requests for write operations, they would be executed in ascending numerical order by the pipeline control means 18. However, if any one of the banks shown had not raised a bank request, the bank request for the next occurring bank would be shifted to the left so as to start processing without wasting a request cycle time. Further, having shown that successive or repetitive write operation requests may be executed without time gaps, it is possible that any one of the bank requests may be for a read operation. Thus, if the bank request for bank 2 at 117 happens to be for a read operation rather than a write operation, the time slot enable window produced on line 88 would occur at the time slot shown at window 121.
- bank requests are raised during the time slots or time cycle shown at times 113, 116, 117 and 118 and that the request for bank zero is a write operation which would be executed during time slot 114. If the bank request at window cycle period 116 happens to be a read request, then the read request will be executed during the time slot 122. As already explained, if the request for bank 2 at 117 was a read request, it would be executed at time slot 121.
- the ratio of write request to read request will approach seven to one and the utilization factor of the access system is well over ninety percent.
- the pipeline control reserves the future time slot windows for transfer of information whether it be a read or write operation. It will be understood that each 30 nanosecond time cycle is employed to raise a bank request for either a read or write operation and that the logic shown in FIG. 3 is employed to raise a busy signal for the bank being requested and that the busy signal will prevent another read or write operation to that bank during the operation being performed.
- the bank busy signals on lines 71 to 74 from FIG. 3 are applied to the pipeline control logic 18 to prevent conflicts for access to a memory bank.
- the present invention is not applicable to microprocessor technology but is applicable to large mainframe computers which have a large amount of active memory.
- the feature of the present invention permits the simplification of the access circuitry for multiprocessing systems and yet provides optimum throughput for access to any number of banks of memory associated with a multiprocessing system.
- the present access system is capable of examining a plurality of requests for access to memory and resolving the priorities between the requests and simultaneously executing requests for access to memory banks which are different and where no conflict occurs, without having to wait for an acknowledgment for the completion of an operation.
- numerous request operations to be in process simultaneously and only during the unique access time defined by the time slot windows is any particular bank of memory nonaccessible by a different request.
- Any request for a bank which is raised at the pipeline control logic 18 remains active as a request until executed.
- the requests are being executed every 30 nanoseconds so that no dead request time is incurred even though a complete typical read or write operation requires 240 nanoseconds or more.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Complex Calculations (AREA)
Abstract
Description
Claims (17)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US07/403,624 US5060145A (en) | 1989-09-06 | 1989-09-06 | Memory access system for pipelined data paths to and from storage |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US07/403,624 US5060145A (en) | 1989-09-06 | 1989-09-06 | Memory access system for pipelined data paths to and from storage |
Publications (1)
Publication Number | Publication Date |
---|---|
US5060145A true US5060145A (en) | 1991-10-22 |
Family
ID=23596445
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US07/403,624 Expired - Lifetime US5060145A (en) | 1989-09-06 | 1989-09-06 | Memory access system for pipelined data paths to and from storage |
Country Status (1)
Country | Link |
---|---|
US (1) | US5060145A (en) |
Cited By (48)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5206942A (en) * | 1989-03-08 | 1993-04-27 | Fujitsu Limited | Partially storing control circuit used in a memory unit |
EP0540363A1 (en) * | 1991-10-31 | 1993-05-05 | International Business Machines Corporation | Data processing system |
US5241640A (en) * | 1988-10-12 | 1993-08-31 | Hitachi, Ltd. | Disk unit with processors which detect cache status and control port selection for optimizing utilization of cache interfacing host and external memory |
US5263003A (en) * | 1991-11-12 | 1993-11-16 | Allen-Bradley Company, Inc. | Flash memory circuit and method of operation |
WO1994001867A1 (en) * | 1992-07-02 | 1994-01-20 | Camarota Rafael C | Non-disruptive, randomly addressable memory system |
US5282177A (en) * | 1992-04-08 | 1994-01-25 | Micron Technology, Inc. | Multiple register block write method and circuit for video DRAMs |
US5289431A (en) * | 1991-10-29 | 1994-02-22 | Mitsubishi Denki Kabushiki Kaisha | Semiconductor memory device divided into blocks and operable to read and write data through different data lines and operation method of the same |
US5289427A (en) * | 1992-07-20 | 1994-02-22 | Motorola, Inc. | Multiport memory with write priority detector |
US5323488A (en) * | 1987-06-24 | 1994-06-21 | Canon Kabushiki Kaisha | Memory access method and circuit in which access timing to a memory is divided into N periods to be accessed from N access request sources |
US5359715A (en) * | 1991-09-16 | 1994-10-25 | Ncr Corporation | Architectures for computer systems having multiple processors, multiple system buses and multiple I/O buses interfaced via multiple ported interfaces |
US5367494A (en) * | 1991-05-20 | 1994-11-22 | Motorola, Inc. | Randomly accessible memory having time overlapping memory accesses |
US5371875A (en) * | 1990-01-18 | 1994-12-06 | International Business Machines Corporation | Logic on main storage memory cards for insertion and extraction of tag bits |
US5428810A (en) * | 1991-03-15 | 1995-06-27 | Hewlett-Packard Company | Allocation of resources of a pipelined processor by clock phase for parallel execution of dependent processes |
US5432923A (en) * | 1989-03-08 | 1995-07-11 | Nec Corporation | Memory access control device capable of carrying out data transfer between main memory and expanded memory with simple control |
US5440713A (en) * | 1992-05-29 | 1995-08-08 | Industrial Technology Research Institute | M-way N-port paged-interleaved memory system |
US5506815A (en) * | 1995-01-19 | 1996-04-09 | Etron Technology Inc. | Reconfigurable multi-user buffer memory particularly for signal processing system |
US5513372A (en) * | 1993-08-23 | 1996-04-30 | Intel Corporation | Peripheral interface having hold control logic for generating stall signals to arbitrate two read and one write operations between processor and peripheral |
US5522059A (en) * | 1992-11-26 | 1996-05-28 | Nec Corporation | Apparatus for multiport memory access control unit with plurality of bank busy state check mechanisms employing address decoding and coincidence detection schemes |
US5555560A (en) * | 1989-01-17 | 1996-09-10 | Fujitsu Limited | Request cancel system for cancelling a second access request having the same address as a first access request |
US5557768A (en) * | 1993-07-28 | 1996-09-17 | International Business Machines Corporation | Functional pipelined virtual multiport cache memory with plural access during a single cycle |
US5564029A (en) * | 1992-06-08 | 1996-10-08 | Matsushita Electric Industrial Co., Ltd. | Pipeline processor which avoids resource conflicts |
US5574876A (en) * | 1992-09-18 | 1996-11-12 | Hitachi, Ltd. | Processor system using synchronous dynamic memory |
US5594876A (en) * | 1992-06-24 | 1997-01-14 | International Business Machines Corporation | Arbitration protocol for a bidirectional bus for handling access requests to a logically divided memory in a multiprocessor system |
US5657291A (en) * | 1996-04-30 | 1997-08-12 | Sun Microsystems, Inc. | Multiport register file memory cell configuration for read operation |
US5701433A (en) * | 1994-10-14 | 1997-12-23 | Compaq Computer Corporation | Computer system having a memory controller which performs readahead operations which can be aborted prior to completion |
GB2316208A (en) * | 1996-08-13 | 1998-02-18 | Fujitsu Ltd | Semiconductor device and digital delay circuit |
WO1998019248A1 (en) * | 1996-10-28 | 1998-05-07 | 3Com Corporation | Shared sdram memory system and controller |
US5768559A (en) * | 1991-05-20 | 1998-06-16 | Fujitsu Limited | Multiple bank structured memory access device having flexible setting of a pipeline stage number |
US5903916A (en) * | 1996-12-16 | 1999-05-11 | Intel Corporation | Computer memory subsystem and method for performing opportunistic write data transfers during an access latency period within a read or refresh operation |
US5925118A (en) * | 1996-10-11 | 1999-07-20 | International Business Machines Corporation | Methods and architectures for overlapped read and write operations |
US5943491A (en) * | 1997-10-20 | 1999-08-24 | Sun Microsystems, Inc. | Control circuit of mutual exclusion elements |
EP0962937A2 (en) * | 1998-06-03 | 1999-12-08 | Fujitsu Limited | Semiconductor intergrated circuit memory and bus control method |
GB2341766A (en) * | 1998-09-18 | 2000-03-22 | Pixelfusion Ltd | Bus architecture |
US6044034A (en) * | 1998-03-16 | 2000-03-28 | Fujitsu Limited | Multiport memory having plurality of groups of bit lines |
US6055615A (en) * | 1996-02-02 | 2000-04-25 | Fujitsu Limited | Pipeline memory access using DRAM with multiple independent banks |
US6088774A (en) * | 1996-09-20 | 2000-07-11 | Advanced Memory International, Inc. | Read/write timing for maximum utilization of bidirectional read/write bus |
US6202113B1 (en) * | 1996-10-25 | 2001-03-13 | Kabushiki Kaisha Toshiba | Bank register circuit for a multiply accumulate circuit |
US6212611B1 (en) | 1998-11-03 | 2001-04-03 | Intel Corporation | Method and apparatus for providing a pipelined memory controller |
GB2355095A (en) * | 1996-08-13 | 2001-04-11 | Fujitsu Ltd | Semiconductor circuitry |
US6272600B1 (en) * | 1996-11-15 | 2001-08-07 | Hyundai Electronics America | Memory request reordering in a data processing system |
EP1248267A2 (en) * | 2001-03-22 | 2002-10-09 | Fujitsu Limited | Semiconductor memory device and information processing system |
US20040044870A1 (en) * | 2002-08-28 | 2004-03-04 | Micron Technology, Inc. | Multi-bank memory accesses using posted writes |
US6718406B2 (en) * | 2001-08-02 | 2004-04-06 | Key Technology Corporation | Memory array apparatus with reduced data accessing time and method for the same |
US20040199692A1 (en) * | 1998-09-18 | 2004-10-07 | Phelps Richard Carl | Apparatus for use in a computer systems |
WO2005031747A1 (en) * | 2003-09-26 | 2005-04-07 | Infineon Technologies Ag | Memory device having multiple array structure for increased bandwidth |
US20050273543A1 (en) * | 2004-06-08 | 2005-12-08 | Arm Limited | Bus transaction management within data processing systems |
US20080046856A1 (en) * | 2006-08-18 | 2008-02-21 | Arm Limited | Degeneration technique for designing memory devices |
US20110164460A1 (en) * | 2010-01-07 | 2011-07-07 | Elpida Memory, Inc. | Semiconductor device and method of controlling the same |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3573854A (en) * | 1968-12-04 | 1971-04-06 | Texas Instruments Inc | Look-ahead control for operation of program loops |
US4731724A (en) * | 1984-11-23 | 1988-03-15 | Sintra | System for simultaneous transmission of data blocks or vectors between a memory and one or a number of data-processing units |
US4845677A (en) * | 1987-08-17 | 1989-07-04 | International Business Machines Corporation | Pipelined memory chip structure having improved cycle time |
US4853896A (en) * | 1986-06-10 | 1989-08-01 | Nec Corporation | Write driver circuit of semiconductor memory device |
US4891795A (en) * | 1987-05-21 | 1990-01-02 | Texas Instruments Incorporated | Dual-port memory having pipelined serial output |
-
1989
- 1989-09-06 US US07/403,624 patent/US5060145A/en not_active Expired - Lifetime
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3573854A (en) * | 1968-12-04 | 1971-04-06 | Texas Instruments Inc | Look-ahead control for operation of program loops |
US4731724A (en) * | 1984-11-23 | 1988-03-15 | Sintra | System for simultaneous transmission of data blocks or vectors between a memory and one or a number of data-processing units |
US4853896A (en) * | 1986-06-10 | 1989-08-01 | Nec Corporation | Write driver circuit of semiconductor memory device |
US4891795A (en) * | 1987-05-21 | 1990-01-02 | Texas Instruments Incorporated | Dual-port memory having pipelined serial output |
US4845677A (en) * | 1987-08-17 | 1989-07-04 | International Business Machines Corporation | Pipelined memory chip structure having improved cycle time |
Cited By (91)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5323488A (en) * | 1987-06-24 | 1994-06-21 | Canon Kabushiki Kaisha | Memory access method and circuit in which access timing to a memory is divided into N periods to be accessed from N access request sources |
US5335327A (en) * | 1988-10-12 | 1994-08-02 | Hitachi, Ltd. | External memory control techniques with multiprocessors improving the throughput of data between a hierarchically upper processing unit and an external memory with efficient use of a cache memory |
US5241640A (en) * | 1988-10-12 | 1993-08-31 | Hitachi, Ltd. | Disk unit with processors which detect cache status and control port selection for optimizing utilization of cache interfacing host and external memory |
US5555560A (en) * | 1989-01-17 | 1996-09-10 | Fujitsu Limited | Request cancel system for cancelling a second access request having the same address as a first access request |
US5206942A (en) * | 1989-03-08 | 1993-04-27 | Fujitsu Limited | Partially storing control circuit used in a memory unit |
US5432923A (en) * | 1989-03-08 | 1995-07-11 | Nec Corporation | Memory access control device capable of carrying out data transfer between main memory and expanded memory with simple control |
US5371875A (en) * | 1990-01-18 | 1994-12-06 | International Business Machines Corporation | Logic on main storage memory cards for insertion and extraction of tag bits |
US5428810A (en) * | 1991-03-15 | 1995-06-27 | Hewlett-Packard Company | Allocation of resources of a pipelined processor by clock phase for parallel execution of dependent processes |
US5367494A (en) * | 1991-05-20 | 1994-11-22 | Motorola, Inc. | Randomly accessible memory having time overlapping memory accesses |
US5768559A (en) * | 1991-05-20 | 1998-06-16 | Fujitsu Limited | Multiple bank structured memory access device having flexible setting of a pipeline stage number |
US5359715A (en) * | 1991-09-16 | 1994-10-25 | Ncr Corporation | Architectures for computer systems having multiple processors, multiple system buses and multiple I/O buses interfaced via multiple ported interfaces |
US5289431A (en) * | 1991-10-29 | 1994-02-22 | Mitsubishi Denki Kabushiki Kaisha | Semiconductor memory device divided into blocks and operable to read and write data through different data lines and operation method of the same |
EP0540363A1 (en) * | 1991-10-31 | 1993-05-05 | International Business Machines Corporation | Data processing system |
US5263003A (en) * | 1991-11-12 | 1993-11-16 | Allen-Bradley Company, Inc. | Flash memory circuit and method of operation |
US5282177A (en) * | 1992-04-08 | 1994-01-25 | Micron Technology, Inc. | Multiple register block write method and circuit for video DRAMs |
US5440713A (en) * | 1992-05-29 | 1995-08-08 | Industrial Technology Research Institute | M-way N-port paged-interleaved memory system |
US5564029A (en) * | 1992-06-08 | 1996-10-08 | Matsushita Electric Industrial Co., Ltd. | Pipeline processor which avoids resource conflicts |
US5594876A (en) * | 1992-06-24 | 1997-01-14 | International Business Machines Corporation | Arbitration protocol for a bidirectional bus for handling access requests to a logically divided memory in a multiprocessor system |
US5805503A (en) * | 1992-07-02 | 1998-09-08 | Atmel Corporation | Non-disruptive randomly addressable memory system |
US5488582A (en) * | 1992-07-02 | 1996-01-30 | Atmel Corporation | Non-disruptive, randomly addressable memory system |
WO1994001867A1 (en) * | 1992-07-02 | 1994-01-20 | Camarota Rafael C | Non-disruptive, randomly addressable memory system |
US5289427A (en) * | 1992-07-20 | 1994-02-22 | Motorola, Inc. | Multiport memory with write priority detector |
US6078986A (en) * | 1992-09-18 | 2000-06-20 | Hitachi, Ltd. | Processor system using synchronous dynamic memory |
US6697908B2 (en) | 1992-09-18 | 2004-02-24 | Renesas Technology Corporation | Processor system using synchronous dynamic memory |
US7143230B2 (en) | 1992-09-18 | 2006-11-28 | Renesas Technology Corp. | Processor system using synchronous dynamic memory |
US8234441B2 (en) | 1992-09-18 | 2012-07-31 | Renesas Electronics Corporation | Processor system using synchronous dynamic memory |
US20070061537A1 (en) * | 1992-09-18 | 2007-03-15 | Kunio Uchiyama | Processor system using synchronous dynamic memory |
US20080229004A1 (en) * | 1992-09-18 | 2008-09-18 | Kunio Uchiyama | Processor system using synchronous dynamic memory |
US7904641B2 (en) | 1992-09-18 | 2011-03-08 | Renesas Technology Corporation | Processor system using synchronous dynamic memory |
US6260107B1 (en) | 1992-09-18 | 2001-07-10 | Hitachi, Ltd | Processor system using synchronous dynamic memory |
US7376783B2 (en) | 1992-09-18 | 2008-05-20 | Renesas Technology Corp. | Processor system using synchronous dynamic memory |
US5574876A (en) * | 1992-09-18 | 1996-11-12 | Hitachi, Ltd. | Processor system using synchronous dynamic memory |
US20040143700A1 (en) * | 1992-09-18 | 2004-07-22 | Kunio Uchiyama | Processor system using synchronous dynamic memory |
US6334166B1 (en) | 1992-09-18 | 2001-12-25 | Hitachi, Ltd. | Processor system using synchronous dynamic memory |
US5522059A (en) * | 1992-11-26 | 1996-05-28 | Nec Corporation | Apparatus for multiport memory access control unit with plurality of bank busy state check mechanisms employing address decoding and coincidence detection schemes |
US5557768A (en) * | 1993-07-28 | 1996-09-17 | International Business Machines Corporation | Functional pipelined virtual multiport cache memory with plural access during a single cycle |
US5513372A (en) * | 1993-08-23 | 1996-04-30 | Intel Corporation | Peripheral interface having hold control logic for generating stall signals to arbitrate two read and one write operations between processor and peripheral |
US5701433A (en) * | 1994-10-14 | 1997-12-23 | Compaq Computer Corporation | Computer system having a memory controller which performs readahead operations which can be aborted prior to completion |
US5506815A (en) * | 1995-01-19 | 1996-04-09 | Etron Technology Inc. | Reconfigurable multi-user buffer memory particularly for signal processing system |
US6507900B1 (en) | 1996-02-02 | 2003-01-14 | Fujitsu Limited | Semiconductor memory device including plural blocks with selecting and sensing or reading operations in different blocks carried out in parallel |
US6055615A (en) * | 1996-02-02 | 2000-04-25 | Fujitsu Limited | Pipeline memory access using DRAM with multiple independent banks |
US6163832A (en) * | 1996-02-02 | 2000-12-19 | Fujitsu Limited | Semiconductor memory device including plural blocks with a pipeline operation for carrying out operations in predetermined order |
US5657291A (en) * | 1996-04-30 | 1997-08-12 | Sun Microsystems, Inc. | Multiport register file memory cell configuration for read operation |
US20050242864A1 (en) * | 1996-08-13 | 2005-11-03 | Fujitsu Limited | Semiconductor device, semiconductor system, and digital delay circuit |
US6498524B1 (en) | 1996-08-13 | 2002-12-24 | Fujitsu Limited | Input/output data synchronizing device |
US20030076143A1 (en) * | 1996-08-13 | 2003-04-24 | Fujitsu Limited | Semiconductor device, semiconductor system, and digital delay circuit |
GB2316208B (en) * | 1996-08-13 | 2001-04-11 | Fujitsu Ltd | Semiconductor device |
GB2355095A (en) * | 1996-08-13 | 2001-04-11 | Fujitsu Ltd | Semiconductor circuitry |
GB2355095B (en) * | 1996-08-13 | 2001-05-23 | Fujitsu Ltd | Semiconductor circuitry |
US6201423B1 (en) | 1996-08-13 | 2001-03-13 | Fujitsu Limited | Semiconductor device, semiconductor system, and digital delay circuit |
GB2316208A (en) * | 1996-08-13 | 1998-02-18 | Fujitsu Ltd | Semiconductor device and digital delay circuit |
US6088774A (en) * | 1996-09-20 | 2000-07-11 | Advanced Memory International, Inc. | Read/write timing for maximum utilization of bidirectional read/write bus |
US6546476B1 (en) | 1996-09-20 | 2003-04-08 | Advanced Memory International, Inc. | Read/write timing for maximum utilization of bi-directional read/write bus |
US5925118A (en) * | 1996-10-11 | 1999-07-20 | International Business Machines Corporation | Methods and architectures for overlapped read and write operations |
US6202113B1 (en) * | 1996-10-25 | 2001-03-13 | Kabushiki Kaisha Toshiba | Bank register circuit for a multiply accumulate circuit |
US5784582A (en) * | 1996-10-28 | 1998-07-21 | 3Com Corporation | Data processing system having memory controller for supplying current request and next request for access to the shared memory pipeline |
WO1998019248A1 (en) * | 1996-10-28 | 1998-05-07 | 3Com Corporation | Shared sdram memory system and controller |
US6272600B1 (en) * | 1996-11-15 | 2001-08-07 | Hyundai Electronics America | Memory request reordering in a data processing system |
US5903916A (en) * | 1996-12-16 | 1999-05-11 | Intel Corporation | Computer memory subsystem and method for performing opportunistic write data transfers during an access latency period within a read or refresh operation |
US5943491A (en) * | 1997-10-20 | 1999-08-24 | Sun Microsystems, Inc. | Control circuit of mutual exclusion elements |
US6044034A (en) * | 1998-03-16 | 2000-03-28 | Fujitsu Limited | Multiport memory having plurality of groups of bit lines |
EP0962937A3 (en) * | 1998-06-03 | 2001-03-21 | Fujitsu Limited | Semiconductor intergrated circuit memory and bus control method |
EP0962937A2 (en) * | 1998-06-03 | 1999-12-08 | Fujitsu Limited | Semiconductor intergrated circuit memory and bus control method |
US20040199692A1 (en) * | 1998-09-18 | 2004-10-07 | Phelps Richard Carl | Apparatus for use in a computer systems |
GB2341766A (en) * | 1998-09-18 | 2000-03-22 | Pixelfusion Ltd | Bus architecture |
US6212611B1 (en) | 1998-11-03 | 2001-04-03 | Intel Corporation | Method and apparatus for providing a pipelined memory controller |
EP1248267A3 (en) * | 2001-03-22 | 2006-04-12 | Fujitsu Limited | Semiconductor memory device and information processing system |
EP1248267A2 (en) * | 2001-03-22 | 2002-10-09 | Fujitsu Limited | Semiconductor memory device and information processing system |
US6718406B2 (en) * | 2001-08-02 | 2004-04-06 | Key Technology Corporation | Memory array apparatus with reduced data accessing time and method for the same |
US20110167237A1 (en) * | 2002-08-28 | 2011-07-07 | Round Rock Research, Llc | Multi-bank memory accesses using posted writes |
US20060028851A1 (en) * | 2002-08-28 | 2006-02-09 | Micron Technology, Inc. | Multi-bank memory accesses using posted writes |
US20040044870A1 (en) * | 2002-08-28 | 2004-03-04 | Micron Technology, Inc. | Multi-bank memory accesses using posted writes |
US8154932B2 (en) | 2002-08-28 | 2012-04-10 | Round Rock Research, Llc | Increasing efficiency of memory accesses by selectively introducing a relative delay between the time that write addresses are provided to the memory and the time that write data is provided to the memory |
US7225312B2 (en) | 2002-08-28 | 2007-05-29 | Micron Technology, Inc. | Multi-bank memory accesses using posted writes |
US20080005519A1 (en) * | 2002-08-28 | 2008-01-03 | Micron Technology, Inc. | Multi-bank memory accesses using posted writes |
US7916554B2 (en) | 2002-08-28 | 2011-03-29 | Round Rock Research, Llc | Multi-bank memory accesses using posted writes |
US6938142B2 (en) | 2002-08-28 | 2005-08-30 | Micron Technology, Inc. | Multi-bank memory accesses using posted writes |
US8687436B2 (en) | 2002-08-28 | 2014-04-01 | Round Rock Research, Llc | Increasing efficiency of memory accesses by selectively introducing a relative delay between the time that write addresses are provided to the memory and the time that write data is provided to the memory |
US6985398B2 (en) | 2003-09-26 | 2006-01-10 | Infineon Technologies Ag | Memory device having multiple array structure for increased bandwidth |
WO2005031747A1 (en) * | 2003-09-26 | 2005-04-07 | Infineon Technologies Ag | Memory device having multiple array structure for increased bandwidth |
US20050078542A1 (en) * | 2003-09-26 | 2005-04-14 | Infineon Technologies North America Corp. | Memory device having multiple array structure for increased bandwidth |
GB2415067A (en) * | 2004-06-08 | 2005-12-14 | Advanced Risc Mach Ltd | Managing conflicting read and write operations on separate read and write buses |
GB2415067B (en) * | 2004-06-08 | 2008-04-09 | Advanced Risc Mach Ltd | Bus transaction management within data processing systems |
US7213095B2 (en) | 2004-06-08 | 2007-05-01 | Arm Limited | Bus transaction management within data processing systems |
US20050273543A1 (en) * | 2004-06-08 | 2005-12-08 | Arm Limited | Bus transaction management within data processing systems |
US20080046856A1 (en) * | 2006-08-18 | 2008-02-21 | Arm Limited | Degeneration technique for designing memory devices |
US7523420B2 (en) * | 2006-08-18 | 2009-04-21 | Arm Limited | Degeneration technique for designing memory devices |
TWI471724B (en) * | 2006-08-18 | 2015-02-01 | Advanced Risc Mach Ltd | Degeneration technique for designing memory devices |
US20110164460A1 (en) * | 2010-01-07 | 2011-07-07 | Elpida Memory, Inc. | Semiconductor device and method of controlling the same |
US8675419B2 (en) * | 2010-01-07 | 2014-03-18 | Elpida Memory, Inc. | Device including a plurality of memory banks and a pipeline control circuit configured to execute a command on the plurality of memory banks |
US9196351B2 (en) | 2010-01-07 | 2015-11-24 | Ps4 Luxco S.A.R.L. | Device including a plurality of memory banks and a pipeline control circuit configured to execute a command on the plurality of memory banks |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5060145A (en) | Memory access system for pipelined data paths to and from storage | |
EP0384620B1 (en) | High performance memory system | |
US5313624A (en) | DRAM multiplexer | |
US5729709A (en) | Memory controller with burst addressing circuit | |
US4323965A (en) | Sequential chip select decode apparatus and method | |
CA2119174C (en) | Fully pipelined and highly concurrent memory controller | |
US4933909A (en) | Dual read/write register file memory | |
US5142638A (en) | Apparatus for sharing memory in a multiprocessor system | |
US4513372A (en) | Universal memory | |
US4412286A (en) | Tightly coupled multiple instruction multiple data computer system | |
US4359771A (en) | Method and apparatus for testing and verifying the operation of error control apparatus within a memory | |
EP0513519A1 (en) | Memory system for multiprocessor systems | |
US5136500A (en) | Multiple shared memory arrangement wherein multiple processors individually and concurrently access any one of plural memories | |
GB2193017A (en) | Improved memory access system | |
US5745914A (en) | Technique for converting system signals from one address configuration to a different address configuration | |
US5202970A (en) | Method for sharing memory in a multiprocessor system | |
US5265053A (en) | Main memory DRAM interface | |
US4992979A (en) | Memory structure for nonsequential storage of block bytes in multi bit chips | |
JPH03226852A (en) | Data processor | |
JPH0721114A (en) | Common memory controller for multiprocessor system | |
EP0251686A2 (en) | Method and apparatus for sharing information between a plurality of processing units | |
US5168558A (en) | Apparatus and method for providing distributed control in a main memory unit of a data processing system | |
US6292867B1 (en) | Data processing system | |
EP0382390A2 (en) | Method and means for error checking of dram-control signals between system modules | |
JPS5930292B2 (en) | Souchikanketsugohoshiki |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: UNISYS CORPORATION, PENNSYLVANIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST.;ASSIGNORS:SCHEUNEMAN, JAMES H.;BYERS, LARRY L.;MICHAELSON, WAYNE A.;REEL/FRAME:005131/0633 Effective date: 19890830 |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
FEPP | Fee payment procedure |
Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
FPAY | Fee payment |
Year of fee payment: 4 |
|
FPAY | Fee payment |
Year of fee payment: 8 |
|
FPAY | Fee payment |
Year of fee payment: 12 |
|
REMI | Maintenance fee reminder mailed | ||
AS | Assignment |
Owner name: UNISYS CORPORATION, PENNSYLVANIA Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:CITIBANK, N.A.;REEL/FRAME:023312/0044 Effective date: 20090601 Owner name: UNISYS HOLDING CORPORATION, DELAWARE Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:CITIBANK, N.A.;REEL/FRAME:023312/0044 Effective date: 20090601 Owner name: UNISYS CORPORATION,PENNSYLVANIA Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:CITIBANK, N.A.;REEL/FRAME:023312/0044 Effective date: 20090601 Owner name: UNISYS HOLDING CORPORATION,DELAWARE Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:CITIBANK, N.A.;REEL/FRAME:023312/0044 Effective date: 20090601 |
|
AS | Assignment |
Owner name: UNISYS CORPORATION, PENNSYLVANIA Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:CITIBANK, N.A.;REEL/FRAME:023263/0631 Effective date: 20090601 Owner name: UNISYS HOLDING CORPORATION, DELAWARE Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:CITIBANK, N.A.;REEL/FRAME:023263/0631 Effective date: 20090601 Owner name: UNISYS CORPORATION,PENNSYLVANIA Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:CITIBANK, N.A.;REEL/FRAME:023263/0631 Effective date: 20090601 Owner name: UNISYS HOLDING CORPORATION,DELAWARE Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:CITIBANK, N.A.;REEL/FRAME:023263/0631 Effective date: 20090601 |
|
AS | Assignment |
Owner name: DEUTSCHE BANK TRUST COMPANY AMERICAS, AS COLLATERA Free format text: PATENT SECURITY AGREEMENT (PRIORITY LIEN);ASSIGNOR:UNISYS CORPORATION;REEL/FRAME:023355/0001 Effective date: 20090731 |
|
AS | Assignment |
Owner name: DEUTSCHE BANK TRUST COMPANY AMERICAS, AS COLLATERA Free format text: PATENT SECURITY AGREEMENT (JUNIOR LIEN);ASSIGNOR:UNISYS CORPORATION;REEL/FRAME:023364/0098 Effective date: 20090731 |