CN101627376B - 用于无需sas扩展器的改进的sata设备交互的装置和方法 - Google Patents
用于无需sas扩展器的改进的sata设备交互的装置和方法 Download PDFInfo
- Publication number
- CN101627376B CN101627376B CN2007800368810A CN200780036881A CN101627376B CN 101627376 B CN101627376 B CN 101627376B CN 2007800368810 A CN2007800368810 A CN 2007800368810A CN 200780036881 A CN200780036881 A CN 200780036881A CN 101627376 B CN101627376 B CN 101627376B
- Authority
- CN
- China
- Prior art keywords
- advanced technology
- technology attachment
- serial advanced
- adds
- add
- 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
-
- 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/0661—Format or protocol conversion arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/382—Information transfer, e.g. on bus using universal interface adapter
- G06F13/387—Information transfer, e.g. on bus using universal interface adapter for adaptation of different data processing systems to different peripheral devices, e.g. protocol converters for incompatible systems, open system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
-
- 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/0604—Improving or facilitating administration, e.g. storage management
- G06F3/0607—Improving 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
-
- 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/0626—Reducing size or complexity of storage systems
-
- 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/0658—Controller construction 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)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computer Hardware Design (AREA)
- Information Transfer Systems (AREA)
- Small-Scale Networks (AREA)
Abstract
用于在SATA存储设备中集成SAS/STP控制的装置,电路系统和相关方法。其特征和方面允许SATA存储设备直接耦合到SATA主机或STP启动器,而不需要介于中间的SAS扩展器。
Description
技术领域
本发明一般地涉及包括串行附加SCSI(“SAS”)启动器设备和串行高级技术附加(“SATA”)目标设备的联网存储系统,并且更具体地,涉及SATA设备的改进设计,用于结合最少的SAS能力来消除对启动器和目标设备之间的SAS扩展器的需要。
背景技术
在存储联网领域中,在存储设备(例如,盘驱动器)和相关联的控制器设备(例如,存储子系统控制器和/或主机系统适配器)之间利用高速串行互连已变得普遍。与以前宽的并行总线互连体系相比,高速串行互连利用较简单的、较低成本的电缆连接(cabling)。具体地,SAS已被作为用于存储设备和相关控制器的优选高速串行互连而广泛采用。SAS标准(例如,可在www.t10.org公开获得的)允许在利用较简单的较低成本的高速串行电缆连接和相关协议的同时,利用长的标准化SCSI命令集。SATA提供了一种也可以利用在适当的控制设备和SATA存储设备(例如盘驱动器)之间的高速SATA互连来传输的不同的命令结构。
在一种特别流行的配置中,可以利用在SAS标准中规定的SATA隧道协议(“STP”)在SAS高速串行互连上传输SATA交换。STP利用SAS指令的特定序列来初始地建立所希望的逻辑互连。一旦STP协议在SAS启动器和SATA设备之间建立了SAS逻辑互连,所有后续交换都利用SATA命令结构,以便在其间进行命令、状态和数据的交换。
当前,SATA设备在若干方面努力降低设备的成本和复杂性。具体地,当前的SATA设备不支持初始建立所希望的SAS互连所需的任何SAS/STP协议交换。但是,SAS规范提供了通过中间SAS扩展器的SAS启动器到SATA目标设备的连接。SAS扩展器在扩展器的一个端口上与SAS启动器交互,以便初始建立到耦合到SAS扩展器的另一个端口上的所识别出的SATA设备的所希望的SAS/STP连接。一旦SAS启动器和SAS扩展器成功地建立了到所识别出的SATA设备的所希望的SAS/STP连接,通过经过SAS扩展器,SAS启动器和SATA设备之间的所有其他交换都利用标准SATA通信和命令协议。
在所有情况下提供SAS扩展器的需要产生了一个问题,即,SAS扩展器是存储网络的相对复杂昂贵的组件。具体地,在制造或用于测试定制SATA设备的设计的工程测试环境中,制造商的测试环境必须包括昂贵复杂的SAS扩展器以便实现所需的测试。
另一种方法是在定制的SATA设备中集成完整功能的SAS/STP目标逻辑,以便在建立所希望的互连时允许SATA设备直接与SAS启动器通信。然而,这种完整功能SAS/STP逻辑组件给SATA设备控制逻辑增加了显著的成本和复杂性,而没有给整个系统体系提供实质益处。这种复杂电路与SATA设备的集成在附加电路管芯(die)面积和利用SATA设备的系统软件的复杂性两个方面都是昂贵的。系统软件必须被调整为在SATA设备内适当地配置完整功能的SAS/STP组件,但仅仅是短暂地利用SAS/STP协议以便建立SAS互连。
从上述讨论明显可见,需要一种改进的电路、系统和相关方法,以便允许建立与SATA设备的所需SAS/STP连接,而不需要介于SAS启动器和改进的SATA设备之间的SAS扩展器。
发明内容
通过提供用于将SATA存储设备直接耦合到SATA主机或STP启动器而不需要介于中间的SAS扩展器的电路、系统和方法,本发明解决了上述和其他问题,从而推进了可用技术的状态。直接耦合到SATA或STP启动器的改进的SATA存储设备的PHY层组件执行用于检测到的启动器的适当速度协商(negotiation),并且允许通过任意协议的交换。
在本发明的一个方面,提供了一种集成在SATA存储设备中的电路。该电路包括用于处理与附加的主机设备的SATA协议交换的SATA协议核心。该电路还包括用于处理与附加的主机设备的STP协议交换的STP核心。该电路还包括PHY链路控制元件,其耦合到SATA协议核心和STP协议核心,并且适用于处理与附加的主机设备的STP和SATA链路级别的交换。
本发明的另一个方面提供了一种与SATA存储设备的操作相关联的方法。该方法包括将SATA存储设备耦合到SATA主机或STP启动器。该方法还包括操作SATA存储设备,从而SATA设备响应SATA主机或响应STP启动器,而不需要介于中间的SAS扩展器。
附图说明
图1是根据本发明的各特征和方面改进的SATA存储设备的示例实施例的方框图。
图2是提供了图1的PHY控制元件的附加示例细节的方框图。
图3是根据本发明的各特征和方面的提供改进的SATA存储设备的STP和SATA耦合的示例电路的方框图。
图4是根据本发明的各特征和方面的操作改进的SATA存储设备的示例方法的流程图。
图5是提供根据图4的方法的SATA设备的进行中操作(ongoingoperation)的示例细节的方法的流程图。
图6是示例状态机模型,其描述用于操作根据本发明的各特征和方面的改进的SATA存储设备的逻辑。
具体实施方式
图1是根据本发明的各特征和方面改进的、允许耦合到SATA主机120或STP启动器122的SATA存储设备100的方框图。如上所述,SATA主机120可以直接耦合到标准SATA存储设备。然而,如当前在本领域中所实践的,必须通过SAS扩展器耦合STP启动器设备122,以允许将其耦合到SATA存储设备。相反,根据本发明的各特征和方面改进SATA存储设备100,以便允许STP启动器122和SATA存储设备100之间的直接耦合,而不需要介于中间的SAS启动SAS扩展器。
改进的SATA存储设备100可以包括用于处理与SATA主机120或与STP启动器122的SATA交换的SATA存储设备应用层108。因此SATA存储设备应用层108负责与启动器交换的SATA信息的所有处理,而不管其是通过SATA连接还是STP连接交换的。应用层108耦合到传输层和两个链路之一,每个传输层对应于一种支持的协议。SATA核心104包括分别与SATA或STP启动器120或122的SATA信息的交换直接交换相关联的链路和传输层逻辑。STP核心106包括改进的SATA存储设备100所支持的SAS/STP协议的链路和传输层实现的逻辑。SAS/STP核心106可被实现为在传输层中对两种链路的完整功能的SAS/STP核心协议,或可被实现为仅提供改进的SATA存储设备100中所需的最小功能的简化核心。根据本发明的各特征和方面,STP核心106仅需的特征是允许打开/建立与SAS/STP启动器122的SAS/STP连接的充分特征,以及允许关闭以前打开的连接的附加逻辑特征。例如,对SAS OpenAddress帧和相应关闭原语(primitive)的处理是STP核心106允许根据本发明的各特征和方面的改进支持的仅需的特征。
实现相应的链路和传输逻辑的SATA核心104和STP核心106两者均耦合到负责高速串行链路的低层物理控制的PHY控制102。根据本发明的各特征和方面,改进PHY控制102以便检测与SATA主机120还是与STP启动器102建立特定连接。具体地,PHY控制102负责检测分别指示STP启动器或SATA主机连接的SAS/STP带外(“OOB”)信号已被传输和/或接收,或SATA OOB序列已被传输和/或接收。
本领域的普通技术人员将容易认识到完全运行的SATA存储设备100内的若干附加功能元件。这些其他的功能元件是本领域普通技术人员公知的,并且为了该讨论的简单和简短从图1中忽略了这些元件。另外,本领域的普通技术人员将容易认识到,示出的功能元件和其他元件可被进一步集成为逻辑电路,或可被划分到改进的SATA存储设备100的电路内的任意数目的不同功能模块内。这些设计选择是本领域的普通技术人员公知的。
图2是提供了PHY控制元件102的附加示例细节的方框图。具体地,PHY控制元件102包括用于处理SAS速度协商的逻辑200。作为设计选择,SAS速度协商逻辑200可被实现为状态机或用于实现组合逻辑的任意其他模型。具体地,SAS速度协商逻辑200可以包括用于识别和交换与SAS速度协商的开始相关联的OOB序列的SAS OOB处理逻辑202。如上所述,SAS OOB处理逻辑202可被实现为状态机或实现适合于预期目的的组合逻辑的任意其他模型。
PHY控制元件102还包括SATA速度协商逻辑204。同样可以根据状态机模型或组合逻辑的任意其他适合的实施例来实现SATA速度协商逻辑204,以实现预期的SATA速度协商功能。具体地,SATA速度协商逻辑204可以包括用于识别和与适当SATA主机交换SATA适应OOB序列(SATA compliant OOB sequence)的SATA OOB处理逻辑206。如上所述,可以根据状态机模型或用于实现适当组合逻辑的任意其他适合的模型实现SATA OOB处理逻辑206。
本领域的普通技术人员将容易认识到用于实现SAS速度协商逻辑元件200和SATA速度协商逻辑元件204两者的多种特定实施例,SAS速度协商逻辑元件200和SATA速度协商逻辑元件204中的每一个分别包括相应的OOB处理逻辑202和206。用于SAS速度协商(包括SAS OOB处理)和SATA速度协商(包括SATA OOB序列处理)两者的特定信令标准和序列是本领域普通技术人员公知的,并且被详细记载在可容易获得的已出版标准内(例如,见www.t10.org)。
本领域的普通技术人员将容易认识到完全运行的PHY控制逻辑元件102内的各种附加功能元件。这些附加特征是本领域普通技术人员公知的,并且此处仅为了该讨论的简单和简短而将其忽略。另外,本领域的普通技术人员将容易地认识到,示出的功能元件可被集成在或划分到PHY控制逻辑元件102内更多或更少的模块内。这些设计选择是本领域的普通技术人员公知的。
根据本发明的各特征和方面,PHY控制102包括SAS速度协商和SATA速度协商两者,它们全部被包含在SATA存储设备内。因此,根据本发明的各特征和方面的SATA存储设备能够连接到SATA主机或直接耦合到STP启动器,而不需要介于中间的SAS扩展器。
图3示出了诸如图1所示的改进的SATA设备的附加示例组件。改进的SATA存储设备可以包括核心逻辑300,其包括耦合到相应的STP和SATA链路和传输层逻辑302的PHY控制状态机303。如图3所示,STP和SATA链路和传输层逻辑以及PHY控制状态机逻辑元件可被设计为集成在单个集成电路内,或可被划分在多个逻辑电路元件内。
核心逻辑300可以包括CPU接口和寄存器元件301,其提供到SATA设备应用层108内的控制器CPU(未示出)的标准化接口。这种CPU例如可以提供对附加的启动器和SATA应用层108之间的交换的整体控制,以便处理通过SATA协议或STP协议交换的SATA信息。CPU接口和寄存器元件301可以包括用于配置逻辑核心300的操作以及用于评估操作逻辑核心300的状态的标准寄存器集合。作为本领域的普通技术人员公知的设计选择,可由应用层108的外部CPU访问的寄存器可以是可被映射为I/O端口,或可寻址的存储器。
逻辑核心300内的链路层302一般实现用于元件304中的串行SCSI协议(“SSP”)和用于元件306中的SATA链路控制协议的组合逻辑。SSP链路元件304提供用于通过SAS通信介质向附加的STP启动器传输STP协议的链路和传输层管理。SATA链路元件306提供了用于应用层108和附加的SATA主机之间的交换的SATA协议链路和传输层控制。SSP链路元件304和SATA链路元件306通过多路复用器308耦合到SAS通信介质。为了应用,解码器310通过多路复用器308将从收发器322接收的SAS或SATA通信解码到SSP链路元件304或SATA链路元件306。为了应用,经由收发器322,编码元件312将通过多路复用器308分别来自SSP链路304或SATA链路306的SAS/SSP信息或SATA信息编码到串行通信介质。当元件310和312编码和解码时,收发器322调制和解调高速串行介质上的传输。
公共缓冲区逻辑314为SSP链路元件304和SATA链路元件306两者提供了帧管理和流控制逻辑。公共缓冲区控制元件314内的帧检查器316验证所有收到的帧的发射和传输错误。根据SAS和SATA交换的标准协议管理,帧可被拒绝,或当可以利用与收到的帧相关联的错误检测和校正信息时可以校正帧。SAS/SATA流控制元件318向SSP链路元件304并且向SATA链路元件306施加流控制信号,指出接收缓冲区330和/或传输缓冲区340内的当前可用空间。SAS/SATA帧构建元件320代表构造用于在SSP链路304和/或在SATA链路306上传输的适当帧结构和编码的逻辑。
SATA设备应用层108可以包括可在改进的SATA存储设备和附加的SATA主机或STP启动器之间交换的SATA数据的应用层应用中使用的多个元件。如所提及的,应用层元件108可以包括接收缓冲区330和传输缓冲区340。除了包括分别以帧数据332和344表示的这种缓冲区的标准存储器组件之外,缓冲区可以包括在DMA交互中特别有用的相关状态和控制信息。因此,RX_DMA和帧状态334表示可用于在接收DMA接口336的控制下对帧数据332的DMA交换的控制的DMA信息和其他状态信息。以类似的方式,TX_DMA状态342提供关于涉及传输缓冲区340内的帧数据344的DMA传输的有用信息。传输DMA接口346代表通过传输缓冲区340执行这种DMA传输的适当控制逻辑,而接收DMA接口336为通过接收缓冲区330的DMA传输提供类似的控制逻辑。元件350代表这样的逻辑,其管理应用层元件108和核心逻辑300中的下层之间的整体交互,核心逻辑300中的下层实现SAS/SSP链路和传输控制以及SATA链路和传输控制,以及下层PHY链路层控制。
通用或专用处理器(图3中未示出)耦合到应用层108的其他元件并与应用层108的其他元件交互,以便控制SATA设备的整体操作。本领域的普通技术人员易于认识到可用于完整功能SATA存储设备内的很多种的附加元件。具体地,与控制和操纵持久存储在这种存储设备内的数据相关联的逻辑元件是本领域的普通技术人员公知的,并且此处为了本讨论的简单和简短而将其忽略。
根据本发明的各特征和方面,包括SSP链路和传输层控制304以及SATA链路和传输层控制306两者的功能的链路层302均被耦合到核心逻辑300内的公共PHY控制元件303。因此,根据本发明的各特征和方面利用这种逻辑的改进的SATA存储设备能够耦合到SATA主机或STP启动器,而不需要以前在STP协议和标准SATA协议之间进行转变所依赖的介于中间的SAS扩展器。因此,通过消除对SAS的需要,利用图3所示的逻辑电路的存储设备允许更灵活的系统集成和制造测试。
图4是描述根据本发明的各特征和方面用来操作图1到3中例举的改进的SATA存储设备的方法的流程图。在步骤400,当适合于该时段的特定的应用环境时,将改进的SATA存储设备耦合到SATA主机或耦合到STP启动器。组成部分402则表示根据适当连接协议的改进的SATA存储设备的进行中操作,所述适当连接协议对应于耦合该存储设备的特定类型的启动器。例如,在通过组成部分400的操作将改进的存储设备耦合到SATA主机的情况下,SATA存储设备的进行中操作符合SATA协议。在另一方面,在通过上述组成部分400的操作将改进的存储设备耦合到STP启动器的情况下,改进的SATA存储设备的进行中操作基于SAS/STP协议规范。因此,与现有的SATA设备相比,改进的SATA设备提供了更大的灵活性,即,它可被直接耦合到SATA主机或可被直接耦合到STP启动器,而不需要任何介于中间的SAS扩展器。如上所述,这种灵活性在制造测试环境中特别有用,从而使得可以在任意可获得的启动器上测试该SATA存储设备,而不需要昂贵的复杂的SAS扩展器来执行制造测试和验证。这种灵活的改进的SATA存储设备还可被有效地应用于以下端用户应用,其中特定的系统可能需要直接耦合到改进的SATA设备,而不需要获取和配置昂贵、复杂的SAS扩展器。
图5是提供在上述组成部分402中的改进的SATA设备的进行中操作的示例附加细节的流程图。如上所述,根据本发明的各特征和方面的改进的SATA设备适用于处理SAS和SATA速度协商交换。在建立SAS打开连接或SATA连接时,两个协议中的第一步提供速度协商,以便得出SATA存储设备和启动器之间相互接受的用于通过打开的连接的进行中通信的速度。SAS和SATA协议两者通过传输OOB序列发起这种速度协商。这种OOB序列一般是用于传输控制和数据的正常协议交换的情况之外的信号。
因此,图5的组成部分500首先操作为等待接收SAS或SATA OOB序列,SAS或SATA OOB序列表示作为在改进的SATA存储设备和某个适当启动器之间建立连接的前奏的速度协商处理的启动。组成部分502操作为确定收到的OOB序列表示SAS启动器的OOB序列还是SATA主机的OOB序列。根据本发明的各特征和方面,PHY层适用于识别并且处理SAS OOB序列和SATA OOB序列两者。如果PHY层确定收到的OOB序列表示SAS协议OOB序列,那么组成部分504接着操作为执行与附加的STP协议启动器的速度协商交换。然后,组成部分506操作为根据特定的应用需要和STP协议执行改进的SATA存储设备和STP启动器之间的数据和控制信息交换。最后,组成部分512操作为响应于STP应用所希望的所有数据和控制信息交换的完成,关闭打开的连接。
相反,如果组成部分502确定收到的OOB序列表示SATA主机的OOB序列,那么组成部分508操作为执行与附加的SATA主机的SATA速度协商。如上所述,对于SATA速度协商所交换的特定信号类似于SAS速度协商处理中的信号,但是也足够不同从而需要用于速度协商的不同处理。因此组成部分508完成改进的SATA存储设备和附加的SATA主机之间的速度协商处理。然后组成部分510在改进的SATA存储设备和附加的SATA主机之间执行符合SATA协议的交换。
本领域的普通技术人员容易认识到在完整功能的改进的SATA存储设备中图4和5的方法的附加步骤。如相应的SAS和SATA协议规范所规定的,这些附加步骤是本领域的普通技术人员公知的。用于这些和其他公知串行附加协议标准的协议规范是本领域的普通技术人员易于在例如www.t10.org和其他公知公布站点获得的。任意这种附加步骤和细节是本领域的普通技术人员公知的,并且此处为了本讨论的简短而被简单忽略。
图6是一个状态机图,其表示用于建立与SATA主机或与SAS启动器的连接的根据本发明的各特征和方面的改进的SATA存储设备的示例操作。本领域的普通技术人员易于理解,通常根据状态机描述和示意图为用于协议设备的电路实现建模。因此,图6的状态机表示当耦合到SATA主机时根据SATA协议或当直接耦合到STP启动器时根据SAS协议操作改进的SATA存储设备的根据本发明的各特征和方面的示例电路实施例。另外,本领域的普通技术人员易于认识到将状态机图示直接转变为相应组合逻辑电路的标准设计方式和方法。
状态600表示状态机响应重置条件(例如,通电重置或类似的硬件或软件重置操作)进入的初始状态。状态机保持在初始状态600中直到收到指示COMINIT SAS OOB序列或COMRESET SATA OOB序列的事件。虽然这两个序列是无法区分的,但在相关规范中它们被称为不同的名称。当收到这种序列时,状态机认识到附加了某个主机/启动器,并且转变到状态601。然后状态机以相同的COMINIT/COMRESET序列响应收到的OOB序列,并且立刻转变到状态602。然后,根据SAS或SATA规范,状态机保持在状态602中,等待接收下一个OOB序列。在SAS规范中,速度协商处理接着要求要被交换的COMSAS OOB序列。在SATA标准中,接着交换COMWAKE OOB序列。以PHY链路控制状态机逻辑区分这两个OOB序列。
状态机模型保持在状态602,直到收到COMSAS SAS OOB序列,或直到收到COMWAKE SATA OOB序列。COMSAS OOB序列的接收表示附加的设备是SAS启动器设备。SATA COMWAKE OOB序列的接收表示附加的设备是SATA主机设备。如果收到COMSAS OOB,状态机转变到状态603并且通过发送应答COMSAS OOB序列来完成COMSAS OOB交换。然后,状态机转变到状态606,状态606表示用于完成SAS速度协商的所有处理。状态606表示完成SAS速度协商处理的整个状态机。完成SAS速度协商处理的状态机是本领域普通技术人员公知的,并且被记载在本领域的普通技术人员所公知和可容易获得的相关SAS规范中。此处为了本讨论的简单和简短忽略了完成该SAS速度协商处理的细节。在被表示为状态机606的SAS速度协商处理完成之后,改进的SATA存储设备转变到组成部分620,其代表与附加的SAS/STP启动器的进行中通信。再次,组成部分620代表用于在改进的SATA存储设备和附加的STP启动器之间交换信息的状态机的所有处理或其他组合逻辑和处理序列。如上面针对状态606所述,用于完成这种STP交换的状态机逻辑和其他组合逻辑或处理步骤是本领域的普通技术人员公知的,并且被记载在可容易获得的适当SAS/STP规范中。此处为了本讨论的简单和简短忽略了这些细节。
再次返回状态602,如果交换COMRESET SATA OOB序列,并且收到COMWAKE OOB序列(指示附加了SATA主机),状态机转变到表示已经检测到SATA主机的状态604。状态机发送应答COMWAKEOOB序列,并且然后转变到代表完成标准SATA速度协商处理所需的所有处理的状态608。标准SATA速度协商处理的细节是本领域的普通技术人员公知的,并且记载在本领域的普通技术人员可容易获得的SAS/SATA规范发适用部分中。在完成SATA速度协商状态机处理时,状态机转变到代表与附加的SATA主机交换信息的所有处理的状态630。与这种SATA交换相关联的状态机和其他组合逻辑或处理步骤是本领域的普通技术人员公知的,并且被记载在本领域的普通技术人员可容易获得的适当SAS/SATA规范内。
本领域的普通技术人员容易认识到,为了本讨论简短起见,极大地简化了图6的状态机,以便仅指出与用于改进SATA存储设备的本发明的各特征和方面相关的特定状态转变。更具体地,图6的状态机表示改进的SATA存储设备的处理,其允许PHY链路层逻辑检测与SATA主机的连接或到STP启动器的直接连接,而不需要介于中间的SAS扩展器。因此,根据本发明的各特征和方面,利用图6的示例状态机的改进的SATA存储设备的灵活性得以改进,允许在缺少介于中间的SAS扩展器的情况下直接耦合到SATA主机或STP启动器。本领域的普通技术人员容易理解可用于实现改进的SATA设备的完整功能的PHY链路层或其他相关协议层的若干附加状态。另外,本领域的普通技术人员将认识到可用于实现根据本发明的各特征和方面的SATA存储设备的改进特征的各种等同状态机。另外,本领域的普通技术人员将认识到对该简化的状态机的修改,以便使得能够进行错误恢复以及允许配置选择,以便将PHY链路层限制为特定类型的处理,诸如仅为SAS或仅为SATA。
虽然在附图和前面的描述中图示和描述了本发明,这种图示和描述的性质应当被认为是示例而不是限制的。已经示出和描述了本发明的一个实施例和对其的微小改变。希望保护落在本发明的精神内的所有修改和改变。本领域的技术人员将会认识到落在本发明的范围内的上述实施例的变形。具体地,本领域的普通技术人员将容易地认识到可以等同地在电子电路中,或作为通用或专用处理器的适当编程的指令实现本发明的各特征和方面。作为设计选择,电路和编程设计的这种等同性是本领域的技术人员公知的。结果,本发明不限于上面讨论的特定例子和图示,而是仅通过所附权利要求和其等同物限定本发明。
Claims (14)
1.一种集成在串行高级技术附加存储设备(100)内的电路(300),该电路包括:
用于处理与附加的主机设备的串行高级技术附加协议交换的串行高级技术附加协议核心(104);
该电路的特征在于该电路还包括:
用于处理与附加的主机设备的串行高级技术附加隧道协议交换的串行高级技术附加隧道协议核心(106);以及
PHY链路控制元件(102),其耦合到串行高级技术附加协议核心并且耦合到串行高级技术附加隧道协议核心,并且适用于处理与附加的主机设备的串行高级技术附加隧道协议和串行高级技术附加链路级交换,
其中串行高级技术附加存储设备可直接耦合到串行高级技术附加主机(120),并且串行高级技术附加存储设备可耦合到串行高级技术附加隧道协议启动器(122),而不需要介于中间的串行附加SCSI扩展器。
2.如权利要求1的电路,
其中PHY链路控制元件(102)还包括:
串行附加SCSI速度协商元件(200);和
串行高级技术附加速度协商元件(204)。
3.如权利要求2的电路,
其中所述串行附加SCSI速度协商元件(200)还包括:
用于在速度协商中接收串行附加SCSI带外序列的串行附加SCSI带外元件(202),
其中PHY链路适用于响应于接收到串行附加SCSI带外序列而与串行高级技术附加隧道协议核心交互。
4.如权利要求2的电路,
其中串行高级技术附加速度协商元件(204)还包括:
用于在速度协商中接收串行高级技术附加带外序列的串行高级技术附加带外元件(206),
其中PHY链路适用于响应于接收到串行高级技术附加带外序列与串行高级技术附加协议核心交互。
5.如权利要求1的电路,
其中串行高级技术附加隧道协议核心适用于仅处理串行附加SCSI交换,以便建立和关闭串行高级技术附加存储设备和串行附加SCSI启动器之间的串行高级技术附加隧道协议连接(502,504,506,512)。
6.一种与串行高级技术附加存储设备的操作相关联的方法,该方法的特征在于该方法包括:
将串行高级技术附加存储设备耦合到串行高级技术附加主机或串行高级技术附加隧道协议启动器;和
操作串行高级技术附加存储设备,从而使得串行高级技术附加存储设备直接响应串行高级技术附加主机,以及使得串行高级技术附加存储设备响应串行高级技术附加隧道协议启动器,而不需要介于中间的串行附加SCSI扩展器。
7.如权利要求6的方法,
其中操作步骤还包括:
建立与串行高级技术附加隧道协议启动器设备的串行高级技术附加隧道协议连接;
通过该串行高级技术附加隧道协议连接与串行高级技术附加隧道协议启动器交换串行高级技术附加帧;和
关闭串行高级技术附加隧道协议连接。
8.如权利要求6的方法,
其中操作步骤还包括:
建立与串行高级技术附加主机设备的串行高级技术附加连接;和
通过该串行高级技术附加连接与串行高级技术附加主机交换串行高级技术附加帧。
9.如权利要求7的方法,
其中建立与串行高级技术附加隧道协议启动器设备的串行高级技术附加隧道协议连接的步骤还包括:
与串行高级技术附加隧道协议启动器设备执行速度协商。
10.如权利要求8的方法,
其中建立与串行高级技术附加主机设备的串行高级技术附加连接的步骤还包括:
与串行高级技术附加主机设备执行速度协商。
11.如权利要求8的方法,
其中建立与串行高级技术附加主机设备的串行高级技术附加连接的步骤还包括:
识别串行高级技术附加带外信号;
响应于识别出串行高级技术附加带外序列,与串行高级技术附加主机设备执行串行高级技术附加协议速度协商;
识别串行附加SCSI带外序列;以及
响应于识别出串行附加SCSI带外序列,与串行高级技术附加隧道协议启动器设备执行串行附加SCSI协议速度协商。
12.一种串行高级技术附加存储设备(100),其特征在于该串行高级技术附加存储设备包括:
串行高级技术附加存储设备内的用于与串行高级技术附加主机设备建立串行高级技术附加连接,或与串行高级技术附加隧道协议启动器设 备建立串行高级技术附加隧道协议连接的装置(102,104,106);和
串行高级技术附加存储设备内的用于直接与串行高级技术附加主机设备进行串行高级技术附加协议交换以及与串行高级技术附加隧道协议启动器设备执行串行高级技术附加隧道协议交换而不需要介于中间的串行附加SCSI扩展器的装置(108)。
13.如权利要求12的串行高级技术附加存储设备,
其中用于建立的装置还包括:
用于识别串行附加SCSI速度协商协议交换,以便与串行高级技术附加隧道协议启动器建立串行高级技术附加隧道协议连接的装置(200);和
用于识别串行高级技术附加速度协商协议交换,以便与串行高级技术附加主机建立串行高级技术附加连接的装置(204)。
14.如权利要求12的串行高级技术附加存储设备,
其中用于建立的装置(200,204)还包括:
用于识别串行附加SCSI带外交换,以便与串行高级技术附加隧道协议启动器建立串行高级技术附加隧道协议连接的装置(202);和
用于识别串行高级技术附加带外交换,以便与串行高级技术附加主机建立串行高级技术附加连接的装置(206)。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/538,900 | 2006-10-05 | ||
US11/538,900 US7814245B2 (en) | 2006-10-05 | 2006-10-05 | Apparatus and methods for improved SATA device interaction without a SAS expander |
PCT/US2007/079216 WO2008045670A2 (en) | 2006-10-05 | 2007-09-21 | Apparatus and methods for improved sata device interaction without a sas expander |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101627376A CN101627376A (zh) | 2010-01-13 |
CN101627376B true CN101627376B (zh) | 2012-10-10 |
Family
ID=39275837
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2007800368810A Expired - Fee Related CN101627376B (zh) | 2006-10-05 | 2007-09-21 | 用于无需sas扩展器的改进的sata设备交互的装置和方法 |
Country Status (6)
Country | Link |
---|---|
US (1) | US7814245B2 (zh) |
EP (1) | EP2074519B1 (zh) |
JP (1) | JP5361727B2 (zh) |
KR (1) | KR101364929B1 (zh) |
CN (1) | CN101627376B (zh) |
WO (1) | WO2008045670A2 (zh) |
Families Citing this family (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4819088B2 (ja) * | 2008-04-25 | 2011-11-16 | 富士通株式会社 | 記憶装置および当該記憶装置の起動方法 |
US8122298B2 (en) * | 2008-06-12 | 2012-02-21 | Lsi Corporation | Methods and systems for capturing error information in a SATA communication system |
DE102008046577A1 (de) * | 2008-09-10 | 2010-03-11 | Fujitsu Siemens Computers Gmbh | Anschlussvorrichtung zum Anschluss einer Mehrzahl von Peripheriegeräten und Betriebsverfahren |
KR100928438B1 (ko) | 2008-11-24 | 2009-11-25 | 주식회사 태진인포텍 | Sas/sata 타입의 스토리지 장치 |
US9753887B2 (en) * | 2009-02-24 | 2017-09-05 | Seagate Technology Llc | Receiver training during a SATA out of band sequence |
US20100250791A1 (en) * | 2009-03-27 | 2010-09-30 | Lsi Corporation | Low power physical layer for SATA and SAS transceivers |
US20110004718A1 (en) | 2009-07-02 | 2011-01-06 | Ross John Stenfort | System, method, and computer program product for ordering a plurality of write commands associated with a storage device |
US20110022765A1 (en) * | 2009-07-23 | 2011-01-27 | Ross John Stenfort | System, method, and computer program product for maintaining a direct connection between an initiator and a drive |
US20110252263A1 (en) * | 2010-04-13 | 2011-10-13 | Byungcheol Cho | Semiconductor storage device |
CN102566941B (zh) * | 2011-12-22 | 2014-12-10 | 深圳市安云信息科技有限公司 | 一种sas硬盘扩展器识别sata硬盘的方法 |
US8788736B2 (en) * | 2011-12-27 | 2014-07-22 | Lsi Corporation | Methods and structure for communicating between a SATA host and a SATA target device through a SAS domain |
US9626318B2 (en) | 2012-01-26 | 2017-04-18 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Systems and methods for storage protocol compliance testing |
US8898506B2 (en) * | 2012-07-25 | 2014-11-25 | Lsi Corporation | Methods and structure for hardware serial advanced technology attachment (SATA) error recovery in a serial attached SCSI (SAS) expander |
US8589607B1 (en) | 2012-08-07 | 2013-11-19 | Lsi Corporation | Methods and structure for hardware management of serial advanced technology attachment (SATA) DMA non-zero offsets in a serial attached SCSI (SAS) expander |
US9021173B2 (en) | 2012-10-26 | 2015-04-28 | International Business Machines Corporation | High speed differential wiring strategy for serially attached SCSI systems |
CN103914420B (zh) * | 2013-01-04 | 2016-12-28 | 中兴通讯股份有限公司 | 基于第三方phy的sata速度自协商方法及装置 |
US9424224B2 (en) * | 2013-06-18 | 2016-08-23 | Avago Technologies General Ip (Singapore) Pte. Ltd. | PCIe tunneling through SAS |
JP6141240B2 (ja) * | 2014-08-14 | 2017-06-07 | キヤノン株式会社 | 印刷装置、印刷装置に接続されたストレージの制御装置、印刷装置の制御方法及びプログラム |
US9552267B2 (en) | 2014-12-09 | 2017-01-24 | Intel Corporation | SATA receiver equalization margin determination/setting method and apparatus |
US10019405B2 (en) * | 2015-06-19 | 2018-07-10 | Microsemi Solutions (U.S.), Inc. | Apparatus and method for transmitting serial ATA information |
US10747437B2 (en) * | 2017-05-02 | 2020-08-18 | Quanta Computer Inc. | SAS hard disk drive update via management controller |
KR102671844B1 (ko) * | 2018-07-23 | 2024-06-04 | 에스케이하이닉스 주식회사 | 저장장치 및 그 동작 방법 |
CN112559406B (zh) * | 2020-12-22 | 2021-11-19 | 无锡众星微系统技术有限公司 | Sata传输层状态机优化方法 |
CN112559407B (zh) * | 2020-12-22 | 2021-11-16 | 无锡众星微系统技术有限公司 | Stp链路层状态机优化方法 |
CN112765078B (zh) * | 2021-01-20 | 2022-02-08 | 无锡众星微系统技术有限公司 | 支持多磁盘pio命令并发的stp传输层实现方法 |
CN113127389B (zh) * | 2021-04-16 | 2022-08-26 | 无锡众星微系统技术有限公司 | Sas stp业务加速方法 |
CN113672537B (zh) * | 2021-09-03 | 2022-10-11 | 无锡众星微系统技术有限公司 | 一种sata设备热插拔管理方法和装置 |
CN113691649B (zh) * | 2021-09-09 | 2022-10-18 | 无锡众星微系统技术有限公司 | 一种stp sata桥的地址配置方法和装置 |
US20230153263A1 (en) * | 2021-11-16 | 2023-05-18 | Infineon Technologies Austria Ag | Flexible high speed interface implementation in a power supply |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1534499A (zh) * | 2003-03-31 | 2004-10-06 | 信亿科技股份有限公司 | Sata快闪存储装置 |
CN1635577A (zh) * | 2003-12-31 | 2005-07-06 | 深圳市朗科科技有限公司 | 基于串行高级技术结构接口的半导体存储装置 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04309117A (ja) * | 1991-04-08 | 1992-10-30 | Fujitsu Ltd | データ転送制御装置 |
JP3058209B2 (ja) * | 1991-11-14 | 2000-07-04 | セイコーエプソン株式会社 | 周辺装置カードおよび情報処理装置 |
JPH0571943U (ja) * | 1992-02-25 | 1993-09-28 | 株式会社東芝 | パーソナルコンピュータ |
JP2000148651A (ja) * | 1998-11-10 | 2000-05-30 | Hitachi Ltd | 共有ディスク装置 |
CN101515263B (zh) * | 2001-07-25 | 2011-05-25 | 索尼公司 | 接口装置 |
US6965956B1 (en) * | 2003-02-28 | 2005-11-15 | 3Ware, Inc. | Disk array controller and system with automated detection and control of both ATA and SCSI disk drives |
US7093033B2 (en) * | 2003-05-20 | 2006-08-15 | Intel Corporation | Integrated circuit capable of communicating using different communication protocols |
US7958292B2 (en) * | 2004-06-23 | 2011-06-07 | Marvell World Trade Ltd. | Disk drive system on chip with integrated buffer memory and support for host memory access |
JP2006085401A (ja) * | 2004-09-16 | 2006-03-30 | Hitachi Ltd | ストレージ装置及びストレージ装置のパケットサイズ制御方法 |
US7308534B2 (en) * | 2005-01-13 | 2007-12-11 | Hitachi, Ltd. | Apparatus and method for managing a plurality of kinds of storage devices |
US7752343B2 (en) * | 2006-02-22 | 2010-07-06 | Emulex Design & Manufacturing Corporation | Method and apparatus for auto-protocol discrimination between fibre channel, SAS and SATA devices |
-
2006
- 2006-10-05 US US11/538,900 patent/US7814245B2/en not_active Expired - Fee Related
-
2007
- 2007-09-21 JP JP2009531521A patent/JP5361727B2/ja not_active Expired - Fee Related
- 2007-09-21 CN CN2007800368810A patent/CN101627376B/zh not_active Expired - Fee Related
- 2007-09-21 WO PCT/US2007/079216 patent/WO2008045670A2/en active Application Filing
- 2007-09-21 EP EP07853598.6A patent/EP2074519B1/en not_active Expired - Fee Related
- 2007-09-21 KR KR1020097006951A patent/KR101364929B1/ko not_active IP Right Cessation
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1534499A (zh) * | 2003-03-31 | 2004-10-06 | 信亿科技股份有限公司 | Sata快闪存储装置 |
CN1635577A (zh) * | 2003-12-31 | 2005-07-06 | 深圳市朗科科技有限公司 | 基于串行高级技术结构接口的半导体存储装置 |
Also Published As
Publication number | Publication date |
---|---|
EP2074519A2 (en) | 2009-07-01 |
EP2074519A4 (en) | 2011-01-05 |
KR20090061031A (ko) | 2009-06-15 |
JP5361727B2 (ja) | 2013-12-04 |
US20080086576A1 (en) | 2008-04-10 |
KR101364929B1 (ko) | 2014-02-19 |
US7814245B2 (en) | 2010-10-12 |
EP2074519B1 (en) | 2014-04-02 |
WO2008045670A2 (en) | 2008-04-17 |
CN101627376A (zh) | 2010-01-13 |
JP2010506301A (ja) | 2010-02-25 |
WO2008045670B1 (en) | 2008-08-07 |
WO2008045670A3 (en) | 2008-06-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101627376B (zh) | 用于无需sas扩展器的改进的sata设备交互的装置和方法 | |
US6769622B1 (en) | System and method for simulating universal serial bus smart card device connected to USB host | |
CN102160044B (zh) | PCIe接口上的SATA大容量存储装置仿真 | |
EP1825382B1 (en) | Low protocol, high speed serial transfer for intra-board or inter-board data communication | |
EP1899832B1 (en) | Software layer for communication between rs-232 to i2c translation ic and a host | |
EP1697850B1 (en) | Managing transmissions between devices | |
CN103201729B (zh) | 高速片间通用串行总线监控 | |
CN101770442B (zh) | 具有多个外设接口的数据交互系统和方法 | |
JP2013505507A (ja) | マルチプロトコル記憶装置ブリッジ | |
CN106250340A (zh) | 一种硬件控制电路及其控制方法 | |
CN103677671A (zh) | 一种电口模块的数据读写方法和系统 | |
US8180935B2 (en) | Methods and apparatus for interconnecting SAS devices using either electrical or optical transceivers | |
US20140059253A1 (en) | Methods and structure for identifying support for super-standard features in communications between serial attached scsi devices | |
CN105320624A (zh) | 采用数据输入输出管理控制的电子装置 | |
US8135895B2 (en) | Virtual SATA port multiplier, virtual SATA device, SATA system and data transfer method in a SATA system | |
CN105045740A (zh) | 用于通信接口的转换方法和电路 | |
Szecówka et al. | USB receiver/transmitter for FPGA implementation | |
CN106649187B (zh) | 一种芯片自动化外设协议选择的方法 | |
CN107168923A (zh) | 一种配置多个fpga的装置及方法 | |
US20200336439A1 (en) | Control of ethernet link-partner gpio using oam | |
CN100349153C (zh) | 一种实现输出控制的方法及由主板控制接口卡的装置 | |
EP2207102B1 (en) | Bridge apparatus and methods for coupling multiple non-fibre channel devices to a fibre channel arbitrated loop | |
CN100440880C (zh) | 物理地址转换装置及转换方法 | |
US20150019772A1 (en) | Signal processing apparatus | |
CN103853511B (zh) | 采用霹雳接口的电子装置、其连接方法及底座设备 |
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 | ||
C41 | Transfer of patent application or patent right or utility model | ||
TR01 | Transfer of patent right |
Effective date of registration: 20160721 Address after: Singapore Singapore Patentee after: Avago Technologies General IP (Singapore) Pte. Ltd. Address before: California, USA Patentee before: LSI Corp. |
|
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20121010 Termination date: 20150921 |
|
EXPY | Termination of patent right or utility model |