This application claims the priority benefit of Japan application serial no. 2011-265394, filed on Dec. 5, 2011. The entirety of the above-mentioned patent application is hereby incorporated by reference herein and made a part of this specification.
1. Field of the Invention
The invention generally relates to a non-volatile semiconductor memory and a data reading method thereof, and more particularly, to a method for reading a NAND flash memory.
2. Description of Related Art
A typical NAND flash memory includes a memory array that is formed by arranging a plurality of NAND strings along the row and the column directions. Each NAND string includes a plurality of serially connected memory cells and a bit line selection transistor (BST) and a source line selection transistor (SST) connected to both ends of the NAND string.
Generally speaking, each memory cell has a metal-oxide-semiconductor (MOS) structure. The MOS structure includes source/drain of N-type diffusion region, a tunnel oxide layer formed on a channel between the source and the drain, a floating gate (charge storage layer) formed on the tunnel oxide layer, and a control gate formed over the floating gate with a dielectric layer in between. When no charge is stored in the floating gate (i.e., when data “1” is written), the threshold is negative and the memory cell is normally on. When electrons are stored in the floating gate (i.e., when data “0” is written), the threshold is positive and the memory cell is normally off.
In a reading operation, a low-level voltage (L level, for example, 0 V) is supplied to the control gate of the selected memory cell and a high-level voltage (H level, for example, 4.5 V) is supplied to the control gates of those unselected memory cells, so as to turn on the bit line selection transistor and the source line selection transistor and detect the voltage level on the bit line. In a programming (i.e., writing) operation, a voltage of 0 V is supplied to the P-well of the substrate, the drain, the channel, and the source of the memory cell, a H level programming voltage Vpgm (for example, 20 V) is supplied to the control gate of the selected memory cell, and an intermediate-level voltage (for example, 10 V) is supplied to the control gates of those unselected memory cells, so as to turn on the bit line selection transistor and turn off the source line selection transistor. Besides, a voltage is supplied to the bit lines according to the data “0” or “1”, so as to write the data. In an erasing operation, a voltage of 0 V is supplied to the control gate of the selected memory cell in the memory block, a H level voltage (for example, 20 V) is supplied to the P-well, and electrons in the floating gate are extracted to the substrate, so as to erase data in unit of block.
In a NAND flash memory, a page buffer is used in order to read data from or write data into the memory array. While reading data, data in the selected pages of the memory array is transmitted in parallel to the page buffer via the bit lines, and data stored in the page buffer is sequentially output according to a clock signal. While writing data, data is sequentially input into the page buffer according to a clock signal, and after that, the data is written from the page buffer into the selected pages of the memory array via the bit lines. A NAND flash memory is disclosed in the patent documentation 1. An address information is input, and a page is selected according to the address information. When data in the selected page is transmitted from the memory array to the page buffer, a busy signal is output to prohibit any external access. After the data transmission is completed, a ready signal is output to allow external access. Additionally, a semiconductor memory is disclosed in the patent documentation 2. The semiconductor memory is synchronized with a clock signal so that high-speed burst read can be performed.
As disclosed in the patent documentation 1, when a conventional NAND flash memory is read, a period tR (i.e., a busy period) for transmitting data from the memory array to the page buffer in response to the input of an address information is much longer than a reading period tRC for reading data from the page buffer. Thus, when a plurality of discontinuous pages is burst read, a busy period is produced every time when the address information for selecting a page is input and data is transmitted from the memory array to the page buffer. Accordingly, the burst read operation is very time-consuming. In addition, because a NAND flash memory may have invalid blocks that cannot be normally accessed, it may be impossible to sequentially move from a specific memory block to a next memory block to burst read the pages. Namely, invalid blocks have to be skipped to read data, and address information for selecting the first page of each invalid block has to be input.
Moreover, a cache register is used in the conventional NAND flash memory. Data in a next output page is moved into the page buffer at the same time during data in the cache register being serially output. Such cache read is to transmit data of a next page from the page buffer to the cache register after data of all pages in the cache register is read, and no data is output from the cache register during the data transmission period. In other words, discontinuous blank periods may be produced when a plurality of pages is burst read in a burst mode.
Accordingly, the invention is directed to a non-volatile semiconductor memory capable of high-speed data reading to resolve aforementioned problems in the conventional techniques.
The invention provides a non-volatile semiconductor memory including a memory array, a page buffer, and a data register. The memory array includes a plurality of memory cells. The page buffer stores data transmitted from pages selected according to address information in the memory array. The data register receives the data from the page buffer and serially outputs the received data according to a clock signal. The memory array includes at least a first memory plane and a second memory plane. Data of selected pages of the first memory plane and the second memory plane are simultaneously transmitted to the page buffer. A data reading method in the invention includes following steps. When data of a first page of the first memory plane is output from the data register, data of a second page of the second memory plane is transmitted from the page buffer to the data register. When the data of the second page of the second memory plane is output from the data register, data of a second page of the first memory plane is transmitted from the page buffer to the data register.
The invention further provides a non-volatile semiconductor memory including a memory array, a page buffer, and a data register. The memory array includes a plurality of memory cells. The page buffer stores data transmitted from pages selected according to address information in the memory array. The data register receives the data from the page buffer and serially outputs the received data according to a clock signal. The memory array includes at least a first memory plane and a second memory plane. Data of selected pages of the first memory plane and the second memory plane are simultaneously transmitted to the page buffer. The non-volatile semiconductor memory has a selection mechanism and a control mechanism. The selection mechanism selects pages of at least the first memory plane and the second memory plane of the memory array according to address information. The control mechanism controls data reading operations performed on the pages selected by the selection mechanism. When the control mechanism outputs data of a first page of the first memory plane from the data register, the control mechanism transmits data of a second page of the second memory plane from the page buffer to the data register. When the control mechanism outputs the data of the second page of the second memory plane from the data register, the control mechanism transmits data of a second page of the first memory plane from the page buffer to the data register.
According to the invention, when data of a first page of a first memory plane is output, data of a second page of a second memory plane is transmitted from a page buffer to a data register, and when the data of the second page of the second memory plane is output from the data register, data of a second page of the first memory plane is transmitted from the page buffer to the data register. Thereby, data of the first page and the second page can be continuously and quickly read. Moreover, data can be continuously transmitted from the memory array to the page buffer by storing address information for selecting discontinuous pages in advance.
The accompanying drawings are included to provide a further understanding of the invention, and are incorporated in and constitute a part of this specification. The drawings illustrate embodiments of the invention and, together with the description, serve to explain the principles of the invention.
Reference will now be made in detail to the present preferred embodiments of the invention, examples of which are illustrated in the accompanying drawings. Wherever possible, the same reference numbers are used in the drawings and the description to refer to the same or like parts.
Embodiments of the invention will be described in detail with reference to accompanying drawings. A NAND flash memory having a plurality of memory planes will be explained according to an exemplary embodiment of the invention. The number of the memory planes may be two or more. Same as memory banks, when a row in a memory array is selected, the corresponding pages of all the memory planes are selected at the same time.
The memory array 100 is partitioned into two memory planes (memory banks) 100L and 100R. The word line selection circuit 150 is disposed between the memory planes 100L and 100R. The memory planes 100L and 100R have substantially the same structure. Namely, the memory plane 100L has m memory blocks BLK (L)1, BLK (L)2, . . . , and BLK (L)m in the column direction, the memory plane 100R has m memory blocks BLK (R)1, BLK (R)2, . . . , and BLK (R)m in the column direction, and each of the memory blocks has a plurality of pages.
The page buffer 160 is connected to bit lines of the memory planes 100L and 100R and has a storage capacity for temporarily storing two pages of data of the memory planes 100L and 100R. Additionally, in the present embodiment, to perform cache read operations, the data register 130 has a capacity for storing two pages of data of the memory planes 100L and 100R, and data from the page buffer 160 is input in parallel and serially output according to a clock signal. During the burst read for page data, the data register 130 continuously outputs two pages of data from the first columns (bits) to the last columns (bits) of the pages. Moreover, in reading modes other than the burst mode, data of a column selected by the column selection circuit 170 is output.
The cache read for two memory planes of the semiconductor memory 10 in the present embodiment will be described.
The burst read within a memory block illustrated in
Next, data of the selected pages A and B is transmitted to the page buffer PB through the bit lines. The page buffer PB stores two pages of data of the memory planes 100L and 100R. Namely, the bit number of the page buffer PB is corresponding to the number of bit lines of the memory planes 100L and 100R in the column direction.
In the next sequence, data in the page buffer PB is transmitted to the cache register CR in parallel. When or before the data is output from the cache register CR, data of the next pages, i.e., the pages A+1 and B+1, is transmitted to the page buffer PB. In the two-plane cache read of the present embodiment, in the mode of continuously outputting two pages of data, before data of a page of one of the two memory planes is read from the cache register CR, data of a page of the other memory plane is transmitted from the memory array to the page buffer PB. After that, regardless of whether reading the data of one of the memory plane from the cache register CR is started or not, the page data of the other memory plane in the page buffer PB is always transmitted to the cache register CR, ready for next data output. Same as the page buffer PB, the cache register CR can store two pages of data and serially output the stored data in synchronization with a clock signal. The cache register CR can output data from a column selected by the column selection circuit 170 according to a column address information Ay. However, in the burst mode, data of pages from the starting column to the last column is continuously and serially output. The cache register CR can output the data in synchronization with one or both of the rising edge and the falling edge of a clock signal.
Thereby, when the cache register CR outputs data, data of the next page is transmitted to the page buffer PB, so as to perform a burst read operation on continuous pages until the last pages (i.e., a page AM and a page BM) of the memory blocks.
Next, the word line selection circuit 150 selects pages in the memory array according to the ith (i is a natural number greater than or equal to 1) address information stored in the address register 120 (step S103). The word line selection circuit 150 selects two pages of the memory plane 100L and 100R at the same time. After that, data of the selected pages is transmitted to the page buffer PB (step S104). Thereafter, the data in the page buffer PB is transmitted to the cache register CR (step S105) and serially output from the cache register CR in synchronization with a clock signal. Before end of the data being output from the cache register CR, data of pages selected according to the (i+1)th address information is transmitted to the page buffer PB (step S107). In this way, data of pages selected by using N address information is burst read.
In the first data reading method, because the N address information for selecting discontinuous pages is input in advance, there is no need to input the address information every time when the discontinuous pages are read. Thus, the busy period for transmitting data of pages selected in response to the input of address information from the memory array to the page buffer is only produced when the initial pages are selected. Thereby, high speed data reading can be realized.
Ideally, the time t1 for outputting two pages of data from the cache register is slightly longer than the time t2 for transmitting data from the memory array to the page buffer. Thus, when data is output from the cache register, data transmission from the memory array to the page buffer can be carried out in the background.
When data is output from the cache register CR, data of the next selected page is transmitted to the page buffer PB (step S203). Next, a command is input before data of the last page in the memory block is read from the cache register CR (step S204). After that, the controller 140 stops the clock signal in response to the command, so as to interrupt the output of data from the cache register CR temporarily (step S205). However, this temporal interruption for the reading is not compulsory and may be optional. Then, address information for selecting a page in a next memory block is input from an external controller to the semiconductor memory 10, and the address information is stored in the address register 120 (step S206). After the controller 140 inputs the address information, restart reading data from the cache register CR (step S207). Besides, before the data of the last page in the memory block is output, the controller 140 checks whether the address information corresponding to a next memory block is stored in the address register 120 (step S209). If such address information is stored, data of the page selected according to this address information is transmitted to the page buffer PB. This data transmission is carried out before data of the last page in the cache register CR is read. On the other hand, the data reading procedure is terminated if no address information corresponding to a next memory block is stored.
Below, a cache read operation performed on two memory planes will be explained with reference to an embodiment of the invention. The cache read operation in the present embodiment is adapted to the burst read in the memory block illustrated in
First, data of selected pages in the memory array is transmitted to the page buffer PB (step S301). As shown in
Then, data in the page buffer PB is transmitted to the cache register CR, and data of the next selected pages is transmitted to the page buffer PB (step S302). In this status, the cache register CR stores the data of previously selected pages of the memory planes 0 and 1, and the page buffer PB stores the data of the next selected pages of the memory planes 0 and 1.
Next, data in the memory plane 0 is sequentially output from the cache register CR. The column selection circuit 170 sequentially and serially outputs data by starting from the starting address of the cache register CR (the data register 130) in synchronization with a clock signal. The column selection circuit 170 may include a counter which increments its value in response to aforementioned clock signal and select an address in the cache register CR according to the value of the counter, so as to allow the data to be sequentially output.
The controller 140 determines whether all the data of the memory plane 0 is output from the cache register CR (step S304). The determined result is used for controlling the data transmission from the page buffer PB to the cache register CR. If reading the data of the memory plane 0 is ended, data of the memory plane 1 is output from the cache register CR (step S305). Data reading is continuous from the memory plane 0 to the memory plane 1 in the cache register CR. If the data output of the memory plane 0 is ended, i.e., if reading data of the memory plane 1 is started, data of pages of the memory plane 0 in the page buffer PB is transmitted to the cache register CR under the control of the controller 140 (step S306).
In the reading sequence 2 illustrated in
Next, the controller 140 determines whether all the data in the memory plane 1 is output from the cache register CR (step S304). This determined result is used for controlling the data transmission from the page buffer PB to the cache register CR. If reading the data in the memory plane 1 is ended, data of the memory plane 0 is output from the cache register CR (step S308). Data reading is continuous from the memory plane 1 to the memory plane 0 in the cache register CR. If the data output in the memory plane 1 is ended, i.e., if reading data in the memory plane 0 is started, data of pages of the memory plane 1 in the page buffer PB is transmitted to the cache register CR under the control of the controller 140 (step S309).
Similarly, when data of one of the memory planes is output from the cache register CR, data of the other memory plane is transmitted from the page buffer PB, so that data among plural pages can be continuously read from the cache register CR.
In the reading sequence 3 illustrated in
On the other hand, a conventional data reading operation is illustrated in
Next, specific reading operations in embodiments of the invention will be explained with reference to
During the data reading period tRC, data of page A is output from the cache register CR, and then data of page B is output subsequently at which data of the next page A+1 is also transmitted to the cache register CR. Accordingly, the cache read is performed until the last pages AM and BM of the memory blocks. This reading method does not produce the blank period Td as shown in
Before ending the burst read performed on the memory block BLK (X), a command is input from the external controller, and address information for selecting pages A+1 and B+1 in the next memory block BLK (Y) is input. Herein the controller 140 may also stop temporarily the data output from the cache register CR by stopping the clock signal. In this case, the address information is temporarily stored in the address register 120. Thereafter, if a command is input from the external controller, the controller 140 starts to output data from the cache register CR again by starting from the next data that has been stopped. Before data of the last pages AM and BM in the memory block BLK (X) is output, data of pages A+1 and B+1 in the next memory block BLK (Y) is transmitted to the page buffer PB. After that, when data of the last page BM is output, data of page A+1 is transmitted from the page buffer PB to the cache register CR. Accordingly, high speed of page burst read between memory blocks can be realized. Moreover, in order to accomplish continuous burst read, inputting commands for selecting pages in the next memory block BLK (Y) is inhibited during the period after the output of the last pages AM and BM is started.
It will be apparent to those skilled in the art that various modifications and variations can be made to the structure of the invention without departing from the scope or spirit of the invention. In view of the foregoing, it is intended that the invention cover modifications and variations of this invention provided they fall within the scope of the following claims and their equivalents.
Number | Date | Country | Kind |
---|---|---|---|
2011-265394 | Dec 2011 | JP | national |