US7979663B2 - Storage apparatus having unused physical area autonomous management function - Google Patents
Storage apparatus having unused physical area autonomous management function Download PDFInfo
- Publication number
- US7979663B2 US7979663B2 US12/039,777 US3977708A US7979663B2 US 7979663 B2 US7979663 B2 US 7979663B2 US 3977708 A US3977708 A US 3977708A US 7979663 B2 US7979663 B2 US 7979663B2
- Authority
- US
- United States
- Prior art keywords
- data pattern
- physical extent
- data
- extent
- host computer
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active, expires
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0662—Virtualisation aspects
- G06F3/0665—Virtualisation aspects at area level, e.g. provisioning of virtual or logical volumes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/78—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
- G06F21/80—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in storage media based on magnetic or optical technology, e.g. disks with sectors
- G06F21/805—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in storage media based on magnetic or optical technology, e.g. disks with sectors using a security table for the storage sub-system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0608—Saving storage space on storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/062—Securing storage systems
- G06F3/0623—Securing storage systems in relation to content
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0652—Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
Definitions
- the invention relates to a storage apparatus which comprises a plurality of storage media such as HDDs and, more particularly, to a storage apparatus which has an unused physical area autonomous management function of creating a virtual logical disk, and assuring a physical area in correspondence with an actual use size.
- a storage apparatus which comprises storage media such as HDDs to configure an array
- storage media such as HDDs to configure an array
- a correspondence between a logical volume in which a host apparatus which uses the storage apparatus accesses a subsystem that manages the array, and the array configured by one or more storage media that define that logical volume is fixed, and the ratio of an area which is not used as the logical volume in practice becomes high, resulting in a large waste.
- the invention has been made in consideration of the above situation, and has as its first object to provide a storage apparatus which allows an unused physical extent on a logical disk to be reused for another application without requiring any management information of each unused sector, so as to solve the aforementioned problem 1.
- the invention takes the following measures.
- a first aspect of the invention is directed to a storage apparatus which configures an array that combines one or more storage media and defines storage areas of the storage media as a continuous single area, segments an entire area of the array into a plurality of physical extents, and configures and allocates a logical disk recognizable from a host computer by combining one or more physical extents.
- This storage apparatus comprises a unit configured to manage correspondences of the physical extents on the logical disk accessed from the host computer, and to assure a physical extent corresponding to a logical extent of interest of logical extents as areas of the logical disk associated with the physical extents every time a write access is received to a logical extent corresponding to the physical extent not assuring from the host computer.
- the apparatus comprises a unit configured to generate a predetermined data pattern and to return the predetermined data pattern as read data in response to a read request from the host computer. Furthermore, the apparatus comprises a deleting unit configured to detect whether or not an entire area of the assured physical extent defines the predetermined data pattern by checking a data pattern of a storage area every time an access to the storage media is made or periodically, and to delete, when the entire area of the assured physical extent defines the predetermined data pattern, a logical disk allocation of the assured physical extent.
- the apparatus comprises a unit configured to detect, when the host computer issues a delete request of data of a file created on the logical disk, that the entire area of the assured physical extent defines the predetermined data pattern by writing the predetermined data pattern in a storage area where the data to be deleted was stored, to release the assured physical extent, and to return the predetermined data pattern when the host computer issues a read request to the released physical extent.
- a second aspect of the invention is directed to the storage apparatus according to claim 1 , which further comprises a unit configured to define an initial correspondence between the physical extent and the logical disk, and to initialize the entire area of the physical extent by the predetermined data pattern upon defining the correspondence.
- a third aspect of the invention is directed to the storage apparatus according to the first aspect of the invention, wherein the deleting unit makes a disk drive access which aims at a patrol including at least one of RAID redundancy data consistency confirmation of the array and disk media access availability check simultaneously with the checking.
- a fourth aspect of the invention is directed to the storage apparatus according to the first aspect of the invention, wherein the deleting unit checks the data pattern of the storage area in turn from a first sector of the physical extent, holds an unused end address as an address of a last sector of the continuous predetermined data pattern, sets an address of a sector immediately before checked sectors which undergo a write access as the unused end address when the write access is made to the checked sectors, determines that the entire area of the physical extent is unused when the unused end address matches an end address of the physical extent, and deletes the logical disk allocation of the physical extent.
- a fifth aspect of the invention is directed to the storage apparatus according to the fourth aspect of the invention, which further comprises a buffer memory configured to temporarily store data corresponding to a write request from the host computer before the data is written in the storage media, and a data bus configured to connect the storage media and the buffer memory.
- the deleting unit checks the data pattern of the storage area on the data bus upon making a direct memory access between the storage media and the buffer memory, and when the deleting unit detects sectors of the predetermined data pattern, and when addresses of the sectors include an address which neighbors the unused end address in a direction to increment an address, the deleting unit sets an end address of the access with the predetermined data pattern, which includes the neighboring address, as a new unused end address.
- a sixth aspect of the invention is directed to the storage apparatus according to the fourth aspect of the invention, wherein the deleting unit checks the data pattern on the data bus not for all sectors but for only data with a predetermined size in a predetermined area in one or a plurality of predetermined sectors, and when the data matches the predetermined pattern data, the deleting unit checks the data pattern for all the sectors.
- a seventh aspect of the invention is directed to the storage apparatus according to the first aspect of the invention, which further comprises a unit configured to transfer, when a read access to a logical extent, to which the physical extent is not allocated, is received from the host computer, the predetermined data pattern to the host computer as read data.
- An eighth aspect of the invention is directed to the storage apparatus according to the first aspect of the invention, wherein a plurality of predetermined data patterns exist.
- the deleting unit detects whether or not the entire area of the assured physical extent defines one of the plurality of predetermined data patterns. When the deleting unit detects that the entire area of the assured physical extent defines one of the plurality of predetermined data patterns, it deletes the logical disk allocation of the assured physical extent.
- the storage apparatus further comprises a unit configured to hold predetermined data pattern types for the logical extents, and to return, when a read request is received from the host computer, a data pattern corresponding to the data pattern type held in association with the corresponding logical extent to the host computer.
- a predetermined data pattern is written in a deleted sector area, and an unused physical area can be autonomously recognized by detecting this predetermined data pattern for respective sectors.
- a physical extent which is unused on a logical disk can be reused for another application without requiring management information of each unused sector, thus solving problem 1.
- problem 2 since data can be prevented from being read from the host apparatus, problem 2 can be solved.
- FIG. 1 is a block diagram showing an example of the arrangement of a storage apparatus according to the first embodiment of the invention
- FIG. 2 is a schematic view for explaining the configuration of a logical disk
- FIG. 3 is a schematic view showing an example of correspondences between physical extents and logical extends
- FIG. 4 is a view for explaining determination of an unused end address by pattern matching
- FIG. 5 is a view for explaining determination of an unused end address by pattern matching
- FIG. 6 is a view for explaining determination of an unused end address by pattern matching
- FIG. 7 is a view for explaining an initial state upon allocating a physical extent to a logical disk
- FIG. 8 shows an all-0 data pattern
- FIG. 9 is a schematic view showing an example of correspondences between physical extents and logical extends.
- FIG. 10 is a block diagram showing an example of the arrangement of a storage apparatus according to the second embodiment.
- FIGS. 11A and 11B respectively show an all-0 data pattern and an all-1 data pattern
- FIG. 12 is a view showing an example of a correspondence table between the data pattern numbers and logical extent numbers held by a data pattern type holding unit.
- FIG. 1 is a block diagram showing an example of the arrangement of a storage apparatus 10 according to the first embodiment of the invention.
- FIG. 2 is a schematic view for explaining the configuration of a logical disk.
- a storage apparatus 10 configures an array 100 which combines one or more storage media (in the following description, HDDs 25 (#1 to #n) will be used to explain these storage media although the invention is not limited to them) and defines storage areas of the HDDs 25 (#1 to #n) as a continuous single area, segments the entire area of the array 100 into a plurality of physical extents 101 (A), 101 (B), . . . , and configures and allocates a logical disk 102 which is recognizable from a host computer 30 by combining one or more physical extents 101 .
- Such storage apparatus 10 comprises the aforementioned array 100 and a storage controller 11 which manages the array 100 .
- the storage controller 11 comprises a host interface 12 , buffer memory 13 , cache management unit 14 , physical extent assurance unit 15 , data pattern generation response unit 16 , pattern matching unit 18 , physical extent release unit 19 , initialization unit 20 , and disk interface 23 . These units 13 to 20 and 23 are connected to each other via a data bus 24 .
- the host interface 12 controls data exchange between the host computer 30 and the storage apparatus 10 .
- the host interface 12 receives data such as a write access, read access, and the like from the host computer 30 , and transfers the received data to the units 13 to 20 via the data bus 24 . Also, the host interface 12 receives data output from the units 13 to 20 to the host computer 30 , and returns the received data to the host computer 30 . Note that data exchange with the buffer memory 13 is made via the cache management unit 14 .
- the disk interface 23 controls exchange of read and write data with the HDDs 25 in the array 100 .
- the disk interface 23 transfers data from the units 13 to 20 to the array 100 , and transfers data acquired from the array 100 to the units 13 to 20 . Note that data exchange with the buffer memory 13 is made via the cache management unit 14 .
- the physical extent assurance unit 15 manages correspondences of the physical extents 101 with the logical disk 102 accessed from the host computer 30 , and assures a correspondence of the physical extent 101 corresponding to a logical extent 103 of interest of those as areas of the logical disk 102 associated with the physical extents 101 every time a write access is received from the host computer 30 .
- Such function is also called a virtual logical volume function.
- FIG. 2 shows that a logical extent 103 (A) and physical extent 101 (A), and a logical extent 103 (B) and physical extent 101 (B) respectively have correspondences between them.
- the physical extent assurance unit 15 manages and assures such correspondences.
- the data pattern generation response unit 16 generates a predetermined data pattern, e.g., an all-0 data pattern. Upon reception of a read request from the host computer 30 to a logical extent to which no physical extent is allocated, the data pattern generation response unit 16 returns this predetermined data pattern as read data to the host computer 30 via the host interface 12 .
- the pattern matching unit 18 detects whether or not the entire physical extent 101 assured by the physical extent assurance unit 15 defines a predetermined data pattern by checking a data pattern of a storage area every access to the HDDs 25 via the disk interface 23 or periodically. If the pattern matching unit 18 detects that the entire assured physical extent 101 defines the predetermined data pattern, it deletes the allocation of the assured physical extent 101 to the logical disk 102 like the physical extent 101 (B) and logical extent 103 (B) shown in FIG. 3 . Such checking of the data pattern of the storage area is made simultaneously with disk drive accesses which aim at patrols such as RAID redundancy data consistency confirmation of the array 100 , disk media access availability check, and the like.
- the pattern matching unit 18 Upon checking a data pattern of the storage area, the pattern matching unit 18 checks in turn from the first sector (sector 0 ) of the physical extent 101 , and holds an unused end address (sector p) as an address of the last sector of the continuous predetermined data pattern, as in an example shown in FIG. 4 . As shown in an example of FIG. 5 , when a write access is made to a checked sector (sector k), the pattern matching unit 18 sets the address of a sector (sector k ⁇ 1) immediately before the sector (sector k) to which the write access is made as the unused end address.
- the pattern matching unit 18 determines that the entire area of that physical extent 101 are unused, and deletes the allocation of that physical extent 101 to the logical disk 102 . In this way, the storage capacity of the HDDs 25 can be effectively used.
- the pattern matching unit 18 checks the data pattern of the storage area on the data bus 24 when a direct memory access (DMA) is made between the HDDs 25 and buffer memory 13 via the cache management unit 14 . For example, when the pattern matching unit 18 detects sectors (sectors 0 to k ⁇ 1) of a predetermined data pattern, as shown in FIG. 6 , and when the addresses of the sectors include an address (sector k) which neighbors the unused end address (sector k ⁇ 1) in a direction to increment an address, the pattern matching unit 18 sets an unused end address of an access by the predetermined data pattern including the neighboring address (sector k) as a new unused end address.
- DMA direct memory access
- the pattern matching unit 18 checks the data pattern on the data bus 24 not for all sectors (sector 0 to n ⁇ 1) but for only data of a predetermined size in a predetermined area in one or a plurality of predetermined sectors. If that data matches the predetermined data pattern, the pattern matching unit 18 checks a data pattern for all the sectors (sector 0 to n ⁇ 1). In this manner, the load on the storage apparatus 10 upon execution of pattern matching is reduced.
- the physical extent release unit 19 releases the assured physical extent 101 when the pattern matching unit 18 determines that the entire physical extent 18 defines the predetermined data pattern.
- the initialization unit 20 defines an initial correspondence between the physical extent 101 and the logical disk 102 .
- the initialization unit 20 initializes some or all of the sectors (sectors 0 to n ⁇ 1) of the entire area of the physical extent 101 shown in FIG. 7 by a predetermined data pattern, e.g., an all ⁇ 0 data pattern, as shown in, e.g., FIG. 8 .
- a predetermined data pattern e.g., an all ⁇ 0 data pattern
- the physical extent 101 When the entire area of the physical extent 101 including sectors in which data has never been written becomes unused or available again, the physical extent 101 is released. Note that such initialization of the physical extent 101 may be done at any timing before the physical extent 101 is allocated to the logical disk 102 . That is, such initialization can be done at a first startup timing of the storage apparatus 10 , an allocation timing of the physical extent 101 to the logical extent 103 , a release timing of allocation, to the logical disk 102 , of the physical extent 101 allocated once to the logical disk 102 , and the like.
- the cache management unit 14 Upon reception of a write request from the host computer 30 , the cache management unit 14 temporarily stores this data in the buffer memory 13 before that data is written in the HDDs 25 .
- the buffer memory 13 temporarily stores data corresponding to a write request from the host computer 30 under the management of the cache management unit 14 before that data is written in the HDDs 25 .
- the storage apparatus 10 is initialized when the initialization unit 20 writes, for example, all-0 data shown in FIG. 8 as data of respective sectors in the physical extent 101 which is not allocated to the logical disk 102 .
- the host computer 30 creates a file system on the logical disk 102 via the host interface 12 and disk interface 23 , and writes files.
- the physical extent assurance unit 15 assures the physical extent 101 corresponding to the logical extent 103 corresponding to an area where the write access has occurred, and data is written at that address.
- the pattern matching unit 18 sets, as an unused end address, a sector address immediately before a sector with the smallest address of sectors in the physical extent 101 where the data write has occurred.
- the host computer 30 Upon deleting a written file, the host computer 30 writes a predetermined data pattern, e.g., an all-0 data pattern shown in FIG. 8 in sectors where the file was stored.
- a predetermined data pattern e.g., an all-0 data pattern shown in FIG. 8 in sectors where the file was stored.
- the pattern matching unit 18 detects the predetermined data pattern when the cache management unit 14 performs DMA transfer to the HDDs 25 in the storage apparatus 10 . Furthermore, in this case, when the write address neighbors the unused end address in the physical extent 101 in a direction to increment an address, the end address of the write access range is set as an unused end address.
- the data pattern generation response unit 16 Upon reception of a read access of sectors on the logical extent having no write access history from the host computer 30 , that logical extent is not associated with the physical extent, and the data pattern generation response unit 16 generates a predetermined data pattern, e.g., an all-0 data pattern, and returns that data pattern to the host computer 30 via the host interface 12 .
- a predetermined data pattern e.g., an all-0 data pattern
- the pattern matching unit 18 determines that the entire area of the physical extent 101 becomes unused from the host computer 30 , and the physical extent release unit 19 deletes the allocation of that physical extent 101 to the logical disk 102 .
- pattern matching unit 18 checks the data pattern of the storage area simultaneously with disk drive accesses which aim at patrols such as RAID redundancy data consistency confirmation of the array 100 , disk media access availability check, and the like will be described.
- the storage apparatus 10 is initialized when the initialization unit 20 writes, for example, all-0 data shown in FIG. 8 as data of respective sectors in the physical extent 101 which is not allocated to the logical disk 102 .
- the host computer 30 creates a file system on the logical disk 102 via the host interface 12 and disk interface 23 , and writes files.
- the physical extent assurance unit 15 assures the physical extent 101 corresponding to the logical extent 103 corresponding to an area where the write access has occurred, and data is written at that address.
- the pattern matching unit 18 sets, as an unused end address, a sector address immediately before a sector with the smallest address of sectors in the physical extent 101 where the data write has occurred.
- the host computer 30 Upon deleting a written file, the host computer 30 writes a predetermined data pattern, e.g., an all-0 data pattern shown in FIG. 8 in sectors where the file was stored.
- a predetermined data pattern e.g., an all-0 data pattern shown in FIG. 8 in sectors where the file was stored.
- the pattern matching unit 18 After execution of the write access of the predetermined write pattern in this way, the pattern matching unit 18 makes a data read to check RAID redundancy at predetermined cycles, and checks, in turn from the first sector of the physical extent 101 , whether or not the readout sectors correspond to a file unused area having a specific data pattern, in addition to the redundancy check.
- the pattern matching unit 18 holds, as an unused end address, the maximum address of the continuous predetermined data pattern in the physical extent 101 .
- the entire area of the physical extent 101 matches the predetermined data pattern which continuously indicates unused sectors, it is determined that the entire area of the physical extent 101 is unused, and the allocation of the physical extent 101 to the logical disk 102 is deleted. Then, that physical extent 101 is set as a waiting physical extent 101 which can be allocated to another logical disk 102 .
- the pattern matching unit 18 Upon reception of a write access to an address smaller than the unused end address in the physical extent 101 from the host computer 30 before the pattern matching unit 18 determines that the entire area of the physical extent 101 is unused, the pattern matching unit 18 updates the unused end address in the physical extent 101 to an address immediately before the smallest address of the received write access, and continues to check a data pattern at predetermined cycles to have a sector next to the unused end address in the physical extent 101 as the start point.
- the host apparatus 30 writes a predetermined data pattern in a deleted sector area, and this predetermined data pattern is detected for respective sectors, thus autonomously recognizing an unused physical area.
- a physical extent 101 unused on the logical disk 102 can be effectively reused for another application without requiring any management information of each unused sector and without imposing another processing load.
- FIG. 10 is a block diagram showing an example of the arrangement of a storage apparatus according to the second embodiment.
- the respective units in the storage controller 11 handle a plurality of predetermined data patterns.
- the data pattern generation response unit 16 generates not only one type of data pattern, e.g., an all-0 data pattern, but also some different data patterns such as a pattern, e.g., an all-1 data pattern, and the like. Accordingly, the pattern matching unit 18 detects whether or not the entire area of the assured physical extent 101 defines one of the plurality of predetermined data patterns.
- the pattern matching unit 18 If the pattern matching unit 18 detects that the entire area of the assured physical extent 101 defines one of the plurality of predetermined data patterns, it deletes the allocation of the assured physical extent 101 to the logical disk 102 .
- Other units handle the plurality of types of data patterns, as will be described in an operation example to be described later.
- the storage apparatus according to this embodiment shown in FIG. 10 has an arrangement obtained by adding a data pattern type holding unit 22 to the storage apparatus according to the first embodiment shown in FIG. 1 .
- the data pattern type holding unit 22 holds predetermined data types for the logical extents 103 . Upon reception of a read request from the host computer 30 , the data pattern type holding unit 22 returns a data pattern corresponding to the data pattern type held in association with the corresponding logical extent 103 to the host computer 30 .
- the respective logical extents 103 are assigned numbers that can specify them.
- Sectors on the unallocated physical extent 101 are initialized by a predetermined data pattern shown in FIG. 11A by the initialization unit 20 , and a pattern number corresponding to this data pattern is held by the data pattern type holding unit 22 .
- the data pattern type holding unit 22 holds a correspondence table between pattern numbers corresponding to the data patterns and the numbers of the logical extents 103 , as shown in FIG. 12 .
- the data pattern type holding unit 22 Upon reception of a read request to the logical extent 103 , to which no physical extent 101 is allocated, from the host computer 30 , the data pattern type holding unit 22 acquires the pattern number of the data pattern with reference to the correspondence table shown in FIG. 12 . The data pattern type holding unit 22 returns the data pattern corresponding to this pattern number to the host computer 30 as read data.
- the disk interface 23 upon reception of a read request to the logical extent 103 , to which the physical extent 101 is allocated, from the host computer 30 , the disk interface 23 actually makes a read access from a storage area corresponding to the physical extent 101 , and read data is returned to the host computer 30 via the host interface 12 .
- the pattern matching unit 18 determines that the entire area of the physical extent 101 corresponds to one of the predetermined data patterns in the logical extent to which the physical extent 101 has already been allocated, a new correspondence is added to the correspondence table shown in FIG. 12 , which is held in the data pattern type holding unit 22 , and the allocation of the physical extent 101 to the local disk 102 is released.
Abstract
Description
Claims (7)
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007057531A JP4331220B2 (en) | 2007-03-07 | 2007-03-07 | Storage device with autonomous management function of unused physical area |
JP2007-057531 | 2007-03-07 |
Publications (2)
Publication Number | Publication Date |
---|---|
US20080228990A1 US20080228990A1 (en) | 2008-09-18 |
US7979663B2 true US7979663B2 (en) | 2011-07-12 |
Family
ID=39763813
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US12/039,777 Active 2029-12-18 US7979663B2 (en) | 2007-03-07 | 2008-02-29 | Storage apparatus having unused physical area autonomous management function |
Country Status (3)
Country | Link |
---|---|
US (1) | US7979663B2 (en) |
JP (1) | JP4331220B2 (en) |
CN (1) | CN101272332B (en) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100082896A1 (en) * | 2008-10-01 | 2010-04-01 | Hitachi, Ltd. | Storage system for controlling assignment of storage area to virtual volume storing specific pattern data |
US20120254514A1 (en) * | 2011-03-28 | 2012-10-04 | Kabushiki Kaisha Toshiba | Memory system, controller, and method for controlling memory system |
US8291194B2 (en) | 2009-11-16 | 2012-10-16 | Mediatek Inc. | Methods of utilizing address mapping table to manage data access of storage medium without physically accessing storage medium and related storage controllers thereof |
US20140297988A1 (en) * | 2013-03-28 | 2014-10-02 | Fujitsu Limited | Storage device, allocation release control method |
US9489388B2 (en) | 2012-09-28 | 2016-11-08 | Samsung Electronics Co., Ltd. | Computing system, host system and method for managing data |
US20180129672A1 (en) * | 2015-05-27 | 2018-05-10 | Huawei Technologies Co., Ltd. | Method and apparatus for accessing file, and storage system |
US10698807B2 (en) | 2016-11-16 | 2020-06-30 | Samsung Electronics Co., Ltd. | Computer system and method of operating the same |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4646526B2 (en) * | 2004-02-18 | 2011-03-09 | 株式会社日立製作所 | Storage control system and control method thereof |
US8219740B2 (en) * | 2008-06-25 | 2012-07-10 | International Business Machines Corporation | Flash sector seeding to reduce program times |
JP5234348B2 (en) | 2008-11-21 | 2013-07-10 | 株式会社日立製作所 | Storage system and method for realizing online volume and performance / failure independent and capacity efficient snapshot |
JP4900850B2 (en) * | 2009-04-01 | 2012-03-21 | 日本電気株式会社 | Disk array device, disk array device management method and program |
JP4937362B2 (en) * | 2010-01-19 | 2012-05-23 | 株式会社東芝 | Storage apparatus and storage area management method in the storage apparatus |
US9152573B2 (en) * | 2010-11-16 | 2015-10-06 | Vmware, Inc. | Sharing memory pages having regular expressions within a virtual machine |
JP5472930B2 (en) * | 2010-12-17 | 2014-04-16 | 株式会社東芝 | Storage system provided with disk array device, disk array device, and extent size changing method |
JP5355603B2 (en) * | 2011-01-27 | 2013-11-27 | 株式会社東芝 | Disk array device and logical volume access method |
JP5699712B2 (en) * | 2011-03-17 | 2015-04-15 | ソニー株式会社 | MEMORY CONTROL DEVICE, MEMORY DEVICE, MEMORY CONTROL METHOD, AND PROGRAM |
US9116634B2 (en) * | 2011-06-10 | 2015-08-25 | International Business Machines Corporation | Configure storage class memory command |
US9058275B2 (en) | 2011-06-10 | 2015-06-16 | International Business Machines Corporation | Data returned responsive to executing a start subchannel instruction |
CN103677726B (en) | 2012-09-02 | 2017-03-01 | 元太科技工业股份有限公司 | Double-screen electronic device and detachable display module thereof |
JP5606583B2 (en) * | 2013-05-10 | 2014-10-15 | 株式会社日立製作所 | Storage device and control method for the same |
JP6142860B2 (en) | 2014-11-05 | 2017-06-07 | 日本電気株式会社 | Disk array device, disk control device, solid state drive, disk control method, and program therefor |
CN107436729B (en) * | 2016-05-27 | 2020-04-14 | 合肥沛睿微电子股份有限公司 | Control device of storage system and storage space recovery method thereof |
US10922242B2 (en) * | 2018-10-09 | 2021-02-16 | Western Digital Technologies, Inc. | Adaptable logical to physical tables for multiple sector pattern support |
Citations (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6530035B1 (en) * | 1998-10-23 | 2003-03-04 | Oracle Corporation | Method and system for managing storage systems containing redundancy data |
US6564307B1 (en) * | 1999-08-18 | 2003-05-13 | International Business Machines Corporation | Method, system, and program for logically erasing data |
US6636941B1 (en) * | 2000-01-18 | 2003-10-21 | International Business Machines Corporation | Enhanced stable disk storage |
US6789161B1 (en) * | 1998-07-06 | 2004-09-07 | Storage Technology Corporation | Method for controlling reutilization of data space in virtual tape system |
US6898670B2 (en) * | 2000-04-18 | 2005-05-24 | Storeage Networking Technologies | Storage virtualization in a storage area network |
JP2005234820A (en) | 2004-02-18 | 2005-09-02 | Hitachi Ltd | Storage control system and control method for the system |
US7024526B2 (en) | 2002-10-31 | 2006-04-04 | Hitachi, Ltd. | Apparatus and method of null data skip remote copy |
US7162600B2 (en) * | 2005-03-29 | 2007-01-09 | Hitachi, Ltd. | Data copying method and apparatus in a thin provisioned system |
US7275139B1 (en) * | 2004-12-02 | 2007-09-25 | Tormasov Alexander G | Secure deletion of information from hard disk drive |
US20080183777A1 (en) * | 2007-01-31 | 2008-07-31 | Agency For Science, Technology And Research | File system for a storage device, methods of allocating storage, searching data and optimising performance of a storage device file system |
US20080263293A1 (en) * | 2007-04-19 | 2008-10-23 | Gregory Tad Kishi | Method for Selectively Performing a Secure Data Erase to Ensure Timely Erasure |
US7574560B2 (en) * | 2006-01-03 | 2009-08-11 | Emc Corporation | Methods, systems, and computer program products for dynamic mapping of logical units in a redundant array of inexpensive disks (RAID) environment |
US20090240880A1 (en) * | 2008-03-21 | 2009-09-24 | Hitachi, Ltd. | High availability and low capacity thin provisioning |
US7613945B2 (en) * | 2003-08-14 | 2009-11-03 | Compellent Technologies | Virtual disk drive system and method |
US20100042802A1 (en) * | 2008-08-15 | 2010-02-18 | International Business Machines Corporation | Management of recycling bin for thinly-provisioned logical volumes |
US20100262802A1 (en) * | 2009-04-13 | 2010-10-14 | Microsoft Corporation | Reclamation of Thin Provisioned Disk Storage |
US7831560B1 (en) * | 2006-12-22 | 2010-11-09 | Symantec Corporation | Snapshot-aware secure delete |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1322427C (en) * | 2005-02-25 | 2007-06-20 | 清华大学 | Universal method for dynamical management of storage resource under Windows platform |
CN1304961C (en) * | 2005-03-11 | 2007-03-14 | 清华大学 | Memory virtualized management method based on metadata server |
-
2007
- 2007-03-07 JP JP2007057531A patent/JP4331220B2/en active Active
-
2008
- 2008-02-29 US US12/039,777 patent/US7979663B2/en active Active
- 2008-03-07 CN CN2008100821826A patent/CN101272332B/en active Active
Patent Citations (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6789161B1 (en) * | 1998-07-06 | 2004-09-07 | Storage Technology Corporation | Method for controlling reutilization of data space in virtual tape system |
US6530035B1 (en) * | 1998-10-23 | 2003-03-04 | Oracle Corporation | Method and system for managing storage systems containing redundancy data |
US6564307B1 (en) * | 1999-08-18 | 2003-05-13 | International Business Machines Corporation | Method, system, and program for logically erasing data |
US6636941B1 (en) * | 2000-01-18 | 2003-10-21 | International Business Machines Corporation | Enhanced stable disk storage |
US6898670B2 (en) * | 2000-04-18 | 2005-05-24 | Storeage Networking Technologies | Storage virtualization in a storage area network |
US7024526B2 (en) | 2002-10-31 | 2006-04-04 | Hitachi, Ltd. | Apparatus and method of null data skip remote copy |
US7613945B2 (en) * | 2003-08-14 | 2009-11-03 | Compellent Technologies | Virtual disk drive system and method |
JP2005234820A (en) | 2004-02-18 | 2005-09-02 | Hitachi Ltd | Storage control system and control method for the system |
US7275139B1 (en) * | 2004-12-02 | 2007-09-25 | Tormasov Alexander G | Secure deletion of information from hard disk drive |
US7162600B2 (en) * | 2005-03-29 | 2007-01-09 | Hitachi, Ltd. | Data copying method and apparatus in a thin provisioned system |
US7574560B2 (en) * | 2006-01-03 | 2009-08-11 | Emc Corporation | Methods, systems, and computer program products for dynamic mapping of logical units in a redundant array of inexpensive disks (RAID) environment |
US7831560B1 (en) * | 2006-12-22 | 2010-11-09 | Symantec Corporation | Snapshot-aware secure delete |
US20080183777A1 (en) * | 2007-01-31 | 2008-07-31 | Agency For Science, Technology And Research | File system for a storage device, methods of allocating storage, searching data and optimising performance of a storage device file system |
US20080263293A1 (en) * | 2007-04-19 | 2008-10-23 | Gregory Tad Kishi | Method for Selectively Performing a Secure Data Erase to Ensure Timely Erasure |
US20090240880A1 (en) * | 2008-03-21 | 2009-09-24 | Hitachi, Ltd. | High availability and low capacity thin provisioning |
US20100042802A1 (en) * | 2008-08-15 | 2010-02-18 | International Business Machines Corporation | Management of recycling bin for thinly-provisioned logical volumes |
US20100262802A1 (en) * | 2009-04-13 | 2010-10-14 | Microsoft Corporation | Reclamation of Thin Provisioned Disk Storage |
Non-Patent Citations (3)
Title |
---|
"3PAR Thin Provisioning," http://www.3par.com/products/thinprovisioning.html. |
Joukov et al. Adding secure deletion to your favorite file system. Security in Storage Workshop, Dec. 13, 2005. SISW '05. Third IEEE International. * |
Notice of Reasons for Rejection mailed Feb. 3, 2009 from Japanese Patent Office for a corresponding Japanese Patent Application No. 2007-057531. |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9047016B2 (en) * | 2008-10-01 | 2015-06-02 | Hitachi, Ltd. | Storage system for controlling assignment of storage area to virtual volume storing specific pattern data |
US20120011311A1 (en) * | 2008-10-01 | 2012-01-12 | Hitachi, Ltd. | Storage system for controlling assignment of storage area to virtual volume storing specific pattern data |
US20150234748A1 (en) * | 2008-10-01 | 2015-08-20 | Hitachi, Ltd. | Storage system for controlling assignment of storage area to virtual volume storing specific pattern data |
US20100082896A1 (en) * | 2008-10-01 | 2010-04-01 | Hitachi, Ltd. | Storage system for controlling assignment of storage area to virtual volume storing specific pattern data |
US8793461B2 (en) * | 2008-10-01 | 2014-07-29 | Hitachi, Ltd. | Storage system for controlling assignment of storage area to virtual volume storing specific pattern data |
US8291194B2 (en) | 2009-11-16 | 2012-10-16 | Mediatek Inc. | Methods of utilizing address mapping table to manage data access of storage medium without physically accessing storage medium and related storage controllers thereof |
US9053007B2 (en) * | 2011-03-28 | 2015-06-09 | Kabushiki Kaisha Toshiba | Memory system, controller, and method for controlling memory system |
US20120254514A1 (en) * | 2011-03-28 | 2012-10-04 | Kabushiki Kaisha Toshiba | Memory system, controller, and method for controlling memory system |
US9489388B2 (en) | 2012-09-28 | 2016-11-08 | Samsung Electronics Co., Ltd. | Computing system, host system and method for managing data |
US20140297988A1 (en) * | 2013-03-28 | 2014-10-02 | Fujitsu Limited | Storage device, allocation release control method |
US20180129672A1 (en) * | 2015-05-27 | 2018-05-10 | Huawei Technologies Co., Ltd. | Method and apparatus for accessing file, and storage system |
US10846265B2 (en) * | 2015-05-27 | 2020-11-24 | Huawei Technologies Co., Ltd. | Method and apparatus for accessing file, and storage system |
US10698807B2 (en) | 2016-11-16 | 2020-06-30 | Samsung Electronics Co., Ltd. | Computer system and method of operating the same |
US10846213B2 (en) | 2016-11-16 | 2020-11-24 | Samsung Electronics Co., Ltd. | Memory device and method of operating the same |
Also Published As
Publication number | Publication date |
---|---|
JP4331220B2 (en) | 2009-09-16 |
JP2008217689A (en) | 2008-09-18 |
US20080228990A1 (en) | 2008-09-18 |
CN101272332A (en) | 2008-09-24 |
CN101272332B (en) | 2011-09-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7979663B2 (en) | Storage apparatus having unused physical area autonomous management function | |
US10126959B2 (en) | Systems and methods for a mass data storage system having a file-based interface to a host and a non-file-based interface to secondary storage | |
US8850114B2 (en) | Storage array controller for flash-based storage devices | |
US7136973B2 (en) | Dual media storage device | |
US8819338B2 (en) | Storage system and storage apparatus | |
JP5437373B2 (en) | Storage system having multiple flash packages | |
KR101769883B1 (en) | Apparatus, system, and method for allocating storage | |
US8489803B2 (en) | Efficient use of flash memory in flash drives | |
US8639898B2 (en) | Storage apparatus and data copy method | |
US9116622B2 (en) | Storage system having nonvolatile semiconductor storage device with nonvolatile semiconductor memory | |
JP6526233B2 (en) | Method for deduplication in a storage system, storage system and controller | |
US20150254186A1 (en) | Information processing device having a plurality of types of memory caches with different characteristics | |
US11543989B2 (en) | Storage system and control method thereof | |
WO2020007030A1 (en) | System controller and system garbage recovery method | |
US10049042B2 (en) | Storage device, semiconductor memory device, and method for controlling same | |
JP2008135055A (en) | Computer system and secondary storage device | |
WO2018055686A1 (en) | Information processing system | |
JP4128206B2 (en) | Computer system and secondary storage device | |
JP5768118B2 (en) | Storage system having multiple flash packages | |
US10732901B2 (en) | Storage system and storage control method | |
JP3832485B2 (en) | Computer system and secondary storage device | |
TW202401232A (en) | Storage system and method of operating storage system | |
JP6138318B2 (en) | Storage system having multiple flash packages | |
JP5945040B2 (en) | Storage system having multiple flash packages | |
CN115686345A (en) | Data processing method and device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: TOSHIBA SOLUTIONS CORPORATION, JAPAN Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:TOMONAGA, KAZUSA;REEL/FRAME:020932/0515 Effective date: 20080416 Owner name: KABUSHIKI KAISHA TOSHIBA, JAPAN Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:TOMONAGA, KAZUSA;REEL/FRAME:020932/0515 Effective date: 20080416 |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
FEPP | Fee payment procedure |
Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
FPAY | Fee payment |
Year of fee payment: 4 |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 8TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1552); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 8 |
|
AS | Assignment |
Owner name: TOSHIBA DIGITAL SOLUTIONS CORPORATION, JAPAN Free format text: CHANGE OF NAME;ASSIGNOR:TOSHIBA SOLUTIONS CORPORATION;REEL/FRAME:048030/0866 Effective date: 20181120 |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 12TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1553); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 12 |