JPH10320123A - Disk controller with built-in cache memory - Google Patents
Disk controller with built-in cache memoryInfo
- Publication number
- JPH10320123A JPH10320123A JP12928997A JP12928997A JPH10320123A JP H10320123 A JPH10320123 A JP H10320123A JP 12928997 A JP12928997 A JP 12928997A JP 12928997 A JP12928997 A JP 12928997A JP H10320123 A JPH10320123 A JP H10320123A
- Authority
- JP
- Japan
- Prior art keywords
- disk controller
- cache memory
- memory
- disk
- processing unit
- 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.)
- Pending
Links
Abstract
Description
【0001】[0001]
【発明の属する技術分野】本発明は、ホストと磁気ディ
スク間のデータの読み出し、書き込みの制御を行うディ
スクサブシステムに関し、特にバッファメモリとの転送
速度の高速化を図るディスクコントローラに関する。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a disk subsystem for controlling reading and writing of data between a host and a magnetic disk, and more particularly to a disk controller for increasing a transfer speed with a buffer memory.
【0002】[0002]
【従来の技術】従来のディスクコントローラの構成を図
1に示す。2. Description of the Related Art FIG. 1 shows the configuration of a conventional disk controller.
【0003】ホストと磁気ディスク間のデータの読み出
し、書き込みの制御を行うディスクコントローラは、上
位からのデータ転送速度と下位からのデータ転送速度の
差を吸収するため、キャッシュメモリを介して転送の同
期化を図っている。A disk controller that controls the reading and writing of data between a host and a magnetic disk is used to synchronize the transfer via a cache memory in order to absorb the difference between the data transfer speed from the higher order and the data transfer speed from the lower order. It is trying to make it.
【0004】たとえば上位インターフェース側の転送速
度が20MB/S,下位インタフェース側が20MB/
Sの場合、ディスクコントローラ間とバッファメモリ間
の転送速度は最低でも 20MB/S+20MB/S=40MB/S が必要となる。For example, the transfer rate of the upper interface is 20 MB / S, and that of the lower interface is 20 MB / S.
In the case of S, the transfer speed between the disk controller and the buffer memory needs to be at least 20 MB / S + 20 MB / S = 40 MB / S.
【0005】また、上位インターフェース側の転送速度
が100MB/S,下位インタフェース側が40MB/
Sの場合、ディスクコントローラ間とバッファメモリ間
の転送速度は最低でも 100MB/S+40MB/S=140MB/S が必要となり、今後この転送速度は更に向上していく。The transfer speed of the upper interface is 100 MB / S, and that of the lower interface is 40 MB / S.
In the case of S, the transfer speed between the disk controller and the buffer memory needs to be at least 100 MB / S + 40 MB / S = 140 MB / S, and this transfer speed will be further improved in the future.
【0006】[0006]
【発明が解決しようとする課題】しかしながら、バッフ
ァメモリがディスクコントローラと別のLSIで搭載さ
れていると、ディスクコントローラ間とバッファメモリ
間の転送速度が飽和するため、システム全体の転送速度
を向上させることが困難になる。However, if the buffer memory is mounted on a separate LSI from the disk controller, the transfer speed between the disk controller and the buffer memory is saturated, so that the transfer speed of the entire system is improved. It becomes difficult.
【0007】例えば1セクタ512バイトの場合、16
ビット単位でのバッファ転送を実施すると256回のI
/Oが発生し、転送速度の向上の妨げとなり、性能を1
0倍にするためにはメモリの性能を10倍にするか転送
するバイト幅を10倍にするかのどちらかを選択しなけ
ればならない。しかしながらバッファメモリの性能を1
0倍にすることは簡単には実現できないこと、データ幅
/ディスクコントローラのピン数を10倍にすることも
物理的に容易には実現できない。For example, in the case of 512 bytes per sector, 16
When buffer transfer is performed in bit units, 256 times of I
/ O occurs, hindering the improvement of the transfer speed, and
In order to make it 0 times, it is necessary to select either 10 times the performance of the memory or 10 times the byte width to be transferred. However, the performance of the buffer memory
Making it 0 times cannot be easily realized, and making data width / number of pins of the disk controller 10 times physically cannot be easily realized.
【0008】[0008]
【課題を解決するための手段】システムの転送速度は、
ディスクから/ディスクへのシリアルデータを読み出す
/書き込むR/W転送速度、CPUから/CPUへのデ
ータ転送速度によって律束されるが、この転送を円滑に
行うために、途中にバッファメモリを介しており、この
バッファメモリとディスクコントローラ間の転送速度に
よっても律束される。The transfer rate of the system is as follows.
The transfer rate is determined by the R / W transfer speed for reading / writing serial data from / to the disk and the data transfer speed from the CPU to the / CPU. And the transfer rate between the buffer memory and the disk controller.
【0009】本発明の目的は、このバッファメモリとデ
ィスクコントローラ間の転送速度の高速化を図ることで
ある。An object of the present invention is to increase the transfer speed between the buffer memory and the disk controller.
【0010】本発明では、該バッファメモリをディスク
コントローラLSIと同じLSI内に構成することで、
バッファメモリのデータ幅を自由に設定でき、ディスク
コントローラのピン数に制限されることなく、転送速度
を向上させることができる。In the present invention, by configuring the buffer memory in the same LSI as the disk controller LSI,
The data width of the buffer memory can be freely set, and the transfer speed can be improved without being limited by the number of pins of the disk controller.
【0011】したがって、本発明によるディスクサブシ
ステムでは、同一LSI内にバッファメモリとディスク
コントローラが存在する為、転送性能を律束するI/O
数が減り、転送速度を向上させることができる。Therefore, in the disk subsystem according to the present invention, since the buffer memory and the disk controller exist in the same LSI, the I / O which controls the transfer performance is controlled.
The number can be reduced, and the transfer speed can be improved.
【0012】[0012]
【発明の実施の形態】図2に本発明のディスクコントロ
ーラの構成の実施例を示す。FIG. 2 shows an embodiment of the configuration of the disk controller of the present invention.
【0013】1はコントローラを制御するMPU、2は
ワークメモリ、3はMPUのプログラムが格納されるプ
ログラムメモリであり、それぞれはバス21に接続され
ている。キャッシュメモリを内蔵するコントローラは、
MPU1、ワークメモリ2、プログラムメモリ3をも内
蔵する場合(42で示す。)と内蔵しない場合(41で
示す。)がある。MPU等を内蔵しない場合は、コント
ローラ41はバス21に接続される。1 is an MPU for controlling the controller, 2 is a work memory, 3 is a program memory for storing an MPU program, and each is connected to a bus 21. The controller with built-in cache memory
There are cases where the MPU 1, the work memory 2, and the program memory 3 are also built-in (shown by 42) and cases where they are not built-in (shown by 41). When no MPU or the like is incorporated, the controller 41 is connected to the bus 21.
【0014】ディスクより読み出したデータは、一旦F
iFoに連続で読み込まれシルアルデータがFiFoに
Fullになった状態でそのデータをパラレルデータと
して一度に内蔵バッファメモリに書き込む。CPUに送
る場合はパラレルデータを一度にFiFo読み込み後は
連続して転送する。The data read from the disk is
In a state where the serial data is read continuously into the iFo and the serial data becomes Full in the FiFo, the data is written into the internal buffer memory at once as parallel data. When the parallel data is sent to the CPU, the parallel data is transferred at once after reading the FIFO.
【0015】当該キャッシュメモリの処理単位(X)を
物理ブロック長(ディスク上の物理セクタのn倍、ある
いは、1/n倍)あるいは、論理ブロック長(ホストの
処理ブロックのm倍、あるいは、1/m倍)とすること
が可能である。The processing unit (X) of the cache memory is a physical block length (n times or 1 / n times the physical sector on the disk) or a logical block length (m times the processing block of the host, or 1). / M times).
【0016】前記処理単位(X)毎、および処理数
(Y)毎にチェックコードを付加し、キャッシュデータ
の読み出し・書込み時に両方のチェックコードにより、
エラーの検出・訂正を可能となる。A check code is added for each processing unit (X) and each processing number (Y), and both check codes are used when reading / writing cache data.
Errors can be detected and corrected.
【0017】一般に、ディスクの物理セクタ・論理ブロ
ックは512バイトであるが、チェックコードを付加す
るために、512+aバイトとなったり、ブロッキング
(論理ブロック=512バイトxb)とすることも顧客
システムでは発生するので、前記処理単位(X)は、M
PUにより可変とする。In general, a physical sector / logical block of a disk is 512 bytes. However, in order to add a check code, 512 + a bytes or blocking (logical block = 512 bytes × b) may occur in a customer system. Therefore, the processing unit (X) is M
Variable by PU.
【0018】リード・ライト系コマンドでは、前記ディ
スクの物理セクタ長の複数倍のデータ処理となるが、制
御コマンドでは前記処理単位(X)未満のデータを処理
するケースが発生する。そのため、前記処理単位(X)
分を処理するためのバッファFiFoが必要となる。In the case of a read / write command, data processing is performed a plurality of times longer than the physical sector length of the disk. However, in the case of a control command, data less than the processing unit (X) may be processed. Therefore, the processing unit (X)
A buffer Fifo for processing the minute is required.
【0019】[0019]
【発明の効果】本発明のディスクサブシステムでは、デ
ィスクコントローラを構成するLSIがバッファメモリ
を内臓している為、バッファメモリが外部メモリアクセ
スである時に発生するI/O待ち時間がなくなるので、
I/Oネックが解消しデータバスネックが解消する。In the disk subsystem of the present invention, since the LSI constituting the disk controller has a built-in buffer memory, there is no I / O waiting time that occurs when the buffer memory is accessed by an external memory.
The I / O bottleneck is eliminated and the data bus bottleneck is eliminated.
【0020】また、縦横のチェックコードにより、高速
かつ高信頼なデータ処理が可能となる。The vertical and horizontal check codes enable high-speed and highly reliable data processing.
【図1】従来のディスクコントローラの構成を示す図で
ある。FIG. 1 is a diagram showing a configuration of a conventional disk controller.
【図2】本発明の1実施例であるディスクコントローラ
の構成を示す図である。FIG. 2 is a diagram showing a configuration of a disk controller according to one embodiment of the present invention.
5 ホストインタフェース 6 ホスト側FiFo 7 ディスク側FiFo 8 ディスクインタフ
ェース 9 DMA 10 キャッシュメモリ 11 バッファFiFo5 Host interface 6 Host side FIFO 7 Disk side FIFO 8 Disk interface 9 DMA 10 Cache memory 11 Buffer FIFO
Claims (4)
位装置と前記記憶装置との間で転送されるデータを格納
するキャッシュメモリを内蔵するディスクコントローラ
であって、前記キャッシュメモリの処理単位を物理ブロ
ック長のn倍あるいは1/n倍、または、論理ブロック
長のm倍、あるいは、1/m倍とすることを特徴とする
ディスクコントローラ。1. A disk controller which is connected to a host device and a storage device and has a built-in cache memory for storing data transferred between the host device and the storage device, wherein a processing unit of the cache memory is provided. A disk controller, wherein n is 1 or n times the physical block length, or m or 1 / m times the logical block length.
することが可能な請求項1記載のディスクコントロー
ラ。2. The disk controller according to claim 1, wherein a processing unit of said cache memory is variable.
処理数毎にチェックコードをを付加し、キャッシュデー
タの読み出し・書込み時に両方のチェックコードによ
り、エラーの検出・訂正を可能とするキャッシュメモリ
を内蔵することを特徴とする請求項1記載のディスクコ
ントローラ。3. A cache memory, wherein a check code is added for each processing unit and each processing number of the cache memory, and an error can be detected and corrected by both check codes when reading / writing cache data. The disk controller according to claim 1, wherein:
理要求が発生した場合、前記キャッシュメモリの処理単
位(X)を取り出し部分的に読み出し・書込み可能とす
るキャッシュメモリの前段FiFoを有することを特徴
とする請求項1記載のディスクコントローラ。4. A cache memory pre-stage Fifo which takes out a processing unit (X) of the cache memory and partially reads / writes when a processing request less than the processing unit of the cache memory occurs. The disk controller according to claim 1, wherein
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP12928997A JPH10320123A (en) | 1997-05-20 | 1997-05-20 | Disk controller with built-in cache memory |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP12928997A JPH10320123A (en) | 1997-05-20 | 1997-05-20 | Disk controller with built-in cache memory |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH10320123A true JPH10320123A (en) | 1998-12-04 |
Family
ID=15005903
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP12928997A Pending JPH10320123A (en) | 1997-05-20 | 1997-05-20 | Disk controller with built-in cache memory |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH10320123A (en) |
-
1997
- 1997-05-20 JP JP12928997A patent/JPH10320123A/en active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100621631B1 (en) | Solid state disk controller apparatus | |
US5822251A (en) | Expandable flash-memory mass-storage using shared buddy lines and intermediate flash-bus between device-specific buffers and flash-intelligent DMA controllers | |
US7779215B2 (en) | Method and related apparatus for accessing memory | |
US5925111A (en) | System for alotting logical path number to logical interfaces and permitting logical interface to access selected I/O using logical path number when selected I/O is not in use | |
KR101035225B1 (en) | Controller apparatus and method for improved data transfer | |
US5357473A (en) | Semiconductor storage system including defective bit replacement | |
JP3598321B2 (en) | Buffering data exchanged between buses operating at different frequencies | |
US20080270657A1 (en) | Management of Transfer of Commands | |
JPH0877066A (en) | Flash memory controller | |
JP2561398B2 (en) | Redundant disk controller | |
US7069409B2 (en) | System for addressing a data storage unit used in a computer | |
US20050198425A1 (en) | Combined optical storage and flash card reader using single ide or sata port and method thereof | |
KR100638378B1 (en) | Systems and Methods for a Disk Controller Memory Architecture | |
JPH10320123A (en) | Disk controller with built-in cache memory | |
JPS6232494B2 (en) | ||
US7287102B1 (en) | System and method for concatenating data | |
WO2011119151A1 (en) | Communication between a computer and a data storage device | |
JP3151416B2 (en) | Data transfer control device and magnetic disk device | |
JP2892429B2 (en) | I / O controller | |
JPH05165579A (en) | Mirrored disk controller | |
JP2870285B2 (en) | register | |
US20070174738A1 (en) | Disk device, method of writing data in disk device, and computer product | |
JPH0863396A (en) | Disk cache device | |
JPS6118032A (en) | External memory controller | |
JPH02165248A (en) | Disk cache controller |