← Back to Patent Explorer
US5652857A Expired / Lapsed US ⏱️ 0.0 years remaining

Disk control apparatus for recording and reproducing compression data to physical device of direct access type

Assignee: Fujitsu Ltd
•
Filing: 1996-01-29
•
Granted: 1997-07-29
•
Expires: 2016-01-29
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract The logic blocks which were swept out from a non-compression cache memory are compressed by a compressing circuit and are combined to a compression group (logic sector size) of a fixed length in which a plurality of compression data are collected by a compression group forming unit. The compression group is stored into a logic sector of a disk drive through a compression cache memory. A correspondence relation with a plurality of logic blocks included in the logic sectors of a disk is registered in a mapping table. In response to a request by the logic block number from the host computer, the logic sector (compression group) of the disk drive is read and written with reference to the mapping table.

Inventors

  • 👤 Hiroyuki Shimoi
  • 👤 Naoaki Okayasu
  • 👤 Satoru Kaneko
  • 👤 Shigeru Honmura
  • 👤 Hidetomo Maeda

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-30 05:52
CPC Classifications
G; G06; G06F; G06F3/00; G06F3/06; G06F3/0601; G06F12/00; G06F12/02; G06F12/08; G06F12/0802; G06F12/0866; G06F3/0602; G06F3/0608; G06F3/0628; G06F3/0638; G06F3/064; G06F3/0668; G06F3/0671; G06F3/0683; G06F3/0689; G11; G11B; G11B20/00; G11B20/00007; G06F2212/00; G06F2212/40; G06F2212/401

Claims Analysis

Total Claims: 41
Claim 1
Independent Claim 447 words
A disk control apparatus comprising: a physical device for receiving an allocation of a logic sector of a predetermined size and for reading and writing data on said logic sector unit basis; a cache memory which is provided between an upper apparatus and said physical device and has a non-compression cache area for storing non-compression data on a logic block unit basis of said upper apparatus and a compression cache area for storing compression data on a unit basis of a compression group having the same size as that of the logic sector of said physical device; a cache table in which at least an address in the cache, a compression flag indicating whether the data is the compression data or not, and an updating flag indicative of the presence or absence of the updating are registered by using a logic block number of said upper apparatus as an index and which is used to manage said cache memory; a hit judging unit for judging whether data of a block number requested from said upper apparatus exists in said cache memory or not; a compressing circuit unit for extracting and compressing the data stored in said non-compression cache area on said logic block unit basis; a compression group forming unit for forming a compression group by collecting the compression data of the logic block unit by said compressing circuit unit and for storing said compression group into said compression cache area; an expanding circuit unit for extracting and expanding the data stored in said compression cache area on said compression group unit basis and for developing the resultant data into said non-compression cache area; a free linked list for managing an empty logic sector of said physical device; a device writing unit for extracting the data stored in said compression cache area on said compression group unit basis and for writing said data into the logic sector which was obtained from said free linked list and is in a vacant state; a mapping table in which at least a logic sector number indicative of a storing position in said physical device, a relative position in said logic sector, and the number of sectors are registered by using said request block number of said upper apparatus as an index and which is used to manage the compression data of said physical device; a device reading unit for reading out the data in said physical device on said compression group unit basis and for transferring to said compression cache area; a write cache control unit for processing a write request from said upper apparatus; and a read cache control unit for processing a read request from said upper apparatus.
Claim 2
Dependent Claim 447 words
A disk control apparatus comprising: a physical device for receiving an allocation of a logic sector of a predetermined size and for reading and writing data on said logic sector unit basis; a cache memory which is provided between an upper apparatus and said physical device and has a non-compression cache area for storing non-compression data on a logic block unit basis of said upper apparatus and a compression cache area for storing compression data on a unit basis of a compression group having the same size as that of the logic sector of said physical device; a cache table in which at least an address in the cache, a compression flag indicating whether the data is the compression data or not, and an updating flag indicative of the presence or absence of the updating are registered by using a logic block number of said upper apparatus as an index and which is used to manage said cache memory; a hit judging unit for judging whether data of a block number requested from said upper apparatus exists in said cache memory or not; a compressing circuit unit for extracting and compressing the data stored in said non-compression cache area on said logic block unit basis; a compression group forming unit for forming a compression group by collecting the compression data of the logic block unit by said compressing circuit unit and for storing said compression group into said compression cache area; an expanding circuit unit for extracting and expanding the data stored in said compression cache area on said compression group unit basis and for developing the resultant data into said non-compression cache area; a free linked list for managing an empty logic sector of said physical device; a device writing unit for extracting the data stored in said compression cache area on said compression group unit basis and for writing said data into the logic sector which was obtained from said free linked list and is in a vacant state; a mapping table in which at least a logic sector number indicative of a storing position in said physical device, a relative position in said logic sector, and the number of sectors are registered by using said request block number of said upper apparatus as an index and which is used to manage the compression data of said physical device; a device reading unit for reading out the data in said physical device on said compression group unit basis and for transferring to said compression cache area; a write cache control unit for processing a write request from said upper apparatus; and a read cache control unit for processing a read request from said upper apparatus.
Claim 3
Dependent Claim 67 words
An apparatus according to claim 1, wherein in the case where the size of said compression data compressed to the logic block unit of said upper apparatus is not a value that is integer times as large as a minimum physical sector of said physical device, said compressing circuit unit adds dummy data so that said size is integer times as large as said minimum physical sector.
Claim 4
Dependent Claim 51 words
An apparatus according to claim 1, wherein when a mishit is judged by said hit judging unit for the write request from said upper apparatus, said write cache control unit stores a write logic block into said non-compression cache area and notifies the end of the process to said upper apparatus.
Claim 5
Dependent Claim 68 words
An apparatus according to claim 1, wherein in the case where a hit in said non-compression cache area is judged by said hit judging unit for the write request from said upper apparatus, said write cache control unit updates the relevant logic block in said non-compression cache area by the write logic block from said upper apparatus and notifies the end of the process to said upper apparatus.
Claim 6
Dependent Claim 88 words
An apparatus according to claim 4, wherein when said logic block in said non-compression cache area is updated, said write cache control unit deletes the logic sector number of said compression group to which said updated logic block belongs from said mapping table and transfers to said free linked list, and further, said write cache control unit transfers the compression data of the other logic blocks belonging to said deleted compression group to said compression group forming unit and sets to combination candidates for forming a new group.
Claim 7
Dependent Claim 91 words
An apparatus according to claim 1, wherein in the case where a hit in said compression cache area is judged by said hit judging unit for the write request in which the logic block number was designated from said upper apparatus, said write cache control unit expands said hit compression data in said compression cache area by said expanding circuit unit, develops into said non-compression cache area, updates the developed data by the write logic block from said upper apparatus, and notifies the end of the process to said upper apparatus.
Claim 8
Dependent Claim 89 words
An apparatus according to claim 6, wherein when the logic block in said non-compression cache area is updated, said write cache control unit deletes the logic sector number of the compression group to which said updated logic block belongs from said mapping table, and transfers to said free linked list, and further, said write cache control unit transfers the compression data of the other logic blocks which belong to said deleted compression group to said compression group forming unit and sets to combination candidates for forming a new group.
Claim 9
Dependent Claim 65 words
An apparatus according to claim 1, wherein when the data is swept out from said non-compression cache area, said write cache control unit extracts the logic blocks in which the updating flag is set from said swept-out data with reference to said cache table, compresses the data by said compressing circuit unit, and supplies the resultant data as combination candidates to said group forming unit.
Claim 10
Dependent Claim 26 words
An apparatus according to claim 1, wherein said write cache control unit sweeps out the data from said non-compression cache area in accordance with an LRU.
Claim 11
Dependent Claim 93 words
An apparatus according to claim 1, wherein when the compression group is swept out from said compression cache area, said write cache control unit allocates the logic sector in the vacant state with reference to said free linked list and allows said logic sector to be written by said device writing unit, and, at the same time, registers the logic block numbers of said plurality of logic blocks which belong to the written compression group, logic sector number, relative position in the logic sector, and the number of sectors into said mapping table.
Claim 12
Dependent Claim 27 words
An apparatus according to claim 10, wherein said write cache control unit sweeps out said compression group from said compression cache area in accordance with an LRU.
Claim 13
Dependent Claim 37 words
An apparatus according to claim 1, wherein said compression group forming unit combines said compression data in accordance with the order of storing into a buffer memory of said compressing circuit unit, thereby forming said compression group.
Claim 14
Dependent Claim 33 words
An apparatus according to claim 1, wherein said compression group forming unit combines candidates in accordance with the order of the data compressed by said compressing circuit unit, thereby forming said compression group.
Claim 15
Dependent Claim 52 words
An apparatus according to claim 1, wherein said compression group forming unit detects the size of said compression data compressed by said compressing circuit unit, forms a candidate list classified by data size, and selects a plurality of candidates exceeding a specified size from said candidate list, thereby forming one compression group.
Claim 16
Dependent Claim 31 words
An apparatus according to claim 14, wherein said compression group forming unit selects a plurality of candidates of the same size from said candidate list, thereby forming one compression data group.
Claim 17
Dependent Claim 30 words
An apparatus according to claim 14, wherein said compression group forming unit selects a plurality of candidates of different sizes from said candidate list, thereby forming one compression data group.
Claim 18
Dependent Claim 42 words
An apparatus according to claim 1, wherein in the case where a total data size obtained by combining said plurality of candidates doesn't reach a specified compression group size, said compression group forming unit stores dummy data into the remaining empty area.
Claim 19
Dependent Claim 28 words
An apparatus according to claim 1, wherein said compression group forming unit limits the number of candidates to be combined to one compression group to a specified number.
Claim 20
Dependent Claim 32 words
An apparatus according to claim 1, wherein said compression group forming unit limits the number of candidates to be combined to one compression group to two or less or four or less.
Claim 21
Dependent Claim 29 words
An apparatus according to claim 1, wherein said compression group has a size that is integer times as large as that of the logic block of said upper apparatus.
Claim 22
Dependent Claim 43 words
An apparatus according to claim 20, wherein said compression group has a size that is 2 n times (n is an integer of 1, 2, 3, 4, . . . ) as large as that of the logic block of said upper apparatus.
Claim 23
Dependent Claim 43 words
An apparatus according to claim 1, wherein said device writing unit adds information of said mapping table to said compression group and stores into said physical device, thereby enabling said mapping table to be reconstructed in the case where said mapping table fails.
Claim 24
Dependent Claim 36 words
An apparatus according to claim 1, wherein when said compression group is written, said write cache control unit selects the logic sector of said physical device to be stored from said free linked list by hashing.
Claim 25
Dependent Claim 41 words
An apparatus according to claim 23, wherein when said compression group is written, said write cache control unit selects the logic sector of said physical device to be stored from said free linked list by hashing in the same cylinder address.
Claim 26
Dependent Claim 107 words
An apparatus according to claim 1, wherein said read cache control unit controls in a manner such that in the case where a mishit is judged by said hit judging unit for the read request from said upper apparatus, the compression group of the relevant logic sector is read out from said physical device with reference to said mapping table by the logic block number of said read request, the relevant compression data is extracted and is expanded by said expanding circuit unit and is developed into said non-compression cache area, and thereafter, the developed data is transferred to said upper apparatus, and the process is finished.
Claim 27
Dependent Claim 56 words
An apparatus according to claim 1, wherein in the case where a hit in said non-compression cache area is judged by said hit judging unit for the read request from said upper apparatus, said read cache control unit transfers the relevant logic block from said non-compression cache area to said upper apparatus and finishes the process.
Claim 28
Dependent Claim 89 words
An apparatus according claim 1, wherein said read cache control unit controls in a manner such that in the case where a hit in said compression cache area is judged by said hit judging unit for the read request from said upper apparatus, the compression group including the relevant logic block is extracted from said compression cache area and is expanded by said expanding circuit unit and is developed into said non-compression cache area, the relevant logic block is transferred to said upper apparatus, and the process is finished.
Claim 29
Dependent Claim 91 words
An apparatus according to claim 1, wherein said read cache control unit controls in a manner such that in the case where a hit in said non-compression cache area is judged by said hit judging unit for said read request from said upper apparatus, only the compression data including the relevant logic block is extracted from said compression cache area and is expanded by said expanding unit and is developed into said non-compression cache area, and thereafter, the developed data is transferred to said upper apparatus, and the process is finished.
Claim 30
Dependent Claim 81 words
An apparatus according to claim 1, wherein said cache memory, said cache table, said hit judging unit, said compressing circuit unit, said compression group forming unit, said expanding circuit unit, said device writing unit, said mapping table, said device reading unit, said write cache control unit, and said read cache control unit are set to one system, and said upper apparatus commonly uses two said systems thereby constructing a duplexed system, and said physical device is shared by said two systems.
Claim 31
Dependent Claim 151 words
An apparatus according to claim 29, wherein each of said read cache control units in said two systems independently operates for the read request from said upper apparatus, and each of said write cache control units in said two systems controls in a manner such that in the case where new data from said upper apparatus is stored by a mishit judgment of the self cache memory of one of said two systems, said new data is copied into the cache memory of the other system and the cache table of the other system is updated, and in the case where hit data is updated by the new data from said upper apparatus by a hit judgment in the self cache memory of one of said two systems, said new data is copied into the cache memory of the other system and the cache table of the other system is updated.
Claim 32
Dependent Claim 57 words
An apparatus according to claim 1, wherein said compression group forming unit further adds a position flag indicative of a position in the group to a head position of each candidate when the compression group is formed, and said position flag is registered into said mapping table when the compression group is written into said physical device.
Claim 33
Dependent Claim 43 words
An apparatus according to claim 31, wherein said position flag indicates any one of a head position, a middle position in the group, and a middle position in a range from the end of the group to a head of the next group.
Claim 34
Dependent Claim 34 words
An apparatus according to claim 31, wherein said read cache control unit executes the expansion of the compressed compression data of a logic block unit by using the position flag in said compression group.
Claim 35
Dependent Claim 14 words
An apparatus according to claim 1, wherein said cache memory is a non-volatile memory.
Claim 36
Dependent Claim 16 words
An apparatus according to claim 1, wherein said mapping table is stored in a non-volatile memory.
Claim 37
Dependent Claim 53 words
An apparatus according to claim 1, wherein in the case where said physical device uses a detachable medium, said mapping table is stored to said medium before said medium is ejected, and said mapping table is read out from said medium and is developed by an initializing process when said medium is inserted.
Claim 38
Dependent Claim 24 words
An apparatus according to claim 1, wherein said physical device is a magnetic disk device, an optical disk device, or a semiconductor memory device.
Claim 39
Dependent Claim 21 words
An apparatus according to claim 1, wherein said physical device is a disk array apparatus having a plurality of disk devices.
Claim 40
Dependent Claim 323 words
A disk control apparatus comprising: a physical device for reading and writing data on a logic sector unit basis of a predetermined size; a cache memory having a compression cache area for storing compression data on a unit basis of a compression group having the same size as that of a logic sector of said physical device; a cache table in which an address in the cache, a compression flag indicating whether data is the compression data or not, and an updating flag indicative of the presence or absence of the updating are registered by using a logic block number of an upper apparatus as an index; a compressing circuit unit for compressing non-compression data on said logic block unit basis; a compression group forming unit for collecting the compression data of a logic block unit by said compressing circuit unit and for storing into said compression cache area; an expanding circuit unit for extracting and expanding the data stored in said compression cache area on said compression group unit basis; a free linked list for managing a vacant logic sector of said physical device; a device writing unit for extracting the data stored in said compression cache area on said compression group unit basis and for writing into the logic sector in an empty state obtained from said free linked list; a mapping table in which a logic sector number indicative of a storing position of said physical device, a relative position in the logic sector, and the number of sectors are registered by using a request block number of said upper apparatus as an index; a device reading unit for reading out the data of said physical device on said compression group unit basis and for transferring into said compression cache area; a write cache control unit for processing a write request from said upper apparatus; and a read cache control unit for processing a read request from said upper apparatus.
Claim 41
Dependent Claim 323 words
A disk control apparatus comprising: a physical device for reading and writing data on a logic sector unit basis of a predetermined size; a cache memory having a compression cache area for storing compression data on a unit basis of a compression group having the same size as that of a logic sector of said physical device; a cache table in which an address in the cache, a compression flag indicating whether data is the compression data or not, and an updating flag indicative of the presence or absence of the updating are registered by using a logic block number of an upper apparatus as an index; a compressing circuit unit for compressing non-compression data on said logic block unit basis; a compression group forming unit for collecting the compression data of a logic block unit by said compressing circuit unit and for storing into said compression cache area; an expanding circuit unit for extracting and expanding the data stored in said compression cache area on said compression group unit basis; a free linked list for managing a vacant logic sector of said physical device; a device writing unit for extracting the data stored in said compression cache area on said compression group unit basis and for writing into the logic sector in an empty state obtained from said free linked list; a mapping table in which a logic sector number indicative of a storing position of said physical device, a relative position in the logic sector, and the number of sectors are registered by using a request block number of said upper apparatus as an index; a device reading unit for reading out the data of said physical device on said compression group unit basis and for transferring into said compression cache area; a write cache control unit for processing a write request from said upper apparatus; and a read cache control unit for processing a read request from said upper apparatus.

References Cited (Backward Citations)

US4467421A Cited
JPS59231683A Cited
JPH04284551A Cited
US5393445A Cited
JPH05189157A Cited
JPH0628108A Cited
US5403639A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2000-07-28 2001-01-27 2001-07-29 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2004-07-28 2005-01-27 2005-07-29 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2008-07-28 2009-01-27 2009-07-29 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag