Storage of digital data
First Claim
1. A digital apparatus for locating, for a PID contained at a variable location which has part only of a packet header consisting of a predetermined number of input bits, a corresponding DES key value, said apparatus comprising:
- (a) table storing means for storing a table containing, for each DES key value, a packet header comprising said predetermined number of bits with a possible PID contained at a defined location and with zero values elsewhere;
(b) mask value storing means for storing mask values each comprising said same predetermined number of bits as said packet headers with ones contained at said defined location and with zero values elsewhere;
(c) an input for receiving an input packet header comprising said predetermined number of bits;
(d) combining means coupled to said mask value storing means and said input to combine said input packet header and one of said mask values so as to provide a combined value consisting of said value held in said input packet header at said defined location and zeros elsewhere; and
(e) comparing means coupled to said table storing means and said combining means for comparing said combined value and one of said packet headers stored in said table and, (i) when they are not equal, repeating said operations of said combining means and said comparing means for said next packet header (if any) stored in said table, and (ii) when they are equal, reading said corresponding DES key value from said table and providing it as an output value.
0 Assignments
0 Petitions
Accused Products
Abstract
A device for locating a DES key value that corresponds to a packet identification (PID) contained at a variable possible location which comprises part only of a 32-bit packet header. A table stored in memory contains for each DES key: (i) a packet header having 32 bits with a PID of either 12, 9 or 8 bits contained at a defined location and with zero values elsewhere, and (ii) a mask value also having 32 bits with ones contained at the said defined location of the PID and zeros elsewhere. The table is divided into regions for respective packet format types. An incoming packet header at an input is combined with a first one of the mask values from the table to provide a combined value that consists of the value held in the input packet header at the defined location and zeros elsewhere. This combined value is compared with the corresponding packet header stored in the table. When they are not equal, the combining and comparison is repeated for the next row of the table. When they are equal, the corresponding DES key value is read from the table and provided as an output. The system can cope with variable PID formats within the packet header without alteration to the hardware but merely with re-programming of the table contents.
-
Citations
24 Claims
-
1. A digital apparatus for locating, for a PID contained at a variable location which has part only of a packet header consisting of a predetermined number of input bits, a corresponding DES key value, said apparatus comprising:
-
(a) table storing means for storing a table containing, for each DES key value, a packet header comprising said predetermined number of bits with a possible PID contained at a defined location and with zero values elsewhere;
(b) mask value storing means for storing mask values each comprising said same predetermined number of bits as said packet headers with ones contained at said defined location and with zero values elsewhere;
(c) an input for receiving an input packet header comprising said predetermined number of bits;
(d) combining means coupled to said mask value storing means and said input to combine said input packet header and one of said mask values so as to provide a combined value consisting of said value held in said input packet header at said defined location and zeros elsewhere; and
(e) comparing means coupled to said table storing means and said combining means for comparing said combined value and one of said packet headers stored in said table and, (i) when they are not equal, repeating said operations of said combining means and said comparing means for said next packet header (if any) stored in said table, and (ii) when they are equal, reading said corresponding DES key value from said table and providing it as an output value. - View Dependent Claims (2, 3)
-
-
4. A digital apparatus for locating, for a first value contained at a variable location which comprises part only of a second value consisting of a predetermined number of input bits, a corresponding third value, said apparatus comprising:
-
(a) table storing means for storing a table containing, for each third value, a second value comprising said predetermined number of bits with a possible first value contained at a defined location and with zero values elsewhere;
(b) fourth value storing means for storing fourth values each comprising said same predetermined number of bits as said second values with ones contained at said defined location and zero values elsewhere;
(c) an input for receiving an input second value comprising said predetermined number of bits;
(d) combining means coupled to said fourth value storing means and said input to combine said input second value and one of said fourth values so as to provide a combined value consisting of said value held in said input second value at said defined location and zeros elsewhere; and
(e) comparing means coupled to said table storing means and said combining means for comparing said combined value and one of said second values stored in said table and, (i) when they are not equal, repeating said operations of said combining means and said comparing means for said next second value (if any) stored in said table, and (ii) when they are equal, reading said corresponding third value from said table and providing it as an output value. - View Dependent Claims (5, 6)
-
-
7. A digital method for locating, for a PID contained at a variable location which comprises part only of a packet header consisting of a predetermined number of input bits, a corresponding DES key value, said method comprising the steps of:
-
(a) storing a table containing, for each DES key value, a packet header comprising said predetermined number of bits with a possible PID contained at a defined location and with zero values elsewhere;
(b) storing mask values each comprising said same predetermined number of bits as said packet headers with ones contained at said defined location and with zero values elsewhere;
(c) receiving an input packet header comprising said predetermined number of bits;
(d) combining said input packet header and one of said mask values so as to provide a combined value consisting of said value held in said input packet header at said defined location and zeros elsewhere; and
(e) comparing said combined value and one of said packet headers stored in said table and, (i) when they are not equal, repeating said combining and said comparing operations for said next packet header (if any) stored in said table, and (ii) when they are equal, reading said corresponding DES key value from said table and providing it as an output value. - View Dependent Claims (8, 9)
-
-
10. A digital method for locating, for a first value contained at a variable location which comprises part only of a second value consisting of a predetermined number of input bits, a corresponding third value, said method comprising the steps of:
-
(a) storing a table containing, for each third value, a second value comprising said predetermined number of bits with a possible first value contained at a defined location and with zero values elsewhere;
(b) storing fourth values each comprising said same predetermined number of bits as said second values with ones contained at said defined location and zero values elsewhere;
(c) receiving an input second value comprising said predetermined number of bits;
(d) combining said input second value and one of said fourth values so as to provide a combined value consisting of said value held in said input second value at said defined location and zeros elsewhere; and
(e) comparing said combined value and one of said second values stored in said table and, (i) when they are not equal, repeating said operations of said combining means and said comparing means for said next second value (if any) stored in said table, and (ii) when they are equal, reading said corresponding third value from said table and providing it as an output value. - View Dependent Claims (11, 12)
-
-
13. A digital apparatus for locating, for a PID contained at a variable location which comprises part only of a packet header consisting of a predetermined number of input bits, a corresponding DES key value, said apparatus comprising:
-
(a) a table store for storing a table containing, for each DES key value, a packet header comprising said predetermined number of bits with a possible PID contained at a defined location and with zero values elsewhere;
(b) a mask value store for storing mask values each comprising said same predetermined number of bits as said packet headers with ones contained at said defined location and with zero values elsewhere;
(c) an input for receiving an input packet header comprising said predetermined number of bits;
(d) a combiner coupled to said mask value store and said input to combine said input packet header and one of said mask values so as to provide a combined value consisting of said value held in said input packet header at said defined location and zeros elsewhere; and
(e) a comparator coupled to said table store and said combiner for comparing said combined value and one of said packet headers stored in said table and, (i) when they are not equal, repeating said operations of said combiner and said comparator for said next packet header (if any) stored in said table, and (ii) when they are equal, reading said corresponding DES key value from said table and providing it as an output value. - View Dependent Claims (14, 15, 16)
-
-
17. A digital apparatus for locating, for a first value contained at a variable location which comprises part only of a second value consisting of a predetermined number of input bits, a corresponding third value, said apparatus comprising:
-
(a) a table store for storing a table containing, for each third value, a second value comprising said predetermined number of bits with a possible first value contained at a defined location and with zero values elsewhere;
(b) a fourth value store for storing fourth values each comprising said same predetermined number of bits as said second values with ones contained at said defined location and zero values elsewhere;
(c) an input for receiving an input second value comprising said predetermined number of bits;
(d) a combiner coupled to said fourth value store and said input to combine said input second value and one of said fourth values so as to provide a combined value consisting of said value held in said input second value at said defined location and zeros elsewhere; and
(e) a comparator coupled to said table store and said combiner for comparing said combined value and one of said second values stored in said table and, (i) when they are not equal, repeating said operations of said combiner and said comparator for said next second value (if any) stored in said table, and (ii) when they are equal, reading said corresponding third value from said table and providing it as an output value. - View Dependent Claims (18, 19, 20)
-
-
21. A device for locating a DES key value, comprising:
-
a memory table configured to store a predetermined number of mask bits, PID header bits, and corresponding DES key bits;
a header identifier circuit coupled to an input and configured to receive an input packet having PID header bits;
a compare circuit configured to compare the PID header bits in the input packet with the PID header bits stored in the memory table, and when the PID header bits stored in the memory table are not equal with the PID header bits in the input packet, repeatedly reading the next PID header bits stored in the memory table and comparing the PID header bits from the memory table with the PID header bits in the input packet until the PID header bits are equal; and
a DES key read circuit coupled to the memory table and configured to read from the memory table DES key bits and output the DES key bits corresponding to the PID header bits in the memory that are equal to the input packet PID header bits.
-
-
22. A device for locating a DES key value, comprising:
-
a memory table configured to store a predetermined number of mask bits, PID header bits, and corresponding DES key bits;
a header identifier circuit coupled to an input and configured to receive an input packet having PID header bits;
a combined circuit configured to receive the input packet and the mask bits and to output the PID header bits;
a compare circuit configured to compare the PID header bits in the input packet with the PID header bits stored in the memory table, and when the PID header bits stored in the memory table are not equal with the PID header bits in the input packet, repeatedly reading the next PID header bits stored in the memory table and comparing the PID header bits from the memory table with the PID header bits in the input packet until the PID header bits are equal; and
a DES key read circuit coupled to the memory table and configured to read from the memory table DES key bits and output the DES key bits corresponding to the PID header bits that are equal to the input packet PID header bits.
-
-
23. A digital apparatus for locating a DES key value, comprising:
-
a memory table configured to store mask bits, PID header bits, and corresponding DES key values;
a header identifier circuit coupled to an input and configured to receive an input packet having PID header bits;
a read mask circuit coupled to the memory table and configured to read the mask bits;
a read header circuit coupled to the memory table and configured to read the PID header bits;
a read DES key circuit coupled to the memory table and configured to read the DES key bits;
a combined circuit coupled to the header identifier circuit and the read mask circuit and configured to combine the mask bits with the input packet and to output the PID header bits;
a comparison circuit coupled to the combined circuit and to the read header circuit and configured to compare the PID header bits from the input packet with the PID header bits from the memory table and, when the two PID header bits are not equal, to repeatedly read PID header bits from the memory table and compare the same to the PID header bits from the input packet, and when the PID header bits are equal, to enable the read DES key circuit to read the corresponding DES key bits and to output the same.
-
-
24. A method of locating a DES key value, comparing:
-
reading an input packet and combining bits stored in the input packet with a read mask stored in a memory table and outputting PID header bits;
comparing the PID header bits from the input packet with PID header bits read from a memory table and, when the PID header bits are not equal, repeatedly reading PID header bits from the memory table and comparing the PID header bits read from the memory table to the PID header bits from the input packet until the PID header bits are equal, at which time the corresponding DES key bits from the memory table are read and generated on an output.
-
Specification