3
August 1, 1995 / Vol. 20, No. 15 / OPTICS LETTERS 1655 Error-correcting code for volume holographic storage of a relational database Brad J. Goertzen and Pericles A. Mitkas Optoelectronic Computing Systems Center and the Department of Electrical Engineering, Colorado State University, Fort Collins, Colorado 80523 Received March 31, 1995 We present an error-correcting code suitable for encoding relational database information to be stored in a volume holographic memory system. The code makes use of the page-oriented format of holographic memories as well as the tabular arrangement of database records. The performance metrics discussed here show that the code results in industry-standard bit error rates and permits simple and fast decoding. 1995 Optical Society of America Digital volume holographic memories promise to pro- vide high storage capacities and fast data rates, making them excellent candidates for meeting the secondary storage needs of future computing applications. One such application is the management of large relational databases, which relies heavily on input –output inten- sive operations and large storage volumes. In addition to meeting these requirements, holographic memories provide fast content-addressability and a page-oriented data format. The combination of these characteris- tics makes holographic storage attractive for relational database systems. Although important advancements in materials and system architectures for holographic memories are quickly moving them closer to their theoretical massive storage capacity, other issues also must be resolved to allow the commercialization of this technology. One such issue is the need for effective data coding schemes for error detection and correction. Many different error-correcting codes (ECC’s) exist; however, page- oriented holographic memories in relational database systems exhibit some unique properties that require new encoding methods for efficient error detection and correction. In this Letter we describe an ECC for a volume holographic database system (VHDS) that we are currently implementing 1 and discuss several evaluation metrics. A code for use in a VHDS should meet several criteria. It should use the two-dimensional (2-D) data format of page-oriented holographic memories and the tabular format (each row is a record, each column is an attribute) of relational database in- formation as well as provide fast decoding to avoid reducing the speed gained from the parallelism of the memory. A class of ECC’s known as array codes meets the first requirement in that it treats data as 2-D arrays of bits. 2 Figure 1 shows an example of the simplest array code, the cross-parity code (CPC), in which parity bits are generated along the rows and column of an I 3 J bit data array. When data are read, the intersection of ones in the parity check vectors indicates the exact position of a single error anywhere in the sI 1 1d 3 sJ 1 1d array. Double errors within the block are detected by the presence of ones in the parity check vectors and a zero in the overall parity check. Thus the CPC is a single-error-correcting–double-error-detecting code. Application of the CPC to multiple blocks on a 2-D page permits the correction of multiple errors per page. We now turn to the unique properties of relational database information. Because the number of differ- ent characters in a database environment is limited to approximately 50 (26 characters, 10 digits, and miscel- laneous symbols and punctuation), each character can be represented by a column of 15 pixels with exactly two pixels taking on the value 1 (ON), as depicted in Fig. 2. The CPC can easily be adapted to relational database records encoded in this manner. The appli- cation of a CPC to an entire page of data, which may be as large as 10 6 bits, obviously is impractical in terms of high complexity and reduced error-correcting capa- bility. Thus a CPC is applied to blocks of I 15 rows Fig. 1. Example of the cross-parity code for a 3 3 3 array of data bits: (a) data bits, (b) data array with parity bits appended to be stored in memory, (c) data and parity bits readout, error in center data pixel, (d) intersection of ones in parity check vectors indicates the error. 0146-9592/95/151655-03$6.00/0 1995 Optical Society of America

Error-correcting code for volume holographic storage of a relational database

Embed Size (px)

Citation preview

Page 1: Error-correcting code for volume holographic storage of a relational database

August 1, 1995 / Vol. 20, No. 15 / OPTICS LETTERS 1655

Error-correcting code for volume holographicstorage of a relational database

Brad J. Goertzen and Pericles A. Mitkas

Optoelectronic Computing Systems Center and the Department of Electrical Engineering, Colorado State University,Fort Collins, Colorado 80523

Received March 31, 1995

We present an error-correcting code suitable for encoding relational database information to be stored in avolume holographic memory system. The code makes use of the page-oriented format of holographic memoriesas well as the tabular arrangement of database records. The performance metrics discussed here show thatthe code results in industry-standard bit error rates and permits simple and fast decoding. 1995 OpticalSociety of America

Digital volume holographic memories promise to pro-vide high storage capacities and fast data rates, makingthem excellent candidates for meeting the secondarystorage needs of future computing applications. Onesuch application is the management of large relationaldatabases, which relies heavily on input–output inten-sive operations and large storage volumes. In additionto meeting these requirements, holographic memoriesprovide fast content-addressability and a page-orienteddata format. The combination of these characteris-tics makes holographic storage attractive for relationaldatabase systems.

Although important advancements in materials andsystem architectures for holographic memories arequickly moving them closer to their theoretical massivestorage capacity, other issues also must be resolved toallow the commercialization of this technology. Onesuch issue is the need for effective data coding schemesfor error detection and correction. Many differenterror-correcting codes (ECC’s) exist; however, page-oriented holographic memories in relational databasesystems exhibit some unique properties that requirenew encoding methods for eff icient error detection andcorrection. In this Letter we describe an ECC fora volume holographic database system (VHDS) thatwe are currently implementing1 and discuss severalevaluation metrics.

A code for use in a VHDS should meet severalcriteria. It should use the two-dimensional (2-D)data format of page-oriented holographic memoriesand the tabular format (each row is a record, eachcolumn is an attribute) of relational database in-formation as well as provide fast decoding to avoidreducing the speed gained from the parallelism ofthe memory. A class of ECC’s known as array codesmeets the first requirement in that it treats dataas 2-D arrays of bits.2 Figure 1 shows an exampleof the simplest array code, the cross-parity code(CPC), in which parity bits are generated alongthe rows and column of an I 3 J bit data array.When data are read, the intersection of ones in theparity check vectors indicates the exact position ofa single error anywhere in the sI 1 1d 3 sJ 1 1darray. Double errors within the block are detected bythe presence of ones in the parity check vectors and

0146-9592/95/151655-03$6.00/0

a zero in the overall parity check. Thus the CPC isa single-error-correcting–double-error-detecting code.Application of the CPC to multiple blocks on a 2-D pagepermits the correction of multiple errors per page.

We now turn to the unique properties of relationaldatabase information. Because the number of differ-ent characters in a database environment is limited toapproximately 50 (26 characters, 10 digits, and miscel-laneous symbols and punctuation), each character canbe represented by a column of 15 pixels with exactlytwo pixels taking on the value 1 (ON), as depicted inFig. 2. The CPC can easily be adapted to relationaldatabase records encoded in this manner. The appli-cation of a CPC to an entire page of data, which may beas large as 106 bits, obviously is impractical in termsof high complexity and reduced error-correcting capa-bility. Thus a CPC is applied to blocks of I ­ 15 rows

Fig. 1. Example of the cross-parity code for a 3 3 3 arrayof data bits: (a) data bits, (b) data array with parity bitsappended to be stored in memory, (c) data and parity bitsreadout, error in center data pixel, (d) intersection of onesin parity check vectors indicates the error.

1995 Optical Society of America

Page 2: Error-correcting code for volume holographic storage of a relational database

1656 OPTICS LETTERS / Vol. 20, No. 15 / August 1, 1995

Fig. 2. Example of a database record encoded withCPC-VHDS. Seven characters per block are encodedsJ ­ 7d.

(the length of one character) and J columns within eachpage. In this manner, multiple errors per page arecorrected. For example, for J ­ 7 and a page size of512 3 512 bits, as many as 2176 errors per page can becorrected if each error occurs in a different block. Aswith any ECC, the error-correcting capability dependsin part on the block size. In this case, the block size isdetermined by the value of J, which can be optimizedon the basis of several factors, including the desiredbit error rate (BER) and decoding delay. Note thatthe column parity and overall parity bits do not needto be stored, because there always are exactly two ONbits per column and the number of columns in a blockis fixed. This modified version of the CPC is termedCPC-VHDS.

The rate of a code is defined as the number of databits per word over the total number of bits per word.Because each 15-bit data word encodes one ASCIIcharacter, the code rate of CPC-VHDS is

R ­8

15

µJ

1 1 J

∂­ 0.47 (1)

for I ­ 15 and J ­ 7. This result is comparablewith those of encoding methods used in current opticalmemories such as CD-ROM’s, which have effective coderates of 0.54, and biphase encoding methods such asthe Philips 4/15 code, which has a rate of 0.53 withoutconsideration of additional ECC bits.3

The restriction placed on the number of ON bitsper column has several important advantages. First,this sparse encoding method results in greatercontrast ratio during the reconstruction phase andtherefore in a better signal-to-noise ratio.4 Second, itsimplifies the threshold determination for distinguish-ing matches and nonmatches in associative retrieval.The determination of a match between two images,asx, yd and bsx, yd, is given by the cross-correlationintegral given in Eq. (2) below. If we consider a andb to be two binary code words with exactly the samenumber of ON pixels, it is easy to see that for all wordssuch that a ­ b (autocorrelation), the peak value ofU sx, yd is a constant, Ueq, because the number ofoverlapping ON pixels is always equal. Likewise, for

a fi b, the peak value of U sx, yd is equal to a constantUne, where Une , Ueq. In this way, the peak intensityat the correlation plane is determined only by thenumber of matching characters, and it is independentof the exact character:

U sx, yd ­Z `

2`

Z `

2`

apsx0, y 0dbsx0 1 x, y 0 1 yddx0 dy 0 .

(2)

Other codes for 2-D optical memories have been pro-posed that provide some degree of decoding parallelismand better code rates for the same error correctingcapability. These methods, however, involve decod-ing a one-dimensional (1-D) word in sequential stepswith 2-D decoding performed with an array of 1-D de-coders.5 Other systems employ biphase encoding (twophysical bits used to record each logical bit) of bit-slice pages to reduce the effect of burst errors.6 Thismethod requires multiple pages to be read and bufferedbefore an entire word can be decoded. In CPC-VHDS,decoding occurs completely in parallel, correcting allcorrectable errors on a 2-D page in a single step.Methods such as data interleaving can be incorporatedinto CPC-VHDS to account for burst errors, but at theexpense of decoding simplicity and speed. Addition-ally, CPC-VHDS provides advantages in associative re-trieval and increased reconstruction contrast ratio, asdiscussed above, and is easily scalable to different pagesizes in different systems. These advantages makethis code particularly suitable for application to data-base storage.

The coding scheme has a direct effect on several im-portant system parameters. These include decodinghardware requirements and the effects on storage ca-pacity, BER, and system response time. These effectshave been modeled for the CPC-VHDS, and some of theresults are discussed here brief ly. The analyses be-low are based on the assumption of a Gaussian noisechannel that introduces random errors into a thresh-old detection scheme. Rereads caused by double errorswithin a code block are allowed and required for normalsystem operation.

The decoding hardware consists of arrays of XORgates to perform the row and column parity checks.This simple and regular structure allows parallel de-coding of the blocks in O(1) clock cycles. Additionally,this structure easily translates to a smart pixel ar-ray implementation.7 The XOR gate structures can beeither a series of cascaded gates or a gate tree. Al-though the tree structure is more complex in terms ofhardware interconnections, the decoding delay is sig-nificantly shorter than for the cascaded structure; thatis, h4 1 flog2sJ 1 1dgj 3 D versus sJ 1 16d 3 D, respec-tively, where D is the propagation delay through oneXOR gate.

The final or corrected BER (CBER) is determined bythe block size (which is determined by J) and the errordetecting capability of the CPC. Because the CPC isa single-error-correcting–double-error-detecting code,the probability that no errors get through the system,Pcorrect, is given by the sum of the probabilities of0, 1, and 2 errors occurring in a single block, as in

Page 3: Error-correcting code for volume holographic storage of a relational database

August 1, 1995 / Vol. 20, No. 15 / OPTICS LETTERS 1657

Fig. 3. Effect of RBER on CBER for two different codeblock sizes. The hatched area indicates current industrystandard of 10214 # CBER # 10212.

Fig. 4. Effect of RBER on the average response time of thesystem for two different page and code block sizes sD 3 Dbits per page). Page rereads increase the response time bya factor of 1ys1 2 ad.

Eq. (3). The RBER is the raw BER, and n is thenumber of bits in one code block, including parity bits.The CBER is then given by Eq. (4):

Pcorrect ­ s1 2 RBERdn 1 nRBERs1 2 RBERdn21

1nsn 2 1d

2RBER2s1 2 RBERdn22, (3)

CBER ­ 1 2 sPcorrectd1/n. (4)

Figure 3 shows the effect of the RBER on theCBER for two different block sizes. The plot indi-cates that the industry standard of CBER # 10212

can be achieved for RBER values between 1025 and1026, depending on the block size. Using Gaussianstatistics, we know that obtaining a RBER of lessthan 1025 requires a signal-to-noise ratio above8.5. This restriction on signal-to-noise ratio al-lows as many as approximately 13,300 pages to be

angle muliplexed in a single location of a 1-cm-thickmedium.8

Rereading a page becomes necessary when adouble error or another even number of errors isdetected within any block on a page. Thus the proba-bility of rereading a page has a direct effect on theaverage response time tave. Because the probabilityof four errors occurring in a block is 3 to 10 orders ofmagnitude smaller than the probability of two errorsoccurring (depending on the RBER), consideration ofonly the double-error case is a valid approximation.The reread probability a is then approximated by1 2 s1 2 P2dB , where P2 is the probability of two errorsoccurring in a block [the third term in Eq. (3)] and Bis the number of blocks on a page. If the time to readone data page from memory is given by t, then theaverage response time is given by t plus the averagetime taken for rereads, as in Eq. (5). We see that theneed to reared pages increases the average responsetime by a factor of 1ys1 2 ad:

tave ­ t 1X̀i­1

ais1 2 ad sitd ­X̀i­0

ait ­1

1 2 at .

(5)

Figure 4 depicts how the factor 1ys1 2 ad varies withRBER for two page and block sizes. For RBER near1025, the factor is nearly 1 for all cases. Thus thesame RBER values that provide an acceptable CBERwill not affect the average response time of the systemsignif icantly.

An encoding scheme suitable for use in a volumeholographic database system has been presented. Thecode uses both the page format of page-oriented holo-graphic memories and the unique properties of re-lational database records. Important features of thecode include a simple decoding hardware structure thatcan be implemented in parallel with smart pixel arrays,sufficient error detection and correction capability, andno adverse effect on the average response time.

This effort is supported in part by U.S. Air ForceOffice of Scientific Research grants F49620-94-1-0148and F49620-94-1-0361, and we gratefully acknowledgetheir support.

References

1. P. A. Mitkas and L. J. Irakliotis, J. Opt. Mem. NeuralNetworks 3, 217 (1994).

2. P. G. Farrell, Eur. Trans. Telecommun. 3, 441 (1992).3. A. B. Marchant, Optical Recording (Addison-Wesley,

Reading, Mass., 1990).4. M. A. Neifeld, Appl. Opt. 32, 5125 (1993).5. M. A. Neifeld and J. D. Hayes, J. Opt. Mem. Neural

Networks 3, 87 (1994).6. J. F. Heanue, M. C. Bashaw, and L. Hesselink, Science

265, 5173 (1994).7. L. J. Irakliotis, S. A. Feld, F. Beyette, P. A. Mitkas, and

C. W. Wilmsen, J. Lightwave Technol. 13, 1074 (1995).8. C. Gu, J. Hong, I. McMichael, R. Saxena, and F. Mok,

J. Opt. Soc. Am. A 9, 1978 (1992).