CN1808367A - 存储系统 - Google Patents

存储系统 Download PDF

Info

Publication number
CN1808367A
CN1808367A CNA2005101343071A CN200510134307A CN1808367A CN 1808367 A CN1808367 A CN 1808367A CN A2005101343071 A CNA2005101343071 A CN A2005101343071A CN 200510134307 A CN200510134307 A CN 200510134307A CN 1808367 A CN1808367 A CN 1808367A
Authority
CN
China
Prior art keywords
data
mentioned
write
disk set
size
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CNA2005101343071A
Other languages
English (en)
Other versions
CN100377064C (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.)
Hitachi Ltd
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 CN1808367A publication Critical patent/CN1808367A/zh
Application granted granted Critical
Publication of CN100377064C publication Critical patent/CN100377064C/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/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/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/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
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2211/00Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
    • G06F2211/10Indexing scheme relating to G06F11/10
    • G06F2211/1002Indexing scheme relating to G06F11/1076
    • G06F2211/1059Parity-single bit-RAID5, i.e. RAID 5 implementations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/26Using a specific storage system architecture
    • G06F2212/261Storage comprising a plurality of storage devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/46Caching storage objects of specific type in disk cache
    • G06F2212/462Track or segment

Abstract

在存储系统的控制部处理的数据单位和记录媒体处理的数据单位不同时,探求用于使其控制部也能进行向记录媒体的数据输入输出处理的技术。存储系统,具有从计算机接收写命令的磁盘控制器和根据磁盘控制器的控制写入数据的多个磁盘装置。在磁盘控制器根据写命令实行数据的输入输出处理时作为处理数据单位的第一块的尺寸、和在多个磁盘装置的各个实行数据输入输出处理时作为处理数据单位的第二块的尺寸不同。而且,磁盘控制器用具有第一块的尺寸和第二块的尺寸的公倍数的尺寸的第三块单位,对磁盘装置指示数据的写入。

Description

存储系统
技术领域
本发明涉及存储计算机使用的数据的存储装置系统(以下称为存储系统),特别涉及在具有控制部和由控制部控制的记录媒体的存储系统中,控制部处理的数据块尺寸和记录媒体处理的数据块尺寸不同的存储系统。
背景技术
在与计算机连接的存储系统的一种中,有磁盘阵列系统。磁盘阵列系统也称为RAID(Redundent Array of Inexpensive Disks)系统,是有被配置成阵列状的多个磁盘装置和控制它们的控制部的存储系统。在磁盘阵列系统中,通过多个磁盘装置的并行动作,能高速处理数据的读出请求(以下称为读请求)和数据写入请求(以下称为写请求),也能对数据附加冗余度。磁盘阵列系统,如非专利文献1所公开的那样,根据附加的冗余数据的种类和其构成,被分类成5级。
在磁盘阵列系统中,制作冗余数据,以便在磁盘装置发生故障时也能复原数据,将该冗余数据保存在和数据不同的磁盘装置上。可是,因提高磁盘阵列系统全体的可靠性的目的,还有在各磁盘装置保存的逻辑块上附加保证代码的情况。关于保证代码,例如专利文献1和专利文献2有记载。在专利文献1中,作为保证代码,在存取逻辑块时对计算机指定的该逻辑块的逻辑地址(以下称为LA(Logical Address)和逻辑块的数据实施“异-或”逻辑演算,在逻辑块附加求出的LRC(Longitudinal Redundancy Check),在磁盘装置保存保证代码和逻辑块。为了检测写入逻辑块数据的存储区域的地址的错误,使用LA,作为用于检测逻辑块数据错误的错误检测代码使用LRC。
【专利文献1】美国专利第5819054号公报
【专利文献2】美国专利第5706298号公报
【非专利文献1】デイ一·パタ一ソン(D.Patterson),等2名「ケ一ス·フオ一·リダント·アレイ·オブ·インエクペンシブ·デイスク(A Case forRedundant Arrays of Inexpensive Disks(RAID))」,エ一.シ一.エム.シクモッドコンフレンスプロシ一デイング(ACM SIGMOD Conference Proceeding),1988年6月,p.109~116
作为存储系统使用的记录媒体的一种,有为个人计算机用设计的低成本ATA(AT Attachment)磁盘装置。为了降低开发成本、零件成本,有ATA磁盘装置构造被简略化的情况,在ATA磁盘装置中,作为处理数据的单位的块(扇区)的尺寸是固定长的场合多。
在将ATA磁盘装置那样的块长(扇区长)固定的记录媒体用于存储系统时,存储系统的控制部对记录媒体进行数据的输入输出处理时的数据单位,可存在和记录媒体进行数据的输入输出处理时的数据单位不同的情况。而且,在有这样的场合,有数据不能向记录媒体输入输出处理的问题。即使记录媒体处理的数据单位不固定,但在有不能将控制部对记录媒体进行数据的输入输出处理时的数据单位和记录媒体处理的数据单位做成相同尺寸的情况的场合,也能产生同样的问题。
作为能产生这样的问题的具体一例,例如,可以考虑这样的场合:即磁盘阵列系统的控制部,使用专利文献1等公开的技术等,在从计算机接收的数据上附加保证代码后在记录媒体写入数据的场合。即,在计算机存取磁盘阵列系统内的数据时,即使作为处理数据的单位的逻辑块的尺寸和ATA磁盘装置的扇区长是相同尺寸,磁盘阵列系统的控制部在从计算机接收到的逻辑块上再附加保证代码后在ATA磁盘装置写入数据,所以,有这样的的情况,即在控制部将数据写入到ATA磁盘装置时处理的数据单位和ATA磁盘装置的扇区长不同。在这样的场合,有控制部在扇区长固定的ATA磁盘装置不能写入带保证代码的数据的情况。
因而,在存储系统的控制部对记录媒体进行数据的输入输出时处理的数据单位和记录媒体处理的数据单位不同时,也要求用于控制部能进行向记录媒体的数据输入输出处理的技术。
发明内容
存储系统,具有:从计算机接收读命令和写命令的磁盘控制器、与磁盘控制器连接并根据该磁盘控制器的控制读出或写入数据的多个磁盘装置。在磁盘控制器根据读命令或入命令实行数据的输入输出处理时作为处理数据的单位的第一块的尺寸和在多个磁盘装置每个实行数据输入输出处理时作为处理数据的单位的第二块的尺寸不同。而且,磁盘控制器,用有第一块的尺寸和第二块的尺寸的公倍数尺寸的第三块单位,对磁盘装置指示数据的写入。
在存储系统的控制部对记录媒体进行数据的输入输出时处理的数据单位和记录媒体处理的数据单位不同时,也能进行对记录媒体的数据的输入输出处理。
附图的简单说明
图1是表示磁盘阵列系统构成的一例的图;
图2是表示扩展逻辑块和物理块的对应关系一例的图;
图3是表示大尺寸块另外一例的图;
图4是表示大尺寸块其他一例的图;
图5是表示数据的写入处理一例的图;
图6是表示在磁盘装置写入数据时的处理详细例的图;
图7是表示大尺寸写入处理一例的图;
图8是表示小尺寸写入处理一例的图;
图9是表示读出处理一例的图;
图10是表示针对RAID5构成LU的写入处理一例的图;
图11是表示用大尺寸块单位写入冗余数据时的的冗余数据生成处理和写入处理一例的图;
图12是表示用大尺寸块单位写入冗余数据时的的冗余数据生成处理和写入处理另外一例的图。
符号说明
100:主机
110:磁盘阵列系统
200:磁盘阵列控制器
300:磁盘群
400:管理终端
500:扩张逻辑块
510:物理块
520:逻辑块
530:扩张逻辑块
具体实施方式
以下,表示本发明的实施形态的一例。本发明不受以下表示的实施方式的限定。
实施例1
实施例1,表示存储系统的控制部对记录媒体进行数据的输入输出时处理的数据单位与记录媒体处理的数据单位不同时的、从控制部向记录媒体的数据输入输出处理的一例。在实施例1中,作为存储系统的一例使用磁盘阵列系统说明本发明的一实施形态,但实施例1的存储系统不仅能适用如非专利文献1记载的如磁盘阵列系统那样有冗余数据的存储系统,而且也能适用没有冗余数据的存储系统。
(1)系统构成的说明
图1是表示本实施形态的磁盘阵列系统构成一例的图。磁盘阵列系统110与主计算机(以下称为主机)100连接,是存储有主机100使用的数据的存储系统。磁盘阵列系统110具有磁盘阵列控制器200和与其连接的磁盘群300,磁盘阵列控制器200中连接着将管理信息输入给磁盘阵列系统110或输出磁盘阵列系统110状态的管理终端400。
磁盘阵列控制器200,具有:实行磁盘阵列系统110控制处理的CPU201、存储器202、缓冲存储由主机100存取的数据的超高速缓冲存储器203、控制超高速缓冲存储器203的超高速缓冲存储器控制器204、在和主机100之间进行数据发送接收的主机接口控制部(以下称主机FC I/F)205、在和构成磁盘群300的磁盘装置之间进行数据发送接收的磁盘接口控制部(以下称磁盘I/F)206、在和管理终端400之间进行控制信息发送接收的管理接口控制部(以下称管理I/F)207,各自通过通信线连接。
另外,超高速缓冲存储器控制器204,具有:对数据附加保证代码或从数据消除保证代码的保证代码附加/消除电路240、用保证代码进行数据检查的保证代码检查电路260、和进行冗余数据生成处理的冗余数据生成电路250。在本实施形态,作为主接口控制部205的一例,表示根据FC(Fibre Channel)通信规定的FC接口控制部,但主接口控制部205也可以是根据iSCSI接口等其他通信规定的接口控制部。
存储器202,记录着为了控制磁盘阵列系统110而由CPU201实行的RAID控制程序210和为了进行和管理终端400通信而由CPU201实行的管理终端通信程序220。
磁盘群300,有磁盘装置301、302、303、304。由磁盘装置301~304内的存储区域,构成成为主机100的存取对象的逻辑存储区域(逻辑容量)的LU(Lobical Unit)310。磁盘I/F206,和磁盘装置301~304连接。另外,如图1所示的与磁盘I/F206连接的磁盘装置301~304的台数、磁盘I/F206和磁盘装置301~304的连接形态是一例,不限于图1的构成。
管理终端400,具有:在磁盘阵列系统110的用户或维修人员进行对磁盘阵列控制器200的设定时,被用于向磁盘阵列控制器200输入信息的输入部401;和输出从磁盘阵列控制器200取得的磁盘阵列系统110信息的输出部402。输入部是键盘和鼠标器等,输出部是显示器等。
(2)块尺寸的对应关系
图2是表示磁盘阵列控制器200处理的数据单位和磁盘装置301~304处理的数据单位间的对应关系一例的图。
图2的上层表示磁盘阵列控制器200对磁盘装置输入输出数据时处理的数据单位,将该数据单位定义为「扩展逻辑块500」。扩展逻辑块500是有520字节长的尺寸的块。扩展逻辑块500,由作为主机100对磁盘阵列系统110输入输出数据时的单位的、由520字节长的数据构成的逻辑块、和由对该逻辑块用保证代码附加/消除电路240附加的LA和LRC构成的8字节长的保证代码构成。
下层是表示磁盘装置301~304在数据输入输出时处理的数据单位,定义为「物理块510」。物理块510是有512字节长尺寸的块。
另外,若扩展逻辑块500的尺寸和物理块510的尺寸不同,则各块的实际尺寸不限于图2所示的例子。另外,若扩展逻辑块500的尺寸和物理块510的尺寸不同,即使扩展逻辑块500没有保证代码(即,在扩展逻辑块由从主机100输入输出的数据构成的场合)本发明也可适用。
在图2所示的例子中,扩展逻辑块500和物理块510比较,尺寸大8字节,但在排列多个两块的场合,若排列64个扩展逻辑块、65个物理块,两块的尺寸的差的合计正好是和物理块的尺寸相等的512字节,所以64个扩展逻辑块500和64个物理块510的各自的合计尺寸一致。这样,将两块的合计尺寸一致的状态,即将排列了扩展逻辑块500的尺寸和物理块510尺寸的公倍数、多个扩展逻辑块500或多个物理块510的状态定义为「边界一致」。另外,将扩展逻辑块500尺寸和物理块510尺寸的公倍数的尺寸的数据单位,以后称为「大尺寸块」。
在成为向磁盘装置301~304的写入对象的多个扩展逻辑块500处于边界一致状态时,这些扩展逻辑块500能作为多个物理块510写入到磁盘装置301~304。即在图2的例子中,若成为向磁盘装置301~304的写入对象的多个扩展逻辑块500集中64×N(N是1以上的整数)个,则这些扩展逻辑块500能作为65×N个物理块510写入到磁盘装置301~304。因而,能吸收扩展逻辑块500和物理块510之间的数据块的尺寸的差异。因此,在本实施例中,在从磁盘阵列控制器200向磁盘装置301~304写入数据时,假定用大尺寸块写入数据。
(3)块尺寸对应关系的另外一例
图2表示排列扩展逻辑块500构成大尺寸块的例子,但大尺寸块的构成不限于图2所示的例子。因此,图3和图4表示大尺寸块的其他例子。
图3是表示大尺寸块第2例子的图。在图3所示的例子中,作为主机100存取磁盘阵列系统110时使用的数据单位的、有512字节长的尺寸的逻辑块520、和该逻辑块520所附加的8字节长的保证代码,被配置在离开大尺寸逻辑块的位置。即,在大尺寸逻辑块内首先配置64个512字节长的逻辑块520,然后配置集中了64个针对64个逻辑块520的64个保证代码的保证代码块(由于赋予每1逻辑块520的保证代码的尺寸是8字节,所以保证代码块有8字节×64个=512字节长的尺寸)。另外,以和构成大尺寸块的逻辑块520相同的配置顺序,将与各逻辑块520对应的保证代码配置在保证代码块内。但,若用超高速缓冲存储器控制器204管理逻辑块520和与其对应的保证代码的对应关系,则在保证代码块内的保证代码配置不限于此。
在图3的例中,将64个逻辑块520和其后配置的保证代码块合起来,能作为65个物理块510处理,在该状态能符合边界一致的条件。
图4是表示大尺寸块第3例子的图。在图4所示的例子,和图2所示的例子同样,排列64个520字节长的扩展逻辑块500来构成大尺寸块。可是,扩展逻辑块500构成与图2的例和图4的例是不同的。即,在图2所示的扩展逻辑块500中,在512字节长的扩展逻辑块的后面附加了8字节长的保证代码,但在图4所示的扩展逻辑块530则不限于在辑块的后面附加保证代码。
在图4所示的扩展逻辑块530中,调整扩展逻辑块530内的保证代码位置,以便在物理块510逐个存储保证代码。其结果,由于保证代码全部存在64个,在构成大尺寸块的65个物理块510内、第65个物理块510中不存储保证代码,但在其他物理块510逐个存储保证代码。因而,在图4所示的例中,关于大尺寸块中第64个扩展逻辑块530,在逻辑块之前附加针对该逻辑块的保证代码,而对于其他扩展逻辑块530,将逻辑块的数据512字节分割成2个数据,在被分割的2个数据之间插入针对该逻辑块的保证代码。
另外,图4表示了对于构成大大小块的物理块510中从第1个到第64个物理块,调整扩展逻辑块530内的保证代码位置,以便在物理块510的末尾存储保证代码的例子,但决定扩展逻辑块530内的保证代码位置的方法,不限于图4所示的方法。
以后,在实施例1和实施例2中,根据图2所示的大尺寸块构成、即图2所示的扩展逻辑块500和物理块510的对应关系,说明本发明的实施例。可是,若是在边界一致的状态形成的组合,则大尺寸块构成以可以是从图2到图4所示的例子以外的构成。例如,扩展逻辑块500、扩展逻辑块530、逻辑块520、保证代码块、物理块510的尺寸可以是任意的尺寸。另外以后边界一致的状态,磁盘阵列控制器200在磁盘装置写入数据时的数据单位和物理块510的尺寸的差的合计,也可以是物理块510的N(N是1以上的整数)倍的状态。另外,扩展逻辑块500、扩展逻辑块530、逻辑块520、保证代码块等,也可以是尺寸比物理块510小的情况。
综上所述,边界若是一致的状态,则扩展逻辑块500、扩展逻辑块530、逻辑块520或保证代码块等和物理块510的尺寸的组合是任意的,成为边界一致的扩展逻辑块500、扩展逻辑块530、逻辑块520、或保证代码块等的个数和物理块510的个数组合也是任意的。
(4)写处理
接着,说明从本实施例的磁盘阵列控制器200向各磁盘装置的数据写入处理。
图5是表示本实施例的磁盘阵列控制器200写入处理时动作一例的流程图。
当主机100向磁盘阵列系统110发行写命令时,磁盘阵列控制器200用主机FC I/F205接收该写命令(步骤1001)。另外,主机100将512字节长的逻辑块作为1单位,发行逻辑块N倍(N是以上的整数)数据的写命令,在写命令中包含用写命令写入的数据最前面的LA和写数据的尺寸(表示是多少逻辑块的数据的逻辑块数)。
CPU201,实行RAID控制程序210,根据写命令包含的LA,决定写数据的写入目的地的磁盘装置(步骤1002),再者,在超高速缓冲存储器203内确保根据写命令接收的写数据的缓存目的地和对于该写数据生成的冗余数据存储目的地(步骤1003)。另外,这时CPU201还在超高速缓冲存储器203内确保附加在写数据的保证代码的存储目的地。
接着,CPU201,通过主FC I/F205,将已完成数据接收准备通知主机100(步骤1004)。主机100,将用写命令指定的逻辑块数的写数据发送给主机FC I/F205。用主机FC I/F205接收的写入数据被送到超高速缓冲存储器控制器204,在保证代码附加/消除电路240,在每512字节长的逻辑块生成保证代码(即,该逻辑块的最前面LA和LRC),逻辑块和保证代码被存储在步骤1003确保的超高速缓冲存储器203内的存储区域(步骤1005)。LA和LRC的生成方法已在专利文献1详述。
进而,主FC I/F205通知CPU201接收到写入数据。CPU201接收从主FC I/F205来的通知后,当检测已接收写入数据时(步骤1006),控制冗余数据生成电路250,用RAID控制程序210生成与接收到的写入数据对应的冗余数据,冗余数据生成电路250生成冗余数据(步骤1007)。生成的冗余数据存储在由步骤1003确保的超高速缓冲存储器203内的区域。
接着,CPU201指示磁盘I/F206,磁盘I/F206根据从CPU201来的指示,将存储在超高速缓冲存储器203的写入数据和保证代码、或冗余数据写入在磁盘装置301到304的任一个中(步骤1008)。
接着,用图6,详细说明在图5的步骤1008中,在磁盘装置写入数据时处理的例子。
磁盘阵列控制器200,在各磁盘装置写入数据时,以大尺寸块为单位实行写入处理。因此,首先CPU201,判定存储在超高速缓冲存储器203的、要向磁盘装置写入的数据,在和物理块的对应关系中是否存在成为边界一致的状态的部分(步骤2001)。即,判定在图5的步骤1005写入到超高速缓冲存储器203的逻辑块和保证代码,是否仅存在构成大尺寸块的部分。该判断根据在图5的步骤1001 CPU201从主机100接收的写命令进行。即,由于写入命令中包含表示从主机写入的写入数据的尺寸相当于几个逻辑块520的逻辑块数,若该逻辑块数是64以上,则可知在超高速缓冲存储器203中扩展逻辑块500存在是边界一致的状态的部分。若写命令包含的逻辑块数是63以下,则可知超高速缓冲存储器203中不存在扩展逻辑块500是边界一致的状态的部分。
另外,在本实施例中,从主机100接收到的逻辑块的数据,在图5的步骤1007用磁盘阵列控制器200生成的冗余数据,都用同样的方法写入到磁盘装置。因而,用图6所示的处理写入到磁盘装置的也可以是冗余数据,在这样的场合,在步骤2001,判定冗余数据是否写入到构成大尺寸块部分超高速缓冲存储器。
在超高速缓冲存储器203存储并要向磁盘装置写入数据,成为边界一致的状态时,磁盘阵列控制器200,通过磁盘I/F206,将大尺寸块的数据向其中1个磁盘写入(步骤2002)。
另一方面,在超高速缓冲存储器203存储并要向磁盘装置写入的数据,在未成为边界一致的状态时,即构成大尺寸块的数据一部分不聚齐在超高速缓冲存储器203内时,磁盘阵列控制器200从磁盘装置读出构成大尺寸块的数据中不足的部分(即没有存储在超高速缓冲存储器203的部分)的数据,用存储在超高速缓冲存储器203的数据和新读出的数据,构成大尺寸块(步骤2002),通过磁盘I/F206将大尺寸块的数据写入到其中1个磁盘(步骤2003)。
以上是向图5的步骤1008的磁盘装置写入处理的一例。
接着,在图6的步骤2001,判断写入到超高速缓冲存储器203的逻辑块和保证代码为存在构成大尺寸块的尺寸部分的场合的、关于向图6的步骤2003的磁盘装置写入处理,称为大尺寸写入,并用图7进行说明。
磁盘装置301~304各自将图7的下层所示的物理块510作为一单位处理数据。另外,CPU201,将写入到磁盘装置301~304中一个的数据作为图7的上层所示的扩展逻辑块500来管理。因此,CPU201指示磁盘I/F206,将集中了64个存储在超高速缓冲存储器203的扩展逻辑块500的数据的集合,作为集中了65个物理块510的数据的集合,写入到磁盘装置。接收到指示的磁盘I/F206,用磁盘装置301~304处理的1个写入命令,将65个物理块510的数据(这相当于64个扩展逻辑块500的数据)写入到磁盘装置301~304中的1个。即,CPU201,将与磁盘装置301~304的物理块510边界一致的单位为最小单位,在磁盘装置301~304写入扩展逻辑块500。
另一方面在图6的步骤2001,判断写入到超高速缓冲存储器203的逻辑块和保证代码为不存在构成大尺寸块的尺寸部分的场合的、关于向图6的步骤2003的磁盘装置写入处理,称为小尺寸写入,并用图8进行说明。小尺寸写入是一并记录相当于图6的步骤2002、步骤2003的处理和从主机100来的写入的图。
接收从主机100来的写入数据的磁盘阵列控制器200(Step1),在超高速缓冲存储器203存储该写入数据和关于该写入数据生成的保证代码(图5的步骤1005)的同时,生成与该写入数据对应的冗余数据,也将其存储在超高速缓冲存储器203(图5的步骤1007)。
在图6的步骤2001,CPU201判断为要写入到磁盘装置的数据在大尺寸块的尺寸部分超高速缓冲存储器203不存在时,CPU201指示磁盘I/F206,从成为数据写入目的地的磁盘装置读出不足尺寸部分的数据(即,逻辑块的数据和保证代码(Step2)。而后,CPU201合并存储在超高速缓冲存储器203内的数据和在Step2从磁盘装置读出的不足尺寸部分的数据,准备大尺寸块的数据集合(Step3)。而后,CPU201指示磁盘I/F206,以大尺寸块单位在磁盘装置写入在Step3准备的大尺寸块的数据组。
(5)读出处理
接着,用图9说明本实施例的读出处理。
从主机100接收读出命令的磁盘阵列控制器200的CPU201(步骤3001),检查用读出命令指定的读出对象数据的最前面LA和表示读出对象数据尺寸的逻辑块数。而后,CPU201从该最前面LA和逻辑块数确定应从磁盘装置读出的逻辑块520和附加给该逻辑块的保证代码。进而,CPU201确定存储有确定的逻辑块和保证代码的物理块510,决定从哪个磁盘装置读出数据(步骤3002)。CPU201由于掌握扩展逻辑块500和物理块510的对应关系,所以能根据该对应关系决定应读出数据的物理块510。
例如,在大尺寸块有图2和图4所示的构成的场合,若由读出命令指定的逻辑块数是1,则与包含指定的逻辑块的扩展逻辑块对应的物理块510的2个部分(这2个物理块在图2和图4的例子是连续的物理块)成为数据的读出源物理块510。另外,在大尺寸块有图3所示的构成的场合,与用读出命令指定的读出对象逻辑块520对应的物理块510和与保证代码对应的物理块510成为数据的读出源物理块510。
为了减少从磁盘阵列控制器200向磁盘装置的命令发行次数,关于用读出命令指定的读出对象逻辑块和与给其附加的保证代码对应的物理块以外的物理块,也可以事先用1命令一起读出数据,仅使用读出数据内的必要信息。例如,在应读出的数据存储在分散的逻辑块520的场合,也可以用1命令从包含该分散的逻辑块520的连续的多个物理块读出数据。在这样场合,在步骤3002,CPU201读出许多物理块并作为读出源的物理块510来进行确定。
接着,CPU201在超高速缓冲存储器203确保存储读出的逻辑块数据和保证代码的存储区域(步骤3003)。
CPU201给磁盘I/F206发指示,接收到该指示的磁盘I/F206,对于从CPU201指定的磁盘装置,发行读出命令,以读出由CPU201指定的物理块数据。而后,磁盘I/F206将从磁盘装置读出的数据保存在用步骤3003确保的超高速缓冲存储器203内的存储区域(步骤3004)。
当从磁盘装置将数据读出到超高速缓冲存储器203时,保证代码检查电路260,用专利文献1记载的方法检查保证代码。而后,当确认读出的数据没有错误时,将存储在超高速缓冲存储器203的数据中、除去保证代码的逻辑块数据发送给主机100(步骤3005)。
(6)效果
若使用本实施方式,用磁盘装置处理的数据块(即物理块510)的边界和磁盘阵列控制器200处理的数据块(即扩展逻辑块520)的边界一致的单位(即大尺寸块),磁盘阵列控制器200向磁盘装置写入数据。其结果,即使磁盘阵列控制器200处理数据时的数据单位和磁盘装置处理数据时的数据单位不同,也能将数据从磁盘阵列控制器200写入到磁盘装置。
另外,对于数据块的尺寸固定的磁盘装置,能附加数据的保证代码后读入数据,能提高磁盘阵列系统110的可靠性。
实施例2
在第2实施例中,要说明对磁盘阵列系统110以大尺寸块单位写入冗余数据的方法。另外,磁盘阵列系统110的构成可以是和图1所示的例子相同。但在实施例2中,假定是LU310是RAID5构成的LU。当然,若LU310是有冗余数据的LU,则也可以是RAID3和RAID6等RAID5以外的构成。
(1)对RAID5构成的LU的写入处理
图10表示根据从主机100来的写入命令,对RAID5构成的LU310写入数据时处理的一例。在图10的例,用数据A、数据B和数据C计算“异-或”逻辑的结果为冗余数据D。这里,若是根据从主机100来的写入命令全部更新数据A、数据B和数据C,则磁盘阵列控制器200能用写入数据(即用新数据A、新数据B和新数据C)生成新的新冗余数据D。可是,在仅由从主机100接收的写入数据不能生成新冗余数据时,例如,如图10所示,在仅将新数据A发送给磁盘阵列控制器200并用新数据A仅更新数据A时,如非专利文献1公开的那样,会发生针对磁盘装置读出/修改/写入处理。
即在这样的场合,当磁盘阵列控制器200从主机100接收新数据A时(Step1),磁盘阵列控制器200为生成新冗余数据D读出数据A(旧数据)(Step2),而且,为了生成新冗余数据D也读出数据D(旧冗余数据)(Step3)。而后,磁盘阵列控制器200用新数据A、数据A、冗余数据D计算“异-或”逻辑,生成新冗余数据D(Step4)。然后,磁盘阵列控制器200将新数据A写入到磁盘装置(Step5)的同时,也将新冗余数据D写入到磁盘装置(Step6)。
另外,对于新数据,也可以生成在实施例1叙述的保证代码,将带保证代码的新数据A写入到磁盘装置。这点,在以下所示的图11和图12的处理也是同样的。
(2)以大尺寸块单位读出/修改/写入处理的一例
也如第1实施形态说明的那样,以大尺寸块单位从磁盘阵列控制器200向磁盘装置进行数据的写入。这不仅是从主机100接收到的写入数据的写入,而且对于有RAID5构成的LU的冗余数据也同样。于是,用图11表示用于以大尺寸块单位写入冗余数据的、冗余数据的生成处理和写入处理的一例。
当磁盘阵列控制器200从主机100接收到写入命令时,根据写入命令包含的逻辑块数,可识别从主机100接收的新数据(写入数据)的尺寸。因此,在磁盘阵列控制器200从主机100接收到新数据时,在判断为仅用新数据不能生成新冗余数据的场合,为了从旧数据、旧冗余数据、新数据生成新冗余数据,实行读出/修改/写入处理。
具体地说,磁盘阵列控制器200为了生成新冗余数据,将包含旧数据及其保证代码的物理块(Step1)、包含旧冗余数据的物理块(Step2),读出到超高速缓冲存储器203。该旧数据和保证代码、及冗余数据的读出处理,各自是如图9所示的处理。接着,磁盘阵列控制器200,由读出的旧数据和旧冗余数据、及从主机100接收到的新数据,生成新冗余数据。
接着,由磁盘阵列控制器200分别将新数据和新冗余数据写入磁盘装置。这里,在新数据及其保证代码、和新冗余数据的尺寸小于大尺寸块的尺寸时,就对新数据和新冗余数据的各自实行用图8说明的小尺寸写入。
首先,为了在磁盘装置写入新数据,磁盘阵列控制器200从新数据写入目的地的磁盘装置读出不足部分的数据(Step3)。而后,磁盘阵列控制器200在已读出的数据上合并新数据及其保证代码,构成大尺寸块,在磁盘装置写入该大尺寸块(Step4)。
接着,新冗余数据也同样地被写入到磁盘装置。即,磁盘阵列控制器200从新冗余数据写入目的地的磁盘装置,读出不足部分的数据(Step5)。而后,磁盘阵列控制器200在已读出的数据上合并新冗余数据,构成大尺寸块,在磁盘装置写入该大尺寸块(Step6)。
根据以上的处理,磁盘阵列控制器200,对构成RAID的多个磁盘装置,能以大尺寸块单位写入写入数据和冗余数据。
(3)以大尺寸块单位的读出/修改/写入处理的其他一例
在在图11表示的写入处理中,为了在磁盘装置写入新数据和新冗余数据,从磁盘阵列控制器200向磁盘装置的存取合计发生6次。因此,用图12说明能进一步减少向磁盘装置的存取次数的写入处理例子。
在图12的例子中,在读出/修改/写入处理中读出旧数据和旧冗余数据时,以大尺寸块单位读出旧数据和旧冗余数据。
即,在读出/修改/写入处理时,磁盘阵列控制器200首先从磁盘装置将包含旧数据的大尺寸块的数据(Step1)读出到超高速缓冲存储器203,接着从磁盘装置将包含旧冗余数据的大尺寸块的数据读出到超高速缓冲存储器203(Step2)。接着磁盘阵列控制器200从已读出的旧数据和旧冗余数据、及从主机100接收到的新数据进行“异-或”逻辑计算,生成新冗余数据。
接着,磁盘阵列控制器200,用这些数据更新在Step1读出的大尺寸块数据中、与新数据及其保证代码相当的部分,在磁盘装置写入更新后的大尺寸块数据(Step3)。
关于新冗余数据也同样地,磁盘阵列控制器200,用该新冗余数据更新在Step2读出的大尺寸块数据中、与新冗余数据及其保证代码相当的部分,在磁盘装置写入更新后的大尺寸块数据(Step4)。
在图12所示的读出/修改/写入处理的例子中,与图11所示的例子比较,由于以大尺寸块单位写入新数据和新冗余数据,事前没有必要读出不足部分的数据。即,这样的读出处理,在冗余数据生成所必要的旧数据和旧冗余数据的读出处理时一起实行(Step1和Step2)。因而,图12所示的例子与图11所示的例子比较,能将读出/修改/写入处理需要的从磁盘阵列控制器200向磁盘装置的存取次数减低到4次。
其结果,由于能削减处理从主机100接收到的1个写命令所需要的向磁盘装置的存取次数,所以,与磁盘装置具有的存取性能比较,每单位时间能处理的写入命令的数量将增加。因此,能提高磁盘阵列系统110的性能。
(1)效果
若使用本实施方式,能以大尺寸块单位将新数据和新冗余数据写入到磁盘装置。另外还能减低为此所必要的向磁盘装置的存取次数,能削减为处理1个写入命令所需要的向磁盘装置的存取次数。其结果能提高磁盘阵列系统110的写入性能。
本实施形态中,是假定为以大尺寸块单位将新数据和新冗余数据写入到磁盘装置,但实际上在应写入的数据(新数据和保证代码的组或新冗余数据)的尺寸是大尺寸块的尺寸以下时,也可以以物理块的倍数单位将数据写入到磁盘装置。
这时,磁盘阵列控制器200从磁盘装置读出存储着被重写的予定数据和保证代码(或冗余数据)的物理块数据,用新数据和保证代码(或新冗余数据)更新已读出的物理块数据的一部分,以物理块的倍数单位在磁盘装置写入更新后的数据。
而且,在读出/修改/写入处理必要的场合,在用于生成新冗余数据的旧数据读出或旧冗余数据读出时,通过进行「从磁盘读出存储着被重写的予定数据和保证代码(或冗余数据)的物理块数据」这样处理,和第2实施例同样,能削减向磁盘装置的存取次数。
另外,在实施例2中,作为采用冗余构成的磁盘阵列系统110具有的RAID构成的例子,列举了RAID5,但也可以是RAID3、或附加2类冗余代码的RAID6等其他的构成。这点实施例1也同样。
另外,在实施例1和实施例2中,用超高速缓冲存储器控制器204实施对数据的保证代码的附加/消除/检查和冗余数据生成,但也可以在其他部位实施,例如,CPU也可以用位于存储器202上的程序实施这些处理。
再者,在实施例1和实施例2中,作为磁盘装置301~304的一例,列举了数据块的尺寸被固定的ATA磁盘装置,但也可以是其他种类的磁盘装置。另外,即使磁盘装置处理的数据块尺寸可变,若磁盘装置和磁盘阵列控制器200处理的数据块的尺寸不能相同时,实施例1和实施例也有效。

Claims (15)

1.一种存储系统,其特征在于,
具有:
从计算机接收读命令和写命令的磁盘控制器;和
与上述磁盘控制器连接并根据该磁盘控制器的控制读出或写入数据的多个磁盘装置;
在上述磁盘控制器根据上述读命令或上述写命令实行数据的输入输出处理时作为处理数据的单位的第一块的尺寸,和在上述多个磁盘装置每个实行数据输入输出处理时作为处理数据的单位的第二块的尺寸不同,
上述磁盘控制器,用有上述第一块的尺寸和上述第二块的尺寸的公倍数尺寸的第三块单位,对磁盘装置指示数据的写入。
2.如权利要求1所述的存储系统,其特征在于,
上述磁盘控制器,具有超高速缓冲存储器,
在根据从上述计算机来的写命令上述磁盘控制器接收的写数据中,对每一定尺寸附加数据的保证代码,在上述超高速缓冲存储器存储该一定尺寸的写数据和赋予它的保证代码,
在上述第一块中,包含上述一定尺寸的写数据和保证代码,
上述第一块的尺寸的N倍是上述第三块的尺寸,
上述磁盘控制器,指示该磁盘装置,将上述超高速缓冲存储器存储的N个第一块的数据,集中起来用1个命令写入到磁盘装置。
3.如权利要求2所述的存储系统,其特征在于,
上述存储系统,具有将从上述计算机接收到的写入数据传送到上述超高速缓冲存储器的超高速缓冲存储器控制器,
上述超高速缓冲存储器控制器,对每上述一定尺寸给写数据附加保证代码。
4.如权利要求2所述的存储系统,其特征在于,
上述磁盘控制器,有控制数据输入输出处理的处理器,
该处理器对每上述一定尺寸给写数据附加保证代码。
5.如权利要求2所述的存储系统,其特征在于,
上述保证代码,包含有用于检测上述一定尺寸的数据的误差的误差检测代码。
6.如权利请求2所述的存储系统,其特征在于,
在上述保证代码中,包含用于检测写入上述一定尺寸的数据的存储区域的地址的错误的地址信息。
7.如权利要求1所述的存储系统,其特征在于,
上述第一块的尺寸的N倍是上述第三块的尺寸,
上述磁盘控制器,有超高速缓冲存储器,
根据从上述计算机来的写命令上述磁盘控制器接收的写数据,被存储在上述超高速缓冲存储器,
上述磁盘控制器,在上述超高速缓冲存储器内存在应写入到磁盘装置的N个或N个以上的上述第一块的数据时,指示该磁盘装置,对其中N个第一块的数据,集中起来用1个命令将数据写入到该磁盘装置。
8.如权利要求1所述的存储系统,其特征在于,
上述第一块的尺寸的N倍是上述第三块的尺寸,
上述磁盘控制器有超高速缓冲存储器,
根据从上述计算机来的写命令上述磁盘控制器接收的写数据,被存储在上述超高速缓冲存储器,
上述磁盘控制器,在上述超高速缓冲存储器内存在比应写入到磁盘装置的N个少的M个第一块的数据时,指示该磁盘装置,从磁盘装置读出不足的N-M个第一块的数据,将在上述超高速缓冲存储器内存储的M个第一块的数据和已读出的N-M个第一块的数据,集中起来用1个命令写入到该磁盘装置。
9.如权利要求1所述的存储系统,其特征在于,
上述第一块尺寸的N倍是上述第三块的尺寸,
上述磁盘控制器有超高速缓冲存储器,
根据从上述计算机来的写命令上述磁盘控制器接收的写数据,被存储在上述超高速缓冲存储器,
上述磁盘控制器,根据上述写命令包含的块数的值,判断上述超高速缓冲存储器内是否存在应写入到磁盘装置的N个或N个以上的上述第一块的数据,
在上述超高速缓冲存储器内存在N个或N个以上的上述第一块的数据时,指示该磁盘装置,对其中N个第一块的数据,集中起来用1个命令将数据写入到上述磁盘装置,
在存在比上述超高速缓冲存储器内的N个少的M个第一块的数据时,指示该磁盘装置,从磁盘装置读出不足的N-M个第一块的数据后,将在上述超高速缓冲存储器内存储的M个第一块的数据和已读出的N-M个第一块的数据,集中起来用1个命令写入到上述磁盘装置。
10.如权利要求9所述的存储系统,其特征在于,
在上述磁盘控制器从上述计算机接收到读命令时,指示从磁盘装置读出与包含读数据的第一块对应的多个第二块的数据。
11.如权利要求10所述的存储系统,其特征在于,
上述第一块中,包含有上述磁盘控制器从计算机接收到的数据和在该数据上每一定尺寸附加的保证代码,
上述磁盘控制器,在从上述计算机接收到读命令时,指示从磁盘装置读出包含读对象的数据的第二块的数据和包含给该读对象的数据附加的保证代码的第二块的数据。
12.一种磁盘阵列系统,其特征在于,
具有:
从计算机接收写命令的磁盘控制器;和
根据从该磁盘控制器来的指示实行数据的输入输出处理的m+n台磁盘装置;
m个数据块和从该m个数据块生成的n个冗余数据块各自存储在上述m+n台磁盘装置的其中之1,
在上述磁盘控制器根据上述写命令实行向上述m+n台磁盘装置的数据写入处理时用的第一块的尺寸和上述m+n台磁盘装置的每个实行数据写入处理时用的第二块的尺寸不同,
上述第一块的尺寸的N倍是上述第一块的尺寸和上述第二块的尺寸的公倍数,
上述磁盘控制器,在根据上述写命令从上述计算机接收到的写数据不满N个第一块的尺寸时,从写入该写数据的磁盘装置读出不足部分的数据,集中将合并接收的上述写数据和从该磁盘装置读出的数据后的N个第一块的数据,写入到该磁盘装置,
上述磁盘控制器,为了用上述写数据生成冗余数据,从磁盘装置读出包含由上述写数据更新的旧数据的第二块的数据,从磁盘装置读出包含由生成的冗余数据更新的旧冗余数据的第二块的数据,用上述写数据、读出的旧数据和旧冗余数据生成冗余数据,
进而上述磁盘控制器,从存储生成的冗余数据的磁盘装置读出N个不满第一块的尺寸的冗余数据后,将合并生成的冗余数据和从该磁盘装置读出的冗余数据后的N个第一块的冗余数据,集中起来写入到该磁盘装置。
13.如权利要求12所述的磁盘阵列系统,其特征在于,
上述第一块的尺寸的N倍等于上述第二块的尺寸的M倍,
写入上述N个第一块的数据的磁盘装置,将该N个第一块的数据作为M个第二块的数据,写入到该磁盘装置内的存储区域,
写入上述N个第一块的冗余数据的磁盘装置,将该N个第一块的冗余数据,作为M个第二块的数据,写入到该磁盘装置内的存储区域。
14.一种磁盘阵列系统,其特征在于,
具有:
从计算机接收写命令的磁盘控制器;和
根据从该磁盘控制器来的指示实行数据的输入输出处理的m+n台磁盘装置;
m个数据块和从该m个数据块生成的n个冗余数据块各自存储在上述m+n台磁盘装置的其中之1,
在上述磁盘控制器根据上述写命令实行向上述m+n台磁盘装置的数据写入处理时用的第一块的尺寸和上述m+n台磁盘装置的每个实行数据写入处理时用的第二块的尺寸不同,
上述第一块的尺寸的N倍等于上述第二块的尺寸的M倍,
上述磁盘控制器,在根据上述写命令从上述计算机接收到的写数据不满N个第一块的尺寸时,从写入该写数据的磁盘装置读出包含用该写数据更新的旧数据的N个第一块的数据后,用该写数据更新旧数据,将更新后包含该写数据的N个第一块的数据写入到该磁盘装置,
上述磁盘控制器为了用上述写入数据生成冗余数据,从存储生成的冗余数据的磁盘装置,读出包含用生成的冗余数据更新的旧冗余数据的N个第一块的冗余数据,用上述写数据、读出的冗余数据包含的上述旧冗余数据和上述旧数据,生成冗余数据,用生成的冗余数据更新上述旧冗余数据,将包含更新后生成的冗余数据的N个第一块的冗余数据写入到该磁盘装置。
15.如权利要求14所述的磁盘阵列系统,其特征在于,
写入上述N个第一块的数据的磁盘装置,将该N个第一块的数据,作为M个第二块的数据写入到该磁盘装置内的存储区域,
写入上述N个第一块的冗余数据的磁盘装置,将该N个第一块的冗余数据,作为M个第二块的冗余数据写入到该磁盘装置内的存储区域。
CNB2005101343071A 2005-01-17 2005-12-14 存储系统 Active CN100377064C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2005008513A JP4634157B2 (ja) 2005-01-17 2005-01-17 ストレージシステム
JP2005008513 2005-01-17

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN200810008806XA Division CN101231572B (zh) 2005-01-17 2005-12-14 存储系统

Publications (2)

Publication Number Publication Date
CN1808367A true CN1808367A (zh) 2006-07-26
CN100377064C CN100377064C (zh) 2008-03-26

Family

ID=36685320

Family Applications (2)

Application Number Title Priority Date Filing Date
CN200810008806XA Active CN101231572B (zh) 2005-01-17 2005-12-14 存储系统
CNB2005101343071A Active CN100377064C (zh) 2005-01-17 2005-12-14 存储系统

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN200810008806XA Active CN101231572B (zh) 2005-01-17 2005-12-14 存储系统

Country Status (3)

Country Link
US (5) US7346732B2 (zh)
JP (1) JP4634157B2 (zh)
CN (2) CN101231572B (zh)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8321650B2 (en) * 2003-01-13 2012-11-27 Emulex Design & Manufacturing Corporation Alignment-unit-based virtual formatting methods and devices employing the methods
US8289984B2 (en) * 2003-01-13 2012-10-16 Emlilex Design & Manufacturing Corporation Allocation-unit-based virtual formatting methods and devices employing allocation-unit-based virtual formatting methods
JP5089901B2 (ja) * 2006-03-28 2012-12-05 株式会社日立製作所 記憶制御装置及び記憶制御装置の制御方法
JP5031392B2 (ja) * 2007-02-13 2012-09-19 株式会社日立製作所 記憶制御装置及びストレージシステム
JP2008269363A (ja) 2007-04-20 2008-11-06 Hitachi Ltd 記憶制御装置および記憶制御方法
WO2009008045A1 (ja) * 2007-07-06 2009-01-15 Fujitsu Limited ストレージシステムのデータ制御装置、方法およびそのためのプログラム
JP5331323B2 (ja) * 2007-09-26 2013-10-30 株式会社日立製作所 ストレージサブシステム及びその制御方法
JP4977583B2 (ja) 2007-11-22 2012-07-18 株式会社日立製作所 記憶制御装置及び記憶制御装置の制御方法
WO2009107213A1 (ja) 2008-02-28 2009-09-03 富士通株式会社 ストレージ装置、ストレージ制御装置、データ転送集積回路、および、ストレージ制御方法
JP4792490B2 (ja) * 2008-09-08 2011-10-12 株式会社日立製作所 記憶制御装置及びraidグループの拡張方法
JP4809413B2 (ja) * 2008-10-08 2011-11-09 株式会社日立製作所 ストレージシステム
JP4693893B2 (ja) 2008-11-25 2011-06-01 株式会社日立製作所 記憶制御装置及び記憶制御装置の制御方法
US8041850B2 (en) * 2009-02-19 2011-10-18 Hitachi, Ltd. Storage apparatus and data integrity assurance method
JP5170010B2 (ja) * 2009-06-24 2013-03-27 日本電気株式会社 ディスクアレイ装置、ディスクアレイ装置制御方法、及びディスクアレイ装置用プログラム
WO2011141956A1 (en) * 2010-05-11 2011-11-17 Hitachi, Ltd. Storage device and method of controlling storage device
JP5500256B2 (ja) * 2010-08-31 2014-05-21 日本電気株式会社 ストレージシステム
WO2012056491A1 (en) 2010-10-26 2012-05-03 Hitachi, Ltd. Storage apparatus and data control method
US20120260034A1 (en) 2011-04-06 2012-10-11 Hitachi, Ltd. Disk array apparatus and control method thereof
US8694602B2 (en) 2011-04-06 2014-04-08 Hitachi, Ltd. Storage apparatus and its data processing method
KR101289931B1 (ko) * 2011-09-23 2013-07-25 한양대학교 산학협력단 다양한 블록 크기를 지원하는 주소 사상을 사용하여 플래시 메모리 내에 데이터를 저장하는 방법 및 장치
US9213486B2 (en) 2012-02-22 2015-12-15 International Business Machines Corporation Writing new data of a first block size to a second block size using a write-write mode
US9032531B1 (en) 2012-06-28 2015-05-12 Middlegate, Inc. Identification breach detection
JP6050794B2 (ja) * 2014-08-22 2016-12-21 株式会社日立製作所 フラッシュメモリモジュール、不揮発性半導体メモリモジュール及びストレージ装置
US9652179B2 (en) * 2014-12-01 2017-05-16 Macronix International Co., Ltd. Memory system and a data managing method thereof
US10884663B2 (en) * 2019-03-14 2021-01-05 Western Digital Technologies, Inc. Executable memory cells
US11663073B2 (en) * 2020-12-10 2023-05-30 Advanced Micro Devices, Inc. Method and apparatus for data protection in memory devices

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4809273A (en) 1987-01-29 1989-02-28 International Business Machines Corporation Device for verifying operation of a checking code generator
JP3264465B2 (ja) 1993-06-30 2002-03-11 株式会社日立製作所 記憶システム
JP3604466B2 (ja) 1995-09-13 2004-12-22 株式会社ルネサステクノロジ フラッシュディスクカード
US5706298A (en) 1995-11-09 1998-01-06 Emc Corporation Method and apparatus for calculating the longitudinal redundancy check in a mixed stream channel
US6467060B1 (en) * 1998-06-26 2002-10-15 Seagate Technology Llc Mass storage error correction and detection system, method and article of manufacture
JP3255887B2 (ja) * 1999-02-15 2002-02-12 松下電器産業株式会社 磁気ディスク装置およびそのディスクアクセス方法
EP1069724B1 (de) * 1999-07-05 2002-01-23 Alcatel Makro-Diversity-Übertragung in einem Mobilfunksystem
US6952797B1 (en) 2000-10-25 2005-10-04 Andy Kahn Block-appended checksums
US6751757B2 (en) 2000-12-07 2004-06-15 3Ware Disk drive data protection using clusters containing error detection sectors
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
JP2004288078A (ja) 2003-03-25 2004-10-14 Hitachi Ltd 固定長ディスクを利用したディスクアレイシステム
US7389467B2 (en) * 2003-05-20 2008-06-17 Samsung Electronics Co., Ltd. Method of error correction coding, and apparatus for and method of recording data using the coding method
US7577895B2 (en) * 2004-09-30 2009-08-18 Intel Corporation Initialization seed to allow data padding for cyclic redundancy code calculation

Also Published As

Publication number Publication date
US20080140929A1 (en) 2008-06-12
US7346732B2 (en) 2008-03-18
JP2006195851A (ja) 2006-07-27
CN100377064C (zh) 2008-03-26
US20110185118A1 (en) 2011-07-28
US20060161756A1 (en) 2006-07-20
US20100318735A1 (en) 2010-12-16
US8131922B2 (en) 2012-03-06
JP4634157B2 (ja) 2011-02-16
CN101231572A (zh) 2008-07-30
US7797486B2 (en) 2010-09-14
US20120159068A1 (en) 2012-06-21
US8417886B2 (en) 2013-04-09
US7941600B2 (en) 2011-05-10
CN101231572B (zh) 2012-06-27

Similar Documents

Publication Publication Date Title
CN1808367A (zh) 存储系统
TWI702495B (zh) 對使用者資料執行選擇性下伏暴露映射之設備、方法以及多模式儲存裝置
CN1245689C (zh) 以非破坏性方式升级驱动器固件的方法和系统
KR101445025B1 (ko) 신뢰성 있는 ssd를 위한 효율적인 raid 기법
CN1881167A (zh) 存储控制装置及其控制方法
KR101732030B1 (ko) 데이터 저장 장치 및 그것의 동작 방법
TWI716416B (zh) 儲存系統、用於管理儲存媒體的方法以及系統、操作儲存系統的方法、以及非暫存性電腦可讀媒體
US10942849B2 (en) Use of a logical-to-logical translation map and a logical-to-physical translation map to access a data storage device
CN1622008A (zh) 抑制驱动器工作时间的磁盘阵列
KR20170125178A (ko) Raid 스토리지 장치 및 그것의 관리 방법
CN109408417B (zh) 存储装置的地址映射方法和操作方法
CN1808611A (zh) 检测不准确数据的设备和方法
CN1248335A (zh) 闪速存储器系统
CN1719422A (zh) 一种存储器文件数据虚拟存取方法
CN1731373A (zh) 将数据从第一扇区格式转换到第二扇区格式的设备和方法
CN1848070A (zh) 数据存储设备、重构控制设备、重构控制方法与存储介质
US8838890B2 (en) Stride based free space management on compressed volumes
CN1873619A (zh) 存储装置
JP2010152551A (ja) 不揮発性半導体メモリドライブ装置および不揮発性半導体メモリドライブ装置のデータ管理方法
CN1851635A (zh) 对廉价磁盘冗余阵列进行读写操作的方法和系统
CN1908907A (zh) 改善资料写入效率的方法以及实施此方法的子系统与系统
CN1848069A (zh) 数据存储设备、重构控制设备、重构控制方法及存储介质
CN1680926A (zh) 带有相对受限存储空间以及操作/文件系统的计算装置
US20110271037A1 (en) Storage device performing data invalidation operation and data invalidation method thereof
CN1731339A (zh) 将数据净荷从第一扇区格式转换成第二扇区格式的装置和方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant