KR20020035606A - Field programmable gate array hard disk system - Google Patents

Field programmable gate array hard disk system Download PDF

Info

Publication number
KR20020035606A
KR20020035606A KR1020027003625A KR20027003625A KR20020035606A KR 20020035606 A KR20020035606 A KR 20020035606A KR 1020027003625 A KR1020027003625 A KR 1020027003625A KR 20027003625 A KR20027003625 A KR 20027003625A KR 20020035606 A KR20020035606 A KR 20020035606A
Authority
KR
South Korea
Prior art keywords
fpga
hard disk
disk drive
data
programming
Prior art date
Application number
KR1020027003625A
Other languages
Korean (ko)
Inventor
윌리엄 에스. 헤르즈
Original Assignee
추후
시게이트 테크놀로지 엘엘씨
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 추후, 시게이트 테크놀로지 엘엘씨 filed Critical 추후
Publication of KR20020035606A publication Critical patent/KR20020035606A/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7867Architectures of general purpose stored program computers comprising a single central processing unit with reconfigurable architecture
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0607Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0661Format or protocol conversion arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0674Disk device
    • G06F3/0676Magnetic disk device

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Hardware Design (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

FPGA/HD 어셈블리는 FPGA를 HDD 어셈블리에 통합시킴에 의해 자체로 완비되어 있고, HDD는 FPGA를 위해 내부회로(in-circuit) 프로그래밍을 저장하고, HDD에 내장된 컨트롤러의 제어하에서 임의의 선택된 인터페이스와 협력하기 위해 상기 FPGA를 수정한다. 내부회로 프로그래밍 데이타는 HDD의 선택된 파티션상에 직접 저장되고, HDD상에 전통적으로 저장된 임의의 다른 데이타에 필요한 공간은 그대로 둔다. 상기 컨트롤러는 특정한 내부회로 데이타를 위치결정하고 임의의 선택된 동작에 결부된 버스를 확인하는 명령을 받으면서 FPGA 안으로 적합한 소프트 코어(soft core)를 위치시킨다.The FPGA / HD assembly is fully self-contained by integrating the FPGA into the HDD assembly, which stores in-circuit programming for the FPGA, and any selected interface and control under the control of the controller embedded in the HDD. Modify the FPGA to work together. The internal circuit programming data is stored directly on the selected partition of the HDD, leaving the space required for any other data traditionally stored on the HDD. The controller locates a suitable soft core into the FPGA while being commanded to locate specific internal circuit data and identify the bus associated with any selected operation.

Description

필드 프로그램가능 게이트 어레이 하드 디스크 시스템 {FIELD PROGRAMMABLE GATE ARRAY HARD DISK SYSTEM}Field Programmable Gate Array Hard Disk System {FIELD PROGRAMMABLE GATE ARRAY HARD DISK SYSTEM}

종래 기술은 필드 프로그램가능 게이트 어레이(FPGA)에 대한 내부회로(in-circuit) 프로그램가능성을 허용한다. 전형적으로, 이러한 데이타는 메모리 내에 상주하거나 또는 호스트 컴퓨터를 경유하여 FPGA에 전달된다. 궁극적으로, 이러한 데이타는 소정의 기억 장치(RAM, ROM, 또는 호스트 개입을 거쳐 모두 액세스되는 하드 디스크)에 상주한다. 상기 데이타는 FPGA의 특정된 기능을 수행하기 위해 FPGA를 프로그램하기 위해 사용된다. 메모리 용량의 제한과 상기 데이타를 FPGA로 인도하는 CPU 상의 부하 때문에, 인터페이스의 개수가 실질적으로 제한된다.The prior art allows for in-circuit programmability for a field programmable gate array (FPGA). Typically, such data resides in memory or is passed to the FPGA via a host computer. Ultimately, this data resides in some storage device (RAM, ROM, or hard disk that is all accessed through host intervention). The data is used to program the FPGA to perform the specified functions of the FPGA. Due to the limitation of memory capacity and the load on the CPU leading the data to the FPGA, the number of interfaces is substantially limited.

그러한 제한은 데이타 왕복 이동 장치와 같은 장치에서 특별한 중요성을 갖는데 상기 데이타 왕복 이동 장치는 참조자료로서 본 명세서에 결합된 관련 출원에서 개시되어 있다. 이 출원에서, 하나의 데이타 왕복 이동 장치가 개시되어 있고 그것은 다수의 소스로부터 온 입력 데이타 스트림을 휴대할 수 있게 저장하는것에 특별히 유용하며 상기 소스는 텔레비젼 신호, SPDIF 포맷된 데이타 및 USB 버스, ATA 버스, 또는 1394 버스와 같은 버스를 거쳐 수신된 정보를 포함한다. 이들 각각은 자체의 인터페이스를 요구하고, 통합되어야 할 칩의 개수를 늘리고, 기능적인 실리콘의 양을 증가시키며 그 결과 다중 인터페이스(multi-interface) 제품의 비용을 증가시킨다.Such limitations are of particular importance in devices such as data reciprocating devices, which are disclosed in related applications incorporated herein by reference. In this application, one data reciprocating device is disclosed and it is particularly useful for portable storage of input data streams from multiple sources, which sources include television signals, SPDIF formatted data and USB buses, ATA buses. Or information received over a bus, such as a 1394 bus. Each of these requires its own interface, increases the number of chips to be integrated, increases the amount of functional silicon, and consequently increases the cost of multi-interface products.

본 발명은 일반적으로 하드 디스크 드라이브를 통합하는 메모리 시스템 분야에 관한 것이고 더욱 상세히는 다수의 완전 배치가능(configurable) 인터페이스 또는 하드 디스크 드라이브에 대한 프로세스를 제공하는 시스템에 관한 것이다.FIELD OF THE INVENTION The present invention generally relates to the field of memory systems incorporating hard disk drives and more particularly to a system that provides a process for a plurality of fully configurable interfaces or hard disk drives.

도 1은 본 발명의 기본적인 구성요소 구성도를 나타낸 블록 다이어그램이다.1 is a block diagram showing the basic configuration diagram of the present invention.

도 2는 본 발명이 유용하게 쓰이는 보드 레벨 멀티인터페이스를 나타낸 블록 다이어그램이다.2 is a block diagram illustrating a board level multi-interface in which the present invention is useful.

본 발명의 목적은 다수의 인터페이스와 호환가능한 하나의 어셈블리를 만드는 것이다.It is an object of the present invention to make one assembly compatible with multiple interfaces.

더욱 상세히는, 본 발명에서 많은 인터페이스 칩이 하나 또는 그 이상의 FPGA 칩으로 대체되는 것이다.More specifically, in the present invention, many interface chips are replaced by one or more FPGA chips.

더욱 상세히는, 본 발명에서 FPGA가 관련 하드 디스크 상에 저장된 프로그래밍 정보에 의해 특징지어 지는 것이다.More specifically, in the present invention the FPGA is characterized by programming information stored on the associated hard disk.

더욱 상세히는, 본 발명은 관련 내부 회로(in-circuit) 프로그래밍 데이타를 저장하는 하드 디스크 어셈블리에 통합된 FPGA에 의해 특징지어 지는 것이다.More specifically, the present invention is characterized by an FPGA integrated into a hard disk assembly that stores associated in-circuit programming data.

그 위에 또다른 특징은 FPGA가 하드 디스크 어셈블리에 통합되고 상기 프로그래밍이 하드 디스크 어셈블리에 내장된 컨트롤러에 의해 수정되는 것이다.Another feature on top is that the FPGA is integrated into the hard disk assembly and the programming is modified by a controller embedded in the hard disk assembly.

요약하여, FPGA/HD 어셈블리는 FPGA를 HDD 어셈블리에 통합시킴에 의해 자체로 완비되어 있고, HDD는 FPGA를 위해 내부회로(in-circuit) 프로그래밍을 저장하고, HDD는 HDD에 내장된 컨트롤러의 제어하에서 임의의 선택된 인터페이스와 협력하기 위해 상기 FPGA를 수정한다. 본 발명의 이점은 내부회로 프로그래밍 데이타가 HDD의 선택된 파티션(partition)상에 직접 저장되고, HDD상에 전통적으로 저장된 임의의 다른 데이타에 필요한 공간은 그대로 둔다. 상기 컨트롤러는 특정한 내부회로 데이타를 위치결정하고 임의의 선택된 동작에 결부된 버스를 확인하는 명령을 받으면서 FPGA안으로 적합한 소프트 코어(soft core)를 위치시킨다.In summary, the FPGA / HD assembly is complete by integrating the FPGA into the HDD assembly, the HDD stores in-circuit programming for the FPGA, and the HDD is under the control of the controller embedded in the HDD. Modify the FPGA to work with any selected interface. An advantage of the present invention is that the internal circuit programming data is stored directly on the selected partition of the HDD, leaving the space required for any other data traditionally stored on the HDD. The controller locates a suitable soft core into the FPGA while being commanded to locate specific internal circuit data and identify the bus associated with any selected operation.

본 발명의 다른 특징과 이점은 이하의 도면과 함께 주어진 본 명세서의 개시를 숙지한 당업자에게 자명할 것이다.Other features and advantages of the invention will be apparent to those of ordinary skill in the art having knowledge of the disclosure herein given in conjunction with the following figures.

이하에서 다양한 완전 배치가능(fully configurable) 인터페이스 또는 하드 디스크 드라이브용 프로세서를 제공하기 위해 필드 프로그램가능 게이트 어레이(FPGA)를 하드 디스크 드라이브 어셈블리(HDD)에 결합시킨 시스템을 설명한다. 그러나, 본 발명의 특성과 이점이 본 명세서상의 특정한 블록 다이어그램에 한정되지 않는다는 점을 인식해야 한다. 본 발명의 특징은 임의의 개수의 인터페이스 또는 프로세서와 함께 사용될 수 있으며; 더 나아가, FPGA 데이타는 임의의 사이즈로 된 디스크 드라이브의 파티션 세그먼트(partition segment)에 저장될 수 있다.The following describes a system incorporating a field programmable gate array (FPGA) into a hard disk drive assembly (HDD) to provide a variety of fully configurable interfaces or processors for hard disk drives. However, it should be appreciated that the features and advantages of the present invention are not limited to the specific block diagrams herein. Features of the invention can be used with any number of interfaces or processors; Furthermore, FPGA data can be stored in a partition segment of any size disk drive.

도 1에 관련하여, 본 발명을 구현하는 기본적인 구성요소는 디스크 드라이브어셈블리(100)를 포함하고 상기 디스크 드라이브 어셈블리는 내장 컨트롤러(102)와 바람직하게 내장되거나 밀접하게 결합된 FPGA(104)를 포함한다. FPGA 기술 분야에서 잘 알려져 있듯이, 이 장치(104)의 기능은 그것의 "소프트 코어(soft core)"에 특정한 기능을 규정하기 위해 FPGA에 다운로드되는 데이타에 기초하여 때때로 수정될 수 있다. 예를 들어, 다수의 인터페이스, 예를 들면 ATA 인터페이스, 1394 인터페이스, 또는 USB 인터페이스를 이용하기 위해 필요한 장치의 분야에서, FPGA(104)는 상기 컨트롤러(102)에 의해 그 안으로 로드된 데이타에 기초하여 임의의 주어진 시간에서 필수적인 신호 처리 구조와 기능을 채용할 수 있다. 본 발명에 따라, 이러한 데이타는 요구되는 인터페이스가 정의된 후에 HDD(100)의 별도의 분할된 영역(110)상에 저장될 수 있다. FPGA를 사용하는 동안의 임의의 시간에, 소정의 외부 제어 신호, 시간 함수 또는 이와 유사한 것에 기초하여, FPGA는 전체 시스템(10)에 대한 특별한 인터페이스를 제공하기 위한 것이고, 컨트롤러(102)는 역시 보드 상에 통합되어 있으며 디스크 드라이브는 디스크 드라이브 상의 FPGA 데이타 파티션(110)으로부터 FPGA(104) 안으로 데이타를 다운로드할 수 있다. FPGA 데이타가 다운로드되자마자, FPGA는 개별적인 프로그램가능 장치로서 이용된다.With reference to FIG. 1, the basic components of implementing the present invention include a disk drive assembly 100 and the disk drive assembly includes an FPGA 104 that is preferably embedded or closely coupled with an embedded controller 102. . As is well known in the FPGA art, the functionality of this device 104 may be modified from time to time based on the data downloaded to the FPGA to define functionality specific to its "soft core." For example, in the field of devices required to utilize multiple interfaces, such as an ATA interface, a 1394 interface, or a USB interface, the FPGA 104 may be based on data loaded into it by the controller 102. Employ the necessary signal processing structures and functions at any given time. According to the invention, such data may be stored on a separate partitioned area 110 of the HDD 100 after the required interface is defined. At any time during the use of the FPGA, based on some external control signal, time function, or the like, the FPGA is to provide a special interface to the entire system 10, and the controller 102 is also a board. And a disk drive can download data from the FPGA data partition 110 on the disk drive into the FPGA 104. As soon as the FPGA data is downloaded, the FPGA is used as a separate programmable device.

이와 같이, 본 발명에 따르면, 앞에서 설명된 그룹 또는 불특정된 다른 그룹으로부터의 임의의 프로그램가능 인터페이스는 필요시 임의의 사용자가 할당하는데 이용될 수 있다. 소프트 코어 데이타는 시간 다중 로딩될(time multiplex loaded) 수 있거나 그렇지 않으면 외부 호스트 컴퓨터로부터 받은 하나의 외부 신호 제어하에서 부가적인 호스트 컴퓨터 개입(intervention)과 로딩없이 언로딩되기 위해할당될 수 있다. 이것은 HDD 어셈블리를 균일화(homogenizing)하는 것에 의해 임의의 제조 비용을 현저히 줄일 수 있고 각각의 요구되는 인터페이스를 구현하기 위해 요구되는 기능적인 실리콘을 사전에 제거한다.As such, in accordance with the present invention, any programmable interface from the groups described above or other unspecified groups can be used for assignment by any user as needed. Soft core data may be time multiplex loaded or otherwise allocated to be unloaded without additional host computer intervention and loading under one external signal control received from an external host computer. This can significantly reduce any manufacturing cost by homogenizing the HDD assembly and preliminarily removes the functional silicon required to implement each required interface.

당업자에 의해 제대로 구현될 수 있고 본 발명을 유리하게 통합시킬 수 있는 다수의 인터페이스를 이용하는 보드 레벨 시스템(board level system)의 실시예는 도 2에 나타난 디스크 기억 장치(disk storage device)를 이용하는 데이타 왕복 이동 장치(data shuttle)이다.An embodiment of a board level system using multiple interfaces that can be properly implemented by those skilled in the art and which can advantageously incorporate the present invention is a data round trip using the disk storage device shown in FIG. It is a data shuttle.

상기 데이타 왕복 이동 장치는 여러 개의 소스로부터 디지탈 정보의 연속 스트림을 받아들이고 데이타 왕복 이동 장치 안으로 통합된 여러 개의 인터페이스를 통해 그것들을 전달하며 버스를 가로질러 하드 디스크 드라이브로 그것들을 전달한다. 이 도면에서, 여러 개의 장치 또는 데이타의 소스로부터 나온 입력은 좌측에 표현되고 그것들은 잠재적인 목적지(potential destination)에 대한 출력이 된다. 수신된 데이타가 아날로그 형식이라면, 그것은 좌측 상단에 도시된 대로 디지탈화되는데 예를 들어 좌측 상단에서는 합성 TV 비디오 신호(700)와 관련 오디오(702)가 적합한 A/D 컨버터(704, 706)에 인가되고, 그 다음에 버스를 거쳐 MPEG-2 인코더(710)에 전달된다. 상기 MPEG-2 인코더(710)의 출력은 데이타 패킷타이저(712)를 통해 디스크 프로세서(714)에 전송되고 상기 디스크 프로세서는 적절한 파일 관리(file management), 버스 중재(bus arbitration), 내용 관리(content management) 및 스트림 관리(stream management) 기능을 수행하고 그 결과 데이타는 로컬 하드 디스크 드라이브(local hard disk drive)(720)상에 저장될 수 있다.이런 방식으로, 임의의 요구되는 비디오 입력 스트림은 데이타 왕복 이동 장치 상에의 선택적인 액세스를 위해 변환되고 디지탈화되고 프로세싱되며 저장될 수 있다. MPEG 인코더와 디코더는 로컬 HDD(220) 상에 저장된 데이타를 이용하는 내장 마이크로프로세서(270)의 제어하에서 재프로그램밍된 FPGA로 구현될 수 있다. 이러한 방식으로, 실재의 인코더/디코더 칩의 개수가 실질적으로 줄어들 수 있다.The data shuttle transfers continuous streams of digital information from multiple sources, passes them through multiple interfaces integrated into the data shuttle, and passes them across the bus to the hard disk drive. In this figure, inputs from multiple devices or sources of data are represented on the left and they become outputs for potential destinations. If the received data is in analog format, it is digitized as shown at the top left, for example at the top left the composite TV video signal 700 and associated audio 702 are applied to a suitable A / D converter 704, 706. And then to the MPEG-2 encoder 710 via the bus. The output of the MPEG-2 encoder 710 is sent to the disk processor 714 via a data packetizer 712, which may be configured for proper file management, bus arbitration, content management ( content management and stream management functions and the resulting data may be stored on a local hard disk drive 720. In this way, any required video input stream may be The data may be converted, digitized, processed and stored for selective access on the data round trip device. The MPEG encoder and decoder may be implemented with an FPGA reprogrammed under the control of an embedded microprocessor 270 using data stored on the local HDD 220. In this way, the number of actual encoder / decoder chips can be substantially reduced.

상기 데이타 왕복 이동 장치는 또한 인터페이스를 가로질러 상기 데이타 왕복 이동 장치를 위해 네스팅(nesting) 또는 도킹(docking) 장치(760)내에 통합된 더 큰 하드 디스크 드라이브에 연결될 수 있다. 그 다음에 디스크 프로세서(714)는 저장된 디지탈 데이타를 로컬 디스크 드라이브(720)로부터 더 큰 용량을 갖는 ATA 버스를 가로질러 네스팅 디스크 드라이브(740)상에 더 전송할 수 있다. 이러한 방식으로 상기 데이타 왕복 이동 장치는 하나의 장치로부터 다른 장치로 이전될 수 있으며 하나 또는 여러 개의 소스로부터 도시된 여러 개의 인터페이스를 통해 입력 데이타를 저장할 수 있다.The data reciprocating device may also be coupled to a larger hard disk drive integrated within a nesting or docking device 760 for the data reciprocating device across the interface. The disk processor 714 can then further transfer the stored digital data from the local disk drive 720 onto the nesting disk drive 740 across the larger capacity ATA bus. In this way, the data reciprocating device can be transferred from one device to another and store the input data through several interfaces shown from one or several sources.

상기 데이타 왕복 이동 장치는 자체의 로컬 프로세서(770)의 제어하에서 동작하고 전원 및 모니터(772)와 제어 장치(780-784)를 포함한다.The data reciprocating mobile device operates under the control of its local processor 770 and includes a power source and a monitor 772 and control devices 780-784.

다른 인터페이스 사이에서, 상기 데이타 왕복 이동 장치는 또한 SPDIF 포맷을 조종하기 위해 작업하는 입력/출력 버스(720)을 포함한다. 상기 입력/출력 버스(720)은 데이타 패킷타이저(712)에 직접 이어져 있고 그 다음에 버스를 가로질러 디스크 프로세서(714)에 이어져 있다. 또다른 디지탈 오디오의 수신에 대한 SPDIF 입력(722)은 MPEG-2 인코더(710)에 대한 입력이고; 상기 MPEG-2 인코더의 출력은또한 로컬 하드 디스크(720) 또는 네스팅 하드 디스크(740) 상에 기억하기 위해 디스크 프로세서(714)에 전달된다. 상기 디지탈 오디오 소스(722)는 또한 MP3 인코더(724)에 인가될 수 있고 상기 MP3 인코더의 출력은 데이타 패킷타이저(712)에 직접 연결된 다음 디스크 프로세서(714)에 연결되어 SPDIF 포맷 내의 임의의 데이타가 저장되고 선택적으로 액세스될 수 있다.Among other interfaces, the data round trip device also includes an input / output bus 720 that works to manipulate the SPDIF format. The input / output bus 720 is directly connected to the data packetizer 712 and then to the disk processor 714 across the bus. Another SPDIF input 722 for reception of digital audio is an input to an MPEG-2 encoder 710; The output of the MPEG-2 encoder is also passed to the disk processor 714 for storage on the local hard disk 720 or the nesting hard disk 740. The digital audio source 722 can also be applied to the MP3 encoder 724 and the output of the MP3 encoder is directly connected to the data packetizer 712 and then to the disk processor 714 to connect any data in the SPDIF format. Can be stored and selectively accessed.

USB 버스(730), 1394 버스(732) 및 ATA 버스(734)를 포함하는 다수의 양방향 버스가 역시 제공된다. USB 버스(730)는 예를 들어 MP3 플레이어, 디지탈 카메라 또는 PC에 양방향 접속을 제공할 수 있다. USB PHY(740)과 패킷타이저(742)를 통해, 이들 장치 중 임의의 것은 데이타 패킷타이저에 직접 커플링되고 그 다음에 그것들의 입력과 출력이 상기 프로세서(714)를 통해 하드 디스크 드라이브(720)에 전달된다. 유사한 방식으로, 1394 버스(732)는 디지탈 비디오 카메라나 PC, 또는 디지탈 VCR에 접속될 수 있고 적절한 PHY(744)와 패킷타이저(746)을 통해 데이타 패킷타이저(712)와 디스크 프로세서(714)까지 이어진다. 마지막으로, ATA 버스(734)는 플래시 메모리(flash memory) 또는 다른 데이타 기억 장치를 직접 디스크 프로세서(714)에 연결할 수 있고 그 다음에 디스크 드라이브(720)에 연결할 수 있다.Multiple bidirectional buses are also provided, including a USB bus 730, a 1394 bus 732, and an ATA bus 734. The USB bus 730 may provide a two-way connection to an MP3 player, digital camera or PC, for example. Through the USB PHY 740 and the packetizer 742, any of these devices are directly coupled to the data packetizer and their inputs and outputs are then passed through the processor 714 to the hard disk drive ( 720). In a similar manner, the 1394 bus 732 can be connected to a digital video camera or PC, or a digital VCR, and through the appropriate PHY 744 and packetizer 746, the data packetizer 712 and disk processor 714. Leads to). Finally, the ATA bus 734 can connect flash memory or other data storage device directly to the disk processor 714 and then to the disk drive 720.

출력측에서, SPDIF 입력(722)이 기억을 위해 MP3 인코더를 통해 전달될 수 있을 때, MP3 디코더(750)가 제공되고 그것의 출력은 SPDIF 출력 버스(752)에 커플링되거나 양자택일로 오디오 프로세서(754)를 통해 변조기 앰프(modulator amp)(756)에 커플링될 수 있다. 이것은 RF 변조된 AV(758), 스테레오 폰 출력(760) 및 오디오 출력(762)을 포함하는 몇 개의 대안적인 출력 라인을 제공한다. 오디오 출력은 더 전형적으로 MPEG-2 디코더(768)와 디지탈 비디오 인코더(766)를 경유하여 변조기 앰프를 통해 나오는 텔레비젼 출력(764)와 함께 사용된다. MPEG-2 디코더는 디패킷타이저(712)와 디스크 프로세서(714)로부터 그것의 비디오 정보를 수신하고 상기의 디스크 프로세서는 앞서 언급되어 있듯이 로컬 디스크(720)상의 임의의 파일에 선택적으로 액세스할 수 있다. 이러한 모든 기능은 CPU(770)의 제어하에서 수행되고 상기 CPU는 예를 들어 전원(772)와 모니터에 의해 지원되는 모토로라(Motorola) 823E이다.On the output side, when the SPDIF input 722 can be passed through an MP3 encoder for storage, an MP3 decoder 750 is provided and its output is coupled to the SPDIF output bus 752 or alternatively an audio processor ( 754 may be coupled to a modulator amp 756. This provides several alternative output lines including RF modulated AV 758, stereo phone output 760 and audio output 762. The audio output is more typically used with the television output 764 coming out of the modulator amplifier via the MPEG-2 decoder 768 and the digital video encoder 766. The MPEG-2 decoder receives its video information from the depacketizer 712 and the disk processor 714, which may optionally access any file on the local disk 720, as mentioned above. have. All these functions are performed under the control of the CPU 770 and the CPU is a Motorola 823E supported by, for example, a power source 772 and a monitor.

기능은 선택되고 상기 입력, 출력 및 목적지는 IR 컨트롤(780)을 통해 인식되며 선택된 기능은 데이타 왕복 이동 장치 정면에 있는 LCD 디스플레이(782)상에 표시된다. 이들 양자는 상기 데이타 왕복 이동 장치 내부로 통합된 컨트롤 I/O(784)를 통해 지원되며 버스(786)을 거쳐 CPU(770)의 기능을 제어한다.The function is selected and the input, output and destination are recognized via IR control 780 and the selected function is displayed on LCD display 782 in front of the data reciprocating device. Both are supported via control I / O 784 integrated into the data reciprocating device and control the functionality of CPU 770 via bus 786.

앞서 언급한 것과 유사하게, 각각의 버스는 패킷타이저/디패킷타이저를 포함하는 경우에, FPGA는 이용될 수 있다. 버스가 선택될 때, 마이크로프로세서는 필수적인 패킷타이저/디패킷타이저를 제공할 FPGA를 프로그램하기 위해 디스크 드라이브로부터 필수적인 데이타를 다운로드할 수 있다.Similar to the foregoing, FPGAs may be used where each bus includes a packetizer / depacketizer. When the bus is selected, the microprocessor can download the necessary data from the disk drive to program the FPGA to provide the necessary packetizer / depacketizer.

이러한 방식으로 프로세서 보드는 실질적으로 호스트 컴퓨터상에 위치하는 경우 추가의 부담없이 단순화될 수 있고, 이는 내장된 프로세서가 내장 디스크 드라이브로부터 그것의 데이타 기억 제어 기능과 아무런 충돌없이 핵심 데이타를 다운로드할 시간이 가능하기 때문이다.In this way, the processor board can be simplified without additional burden if it is actually located on the host computer, which means that the embedded processor does not have time to download critical data from the internal disk drive without conflicting with its data storage control. Because it is possible.

본 발명의 다른 용도, 특징 및 이점은 상기 발명의 개시를 숙지한 당업자에게 자명할 것이다. 따라서, 본 발명의 범위는 단지 뒤따르는 청구범위에만 한정되지는 않는다.Other uses, features and advantages of the present invention will be apparent to those skilled in the art having knowledge of the disclosure. Accordingly, the scope of the invention is not limited only to the claims that follow.

Claims (6)

하드 디스크 드라이브 어셈블리에 통합된 필드 프로그램가능 게이트 어레이(field programmable gate array; FPGA)를 포함하는 시스템으로서,A system comprising a field programmable gate array (FPGA) integrated into a hard disk drive assembly, the system comprising: 상기 하드 디스크 드라이브 어셈블리가, 통합된 마이크로프로세서를 더 포함하고,The hard disk drive assembly further comprising an integrated microprocessor, 상기 하드 디스크 드라이브는 전체 시스템의 호스트에 의한 개입없이 내장(on-board) 프로세서의 제어하에서 FPGA가 다수의 다른 기능을 수행하게 배치되도록 데이타를 저장하는 것을 특징으로 하는 시스템.The hard disk drive stores data such that the FPGA is arranged to perform a number of different functions under the control of an on-board processor without intervention by a host of the entire system. 제 1항에 있어서,The method of claim 1, 복수 개의 인터페이스를 포함하고, 각각의 인터페이스가 인코더 또는 디코더를 통해 상기 하드 디스크 드라이브에 연결되며, 하나 또는 그 이상의 인코더와 디코더가 하나의 FPGA에 의해 구현되고, 상기 FPGA가 하드 디스크 드라이브 상에 저장된 데이타에 의해 다른 인터페이스와 함께 작업하도록 재프로그래밍된 것을 특징으로 하는 시스템.A plurality of interfaces, each of which is connected to the hard disk drive through an encoder or decoder, one or more encoders and decoders are implemented by one FPGA, and the FPGA stores data stored on the hard disk drive And reprogrammed to work with other interfaces. 제 1항에 있어서,The method of claim 1, 복수 개의 인터페이스를 포함하고, 각각의 인터페이스가 패킷타이저 또는 디패킷타이저를 통해 상기 하드 디스크 드라이브에 연결되며, 하나 또는 그 이상의패킷타이저와 디패킷타이저가 하나의 FPGA에 의해 구현되고, 상기 FPGA가 하드 디스크 드라이브 상에 저장된 데이타에 의해 다수의 인터페이스 중 선택된 하나와 함께 작업하도록 프로그래밍된 것에 적응하는 것을 특징으로 하는 시스템.A plurality of interfaces, each interface connected to the hard disk drive through a packetizer or depacketizer, one or more packetizers and depacketizers implemented by a single FPGA, and And an FPGA adapted to be programmed to work with a selected one of a number of interfaces by data stored on a hard disk drive. 제 3항에 있어서,The method of claim 3, wherein 상기 하드 디스크 드라이브의 식별가능 섹션에 FPGA를 프로그램하기 위한 다수의 데이타 세트를 저장하기 위해 적응되고, 상기 시스템으로부터 데이타를 보내거나 받기 위해 선택된 인터페이스에 종속된 내장 프로세서로부터 온 명령에 대한 응답으로 상기 FPGA를 프로그래밍하기 위한 상기 데이타 세트 중 하나를 선택하기 위해 적응된 디스크 컨트롤러를 포함하는 것을 특징으로 하는 시스템.The FPGA is adapted to store a plurality of data sets for programming the FPGA in an identifiable section of the hard disk drive and in response to instructions from an embedded processor dependent on the interface selected to send or receive data from the system. And a disk controller adapted to select one of said data sets for programming. 하드 디스크 드라이브 어셈블리에 통합된 FPGA를 포함하는 시스템을 구현하는 방법으로서,A method of implementing a system that includes an FPGA integrated into a hard disk drive assembly, 상기 하드 디스크 드라이브 어셈블리가 통합된 마이크로프로세서를 더 포함하고,Further comprising a microprocessor to which the hard disk drive assembly is integrated, 상기 하드 디스크 드라이브가 전체 시스템의 호스트에 의한 개입없이 내장 프로세서 제어하에서 FPGA가 다수의 다른 기능을 수행하게 배치되도록 데이타를 저장하고,The hard disk drive stores data such that the FPGA is arranged to perform a number of different functions under embedded processor control without intervention by the host of the entire system, 하드 디스크 드라이브의 분할된 영역 상에 FPGA를 프로그래밍하기 위한 다수의 데이타 세트를 저장하는 단계;Storing a plurality of data sets for programming the FPGA on a partitioned area of the hard disk drive; 상기 시스템으로부터 데이타를 보내거나 받는 인터페이스 중 선택된 하나를 확인하는 단계; 및Identifying a selected one of the interfaces to send or receive data from the system; And 내장 프로세서의 제어하에서 선택된 인터페이스의 확인에 대한 응답으로 하드 디스크 드라이브로부터의 데이타 세트 중 하나로 상기 FPGA를 프로그래밍하는 단계를 포함하는 것을 특징으로 하는 방법.Programming said FPGA with one of a set of data from a hard disk drive in response to confirmation of a selected interface under control of an embedded processor. 하드 디스크 드라이브 어셈블리에 통합된 FPGA를 포함하는 시스템으로서,A system comprising an FPGA integrated into a hard disk drive assembly, 상기 하드 디스크 드라이브 어셈블리가 통합된 마이크로프로세서를 더 포함하고,Further comprising a microprocessor to which the hard disk drive assembly is integrated, 상기 하드 디스크 드라이브가 전체 시스템의 호스트에 의한 개입없이 내장 프로세서의 제어하에서 FPGA가 다수의 다른 기능을 수행하게 배치되도록 데이타를 저장하고,The hard disk drive stores data such that the FPGA is arranged to perform many other functions under the control of an embedded processor without intervention by the host of the entire system, 상기 하드 디스크 드라이브의 분할된 영역상에 FPGA를 프로그래밍하기 위한 다수의 데이타 세트를 저장하고,Store a plurality of data sets for programming the FPGA on a partitioned area of the hard disk drive, 내장 프로세서의 제어하에서 선택된 인터페이스의 확인에 대한 응답으로 하드 디스크 드라이브로부터의 데이타 세트 중 하나로 상기 FPGA를 프로그래밍하는 수단을 포함하는 것을 특징으로 하는 시스템.Means for programming the FPGA with one of a set of data from a hard disk drive in response to confirming the selected interface under control of an embedded processor.
KR1020027003625A 1999-09-20 2000-09-20 Field programmable gate array hard disk system KR20020035606A (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15488199P 1999-09-20 1999-09-20
US60/154,881 1999-09-20
PCT/US2000/025846 WO2001022425A1 (en) 1999-09-20 2000-09-20 Field programmable gate array hard disk system

Publications (1)

Publication Number Publication Date
KR20020035606A true KR20020035606A (en) 2002-05-11

Family

ID=22553211

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020027003625A KR20020035606A (en) 1999-09-20 2000-09-20 Field programmable gate array hard disk system

Country Status (7)

Country Link
JP (1) JP2003510705A (en)
KR (1) KR20020035606A (en)
CN (1) CN1391695A (en)
AU (1) AU7597600A (en)
DE (1) DE10085014T1 (en)
GB (1) GB2371138B (en)
WO (1) WO2001022425A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100954010B1 (en) * 2003-11-06 2010-04-20 엘지노텔 주식회사 Programmable multimedia apparatus of data processing system

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7139743B2 (en) 2000-04-07 2006-11-21 Washington University Associative database scanning and information retrieval using FPGA devices
US6711558B1 (en) 2000-04-07 2004-03-23 Washington University Associative database scanning and information retrieval
US7716330B2 (en) 2001-10-19 2010-05-11 Global Velocity, Inc. System and method for controlling transmission of data packets over an information network
US7711844B2 (en) 2002-08-15 2010-05-04 Washington University Of St. Louis TCP-splitter: reliable packet monitoring methods and apparatus for high speed networks
AU2004290281A1 (en) 2003-05-23 2005-05-26 Washington University Intelligent data storage and processing using FPGA devices
US10572824B2 (en) 2003-05-23 2020-02-25 Ip Reservoir, Llc System and method for low latency multi-functional pipeline with correlation logic and selectively activated/deactivated pipelined data processing engines
CN1333349C (en) * 2003-12-23 2007-08-22 华为技术有限公司 System and method for loading on-site programmable gate array
US7917299B2 (en) 2005-03-03 2011-03-29 Washington University Method and apparatus for performing similarity searching on a data stream with respect to a query string
US7702629B2 (en) 2005-12-02 2010-04-20 Exegy Incorporated Method and device for high performance regular expression pattern matching
CN100433697C (en) * 2006-06-01 2008-11-12 东南大学 Multi-channel high-speed data processor and processing method
US7921046B2 (en) 2006-06-19 2011-04-05 Exegy Incorporated High speed processing of financial information using FPGA devices
US7660793B2 (en) 2006-11-13 2010-02-09 Exegy Incorporated Method and system for high performance integration, processing and searching of structured and unstructured data using coprocessors
US10229453B2 (en) 2008-01-11 2019-03-12 Ip Reservoir, Llc Method and system for low latency basket calculation
US8374986B2 (en) 2008-05-15 2013-02-12 Exegy Incorporated Method and system for accelerated stream processing
CA3184014A1 (en) 2008-12-15 2010-07-08 Exegy Incorporated Method and apparatus for high-speed processing of financial market depth data
CN101673101B (en) * 2009-09-27 2011-06-22 电子科技大学 On-line programming FPGA reconfigurable device
CN101808027B (en) * 2010-03-31 2011-11-23 哈尔滨工业大学 Data receiving, storing and forwarding device suitable for various ports
EP2649580A4 (en) 2010-12-09 2014-05-07 Ip Reservoir Llc Method and apparatus for managing orders in financial markets
CN102685609A (en) * 2011-09-28 2012-09-19 朱良学 Multi-protocol soft-core digital interphone
US10650452B2 (en) 2012-03-27 2020-05-12 Ip Reservoir, Llc Offload processing of data packets
US11436672B2 (en) 2012-03-27 2022-09-06 Exegy Incorporated Intelligent switch for processing financial market data
US9990393B2 (en) 2012-03-27 2018-06-05 Ip Reservoir, Llc Intelligent feed switch
US10121196B2 (en) 2012-03-27 2018-11-06 Ip Reservoir, Llc Offload processing of data packets containing financial market data
US10102260B2 (en) 2012-10-23 2018-10-16 Ip Reservoir, Llc Method and apparatus for accelerated data translation using record layout detection
US9633093B2 (en) 2012-10-23 2017-04-25 Ip Reservoir, Llc Method and apparatus for accelerated format translation of data in a delimited data format
US10146845B2 (en) 2012-10-23 2018-12-04 Ip Reservoir, Llc Method and apparatus for accelerated format translation of data in a delimited data format
GB2541577A (en) 2014-04-23 2017-02-22 Ip Reservoir Llc Method and apparatus for accelerated data translation
US10942943B2 (en) 2015-10-29 2021-03-09 Ip Reservoir, Llc Dynamic field data translation to support high performance stream data processing
EP3560135A4 (en) 2016-12-22 2020-08-05 IP Reservoir, LLC Pipelines for hardware-accelerated machine learning
DE102018123494A1 (en) 2017-11-17 2019-05-23 Samsung Electronics Co., Ltd. MEMORY DEVICE DESIGNED TO UPGRADE A FIELD-PROGRAMMABLE GATE ARRAY, AND OPERATING METHOD THEREFOR
CN113312098B (en) * 2020-04-01 2022-08-12 阿里巴巴集团控股有限公司 Program loading method, device, system and storage medium

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1995004402A1 (en) * 1993-08-03 1995-02-09 Xilinx, Inc. Microprocessor-based fpga
US5600845A (en) * 1994-07-27 1997-02-04 Metalithic Systems Incorporated Integrated circuit computing device comprising a dynamically configurable gate array having a microprocessor and reconfigurable instruction execution means and method therefor
US5619728A (en) * 1994-10-20 1997-04-08 Dell Usa, L.P. Decoupled DMA transfer list storage technique for a peripheral resource controller
EP0718751A3 (en) * 1994-12-23 1997-02-12 Ibm Electronic circuit apparatus employing small disk drive with reconfigurable interface

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100954010B1 (en) * 2003-11-06 2010-04-20 엘지노텔 주식회사 Programmable multimedia apparatus of data processing system

Also Published As

Publication number Publication date
DE10085014T1 (en) 2003-04-30
GB2371138A (en) 2002-07-17
GB2371138B (en) 2003-12-10
JP2003510705A (en) 2003-03-18
AU7597600A (en) 2001-04-24
WO2001022425A9 (en) 2002-11-21
GB0207720D0 (en) 2002-05-15
WO2001022425A1 (en) 2001-03-29
CN1391695A (en) 2003-01-15

Similar Documents

Publication Publication Date Title
KR20020035606A (en) Field programmable gate array hard disk system
JP2003298661A (en) Stream data processing equipment, method therefor, program and medium
EP1171842A1 (en) Distributed extensible processing architecture for digital signal processing applications
US20090177816A1 (en) Method and system for communication with sd memory and sdio devices
CN108810591A (en) Switching shows image processing method when different video source
US20160350064A1 (en) Signal processing apparatus and controlling method
US20090063843A1 (en) Systems and Methods for Booting a Codec Processor over a High Definition Audio Bus
JP4305307B2 (en) Digital mixer capable of programming mixer configuration, mixer configuration editing device, and control application program for controlling digital mixer
US8995818B2 (en) Recorder apparatus
US7392103B2 (en) Audio signal processing device
US7197581B2 (en) Integrated circuit, device and method for inputting/outputting images
US20060248223A1 (en) Semiconductor device, system for performing data processing, and method for performing communication between software framework and plurality of software modules
US7089140B1 (en) Programmable logic device and method of testing a programmable logic device
US20190258595A1 (en) I/o management apparatus
US20100169600A1 (en) Signal processor and signal processing system
US20080040594A1 (en) Electronic apparatus and method for performing initialization using data localization
JP4901915B2 (en) Video processing apparatus, processing unit, and IP address management method
CN102222497A (en) Information system and operational noise canceling method
US20050119549A1 (en) Embedded metal-programmable image processing array for digital still camera and camrecorder products
US20090106759A1 (en) Information processing system and related method thereof
US7590503B2 (en) Method and system for rerouteable cyclic redundancy check sum (CRC) for different sources
CN114900630A (en) Monitor, data processing method, device and medium
JP2002108637A (en) Setting method of electronic equipment
KR100219160B1 (en) Apparatus of owning a memory jointly
JPH08297627A (en) Connector for standard bus

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
NORF Unpaid initial registration fee