KR100619806B1 - 디스크 콘트롤러 메모리에 접속을 중개하기 위한 중개방법및 시스템 - Google Patents
디스크 콘트롤러 메모리에 접속을 중개하기 위한 중개방법및 시스템 Download PDFInfo
- Publication number
- KR100619806B1 KR100619806B1 KR1020017012114A KR20017012114A KR100619806B1 KR 100619806 B1 KR100619806 B1 KR 100619806B1 KR 1020017012114 A KR1020017012114 A KR 1020017012114A KR 20017012114 A KR20017012114 A KR 20017012114A KR 100619806 B1 KR100619806 B1 KR 100619806B1
- Authority
- KR
- South Korea
- Prior art keywords
- time
- access
- unit
- connection
- controller
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0613—Improving I/O performance in relation to throughput
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data buffering arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0674—Disk device
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Bus Control (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Multi Processors (AREA)
- Storage Device Security (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Information Transfer Systems (AREA)
Abstract
Description
도 8은 중개 프로세스의 한 사이클에 대한 실시예를 보여주는 자세한 흐름도 800이다. 실시예에서, 상기 중개장치는 중개 스테이트 머신(state machine)에 의하여 제어된다. 중개 프로세스가 사이클을 이루기 때문에 출발위치를 선택하는 것이 그리 중요하지는 않으나, 설명을 위하여 스테이트 802로부터 시작하기로 한다. 중개 프로세스 804-814의 첫 번째 일부가 디스크 포맷터 접속하기 위하여 전송된다. 중개장치 402는 디스크 포맷터 REQ 라인을 검사하여, 디스크 포맷터 116이 버퍼 메모리에 접속을 요구하는지를 검사한다. 만약, 디스크 포맷터 116이 접속을 요구한다면, 중개장치 402가 단계 806에서 디스크 포맷터의 ACK 라인을 올려 접속을 승인한다. 단계 808을 거치면서 중개장치 402가 중개 한계 레지스터 410으로부터 디스크 포맷터의 중개 한계를 읽고, 이 한계 값을 중개 한계 계수기 406에 입력한다. 상기 중개 한계 계수기 406은 매 HDC 클록사이클 마다 “1”씩 감소한다. 다음으로, 단계 810, 812에서, 상기 중개장치 402가 중개 한계 계수기 406이 “0”에 도달하였는지 및 디스크 포맷터의 요구 라인 REQ가 여전히 작동하는지를 반복하여 검사한다. 중개 한계 계수기 406이 “0”에 도달하였거나, 또는 디스크 포맷터의 REQ 라인이 작동하지 않은 경우에는, 단계 814에서 중개장치 402가 디스크 포맷터의 승인 ACK 라인을 포기한다. 상기 언급된 단계 804에서, 디스크 포맷터 116이 접속을 요구하지 않은 경우, 중개장치는 단계 804에서 단계 816으로 곧바로 향하게 된다.
Claims (34)
- 첫 번째 일정량의 시간을 에러교정 유닛에 할당하는 단계;두 번째 일정량의 시간을 호스트 인터페이스 유닛에 할당하는 단계;상기 첫 번째 일정량의 시간을 초과하지 않는 첫 번째 지속시간 동안에, 상기 에러교정 유닛을 이용하여 버퍼 메모리에 접속하는 단계;상기 두 번째 일정량의 시간을 상기 첫 번째 일정량의 시간과 상기 첫 번째 지속시간의 차이에 해당하는 일정한 시간에 의하여 조정하는 단계; 및,상기 두 번째 일정량의 시간을 초과하지 않는 두 번째 지속시간 동안에, 상기 호스트 인터페이스 유닛을 이용하여 버퍼 메모리에 접속하는 단계를 포함하는 하드디스크 콘트롤러의 버퍼 메모리에 접속하는 방법.
- 제 1항에 있어서,세 번째 일정량의 시간을 디스크 포맷터 유닛에 할당하는 단계;버퍼 메모리가 상기 디스크 포맷터 유닛에 접속할 수 있도록 허용하는 단계; 및,상기 세 번째 일정량의 시간을 초과하지 않는 세 번째 지속시간 동안에, 상기 디스크 포맷터 유닛을 이용하여 상기 버퍼 메모리에 접속하는 단계(이때, 상기 세 번째 일정량의 시간 중 사용되지 않은 시간은 상기 호스트 인터페이스 유 닛에 할당되지 않음)를 추가로 포함하는 것을 특징으로 하는하드디스크 콘트롤러의 버퍼 메모리에 접속하는 방법.
- 제 2항에 있어서,상기 디스크 포맷터 유닛은, 상기 세 번째 지속시간이 종료된 후 소정의 네 번째 시간 내에, 다시 버퍼 메모리에 접속할 수 있도록 허용된 것을 특징으로 하는하드디스크 콘트롤러의 버퍼 메모리에 접속하는 방법.
- 제 1항에 있어서,상기 버퍼 메모리에의 접속은, 어떤 유닛도 상기 버퍼 메모리에 한번을 초과하여 접속하지 않는 반복되는 접속 사이클 중 하나의 사이클 동안에 이루어지는 것을 특징으로 하는하드디스크 콘트롤러의 버퍼 메모리에 접속하는 방법.
- 공유 콘트롤러 리소스가 중개되는 첫 번째 접속 사이클을 허용하는 단계;첫 번째 접속 사이클의 처음 일부를 연속된 첫 번째 접속시간 블록으로 첫 번째 접속 유닛에 할당하는 단계;상기 첫 번째 접속 유닛을 이용하여 상기 연속된 첫 번째 접속시간 블록의 일정량을 사용하는 단계;상기 첫 번째 접속 사이클의 두 번째 일부와 상기 연속된 첫 번째 접속시간 블록 중 사용되지 않은 시간을 연속된 두 번째 접속시간 블록으로 두 번째 접속 유닛에 할당하는 단계; 및,상기 두 번째 접속 유닛을 이용하여 상기 연속된 두 번째 접속시간 블록의 일정량을 사용하는 단계를 포함하는 대용량 기억장치 콘트롤러의 공유 콘트롤러 리소스에 접속하는 방법.
- 제 5항에 있어서,상기 첫 번째 접속 사이클의 세 번째 일부를 연속된 세 번째 접속시간 블록으로 세 번째 접속 유닛에 할당하는 단계;상기 첫 번째 접속 사이클 중에 리소스가 상기 세 번째 접속 유닛에 접속할 수 있도록 허용하는 단계;상기 첫 번째 접속 사이클 중에 상기 세 번째 접속 유닛을 이용하여 상기 연속된 세 번째 접속시간 블록의 일정량을 사용하는 단계;상기 세 번째 접속 유닛을 이용하여 상기 리소스의 접속을 해제하는 단계; 및,상기 두 번째 접속 사이클에서 리소스가 상기 세 번째 접속 유닛에 접근할 수 있도록 허용하는 단계(이때, 상기 두 번째 접속 사이클은 상기 해제 단계 후 소정의 시간 내에 수행됨)를 추가로 포함하는 것을 특징으로 하는대용량 기억장치 콘트롤러의 공유 콘트롤러 리소스에 접속하는 방법.
- 제 6항에 있어서,상기 접근사이클에 대응하는 지속시간을 특정시키는 단계; 및상기 연속된 두 번째 접속시간 블록 중 사용되지 않은 시간에 해당하는 시간만큼 상기 접속 사이클의 반복 중 최소한 하나의 지속시간을 감소시키는 단계를 추가로 포함하는 것을 특징으로 하는대용량 기억장치 콘트롤러의 공유 콘트롤러 리소스에 접속하는 방법.
- 제 6항에 있어서,상기 공유 콘트롤러 리소스는 버퍼 메모리인 것을 특징으로 하는대용량 기억장치 콘트롤러의 공유 콘트롤러 리소스에 접속하는 방법.
- 제 6항에 있어서,상기 첫 번째 접속 유닛은 중앙연산처리장치이고; 및, 상기 두 번째 접속 유닛은 호스트 인터페이스 회로인 것을 특징으로 하는대용량 기억장치 콘트롤러의 공유 콘트롤러 리소스에 접속하는 방법.
- 사이클 지속시간을 갖는 접속 사이클을 제공하는 단계;첫 번째 일정량의 시간을 첫 번째 접속 유닛에 할당하는 단계;상기 첫 번째 일정량의 시간보다 길지 않은 상기 첫 번째 지속시간 동안에 상기 첫 번째 유닛을 이용하여 상기 공유 콘트롤러 리소스에 접속하는 단계; 및,두 번째 일정량의 시간 및 상기 첫 번째 일정량의 시간 중 사용되지 않은 시간을 두 번째 접속 유닛에 할당하는 단계를 포함하는 대용량 기억장치 콘트롤러 공유 리소스의 접속사이클(이때, 다중 유닛은 공유 콘트롤러 리소스에 중개되어 접속되어 있음)의 지속시간을 변환하는 방법.
- 제 10항에 있어서,세 번째 일정량의 시간을 세 번째의 접속 유닛에 할당하는 단계;상기 세 번째 일정량의 시간보다 길지 않은 상기 세 번째 지속시간 동안에 상기 세 번째 유닛을 이용하여 상기 공유 콘트롤러 리소스에 접속하는 단계; 및,상기 세 번째 일정량의 시간 중 사용되지 않은 시간에 해당하는 만큼 상기 접속 사이클의 지속시간을 감소시키는 단계를 추가로 포함하는대용량 기억장치 콘트롤러 공유 리소스의 접속사이클의 지속시간을 변환하는 방법.
- 제 10항에 있어서,상기 공유 콘트롤러 리소스는 콘트롤러 메모리인 것을 특징으로 하는대용량 기억장치 콘트롤러 공유 리소스의 접속사이클의 지속시간을 변환하는 방법.
- 제 11항에 있어서,상기 첫 번째 접속 유닛은 메모리 재생 회로이고; 상기 두 번째 접속 유닛은 호스트 인터페이스 회로이며; 및, 상기 세 번째 접속 유닛은 디스크 포맷터 회로인 것을 특징으로 하는대용량 기억장치 콘트롤러 공유 리소스의 접속사이클의 지속시간을 변환하는 방법.
- 일정량의 시간을 이용 가능한 메모리 접속 시간으로서 최소 둘 이상의 유닛 각각에 할당하는 단계; 및,상기 최소 둘 이상의 유닛을 이용하여 상기 공유 콘트롤러 메모리에 접속하는 단계(이때, 상기 최소 둘 이상의 유닛들 중 첫 번째 유닛에 할당되었으나 사용되지 않은 시간은 상기 최소한 둘 이상의 유닛들 중 두 번째 유닛에 재할당됨)를 포함하는 디스크 콘트롤러의 공유 콘트롤러 메모리에 접속하는 방법.
- 제 14항에 있어서,상기 최소한 둘 이상의 유닛들은 최소한 하나 이상의 데이터 패치 회로 및 호스트 인터페이스 회로를 포함하는 것을 특징으로 하는디스크 콘트롤러의 공유 콘트롤러 메모리에 접속하는 방법.
- 첫 번째 일정량의 시간을 첫 번째 접속 유닛에 할당하는 단계;두 번째 일정량의 시간을 두 번째 접속 유닛에 할당하는 단계;상기 첫 번째 일정량의 시간을 초과하지 않는 첫 번째 지속시간 동안에, 상기 첫 번째 유닛을 이용하여 공유 콘트롤러 리소스에 접속하는 단계;상기 두 번째 일정량의 시간을 상기 첫 번째 일정량의 시간과 상기 첫 번째 지속시간의 차이에 해당하는 일정한 시간에 의하여 조정하는 단계; 및,상기 조정된 두 번째 일정량의 시간을 초과하지 않는 두 번째 지속시간 동안에, 상기 두 번째 유닛을 이용하여 상기 공유 콘트롤러 리소스에 접속하는 단계를 포함하는 대용량 기억장치 콘트롤러의 공유 콘트롤러 리소스에 접속하는 방법.
- 대용량 기억장치로부터 읽히는 데이터를 교정하는 에러교정 회로(이때, 상기 에러교정 회로는 상기 공유 메모리에 접속하기 위하여 할당된 첫 번째 일정량의 시간에 대응함);호스트 시스템과 데이터를 교환하는데 이용되는 호스트 시스템 인터페이스 회로(이때, 상기 호스트 시스템 인터페이스 회로는 상기 공유 메모리에 접속하기 위하여 할당된 두 번째 일정량의 시간에 대응함);상기 대용량 기억장치를 연결하는데 이용되는 기억장치 포맷터 회로(이때, 상기 기억장치 포맷터 회로는 상기 공유 메모리에 접속하기 위하여 할당된 세 번째 일정량의 시간에 대응함); 및,최소한 상기 호스트 시스템 인터페이스 회로, 상기 에러교정 회로 및 상기 기억장치 포맷터 회로가 공유 메모리에 접속되도록 중개하는 데에 이용되는 중개 회로(이때, 에러교정 회로가 상기 첫 번째 일정량의 시간을 초과하지 않는 상기 첫 번째 지속기간 내에 메모리 접속을 공유할 수 있고, 또한, 상기 첫 번째 일정량의 시간과 상기 첫 번째 지속시간 사이의 차이에 해당하는 시간으로 상기 두 번째 일정량의 시간을 조정할 수 있도록 상기 중개회로가 배열되어 있음)를 포함하며, 다중 회로들에 공유된 메모리를 구비한 대용량 기억장치 콘트롤러 회로.
- 제 17항에 있어서,상기 중개장치는, 어떠한 회로도 한번을 초과하여 공유 메모리에 접속할 수 없는 단위 접속 사이클 사이에서, 상기 공유 메모리에 접속하는 것이 허용되도록 추가로 배열된 것을 특징으로 하는대용량 기억장치 콘트롤러 회로.
- 제 17항에 있어서,상기 기억장치 포맷터 회로는 상기 공유 메모리에 먼저 접속한 후 소정의 시간 내에, 상기 기억장치 포맷터 회로가 상기 버퍼 메모리에 접근할 수 있도록 허용되는 것을 특징으로 하는대용량 기억장치 콘트롤러 회로.
- 제 17항에 있어서,상기 중개회로는 스테이트 머신(state machine)인 것을 특징으로 하는대용량 기억장치 콘트롤러 회로.
- 호스트 시스템;상기 호스트 시스템과 데이터를 교환하기 위하여 사용되는 것으로, 상기 호스트 시스템과 결합된 호스트 시스템 인터페이스 회로;대용량 기억장치로부터 읽히는 데이터의 오류를 교정하는 데에 이용되는 에러교정 회로;상기 대용량 기억장치로 연결하는 데에 이용되는 기억장치 포맷터 회로; 및,최소한 상기 호스트 시스템 인터페이스 회로, 상기 에러교정 회로 및 상기 기억장치 포맷터 회로가 버퍼 메모리에 접속되도록 중개하는 데에 이용되는 중개 회로(이때, 첫 번째 일정량의 시간을 상기 에러교정 회로에 할당하고, 두 번째 일정량의 시간을 상기 호스트 인터페이스 회로에 할당하며, 세 번째 일정량의 시간을 상기 기억장치 포맷터 회로에 할당하도록 상기 중개회로가 배열되어 있고; 및, 상기 에러교정 회로가 상기 첫 번째 일정량의 시간을 초과하지 않는 상기 첫 번째 지속시간 내에 접속할 수 있고, 또한, 상기 첫 번째 일정량의 시간과 상기 첫 번째 지속시간 사이의 차이에 해당하는 시간으로 상기 두 번째 일정량의 시간을 조정할 수 있도록 상기 중개회로가 추가로 배열되어 있음)를 포함하는 컴퓨터 시스템.
- 제 21항에 있어서,상기 중개회로가, 어떠한 회로도 한번을 초과하여 공유 콘트롤러 리소스에 접속할 수 없는 단위 접속 사이클 사이에, 상기 공유 메모리에 접속하는 것이 허용되도록 추가로 배열된 것을 특징으로 하는컴퓨터 시스템.
- 데이터를 일시보관하기 위한 수단;상기 데이터를 일시 보관하기 위한 수단과 결합되어 있으며, 호스트 시스템과 데이터를 교환할 수 있는 수단;상기 데이터를 일시 보관하기 위한 수단에 결합되어 있는 데이터 처리 수단;상기 데이터를 일시 보관하기 위한 수단에 결합되어 있으며, 대용량 기억장치와 데이터를 교환할 수 있는 수단; 및,최소한 상기 호스트 시스템과 데이터를 교환할 수 있는 수단, 상기 데이터 처리 수단 및 대용량 기억장치와 데이터를 교환할 수 있는 수단이 상기 데이터를 일시 보관하기 위한 수단에 접속하는 것을 중개하는 수단(이때, 첫 번째 일정량의 시간을 상기 데이터 처리 수단에 할당하고, 두 번째 일정량의 시간을 상기 호스트 시스템과 데이터를 교환할 수 있는 수단에 할당하며, 세 번째 일정량의 시간을 상기 대용량 기억장치와 데이터를 교환할 수 있는 수단에 할당하도록 상기 중개회로가 배열되어 있고; 및, 상기 데이터 처리수단이 상기 첫 번째 일정량의 시간을 초과하지 않는 상기 첫 번째 지속시간 내에 접속할 수 있고, 또한, 상기 첫 번째 일정량의 시간과 상기 첫 번째 지속시간 사이의 차이에 해당하는 시간으로 상기 두 번째 일정량의 시간을 조정할 수 있도록 상기 중개회로가 추가로 배열되어 있음)를 포함하는 대용량 기억장치 콘트롤러.
- 제 23항에 있어서,상기 접속을 중개하는 수단은, 어떠한 접속수단도 한번을 초과하여 상기 데이터를 일시 보관하기 위한 수단에 접속할 수 없는 단위 접속 사이클 중에, 상기 데이터를 일시 보관하기 위한 수단에 접속하는 것이 허용되도록 추가로 배열된 것을 특징으로 하는대용량 기억장치 콘트롤러.
- 첫 번째 일정량의 시간을 첫 번째 사용 가능한 접속시간으로 첫 번째 접속 유닛에 할당하는 단계;두 번째 일정량의 시간을 두 번째 사용 가능한 접속시간으로 하여 두 번째 접속 유닛에 할당하는 단계(이때, 두 번째 사용 가능한 접속시간은 최소한 상기 첫 번째 사용 가능한 접속시간을 포함함);상기 첫 번째 사용 가능한 접속시간을 초과하지 않는 첫 번째 지속시간 동안에, 상기 첫 번째 유닛을 이용하여 상기 공유 콘트롤러 리소스에 접속하는 단계;상기 첫 번째 지속시간에 만큼 상기 두 번째 사용 가능한 접속시간을 감소시키는 단계; 및,상기 감소된 두 번째 사용 가능한 접속시간을 초과하지 않는 두 번째 지속시간 동안에, 상기 두 번째 유닛을 이용하여 공유 콘트롤러 리소스에 접속하는 단계를 포함하는 대용량 기억장치 콘트롤러의 공유 콘트롤러 리소스에 접속하는 방법.
- 제 25항에 있어서,세 번째 일정량의 시간을 세 번째 사용 가능한 접속시간으로 하여 세 번째 접속 유닛에 할당하는 단계; 및,상기 세 번째 사용 가능한 접속시간을 초과하지 않는 세 번째 지속시간 동안에, 상기 세 번째 유닛을 이용하여 공유 콘트롤러 리소스에 접속하는 단계를 추가로 포함하는 것을 특징으로 하는대용량 기억장치 콘트롤러의 공유 콘트롤러 리소스에 접속하는 방법.
- 제 25항에 있어서,상기 공유 콘트롤러 리소스에 접속은, 어떠한 유닛도 한번을 초과하여 공유 콘트롤러 리소스에 접속할 수 없는 단위 접속 사이클 중에 허용되는 것을 특징으로 하는대용량 기억장치 콘트롤러의 공유 콘트롤러 리소스에 접속하는 방법.
- 제 26항에 있어서,상기 접속 사이클의 최대 지속시간은 상기 두 번째 일정량의 시간과 상기 세 번째 일정량의 시간의 합과 근사치인 것을 특징으로 하는대용량 기억장치 콘트롤러의 공유 콘트롤러 리소스에 접속하는 방법.
- 제 26항에 있어서,상기 세 번째 유닛은, 데이터가 상기 공유 콘트롤러 리소스와 상기 세 번째 접속 유닛 사이를 오갈 때 데이터를 통과하는 데이터 버퍼를 구비한 것을 특징으로 하는대용량 기억장치 콘트롤러의 공유 콘트롤러 리소스에 접속하는 방법.
- 제 26항에 있어서,상기 세 번째 일정량의 시간은, 최소한 부분적이라도, 상기 데이터 버퍼의 용량; 및, 상기 공유 콘트롤러 리소스와 상기 데이터 버퍼 사이에서 데이터가 전송되는 속도와 상기 세 번째 접속 유닛에 의하여 데이터가 처리되는 속도의 차이에 의하여 정하여지는 것을 특징으로 하는대용량 기억장치 콘트롤러의 공유 콘트롤러 리소스에 접속하는 방법.
- 제 26항에 있어서,상기 두 번째 일정량의 시간은, 최소한 부분적이라도, 상기 데이터 버퍼의 용량; 및, 상기 세 번째 접속 유닛에 의하여 데이터가 처리되는 속도에 의하여 정하여지는 것을 특징으로 하는대용량 기억장치 콘트롤러의 공유 콘트롤러 리소스에 접속하는 방법.
- 제 26항에 있어서,상기 두 번째 및 세 번째 일정량의 시간은, 접속 유닛에 의한 접속을 해제하는 경우, 상기 공유 콘트롤러 리소스와 상기 데이터 버퍼 사이에서 전송을 개시하는데 필요한 시간의 양을 최소한 부분적이라도 고려하여 정하여지는 것을 특징으로 하는대용량 기억장치 콘트롤러의 공유 콘트롤러 리소스에 접속하는 방법.
- 제 26항에 있어서,상기 두 번째 유닛은 호스트 인터페이스 유닛이고; 및, 상기 세 번째 유닛은 기억장치 포맷터 유닛인 것을 특징으로 하는대용량 기억장치 콘트롤러의 공유 콘트롤러 리소스에 접속하는 방법.
- 상응하는 첫 번째로 할당된 접속 지속시간을 갖는 첫 번째 콘트롤러 회로;상응하는 두 번째로 할당된 접속 지속시간을 갖는 두 번째 콘트롤러 회로; 및,상기 첫 번째 콘트롤러 회로에 의한 실제적인 접속시간에 상응하는 시간을 측정하고, 상기 첫 번째 할당된 접속 지속시간과 상기 실제적인 접속 지속시간의 차이에 대응하는 시간으로 상기 두 번째 일정량의 시간을 조정하는 중개회로를 포함하는, 복수의 디스크 콘트롤러 회로에 의하여 접속되는 메모리를 구비한 디스크 콘트롤러 회로.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/275,629 US6530000B1 (en) | 1999-03-24 | 1999-03-24 | Methods and systems for arbitrating access to a disk controller buffer memory by allocating various amounts of times to different accessing units |
US09/275,629 | 1999-03-24 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20010110679A KR20010110679A (ko) | 2001-12-13 |
KR100619806B1 true KR100619806B1 (ko) | 2006-09-13 |
Family
ID=23053180
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020017012114A KR100619806B1 (ko) | 1999-03-24 | 2000-03-23 | 디스크 콘트롤러 메모리에 접속을 중개하기 위한 중개방법및 시스템 |
Country Status (9)
Country | Link |
---|---|
US (1) | US6530000B1 (ko) |
EP (1) | EP1163573B1 (ko) |
JP (1) | JP4313516B2 (ko) |
KR (1) | KR100619806B1 (ko) |
AT (1) | ATE368885T1 (ko) |
AU (1) | AU3915300A (ko) |
CA (1) | CA2364625C (ko) |
DE (1) | DE60035774T2 (ko) |
WO (1) | WO2000057267A1 (ko) |
Families Citing this family (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6715009B1 (en) * | 1999-12-21 | 2004-03-30 | Intel Corporation | Method and apparatus for coordinating cooperating resources and its application |
US7406547B2 (en) * | 2000-08-09 | 2008-07-29 | Seagate Technology Llc | Sequential vectored buffer management |
US6763437B1 (en) * | 2000-09-07 | 2004-07-13 | Maxtor Corporation | Control system, storage device and method for controlling access to a shared memory using a bus control or handshaking protocol |
JP4213338B2 (ja) * | 2000-12-22 | 2009-01-21 | 富士通マイクロエレクトロニクス株式会社 | リアルタイムレコーディングシステム及びリアルタイムレコーディング方法 |
US7007114B1 (en) * | 2003-01-31 | 2006-02-28 | Qlogic Corporation | System and method for padding data blocks and/or removing padding from data blocks in storage controllers |
US7039771B1 (en) | 2003-03-10 | 2006-05-02 | Marvell International Ltd. | Method and system for supporting multiple external serial port devices using a serial port controller in embedded disk controllers |
US7492545B1 (en) | 2003-03-10 | 2009-02-17 | Marvell International Ltd. | Method and system for automatic time base adjustment for disk drive servo controllers |
US7870346B2 (en) * | 2003-03-10 | 2011-01-11 | Marvell International Ltd. | Servo controller interface module for embedded disk controllers |
US7099963B2 (en) * | 2003-03-10 | 2006-08-29 | Qlogic Corporation | Method and system for monitoring embedded disk controller components |
US7080188B2 (en) * | 2003-03-10 | 2006-07-18 | Marvell International Ltd. | Method and system for embedded disk controllers |
US7206922B1 (en) * | 2003-12-30 | 2007-04-17 | Cisco Systems, Inc. | Instruction memory hierarchy for an embedded processor |
US7139150B2 (en) * | 2004-02-10 | 2006-11-21 | Marvell International Ltd. | Method and system for head position control in embedded disk drive controllers |
US7120084B2 (en) * | 2004-06-14 | 2006-10-10 | Marvell International Ltd. | Integrated memory controller |
US8166217B2 (en) * | 2004-06-28 | 2012-04-24 | Marvell International Ltd. | System and method for reading and writing data using storage controllers |
US7757009B2 (en) | 2004-07-19 | 2010-07-13 | Marvell International Ltd. | Storage controllers with dynamic WWN storage modules and methods for managing data and connections between a host and a storage device |
US8032674B2 (en) * | 2004-07-19 | 2011-10-04 | Marvell International Ltd. | System and method for controlling buffer memory overflow and underflow conditions in storage controllers |
US9201599B2 (en) * | 2004-07-19 | 2015-12-01 | Marvell International Ltd. | System and method for transmitting data in storage controllers |
US7386661B2 (en) | 2004-10-13 | 2008-06-10 | Marvell International Ltd. | Power save module for storage controllers |
US7240267B2 (en) * | 2004-11-08 | 2007-07-03 | Marvell International Ltd. | System and method for conducting BIST operations |
US7802026B2 (en) * | 2004-11-15 | 2010-09-21 | Marvell International Ltd. | Method and system for processing frames in storage controllers |
US7609468B2 (en) | 2005-04-06 | 2009-10-27 | Marvell International Ltd. | Method and system for read gate timing control for storage controllers |
JP2006301810A (ja) * | 2005-04-18 | 2006-11-02 | Fujitsu Ltd | データ転送処理方法、データ転送処理装置およびデータ転送処理制御プログラム |
US8108659B1 (en) * | 2006-11-03 | 2012-01-31 | Nvidia Corporation | Controlling access to memory resources shared among parallel synchronizable threads |
KR101534790B1 (ko) | 2008-10-15 | 2015-07-07 | 마벨 월드 트레이드 리미티드 | 데이터 저장 시스템들을 위한 구조 |
CN102385555B (zh) * | 2010-08-27 | 2015-03-04 | 深圳市朗科科技股份有限公司 | 一种缓存***和数据缓存的方法 |
US9268649B1 (en) * | 2011-06-23 | 2016-02-23 | Western Digital Technologies, Inc. | Disk drive with recent write streams list for data refresh determination |
US20130132621A1 (en) * | 2011-11-23 | 2013-05-23 | Ankit Sihare | Method and apparatus to share hardware resources across storage controllers within a system using resource sharing module |
US9886209B2 (en) * | 2016-02-16 | 2018-02-06 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Controlling file placement on a disk drive to improve file access |
Family Cites Families (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4000485A (en) | 1975-06-30 | 1976-12-28 | Honeywell Information Systems, Inc. | Data processing system providing locked operation of shared resources |
US4558429A (en) | 1981-12-17 | 1985-12-10 | Honeywell Information Systems Inc. | Pause apparatus for a memory controller with interleaved queuing apparatus |
US5276807A (en) | 1987-04-13 | 1994-01-04 | Emulex Corporation | Bus interface synchronization circuitry for reducing time between successive data transmission in a system using an asynchronous handshaking |
US5193197A (en) | 1987-09-24 | 1993-03-09 | Digital Equipment Corporation | Apparatus and method for distributed dynamic priority arbitration for access to a shared resource |
US5072420A (en) | 1989-03-16 | 1991-12-10 | Western Digital Corporation | FIFO control architecture and method for buffer memory access arbitration |
US5506989A (en) | 1990-01-31 | 1996-04-09 | Ibm Corporation | Arbitration system limiting high priority successive grants |
US5249271A (en) | 1990-06-04 | 1993-09-28 | Emulex Corporation | Buffer memory data flow controller |
US5301333A (en) | 1990-06-14 | 1994-04-05 | Bell Communications Research, Inc. | Tree structured variable priority arbitration implementing a round-robin scheduling policy |
JP2703668B2 (ja) | 1991-03-18 | 1998-01-26 | 株式会社日立製作所 | データ転送制御装置および磁気ディスク制御装置 |
EP0543560B1 (en) | 1991-11-19 | 1999-12-22 | Sun Microsystems, Inc. | Arbitrating multiprocessor accesses to shared resources |
CA2080608A1 (en) | 1992-01-02 | 1993-07-03 | Nader Amini | Bus control logic for computer system having dual bus architecture |
US5408644A (en) | 1992-06-05 | 1995-04-18 | Compaq Computer Corporation | Method and apparatus for improving the performance of partial stripe operations in a disk array subsystem |
US5524268A (en) | 1992-06-26 | 1996-06-04 | Cirrus Logic, Inc. | Flexible processor-driven control of SCSI buses utilizing tags appended to data bytes to determine SCSI-protocol phases |
US5276662A (en) * | 1992-10-01 | 1994-01-04 | Seagate Technology, Inc. | Disc drive with improved data transfer management apparatus |
US5546548A (en) | 1993-03-31 | 1996-08-13 | Intel Corporation | Arbiter and arbitration process for a dynamic and flexible prioritization |
US5465343A (en) * | 1993-04-30 | 1995-11-07 | Quantum Corporation | Shared memory array for data block and control program storage in disk drive |
US5487170A (en) | 1993-12-16 | 1996-01-23 | International Business Machines Corporation | Data processing system having dynamic priority task scheduling capabilities |
JPH07244635A (ja) | 1994-01-14 | 1995-09-19 | Fujitsu Ltd | バス使用権調停回路及び方法 |
US5574867A (en) | 1994-07-08 | 1996-11-12 | Intel Corporation | Fast first-come first served arbitration method |
US5519837A (en) | 1994-07-29 | 1996-05-21 | International Business Machines Corporation | Pseudo-round-robin arbitration for a shared resource system providing fairness and high throughput |
US5881313A (en) | 1994-11-07 | 1999-03-09 | Digital Equipment Corporation | Arbitration system based on requester class and relative priority including transmit descriptor valid bit for a shared resource having multiple requesters |
US5546545A (en) | 1994-12-09 | 1996-08-13 | International Business Machines Corporation | Rotating priority selection logic circuit |
US5623672A (en) | 1994-12-23 | 1997-04-22 | Cirrus Logic, Inc. | Arrangement and method of arbitration for a resource with shared user request signals and dynamic priority assignment |
AU5563696A (en) | 1995-05-03 | 1996-11-21 | Apple Computer, Inc. | Arbitration of computer resource access requests |
US5664121A (en) | 1995-11-07 | 1997-09-02 | Sun Microsystems, Inc. | Dual mode arbitration apparatus and method for reducing latency by allowing the possibility of simultaneous request and access for a shared bus |
US5692135A (en) | 1995-12-14 | 1997-11-25 | International Business Machines Corporation | Method and system for performing an asymmetric bus arbitration protocol within a data processing system |
US5784569A (en) | 1996-09-23 | 1998-07-21 | Silicon Graphics, Inc. | Guaranteed bandwidth allocation method in a computer system for input/output data transfers |
US6178486B1 (en) * | 1998-02-19 | 2001-01-23 | Quantum Corporation | Time allocation shared memory arbitration for disk drive controller |
-
1999
- 1999-03-24 US US09/275,629 patent/US6530000B1/en not_active Expired - Lifetime
-
2000
- 2000-03-23 CA CA2364625A patent/CA2364625C/en not_active Expired - Lifetime
- 2000-03-23 JP JP2000607076A patent/JP4313516B2/ja not_active Expired - Lifetime
- 2000-03-23 KR KR1020017012114A patent/KR100619806B1/ko active IP Right Grant
- 2000-03-23 WO PCT/US2000/007780 patent/WO2000057267A1/en active IP Right Grant
- 2000-03-23 EP EP00918322A patent/EP1163573B1/en not_active Expired - Lifetime
- 2000-03-23 AT AT00918322T patent/ATE368885T1/de not_active IP Right Cessation
- 2000-03-23 DE DE60035774T patent/DE60035774T2/de not_active Expired - Lifetime
- 2000-03-23 AU AU39153/00A patent/AU3915300A/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
KR20010110679A (ko) | 2001-12-13 |
CA2364625C (en) | 2012-08-07 |
WO2000057267A1 (en) | 2000-09-28 |
DE60035774T2 (de) | 2007-12-06 |
DE60035774D1 (de) | 2007-09-13 |
EP1163573A1 (en) | 2001-12-19 |
EP1163573B1 (en) | 2007-08-01 |
CA2364625A1 (en) | 2000-09-28 |
ATE368885T1 (de) | 2007-08-15 |
JP2002540499A (ja) | 2002-11-26 |
JP4313516B2 (ja) | 2009-08-12 |
AU3915300A (en) | 2000-10-09 |
US6530000B1 (en) | 2003-03-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100619806B1 (ko) | 디스크 콘트롤러 메모리에 접속을 중개하기 위한 중개방법및 시스템 | |
US6401149B1 (en) | Methods for context switching within a disk controller | |
TWI382308B (zh) | 供具有記憶體請求緩衝器之一記憶體系統用之緩衝器控制系統及方法 | |
US6330626B1 (en) | Systems and methods for a disk controller memory architecture | |
EP1754229B1 (en) | System and method for improving performance in computer memory systems supporting multiple memory access latencies | |
US7299323B2 (en) | Memory controller having a read-modify-write function | |
US7543114B2 (en) | System and controller with reduced bus utilization time | |
KR20100077026A (ko) | 직렬 인터페이스 nand | |
US5506968A (en) | Terminating access of an agent to a shared resource when a timer, started after a low latency agent requests access, reaches a predetermined value | |
WO1996032674A2 (en) | Semiconductor memory device for mass storage block access applications | |
US5813024A (en) | Disk control method for use with a data storage apparatus having multiple disks | |
US20060107003A1 (en) | Separate handling of read and write of read-modify-write | |
TW202102974A (zh) | 主機輸出入命令的執行裝置及方法及電腦程式產品 | |
US20020156943A1 (en) | Command issuing apparatus for high-speed serial interface | |
US20090119429A1 (en) | Semiconductor integrated circuit | |
US11899947B2 (en) | Storage device, storage system, and operating method thereof capable of dynamically allocating write blocks to a stream | |
US20210096985A1 (en) | Memory controller and storage device including the same | |
JP2017097466A (ja) | ストレージ制御装置、ストレージ制御方法およびストレージ制御プログラム | |
KR102088944B1 (ko) | 메모리 컨트롤러 및 이를 포함하는 스토리지 디바이스 | |
US7003637B2 (en) | Disk array device with utilization of a dual-bus architecture dependent on data length of cache access requests | |
KR100950356B1 (ko) | 다중 코히런시 단위들을 지원하는 데이터 전송 유닛 | |
US8402233B2 (en) | Method and apparatus for high throughput mass storage device interface in a microprocessor for handheld systems | |
US20010002481A1 (en) | Data access unit and method therefor | |
JPH11184761A (ja) | リードモディファイライト制御システム | |
JP5216719B2 (ja) | 情報処理装置および制御装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20120808 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20130812 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20140807 Year of fee payment: 9 |
|
FPAY | Annual fee payment |
Payment date: 20150807 Year of fee payment: 10 |
|
FPAY | Annual fee payment |
Payment date: 20160811 Year of fee payment: 11 |
|
FPAY | Annual fee payment |
Payment date: 20170814 Year of fee payment: 12 |
|
FPAY | Annual fee payment |
Payment date: 20180810 Year of fee payment: 13 |
|
FPAY | Annual fee payment |
Payment date: 20190812 Year of fee payment: 14 |