Disk controller using a video ram.
Abstract
A disk controller is described with an improved buffer interface between a host processor and a disk drive. The disk controller includes a buffer memory (34) having at least two ports (37, 40), each port capable of bi-directional data transfers to and from the buffer memory. A first data bus (42) is connected to one such port (40) and a second data bus (38) is connected to a second such port (37). A controller (18) operates the buffer memory so that data transfers occur to and from the buffer memory simultaneously over the first and second data busses (42, 38). This thereby enables more efficient data transfers to occur between the host processor and disk drive.

Term
Term ended
Projected expiry passed 23 October 2011, 14.9 years ago.
- Priority
- Filed
- Published
- Projected expiry
- Today
8 claims: 5 independent, 3 dependent
- 1A disk controller for providing data transfers between a disk memory and a host processor, said disk controller exhibiting improved buffer memory data transfers, the combination comprising:buffer memory means (34) having at least two ports (37, 40), each said port capable of bi-directional data transfers to and from said buffer memory means;first bus means (42) connected to one said port (40) of said buffer memory means (34);second bus means (38) connected to a second said port (37) of said buffer memory means (34), said first and second bus means (42, 38) capable of independent and simultaneous operation;and control means (12, 18) for operating said buffer memory means so that data transfers occur to and from said buffer memory means (34) simultaneously over said first and second bus means.
- 2The disk controller as claimed in Claim 1 wherein said buffer memory means comprises:a video random access memory (VRAM) (34) including DRAM (35) and SAM (36) portions, said VRAM (34) including means for transfer of data between said DRAM and SAM portions.
- 3The disk controller as recited in Claim 2 wherein one said port (40) provides bi-directional access to said SAM and a second said port (37) provides bi-directional access to said DRAM (34).
- 4The disk controller as claimed in Claims 2 or 3 wherein said control means comprises:a microprocessor (12);and a buffer controller (18), said buffer controller (18), under the control of said microprocessor (12), arbitrating data access reguests to said buffer memory and enabling internal data transfers between said SAM (36) and DRAM (35) within said VRAM (34).
- 5The disk controller as recited in Claim 4, wherein said buffer controller (18) provides control and address signals via direct interconnections with said VRAM (34).
- 8The disk controller as recited in any one of the preceding claims, comprising:host interface means (16) connected between said first bus means (42) and a host processor and disk interface means (22) connected between said disk memory and said second bus (38), both said interface means functioning to control access between said buffer memory means (34) and said host processor and disk memory respectively.
Independent claims8
23 paragraphs in 5 sections, as filed
FIELD OF THE INVENTION
0001This invention relates to disk memory control apparatus, and more particularly, to a disk controller that enables more efficient data transfers between a host processor and a disk memory.
BACKGROUND OF THE INVENTION
0002Conventional disk memory controllers employ a buffer memory that is either implemented as a single-port, serial, random access memory (SRAM) or a single-port, dynamic, random access memory (DRAM). The buffer memory is connected via a bus to both input and output interface modules. Such a disk controller is shown in FIG. 1 at the block diagram level. A buffer memory, 10 may be configured as either an SRAM or DRAM. The choice of a SRAM or DRAM buffer memory tends, to a large extent, to depend upon cost, required buffer bandwidth and desired application.
0003The operation of the disk controller is supervised by a dedicated buffer processor 12. A processor data bus 14 provides data access between buffer processor 12 and a host interface module 16, a buffer controller 18, a switch 20 and a disk mechanism interface 22. A buffer data bus 24 provides for data communication between host interface module 16 and buffer 10, and between buffer 10 and disk mechanism interface module 22. Switch 20 is also connected to buffer data bus 24 and provides for intercommunication between busses 14 and 24. Buffer controller 18, on the other hand, provides control and address signals via line 26 to buffer 10.
0004The main function of buffer controller 18 is to arbitrate accesses to buffer 10 from external sources. Host interface module 16 provides a buffering function for data transfers between a host processor and buffer 10, whereas disk mechanism interface 22 provides a similar function between buffer 10 and a disk drive. All data transfers between buffer 10, host interface 16 and disk mechanism interface 22 occur over buffer data bus 24. Thus, when a data transfer is occurring between buffer 10 and disk mechanism interface 22, no data transfers can occur between host interface 16 and buffer 10 (and vice-versa). As a result, buffer data bus 24 is a bottle-neck in the system and results in a substantial constriction on data transfers which can occur between the host processor and disk drive.
0005Recently, a new type of DRAM has become available on the market for video applications. Such DRAMS are called multi-port video RAM's (VRAM's) and include a DRAM portion (i.e., 262,144 words x 4 bits) and a serial access memory (SAM) portion (i.e., 512 words x 4 bits). Such memories have dual ports that enable simultaneous access to both the DRAM and SAM. They furthermore have the ability to bi-directionally transfer data internally between the DRAM and a serial data register within the SAM. Memory accesses can occur simultaneously to and from the DRAM and to and from the SAM, except when data transfers are taking place internally between the DRAM and SAM. In certain cases, SAM data transfers can even continue when an internal data transfer is in process, but only from a portion of the SAM not involved in the internal transfer. One such VRAM is the TMS 44C251, 262,144 by 4-bit, multi-port, video RAM from the Texas Instruments Corporation, Houston, Texas. A similarly functioning VRAM is available from Toshiba MOS Memory Products of Tokyo, Japan, and is denoted as the TC524256P/Z/J-10.
0006Fig. 2 illustrates a block diagram of the Texas Instruments VRAM. Input/Output buffer section 27 provides independent access to and from DRAM 28. Input/Output buffer section 29 provides independent access to and from SAM 30. Data transfers between DRAM 28 and SAM 30 occur through data transfer gate 31. Address and control signals to accomplish data transfers are applied via inputs 32 and 33 respectively. VRAMS, such as shown in Fig. 2, generally see use in graphics processors and associated control devices, but not with disk controllers.
0007It is an object of this invention to provide an improved disk controller having higher data throughputs between a host processor and a disk drive.
0008It is another object of this invention to provide a disk controller having improved buffer memory operation.
0009It is a further object of this invention to employ a VRAM in a disk controller to enable improved data transfers.
SUMMARY OF THE INVENTION
0010A disk controller is described with an improved buffer interface between a host processor and a disk drive. The disk controller includes a buffer memory having at least two ports, each port capable of bi-directional data transfers to and from the buffer memory. A first data bus is connected to one such port and a second data bus is connected to a second such port. A controller operates the buffer memory so that data transfers occur to and from the buffer memory simultaneously over the first and second data busses. This thereby enables more efficient data transfers to occur between the host processor and disk drive.
DESCRIPTION OF THE DRAWINGS
0011FIG. 1 is a block diagram of a prior art disk controller.
0012FIG. 2 is a block diagram of a prior art VRAM.
0013FIG. 3 is a block diagram of a disk controller that includes the invention hereof.
DETAILED DESCRIPTION OF THE INVENTION
0014In FIG 3, like modules to those shown in FIG. 1 are numbered identically. It is to be noted that the buffer memory now comprises a video RAM (VRAM) buffer 34 that includes a DRAM 35 and SAM 36. VRAM 34 can be configured as shown in FIG. 2 or otherwise, so long as it has independent memory modules which are able to transfer data between themselves, and is additionally able to support independent external accesses to connected independent busses.
0015A DRAM port 37 communicates with a DRAM data bus 38 while a SAM port 40 communicates with a SAM data bus 42. As aforestated, VRAM 34 supports bi-directional data transfers, simultaneously, in and out of ports 37 and 40. Data transfers are enabled between DRAM 35 and SAM 36, bi-directionally, under control of buffer controller 18. When such data transfers are occurring, in general, no data transfers take place from ports 37 or 40. The one exception is when a "split transfer" occurs internally between SAM 36 and DRAM 35. In such case, only one portion of a SAM row is caused to transfer. The other portion of the SAM row remains accessible from SAM port 40. Dram port 37 is not accessible from the outside in such a split transfer.
0016All data transfers to and from the host interface module 16 pass through SAM port 40 and are serial in nature. Transfer of data between SAM 36 and DRAM 35 occur by rows, internal to the VRAM. All other buffer data transfers are through DRAM port 37.
0017Buffer controller 18 arbitrates all access requests to DRAM port 37 and performs SAM/DRAM data transfers, when required by SAM data movement. Buffer processor 12 performs the overall system control within the disk controller and assures that host interface module 16, buffer controller 18 and disk mechanism interface 22 operate in an interdependent and non-conflicting manner.
0018A data write to the disk drive through VRAM buffer 34 will now be described. Buffer controller 18 places SAM port 40 into an input mode. It then transfers the row of data from host interface module 16 into SAM 36 that contains the starting address within DRAM 35. A serial pointer is set to a desired column address for the first data byte. Data is then clocked into SAM port 36 from host interface module 16 until the row in SAM 36 is full. Buffer controller 18 then transfers the row of data from SAM 36 into the correct row in DRAM 35 and sets a serial pointer to the first column for the next row. Data is then clocked into SAM 36 until the row is full, and the row is then transferred to DRAM 35.
0019The above process is repeated until the data transfer from host interface module 16 is complete, at which time the final row is transferred from SAM 36 to DRAM 35 to complete a direct memory access transfer into VRAM buffer 34. Data may then be moved from VRAM buffer 34 to disk mechanism interface 22 through DRAM port 37. This is done as a regular DRAM-type access and may be accomplished in a page mode. Of course, such a data transfer may also be commenced prior to all data being "in place" within DRAM 35. These transfers continue until the entire data transfer is completed.
0020Buffer processor 12 also has random access to VRAM buffer 34 via switch 20 through DRAM port 37. Refresh cycles and SAM/DRAM transfer commands occur as actions through DRAM port 37 as well. Buffer controller 18 arbitrates between a disk direct memory access, processor 12 accesses, SAM/DRAM transfer commands, and refresh cycles for DRAM 35. It is important to realize that access to DRAM and SAM ports 37 and 40 may occur simultaneously and independently.
0021A data read appears very much like a data write operation. The data to be transferred to the host processor is placed in VRAM buffer 34 through DRAM port 37. Buffer controller 18 places SAM port 40 into the output mode, transfers from DRAM 35 to SAM 36 a row containing the first byte of data to be sent to the host computer and sets a serial pointer to the column address for the first byte. Data is then clocked out of SAM 36 and sent to host interface module 16, until the row in SAM 36 is empty. The next row of data is then transferred from DRAM 35 to SAM 36 and the serial pointer is set to the first column. The data is then clocked out and sent to host interface module 16. The process repeats until the last byte is clocked out and sent to host interface module 16. As that point, an interface direct memory access transfer is complete. Once again, accesses may occur simultaneously and independently to VRAM buffer 34 through both the SAM and DRAM ports 40 and 37 respectively, except, generally, during SAM/DRAM transfers.
0022The use of a dual-port VRAM allows increased total buffer data transfer bandwidth by separating the host data transfers onto a different bus from remaining data transfers. Because data transfers can occur on both buses simultaneously, the RAM allows the use of a slower access time memory and/or a narrower buffer bus width, for a given total data transfer bandwidth, than a single port SRAM or DRAM buffer implementation.
0023It should be understood that the foregoing description is only illustrative of the invention. Various alternatives and modifications can be devised by those skilled in the art without departing from the invention. Accordingly, the present invention is intended to embrace all such alternatives, modifications and variances which fall within the scope of the appended claims.
Contents5
3 sheets
Sheet 1 Sheet 2 Sheet 3
Every citation, both ways
| Document | Relation | Office | Cited during |
|---|---|---|---|
| EP0756235A1 | Cited by | European Patent Office (EPO) | Search report |
| EP0578139A2 | Cited by | European Patent Office (EPO) | Search report |
| US5734848A | Cited by | United States of America | Search report |
| EP0756234A1 | Cited by | European Patent Office (EPO) | Search report |
| US5729705A | Cited by | United States of America | Search report |
| US5875458A | Cited by | United States of America | Search report |
| EP0578139A3 | Cited by | European Patent Office (EPO) | Search report |
| WO8907296A1 | Cites | World Intellectual Property Organization (WIPO) | Search report |
4 priority claims, no other members on record
Priority claims4
| Document | Office | Kind | Date |
|---|---|---|---|
| 62111590 | United States of America | A | |
| 621115 | United States of America | – | |
| US19900621115 | – | – | – |
| 621115 | – | – | – |
8 legal events, as the office reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | |
|---|---|---|
| Application withdrawn (corrected)WithdrawnR18W | R18W | |
| Application withdrawnWithdrawn18W | 18W | |
| Information on the status of an ep patent application or granted ep patentGrantedSTATUS: THE APPLICATION HAS BEEN WITHDRAWNSTAA | STAA | |
| Request for examination filed17P | 17P | |
| Designated contracting statesAK | AK | |
| Search report despatchedORIGINAL CODE: 0009013PUAL | PUAL | |
| Designated contracting statesAK | AK | |
| Public reference made under article 153(3) epc to a published international application that has entered the european phaseORIGINAL CODE: 0009012PUAI | PUAI |
Numbers
- Publication
- 0487901
- Publication, DOCDB
- 0487901
- Publication, EPODOC
- EP0487901
- Application
- 91118091
- Application, DOCDB
- 91118091
- Application, EPODOC
- EP19910118091
Titles6
- German
- Plattensteuerung, die ein Video-RAM anwendet.
- English
- Disk controller using a video ram.
- French
- ContrÔleur de disque utilisant une mémoire vidéo.
- German
- Plattensteuerung, die ein Video-RAM anwendet
- English
- Disk controller using a video ram
- French
- Contrôleur de disque utilisant une mémoire vidéo
Classification
- CPC, 2
- G06F3/0601
- G06F2003/0691
- IPC, 1
- G06F3 06
Designated states4
- Contracting states, 4
- Germany
- France
- United Kingdom
- Italy