Upload
pericles-a
View
214
Download
2
Embed Size (px)
Citation preview
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
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
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̀i1
ais1 2 ad sitd X̀i0
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).