IP Library Granted Patent US 11,640,265
Granted Patent B2
US 11,640,265 · App. 17/462,549 · Granted May 2, 2023

Apparatus for processing received data

Inventors: Nagamasa Mizushima (Tokyo, JP); Kentaro Shimada (Tokyo, JP)
Assignee: HITACHI, LTD.
G06F3/0659G06F3/0604G06F3/0679G06F7/523H03M7/3084H03M7/6005
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,640,265
App. No.
17/462,549
Granted
May 2, 2023
Kind
B2
Abstract

To speed up decoding of a range code. A decompression circuit calculates a plurality of candidate bit values for each bit of the N-bit string based on a plurality of possible bit histories of a bit before a K-th bit in parallel for a plurality of bits, and repeatedly selects a correct bit value of the K-th bit from the plurality of candidate bit values based on a correct bit history of the bit before the K-th bit to decode the N-bit string.

Claims (40)

1. An apparatus for processing received data, the apparatus comprising:

a circuit configured to receive an input code compressed based on a range code; and

a plurality of decompression circuits configured to decompress a part or all of the input code to decode a bit string,

wherein a bit value of a bit of the input code is decoded based on a bit history of a bit before the bit, and

wherein the plurality of decompression circuits are configured to:

calculate a plurality of candidate bit values for each bit of the bit string based on a plurality of possible bit histories of the bit before the bit, and

repeatedly select a correct bit value of the bit from the plurality of candidate bit values based on a correct bit history of the bit before the bit to decode the bit string.

2. The apparatus according to claim 1 , wherein the plurality of decompression circuits are configured to calculate the plurality of candidate bit values in parallel.

3. The apparatus according to claim 1 , wherein the plurality of decompression circuits are configured to calculate the plurality of candidate bit values in parallel for a plurality of bits.

4. The apparatus according to claim 1 ,

wherein the plurality of decompression circuits are configured to

store probability values of a bit value appearing in accordance with the bit history, and

select and update a probability value corresponding to a bit history based on correct bits constituting the decoded bit string from the stored probability values.

5. The apparatus according to claim 1 ,

wherein the bit string is an N-bit string, the bit is a K-th bit, N represents an integer greater than 1, and K represents an integer from 1 to N, and

wherein, in calculation of the candidate bit values of the K-th bit in the N-bit string, multiplication of a division target range by probability values of 2{circumflex over ( )}(K−1) bit histories is performed to divide the division target range into two sections, and each of 2{circumflex over ( )}(K−1) candidate bit values is determined from a section specified by a sub-code among the two sections of the K-th bit in the input code.

6. The apparatus according to claim 1 , wherein, when the number of bits to be decoded from the entire input code is larger than a preset maximum value, the plurality of decompression circuits perform decoding of a bit string based on a part of the input code for a plurality of cycles.

7. The apparatus according to claim 6 , wherein, in a second and subsequent cycles of the plurality of cycles, a division target range for determining each of the candidate bit values of the bit is a section corresponding to a correct bit value of the bit in an immediately preceding cycle.

8. A storage system, comprising:

an interface configured to receive a request from a host; and

a controller configured to execute writing of data to a storage drive and reading of data from the storage drive in accordance with a command from the host,

wherein the controller includes the plurality of decompression circuits according to claim 1 ,

wherein the controller is configured such that, in accordance with a read command from the host, the input code transferred from the storage drive is decoded by the plurality of decompression circuits to generate read data, and

wherein the read data is replied to the host via the interface.

9. The storage system according to claim 8 ,

wherein the plurality of decompression circuits are configured to

store probability values of a bit value appearing in accordance with the bit history, and

select and update a probability value of each of correct bit values constituting the decoded N-bit string from the stored probability values.

10. The storage system according to claim 8 ,

wherein the bit string is an N-bit string, the bit is a K-th bit, N represents an integer greater than 1, and K represents an integer from 1 to N, and

wherein, in calculation of the candidate bit values of the K-th bit in the N-bit string, multiplication of a division target range by probability values of 2{circumflex over ( )}(K−1) bit histories is performed to divide the division target range into two sections, and a candidate bit value is determined from each of 2{circumflex over ( )}(K−1) sections for a sub-code of the K-th bit in the input code.

11. The storage system according to claim 8 , wherein, when the number of bits to be decoded from the entire input code is larger than a preset maximum value, the plurality of decompression circuits perform decoding of a bit string based on a part of the input code for a plurality of cycles.

12. The storage system according to claim 11 , wherein, in a second and subsequent cycles of the plurality of cycles, a division target range for determining each of the candidate bit values of the bit is a section corresponding to a correct bit value of the bit in an immediately preceding cycle.

13. A method for processing received data in an apparatus including a plurality of decompression circuits, the method comprising:

receiving an input code compressed based on a range code; and

decompressing a part or all of the input code to decode a bit string by the plurality of decompression circuits,

wherein a bit value of a bit of the input code is decoded based on a bit history of a bit before the bit, and

wherein the decompressing includes

calculating a plurality of candidate bit values for each bit of the bit string based on a plurality of possible bit histories of the bit before the bit, and

repeatedly select a correct bit value of the bit from the plurality of candidate bit values based on a correct bit history of the bit before the bit to decode the bit string.

Assignments (1)
COMPANY SPLIT Recorded Aug 20, 2024
From: HITACHI, LTD.
To: HITACHI VANTARA, LTD.
Reel/Frame 069518/0761 →
Priority Claims (1)
JP JP2020-208090 · Dec 16, 2020 · national
Continuity (2)
Continuation 17189396 · Mar 2, 2021
Related Publication 20220188030A1 · Jun 16, 2022