throbber
(19) United States
`(12) Patent Application Publication (10) Pub. No.: US 2007/0050571 A1
`(43) Pub. Date:
`Mar. 1, 2007
`Nakamura et al.
`
`US 20070050571 A1
`
`(54) STORAGE SYSTEM, STORAGE DEVICE,
`AND CONTROL METHOD THEREOF
`
`(76) Inventors: Shuji Nakamura, Kanagawa (JP);
`Kazuhisa Fujimoto, Tokyo (JP); Akira
`Fujibayashi, Kanagawa (JP)
`Correspondence Address:
`MATTINGLY, STANGER, MALUR &
`BRUNDIDGE, P.C.
`1800 DAGONAL ROAD
`SUTE 370
`ALEXANDRIA, VA 22314 (US)
`(21) Appl. No.:
`11/247,161
`
`(22) Filed:
`(30)
`
`Oct. 12, 2005
`Foreign Application Priority Data
`
`Sep. 1, 2005 (JP)...................................... 2005-25298.9
`
`Publication Classification
`
`(51) Int. Cl.
`(2006.01)
`G06F 3/00
`(2007.01)
`G06F 2/4
`(52) U.S. Cl. ............................................ 711/154; 711/163
`
`(57)
`
`ABSTRACT
`
`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.
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`DESTAGEISTAGE PROCESSING
`
`M
`
`WATYPE OF MEDIUMS
`WRITE DESTINATION?
`HDD
`
`
`
`S12O2
`DESTAGE THE OLDEST SLOTUSING HDD usen
`
`SEARCHFOR
`M WITH THESMALEST NUMBER OF ESTAGES
`
`
`
`S1203
`
`YES
`
`STHERE ASLOT FOR USEBY HE FM?
`(ISLIST LENGTH NOTZERO2)
`
`NO
`SEARCHFOR
`FM WIHHENEX SMALLES NUMBER
`
`41
`
`S 206
`DESTAGE HE OLDESTSLOT OF THE FM-h-
`
`A1 TO
`NUMBER OF DESAGES OF THE MEDIUM 1.
`
`("gles REMOVE
`
`HE SLOT FROM DIRECTORY INFORMATION
`AND ACCESS SEQUENCEST
`
`ADD DATAOBESTAGED TO
`RY INFORMATON RECO
`
`MRU OF Ol
`AND ACCESS SEQUENCELIST
`
`STAGE NEW DATA TO THE SLOT
`
`END
`
`S1208
`
`S1209
`
`S1210
`
`HPE, Exh. 1025, p. 1
`
`

`

`Patent Application Publication Mar. 1, 2007 Sheet 1 of 17
`
`US 2007/0050571 A1
`
`F.G. 1
`
`SANSWITCH
`4
`
`
`
`
`
`11
`//
`
`77
`|
`CHANNEL
`CHANNEL
`E
`CONTROLLER CONTROLLER
`
`ZZ
`
`//
`
`ZZ
`
`corol
`UNIT
`
`DSK
`DISK
`ONTROLLER CONTROLLER
`
`
`
`
`
`
`
`
`
`
`
`V
`
`n
`
`S
`
`N
`
`1.
`
`7.
`
`1
`
`12
`
`2- 2 As.
`
`
`
`CACHE
`MEMORY
`
`STORAGE CONTROLLER
`
`CONTROL
`MEMORY M.
`
`HPE, Exh. 1025, p. 2
`
`

`

`Patent Application Publication
`
`Mar. 1, 2007 Sheet 2 of 17
`
`US 2007/0050571 A1
`
`SL
`
`TANNVYHD
`TANNVHO
`
`JOOOLOWd
`1OD0LOdd
`
`vib
`
`WHSHdluad
`
`LINNTOMLNOD
`
`Clb
`
`TANNVHO'"TANNVHO:FTANNVHO-%7S4NNVHO'F
`
`
`
`TOOOLOYd||TOOOLOYd
`
`TSNNVHOTANNVHO
`
`
`AOVAYSLNIMHOMLANTWNYALNI
`HOSSAOONd||HOSSAIOUd|YOSSAIONd||YOSSAOONd
`
`YHATIOULNOOTANNVHO
`
`
`
`
`
`LLL
`
`LL
`
`¢Old
`
`XOdTVW
`
`YSsSNVAL
`
`
`
`HPE, Exh. 1025, p. 3
`
`HPE, Exh. 1025, p. 3
`
`
`
`
`
`
`
`

`

`Patent Application Publication Mar. 1, 2007 Sheet 3 of 17
`
`US 2007/0050571 A1
`
`
`
`HPE, Exh. 1025, p. 4
`
`

`

`Patent Application Publication Mar. 1, 2007 Sheet 4 of 17
`
`US 2007/0050571 A1
`
`FG4
`
`
`
`FM CONTRO UNIT
`
`INTERNAL NETWORK iNTERFACE
`
`MEMORY
`CONTROLLER
`
`DMA CONTROLLER
`
`16
`7
`
`167
`
`164
`
`FM PROTOCOL.
`PROCESSOR
`
`FM PROTOCOL
`PROCESSOR
`
`FM PROTOCOL.
`PROCESSOR
`
`CONNECTORS
`
`FM PROTOCOL. MESSEY
`PROCESSOR
`ULE
`TRANSFER
`LIST
`
`64 CONNECTOR
`
`CONNECTOR
`
`ScONNECTOR
`
`coNNECTOR
`
`SCONNECTOR
`
`FM DEVICE
`
`FM DEVICE
`
`FM DEVICE
`
`FM DEVICE
`
`HPE, Exh. 1025, p. 5
`
`

`

`Patent Application Publication Mar. 1, 2007 Sheet 5 of 17
`
`US 2007/0050571 A1
`
`FG.5
`
`
`
`FM CONTROL UNIT
`
`NTERNAL NETWORK iNTERFACE
`
`DMA CONTROLLER
`
`MEMORY
`CONTROLLER
`
`164
`
`FMPROTOCOL
`PROCESSOR
`
`FM PROTOCOL
`PROCESSOR
`
`FM PROTOCOL
`PROCESSOR
`
`FM PROTOCOL MES
`PROCESSOR
`MODULE
`TRANSFER
`LIST
`
`1610
`
`1610
`
`1610
`
`1610
`
`1641
`
`FM DEVICE
`
`FM DEVICE
`
`FM DEVICE
`
`169
`
`169
`
`169
`
`169
`
`f
`
`N
`
`Y - - - - -
`
`169
`
`HPE, Exh. 1025, p. 6
`
`

`

`Patent Application Publication Mar. 1, 2007 Sheet 6 of 17
`
`US 2007/0050571 A1
`
`FIG.6
`
`1.
`
`16
`
`14
`
`CHANNEL
`CONTROLLER
`
`FM
`CONTROL
`UN
`
`DSK . .
`CONTROLLER
`
`121
`
`121
`
`121
`
`
`
`INTERNAL NETWORK
`NTERNAL NETWORK
`INTERFACE
`NERFACE
`123:CONNECTION BETWEEN
`CHANNEL CONTROLLER
`AND FM CONTROL UNIT
`
`NTERNAL NETWORK
`INTERFACE
`
`NTERNAL SWITCH
`
`INTERNAL NETWORK
`NTERFACE
`
`INTERNAL NETWORK
`NTERFACE
`
`12
`
`13
`
`
`
`17
`
`CACHE
`MEMORY
`
`CONTROL
`MEMORY
`
`HPE, Exh. 1025, p. 7
`
`

`

`Patent Application Publication Mar. 1, 2007 Sheet 7 of 17
`
`US 2007/0050571 A1
`
`FG.7
`
`13: CACHE MEMORY
`11: CHANNEL CONTROLLER7 CONTROL MEMORY
`
`14: DSK CONTROLLER
`
`SO1
`
`S702
`
`
`
`STO3
`s
`
`S705
`
`
`
`s 704
`
`S7O6
`
`S708
`
`STO
`
`S711
`
`HPE, Exh. 1025, p. 8
`
`

`

`Patent Application Publication Mar. 1, 2007 Sheet 8 of 17
`
`US 2007/0050571 A1
`
`FIG.8
`
`11: CHANNEL CONTROLLER 17, CONTROL MEMORY
`
`16: FM CONTROL UNIT
`
`S802 is S803
`
`S804
`
`8O
`S
`
`
`
`S805
`
`S806
`
`S807
`
`HPE, Exh. 1025, p. 9
`
`

`

`Patent Application Publication Mar. 1, 2007 Sheet 9 of 17
`
`US 2007/0050571 A1
`
`FIG.9
`
`
`
`CACHE MEMORY
`
`READ CACHE AREA
`
`WRITE CACHE AREA
`
`CONTROL
`MEMORY .
`
`CONFIGURATION COMMUNICATION
`INFORMATION
`
`DIRECTORY
`INFORMATION
`
`ACCESS
`SECUENCEST
`
`HPE, Exh. 1025, p. 10
`
`

`

`Patent Application Publication Mar. 1, 2007 Sheet 10 of 17
`
`US 2007/0050571 A1
`
`FIG.10A
`1001
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`FG1 OB
`
`1713:
`
`174:
`
`MEDIUMPOINTER
`LBA
`0000-1ff HDDO -
`
`
`
`
`
`LBA1,
`CMslot 1
`
`LBA2,
`CMslot2
`
`LBA3, a ...
`CMslot3
`
`LBA n,
`2- CMslot m
`
`CMslot4
`
`CMslotS
`
`CMslot6.
`
`Nil(LRU)
`
`HPE, Exh. 1025, p. 11
`
`

`

`Patent Application Publication Mar. 1, 2007 Sheet 11 of 17
`
`US 2007/0050571 A1
`
`F.G. 1 OC
`
`O61
`
`1067
`
`CMslot/
`
`CMslots
`
`CMslot2
`
`Nil(LRU)
`
`
`
`1063
`1064
`1065
`
`NUMBER OF
`DESTAGES
`NUMBER OF
`
`CAPACITY
`
`100GB
`
`
`
`O6
`
`1067
`
`
`
`CMslots
`
`CMslot3
`
`CMslot4
`
`Nil(LRU)
`
`NUMBER OF
`
`NUMBER OF
`
`
`
`O 63
`1064
`1065
`
`1062
`
`
`
`1067
`
`CMSOt1
`
`... 2 > CMslotg
`
`Nil(LRU)
`
`DESTAGE
`RESTRICTION
`NUMBER OF
`DESTAGES
`NUMBER OF
`ACCESSES
`CAPACTY
`
`NONE
`
`10524
`
`113223
`600GB
`
`1066
`1063
`1064
`1065
`
`
`
`HPE, Exh. 1025, p. 12
`
`

`

`Patent Application Publication
`
`Mar. 1, 2007 Sheet 12 of 17
`
`US 2007/0050571 A1
`
`
`
`90 || S.
`
`HPE, Exh. 1025, p. 13
`
`

`

`Patent Application Publication Mar. 1, 2007 Sheet 13 of 17
`
`US 2007/0050571 A1
`
`FG 11B
`
`17: CONTROL MEMORY
`11 : CHANNEL CONTROLLER
`S1121
`S123
`s
`S 1122
`s
`
`HOST WRITE 2
`
`
`
`13: CACHE MEMORY
`
`16: FM CONTROL UNIT/
`14: DISKCONTROLLER
`
`
`
`
`
`2Ls 1124
`
`S1 34
`
`HPE, Exh. 1025, p. 14
`
`

`

`Patent Application Publication Mar. 1, 2007 Sheet 14 of 17
`
`US 2007/0050571 A1
`
`FG12A
`
`DESTAGE/STAGE PROCESSING
`
`
`
`FM
`
`WHAT TYPE OF MEDIUMS
`WRITE DESTINATION?
`HDD
`
`DESTAGE THE OLDEST SLOT USING HDD LIST
`
`
`
`SEARCH FOR
`FM WITH THE SMALLEST NUMBER OF DESTAGES
`
`S 120
`
`S12O2
`
`S 1203
`
`
`
`
`
`
`
`IS THERE A SLOT FOR USE BY THE FM?
`(IS LIST LENGTH NOTZERO?)
`
`
`
`
`
`
`
`
`
`
`
`4.
`SEARCH FOR
`FM WITH THE NEXT SMALLEST NUMBER
`
`NO
`
`DESTAGE THE OLDEST SLOT OF THE FM
`
`ADD 1 TO
`NUMBER OF DESTAGES OF THE MEDIUM
`
`REMOVE
`THE SLOT FROM ORECTORY INFORMATION
`AND ACCESS SECRUENCE LIST
`
`ADD DATA TO BE STAGED TO
`MRU OF DIRECTORY INFORMATION
`AND ACCESS SEQUENCE LIST
`
`STAGE NEW DATA TO THE SLOT
`
`END
`
`S 1208
`
`S1209
`
`
`
`S 1210
`
`HPE, Exh. 1025, p. 15
`
`

`

`Patent Application Publication Mar. 1, 2007 Sheet 15 of 17
`
`US 2007/0050571 A1
`
`FIG.12B
`
`
`
`
`
`
`
`
`
`
`
`DESTAGEISTAGE PROCESSING
`
`SEARCH FOR MEDIUM WITH THE SMALLEST NUMBER
`ox NUMBER OF DESTAGES + B + NUMBER OF ACCESSES)
`(
`
`S1241
`
`S THERE A SLOT FOR THE MEDIUM7
`(ISLIST LENGTHZERO?)
`
`NO
`
`SEARCH FOR
`FM WITH THE NEX SMALLEST NUMBER
`
`
`
`
`
`DESTAGE THE OLDEST SLOT OF THE FM
`
`
`
`ADD 1 TO
`NUMBER OF DESTAGES OF THE MEDUM
`
`
`
`REMOVE
`THE SLOT FROM DIRECTORY INFORMATION
`AND ACCESS SEOUENCE LIST
`
`S 1244
`
`S1245
`
`S 1246
`
`ADD DATA TO BE STAGED TO DIRECTORY INFORMATION
`AND MRU OF ACCESS SECRUENCE LIST
`
`S 1247
`
`STAGE NEW DATA TO THE SLOT
`
`
`
`S 1248
`
`END
`
`HPE, Exh. 1025, p. 16
`
`

`

`Patent Application Publication Mar. 1, 2007 Sheet 16 of 17
`
`US 2007/0050571 A1
`
`FG.13
`
`I
`
`169
`
`69
`
`50
`
`CNJ
`
`. 50
`
`G
`
`review W. J.
`
`C
`
`4
`
`4
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`11
`ZZ
`WI-A
`A/
`AV
`CONTROLLER CONTROLLER FM conTROL UNIT FM conTROL UNIT CONTROLLER
`
`VS TS
`L.
`N N SA
`
`/
`
`
`
`
`
`
`
`CACHE
`MEMORY
`
`CONTROL
`UNIT
`
`STORAGE CONTROLLER
`
`6
`
`CONTROL
`ONT
`MEMO
`RY
`
`
`
`MEMORY
`
`CONTROL
`UNT
`
`-16
`
`
`
`M
`
`CONTROL
`MEMORY
`
`HPE, Exh. 1025, p. 17
`
`

`

`Patent Application Publication Mar. 1, 2007 Sheet 17 of 17
`
`US 2007/0050571 A1
`
`FIG.14
`
`160
`
`HIGHLY-FUNCTIONAL FM CONTROL UNIT
`1 11
`
`161
`
`PROCESSORPROCESSORPROCESSORPROCESSOR
`
`NTERNAL NETWORK iNTERFACE
`
`
`
`
`
`
`
`112
`
`- 113
`PERPHERAL
`CONTROL UNIT
`
`MAIL BOX
`
`1122
`TRANSFER
`LIST
`
`
`
`1641
`
`DMA CONTROLLER
`
`162
`
`67
`
`FMPROTOCOL.
`PROCESSOR
`
`FM PROTOCOL
`PROCESSOR
`
`1610
`
`FM DEVICE
`
`1 610
`
`device
`move
`
`FM DEVICE
`
`FM DEVICE
`
`FM DEVICE
`
`FM DEVICE
`
`more
`
`FM DEVICE
`
`169
`
`FM DEVICE
`
`FM DEVICE
`
`HPE, Exh. 1025, p. 18
`
`

`

`US 2007/0050571 A1
`
`Mar. 1, 2007
`
`STORAGE SYSTEM, STORAGE DEVICE, AND
`CONTROL METHOD THEREOF
`0001. The present application is based on and claims
`priority of Japanese patent applications No. 2005-252989
`filed on Sep. 1, 2005, the entire contents of which are hereby
`incorporated by reference.
`
`BACKGROUND OF THE INVENTION
`
`0002)
`1. Field of the Invention
`0003. The present invention relates to a storage device
`and the control method thereof.
`0004 2. Description of the Related Art
`0005. 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 financial institutions, medical institu
`tions, etc., are required to be stored without being erased by
`law. Under these circumstances, there is much demand for
`highly reliable storage 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 (Nonpatent document; ZHU, Q., DAVID,
`F., ZHOU, Y, DEVARA.J. C., AND CAO, P, “Reducing
`Energy Consumption of Disk Storage Using Power-Aware
`Cache Management”. InProc. of the 10th Intl. Symp. on
`High Performance Computer Architecture (HPCA-10) (Feb
`ruary 2004)). Also, the problem is not limited to the elec
`tricity charges. In general, the floor area for installation
`increases as the capacity of a storage system increases. This
`also increases the total cost of ownership.
`0006 Incidentally, a flash memory attracts attention as a
`nonvolatile medium in recent years. A flash memory com
`monly consumes less than one several-tenth of power when
`compared with an HDD, and can be read at a high speed.
`Also, a flash memory is small sized unlike an HDD having
`a mechanically driven part.
`0007. However, a flash 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 flash memory has been
`improved by a technique called wear leveling, in which the
`number of writing 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 “flash memory’, and a device including a
`mechanism for performing the above-described wear level
`ing, protocol processing for the upper apparatus, etc., is
`called a “flash memory device'. Although some improve
`ments have been made against the restriction on the number
`of writing times as a flash memory device by Such a
`technique, there still exists a restriction on the number of
`writing times of a flash memory device. Also, in addition to
`
`that, there is a drawback in that the throughput of a flash
`memory becomes similar to an HDD when an operation
`called erase becomes necessary at the time of writing to a
`flash memory.
`0008. As a technique for constituting a storage system
`using such a flash memory, there is, for example, Japanese
`Unexamined 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 flash memory in a RAID configuration, 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 flash 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
`0009 Under these circumstances, it is desirable to pro
`vide 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.
`0010 Also, it is desirable to provide a high system
`performance in accordance with the medium for storing
`data.
`0011 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.
`0012. In the present invention, a storage system includes
`a plurality 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 first media having a restriction of the number of
`writing times and a plurality of first medium controllers for
`controlling the first media, and stores data from the host
`computer to the first media.
`0013 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 host
`computer, wherein the media at least partially includes a first
`medium having a restriction on a number of writing times.
`0014. 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 accor
`dance 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
`0015 FIG. 1 is a block diagram of a configuration of a
`storage system according to a first embodiment;
`
`HPE, Exh. 1025, p. 19
`
`

`

`US 2007/0050571 A1
`
`Mar. 1, 2007
`
`0016 FIG. 2 is a block diagram of a detailed configura
`tion of a channel controller 11;
`0017 FIG. 3 is a block diagram of a detailed configura
`tion of an FM control unit 16;
`0018 FIG. 4 is a block diagram of another detailed
`configuration of the FM control unit 16:
`0019 FIG. 5 is a block diagram of another detailed
`configuration of the FM control unit 16:
`0020 FIG. 6 is a block diagram of a detailed configura
`tion of an internal Switch 12;
`0021
`FIG. 7 is a diagram illustrating the processing flow
`when a read request comes from a host computer 2 to an
`HDD 50 area;
`0022 FIG. 8 is a diagram illustrating the processing flow
`when a read request comes from a host computer 2 to a flash
`memory area;
`0023 FIG. 9 is a block diagram illustrating detailed data
`stored in a cache memory 13 and a control memory 17:
`0024 FIG. 10A is a block diagram illustrating details of
`read-cache directory information 1711 and write-cache
`directory information 1172;
`0.025
`FIG. 10B is a block diagram illustrating details of
`known access-sequence lists 1713 and 1714;
`0026 FIG. 10C is a block diagram illustrating details of
`access-sequence lists 1713 and 1714 for performing prefer
`able cache control;
`0027 FIG. 11A is a diagram illustrating the processing
`flow when a write request comes from the host computer 2
`and there is already the data of the address in the cache
`memory 13;
`0028 FIG. 11B is a diagram illustrating the processing
`flow 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:
`0029 FIG. 12A is a diagram illustrating the processing
`for determining a slot to be destaged;
`0030 FIG. 12B is a diagram illustrating the processing
`for determining a slot in consideration of not only the
`number of stages but also the number of accesses;
`0031
`FIG. 13 is a block diagram of a storage system
`according to a second embodiment; and
`0032 FIG. 14 is a block diagram of a highly-functional
`FM control unit 160.
`
`DESCRIPTION OF THE PREFERRED
`EMBODIMENTS
`0033. A description will be given of a best mode of
`embodiment for carrying out the present invention.
`0034. 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
`0035 A description will be given of a first embodiment.
`FIG. 1 is a block diagram of a configuration of a storage
`system according to the first embodiment of the present
`invention. The storage system includes a storage controller
`1, hard disk drives (HDDs) 50, and a flash memory device
`(in the figure, an example of an FM control unit 16 internally
`including flash memory devices is shown). The storage
`controller 1 is connected to a host computer 2 via a channel
`4 through a SAN (Storage Area Network) including a SAN
`Switch 3. Also, the 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 controllers 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 processing as described in
`FIG. 7 and below. The cache memories temporarily stores
`data to be stored in an HDD and a flash 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 configuration 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 FM control units 16 perform the control of flash
`memories or the flash memory devices. The FM control
`units 16 fetch and store the data requested from the host
`computer 2 to the flash memories or the flash 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 flash memory devices in order to improve the reliability,
`availability, and performance 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 configuration 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.
`0036 FIG. 2 is a block diagram of the detailed configu
`ration of the channel controller 11. The channel controller 11
`includes a plurality of processors 111, a memory module
`112, a peripheral control unit 113, a plurality of channel
`protocol processors 114, and an internal network interface
`117. The processors 111 are connected to the peripheral
`control unit 113 through a bus, etc. The peripheral control
`unit 113 is connected 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 peripheral control unit 113 receives a
`packet from the connected processors 111, the channel
`protocol processors 114, and the internal network interface
`117. If the destination address indicated by the packet falls
`on the memory module 112, the peripheral control unit 113
`performs the processing, and returns data if necessary. Also,
`
`HPE, Exh. 1025, p. 20
`
`

`

`US 2007/0050571 A1
`
`Mar. 1, 2007
`
`if the destination address falls outside, the peripheral control
`unit 113 performs appropriate forwarding. Also, the periph
`eral control unit 113 has a mail box 1131 for the other
`processors 111 to perform communication with the proces
`sor 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 processors 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 processor 114 notifies 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 notification. 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 14
`to store the requested data stored in the HDD 50 into the
`cache memory 13 (this operation is called 'staging”), and
`then causes to transfer the data by the transfer list 1123. If
`the data is stored in the flash memory, the address of the flash
`memory is set in the transfer list. The transfer list is an
`address list in the cache memory 13 or the flash memory. If
`the input/output request is writing, the data from the host
`computer is written into the address described in the list
`through the internal network interface 117 connected the
`data-transfer 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
`subsequent figures. The internal network interface 117 is a
`part to be an interface when communication is performed
`between the inside of the channel controller 11 and the inside
`of the other storage systems 1 through an internal bus 15.
`0037. In this regard, the disk controller 14 has a substan
`tially 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 of the channel 4 and that of
`the disk-side channel 60 may be different. However, the
`processing 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 processed in 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 of the 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 empty area in order
`to 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 availability and the
`performance as the entire HDDs 50, the disk controller 14
`performs the RAID control on the HDD 50 group.
`0038 FIG. 3 is a block diagram of the detailed configu
`ration of the FM control unit 16, in which flash memories are
`integrated. 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 control
`ler 163 for controlling the memory module, flash memories
`166 (FM in the figure), FM controllers 165 which control the
`flash memories. The internal network interface 161 is a part
`to be an interface between the inside of the FM control unit
`16 and the inside of the other storage controller 1 through the
`internal bus 15. The DMA controller 162 in the FM control
`unit 16 performs data transfer from the cache memory 13 to
`the flash memory 166 using the transfer list 1641 set by the
`processor 111 of the channel controller 11 in the case of
`creating an empty area in the cache memory when process
`ing a write request from the host computer 2. The FM
`controller 165 controls the flash memory 166 to exchange
`data by a read request made from the channel controller 11
`through the internal network and a write request of the DMA
`controller 162. In FIG. 3, as an embodiment of the flash
`memory 166, it is possible to directly dispose the memory on
`a printed-circuit board. At this time, parts such as the
`connectors, the FM protocol processors in FIG. 4, and
`FM-side channels become unnecessary, and thus it is pos
`sible to achieve more compact storage system. Also, the
`wear leveling for each of the flash memories 166 may be
`performed by the FM controller 165.
`0039 FIG. 4 is a block diagram of another detailed
`configuration of the FM control unit 16. Here, a flash
`memory device 169 is used as a memory element. The flash
`memory device 169 is disposed separately. The flash
`memory device 169 is connected to the FM control unit 16
`through a connector 168, and thus the flash memory device
`is made detachable. Accordingly, 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 possible to 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 employing 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.
`0040 FIG. 5 is a block diagram of another detailed
`configuration of the FM control unit 16. Here, the flash
`memory devices 169 are connected through FM-side chan
`nels 1610. By using this configuration, a larger number of
`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.
`
`HPE, Exh. 1025, p. 21
`
`

`

`US 2007/0050571 A1
`
`Mar. 1, 2007
`
`Also, part of the area of the flash memory devices 169 may
`be used as an urgent destage area 1690 described below.
`0041
`FIG. 6 is a block diagram of a detailed configura
`tion of the internal switch 12. The internal switch 12
`includes an internal network interface 121 and a plurality of
`selectors 122. The selector 122 analyzes the 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 connected to the request destination. At that
`time, each of the selectors performs the contention of the
`internal network interface 121 of the request-transfer desti
`nation. The internal switch 12 makes it 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 con
`troller 11.
`0.042
`FIG. 7 is a diagram illustrating the processing flow
`when a read request comes from the host computer 2 to an
`HDD 50 area. The channel controller 11 receives a read
`request from the host computer 2 through the channel 4 (step
`s701). The processor 111 of the channel controller 11
`analyzes the received request and obtains an LUN and a
`target logical block address. Here, the processor 111 knows
`that the data is in an area to be stored in the HDD 50 (step
`s702). Furthermore, the processor 111 of the channel con
`troller 11 accesses the directory information of the write
`cache area and the read cache area, which is stored in the
`control memory 17, and checks whether there is the data
`stored in the cache memory 13 (steps s703 and s704. In the
`figure, accessed once. However, sometimes accessed a plu
`rality of times in reality. This is the same in the following).
`If there is already the data in cache memory 13, the
`processor 111 responds to the host computer 2 by the
`processing of steps715 and after. Here, the data is assumed
`not to be in the cache memory 13. In this case, the disk
`controller is caused to transfer the data to the cache memory
`13 (staging). However, is there is no empty area in the cache
`memory 13, the cache area for storing the data needs to be
`created before the staging. In steps s705 and s706, a deter
`mination operation is performed on which area is used for
`the empty area. After the area is obtained, a staging request
`is made to the disk controller 14 by writing a message into
`a communication area 173 of the control memory 17 (step
`s707). The disk controller 14 knows that there is a request
`from the channel controller 11 by reading the communica
`tion area 173 of the control memory 17 periodically or at
`each completion of a series of processing (steps s708 and
`s709

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