CN101083101A - 具有多个分布式处理器的硬盘控制器 - Google Patents

具有多个分布式处理器的硬盘控制器 Download PDF

Info

Publication number
CN101083101A
CN101083101A CNA2007101092941A CN200710109294A CN101083101A CN 101083101 A CN101083101 A CN 101083101A CN A2007101092941 A CNA2007101092941 A CN A2007101092941A CN 200710109294 A CN200710109294 A CN 200710109294A CN 101083101 A CN101083101 A CN 101083101A
Authority
CN
China
Prior art keywords
processor
hard disk
protocol
disk drive
host
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.)
Granted
Application number
CNA2007101092941A
Other languages
English (en)
Other versions
CN101083101B (zh
Inventor
约翰·P·米德
兰斯·弗莱克
凯文·W·麦金尼斯
布伦特·马尔霍兰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Broadcom Corp
Zyray Wireless Inc
Original Assignee
Zyray Wireless Inc
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 Zyray Wireless Inc filed Critical Zyray Wireless Inc
Publication of CN101083101A publication Critical patent/CN101083101A/zh
Application granted granted Critical
Publication of CN101083101B publication Critical patent/CN101083101B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • 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/0658Controller construction arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • 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/061Improving I/O performance
    • 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)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Hardware Redundancy (AREA)

Abstract

本发明涉及一种具有多个分布式处理器的硬盘控制器。这种硬盘控制器提供了一种新的方法,使用独立的专用的处理器来服务硬盘驱动器(HDD)控制器中的每个控制环。例如,第一处理器用于服务伺服控制环,第二处理器用于服务通道接口,第三处理器用于服务主机接口。在某些实施例中,分别使用硬盘管理模块和主机管理模块中的协议处理器来执行通道和主机接口。

Description

具有多个分布式处理器的硬盘控制器
技术领域
本发明涉及硬盘驱动器(HDD),更具体地说,涉及硬盘驱动器中的处理资源的提供和分配,以及硬盘驱动器的控制器。
背景技术
目前,很多存储设备如磁盘驱动器直接地或者通过网络为主机设备提供数据存储,后者的例子有存储区域网(SAN)或者网络附加存储(NAS)。典型的主机设备包括单独的计算机***如桌上型计算机或者膝上型计算机、企业存储设备如服务器、存储阵列如独立磁盘冗余阵列(RAID)阵列、存储路由器、存储交换机和存储导向器,以及其他消费设备如视频游戏***和数字视频刻录机。这些设备以成本有效的方式提供高的存储能力。
在现有的HDD***中,有一些***并行的操作并且需要分配一定程度的处理资源。在现有的HDD***中,通常使用单个处理器给这些***服务。更具体地,现有技术中的HDD控制器依赖于主处理器来执行多硬盘实时控制功能。在现有的HDD***中,为了使用单个处理器执行所有的这些功能,导致或者整个***的性能受到影响,或者固件的复杂度大大增加。
在现有技术中,可接受的性能或者复杂性太大了,所以在硬件中加入了状态机,以进行一些实时操作。在一些情况之下,可写控制存储器通常用作可编程状态机。在高性能的现有HDD控制器中,有时候会以高成本(考虑到复杂性和不动产方面的耗费等)加入第二主处理器以帮助增加并行执行资源。
图5示出了现有技术的使用单个处理器为多个控制环服务的装置500。装置500包括现有技术的HDD控制器集成电路(IC)560。主机接口502由主机管理模块570控制,主机管理模块570可操作地通过缓存管理模块567在主机接口502和缓存(通常外接到HDD控制IC 560)之间移动数据。HDD的通道531和前置放大器接口501通信。硬盘管理模块512控制通道531,以及通过缓存管理模块567在通道531和缓存之间移动数据。缓存管理模块567仲裁DRAM(通常外接到HDD控制器IC 560)内实现的共享缓存的存取。
在这种现有的装置500中,所有的固件都在单个处理器562上执行,该单个处理器562控制主机管理模块570以及硬盘管理模块512。处理器562的高速缓存固件可存储在DRAM中,通过缓存管理模块567访问。
硬盘管理模块512通常具有小的可写控制存储空间,用于实现可编程状态机,以控制硬盘管理模块512和通道接口(例如,通道531和其他前置放大器接口501)中的硬件。根据主机接口502的复杂性,主机管理器570可以具有状态机或者具有小的可写控制存储器,以执行实时控制功能。处理器562根据想要的操作类型,将合适的微程序加载到控制存储器中。
根据这个实施例,可以看到,很多功能必须在这种HDD控制器IC 560上执行。由于要求处理器562支持所有的这些功能,在某些时候一些功能将得不到应有的处理能力。例如,在这个实施例,处理器562肯定需要支持多于一种功能,当处理器562的主要的(或者所有的)处理资源和能力用于其中一项功能时,其他功能将得不到很好的服务。在实时应用中,给单个处理器562分配处理资源的方式将会明显地降低性能。
因此,需要一种能够更好地服务于HDD控制器设备所要求都各种功能的装置。
发明内容
本发明旨在提出一种装置和方法,本说明书的附图说明、具体实施方式、权利要求等将对该装置和方法进行详细说明。
根据本发明的一方面,提供一种装置,包括:
处理器,用于管理硬盘驱动器中的伺服控制环;
主机管理模块,用于管理主机接口,所述主机管理模块包括用于执行主机接口协议控制功能的第一协议处理器;以及
硬盘管理模块,用于管理所述硬盘驱动器内与硬盘连接的通道,所述硬盘管理模块包括用于执行通道接口协议控制功能的第二协议处理器。
优选地,所述装置是集成电路。
优选地,所述第二协议处理器执行软键映射,使所述硬盘管理模块支持与所述硬盘驱动器内的具有第一格式的硬盘的通道连接,以及与具有第二格式的至少一个附加硬盘的通道连接。
优选地,所述第一协议处理器管理所述硬盘驱动器内的主机接口控制环;以及
所述第二协议处理器管理所述硬盘驱动器内的通道接口控制环。
优选地,所述处理器、第一协议处理器和第二协议处理器并行地实时操作。
优选地,当所述处理器使用小于预定量的处理能力来管理伺服控制环时,所述处理器以后台处理的方式执行非伺服固件功能。
优选地,所述处理器使用其处理能力的第一部分来管理所述伺服控制环;以及
所述处理器使用其处理能力的第二部分来执行非伺服固件功能。
优选地,所述装置还包括:
共享高速缓存,其连接到所述处理器、所述第一步和所述第二协议处理器;其中
所述共享高速缓存直接连接到所述主机管理模块的第一协议处理器;
所述共享高速缓存直接连接到所述硬盘管理模块的第二协议处理器;以及
所述处理器通过所述共享高速缓存管理所述第一协议处理器和第二协议处理器。
优选地,所述装置还包括:
缓冲器;以及
缓冲器管理模块,其连接到所述缓冲器,还连接到所述处理器、所述主机管理模块和所述硬盘管理模块,所述缓冲器管理模块仲裁和管理所述处理器、所述主机管理模块和所述硬盘管理模块对所述缓冲器的访问。
优选地,所述装置还包括:
缓冲器;以及
缓冲器管理模块,其连接到所述缓冲器,还连接到所述处理器、所述主机管理模块和所述硬盘管理模块,所述缓冲器管理模块仲裁和管理所述处理器、所述主机管理模块和所述硬盘管理模块对所述缓冲器的访问,其中:
所述主机管理模块连接到用于连接主机设备的主机接口;
所述硬盘管理模块连接到通道,通过该通道对所述硬盘驱动器内的硬盘进行读和写访问;
所述主机管理模块通过缓冲器管理模块在所述主机接口和所述缓冲器之间移动第一数据;以及
所述硬盘管理模块通过所述缓冲器管理模块在所述通道和所述缓冲器之间移动第二数据。
根据本发明的另一方面,提供一种装置,所述装置包括:
硬盘驱动控制器,所述硬盘驱动控制器包括第一处理器、第二处理器和第三处理器;其中
第一处理器管理硬盘驱动器的伺服控制环;
第二处理器执行主机接口协议控制功能;
第三处理器执行通道接口协议控制功能。
优选地,所述装置是集成电路。
优选地,所述硬盘驱动控制器包括用于管理通信接口连接的硬盘管理模块;
所述第三处理器实现在所述硬盘管理模块中;以及
所述第三处理器执行软键映射,使所述硬盘管理模块支持与所述硬盘驱动器内的具有第一格式的硬盘进行通道接口连接,以及与具有第二格式的至少一个附加硬盘进行通道接口连接。
优选地:
所述硬盘驱动控制器包括用于管理主机接口的主机管理模块;
所述硬盘驱动控制器包括用于管理通道接口连接的硬盘管理模块;
所述第二处理器实现在所述主机管理模块中;
所述第三处理器实现在所述硬盘管理模块中;
所述第二处理器管理所述硬盘驱动器内的主机接口控制环;以及
所述第三处理器管理所述硬盘驱动器内的通道接口控制环。
优选地,所述第一处理器使用其处理能力的第一部分来管理所述伺服控制换;以及
所述第一处理器使用其处理能力的第二部分执行非伺服固件功能。
优选地,所述装置还包括:
共享高速缓存,直接连接到所述第一处理器、第二处理器和第三处理器;以及
所述第一处理器通过所述共享高速缓存管理所述第二和第三处理器。
优选地,所述硬盘驱动控制器包括用于管理主机接口连接的主机管理模块;
所述硬盘驱动控制器包括哟里拿过于管理通道接口连接的硬盘管理模块;
所述第二处理器实现在所述主机管理模块中;
所述第三处理器实现在所述硬盘管理模块中;
所述硬盘驱动控制器包括缓冲器;以及
所述硬盘驱动控制器包括缓冲器管理模块,所述缓冲器管理模块连接到所述缓冲器以及所述第一处理器、所述主机管理模块和所述硬盘管理模块,用于仲裁和管理所述第一处理器、所述主机管理模块和所述硬盘管理模块对所述缓冲器的共享访问;
所述主机管理模块连接到主机接口,所述主机接口连接到主机设备;
所述硬盘管理模块连接到通道,通过该通道对所述硬盘驱动器内的硬盘进行读和写访问;
所述主机管理模块通过缓冲器管理模块在所述主机接口和所述缓冲器之间移动数据;以及
所述硬盘管理模块通过所述缓冲器管理模块在所述通道和所述缓冲器之间移动数据。
根据本发明的一方面,提出一种装置,所述装置包括:
处理器,用于管理硬盘驱动器的伺服控制环;
主机管理模块,用于管理主机接口,所述主机管理模块包括用于执行主机接口协议控制功能的第一协议处理器;
硬盘管理模块,用于管理到所述硬盘驱动器内的硬盘的通道接口连接,所述硬盘管理模块包括用于执行通信接口协议控制功能的第二协议处理器;
共享高速缓存,连接到所述处理器、所述第一协议处理器和第二协议处理器;以及
缓冲器管理模块,连接到缓冲器以及所述处理器、所述主机管理模块和所述硬盘管理模块,用于仲裁和管理所述处理器、所述主机管理模块和所述硬盘管理模块对所述缓冲器的共享访问;且其中
所述处理器通过所述共享高速缓存管理第一协议处理器和第二协议处理器。
优选地,所述装置是集成电路。
优选地,所述处理器使用其处理能力的第一部分管理所述伺服控制环;以及
所述处理器使用其处理能力的第二部分执行非伺服固件功能。
比较本发明后续将要结合附图介绍的***,现有技术的其它局限性和弊端对于本领域的普通技术人员来说是显而易见的。
附图说明
图1是存储盘驱动器单元的一个实施例的示意图;
图2是包括有存储盘控制器的装置的一个实施例的示意图;
图3A是手持音频单元的一个实施例的示意图;
图3B是计算机的一个实施例的示意图;
图3C是无线通信设备的一个实施例的示意图;
图3D是个人数字助理(PDA)的一个实施例的示意图;
图3E是膝上型计算机的一个实施例的示意图;
图4是包括硬盘驱动器(HDD)印刷电路板组件(PCBA)的装置的一个实施例的示意图;
图5是现有技术中使用单个处理器来服务多个控制环的装置的实施例的示意图;
图6是本发明使用多个分布式处理器来服务多个控制环的装置的一个实施例的示意图;
图7、图8和图9分别示出了包括有硬盘控制器(HDD)以使用多个分布式处理器来服务多个控制环的装置的不同实施例的示意图;
图10和图11分别示出了使用多个分布式处理器来服务多个控制环的方法的不同实施例的流程图。
具体实施方式
下面将结合附图及实施例对本发明作进一步说明,附图中:
图1示出了存储盘驱动器单元100的一个实施例。具体地,存储盘驱动器单元100包括存储盘102,存储盘102由伺服马达(没有特别示出)以3600转/分(RPM)、4200 RPM、4800RPM、5400 RPM、7200 RPM、10000 RPM、15000RPM等转速驱动。当然,可以使用其他的转速,包括更大的或者更小的转速,这取决于主机设备的特定应用以及实际情况。在一个可能的实施例中,存储盘102是通过改变磁性介质上的磁场来存储信息的磁盘。这种介质可以是刚性地,也可以是非刚性的、可移动的或者不可移动的;这种介质由磁性材料组成,或者涂覆有磁性材料。
存储盘驱动器单元100还包括一个或多个读/写头104,读/写头104连接到臂106,在驱动件108驱动下在存储盘102的表面上移动,包括平移和/或旋转。存储盘控制器130用于控制对存储盘的读和写操作,以及控制伺服马达的速度和驱动件108的运动,以及用于提供到主机设备的接口和为主机设备提供接口。
图2示出了一个实施例的装置200,其包括存储盘控制器130。具体地,存储盘控制器130包括读/写通道140,读/写通道140通过读/写头104向/从存储盘102写入/读取数据。存储盘控制器内包括有存储盘格式器125,用于控制数据的格式化,以及提供时钟信号和其它时序信号,用以控制向/从存储盘102写入/读取的数据流。伺服格式器120基于从存储盘102读取的伺服控制数据提供时钟信号和其他时序信号。设备控制器105控制驱动设备109如驱动件108和伺服马达等驱动设备的运作。主机接口150从主机设备150接收读和写命令,并根据主机接口协议传输从存储盘102读取的数据以及其他控制信息。在一个实施例中,主机接口协议包括SCSI、SATA、增强型电子集成驱动器(增强型IDE,简称EIDE),或者其他的可用于此目的的开放的或者私有的主机接口协议。
存储盘控制器130还包括处理模块132以及存储模块134,处理模块132可使用一个或多个微处理器、微控制器、数字信号处理器、微计算机、中央处理器、现场可编程门阵列、可编程逻辑设备、状态机、逻辑电路、模拟电路、数字电路和/或基于存储在存储模块134中的操作指令处理信号(模拟的和/或数字的)的任何设备来实现。当处理模块132使用两个或多个设备来实现时,每个设备都能够执行相同的步骤、处理或者功能,以提供容错或者冗余。或者,处理模块132执行的步骤和处理可分割到不同的设备中,以提供更高的计算速度和/或效率。
存储模块134可以是单个存储设备,或者多个存储设备。这种存储设备可以是只读存储器、随机存储存储器、易失性存储器、永久性存储器、静态随机访问存储器(SRAM)、动态随机访问存储器(DRAM)、闪存、高速缓存和/或存储数字信息的任何设备。要注意,当处理模块132通过状态机、模拟电路、数字电路和/或逻辑电路执行它的一项或多项功能时,存储对应的操作指令的存储模块134可嵌入到或者外接到包含状态机、模拟电路、数字电路和/或逻辑电路的电路上。还要注意,存储模块134存储操作指令,处理模块132执行操作指令,该操作指令对应于本说明书公开的一个或多个步骤或者处理、方法和/或功能。
存储盘控制器130包括多个模块,具体来说,包括设备控制器105、处理模块132、存储模块134、读/写通道140、存储盘格式器125、伺服格式器120和主机接口150,通过总线136和137互连。根据本发明的范围,每个模块都可以在硬件、固件、软件及其组合中实现。虽然图2示出了特定的总线架构136和137,但是其他的总线架构,例如包括单个总线配置或者包括附加数据总线的架构,以及各种模块之间的连接性如直接连接性,也很可能实现各种实施例所包含的功能和特征。
在一个可能的实施例中,存储盘控制器130的一个或多个模块实现为片上***(SoC)集成电路的一部分。在一个实施例中,SoC集成电路包括数字部分和模拟部分,其中,数字部分包括附加的模块如协议转换器、线性块码编码和解码模块等,模拟部分包括设备控制器105和可选的附加模块,如电源等。在另一个实施例中,存储盘控制器130的各种功能和特征在多个集成电路设备中实现,这些集成电路设备互相通信并结合起来执行存储盘控制器130的功能。
制造驱动器单元100时,存储盘格式器125沿着存储盘102上以等半径距离分布的对应的多个伺服地址标记写入多个伺服楔(servo wedge)。当通过读/写头104访问存储盘102上的媒介时,定时产生器使用伺服地址标记来触发各种事件的“起始时间”。
图3A是示出了手持音频单元51的实施例。具体地,存储盘驱动单元100可实现在该手持音频单元中。在一个实施例中,存储盘驱动单元100包括小型的磁硬盘,碟片102直径为1.8英寸,或者更小的尺寸。手持音频单元51与磁硬盘组合,或者使用磁硬盘来提供一般存储,或者存储音频内容如运动图像专家组(MPEG)音频层3(MP3)文件、或者视窗媒体架构(WMA)文件、视频内容如MPEG4文件以让用户播放,和/或存储任何类型的能够以数字形式存储的信息。
图3B是计算机52的一个实施例。具体地,存储盘驱动单元100可应用到该计算机52中。在一个实施例中,存储盘驱动单元100包括碟片102直径为1.8英寸、或者更小尺寸的小型的磁硬盘、2.5英寸、3.5英寸的驱动器或者更大的驱动器,例如企业存储应用的驱动器。存储盘驱动器100结合在计算机52内或者由计算机52使用来提供一般目的的存储,存储任何的数字格式的信息。计算机52可以是桌上型计算机、或者企业存储设备例如服务器,或者附加到存储阵列如独立冗余磁盘阵列(RAID)阵列的主机计算机、存储路由器、边缘路由器、存储交换机和/或存储导向器。
图3C是无线通信设备53的一个实施例。具体地,存储盘驱动单元100可实现在无线通信设备53内。在一个实施例中,存储盘驱动单元100包括碟片102直径为1.8英寸、或者更小尺寸的小型的磁硬盘。无线通信设备53结合或者使用磁硬盘来提供一般存储,或者存储音频内容如运动图像专家组(MPEG)音频层3(MP3)文件、或者视窗媒体架构(WMA)文件、视频内容如MPEG4文件、JPEG(联合图像专家组)文件、位图文件以及集成相机拍摄的或者下载到无线通信设备53的以其他格式存储的文件、email、网页信息、从因特网下载的其他信息、地址簿信息,和/或以数字形式的任何形式的信息。
在一个实施例中,无线通信设备53能够通过无线电话网络进行通信,例如蜂窝网、个人通信服务(PCS)、通用分组无线业务(GPRS)、全球移动通信***(GSM)、集成数字增强型网络(iDEN)或者其他的能够发送和接收电话呼叫的无线通信网络。另外,无线通信设备53能够通过因特网存取email、下载内容、访问网站、提供流音频和/或视频节目。在这种方式下,无线通信设备53能够发出或者接收电话呼叫、文字消息如email、短信服务(SMS)消息、寻呼以及包含附件如文档、音频文件、视频文件、图像和其他图像的数据消息。
图3D示出了个人数字助理(PDA)54的一个实施例。具体地,存储盘驱动单元100应用到个人数字助理54中。在一个实施例中,存储盘驱动单元100包括碟片102直径为1.8英寸、或者更小尺寸的小型的磁硬盘。个人数字助理(PDA)54结合或者使用磁硬盘来提供一般存储,或者存储音频内容如运动图像专家组(MPEG)音频层3(MP3)文件、或者视窗媒体架构(WMA)文件、视频内容如MPEG4文件、JPEG(联合图像专家组)文件、位图文件或者以图像格式存储的文件、email、网页信息、从因特网下载的其他信息、地址簿信息,和/或以数字形式的任何形式的信息。
图3E是膝上型计算机55的一个实施例。具体地,存储盘驱动单元100应用到膝上型计算机55中。在一个实施例中,存储盘驱动单元100包括碟片102直径为1.8英寸、或者更小尺寸的小型的磁硬盘、或2.5寸的存储盘。存储盘驱动器100结合在膝上型计算机55内或由膝上型计算机55使用来提供对任何数字格式的信息的一般存储。
从以上方面来看,本发明提供一种对使用分布式多处理器的HDD控制器的实时固件需求的更好和/或更优的分配。在某些实施例中,使用三个不同的处理器,每个处理器能非常有效地执行自己相应的必需功能,以支持有效实现所需要的处理资源。通过使用分布式的多个处理器,不会有处理器过度被占用而无法执行自身预定的操作。另外,因为使用了多个分布式处理器,因此,每个被要求的处理操作都得到充分的处理资源,这样,每个被要求的功能都得到有效的执行。
一般而言,HDD控制***具有三个需要并行执行的主实时功能:(1)伺服控制环;(2)主机接口低层协议;以及(3)通道接口低层协议。考虑现有技术的***,可以看到,现有技术的控制器要么为了满足性能而极大地增加了固件复杂性,或者增加大量的硬件以达到可接受的功能。除了这些实时功能之外,还必须执行大量的后台固件操作。在一些实施例中,伺服控制环和后台固件被分配给中央通用处理器。主机和通道接口低层协议被分配给它们自己的较小的处理器,以实现真正的并行执行,满足这些接口的实时需求。
在本说明书所述的一些实施例中,HDD控制器(如果愿意,可以以单个IC实现)使用多个分布式处理器的配置,以改进***的硬实时需求。在某些实施例中,HDD控制器使用三个处理器来分割***的硬实时需求。
通常,现有技术的控制器使用一个或至多两个通用处理器,辅以一个或两个小的可写控制存储器。在本说明书所述的一些实施例中,中央通用处理器用于伺服实时固件(例如,伺服有关的控制环)和几乎所有的其它***固件,再辅以小的能够执行它们的相应实时功能的主机和硬盘协议处理器。与现有技术的相比,这种多个分布式处理器的配置能够更好地分配处理资源,并且,需要在HDD***内执行的每个功能都不会因其它需要相对大量的处理能力的功能的执行而出现所需处理资源不足的情况。
图4示出了装置400的一个实施例,装置400包括硬盘驱动器(HDD)印刷电路板组件(PCBA)。装置400包括HDD控制器IC 431,用于与其他集成电路(IC)和主机计算机470通信。前置放大器接口401通过花线电路(flexcircuit)连接到磁头组件上的前置放大器IC。主机接口402通常通过控制器/电缆组件连接到主机计算机470。HDD控制器IC 431能够读写存储设备如DRAM和闪存ROM内的区域。DRAM和闪存ROM在图中示为IC,即DRAM IC 463和闪存IC 465。HDD控制器IC 431支持与马达控制器IC 467的通信,以管理存储盘驱动器马达。
图5所示的现有技术的装置已经在上文的“背景技术”中进行描述,从“背景技术”部分可以看到,现有技术的提供处理能力的方法是在HDD控制IC 500中使用单个处理器。
图6示出了装置600的一个实施例,装置600使用多个分布式处理器,以服务于多个控制环。总体来说,装置600使用三个有区别的处理器,以服务于3个独立的功能组。这样,通过使用多个分布式处理器,每个处理器专门服务于一种类型的操作,所有的操作都得到很好的支持,或者都得到足够的处理能力。
装置600包括HDD控制器660。如果需要的话,可以用IC 669实现HDD控制器660。HDD控制器660包括处理器662、硬盘管理模块610、主机管理模块670。在一些实施例中,使用中央通用处理器来实现处理器662。
处理器662专用于支持和执行与伺服控制环有关的指令,如附图标记663所示。如果处理器662具有足够的可用处理资源,其可服务于“策略”固件664(例如,可视为非伺服固件的后台处理)。
主机管理模块670和硬盘管理模块610包括有嵌入式的协议处理器,分别是硬盘管理模块610内的协议处理器614,以及主机管理模块670内的协议处理器672。硬盘管理模块610内的协议处理器614对应于通道接口601,用于支持和执行与通道接口控制环616有关的指令。主机管理模块670内的协议处理器672对应于主机接口602,用于支持和执行与主机接口控制环676有关的指令。
处理器662通过各个对应协议处理器的寄存器和存储空间访问硬盘管理模块610内的协议处理器614以及主机管理模块670内的协议处理器672。在某些实施例中,处理器662可执行对硬盘管理模块610内的协议处理器614以及主机管理模块670内的协议处理器672的直接管线访问,从而提供一致性。
正如从附图所看到的,分布式方法使每个控制环都具有自己的专用处理器。这样,每个控制环将具有足够的处理资源,并且这些处理资源总是可的以服务于对应的每个控制环(因为每个处理器都没有竞争多个控制环,或者尝试服务于多控制环)。
图7、图8和图9分别示出了各种实施例中的装置,该装置包括硬盘驱动器(HDD)控制器,使用多个分布式处理器来服务于多个控制环。
参考图7的装置700,装置700包括HDD控制器760(可用单个IC实现)。主机管理模块770和硬盘管理模块712均包括有各自的嵌入式独立协议处理器,分别为硬盘管理模块712中的硬盘协议处理器714、主机管理模块770内的饿主机协议处理器772。为了促进处理器间的通信,装置700包括有共享数据高速缓存764。这三个处理器(中央通用处理器762、硬盘协议处理器714以及主机协议处理器772)中,每个处理器都能够读写共享数据结构(存储在缓冲器中),以帮助管理两个协议处理器(硬盘协议处理器714、主机协议处理器772)执行的实时功能。共享数据高速缓存764对这些共享访问提供硬件强制实现的一致性。
主机接口702由主机管理模块770控制,主机管理模块770通过缓冲器管理模块767在主机接口702和缓冲器790之间移动数据。硬盘管理模块712控制了很多组件,这些组件最终连接到通道接口701,通过缓冲器管理模块767在通道和缓冲器790之间移动数据。缓冲器管理模块767仲裁对共享缓冲器790的访问,该共享缓冲器790可用DRAM实现。
主机管理模块770还包括有主机个性模块776,用于执行和实现通过主机接口702与各种类型的主机设备的连接。主机管理模块770内的主机协议处理器772可支持软键映射(soft key mapping),使主机个性模块776能够仿真不止一种类型的主机兼容接口。例如,所用的软键映射允许主机个性模块776正确地与第一类型的主机设备对接,以及正确地与第二类型的主机设备对接,这取决于使用了哪种软键。这样,单个硬件就可在多种平台上使用。
主机先入先出(FIFO)缓冲器774也实现在主机管理模块770内,其与主机个性模块776进行交互。主机FIFO 774以上述的方式与缓冲器管理器767交互,这样的话,主机管理模块770可通过缓冲器管理模块767经由主机个性模块776和主机FIFO 774在主机接口702和缓冲器790之间移动数据。
硬盘管理模块712包括有伺服格式化模块731,伺服格式化模块731用于将命令和功能格式化成合适的格式,以便在伺服控制环内执行。硬盘管理模块712还包括有硬盘数据路径模块736,用于与缓冲器管理模块767交互。硬盘数据路径模块736执行调制编码/解码,表示为图中的endec1(第一编码解码器)737。在硬盘写过程中,使用硬盘格式化模块737内的ECC符号生成器对错误校正码(ECC)735进行编码。如果需要的话,ECC 735可以分两个步骤进行解码:(1)在硬盘读过程中,位于硬盘格式化模块734内的校正子产生器生成校正子;(2)硬盘数据路径模块736内的快速ECC计算器执行错误校正。endec1 737可看作是反向ECC调制编码解码器(ENDEC)。从执行硬盘读和写的通道角度来看,endec1 737在ECC***的反面执行调制编码/解码。这样,即使没有完全消除误差,也有希望减少错误传播。Endec2所表示的调制编码/解码用于编码ECC(以及endec1产生的冗余位),因为ECC符号的反向ECC编码是累赘的,从某些方面来说是不经济的。
实现在硬盘管理模块712中的硬盘格式化模块734可对将要通过写路径写到硬盘上的信息进行格式化,以及对将要通过读路径从硬盘读出的信息进行解格式化。
如图所示,用于从硬盘格式化模块735写入硬盘的路径首先要经过编码器716,编码器716执行调制编码,如endec2所示。接着,将经编码的信息提供给奇偶编码器717,奇偶编码器717的输出端连接到写预补偿模块718,最终连接到模拟前端(AFE)731。模拟前端731可执行各种模拟处理功能,包括数模转换、比例调整(例如增益或幅度)、数字滤波(在转换成连续时间域之间)、连续时间滤波(在转换成连续时间域之后)、或需要的其它使信号格式与通道接口701向匹配的信号处理功能。AFE 731还包括有前置放大器732,前置放大器732通常用作读磁头组件的一部分。
从硬盘读数据的路径与写入硬盘的路径相反。例如。来自通道接口701的信号首先提供给AFE 731,在AFE 731中执行写过程中所执行的各种信号处理的逆转换。例如,模数转换、比例调整和/或滤波等其它信号处理操作。
在读过程中,信号通过AFE 731之后,被传递通过有限脉冲响应滤波器(FIR)728、维特比解码器727。维特比解码器727用于使用软输出维特比算法(SOVA)来确定软输出,这种软输出指示出数字信号中的信息的可靠性。例如,维特比解码器727确定所接到的数字信号是否可靠。另外,维特比解码器727被视为响应在写路径上执行的奇偶编码处理(由奇偶编码器717执行),在读路径中执行奇偶解码处理。维特比解码器727的输出提供给解码器726,解码器726使用的代码与编码器716的相同,称为第二ECC,即图中endec2所示。解码器726的输出提供给硬盘格式化模块734。
要注意,图7所示的实施例以及本说明书所述的实施例中使用多个分布式处理器方法还可应用于HDD控制器760的各种模块分割成两个或多个电路(例如,HDD控制器760可分割成通过接口连接的控制器电路和通道电路两个集成电路)的各种实施例中。换句话说,本说明书所述的各种功能也可以在这种实施例中实现:硬盘管理操作在一个电路中实施,主机管理操作在另一个电路中实施。
参考图8的装置800,本实施例使用两个小处理器(例如,协议处理器)来代替通常用在现有技术的主机管理模块和硬盘管理模块中的可写控制存储器。例如,硬盘管理模块812包括硬盘协议处理器814,主机管理模块870包括主机协议处理器872。
硬盘协议处理器814通过通道831和前置放大器接口801专门执行与硬盘接口相应的接口协议的硬实时控制功能,主机协议处理器872通过主机接口802专门执行与硬盘接口对应的接口协议的硬实时控制功能。硬盘协议处理器814和主机协议处理器872减轻主处理器862(作为通用类型的处理器)的负担,允许处理器862执行伺服硬实时控制功能和后台操作(例如,与后台有关的固件相关功能)。主处理器862通过直接连接以及共享存储器通信来管理硬盘协议处理器814和主机协议处理器872。
装置800包括HDD控制器860。如果需要的话,可使用IC 859实现HDD控制器860。主机管理模块870和硬盘管理模块812包括有各自的嵌入式协议处理器,也就是硬盘管理模块812内的硬盘协议处理器814以及主机管理模块870内的主机协议处理器872。为了方便处理器之间的通信,装置800中包括共享数据高速缓存864。这三个处理器中,每个处理器能够读写共享数据结构(存储在缓冲器中)以帮助管理两个协议处理器(硬盘协议处理器814和主机协议处理器872)执行的实时功能。共享数据高速缓存864给这些共享访问提供硬件强制实现的一致性。
共享高速缓存864是通用的多处理器结构。为了提供多地址数据结构更新的一致性,***中提供了额外的多处理器通信机制。其中的一种通信机制便是信号量(semaphore)。
参考图9所示的装置900,总体来看,装置900使用三个不同的处理器来服务三个独立控制环中的每个控制环。如前述其他实施例所述,通过使用多个分布式处理器,使一个处理器专用于处理每个类型的操作,每种类型的操作都得到很好的支持,都得到足够的处理资源。
装置900包括HDD控制器960(如果需要,可以用IC 959实现)。HDD控制器960包括第一处理器962,专用于支持和执行与伺服控制环有关的指令,如附图标号963所示。当处理器962具有充足的可用处理资源时,能服务于“策略”固件964(例如,可视为非伺服固件的后台程序)。
HDD控制器960还包括有第二处理器914和第三处理器972。第二处理器914可支持和执行与通道接口控制环有关的指令,如附图标号916所示,第二处理器914与通道接口901对应。第三处理器972可支持和执行与主机接口控制环有关的指令,如附图标号976所示,第三处理器972与主机接口902对应。
从该附图可以看到,通过分布式机制,这三个控制环中的每个控制环都有自己的专用处理器。这样,每个控制环都具有足量的处理资源,这些处理资源总是可用的,以服务于相应的控制环(因为每个处理器没有竞争多个控制环竞争,也没有尝试为多个控制环服务)。
图10和图11分别示出了使用多个分布式处理器服务于多个控制换的方法的不同实施例。
参考图10的方法1000,方法1000开始于步骤1010,使用第一处理器来执行与第一控制环有关的指令。接着步骤1020中,使用第二处理器来执行与第二控制环有关的指令。最后步骤1030中,使用第三处理器来执行与第三控制环有关的指令。该方法流程示出了使每个控制环都具有自己的处理器的分布式操作机制。
参考图11的方法1100,方法1100在一定程度上与图10的方法1000相同。方法1100开始于步骤1110,使用第一处理器来执行与硬盘驱动器(HDD)的伺服控制环有关的指令。接着步骤1120中,使用第二处理器来执行与HDD的通道接口控制环有关的指令。在某些实施例中,第二处理器实现为协议处理器,甚至在一些实施例中,该协议处理器可实现在硬盘管理模块内。最后步骤1130中,使用第三处理器来执行与HDD的主机接口控制环有关的指令。在某些实施例中,第三处理器实现为协议处理器,甚至在一些实施例中,该协议处理器可实现在主机管理模块内。方法1100示出了另一种让每个控制环都具有自己的处理器的分布操作方法示例。
通过上述描述可知,通过使用专用的和更合适数量的处理硬件来执行HDD控制器的每个硬实时功能,可以获得更高的总体性能。通过使用协议处理器来代替状态机或者可写控制存储器,简化了硬件驱动器的固件开发,增加了***弹性。
应当意识到,本说明公开的内容可以交叉应用到各种媒介的存储设备上,包括使用光学驱动控制器的设备。
还应当意识到,在任何合适的***和/或装置上执行上述结合附图所描述的方法,并不脱离本发明的范围和实质。
根据本发明的上述详细阐述以及相关的附图,其他的修改和变形是显而易见的,应当意识到,这种修改和变形落入本发明的实质和范围。

Claims (10)

1、一种装置,其特征在于,包括:
处理器,用于管理硬盘驱动器中的伺服控制环;
主机管理模块,用于管理主机接口,所述主机管理模块包括用于执行主机接口协议控制功能的第一协议处理器;以及
硬盘管理模块,用于管理所述硬盘驱动器内与硬盘连接的通道,所述硬盘管理模块包括用于执行通道接口协议控制功能的第二协议处理器。
2、根据权利要求1所述的装置,其特征在于,所述装置是集成电路。
3、根据权利要求1所述的装置,其特征在于:所述第二协议处理器执行软键映射,使所述硬盘管理模块支持与所述硬盘驱动器内的具有第一格式的硬盘的通道连接,以及与具有第二格式的至少一个附加硬盘的通道连接。
4、根据权利要求1所述的装置,其特征在于:
所述第一协议处理器管理所述硬盘驱动器内的主机接口控制环;以及
所述第二协议处理器管理所述硬盘驱动器内的通道接口控制环。
5、根据权利要求1所述的装置,其特征在于,所述处理器、第一协议处理器和第二协议处理器并行地实时操作。
6、根据权利要求1所述的装置,其特征在于,当所述处理器使用小于预定量的处理能力来管理伺服控制环时,所述处理器以后台处理的方式执行非伺服固件功能。
7、一种装置,其特征在于,包括:
硬盘驱动控制器,所述硬盘驱动控制器包括第一处理器、第二处理器和第三处理器;其中
第一处理器管理硬盘驱动器的伺服控制环;
第二处理器执行主机接口协议控制功能;
第三处理器执行通道接口协议控制功能。
8、根据权利要求7所述的装置,其特征在于,所述装置是集成电路。
9、根据权利要求7所述的装置,其特征在于:
所述硬盘驱动控制器包括用于管理通信接口连接的硬盘管理模块;
所述第三处理器实现在所述硬盘管理模块中;以及
所述第三处理器执行软键映射,使所述硬盘管理模块支持与所述硬盘驱动器内的具有第一格式的硬盘进行通道接口连接,以及与具有第二格式的至少一个附加硬盘进行通道接口连接。
10、一种装置,其特征在于,包括:
处理器,用于管理硬盘驱动器的伺服控制环;
主机管理模块,用于管理主机接口,所述主机管理模块包括用于执行主机接口协议控制功能的第一协议处理器;
硬盘管理模块,用于管理到所述硬盘驱动器内的硬盘的通道接口连接,所述硬盘管理模块包括用于执行通信接口协议控制功能的第二协议处理器;
共享高速缓存,连接到所述处理器、所述第一协议处理器和第二协议处理器;以及
缓冲器管理模块,连接到缓冲器以及所述处理器、所述主机管理模块和所述硬盘管理模块,用于仲裁和管理所述处理器、所述主机管理模块和所述硬盘管理模块对所述缓冲器的共享访问;且其中
所述处理器通过所述共享高速缓存管理第一协议处理器和第二协议处理器。
CN2007101092941A 2006-06-01 2007-05-29 具有多个分布式处理器的硬盘控制器 Expired - Fee Related CN101083101B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/444,583 2006-06-01
US11/444,583 US20080005749A1 (en) 2006-06-01 2006-06-01 Hard disk controller having multiple, distributed processors

Publications (2)

Publication Number Publication Date
CN101083101A true CN101083101A (zh) 2007-12-05
CN101083101B CN101083101B (zh) 2011-01-05

Family

ID=38457577

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2007101092941A Expired - Fee Related CN101083101B (zh) 2006-06-01 2007-05-29 具有多个分布式处理器的硬盘控制器

Country Status (5)

Country Link
US (1) US20080005749A1 (zh)
EP (1) EP1862894A3 (zh)
KR (1) KR100904648B1 (zh)
CN (1) CN101083101B (zh)
TW (1) TW200820060A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106951268A (zh) * 2017-03-31 2017-07-14 山东超越数控电子有限公司 一种申威平台支持NVMe硬盘启动的实现方法
CN109240191A (zh) * 2018-04-25 2019-01-18 上海福赛特控制技术有限公司 集成运动控制和电机控制的控制器和控制***

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8144413B2 (en) * 2007-04-30 2012-03-27 Broadcom Corporation Reduced instruction set computer (RISC) processor based disk manager architecture for hard disk drive (HDD) controllers
US8090906B1 (en) * 2009-06-10 2012-01-03 Western Digital Technologies, Inc. Dynamic processor bandwidth allocation in response to environmental conditions
CN102065071B (zh) * 2009-11-17 2013-05-01 北京同有飞骥科技股份有限公司 一种支持多传输协议的存储设备
SG10201406338XA (en) * 2014-10-03 2016-05-30 Agency Science Tech & Res Active storage devices
CN105049411A (zh) * 2015-05-29 2015-11-11 浪潮集团有限公司 一种采用scst实现多协议通信的方法
US10020012B1 (en) 2017-10-31 2018-07-10 Seagate Technology Llc Data storage drive with low-latency ports coupling multiple servo control processors

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4870643A (en) * 1987-11-06 1989-09-26 Micropolis Corporation Parallel drive array storage system
KR100245896B1 (ko) * 1990-11-09 2000-03-02 토마스 에프.멀베니 다수의 마이크로프로세서를 사용하는 하드 디스크 드라이브 제어기
JP3160149B2 (ja) * 1994-05-13 2001-04-23 株式会社日立製作所 ディスク制御装置の無停止プログラム変更方法およびディスク制御装置
US5832244A (en) * 1996-02-20 1998-11-03 Iomega Corporation Multiple interface input/output port for a peripheral device
JP2000010944A (ja) * 1998-06-24 2000-01-14 Nec Corp マルチプロセッサディスクアレイ制御装置
US6662253B1 (en) * 2000-09-13 2003-12-09 Stmicroelectronics, Inc. Shared peripheral architecture
US6661590B2 (en) * 2001-05-25 2003-12-09 Infineon Technologies Ag Efficient analog front end for a read/write channel of a hard disk drive running from a highly regulated power supply
WO2004023262A2 (en) * 2002-09-06 2004-03-18 Maxtor Corporation One button external backup
JP3776884B2 (ja) * 2002-12-27 2006-05-17 株式会社東芝 イレージャ訂正機能の検証に適した記録再生制御装置、同制御装置を備えた記録再生装置、及びイレージャ訂正機能を検証する方法
US7870346B2 (en) * 2003-03-10 2011-01-11 Marvell International Ltd. Servo controller interface module for embedded disk controllers
US6987632B2 (en) * 2003-07-22 2006-01-17 Matsushita Electric Industral Co., Ltd. Systems for conditional servowriting
JP4268108B2 (ja) * 2004-09-13 2009-05-27 富士通株式会社 磁気記録再生装置および磁気記録再生方法
US7694026B2 (en) * 2006-03-31 2010-04-06 Intel Corporation Methods and arrangements to handle non-queued commands for data storage devices

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106951268A (zh) * 2017-03-31 2017-07-14 山东超越数控电子有限公司 一种申威平台支持NVMe硬盘启动的实现方法
CN109240191A (zh) * 2018-04-25 2019-01-18 上海福赛特控制技术有限公司 集成运动控制和电机控制的控制器和控制***
CN109240191B (zh) * 2018-04-25 2020-04-03 实时侠智能控制技术有限公司 集成运动控制和电机控制的控制器和控制***

Also Published As

Publication number Publication date
KR20070115789A (ko) 2007-12-06
EP1862894A3 (en) 2009-03-11
TW200820060A (en) 2008-05-01
EP1862894A2 (en) 2007-12-05
KR100904648B1 (ko) 2009-06-25
US20080005749A1 (en) 2008-01-03
CN101083101B (zh) 2011-01-05

Similar Documents

Publication Publication Date Title
CN101083101B (zh) 具有多个分布式处理器的硬盘控制器
US8132084B2 (en) Super block error correction code (ECC) adaptable to communication systems including hard disk drives (HDDs) and other memory storage devices
US20090204758A1 (en) Systems and methods for asymmetric raid devices
CN102520890B (zh) 基于gpu的rs-draid***及存储设备数据控制方法
US8074146B2 (en) Multiple cyclic redundancy check (CRC) engines for checking/appending CRCs during data transfers
JP2007257630A (ja) Raidストレージ・システムのパリティ値を生成する方法及びアダプタを内蔵するraidストレージ・システム(エンクロージャベースのraidパリティ支援機構)
JP2006285889A (ja) データ記憶装置、再構築制御装置、再構築制御方法、プログラム及び記憶媒体
US20090216942A1 (en) Efficient memory management for hard disk drive (hdd) read channel
US20020138694A1 (en) Magnetic disc drive, method for recording data, and method for reproducing data
US7849418B2 (en) Segregation of redundant control bits in an ECC permuted, systematic modulation code
US20080005384A1 (en) Hard disk drive progressive channel interface
CN103377007A (zh) 以无序方式传输的数据处理***
US20110154165A1 (en) Storage apparatus and data transfer method
US20080155351A1 (en) Method for combining multiple trace sources in an embedded system
US20080086676A1 (en) Segregation of redundant control bits in an ecc permuted, systematic modulation code
JP2009116834A (ja) データ記録装置,データ記録装置の内部制御方法及びデータ記録システム
US20080118229A1 (en) ITERATIVE CODE SYSTEM FOR STREAMING HDDs
US7587538B2 (en) Disk controller, channel interface and methods for use therewith
US20090055619A1 (en) Disk formatter and methods for use therewith
US7904645B2 (en) Formatting disk drive data using format field elements
US8144413B2 (en) Reduced instruction set computer (RISC) processor based disk manager architecture for hard disk drive (HDD) controllers
US7818629B2 (en) Multiple winner arbitration
CN104811647A (zh) 面向视频流数据的分布式存储***磁盘双分区写入方法
US20070299994A1 (en) Disk controller, host interface module and methods for use therewith
US6854037B2 (en) Recording/reproduction apparatus and recording/reproduction control method

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1115220

Country of ref document: HK

C14 Grant of patent or utility model
GR01 Patent grant
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20110105

Termination date: 20110529

REG Reference to a national code

Ref country code: HK

Ref legal event code: WD

Ref document number: 1115220

Country of ref document: HK