CN1648842B - 存储系统以及存储系统的数据存取方法 - Google Patents

存储系统以及存储系统的数据存取方法 Download PDF

Info

Publication number
CN1648842B
CN1648842B CN200410047672.4A CN200410047672A CN1648842B CN 1648842 B CN1648842 B CN 1648842B CN 200410047672 A CN200410047672 A CN 200410047672A CN 1648842 B CN1648842 B CN 1648842B
Authority
CN
China
Prior art keywords
control panel
san
nas
input
output commands
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
Application number
CN200410047672.4A
Other languages
English (en)
Other versions
CN1648842A (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.)
Google LLC
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Publication of CN1648842A publication Critical patent/CN1648842A/zh
Application granted granted Critical
Publication of CN1648842B publication Critical patent/CN1648842B/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
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0661Format or protocol conversion arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • 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/0626Reducing size or complexity of storage systems
    • 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
    • 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/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • 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/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache

Abstract

在具有SAN接口和NAS接口两者的混合型存储装置中,与NAS功能的障碍或NAS的负荷等无关,可以作为SAN功能独立地运行,而且,能通过简单的硬件实现。由接受文件单位的I/O命令的NAS控制板和接受块单位的I/O命令的SAN控制板安装存储装置的控制器并使两部分能独立地运行。那么,NAS控制板将NAS接口的文件单位的I/O命令变换为块单位的I/O命令并发送给SAN控制板。SAN控制板通过从SAN接受的块单位的I/O命令和从NAS控制板接收的块单位的I/O命令对存储在盘装置内的数据进行存取。

Description

存储系统以及存储系统的数据存取方法
技术领域
本发明涉及具有多个接口的存储装置,特别涉及能通过SAN接口和NAS接口的命令两者进行数据存取的混合型存储装置。
背景技术
近年来,伴随着信息系统的使用领域的扩大及计算机系统的进一步分散化,在一个地点(site)内管理的主机的数量迅速增大。与此同时,计算机系统的管理成本的增大成为问题。特别是,分别进行分散的主机具有的存储装置的管理,由于事前很难预测运用所必要的容量,所以在需要进行容量的追加时,有必要向各主机个别增设存储装置,管理成本变大。
SAN(Storage Area Network)及NAS(Network AttachedStorage)作为用于解决该问题的技术而被广泛利用。无论哪一项技术都以将分散的主机个别拥有的存储装置进行汇集为目的,但是,从各自的技术所具有的特征出发,在不同的适用领域使用。
SAN是通过主机-存储装置之间通信专用的网络连接多个存储装置和多个主机,以高速实现没有延迟的I/O的技术。在SAN中,主机和存储装置之间的I/O以块(block)为单位进行。所谓块是将存储装置的容量分割成某一大小、通过地址进行识别的固定长的数据的管理单位。作为块单位的I/O适合的应用(application),主要可以举出数据库。将多个数据库服务器的容量(volume)汇集到一个存储装置中,通过使管理一元化,可以消减计算机系统的管理成本。另外,SAN是高信赖的专用网络,可以进行高效的通信,因此,作为用于传送容量单位的数据的通信线路使用是有效的。容量单位的数据传送以备份(backup)或者用于灾害对策的将容量复制到远距离的存储装置中为目的而使用。
另一方面,NAS是具有文件服务器功能的存储装置,对LAN(Local Area Network)上的多个主机提供文件服务。NAS和主机之间的I/O(输入/输出)以文件为单位进行。文件一般通过字符串的标识符进行识别,是可变长的数据的管理单位。作为文件单位的I/O(输入/输出)适合的应用,可以举出通过多个主机进行的文件共用。可以实现通过多个Web(环球网)服务器进行的同一内容的服务或通过多个办公室PC进行的文献的共用。
这样,SAN和NAS是处于互相补充的关系的技术。因此,有人提出如下设想:通过将与SAN对应的存储装置和NAS统合为一个装置,可以进一步消减管理成本。下述非专利文献1及专利文献1所记载的技术是通过将存储装置的控制程序变成能进行SAN和NAS两者的控制的程序来实现SAN和与NAS对应的存储装置的技术。使用该技术的存储装置具有SAN和NAS的接口,可以将存储容量自由地分配给SAN和NAS。
另外,所谓专利文献1是指特开2003-162439号公报;
所谓非专利文献1是指Stephen Daniel著“Converging SAN andNAS Storage-A Comparison of Unified and Gateway Solutions,”Network Appliance Inc.White Paper OCT  2002.。
根据非专利文献1的现有技术,通过一个存储装置可以对应SAN和NAS。但是,由于通过一个控制程序实现SAN和NAS,所以具有各功能相互干涉的问题。由于NAS功能的障碍,SAN功能停止的可能性很高,具有不耐妨碍性的问题。另外,不能只停止NAS功能而进行维修。另外,如果NAS的负荷变高的话,SAN的性能就显著降低。反过来,如果SAN的负荷变高的话,NAS的性能就显著降低。这样的现象使系统整体的性能设计变的困难。一般地,SAN大多成为存储系统的基干,因此,希望即使NAS功能停止由SAN功能进行的存储装置的数据存取也不停止。
另一方面,根据专利文献1所记载的现有技术,提高了NAS功能和SAN功能的独立性,可以实现不会由于NAS功能的障碍而SAN功能停止的存储装置。但是,由于具有NAS功能及SAN功能的多个接口分别进行磁盘的控制,所以必须通过内部网络和共用存储器进行通信,硬件成本上升,难以适用于接口数量小规模构成的存储装置。
发明内容
鉴于上述现有技术问题的存在,本发明的目的在于:提供一种在具有SAN接口和NAS接口两者的混合型存储装置中,与NAS功能的障碍或NAS的负荷等无关、作为SAN功能而独立地运行并能通过简单的硬件来实现的存储装置。
本发明提供一种存储系统,包括多个盘和与所述多个盘连接的控制器,其特征在于:所述控制器包括:通过网络从计算机接受文件单位的输入/输出命令的NAS控制板;和通过网络从计算机接受块单位的输入/输出命令,并根据所接受的块单位的输入/输出命令对存储在所述多个盘中的数据进行存取的SAN控制板,其中,所述NAS控制板将文件单位的输入/输出命令变换成块单位的输入/输出命令并发送给所述SAN控制板;所述SAN控制板通过从所述NAS控制板发送的块单位的输入/输出命令,对存储在所述盘装置内的数据进行存取。
本发明还提供一种存储系统,包括多个盘、接受文件单位的输入/输出命令的NAS控制板和接受块单位的输入/输出命令的SAN控制板,其特征在于:所述NAS控制板包括NAS通信控制器、NAS处理器、NAS存储器和所述NAS存储器的控制器;所述SAN控制板包括SAN通信控制器、SAN处理器、SAN存储器、所述SAN存储器的控制器、控制所述NAS处理器与所述SAN处理器之间的通信的通信控制器和控制所述多个盘的盘控制器;所述NAS控制板安装在所述SAN控制板上;即使在所述SAN控制板的运行中装卸NAS控制板,所述SAN控制板也处理通过所述SAN通信控制器接收的块单位的输入/输出命令;在所述NAS存储器中存储有命令变换程序;在所述SAN存储器中存储有盘阵列控制程序;所述NAS处理器执行所述命令变换程序,将通过所述NAS通信控制器接收的文件单位的输入/输出命令变换成所述块单位的输入/输出命令并存储到所述NAS存储器内的通信用区域中;所述处理器间通信控制器将存储到所述NAS存储器内的通信用区域中的所述块单位的输入/输出命令转送到所述SAN存储器内的通信用区域中;所述SAN处理器执行所述盘阵列控制程序,使转送到所述SAN存储器内的通信用区域中的所述块单位的输入/输出命令和通过所述SAN通信控制器接收的所述块单位的输入/输出命令排队,并根据所述排队的块单位的输入/输出命令,通过所述盘控制器对存储在所述多个盘中的数据进行存取。
本发明还提供一种存储系统,包括多个盘和与所述多个盘连接的控制板,其特征在于:所述控制板包括:从网络接收块单位的输入/输出命令的SAN接口控制器;从网络接收文件单位的输入/输出命令的NAS接口控制器;根据所述SAN接口控制器接收的块单位的输入/输出命令来访问所述多个盘的SAN处理器;和将所述SAN接口控制器接收的文件单位的输入/输出命令变换成块单位的输入/输出命令的NAS处理器;所述SAN处理器接收由所述NAS处理器变换的块单位的输入/输出命令,根据该块单位的输入/输出命令来访问所述多个盘。
本发明提供一种存储系统的数据存取方法,其特征在于:包括如下步骤:
(a)用SAN控制板从网络接收块输入/输出请求;
(b)按照用所述SAN控制板接收的块输入/输出请求来访问盘;
(c)用NAS控制板从网络接收文件输入/输出请求;
(d)通过所述NAS控制板将所接收的文件输入/输出请求变换成块输入/输出请求;
(e)将该变换的块输入/输出请求从所述NAS控制板转送到所述SAN控制板;以及
(f)按照从所述NAS控制板转送的块输入/输出请求来访问盘。
在本发明中,在通过由块单位的I/O(输入/输出)命令进行的SAN接口和由文件单位的I/O命令进行的NAS接口进行数据的存取的存储装置中,由接受文件单位的I/O命令的NAS控制板(board)和接受块单位的I/O命令并通过该命令对存储在盘装置内的数据进行存取的SAN控制板(board)构成控制盘装置的控制器。
那么,NAS控制板将接受的文件单位的I/O命令变换为块单位的I/O命令并发送给SAN控制板。
SAN控制板通过从SAN接口接受的块单位的I/O命令和从NAS控制板发送的块单位的I/O命令的两者对存储在盘装置内的数据进行存取。
其结果,在具有SAN接口和NAS接口两者的混合型存储装置中,与NAS功能的障碍或NAS的负荷等无关,作为SAN功能独立地运行,而且,能通过简单的硬件来实现。
附图说明
图1表示使用第1实施例所涉及的存储装置的计算机系统的构成例。
图2是表示NAS控制板和SAN控制板的构成例的方框图。
图3是表示命令变换处理的一例的流程图。
图4是表示命令的队列(queue)的数据结构的例的图。
图5是表示命令的队列的数据结构的其它例的图。
图6是表示第1实施例所涉及的命令变换程序和盘阵列控制程序的启动时的处理的一例的流程图。
图7是表示盘阵列控制程序使NAS控制板停止时的处理的一例的流程图。
图8是表示从图7所示的流程图的处理调用的子程序的NAS计划停止处理的一例的流程图。
图9是表示从图7所示的流程图的处理调用的子程序的NAS强制停止处理的一例的流程图。
图10是表示SAN/NAS控制板的构成例的方框图。
图11是表示第2实施例所涉及的命令变换程序和盘阵列控制程序的启动时的处理的一例的流程图。
具体实施方式
以下,参照图1~图11对本发明所涉及的各实施例进行说明。另外,本发明不限定于以下说明的实施例。
(实施例1)
以下参照图1~图9对本发明所涉及的第1实施例进行说明。
首先,参照图1对使用本发明的第1实施例所涉及的存储系统的计算机系统的构成例进行说明。
第1实施例中的存储系统100通过由光纤通道(fibre channel)构成的SAN50与多台计算机(以下称为SAN顾客30)连接,接受来自SAN顾客30的I/O命令。另外,通过LAN40与多台计算机(以下称为NAS顾客20)连接,接收来自NAS顾客20的I/O命令。SAN50除了光纤通道之外,有时也可以是能使用iSCSI协议的IP网络。
存储系统100由盘装置105和控制器110构成。
盘装置105由多个盘驱动器150和连接盘驱动器150和控制器110的通信线路155构成。
控制器110可以通过通信线路155对任意的盘驱动器150进行数据的输入输出。盘驱动器150和通信线路155也有包含在控制器110内的形式。对于存储系统100,也有包含多个盘装置105的形式。
SAN控制板140是控制器110的主要构成部件,在该SAN控制板上安装有NAS控制板145。SAN控制板140也有在控制器110内搭载2枚的形式。该形式以采用一枚发生故障时另一枚继续处理的冗余构成来提高可靠性为目的。
在此,将集合多个盘驱动器150的存储区域的一部分使其成组并分配连续的地址空间的逻辑上的存储区域称为“逻辑容量”;将使用逻辑容量的地址空间的块单位的I/O命令称为“逻辑块命令”。与此相对,将使用各盘驱动器150固有的地址空间的块单位的I/O命令称为“物理块命令”。
该SAN控制板140与盘装置105、管理终端60、SAN50连接,具有根据从SAN顾客30接收的逻辑块命令,对构成盘装置105的盘驱动器150发送物理块命令的功能。
NAS控制板145插在SAN控制板140上的端子160上,可以装卸141,并与LAN40连接。NAS控制板145具有将从NAS顾客20接收的文件单位的I/O命令(以下称为文件命令)变换成逻辑块命令并对SAN控制板140发送的功能。
SAN控制板140通过对记载逻辑容量和盘的对应关系的构成信息165进行管理,可以自由地将盘驱动器150分配给NAS控制板145能使用的NAS区域170和SAN顾客30能使用的SAN区域175。NAS控制板145和SAN控制板140也有安装在同一基板上的形式,但是,这在第2实施例中说明。
管理终端60通过LAN等与SAN控制板140及NAS控制板145连接,利用画面·键盘·鼠标进行对存储系统100的管理操作。在管理操作中,包含存储系统100的启动及停止、NAS控制板145的启动及停止、包含SAN控制板140和NAS控制板145的存储系统100的设定变更及妨碍信息的参考。
接着,参照图2对NAS控制板和SAN控制板的构成进行说明。
图2是表示NAS控制板和SAN控制板的构成例的方框图。
SAN处理器(processor)1409主要是解释、执行盘阵列控制程序1405和NAS控制板管理程序1406的处理器,作为暂时存储装置使用与SAN存储控制器1410连接的SAN存储器1407。存储在SAN存储器1407中的盘阵列控制程序1405具有解释光纤通道控制器1401接收的逻辑块命令,通过将其变换为物理块命令控制盘控制器1403的功能。盘阵列控制程序1405通过使用盘高速缓冲存储器(disc cache)1402,提高对命令的响应速度。
NAS控制板管理程序1406具有根据来自管理终端60的管理操作进行NAS控制板145的启动及停止或妨碍信息的参考的功能。这些程序通过SAN处理器1409执行。
NAS控制板145上的NAS处理器1457主要是解释·执行命令变换程序1453的处理器,作为暂时存储装置使用与NAS存储控制器1456连接的NAS存储器1452。存储在NAS存储器1452的命令变换程序1453具有解释LAN控制器1451接收的文件命令并将其变换成逻辑块命令的功能。从文件命令向逻辑块命令的变换功能可以利用与UNIX等一般的OS同样的技术来实现,上述技术例如在“The Designand Implementation of the 4.4Bsd Operating System(Addison-Wesley)”等中公开。为了应用该技术,命令变换程序1453利用文件系统的数据结构,管理用于整理文件群的目录结构和各文件中包含的数据的存储目的地地址。命令变换程序1453首先利用网络文件系统服务器功能,按照协议规范和文件共同设定,将从LAN控制器1451接收到的文件命令变换成针对本地文件系统上的文件的命令。然后,命令变换程序1453的本地文件系统功能基于该文件系统所固有的数据结构,根据文件名和偏移(offset)来决定作为命令对象的地址,生成并发出针对该地址的逻辑块命令。命令变换程序1453将生成的逻辑块命令发送给SAN处理器1409。
在SAN处理器1409上执行的盘阵列控制程序1405具有将从NAS控制板145发送来的逻辑块命令变换成物理块命令的功能。这与将光纤通道控制器1401接收的逻辑块命令变换成物理块命令时的处理是同样的。
在将逻辑块命令从NAS处理器1457发送给SAN处理器1409时,命令变换程序1453控制处理器间通信控制器1408。逻辑块命令存储在通信用区域1455,通过例如处理器间通信控制器1408具有的DMA功能被发送给通信用区域1404。为命令的执行结果的状态(status)在命令结束后被从通信用区域1404发送到通信用区域1455。如果处理器间通信控制器1408具有向SAN处理器1409及NAS处理器1457发出中断的功能,可以立即将命令或者状态的发送结束通知给各处理器。
在来自NAS顾客20的文件命令是请求向存储装置写入的命令时,数据暂时存储在文件高速缓冲存储器1454中。接着,逻辑块命令以上述顺序转送到通信用区域1404。接着,盘阵列控制程序1405根据转送的逻辑块命令将存储的数据转送给盘高速缓冲存储器1402。
另外,在来自NAS顾客20的文件命令是请求从存储装置读入的命令时,根据以上述顺序转送到通信用区域1404逻辑块命令,盘阵列控制程序1405将读入到盘高速缓冲存储器1402的数据转送给文件高速缓冲存储器1454。通过与NAS控制板145和SAN控制板140之间的端子160连接的总线,可以进行逻辑块命令或数据的发送接收,另外,即使在SAN控制板140的通电中,也可以进行NAS控制板145的装卸。对于满足这样的条件的总线,例如有PCI总线。NAS控制板145也具有在SAN控制板140上设置多个的形式。在这样的形式中,处理器间通信控制器1408设置NAS控制板145的数量个,以在各NAS控制板145和SAN处理器1409的通信中使用。处理器间通信控制器1408也具有安装在NAS控制板145上的形式。
如上述的那样,盘阵列控制程序1405是具有如下功能的程序:将通过SAN从顾客处以块为单位发放给存储装置并向对象发放利用盘阵列内的多个盘来从逻辑上定义的逻辑容量(volume)的I/O(输入/输出)命令变换成向构成逻辑容量的盘发放的I/O命令。
另外,命令变换程序1453是具有将从LAN上的顾客发放的文件单位的I/O命令变换成通过盘阵列控制程序能处理块单位的I/O命令的功能的程序。
盘阵列控制程序1405不依存于命令变换程序1453的功能,可以单独地运行。因此,即使在由于程序不合造等命令变换程序的处理不能急需时,盘阵列控制程序1405也可以继续处理,可以继续来自SAN上的顾客的I/O命令的处理。
因此,可以只停止NAS功能进行维修。另外,通过使盘阵列控制程序运行的处理器为多个,只让其中一部分进行来自命令变换程序1453的I/O命令的处理,即使在NAS的负荷高时,也能使SAN的性能保持在一定水平以上。另外,即使在SAN的负荷高时,NAS的性能也可以保持在一定水平以上。
通过在命令变换程序1453和盘阵列控制程序1405的通信中,使用内部总线,盘阵列控制程序1405进行盘装置105的控制,可以不要内部网络或共用存储器,能以低成本安装。
接着,参照图3~图9对本发明的第1实施例所涉及的存储装置的控制动作进行说明。
首先,通过图3对图2的盘阵列控制程序1405接收来自图2的命令变换程序1453或者光纤通道控制器1401的命令时,到将接收的命令存储在命令队列的处理内容进行说明。
图3是表示命令变换处理的流程的流程图。
命令变换程序1453在进行命令变换(步骤300)后,将该命令转送到通信用区域1404(步骤302)。然后,通过设定处理器间通信控制器1408的计数器(register)(步骤305),处于命令接收等待(步骤310)状态的盘阵列控制程序1405接收中断。这时,进行是否在命令排队处理中的判定(步骤315),如果没有在处理中,对接收的命令进行排队(步骤320),如果在处理中,进行等待直到结束。在命令排队处理中时,光纤通道控制器1401在执行接收的命令的排队中。因此,通过步骤315的处理,实现从命令变换程序1453和光纤通道控制器1401同时接收命令时的排他控制。该排他控制可以与例如处理器间通信控制器1408和光纤通道控制器1401对SAN处理器1409发送的中断的优先级同样,通过作为中断处理执行命令排队而实现。
接着,通过图4及图5对命令排队时的命令的队列数据结构进行说明。
图4及图5是表示命令队列的数据结构的例子的图。
这是保存通过图2的命令变换程序1453变换的命令和从光纤通道控制器1401发送来的命令两者的命令队列的数据结构的图。
在图4所示的命令队列的数据结构的例子中,命令队列起始指针400指向下一个执行的命令的地址,命令队列末尾指针410指向后续追加的新接收的命令。在命令队列中,从命令变换程序1453接收的NAS命令415和从光纤通道控制器1401接收的SAN命令420混存,在根据该命令队列处理命令的场合,所有的命令按照接收顺序依次处理。
另外,命令队列保持在图2的SAN存储器1407中。
图5所示的命令队列的数据结构与图4的不同,将NAS命令515和SAN命令565分别保存在不同的队列中。
从命令变换程序1453接收的命令追加在NAS命令队列末尾指针510所指向的命令的后方,从光纤通道控制器1401接收的命令追加在SAN命令队列末尾指针560所指向的命令的后方。
在该命令队列的特征是能控制要优先处理NAS命令和SAN命令中的哪一个。即,先从NAS命令队列起始指针500检索到下一个执行的命令,优先处理来自图1的NAS顾客20的I/O,先从SAN命令队列起始指针550检索到下一个执行的命令,优先处理来自图1的SAN顾客30的I/O。
接着,通过图6对本发明的第1实施例所涉及的命令变换程序和盘阵列控制程序的启动处理进行说明。
图6是表示本发明的第1实施例所涉及的命令变换程序和盘阵列控制程序的启动时的处理的一例的流程图。
图1的存储系统100的电源投入后,SAN控制板140和NAS控制板145进行初始化。
SAN控制板140初始化后,通过IPL,盘阵列控制程序1405和NAS控制板管理程序1406被盘驱动器150装入到图2的SAN存储器1407中。
SAN处理器1409开始执行盘阵列控制程序1405。NAS控制板145初始化后,通过IPL,命令变换程序1453的启动程序被从NAS控制板145上的ROM装入。命令变换程序1453保存在盘驱动器150中,但是,由于IPL不能对盘驱动器150进行访问,所以先装入命令变换程序1453的启动程序。该启动程序在将盘阵列初始化后(步骤625),等待接收(步骤600)盘阵列初始化结束的通知(步骤630),接收通知后,执行NAS存储器1452的初始化(步骤605)。
接着,将初始化已经结束通知给NAS控制板管理程序1406(步骤610)。NAS控制板管理程序1406接收该通知后(步骤635),从盘驱动器150装入命令变换程序1453,并转送给NAS存储器1452(步骤640)。转送使用DMA等装置。
接着,把命令变换程序1453的转送结束通知命令变换程序1453的启动程序(步骤645)。命令变换程序1453的启动程序,命令变换程序1453的启动程序跳跃到命令变换程序1453的入口点(entrypoint)(步骤620),开始执行命令变换程序1453。
接着,通过图7~图9对盘阵列控制程序使NAS控制板停止时的处理进行说明。
图7是表示盘阵列控制程序使NAS控制板停止时的处理的一例的流程图。
图8是表示从图7所示流程图的处理调用的子程序的NAS计划停止处理的一例的流程图。
图9是表示从图7所示流程图的处理调用的子程序的NAS强制停止处理的一例的流程图。
在盘阵列控制程序进行SAN/NAS命令处理时(步骤700),有来自管理终端60的NAS控制板145的停止指示时(步骤705),执行NAS计划停止处理(步骤710)。NAS计划停止处理的详细情况以后说明。
另外,在由于以一定时间间隔从命令变换程序1453接收的信号超时(步骤725),检测出NAS控制板145发生异常时,执行来自命令队列的NAS命令的废弃(步骤730),执行NAS强制停止处理(步骤735)。NAS强制停止处理的详细强以后说明。在执行步骤710的NAS计划停止处理及步骤735的NAS强制停止处理后,转移到只处理SAN命令的SAN运用(步骤712)。
另外,由于来自管理终端60的指示再次启动NAS控制板145时,再次转移到SAN/NAS命令处理步骤700。NAS控制板145的再次启动可以通过盘阵列控制程序1405转移控制到图6的步骤630来执行。
在图8所示的计划停止处理中,NAS控制板管理程序1406向命令变换程序1453通知计划停止(步骤800)。命令变换程序1453接收到计划停止的通知后(步骤815),将文件高速缓冲存储器1454的未写入的数据转送给盘高速缓冲存储器1402(步骤820),执行停止结束的通知(步骤825)。
NAS控制板管理程序1406接收到停止结束的通知后(步骤805),记录NAS控制板145的停止(步骤810),以后不再进行NAS控制板145的监视。
在图9所示的强制停止处理中,由于发生故障命令变换程序1453暂停(步骤905),陷入无限循环中(步骤910),不再接受任何通信。NAS控制板管理程序1406通过向NAS处理器1457发送停止信号等硬件装置执行命令变换程序的强制停止(步骤900)。由此,即使NAS控制板145停止通电也不会造成数据的丧失及对SAN产生影响,可以进行NAS控制板145的交换等。
在本实施例中,由于采用为具有SAN功能的硬件的SAN控制板140的运用不依存于为具有NAS功能的硬件的NAS控制板145的构造,所以,在NAS控制板145的硬件发生故障时或者命令变换程序1453的软件发生故障等时,即使NAS功能发生故障时,SAN功能的使用也可以不受影响地继续进行。另外,可以进行通过只计划停止NAS功能或者运用再次开始进行的维护。即,由SAN控制板140上的处理器运行的盘阵列控制程序1405不受从NAS控制板145发送的文件单位的I/O命令是否有无的影响,SAN控制板140可以从SAN50接受块单位的I/O命令并动作。
进一步,由于在NAS控制板145和SAN控制板140的通信中不需要内部网络或共用存储装置,所以可以以低的硬件成本组装装置。另外,由于NAS控制板145不需要盘阵列控制程序1405运行的处理器,所以可以以低硬件成本组装。
而且,如图5所示的,通过使管理NAS命令515的队列和管理SAN命令565的队列为不同的队列,可以优先处理NAS或者SAN的I/O的任何一个。
另外,在SAN控制板140上安装两组或两组以上图2所示的SAN处理器1409、SAN存储器1407,可以得到通过不同的处理器、存储器处理管理NAS命令515的队列和管理SAN命令565的队列地实施方式。根据该方式,来自NAS顾客20的I/O和来自SAN顾客30的I/O可以在各自的处理系统独立地处理,因此,即使一方的处理系统的负荷高时,也不会受到影响,另外的处理系统的性能得到保证,可以容易地进行系统整体的性能计划。
(实施例2)
以下参照图10及图11对本发明所涉及的第2实施例进行说明。
首先,通过图10对本发明所涉及的第2实施例的构成进行说明。
图10是表示SAN/NAS控制板的构成例的方框图。
本发明的第2实施例是以图10的SAN/NAS控制板1000置换相当于第1实施例中的图1的SAN控制板140及NAS控制板145的部分的实施方式。
SAN/NAS控制板1000的对LAN40、SAN50、管理终端60、盘装置105的接口与SAN控制板140及NAS控制板145是相同的。与第1实施例不同的是SAN处理器1409和NAS处理器1457共用存储器控制器1025及存储器1005这一点。将该存储器1005分割成NAS处理器用区域1010和SAN处理器用区域1015使用。
命令变换程序1453在NAS处理器1457上运行,具有解释LAN控制器1451接收的文件命令并将其变换成逻辑块命令的功能。命令变换程序1453将生成的逻辑块命令发送给SAN处理器1409。在将生成的逻辑块命令从NAS处理器1457发送给SAN处理器1409时,命令变换程序1453向共用区域1020转送逻辑块命令。共用区域1020用于SAN处理器1409和NAS处理器1457发送接收数据。盘阵列控制程序1405通过轮循(polling)或者处理器间中断识别来自SAN处理器1409的逻辑块命令,与第1实施例同样具有将其变换为物理块命令的功能。
SAN/NAS控制板1000上的NAS存储控制器1025以外的装置不被SAN处理器1409和NAS处理器1457共用。光纤通道控制器1401、盘高速缓冲存储器1402、盘控制器1403被SAN处理器1409占有并使用,LAN控制器1451被NAS处理器1457占有并使用。通过内置于存储器控制器1025的中断控制器的路由选择设定,来自各装置的中断使占有并使用这些装置的处理器的中断发生。
接着,参照图11对本发明的第2实施例所涉及的命令变换程序和盘阵列控制程序的启动处理进行说明。
图11是表示本发明的第2实施例所涉及的命令变换程序和盘阵列控制程序的启动时的处理的一例的流程图。
在本实施例中,由于SAN处理器1409和NAS处理器1457共用存储控制器1025,所以,不能通过硬件只启动·停止命令变换程序1453。因此,在使命令变换程序1453启动或再次启动时,首先,NAS控制板管理程序执行NAS处理器用区域的1010的清零(步骤1100)。接着,执行从命令变换程序1453的盘向NAS处理器用区域的1010的复制(步骤1105),向SAN处理器1409发送结束通知(步骤1110)。
NAS处理器1457等待接收多个处理器系统固有的其它系统启动指示用处理器中断(步骤1115),在接收中断后,执行向命令变换程序1453的入口点(entry point)的转移(步骤1120),开始该程序的执行。
本实施例与第1实施例相比,部件的件数少,能以更低的成本实现。第1实施例需要两组以上存储控制器及附带的外围电路,与此相对,本实施例有一组即可。另外,由于在处理器间的通信中,使用两处理器共同拥有并使用的存储器内的共用区域1020,所以不需要如图2所示的处理器间通信控制器1408那样的硬件。另一方面,在本实施例中不能如第1实施例那样,可以不对SAN功能的运用施加影响而在通电中交换NAS用硬件。

Claims (16)

1.一种存储系统,包括多个盘和与所述多个盘连接的控制器,其特征在于:
所述控制器包括:
通过网络从计算机接受文件单位的输入/输出命令的NAS控制板;和
通过网络从计算机接受块单位的输入/输出命令,并根据所接受的块单位的输入/输出命令对存储在所述多个盘中的数据进行存取的SAN控制板,其中,
所述NAS控制板将文件单位的输入/输出命令变换成块单位的输入/输出命令并发送给所述SAN控制板;
所述SAN控制板通过从所述NAS控制板发送的块单位的输入/输出命令,对存储在所述盘装置内的数据进行存取。
2.如权利要求1所述存储系统,其特征在于:
所述文件单位的输入/输出命令通过由所述NAS控制板上的处理器运行的命令变换程序,被变换成所述块单位的输入/输出命令。
3.如权利要求1所述存储系统,其特征在于:
由所述SAN控制板上的处理器运行的盘装置控制程序无论是否有从所述NAS控制板发送的文件单位的输入/输出命令都运行。
4.如权利要求1所述存储系统,其特征在于:
所述NAS控制板上的处理器和所述SAN控制板上的处理器通过结合两者的内部总线来进行通信。
5.如权利要求1所述存储系统,其特征在于:
所述NAS控制板和所述SAN控制板具有不同的存储器。
6.如权利要求1所述存储系统,其特征在于:
所述NAS控制板安装在所述SAN控制板上;
即使在所述SAN控制板的运行中装卸NAS控制板,所述SAN控制板也处理从网络接收的块单位的输入/输出命令。
7.如权利要求1所述存储系统,其特征在于:
所述控制器优先处理所述SAN控制板从网络接收的块单位的输入/输出命令和所述NAS控制板从网络接收的文件单位的输入/输出命令中的任意一个来对数据进行存取。
8.一种存储系统,包括多个盘、接受文件单位的输入/输出命令的NAS控制板和接受块单位的输入/输出命令的SAN控制板,
其特征在于:
所述NAS控制板包括NAS通信控制器、NAS处理器、NAS存储器和所述NAS存储器的控制器;
所述SAN控制板包括SAN通信控制器、SAN处理器、SAN存储器、所述SAN存储器的控制器、控制所述NAS处理器与所述SAN处理器之间的通信的通信控制器和控制所述多个盘的盘控制器;
所述NAS控制板安装在所述SAN控制板上;
即使在所述SAN控制板的运行中装卸NAS控制板,所述SAN控制板也处理通过所述SAN通信控制器接收的块单位的输入/输出命令;
在所述NAS存储器中存储有命令变换程序;
在所述SAN存储器中存储有盘阵列控制程序;
所述NAS处理器执行所述命令变换程序,将通过所述NAS通信控制器接收的文件单位的输入/输出命令变换成所述块单位的输入/输出命令并存储到所述NAS存储器内的通信用区域中;
所述处理器间通信控制器将存储到所述NAS存储器内的通信用区域中的所述块单位的输入/输出命令转送到所述SAN存储器内的通信用区域中;
所述SAN处理器执行所述盘阵列控制程序,使转送到所述SAN存储器内的通信用区域中的所述块单位的输入/输出命令和通过所述SAN通信控制器接收的所述块单位的输入/输出命令排队,并根据所述排队的块单位的输入/输出命令,通过所述盘控制器对存储在所述多个盘中的数据进行存取。
9.一种存储系统,包括多个盘和与所述多个盘连接的控制板,其特征在于:
所述控制板包括:
从网络接收块单位的输入/输出命令的SAN接口控制器;
从网络接收文件单位的输入/输出命令的NAS接口控制器;
根据所述SAN接口控制器接收的块单位的输入/输出命令来访问所述多个盘的SAN处理器;和
将所述SAN接口控制器接收的文件单位的输入/输出命令变换成块单位的输入/输出命令的NAS处理器;
所述SAN处理器接收由所述NAS处理器变换的块单位的输入/输出命令,根据该块单位的输入/输出命令来访问所述多个盘。
10.如权利要求9所述存储系统,其特征在于:
所述控制板还包括:
存储器存储命令变换程序,用于将文件单位的输入/输出命令变换成块单位的输入/输出命令;和
盘控制程序,用于根据块单位的输入/输出命令来访问所述多个盘。
11.如权利要求10所述存储系统,其特征在于:
所述命令变换程序由所述NAS处理器独立执行,所述盘控制程序由所述SAN处理器独立执行。
12.一种存储系统的数据存取方法,其特征在于:
包括如下步骤:
(a)用SAN控制板从网络接收块输入/输出请求;
(b)按照用所述SAN控制板接收的块输入/输出请求来访问盘;
(c)用NAS控制板从网络接收文件输入/输出请求;
(d)通过所述NAS控制板将所接收的文件输入/输出请求变换成块输入/输出请求;
(e)将该变换的块输入/输出请求从所述NAS控制板转送到所述SAN控制板;以及
(f)按照从所述NAS控制板转送的块输入/输出请求来访问盘。
13.如权利要求12所述数据存取方法,其特征在于:
所述将所接收的文件输入/输出请求变换成块输入/输出请求的步骤通过执行在所述NAS控制板上的处理器上运行的命令变换程序来执行。
14.如权利要求12所述数据存取方法,其特征在于:
还包括如下步骤:
(g)将所述SAN控制板从网络接收的块输入/输出请求存储在命令队列中;
(h)将所述SAN控制板从所述NAS控制板接收的经变换的块输入/输出请求存储在所述命令队列中;以及
(i)根据存储在所述命令队列中的块输入/输出请求来访问盘。
15.如权利要求12所述数据存取方法,其特征在于:
还包括如下步骤:
(g)将所述SAN控制板从网络接收的块输入/输出请求存储在第一命令队列中,将所述SAN控制板从所述NAS控制板接收的经变换的块输入/输出请求存储在第二命令队列中;
(h)根据存储在所述第一命令队列或者所述第二命令队列中的任意队列中的块输入/输出请求来访问盘。
16.如权利要求15所述数据存取方法,其特征在于:
优先处理存储在所述第一命令队列中的块输入/输出请求或者存储在所述第二命令队列中的块输入/输出请求中的任意一个。
CN200410047672.4A 2004-01-29 2004-05-28 存储系统以及存储系统的数据存取方法 Expired - Fee Related CN1648842B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2004021208A JP4477365B2 (ja) 2004-01-29 2004-01-29 複数インタフェースを有する記憶装置、および、その記憶装置の制御方法
JP021208/2004 2004-01-29

Publications (2)

Publication Number Publication Date
CN1648842A CN1648842A (zh) 2005-08-03
CN1648842B true CN1648842B (zh) 2010-04-28

Family

ID=32501276

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200410047672.4A Expired - Fee Related CN1648842B (zh) 2004-01-29 2004-05-28 存储系统以及存储系统的数据存取方法

Country Status (6)

Country Link
US (4) US6981094B2 (zh)
JP (1) JP4477365B2 (zh)
CN (1) CN1648842B (zh)
DE (1) DE102004025921A1 (zh)
FR (1) FR2865817B1 (zh)
GB (1) GB2411020B (zh)

Families Citing this family (118)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7620713B2 (en) * 2002-04-23 2009-11-17 Sharp Kabushiki Kaisha Device control management apparatus
JP2005250938A (ja) * 2004-03-05 2005-09-15 Hitachi Ltd 記憶制御システム及び方法
US7240154B2 (en) * 2004-06-28 2007-07-03 Emc Corporation Low cost flexible network accessed storage architecture
US7711871B1 (en) * 2004-08-30 2010-05-04 Crossroads Systems, Inc. Interface device and method for command processing
US7716315B2 (en) * 2004-09-24 2010-05-11 Emc Corporation Enclosure configurable to perform in-band or out-of-band enclosure management
US7747836B2 (en) * 2005-03-08 2010-06-29 Netapp, Inc. Integrated storage virtualization and switch system
JP2008021116A (ja) * 2006-07-12 2008-01-31 Hitachi Ltd San/nas統合管理計算機及び方法
US8296337B2 (en) 2006-12-06 2012-10-23 Fusion-Io, Inc. Apparatus, system, and method for managing data from a requesting device with an empty data token directive
US20080177907A1 (en) * 2007-01-23 2008-07-24 Paul Boerger Method and system of a peripheral port of a server system
US8615595B2 (en) * 2007-01-31 2013-12-24 Hewlett-Packard Development Company, L.P. Automatic protocol switching
JP4386926B2 (ja) * 2007-02-16 2009-12-16 富士通株式会社 暗号通信プログラム、暗号通信方法および暗号通信装置
US20080270480A1 (en) * 2007-04-26 2008-10-30 Hanes David H Method and system of deleting files from a remote server
US8005993B2 (en) 2007-04-30 2011-08-23 Hewlett-Packard Development Company, L.P. System and method of a storage expansion unit for a network attached storage device
US7836226B2 (en) 2007-12-06 2010-11-16 Fusion-Io, Inc. Apparatus, system, and method for coordinating storage requests in a multi-processor/multi-thread environment
US8533384B2 (en) 2007-12-27 2013-09-10 Sandisk Enterprise Ip Llc Flash memory controller garbage collection operations performed independently in multiple flash memory groups
US20090228620A1 (en) * 2008-03-05 2009-09-10 Fred Thomas Digital Adapter
CN101566927B (zh) * 2008-04-23 2010-10-27 杭州华三通信技术有限公司 存储系统和存储控制器以及数据缓存方法
US8359408B2 (en) 2008-06-30 2013-01-22 Intel Corporation Enabling functional dependency in a multi-function device
CN101753617B (zh) * 2009-12-11 2013-05-08 中兴通讯股份有限公司 一种云存储系统和方法
JP5244831B2 (ja) * 2010-01-25 2013-07-24 株式会社日立製作所 計算機システム及びストレージ統合管理方法
US8365041B2 (en) 2010-03-17 2013-01-29 Sandisk Enterprise Ip Llc MLC self-raid flash data protection scheme
WO2012004837A1 (en) 2010-07-09 2012-01-12 Hitachi, Ltd. Storage apparatus and storage management method
WO2012147116A1 (en) 2011-04-25 2012-11-01 Hitachi, Ltd. Computer system and virtual machine control method
JP5611889B2 (ja) * 2011-05-17 2014-10-22 株式会社東芝 データ転送装置、データ送信システムおよびデータ送信方法
US8910020B2 (en) 2011-06-19 2014-12-09 Sandisk Enterprise Ip Llc Intelligent bit recovery for flash memory
US8909982B2 (en) 2011-06-19 2014-12-09 Sandisk Enterprise Ip Llc System and method for detecting copyback programming problems
US8793543B2 (en) 2011-11-07 2014-07-29 Sandisk Enterprise Ip Llc Adaptive read comparison signal generation for memory systems
US8954822B2 (en) 2011-11-18 2015-02-10 Sandisk Enterprise Ip Llc Data encoder and decoder using memory-specific parity-check matrix
US8924815B2 (en) 2011-11-18 2014-12-30 Sandisk Enterprise Ip Llc Systems, methods and devices for decoding codewords having multiple parity segments
US9048876B2 (en) 2011-11-18 2015-06-02 Sandisk Enterprise Ip Llc Systems, methods and devices for multi-tiered error correction
US20130132766A1 (en) * 2011-11-23 2013-05-23 Rajiv Bhatia Method and apparatus for failover and recovery in storage cluster solutions using embedded storage controller
CN102521138B (zh) * 2011-11-28 2015-11-25 华为技术有限公司 数据迁移触发方法和装置
US9268727B1 (en) * 2012-06-28 2016-02-23 EMC Company Method and apparatus for command abstraction
US9699263B1 (en) 2012-08-17 2017-07-04 Sandisk Technologies Llc. Automatic read and write acceleration of data accessed by virtual machines
WO2014061068A1 (en) 2012-10-19 2014-04-24 Hitachi, Ltd. Storage system and method for controlling storage system
WO2014076735A1 (en) 2012-11-14 2014-05-22 Hitachi, Ltd. Storage apparatus and control method for storage apparatus
US9501398B2 (en) 2012-12-26 2016-11-22 Sandisk Technologies Llc Persistent storage device with NVRAM for staging writes
US9612948B2 (en) 2012-12-27 2017-04-04 Sandisk Technologies Llc Reads and writes between a contiguous data block and noncontiguous sets of logical address blocks in a persistent storage device
US9239751B1 (en) 2012-12-27 2016-01-19 Sandisk Enterprise Ip Llc Compressing data from multiple reads for error control management in memory systems
US9491056B1 (en) 2012-12-28 2016-11-08 Emc Corporation Methods and apparatus for protocol independent model to provide event-based discovery
US9454420B1 (en) 2012-12-31 2016-09-27 Sandisk Technologies Llc Method and system of reading threshold voltage equalization
US9003264B1 (en) 2012-12-31 2015-04-07 Sandisk Enterprise Ip Llc Systems, methods, and devices for multi-dimensional flash RAID data protection
US9329928B2 (en) 2013-02-20 2016-05-03 Sandisk Enterprise IP LLC. Bandwidth optimization in a non-volatile memory system
US9214965B2 (en) 2013-02-20 2015-12-15 Sandisk Enterprise Ip Llc Method and system for improving data integrity in non-volatile storage
US9870830B1 (en) 2013-03-14 2018-01-16 Sandisk Technologies Llc Optimal multilevel sensing for reading data from a storage medium
US9092350B1 (en) 2013-03-15 2015-07-28 Sandisk Enterprise Ip Llc Detection and handling of unbalanced errors in interleaved codewords
US9367246B2 (en) 2013-03-15 2016-06-14 Sandisk Technologies Inc. Performance optimization of data transfer for soft information generation
US9244763B1 (en) 2013-03-15 2016-01-26 Sandisk Enterprise Ip Llc System and method for updating a reading threshold voltage based on symbol transition information
US9136877B1 (en) 2013-03-15 2015-09-15 Sandisk Enterprise Ip Llc Syndrome layered decoding for LDPC codes
US9009576B1 (en) 2013-03-15 2015-04-14 Sandisk Enterprise Ip Llc Adaptive LLR based on syndrome weight
US9236886B1 (en) 2013-03-15 2016-01-12 Sandisk Enterprise Ip Llc Universal and reconfigurable QC-LDPC encoder
CN103226532A (zh) * 2013-03-28 2013-07-31 北京圆通慧达管理软件开发有限公司 数据处理系统和方法
CN103150403A (zh) * 2013-03-28 2013-06-12 北京圆通慧达管理软件开发有限公司 数据处理系统和方法
CN103198109A (zh) * 2013-03-28 2013-07-10 北京圆通慧达管理软件开发有限公司 数据处理系统和方法
US10049037B2 (en) 2013-04-05 2018-08-14 Sandisk Enterprise Ip Llc Data management in a storage system
US9170941B2 (en) 2013-04-05 2015-10-27 Sandisk Enterprises IP LLC Data hardening in a storage system
US20140359612A1 (en) * 2013-06-03 2014-12-04 Microsoft Corporation Sharing a Virtual Hard Disk Across Multiple Virtual Machines
US9159437B2 (en) 2013-06-11 2015-10-13 Sandisk Enterprise IP LLC. Device and method for resolving an LM flag issue
US9043517B1 (en) 2013-07-25 2015-05-26 Sandisk Enterprise Ip Llc Multipass programming in buffers implemented in non-volatile data storage systems
US9384126B1 (en) 2013-07-25 2016-07-05 Sandisk Technologies Inc. Methods and systems to avoid false negative results in bloom filters implemented in non-volatile data storage systems
US9524235B1 (en) 2013-07-25 2016-12-20 Sandisk Technologies Llc Local hash value generation in non-volatile data storage systems
US9235509B1 (en) 2013-08-26 2016-01-12 Sandisk Enterprise Ip Llc Write amplification reduction by delaying read access to data written during garbage collection
US9639463B1 (en) 2013-08-26 2017-05-02 Sandisk Technologies Llc Heuristic aware garbage collection scheme in storage systems
US9442670B2 (en) 2013-09-03 2016-09-13 Sandisk Technologies Llc Method and system for rebalancing data stored in flash memory devices
US9519577B2 (en) 2013-09-03 2016-12-13 Sandisk Technologies Llc Method and system for migrating data between flash memory devices
US9983801B1 (en) * 2013-09-21 2018-05-29 Avago Technologies General Ip (Singapore) Pte. Ltd. Priority queueing for low latency storage networks
JP6241178B2 (ja) * 2013-09-27 2017-12-06 富士通株式会社 ストレージ制御装置,ストレージ制御方法及びストレージ制御プログラム
US9158349B2 (en) 2013-10-04 2015-10-13 Sandisk Enterprise Ip Llc System and method for heat dissipation
GB2518884A (en) * 2013-10-04 2015-04-08 Ibm Network attached storage system and corresponding method for request handling in a network attached storage system
US9323637B2 (en) 2013-10-07 2016-04-26 Sandisk Enterprise Ip Llc Power sequencing and data hardening architecture
US9442662B2 (en) 2013-10-18 2016-09-13 Sandisk Technologies Llc Device and method for managing die groups
US9298608B2 (en) 2013-10-18 2016-03-29 Sandisk Enterprise Ip Llc Biasing for wear leveling in storage systems
US9436831B2 (en) 2013-10-30 2016-09-06 Sandisk Technologies Llc Secure erase in a memory device
US9263156B2 (en) 2013-11-07 2016-02-16 Sandisk Enterprise Ip Llc System and method for adjusting trip points within a storage device
US9244785B2 (en) 2013-11-13 2016-01-26 Sandisk Enterprise Ip Llc Simulated power failure and data hardening
US9152555B2 (en) 2013-11-15 2015-10-06 Sandisk Enterprise IP LLC. Data management with modular erase in a data storage system
US9703816B2 (en) 2013-11-19 2017-07-11 Sandisk Technologies Llc Method and system for forward reference logging in a persistent datastore
US9520197B2 (en) 2013-11-22 2016-12-13 Sandisk Technologies Llc Adaptive erase of a storage device
US9122636B2 (en) 2013-11-27 2015-09-01 Sandisk Enterprise Ip Llc Hard power fail architecture
US9280429B2 (en) 2013-11-27 2016-03-08 Sandisk Enterprise Ip Llc Power fail latching based on monitoring multiple power supply voltages in a storage device
US9520162B2 (en) 2013-11-27 2016-12-13 Sandisk Technologies Llc DIMM device controller supervisor
US9582058B2 (en) 2013-11-29 2017-02-28 Sandisk Technologies Llc Power inrush management of storage devices
US9250676B2 (en) 2013-11-29 2016-02-02 Sandisk Enterprise Ip Llc Power failure architecture and verification
US9092370B2 (en) 2013-12-03 2015-07-28 Sandisk Enterprise Ip Llc Power failure tolerant cryptographic erase
US9235245B2 (en) 2013-12-04 2016-01-12 Sandisk Enterprise Ip Llc Startup performance and power isolation
US9129665B2 (en) 2013-12-17 2015-09-08 Sandisk Enterprise Ip Llc Dynamic brownout adjustment in a storage device
US9549457B2 (en) 2014-02-12 2017-01-17 Sandisk Technologies Llc System and method for redirecting airflow across an electronic assembly
US9497889B2 (en) 2014-02-27 2016-11-15 Sandisk Technologies Llc Heat dissipation for substrate assemblies
US9703636B2 (en) 2014-03-01 2017-07-11 Sandisk Technologies Llc Firmware reversion trigger and control
US9348377B2 (en) 2014-03-14 2016-05-24 Sandisk Enterprise Ip Llc Thermal isolation techniques
US9485851B2 (en) 2014-03-14 2016-11-01 Sandisk Technologies Llc Thermal tube assembly structures
US9519319B2 (en) 2014-03-14 2016-12-13 Sandisk Technologies Llc Self-supporting thermal tube structure for electronic assemblies
US9454448B2 (en) 2014-03-19 2016-09-27 Sandisk Technologies Llc Fault testing in storage devices
US9448876B2 (en) 2014-03-19 2016-09-20 Sandisk Technologies Llc Fault detection and prediction in storage devices
US9390814B2 (en) 2014-03-19 2016-07-12 Sandisk Technologies Llc Fault detection and prediction for data storage elements
US9390021B2 (en) 2014-03-31 2016-07-12 Sandisk Technologies Llc Efficient cache utilization in a tiered data structure
US9626400B2 (en) 2014-03-31 2017-04-18 Sandisk Technologies Llc Compaction of information in tiered data structure
US9626399B2 (en) 2014-03-31 2017-04-18 Sandisk Technologies Llc Conditional updates for reducing frequency of data modification operations
US9697267B2 (en) 2014-04-03 2017-07-04 Sandisk Technologies Llc Methods and systems for performing efficient snapshots in tiered data structures
US10146448B2 (en) 2014-05-30 2018-12-04 Sandisk Technologies Llc Using history of I/O sequences to trigger cached read ahead in a non-volatile storage device
US9703491B2 (en) 2014-05-30 2017-07-11 Sandisk Technologies Llc Using history of unaligned writes to cache data and avoid read-modify-writes in a non-volatile storage device
US10372613B2 (en) 2014-05-30 2019-08-06 Sandisk Technologies Llc Using sub-region I/O history to cache repeatedly accessed sub-regions in a non-volatile storage device
US10114557B2 (en) 2014-05-30 2018-10-30 Sandisk Technologies Llc Identification of hot regions to enhance performance and endurance of a non-volatile storage device
US9070481B1 (en) 2014-05-30 2015-06-30 Sandisk Technologies Inc. Internal current measurement for age measurements
US10162748B2 (en) 2014-05-30 2018-12-25 Sandisk Technologies Llc Prioritizing garbage collection and block allocation based on I/O history for logical address regions
US9645749B2 (en) 2014-05-30 2017-05-09 Sandisk Technologies Llc Method and system for recharacterizing the storage density of a memory device or a portion thereof
US8891303B1 (en) 2014-05-30 2014-11-18 Sandisk Technologies Inc. Method and system for dynamic word line based configuration of a three-dimensional memory device
US10656840B2 (en) 2014-05-30 2020-05-19 Sandisk Technologies Llc Real-time I/O pattern recognition to enhance performance and endurance of a storage device
US10656842B2 (en) 2014-05-30 2020-05-19 Sandisk Technologies Llc Using history of I/O sizes and I/O sequences to trigger coalesced writes in a non-volatile storage device
US9093160B1 (en) 2014-05-30 2015-07-28 Sandisk Technologies Inc. Methods and systems for staggered memory operations
US9652381B2 (en) 2014-06-19 2017-05-16 Sandisk Technologies Llc Sub-block garbage collection
US9443601B2 (en) 2014-09-08 2016-09-13 Sandisk Technologies Llc Holdup capacitor energy harvesting
US10353613B2 (en) * 2014-11-12 2019-07-16 Hitachi, Ltd. Computer system and control method therefor for handling path failure
CN104539746B (zh) * 2015-01-30 2018-10-26 浪潮(北京)电子信息产业有限公司 一种访问数据的方法、nas机头和san
CN106997274B (zh) * 2016-01-25 2021-04-30 中兴通讯股份有限公司 一种实现存储空间管理的架构及方法
KR102438319B1 (ko) * 2018-02-07 2022-09-01 한국전자통신연구원 공통 메모리 인터페이스 장치 및 방법
CN110879760B (zh) * 2018-09-05 2022-09-02 北京鲸鲨软件科技有限公司 一种统一存储系统及方法、电子设备
US11586569B2 (en) * 2021-07-23 2023-02-21 EMC IP Holding Company, LLC System and method for polling-based storage command processing

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03138752A (ja) * 1989-10-25 1991-06-13 Canon Inc 情報処理装置
JPH06161974A (ja) * 1992-11-24 1994-06-10 Komatsu Ltd マルチcpuボードの診断方法
US6697846B1 (en) * 1998-03-20 2004-02-24 Dataplow, Inc. Shared file system
JP3614650B2 (ja) * 1998-03-20 2005-01-26 富士通株式会社 マルチプロセッサ制御方式及びこれに用いられるブート装置及びブート制御装置
JP3741345B2 (ja) * 1999-03-24 2006-02-01 株式会社日立製作所 ネットワーク接続ディスク装置
US6769022B1 (en) * 1999-07-09 2004-07-27 Lsi Logic Corporation Methods and apparatus for managing heterogeneous storage devices
ATE247296T1 (de) * 1999-10-25 2003-08-15 Sun Microsystems Inc Speichersystem mit unterstützung von dateistufenzugriffen und blockstufenzugriffen
US20010044879A1 (en) * 2000-02-18 2001-11-22 Moulton Gregory Hagan System and method for distributed management of data storage
US6868417B2 (en) * 2000-12-18 2005-03-15 Spinnaker Networks, Inc. Mechanism for handling file level and block level remote file accesses using the same server
US7165096B2 (en) * 2000-12-22 2007-01-16 Data Plow, Inc. Storage area network file system
US6606690B2 (en) * 2001-02-20 2003-08-12 Hewlett-Packard Development Company, L.P. System and method for accessing a storage area network as network attached storage
US6779063B2 (en) * 2001-04-09 2004-08-17 Hitachi, Ltd. Direct access storage system having plural interfaces which permit receipt of block and file I/O requests
US20020161982A1 (en) * 2001-04-30 2002-10-31 Erik Riedel System and method for implementing a storage area network system protocol
US20030037061A1 (en) * 2001-05-08 2003-02-20 Gautham Sastri Data storage system for a multi-client network and method of managing such system
JP4632574B2 (ja) * 2001-05-25 2011-02-16 株式会社日立製作所 記憶装置およびファイルデータのバックアップ方法およびファイルデータのコピー方法
JP4672931B2 (ja) * 2001-09-07 2011-04-20 株式会社日立製作所 遠隔ファイル共用方法、その装置及びシステム
US6883065B1 (en) * 2001-11-15 2005-04-19 Xiotech Corporation System and method for a redundant communication channel via storage area network back-end
JP2003162439A (ja) 2001-11-22 2003-06-06 Hitachi Ltd ストレージシステム及びその制御方法
JP3702231B2 (ja) * 2002-01-31 2005-10-05 株式会社東芝 ディスクアレイ装置及び同装置における動的記憶容量拡張方法
JP2003233520A (ja) * 2002-02-07 2003-08-22 Fujitsu Ltd ネットワーク上のファイル資源のためのファイル制御装置
US6880052B2 (en) * 2002-03-26 2005-04-12 Hewlett-Packard Development Company, Lp Storage area network, data replication and storage controller, and method for replicating data using virtualized volumes
US6868439B2 (en) * 2002-04-04 2005-03-15 Hewlett-Packard Development Company, L.P. System and method for supervising use of shared storage by multiple caching servers physically connected through a switching router to said shared storage via a robust high speed connection
JP2003316713A (ja) * 2002-04-26 2003-11-07 Hitachi Ltd 記憶装置システム
US6757778B1 (en) * 2002-05-07 2004-06-29 Veritas Operating Corporation Storage management system
US7013364B2 (en) * 2002-05-27 2006-03-14 Hitachi, Ltd. Storage subsystem having plural storage systems and storage selector for selecting one of the storage systems to process an access request
US7493404B2 (en) * 2002-05-30 2009-02-17 Lsi Corporation Apparatus and method for providing transparent sharing of channel resources by multiple host machines utilizing mixed mode block and file protocols
WO2004008322A1 (ja) 2002-07-16 2004-01-22 Fujitsu Limited ネットワークストレージ管理装置、ネットワークストレージ管理プログラムおよびネットワークストレージ管理方法
US7107385B2 (en) * 2002-08-09 2006-09-12 Network Appliance, Inc. Storage virtualization by layering virtual disk objects on a file system
US7873700B2 (en) * 2002-08-09 2011-01-18 Netapp, Inc. Multi-protocol storage appliance that provides integrated support for file and block access protocols
EP1537492A2 (en) * 2002-09-03 2005-06-08 OpenTV, Inc. A framework for maintenance and dissemination of distributed state information
JP2004220216A (ja) * 2003-01-14 2004-08-05 Hitachi Ltd San/nas統合型ストレージ装置
JP4297747B2 (ja) * 2003-08-06 2009-07-15 株式会社日立製作所 ストレージ装置

Also Published As

Publication number Publication date
US7404038B2 (en) 2008-07-22
US20060069868A1 (en) 2006-03-30
US20070124550A1 (en) 2007-05-31
CN1648842A (zh) 2005-08-03
GB0410148D0 (en) 2004-06-09
DE102004025921A1 (de) 2005-08-25
GB2411020B (en) 2005-12-28
FR2865817B1 (fr) 2007-03-09
US7120742B2 (en) 2006-10-10
US20050172043A1 (en) 2005-08-04
US7191287B2 (en) 2007-03-13
US6981094B2 (en) 2005-12-27
US20070011413A1 (en) 2007-01-11
FR2865817A1 (fr) 2005-08-05
GB2411020A (en) 2005-08-17
JP2005215947A (ja) 2005-08-11
JP4477365B2 (ja) 2010-06-09

Similar Documents

Publication Publication Date Title
CN1648842B (zh) 存储系统以及存储系统的数据存取方法
US3623014A (en) Computer communications system
US6578158B1 (en) Method and apparatus for providing a raid controller having transparent failover and failback
US6601138B2 (en) Apparatus system and method for N-way RAID controller having improved performance and fault tolerance
CA1116260A (en) Method and means for path independent device reservation and reconnection in a multi-cpu and shared device access system
US6754738B2 (en) Low overhead I/O interrupt
JP3694273B2 (ja) 多重パスi/o要求機構を有するデータ処理システム
US5201053A (en) Dynamic polling of devices for nonsynchronous channel connection
US20040093452A1 (en) Intelligent interrupt with hypervisor collaboration
US4697232A (en) I/O device reconnection in a multiple-CPU, dynamic path allocation environment
JP2005122640A (ja) サーバシステム及びi/oスロット共有方法。
US20110246720A1 (en) Storage system with multiple controllers
JP2002140233A (ja) 記憶サブシステム及びi/oインタフェースの制御方法ならびに情報処理システム
JPH02103649A (ja) 制御装置および情報処理システム
CN109918230A (zh) 一种业务板卡异常恢复方法及系统
US7562111B2 (en) Multi-processor architecture with high capacity I/O
US5463752A (en) Method and system for enhancing the efficiency of communication between multiple direct access storage devices and a storage system controller
CN1331070C (zh) 数据通信的方法及设备
US20030079067A1 (en) I/O generation responsive to a workload heuristics algorithm
JP4053208B2 (ja) ディスクアレイ制御装置
US20130151885A1 (en) Computer management apparatus, computer management system and computer system
EP2093656B1 (en) Storage system and access instruction sending method
JP6461347B2 (ja) ストレージシステム、及び、記憶制御方法
US9910789B2 (en) Electrical and optical memory access
US6748460B2 (en) Initiative passing in an I/O operation without the overhead of an interrupt

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: 20151029

Address after: American California

Patentee after: Google Inc.

Address before: Tokyo, Japan

Patentee before: Hitachi Ltd.

CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20100428

Termination date: 20150528

EXPY Termination of patent right or utility model