WO2018159167A1 - 情報処理装置,情報処理プログラムおよび情報処理方法 - Google Patents
情報処理装置,情報処理プログラムおよび情報処理方法 Download PDFInfo
- Publication number
- WO2018159167A1 WO2018159167A1 PCT/JP2018/002193 JP2018002193W WO2018159167A1 WO 2018159167 A1 WO2018159167 A1 WO 2018159167A1 JP 2018002193 W JP2018002193 W JP 2018002193W WO 2018159167 A1 WO2018159167 A1 WO 2018159167A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- compressed
- data
- compression
- processing unit
- information processing
- 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.)
- Ceased
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/40—Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
- H03M7/42—Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code using table look-up for the coding or decoding process, e.g. using read-only memory
Definitions
- the present invention relates to an information processing apparatus, an information processing program, and an information processing method.
- Grammar compression is known as one of the data compression methods to reduce the amount of character string data.
- FIG. 11 is a diagram for explaining a conventional grammar compression method.
- FIG. 11 shows an example of compressing the character string “abcabc” in a tree structure.
- this tree structure the characters in which nodes (nodes, vertices) are replaced are shown.
- the upper (upper layer) in the tree structure is simply referred to as the upper, and the lower (lower) is simply referred to as the lower.
- the character string “abcabc” is converted to the character string “XcXc” by replacing the character string “ab” with the character “X”.
- the character string “XcXc” is converted to the character string “YY” by replacing the character string “Xc” with the character “Y”.
- the character string “YY” is converted to the character “Z” by replacing the character string “YY” with the character “Z”.
- the compressed character “Z” is expanded (expanded) to the character string “abcabc” before compression by performing the reverse process to the above.
- a tree structure with a label attached to a node may be referred to as a labeled tree structure.
- FIG. 12 is a diagram illustrating a labeled tree structure, in which the tree structure shown in FIG. 11 is labeled.
- the labeled tree structure dictionary illustrated in FIG. 12 can be expressed as follows.
- the dictionary represents character substitution performed in the process of grammar compression.
- the character string from the a character to the b character of the character “X” is represented as “X [a, b]”. Both a and b are natural numbers.
- Z can be expanded to Y (3) and Y (3), so Z [5,6] can be represented as Y [2,3]. That is, the second and third characters in Y correspond to the fifth and sixth characters in Z.
- Y can be expanded to X (2) and c (1), so Y [2,3] becomes X [2,2] and c. Further, since X can be expanded to a (1) and b (1), Y [2,2] can be represented as b.
- grammar-compressed X [5,6] can be obtained as bc.
- AFA All Flash Array
- SSD Solid State Drive
- an object of the present invention is to enable efficient use of a semiconductor memory device.
- this information processing apparatus compresses the compression target character string data into a plurality of partial areas and the area data included in each of the plurality of partial areas up to an access unit size or less.
- a semiconductor memory device can be used efficiently.
- FIG. 1 is a diagram schematically illustrating a configuration of an information processing apparatus 1 as an example of an embodiment.
- the information processing apparatus 1 is, for example, a CM (Controller Module) or a personal computer in a storage system.
- CM Controller Module
- a personal computer in a storage system.
- the information processing apparatus 1 includes a CPU (Central Processing Unit) 11, a RAM (Random Access Memory) 12, a ROM (Read Only Memory) 13, an SSD 14, a graphics processing device 20, an input interface 15,
- the optical drive device 16, the device connection interface 17, and the network interface 18 are included as components.
- These components 11 to 18 and 20 are configured to be able to communicate with each other via a bus 19.
- the information processing apparatus 1 includes a data compression function that stores data in the SSD 14 in a state where the data (character string data, compression target character string data) composed of character strings is compressed to reduce the data size.
- the SSD 14 is a recording device using a semiconductor memory as a storage medium, and stores various data and programs.
- the storage area of the flash memory includes a plurality of (for example, 4200) blocks, and a plurality of (for example, 256) pages are formed in each block.
- Each page has a storage capacity of 4 KB (KiloByte), for example.
- the size of one page is referred to as a page size or an alignment size.
- the page size is 4 KB.
- a file system executed in the information processing apparatus 1 controls operation, access, and search for data stored in the SSD 14 and controls reading and writing of data with respect to the SSD 14.
- a page can be referred to as an access unit.
- the page size can be referred to as an access unit size.
- the ROM 13 is a storage device that stores various data and programs.
- the RAM 12 is a storage device that temporarily stores data, programs, and the like when the CPU 11 performs arithmetic processing and the like.
- the RAM 12 may temporarily store data stored in the SSD 14 or data read from the SSD 14.
- the CPU 11 performs various calculations and controls by executing an OS (Operating System) and various programs stored in the ROM 13 and the SSD 14.
- OS Operating System
- various programs stored in the ROM 13 and the SSD 14 In the information processing apparatus 1, when the CPU 11 executes a program (compression processing program, information processing program) stored in the SSD 14 or the like, the division processing unit 21, the compression processing unit 22, and the decompression processing shown in FIG. Functions as the unit 23 and the storage processing unit 25.
- programs for realizing the functions as the division processing unit 21, compression processing unit 22, decompression processing unit 23, and storage processing unit 25 are, for example, a flexible disk, a CD (Compact Disc; CD-ROM, CD-R). (Recordable), CD-RW (ReWritable, etc.), DVD (Digital Versatile Disc, DVD-ROM, DVD-RAM, DVD-R, DVD + R, DVD-RW, DVD + RW, HD DVD, etc.), Blu-ray disc, magnetic disc, It is provided in a form recorded on a computer-readable recording medium such as an optical disk or a magneto-optical disk. Then, the computer reads the program from the recording medium, transfers it to the internal storage device or the external storage device, and uses it.
- the program may be recorded in a storage device (recording medium) such as a magnetic disk, an optical disk, or a magneto-optical disk, and provided from the storage device to the computer via a communication path.
- the program stored in the internal storage device (RAM 12 or ROM 13 in this embodiment) is stored in the microcomputer. It is executed by a processor (CPU 11 in this embodiment). At this time, the computer may read and execute the program recorded on the recording medium.
- the computer is a concept including hardware and an operating system, and means hardware that operates under the control of the operating system. Further, when an operating system is unnecessary and hardware is operated by an application program alone, the hardware itself corresponds to a computer.
- the hardware includes at least a microprocessor such as a CPU and means for reading a computer program recorded on a recording medium.
- the information processing apparatus 1 has a function as a computer. ing.
- the CPU 11 may be a multiprocessor. Further, instead of the CPU 11, for example, one of MPU (Micro Processing Unit), DSP (Digital Signal Processor), ASIC (Application Specific Integrated Circuit), PLD (Programmable Logic Device), FPGA (Field Programmable Gate Array) You may prepare. Further, in place of the CPU 11, two or more types of elements of CPU, MPU, DSP, ASIC, PLD, and FPGA may be used in combination.
- MPU Micro Processing Unit
- DSP Digital Signal Processor
- ASIC Application Specific Integrated Circuit
- PLD Programmable Logic Device
- FPGA Field Programmable Gate Array
- the graphic processor 20 is connected to a monitor 20a.
- the graphic processing device 20 displays an image on the screen of the monitor 20a in accordance with a command from the CPU 11.
- Examples of the monitor 20a include a display device using a CRT (Cathode Ray Tube), a liquid crystal display device, and the like.
- the keyboard 15a and the mouse 15b are connected to the input interface 15.
- the input interface 15 transmits signals sent from the keyboard 15a and the mouse 15b to the CPU 11.
- the mouse 15b is an example of a pointing device, and other pointing devices can also be used. Examples of other pointing devices include a touch panel, a tablet, a touch pad, and a trackball.
- the optical drive device 16 reads the data recorded on the optical disc 16a using a laser beam or the like.
- the optical disc 16a is a portable non-temporary recording medium on which data is recorded so as to be readable by reflection of light. Examples of the optical disk 16a include DVD, DVD-RAM, CD-ROM, CD-R / RW).
- the device connection interface 17 is a communication interface for connecting peripheral devices to the information processing apparatus 1.
- the device connection interface 17 can be connected to a memory device 17a or a memory reader / writer 17b.
- the memory device 17a is a non-transitory recording medium equipped with a communication function with the device connection interface 17, for example, a USB (Universal Serial Bus) memory.
- the memory reader / writer 17b writes data to the memory card 17c or reads data from the memory card 17c.
- the memory card 17c is a card-type non-temporary recording medium.
- the network interface 18 is connected to a network (not shown).
- the network interface 18 transmits / receives data to / from other computers or communication devices via the network.
- the division processing unit 21 divides the compression target data (compression target character string data) described as a character string into a plurality of regions.
- the data to be compressed may be referred to as a message or a message to be compressed.
- dividing the compression target message into a plurality of regions may be expressed as dividing or partitioning.
- Each region contains one or more pages.
- the division processing unit 21 divides the message into regions including one or more pages.
- One region preferably includes two or more pages, and the region size (region size) is preferably a multiple of the page size. It is desirable that the number of pages included in each region is the same.
- region data data included in a region
- a region to be processed by the compression processing unit 22 and the decompression processing unit 23 to be described later may be referred to as a target region or simply a target.
- a plurality of regions may be referred to as a target group.
- a message divided into a plurality of regions by the division processing unit 21 may be referred to as a partitioned message.
- FIG. 2 is a diagram for explaining processing by the division processing unit 21 in the information processing apparatus 1 as an example of the embodiment.
- reference numeral (a) indicates a message before division by the division processing unit 21 and indicates a message having a length of 8 pages.
- reference numeral (b) indicates a message that is divided into a plurality of regions by the division processing unit 21.
- the division processing unit 21 displays the message as follows: A plurality (four in the example shown in FIG. 2) of regions R1 to R4 are generated by dividing every two continuous pages.
- region R1 includes data of pages P1 and P2 as region data.
- region R2 includes data of pages P3 and P4
- region R3 includes data of pages P5 and P6
- region R4 includes data of pages P7 and P8 as region data.
- the division processing unit 21 assigns messages to regions in order from the beginning. If the message data size is not a multiple of the page, the fractional part of the message may be stored in the last region.
- each region data of each region has a data size that is an integer multiple of the page, the boundary between adjacent regions matches the boundary between pages in the message. Accordingly, it can be said that each region data is aligned with a page in the storage area of the SSD 14.
- the compression processing unit 22 compresses the data of each region divided (generated) by the division processing unit 21.
- the compression processing unit 22 compresses the region data of each region using a grammatical compression method until each region is equal to or smaller than the page size.
- the compression processing unit 22 extracts two consecutive characters that appear most frequently in the compression target message as a replacement target character string, and sets a post-replacement character for this replacement target character string. Then, the compression processing unit 22 performs compression processing (grammar compression processing) by replacing the replacement target character string with the post-replacement character for the entire compression target message.
- the data generated by compressing the region data by the compression processing unit 22 may be referred to as compressed partial data.
- the compressed partial data may be referred to as compressed data.
- FIG. 3 is a diagram for explaining processing by the compression processing unit 22 in the information processing apparatus 1 as an example of the embodiment.
- the code (a) indicates a message (compression target message) before compression by the compression processing unit 22, and the code (b) indicates a message after compression by the compression processing unit 22.
- reference numerals S1 to S4 are attached to the compressed partial data, and reference numeral D1 is attached to the dictionary information.
- the compression processing unit 22 repeatedly performs replacement (compression replacement, conversion) of two consecutive characters (two characters) with one character for each region data, thereby compressing the size of the data. To do.
- the compression processing unit 22 compresses the data in each region until the page size is equal to or smaller than the page size, and stops the compression and replacement of the region data when the data is smaller than the page size.
- the message before compression (message to be compressed) includes the character string “abcabc” in the region R1, the character string “bcbcaa” in the region R2, The character string “aabbcc” is included in R3, and the character string “abccba” is included in the region R1.
- the compression processing unit 22 converts the character string “bc” to the character “P”, the character string “aP” to the character “Q”, the character string “aa” to the character “R”, and the character string “Pc” to the character “ Replace the character string “cb” with the character “T” in S ”.
- the character string “abcabc” in the region R1 is converted into the character string “QQ” as shown in the symbol (b) (see the symbol S1).
- the data size of the converted character string “QQ”, which is compressed partial data, is equal to or smaller than the page size and fits in one page.
- the character string “bcbcaa” in the region R2 is converted into the character string “PPR” (compressed partial data) as shown in the code (b) (see the code S2).
- the data size of the converted character string “PPR” (compressed partial data) is also equal to or smaller than the page size and fits in one page.
- the data size of the compressed partial data after conversion is within one page.
- the compression processing unit 22 performs data compression for each region, and performs data compression within each region. That is, the compression processing unit 22 does not perform data compression beyond the boundary (alignment) between regions.
- the compression processing unit 22 performs character compression on the data in each region.
- the storage processing unit 25 which will be described later, stores each compressed partial data generated by the compression processing unit 22 so as to fit in one page in the storage area of the SSD 14 respectively. As a result, the data of one region is compressed and stored in one page of the SSD 14 as compressed partial data.
- the compressed partial data generated by the data of each region is in a state of so-called alignment that does not cross the boundary between adjacent pages when stored in the SSD 14.
- dictionary information D1 is stored together at, for example, the head positions of a plurality of compressed partial data, as indicated by reference numeral (b) in FIG. In the example indicated by reference numeral (b) in FIG. 3, the dictionary information D1 is stored in an area for two pages preceding a plurality of compressed partial data.
- a message that has been compressed by the compression processing unit 22 is referred to as a compressed message, and is indicated by a reference sign E1.
- the compressed message E1 includes dictionary information D1 and a plurality of compressed partial data S1 to S4.
- the storage processing unit 25 stores the compressed partial data generated by the compression processing unit 22 in each page constituting the storage area of the SSD 14.
- each compressed partial data has a data size equal to or smaller than the page size, each compressed partial data is stored without protruding on the page.
- the storage processing unit 25 stores each compressed partial data generated by the compression processing unit 22 so as to fit in one page.
- the storage processing unit 25 stores the compressed partial data with the head thereof aligned with the head position of the page. Thereby, the data of one region is compressed and stored in one page as compressed partial data.
- the compressed partial data generated by the data of each region is in a state of so-called alignment that does not cross the boundary between adjacent pages when stored in the SSD 14.
- each compressed partial data is stored in a state of being aligned with each page constituting the storage area.
- the storage processing unit 25 uses the compression processing unit 22 to replace data in each region with dictionary information using information (generation rules) indicating correspondence between the character string before replacement and the character string after replacement as a dictionary element.
- Information (generation rules) indicating correspondence between the character string before replacement and the character string after replacement as a dictionary element.
- D1 The dictionary information D1 is stored together at, for example, the head positions of a plurality of compressed partial data, as indicated by reference numeral (b) in FIG.
- the storage processing unit 25 desirably stores the compressed partial data in a storage area of the SSD 14 at a position close to other compressed partial data or dictionary information generated from the same compression target message.
- the decompression processing unit 23 decompresses (decompresses and restores) the data compressed by the compression processing unit 22.
- the decompression processing unit 23 reads the dictionary information D1, and decompresses the compressed partial data stored in each page using the read dictionary information.
- the decompression processor 23 decompresses the compressed partial data for each region by performing a process opposite to the process in which the compression processor 22 compresses the region data into the compressed partial data using the dictionary information. Restore data to.
- FIG. 4 is a diagram for explaining processing by the decompression processing unit 23 in the information processing apparatus 1 as an example of the embodiment.
- the code (a) indicates a compressed message compressed by the compression processing unit 22, and the code (b) indicates a part of the message expanded by the expansion processing unit 23.
- the decompression processing unit 23 reads the dictionary element (generation rule) with reference to the dictionary information D1, and decompresses each compressed partial data S using this dictionary element.
- the decompression processing unit 23 decompresses the compressed partial data S3.
- the compressed partial data S3 compressed to one page size or less and decompressed is decompressed, thereby restoring the data (region data) of the two-page region R3. Indicates the state that has been performed.
- the decompression processing unit 23 accesses the dictionary information D1 (dictionary element) and the compressed partial data S3 stored in the SSD 14. .
- the decompression processing unit 23 achieves decompression of the compressed partial data S3 by accessing only the storage area (page) in which the compressed partial data S3 to be decompressed and the dictionary information D1 are stored. . That is, the storage area of the compressed partial data S3 other than the decompression target is not accessed.
- a message to be compressed (compression target message) is input by an operator or the like.
- the operator may specify the region size and page size. Note that predetermined values set in advance may be used for these region sizes and page sizes.
- the compression target message is recorded in a storage area such as the RAM 12 as a code word.
- step A1 the division processing unit 21 divides the processing target message every two times the page size, and generates a plurality of regions (target groups). As a result, each region includes two adjacent pages.
- step A2 the compression processing unit 22 selects one region (target) from a plurality of regions.
- the compression processing unit 22 converts the data (compressed data, compressed partial data) to 1 in the storage area of the SSD 14. Store in one page.
- step A3 the compression processing unit 22 confirms whether there is a region (target) in the target group that has not been compressed until the region data is equal to or smaller than the page size.
- step A3 If there is a region (target) that has not been compressed to the page size or less (see YES route in step A3), the process proceeds to step A4.
- the compression processing unit 22 performs compression (grammar compression) processing on the processing target message.
- step A4 the compression processing unit 22 extracts region data of a region (target) that has not been compressed as compression target data, and extracts two consecutive characters that appear most frequently in the compression target data as replacement target character strings.
- the compression processing unit 22 sets a character after replacement (character after replacement) for the replacement target character string.
- the replaced character is “X”.
- step A5 the compression processing unit 22 registers a dictionary element (generation rule) in which the replacement target character string and the replaced character (for example, X) are associated with each other in the dictionary information D1.
- a dictionary element generation rule
- step A6 the compression processing unit 22 performs compression processing on the entire compression target message by replacing the replacement target character string with the replaced character “X”. Thereafter, the process returns to step A2. It should be noted that the characters after replacement are appropriately changed.
- step A3 when there is no region that has not been compressed to the page size or less, that is, when all the compressed partial data of the region data of all regions is compressed to the page size or less. (Refer to the NO route in step A3), the process proceeds to step A7.
- step A7 the compression processing unit 22 outputs the dictionary information D1 and each compressed partial data as a compressed message (code word). That is, a compressed message obtained by compressing the compression target message is output. Thereafter, the process ends.
- a compressed message also referred to as a code word
- a block number indicating the compressed partial data to be decompressed are input, and a part of the decompressed message (for two pages) is output.
- step B1 the decompression processing unit 23 extracts the compressed partial data to be decompressed from the compressed message and sets it as the decompression target.
- step B2 the decompression processing unit 23 confirms whether there is an unprocessed dictionary element for the decompression target in the dictionary information D1.
- step B2 If there is an unprocessed dictionary element (see YES route in step B2), the process proceeds to step B3.
- step B3 the decompression processing unit 23 extracts one dictionary element corresponding to the compressed data, which has not been used yet for data decompression, from the dictionary information D1 and sets it as the dictionary element X.
- step B4 the decompression processing unit 23 decompresses the compressed partial data of the decompression target using the dictionary element X. Thereafter, the process returns to step B2.
- step B2 If there is no unprocessed dictionary element as a result of the confirmation in step B2 (see NO route in step B2), the process proceeds to step B5.
- step B5 the decompression processing unit 23 outputs the decompressed data (for two pages), and thereafter ends the processing.
- the division processing unit 21 divides the compression target message into a plurality of regions including one or more pages, and the compression processing unit 22 Compress the data in each region until it is less than the page size.
- the compressed partial data generated by compressing each region data is contained in the page and is aligned for each page.
- the decompression processing unit 23 accesses only the page storing the compressed partial data to be decompressed and the dictionary information D1, thereby obtaining the decompression target data.
- the compressed partial data can be expanded.
- the SSD 14 can be used efficiently.
- the data storage area in the SSD 14 can also be used efficiently by compressing the message to be compressed using the grammar compression technique.
- the division processing unit 21 partitions the compression target message so that each region includes the same number of pages, so that the size of the compressed partial data generated by the compression processing unit 22 can be made substantially uniform and uniform. This also allows the compressed partial data to be easily aligned on the page.
- the page range accessed in the SSD 14 is small, so that the processing speed can be improved.
- FIG. 7 is a diagram showing a data compression method in the information processing apparatus 1 as an example of the embodiment in comparison with a conventional grammar compression method.
- a code (a) shows a data compression example by a conventional grammar compression method in a tree structure
- a code (b) shows a data compression example by the compression processing unit 22 of the information processing apparatus 1 of the present application in a tree concept.
- the compression processing unit 22 repeatedly performs compression replacement for each region until the page size is equal to or smaller than the page size. Then, the compression replacement is terminated.
- the compressed partial data S1 (R1) indicated by the symbol (b) has been compressed in the state of the character string “QQ”.
- the number of dictionary elements accompanying compression replacement is small, and the data size of the dictionary information D1 is small. Thereby, when decompressing the compressed message, the page range to be accessed can be further reduced.
- the division processing unit 21 divides the compression target message into regions of a predetermined size (number of pages), and the compression processing unit 22 reduces the region data of each region to a page size or less.
- the present invention is not limited to this.
- FIG. 8 is a diagram illustrating a modification of the functional configuration of the information processing apparatus 1 as an example of the embodiment.
- the CPU 11 functions as the confirmation unit 24 in addition to the functions as the division processing unit 21, compression processing unit 22, decompression processing unit 23, and storage processing unit 25 described above. Realize the function.
- the confirmation unit 24 calculates a compression rate for each data compression process performed by the compression processing unit 22 on the compression target message and the compressed message, and stores the calculated compression rate in a predetermined storage area such as the RAM 12.
- the confirmation unit 24 compares the calculated compression rate with a predetermined threshold value, and determines whether or not the compression process performed by the compression processing unit 22 has a compression effect.
- the confirmation unit 24 determines that the evaluation requirement is satisfied and that there is a compression effect.
- the confirmation unit 24 determines that the evaluation requirement is not satisfied and the compression effect is not obtained. That is, the confirmation unit 24 evaluates the compression processing performed by the compression processing unit 22.
- FIG. 9 is a diagram for explaining the compression process and the compression effect for the message to be compressed in this modification.
- the code (a) indicates a message divided into a plurality of regions by the division processing unit 21.
- the division processing unit 21 displays the message every two consecutive pages. It is divided into.
- regions R1 to R4 are attached to the regions.
- reference numerals (b) to (d) reference numerals S01 to S07 are attached to the compressed partial data, and reference numeral D1 is attached to the dictionary information.
- region R1 includes data of pages P1 and P2 as region data.
- region R2 includes data of pages P3 and P4
- region R3 includes data of pages P5 and P6
- region R4 includes data of pages P7 and P8 as region data.
- the code (b) indicates the compressed message E1-1 generated by the compression processing unit 22 by compressing the partitioned message indicated by the code (a).
- the compression processing unit 22 generates the compressed partial data S01 to S04 of the compressed message E1-1 by compressing each region data of the regions R1 to R4 of the compression target message until it becomes equal to or smaller than the page size.
- the data (region data) of each region that is the target of compression processing becomes a compression target by the compression processing unit 22.
- the compression processing unit 22 has an additional compression function for further compressing the compressed message. That is, the compression processing unit 22 collects a plurality of adjacent compressed partial data in the compressed message and performs compression (additional compression) until the page size is equal to or smaller than the page size.
- the code (c) indicates a compressed message E1-2 generated by the compression processing unit 22 by further compressing the compressed message E1-1 shown in the code (b).
- the compression processing unit 22 In the compressed message E1-2 indicated by the code (c), the compression processing unit 22 collectively combines the two compressed partial data S01 and S02 in the compressed message E1-1 of the code (b). And Then, the compression processing unit 22 generates the compressed partial data S05 by compressing the generated compression target until it becomes equal to or smaller than the page size.
- the compression processing unit 22 collectively sets two compressed partial data S03 and S04 in the compressed message E1-1 of the code (b) as a compression target. Then, the compression processing unit 22 generates the compressed partial data S06 by compressing the generated compression target until it becomes equal to or smaller than the page size.
- the compression processing unit 22 performs additional compression on the compressed message after the compression.
- the compression processing unit 22 does not perform additional compression on the compressed message after the compression. That is, additional compression is prevented from being performed.
- the code (d) indicates a compressed message E1-3 generated by the compression processing unit 22 by further compressing the compressed message E1-2 shown in the code (c).
- the compression processing unit 22 generates a new compression target by combining two consecutive compressed partial data S05 and S06 in the compressed message E1-2 of the code (c), and generates the generated compression target as a page size. Compress until: Thereby, the compression processing unit 22 generates the compressed partial data S07 in the compressed partial data of the compressed message E1-3 indicated by the code (d).
- the capacity of the dictionary information D1 increases when the compressed message E1-2 is compressed to generate the compressed message E1-3.
- the compression rate of the compressed message E1-3 is less than a predetermined threshold value, and the confirmation unit 24 described later determines that there is no compression effect.
- the compression processing unit 22 does not perform additional compression when the confirmation unit 24 determines that there is no compression effect.
- the compression processing unit 22 performs further compression on the compressed message that has been previously compressed. That is, in the compressed message that has been previously compressed, two consecutive compressed partial data are collected as compression target data.
- the compression processing unit 22 extracts two consecutive characters appearing most in the compression target data as a replacement target character string, and sets a post-replacement character for the replacement target character string. Then, the compression processing unit 22 performs compression processing on the entire compression target message by replacing the replacement target character string with the post-replacement character.
- the compression processing unit 22 does not perform further compression on the compressed message that has been previously compressed.
- step C1 the division processing unit 21 divides the processing target message every two times the page size, and generates a plurality of regions (target groups).
- the compression processing unit 22 prepares empty dictionary information D1.
- the message to be compressed is recorded as a code word.
- step C2 the compression processing unit 22 selects one region (target) from a plurality of regions.
- the compression processing unit 22 converts the data (compressed data, compressed partial data) to 1 in the storage area of the SSD 14. Store in one page.
- step C3 the compression processing unit 22 confirms whether there is a region (target) in the target group that has not been compressed until the region data is equal to or smaller than the page size.
- step C3 If there is a region (target) that has not been compressed to the page size or less (see YES route in step C3), the process proceeds to step C4.
- the compression processing unit 22 performs compression (grammar compression) processing on the processing target message.
- step C4 the compression processing unit 22 extracts region data of a region (target) that has not been compressed as compression target data, and extracts two consecutive characters that appear most frequently in the compression target data as replacement target character strings.
- the compression processing unit 22 sets a character after replacement (character after replacement) for the replacement target character string.
- the replaced character is “X”.
- step C5 the compression processing unit 22 registers a dictionary element (generation rule) in which the replacement target character string and the replaced character (for example, X) are associated with each other in the dictionary information D1.
- a dictionary element generation rule
- step C6 the compression processing unit 22 performs compression processing on the entire compression target message by replacing the replacement target character string with the post-replacement character “X”. Thereafter, the process returns to step C2. It should be noted that the characters after replacement are appropriately changed.
- step C3 when there is no region that has not been compressed to the page size or less, that is, all the compressed partial data of the region data of all regions is compressed to the page size or less. (Refer to the NO route in step C3), the process proceeds to step C7.
- step C7 the confirmation unit 24 calculates a compression rate for the compressed message generated by the data compression processing performed by the compression processing unit 22, compares the calculated compression rate with a predetermined threshold value, and determines the compression effect. It is determined whether or not there has been.
- the confirmation unit 24 determines that there is a compression effect when the calculated compression rate is equal to or greater than a threshold value.
- the confirmation unit 24 determines that there is no compression effect when the calculated compression rate is less than the threshold value. That is, the confirmation unit 24 evaluates the compression processing performed by the compression processing unit 22.
- Step C7 if it is determined that there is a compression effect (see YES route of Step C7), the process proceeds to Step C8.
- step C8 the compression processing unit 22 records the dictionary information D1 in which the dictionary elements used for the compression are registered and the generated compressed message as a code word in a predetermined storage area such as the RAM 12.
- step C9 the compression processing unit 22 generates one or more compressed targets by combining two consecutive compressed partial data in the compressed message. Thereafter, the process returns to step C2.
- step C7 when it is determined that there is no compression effect as a result of the evaluation by the confirmation unit 24 in step C7 (see NO route in step C7), the process proceeds to step C10.
- step C10 the compression processing unit 22 outputs the dictionary information D1 and each compressed partial data as a compressed message (code word). That is, a compressed message obtained by compressing the compression target message is output. Thereafter, the process ends.
- the information processing apparatus 1 As described above, according to the information processing apparatus 1 as a modified example of the embodiment, it is necessary to obtain in advance the size and size of a region, that is, the size of a page included in the region, in addition to obtaining the same operational effects as the above-described embodiment. There is no convenience.
- compressed partial data that is aligned for each page can be generated without prescribing the region size.
- Information processing apparatus CPU 12 RAM 13 ROM 14 SSD DESCRIPTION OF SYMBOLS 15 Input interface 15a Keyboard 15b Mouse 16 Optical drive device 16a Optical disk 17 Device connection interface 17a Memory device 17b Memory reader / writer 17c Memory card 18 Network interface 19 Bus 20 Graphic processing device 20a Monitor 21 Division processing unit 22 Compression processing unit 23 Decompression processing unit 24 Confirmation Unit 25 Storage Processing Unit
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
圧縮対象文字列データを、複数の部分領域に区画する分割処理部21と、複数の部分領域のそれぞれに含まれる領域データを、それぞれアクセス単位サイズ以下まで圧縮して圧縮済部分データを生成する圧縮処理部22と、生成した圧縮済部分データを、半導体記憶装置14におけるアクセス単位領域に格納させる格納処理部22とを備えることで、半導体記憶装置を効率的に使用できるようにする。
Description
本発明は、情報処理装置,情報処理プログラムおよび情報処理方法に関する。
文字列のデータ量を削減するデータ圧縮方法の一つとして文法圧縮が知られている。
図11は従来の文法圧縮手法を説明するための図である。
文法圧縮においては、連続する2つの文字(2文字)を1文字に置換(変換,圧縮置換)することを繰り返し行ない、最終的に残った1文字と、変換の履歴を示す辞書とを記録する。
図11においては、文字列“abcabc”を圧縮する例を木構造で表している。この木構造において、ノード(節点,頂点)が置換された文字を示す。
以下、木構造における上位(上層)を、単に、上といい、下位(下層)を、単に、下というものとする。
先ず、文字列“ab”を文字“X”に置換することで、文字列“abcabc”を文字列“XcXc”に変換する。
次に、文字列“Xc”を文字“Y”に置換することで、文字列“XcXc”を文字列“YY”に変換する。
さらに、文字列“YY”を文字“Z”に置換することで、文字列“YY”を文字“Z”に変換する。
そして、文字列“abcabc”を“Z”に変換するまでに行なった置換の情報を辞書として、最終的に残った1文字“Z”とともに記録する。
また、圧縮された文字“Z”は、上記と逆の処理を行なうことで、圧縮前の文字列“abcabc”に展開(伸長)される。
また、文法圧縮では、個々のノードに対して、その下にいくつの文字が存在するかを示す情報(以下、ラベルという)を付記することで、特定の範囲の文字列を少ない工程で伸長することができる。ノードにラベルを付して示す木構造をラベル付き木構造という場合がある。
図12はラベル付き木構造を例示する図であり、図11に示した木構造にラベルを付したものである。
図12に例示するラベル付き木構造において、文字“X”の下には、文字“a”,“b”の2つの文字があるので、この文字“X”にはラベル“2”が付されている。同様に、文字“Y”の下には、文字“a”,“b”,“c”の3つの文字があるので、この文字“Y”にはラベル“3”が付されている。なお、ラベルには置換に用いられる文字“X”,“Y”は計数しないものとする。
この図12に例示するラベル付き木構造の辞書を、以下のように表すことができる。辞書は、文法圧縮の過程において行なわれる文字の置換を表す。
“Z”:“Z(6) -> YY”,“Y(3) -> Xc”,“X(2) -> ab”
なお、辞書中において、符号“->”は、置換による対応関係を表す。また、辞書中においてはラベルをカッコ付きの数字(例えば、“(6)”)を用いて示す。また、ラベル付き木構造において、最上位の文字(図12に示す例では文字“Z”)と、最下位の文字(図12に示す例では文字“abcabc”)との間にあるノードを中間ノードという場合がある。
なお、辞書中において、符号“->”は、置換による対応関係を表す。また、辞書中においてはラベルをカッコ付きの数字(例えば、“(6)”)を用いて示す。また、ラベル付き木構造において、最上位の文字(図12に示す例では文字“Z”)と、最下位の文字(図12に示す例では文字“abcabc”)との間にあるノードを中間ノードという場合がある。
ここで、図12に例示するラベル付き木構造で表される文字列“abcabc”において、例えば5文字目から6文字目を参照(伸長)する場合には、下記の手順により行なう。
なお、以下、例えば、文字“X”のa文字目からb文字目までの文字列を、“X[a,b]”と表す。a,bはいずれも自然数である。
以下に、Z[5,6]を伸長する手法を示す。
図12に示すラベル付き木構造において、Zは、Y(3)とY(3)とに伸長できるので、Z[5,6]は、Y[2,3]と表すことができる。すなわち、Yにおける2文字目と3文字目とが、Zにおける5文字目と6文字目に相当する。
同様に、YはX(2)とc(1)とに伸長できるので、Y[2,3]は、X[2,2]およびcとなる。また、Xはa(1)とb(1)とに伸長できるので、Y[2,2]はbと表すことができる。
従って、文法圧縮されたX[5,6]は、bcと求めることができる。
なお、図12に示すラベル付き木構造において、上述の如くZ[5,6]を伸長するために参照されるノードを破線で表している。
一般に、文法圧縮されたデータを伸長する際にアクセス対象となる中間ノードは、記憶領域内において散在している。従って、上述の如く、木構造における一部のノードに対してのみアクセスすることでデータの伸長を行なうということは、データの記憶領域におけるアドレスで考えると、いくつかの領域にランダムアクセスが生じることを意味する。
一方で、近年、高速なデータアクセスを実現するストレージ製品として、SSD(Solid State Drive)を用いたAFA(All Flash Array)が開発されている。SSDにおいては、ページといわれる領域単位でデータアクセスが行なわれるという特性を有する。
従って、文法圧縮されたデータがSSDに格納されている場合に、データの伸長時に、記憶領域を成す多数のページのリードを行なう必要があり、これにより、SSDにおいて多くの領域のデータをリードする必要がある。これにより、SSDの寿命を縮めることになる。
1つの側面では、本発明は、半導体記憶装置を効率的に使用できるようにすることを目的とする。
このため、この情報処理装置は、圧縮対象文字列データを、複数の部分領域に区画する分割処理部と、前記複数の部分領域のそれぞれに含まれる領域データを、それぞれアクセス単位サイズ以下まで圧縮して圧縮済部分データを生成する圧縮処理部と、生成した前記圧縮済部分データを、半導体記憶装置におけるアクセス単位領域に格納させる格納処理部とを備える。
一実施形態によれば、半導体記憶装置を効率的に用いることができる。
以下、図面を参照して本情報処理装置,情報処理プログラムおよび情報処理方法に係る実施の形態を説明する。ただし、以下に示す実施形態はあくまでも例示に過ぎず、実施形態で明示しない種々の変形例や技術の適用を排除する意図はない。すなわち、本実施形態を、その趣旨を逸脱しない範囲で種々変形(実施形態及び各変形例を組み合わせる等)して実施することができる。又、各図は、図中に示す構成要素のみを備えるという趣旨ではなく、他の機能等を含むことができる。
(A)構成
図1は実施形態の一例としての情報処理装置1の構成を模式的に示す図である。
図1は実施形態の一例としての情報処理装置1の構成を模式的に示す図である。
情報処理装置1は、例えば、ストレージシステムにおけるCM(Controller Module)やパーソナルコンピュータである。
情報処理装置1は、例えば、図1に示すように、CPU(Central Processing Unit)11,RAM(Random Access Memory)12,ROM(Read Only Memory)13,SSD14,グラフィック処理装置20,入力インタフェース15,光学ドライブ装置16,機器接続インタフェース17およびネットワークインタフェース18を構成要素として有する。これらの構成要素11~18,20は、バス19を介して相互に通信可能に構成される。
情報処理装置1は、文字列で構成されるデータ(文字列データ,圧縮対象文字列データ)を圧縮してデータサイズを削減した状態でSSD14格納するデータ圧縮機能を備える。
SSD14は、半導体メモリを記憶媒体として用いた記録装置であり、種々のデータやプログラムを格納する。
以下、半導体メモリとしてフラッシュメモリを備えるSSD14について示す。
フラッシュメモリの記憶領域は、複数個(例えば、4200個)のブロックを備え、各ブロックには、複数個(例えば256個)のページが形成されている。各ページはそれぞれ、例えば4KB(KiloByte)の記憶容量を有する。以下、1つのページのサイズをページサイズもしくはアラインメントサイズという。本例においては、ページサイズ=4KBである。
フラッシュメモリにおいては、データのリードおよびライトはページ単位で行なわれるが、消去はブロック単位で行なわれる。
例えば、情報処理装置1において実行されるファイルシステムが、SSD14に格納されたデータに対する操作やアクセス,検索を制御し、SSD14に対するデータのリードやライトを制御する。
SSD14の記憶領域に対するリードやライトの入出力アクセスは、上述の如くページ単位で行なわれるので、ページをアクセス単位ということができる。また、ページサイズをアクセス単位サイズということができる。
ROM13は、種々のデータやプログラムを格納する記憶装置である。RAM12はCPU11が演算処理等を行なう際に、データやプログラム等を一時的に格納する記憶装置である。
また、このRAM12には、SSD14に格納するデータやSSD14から読み出したデータを一時的に記憶してもよい。
CPU11は、ROM13やSSD14に格納されたOS(Operating System)や各種プログラムを実行することにより、種々の演算や制御を行なう。本情報処理装置1においては、このCPU11がSSD14等に格納されたプログラム(圧縮処理プログラム,情報処理プログラム)を実行することにより、図1に示す、分割処理部21,圧縮処理部22,伸長処理部23および格納処理部25として機能する。
なお、これらの分割処理部21,圧縮処理部22,伸長処理部23および格納処理部25としての機能を実現するためのプログラムは、例えばフレキシブルディスク,CD(Compact Disc;CD-ROM,CD-R(Recordable),CD-RW(ReWritable)等),DVD(Digital Versatile Disc;DVD-ROM,DVD-RAM,DVD-R,DVD+R,DVD-RW,DVD+RW,HD DVD等),ブルーレイディスク,磁気ディスク,光ディスク,光磁気ディスク等の、コンピュータ読取可能な記録媒体に記録された形態で提供される。そして、コンピュータはその記録媒体からプログラムを読み取って内部記憶装置または外部記憶装置に転送し格納して用いる。又、そのプログラムを、例えば磁気ディスク,光ディスク,光磁気ディスク等の記憶装置(記録媒体)に記録しておき、その記憶装置から通信経路を介してコンピュータに提供するようにしてもよい。
分割処理部21,圧縮処理部22,伸長処理部23および格納処理部25としての機能を実現する際には、内部記憶装置(本実施形態ではRAM12やROM13)に格納されたプログラムがコンピュータのマイクロプロセッサ(本実施形態ではCPU11)によって実行される。このとき、記録媒体に記録されたプログラムをコンピュータが読み取って実行するようにしてもよい。
なお、本実施形態において、コンピュータとは、ハードウェアとオペレーティングシステムとを含む概念であり、オペレーティングシステムの制御の下で動作するハードウェアを意味している。又、オペレーティングシステムが不要でアプリケーションプログラム単独でハードウェアを動作させるような場合には、そのハードウェア自体がコンピュータに相当する。ハードウェアは、少なくとも、CPU等のマイクロプロセッサと、記録媒体に記録されたコンピュータプログラムを読み取るための手段とをそなえており、本実施形態においては、情報処理装置1がコンピュータとしての機能を有している。
なお、CPU11はマルチプロセッサであってもよい。また、CPU11に代えて、例えばMPU(Micro Processing Unit),DSP(Digital Signal Processor),ASIC(Application Specific Integrated Circuit),PLD(Programmable Logic Device),FPGA(Field Programmable Gate Array)のいずれか一つを備えてもよい。また、CPU11に代えて、CPU,MPU,DSP,ASIC,PLD,FPGAのうちの2種類以上の要素を組み合わせ用いてもよい。
グラフィック処理装置20には、モニタ20aが接続されている。グラフィック処理装置20は、CPU11からの命令に従って、画像をモニタ20aの画面に表示させる。モニタ20aとしては、CRT(Cathode Ray Tube)を用いた表示装置や液晶表示装置等が挙げられる。
入力インタフェース15には、キーボード15aおよびマウス15bが接続されている。入力インタフェース15は、キーボード15aやマウス15bから送られてくる信号をCPU11に送信する。なお、マウス15bは、ポインティングデバイスの一例であり、他のポインティングデバイスを使用することもできる。他のポインティングデバイスとしては、タッチパネル,タブレット,タッチパッド,トラックボール等が挙げられる。
光学ドライブ装置16は、レーザ光等を利用して、光ディスク16aに記録されたデータの読み取りを行なう。光ディスク16aは、光の反射によって読み取り可能にデータを記録された可搬型の非一時的な記録媒体である。光ディスク16aには、DVD,DVD-RAM,CD-ROM,CD-R/RW)等が挙げられる。
機器接続インタフェース17は、情報処理装置1に周辺機器を接続するための通信インタフェースである。例えば、機器接続インタフェース17には、メモリ装置17aやメモリリーダライタ17bを接続することができる。メモリ装置17aは、機器接続インタフェース17との通信機能を搭載した非一時的な記録媒体、例えばUSB(Universal Serial Bus)メモリである。メモリリーダライタ17bは、メモリカード17cへのデータの書き込み、またはメモリカード17cからのデータの読み出しを行なう。メモリカード17cは、カード型の非一時的な記録媒体である。
ネットワークインタフェース18は、図示しないネットワークに接続される。ネットワークインタフェース18は、ネットワークを介して、他のコンピュータまたは通信機器との間でデータの送受信を行なう。
分割処理部21は、文字列として記載された圧縮対象のデータ(圧縮対象文字列データ)を、複数のリージョン(領域)に区切る。以下、圧縮対象のデータを、メッセージもしくは圧縮対象メッセージという場合がある。また、以下、圧縮対象メッセージを複数のリージョンに区切ることを、分割するもしくは区画すると表現する場合がある。
個々のリージョンには、1つ以上のページが含まれる。すなわち、分割処理部21は、メッセージを1つ以上のページが含まれるリージョンに分割する。なお、1つのリージョンには2つ以上のページを含むことが望ましく、リージョンのサイズ(リージョンサイズ)はページサイズの倍数であることが望ましい。また、各リージョンに含まれるページ数は同数であることが望ましい。
以下、リージョンに含まれるデータをリージョンデータという場合がある。また、後述する圧縮処理部22および伸長処理部23が処理を行なう対象のリージョンをターゲットリージョンもしくは、単にターゲットという場合がある。また、複数のリージョンをターゲット群という場合がある。
また、分割処理部21により複数のリージョンに区切られたメッセージを区画済みメッセージという場合がある。
図2は実施形態の一例としての情報処理装置1における分割処理部21による処理を説明するための図である。
図2中において符号(a)は分割処理部21による分割前のメッセージを示しており、8ページ分の長さを有するメッセージを示している。
以下、図に示すメッセージ中において、圧縮前の状態で個々のページに対応する部分にP1~P8の符号を付して表す。
また、図2中において、符号(b)は分割処理部21により複数のリージョンに分割された状態のメッセージを示しており、この図2に示す例においては、分割処理部21は、メッセージを、連続する2ページ毎に分割することで複数(図2に示す例では4つ)のリージョンR1~R4を生成している。
図2に示す例において、リージョンR1にはリージョンデータとしてページP1,P2のデータが含まれている。同様に、リージョンR2にはページP3,P4のデータが、リージョンR3にはページP5,P6のデータが、リージョンR4にはページP7,P8のデータが、それぞれリージョンデータとして含まれている。
分割処理部21は、メッセージを、その先頭から順番にリージョンに割り当てる。メッセージのデータサイズがページの倍数でない場合には、最後尾のリージョンにメッセージの端数部分を格納してもよい。
個々のリージョンのリージョンデータは、それぞれページの整数倍のデータサイズを有するものであるので、メッセージにおいて、隣り合うリージョン間の境界はページ間の境界と一致する。従って、各リージョンデータは、SSD14の記憶領域におけるページにアラインメントされているといえる。
圧縮処理部22は、分割処理部21によって分割(生成)された各リージョンのデータを、それぞれ圧縮する。
圧縮処理部22は、各リージョンのリージョンデータを、文法圧縮の手法を用いて、それぞれページサイズ以下になるまで圧縮する。
すなわち、圧縮処理部22は、圧縮対象メッセージにおいて最も多く表れる連続する2文字を置換対象文字列として抽出し、この置換対象文字列に対して置換後文字を設定する。そして、圧縮処理部22は、圧縮対象メッセージ全体に対して、置換対象文字列を置換後文字を用いて置換することで、圧縮処理(文法圧縮処理)を行なう。
以下、圧縮処理部22によりリージョンデータを圧縮することにより生成されたデータを、圧縮済部分データという場合がある。また、圧縮済部分データを圧縮データという場合がある。
図3は実施形態の一例としての情報処理装置1における圧縮処理部22による処理を説明するための図である。
図3中において、符号(a)は圧縮処理部22による圧縮前のメッセージ(圧縮対象メッセージ)を、符号(b)は圧縮処理部22による圧縮後のメッセージを、それぞれ示している。図3においては、符号(b)に示すように、圧縮済部分データに符号S1~S4を付して示し、辞書情報に符号D1を付して示す。
圧縮処理部22は、各リージョンのデータに対して、連続する2つの文字(2文字)を1文字に置換(圧縮置換,変換)することを繰り返し行なうことで、データのサイズを圧縮する文法圧縮を行なう。
圧縮処理部22は、各リージョンのデータを、それぞれページサイズ以下になるまで圧縮を行ない、ページサイズ以下となった時点でそのリージョンデータの圧縮置換を中止する。
図3に示す例においては、符号(a)に示すように、圧縮前のメッセージ(圧縮対象メッセージ)には、リージョンR1に文字列“abcabc”が、リージョンR2に文字列“bcbcaa”が、リージョンR3に文字列“aabbcc”が、リージョンR1に文字列“abccba”が、それぞれ含まれている。
圧縮処理部22は、文字列“bc”を文字“P”に、文字列“aP”を文字“Q”に、文字列“aa”を文字“R”に、文字列“Pc”を文字“S”に、文字列“cb”を文字“T”に、それぞれ置換する。
これにより、例えばリージョンR1の文字列“abcabc”が、符号(b)に示すように、文字列“QQ”に変換される(符号S1参照)。圧縮済部分データである変換後の文字列“QQ”のデータサイズはページサイズ以下であり、1つのページ内に収まっている。
同様に、リージョンR2の文字列“bcbcaa”が、符号(b)に示すように、文字列“PPR”(圧縮済部分データ)に変換される(符号S2参照)。変換後の文字列“PPR”(圧縮済部分データ)のデータサイズもページサイズ以下であり、1つのページ内に収まっている。他のリージョンR3,R4の文字列についても同様に、変換後の圧縮済部分データのデータサイズは1つのページ内に収まっている。
圧縮処理部22は、リージョン毎にデータ圧縮を行なうものであり、個々のリージョン内でそれぞれデータ圧縮を行なう。すなわち、圧縮処理部22は、リージョン間の境界(アラインメント)を超えてデータ圧縮を行なうことはない。
すなわち、圧縮処理部22は、各リージョンのデータに文字圧縮を行なう。
後述する格納処理部25は、圧縮処理部22が生成した各圧縮済部分データを、それぞれSSD14の記憶領域における1つのページ内に収まるように格納する。これにより、1つ分のリージョンのデータは、圧縮されて圧縮済部分データとして、SSD14の1つのページ内に格納される。
従って、各リージョンのデータにより生成された圧縮済部分データは、SSD14に格納された状態において、隣接するページ間の境界を跨ぐことがない、いわゆるアラインメントが揃った状態となる。
また、上述した圧縮処理部22による各リージョンのデータの置換に関して、置換前の文字列と置換後の文字列との対応を表す情報(生成規則)が、後述する格納処理部25により、辞書要素として辞書情報D1として格納される。この辞書情報D1は、図3の符号(b)に示すように、例えば、複数の圧縮済部分データの先頭位置にまとめて格納される。図3において符号(b)に示す例では、複数の圧縮済部分データに先行する2ページ分の領域に辞書情報D1が格納されている。
圧縮対象メッセージが圧縮処理部22によって圧縮されたものを圧縮済メッセージといい、符号E1を付して示す。圧縮済メッセージE1は、辞書情報D1および複数の圧縮済部分データS1~S4を備える。
格納処理部25は、圧縮処理部22によって生成された圧縮済部分データを、SSD14の記憶領域を構成するページにそれぞれ格納する。
上述の如く、各圧縮済部分データはページサイズ以下のデータサイズであるので、個々の圧縮済部分データは、それぞれページにはみ出すことなく格納される。
格納処理部25は、圧縮処理部22が生成した各圧縮済部分データを、それぞれ1つのページ内に収まるように格納する。例えば、格納処理部25は圧縮済部分データの先頭をページの先頭位置に揃えて格納する。これにより、1つ分のリージョンのデータは、圧縮されて圧縮済部分データとして1つのページ内に格納される。
従って、各リージョンのデータにより生成された圧縮済部分データは、SSD14に格納された状態において、隣接するページ間の境界を跨ぐことがない、いわゆるアラインメントが揃った状態となる。すなわち、SSD14において、各圧縮済部分データは記憶領域を構成するページにそれぞれアラインメントされた状態で格納される。
また、格納処理部25は、上述した圧縮処理部22による各リージョンのデータの置換に関して、置換前の文字列と置換後の文字列との対応を表す情報(生成規則)を辞書要素として辞書情報D1として格納する。この辞書情報D1は、図3の符号(b)に示すように、例えば、複数の圧縮済部分データの先頭位置にまとめて格納される。
格納処理部25は、圧縮済部分データを、SSD14の記憶領域において、同一の圧縮対象メッセージから生成される他の圧縮済部分データや辞書情報と近接する位置に格納することが望ましい。
伸長処理部23は、圧縮処理部22によって圧縮されたデータの伸長(展開,復元)を行なう。
伸長処理部23は、辞書情報D1を読み出し、この読み出した辞書情報を用いて、各ページに格納された圧縮済部分データをそれぞれ伸長する。
伸長処理部23は、例えば、圧縮処理部22がリージョンのデータを圧縮済部分データに圧縮した工程とは逆の工程を辞書情報を用いて行なうことで、圧縮済部分データを伸長してリージョン毎にデータを復元する。
図4は実施形態の一例としての情報処理装置1における伸長処理部23による処理を説明するための図である。
図4中において、符号(a)は圧縮処理部22により圧縮された圧縮済メッセージを、符号(b)は伸長処理部23により伸長されたメッセージの一部を、それぞれ示している。
伸長処理部23は、辞書情報D1を参照して辞書要素(生成規則)を読み出し、この辞書要素を用いて各圧縮済部分データSを伸長する。
図4に示す例においては、伸長処理部23が圧縮済部分データS3を伸長する例を示している。この図4に示す例においては、1ページサイズ以下に圧縮され、1つのページに格納された圧縮済部分データS3が伸長されることにより、2ページサイズのリージョンR3のデータ(リージョンデータ)が復元された状態を示す。
例えば、圧縮済部分データS3を伸長してリージョンR3のデータを復元する際に、伸長処理部23は、SSD14に格納された辞書情報D1(辞書要素)と圧縮済部分データS3とにアクセスを行なう。
すなわち、伸長処理部23は、伸長対象の圧縮済部分データS3と辞書情報D1とが格納された記憶領域(ページ)に対してのみアクセスすることで、この圧縮済部分データS3の伸長を実現する。すなわち、伸長対象以外の圧縮済部分データS3の格納領域にアクセスしない。
(B)動作
上述の如く構成された実施形態の一例としての情報処理装置1におけるメッセージの圧縮処理を、図5に示すフローチャート(ステップA1~A7)に従って説明する。以下に示す例においては、分割処理部21が、メッセージを連続する2ページ毎に分割している。
上述の如く構成された実施形態の一例としての情報処理装置1におけるメッセージの圧縮処理を、図5に示すフローチャート(ステップA1~A7)に従って説明する。以下に示す例においては、分割処理部21が、メッセージを連続する2ページ毎に分割している。
以下の処理においては、圧縮対象のメッセージ(圧縮対象メッセージ)がオペレータ等によって入力される。オペレータは、リージョンサイズおよびページサイズを指定してもよい。なお、これらのリージョンサイズおよびページサイズには、予め設定された規定値を用いてもよい。圧縮対象メッセージは符号語としてRAM12等の記憶領域に記録される。
ステップA1において、分割処理部21が、処理対象メッセージを、ページサイズの2倍毎に区切り、複数のリージョン(ターゲット群)を生成する。これにより、各リージョンには隣り合う2つのページが含まれる。
ステップA2において、圧縮処理部22は、複数のリージョンの中から1つのリージョン(ターゲット)を選択する。そして、圧縮処理部22は、このターゲットリージョンに格納されているデータ(リージョンデータ)がページサイズ以下である場合には、そのデータ(圧縮データ,圧縮済部分データ)を、SSD14の記憶領域の1つのページ内に格納する。
ステップA3において、圧縮処理部22は、ターゲット群において、リージョンデータがページサイズ以下まで圧縮が完了していないリージョン(ターゲット)があるかを確認する。
ページサイズ以下までの圧縮が完了していないリージョン(ターゲット)がある場合には(ステップA3のYESルート参照)、ステップA4に移行する。以下のステップA4~A6の処理において、圧縮処理部22は処理対象メッセージに対する圧縮(文法圧縮)処理を行なう。
ステップA4において、圧縮処理部22は、圧縮が完了していないリージョン(ターゲット)のリージョンデータを圧縮対象データとして、この圧縮対象データにおいて最も多く表れる連続する2文字を置換対象文字列として抽出する。圧縮処理部22は、この置換対象文字列に対して、置換後の文字(置換後文字)を設定する。本例においては、置換後文字を“X”とする。
ステップA5において、圧縮処理部22は、置換対象文字列と置換後文字(例えばX)を対応付けた辞書要素(生成規則)を辞書情報D1に登録する。
ステップA6において、圧縮処理部22は、圧縮対象メッセージ全体に対して、置換対象文字列を置換後文字“X”を用いて置換することで、圧縮処理を行なう。その後、処理はステップA2に戻る。なお、置換後文字は適宜変更して実施される。
また、ステップA3における確認の結果、ページサイズ以下までの圧縮が完了していないリージョンがない場合、すなわち、全てのリージョンのリージョンデータの圧縮済部分データが、いずれもページサイズ以下まで圧縮された場合には(ステップA3のNOルート参照)、ステップA7に移行する。
ステップA7においては、圧縮処理部22は、辞書情報D1および各圧縮済部分データを圧縮済メッセージ(符号語)として出力する。すなわち、圧縮対象メッセージを圧縮した圧縮済メッセージが出力される。その後、処理を終了する。
次に、実施形態の一例としての情報処理装置1における伸長処理を、図6に示すフローチャート(ステップB1~B5)に従って説明する。
以下の処理においては、圧縮されたメッセージ(符号語ともいう)と伸長対象の圧縮済部分データを示すブロック番号が入力され、伸長されたメッセージの一部(2ページ分)が出力される。
ステップB1において、伸長処理部23は、圧縮済メッセージから伸長対象の圧縮済部分データを取り出し、伸長ターゲットとする。
ステップB2において、伸長処理部23は、辞書情報D1において、伸長ターゲットに対して未処理の辞書要素があるかを確認する。
未処理の辞書要素がある場合には(ステップB2のYESルート参照)、ステップB3に移行する。
ステップB3において、伸長処理部23は、辞書情報D1から圧縮状態のデータに対応する、データ伸長にまだ用いていない辞書要素を1つ取り出し、辞書要素Xとする。
ステップB4において、伸長処理部23は、辞書要素Xを用いて伸長ターゲットの圧縮済部分データの伸長を行なう。その後、ステップB2に戻る。
また、ステップB2における確認の結果、未処理の辞書要素がない場合には(ステップB2のNOルート参照)、ステップB5に移行する。
ステップB5において、伸長処理部23は伸長済みのデータ(2ページ分)を出力し、その後、処理を終了する。
(C)効果
このように、実施形態の一例としての情報処理装置1によれば、分割処理部21が圧縮対象メッセージを1つ以上のページを含む複数のリージョンに区切り、圧縮処理部22が、各リージョンのデータを、それぞれページサイズ以下となるまで圧縮する。
このように、実施形態の一例としての情報処理装置1によれば、分割処理部21が圧縮対象メッセージを1つ以上のページを含む複数のリージョンに区切り、圧縮処理部22が、各リージョンのデータを、それぞれページサイズ以下となるまで圧縮する。
これにより、各リージョンデータを圧縮して生成される圧縮済部分データは、それぞれページ内に収まり、ページ毎にアラインメントされた状態となる。
従って、特定の圧縮済部分データを伸長する際には、伸長処理部23は、伸長対象の圧縮済部分データが格納されたページと、辞書情報D1に対してのみアクセスすることで、伸長対象の圧縮済部分データを伸長させることができる。
これにより、圧縮済メッセージの一部の圧縮済メッセージを伸長する際に、SSD14の記憶領域においてアクセスするページ範囲を少なくすることができ、SSD14の寿命を延ばすことができる。従って、SSD14を効率的に用いることができる。
圧縮対象メッセージを文法圧縮手法を用いて圧縮することによっても、SSD14におけるデータの記憶領域を効率的に用いることができる。
分割処理部21が、各リージョンがそれぞれ同数のページを含むよう圧縮対象メッセージを区画することで、圧縮処理部22が生成する圧縮済部分データのサイズをほぼ均等にして均質化することができる。また、これにより、圧縮済部分データをページに容易にアラインメントすることができる。
また、圧縮済メッセージの一部の圧縮済メッセージを伸長する際に、SSD14においてアクセスするページ範囲が少ないので、処理速度を向上させることができる。
図7は実施形態の一例としての情報処理装置1におけるデータ圧縮方法を従来の文法圧縮手法と比較して示す図である。
図7において、符号(a)は従来の文法圧縮手法によるデータ圧縮例を木構造で示し、符号(b)は本願の情報処理装置1の圧縮処理部22によるデータ圧縮例を木構想で示す。
従来の文法圧縮手法により行なったデータ圧縮においては、符号(a)に示すように、最終的に1文字(図7に示す例では“G”)になるまで圧縮置換を繰り返し行なわれる。これにより、辞書要素が多く、辞書情報サイズが大きくなる。
これに対して、本情報処理装置1においては、圧縮処理部22は、リージョン毎に、各リージョンデータに対して、ページサイズ以下となるまで圧縮置換を繰り返し行ない、ページサイズ以下となった時点で、圧縮置換を終了する。
例えば、図7中において、符号(b)に示す圧縮済部分データS1(R1)は、文字列“QQ”の状態で圧縮が終了している。
これにより、従来の文法圧縮手法に比べて、圧縮置換に伴う辞書要素の数が少なく、辞書情報D1のデータサイズが小さくなる。これにより、圧縮済メッセージを伸長する際に、アクセスするページ範囲をさらに少なくすることができる。
(D)その他
開示の技術は上述した実施形態に限定されるものではなく、本実施形態の趣旨を逸脱しない範囲で種々変形して実施することができる。本実施形態の各構成及び各処理は、必要に応じて取捨選択することができ、あるいは適宜組み合わせてもよい。
開示の技術は上述した実施形態に限定されるものではなく、本実施形態の趣旨を逸脱しない範囲で種々変形して実施することができる。本実施形態の各構成及び各処理は、必要に応じて取捨選択することができ、あるいは適宜組み合わせてもよい。
例えば、上述した実施形態においては、分割処理部21が、予め規定されたサイズ(ページ数)のリージョンで圧縮対象メッセージを区切り、圧縮処理部22が、各リージョンのリージョンデータをページサイズ以下になるまで圧縮を行なっているが、これに限定されるものではない。
図8は実施形態の一例としての情報処理装置1の機能構成の変形例を示す図である。
この図8に示すように、本変形例においては、CPU11は、上述した分割処理部21,圧縮処理部22,伸長処理部23および格納処理部25としての機能に加えて、確認部24としての機能を実現する。
なお、図中、既述の符号と同一の符号は同様の部分を示しているので、その詳細な説明は省略する。
確認部24は、圧縮処理部22が圧縮対象メッセージおよび圧縮済メッセージに対して行なう各データ圧縮処理について、それぞれ圧縮率を算出し、算出した圧縮率をRAM12等の所定の記憶領域に格納する。
そして、確認部24は、算出した圧縮率を予め規定された閾値と比較することで、圧縮処理部22によって行われた圧縮処理について、圧縮効果があったか否かの判定を行なう。
例えば、確認部24は、算出した圧縮率が閾値以上である場合に、評価要件が満たされており圧縮効果があると判断する。一方、確認部24は、算出した圧縮率が閾値未満である場合に、評価要件が満たされておらず圧縮効果がないと判断する。すなわち、確認部24は、圧縮処理部22により行なわれる圧縮処理の評価を行なう。
図9は本変形例における圧縮対象メッセージに対する圧縮処理および圧縮効果を説明するための図である。
図9中において、符号(a)は分割処理部21により複数のリージョンに分割されたメッセージを示しており、この図9に示す例においては、分割処理部21は、メッセージを連続する2ページ毎に分割している。以下、リージョンに符号R1~R4を付して表す。また、図9中においては、符号(b)~(d)に示すように、圧縮済部分データに符号S01~S07を付して示し、辞書情報に符号D1を付して示す。
図9に示す例において、リージョンR1にはリージョンデータとしてページP1,P2のデータが含まれている。同様に、リージョンR2にはページP3,P4のデータが、リージョンR3にはページP5,P6のデータが、リージョンR4にはページP7,P8のデータが、それぞれリージョンデータとして含まれている。
図9中において、符号(b)は、圧縮処理部22が、符号(a)に示す区画済みメッセージを圧縮して生成した圧縮済メッセージE1-1を示す。
圧縮処理部22は、圧縮対象メッセージのリージョンR1~R4の各リージョンデータをページサイズ以下となるまで圧縮することで、圧縮済メッセージE1-1の圧縮済部分データS01~S04をそれぞれ生成する。圧縮処理の対象である各リージョンのデータ(リージョンデータ)が圧縮処理部22による圧縮ターゲットとなる。
本変形例において、圧縮処理部22は、圧縮済メッセージに対して更なる圧縮を行なう、追加圧縮機能を有する。すなわち、圧縮処理部22は、圧縮済メッセージにおいて隣接する複数の圧縮済部分データをまとめて、ページサイズ以下となるまで圧縮(追加圧縮)を行なう。
図9中において、符号(c)は、圧縮処理部22が、符号(b)に示す圧縮済メッセージE1-1を更に圧縮して生成した圧縮済メッセージE1-2を示す。
この符号(c)に示す圧縮済メッセージE1-2においては、圧縮処理部22が、符号(b)の圧縮済メッセージE1-1において連続する2つの圧縮済部分データS01,S02をまとめて圧縮ターゲットとする。そして、圧縮処理部22は、この生成した圧縮ターゲットをページサイズ以下となるまで圧縮することで、圧縮済部分データS05を生成している。
同様に、圧縮処理部22は、符号(b)の圧縮済メッセージE1-1において連続する2つの圧縮済部分データS03,S04をまとめて圧縮ターゲットとする。そして、圧縮処理部22は、この生成した圧縮ターゲットをページサイズ以下となるまで圧縮することで、圧縮済部分データS06を生成している。
圧縮処理部22は、確認部24が圧縮効果があると判断した場合に、その圧縮後の圧縮済メッセージに対して追加圧縮を行なう。また、圧縮処理部22は、確認部24が圧縮効果がないと判断した場合には、その圧縮後の圧縮済メッセージに対して追加圧縮を行なわない。すなわち、追加圧縮の実施を阻止する。
図9中において、符号(d)は、圧縮処理部22が、符号(c)に示す圧縮済メッセージE1-2を更に圧縮して生成した圧縮済メッセージE1-3を示す。
圧縮処理部22は、符号(c)の圧縮済メッセージE1-2において連続する2つの圧縮済部分データS05,S06をまとめることで、新たな圧縮ターゲットを生成し、この生成した圧縮ターゲットをページサイズ以下となるまで圧縮する。これにより、圧縮処理部22は、符号(d)に示す圧縮済メッセージE1-3の圧縮済部分データにおける圧縮済部分データS07を生成している。
図9に示す例においては、圧縮済メッセージE1-2を圧縮して圧縮済メッセージE1-3を生成する際に、辞書情報D1の容量が増大している。これにより、圧縮済メッセージE1-3については、その圧縮率は予め規定された閾値未満であり、後述する確認部24により圧縮効果がないと判断される。
圧縮処理部22は、確認部24が圧縮効果がないと判断した場合には追加圧縮を行なわない。
圧縮処理部22は、確認部24が圧縮効果があると判断した場合には、先に圧縮を行なった圧縮済メッセージに対する更なる圧縮を行なう。すなわち、先に圧縮を行なった圧縮済メッセージにおいて、連続する2つの圧縮済部分データをまとめて圧縮対象データとする。
そして、圧縮処理部22は、この圧縮対象データにおいて最も多く表れる連続する2文字を置換対象文字列として抽出し、この置換対象文字列に対して置換後文字を設定する。そして、圧縮処理部22は、圧縮対象メッセージ全体に対して、置換対象文字列を置換後文字を用いて置換することで、圧縮処理を行なう。
一方、確認部24が圧縮効果がないと判断した場合には、圧縮処理部22は、先に圧縮を行なった圧縮済メッセージに対する更なる圧縮を行なわない。
上述の如く構成された実施形態の変形例としての情報処理装置1におけるメッセージの圧縮処理を、図10に示すフローチャート(ステップC1~C10)に従って説明する。
ステップC1において、分割処理部21が、処理対象メッセージを、ページサイズの2倍毎に区切り、複数のリージョン(ターゲット群)を生成する。
また、圧縮処理部22は中身が空の辞書情報D1を用意する。圧縮対象メッセージを符号語として記録する。
ステップC2において、圧縮処理部22は、複数のリージョンの中から1つのリージョン(ターゲット)を選択する。そして、圧縮処理部22は、このターゲットリージョンに格納されているデータ(リージョンデータ)がページサイズ以下である場合には、そのデータ(圧縮データ,圧縮済部分データ)を、SSD14の記憶領域の1つのページ内に格納する。
ステップC3において、圧縮処理部22は、ターゲット群において、リージョンデータがページサイズ以下まで圧縮が完了していないリージョン(ターゲット)があるかを確認する。
ページサイズ以下までの圧縮が完了していないリージョン(ターゲット)がある場合には(ステップC3のYESルート参照)、ステップC4に移行する。以下のステップC4~C6の処理において、圧縮処理部22は処理対象メッセージに対する圧縮(文法圧縮)処理を行なう。
ステップC4において、圧縮処理部22は、圧縮が完了していないリージョン(ターゲット)のリージョンデータを圧縮対象データとして、この圧縮対象データにおいて最も多く表れる連続する2文字を置換対象文字列として抽出する。圧縮処理部22は、この置換対象文字列に対して、置換後の文字(置換後文字)を設定する。本例においては、置換後文字を“X”とする。
ステップC5において、圧縮処理部22は、置換対象文字列と置換後文字(例えばX)を対応付けた辞書要素(生成規則)を辞書情報D1に登録する。
ステップC6において、圧縮処理部22は、圧縮対象メッセージ全体に対して、置換対象文字列を置換後文字“X”を用いて置換することで、圧縮処理を行なう。その後、処理はステップC2に戻る。なお、置換後文字は適宜変更して実施される。
また、ステップC3における確認の結果、ページサイズ以下までの圧縮が完了していないリージョンがない場合、すなわち、全てのリージョンのリージョンデータの圧縮済部分データが、いずれもページサイズ以下まで圧縮された場合には(ステップC3のNOルート参照)、ステップC7に移行する。
ステップC7において、確認部24が、圧縮処理部22が行なったデータ圧縮処理により生成された圧縮済メッセージついて圧縮率を算出し、算出した圧縮率を予め規定された閾値と比較して、圧縮効果があったか否かの判定を行なう。
例えば、確認部24は、算出した圧縮率が閾値以上である場合に、圧縮効果があると判断する。また、確認部24は、算出した圧縮率が閾値未満である場合に、圧縮効果がないと判断する。すなわち、確認部24は、圧縮処理部22により行なわれる圧縮処理の評価を行なう。
確認部24による評価の結果、圧縮効果があると判断された場合には(ステップC7のYESルート参照)、ステップC8に移行する。
ステップC8において、圧縮処理部22は、圧縮に使用した辞書要素を登録した辞書情報D1と、生成した圧縮済メッセージとを符号語として、RAM12等の所定の記憶領域に記録する。
ステップC9において、圧縮処理部22は、圧縮済メッセージにおいて連続する2つの圧縮済部分データどうしをまとめることで、1つ以上の圧縮ターゲットを生成する。その後、ステップC2に戻る。
また、ステップC7における、確認部24による評価の結果、圧縮効果がないと判断された場合には(ステップC7のNOルート参照)、ステップC10に移行する。
ステップC10においては、圧縮処理部22は、辞書情報D1および各圧縮済部分データを圧縮済メッセージ(符号語)として出力する。すなわち、圧縮対象メッセージを圧縮した圧縮済メッセージが出力される。その後、処理を終了する。
このように、実施形態の変形例としての情報処理装置1によれば、上述した実施形態と同様の作用効果を得られる他、リージョンのサイズ、すなわち、リージョンに含めるページのサイズを予め規定する必要がなく利便性が高い。
すなわち、予めリージョンのサイズを規定することなく、ページ毎にアラインメントされた状態の圧縮済部分データを生成することができる。
1 情報処理装置
11 CPU
12 RAM
13 ROM
14 SSD
15 入力インタフェース
15a キーボード
15b マウス
16 光学ドライブ装置
16a 光ディスク
17 機器接続インタフェース
17a メモリ装置
17b メモリリーダライタ
17c メモリカード
18 ネットワークインタフェース
19 バス
20 グラフィック処理装置
20a モニタ
21 分割処理部
22 圧縮処理部
23 伸長処理部
24 確認部
25 格納処理部
11 CPU
12 RAM
13 ROM
14 SSD
15 入力インタフェース
15a キーボード
15b マウス
16 光学ドライブ装置
16a 光ディスク
17 機器接続インタフェース
17a メモリ装置
17b メモリリーダライタ
17c メモリカード
18 ネットワークインタフェース
19 バス
20 グラフィック処理装置
20a モニタ
21 分割処理部
22 圧縮処理部
23 伸長処理部
24 確認部
25 格納処理部
Claims (15)
- 圧縮対象文字列データを、複数の部分領域に区画する分割処理部と、
前記複数の部分領域のそれぞれに含まれる領域データを、それぞれアクセス単位サイズ以下まで圧縮して圧縮済部分データを生成する圧縮処理部と、
生成した前記圧縮済部分データを、半導体記憶装置におけるアクセス単位領域に格納させる格納処理部と
を備えることを特徴とする、情報処理装置。 - 前記部分領域が、隣り合う複数の前記アクセス単位領域を含む
ことを特徴とする、請求項1記載の情報処理装置。 - 前記圧縮処理部が、文法圧縮処理を行なうことで前記圧縮済部分データを生成する
ことを特徴とする、請求項1または2記載の情報処理装置。 - 辞書情報を用いて伸長対象の圧縮済部分データを伸長して、前記圧縮対象文字列データの一部を復元する伸長処理部
を備えることを特徴とする、請求項1~3のいずれか1項に記載の情報処理装置。 - 前記圧縮処理部が、生成した前記圧縮済部分データを備える圧縮済文字列データの圧縮率が評価要件を満たしている場合に、連続する複数の圧縮済部分データをアクセス単位サイズ以下まで圧縮する
ことを特徴とする、請求項1~4のいずれか1項に記載の情報処理装置。 - 圧縮対象文字列データを、複数の部分領域に区画し、
前記複数の部分領域のそれぞれに含まれる領域データを、それぞれアクセス単位サイズ以下まで圧縮して圧縮済部分データを生成し、
生成した前記圧縮済部分データを、半導体記憶装置におけるアクセス単位領域に格納させる
処理をコンピュータに実行させる情報処理プログラム。 - 前記部分領域が、隣り合う複数の前記アクセス単位領域を含む
ことを特徴とする、請求項6記載の情報処理プログラム。 - 文法圧縮処理を行なうことで前記圧縮済部分データを生成する
ことを特徴とする、請求項6または7記載の情報処理プログラム。 - 辞書情報を用いて伸長対象の圧縮済部分データを伸長して、前記圧縮対象文字列データの一部を復元する
処理を前記コンピュータに実行させる、請求項6~8のいずれか1項に記載の情報処理プログラム。 - 生成した前記圧縮済部分データを備える圧縮済文字列データの圧縮率が評価要件を満たしている場合に、連続する複数の圧縮済部分データをアクセス単位サイズ以下まで圧縮する
処理を前記コンピュータに実行させる、請求項6~9のいずれか1項に記載の情報処理プログラム。 - 圧縮対象文字列データを、複数の部分領域に区画する処理と、
前記複数の部分領域のそれぞれに含まれる領域データを、それぞれアクセス単位サイズ以下まで圧縮して圧縮済部分データを生成する処理と、
生成した前記圧縮済部分データを、半導体記憶装置におけるアクセス単位領域に格納させる処理と
を備えることを特徴とする、情報処理方法。 - 前記部分領域が、隣り合う複数の前記アクセス単位領域を含む
ことを特徴とする、請求項11記載の情報処理方法。 - 文法圧縮処理を行なうことで前記圧縮済部分データを生成する
ことを特徴とする、請求項11または12記載の情報処理方法。 - 辞書情報を用いて伸長対象の圧縮済部分データを伸長して、前記圧縮対象文字列データの一部を復元する
処理を備えることを特徴とする、請求項11~13のいずれか1項に記載の情報処理方法。 - 生成した前記圧縮済部分データを備える圧縮済文字列データの圧縮率が評価要件を満たしている場合に、連続する複数の圧縮済部分データをアクセス単位サイズ以下まで圧縮する
処理を備えることを特徴とする、請求項11~14のいずれか1項に記載の情報処理方法。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2017-040160 | 2017-03-03 | ||
| JP2017040160A JP6756280B2 (ja) | 2017-03-03 | 2017-03-03 | 情報処理装置,情報処理プログラムおよび情報処理方法 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2018159167A1 true WO2018159167A1 (ja) | 2018-09-07 |
Family
ID=63371245
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/JP2018/002193 Ceased WO2018159167A1 (ja) | 2017-03-03 | 2018-01-25 | 情報処理装置,情報処理プログラムおよび情報処理方法 |
Country Status (2)
| Country | Link |
|---|---|
| JP (1) | JP6756280B2 (ja) |
| WO (1) | WO2018159167A1 (ja) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP7142562B2 (ja) * | 2018-12-25 | 2022-09-27 | ルネサスエレクトロニクス株式会社 | 半導体装置、および、データのアクセスを制御するための方法 |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH06202844A (ja) * | 1993-01-05 | 1994-07-22 | Fujitsu Ltd | データ圧縮復元処理装置 |
| JP2007535068A (ja) * | 2004-04-26 | 2007-11-29 | ストアウィズ インク | 記憶のためのファイル圧縮および圧縮ファイルの操作の方法およびシステム |
| JP2010079535A (ja) * | 2008-09-25 | 2010-04-08 | Mitsubishi Electric Corp | データアクセス装置 |
| JP2017068805A (ja) * | 2015-10-02 | 2017-04-06 | 株式会社ソニー・インタラクティブエンタテインメント | 情報処理装置、プロセッサ、および情報処理方法 |
-
2017
- 2017-03-03 JP JP2017040160A patent/JP6756280B2/ja not_active Expired - Fee Related
-
2018
- 2018-01-25 WO PCT/JP2018/002193 patent/WO2018159167A1/ja not_active Ceased
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH06202844A (ja) * | 1993-01-05 | 1994-07-22 | Fujitsu Ltd | データ圧縮復元処理装置 |
| JP2007535068A (ja) * | 2004-04-26 | 2007-11-29 | ストアウィズ インク | 記憶のためのファイル圧縮および圧縮ファイルの操作の方法およびシステム |
| JP2010079535A (ja) * | 2008-09-25 | 2010-04-08 | Mitsubishi Electric Corp | データアクセス装置 |
| JP2017068805A (ja) * | 2015-10-02 | 2017-04-06 | 株式会社ソニー・インタラクティブエンタテインメント | 情報処理装置、プロセッサ、および情報処理方法 |
Also Published As
| Publication number | Publication date |
|---|---|
| JP2018147143A (ja) | 2018-09-20 |
| JP6756280B2 (ja) | 2020-09-16 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US11080234B2 (en) | Computer readable recording medium for index generation | |
| JP5668078B2 (ja) | サーバサイドレンダリング | |
| JPWO2013140530A1 (ja) | プログラム、圧縮データ生成方法、伸張方法、情報処理装置、および記録媒体 | |
| US9882582B2 (en) | Non-transitory computer-readable recording medium, encoding method, encoding device, decoding method, and decoding device | |
| JP6648620B2 (ja) | 符号化プログラム、符号化装置および符号化方法 | |
| US10224958B2 (en) | Computer-readable recording medium, encoding apparatus, and encoding method | |
| CN113590032A (zh) | 固态硬盘名称空间的创建方法、装置、设备及可读存储介质 | |
| JP6089844B2 (ja) | 制御装置,ストレージ装置,及び制御プログラム | |
| US10103747B1 (en) | Lossless binary compression in a memory constrained environment | |
| US10521414B2 (en) | Computer-readable recording medium, encoding method, encoding device, retrieval method, and retrieval device | |
| CN106354746B (zh) | 搜索方法和搜索设备 | |
| JP6756280B2 (ja) | 情報処理装置,情報処理プログラムおよび情報処理方法 | |
| JP7159557B2 (ja) | 動的辞書の生成プログラム、動的辞書の生成方法および復号化装置 | |
| JP2019191863A (ja) | 記憶装置,情報処理プログラムおよび情報処理システム | |
| US20180285443A1 (en) | Non-transitory computer readable medium, encode device, and encode method | |
| JP7497734B2 (ja) | グラフ探索装置、グラフ探索方法、及びプログラム | |
| JP6931442B2 (ja) | 符号化プログラム、インデックス生成プログラム、検索プログラム、符号化装置、インデックス生成装置、検索装置、符号化方法、インデックス生成方法および検索方法 | |
| US11323132B2 (en) | Encoding method and encoding apparatus | |
| US20170060934A1 (en) | Modifying a compressed block of data | |
| JP5219543B2 (ja) | 情報処理装置及び情報処理方法及びプログラム | |
| JP6512294B2 (ja) | 圧縮プログラム、圧縮方法および圧縮装置 | |
| JP7679630B2 (ja) | 情報処理プログラム,情報処理方法および情報処理装置 | |
| CN104571940A (zh) | 储存装置及其相关系统 | |
| US20170212834A1 (en) | Storage device optimization | |
| TWI631556B (zh) | 資料壓縮裝置及其資料壓縮方法 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 18761198 Country of ref document: EP Kind code of ref document: A1 |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 18761198 Country of ref document: EP Kind code of ref document: A1 |