CN100481018C - 具有多种操作模式的集成电路 - Google Patents
具有多种操作模式的集成电路 Download PDFInfo
- Publication number
- CN100481018C CN100481018C CNB200380103842XA CN200380103842A CN100481018C CN 100481018 C CN100481018 C CN 100481018C CN B200380103842X A CNB200380103842X A CN B200380103842XA CN 200380103842 A CN200380103842 A CN 200380103842A CN 100481018 C CN100481018 C CN 100481018C
- Authority
- CN
- China
- Prior art keywords
- circuit
- data
- integrated circuit
- interface
- bus
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B1/00—Instruments for performing medical examinations of the interior of cavities or tubes of the body by visual or photographical inspection, e.g. endoscopes; Illuminating arrangements therefor
- A61B1/04—Instruments for performing medical examinations of the interior of cavities or tubes of the body by visual or photographical inspection, e.g. endoscopes; Illuminating arrangements therefor combined with photographic or television appliances
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B1/00—Instruments for performing medical examinations of the interior of cavities or tubes of the body by visual or photographical inspection, e.g. endoscopes; Illuminating arrangements therefor
- A61B1/04—Instruments for performing medical examinations of the interior of cavities or tubes of the body by visual or photographical inspection, e.g. endoscopes; Illuminating arrangements therefor combined with photographic or television appliances
- A61B1/041—Capsule endoscopes for imaging
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B5/00—Measuring for diagnostic purposes; Identification of persons
- A61B5/0002—Remote monitoring of patients using telemetry, e.g. transmission of vital signals via a communication network
- A61B5/0031—Implanted circuitry
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B5/00—Measuring for diagnostic purposes; Identification of persons
- A61B5/145—Measuring characteristics of blood in vivo, e.g. gas concentration or pH-value ; Measuring characteristics of body fluids or tissues, e.g. interstitial fluid or cerebral tissue
- A61B5/14539—Measuring characteristics of blood in vivo, e.g. gas concentration or pH-value ; Measuring characteristics of body fluids or tissues, e.g. interstitial fluid or cerebral tissue for measuring pH
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61N—ELECTROTHERAPY; MAGNETOTHERAPY; RADIATION THERAPY; ULTRASOUND THERAPY
- A61N1/00—Electrotherapy; Circuits therefor
- A61N1/18—Applying electric currents by contact electrodes
- A61N1/32—Applying electric currents by contact electrodes alternating or intermittent currents
- A61N1/36—Applying electric currents by contact electrodes alternating or intermittent currents for stimulation
- A61N1/36007—Applying electric currents by contact electrodes alternating or intermittent currents for stimulation of urogenital or gastrointestinal organs, e.g. for incontinence control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1076—Parity data used in redundant arrays of independent storages, e.g. in RAID systems
- G06F11/108—Parity data distribution in semiconductor storages, e.g. in SSD
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B5/00—Measuring for diagnostic purposes; Identification of persons
- A61B5/03—Measuring fluid pressure within the body other than blood pressure, e.g. cerebral pressure ; Measuring pressure in body tissues or organs
- A61B5/036—Measuring fluid pressure within the body other than blood pressure, e.g. cerebral pressure ; Measuring pressure in body tissues or organs by means introduced into body tracts
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B5/00—Measuring for diagnostic purposes; Identification of persons
- A61B5/24—Detecting, measuring or recording bioelectric or biomagnetic signals of the body or parts thereof
- A61B5/25—Bioelectric electrodes therefor
- A61B5/279—Bioelectric electrodes therefor specially adapted for particular uses
- A61B5/28—Bioelectric electrodes therefor specially adapted for particular uses for electrocardiography [ECG]
- A61B5/283—Invasive
Landscapes
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Surgery (AREA)
- Biomedical Technology (AREA)
- Veterinary Medicine (AREA)
- Public Health (AREA)
- General Health & Medical Sciences (AREA)
- Animal Behavior & Ethology (AREA)
- Medical Informatics (AREA)
- Heart & Thoracic Surgery (AREA)
- Molecular Biology (AREA)
- Pathology (AREA)
- Biophysics (AREA)
- Radiology & Medical Imaging (AREA)
- Optics & Photonics (AREA)
- Nuclear Medicine, Radiotherapy & Molecular Imaging (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Gastroenterology & Hepatology (AREA)
- Computer Networks & Wireless Communication (AREA)
- Bus Control (AREA)
- Semiconductor Integrated Circuits (AREA)
- Communication Control (AREA)
Abstract
耦合到廉价盘冗余阵列(RAID)的I/O控制器电路卡。所述控制器电路支持几种通信协议。也可以根据为与RAID之间的通信而选择的协议来使能或者禁止所述控制器电路执行奇偶性相关的操作。
Description
相关申请的交叉引用:本申请与同时提交的名为“具有多种操作模式的集成电路”、尚未指定申请号(律师事务所案卷号42390.P14963)的同时待审查的美国专利申请有关。
技术领域
本公开涉及具有多种操作模式的集成电路。
背景技术
在传统的数据存储安排中,计算机节点包括主机总线适配器(HBA)。HBA使用与主机总线相关联的主机总线协议,经由主机总线与主机设备通信。HBA也使用与一条或多条通信链路相关联的通信协议,经由所述一条或多条通信链路与数据存储系统通信。如果数据存储系统包括独立盘冗余阵列(RAID),则HBA一般也执行和RAID相关的操作(例如在实现RAID时所涉及的操作)。
HBA包括多个集成电路芯片,HBA使用这些芯片来实现HBA和主处理器(hostprocessor)之间的通信、HBA和数据存储系统之间的通信以及在实现RAID时所涉及的操作。一般,这些集成电路芯片限制了HBA的通信能力,使得HBA只能够使用一种预定的主机总线协议和一种预定的通信协议。
附图说明
参考附图,随着以下“具体实施方式”的进行,所要求保护主题的各实施方案的特点和优点将会变得清楚,在附图中相同的标号表示相同的部分,其中:
图1是图示一个系统实施方案的图。
图2是更详细地图示在图1的系统实施方案中的集成电路的图。
图3是更详细地图示在图2的集成电路中的接口电路的图。
图4是图示另一个系统实施方案的图。
图5是图示根据一个实施方案可被执行的操作的流程图。
虽然下面的具体实施方式部分将参考示例性的实施方案进行,但是对本领域的技术人员而言,这些实施方案的多种替换、修改和变化将是清楚的。由此,所要求保护的主题想要被宽广地考虑,并且只由所附的权利要求书来限定。
具体实施方式
图1图示所要求保护的主题的系统实施方案100。系统100可以包括耦合到芯片组14的主处理器12。主处理器12例如可以包括 微处理器,商业上可从本申请的受让人那里获得。当然,可替换地,主处理器12可以包括另一种类型的微处理器,例如由不同于本申请受让人的来源制造和/或商业上可从该来源获得的微处理器,而不会偏离这一实施方案。
芯片组14可以包括主机桥/中心(hub)系统,其可以将主处理器12、系统存储器21和用户接口系统16相互耦合起来,并将它们耦合到总线系统22。芯片组14还可以包括I/O桥/中心系统(未示出),该系统可以将主机桥/总线系统耦合到总线22。芯片组14可以包括多个集成电路芯片,这些芯片例如是从商业上可从本申请的受让人那里获得的集成电路芯片组(例如,图形存储器和I/O控制器中心芯片组)中选出的,不过也可以使用其他集成电路芯片,或者替代性地使用其他集成电路芯片,而不会偏离这个实施方案。用户接口系统16例如可以包括键盘、指针设备和显示系统,它可以允许人类用户向系统100输入命令,并且监控系统100的操作。
总线22可以包括遵循2002年7月22日公布的外设部件互连快速基本规范1.0版本(Peripheral Component Interconnect(PCI)ExpressTM Base Specification Revision 1.0)的总线,该规范可从位于美国俄勒冈州波特兰市的PCI特殊兴趣组处获得(此后称为“PCIExpressTM总线”)。可替换地,总线22取而代之可以包括遵循2000年7月24日的PCI-X规范1.0a版本的总线,上述规范可从上述位于美国俄勒冈州波特兰市的PCI特殊兴趣组获得(此后称为“PCI-X总线”)。同样可替换地,总线22可以包括其他类型和配置的总线系统,而不会偏离这一实施方案。
控制器卡20可被耦合到大容量存储设备28并且控制其操作。在这个实施方案中,大容量存储设备28例如可以包括一个或多个廉价盘冗余阵列(RAID)29。可被RAID 29采用的RAID级可以是0、1,或者大于1。
处理器12、系统存储器21、芯片组14、总线22和电路卡槽30可以包括在单个电路板中,例如系统主板32中。大容量存储设备28可以包括在一个或多个单独的封装(enclosure)中,这些封装可以与主板32以及包括在主板32中的组件被包围其中的封装相互独立。
卡20可以经由一个或多个网络通信链路44被耦合到大容量存储设备28。如下所述,至少部分地根据可被包括在卡20中的集成电路40的操作模式,卡20可以使用多种不同通信协议中的一种或多种协议,经由链路44与大容量存储设备28交换数据和/或命令,所述通信协议例如包括光纤信道(FC)、串行高级技术配件(S-ATA)和/或串行附接小型计算机系统接口(SAS)协议。当然,可替换地,I/O控制器卡20可以使用其他的和/或附加的通信协议与大容量存储设备28交换数据和/或命令,而不会偏离这一实施方案。
根据这个实施方案,如果控制器卡20使用FC协议与大容量存储设备28交换数据和/或命令,则所述FC协议可以遵循在ANSI标准光纤信道(FC)物理和信令接口-3X3.303:1998规范中所描述的接口/协议,或者与之兼容。可替换地,如果控制器卡20使用S-ATA协议与大容量存储设备28交换数据和/或命令,则所述S-ATA协议可以遵循在“串行ATA:高速串行化AT配件”1.0版本(串行ATA工作组于2001年8月29日公布)中所描述的协议,或者与之兼容。进一步可替换地,如果控制器卡20使用SAS协议与大容量存储设备28交换数据和/或命令,则所述SAS协议可以遵循在由美国国家标准协会于2002年10月19日公布的“信息技术——串行附接SCSI(SAS)”,美国信息技术标准国际委员会(INCITS)T10技术委员会的美国国家标准工作草案,方案T10/1562-D,版本2b中所描述的协议(此后称为“SAS标准”)和/或该SAS标准的后续公布版本,或者与之兼容。
例如根据总线22是否包括PCI ExpressTM总线或PCI-X总线,电路卡槽30例如可以包括兼容或遵循PCI ExpressTM或PCI-X总线的扩展槽或接口36。接口36可以包括总线连接器37,该连接器可以与包括在电路卡20中的总线扩展槽或接口35中的配对总线连接器34在电气和机械上相互配对。
电路卡20可以包括集成电路40、操作模式选择器电路42、计算机可读的引导码存储器39和计算机可读存储器38。可替换地,虽然在图中没有示出,但是集成电路40可以包括存储器38和/或存储器39。如在此使用的,“集成电路”是指半导体器件和/或微电子器件,例如半导体集成电路芯片。存储器38和/或39每一个都可以包括以下类型的存储器中的一种或多种:半导体固件存储器、可编程存储器、非易失性存储器、只读存储器、电可编程存储器、随机访问存储器、闪存、磁盘存储器、和/或光盘存储器。附加地或者可替换地,存储器38和/或39每一个都可以包括其他的和/或后来开发出的类型的计算机可读存储器。
机器可读固件程序指令可被存储在存储器38中。如下面所描述的,这些指令可被集成电路40访问并执行。当被集成电路40执行时,这些指令可导致集成电路40完成这里所描述的由集成电路40执行的操作。
槽30和卡20被构造为允许卡20被插入到槽30中。当卡20被正确地插入到槽30中时,连接器34和36相互之间电耦合并且机械耦合在一起。当连接器34和36如此耦合到一起后,卡20就电耦合到总线22,并且可以经由总线22和芯片组14与系统存储器21、主处理器12和/或用户接口系统16交换数据和/或命令。
可替换地,在不偏离这一实施方案的情况下,卡20的工作电路可以不包括在卡20中,而是可以包括在其他结构、系统和/或设备中。这些其他结构、系统和/或设备例如可被包括在主板32中,与总线22耦合,并且与系统100中的其他组件(例如系统存储器21、主处理器12、和/或用户接口系统16)交换数据和/或命令。
图2是集成电路40的图。集成电路40包括处理器电路202、I/O接口电路204、存储器控制电路232、存储器控制电路230、处理器总线206和总线桥电路208。处理器电路202、I/O接口电路204、存储器控制电路232、存储器控制电路230和总线桥电路208可被电耦合到总线206,并经由该总线交换数据和/或命令。总线桥电路208可以将处理器总线206电耦合到输入/输出(I/O)总线254,并且可以允许可被耦合到总线206的设备与可被耦合到总线254的设备交换数据和/或命令,同时允许总线206和254各自的地址空间相互隔离。存储器控制电路230、主机总线接口电路210、引导码存储器接口242和外围接口电路244也可被电耦合到总线254,并且可以经由总线254在彼此之间交换数据和/或命令。存储器控制电路230可被电耦合到存储器38。引导码存储器接口242可被耦合到存储器39。存储器控制电路232可被电耦合到计算机可读存储器228。存储器228例如可以包括多端口静态随机访问存储器(SRAM),但是存储器228也可以包括其他类型的计算机可读存储器,而不会偏离这一实施方案。主机总线接口电路210可被电耦合到主机总线接口35。
模式选择器电路42可被电耦合到通用I/O接口电路248,该电路248可被包括在接口电路246中。接口电路246可以包括其他和/或附加类型的接口电路(未示出),而不会偏离这一实施方案。包括在接口246中的接口电路例如可以经由外围总线(未示出)被耦合在一起。接口246可以经由外围接口电路244被耦合到总线254,所述外围接口电路244可以允许电路246中可被耦合到电路246中的外围总线的接口电路与可被耦合到总线254的设备交换数据和/或命令。
引导码存储器接口242可以允许存储在存储器39中的程序指令例如在集成电路40重启(reset)后,由处理器电路202从存储器中取出并执行。更具体地,处理器电路202可以经由总线206、桥电路208、总线254和接口电路242向存储器39和/或接口电路242提供一条或多条命令,这些命令可以导致上述程序指令从存储器39中取出,并经由接口242、总线254、桥电路208和总线206被提供给电路202。
集成电路40还可以包括性能监控(PMON)电路226。PMON电路226可以监控多种操作,例如经由总线206和/或总线254完成的数据和/或命令的交换,和/或由集成电路40中的其他电路完成的其他和/或附加的操作,并且PMON电路226至少可以部分地基于这种监控来确定集成电路40是否在正常运行。PMON电路226例如可以经由电路210向处理器电路202和/或外部设备(例如主处理器12)指示其监控活动的结果。
处理器电路202可以包括多个处理器核216和218。如在此使用的,“处理器核”可以包括硬连线电路、可编程电路和/或状态机电路。同样,如在此使用的,“处理器电路”可以包括硬连线电路、可编程电路和/或状态机电路。在这个实施方案中,每个处理器核216和218都可以包括可遵循 XScaleTM核微体系结构和/或与之兼容的各自电路,在本申请的受让人于2000年12月公布的 XScaleTM核开发人员手册中描述了上述体系结构。当然,如上所述,电路202可以包括其他类型的处理器核电路,而不会偏离这一实施方案。在这个实施方案中,处理器核216和218例如可以分别包括计算机可读程序指令存储器220和224,这些存储器可以包含各自的、分别可由处理器核216和218执行的微代码程序指令集。分别由处理器核216和218执行这些各自的程序指令集例如可导致电路202、核216和/或核218完成这里描述为分别由电路202、核216和/或核218执行的操作。这些各自的程序指令集中的至少一部分例如可在集成电路40重启后,例如从引导码存储器39中取出。处理器核216还可以包括二级(level-2)缓存存储器222,该缓存存储器222可由处理器核216在完成这里被描述为由处理器核216执行的操作时使用。
接口电路204可以包括协议引擎250A、250B、......、250N和物理层接口电路252A、252B、......、252N。如下所述,各个协议引擎250A、250B、......、250N可以与各个物理层接口电路252A、252B、......、252N相关联,并与之交换数据和/或命令。因此,例如,协议引擎250A可以与物理层接口电路252A相关联,并与之交换数据和/或命令,协议引擎250B可以与物理层接口电路252B相关联,并与之交换数据和/或命令,并且协议引擎250A可以与物理层接口电路252N相关联,并与之交换数据和/或命令。在这个实施方案中,协议引擎250A、250B、......、250N中每一个的各自构造和操作可以分别相同。此外,在这个实施方案中,每一个接口252A、252B、......、252N的各自构造和操作可以分别相同。在不偏离这一实施方案的情况下,协议引擎250A、250B、......、250N,物理层接口252A、252B、......、252N以及链路44的各自数目可以不同。然而,在这个实施方案中,协议引擎250A、250B、......、250N的数目可以与物理层接口252A、252B、......、252N的数目相等。在这个实施方案中,物理层接口252A、252B、......、252N的每一个都可以耦合到链路44中的各自链路;因此,在这个实施方案中,物理层接口252A、252B、......、252N的数目可以与链路44的数目相等。
主机总线接口电路210可以包括各自的接口电路,所述接口电路可被用来允许集成电路40能够根据多种不同的主机总线协议中总线22可以遵循或者与之兼容的一种协议,来与可以耦合到总线22的其他设备交换数据和/或命令。例如,在这个实施方案中,电路210可以包括PCI-X总线接口电路212和PCI ExpressTM总线接口电路214。也就是说,如下所述,至少部分地取决于总线22可以遵循或者与之兼容的总线协议,可以选择集成电路40的一种特定操作模式,在这种模式下,在电路210内的各个接口电路中只有单个适当的电路可被使能(enabled)来与耦合到总线22的设备交换数据和/或命令,而电路210中的其他各个接口电路可以被禁止(disabled)。例如,在这个实施方案中,如果总线22是PCI-X总线,则在所选择的操作模式下,PCI-X接口电路212可以被使能,而PCI ExpressTM总线接口电路214可以被禁止。相反,在这个实施方案中,如果总线22是PCI-X总线,则在所选择的操作模式下,PCI-X接口电路212可以被禁止,而PCI ExpressTM总线接口电路214可以被使能。
虽然在图中没有示出,但是在这个实施方案中,存储器控制电路232和/或DMA电路234可被电耦合到总线254。在这个实施方案中,存储器控制电路232可以包括直接存储器访问(DMA)电路234。存储器控制电路232可以控制数据向存储器228的存入以及从存储器228的取出。例如,在这个实施方案中,存储器控制电路232例如可以与处理器电路202、接口电路204、接口电路210和/或存储器控制电路230交换命令和/或数据。至少部分地基于这些命令,存储器控制电路232可以与存储器228交换数据和/或命令。这可以导致存储器228根据被提供给存储器控制电路232的命令和/或数据来存储和/或取出数据。此外,根据所选择的集成电路40的操作模式,DMA电路234可以基于电路234从集成电路40中的其他电路接收到的命令和/或数据,来控制数据和/或命令在集成电路40中的I/O接口204和其他电路之间的交换,所述数据和/或命令是由I/O接口电路204经由一条或多条链路44接收或者想要发送的。在不偏离这一实施方案的情况下,DMA电路234可能不是包括在电路232中,而是可以包括与电路232完全不同的电路,并且被耦合到电路232和总线254。
在这个实施方案中,存储器控制电路230可以包括RAID操作相关电路240。电路240例如可以包括DMA电路238和RAID计算电路236。存储器控制电路230可以控制数据向外部存储器38的存入以及从外部存储器38的取出。例如,在这个实施方案中,存储器控制电路230例如可以与处理器电路202、接口电路210和/或存储器控制电路232交换命令和/或数据。至少部分地基于这些命令,存储器控制电路230可以与存储器38交换数据和/或命令。这可以导致存储器38根据被提供给存储器控制电路232的命令和/或数据来存储和/或取出数据。此外,根据所选择的集成电路40的操作模式,DMA电路238可以基于电路238从集成电路40中的其他电路接收到的命令和/或数据,来控制与RAID相关的数据在集成电路40中的这些其他电路之间的交换。如在此使用的,“与RAID相关的数据”是指在完成和/或协助在实现和/或维护RAID(例如RAID29)中所涉及的操作时所涉及的数据、作为上述过程的结果而生成的数据、用作上述过程中的输入或操作数的数据、和/或在上述过程中所使用的数据。RAID计算电路236可以包括算术加速器电路(未示出),该电路能够使用和/或引入与RAID相关的数据来执行一种或多种算术和/或逻辑运算,例如逻辑异或运算,该运算可以由初始用户数据生成RAID奇偶数据,和/或由这种RAID奇偶数据重新生成初始用户数据。在不偏离这一实施方案的情况下,DMA电路238和/或RAID计算电路236可能不是包括在电路230中,而是可以包括与电路230完全不同的电路,并且耦合到电路230和总线254。同样在不偏离这一实施方案的情况下,集成电路40可以不包括RAID计算电路236,而是可替换地,至少部分地取决于所选择的集成电路40的操作模式,由电路236完成的算术和/或逻辑运算可以由处理器核216来代替完成。
如前所述,每个协议引擎250A、250B、......、250N的各自构造可以是相同的。图3是图示了协议引擎250A的图。协议引擎250A可以包括数据传输层协议和数据链路层协议电路304和控制电路302。数据传输层协议和数据链路层协议电路304可以电耦合到控制电路302、总线206和与协议引擎250A相关联的物理层接口电路252A。在这个实施方案中,电路304可以包括多个各自不同的数据传输层协议电路306A、306B......306M以及多个各自不同的数据链路层协议电路308A、308B、......308M,后者可以分别与各自不同的数据传输层协议电路306A、306B、......306M相关联。例如,在这个实施方案中,分别地,数据传输层协议电路306A可以与数据链路层协议电路308A相关联,并且电耦合到数据链路层协议电路308A,数据传输层协议电路306B可以与数据链路层协议电路308B相关联,并且电耦合到数据链路层协议电路308B,数据传输层协议电路306M可以与数据链路层协议电路308M相关联,并且电耦合到数据链路层协议电路308M。
在这个实施方案中,数据传输层协议电路306A、306B、......306M能够实现各自不同的数据传输层通信协议,这些数据传输层通信协议可以根据哪个卡20经由一条或多条链路44与大容量存储设备28进行通信来与各自不同的通信协议相关联,和/或被包括在其中。类似地,数据链路层协议电路308A、308B、......308M能够实现各自不同的链路层通信协议,这些链路层通信协议可以根据哪个卡20经由一条或多条链路44与大容量存储设备28进行通信来与各自不同的通信协议相关联,和/或被包括在其中。每一个各自的数据传输层协议电路306A、306B、......306M可以与能够实现各自的数据链路层协议的各自链路层协议电路308A、308B、......308M相互关联并且耦合到各自链路层协议电路308A、308B、......308M,所述各自的数据链路层协议可以与各自的数据传输层协议电路306A、306B、......306M可以分别实现的各自数据传输层协议关联到相同的各自通信协议和/或被包括在相同的各自通信协议中。例如,在这个实施方案中,电路306A和电路308A能够分别实现数据传输层协议和数据链路层协议,它们可以分别关联到和/或被包括在使用在SAS协议中的数据传输层协议和数据链路层协议。同样例如,在这个实施方案中,电路306B和电路308B能够分别实现数据传输层协议和数据链路层协议,它们可以分别关联到和/或被包括在使用在FC协议中的数据传输层协议和数据链路层协议。此外,例如,在这个实施方案中,电路306M和电路308M能够分别实现数据传输层协议和数据链路层协议,它们可以分别关联到和/或被包括在使用在S-ATA协议中的数据传输层协议和数据链路层协议。电路304可以实现不同的数据传输层和数据链路层通信协议的数目和类型。
当处于活动态时,每一个各自的数据传输层协议电路306A、306B、......306M能够至少部分地响应于从处理器核218接收到的命令和/或数据,并且根据各自的电路306A、306B、......306M所实现的各自数据传输层协议,向各自电路306A、306B、......306M与之关联的各自数据链路层协议电路308A、308B、......308M提供控制和/或数据信号。这可以导致接收到这种控制和/或数据信号的各自数据链路层协议电路308A、308B、......308M根据由各自的数据链路层电路实现的各自数据链路层协议,向物理层接口电路252A提供相应的控制和/或数据信号。这可以导致物理层接口电路252A根据包括由那个各自的数据链路层电路实现的各自数据链路层协议在内的通信协议(例如SAS、FC或S-ATA),经由链路44之一向大容量存储设备28发送相应的数据和/或控制信号。
同样地,在这个实施方案中,物理层接口电路252A可以根据在链路44中其耦合到的那条链路所使用的各自通信协议(例如SAS、FC或S-ATA),从大容量存储设备28接收数据和/或控制信号。至少部分地取决于所选择的集成电路40的操作模式,物理层接口电路252A可以将所接收的数据和/或控制信号提供给在所选择的操作模式下可处于活动状态的数据链路层协议电路308A、308B、......308M。这可以导致活动的数据链路层协议电路根据该活动的数据链路层协议电路所实现的各自数据链路层协议,生成并向与之关联的数据传输层协议电路提供相应的控制和/或数据信号,以供这个数据传输层协议电路使用。这可以导致这个传输层协议电路根据该传输层协议电路所实现的数据传输层协议,生成例如打算由处理器电路202和/或主处理器12所执行的应用程序来使用的相应数据和/或命令。处理器核218可以发信号给存储器控制电路232、接口电路210、接口电路204和/或DMA电路234。这例如可以导致正存储在存储器228中的、由这个传输层协议电路生成的数据和/或命令被提供给处理器核218,和/或被提供给主处理器12以供例如所述应用程序来使用。
在这个实施方案中,至少部分地响应于接口电路204例如从处理器核218接收到的一条或多条命令,协议引擎250A中的控制电路302可以选择数据传输层协议电路306A、306B、......306M中的哪个电路以及数据链路层协议电路308A、308B、......308M中的哪个电路可处于活动和/或工作状态。即,如下所述,根据所选择的集成电路40的操作模式,处理器核218可以向接口电路204提供与这个选定的操作模式相关联的一条或多条命令。这可以导致控制电路302发信号给电路304。这可以导致在协议引擎250A中,与所选择的集成电路40的操作模式相关联的数据传输层协议电路306A、306B、......306M中的唯一电路(例如电路306A)以及数据链路层协议电路308A、308B、......308M中的唯一电路(例如与电路306A相关联的电路308A)处于活动和/或工作状态。结果,协议引擎250A可以仅根据包括和/或与协议引擎250A中分别由活动的传输和数据链路层电路306A和308A实现的传输和数据链路层协议相关联的通信协议(例如SAS协议),来与大容量存储设备28进行通信。因此,对集成电路40的操作模式的选择可以对应于并且导致处理器核218生成一条或多条命令,这些命令可以导致在协议引擎250A中选择哪一个传输和数据链路层协议电路可处于活动和/或工作状态,并且由此选择可由协议引擎250A用来与大容量存储设备28通信的通信协议。以类似的方式,作为对集成电路40的操作模式的选择结果,由处理器核218提供给接口电路204的一条或多条命令也可以导致对接口电路204中可由其他每一个协议引擎用来与大容量存储设备28进行通信的各自通信协议的选择。附加地或可替换地,这些一条或多条命令也可以选择哪一个协议引擎250A、250B、......250N可被使能和/或处于工作状态,或者被禁止和/或处于非工作状态。
此外,至少部分地取决于所选择的集成电路40的操作模式,处理器核216和/或RAID操作相关电路240可以被使能来执行在实现和/或维护RAID(例如RAID29)时所涉及的一种或多种操作,或者被禁止执行以上操作。例如,如果处理器核216和电路240被使能来执行这样的操作,则处理器核216例如至少部分地响应于由主处理器12向集成电路40发出的存储、取出和/或重建RAID29中的用户数据的一个或多个请求,可以执行存储在存储器220中的程序指令,这些指令可导致处理器核216例如根据传统的RAID技术来确定RAID29中存储和/或可从中取出检验数据和/或与检验数据相关联的用户数据的位置。如在此使用的,“检验数据(check data)”是指至少部分地基于第二数据所生成的第一数据,由该第一数据至少可以部分地重新生成所述第二数据。如果在RAID29中实现的RAID级等于0,则RAID 29中可以没有检验数据,并且这些位置例如可以包括RAID 29中一个或多个长条(未示出)的用户数据的位置。如果在RAID 29中实现的RAID级大于1,则检验数据可以包括奇偶数据,并且这些位置例如可以包括RAID 29中一个或多个长条(未示出)的这种检验数据和/或用户数据的位置。可替换地,如果在RAID 29中实现的RAID级等于1(即,RAID 29实现数据镜像),则检验数据可以包括用户数据的拷贝,并且这些位置例如可以包括用户数据以及用户数据在RAID 29中各自的镜像卷(未示出)中的冗余拷贝的位置。在这个实施方案中,处理器核216和/或RAID计算电路236可以利用常规的RAID技术,至少部分地基于用户数据生成检验数据,和/或至少部分地基于检验数据来重新生成用户数据。取决于所选择的集成电路40的操作模式,处理器核218可以发信号给接口电路204。这可导致协议引擎之一(例如协议引擎250A)经由与之关联的接口252A以及这个接口252A可以耦合到的链路44之一,向大容量存储设备28发送和/或从中取出用户数据和/或检验数据。所述用户数据和/或检验数据可被存储在RAID中由处理器216确定的位置处,和/或从RAID中的上述位置处取出。
存储器39、存储器220、存储器224和/或存储器228可以包括以下程序指令,这些指令在由集成电路40执行时,可导致卡20执行根据一个实施方案的操作,诸如此类等等。图5是图示了根据一个实施方案,可在系统100中实现的这些及其他操作600的流程图。
如操作602所示,操作600可以开始集成电路40的操作模式的选择。在这个实施方案中,基于和/或至少部分地作为从选择器电路42提供给GPIO接口电路248的一个或多个信号、由主处理器12提供给主机总线接口电路210的一个或多个信号、由处理器电路202执行存储在存储器39中的一条或多条程序指令、和/或由电路204检测到和/或发现正在一条或多条链路44中使用的一种或多种各自通信协议的结果,可以选择集成电路40的选定操作模式。
例如,在这个实施方案中,选择器电路42可以包括一个或多个跳线和/或一个或多个双列直插封装(DIP)开关43,它们可(由例如未示出的操作人员)被设置为多种不同的配置,用以选择集成电路40的选定操作模式。也就是说,跳线和/或开关43的多种不同配置可以对应于集成电路40各自不同的操作模式。当所述一个或多个跳线和/或一个或多个DIP开关43被设置成某种特定的配置时,选择器电路42可以生成一个或多个控制信号,这些信号可以对应于和/或指示出与该特定配置相对应的集成电路40的操作模式。例如在集成电路40重启之后,这些一个或多个控制信号可以经由电路246、电路244、总线254、桥电路208和总线206被提供给处理器核216和218。
至少部分地响应于这些一个或多个控制信号,处理器核218可以生成一条或多条命令并将它们提供给接口电路204和/或主机总线接口电路210,所述命令可以根据与所述一个或多个控制信号相对应或者由其指示出的集成电路40的操作模式,分别选择总线接口212和214中的哪一个接口将被使能或禁止,分别选择哪些协议引擎250A、250B、......250N将被使能或禁止,和/或选择将由协议引擎250A、250B、......250N实现的协议。处理器核218也可以生成并向DMA电路234提供一条或多条命令,所述命令可以根据与所述一个或多个控制信号相对应或者由其指示出的集成电路40的操作模式,使能DMA电路234来控制经由一条或多条链路44由I/O接口电路204接收或者打算由电路204发送的数据和/或命令在I/O接口204和集成电路40中的其他电路之间的交换,或者禁止DMA电路234控制以上交换。
同样,至少部分地响应于来自选择器电路42的这些一个或多个控制信号,处理器核216可以根据与所述一个或多个控制信号相对应或者由其指示出的集成电路40的操作模式,来确定在给定了由跳线和/或开关43选择的集成电路40的操作模式的情况下,处理器核216和/或RAID操作相关电路240想要处于工作状态和/或被使能,还是处于非工作状态和/或被禁止。
如果处理器核216确定处理器核216和/或RAID操作相关电路240想要处于工作状态和/或被使能,则处理器核216可以发信号给电路240。这可以导致处理器核216和/或电路240执行在实现和/或维护RAID(例如RAID 29)时所涉及的一种或多种操作。
相反,如果处理器核216确定处理器核216和/或RAID操作相关电路240想要处于非工作状态和/或被禁止,则处理器核216可以发信号给电路240。这可以导致处理器核216和/或电路240被禁止执行在实现和/或维护RAID(例如RAID 29)时所涉及的一种或多种操作。
可替换地或者附加地,来自选择器电路42的一个或多个控制信号也可以被提供给电路210、电路234和/或电路240。这可以导致总线接口电路212、总线接口电路214、电路240和/或电路234根据与所述一个或多个控制信号相对应或者由其指示出的集成电路40的操作模式而被使能或禁止。
可替换地或者附加地,在这个实施方案中,可以基于或者至少部分地作为由主处理器12提供给主机总线接口电路210的一个或多个信号的结果,在操作602中选择集成电路40的选定操作模式。例如,主机总线接口电路210可以包括以下一个或多个存储位置(未示出),这些位置可以包含可指示出集成电路40的选定操作模式的一个或多个值。这些一个或多个存储位置例如可以包括一个或多个配置寄存器。在系统100重启后,这些一个或多个值可以指示集成电路40的一种默认操作模式,其中取决于例如总线22是PCI-X总线还是PCI ExpressTM总线,使能接口电路212和接口电路214中一个适当、预定的电路。主处理器12可以根据总线22可以遵循或者与之兼容的总线协议,启动和/或执行一个或多个配置周期,在这些周期内,主处理器12可以向电路210提供一个或多个控制信号,所述信号可导致这些一个或多个值中至少一部分的改变,以选择希望集成电路40处于的操作模式。也就是说,至少部分地由主处理器12改变的这些一个或多个值可以指示出希望集成电路40所处于的操作模式。在此之前或与此同时,系统100的操作人员可以选择集成电路40的期望操作模式,并且可以经由用户接口系统16向主处理器12发出一条或多条命令,这些命令可导致主处理器12改变这些一个或多个值,使得改变后的这些一个或多个值指示出这个期望的操作模式。
此后,处理器核216和218可以检查存储在主机总线接口电路210中的一个或多个存储位置中的这些一个或多个值。处理器核218可以生成并且向接口电路204提供一条或多条命令,这些命令可以根据与这些一个或多个值相对应或者由其指示出的集成电路40的操作模式,分别选择哪些协议引擎250A、250B、......250N将被使能或禁止,和/或选择将由协议引擎250A、250B、......250N实现的协议。处理器核218还可以生成并向DMA电路234提供一条或多条命令,所述命令可以根据与所述一个或多个值相对应或者由其指示出的集成电路40的操作模式,使能DMA电路234来控制经由一条或多条链路44由I/O接口电路204接收或者打算由电路204发送的数据和/或命令在I/O接口204和集成电路40中的其他电路之间的交换,或者禁止DMA电路234控制以上交换。
处理器核216可以根据与这些一个或多个值相对应或者由其指示出的集成电路40的操作模式,来确定在给定了由所述一个或多个值指示出的集成电路40的操作模式的情况下,处理器核216和/或RAID操作相关电路240想要处于工作状态和/或被使能,还是处于非工作状态和/或被禁止。
如果处理器核216确定处理器核216和/或RAID操作相关电路240想要处于工作状态和/或被使能,则处理器核216可以发信号给电路240。这可以导致处理器核216和/或电路240执行在实现和/或维护RAID(例如RAID 29)时所涉及的一种或多种操作。
相反,如果处理器核216确定处理器核216和/或RAID操作相关电路240想要处于非工作状态和/或被禁止,则处理器核216可以发信号给电路240。这可以导致处理器核216和/或电路240被禁止执行在实现和/或维护RAID(例如RAID 29)时所涉及的一种或多种操作。
可替换地或者附加地,电路234和/或电路240可以检查存储在电路210中的一个或多个值。这可以导致电路240和/或电路234根据与所述一个或多个值相对应或者由其指示出的集成电路40的操作模式而被使能或禁止。
可替换地或者附加地,在这个实施方案中,可以基于或者至少部分地作为由处理器电路202执行存储在存储器39中的一条或多条程序指令的结果,在操作602中选择集成电路40的选定操作模式。即,根据这个实施方案,集成电路40各自不同的操作模式可以和各自不同的固件程序指令集映像(image)相关联,所述指令集镜像在至少由处理器核216和处理器核218执行时,可导致与被选择的这些各个映像相关联的各个操作模式,并且还可导致集成电路40运行在各个操作模式中。在这个实施方案中,只有单个这样的固件程序指令集映像可以被存储在存储器39、存储器220和/或存储器224中。这单个固件程序指令集映像可以包括例如在集成电路40重启后可由处理器核216和处理器核218执行的一条或多条固件程序指令。这可以导致处理器核218生成并向接口电路204提供一条或多条命令,这些命令可以根据与存储在存储器39、存储器220和/或存储器224中的单个固件程序指令集映像相关联的集成电路40的操作模式,来选择接口212和214中的哪一个将被使能,并且分别选择哪些协议引擎250A、250B、......250N将被使能或禁止,和/或选择将由协议引擎250A、250B、......250N实现的协议。这还可以导致处理器核218生成并向DMA电路234提供一条或多条命令,所述命令可以根据与存储在存储器39中的单个固件程序集映像相关联的集成电路40的操作模式,使能DMA电路234来控制经由一条或多条链路44由I/O接口电路204接收或者打算由电路204发送的数据和/或命令在I/O接口204和集成电路40中的其他电路之间的交换,或者禁止DMA电路234控制以上交换。
由处理器核216执行这些一条或多条程序指令还可以导致处理器核216根据与单个固件程序指令集映像相关联的集成电路40的操作模式,来确定在给定集成电路40的操作模式的情况下,处理器核216和/或RAID操作相关电路240想要处于工作状态和/或被使能,还是处于非工作状态和/或被禁止。
如果处理器核216确定处理器核216和/或RAID操作相关电路240想要处于工作状态和/或被使能,则处理器核216可以发信号给电路240。这可以导致处理器核216和/或电路240执行在实现和/或维护RAID(例如RAID 29)时所涉及的一种或多种操作。
相反,如果处理器核216确定处理器核216和/或RAID操作相关电路240想要处于非工作状态和/或被禁止,则处理器核216可以发信号给电路240。这可以导致处理器核216和/或电路240被禁止执行在实现和/或维护RAID(例如RAID 29)时所涉及的一种或多种操作。
可替换地或者附加地,在这个实施方案中,可以基于或者至少部分地作为由电路204检测到和/或发现正被一条或多条链路44使用的一种或多种各自通信协议的结果,在操作602中选择集成电路40的选定操作模式。即,电路204可以检查经由一条或多条链路44被发送到电路204的、可包含数据和/或命令的信号,并且至少可以部分地基于这种检查,来检测和/或发现一种或多种各自的通信协议,利用所述各自的通信协议,这样的命令和/或数据可能已经通过一条或多条链路44被发送到电路204。电路204可以向处理器核218提供一个或多个信号,所述信号可以指示出这些一种或多种所检测和/或发现的协议,并且可以根据这些检测到的和/或发现的协议,来分别选择哪些协议引擎250A、250B、......250N将被使能或禁止,和/或选择将由协议引擎250A、250B、......250N实现的一种或多种协议。至少部分地基于由电路204提供给处理器核218的指示,处理器核218可以生成并向DMA电路234提供一条或多条命令,所述命令可以使能DMA电路234来控制经由一条或多条链路44由I/O接口电路204接收或者打算由电路204发送的数据和/或命令在I/O接口204和集成电路40中的其他电路之间的交换。从选择器电路42提供给GPIO接口电路248的一个或多个信号、由主处理器12提供给主机总线接口电路210的一个或多个信号、和/或由处理器电路202执行存储在存储器39中的一条或多条程序指令可被用来例如以前述方式来选择处理器核216和/或RAID操作相关电路240是想处于工作状态和/或被使能,还是处于非工作状态和/或被禁止,并且选择接口212和214中的哪一个将被使能。
在集成电路40的选定操作模式已被选为操作602的结果后,集成电路40可以在选定的操作模式下运行,如图5中的操作604所示。例如,可以由图4中所示的系统100’中的集成电路40来实现可被选择为操作602的结果的一种操作模式。除非作出相反的陈述,系统100’的构造和操作可以与图1中所示的系统100的构造和操作基本相同。在集成电路40的这种操作模式下,接口电路204至少可以部分地基于从处理器核218接收到的命令,与RAID 29交换数据和/或命令。处理器核216和电路240可以被禁止,并且可以由RAID控制器卡504取代处理器核216和/或电路240来执行在完成和/或协助在实现和/或维护RAID 29时所涉及的操作中所包括的一种或多种操作。在系统100’中,卡504可以包括总线接口510。例如取决于总线22是否包括PCI ExpressTM总线或者PCI-X总线,系统100’可以包括电路卡槽502(可包括电路卡槽510在内),该槽502例如可以包括遵循PCIExpressTM或PCI-X总线或者与之兼容的扩展槽或接口506。接口506可以包括总线连接器508,该连接器可以在电气和机械上与可包括在电路卡504中的总线扩展接口510中的配对总线连接器512相互配对。当连接器508与连接器512配对时,卡504可以经由总线22与其他设备(例如卡20)之间交换数据和/或命令。
在系统100’中,由卡20从RAID 29接收到的数据和/或命令可以经由总线22从集成电路40被发送到卡504,所述数据和/或命令想要经受和/或被用在一种或多种操作中,这些操作被包括在完成和/或协助在实现和/或维护RAID 29时所涉及的操作中。卡504可以完成这些操作,并且可以向集成电路40发送可以代表和/或体现这些操作的结果的其他命令和/或数据。处理器核218可以向接口204提供一个或多个控制信号,这些信号可导致接口204向RAID 29发送这些其他数据和/或命令,以至少部分地实现和/或维护RAID 29。
可替换地,在集成电路40的另一种操作模式中,除了经由总线22与集成电路40交换数据和/或命令之外或者取代上述交换操作,卡504可以经由一条或多条通信链路500与集成电路40交换数据和/或命令,所述链路500可被耦合到一个或多个各自的物理接口252A、252B、......252N。即,在集成电路40的这一其他操作模式中,物理接口252A、252B、......252N的一个子集可被耦合到一条或多条链路44,并且物理接口252A、252B、......252N的一个不同子集可以经由一条或多条链路500被耦合到卡504。在集成电路40的这一其他操作模式中,处理器核216和电路240可以被禁止,并且由卡20从RAID 29接收到的数据和/或命令可以经由一条或多条链路500从集成电路40被发送到卡504,所述数据和/或命令想要经受和/或被用在一种或多种操作中,这些操作被包括在完成和/或协助在实现和/或维护RAID 29时所涉及的操作中。卡504可以完成这些操作,并且可以向集成电路40发送可以代表和/或体现这些操作的结果的其他命令和/或数据。处理器核218可以向接口204提供一个或多个控制信号,这些信号可导致接口204向RAID 29发送这些其他数据和/或命令,以至少部分地实现和/或维护RAID 29。
因而,总的来说,一个系统实施方案可以包括能被耦合到存储设备的电路卡。电路卡可以包括集成电路。集成电路能够以选定的操作模式来运行。集成电路可以包括第一电路和第二电路。第一电路能够执行至少一种操作,其中至少部分地包括:至少部分地基于其他数据来生成检验数据,至少部分地基于检验数据来重新生成所述其他数据,和/或确定检验数据和其他数据在存储设备中的位置。第二电路能够至少部分地控制至少一个接口,以从所述集成电路向外发送和/或在所述集成电路处接收检验数据和/或其他数据。至少部分地取决于所述集成电路的选定操作模式,第一电路可被使能来执行所述至少一种操作,或者被禁止执行上述操作。
另外,总的来说,一个系统实施方案可以包括含集成电路在内的电路卡。电路卡能够被耦合到总线。集成电路能够以选定的操作模式来运行。集成电路可以包括处理器电路和接口电路。处理器电路可以包括多个处理器核。接口电路能够根据多种不同的协议进行通信。处理器核中的至少一个能够向接口电路发出命令,以根据所述多种不同协议中与所选定的集成电路的操作模式相对应的至少一种协议来通信。
有利的是,这些系统实施方案的集成电路与现有技术相比,可以提供增强的通信能力,并且可以使用更多数量的主机总线和通信协议来通信。同样有利的是,可以对这些系统实施方案的这些集成电路所使用的主机总线和/或通信协议进行选择。此外,这些系统实施方案的集成电路可以包括单个的各自封装和/或“占用面积(foot print)”,其中可以包括可被用来执行RAID相关操作和/或通信协议操作的电路系统。有利的是,这可以提高这些系统实施方案的集成电路的实用性和通用性,这是因为这些集成电路可被用来执行这种RAID相关操作,或者与可执行这些操作的其他RAID控制器设备一起来使用。
这里已使用的术语和表达是描述性的而非限制性的,在使用这些术语和表达时不想排除已描述及示出的特征的任何等同物(或其中一部分),并且可以认识到,在权利要求书的范围内各种修改都是可能的。由此,权利要求书想要覆盖所有这些等同物。
Claims (23)
1.一种方法,包括:
在选定的操作模式下运行集成电路,所述集成电路包括第一电路和第二电路,所述第一电路能够执行至少一种操作,所述至少一种操作至少部分地包括以下操作中的至少一种:至少部分地基于其他数据来生成检验数据,至少部分地基于所述检验数据来重新生成所述其他数据,以及确定所述检验数据和所述其他数据中的至少一种数据在存储设备中的一个或多个位置,所述第二电路能够至少部分地控制至少一个接口,以至少完成从所述集成电路向外发送所述检验数据和所述其他数据当中至少一种数据的操作和在所述集成电路处接收所述检验数据和所述其他数据当中至少一种数据的操作其中的一种操作,并且至少部分地取决于所述选定的操作模式,所述第一电路处于被使能执行所述至少一种操作以及被禁止执行所述至少一种操作这两种状态之一,所述至少一个接口能够根据多个不同的协议进行通信,所述第二电路能够向所述至少一个接口发出命令,要求根据所述多种不同协议中的至少一种协议进行通信,所述至少一种协议与所述集成电路的所述操作模式相对应。
2.如权利要求1所述的方法,其中:
所述第一电路和所述第二电路每一个都包括各自的处理器核电路。
3.如权利要求1所述的方法,进一步包括:
将所述至少一个接口耦合到至少一条通信链路;以及
经由所述至少一条通信链路,完成从所述至少一个接口向外发送所述检验数据和所述其他数据至少之一的操作以及由所述至少一个接口接收上述数据的操作这两种操作之一。
4.如权利要求1所述的方法,进一步包括:
选择所述选定的操作模式,所述选定的操作模式的选择包括向所述集成电路提供至少部分地指示出所述选定操作模式的一个或多个信号。
5.如权利要求1所述的方法,进一步包括:
选择所述选定的操作模式,所述选定的操作模式的选择包括由所述集成电路执行一条或多条程序指令,所述一个或多个程序的执行至少部分地导致对所述选定操作模式的选择。
6.如权利要求1所述的方法,其中:
所述存储设备包括独立磁盘冗余阵列(RAID);以及
所述位置包括所述RAID中的多个位置。
7.如权利要求1所述的方法,其中:
所述检验数据包括所述其他数据的拷贝以及至少部分地基于所述其他数据计算出的误差校正数据之一。
8.一种装置,包括:
能够在选定的操作模式下运行的集成电路,所述集成电路包括第一电路和第二电路,所述第一电路能够执行至少一种操作,所述至少一种操作至少部分地包括以下操作中的至少一种:至少部分地基于其他数据来生成检验数据,至少部分地基于所述检验数据来重新生成所述其他数据,以及确定所述检验数据和所述其他数据中的至少一种数据在存储设备中的一个或多个位置,所述第二电路能够至少部分地控制至少一个接口,以至少完成从所述集成电路向外发送所述检验数据和所述其他数据当中至少一种数据的操作和在所述集成电路处接收所述检验数据和所述其他数据当中至少一种数据的操作其中的一种操作,并且至少部分地取决于所述集成电路的所述选定操作模式,所述第一电路处于被使能执行所述至少一种操作以及被禁止执行所述至少一种操作这两种状态之一,所述至少一个接口能够根据多个不同的协议进行通信,所述第二电路能够向所述至少一个接口发出命令,要求根据所述多种不同协议中的至少一种协议进行通信,所述至少一种协议与所述集成电路的所述操作模式相对应。
9.如权利要求8所述的装置,其中:
所述第一电路和所述第二电路每一个都包括各自的处理器核电路。
10.如权利要求8所述的装置,其中:
所述至少一个接口可被耦合到至少一条通信链路;以及
所述至少一个接口还能够经由所述至少一条通信链路,完成发送以及接收所述检验数据和所述其他数据这两种操作之一。
11.如权利要求8所述的装置,其中:
所述集成电路可接收一个或多个信号,以至少部分地选择所述集成电路的所述选定操作模式。
12.如权利要求8所述的装置,其中:
所述集成电路可执行一条或多条程序指令,所述一条或多条程序指令的执行至少部分地导致对所述选定操作模式的选择。
13.如权利要求8所述的装置,其中:
所述存储设备包括独立磁盘冗余阵列(RAID);以及
所述位置包括所述RAID中的多个位置。
14.如权利要求8所述的装置,其中:
所述检验数据包括所述其他数据的拷贝以及至少部分地基于所述其他数据计算出的误差校正数据之一。
15.一种系统,包括:
可被耦合到存储设备的电路卡,所述电路卡包括集成电路,所述集成电路能够运行在选定的操作模式下,所述集成电路包括第一电路和第二电路,所述第一电路能够执行至少一种操作,所述至少一种操作至少部分地包括以下操作中的至少一种:至少部分地基于其他数据来生成检验数据,至少部分地基于所述检验数据来重新生成所述其他数据,以及确定所述检验数据和所述其他数据中的至少一种数据在存储设备中的一个或多个位置,所述第二电路能够至少部分地控制至少一个接口,以至少完成从所述集成电路向外发送所述检验数据和所述其他数据当中至少一种数据的操作和在所述集成电路处接收所述检验数据和所述其他数据当中至少一种数据的操作其中的一种操作,并且至少部分地取决于所述选定的操作模式,所述第一电路处于被使能执行所述至少一种操作以及被禁止执行所述至少一种操作这两种状态之一,所述至少一个接口能够根据多个不同的协议进行通信,所述第二电路能够向所述至少一个接口发出命令,要求根据所述多种不同协议中的至少一种协议进行通信,所述至少一种协议与所述集成电路的所述操作模式相对应。
16.如权利要求15所述的系统,进一步包括:
包括总线和总线接口槽的电路板;以及
所述电路卡可被耦合到所述总线接口槽。
17.如权利要求16所述的系统,其中:
所述电路板还包括处理器,所述处理器能够经由所述总线以及总线接口槽向所述电路卡提供一个或多个控制信号,向所述电路卡提供所述一个或多个控制信号至少部分地导致对所述选定操作模式的选择。
18.如权利要求15所述的系统,其中:
所述存储设备包括独立磁盘冗余阵列(RAID);以及
所述检验数据包括以下之一:
至少部分地基于所述其他数据而生成的奇偶数据;以及
所述其他数据的拷贝。
19.如权利要求18所述的系统,其中:
所述RAID实现大于1的RAID级;以及
所述检验数据包括所述奇偶数据。
20.如权利要求15所述的系统,其中:
所述集成电路还包括可使用第一总线协议进行通信的第一总线接口以及可使用第二总线协议进行通信的第二总线接口。
21.如权利要求15所述的系统,其中:
所述集成电路进一步包括第一总线、第二总线以及将所述第一总线耦合到所述第二总线的总线桥电路。
22.如权利要求15所述的系统,其中:
所述电路卡进一步包括第一存储器;以及
所述集成电路进一步包括第二存储器和存储器控制器电路,所述存储器控制器电路至少部分地控制所述第一存储器和所述第二存储器。
23.如权利要求15所述的系统,其中:
所述接口能够检测用于向所述接口发送所述检验数据和所述其他数据的通信协议。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/301,028 US7206989B2 (en) | 2002-11-20 | 2002-11-20 | Integrated circuit having multiple modes of operation |
US10/301,028 | 2002-11-20 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1714345A CN1714345A (zh) | 2005-12-28 |
CN100481018C true CN100481018C (zh) | 2009-04-22 |
Family
ID=32297967
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB200380103842XA Expired - Fee Related CN100481018C (zh) | 2002-11-20 | 2003-10-29 | 具有多种操作模式的集成电路 |
Country Status (6)
Country | Link |
---|---|
US (2) | US7206989B2 (zh) |
EP (1) | EP1563382B1 (zh) |
CN (1) | CN100481018C (zh) |
AU (1) | AU2003284360A1 (zh) |
TW (1) | TWI255994B (zh) |
WO (1) | WO2004046913A2 (zh) |
Families Citing this family (36)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030172295A1 (en) * | 2002-03-01 | 2003-09-11 | Onspec Electronics, Inc. | Device and system for allowing secure identification of an individual when accessing information and a method of use |
US7543085B2 (en) * | 2002-11-20 | 2009-06-02 | Intel Corporation | Integrated circuit having multiple modes of operation |
US7206989B2 (en) * | 2002-11-20 | 2007-04-17 | Intel Corporation | Integrated circuit having multiple modes of operation |
US7831653B2 (en) * | 2002-12-13 | 2010-11-09 | Lsi Corporation | Flexible template having embedded gate array and composable memory for integrated circuits |
US20040141518A1 (en) * | 2003-01-22 | 2004-07-22 | Alison Milligan | Flexible multimode chip design for storage and networking |
US7093033B2 (en) * | 2003-05-20 | 2006-08-15 | Intel Corporation | Integrated circuit capable of communicating using different communication protocols |
US20050015655A1 (en) * | 2003-06-30 | 2005-01-20 | Clayton Michele M. | Intermediate station |
US7353302B2 (en) * | 2003-12-31 | 2008-04-01 | Intel Corporation | Selectable communication control between devices communicating using a serial attached SCSI (SAS) protocol |
US7418646B2 (en) * | 2004-03-02 | 2008-08-26 | Intel Corporation | Integrated circuit using wireless communication to store and/or retrieve data and/or check data |
US7596652B2 (en) * | 2004-05-14 | 2009-09-29 | Intel Corporation | Integrated circuit having processor and bridging capabilities |
US7302537B2 (en) * | 2004-10-13 | 2007-11-27 | At&T Bls Intellectual Property, Inc. | Apparatus, systems and methods for backing-up information |
US7405592B2 (en) * | 2004-11-30 | 2008-07-29 | Intel Corporation | Integrated circuit capable of minimizing switch transitions |
US8301810B2 (en) | 2004-12-21 | 2012-10-30 | Infortrend Technology, Inc. | SAS storage virtualization controller, subsystem and system using the same, and method therefor |
CN101470587B (zh) * | 2004-12-21 | 2011-08-17 | 普安科技股份有限公司 | 冗余储存虚拟化子系统 |
US9495263B2 (en) * | 2004-12-21 | 2016-11-15 | Infortrend Technology, Inc. | Redundant SAS storage virtualization subsystem and system using the same, and method therefor |
US7571269B2 (en) * | 2005-08-25 | 2009-08-04 | Silicon Image, Inc. | Covert channel for conveying supplemental messages in a protocol-defined link for a system of storage devices |
WO2007024740A2 (en) | 2005-08-25 | 2007-03-01 | Silicon Image, Inc. | Smart scalable storage switch architecture |
US20070162626A1 (en) * | 2005-11-02 | 2007-07-12 | Iyer Sree M | System and method for enhancing external storage |
JP2009515254A (ja) * | 2005-11-02 | 2009-04-09 | オンスペック エレクトロニク,インコーポレーテッド | 外部記憶装置をエンハンスするシステムおよび方法 |
US7876894B2 (en) * | 2006-11-14 | 2011-01-25 | Mcm Portfolio Llc | Method and system to provide security implementation for storage devices |
US20080113525A1 (en) * | 2006-11-15 | 2008-05-15 | Sandisk Il Ltd. | Compact solid state drive and processor assembly |
US20080288782A1 (en) * | 2007-05-18 | 2008-11-20 | Technology Properties Limited | Method and Apparatus of Providing Security to an External Attachment Device |
US20080184035A1 (en) * | 2007-01-30 | 2008-07-31 | Technology Properties Limited | System and Method of Storage Device Data Encryption and Data Access |
US20080181406A1 (en) * | 2007-01-30 | 2008-07-31 | Technology Properties Limited | System and Method of Storage Device Data Encryption and Data Access Via a Hardware Key |
US20090046858A1 (en) * | 2007-03-21 | 2009-02-19 | Technology Properties Limited | System and Method of Data Encryption and Data Access of a Set of Storage Devices via a Hardware Key |
US20080288703A1 (en) * | 2007-05-18 | 2008-11-20 | Technology Properties Limited | Method and Apparatus of Providing Power to an External Attachment Device via a Computing Device |
US7827439B2 (en) * | 2007-09-28 | 2010-11-02 | Symantec Corporation | System and method of redundantly storing and retrieving data with cooperating storage devices |
US20090241577A1 (en) * | 2008-03-26 | 2009-10-01 | Sanyo Electric Co., Ltd. | Chiller unit, refrigeration system having chiller unit and air conditioner having chiller unit |
US9069918B2 (en) * | 2009-06-12 | 2015-06-30 | Cadence Design Systems, Inc. | System and method implementing full-rate writes for simulation acceleration |
US8473661B2 (en) * | 2009-08-14 | 2013-06-25 | Cadence Design Systems, Inc. | System and method for providing multi-process protection using direct memory mapped control registers |
US8327039B2 (en) * | 2009-08-14 | 2012-12-04 | Cadence Design Systems, Inc. | Integrated DMA processor and PCI express switch for a hardware-based functional verification system |
US20110241844A1 (en) * | 2010-03-30 | 2011-10-06 | Bsh Home Appliances Corporation | Appliance including a radio frequency identification (rfid) device and method for two-way communication of dynamic data by the appliance via the rfid device |
US11030124B2 (en) | 2019-11-07 | 2021-06-08 | Micron Technology, Inc. | Semiconductor device with secure access key and associated methods and systems |
US11132470B2 (en) * | 2019-11-07 | 2021-09-28 | Micron Technology, Inc. | Semiconductor device with secure access key and associated methods and systems |
US11182308B2 (en) | 2019-11-07 | 2021-11-23 | Micron Technology, Inc. | Semiconductor device with secure access key and associated methods and systems |
US11494522B2 (en) * | 2019-11-07 | 2022-11-08 | Micron Technology, Inc. | Semiconductor device with self-lock security and associated methods and systems |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5345565A (en) * | 1991-03-13 | 1994-09-06 | Ncr Corporation | Multiple configuration data path architecture for a disk array controller |
Family Cites Families (53)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5257391A (en) * | 1991-08-16 | 1993-10-26 | Ncr Corporation | Disk controller having host interface and bus switches for selecting buffer and drive busses respectively based on configuration control signals |
JPH0563749A (ja) | 1991-09-02 | 1993-03-12 | Hitachi Ltd | マルチプロトコル通信制御装置 |
EP0784820B1 (de) | 1995-06-07 | 2006-04-26 | International Business Machines Corporation | Vorrichtung und verfahren zur steuerung eines datenbusses |
US5742602A (en) | 1995-07-12 | 1998-04-21 | Compaq Computer Corporation | Adaptive repeater system |
US6038400A (en) | 1995-09-27 | 2000-03-14 | Linear Technology Corporation | Self-configuring interface circuitry, including circuitry for identifying a protocol used to send signals to the interface circuitry, and circuitry for receiving the signals using the identified protocol |
FR2740238B1 (fr) | 1995-10-19 | 1997-12-05 | Sgs Thomson Microelectronics | Cellule integrable ddc dediee a un microprocesseur |
JP3781212B2 (ja) | 1996-06-04 | 2006-05-31 | 株式会社日立製作所 | サブシステム |
JP3245364B2 (ja) | 1996-09-02 | 2002-01-15 | 株式会社日立製作所 | 互いに異なるインタフェースを介して記憶装置を共用する方法及びシステム |
US5841985A (en) | 1996-09-18 | 1998-11-24 | Intel Corporation | Method and apparatus for supporting multiple protocols on a network |
EP0852448A1 (en) * | 1997-01-02 | 1998-07-08 | Nokia Mobile Phones Ltd. | User terminal for mobile communications |
US5922062A (en) | 1997-06-26 | 1999-07-13 | Vlsi Technology, Inc. | Combined IDE and SCSI disk controller interface for common hardware reference platforms |
US6504851B1 (en) | 1997-11-21 | 2003-01-07 | International Business Machines Corporation | Dynamic detection of LAN network protocol |
SE520126C2 (sv) | 1997-12-11 | 2003-05-27 | Axis Ab | I/U-Processor och metod för styrning av periferienheter |
US6246671B1 (en) * | 1998-03-17 | 2001-06-12 | Adtran, Inc. | ISDN terminal adapter-resident mechanism for automatically determining telecommunication switch type and generating associated service profile identifiers |
US6115771A (en) * | 1998-03-31 | 2000-09-05 | Lsi Logic Corporation | Method and system for converting computer peripheral equipment to SCSI-compliant devices |
US6240482B1 (en) * | 1998-06-02 | 2001-05-29 | Adaptec, Inc. | Host adapter having a plurality of register sets and corresponding operating nodes |
US6438678B1 (en) | 1998-06-15 | 2002-08-20 | Cisco Technology, Inc. | Apparatus and method for operating on data in a data communications system |
US6625790B1 (en) | 1998-07-08 | 2003-09-23 | Microsoft Corporation | Method and apparatus for detecting the type of interface to which a peripheral device is connected |
US6253268B1 (en) * | 1999-01-15 | 2001-06-26 | Telefonaktiebolaget L M Ericsson (Publ) | Method and system for multiplexing a second interface on an I2C interface |
US6334160B1 (en) | 1999-01-28 | 2001-12-25 | Hewlett-Packard Co. | Apparatus and method for providing multiple protocols through a common connector in a device |
JP3592950B2 (ja) * | 1999-03-11 | 2004-11-24 | 株式会社東芝 | 周波数逓倍回路 |
US6640278B1 (en) | 1999-03-25 | 2003-10-28 | Dell Products L.P. | Method for configuration and management of storage resources in a storage network |
US6633933B1 (en) * | 1999-09-30 | 2003-10-14 | Oak Technology, Inc. | Controller for ATAPI mode operation and ATAPI driven universal serial bus mode operation and methods for making the same |
US6721872B1 (en) | 1999-10-25 | 2004-04-13 | Lucent Technologies Inc. | Reconfigurable network interface architecture |
JP2001125829A (ja) | 1999-10-28 | 2001-05-11 | Internatl Business Mach Corp <Ibm> | コントローラ装置、ディスクコントローラ、補助記憶装置、コンピュータ装置、および補助記憶装置の制御方法 |
US6728795B1 (en) * | 2000-04-17 | 2004-04-27 | Skyworks Solutions, Inc. | DMA channel for high-speed asynchronous data transfer |
US6928521B1 (en) * | 2000-08-01 | 2005-08-09 | International Business Machines Corporation | Method, system, and data structures for using metadata in updating data in a storage device |
US6690655B1 (en) | 2000-10-19 | 2004-02-10 | Motorola, Inc. | Low-powered communication system and method of operation |
DE10056198A1 (de) | 2000-11-13 | 2002-02-14 | Infineon Technologies Ag | Kommunikationssystem zum Austausch von Daten unter Verwendung eines zusätzlichen Prozessors |
US6742060B2 (en) | 2000-12-29 | 2004-05-25 | Intel Corporation | Look-up table based circuitry for sharing an interrupt between disk drive interfaces |
US6779063B2 (en) | 2001-04-09 | 2004-08-17 | Hitachi, Ltd. | Direct access storage system having plural interfaces which permit receipt of block and file I/O requests |
US6643654B1 (en) * | 2001-06-25 | 2003-11-04 | Network Appliance, Inc. | System and method for representing named data streams within an on-disk structure of a file system |
US6748488B2 (en) * | 2001-09-28 | 2004-06-08 | Sun Microsystems, Inc. | Storage array having multiple erasure correction and sub-stripe writing |
US7318112B2 (en) | 2001-10-11 | 2008-01-08 | Texas Instruments Incorporated | Universal interface simulating multiple interface protocols |
US6845420B2 (en) * | 2001-10-11 | 2005-01-18 | International Business Machines Corporation | System for supporting both serial and parallel storage devices on a connector |
US6871244B1 (en) * | 2002-02-28 | 2005-03-22 | Microsoft Corp. | System and method to facilitate native use of small form factor devices |
AU2003231008B2 (en) | 2002-04-22 | 2008-09-18 | Qualcomm, Incorporated | Method and apparatus for access network authentication |
US7073022B2 (en) | 2002-05-23 | 2006-07-04 | International Business Machines Corporation | Serial interface for a data storage array |
US7193993B2 (en) | 2002-05-23 | 2007-03-20 | Intel Corporation | Integrated medium access control device and physical layer device |
US7080190B2 (en) * | 2002-05-30 | 2006-07-18 | Lsi Logic Corporation | Apparatus and method for providing transparent sharing of channel resources by multiple host machines |
US6895447B2 (en) * | 2002-06-06 | 2005-05-17 | Dell Products L.P. | Method and system for configuring a set of wire lines to communicate with AC or DC coupled protocols |
US6886057B2 (en) * | 2002-06-06 | 2005-04-26 | Dell Products L.P. | Method and system for supporting multiple bus protocols on a set of wirelines |
US20030237022A1 (en) | 2002-06-21 | 2003-12-25 | Thayer Jennifer J. | System and mehod for providing a service log for processor-based devices |
US8005505B2 (en) * | 2002-06-25 | 2011-08-23 | Hewlett-Packard Development Company, L.P. | Identifying remote, external devices and facilitating communication therewith |
US20040015762A1 (en) | 2002-07-22 | 2004-01-22 | Finisar Corporation | Scalable system testing tools |
US7907607B2 (en) | 2002-08-02 | 2011-03-15 | Null Networks Llc | Software methods of an optical networking apparatus with integrated modules having multi-protocol processors and physical layer components |
US7107385B2 (en) | 2002-08-09 | 2006-09-12 | Network Appliance, Inc. | Storage virtualization by layering virtual disk objects on a file system |
US20040064612A1 (en) * | 2002-09-26 | 2004-04-01 | Sandisk Corporation | Method and system for using a memory card protocol inside a bus protocol |
US20040081179A1 (en) * | 2002-10-23 | 2004-04-29 | Gregorcyk Arthur J. | Method and system for selecting between serial storage buses using data signals of the buses |
US7206989B2 (en) | 2002-11-20 | 2007-04-17 | Intel Corporation | Integrated circuit having multiple modes of operation |
US7107381B2 (en) * | 2002-11-20 | 2006-09-12 | Pmc-Sierra, Inc. | Flexible data transfer to and from external device of system-on-chip |
US7543085B2 (en) * | 2002-11-20 | 2009-06-02 | Intel Corporation | Integrated circuit having multiple modes of operation |
US7093033B2 (en) | 2003-05-20 | 2006-08-15 | Intel Corporation | Integrated circuit capable of communicating using different communication protocols |
-
2002
- 2002-11-20 US US10/301,028 patent/US7206989B2/en not_active Expired - Fee Related
-
2003
- 2003-10-29 EP EP03776596.3A patent/EP1563382B1/en not_active Expired - Lifetime
- 2003-10-29 CN CNB200380103842XA patent/CN100481018C/zh not_active Expired - Fee Related
- 2003-10-29 WO PCT/US2003/034368 patent/WO2004046913A2/en not_active Application Discontinuation
- 2003-10-29 AU AU2003284360A patent/AU2003284360A1/en not_active Abandoned
- 2003-11-12 TW TW092131705A patent/TWI255994B/zh not_active IP Right Cessation
-
2006
- 2006-03-23 US US11/389,340 patent/US7640481B2/en not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5345565A (en) * | 1991-03-13 | 1994-09-06 | Ncr Corporation | Multiple configuration data path architecture for a disk array controller |
Also Published As
Publication number | Publication date |
---|---|
EP1563382A2 (en) | 2005-08-17 |
AU2003284360A8 (en) | 2004-06-15 |
WO2004046913A2 (en) | 2004-06-03 |
US7206989B2 (en) | 2007-04-17 |
WO2004046913A3 (en) | 2004-07-29 |
US20040098645A1 (en) | 2004-05-20 |
TWI255994B (en) | 2006-06-01 |
US20060168367A1 (en) | 2006-07-27 |
AU2003284360A1 (en) | 2004-06-15 |
EP1563382B1 (en) | 2013-11-20 |
CN1714345A (zh) | 2005-12-28 |
US7640481B2 (en) | 2009-12-29 |
TW200415470A (en) | 2004-08-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100481018C (zh) | 具有多种操作模式的集成电路 | |
CN100555259C (zh) | 具有多种操作模式的集成电路 | |
CN100412835C (zh) | 使用不同通信协议来通信的方法、装置和系统 | |
US10236974B2 (en) | Rerouting bus data signals from faulty signal carriers to existing healthy signal carriers | |
CN102810081B (zh) | 光纤信道输入/输出数据路由系统和方法 | |
CN101120324B (zh) | 用于在存储设备中设置保留区域的存储管理装置和方法 | |
CN104246742A (zh) | 用于远程客户端访问存储设备的命令验证的技术 | |
JPH05197582A (ja) | 動的再構成が可能な多数決システムを有するフォールト・トレラント処理装置 | |
US7493370B2 (en) | Two stage method for dynamically determining primary adapter in a heterogeneous N-way adapter configuration | |
JP6617461B2 (ja) | 制御装置、制御プログラム、及び制御方法 | |
US10606508B1 (en) | Storage system | |
US9985873B1 (en) | Data storage system providing asymmetric multipath storage access | |
CN118642906B (zh) | 测试治具、方法、系统、设备、介质及产品 | |
EP4318241A1 (en) | Storage device and storage system | |
JP6777722B2 (ja) | 経路選択ポリシー設定システム、及び、経路選択ポリシー設定方法 | |
CN118312099A (zh) | 一种基于GPU运算的Raid加速方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20090422 Termination date: 20181029 |