throbber
US007464221B2
`
`(12) United States Patent
`Nakamura et a].
`
`(10) Patent N0.:
`(45) Date of Patent:
`
`US 7,464,221 B2
`Dec. 9, 2008
`
`(54) STORAGE SYSTEM, STORAGE DEVICE, AND
`CONTROL METHOD THEREOF
`
`(56)
`
`References Cited
`
`U.S. PATENT DOCUMENTS
`
`(75) 1
`nventors:
`
`JP
`Sh " N k
`K
`;
`up a amura, anagaWa
`Kazuhisa Fujimoto, Tokyo (JP); Akira
`Fujibayashi, KanagaWa (JP)
`
`(73) Assignee: Hitachi, Ltd., Tokyo (JP)
`
`2005/0172074 Al* 8/2005 Sinclair .................... .. 7ll/ll4
`
`FOREIGN PATENT DOCUMENTS
`
`JP
`
`06-324815
`
`ll/l994
`
`OTHER PUBLICATIONS
`
`( * ) Notice:
`
`Subject to any disclaimer, the term of this
`patent is extended or adjusted under 35
`U.S.C. 154(b) by 114 days.
`
`“Reducing Energy Consumption of Disk Storage Using Power
`Aware Cache Management” by Zhu, et al.
`European Patent Search to corresponding EP 06 250 654.8 dated
`Nov. 21, 2007.
`
`(21) App1.No.: 11/247,161
`
`(22) Filed:
`
`Oct. 12, 2005
`
`(65)
`
`Prior Publication Data
`
`* cited by examiner
`
`Primary ExamineriTuan V. Thai
`(74) Attorney, Agent, or FirmiMattingly, Stanger, Malur &
`Brundidge, PC.
`
`US 2007/0050571 A1
`
`Mar. 1, 2007
`
`(57)
`
`ABSTRACT
`
`(30)
`
`Foreign Application Priority Data
`
`Sep. 1,2005
`
`(JP)
`
`........................... .. 2005-252989
`
`(51) Int. Cl.
`(2006.01)
`G06F 13/00
`(2006.01)
`G06F 12/14
`(52) US. Cl. ...................... .. 711/113; 711/154; 711/163
`(58) Field of Classi?cation Search ............... .. 711/103,
`711/100,118,135,111,112,113,154
`See application ?le for complete search history.
`
`A storage system including a storage device 1 Which includes:
`media 50 for storing data from a host computer 2; a medium
`controller 14 for controlling the media; a plurality of channel
`controllers 11 for connecting to the host computer 2 through
`a channel; and a cache memory 13 for temporarily storing
`data from the host computer 2, Wherein the media 50 have a
`restriction on a number of Writing times. The storage device 1
`includes a bus 123 for directly transferring data from the
`medium controller 14 to the channel controller 11.
`
`3 Claims, 17 Drawing Sheets
`
`DESTAGE/STAGE PROCESSING
`
`M
`
`WHAT TYPE OF MEDIUM IS
`WRITE DESTINATION?
`
`$1201
`
`s1202
`
`DES‘I'AGE THE OLDEST SLOT usms HDD LIST
`
`L—____—
`51203
`
`SEARCH FOR
`FM WITH THE SMALLEST NUMBER OF DESTAGES
`
`ES
`
`LOT FOR USE BY THE F 7
`IS THERE A S
`ENGTH NOT ZERO?)
`(IS LIST I.
`
`No
`SEAR CH FOR
`FM WITH THE NEXT SMALLEST NUMBER
`
`I’
`
`51204
`
`SI 205
`
`DESTAGE THE OLDEST SLOT OF THE FM
`
`51206
`
`@
`$1207
`
`ADD 1 TO
`NUMBER OF DESTAGES OF THE MEDIUM
`
`REMOVE
`THE SLOT FROM DIRECTORY INFORMATION
`AND ACCESS SEQUENCE LIST
`
`sI208
`
`ADD DATA TO BE STAGED TO
`MRU OF DIRECTORY INFORMADON
`AND ACCESS SEQUENCE LIST
`
`STAGE NEW DATA TO THE SLOT
`
`s I 21 0
`
`HPE, Exh. 1004, p. 1
`
`

`

`US. Patent
`
`Dec. 9,2008
`
`Sheet 1 or 17
`
`US 7,464,221 B2
`
`CZJSZGQ CZEZCQ
`
`1 4
`/1/
`/
`
`14
`’
`1/1]
`
`A/
`/
`
`/
`
`1 6
`n/
`7
`
`16
`A/
`7
`
`CHANNEL
`CHANNEL
`CONTROLLER CONTROLLER
`
`FM
`60ml?“
`
`FM
`806$?‘-
`
`DISK
`DISK
`CONTROLLER CONTROLLER
`
`I \
`
`T
`
`L7
`
`\ T
`
`\
`
`1
`
`12
`
`12
`
`INTERNAL sWiTCH
`
`INTERNAL sWlTCH q/
`
`1 5
`
`CACHE
`MEMORY
`
`13
`
`1 T
`CONTROL 4/
`MEMORY
`
`1 3
`CACHE 4/
`MEMORY
`
`17
`CONTROL /
`MEMORY 1
`
`STORAGE CONTROLLER
`
`\
`
`HPE, Exh. 1004, p. 2
`
`

`

`U.S. Patent
`
`Dec. 9, 2008
`
`Sheet 2 of 17
`
`US 7,464,221 B2
`
` XO8TIVA
`TOIOLONd||TODOLOYd||TODOLOed|)TODOLOYd
`
`
`
`TANNVHOTANNYHDJANNVYHOTANNVHS
`
`
`
`TANNVHO-FTANNVHO:FTSNNVHO-7qJaNNVWHO:P
`
`
`AJOVAYSALNIMYHOMLANTWNYSLNI
`YOSS3AIONd||HOSSAIONd|}HOSSADONd|}HOSSADOUd
`
`LINNIOYLNOD
`WdaHdldad
`
`YATIOULNOOTANNVHO
`
`WVed0ud
`
`éOld
`
`HPE, Exh. 1004, p. 3
`
`FIL
`
`LLL
`
`Lb
`
`HPE, Exh. 1004, p. 3
`
`

`

`U.S. Patent
`
`Dec. 9, 2008
`
`Sheet 3 of 17
`
`US 7,464,221 B2
`
`YSASNVYL
`
`vOL
`
`YATIONLNOO
`
`COL
`
`YATIONLNOOVWG
`
`AYOWSW
`
`aInNaowWSWaW4Wa
`
`GOLGOLGOLGOL
`
`
`
`
`
`FOVAYSLNIMYOMLINTWNUYALLNI
`
`LVOL|Wa||Wa|W4
`isnSQSOSQLo
`"NLSLSILNL
`
`991991991991
`
`
`
`LOLLINNTONLNOOWa
`
`GL
`
`OL
`
`€Sls
`
`HPE, Exh. 1004, p. 4
`
`HPE, Exh. 1004, p. 4
`
`
`

`

`US. Patent
`
`Dec. 9, 2008
`
`Sheet 4 0f 17
`
`US 7,464,221 B2
`
`F 16.4
`
`/I/16
`
`FM CONTROL UNIT
`
`/7//1 5
`
`INTERNAL NETWORK INTERFACE
`
`I
`T
`DMA CONTROLLER
`
`'1 61
`
`1 63
`1/
`MEMORY
`162 CONTROLLER
`1/
`
`167
`1/
`FM PROTOCOL
`PROCEssOR
`
`167
`T[
`FM PROTOCOL
`PROCESSOR
`
`167
`1/
`FM PROTOCOL
`PROcEssOR
`
`164
`167
`K
`1/"
`FM PROTOCOL ‘£382’
`PROCESSOR
`
`168
`I
`T
`163
`l
`ONNECTOR
`[CONNECTOBT
`[CONNECTOKF
`PLOONNEOTOR]
`I
`I
`168
`; 165k
`I
`_[CONNECTOR1_ QOONNECTORL‘ TEONNECTOR1]__1 _%ONNECTOR
`
`TRANSFER
`LUST
`\ I
`
`1 641
`
`FM DEVICE
`
`FM DEVICE
`
`FM DEVICE
`
`FM DEVICE
`
`)
`&‘I69
`
`2
`&169
`
`\
`
`D
`K169
`
`D
`(\169
`
`HPE, Exh. 1004, p. 5
`
`

`

`US. Patent
`
`Dec. 9, 2008
`
`Sheet 5 0f 17
`
`US 7,464,221 B2
`
`F1G.5
`
`/,/16
`
`FM CONTROL UNIT
`
`4/15
`
`INTERNAL NETWORK INTERFACE
`
`T
`
`DMA CONTROLLER
`
`161
`/1/
`/
`
`163
`7IVIEIVIORY
`
`167
`f
`FM PROTOCOL
`PROCESSOR
`
`167
`f
`FM PROTOCOL
`PROCESSOR
`
`167
`If
`FM PROTOCOL
`PROCESSOR
`
`1 54
`167
`/
`f
`FM PROTOCOL 121E118‘?
`PROCESSOR
`OD ‘
`
`16105
`
`5
`1510
`
`5
`1610
`
`5
`16m
`
`TRANSFER
`LIST
`
`x H Yn1
`1641
`
`5 FM DEVICE 1 FM DEVICE — FM DEVICE 1 FM DEVICE 7
`
`1 59
`
`— FM DEVICE
`
`FM DEVICE — FM DEVICE - FM DEVICE
`
`1 69
`
`- FM DEVICE ~ FM DEVICE ~ FM DEVICE - ,FM DEVICE
`
`1 6 9
`
`-—1 FM DEVICE — FM DEVICE — FM DEVICE 5 FM DEVICE
`
`1 69
`
`I _ _ _ ."L \
`
`l 711
`
`I
`
`I
`
`\ _. ._ _ _ -
`
`1 59
`
`HPE, Exh. 1004, p. 6
`
`

`

`US. Patent
`
`Dec. 9, 2008
`
`Sheet 6 0f 17
`
`US 7,464,221 B2
`
`FIG.6
`
`MI I
`
`/
`
`CHAN NEL
`CONTROLLER
`
`I6
`
`M14
`
`FM
`CONTROL
`UNH.
`
`DISK
`CONTROLLER
`
`121
`//
`
`INTERNAL NETWORK
`INTERFACE
`
`INTERNAL NETWORK
`INTERFACE
`
`121
`J/
`
`121
`W
`
`INTERNAL NETWORK
`INTERFACE
`
`123:00NNE0TI0N BETWEEN
`CHANNEL CONTROLLER
`AND FM CONTROL UNIT
`
`N
`
`N
`
`122
`
`A
`
`122
`
`122
`
`121 122
`/I/
`INTERNAL NETWORK’
`INTERFACE
`
`121
`n/
`INTERNAL NETWORK’
`INTERFACE
`
`INTERNAL SWITCH
`
`I
`
`/
`
`CACHE
`MEMORY
`
`/
`
`CONTROL
`MEMORY
`
`HPE, Exh. 1004, p. 7
`
`

`

`US. Patent
`
`Dec. 9, 2008
`
`Sheet 7 0f 17
`
`US 7,464,221 B2
`
`13: CACHE MEMORY
`11.‘ CHANNEL CONTROLLER”: CONTROL MEMORY
`
`_
`14. DISK CONTROLLER
`
`57ml S702
`
`/s708
`
`$710
`
`$711
`
`HPE, Exh. 1004, p. 8
`
`

`

`US. Patent
`
`Dec. 9, 2008
`
`Sheet 8 0f 17
`
`US 7,464,221 B2
`
`F168
`
`11: CHANNEL CONTROLLER 1'7: CONTROL MEMORY
`
`162 FM CONTROL UNIT
`
`$802
`
`HPE, Exh. 1004, p. 9
`
`

`

`US. Patent
`
`Dec. 9, 2008
`
`Sheet 9 0f 17
`
`US 7,464,221 B2
`
`FIG .9
`//I 3
`
`CACHE MEMORY
`
`READ CACHE AREA
`
`I 31
`r/V
`
`WRITE CACHE AREA
`
`I 32
`l/l/
`
`'
`
`II
`\ A \
`V I
`I
`V
`SLOT
`
`/I/ \
`MEMORY
`\
`
`IT
`
`CONTROL
`
`I
`
`I
`/
`
`I---
`
`I
`
`I
`/
`
`I
`
`I
`
`I--
`
`/ / M172
`
`M173
`
`I711
`
`I 712
`
`IIIIIIII
`
`1713
`kgjj __
`
`/
`/
`CONFIGURATION COMMUNICATION
`INFORMATION
`AREA
`
`DIRECTORY
`INFORMATION
`
`ACCESS
`SEQUENCE LIST
`
`HPE, Exh. 1004, p. 10
`
`

`

`U.S. Patent
`
`Dec. 9, 2008
`
`Sheet 10 of 17
`
`US 7,464,221 B2
`
`FIG.10A
`
`
`
`1001
`
`
`
`soooet]HDD
`
`0000-1fff}| HDDO =
`
`FiG.10B
`
`1713:
`
`1714:
`
`CMslot4
`
`CMslot5
`
`CMslot6
`
`Nil(LRU)
`
`HPE, Exh. 1004, p. 11
`
`HPE, Exh. 1004, p. 11
`
`

`

`US. Patent
`
`Dec. 9,2008
`
`Sheet 11 or 17
`
`US 7,464,221 B2
`
`FIG.1OC
`
`1061
`
`1057
`
`.1 FM’!
`
`ICMsl0t7
`
`I CMslotS
`
`CMBIOtZ % Ni|(|_RU)
`
`NUMBER OF
`10635- DESTAGES
`NUMBER OF
`10645- AGCEssEs
`CAPACITY
`
`1065
`
`256
`2203
`
`0 G
`1 0 B
`
`1061
`
`1057
`
`IFMZ
`
`I
`
`CMsIotS T2» CMslotS —z_> CMSIOM
`
`NMLRU)
`
`NUMBER OF
`1063_§— DESTAGES
`NUMBER OF
`10645- ACCEssEs
`CAPACITY
`
`1065_5-
`
`1024
`
`3223
`0 G
`1 0 B
`
`1062
`
`7
`HOUR
`
`1067
`[11/
`CMslotB Y9 CMs1ot1
`
`7+ CMslotQ
`
`Nil(LRU)
`
`DESTAGE
`1D66_'>—— RESTRICTION
`NUMBER OF
`10635- DESTAGES
`NUMBER OF
`1064;- ACCESSES
`CAPACITY
`
`1 065
`
`NONE
`
`10524
`
`113223
`600GB
`
`HPE, Exh. 1004, p. 12
`
`

`

`U.S. Patent
`
`Dec. 9, 2008
`
`Sheet 12 of 17
`
`US 7,464,221 B2
`
`YATIONLNOOUSIC-71/LIND1ONLNOOWa91
`SHOVO“E+
`
`
`
`
`
`
`
`
`
`YATIONLNOOTANNVHD‘+1
`
`ViOla
`
` AYOWAWN
`cOLls|SLIMMLSOH
`
`AYOWASWTON.LNOS‘21
`
`EOLLS
`
`LOLLS
`
`SOLES
`
`9OLLS
`
`HPE, Exh. 1004, p. 13
`
`HPE, Exh. 1004, p. 13
`
`

`

`US. Patent
`
`Dec. 9, 2008
`
`Sheet 13 0f 17
`
`US 7,464,221 B2
`
`F|G.1 1B
`
`17: CONTROL MEMORY
`11: CHANNEL CONTROLLER
`51
`
`13: CACHE MEMORY
`
`16'. FM CONTROL UNIT}
`DISK CONTROLLER
`
`HOST WRITE 2
`
`51 131
`
`$1133
`
`$1130
`
`$1132 11 S1135
`
`S1134
`
`HPE, Exh. 1004, p. 14
`
`

`

`US. Patent
`
`Dec. 9 ,2008
`
`Sheet 14 0f 17
`
`US 7,464,221 B2
`
`FIG.12A
`
`i/HDD
`
`C DESTAGE/STAGE PROCESSING 3
`‘I
`51201
`WHAT TYPE OF MEDIUM IS
`WRITE DESTINATION?
`
`FM
`
`51202
`
`ESTAGE THE OLDEST SLOT USING HDD LIST/
`
`I
`51203
`SEARCH FOR
`//I/
`FM WITH THE SMALLEST NUMBER OF DESTAGES
`
`YES
`
`IS THERE A SLOT FOR USE BY THE FM?
`(IS LIST LENGTH NOT ZERO?)
`
`$1204
`
`A 51205
`
`51206
`
`NO
`SEARCH FOR
`FM WITH THE NEXT SMALLEST NUMBER
`I
`DESTAGE THE OLDEST SLOT OF THE FM/
`I
`ADD1TO
`$1207
`NUMBER OF DESTAGES OF THE MEDIUM/ %
`I
`
`REMOVE
`THE SLOT FROM DIRECTORY INFORMATION
`AND ACCESS SEQUENCE LIST
`
`S1208
`
`II
`
`ADD DATA TO BE STAGED TO
`MRU OF DIRECTORY INFORMATION /
`AND ACCESS SEQUENCE LIST
`
`SI209
`
`I
`
`51210
`
`STAGE NEW DATA TO THE SLOT /
`
`C END I 3
`
`HPE, Exh. 1004, p. 15
`
`

`

`US. Patent
`
`Dec. 9, 2008
`
`Sheet 15 0f 17
`
`US 7,464,221 B2
`
`( DESTAGE/STAGE PROCESSING D
`
`SEARCH FOR MEDIUM WITH THE SMALLEST NUMBER /
`(CI x NUMBER OF DESTAGES + B + NUMBER OF ACCESSES)
`
`$1241
`
`6
`
`s] 242
`
`YES
`
`IS THERE A SLOT FOR THE MEDIUM?
`(IS LIST LENGTH ZERO?)
`
`No
`
`SEARCH FOR
`FM WITH THE NEXT SMALLEST NUMBER
`
`81243
`/\/
`
`51 244
`DESTAGE THE OLDEST SLOT OF THE FM/V
`
`W51 245
`ADD 1 TO
`NUMBER OF DESTAGES OF THE MEDIUM/
`I
`REMOVE
`THE SLOT FROM DIRECTORY INFORMATION/
`AND ACCESS SEQUENCE LIST
`
`81246
`
`ADD DATA TO BE STAGED TO DIRECTORY INFORMATION /I/S1247
`AND MRU OF ACCESS SEQUENCE LIST
`/
`
`/
`
`STAGE NEW DATA To THE SLOT
`
`s1 248
`
`I
`
`c
`
`>
`
`HPE, Exh. 1004, p. 16
`
`

`

`US. Patent
`
`Dec. 9, 2008
`
`Sheet 16 0f 17
`
`US 7,464,221 B2
`
`SAN SWITCH
`
`FMD
`
`E152}
`15m @ 50 _@ 60
`/I/ ELEV/M
`/I/
`W
`
`/I /
`/ V
`
`I
`
`1
`L
`V
`T
`CHANNEL
`CHANNEL
`CONTROLLER CONTROLLER
`
`160
`1
`
`J
`/V
`/
`l
`l
`DISK
`HIGHLY-FUNCTIONAL IGHLY-FUNCTIONALF’
`I=M CONTROL uNIT
`FM CONTROL UNIT ‘ CONTROLLER
`
`14
`/
`/I/
`/
`DISK
`CONTROLLER
`
`L
`
`F
`
`1 2
`INTERNAL SWITCH 4/
`
`INTERNAL SWITCH
`
`1 3
`
`lM
`
`CACHE
`MEMORY
`
`PM
`CONTROL
`uNIT
`\
`L] 6
`STORAGE CONTROLLER
`
`1 7
`
`/
`
`CONTROL
`MEMORY
`
`1 3
`
`?ll
`
`CACHE
`MEMORY
`
`1 7
`
`.I/I/
`
`CONTROL
`MEMORY
`
`PM
`CONTROL
`uNIT
`\
`L] 5
`
`1 LI
`
`HPE, Exh. 1004, p. 17
`
`

`

`US. Patent
`
`Dec. 9, 2008
`
`Sheet 17 0f 17
`
`US 7,464,221 B2
`
`160 f I
`
`HIGHLY-FUNCTIONAL FM CONTROL UNIT
`"1
`f
`
`1'
`
`I 61
`L
`
`j
`
`PROCESSOR PROCESSOR PROCESSOR PROCESSOR
`
`INTERNAL NETWORK INTERFACE
`
`1 1 3
`If
`PERIPHERAL
`CONTROL UNIT
`
`1 1 2
`f
`IVI’EMORY
`MODULE
`
`1 1 21 [
`éONTROL
`
`PROGRAM
`
`MAIL BOX
`
`K 1122
`
`IENSFER
`1H“ 1541
`
`DMA CONTROLLER
`
`1 57
`If-
`
`[1 62
`/
`
`167
`If
`
`FM PROTOCOL
`PROCESSOR
`
`FM PROTOCOL
`PROCESSOR
`
`-1 FM DEVICE
`
`1 610
`
`1 61 1)
`
`— FM DEVICE
`
`- FM DEVICE \
`
`- FM DEVICE
`
`5
`
`I
`
`I 69 ,3
`
`— FM DEVICE
`
`7 FM DEVICE
`
`J FM DEVICE
`
`-— FM DEVICE
`
`HPE, Exh. 1004, p. 18
`
`

`

`US 7,464,221 B2
`
`1
`STORAGE SYSTEM, STORAGE DEVICE, AND
`CONTROL METHOD THEREOF
`
`The present application is based on and claims priority of
`Japanese patent applications No. 2005-252989 ?led on Sep.
`1, 2005, the entire contents of Which are hereby incorporated
`by reference.
`
`BACKGROUND OF THE INVENTION
`
`2
`Patent Application Publication No. 6-324815. In this patent
`document, a technique in Which frequently-accessed parity
`data is stored in a semiconductor memory such as a ?ash
`memory in a RAID con?guration, etc., in order to improve
`performance of a storage system is described. HoWever,
`means for preventing a restriction on the number of Writing
`times as a storage system has not been disclosed. Also, one
`RAID group is constructed by mixing an HDD and a ?ash
`memory, that is to say, one virtual device is constituted, and
`thus a virtual device is not controlled in consideration of the
`characteristics of individual media.
`
`SUMMARY OF THE INVENTION
`
`Under these circumstances, it is desirable to provide a
`storage system Which is loW in poWer consumption, has a
`small installation area, and is capable of constructing a large
`scale system having a large capacity.
`Also, it is desirable to provide a high system performance
`in accordance With the medium for storing data.
`Moreover, it is also desirable to improve reliability and
`availability as a storage system. For a medium having a
`restriction of the number of Writing times, it is necessary to
`alleviate the restriction as a storage system.
`In the present invention, a storage system includes a plu
`rality of channel controllers connecting to a host computer
`through channels and a cache memory containing a plurality
`of volatile memories for temporarily storing data from the
`host computer. The storage system includes a plurality of ?rst
`media having a restriction of the number of Writing times and
`a plurality of ?rst medium controllers for controlling the ?rst
`media, and stores data from the host computer to the ?rst
`media.
`That is to say, according to the present invention, there is
`provided a storage system including a storage controller
`including: one medium or more for storing data from a host
`computer; a medium controller for controlling the medium; a
`channel controller for connecting to the host computer
`through a channel; and a cache memory including a volatile
`memory for temporarily storing data from the ho st computer,
`Wherein the media at least partially includes a ?rst medium
`having a restriction on a number of Writing times.
`In the storage system of the present invention, the poWer
`consumption is loW, the installation area is small, and it is
`possible to construct a large-scale system. Also, it is possible
`to provide a high system performance in accordance With the
`medium for storing data. Also, there is an advantage in that
`the number of Writing times to each medium is reduced, and
`thus it is possible to increase the reliability and the availability
`of the storage system even for the medium having a restriction
`on the number of Writing times.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`FIG. 1 is a block diagram of a con?guration of a storage
`system according to a ?rst embodiment;
`FIG. 2 is a block diagram of a detailed con?guration of a
`channel controller 11;
`FIG. 3 is a block diagram of a detailed con?guration of an
`FM control unit 16;
`FIG. 4 is a block diagram of another detailed con?guration
`of the FM control unit 16;
`FIG. 5 is a block diagram of another detailed con?guration
`of the FM control unit 16;
`FIG. 6 is a block diagram of a detailed con?guration of an
`internal sWitch 12;
`
`1. Field of the Invention
`The present invention relates to a storage device and the
`control method thereof.
`2. Description of the Related Art
`In recent years, the reduction of the total cost of oWnership
`(TCO) of a storage system becomes increasingly important in
`information business sites such as a data center. On the other
`hand, demand for recording data reliably for a long period of
`time is increasing. As an example of this fact, the document
`data of ?nancial institutions, medical institutions, etc., are
`required to be stored Without being erased by laW. Under these
`circumstances, there is much demand for highly reliable stor
`age systems having a large capacity. HoWever, in general, in
`a large-scale storage system using hard-disk drives (in the
`folloWing, referred to as “HDDs”), the amount of poWer
`consumption increases in proportion to the storage capacity.
`That is to say, the possession of a storage system With a large
`capacity means an increase in the total cost of oWnership
`including electricity charges. In vieW of such situations, a
`technique for reducing the poWer consumption of HDDs by a
`cache management algorithm has been proposed (N onpatent
`document; ZHU, Q., DAVID, F., ZHOU, Y., DEVARAJ, C.,
`AND CAO, P., “Reducing Energy Consumption of Disk Stor
`age Using PoWer-AWare Cache Management”. InProc. of the
`10th Intl. Symp. on High Performance Computer Architec
`ture (HPCA-lO) (February 2004)). Also, the problem is not
`limited to the electricity charges. In general, the ?oor area for
`installation increases as the capacity of a storage system
`increases. This also increases the total cost of oWnership.
`Incidentally, a ?ash memory attracts attention as a nonvola
`tile medium in recent years. A ?ash memory commonly con
`sumes less than one several-tenth of poWer When compared
`With an HDD, and can be read at a high speed. Also, a ?ash
`memory is small siZed unlike an HDD having a mechanically
`driven part.
`HoWever, a ?ash memory has a restriction on the number of
`Writing times because of the physical constitution of a cell for
`holding information. Against such a restriction, the number of
`Writing times of a ?ash memory has been improved by a
`technique called Wear leveling, in Which the number of Writ
`ing times to each cell is controlled to be averaged by having
`correspondence betWeen an address to be shoWn to the upper
`apparatus and a cell position. In this regard, in the folloWing,
`an element for holding information is simply called a “?ash
`memory”, and a device including a mechanism for perform
`ing the above-described Wear leveling, protocol processing
`for the upper apparatus, etc., is called a “?ash memory
`device”. Although some improvements have been made
`against the restriction on the number of Writing times as a
`?ash memory device by such a technique, there still exists a
`restriction on the number of Writing times of a ?ash memory
`device. Also, in addition to that, there is a drawback in that the
`throughput of a ?ash memory becomes similar to an HDD
`When an operation called erase becomes necessary at the time
`of Writing to a ?ash memory.
`As a technique for constituting a storage system using such
`a ?ash memory, there is, for example, Japanese Unexamined
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`HPE, Exh. 1004, p. 19
`
`

`

`US 7,464,221 B2
`
`3
`FIG. 7 is a diagram illustrating the processing ?oW When a
`read request comes from a host computer 2 to an HDD 50
`area;
`FIG. 8 is a diagram illustrating the processing ?oW When a
`read request comes from a host computer 2 to a ?ash memory
`area;
`FIG. 9 is a block diagram illustrating detailed data stored in
`a cache memory 13 and a control memory 17;
`FIG. 10A is a block diagram illustrating details of read
`cache directory information 1711 and Write-cache directory
`information 1172;
`FIG. 10B is a block diagram illustrating details of knoWn
`access-sequence lists 1713 and 1714;
`FIG. 10C is a block diagram illustrating details of access
`sequence lists 1713 and 1714 forperforming preferable cache
`control;
`FIG. 11A is a diagram illustrating the processing ?oW
`When a Write request comes from the host computer 2 and
`there is already the data of the address in the cache memory
`13;
`FIG. 11B is a diagram illustrating the processing ?oW
`When a Write request comes from the host computer 2 and
`there is not the data of the address in the cache memory 13 or
`there is already no empty slot;
`FIG. 12A is a diagram illustrating the processing for deter
`mining a slot to be destaged;
`FIG. 12B is a diagram illustrating the processing for deter
`mining a slot in consideration of not only the number of stages
`but also the number of accesses;
`FIG. 13 is a block diagram of a storage system according to
`a second embodiment; and
`FIG. 14 is a block diagram of a highly-functional FM
`control unit 160.
`
`20
`
`25
`
`30
`
`DESCRIPTION OF THE PREFERRED
`EMBODIMENTS
`
`A description Will be given of a best mode of embodiment
`for carrying out the present invention.
`In the folloWing, a description Will be given of a storage
`system, a storage device, and the control method thereof
`according to embodiments of the present invention based on
`the draWings.
`
`First Embodiment
`
`35
`
`40
`
`45
`
`50
`
`A description Will be given of a ?rst embodiment. FIG. 1 is
`a block diagram of a con?guration of a storage system accord
`ing to the ?rst embodiment of the present invention. The
`storage system includes a storage controller 1, hard disk
`drives (HDDs) 50, and a ?ash memory device (in the ?gure,
`an example of an FM control unit 16 internally including ?ash
`memory devices is shoWn). The storage controller 1 is con
`nected to a host computer 2 via a channel 4 through a SAN
`(Storage Area Network) including a SAN sWitch 3. Also, the
`55
`storage controller 1 is connected to a plurality of HDDs 50
`Which are media storing data through a disk-side channel 60.
`The storage controller 1 includes a plurality of channel con
`trollers 11, a plurality of cache memories 13, a control
`memory 17, a plurality of disk controllers 14, a plurality of
`FM control units 16, and internal sWitches 12 connecting
`these through an internal bus 15. The channel controller 11
`receives an input/output request from the host computer 2
`through the channel 4, interprets the request type (for
`example, a read request and a Write request) of this input/
`output request, the target address, etc., and performs the pro
`cessing as described in FIG. 7 and beloW. The cache memo
`
`60
`
`65
`
`4
`ries temporarily stores data to be stored in an HDD and a ?ash
`memory and data to be returned to the host computer 2. The
`control memory 17 stores the directory information of the
`cache memories 13 and the con?guration information of the
`storage system. The disk controllers 14 control the HDDs 50
`through a disk-side channel 60 based on a request of the
`channel controller 11, etc., and fetches and stores the data
`requested from the host computer 2. At this time, the disk
`controllers 14 may perform RAID control on the HDDs 50 in
`order to improve the reliability, availability, and performance
`of the storage system. The PM control units 16 perform the
`control of ?ash memories or the ?ash memory devices. The
`PM control units 16 fetch and store the data requested from
`the host computer 2 to the ?ash memories or the ?ash memory
`device based on a request of the channel controllers 11, etc. At
`this time, the FM control units 16 may perform RAID control
`on the ?ash memory devices in order to improve the reliabil
`ity, availability, andperformance of the storage system. In this
`regard, in the present embodiment, the storage system is
`connected to the HDDs 50. HoWever, the storage system may
`have a con?guration Without having the HDDs 50 and the disk
`controllers 14. Also, the information stored in the control
`memory 17 may be physically located in the same memory as
`the cache memories 13.
`FIG. 2 is a block diagram of the detailed con?guration of
`the channel controller 11. The channel controller 11 includes
`a plurality of processors 1 11, a memory module 112, a periph
`eral control unit 113, a plurality of channel protocol proces
`sors 114, and an internal netWork interface 117. The proces
`sors 111 are connected to the peripheral control unit 113
`through a bus, etc. The peripheral control unit 113 is con
`nected to the memory module 112 and controls the memory
`module. Also, the peripheral control unit 113 is connected to
`the channel protocol processors 114 and the internal netWork
`interface 117 through a control system bus 115. The periph
`eral control unit 113 receives a packet from the connected
`processors 111, the channel protocol processors 114, and the
`internal netWork interface 1 17. If the destination address indi
`cated by the packet falls on the memory module 112, the
`peripheral control unit 113 performs the processing, and
`returns data if necessary. Also, if the destination address falls
`outside, the peripheral control unit 113 performs appropriate
`forWarding. Also, the peripheral control unit 113 has a mail
`box 1131 for the other processors 111 to perform communi
`cation With the processor 111 connected to the peripheral
`control unit 113. The processors 111 access the memory
`module 112 through the peripheral control unit 113, and
`performs processing based on the control program 1121
`stored in the memory module 112. Also, the memory module
`112 stores a transfer list 1123 for the channel protocol pro
`cessors 114 performing DMA (Direct Memory Access). The
`channel protocol processor 114 performs protocol control on
`the channel 4, and converts into a protocol Which can be
`processed in the storage system 1. When the channel protocol
`processor 114 receives an input/output request from the host
`computer 2 through the channel 4, the channel protocol pro
`cessor 114 noti?es the host computer number, the LUN
`(Logical Unit Number), the access destination address of the
`input/output request, etc., to the processor 111. The processor
`111 accesses directory information 1323 based on the noti?
`cation. If there is an address to Which the input/output data is
`to be stored or the input/ output data, the processor 111 creates
`the transfer list 1123 in the memory module 112, and causes
`the channel protocol processor 114 to perform transfer based
`on the list. When the data requested for reading by the host
`computer 2 is not in the cache memory 13, if the data is stored
`in the HDD 50, the processor 111 instructs the disk controller
`
`HPE, Exh. 1004, p. 20
`
`

`

`US 7,464,221 B2
`
`6
`5
`
`14 to store the requested data stored in the HDD 50 into the is possible to directly dispose the memory onaprinted-circuit
`cache memory 13 (this operation is called “staging”’), and
`board. At this time, parts such as the connectors, the FM
`then causesto transfer the data by the transfer list 1123. If the
`protocol processors in FIG. 4, and FM-side channels become
`data is stored in the flash memory, the address of the flash
`unnecessary, and thus it is possible to achieve more compact
`memory isset in the transferlist. The transferlist is an address
`storage system. Also, the wear leveling for each ofthe flash
`list in the cache memory 13 or the flash memory. If the
`memories 166 may be performed by the FM controller 165.
`input/output request is writing, the data from the host com-
`FIG.4 is a block diagram of another detailed configuration
`puter is written into the address describedin the list through
`ofthe FM control unit 16. Here, a flash memory device 169 is
`the internal network interface 117 connected the data-transfer
`used as a memory element. The flash memory device 169 is
`disposed separately. The flash memory device 169 is con-
`nected to the FM controlunit 16 through a connector 168, and
`thus the flash memory device is made detachable. Accord-
`ingly, when the flash memory device 169 has broken down,it
`can be replaced (in order to do this, the transfer list 1641
`should be set such that the processor 111 of the channel
`controller 11 has a redundant configuration among the flash
`memory device 169 in advance). Also, it is possibleto replace
`the flash memory device 169 itself by a flash memory device
`having a large capacity. The reliability and performance of
`this flash memory device 169 have been improved by employ-
`ing a technique, such as wear leveling, etc., inside the device.
`Data is exchanged with the outside using a special protocol.
`Thus, a FM protocol processor 167 converts the data into a
`format that can be processed in the storage controller 1.
`FIG. 5 is a block diagram of another detailed configuration
`ofthe FM control unit 16. Here, the flash memory devices 169
`are connected through FM-side channels 1610. By using this
`configuration, a larger numberof flash memory devices 169
`can be connected in order to achieve a storage system with a
`large capacity in addition to the features of the FM control
`unit 16 described in FIG.4. Also, part of the area of the flash
`memory devices 169 may be used as an urgent destage area
`1690 described below.
`
`20
`
`25
`
`30
`
`35
`
`FIG.6 is a block diagram of a detailed configuration of the
`internal switch 12. The internal switch 12 includesan internal
`
`system bus 115. Also, if the request is reading, the data is
`similarly read from the address described in the list, and that
`data is returned to the host computer. The details of these
`operations are described using FIG.7 and subsequentfigures.
`The internal network interface 117 is a part to be an interface
`when communication is performed betweenthe inside of the
`channel controller 11 and the inside of the other storage
`systems 1 through an internal bus 15.
`In this regard, the disk controller 14 has a substantially
`similar structure to the channel controller 11. However, the
`contents of the control program 1121 is different and the
`channel protocol processor 114 performs communication
`with the HDD 50 (the protocol ofthe channel4 andthat of the
`disk-side channel 60 maybe different. However, the process-
`ing is the same as the channel protocol processors 114 in the
`channel controller 11 in the sense that protocol processing of
`the disk-side channel 60 is performed and the conversion is
`performed in order to be processedin the storage system 1).
`The processor 111 writes the data in the cache memory 13
`into a hard disk drive 50 by a request from the channel
`controller 11 or at regular time intervals. Also, if the data
`requested from the host computer is not in the cache memory
`13, the processor 111 receives an instruction from the channel
`controller 11, reads data from the HDD 50, and writes the data
`into the cache memory 13. At these times, the processor 111
`accesses the directory information stored in the control
`memory 17, and investigates the address ofthe cache memory
`from or to which the requested data by the host computer 2 is
`read or stored. When there is not the requested data in the
`cache memory 13, if there is no empty area in the cache
`memory 13, the existent data is stored into the HDD 50 for
`making an emptyarea in orderto store the requested data (this
`operation is called destage). In the operation of the HDD 50,
`the disk controller 14 controls the HDD 50 through the disk-
`side channel 60. At this time, in order to improve the avail-
`ability and the performance as the entire HDDs50, the disk
`controller 14 performs the RAID control on the HDD 50
`group.
`FIG.3 is a block diagram ofthe detailed configuration of
`the FM control unit 16, in which flash memories are inte-
`grated. The FM control unit 16 includes an internal network
`interface 161, a DMA controller 162, a memory module 164
`which is a volatile memory, a memory controller 163 for
`controlling the memory module, flash memories 166 (FM in
`the figure), FM controllers 165 which control the flash memo-
`ries. The internal network interface 161 is a part to be an
`interface between the inside ofthe FM controlunit 16 and the
`
`network interface 121 and a plurality of selectors 122. The
`selector 122 analyzesthe destination of the request sent from
`each part such as the internal channel controller 11 of the
`storage controller 1, and transfers the request to the internal
`network interface 121 controlling the internal bus 15 con-
`nected to the request destination. At that time, each of the
`selectors performs the contention of the internal network
`interface 121 of the request-transfer destination. The internal
`switch 12 makesit possible for the channel controller 11 to
`directly exchange data with the cache-memory 13, the control
`memory 17, and the FM control unit 16. The FM control unit
`16 can exchange data with the channel controller 11, the
`cache memory 13, and the control memory 17. Also, the disk
`controller 14 can directly exchange data with the cache
`memory 13 and the control memory 17. The difference on the
`connection of the FM control unit 16 and that of the disk
`controller 14 is that the internal switch 12 has a connection
`123 between the channel controller and the FM control unit,
`and thus the FM control unit 16 can directly exchange data
`with the channel controller 11.
`FIG. 7 is a diagram illustrating the processing flow when a
`read request comes from the host computer 2 to an HDD 50
`inside of the other storage controller 1 through the internal
`bus 15. The DMA controller 162 in the FM control unit 16
`area. The channel controller 11 receives a read request from
`the host computer 2 through the channel 4 (step s701). The
`performsdata transfer from the cache memory 13to the flash
`processor 111 of the channel controller 11 analyzes the
`memory 166 using the transferlist 1641 set by the processor
`
`111 of the channel controller 11 in the case of creating an received request and obtains an LUN andatarget logical
`empty area in the cache memory when processing a write
`block address. Here, the processor 111 knowsthat the data is
`request from the host computer 2. The FM controller 165
`in an area to be stored in the HDD 50 (step s702). Further-
`controls the flash memory 166 to exchange data by a read
`more, the processor 111 ofthe channel contr

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket