Single beam mask writer architectures have satisfied mask patterning requirements for decades, but there is now great interest in multibeam mask writers to handle the throughput and resolution demands arising from the needs of sub-10 nm technology nodes. Future mask writers must transmit terabits of information per second and handle petabytes of data. For electron-beam direct write (EBDW) lithography systems parallelism and lossless layout image compression are techniques which have been considered together to approach the data transfer problem. For the multibeam mask architectures proposed by IMS Nanofabrication and NuFlare, the data being transmitted are significantly processed and modified from the initial proximity-corrected layout images, so the data compression problem the authors consider for this application appears to be for a new type of data. Just as the throughput requirements for EBDW lithography systems necessitate the lossless data compression decoders to swiftly reproduce the layout images from their encodings it is likewise interesting to study simple and effective lossless data compression algorithms for multibeam mask writers. The authors will examine how parallelism affects the total beam compressed data for a family of idealized multibeam architectures inspired by the IMS Nanofabrication eMET series.

Single beam variable-shaped beam (VSB) systems have been extensively used in the mask fabrication industry for years, but they are not equipped to handle future throughput and resolution requirements. The development of multibeam mask writers is in progress to address the needs of sub-10 nm technology nodes.1–7 The multibeam mask writers proposed by IMS Nanofabrication1,3 and NuFlare7 transfer patterns using grayscale dose assignments on a pixel grid. These grayscale representations are predicted to create data volumes on the order of petabytes of data and need to be transferred at very high data rates.5,6 Layout image compression and massively parallel architectures have been proposed to deal with the data transfer problem in electron beam direct write lithography systems,8–27 and the reflective electron beam lithography (REBL) system28 included a lossless layout image compression algorithm as part of its digital pattern generator.13 The data compression efforts motivated by the REBL and MAPPER (Ref. 29) systems focused on layout image compression algorithms. The data compression problem considered in this paper is different because of the way the proximity-corrected layout data must be processed and distributed among the beams prior to transmission.

This work is inspired by the IMS Nanofabrication multibeam mask writer series eMET.1,3 Since the writing strategy for this architecture is proprietary, we consider an idealization based on some known parameters. The eMET series proof-of-concept tools use an aperture plate system consisting of a square array of 512 × 512 programmable beams all of which are either 20 or 10 nm to write on a 5 nm pixel grid. The arrays we study have dimensions of 2N×(2N1) beams, where N is an odd integer. To achieve some desirable properties in our family of beam arrays, we find that the distance between successive shots written by a single beam should grow as the array size increases. Therefore, the data handled by a single beam does not have the structure of a layout image. We study how compressed data volumes change as the array size increases. Like the eMET series, we incorporate beam shot overlaps which result in multipass writing to achieve a desired pattern. We use two dimensional filtering of gray images and a scanning strategy to solve the problem of assigning data to individual beams so that they jointly generate a pattern by means of multipass writing through the appropriate beam shot overlaps. We propose an effective scanning strategy for our series of beam arrays and argue that using a large number of simple data compression decoders in parallel can be a practical approach to reducing data volumes while transferring data at high rates.

The remainder of paper is organized as follows. In Sec. II, we present the details of our proposed multibeam architecture. In Sec. III, we describe the datapath problem and possible solutions as well as the data compression schemes used in this work. In Sec. IV, we discuss the experimental results for two sets of data, and we conclude the paper in Sec. V.

We begin by describing how we incorporate characteristics of the IMS eMET series into our model of multibeam systems. Like the IMS Nanofabrication system, we assume each beam can write a sequence of shots each having 16 possible dose levels in the set {0,,15}. The system as a unit can produce a larger range of gray levels by means of the multipass writing that occurs from the shot overlaps of different beams. When the beam array is set to 10 nm beams, a shot from a single beam overlaps with four other beam shots so that each 5 nm pixel is written by four beam shots. The sum of four integers each of which is an integer between 0 and 15 is an integer between 0 and 60, so each 5 nm pixel in this case could have 61 possible dose levels. Figure 1 shows an example of beam shots with values 15, 14, 13, and 12 combining to create a pixel with dose value 54. Similarly, when the beam array is set to 20 nm beams each 5 nm pixel is written by 16 beam shots and hence could have 241 possible dose levels. Figure 2 illustrates the overlap of multiple Gaussian beams shots in a region to create a curvilinear pattern.

Fig. 1.

Overlap of shots from four beams. Dose of beam A: 15, dose of beam B: 14, dose of beam C: 13, and dose of beam D: 12.

Fig. 1.

Overlap of shots from four beams. Dose of beam A: 15, dose of beam B: 14, dose of beam C: 13, and dose of beam D: 12.

Close modal
Fig. 2.

(Color online) Overlapping beams combine to create curvilinear pattern. (a) Multiple overlapping beam shots. (b) Combined dose profile. (c) Curvilinear pattern.

Fig. 2.

(Color online) Overlapping beams combine to create curvilinear pattern. (a) Multiple overlapping beam shots. (b) Combined dose profile. (c) Curvilinear pattern.

Close modal

Given the pattern to be printed and the overlap of beams shots, it is necessary to solve a dose assignment problem to provide individual beams with appropriate sequences of 4-bit shot dose data. The beam shot overlap problem has been studied in the context of VSB shot overlaps.30 To model the dose assignment problem, assume an input “shot” image IN(x, y) with possible shot dosage values {0,,15}. The pattern image OUT(x, y) can be obtained by using the two-dimensional spatial filters H10 and H20 shown below, respectively, for 10 nm beam shots and 20 nm beam shots

We consider the two-dimensional convolution of the shot image IN(x, y) with H(x, y). The shot dose assignment problem reduces to finding IN(x, y) given the pattern image OUT(x, y) and the filter H(x, y). Similar deconvolution problems generally do not have unique solutions.30 The H10 and H20 filters resemble blurring filters from image processing, and there is a literature on deconvolution algorithms31 

Most image deconvolution problems are primarily concerned with image visibility, but the constraint in this application is that each shot dose value is chosen in the set {0,,15}. We handle the deconvolution problem by using a least squares deconvolution algorithm with box constraints. Let Y be OUT(x, y) converted to a column vector with pixel values becoming elements of the vector, X be IN(x, y) converted to a column vector and A be an appropriate transformation of the H(x, y) filter into a two-dimensional convolution matrix. Let ||Z||2 denote the Euclidean norm of an n-dimensional vector Z; i.e., ||Z||2=|Z1|2+|Z2|2++|Zn|2, where Zi denotes the ith component of the vector Z. We would ideally like to consider the optimization problem

The integer constraints make this a combinatorial optimization problem which is infeasible given our computational resources. Therefore, we instead approximate the solution by working with the following convex relaxation and setting each Xi we obtain to the closest integer in {0,,15}

The IMS eMET system uses a 512 × 512 array of square beams arranged as a matrix of 512 rows and 512 columns. The square beams are created by passing a broad beam through an aperture plate system which consists of an aperture plate and a deflection plate. The aperture plate has 262 144 square apertures and can be set so that all of them have dimensions 2 × 2 μm or all of them have dimensions 4 × 4 μm. The center to center distance between apertures in a row or a column is 32 μm. The entire beam array is demagnified by a factor of 200 by means of electron beam optics to form 262 144 square beams on the wafer which all have dimensions 10 × 10 or 20 × 20 nm. The demagnification reduces the center to center distance between the neighboring beams in a row or a column to 160 nm. Given that the pixel size is 5 nm, a shot from a 10 nm beam exposes an area of four pixels and a shot from a 20 nm beam exposes an area of 16 pixels. The center to center distance of 160 nm between neighboring beams is equivalent to a distance of 32 pixels. The deflection plate is positioned just below the aperture plate and uses the 4-bit shot dose data to deflect individual beams one of 16 possible time intervals for each shot by turning individual beams on or off. Figure 3 illustrates the aperture plate system and a 13 × 13 beam array on a wafer. An entire beam array occupies an area of 16 384 × 16 384 pixels or approximately 82 × 82 μm on the wafer and approximately 16.4 × 16.4 mm on the aperture plate.

Fig. 3.

(Color online) Aperture plate system. Reprinted with permission from Lee et al., Proc. SPIE 9256, 925606 (2014). Copyright 2014 SPIE.

Fig. 3.

(Color online) Aperture plate system. Reprinted with permission from Lee et al., Proc. SPIE 9256, 925606 (2014). Copyright 2014 SPIE.

Close modal

To investigate the effect of parallelism on data volumes, we study arrays of varying dimensions. The beam arrays we consider have dimension 2N×(2N1) beams; i.e., they form a matrix with 2N rows and 2N1 columns, where N is an odd integer. The center to center distance between neighboring beams in a row or a column is 20.5(N+1) pixels; observe that this increases as N grows. Furthermore, the case where N = 9 corresponds to an array with 512 × 511 beams and a center to center distance of 32 pixels; hence, this beam array is the closest one to the one used in the IMS eMET series.

The IMS eMET beam array system deflects the entire beam array as a unit. While the distance between neighboring beams is 20.5(N+1) pixels, the system as a unit must write every pixel. A raster scan might be a first guess for a scanning strategy, but this approach would either lead to pixels written by more than four beams in the 10 nm case or 16 beams in the 20 nm case or to large shifts of the beam array. Therefore, we instead propose a zigzag scanning strategy described in Table I and depicted (for the first three steps) in Fig. 4 in the case of an 8 × 7 beam array with 10 nm beams. This approach ensures that pixels are written four times for the case of a 10 nm beam and 16 times for the case of 20 nm beams. Most of the time the beam array will move a distance of 0.5d pixels in the X-direction and +1 or −1 pixel in the Y-direction. This can be implemented by simultaneously controlling the stage and beam array so that the stage moves in the X-direction and the beam array is deflected in the Y-direction. Observe that the distribution of sequences of 4-bit dose values to each beam will depend on the scanning strategy.

Table I.

Overview of scanning strategy for a family of beam arrays.

ArrayNumber of beamsDistance in pixels between the centers of two neighboring beams in the same row or columnHorizontal movement of array from one writing to the next within a “stripe”Vertical movement of array from one writing to the next within a stripe
2N×(2N1),N odd 2N(2N1) d=2N+1 d2 or d21 pixels depending on the iteration +1 or −1 pixels depending on position of array within zigzag 
2 × 1 0 every 2nd iteration +1 pixel for all other iterations Progresses in the sequence n,n+1,n+2,n+1,n,n+1,n+2, for some n 
8 × 7 56 +1 every 4th iteration +2 pixels for all other iterations Progresses in the sequence n,n+1,n+2,n+3,n+4,n+3,n+2,n+1,n,n+1,n+2, for some n 
32 × 31 992 +3 every 8th iteration +4 pixels for all other iterations Progresses in the sequence n,n+1,,n+8,n+7,,n+1,n,n+1,n+2, for some n 
128 × 127 16 256 16 +7 every 16th iteration +8 pixels for all other iterations Progresses in the sequence n,n+1,,n+16,n+15,,n+1,n,n+1,n+2, for some n 
512 × 511 261 632 32 +15 every 16th iteration +16 pixels for all other iterations Progresses in the sequence n,n+1,,n+32,n+31,,n+1,n,n+1,n+2, for some n 
ArrayNumber of beamsDistance in pixels between the centers of two neighboring beams in the same row or columnHorizontal movement of array from one writing to the next within a “stripe”Vertical movement of array from one writing to the next within a stripe
2N×(2N1),N odd 2N(2N1) d=2N+1 d2 or d21 pixels depending on the iteration +1 or −1 pixels depending on position of array within zigzag 
2 × 1 0 every 2nd iteration +1 pixel for all other iterations Progresses in the sequence n,n+1,n+2,n+1,n,n+1,n+2, for some n 
8 × 7 56 +1 every 4th iteration +2 pixels for all other iterations Progresses in the sequence n,n+1,n+2,n+3,n+4,n+3,n+2,n+1,n,n+1,n+2, for some n 
32 × 31 992 +3 every 8th iteration +4 pixels for all other iterations Progresses in the sequence n,n+1,,n+8,n+7,,n+1,n,n+1,n+2, for some n 
128 × 127 16 256 16 +7 every 16th iteration +8 pixels for all other iterations Progresses in the sequence n,n+1,,n+16,n+15,,n+1,n,n+1,n+2, for some n 
512 × 511 261 632 32 +15 every 16th iteration +16 pixels for all other iterations Progresses in the sequence n,n+1,,n+32,n+31,,n+1,n,n+1,n+2, for some n 
Fig. 4.

(Color online) Scanning strategy for an 8 × 7 beam array on a 5 nm pixel grid. The numbers represent the positions of the 56 beams. Gray, green and red, respectively, represent steps 1, 2, and 3 of the beam array movement.

Fig. 4.

(Color online) Scanning strategy for an 8 × 7 beam array on a 5 nm pixel grid. The numbers represent the positions of the 56 beams. Gray, green and red, respectively, represent steps 1, 2, and 3 of the beam array movement.

Close modal

The largest beam array we study is a 512 × 511 beam array and it has 261 632 beams. Since each beam requires a sequence of 4-bit shot data, a total of 1 046 528 bits are used at each step of the beam array. If the beam array can be deflected at 1 MHz, i.e., if each step can be completed in 1 μs, then the beam array processes approximately 1 terabit of shot data per second. Uncompressed data transmission at this speed would not be an effective communication strategy. We would have to store petabytes of uncompressed shot data on a device and transfer it directly to the electron beam writers. As shown in Fig. 5, the communication capacity and storage device memory would constrain this approach. A second approach depicted in Fig. 6 is to compress the data by a single complex compression algorithm and decompress it on a field-programmable gate array or an application-specific integrated circuit close to the electron beam writers. This approach would decrease the amount of data held on storage devices and would reduce the communication capacity needed between those devices and the decoder. However, this approach would be hampered by decoding speeds as well as the communication capacity needed from the decoder to the electron beam writers. A third approach depicted in Fig. 7 is to have a large number of simple decoders in parallel close to the electron beam writers. Simple decoders can decompress data at faster data rates than a complex decoder. We believe the third approach is the most effective way to communicate data at speeds of terabits per second to the electron beam writers. In this paper, we consider the simplest conceptual model in which each beam writer has its own decoder.

Fig. 5.

(Color online) Uncompressed data transfer.

Fig. 5.

(Color online) Uncompressed data transfer.

Close modal
Fig. 6.

(Color online) Compression with a single complex decoder.

Fig. 6.

(Color online) Compression with a single complex decoder.

Close modal
Fig. 7.

(Color online) Parallel decompression with simple decoders.

Fig. 7.

(Color online) Parallel decompression with simple decoders.

Close modal

In considering this data compression problem, we observe that the overwhelming majority of layout images that we have seen are sparse, i.e., the fraction of symbols with value zero is much larger than 0.5. We expect that the images printed by electron beams for complementary lithography32 would also be sparse. The beam shot image obtained after applying the deconvolution procedure to a sparse pattern is also sparse. Run length encoding is a practical approach to compressing the zeros in sparse data. Since there are relatively few nonzero symbols in the beam shot data we can either transmit them without compression or we can apply Huffman encoding33 to them. We distribute the shot image data among the beams according to the scanning strategy for that beam array. We transmit each beam's shot data separately and hence have to compress 56 data streams for an 8 × 7 beam array, 992 data streams for a 32 × 31 beam array, 16 256 data streams for a 128 × 127 beam array and 261 632 data streams for a 512 × 511 beam array.

For any representation of the nonzero symbols, the compressed symbol stream can be expressed in the form R1N1R2N2...RnNnRn+1, where Ri refers to the encoding of the ith run of zeros and Ni denotes the representation of the ith nonzero symbol.

The first step in any run length code for a sparse data sequence is to count the zeros between successive nonzero symbols. For example, the data stream 02400000050000300000 would have an intermediate representation as 01200406504305, where 0x denotes a string of x zeros. There are many ways to encode the set of run lengths, and in terms of compression performance, it would be ideal to choose the code based on the distribution of run lengths for the given data sequence. However, because decoding speeds and hardware implementations are critical for this application, we focus on two families of codes that are used in video standards and a more recent code which can be viewed as a hybrid of those two types of run-length codes.

Golomb34 published the first paper on run-length codes 50 years ago. Rice35,36 considered a special case of the problem Golomb had discussed and described an encoding procedure which is commonly called the Golomb–Rice code. The Golomb–Rice code is used in audio coding standards such as MPEG-4 ALS and in image coding standards such as JPEG-LS. There are Golomb–Rice decoders which are components of video decoders and operate at 10 gigabits per second on a 500 MHz/16 nm process and at 7.6 gigabits per second on a 380 MHz/28 nm process.37 The encoding for non-negative integer i in a Golomb–Rice code with parameter k uses k+1+i/2k bits.38 

Gallager and Van Voorhis39 generalized the results of Golomb and proposed a code which is optimal when the run lengths have a shifted geometric probability distribution. For an arbitrary data set, let p be the fraction of zeros and let l and k be the integers for which

The encoding for the non-negative integer i uses k+(i+2l2k)/l bits. For any Golomb–Rice code, there is a Gallager–Van Voorhis code which compresses data at least as well, so we use the latter code for our experiments.

The other family of run-length codes to find wide application was proposed first by Elias40 under the name of “gamma” codes and independently by Teuhola41 with the name exponential-Golomb (or Exp-Golomb) codes. These codes are used in the H.264/MPEG-4 AVC and H.265 HEVC video standards. Like the Golomb–Rice codes they are defined in terms of a non-negative integer parameter k. We can construct the order-0 exponential-Golomb code as follows. To encode a run of length i begin by writing the binary representation bi+1 of i + 1. Suppose bi+1 has li+1 bits. Then, we encode the string 0i in our data by 0li+11bi+1. For example, the encoding process for the first few non-negative integers is described below

The order-k exponential-Golomb code can be obtained from the order-0 code as follows. To encode a run of length i begin by finding the order-0 exponential-Golomb representation ci+2k1 of integer i+2k1. Then, the desired codeword can be obtained from ci+2k1 by removing the leftmost k bits from ci+2k1.

The exponential-Golomb codes have similar decoding throughputs as the Golomb–Rice decoders within video decoders, and neither type of code forms the bottleneck in video decoding.42 It is possible to have faster hardware implementations of both types of run-length codes.42 In 2013, Mediatek43 reported a lossless Lempel-Ziv44,45-like decoder which operated at 2 gigabits per second and occupied an area of roughly 40 000 μm2 including space for memory. The Golomb–Rice and exponential-Golomb codes do not require searching and storing parts of the decoded data, so these run-length codes will have smaller and faster hardware implementations than the Lempel-Ziv codes.

While the preceding run-length codes are the ones which are best known, it is possible to consider others. Therefore, we include results on a more recent code by Xue et al.46 which is designed as a hybrid of the Golomb–Rice codes and the exponential-Golomb codes.

We have done our experiments on two sets of data. One image is an inverse lithography technology (ILT) mask motif pattern of contact holes with smallest element of 80 nm. We enlarged this pattern by repeating it to generate a layout image of dimension 30 017 × 33 300 pixels. We also provide results for a 25-layer image compression block based on the FREEPDK45 45 nm library with a smallest element of 60 nm. The GDS file for this data set the pixel size to 30 nm, and we demagnified this data to produce 5 nm pixels. Each layout image for this circuit has dimensions 30 403 × 30 324 pixels. Proximity correction algorithms have been shown to apply for patterns written with overlapping shots,47 and we used the electron beam proximity effect correction algorithm of GenISys, Inc., BEAMER_v4.6.2_x64 (Ref. 48) to generate proximity corrected images with the appropriate number of shot dose levels. After obtaining the proximity-corrected images, we experimented with two approximate deconvolution techniques to create the shot dose images. The so-called “crude” deconvolution algorithm produced the dose shot image by taking the integer part of one quarter of each pixel value of the pattern for 10 nm beams and by taking the integer part of one sixteenth of each pixel value of the pattern in the case of 20 nm beams. The least squares deconvolution algorithm for an entire image is an optimization problem with approximately 109 variables, and we do not have the computational resources to solve such complex problems. Therefore, we approach least squares deconvolution by dividing each image into 1040 smaller images and using a supercomputing facility to separately solve the smaller deconvolution problems. It would be interesting to find better deconvolution algorithms for this application. The shot dose image was converted into shot data sequences for each beam according to the size of the beam array and the scanning strategy for that beam array. To correctly write pixels at the edges of stripes, we have to augment each beam's shot data sequence with extra zero symbols, but this additional data amounts to a small fraction of the total uncoded data if the size of the pattern is sufficiently large compared with the size of the beam array.

We present the results for the ILT motif pattern in Tables II and III and in Fig. 8. Figure 8 plots the compressed data volumes for different combinations of compression schemes, deconvolution algorithms, and beam sizes. In Table II, we summarize information about the best code for each beam array for least squares deconvolution including data volumes. Table III shows the nonzero symbol data volumes for uncoded and Huffman coded data. In Fig. 9 and Tables II and IV–VIII, we present results for the 25 layers of the image compression block. Here, we separate the results for the sparse and dense layers. Figure 9 plots the compressed data volumes of the 23 sparse layers of the image compression block. Table VIII offers details about the compression results for the individual layers for one choice of parameters.

Table II.

Summary of the best codes when using least squares deconvolution. EGk refers to the exponential-Golomb code of order k.

Image setArrayBeam shot (nm)Best codeUncoded (MB)Compressed (MB)
ILT motif pattern 2 × 1 10 Xue 476.7 35.6 
 20 EG0 476.7 28.4 
8 × 7 10 EG0 477.3 43.0 
 20 EG2 477.3 34.4 
32 × 31 10 EG1 484.0 48.6 
 20 EG3 484.0 36.4 
128 × 127 10 EG3 532.1 50.7 
 20 EG3 532.1 37.5 
512 × 511 10 EG3 1086.9 53.1 
 20 EG4 1086.9 39.8 
23 layers of image compression block 8 × 7 10 EG0 10 124.4 92.1 
 20 EG1 10 124.4 87.7 
32 × 31 10 EG1 10 240.8 106.9 
 20 EG2 10 240.8 99.3 
128 × 127 10 EG1 10 929.7 120.0 
 20 EG3 10 929.7 110.0 
512 × 511 10 EG2 16 803.1 141.1 
 20 EG4 16 803.1 128.1 
Image setArrayBeam shot (nm)Best codeUncoded (MB)Compressed (MB)
ILT motif pattern 2 × 1 10 Xue 476.7 35.6 
 20 EG0 476.7 28.4 
8 × 7 10 EG0 477.3 43.0 
 20 EG2 477.3 34.4 
32 × 31 10 EG1 484.0 48.6 
 20 EG3 484.0 36.4 
128 × 127 10 EG3 532.1 50.7 
 20 EG3 532.1 37.5 
512 × 511 10 EG3 1086.9 53.1 
 20 EG4 1086.9 39.8 
23 layers of image compression block 8 × 7 10 EG0 10 124.4 92.1 
 20 EG1 10 124.4 87.7 
32 × 31 10 EG1 10 240.8 106.9 
 20 EG2 10 240.8 99.3 
128 × 127 10 EG1 10 929.7 120.0 
 20 EG3 10 929.7 110.0 
512 × 511 10 EG2 16 803.1 141.1 
 20 EG4 16 803.1 128.1 
Table III.

Data volumes of nonzero symbols in MB for the ILT image with 30 017 × 33 300 pixels.

DeconvolutionUncodedHuffman coded
10 nm least squares 22.0 19.4 
10 nm crude 28.7 7.7 
20 nm least squares 14.9 13.8 
20 nm crude 28.7 10.8 
DeconvolutionUncodedHuffman coded
10 nm least squares 22.0 19.4 
10 nm crude 28.7 7.7 
20 nm least squares 14.9 13.8 
20 nm crude 28.7 10.8 
Fig. 8.

(Color online) Total compressed data of the ILT image by six different compression schemes. (a) Gallager code. (b) Exponential-Golomb code of order 0. (c) Exponential-Golomb code of order 1. (d) Exponential-Golomb code of order 2. (e) Exponential-Golomb code of order 3. (f) Xue code.

Fig. 8.

(Color online) Total compressed data of the ILT image by six different compression schemes. (a) Gallager code. (b) Exponential-Golomb code of order 0. (c) Exponential-Golomb code of order 1. (d) Exponential-Golomb code of order 2. (e) Exponential-Golomb code of order 3. (f) Xue code.

Close modal
Fig. 9.

(Color online) Total compressed data of 23 sparse layers of the image compression block by six different compression schemes. (a) Gallager code. (b) Exponential-Golomb code of order 0. (c) Exponential-Golomb code of order 1. (d) Exponential-Golomb code of order 2. (e) Exponential-Golomb code of order 3. (f) Xue code.

Fig. 9.

(Color online) Total compressed data of 23 sparse layers of the image compression block by six different compression schemes. (a) Gallager code. (b) Exponential-Golomb code of order 0. (c) Exponential-Golomb code of order 1. (d) Exponential-Golomb code of order 2. (e) Exponential-Golomb code of order 3. (f) Xue code.

Close modal
Table IV.

Data volumes of all symbols in MB for the 23 sparse layers of the image compression block with 30 403 × 30 324 pixels. The crude deconvolution results are in parentheses. The beam size is 10 nm. EGk is the exponential-Golomb code of order k. The boldface values show the minimum data volumes achieved by the compression schemes.

ArrayUncodedGallagerEG0EG1EG2EG3Xue
8 × 7 10 124.4 149.4 92.1 93.6 98.1 103.1 93.0 
 (10 124.4) (140.6) (69.9) (73.2) (78.9) (85.4) (71.3) 
32 × 31 10 240.8 150.8 107.4 106.9 109.4 112.5 109.7 
 (10 240.8) (141.5) (86.7) (87.5) (90.8) (94.9) (89.3) 
128 × 127 10 929.7 153.6 121.4 120.0 120.8 122.5 124.9 
 (10 929.7) (144.4) (101.0) (101.0) (102.4) (104.9) (105.0) 
512 × 511 168 03.1 171.4 144.3 141.8 141.1 141.5 148.9 
 (16 803.1) (153.9) (124.2) (122.9) (122.9) (124.2) (129.4) 
ArrayUncodedGallagerEG0EG1EG2EG3Xue
8 × 7 10 124.4 149.4 92.1 93.6 98.1 103.1 93.0 
 (10 124.4) (140.6) (69.9) (73.2) (78.9) (85.4) (71.3) 
32 × 31 10 240.8 150.8 107.4 106.9 109.4 112.5 109.7 
 (10 240.8) (141.5) (86.7) (87.5) (90.8) (94.9) (89.3) 
128 × 127 10 929.7 153.6 121.4 120.0 120.8 122.5 124.9 
 (10 929.7) (144.4) (101.0) (101.0) (102.4) (104.9) (105.0) 
512 × 511 168 03.1 171.4 144.3 141.8 141.1 141.5 148.9 
 (16 803.1) (153.9) (124.2) (122.9) (122.9) (124.2) (129.4) 
Table V.

Data volumes of all symbols in MB for the two dense layers of the image compression block with 30 403× 30 324 pixels. The crude deconvolution results are in parentheses. The beam size is 10 nm.

ArrayUncodedHuffman coded
8 × 7 880.4 (880.4) 595.0 (260.8) 
32 × 31 890.5 (890.5) 601.3 (267.1) 
128 × 127 950.4 (950.4) 637.9 (303.7) 
512 × 511 1461.1 (1461.1) 818.9 (559.1) 
ArrayUncodedHuffman coded
8 × 7 880.4 (880.4) 595.0 (260.8) 
32 × 31 890.5 (890.5) 601.3 (267.1) 
128 × 127 950.4 (950.4) 637.9 (303.7) 
512 × 511 1461.1 (1461.1) 818.9 (559.1) 
Table VI.

Data volumes of all symbols in MB for the 23 sparse layers of the image compression block with 30 403 × 30 324 pixels. The crude deconvolution results are in parentheses. The beam size is 20 nm. EGk is the exponential-Golomb code of order k. The boldface values show the minimum data volumes achieved by the compression schemes.

ArrayUncodedGallagerEG0EG1EG2EG3Xue
8 × 7 10 124.4 124.4 91.1 87.7 87.9 90.3 91.9 
 (10 124.4) (148.2) (77.5) (80.8) (86.5) (93.0) (78.9) 
32 × 31 10 240.8 125.8 105.3 101.3 99.3 99.8 108.3 
 (10 240.8) (149.2) (94.3) (95.1) (98.5) (102.6) (97.0) 
128 × 127 10 929.7 129.1 119.1 114.7 110.8 110.0 123.5 
 (10 929.7) (152.1) (108.6) (108.7) (110.0) (112.6) (112.6) 
512 × 511 16 803.1 144.2 141.8 136.4 131.1 129.0 147.4 
 (16 803.1) (161.6) (131.8) (130.5) (130.5) (131.8) (137.0) 
ArrayUncodedGallagerEG0EG1EG2EG3Xue
8 × 7 10 124.4 124.4 91.1 87.7 87.9 90.3 91.9 
 (10 124.4) (148.2) (77.5) (80.8) (86.5) (93.0) (78.9) 
32 × 31 10 240.8 125.8 105.3 101.3 99.3 99.8 108.3 
 (10 240.8) (149.2) (94.3) (95.1) (98.5) (102.6) (97.0) 
128 × 127 10 929.7 129.1 119.1 114.7 110.8 110.0 123.5 
 (10 929.7) (152.1) (108.6) (108.7) (110.0) (112.6) (112.6) 
512 × 511 16 803.1 144.2 141.8 136.4 131.1 129.0 147.4 
 (16 803.1) (161.6) (131.8) (130.5) (130.5) (131.8) (137.0) 
Table VII.

Data volumes of all symbols in MB for the two dense layers of the image compression block with 30 403 × 30 324 pixels. The crude deconvolution results are in parentheses. The beam size is 20 nm.

ArrayUncodedHuffman coded
8 × 7 880.4 (880.4) 448.1 (234.6) 
32 × 31 890.5 (890.5) 450.6 (239.7) 
128 × 127 950.4 (950.4) 465.6 (269.6) 
512 × 511 1461.1 (1461.1) 593.2 (525.0) 
ArrayUncodedHuffman coded
8 × 7 880.4 (880.4) 448.1 (234.6) 
32 × 31 890.5 (890.5) 450.6 (239.7) 
128 × 127 950.4 (950.4) 465.6 (269.6) 
512 × 511 1461.1 (1461.1) 593.2 (525.0) 
Table VIII.

Breakdown of data compression results for the 23 sparse layers of the image compression block for a 128 × 127 beam array with 10 nm beam shots and least squares deconvolution.

Zero symbols (MB)Nonzero symbols (MB)
LayerUncodedGallagerEG0EG1EG2EG3XueUncodedHuffman
474.7 1.9 2.0 1.9 1.9 1.8 2.1 0.5 0.5 
453.5 44.2 14.9 17.3 20.8 24.7 15.0 21.7 17.7 
474.6 2.2 3.0 2.8 2.7 2.5 3.2 0.6 0.5 
474.8 1.7 2.1 2.0 1.9 1.8 2.2 0.4 0.2 
467.1 16.8 18.3 16.8 15.5 14.5 19.3 8.1 7.5 
474.0 3.4 2.0 2.1 2.2 2.3 2.1 1.2 1.1 
475.2 1.0 0.7 0.6 0.6 0.6 0.7 <0.1 <0.1 
473.8 3.7 5.1 4.7 4.4 4.1 5.3 1.4 1.2 
474.9 1.5 1.9 1.8 1.7 1.6 1.9 0.3 0.2 
10 467.2 16.9 12.0 11.7 12.0 12.3 12.5 8.1 7.5 
11 475.2 1.0 0.7 0.6 0.6 0.6 0.7 <0.1 <0.1 
12 474.5 2.3 3.2 3.0 2.8 2.7 3.4 0.7 0.6 
13 475.2 1.0 0.8 0.8 0.8 0.7 0.9 <0.1 <0.1 
14 472.1 7.0 8.2 7.5 7.0 6.6 8.6 3.1 2.5 
15 475.2 1.0 0.7 0.6 0.6 0.6 0.7 <0.1 <0.1 
16 475.0 1.4 1.5 1.4 1.4 1.3 1.6 0.2 0.2 
17 475.2 1.0 0.7 0.6 0.6 0.6 0.7 <0.1 <0.1 
18 475.1 1.1 0.7 0.7 0.7 0.7 0.8 0.1 0.1 
19 475.2 1.0 0.7 0.6 0.6 0.6 0.7 <0.1 <0.1 
20 475.2 1.0 0.7 0.6 0.6 0.6 0.7 <0.1 <0.1 
21 475.2 1.0 0.7 0.6 0.6 0.6 0.7 <0.1 <0.1 
22 475.2 1.0 0.7 0.7 0.6 0.6 0.7 <0.1 <0.1 
23 475.2 1.0 0.7 0.6 0.6 0.6 0.7 <0.1 <0.1 
Zero symbols (MB)Nonzero symbols (MB)
LayerUncodedGallagerEG0EG1EG2EG3XueUncodedHuffman
474.7 1.9 2.0 1.9 1.9 1.8 2.1 0.5 0.5 
453.5 44.2 14.9 17.3 20.8 24.7 15.0 21.7 17.7 
474.6 2.2 3.0 2.8 2.7 2.5 3.2 0.6 0.5 
474.8 1.7 2.1 2.0 1.9 1.8 2.2 0.4 0.2 
467.1 16.8 18.3 16.8 15.5 14.5 19.3 8.1 7.5 
474.0 3.4 2.0 2.1 2.2 2.3 2.1 1.2 1.1 
475.2 1.0 0.7 0.6 0.6 0.6 0.7 <0.1 <0.1 
473.8 3.7 5.1 4.7 4.4 4.1 5.3 1.4 1.2 
474.9 1.5 1.9 1.8 1.7 1.6 1.9 0.3 0.2 
10 467.2 16.9 12.0 11.7 12.0 12.3 12.5 8.1 7.5 
11 475.2 1.0 0.7 0.6 0.6 0.6 0.7 <0.1 <0.1 
12 474.5 2.3 3.2 3.0 2.8 2.7 3.4 0.7 0.6 
13 475.2 1.0 0.8 0.8 0.8 0.7 0.9 <0.1 <0.1 
14 472.1 7.0 8.2 7.5 7.0 6.6 8.6 3.1 2.5 
15 475.2 1.0 0.7 0.6 0.6 0.6 0.7 <0.1 <0.1 
16 475.0 1.4 1.5 1.4 1.4 1.3 1.6 0.2 0.2 
17 475.2 1.0 0.7 0.6 0.6 0.6 0.7 <0.1 <0.1 
18 475.1 1.1 0.7 0.7 0.7 0.7 0.8 0.1 0.1 
19 475.2 1.0 0.7 0.6 0.6 0.6 0.7 <0.1 <0.1 
20 475.2 1.0 0.7 0.6 0.6 0.6 0.7 <0.1 <0.1 
21 475.2 1.0 0.7 0.6 0.6 0.6 0.7 <0.1 <0.1 
22 475.2 1.0 0.7 0.7 0.6 0.6 0.7 <0.1 <0.1 
23 475.2 1.0 0.7 0.6 0.6 0.6 0.7 <0.1 <0.1 

The compressed data volumes increase with the size of beam arrays. The volume of the compressed nonzero symbols remains the same for all beam array sizes, but the compressed volume of zero symbols increases with the beam array size. This is mainly due to the increased randomization of the data assigned to each beam because the distance between the shots written in successive steps by a single beam grows with the size of the beam array. In the case of the 512 × 511 beam array, the size of the image is small enough that edge effects require the addition of many zero symbols to the uncoded data. We see that the exponential-Golomb codes are the best codes in most cases. Furthermore, the order of the best exponential-Golomb code increases with the size of the beam array.

In the 23 sparse layers of the image compression block, most of the compressed data volume comes from a few layers which have a large number of nonzero symbols. Some of the layers are particularly sparse and run-length encoding can compress them easily. The two dense layers are compressed only by Huffman encoding. In these layers, nearly every pixel is assigned some nonzero dose level.

The deconvolution algorithms also have an effect on compressed data volumes. With least squares deconvolution, the nonzero beam shot values are distributed over the entire range {1,...,15} and Huffman coding does not compress this data effectively. With crude deconvolution, the beam shot values are distributed over a smaller range and there are fewer zero shot values prior to compression. While the choice of deconvolution algorithm affects compression performance, we can conclude that data compression significantly reduces data volumes for sparse patterns.

We have presented a family of multibeam arrays and proposed scanning strategies for them. We have also shown that the dose assignment problem for beam shot overlaps can be modeled by the two-dimensional filtering of gray images. Data compression appears to be an important tool to address the “big data” problems of the mask industry. We focused on simple and widely implemented run-length encoding schemes and argued that they are effective and practical. We concentrated on an idealized case where each beam has its own decoder and we do not discuss synchronization and networking issues. These problems need to be addressed for the incorporation of data compression into multibeam mask architectures and we observe that video decoders also have synchronization requirements.

The authors thank the National Science Foundation for the support of Grant No. ECCS-1201994. This research was made possible by the support of GenISys, Inc., which was given through an Agreement of Cooperation between GenISys, Inc., and Texas A&M Engineering Experiment Station at College Station. The authors used a supercomputing facility at Texas A&M University to conduct part of the research. The authors are grateful to N. Hayashi of Dai Nippon Printing for contributing an ILT test layout image and to D. Lie and S. Mukhopadhyay for supplying the image compression block. Finally, the authors thank T. Groves, J. Yang, and S. Khatri for stimulating conversations. The image compression block data prior to deconvolution can be found at http://people.tamu.edu/narendra5/.

1.
E.
Platzgummer
,
Proc. SPIE
7637
,
763703
(
2010
).
2.
M.
Chandramouli
,
F.
Abboud
,
N.
Wilcox
,
A.
Sowers
, and
D.
Cole
,
Proc. SPIE
8522
,
85221
K (
2012
).
3.
E.
Platzgummer
,
C.
Klein
, and
H.
Loeschner
,
J. Micro/Nanolithogr., MEMS, MOEMS
12
,
031108
(
2013
).
4.
F. E.
Abboud
,
M.
Asturias
,
M.
Chandramouli
, and
Y.
Tezuka
,
Proc. SPIE
9235
,
92350W
(
2014
).
5.
S. H.
Lee
,
J.
Choi
,
H. J.
Lee
,
I. K.
Shin
,
S.
Tamamushi
, and
C. U.
Jeon
,
Proc. SPIE
9256
,
925606
(
2014
).
6.
J.
Choi
,
D. H.
Lee
,
S.
Park
,
S.
Lee
,
S.
Tamamushi
,
I. K.
Shin
, and
C. U.
Jeon
,
Proc. SPIE
9658
,
96580C
(
2015
).
7.
Hiroshi
Matsumoto
,
Hideo
Inoue
,
Hiroshi
Yamashita
,
Hirofumi
Morita
,
Satoru
Hirose
,
Munehiro
Ogasawara
,
Hirokazu
Yamada
, and
Kiyoshi
Hattori
,
Proc. SPIE
9984
,
998405
(
2016
).
8.
H. J.
Levinson
,
Principles of Lithography
, 3rd ed. (
SPIE
,
Bellingham, WA
,
2010
), p.
466
.
9.
V.
Dai
, “
Data compression for maskless lithography systems: Architecture, algorithms, and implementation
,” Ph.D. thesis (
University of California
,
Berkeley, CA
,
2008
).
10.
V.
Dai
and
A.
Zakhor
,
IEEE Trans. Image Process.
15
,
2522
(
2006
).
11.
S. A.
Savari
,
J. Vac. Sci. Technol., B
32
,
06F502
(
2014
).
12.
G.
Cramer
,
H.
Liu
, and
A.
Zakhor
,
Proc. SPIE
7637
,
76371L
(
2010
).
13.
A.
Carroll
 et al.,
Proc. SPIE
9049
,
904917
(
2014
).
14.
C.-C.
Wu
,
J.
Yang
,
W.-C.
Wang
, and
S.-J.
Lin
,
Proc. SPIE
9423
,
94231
P (
2015
).
15.
J.
Yang
and
S. A.
Savari
,
J. Micro/Nanolithogr., MEMS, MOEMS
10
,
043007
(
2011
).
16.
J.
Yang
and
S. A.
Savari
,
Proc. SPIE
7970
,
79701
U (
2011
).
17.
J.
Yang
and
S. A.
Savari
,
IEEE Data Compression Conference
(
2010
), p.
109
.
18.
J.
Yang
and
S. A.
Savari
,
Recent Advances in Nanofabrication Techniques and Applications
, edited by
B.
Cui
(
InTech
,
Rijeka, Croatia
,
2011
), pp.
95
110
.
19.
C.-K.
Tang
,
M.-S.
Su
, and
Y.-C.
Lu
,
IEEE Signal Process. Lett.
20
,
645
(
2013
).
20.
F.
Krecinic
,
S.-J.
Lin
, and
J. J. H.
Chen
,
Proc. SPIE
7970
,
797010
(
2011
).
21.
H.
Liu
,
V.
Dai
,
A.
Zakhor
, and
B.
Nikolic
,
J. Micro/Nanolithogr., MEMS, MOEMS
6
,
013007
(
2007
).
22.
H.
Liu
, “
Architecture and hardware design of lossless compression algorithms for direct-write maskless lithography systems
,” Ph.D. thesis (
University of California
,
Berkeley, CA
,
2010
).
23.
J.
Yang
and
S. A.
Savari
,
Proc. SPIE
8352
,
83520K
(
2012
).
24.
J.
Yang
and
S. A.
Savari
,
Proc. SPIE
8680
,
86800Q
(
2013
).
25.
J.
Yang
,
S. A.
Savari
, and
H. R.
Harris
,
J. Micro/Nanolithogr., MEMS, MOEMS
12
,
033018
(
2013
).
26.
N.
Chaudhary
,
Y.
Luo
,
S. A.
Savari
, and
R.
McCay
,
J. Vac. Sci. Technol., B
33
,
06FD01
(
2015
).
27.
C.-K.
Tang
,
M.-S.
Su
, and
Y.-C.
Lu
,
J. Micro/Nanolithogr., MEMS, MOEMS
14
,
031212
(
2015
).
28.
P.
Petric
 et al.,
Proc. SPIE
7271
,
727107
(
2009
).
29.
E.
Slot
 et al.,
Proc. SPIE
6921
,
69211P
(
2008
).
30.
S.
Jiang
and
A.
Zakhor
,
Proc. SPIE
9052
,
90520L
(
2014
).
31.
R. C.
Gonzalez
and
R. E.
Woods
,
Digital Image Processing
, 3rd ed. (
Pearson Education
,
Upper Saddle River, NJ
,
2008
).
32.
Y.
Borodovsky
, “
ArF lithography extension for critical layer patterning
,” in
LithoVision 2010
, San Jose, CA, 21 February (
2010
).
33.
34.
S. W.
Golomb
,
IEEE Trans. Inf. Theory
IT-12
,
399
(
1966
).
35.
R. F.
Rice
, “
Some practical universal noiseless coding techniques
,” in
Technical Report JPL-79–22
, Jet Propulsion Laboratory, Pasadena, CA,
1979
.
36.
K.
Sayood
,
Introduction to Data Compression
, 4th ed. (
Morgan Kaufmann
,
Waltham, MA
,
2012
).
37.
C.-C.
Ju
, MediaTek Incorp., E-mail correspondences (May 21, 2014 and June 25,
2014
).
38.
J.
Wen
and
J. D.
Villasenor
,
IEEE Trans. Inf. Theory
45
,
1307
(
1999
).
39.
R. G.
Gallager
and
D. C.
Van Voorhis
,
IEEE Trans. Inf. Theory
IT-21
,
228
(
1975
).
40.
P.
Elias
,
IEEE Trans. Inf. Theory
IT-21
,
194
(
1975
).
41.
J.
Teuhola
,
Inf. Process. Lett.
7
,
308
(
1978
).
42.
P.
Chuang
, MediaTek Incorp., E-mail correspondences (30 May,
2016
).
43.
C.-C.
Ju
, MediaTek Incorp., E-mail correspondences (10 December,
2013
).
44.
J.
Ziv
and
A.
Lempel
,
IEEE Trans. Inf. Theory
IT-23
,
337
(
1977
).
45.
J.
Ziv
and
A.
Lempel
,
IEEE Trans. Inf. Theory
IT-24
,
530
(
1978
).
46.
S.
Xue
,
Y.
Xu
, and
B.
Oelmann
,
IEE Proc.
150
,
256
(
2003
).
47.
C.
Pierrat
and
I.
Bork
,
Proc. SPIE
7823
,
782313
(
2010
).
48.
“Beamer,” genisys-gmbh.com/web/products/beamer.html.