CN103946821B - 数据存储器架构扩展系统及方法 - Google Patents

数据存储器架构扩展系统及方法 Download PDF

Info

Publication number
CN103946821B
CN103946821B CN201280057284.7A CN201280057284A CN103946821B CN 103946821 B CN103946821 B CN 103946821B CN 201280057284 A CN201280057284 A CN 201280057284A CN 103946821 B CN103946821 B CN 103946821B
Authority
CN
China
Prior art keywords
ptddc
ports
disc driver
hba
lba
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.)
Active
Application number
CN201280057284.7A
Other languages
English (en)
Other versions
CN103946821A (zh
Inventor
凯文·马克·克卢哈特
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.)
Individual
Original Assignee
Individual
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 Individual filed Critical Individual
Publication of CN103946821A publication Critical patent/CN103946821A/zh
Application granted granted Critical
Publication of CN103946821B publication Critical patent/CN103946821B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0607Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • 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/0629Configuration or reconfiguration of storage systems
    • G06F3/0635Configuration or reconfiguration of storage systems by changing the path, e.g. traffic rerouting, path reconfiguration
    • 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/0662Virtualisation aspects
    • G06F3/0665Virtualisation aspects at area level, e.g. provisioning of virtual or logical volumes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4247Bus transfer protocol, e.g. handshake; Synchronisation on a daisy chain bus

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

公开了一种数据存储器架构扩展(DAX)系统/方法,其允许逻辑地菊花链状地连接多个磁盘驱动器存储器元件(1019,1099),以使得单个主机总线适配器(HBA)(1001)将存储元件视作一个逻辑磁盘驱动器。该系统/方法可以被宽泛地描述为包括直通磁盘驱动器控制器(PTDDC)(1010),该PTDDC还包括HBA端口(1011)、磁盘驱动器接口端口(1012)、直通输入端口(1013)和直通输出端口(1014)。PTDDC拦截HBA端口输入并且将其翻译成连接到驱动器接口端口(1012)的各个磁盘驱动器(1019)的要求。可以将每个PTDDC菊花链状地连接到其他PTDDC,以允许过量磁盘驱动器与给定的HBA相关联,其中首个PTDDC提供到集成有连接到PTDDC的所有磁盘驱动器存储器的HBA的呈现接口。

Description

数据存储器架构扩展系统及方法
版权的部分豁免
本专利申请中的全部材料都受到美国和其他国家的版权法的版权保护。自本申请的首次有效提交日期起,本材料作为未公开材料而受到保护。
然而,复制本材料的许可被特此授权为这样的范围:版权持有人对于该专利文件或专利公开,在其出现在美国专利与商标办公室的专利档案或记录中时,由任何人进行的复制没有异议,但是,否则,保留所有的任何版权。
技术领域
本发明一般涉及与计算机数据存储相关的系统/方法,并且尤其涉及用于在磁盘驱动器上存储数据的系统/方法,以及在某些优选实施例中,在连接到运行于多种操作系统环境下的计算机系统的磁盘驱动器上的数据存储。本发明的一些优选的示例性实施例也利用独立磁盘冗余阵列(Redundant Array of Independent Disk,RAID)存储方法实现数据存储器架构扩展。
背景技术
传统的计算机存储器架构(0100)
通常如图1中所示(0100),传统的计算机存储器架构利用计算机系统(0110)(常常运行在操作系统(0112)的控制下)还包括系统总线(0111),其与一个或者多个磁盘驱动器接口(0120、0130)通信,随后经由主机总线适配器(Host Bus Adapter,HBA)物理接口与特定的磁盘驱动器(0121、0122、0131、0132)通信。一般来说,在大多数个人计算机(PC)环境中,磁盘驱动器接口控制器(0120、0130)被限制为每个控制器1-4个磁盘驱动器。
PATA/PATAPI(0200、0300)
通常如图2中所示(0200),许多传统的计算机存储器架构利用并行ATA(PATA)接口。这里磁盘驱动器控制器(0211)经由并行的带状电缆(0212)与磁盘驱动器(0214、0215)通信。然而,需要注意的是,这个HBA接口被限制为买个控制器两个磁盘驱动器。可以增加额外的磁盘驱动器,但是这要求对所增加的每对磁盘驱动器都需要额外的磁盘驱动器控制器(0211)。
与PATA接口相关联的物理接口的视图通常如图3中所示(0300)。应当注意的是,在PATA配置中电缆管理经常成问题,原因是每个磁盘驱动器必须具有连接到磁盘驱动器控制器的单独的带状电缆,或者在某些情况下两个磁盘驱动器可以共享单个主机控制器带状电缆。
SATA/SATAPI(0400、0500)
许多新型计算机存储器架构利用串行ATA(SATA)接口,通常如图4(400)中所示的。这里,磁盘驱动器控制器(0411)经由串行电缆(0412、0413)与每个磁盘驱动器(0414、0415)通信。然而,需要注意的是,这个HBA接口通常被限制为每个控制器1-4个磁盘驱动器。可以增加额外的磁盘驱动器,但是这要求所增加的每组磁盘驱动器都需要额外的磁盘驱动器控制器(0411)。
与SATA接口相关联的物理接口视图通常如图5中所示(0500)。连接器(0500)通常包含信号连接器(0501)和电源连接器(0502),以及相应的驱动信号插座(0503)和驱动电源插座(0504)。尽管SATA配置中的电缆管理所成的问题常常少于PATA配置,这种架构仍然要求连接到磁盘驱动器控制器的每一个磁盘驱动器需要一个串行电缆。
端口倍增器/端口选择器(0600)
如图4(0400)和图5(0500)中通常示出的,利用串行ATA(SATA)接口的计算机存储器架构可以包含通常如图6(0600)中所示的“端口倍增器”和/或“端口选择器”,其允许具有HBA接口(0620)的计算机系统(0610)(典型地运行在操作系统(0611)下)与端口倍增器(0630)通信,并且此后将数据/命令传输给多个磁盘驱动器(0631、0632、0633、0634),或者操作多个HBA接口(0640、0650)来允许经由端口选择器(0660)访问单个磁盘驱动器(0661)。SATA规范允许端口倍增器(0630)与至多15个磁盘驱动器通信。
应当注意的是,这些端口倍增器具有许多限制:
(1)不能嵌套或者级联端口倍增器(按照SATA规范,“端口倍增器不应当连接到另一个端口倍增器(也就是不可级联)”)。
(2)端口倍增器仅限于连接15个磁盘驱动器。
(3)由于不可级联端口倍增器,因此他们必须提供最大数目的预计磁盘驱动器附件,并且不能被递增地扩展以支持额外的磁盘驱动器。一旦超出某个端口倍增器的扩展容量,就必须用更大扩展容量的端口倍增器来代替它。
(4)端口倍增器将磁盘驱动器连接到HBA上作为“分离的(SEPARATE)”磁盘驱动器。由主机操作系统(0611)来负责协同在各磁盘驱动器(0631、0632、0633、0634)上的数据存储。
(5)没有将附接到端口倍增器的存储器进行连结的机制。
(6)端口倍增器不提供有助于RAID容量的任何形式的硬件。如果在连接到一个或多个端口倍增器的磁盘驱动器内实现RAID,那么它必须使用主机操作系统(0612)软件来实现。
这些限制意味着不能用端口倍增器来扩展给定磁盘驱动器卷的逻辑容量。更确切地说,端口倍增器概念允许对于给定HBA的有限扩展,来允许与附接到特定端口倍增器的有限数量(<16)的磁盘驱动器通过接口连接。
NAS/超出RAID拓扑(0700、0800)
尽管目前市场上存在大量的网络附加存储(Network Attached Storage,NAS)解决方案,但这些系统通常利用网络接口适配器(典型地为以特网,Ethernet)来提供HBA以存储器阵列。这种系统架构本质上需要使用另一个计算机系统(典型地运行LINUX或者某些其他高级操作系统)向主机计算机系统提供网路接口,以及实现对存储元件的文件系统支持。
一旦驱动器故障和/或所增长的数据可用性的数据冗余,许多这些NAS架构实现RAID的某些形式来提供数据保护。近来对这些架构的改进已经包括了Data Robotics公司制造的商标NAS商标的存储系统,和2011年1月18日发行的美国专利7,873,782“FILESYSTEM-AWARE BLOCK STORAGE SYSTEM,APPARATUS,AND METHOD”中所描述的,以及指定给Data Robotics公司的其他相关的美国专利。本发明以参考形式包含美国专利7,814,272;7,814,273;7,818,531;和7,873,782,来阐明这些存储系统的范围和特征。通过图7(0700)中的现有技术框图通常示出了在这种系统中所包含的系统复杂性的示例。
这些存储的实现经历有这种需求:在增强的存储器阵列中适当地管理数据存储需要驱动器控制器知悉发生在磁盘驱动器阵列上的文件系统的活动。本质上这需要将“驱动器仿真器”软件包含到系统中,以适当地管理驱动器存储器的分配/回收。在这种类型的存储器架构中的许多“抽象层”限制了整个系统的速度,并且大大增加了整个系统的复杂性。这种架构需求不仅将许多配置中的逻辑驱动器容量限制到16TB,还严重限制了存储器阵列的整体系统性能。
现有技术利用的一个概念是由物理磁盘驱动器卷所稀疏备份逻辑卷。现有技术通常教导,在由操作系统的控制所创建的文件系统环境内实现这种结构,必须存在某些形式的抽象层来控制所分配的存储器元件的“逻辑到物理”的映射,以防止将当前没有物理磁盘驱动器块关联的逻辑块作为磁盘读/写请求的目标的情况。图8(0800)中大体上示出了这种概念,并且这种概念代表了在允许扩展其物理存储容量的存储分配系统的技术现状。通常通过“欺骗”操作系统使之认为存储元件具有比物理附接的存储器更多的存储器,并且随后将向逻辑存储器阵列做出的逻辑块请求重新映射到与阵列相关联的稀疏分布的物理磁盘驱动器元件,来实现这种扩展容量。在大型存储器阵列系统中,这种重新映射过程通常很笨重、耗时并且是潜在的故障点。在这些情况下实现冗余的方法能够解决故障点的问题,但是,需付出明显增加系统开销并且降低系统性能的代价。
现有技术费用结构
企业费用结构
在现有技术的环境下,与存储器阵列相关的问题之一是整体的磁盘驱动器存储器的费用。关于该主题的许多评论的解释,
在消费市场中硬盘驱动器的费用与磁盘企业的存储系统的每GB的费用之间通常是分开的。在以费用/GB的形式,硬盘驱动器的费用正在降低的同时,磁盘并未变得更便宜——他们只是变得更大。一旦你将存储器控制器、转换和维护的费用包括进来,企业磁盘是非常昂贵的。节选自Jamon Bowen的“The Real Price of Enterprise Storage”(企业存储的真实价格)。
这条2011年的信息继续说明,在磁盘驱动器存储器的费用/GB在稳定降低的同时,每个企业磁盘驱动器的总的平均费用仍然保持稳定在大约$2500美元/驱动器。
当前磁盘驱动器的价格趋势
考虑到下列零售的磁盘驱动器存储器的当前价格趋势,以上企业磁盘驱动器的费用结构是令人非常吃惊的。
驱动器容量 驱动器价格(USD$) 费用/TB(USB$/TB)
500GB 40 80
1TB 60 60
2TB 80 40
3TB 180 60
从该2011年的数据中,很清楚的是,在单个磁盘驱动器的费用并不是在企业环境中实现磁盘驱动器的整体费用中的显著部分。如上所述,在这种环境下,与存储器控制器、转换和维护相关的费用占据了整体的数据存储器的费用的主要部分。
此外,应当注意的是,给定驱动器的每太字节的价格在市场上并不统一。在此示例中,与较大的磁盘驱动器相比,较小的驱动器通常会具有更高的费用/TB,但是在容量曲线的最末端,最大的驱动器通常会要求溢价。在此示例中,应当注意的是,能够以低于单个3-TB驱动器的价格拥有4TB的存储器(使用2个2-TB驱动器)。这个费用/TB差异至今还未被附接存储器市场的现有技术所利用,原因是如下文中可见的,与将给定驱动器附接到计算机系统相关的开销极大地超出了在单个磁盘驱动器上的任何价格差别。
NAS存储器价格趋势
如前所述,各种NAS和其他的技术已经变得可用,他们允许以适于作为一个或者多个逻辑磁盘驱动器而由计算机系统进行访问的方式,将磁盘驱动器阵列附接到计算机系统,用于集合磁盘驱动器的存储容量。在这种情况下,已经在硬件和软件中实现了的对RAID和其他容错架构的使用,作为在存储器阵列和主机计算机系统之间的“桥”。
用于这些系统的附件可以包括各种技术,包括eSATA、千兆以太网和其他接口。所有这些方法都依赖于存储器阵列存储器阵列被封装在单独的封闭壳内的存储器阵列,所述单独的封闭壳具有单独的供电并且通常具有包括计算机处理器的磁盘驱动器控制器母板,所述计算机处理器能够访问所有附接(通常被放在架上)的磁盘驱动器,并且为附接的磁盘驱动器提供到主机计算机系统的逻辑磁盘驱动器接口。
所有的该硬件开销,尤其是对单独的磁盘驱动器控制器母板的需求,极大地增加了附接存储器的整体费用。作为示例,下表示出了可用的多个NAS系统以及使用该架构的这些系统的费用结构。
从该数据中明显看出的是,给定磁盘驱动器的费用/TB的价格与使用传统的NAS或者其他现有技术附件架构将磁盘驱动器附接到计算机系统上的费用之间的差异。一般来说,使用NAS或者其他类似架构将单个磁盘驱动器附接到计算机上的费用将附接磁盘驱动器的费用增加了大约5X到50X个因子。此外,该因子随着整体磁盘驱动器阵列大小的增大而增大,使得实现更大的阵列比实现更小的阵列更加昂贵。
现有技术中的缺陷
上述现有技术中存在以下缺陷:
(1)允许的磁盘驱动器与驱动控制器的比率通常绝不多于八(8),但可以低至2。这样的低比率意味着在数据存储系统中扩展总体存储容量需要添加磁盘驱动器和主机控制器,或者替选地用更大容量的单元(如果可能的话)来代替现有的磁盘驱动器。
(2)HBA接口通常必须利用额外的软件(或者在某些情况下的固件)来在附接到给定计算机系统的存储器元件内实现RAID功能。这使得通常不可能在更新的应用中在给定计算机系统内实现RAID功能。
(3)不可能使用传统的存储器架构递增地增加给定存储系统的存储容量。
(4)由于需要额外的主机控制器接口和/或系统基础构造,现有的NAS和相关的RAID架构增加整体系统的费用。
(5)现有的NAS和相关的RAID架构可能限制数据存储系统所支持的文件系统的类型。这样的配置可能不与从中访问存储器阵列的主机操作系统完全兼容。作为示例,许多NAS系统利用XFS文件系统架构,所述XFS文件架构与在许多商标操行系统上所使用的NTFS文件结构不完全兼容。
(6)向现有的计算机系统添加NAS和其他相关的磁盘驱动器阵列技术的硬件费用开销造成给定存储器阵列的费用/TB的明显增加。具体地,与将存储器阵列通过接口连接到计算机系统相关的费用使得与磁盘驱动器存储元件相关的费用变得很小,使得整体的系统实现非常低效。
(7)使用NAS和其他相关架构将给定磁盘驱动器添加到计算机系统的增加的费用使每个驱动器增加的磁盘驱动器费用增加了5X到50X个因子,极大地增加了计算机系统上的额外磁盘驱动器存储器的费用。
(8)使用RAID-5/6配置需要典型的离线重建时间,该时间与磁盘驱动器故障/替换的规律为6小时/TB的周期相关。对于24TB的低容量存储器阵列来说,该时间大约为6天,对于高可用率存储系统来说,这是不可接受的停机时间。
一些现有技术可能教导了对这些问题中的许多问题的一些解决方案的同时,现有技术还没有解决在具有有限的HBA接口容量的现有计算机系统内廉价地扩展数据存储系统的核心问题。
发明目的
因此,本发明的(在其他目标中的)目的是避免现有技术中的缺陷并且影响以下目的:
(1)提供一种数据存储器架构扩展系统和方法,允许递增地增加整体存储容量。
(2)提供一种数据存储器架构扩展系统和方法,其允许在不需要额外的HBA接口的前提下将额外的磁盘驱动器添加到存储器阵列。
(3)提供一种数据存储器架构扩展系统和方法,其允许在不需要操作系统的软件修改或者对存储器设备的分区结构的修改的前提下,将额外的磁盘驱动器添加到存储器阵列。
(4)提供一种数据存储器架构扩展系统和方法,其允许在不需要系统软件的硬件和/或软件修改的前提下,将RAID功能添加到给定计算机系统。
(5)提供一种数据存储器架构扩展系统和方法,其允许将过多的磁盘驱动器附接到单个HBA接口。
(6)提供一种数据存储器架构扩展系统和方法,其允许在存储器阵列中的、对故障磁盘驱动器的透明替换。
(7)提供一种数据存储器架构扩展系统和方法,其允许在存储器阵列上创建主机操作系统文件系统结构。
(8)提供一种数据存储器架构扩展系统和方法,其允许最小化与附接各个磁盘驱动器相关的费用开销的同时,将存储器阵列元件添加到计算机系统。
(9)提供一种数据存储器架构扩展系统和方法,其允许以比使用NAS和相关技术可实现的费用大幅降低的费用,将额外的存储器阵列元件添加到计算机系统。
不应当将这些目标理解为对本发明的教导的限制的同时,这些目标大体上是由在以下章节中讨论的所公开的发明中可以部分或者全部实现的。本领域的技术人员无疑能够选择如同所公开的本发明的多个方面来影响上述目标的任何组合。
发明内容(0900)
图9(0900)中示出了本发明的一般架构的简要概括,其将本发明所教导的磁盘驱动器架构扩展系统/方法与图1(0100)中大致示出的现有技术配置进行对比。这里,我们看到图9(0900)中示出的系统应用架构包括计算机系统(0910)(典型地在操作系统(0912)的控制下运行),该计算机系统还包括系统总线(0911),该系统总线具有一个或多个主机总线适配器(HBAs),所述适配器用于两个示例性磁盘驱动器接口:PATA磁盘驱动器接口(0920)和SATA磁盘驱动器接口(0930)。由于使用图1(0100)中的传统的现有技术配置,这些磁盘驱动器接口通常被限制为每个控制器2-4个磁盘驱动器,但是并不必须限制为这样。
这种配置还可以在这种场景下呈现出来:用户接口计算机(0910)操作网页浏览器(0913),该浏览器在互联网(0914)(或者某些其他计算机网络)上与具有附接PTDDC的磁盘存储器(0917)的网页服务器(0915)(典型地在操作系统(0916)的控制下运行)通信,所述附接PTDDC的磁盘存储器支持托管网站(hosted website)(0918)、电子邮件服务器、远程备份服务、网页搜索设施等)或者需要数据存储的任何其他的计算服务的存储需求。该分布式网络存储器模型可以包含本地化的数据存储器和/或跨国境和/或跨越洲际的远程数据存储器设施。
本发明介绍了作为在主机总线适配器(HBA)磁盘驱动器接口与所服务的相应磁盘驱动器(0921,0922,0923,0924,0931,0932,0933,0934)之间的直接接口的、在上述传统框架中的直通磁盘驱动器控制器(Pass-thru Disk Drive Controller,PTDDC)(0941,0942,0943,0944,0951,0952,0953,0954)。然而,应当注意的是,在服务单个磁盘驱动器(0921,0922,0923,0924,0931,0932,0933,0934)的同时,在该架构中,可以以菊花链状(daisy-chained)连接PTDDC(0941,0942,0943,0944,0951,0952,0953,0954)。PTDDC的这种有序的菊花链(0941,0943),(0942,0944),(0951,0953),(0952,0954)允许将过多的磁盘驱动器电气附接到单个HBA接口。
PTDDC(0941,0942,0943,0944,0951,0952,0953,0954)的功能是从HBA接口端口接收数据/控制信息,并且将该信息传输给与附接到PTDDC接口的一个或者多个磁盘驱动器相关联的逻辑块地址(LBA)。该LBA映射是对于HBA接口的功能是透明地发生的,使得只要涉及到计算机系统(0910)(并且更重要的是在计算机系统(0910)上运行的任何操作系统(0912)),PTDDC链就表现为具有包括(最小为)在PTDDC磁盘驱动器菊花链内的最大数量的逻辑块的总和的逻辑容量的一个物理磁盘驱动器。与现有技术中增加扩展数据存储器的方法相比,本发明不需要对于PTDDC菊花链存储器阵列上的数据存储器的“文件系统知悉”方法。更确切地说,LBA地址的翻译通过每个PTDDC(必要时)无缝并且快速地产生,来影响在PTDDC菊花链串内的给定磁盘驱动器上的数据的适当放置和恢复。
尽管图9(0900)中示出的示例性实施例利用了PATA/SATA磁盘驱动器,但本发明并不限于任何特定的磁盘驱动器或者任何特定的磁盘驱动器HBA或接口总线。更确切地说,本发明充分一般化为利用任何数据存储器元件进行工作。此外,通过利用适当的卷格式化,在操作系统(0912)初始格式化/初始化后,菊花链连接的PTDDC磁盘驱动器串的大小能够被递增地增加。额外的实施例预计了将RAID技术合并入PTDDC中,这种合并对于计算机系统(0910)的运行和/或其上运行的操作系统(0912)是完全透明的。因此,利用PTDDC菊花链架构能够实现RAID存储器阵列(不定大小),而不需要单独的RAID控制器或者专用软件。这允许为RAID支持来更新现有系统和/或在费用敏感的数据存储应用中合并RAID支持。
这种架构的重要益处在于这样的事实:从计算机系统(0910)和操行系统(0912)的观点看来,PTDDC菊花链表现为一个大的物理驱动器,与具有适当大小的LBA特征的单个磁盘驱动器没有区别。因此,使用菊花链连接的PTDDC系统不需要软件上的修改。
此外,在具有有限的HBA接口的计算机系统中,能够将HBA接口的有效存储容量扩展到包括过多的磁盘驱动器,而不需要额外的硬件(这在一些硬件环境下也许不可能)。这实质上允许了给定HBA接口的数据存储容量的无限扩展,而与磁盘驱动器存储器元件的可用容量无关。
最后,尽管本发明具有许多优选的实施例,其仍然可以包括以下优选的示例实施例,其中PTDDC包括安装在被配置为插入到传统的磁盘驱动器接口端口背面的印刷电路板(PCB)上的专用集成电路(ASIC),使得这些PCB模块能够被连接在磁盘驱动器堆叠中,由此能够减少电缆管理并且最小化用于实现链状连接的费用开销。基于构成印刷电路板的每平方英寸$1.00美元的估计费用,本发明的费用估计为少于$4.00美元(并且大批量时渐近地接近$1.00美元),使得PTDDC概念的使用成为多花费几百倍的数据存储器架构的性价比很高的替选。
附图说明
为了更充分地理解本发明所提供的优势,请参考下面的详细描述以及附图,其中:
图1示出了现有技术的传统数据存储器架构;
图2示出了现有技术的并行ATA(PATA)数据存储器架构;
图3示出了现有技术的并行ATA(PATA)数据存储器架构物理接口;
图4示出了现有技术的串行ATA(SATA)数据存储器架构;
图5示出了现有技术的串行ATA(SATA)数据存储器架构物理接口;
图6示出了现有技术的端口倍增器/端口选择器概念;
图7示出了如美国专利7,814,272所教导的、现有技术的数据存储器扩展系统;
图8示出了如美国专利7,814,272所教导的、现有技术的合并逻辑块地址重映射的数据存储器扩展系统。
图9示出了利用了本发明实施例示例系统的数据存储器应用系统,与图1的现有技术的数据存储器架构形成对照;
图10示出了表示本发明的优选的示例实施例的普通系统框图;
图11示出了表示本发明的优选的示例实施例的普通方法流程图;
图12示出了表示本发明的优选的示例实施例的替选的普通方法流程图;
图13示出了本发明的示例实施例,其描述了在单个PTDDC的环境下磁盘驱动器存储的连接;
图14示出了在PTDDC系统环境下,可以如何存储PTDDC磁盘驱动器LBA配置数据的多个示例实施例;
图15示出了本发明的示例实施例,其中对于附接PTDDC的磁盘驱动器有序地生成LBA“逻辑到物理”映射;
图16示出了本发明的示例实施例,其中针对附接PTDDC的磁盘驱动器非有序地产生LBA“逻辑到物理”映射;
图17示出了当应用到SATA磁盘驱动器架构时,本发明的示例实施例;
图18示出了当应用到SATA磁盘驱动器架构时,本发明的示例实施例,细化了PTDDC的内部LBA映射功能;
图19示出了访问PTDDC标识信息的示例系统/方法;
图20示出了利用虚构寻址技术访问PTDDC内部数据结构的示例系统/方法;
图21示出了示例性的PTDDC/磁盘驱动器标识方法;
图22示出了用于在附接PTDDC的磁盘驱动器的有序链内执行驱动专用磁盘驱动器命令的示例方法;
图23示出了实现RAID-0存储器阵列的优选的示例实施例;
图24示出了实现RAID-1存储器阵列的优选的示例实施例;
图25示出了在利用比物理卷大小更大的逻辑卷大小的本发明的一些优选的示例实施例中,RESERVED(保留)文件分配的使用。
图26示出了通用的方法流程图,该流程图示出了在本发明的一些优选示例性实施例中使用的数据存储器架构扩展卷格式化方法。
图27示出了替选的通用方法流程图,该流程图示出了在本发明的一些优选示例性实施例中使用的数据存储器架构扩展卷格式化方法。
图28示出了通用的方法流程图,该流程图示出了在本发明的一些优选的示例性实施例中使用的数据存储器架构扩展卷插入方法,该方法应用于本发明的某些优选的示例实施例中。
图29示出了在实现本发明的一些优选的示例性实施例中有用的、现有技术的“驮载封装(piggy-back)”SATA-至-IDE转换器/适配器的机械基板示例。
图30示出针对SATA磁盘驱动器来说,在实现本发明的一些优选的示例性实施例有用的、与连接器布置形成完整的、“驮载封装”的机械基板的实现。
图31示出了应用在如下场景中的本发明的示例实施例,其中,在PCB上安装有链状连接的PTDDC,该PCB提供了到机架式安装(Rack-mounted)的磁盘驱动器的连接。
图32示出了应用在机架式安装磁盘驱动器的场景中的本发明的示例实施例。
目前优选的示例实施例的具体描述
本发明以许多不同的方式容易受到实施例的影响的同时,应当将在附图中示出以及在这里将要详细描述的本发明的优选实施例,理解为本公开被认为是本发明原则的范例而并不意欲将本发明的广泛范围限制为所示出的实施例。
将尤其参考当前优选的实施例来描述本申请的多种创新的教导,其中这些创新的教导被有益地应用到“数据存储器架构扩展系统和方法”的特定问题。然而,应当理解的是,该实施例仅是本文中创新教导的许多有益应用的一个示例。通常来说,本申请的说明书中所做的陈述并不必须限制各种所要求保护的发明中的任何一个。此外,一些声明可以应用到一些发明性特征中,而不能应用到其他发明性特征中。
不限制HBA/DDI端口
可以将本发明应用到很多种磁盘驱动器存储系统中,所述系统合并了很多种主机总线适配器(HBA)和磁盘驱动器接口(DDI)物理硬件接口。许多优选实施例可以被配置为其中的HBA和DDI是相同类型的物理硬件接口的同时,本发明并不限于这种配置,并且HBA和DDI可以是任何完全不同类型的硬件接口。
不限制PTI/PTO端口
本发明可以被有益地配置在一些直通输入(PTI)端口和直通输出(PTO)端口与HBA接口相同的硬件配置的情况中,但是本发明并不要求这种一致性。
不限制主机总线适配器(HBA)
本发明可以被应用到很多种磁盘驱动器存储系统中,所述系统合并很多种主机总线适配器(HBA)接口。一般说来,HBA接口在当前的磁盘驱动器子系统中、以及在将来可能发生的、对这些接口的增强和/或替换中可以广泛变换。本发明适用于许多当前的和将来的HBA接口的同时,特别适用于使用并行ATA(PATA/PATAPI)(也被标识为IDE/EIDE)、串行ATA(SATA/SATAPI/eSATA/microSATA)、光纤通道、串行存储器架构(SSA)和通用串行总线(USB)接口的实现。因此,本发明不限制在系统中所用的HBA的范围的同时,可以使用一个或者多个所列出的HBA接口,在一些优选的示例性实施例中实现本发明。
许多优选的示例性实施例利用串行ATA(SATA)磁盘驱动器接口标准。可从串行ATA国际组织(www.sata-io.org)获得该标准,在此以引用的方式将该标准并入到本文档中。
不限制文件系统
本发明的许多优选的示例性实施例可以合并磁盘上(on-disk)的文件系统,所述文件系统是与PTDDC的HBA端口相连的主机计算机系统上运行的特定操作系统兼容的。本发明对于在包括菊花链串联的PTDDC控制器(以及他们相关的附接的磁盘驱动器)的逻辑存储系统上实现的磁盘上的文件系统未做限制的同时,,本发明确实具体地预期到,许多优选的示例性实施例可以实现从以下组中选择的磁盘上的文件结构,所述组由EXT2、EXT3、EXT4、FAT12、FAT16、FAT32、Files-11(ODS)、HFS、HFS Plus(HFS+、NTFS和XFS)构成。
在这种背景下,本发明优选多个文件系统,下表说明了已知为在此时是优选的文件系统:
文件系统 最大的文件大小 最大的卷大小
exFAT 127PiB 64ZiB,512TiB
NTFS 16EiB 16EiB
HFS Plus 8EiB 8EiB
FFS 8ZiB 8ZiB
UFS1 226TiB 226TiB
UFS2 32PiB 1YiB
ext2 2TiB 32TiB
ext3 2TiB 32TiB
ext4 16TiB 1EiB
Lustre 320TiB(在ext4上) 1YiB-10PB
GPFS 512YiB 512YiB(测试4PiB)
GFS 8EiB 8EiB
ReiserFS 2GB-8TiB 16TiB
NLFS 8EiB 8EiB
Reiser4 8TiB on x86 未知
XFS 8EiB 8EiB
JFS1 8EiB 4PiB
JFS 4PiB 32PiB
QFS 16EiB 4PiB
BFS 260GiB 2EiB
VxFS 256TiB 256TiB
UDF 16EiB 未知
ZFS 16EiB 16EiB
VMFS2 4TiB 64TiB
VMFS3 2TiB 64TiB
HAMMER 未知 1EiB
Btrfs 16EiB 16EiB
LEAN 8EiB 8EiB
不限制格式化/初始化
在各种计算机操作系统中实现磁盘上的文件系统的情况下,在这些情况下,通常存在对于用来描述与创建逻辑文件结构有关的各种活动的术语的一些模糊不清。具体来说,术语“格式化(format)”可以意为来自磁盘驱动器介质的低级表面格式化的任何东西,以及在一些情况下包括在完成该低级表面格式化之后,对文件系统的合并。类似地,磁盘驱动器“初始化(initialization)”典型地仅仅指磁盘上的逻辑结构的合并,同时在一些实例中,能够将磁盘驱动器的“分区(partitioning)”合并到各种逻辑驱动器结构中。在本文档的上下文中,一般将术语“格式化”用来包含这些含义的更广的范围,包含低级表面格式化、分局、和/或磁盘上的逻辑文件结构初始化。在要求保护的发明的应用环境内,该术语的应用范围将必要地作为基于操作系统和硬件环境的应用细节。
不限制逻辑分区
本发明在底层文件系统方面未做任何限制,所述系统可以出现在包括连接到本文描述的PTDDC有序链中的一个或者多个磁盘的逻辑卷上。在这样的范围内,预期是这种情形:其中使用一个或者多个磁盘驱动器文件系统分区技术对逻辑PTDDC卷进行分区,以在逻辑PTDDC卷内产生逻辑分区的子驱动器。在数据存储和文件系统领域中,这种分区能力是公知的,这里不再详述。
系统概览(1000)
图10(1000)中大体示出了当应用到数据存储器架构扩展系统时的典型系统应用和本发明。在该示例实施例中,将在本文中大体描述的系统作为目标,来采用传统的基于计算机的数据存储器架构来合并额外扩展的存储器容量。如同在图10(1000)中大体示出的系统环境利用具有传统的HBA接口以与作为所公开的发明的核心的直通磁盘驱动器控制器(PTDDC)(1010)通信的计算机系统(1001)。
PTDDC(1010)包含三个或者四个接口端口。将第一端口指定为主机总线适配器(HBA)端口(1011),并且用于与主机计算机(1001)上的HBA接口电气连接。第二端口为磁盘驱动器I/F端口(1012),用做到被服务的磁盘驱动器(1019)的仿真HBA端口接口。直通输入(PTI)端口(1013)和直通输出(PTO)端口(1014)允许多个PTDDC实体(1010,1090)以菊花链状连接在一起,其中每个PTDDC控制存储器阵列中的一个磁盘驱动器(1019,1099)。由于PTDDC单元(1010,1090)可以被菊花链状连接成任何期望层次的嵌套,因此没有对于从连接到单个计算机(1001)HBA接口的单个HBA端口(1011),通过这种架构可以服务的磁盘驱动器(1019,1099)的数量的明确限制。
PTDDC(1010,1090)的功能如下。经由HBA接口、来自计算机(1001)的命令和/或数据被呈现给HBA端口(1011),并由PTDDC(1010)译码,以确定所请求的数据传输是否应该被应用到附接到PTDDC(1010)的特定磁盘驱动器(1019)。该传输请求通常涉及标识要被传输给磁盘驱动器(1019)的/从磁盘驱动器(1019)传输的起始块的逻辑块地址(LBA)。如果所请求的LBA是由所附接的磁盘驱动器(1019)服务的,则将请求传递给附接到PTDDC(1010)的当前磁盘驱动器。如果不是,则取决于本发明的特定实施例,可选地:通过从LBA请求中减少所附接的磁盘驱动器(1019)的大小来翻译所请求的传输,和/或将所请求的传输传递给后续PTDDC(1090)单元来进行处理。一旦将数据传输附接到或者关联到特定的磁盘驱动器(1019,1099),则从已经被所附接的PTDDC(1010,1090)激活的特定的磁盘驱动器(1019,1099)读出数据,或者将数据写入所述特定的磁盘驱动器(1019,1099)。
本发明预期一些实施例可以将HBA端口(1011)和直通(PTI)输入端口(1013)的功能集成到单个接口连接中,同时许多优选的实施例使用两个单独的端口用于这些连接,以能够简化在支持给定存储器阵列中的磁盘驱动器(1019,1099)的堆叠阵列的PTDDC印刷电路板(PCB)连接之间的电缆。
方法概览
顺序增加的映射方法(1100)
通过图11(1100)中所示的优选示例性实施例能够大体地示出本发明的方法。该方法的一般步骤包括如下各步骤:
(1)经由HBA输入端口接收磁盘驱动器传输请求(1101);
(2)确定与磁盘驱动器数据传输请求相关的LBA是否被映射到附接到当前PTDDC的磁盘驱动器,并且如果为否,则前进到步骤(4)(1102);
(3)经由附接到当前PTDDC的磁盘驱动器来处理磁盘驱动器数据传输请求,并且随后前进到步骤(6)(1103);
(4)从磁盘驱动器数据传输LBA中减去附接到当前PTDDC的当前磁盘驱动器的MAXLBN(1104);
(5)经由PTO端口将磁盘驱动器数据传输请求传递给链状连接的PTDDC(1105);
(6)通过将数据传输至附接到激活的PTDDC的终端磁盘驱动器或者从附接到激活的PTDDC的终端磁盘驱动器传输出来完成磁盘驱动器数据传输请求(1106);
(7)经由PTI和HBA端口通信由磁盘驱动器数据传输请求所请求的任何数据/状态信息(1107);
可以根据因子的数量,通过对重新安排和/或添加/删除本发明的范围所预期的步骤来修改在图11(1100)中示出的一般方法。这种示例性实施例方法与其他优选示例性实施例方法与本文中所描述的各种优选的示例性实施例系统相结合地集成,是本发明的总体范围所预期的。
直接映射方法(1200)
应当注意的是,图11中所示出的方法(1100)假设在将数据传输请求传递给后续的PTDDC/磁盘驱动器对之前,PTDDC实际上修改了数据传输请求。另一个等同的方法是传递所有的磁盘驱动器数据传输请求,而仅利用与所映射的LBA相关的PTDDC对传输给所附接的磁盘驱动器/从所附接的磁盘驱动器传输来的数据进行初始化。图12中示出了由优选的示例性实施例(1200)可以大体地示出本发明的方法实施例直接映射的变异。该方法的一般步骤包括如下各步骤:
(1)经由HBA输入端口接收磁盘驱动器传输请求(1201);
(2)经由PTO端口将磁盘驱动器数据传输请求传递给链状连接的PTDDC(1202);
(3)确定磁盘驱动器数据传输请求LBA是否被映射到连接到当前PTDDC的磁盘驱动器,并且如果为“否”,则前进到步骤(6)(1203);
(4)从磁盘驱动器数据传输请求LBA中减去当前PTDDC的基本LBN(1204);
(5)利用修改后的LBA经由附接到当前PTDDC的磁盘驱动器来处理磁盘驱动器数据传输请求(1205);
(6)将数据传输给附接到所激活的PTDDC的磁盘驱动器/从附接到所激活的PTDDC的磁盘驱动器传输出数据(1206);
(7)经由PTI和HBA端口通信由磁盘驱动器数据传输请求所请求的任何数据/状态信息(1207);
根据因子的数量,可以重新布置和/或添加/删除本发明的范围所预期的步骤对图12中示出的该一般方法的变形(1200)做出很大的修改。将这种和其他优选示例性实施例的方法与本文中描述的优选示例性实施例系统相结合地集成是本发明的总体范围所预期的。
逻辑卷映射(1300)
本发明可以合并一个或者多个PTDDC来创建以透明方式连接物理磁盘驱动器的物理块地址空间而形成的“逻辑卷”其。通过物理驱动器的物理逻辑块地址(LBA)空间实现的逻辑卷的这种透明形式的形成使得对于HBA控制器接口来说,物理驱动器的任意连接都显示为一个逻辑卷。由于HBA接口仅见到其容量被形成为并入所附接的磁盘驱动器的所有物理块的一个逻辑磁盘驱动器,因此无需对计算机系统或者操作系统软件作出软件或者硬件上的改动来支持任意大小的逻辑磁盘驱动器。
图13中大体示出的图示示例描绘了该概念的一个优选示例性实施例(1300)。这里我们看到连接到与磁盘驱动器(1311)相连的PTDDC(1310)的HBA端口的计算机系统(1301)。该PTDDC(1310)形成将每个PTDDC与相应的磁盘驱动器(1311,1321,1391)进行关联的PTDDC(1310,1320,1390)链。每个所附接的磁盘驱动器(1311,1321,1391)具有相应逻辑块计数(LBNCNT),在图中以L0,L1,……Ln符号表示。该逻辑块计数代表磁盘驱动器可访问的逻辑块的物理编号。与每个磁盘驱动器相关联的还有其范围为从零(0)到逻辑块计数减1的逻辑块地址(LBA),通常通过范围从零到最大物理逻辑块计数值减1的号码来寻址每个磁盘驱动器。因此,如图中所见,链状连接的磁盘驱动器的LBA地址值是基于在PTDDC磁盘驱动器链内的在先LBNCNT值的总和的,其中每个磁盘驱动器具有基本的LBA值和与其在整个逻辑卷映射内的特定位置相关联的逻辑块扩展。
应当注意的是,在这种配置中,在给定磁盘驱动器上的物理块的编号与给定磁盘驱动器上可访问的最大可寻址块或者最大LBA之间进行区别是很重要的。许多磁盘驱动器可以具有利用内部寄存器的修改来对驱动器“设置大小”的能力,以便最大可访问的块地址少于磁盘驱动器上可用块的总数量。这种能力使得一些磁盘驱动器能够被改造成要求比磁盘驱动器中可用物理块的数量少的特定大小的磁盘驱动器的情况。因此,在本发明的背景中,取决于磁盘驱动器最大可寻址逻辑地址的配置,磁盘驱动器的最大LBA值可以代表小于磁盘驱动器上可用物理块的最大数目的值。
应当注意的是,如图13(1300)中大体示出的该特定示例仅代表从主机计算机(1301)来看,将每个磁盘驱动器的LBA地址映射为逻辑LBA地址空间的一种方法。如稍后所述,LBA映射不需要对每个单个的磁盘驱动器是有序的。
LBA映射示例#1:顺序增加的映射
当将本发明的教导应用到利用如图11的流程图(1100)中大体描述的顺序增加的映射方法的一些优选示例性实施例中时,够经由使用示例性的菊花链状连接的驱动器配置来理解本发明的教导。尽管本发明没有对PTDDC菊花链配置中的驱动器的数目作出任何限制,但是在该示例中,我们将用到四个驱动器。在该示例中,将以下磁盘驱动器经由PTDDC接口连接到计算机系统上的主HBA接口。
利用如上所述的顺序增加的映射方法,在逻辑块(5,000,000,000)开始的逻辑驱动器访问将如下进行:
(1)PTDDC附接的磁盘驱动器#1接收数据传输请求并且通知传输地址的开始LBA(5,000,000,000)超出了磁盘驱动器#1的最大LBA计数(1,953,525,168)。
(2)从数据传输请求的LBA中减掉磁盘驱动器#1的最大LBA计数(1,953,525,168),结果为新的磁盘传输LBA值为(5,000,000,000)–(1,953,525,168)=(3,046,474,832)。
(3)经由PTDDC PTO端口将该新的LBA传输地址(3,046,474,832)传递给磁盘驱动器#2。
(4)PTDDC附接的磁盘驱动器#2接收修改后的数据传输请求(3,046,474,832),并且通知传输地址的开始LBA超出了磁盘驱动器#2的最大LBA计数(2,930,277,168)。
(5)从数据传输请求的LBA(3,046,474,832)中减去磁盘驱动器#2的最大LBA计数(2,930,277,168),结果为新的磁盘传输LBA值为(3,046,474,832)-(2,930,277,168)=(116,197,664)。
(6)PTDDC附接的磁盘驱动器#3接收修改后的数据传输请求(116,197,664),并且通知传输地址的开始LBA小于磁盘驱动器#3的最大LBA计数(3,907,029,168)。
(7)与磁盘驱动器#3相关的PTDDC将修改后的数据传输请求LBA(116,197,664)传递给磁盘驱动器#3,并且基于数据传输请求的省队规定,将数据传输给磁盘驱动器#3/从磁盘驱动器#3传输数据。
(8)返回通过PTI/PTO端口的PTDDC菊花链,将要从磁盘驱动器#3读取的任何数据中继回与连接到磁盘驱动器#1的PTDDC相关联的最初的HBA端口。
在磁盘驱动器数据传输请求跨越与给定的磁盘驱动器对相关联的逻辑块边界的情况下可以对以上情景做出修改。例如,跨越磁盘卷的足够大的数据传输请求能够分流成两个数据传输请求:一个由PTDDC链中最的初映射的磁盘驱动器来处理,并且剩余的传输能够由PTDDC链中的下一个磁盘驱动器来处理。本领域的技术人员将认识到,通过(在为该驱动器的最初数据传输块LBA值代入零(0)值后)将首个数据传输请求限制成最初映射的磁盘驱动器中可用空间,并且为链中的下一个磁盘驱动器减掉所传输容量来分流这些数据传输请求是很容易的事。
LBA映射示例#2:直接映射
当将本发明的教导应用到利用如图12的流程图(1200)中大体描述的直接映射的方法的一些优选示例性实施例中时,能够经由使用示例性的菊花链状连接的驱动器配置来理解本发明的教导。在该示例中,尽管本发明没有对PTDDC菊花链配置中的驱动器的数目作出任何限制,我们将用到四个驱动器。在该示例中,将以下磁盘驱动器经由PTDDC接口被连接到计算机系统上的主HBA接口:
该磁盘驱动器信息被用来生产与每个磁盘驱动器相关的(并且单个PTDDC控制器可访问)磁盘驱动器LBA映射表。该映射表在许多优选实施例中具有以下形式:
磁盘驱动器 容量(TB) 开始LBA 最大LBA
1 1.0TB 0 1,953,525,168
2 1.5TB 1,953,525,168 4,883,802,336
3 2.0TB 4,883,802,336 8,790,831,504
4 3.0TB 8,790,831,504 14,651,364,672
使用如上所述的直接映射方法,在逻辑块(5,000,000,000)开始的逻辑驱动器访问如下进行:
(1)PTDDC附接的磁盘驱动器#1接收数据传输请求并且通知传输地址的开始LBA(5,000,000,000)等于或者超出了磁盘驱动器#1的最大LBA地址(1,953,525,168)。数据传输请求被传递给磁盘驱动器#2。
(2)PTDDC附接的磁盘驱动器#2接收数据传输请求并且通知传输地址的开始LBA(5,000,000,000)等于或者超出了磁盘驱动器#2的最大LBA地址(4,883,802,336)。数据传输请求被传递给磁盘驱动器#3。
(3)PTDDC附接的磁盘驱动器#3接收数据传输请求并且通知传输地址的开始LBA(5,000,000,000)小于磁盘驱动器#3的最大LBA地址(8,790,831,504)。
(4)与磁盘驱动器#3相关的PTDDC从与磁盘驱动器#3相关的开始LBA(4,883,802,337)中减去传输地址的开始LBA(5,000,000,000),以为与磁盘驱动器#3相关的数据产生本地LBA开始地址(5,000,000,000)–(4,883,802,337)=(116,197,664)。该修改的磁盘驱动器传输地址(包括LBA)被传递给磁盘驱动器#3。
(5)与磁盘驱动器#3相关的PTDDC将修改后的数据传输请求LBA(116,197,664)传递给磁盘驱动器#3并且基于数据传输请求的其余规定将数据传输给磁盘驱动器#3/从磁盘驱动器#3传输数据。
(6)通过PTI/PTO端口的PTDDC菊花链将从磁盘驱动器#3将要读取的任何数据中继返回给与连接到磁盘驱动器#1的PTDDC相关的初始HBA端口。
在磁盘驱动器数据传输请求跨越与给定磁盘驱动器对相关联的逻辑块边界的情况下可以对以上情景做出修改。例如,跨越磁盘卷的足够大的数据传输请求能够分流成两个数据传输请求:一个由PTDDC链中最初映射的磁盘驱动器来处理,并且剩余的传输能够由PTDDC链中的下一个磁盘驱动器来处理。本领域的技术人员将认识到,通过(在为该驱动器的最初数据传输块LBA值代入零(0)值之后)将首个数据传输请求限制成最初映射的磁盘驱动器中的可用空间,并且为链中的下一个磁盘驱动器减少传输大小来分流这些数据传输请求是很容易的事。
LBA映射配置存储器(1400)
如前所述,本发明预期了多种可以被用于将从逻辑卷请求到物理映射的LBA映射提供给PTDDC连接的物理磁盘驱动器的方法。如图14(1400)中大体示出的,LBA映射配置数据(1401)的存储器可以采取许多形式,但是本发明预期以下的方法在许多优选的示例性实施例中是更优越的:
(1)可以利用每个PTDDC(1411)中的闪存、FRAM或者非易失性存储器(1402)来存储LBA映射配置信息(1401)。这种方法是快速的,而且提供了替换磁盘驱动器而无关于他们的内容的方法。应当注意的是,在许多优选实施例中,该存储器可以位于与PTDDC的大多数功能相关的ASCI之外。此外,经由发送给PTDDC链的串行协议可以加载该存储器和/或PTDDC可以将固定的LBA块地址识别为包括LBA配置存储器的内容。优选的示例性实施例利用逻辑块零(0)(或者替选地,所有1的逻辑块地址)作为配置数据阵列,适宜对PTDDC的LBA映射逻辑进行修改以将所有磁盘驱动器传输请求偏移一个逻辑块地址。
(2)PTDDC附接的磁盘驱动器(1412)内的专用块存储器(1403)可以被用来存储LBA映射配置信息(1401)。在附接的磁盘驱动器(1412)上的专用块地址(1403)可以存储在PTDDC(1411)进行的逻辑重新映射过程中使用的LBA配置信息(1401)的表。应当注意,在磁盘驱动器能够指示比卷上的块的物理块数目小的逻辑卷尺寸的情况下,能够将LBA映射配置信息放置得超出磁盘驱动器上的最后的可逻辑寻址块,并且必要时通过调整磁盘驱动器的逻辑大小而被检索。另一个途径将特定块放置在卷的起始或者结尾,并且利用LBA偏移来重新映射从HBA接口到磁盘驱动器的请求。
(3)在PTDDC(1411)附接的磁盘驱动器(1412)上常驻的文件系统内的专用文件存储器(1404)。可以经由监视操作系统或者应用程序将具有可选(系统,只读)属性的特定文件放置到PTDDC附接的磁盘驱动器(1412)上,以包含LBA映射信息。
本发明预期这些存储方法仅仅是该LBA配置信息可以如何被存储的示例,并且在一些情况下,这些方法的组合可以是适合的。
LBA逻辑到物理映射配置(1500,1600)
本发明预期能够被用于提供从逻辑卷请求到PTDDC连接的物理磁盘驱动器的物理映射的LBA逻辑到物理映射的多种方法。如图13(1300)中在先描绘的以及图15(1500)中大体示出的,从计算机系统(1501)看来,可以从PTDDC附接的磁盘驱动器的第一个LBA开始连续映射LBA。
然而,如图16(1600)中大概示出的,可以非连续地映射多个LBA,其中从计算机系统(1601)看来,给定PTDDC附接的磁盘驱动器的所述LBA范围被随意地映射到逻辑驱动器的逻辑地址空间。这个方法更通用并且允许在包括链状连接的PTDDC的存储器阵列内,磁盘驱动器的物理布置上的有最大灵活性。这个方法还允许在通过逻辑地重新映射PTDDC联内多余的驱动器来变为PTDDC链内的另一个驱动器的镜像驱动器,来替换故障RAID驱动器的情况下阵列的配置。
此外,如图16(1600)中大体示出的,被附接到链状连接的PTDDC(1621,1622)上的给定磁盘驱动器(1631,1632)可以具有到逻辑块地址空间(1610)的逻辑地址空间的非连续的和分段的映射。这允许例如用2-TB磁盘驱动器来替换1-TB磁盘驱动器,使得替换驱动器的首个1-TB被映射到由原磁盘驱动器所消耗的原始1-TB逻辑地址空间,并且2-TB磁盘驱动器的剩余1-TB地址空间被映射到逻辑块地址空间(1610)的其他地方。这示出了这种概念:PTDDC可以包含用于给定的PTDDC附接的磁盘驱动器的,到逻辑块地址空间(1610)的多个LBA映射窗口。由于应当理解这些LBA地址比较器可以为给定PTDDC附接的磁盘驱动器在到逻辑块地址空间(1601)的多个窗口上操作,因此在本文档的其他地方详细解释LBA映射地址比较器时,记住这个事实是很重要的。
内部PTDDC架构——SATA示例(1700,1800)
概览
在PTDDC的许多实现都是可能的同时,能够通过示例实施例最佳地示出与这个概念相关联的系统/方法的一般特征。为此,在图17(1700)中所示的普遍化的SATA架构是有用的,因为其描述了在优选SATA磁盘驱动器接口环境下的优选示例性实施例。
SATA示例性实施例(1700)
如图17(1700)中所示,如同在SATA环境中优选实现的PTDDC概念(1710)可以包含HBA端口接口(1711)、磁盘驱动器I/F端口接口(1712)、直通输入端口接口(1713)和直通输出端口接口(1714)。这些接口的每一个都是双向的并且可以具有相关联的输入队列(1721,1722,1723,1724)和与其相关联的输出队列(1731,1732,1733,1734),尽管是在直通输入端口(1713)的情况下,该接口(以及其相关联的PTI输入(1723)和PTI输出(1733)队列)可以如其他地方所述那样被集成到HBA端口接口(1711)中,以最小化与特定PTDDC实现相关联的硬件。
在该背景下,为了实现输入(1721,1722,1723,1724)/输出(1731,1732,1733,1734)队列,许多方法是可接受的,同时,许多优选实施例利用了以下专利所讨论的技术:1988年6月7日授权给Ching-Lin Jiang和Clark R.Williams的美国专利4,873,665:“Dualstorage cell memory including data transfer circuits”;1994年3月29日授权给Ching-Lin Jiang和Clark R.Williams的美国专利5,299,156:“DUAL PORT STATIC RAMWITH BIDIRECTIONAL SHIFT CAPABILITY”;1996年7月2日授权给Ching-Lin Jiang和ClarkR.Williams的美国专利5,532,958:“DUAL STORAGE CELL MEMORY”;以及2000年9月12日授权给Ching-Lin Jiang和Clark R.Williams的美国专利6,118,690:“DUAL STORAGE CELLMEMORY”。
应当注意的是:显示的HBA端口接口(1711)、磁盘驱动器I/F端口接口(1712),直通输入端口接口(1713)和直通输出端口接口(1714)的构造被显示为是相同的,同时并不必须如此。例如,在PTDDC到SATA磁盘驱动器架构的该应用中,仅HBA端口接口(1711)和磁盘驱动器I/F端口接口(1712)必须为SATA类型硬件接口。可以使用更容易/更便宜的其他硬件接口来实现其余的直通输入端口接口(1713)和直通输出端口接口(1714)。此外,应当注意的是,HBA端口接口(1711)和磁盘驱动器I/F端口接口(1712)不需要是相同类型的硬件接口。例如,HBA端口接口(1711)可以被配置为iSCSI接口,同时磁盘驱动器I/F端口接口(1712)被配置为SATA。本领域技术人员将认识到在本发明的教导下,任何数目的接口组合都是可能的。
PTDDC如下运行。如果必要,可选的上电复位电路(1741)为系统的上电启动提供通用的初始化信号。对于该功能,许多选项都是可用的同时,在1992年11月17日颁发给EricW.Mumper、Francis A.Scherpenberg和William L.Payne,II的美国专利5,164,613“RESETMONITOR”中示出了一个优选的方法。本领域技术人员将认识到这种电路在包括那些支持磁盘驱动器的很多种数字系统中都是共用的。
由SATA命令翻译器(1742)翻译从HBA端口(1711)接收到的并且为了处理而由HBA输入队列(1721)进行排队的数据和/或命令以确定内容和有效性。取决于命令和/或数据流的类型,数据/命令开关(1743)解释数据/命令内容并且作出数据/命令是否应当在本地被处理(到附接到PTDDC的磁盘驱动器上)还是沿着PTDDC链被传递给另一个PTDDC/磁盘驱动器对的决定。
如果数据/命令内容没有将本地附接的PTDDC磁盘驱动器作为目标,则将数据/命令经由PTO输出队列(1724)传送给直通输出端口(1714)。然后,来自下游PTDDC附接的磁盘驱动器的命令响应和/或数据被从直通输出端口(1714)接收,被PTO输入队列(1734)缓冲并且经由HBA输出队列(1731)最终被中继返回到HBA端口(1711)。
如果数据/命令内容将本地附接的PTDDC磁盘驱动器作为目标,则数据/命令在本地磁盘命令处理器(1744)的控制下经由磁盘驱动器输出队列(1732)被传送给磁盘驱动器I/F端口(1712)。来自TPDDC本地附接的磁盘驱动器的命令响应和/或数据随后从磁盘驱动器I/F端口(1714)被接收,由磁盘驱动器输入队列(1722)缓冲并且经由HBA输出队列(1731)被最终中继返回到HBA端口(1711)。
数据/命令切换1743)控制调整从本地磁盘驱动器I/F端口(1712)和直通输出端口(1714)接收到的命令响应和/或数据的返回的数据切换(1746)。该调整确保从这些源接收到的信息恰当地按队列经由HBA输出队列(1731)返回到HBA端口(1711)。然而,在一些情况下,本地PTDDC和本地附接的磁盘驱动器之间的会话应当被限制于PTDDC接口,并且不被中继地返回到HBA端口(1711)。例如,从本地附接的磁盘中检索本地PTDDC配置信息,询问关于本地附接的磁盘的驱动器标识(如下文详述的驱动器索引),以及应当将通信局部化到最接近的PTDDC接口空间的其他情况。
为了帮助确定给定的本地附接的磁盘驱动器是否处于给定PTDDC的LBA寻址范围内,在许多优选实施例中预期使用本地状态/映射存储器(1745)。该本地状态/映射存储器(1745)可以包括用于所附接的磁盘驱动器的LBA上/下限、磁盘驱动器型号/序列号信息、表示串联连接的PTDDC链内本地PTDDC的位置的索引值、以及所需的其他信息。
LBA映射架构(1800)
如图17(1700)中所描述的数据/命令切换(1743)和数据切换(1746)功能可以通过对图18(1800)中大体示出的示例性LBA映射架构方法的检查而被阐明。在该示例性实施中,运行软件(1802)的主机计算机(1801)经由HBA端口(1811)与PTDDC(1810)通过接口接合(或者同等的上游PTDDC(1823)经由PTI端口(1813)与PTDDC(1810)通过接口接合)。由PTDDC(1810)经由磁盘驱动器端口(1812)支持本地附接的磁盘驱动器(1822),以及可选地,经由PTO端口(1814)支持下游链状连接的PTDDC(1824)。
从HBA端口(1811)和/或PTI端口(1813)接收的SATA命令被SATA命令翻译器(1815)接收,并且被基于期望的SATA命令功能而解码。在命令包括为后续读/写操作而加载磁盘LBA值的情况下,将该信息加载到本地磁盘LBA读/写地址寄存器(1816)。使用LBA映射比较器(1818)将该寄存器(1816)与内部LBA映射表(1817)(在配置PTDDC(1810)时被预先加载)相匹配。LBA映射比较器(1818)获取磁盘LBA读/写地址寄存器并且确定所请求的数据传输是否在本地附接的磁盘驱动器(1822)的范围内,如LBA映射表(1817)所确定的那样。随后,如果数据传输不在LBA映射表(1817)所表示的LBA范围内,则使用来自LBA映射比较器(1818)的匹配输出(1819)来使能从HBA/PTI端口(1811,1813)到PTO端口(1814)的数据切换(1831)以及相关的下游链状连接的PTDDC(1824);或者替选地,如果数据传输在LBA映射表(1817)所表示的LBA范围内,则使能从HBA/PTI端口(1811,1813)到磁盘驱动器端口(1812)的数据切换(1832)以及相关的附接有PTDDC的磁盘驱动器(1822)。这里将数据切换(1831,1832)象征性地表示为传输门的同时,本领域技术人员将认识到在于该功能的实施中可以利用很多种数据切换方法。
SATA LBA映射范围
使用SATA(以及SATA类)磁盘驱动器的一个优点是:他们支持48位LBA寻址的能力。这些驱动器典型地合并了允许寻址2**48个扇区(281.47E+12)或者大约144E+15字节的6字节扇区地址选择寄存器。假设SATA磁盘驱动器是1-TB容量并且包括1,953,525,168个512字节的扇区(1,000,204,866,016字节),该LBA寻址范围允许将大约144,085个磁盘驱动器放置在该LBA地址空间内。由此,对于所有实际情况来说,能够在不考虑用完磁盘驱动器架构所允许的支配地址空间的前提下,依次附加PTDDC链。如前所述,多种文件系统支持这种48-位LBA寻址,并且同样地PTDDC概念对SATA磁盘驱动器架构和它在其中必须起作用的共用操作系统两者都保持了兼容性。
考虑到48-位SATA寻址范围与当前可用的磁盘驱动器物理寻址能力相比太大,应当提到的是在本发明的一些实施例中,PTDDC链可以被串行化,使得链中的每个PTDDC控制器都被给予唯一的字节标识符。跟随者该控制器标识以后,通过将该字节标识符合并为48-位SATA LBA地址域的最显著字节(Most Significant Byte,MSB),能够唯一地标识与特定PTDDC相关联的LBA地址。这种PTDDC逻辑地址空间的子分区将允许256个PTDDC的“区”(Zones),每个区包括打印562个磁盘驱动器。当与端口倍增器和端口选择器结合使用时,这种技术能够为既具有高容量、高可用性又具有内部冗余性的巨量“云”计算存储系统提供架构框架。
本领域技术人员将认识到,48-位SATA LBA地址空间能够被子分区成多个“组(group)”或者“区”,其中的每个包括48-位地址映射的多个位,所述48-位地址映射具有作为形成信息存储器“树”(Tree)的磁盘驱动器的“网络(Network)”之一的通用架构,所有这些可以经由连接到主机计算机系统的单个HBA进行访问。当被应用到非常大的计算机设施中时,这是非常强大的概念,既由于其性能,但也由于其实施可行性的实用性质,尤其考虑到如本文其他地方所详细描述的整体系统实施的低成本特性。
单个驱动器索引——SATA示例
概览
这里公开的PTDDC概念试图从主机计算机HBA的角度来看,将附接有PTDDC的磁盘驱动器的整个链作为一个逻辑卷来对待。这在绝大多数硬盘驱动器访问操作中是可接受的,同时,在一些情况下,为了各种目的,可能有必要对PTDDC链中的给定磁盘驱动器分别寻址,这些情况包括但不限于:
(1)用要与访问单个磁盘驱动器相关联的索引值(磁盘驱动器地址,DDA)初始化磁盘驱动器。
(2)用LBA地址的下/上范围来配置磁盘驱动器,在所述范围中,驱动器将被映射到整个HBA逻辑地址空间中。
(3)驱动器的低级格式化。
(4)设置驱动器安全信息。
(5)报告驱动器诊断和其他维护信息。
(6)单个磁盘驱动器所允许的其他功能。
本利用技术人员将认识到查询的范围将严重地基于PTDDC系统/方法的环境中所用的硬盘驱动器架构。
基础性的唯一PTDDC索引问题和系统环境
在该环境下将要回答的核心问题是“当每个PTDDC可以被制成同一式样时,PTDDC如何变成单独可寻址的(以及当初始安装时因此不具有唯一性)?”。为了提供实现该特征的本发明的示例性实施例,选择特定的磁盘驱动器技术作为分析的基础是有用处的。因此,余下的讨论将利用SATA磁盘驱动器接口(本发明的优选实施环境)作为详述对于该问题的解决方法的基础。
PTDDC ID方法#1——PTDDC内部索引/标识(1900)
如图19(1900)中大体示出的,唯一标识特定PTDDC的一个方法是用电子序列号(1914)在工厂中唯一地标记每个PTDDC(1910),该序列号可以在操作系统或者应用软件(1902)的控制下,经由计算机系统(1901)经由HBA端口(1911)读取。在SATA环境下可以这样实现这一点:通过IDENTIFY DEVICE(标识设备)(0xEC)命令结果(1921,1922)的修改来修改用于该查询的下列返回域:
(1)磁盘驱动器型号编号(1921)。在该命令中所返回的512字节扇区的词27-46(20字节)通常表示ACSII中的所附接的磁盘驱动器的型号号码。在每隔一个IDENTIFY DEVICE命令上,可以用唯一的电子文档域(例如“PTDDC”)代替该20字节域来表示所返回的相关联的序列号码域是用于PTDDC的。
(2)磁盘驱动器连续号码(1922)。在该命令中所返回的512字节扇区的词10-19(10个字节)通常表示ASCII的所附接的磁盘驱动器的连续号码,并且如果没有指定,则为零(0)。每隔一个IDENTIFY DEVICE命令可以使用用于PTDDC的唯一电子连续号码来代替该10字节域。
该技术能够与下面的方法结合,来提供PTDDC接口本身的信息以及附接到PTDDC的任何磁盘驱动器的信息。例如,可以单独于并且分离于附接到各个PTDDC的磁盘驱动器来询问PTDDC接口的链。
该系统/方法通常操作使得由TDDC(1910)HBA端口(1911)接收的“RESET DEVICE”(复位设备)命令操作以初始化状态机械逻辑(1915),使得后续的IDENTIFY DEVICE命令检索通常包括型号编号(1921)和序列号码(1922)的磁盘驱动器(1920)信息。该信息被通过数据多路复用器(1913)经由HBA端口(1911)中继回给主机计算机。后续IDENTIFY DEVICE命令改变状态机械逻辑(1915)的状态以便来自PTDDC本地存储器的数据(包括型号、序列编号和其他标识信息)代替原始磁盘驱动器型号(1921)和/或序列(1922)编号信息并且通过数据多路复用器(1913)经由HBA端口(1911)呈现给主机计算机(1901)。
PTDDC ID方法#2——假想接口(2000)
在PTDDC环境下访问数据的再一方法是使用“假想”(phantom)接口,其与MAXIMINTEGRATED PRODUCTS有限公司的型号DS1315的假想时钟芯片(Phantom Time Chip)中所用的接口相似。该集成电路使用在严格的地址访问协议下的一系列设备访问来匹配64位数据模式(0xC5,3A,A3,5C,C5,3A,A3,5C)。如果该系列地址访问模式得到匹配,则假想接口的状态改变为允许经由特定的地址访问来向假想存储器读和/或写数据。
如图20(2000)的示例性系统框图中所示的,可以如下所述地将该假想接口技术应用到PTDDC中的应用。在软件(2002)的控制下的主机计算机系统(2001)经由HBA端口(2011)与PTDDC(2010)通过接口连接(或者同等地,经由PTI端口(2013)连接的上游链状连接的PTDDC(2023)),来将磁盘驱动器命令发送给解码并且验证该磁盘驱动器命令的SATA翻译器(2030)。
由从命令流中提取地址协议信息的命令地址过滤器(2031)过滤SATA命令翻译器(2030)的输出。该功能能够采取多种形式,但是一个例子是提取与48位SATA LBA扇区地址的MSB相关联的字节值。由协议匹配比较器(2033)比较该地址值和协议匹配模式(2032)。如果检测到协议匹配模式(2032)与SATA地址访问之间相匹配,则激活匹配销存器(2034)来表示协议匹配。
在该协议匹配功能的环境下,上电复位(2035)电路允许初始化协议索引计数器(2036),该计数器针对命令地址过滤器(2031)得到的结果来对协议匹配模式(2032)制作索引。
如果匹配销存器(2034)表示协议匹配,则激活数据切换(2037)以从SATA命令翻译器(2031)转移地址访问信息,来允许对本地设置的存储器(2038)的读/写访问。该本地设置的存储器(2038)负责配置PTDDC(2010)的特性,例如设置LBA映射范围和其他功能。
如图20(2000)中大体示出的,在PTDDC(2010)的环境下,该技术能够被用于访问链中的首个PTDDC内的本地设置的存储器(2038),以向PTDDC写入配置信息。随后可以写入“锁定(lock)”位,以将信息锁定在首个PTDDC内,由此允许后续的协议访问跳过首个PTDDC并且访问下游的链状连接的PTDDC(2024)。能够对顺序的链中的每个PTDDC重复该过程,并且由此允许整个链中的每个PTDDC的完整配置。如果需要的话,能够使用“DRIVE RESET”(驱动器复位)命令或者其他SATA专用命令来复位“锁定”位以允许对前面的PTDDC链的访问。
至于协议匹配模式(2032)和命令地址过滤器(2031)实现地址识别的方式的细节,本发明并未对这是如何实现的做出限定。一个优选的方法是使用SATA LBA地址的最显著位来提供该寻址信息,为协议匹配模式(2032)的每个匹配请求一个SATA读循环。一旦协议匹配模式(2032)已经被匹配,那么如果高位LBA扇区地址位为“1”,则后续SATA读操作会表示“写”,并且如果高位LBA扇区地址位为“0”,则后续SATA读操作会表示“读”,同时如果需要的话,从低位LBA扇区地址位获取“写”数据。该架构确保仅使用SATA READ SECTOR(SATA读扇区)命令就能够将固定数目的配置位存储在本地设置的存储器(2038)中,提供对于在附接有PTDDC的磁盘驱动器(2022)上包含的数据来说,这些操作是非破坏性的保障。
PTDDC ID方法#3——顺序驱动器序列编号搜索(2100)
通过图21(2100)示出的优选示例性实施例可以大概地示出一个本发明PTDDC ID方法实施例的变形例,其中,使用HBA和PTDDC的动作来描述所示的方法流程图。该方法的一般步骤包括如下步骤:
(1)由HBA将DRIVE RESET(驱动器复位)命令发布给PTDDC链(2101);
(2)通过所有链状连接的PTDDC(2102)传送HBA所发布的DRIVE RESET命令(2102);
(3)所有PTDDC将本地变量PTDDC_ADR设置为零(0)来响应DRIVE RESET命令(2103);
(4)由HBA将IDENTIFY DEVICE(标识设备)命令发布给PTDDC链(2104);
(5)如果接收IDENTIFY DEVICE命令的PTDDC表示PTDDC_ADR的值非零,那么随后控制前进到步骤(8)(2105);
(6)将IDENTIFY DEVICE命令发送给链状连接的PTDDC(2106);
(7)将从链状连接的PTDDC IDENFITY DEVICE命令返回的数据返回给HBA,增加PTDDC_ADR的值,并且控制前进到步骤(9)(2107);
(8)如果接收IDENTIFY DEVICE命令的首个PTDDC表示PTDDC_ADR的值为零,那么将IDENFITY DEVICE命令发布给附接到PTDDC的磁盘驱动器,并且增加PTDDC_ADR的值(2108)
(9)如果没有完成搜索,那么控制前进到步骤(4)(2109);
(10)终止PTDDC标识方法(2110)。
应当注意的是,在完成这个过程之后,HBA已经能够顺序地读取IDENFITY DEVICE命令的结果,该结果不仅包括磁盘驱动器型号编号的信息的20字节,还包括磁盘驱动器序列编号信息的10字节,在所附接的磁盘驱动器的空间中,他们的组合应当是唯一的。此外,在处理的末端,每个PTDDC应当具有表示其与PTDDC链的末端距离的PTDDC_ADR值。例如,最终的链状连接的PTDDC将具有为1的PTDDC_ADR值,并且首个PTDDC将具有等于链中PTDDC的数目的值。应当注意的是,仅当链状连接的PTDDC响应于IDENTIFY DEVICE命令返回值的情况下,才增加步骤(7)中的PTDDC_ADR的值。如果不存在链状连接的PTDDC,则不会有响应来临,并且将不会增加PTDDC_ADR的值。
利用重新布置和/或增加/删除由本发明的范围所预期的步骤,可以依据许多因素对如图21(2100)中所示的这种一般方法的变形例进行重大的修改。这个和其他优选示例性实施例方法的集成与本文所描述的各种优选示例性实施例的系统的结合是在本发明的整体范围的预期内的。
PTDDC磁盘驱动器命令方法——驱动器序列编号匹配(2200)
一旦获取了PTDDC的链以及与他们的相关联的磁盘驱动器的信息,在设计将磁盘驱动命令发送给PTDDC链中的单个磁盘驱动器的方法中呈现出另一个问题。在图22(2200)中示出的优选示例性实施例可以概括地示出一个本发明PTDDC磁盘驱动器命令方法实施例的变形例,其中使用HBA和PTDDC的动作来描述所示的方法流程图。该方法的一般步骤包括如下步骤:
(1)由HBA向PTDDC链(2201)发布MATCH DEVICE(匹配设备)命令。能够随意地从用于给定磁盘驱动器技术的未使用的或者保留的磁盘驱动器命令操作码中选择该命令。
(2)从HBA发送MATCH ID(匹配ID)数据块通过所有链状连接的PTDDC(2202)。该匹配ID块是从发送给PTDDC链的一系列先前的IDENTIFY DEVICE中检索出的DISK DRIVEMODEL NUMBER(磁盘驱动器型号编号)和DISK DRIVE SERIAL NUMBER(磁盘驱动器序列编号)的连结,并且在总体磁盘驱动器中唯一地标识给定的磁盘驱动器。
(3)由所有PTDDC(2203)接收MATCH ID数据块(2203);
(4)将IDENTIFY DEVICE命令发送给所有PTDDC附接的磁盘驱动器(或者替选地使用来自先前执行的IDENTIFY DEVICE命令的该信息的内部复件)(2204);
(5)比较MATCH ID块与DEVICE ID(设备ID)块(2205);
(6)如果MATCH ID块不匹配DEVICE ID块,则将本地变量PTDDC_CMD设置为0(2206),否则将本地变量PTDDC_CMD设置为1(2207);
(7)从HBA向PTDDC链发送磁盘驱动器命令(2208)。
(8)如果本地PTDDC_CMD变量不为1,则前进到步骤(12)(2209)。
(9)将HBA磁盘驱动器命令传送给PTDDC本地附接的磁盘驱动器(2210)并且前进到步骤(12)。
(10)将HBA磁盘驱动器命令传送给链中的下一个PTDDC(2211)。
(11)终止PTDDC磁盘驱动器命令方法(2212)。
应当注意的是,完成该过程之后,后续的HBA磁盘驱动器命令将以被标记为命令激活(PTDDC_CMD==1)的PTDDC作为目标。如果仅仅需要对不是与数据发送相关的具体驱动器(drive-specific)命令进行操作的话,能够修改这种行为,使得LBN映射功能对于其他具体驱动器命令的操作透明地发生。
利用重新布置和/或增加/删除由本发明的范围所预期的步骤,可以依据许多因素对如图22(2200)中所示的这种一般方法变形例进行重大修改。这个和其他优选示例性实施例方法的集成与本文中所描述的各种优选示例性实施例系统的结合,是在本发明的整体范围的预期内的。
RAID-0支持(2300)
如图23(2300)中概括地示出的,当被配置为连结附接到如本文所述的菊花链状连接的PTDDC(2310,2320,2380,2390)的磁盘驱动器的LBN计数时,本发明名义上实现了RAID-0存储器阵列(2303),有时称为JBOD(Just a Bunch of Disks,简单磁盘捆绑)阵列。在这种配置中,菊花链状连接的PTDDC被视为具有最大LBA的一个大的磁盘驱动器(2302),所述最大LBA等同于至少为来自附接到菊花链状连接的PTDDC(2310,2320,2380,2390)的所有磁盘驱动器(2311,2321,2381,2391)的LBN最大值的总和。
RAID-0阵列通常不包括任何数据冗余,并且因此容易受到一个或者多个磁盘驱动器有可能发生的故障的影响。然而,在数据存储容量是最主要的情况下,RAID-0阵列能够提供有用的机制来克服传统磁盘驱动器技术中所呈现的单个驱动器容量限制。此外,在跨越单独的计算机系统来镜像数据、其中在每个计算机系统的存储器架构中包含RAID-0支持的环境下,如果单个驱动器故障或者与计算机系统相关的组件故障的话,与冗余的计算机系统处理器硬件相结合地使用RAID-0能够提供高的可用性。
相比较于传统的RAID-0配置,本发明将存储器系统简单地作为具有非常大的磁盘驱动器特性的传统的磁盘驱动器来呈现给计算机(2301)。这种方法的优点在于,不需要对计算机系统作出软件改动、不需要额外的BIOS固件来支持存储系统、以及有必要的话能够递增地扩展系统而不用替换现存的存储器元件。对于限制了其磁盘驱动器接口数目的系统来说,这允许在既有的计算机外壳内的存储器扩展而无需外部磁盘驱动器电缆、使用较慢的NAS存储器、或者用更昂贵的较高密度的单元完全替换既有的磁盘驱动器。对于需要小的形状系数和高存储容量的系统来说,本发明所教导的架构优于既有的存储器架构,原因在于其允许将额外的磁盘驱动器合并到计算机塔式机箱中,而无需求助于外来的存储解决方案。
RAID-1支持(2400)
如图24(2400)中概括地示出的,本发明还可以被配置为重叠附接到相应的如本文所述的菊花链状连接的PTDDC(2410,2420)(2480,2490)的成对的磁盘驱动器(2411,2421)(2481,2491)的LBN计数,来名义上实现RAID-1存储器阵列(2403,2404),提供单个磁盘故障恢复能力。在这种配置下,菊花链状连接的PTDDC被视为一个具有等同于附接到菊花链状连接的PTDDC(2410,2420)(2480,2490)的所有磁盘驱动器(2411,2421)(2481,2491)的LBN最大值的总和的一半的最大LBA的巨大的磁盘驱动器(2302)。
RAID-阵列通常包含数据冗余以支持单个驱动器的故障。然而,一般来说,对于这种类型的冗余的支持必须在软件(在计算机操作系统内)和/或在HBA磁盘控制器内得到支持。在任何一种情景下,改进系统以包括这种支持都是既困难又昂贵的。本发明为计算机系统呈现了统一的HBA接口,对操作系统的功能是透明的,并且因此,即使在无法将硬件和/或软件修改为支持RAID-1性能的改进情况下,也能够在需要RAID-1功能的任何系统中被实现。
使用PTDDC磁盘驱动器方法来实现RAID-1功能是相当简便的。将链(2410,2420)(2480,2490)中的PTDDC配置得对每对RAID-1驱动器来说,驱动器的LBA映射都是被复制的,使得PTDDC的给定对(2410,2420)(2480,2490)映射同样的LBN地址空间。这样,当发生磁盘驱动器写操作时,其被写到附接到PTDDC对的两个驱动器上。类似地,读操作从两个PTDDC对中读取数据,其中仅将数据的一份复制品返回给HBA,丢弃剩余的数据传输(除非在RAID-1对中的首个附接有PTDDC的驱动器故障,在这种情况下,将第二份数据复制品返回给HBA)。可以通过在成对的PTDDC之间的后台传输来实现磁盘驱动器替换情况下的RAID-1的一致性。
由此,相比较于传统的RAID-1配置,本发明将存储器系统仅仅作为具有非常大的磁盘驱动器特性的传统磁盘驱动器显示给计算机(2401)。这种方法的优点在于,不需要对计算机系统作出软件改动、不需要额外的BIOS固件来支持存储系统以及有必要的话,能够递增地扩展系统而不用替换既有的存储器元件。对于其磁盘启动器接口数目受限的系统来说,这允许在既有的计算机外壳内的存储器扩展而无需外部磁盘驱动器电缆、使用较慢的NAS存储、或者用更昂贵的较高密度单元完全替换既有的磁盘驱动器。对于需要小的形状系数和高存储容量的系统来说,本发明所教导的架构优于既有的存储器架构,原因在于其允许将额外的磁盘驱动器被合并到计算机塔式机箱中而无需求助于更多的外来存储器解决方案。
RAID-2/RAID-3/RAID-4/RAID-5/RAID-6支持
本领域技术人员将认识到,以上示例也允许支持使用PTDDC架构的RAID-2、RAID-3、RAID-4、RAID-5和RAID-6。
示例实施例:逻辑驱动器扩展(2500)
概览
本发明可以合并系统/方法来逻辑地增加磁盘驱动器卷的容量,已经经由操作系统使用文件系统对所述磁盘驱动卷进行了低级格式化和初始化。这些所公开的系统和方法的目标是:当既有磁盘卷的容量被耗尽时,允许用户在一个或者多个磁盘驱动器卷上创建逻辑文件系统并且随后按需扩展无理数量的磁盘驱动器的大小,而无需对当前安装的磁盘驱动器卷上的既有数据进行复杂的操作。
现有技术
如批准给Digital Robotics,Inc.(数字机器人有限公司)的各种专利所教导的现有技术,以及一些NAS附接的存储器系统,本质上是在HBA接口和存在于磁盘驱动器阵列中的当前安装的磁盘驱动器“农场(farm)”之间放置虚拟磁盘驱动器块分配操作系统(以及相关联的硬件)。这种系统允许通过将主机操作系统误报为磁盘驱动器阵列的真实大小来物理扩展逻辑磁盘驱动器存储器空间,并且随后经由文件系统感知操作系统将操作系统所用的分配的块映射到构成逻辑地址空间的物理磁盘驱动器。这种方法的问题在于其复杂性、成本和花费。
本发明架构
相比之下,本发明采取了图25(2500)中示出的一般方法来解决在这种背景下的磁盘卷支持可扩展的问题。这里我们看到计算机系统HBA接口(2501)服务于任意长的PTDDC设备(2511,2519)链,该PTDDC设备直接控制这个链内的物理磁盘卷(2521,2529)。从操作系统所见的逻辑磁盘卷(2510)包括链内的物理磁盘卷(2521,2529)使得逻辑驱动器的最大物理LBA为各个磁盘驱动器最大LBN值的总和,或者如在该图中所描述的,为符号值MAXLBN。
然而,逻辑驱动器大小可以被配置为远大于MAXLBN。事实上,在该配置中,从HBA接口(2501)所见的逻辑驱动器大小可以在文件系统架构类型的界限内被随意设置,这里象征性地选定为MAXVOL。为了防止操作系统实际使用在MAXLBN和MAXVOL之间的逻辑磁盘空间,对文件系统(经由适当的操作系统应用软件)进行修改,来将在MAXLBN和MAXVOL之间的空间分配并且保留到一个或者多个保留的系统文件中。这些文件典型地隐藏或者保护为系统/只读,以防止操作系统使用该逻辑磁盘空间。
由于填充了PTDDC附接的磁盘驱动器(2521,2529)内的存储器,因此可能会出现在逻辑磁盘卷(2520)内增加物理存储器的需要。这是通过利用另一个PTDDC控制器(2541)和相关联的磁盘驱动器(2542)来扩展PTDDC链而实现的。一旦已经添加了该物理存储器,则通过(a)将用于文件的开始LBA BASE LOCATION(基础地点)增大所添加的磁盘驱动器(2542)的大小,和(b)从文件的EXTENT SIZE(扩展大小)中减掉所添加的磁盘驱动器(2542)的大小来修改逻辑保留空间(RESERVED.SYS)文件。
数据存储器架构扩展格式化方法(2600)
如上所述的,分配被PTDDC链内稀疏地填充的物理驱动器服务的逻辑驱动器的概念,可以使用各种方法在本发明的许多优选实施例中实现,其中的两个方法是当前已知的优选示例性实施例。
由图26(2600)中示出的优选示例性实施例能够大概示出一个本发明的格式化方法实施例变形例。这种方法的一般步骤包括如下步骤:
(1)将要与HBA通道相关联的MAXVOL值加载到与HBA相关联的PTDDC链内的所有PTDDC接口(2601);
(2)使用操作系统软件,利用文件系统格式化/初始化HBA“链状连接的”驱动器(2602);
(3)如果在步骤(2)的格式化/初始化期间请求的LBA小于链状连接的PTDDC磁盘驱动器的MAXLBN物理容量,则前进到步骤(5)(2603);
(4)将“成功”返回给发送到PTDDC磁盘驱动器链的所有传输请求并且前进到步骤(6)(2604);
(5)正常处理PTDDC链状连接的磁盘驱动器内的格式化/初始化请求(2605);
(6)如果没有完成格式化/初始化处理,则前进到步骤(2)(2606);
(7)使用操作系统功用或者定制应用,分配在与HBA相关联的逻辑驱动器空间内的从MAXLBN到MAXVOL的RESERVED文件空间(2607);
利用重新布置和/或增加/删除由本发明的范围所预期的步骤,可以依据许多因素对如图26(2600)中所示的这种一般方法变形例进行重大修改。这个和其他优选示例性实施例方法的集成,与本文所述的各种优选示例性实施例系统相结合,都在本发明整体范围的预期内。
数据存储器架构扩展格式化方法(2700)
由图27(2700)中示出的优选的示例性实施例能够概括地示出另一个本发明的格式化方法实施例的变形例。这种方法的一般步骤包括如下步骤:
(1)将MAXLBN的值(当前PTDDC链中所有磁盘驱动器大小的总和)加载到与HBA相关联的PTDDC链内的所有PTDDC接口(2701);
(2)使用操作系统软件,利用文件系统格式化/初始化HBA“链状连接的”驱动器,并且将逻辑卷的大小定为具有MAXLBN的大小(2702);
(3)如果格式化/初始化过程未完成,则前进到步骤(2)(2703);
(4)使用运行在操作系统下的定制应用程序,将在HBA链状连接的PTDDC逻辑驱动器上创建的文件系统结构修改为表示逻辑驱动器大小为MAXVOL而不是MAXLBN(2704);
(5)使用运行在操作系统下的定制应用程序,在HBA链状连接的PTDDC本地驱动器上创建的逻辑卷上创建文件目录入口,来将包含LBA的RESERVED文件从MAXLBN分配到MAXVOL(2705);
(6)如果可能的话,将RESERVED文件标记为“系统”和“只读”(2706)。
利用重新布置和/或增加/删除由本发明的范围所预期的步骤,依据许多因素可以对如图27(2700)中所示的这种一般方法的变形例进行重大修改。本领域技术人员将意识到在这种一般框架中可以利用操作系统“安装”和“卸载”操作来与该卷的格式化/初始化过程的环境相一致地实现文件系统。这个和其他优选示例性实施例方法的集成,与本文所述的各种优选示例性实施例系统的结合都在本发明的整体范围预期内。
数据存储器架构数据存储器扩展方法(2800)
一旦已经如图26(2600)和图27(2700)中所概括描述的那样格式化逻辑驱动器以后,可以通过操作系统安装逻辑卷并且按需要将逻辑卷用于存储/检索数据。如果由于逻辑卷的物理驱动器被数据填满而请求额外的存储器的话,可以利用示例性的本发明实施例的数据扩展方法来增加整个逻辑驱动器的物理存储器容量。
通过由图28(2800)中示出的优选的示例实施例能够概括地示出一个本发明的数据存储器扩展方法实施例的变形例。这种方法的一般步骤包括如下步骤:
(1)可选地卸载HBA PTDDC逻辑驱动器链(2801);
(2)将PTDDC/磁盘驱动器组合添加到当前的HBA PTDDC链的末端(2802);
(3)将RESERVED文件的START LBN(开始LBN)增加所添加的磁盘驱动器的LBN计数(2803);
(4)从RESERVED文件的SIZE(大小)中减掉所添加的磁盘驱动器的LBN计数(2804);
(5)可选地使用操作系统重新安装HBA PTDDC逻辑驱动器链(2805);
利用重新布置和/或增加/删除由本发明的范围所预期的步骤,依据许多因素可以对如图28(2800)中所示的这种一般方法变形例进行重大修改。这种和其他优选的示例实施例方法的集成,与本文所述的各种优选示例性实施例系统相结合都在本发明的整体范围预期内。
有趣的是,应当注意到在一些配置中,使用“热插拔”(hot swap),磁盘驱动器HBA接口(例如SATA,eSATA,microSATA)能够允许这种磁盘驱动器物理存储器的扩展的发生,而不需要卸载操作(步骤(1)(2801))或者重新安装操作(步骤(5)(2805)),原因是操作系统已经将所安装的驱动器的逻辑驱动器大小识别为MAXVOL,而仅仅警告将高于MAXLBN的任何空间分配给操作系统内的应用可能不会用的RESERVED文件。对这种方法在不需要卸载/重新安装操作的前提下工作的唯一需求是步骤(3)(2803)和步骤(4)(2804)在实现中自动互锁。
示例性系统实施例构建(2900)
本发明可以被体现成许多物理实现,但是多个优选示例性实施例利用“驮载”(piggy-back)印刷电路板,其与磁盘驱动器配合,为专用集成电路(ASIC)提供机械平台以实现所公开的PTDDC。图29(2900)中概括地示出了在SATA-到-IDE转换器/适配器中实现的这种物理构建的示例。如图29(2900)中概括示出的,按照以毫米的标称尺寸从前视(2901)、顶视(2902)、后视(2903)和透视(2904)示出这种转换器/适配器。在这个示例中,通过转换器通过将驱动器电源连接器(2914)和PTAT IDE接口(2914)集成到PCB(2904)上来运行。该PCB还包括连接到SATA磁盘驱动器的组合SATA数据/电源连接器(2934)。PCB还包括将PATAIDE接口(2914)电气地通过接口连接到SATA磁盘驱动器接口(2934)的ASIC。
示例性实施例:驱动器堆叠连接(3000)
这种驮载式PCB适配器架构可以被用做框架,来为本发明实现如图30(3000)中概括示出的PTDDC提供物理平台。在这个优选的示例性实施例中,目标磁盘驱动器(3010)包括具有SATA电源(3001)和SATA数据连接器(3002)的SATA接口。经由使用PCB或者如同在优选示例性实施例的顶视图(3020)中概括示出的,具有SATA电源(3004)和SATA数据(3005)连接器以及驱动器电源连接器(3006)的基板,将该SATA磁盘驱动器(3010)通过接口连接到本发明优选实施例。
PCB或者其他基板(3003)通常还包含了直通输入(PTI)(3007)和直通输出(PTO)(3008)连接,其被用于在菊花链状连接的PTDDC子系统之间传递数据和控制信息。提供主机总线适配器(HBA)(3009)连接,来允许经由电缆(在这个实现中是SATA数据电缆)到计算机磁盘驱动器接口的直接接口。PCB(3003)通常还支持用于实现PTDDC功能的ASIC(3011)的集成。注意,在这个示例性实现中,PTO连接器(3008)通常被构建为允许将一个PTDDC单元的PTO菊花链状连接连接到后续的PTDDC单元PTI连接。
如图30(3000)中概括示出的,如果PTDDC模块(以及它们的相关磁盘驱动器)被垂直地堆叠得一个在另一个之上的话,在驮载PCB基板上实现PTDDC时,该PTDDC可以以允许菊花链状连接这些模块的方式来定向PTI和PTO连接器。为了经济和易于连接,在这种配置中所用的连接器可以是包含排针头的带状电缆类型。
在这种配置中可能发生的一个优化是:HBA连接器(3009)可以被电气连接到PTI端口连接器(3007)。在这种配置中,ASIC(3001)仅需要具有三个SATA端口:组合的HBA/PTI端口、具有SATA电气特性的PTO端口和SATA驱动器接口端口(3005)。这种优化允许在菊花状连接SATA驱动器的PTO/PTI连接器之间使用降低成本的互连,同时仍然允许使用标准的SATA数据接口电缆与计算机系统驱动器接口总线接口。
示例性实施例:堆叠的驱动器外壳(3100)
本发明预期可以在PCB上实现与PTDDC相关联的技术,该PCB包含用于将磁盘驱动器与PCB平面成直角地插入到PCB的连接器。通过将PTDDC包含到PCB上,能够利用可以被随意插入或者移除的过量磁盘驱动器隔间来创建堆叠的驱动器外壳。这种配置在这种情况下尤其有用:其中在堆叠的驱动器外壳内,PTDDC在各种硬盘驱动器中实现一些形式的RAID,需要的话,允许替换故障的磁盘驱动器。
作为这种类型的外壳概念的示例,图31(3100)中示出了现有技术的外壳,并且概括示出了堆叠的驱动器外壳能够包含多个磁盘驱动器,所述多个磁盘驱动器能够在不使用工具或者其他硬件的前提下被移除。在这种情况下,本发明预期这种概念的最佳模式实施将利用包含热插拔功能的SATA驱动器。
示例性实施例:集成的驱动器堆叠(3200)
本发明可以被体现为许多物理实现,但某些优选的示例性实施例将PTDDC集成在磁盘驱动器的PCB上,并且扩展磁盘驱动器上的连接器补充,来允许在驱动器外壳内“堆叠”磁盘驱动器,并且由单个HBA驱动器接口电缆服务所述磁盘驱动器。许多既有的磁盘驱动器包含单个芯片集成电路控制器(ASIC),其用于HBA接口,以及控制绝大多数与磁盘驱动器相关联的功能(如果不是全部功能都与磁盘驱动器相关联的话)。本发明预期这里详细描述的附加的PTDDC功能可能被卷入既有的ASIC磁盘驱动器控制器电路中,以提供最佳的和有成本效益的方法来使用现成的硬件磁盘驱动器组件来提升数据存储器扩展。
本发明的许多优选示例性实施例将利用被集成进具有SATA接口的磁盘驱动器的这种技术,因为这将呈现对电缆管理的经济和最佳化,而这在其他磁盘驱动器接口中是不会呈现的。在图32(3200)的现有技术的磁盘轮廓中大体示出了用于这种系统的典型的硬件配置,其中预期将PCB(3201)既集成到磁盘驱动器电子器件中又集成到所提出的PTDDC功能中。应当注意的是,如图30中概括地描述的PTI/PTO端口功能将必然被增大为这种硬件配置的连接器补充,来实现本发明中用到的必需的直通功能。
操作系统独立性
对于由内部操作系统管理的NFS和其他附接的存储器系统的重大损害是,由这些专用NFS系统创建的磁盘上文件结构常常与用于数据存储器的、使用NFS系统的主机计算机上的操作系统所用的本机文件系统不匹配。主机操作系统磁盘上文件系统中的专用特征与NFS支持的磁盘上文件系统可以具有等同的映射或者可以不具有等同的映射。
通过使本地PTDDC菊花链状连接的磁盘驱动器显现得如同具有标准主机HBA接口的一个本地磁盘驱动器一样,本发明允许本机操作系统格式化/分区/初始化具有由主机操作系统支持的全部本机性能的磁盘上文件系统。由于不需要将抽象层或者文件系统翻译器接口到主机操作系统,因此该系统对于磁盘上文件系统实现非常高效。
兼容端口倍增器/端口选择器
如通过PTDDC概念示例的本发明完全兼容在SATA规范中所描述的以及在图6(0600)中概括描画的既有的端口倍增器/端口选择器技术。这种兼容性允许将本发明快速集成到“云”计算环境中,其中为支持过量计算机和相关联的计算机用户而实现了巨型数据存储器阵列。在这些环境中实现的本发明的优势是:与现有技术和下面详细描述的相比,在企业级的总体数据存储器费用中的显著的成本下降
与现有技术的成本比较
如先前所述,现有技术的缺陷之一是:当经由使用NAS和相关技术将磁盘驱动器附接到计算机系统时,磁盘驱动器成本上近乎指数的增长。这些技术依赖于到存储器阵列的独立的计算机控制的接口,其中所述存储器阵列随后必须被接口到主机计算机的事实,要求显著的硬件和软件资源的部署,这必然推高这些系统的费用,通常是所添加的各个磁盘驱动器的4-10倍。不幸的是,随着存储器阵列大小的增加,这个每个驱动器的成本增加因数也随之增加。
相比之下,本发明的PTDDC菊花链状连接的方法允许每个驱动器接口仅仅消耗PCB/ASIC成本中的约为$4美元(大批量时逐渐接近$1美元)。即使假设这个每驱个动器接口的成本是$10美元,对于给定的存储器阵列来说,在整体的每驱动器安装成本中仍然仅代表25%增长,而不是与现有技术相关的500%-1000%的成本增长。作为实际的示例,使用每个PTDDC和2-TB磁盘驱动器的夸大的$10美元成本来创建24-TB存储器阵列,所生成的零售存储器阵列成本会大约为$1200美元,而并非上文所详细描述的用于商标NAS等同的存储器系统的所引用的$15000美元的值。即使假设磁盘驱动器安装系统和相关联的电源供应成本为$300美元,那么与现有技术的当前性能相比,这仍然代表了一个数量级的成本降低。
系统总结
本发明系统预期在构造的基本理论中广泛的变形,但是能够被概括为包括直通磁盘驱动器控制器(PTDDC)的数据存储器架构扩展系统,该PTDDC进一步包括:
(a)主机总线适配器(HBA)端口;
(b)磁盘驱动器接口(DDI)端口;
(c)直通输入(PTI)端口;和
(d)直通输出(PTO)端口;
其中,
PTDDC经由HBA端口或者PTI端口接收输入的磁盘驱动器数据访问命令(DDDAC);
PTDDC翻译DDDAC,并且以适宜被电连接到DDI端口的任何所附接的并且被逻辑寻址的磁盘驱动器使用的方式,经由DDI端口电传输DDDAC;
PTDDC确定DDDAC是否落入所附接的磁盘驱动器的LBA范围内,并且如果是的话,在修改DDDAC之后,将DDDAC传递给所附接的磁盘驱动器,以占用由所附接的磁盘驱动器映射的逻辑块地址空间;
PTDDC确定DDDAC是否落入所附接的磁盘驱动器的LBA范围内,并且如果不是的话,经由PTO端口将DDDAC传递给附接到PTDDC PTO端口的任何菊花链连接的PTDDC的PTI端口;以及
PTDDC逻辑连接来自所附接的磁盘驱动器的DDI端口与HBA端口和PTI端口,以影响由DDDAC向/从所附接的磁盘驱动器和HBA端口或PTI端口请求的数据传输。
可以通过这里所描述的各种元件来增强这种一般系统总结,以生成与这种总体设计描述相一致的多种发明实施例。
方法总结
本发明方法预期在实现的基本主题中的广泛变形例,但是能够被概括为数据存储器架构扩展方法,其中该方法控制包括直通磁盘驱动器控制器(PTDDC)的数据存储器架构扩展系统,该PTDDC进一步包括:
(a)主机总线适配器(HBA)端口;
(b)磁盘驱动器接口(DDI)端口;
(c)直通输入(PTI)端口;和
(d)直通输出(PTO)端口;
其中方法包括如下步骤:
(1)经由HBA端口或PTI端口接收输入的磁盘驱动器数据访问命令(DDDAC);
(2)翻译DDDAC,并且以适宜被电连接到DDI端口的任何所附接的并且被逻辑寻址的磁盘驱动器使用的方式,经由DDI端口发送DDDAC;
(3)确定DDDAC是否落入所附接的磁盘驱动器的LBA范围内,并且如果是,则在修改DDDAC之后将DDDAC传递给所附接的磁盘驱动器,以占用由所附接的磁盘驱动器映射的逻辑块地址空间;
(4)确定DDDAC是否落入所附接的磁盘驱动器的LBA范围内,并且如果不是,则经由PTO端口将DDDAC传递给附接到PTDDC PTO端口的任何一个菊花链连接的PTDDC的PTI端口;以及
(5)逻辑连接来自所附接的磁盘驱动器的DDI端口与HBA端口和PTI端口来影响由DDDAC向/从所附接的磁盘驱动器和HBA端口或PTI端口请求的数据传输。
可以通过这里所述的各种元件来增强这种概括的方法总结,以生成与这种总体设计描述相一致的多种发明实施例。
系统/方法变形例
本发明预期在构建的基本主题中的广泛的变形例。先前所呈现的示例并不代表可能用途的全部范围。它们是为了在几乎无限多可能性中引用几个。
可以用各种辅助实施例来增强这种基本系统和与其相关联的方法,包括但不限于:
(1)一种实施例,其中HBA端口包括选自由PATA、SATA、eSATA、microSATA、光纤通道、串行存储结构(SSA)以及USB组成的组中的电气接口。
(2)一种实施例,其中HBA端口和PTI端口被电气连接,并且针对PTDDC形成单个统一的接口端口。
(3)一种实施例,其中PTDDC包括安装在PCB上的ASIC,所述PCB还包括用于将DDI端口电气配合到磁盘驱动器的连接器、用于将HBA端口电气配合到计算机主机总线适配器的连接器、用于将PTO端口电气配合到下游菊花链连接的PTDDC控制器的PTI端口的连接器和用于将PTI端口电气配合到上游菊花链连接的PTDDC控制器的PTO端口的连接器。
(4)一种实施例,其中PTDDC包括安装在PCB上的ASIC,所述ASIC包含与PTDDC功能相结合的磁盘驱动器控制电子器件,PCB被集成到磁盘驱动器的电气控制系统中,PCB还包括用于将HBA端口电气配合到计算机主机总线适配器的连接器、用于将PTO端口电气配合到下游菊花链连接的PTDDC控制器的PTI端口的连接器和用于将PTI端口电气配合到上游菊花链连接的PTDDC控制器的PTO端口的连接器。
(5)一种实施例,其中PTDDC通过确定与DDDAC关联的LBA值是否落入所附接的磁盘驱动器的LBA范围内来执行翻译,并且如果不是,则从与DDDAC关联的LBN值中减去所附接的磁盘驱动器的LBA计数,并且经由PTO端口将该产生的DDDAC传递给附接到PTDDC PTO端口的任何一个菊花链连接的PTDDC的PTI端口。
(6)一种实施例,其中磁盘驱动器访问命令不经过LBA翻译,而是被立即传送给PTO端口,用以由菊花链连接的PTDDC来处理,以影响在所接附的磁盘驱动器和附接到菊花链连接的PTDDC的另一个磁盘驱动器之间的RAID存储器阵列配置,RAID存储器阵列配置选自由RAID-0、RAID-1、RAID-2、RAID-3、RAID-4、RAID-5和RAID-6组成的组。
(7)一种实施例,其中DDI端口包括选自由PATA、SATA、eSATA、microSATA、光纤通道、串行存储器架构(SSA)和USB的组成的组中的电气接口。
(8)一种包括逻辑文件系统的实施例,该逻辑文件系统包括经由从上游PTDDC的PTO端口到下游PTDDC的PTI端口的连接、串行菊花链状连接的过量PTDDC控制器,其中的每个PTDDC都经由DDI端口连接到磁盘驱动器,以及其中的菊花链中的首个PTDDC的HBA端口连接到计算机系统的主机总线适配器。
(9)一种实施例,其中逻辑文件系统实现选自由EXT2、EXT3、EXT4、FAT12、FAT16、FAT32、Files-11(ODS)、HFS、HFS Plus(HFS+)、NTFS和XFS组成的组中的磁盘上文件系统。
(10)一种实施例,其中逻辑文件系统具有比附接到过量的串行菊花链连接的PTDDC控制器的磁盘驱动器的存储容量总和大的逻辑存储容量,其中,超过磁盘驱动器容量的逻辑存储容量被指派给逻辑文件系统内的一个或更多保留文件,其中,可以修改保留文件的基本位置和扩展大小来允许增加一个或多个追加的磁盘驱动器/PTDDC控制器组合,因为这些所述追加的磁盘驱动器/PTDDC控制器组合被添加到过量串行菊花链连接的PTDDC控制器的链的末端。
本领域技术人员将认识到,基于以上本发明描述中所教导的元素的组合,能够实现其他实施例。
结论
披露了一种数据存储器架构扩展(DAX)系统和方法,其允许将多个磁盘驱动器存储器元件逻辑地菊花链状连接,以使得单个主机总线适配器(HBA)将存储器元件看作一个逻辑磁盘驱动器。该系统/方法可以被泛泛地描述为包括直通磁盘驱动器控制器(PTDDC),该PTDDC还包括HBA端口、磁盘驱动器接口(DDI)端口、直通输入(PTI)端口和直通输出(PTO)端口。PTDDC拦截HBA端口输入,并将其翻译成连接到驱动器接口端口的各个磁盘驱动器的要求。可以将每个PTDDC菊花链状连接到其他PTDDC以允许过量的磁盘驱动器与给定的HBA相关联,其中首个PTDD提供了到集成有连接到PTDDC的所有磁盘驱动器存储器的HBA的接口。该系统/方法还允许使用一个或者多个PTDDC的磁盘驱动器的RAID配置。

Claims (18)

1.一种包括直通磁盘驱动器控制器PTDDC的数据存储器架构扩展系统,所述PTDDC还包括:
(a)主机总线适配器HBA端口;
(b)磁盘驱动器接口DDI端口;
(c)直通输入PTI端口;和
(d)直通输出PTO端口;
其中,
所述HBA端口、所述DDI端口、所述PTI端口和所述PTO端口是串行高级技术附件SATA接口;
所述PTDDC被配置为通过仅仅将一个PTDDC的PTO端口互连到菊花链中的另一个PTDDC的PTI端口而连接多个PTDDC来形成串行的菊花链;
所述PTDDC被配置为经由所述HBA端口呈现连续的逻辑块地址空间,所述HBA端口包括被电气连接到所述菊花链中的PTDDC的磁盘驱动器;
所述PTDDC被配置为经由所述HBA端口或者所述PTI端口接收输入的磁盘驱动器数据访问命令DDDAC;
所述PTDDC被配置为翻译所述DDDAC,并且以适合被电连接到所述DDI端口的任何所附接的并且被逻辑寻址的磁盘驱动器使用的方式,经由所述DDI端口电传输所述翻译;
所述PTDDC确定所述DDDAC是否落入所述所附接的磁盘驱动器的逻辑块地址LBA范围内,并且如果是,则在修改所述DDDAC之后,将所述DDDAC传输给所述所附接的磁盘驱动器,以占用由所述所附接的磁盘驱动器映射的所述LBA范围;
所述PTDDC确定所述DDDAC是否落入所述所附接的磁盘驱动器的所述LBA范围内,并且如果不是,则经由所述PTO端口将所述DDDAC传递给附接到所述PTDDC的PTO端口的任何菊花链连接的PTDDC的PTI端口;以及
所述PTDDC逻辑连接所述所附接的磁盘驱动器的所述DDI端口与所述HBA端口和所述PTI端口,以直通由所述DDDAC向/从所述所附接的磁盘驱动器和所述HBA端口或所述PTI端口请求的数据传输。
2.根据权利要求1的数据存储器架构扩展系统,其中所述HBA端口和所述PTI端口被电气连接,并且针对所述PTDDC形成单个统一的接口端口。
3.根据权利要求1的数据存储器架构扩展系统,其中所述PTDDC包括安装在印刷电路板PCB上的专用集成电路ASIC,所述PCB还包括用于将所述DDI端口电气配合到磁盘驱动器的连接器、用于将所述HBA端口电气配合到计算机主机总线适配器的连接器、用于将所述PTO端口电气配合到下游菊花链连接的PTDDC控制器的PTI端口的连接器和用于将所述PTI端口电气配合到上游菊花链连接的PTDDC控制器的PTO端口的连接器。
4.根据权利要求1的数据存储器架构扩展系统,其中所述PTDDC包括安装在印刷电路板PCB上的专用集成电路ASIC,所述ASIC包含与PTDDC功能相结合的磁盘驱动器控制电子器件,所述PCB被集成到磁盘驱动器的电气控制系统中,所述PCB还包括用于将所述HBA端口电气配合到计算机主机总线适配器的连接器、用于将所述PTO端口电气配合到下游菊花链连接的PTDDC控制器的PTI端口的连接器和用于将所述PTI端口电气配合到上游菊花链连接的PTDDC控制器的PTO端口的连接器。
5.根据权利要求1的数据存储器架构扩展系统,其中,所述PTDDC通过确定与所述DDDAC关联的逻辑块地址LBA值是否落入所述所附接的磁盘驱动器的LBA范围内来执行翻译,并且如果不是,则从与所述DDDAC关联的LBN值中减去所述所附接的磁盘驱动器的LBA计数,并且经由所述PTO端口将所述DDDAC传递给附接到所述PTDDC PTO端口的任何一个菊花链连接的PTDDC的PTI端口,其中所述LBN值表示逻辑块号值。
6.根据权利要求1的数据存储器架构扩展系统,其中所述磁盘驱动器访问命令不经过LBA翻译,而是被立即传送给所述PTO端口,用以由所述菊花链连接的PTDDC来处理,以影响在所述所附接的磁盘驱动器和附接到所述菊花链连接的PTDDC的另一个磁盘驱动器之间的独立磁盘的冗余阵列RAID存储器阵列配置,所述RAID存储器阵列配置选自由RAID-0、RAID-1、RAID-2、RAID-3、RAID-4、RAID-5和RAID-6组成的组。
7.根据权利要求1的数据存储器架构扩展系统,还包括逻辑文件系统,所述逻辑文件系统包括经由从上游PTDDC的PTO端口到下游PTDDC的PTI端口的连接、串行菊花链连接的过量PTDDC控制器,其中的每个所述PTDDC都经由DDI端口连接到磁盘驱动器,以及其中的所述菊花链中的首个PTDDC的HBA端口连接到计算机系统的主机总线适配器。
8.根据权利要求7的数据存储器架构扩展系统,其中所述逻辑文件系统实现选自由第二扩展文件系统EXT2、第三扩展文件系统EXT3、第四文件扩展系统EXT4、12位文件分配表FAT12、16位文件分配表FAT16、32位文件分配表FAT32、文件11磁盘上结构ODS、分层文件系统HFS、分层文件系统改进HFS+、新技术文件系统NTFS和XFS组成的组中的磁盘上文件系统。
9.根据权利要求7的数据存储器架构扩展系统,其中所述逻辑文件系统具有比附接到所述串行菊花链连接的过量PTDDC控制器的磁盘驱动器的存储容量总和大的逻辑存储容量,其中,超过所述磁盘驱动器容量的所述逻辑存储容量被指派给所述逻辑文件系统内的一个或更多保留文件,其中,能够修改保留文件的基本位置和扩展大小来允许增加一个或多个追加的磁盘驱动器/PTDDC控制器组合,因为这些所述追加的磁盘驱动器/PTDDC控制器组合被添加到所述串行菊花链连接的过量PTDDC控制器的链的末端。
10.一种数据存储器架构扩展方法,其中所述方法控制包括直通磁盘驱动器控制器PTDDC的数据存储器架构扩展系统,所述PTDDC还包括
(a)主机总线适配器HBA端口;
(b)磁盘驱动器接口DDI端口;
(c)直通输入PTI端口;和
(d)直通输出PTO端口;
其中所述方法包括如下步骤:
(1)经由所述HBA端口或所述PTI端口接收输入的磁盘驱动器数据访问命令DDDAC;
(2)翻译所述DDDAC,并且以适宜被电气连接到所述DDI端口的任何所附接的并且被逻辑寻址的磁盘驱动器使用的方式,经由所述DDI端口发送所述DDDAC;
(3)确定所述DDDAC是否落入所述所附接的磁盘驱动器的逻辑块地址LBA范围内,并且如果是,则在修改所述DDDAC之后将所述DDDAC传递给所述所附接的磁盘驱动器,以占用由所述所附接的磁盘驱动器映射的所述LBA范围;
(4)确定所述DDDAC是否落入所述所附接的磁盘驱动器的LBA范围内,并且如果不是,则经由所述PTO端口将所述DDDAC传递给附接到所述PTDDC PTO端口的任何一个菊花链连接的PTDDC的PTI端口;以及
(5)逻辑连接来自所述所附接的磁盘驱动器的所述DDI端口与所述HBA端口和所述PTI端口来直通由所述DDDAC向/从所述所附接的磁盘驱动器和所述HBA端口或所述PTI端口请求的数据传输;
其中,
所述HBA端口、所述DDI端口、所述PTI端口和所述PTO端口是串行高级技术附件SATA接口;
所述PTDDC被配置为通过仅仅将一个PTDDC的PTO端口互连到菊花链中的另一个PTDDC的PTI端口而连接多个PTDDC来形成串行的菊花链;以及
所述PTDDC被配置为经由所述HBA端口呈现连续的逻辑块地址空间,所述HBA端口包括被电气连接到所述菊花链中的PTDDC的磁盘驱动器。
11.根据权利要求10的数据存储器架构方法,其中所述HBA端口和所述PTI端口被电气连接,并且针对所述PTDDC形成单个统一的接口端口。
12.根据权利要求10的数据存储器架构方法,其中所述PTDDC包括安装在印刷电路板PCB上的专用集成电路ASIC,所述PCB还包括:用于将所述DDI端口电气配合到磁盘驱动器的连接器、用于将所述HBA端口电气配合到计算机主机总线适配器的连接器、用于将所述PTO端口电气配合到下游菊花链连接的PTDDC控制器的PTI端口的连接器和用于将所述PTI端口电气配合到上游菊花链连接的PTDDC控制器的PTO端口的连接器。
13.根据权利要求10的数据存储器架构方法,其中所述PTDDC包括安装在印刷电路板PCB上的专用集成电路ASIC,所述ASIC包括与PTDDC的功能相结合的磁盘驱动控制电子器件,所述PCB被集成到磁盘驱动器的电气控制系统中,所述PCB还包括用于将所述HBA端口电气配合到计算机主机总线适配器的连接器、用于将所述PTO端口电气配合到下游菊花链连接的PTDDC控制器的PTI端口的连接器和用于将所述PTI端口电气配合到上游菊花链连接的PTDDC控制器的PTO端口的连接器。
14.根据权利要求10的数据存储器架构方法,其中所述PTDDC通过确定与所述DDDAC关联的逻辑块地址LBA值是否落入所述所附接的磁盘驱动器的LAB范围内来执行所述翻译,并且如果不是,则从与所述DDDAC相关联的LBN值中减去所述所附接的磁盘驱动器的LBA计数,并且经由所述PTO端口将所述DDDAC传递给附接到所述PTDDC PTO端口的任何一个菊花链连接的PTDDC的PTI端口,其中所述LBN值表示逻辑块号值。
15.根据权利要求10的数据存储器架构方法,其中所述磁盘驱动访问命令不经过LBA翻译,而是被立即传送给所述PTO端口,用于由所述菊花链连接的PTDDC来处理,以影响在所述所附接的磁盘驱动器和附接到所述菊花链连接的PTDDC的另一个磁盘驱动器之间的独立磁盘的冗余阵列RAID存储器阵列配置,所述RAID存储器阵列配置选自由RAID-0、RAID-1、RAID-2、RAID-3、RAID-4、RAID-5和RAID-6组成的组。
16.根据权利要求10的数据存储器架构方法,还包括逻辑文件系统,所述逻辑文件系统包括经由从上游PTDDC的PTO端口到下游PTDDC的PTI端口的连接,串行菊花链连接的过量PTDDC控制器,其中每个所述PTDDC都经由DDI端口连接到磁盘驱动器,并且所述菊花链中的首个PTDDC的HBA端口连接到计算机系统的主机总线适配器。
17.根据权利要求16的数据存储器架构方法,其中所述逻辑文件系统实现选自由第二扩展文件系统EXT2、第三扩展文件系统EXT3、第四文件扩展系统EXT4、12位文件分配表FAT12、16位文件分配表FAT16、32位文件分配表FAT32、文件11磁盘上结构ODS、分层文件系统HFS、分层文件系统改进HFS+、新技术文件系统NTFS和XFS组成的组中的磁盘上文件系统。
18.根据权利要求16的数据存储器架构方法,其中,其中所述逻辑文件系统具有比附接到所述串行菊花链连接的过量PTDDC控制器的磁盘驱动器的存储容量总和大的逻辑存储容量,其中,超过所述磁盘驱动器容量的所述逻辑存储容量被指派给所述逻辑文件系统内的一个或多个保留文件,其中能够修改所述保留文件的基本位置和扩展大小来允许增加一个或多个追加的磁盘驱动器/PTDDC控制器组合,因为这些所述追加的磁盘驱动器/PTDDC控制器组合被添加到所述串行菊花链连接的PTDDC控制器的链的末端。
CN201280057284.7A 2011-09-21 2012-09-21 数据存储器架构扩展系统及方法 Active CN103946821B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/200,242 US8799523B2 (en) 2011-09-21 2011-09-21 Data storage architecture extension system and method
US13/200,242 2011-09-21
PCT/US2012/056619 WO2013044060A1 (en) 2011-09-21 2012-09-21 Data storage architecture extension system and method

Publications (2)

Publication Number Publication Date
CN103946821A CN103946821A (zh) 2014-07-23
CN103946821B true CN103946821B (zh) 2017-04-12

Family

ID=47881728

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201280057284.7A Active CN103946821B (zh) 2011-09-21 2012-09-21 数据存储器架构扩展系统及方法

Country Status (3)

Country Link
US (2) US8799523B2 (zh)
CN (1) CN103946821B (zh)
WO (1) WO2013044060A1 (zh)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9870373B2 (en) 2011-09-21 2018-01-16 Kevin Mark Klughart Daisy-chain storage synchronization system and method
US9652343B2 (en) 2011-09-21 2017-05-16 Kevin Mark Klughart Raid hot spare system and method
US9460110B2 (en) 2011-09-21 2016-10-04 Kevin Mark Klughart File system extension system and method
US9678983B1 (en) * 2012-10-19 2017-06-13 Oracle International Corporation Systems and methods for automatically passing hints to a file system
US10104158B2 (en) * 2013-07-17 2018-10-16 Seagate Technology Llc User invisible device diagnostic region in a distributed data storage network
WO2015180087A1 (zh) * 2014-05-29 2015-12-03 华为技术有限公司 业务处理方法、相关设备及系统
CN107533537B (zh) 2016-01-29 2021-02-26 慧与发展有限责任合伙企业 存储系统、用于存储的方法和非暂时性计算机可读介质
CN107430585B (zh) 2016-01-29 2021-04-02 慧与发展有限责任合伙企业 用于远程直接存储器访问的系统和方法
EP3286631A4 (en) 2016-01-29 2018-05-30 Hewlett-Packard Enterprise Development LP Remote direct memory access
CN109690466A (zh) * 2016-07-19 2019-04-26 锐思拓公司 实现分解的存储器盘片的方法和设备
CN106776387B (zh) * 2016-11-24 2019-10-18 大唐高鸿信安(浙江)信息科技有限公司 硬盘通道扩展装置
US10338995B2 (en) * 2017-03-10 2019-07-02 Artesyn Embedded Computing, Inc. End to end FPGA diagnostics for a safety system
EP3521954A1 (en) * 2018-02-05 2019-08-07 ABB Schweiz AG A flexible expandable automation device with hot-swappable i/o-units
CN109933546B (zh) * 2019-01-29 2023-03-10 山东华芯半导体有限公司 一种ssd主控中的raid主动加速装置和加速方法
JP7334487B2 (ja) 2019-06-10 2023-08-29 セイコーエプソン株式会社 表示装置の制御方法、及び表示装置
JP7272154B2 (ja) * 2019-07-12 2023-05-12 セイコーエプソン株式会社 表示装置の制御方法、及び表示装置
US11847338B2 (en) * 2020-07-29 2023-12-19 Micron Technology, Inc. Master slave managed memory storage

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1125491A (zh) * 1993-04-16 1996-06-26 数据翻译公司 计算机的视频外围设备
CN101025979A (zh) * 2006-02-17 2007-08-29 国际商业机器公司 数据存储驱动器和自动数据存储库

Family Cites Families (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4873665A (en) 1988-06-07 1989-10-10 Dallas Semiconductor Corporation Dual storage cell memory including data transfer circuits
US5532958A (en) 1990-06-25 1996-07-02 Dallas Semiconductor Corp. Dual storage cell memory
US5164613A (en) 1990-09-28 1992-11-17 Dallas Semiconductor Corporation Reset monitor
NL9200397A (nl) 1992-03-04 1993-10-01 Philips Nv Informatie-optekeninrichting.
US5926602A (en) 1995-07-13 1999-07-20 Sanyo Electric Co., Ltd. Time-base corrector circuit capable of adding color burst signal to output signal based on kind of input video signal
AU7851498A (en) 1996-12-09 1998-07-03 Scientific-Atlanta, Inc. Using a hierarchical file system for indexing data broadcast to a clie nt from anetwork of servers
US6324338B1 (en) 1998-08-07 2001-11-27 Replaytv, Inc. Video data recorder with integrated channel guides
AU7706500A (en) 1999-09-20 2001-04-24 Tivo, Inc. Closed caption tagging system
US20020102092A1 (en) 2001-01-31 2002-08-01 Sony Corporation And Sony Electronics Inc. RF passthrough for digital network recorders
US20030014762A1 (en) 2001-07-13 2003-01-16 Conover Richard David Subscriber internet interface system and apparatus
US20030063893A1 (en) 2001-10-03 2003-04-03 Read Christopher Jensen Faster channel change with PVR pause capability
JP2004110367A (ja) * 2002-09-18 2004-04-08 Hitachi Ltd 記憶装置システムの制御方法、記憶制御装置、および記憶装置システム
US8321650B2 (en) 2003-01-13 2012-11-27 Emulex Design & Manufacturing Corporation Alignment-unit-based virtual formatting methods and devices employing the methods
US7634614B2 (en) 2003-01-13 2009-12-15 Sierra Logic Integrated-circuit implementation of a storage-shelf router and a path controller card for combined use in high-availability mass-storage-device shelves and that support virtual disk formatting
JP2007502090A (ja) 2003-05-09 2007-02-01 ブロードバンド・イノベーションズ・インコーポレイテッド ホームネットワーク同軸配線で伝送されるネイティブ信号を利用した複数のデジタルtv装置用デジタルメディアサーバ
US7155546B2 (en) * 2003-12-18 2006-12-26 Intel Corporation Multiple physical interfaces in a slot of a storage enclosure to support different storage interconnect architectures
US7627617B2 (en) 2004-02-11 2009-12-01 Storage Technology Corporation Clustered hierarchical file services
US7913148B2 (en) 2004-03-12 2011-03-22 Nvidia Corporation Disk controller methods and apparatus with improved striping, redundancy operations and interfaces
JP2005267239A (ja) * 2004-03-18 2005-09-29 Hitachi Global Storage Technologies Netherlands Bv 記憶装置及び記憶装置間でファイルを転送する方法
WO2006035849A1 (ja) 2004-09-28 2006-04-06 Kabushiki Kaisha Power To The People リモートコントローラ
EP1815337B1 (en) 2004-11-05 2013-05-15 Data Robotics, Inc. Storage system condition indicator and method
US7873782B2 (en) 2004-11-05 2011-01-18 Data Robotics, Inc. Filesystem-aware block storage system, apparatus, and method
JP5265113B2 (ja) 2005-03-04 2013-08-14 パナソニック株式会社 データ処理装置
US8352649B2 (en) * 2005-06-09 2013-01-08 Infortrend Technology, Inc. Storage virtualization subsystem architecture
US7826811B2 (en) 2005-11-10 2010-11-02 Panasonic Corporation Phase modulation apparatus and wireless communication apparatus
JP4775846B2 (ja) * 2006-03-20 2011-09-21 株式会社日立製作所 物理リンクの割当てを制御するコンピュータシステム及び方法
US7600070B1 (en) 2006-03-30 2009-10-06 Linnell Thomas E Disk drive packaging enclosure
EP2143105B1 (en) 2007-04-13 2015-02-25 Data Robotics, Inc. Carrierless storage system enclosure with ejection mechanism
US8254983B2 (en) 2007-07-31 2012-08-28 Broadcom Corporation Communication device with millimeter wave intra-device communication and methods for use therewith
US20090067363A1 (en) 2007-07-31 2009-03-12 Johnson Controls Technology Company System and method for communicating information from wireless sources to locations within a building
US8074105B2 (en) * 2007-10-08 2011-12-06 Dot Hill Systems Corporation High data availability SAS-based RAID system
JP2009211140A (ja) * 2008-02-29 2009-09-17 Hitachi Ltd ストレージシステム及びその記憶媒体管理方法
JP5033041B2 (ja) * 2008-04-14 2012-09-26 株式会社日立製作所 ストレージシステム
US7882282B2 (en) 2008-05-21 2011-02-01 Silicon Laboratories Inc. Controlling passthrough of communications between multiple buses
US8375151B1 (en) * 2009-02-12 2013-02-12 Siliconsystems, Inc. Command portal for securely communicating and executing non-standard storage subsystem commands
US8443137B2 (en) * 2008-08-21 2013-05-14 Infinidat Ltd. Grid storage system and method of operating thereof
US20100049919A1 (en) 2008-08-21 2010-02-25 Xsignnet Ltd. Serial attached scsi (sas) grid storage system and method of operating thereof
JP5493531B2 (ja) 2009-07-17 2014-05-14 三菱電機株式会社 映像音声記録再生装置および映像音声記録再生方法
US8452941B2 (en) 2009-09-23 2013-05-28 Dell Products L.P. System and method for distributing random and sequential data in a tiered storage system
US20110145452A1 (en) * 2009-12-16 2011-06-16 Lsi Corporation Methods and apparatus for distribution of raid storage management over a sas domain
KR20110113421A (ko) * 2010-04-09 2011-10-17 삼성전자주식회사 저장 매체에 데이터를 저장하는 방법, 그를 이용한 데이터 저장 장치, 및 그것을 포함한 시스템
US8443237B2 (en) * 2010-05-12 2013-05-14 Hitachi, Ltd. Storage apparatus and method for controlling the same using loopback diagnosis to detect failure
JP5535322B2 (ja) * 2010-06-02 2014-07-02 株式会社日立製作所 バックエンドでの通信の規格がsasであるストレージシステム
WO2012140692A1 (en) * 2011-04-12 2012-10-18 Hitachi, Ltd. Storage apparatus and method of controlling the same
US20120278552A1 (en) * 2011-04-28 2012-11-01 Lsi Corporation Remote execution of raid in large topologies

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1125491A (zh) * 1993-04-16 1996-06-26 数据翻译公司 计算机的视频外围设备
CN101025979A (zh) * 2006-02-17 2007-08-29 国际商业机器公司 数据存储驱动器和自动数据存储库

Also Published As

Publication number Publication date
US8914549B2 (en) 2014-12-16
CN103946821A (zh) 2014-07-23
US8799523B2 (en) 2014-08-05
WO2013044060A1 (en) 2013-03-28
US20140310459A1 (en) 2014-10-16
US20130073747A1 (en) 2013-03-21

Similar Documents

Publication Publication Date Title
CN103946821B (zh) 数据存储器架构扩展系统及方法
US9164946B2 (en) Data storage raid architecture system and method
US8533419B2 (en) Method for controlling data write to virtual logical volume conforming to thin provisioning, and storage apparatus
CN105745627B (zh) 用于非易失性存储器存储设备的地址转换
US8402234B2 (en) Storage system and storage migration method
US9177654B2 (en) Solid-state memory device with plurality of memory cards
US7555600B2 (en) Storage apparatus and configuration setting method
US7484050B2 (en) High-density storage systems using hierarchical interconnect
EP1720101A1 (en) Storage control system and storage control method
CN108108311A (zh) 存储装置及存储装置的控制方法
CN108052655A (zh) 数据写入及读取方法
CN100356310C (zh) 储存虚拟化控制器、子系统及系统与方法
EP4139802B1 (en) Methods for managing input-ouput operations in zone translation layer architecture and devices thereof
CN102830942A (zh) 固态硬盘磁盘阵列映射的方法及其固态硬盘
CN105843753A (zh) 用于硬盘驱动器的逻辑块地址映射
CN107908571A (zh) 一种数据写入方法、闪存装置及存储设备
CN101957728B (zh) 用于向本地物理卷复制远程虚拟卷的装置和方法
CN101073066B (zh) 生成奇偶数据的方法、系统和程序
US20150278147A1 (en) Solid-state memory device with plurality of memory cards
CN101788888A (zh) 一种实现目标端驱动的方法及该目标端驱动
US20120226669A1 (en) Merging a storage cluster into another storage cluster
CN109783404A (zh) 具有非对称通道的固态存储设备
CN107437422A (zh) 在电力损失时保存关键数据
CN101859232A (zh) 一种可变长度数据存储接口
Cochrane et al. Solving the HPC I/O bottleneck: Sun™ Lustre™ storage system

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant