The present application claims priority under 35 U.S.C. § 119(a) to Korean patent application number 10-2016-0148164, filed on Nov. 8, 2016, and Korean patent application number 10-2017-0046895, filed on Apr. 11, 2017, which are herein incorporated by reference in their entirety.
An aspect of the present disclosure relates to an electronic device, and more particularly, to a semiconductor memory device, a controller, and operating methods thereof.
Memory devices may be formed in a two-dimensional structure in which strings are arranged horizontally to a semiconductor substrate, or be formed in a three-dimensional structure in which strings are arranged vertically to a semiconductor substrate. A three-dimensional semiconductor device is a memory device devised to overcome the limit of degree of integration in two-dimensional semiconductor devices, and may include a plurality of memory cells vertically stacked on a semiconductor substrate.
Embodiments provide a semiconductor memory device capable of more efficiently utilizing a memory cell array, and an operating method for the semiconductor memory device.
Embodiments also provide a controller capable of more efficiently utilizing a memory cell array in a semiconductor memory device and an operating method for the controller.
According to an aspect of the present disclosure, there is provided a semiconductor memory device including: a memory cell array having a plurality of memory blocks; a read/write circuit configured to write data to the memory cell array or read data from the memory cell array; a control logic configured to control the read/write circuit to perform a read/write operation on the memory cell array; and a block defect information storage unit configured to store access records of the plurality of memory blocks and information on whether defects occur in the plurality of memory blocks, wherein, when an operation is requested to be performed on any one memory block among the plurality of memory blocks, the control logic determines whether to perform a word line test on the memory block based on the access record, and performs the requested operation on the memory block based on a determination.
According to another aspect of the present disclosure, there is provided an operating method for a semiconductor memory device including a plurality of memory blocks, the operating method including: receiving a command for any one memory block among the plurality of memory blocks; determining whether to perform a defect test on the memory block; performing the defect test based on a determination; and performing an operation corresponding to the received command on the memory block.
According to still another aspect of the present disclosure, there is provided a controller that controls a semiconductor memory device including a memory cell array configured with a plurality of memory blocks and receives a host command and a logic address corresponding thereto from a host, the controller including: a random access memory (RAM) configured to include a map table; an address managing unit configured to convert the logical address into a physical address with reference to the map table; and a test determining unit configured to determine whether the semiconductor memory device is to be tested, based on the physical address.
According to still another aspect of the present disclosure, there is provided an operating method for a controller that controls a semiconductor memory device, the operating method includes: receiving a host command for the semiconductor memory device and a logical address corresponding to the host command; converting the logical address into a physical address; storing the host command in a command queue; determining whether a memory block corresponding to the physical address is to be tested; and outputting a memory command to the semiconductor memory device, based on a determination.
Example embodiments will now be described more fully hereinafter with reference to the accompanying drawings; however, they may be embodied in different forms and should not be construed as limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the example embodiments to those skilled in the art.
In the drawing figures, dimensions may be exaggerated for clarity of illustration. It will be understood that when an element is referred to as being “between” two elements, it can be the only element between the two elements, or one or more intervening elements may also be present. Like reference numerals refer to like elements throughout.
In the following detailed description, only certain exemplary embodiments of the present disclosure have been shown and described, simply by way of illustration. As those skilled in the art would realize, the described embodiments may be modified in variously different ways, all without departing from the spirit or scope of the present disclosure. Accordingly, the drawings and description are to be regarded as illustrative in nature and not restrictive.
In the entire specification, when an element is referred to as being “connected” or “coupled” to another element, it can be directly connected or coupled to the another element or be indirectly connected or coupled to the another element with one or more intervening elements interposed therebetween. In addition, when an element is referred to as “including” a component, this indicates that the element may further include another component instead of excluding another component unless there is different disclosure.
Hereinafter, exemplary embodiments of the present disclosure will be described in detail with reference to the accompanying drawings. The same reference numerals are used to designate the same elements as those shown in other drawings. In the following descriptions, only portions necessary for understanding operations exemplary embodiments may be described, and descriptions of the other portions may be omitted so as to not obscure important concepts of the embodiments.
Referring to
The memory cell array 110 includes a plurality of memory blocks BLK1 to BLKz. The plurality of memory blocks BLK1 to BLKz are coupled to the address decoder 120 through word lines WL. The plurality of memory blocks BLK1 to BLKz are coupled to the read/write circuit 130 through bit lines BL1 to BLm. Each of the plurality of memory blocks BLK1 to BLKz includes a plurality of memory cells. As an embodiment, the plurality of memory cells are nonvolatile memory cells, and may be configured as nonvolatile memory cells having a vertical channel structure. The memory cell array 110 may be configured as a memory cell array having a three-dimensional structure. In some embodiments, the memory cell array 110 may be configured as a memory cell array having a two-dimensional structure. According to an embodiment of the present disclosure, each of the plurality of memory blocks BLK1 to BLKz included in the memory cell array 110 may include a plurality of sub-blocks. As an example, each of the plurality of memory blocks BLK1 to BLKz may include two sub-blocks. As another example, each of the plurality of memory blocks BLK1 to BLKz may include four sub-blocks. In a semiconductor memory device and an operating method thereof according to an embodiment of the present disclosure, the number of sub-blocks included in each memory block is not limited thereto, and various numbers of sub-blocks may be included in each memory block.
Moreover, each of the plurality of memory cells included in the memory cell array 110 may store at least one bit of data. In an embodiment, each of the plurality of memory cells included in the memory cell array 110 may be a single-level cell (SLC) that stores one bit of data. In another embodiment, each of the plurality of memory cells included in the memory cell array 110 may be a multi-level cell (MLC) that stores two bits of data. In still another embodiment, each of the plurality of memory cells included in the memory cell array 110 may be a triple-level cell (TLC) that stores three bits of data. In still another embodiment, each of the plurality of memory cells included in the memory cell array 110 may be a quad-level cell (QLC) that stores four bits of data. In some embodiments, the memory cell array 110 may include a plurality of memory cells that each stores five or more bits of data.
The address decoder 120, the read/write circuit 130, and the control logic 140 operate as peripheral circuits that drive the memory cell array 110. The address decoder 120 is coupled to the memory cell array 110 through the word lines WL. The address decoder 120 is configured to operate in response to control of the control logic 140. The address decoder 120 receives an address ADD through an input/output buffer (not shown) inside the semiconductor memory device 100. The address ADD received includes a block address, a row address, and a column address. The address decoder 120 may include a block decoder, a row decoder, a column decoder, an address buffer, and the like.
The address decoder 120 is configured to decode the block address in the received address to select at least one memory block according to the decoded block address. The address decoder 120 may decode the row address in the received address to select at least one word line of the selected memory block according to the decoded row address. In a read voltage application operation during a read operation, the address decoder 120 applies a read voltage Vread generated by the voltage generating unit 150 to the selected word line and applies a pass voltage Vpass to unselected word lines. In a program verify operation, the address decoder 120 applies a verify voltage generated by the voltage generating unit 150 to the selected word line and applies the pass voltage Vpass to the unselected word lines.
The address decoder 120 is configured to decode the column address in the received address ADD. The address decoder 120 transmits the decoded column address to the read/write circuit 130.
Read and program operations of the semiconductor memory device 100 are performed in units of pages.
The read/write circuit 130 includes a plurality of page buffers PB1 to PBm. The read/write circuit 130 may operate as a “read circuit” in a read operation on the memory cell array 110 and operate as a “write circuit” in a write operation on the memory cell array 110. The plurality of page buffers PB1 to PBm are coupled to the memory cell array 110 through the bit lines BL1 to BLm. In order to sense threshold voltages of memory cells in the read operation and the program operation, the plurality of page buffers PB1 to PBm sense a change in amount of current flowing depending on a program state of a corresponding memory cell while continuously supplying sensing current to bit lines connected to the memory cells and latches the sensed change as sensing data. The read/write circuit 130 operates in response to page buffer control signals output from the control logic 140.
In the read operation, the read/write circuit 130 arbitrarily stores read data by sensing data of a memory cell and then outputs data DATA to the input/output buffer (not shown) of the semiconductor memory device 100. As an exemplary embodiment, the read/write circuit 130 may include a column selection circuit, etc. in addition to the page buffers or page registers.
The control logic 140 is coupled to the address decoder 120, the read/write circuit 130, and the voltage generating unit 150. The control logic 140 receives a command CMD and a control signal CTRL through the input/output buffer (not shown) of the semiconductor memory device 100. The control logic 140 is configured to control overall operations of the semiconductor memory device 100 in response to the control signal CTRL. Also, the control logic 140 outputs the page buffer control signals for controlling sensing node precharge potential levels of the plurality of page buffers PB1 to PBm. The control logic 140 may control the read/write circuit 130 to perform the read operation.
In the read operation, the voltage generating unit 150 generates the read voltage Vread and the pass voltage Vpass in response to a voltage control signal output from the control logic 140.
The block defect information storage unit 160 may store an access record on each of the plurality of memory blocks BLK1 to BLKz in the memory cell array 110. When the control logic 140 is requested to perform an operation on any one of the plurality of memory blocks BLK1 to BLKz, the control logic 140 may search, through the block defect information storage unit 160, an access record that is a record on whether the corresponding memory block was previously accessed. In the semiconductor memory device according to the embodiment of the present disclosure, when the corresponding memory block is first accessed as a result obtained by searching access records stored in the block defect information storage unit 160, the control logic 140 performs a word line test on the memory block and then performs the requested operation.
Therefore, an initial defect test may be performed on every memory block. The defect test is not performed on all memory blocks, but may be performed on only memory blocks on which the requested operation is performed.
In addition, the block defect information storage unit 160 may store, as word line defect information, a result obtained by performing the word line test on each memory block. After the control logic 140 performs the word line test on a memory block, a test result is stored in the block defect information storage unit 160. Accordingly, at least one word line determined as a defective word line is not used in a subsequent operation. In the semiconductor memory device according to the embodiment of the present disclosure, when a defect occurs in a word line of a memory block, the whole of the corresponding memory block is not determined as the defect, but it is determined that only the defective word line is not used. Thus, the storage capacity of the memory cell array 110 can be further increased after the word line test.
In
Referring to
Hereinafter, an operation of the semiconductor memory device according to the embodiment of the present disclosure will be described with reference to
If the control logic 140 receives an operation command for the memory cell array 110, the control logic 140 searches an access record on a corresponding memory block. To this end, access records of the memory blocks, which are stored in the block access information storage unit 161, may be referred. When the corresponding memory block has already been accessed, the control logic 140 does not perform a word line test on the corresponding memory block, but performs the received operation command on the corresponding memory block. When Ss the corresponding memory block has not been accessed, the control logic 140 performs the word line test on the corresponding memory block. In this case, the control logic 140 may perform the word line test on first to nth word lines WL1 to WLn of the corresponding memory block, and control the read/write circuit 130 and the block defect information storage unit 160 to store a result of the word line test in the word line defect information storage unit 163 as word line defect information. In an embodiment, the word line test may be performed through program and verify operations on memory cells. In another embodiment, the word line test may be performed through program and read operations on the memory cells. In an embodiment, the word line test may be performed through an ECC test after the read operation on the memory cells.
After the word line test on the word lines of the corresponding memory block is completed, the received operation command may be performed on the corresponding memory block. In addition, the corresponding memory block has already been accessed, and hence an access record on the corresponding memory block, which is stored in the block access information storage unit 161, is updated.
For example, when it is determined that defects have occurred in a second word line WL2 and an ith word line WLi, word line defect information on the corresponding word lines WL2 and WLi is stored in the word line defect information storage unit 163. Thereafter, when a subsequent operation is performed on the same memory block, the second word line WL2 and the ith word line WLi are not used.
Thus, in the semiconductor memory device according to the embodiment of the present disclosure, when each memory block is first accessed, the word line test is performed on the corresponding memory block. Thereafter, when the same memory block is again accessed, a requested operation can be immediately performed without performing the word line test. Accordingly, a defect test of the semiconductor memory device can be performed during an operation of the semiconductor memory device, without any separate test equipment.
According to the embodiment of
An operating method for the semiconductor memory device in accordance with the embodiment of the present disclosure will be described in detail with reference to
Referring to
Referring to
In the step S131 of determining whether the memory block is first accessed, access records stored in the block access information storage unit 161 within the block defect information storage unit 160 may be referred to. Accordingly, it can be determined whether the corresponding memory block is first accessed or whether the corresponding memory block was previously accessed.
In step S151 of performing the defect test, based on the determination of whether the corresponding memory is first accessed, when the corresponding memory block is first accessed, a word line test may be performed on the corresponding memory block. Whereas, in step S151, when the memory block has already been accessed, the word line test is not performed.
Thereafter, an operation corresponding to the command received in step S110 is performed in step S153.
Hereinafter, an exemplary embodiment of the operating method shown in
In step S210, a program operation on a memory block is requested. The request for the program operation may be transmitted as a program command to the semiconductor memory device. In step S230, an access record on the corresponding memory block is referred to. At this time, the access record stored in the block access information storage unit 161 within the block defect information storage unit 160 may be referred to.
In step S250, it is determined whether the corresponding memory block is first accessed, based on the referred access record. When the corresponding memory block has been accessed (“NO” of step S250), a word line test has already been performed on the corresponding memory block. Therefore, an additional word line test is not performed, and the program operation corresponding to the received request is performed in step S270.
When the corresponding memory block is first accessed (“YES” of step S250), a word line test on the corresponding memory block is performed through steps S260, S280, and S290.
That is, in step S260, the word line test is performed on word lines included in the corresponding memory block, for example, the first to nth word lines WL1 to WLn shown in
In step S280, word line defect information generated as a result of the word line test is stored. For example, when defects occur in the second word line WL2 and the ith word line WLi among the word lines WL1 to WLn shown in
In addition to a word line determined as a defective word line, p word lines adjacent to the word line also may not be used. Here, p may be a natural number greater than or equal to 1. For example, in step S260, when a defect occurs in the ith word line, an (i−p)th word line WLi−p to an (i+p)th word line WLi+p may not be used since it is highly likely that defects will occur in word lines located adjacent to a word line determined as a defective word line.
After the word line test is performed, the access record on the corresponding memory block may be updated in step S290. After the access record on the corresponding memory block is updated, the program operation corresponding to the received request is performed in step S270.
First, referring to an embodiment of
After the erase operation is performed, word lines in which defects occur in the erase operation may be detected, among all word lines of the corresponding memory block, in step S313. For example, after the erase operation on the corresponding memory block is performed in step S311, defective word lines in the erase operation may be detected through an erase verify operation on memory cells in the memory block.
In another embodiment, referring to
After the program operation is performed, word lines in which defects occur in the program operation may be detected, among all word lines of the corresponding memory block, in step S323. For example, after the program operation on the corresponding memory block is performed in step S321, defective word lines in the program operation may be detected through a program verify operation on the memory cells in the memory block.
After the defective word line is detected, an erase operation may be performed on the corresponding memory block in step S325. Since the dummy data are programmed to detect the defective word lines in step S321, a subsequent operation may be performed after erasing the corresponding data in step S325. Referring to
Referring to
Referring to
In step S333, word lines in which defects occur in the program operation may be detected. For example, memory cells on which the program operation is not properly performed may be detected through a program verify operation, and word lines corresponding to the detected memory cells may be determined as defective word lines.
In step S335, a data read operation may be performed on all of the memory cells in the memory block. In this case, the dummy data programmed in step S331 may be read.
In step S337, a word line in which defects occur in the data read operation may be detected. As an exemplary embodiment, the data read operation may be performed on the memory cells in the memory block, and memory cells from which data are not properly read may be detected through an ECC test. Thereafter, word lines corresponding to the detected memory cells may be determined as defective word lines.
The defective word lines detected in steps S333 and S337 may be stored in the word line defect information storage unit 163, in step S280 shown in
After the defective word lines are detected, an erase operation may be performed on the corresponding memory block in step S339. Since the dummy data are programmed to detect the defective word lines in step S331, a subsequent operation may be performed after erasing the corresponding data. Referring to
An embodiment in which defective word lines are detected through the program operation and the data read operation is illustrated in
As described above, in the operating method for the semiconductor memory device according to the embodiment of the present disclosure, the word line test is performed on a memory block that is first accessed, and word line defect information of the corresponding memory block is stored. When defects occur in word lines in the corresponding memory block, the whole of the corresponding memory block is not determined as a defective memory block, but it is determined that only the defective word lines are not used. Thus, the storage capacity of the memory cell array can be further increased after the word line test.
Referring to
Similarly to
Moreover, in
Hereinafter, an operation of the semiconductor memory device in accordance with the embodiment of the present disclosure will be described with reference to
If the control logic 140 receives an operation command for the memory cell array 110, the control logic 140 searches an access record on a corresponding memory block. To this end, access records of the memory blocks, which are stored in the block access information storage unit 161, may be referred to. When the corresponding memory block has already been accessed, the control logic 140 does not perform a word line test on the corresponding memory block, but performs the received operation command on the corresponding memory block. When the corresponding memory block has not been accessed, the control logic 140 performs a word line group test on the corresponding memory block. In this case, the control logic 140 may control the read/write circuit 130 and the block defect information storage unit 160 to perform a word line group test on the first word line group 210 and the second word line group 220 and store a test result in the group defect information storage unit 166. In an embodiment, the word line group test may be performed through a word line test on word lines included in a corresponding word line group. The word line test may be performed through program and verify operations on memory cells. In another embodiment, the word line test may be performed through program and read operations on memory cells. In an embodiment, the word line test may be performed through an ECC test after a read operation on the memory cells.
After the word line group test on the word line groups of the corresponding memory block is completed, the received operation command may be performed on the corresponding memory block. In addition, the corresponding memory block has already been accessed, and hence an access record on the corresponding memory block, which is stored in the block access information storage unit 161, is updated.
For example, when it is determined as a test result that a defect has occurred in the first word line group 210, word line group defect information on the first word line group 210 is stored in the group defect information storage unit 166. Thereafter, when a subsequent operation is performed on the same memory block, the first to ith word lines WL1 to WLi included in the first word line group 210 are not used.
Thus, in the semiconductor memory device in accordance with the embodiment of the present disclosure, when each memory block is first accessed, the word line group test is performed on the corresponding memory block. Thereafter, when the same memory block is again accessed, a requested operation can be immediately performed without performing the word line group test. Accordingly, a defect test of the semiconductor memory device can be performed during an operation of the semiconductor memory device, without any separate test equipment.
An operating method for the semiconductor memory device in accordance with the embodiment of the present disclosure will be described in detail with reference to
In step S410, a program operation on a memory block is requested by a program operation command. In step S430, an access record on the corresponding memory block is referred to. At this time, the access record stored in the block access information storage unit 161 within the block defect information storage unit 160 is referred to.
In step S450, it is determined whether the corresponding memory block is first accessed, based on the referred access record. When the corresponding memory block has already been accessed (“NO” of step S450), a word line test has already been performed on the corresponding memory block. Therefore, an additional word line test is not performed, and the program operation corresponding to the received request is performed in step S470.
When the corresponding memory block is first accessed (“YES” of step S450), a word line group test on the corresponding memory block is performed through steps S460, S480, and S490.
That is, in step S460, the word line group test is performed on word line groups included in the corresponding memory block, for example, the first and second word line groups 210 and 220 shown in
In step S480, word line group defect information generated as a result of the word line group test is stored. For example, when a defect occurs in the first word line group 210 among the word line groups shown in
After the word line group test is performed, the access record on the corresponding memory block may be updated in step S490. After the access record on the corresponding memory block is updated, the program operation corresponding to the received request is performed in step S470.
Referring to
In step S530, it may be determined whether each word line group includes at least one defective word line. In step S550, it is determined whether a test on all word line groups in the memory block has been completed. When the test on all of the word line groups is not completed (“NO” of step S550), steps S510 and S530 are repeated until the test on all of the word line groups in the memory block is performed.
In step S610, a word line test is performed on a word line group in a memory block. For example, the word line test may be performed on the first word line group 210. For example, the word line test may be performed on the first word line WL1.
Thereafter, it is determined whether the corresponding word line is a defective word line in step S630. For example, it may be determined whether the first word line WL1 is a defective word line. When the first word line WL1 is the defective word line (“YES” of step S630), the first word line group 210 is determined as a defective group in step S650.
When the first word line WL1 is not the defective word line (“NO” of step S630), it is determined whether the word line test on all word lines in the first word line group 210 has been completed in step S670. Since the word line test on all of the word lines in the first word line group 210 is not completed (“NO” of step S670), the operating method may proceed to step S610. In this case, the word line test may be performed on the second word line WL2.
By repeating the above-described process, when all of the first to ith word lines WL1 to WLi are determined as normal word lines after the word line test on all of the word lines in the first word line group 210 is completed (“YES” of step S670), the first word line group 210 is determined as a normal word line group (S690).
Referring to
An embodiment in which word lines in a memory block are grouped into two word line groups is illustrated in
Therefore, the number of word lines determined not to be used due to defects may be changed depending on the number of word line groups.
For example, when a relatively small number of word line groups are used, a relatively large number of word lines are included in one word line group. Therefore, when one word line group is determined as a defective word line group, a larger number of normal word lines are not used so that the number of memory cells available in a memory block is decreased. Thus, the capacity required to store information on defective word line groups is further decreased, but a smaller capacity is required to implement the group defect information storage unit 166.
Conversely, when a relatively large number of word line groups are used, a relatively small number of word lines are included in one word line group. Therefore, when one word line group is determined as a defective word line group, a smaller number of normal word lines are not used so that the number of memory cells available in a memory block is increased. Thus, the capacity required to store information on defective word line groups is further increased, but a larger capacity is required to implement the group defect information storage unit 166.
Therefore, the number of word line groups in a memory block and the number of word lines included in each word line group may be determined by various combinations, if necessary.
In the above, a configuration of the semiconductor memory, in which when a command is received, a test is performed based on an access record of a memory block corresponding to the command, has been described. Furthermore, a controller at the outside of the semiconductor memory device may determine that a test is performed based on an access record of a memory block. Hereinafter, a test of the semiconductor memory device, which is determined by the controller, will be described.
Referring to
The host 410 may include an application 411 and a file system 413. When there is a need to write data to the semiconductor memory device 450, to read data from the semiconductor memory device 450, or to erase a partial area of the semiconductor memory device 450, the application 411 transmits a corresponding request to the file system 413. The file system 413 transmits a command and a logical address corresponding to the command, to the controller 430, based on the received request. The command output from the host 410 may be referred to as a “host command.”
The controller 430 is configured to provide an interface between the semiconductor memory device 450 and the host 410. The controller 430 is configured to drive firmware for controlling the semiconductor memory device 450. More specifically, the controller 430 may control the semiconductor memory device 450 to perform a corresponding operation by receiving the host command and the logical address from the host 410.
The controller 430 communicates with the semiconductor memory device 450 through a channel. The controller 430 is configured to provide a command and a physical address to the semiconductor memory device 450. The command transmitted to the semiconductor memory device 450 may be referred to as a “memory command.” The physical address is converted from the logical address. According to the memory command and the physical address, the semiconductor memory device may perform read, program, and erase operations. Based on the physical address, the semiconductor memory device 450 may program data in an area corresponding to the physical address, read data from the area corresponding to the physical address, or erase data in the area corresponding to the physical address.
The controller 430 includes an address managing unit 431, a random access memory (RAM) 433, and a test determining unit 435. The RAM 433 includes a mapping table storing a mapping relationship between the logical address received from the host 410 and the physical address provided to the semiconductor memory device 450. The RAM 433 may be controlled by the address managing unit 431. The RAM 433 may include a static RAM (SRAM), a dynamic RAM (DRAM), a synchronous DRAM (SDRAM), and the like. As an embodiment, the RAM 433 may be used as an operation memory of the address managing unit 431. As an embodiment, the RAM 433 may be used as a buffer memory between the semiconductor memory device 450 and the host 410. For example, in a read operation, data read from the semiconductor memory device 450 may be arbitrarily stored in the RAM 433 and be output to the host 410. In a program operation, write data received from the host 410 may be arbitrarily stored in the RAM 433 and be provided to the semiconductor memory device 450.
The address managing unit 431 converts the logical address received from the host 410 into the physical address with reference to the mapping table. Also, the address managing unit 431 manages the mapping table of the RAM 433, to manage a bad area of a memory cell array in the semiconductor memory device 450. For example, the address managing unit 431 does not map a physical address corresponding to the bad area to a logical address, but may map a physical address corresponding to another area substituted for the bad area to the corresponding logical address. In the embodiment of the present disclosure, the address managing unit 431 may be referred to as a “flash translation layer.”
As an embodiment, when a test operation in the semiconductor memory device 450 fails, the address managing unit 431 may detect that a selected word line is a defective word line. In a read operation, the address managing unit 431 may detect that a selected word line is a defective word line through an error correction block (see 1150 of
The address managing unit 431 may process an area including the corresponding word line as a bad area and update the mapping table stored in the RAM 433 such that the area is replaced by another memory area.
The test determining unit 435 may receive a physical address and a host command from the address managing unit 431. The test determining unit 435 may determine whether the semiconductor memory device 450 is to be tested, based on the received physical address. For example, when a memory block corresponding to the received physical address is first accessed, the test determining unit 435 may determine that the semiconductor memory device 450 is to be tested. More specifically, the test determining unit 435 may determine that the corresponding memory block which is first accessed is to be tested.
When it is determined that the corresponding memory block is to be tested, the test determining unit 435 may generate a test command and transmit the test command along with the physical address to the semiconductor memory device 450. The corresponding memory block of the semiconductor memory device 450 is tested based on the received test command and physical address.
In an embodiment, the test command may be an erase command. In this case, which is similarly to that described with reference to
In another embodiment, the test command may include a program command and an erase command. In this case, which is similar to that described with reference to
In still another embodiment, the test command may include a program command, a read command, and an erase command. In this case, which is similar to that described with reference to
After the memory block is tested, the test determining unit 435 may transmit a memory command corresponding to the received host command and a physical address to the semiconductor memory device 450. The semiconductor memory device 450 performs an operation requested from the host 410, based on the received memory command and physical address.
When it is determined that the corresponding memory block is not to be tested, the test determining unit 435 does not generate a test command, but may transmit a memory command corresponding to the received host command and physical address, to the semiconductor memory device 450. In this case, the semiconductor memory device 450 does not perform a test operation but may immediately perform an operation requested from the host 410, based on the received memory command and physical address.
Hereinafter, the configuration and operation of the test determining unit 435 will be described in detail with reference to
Referring to
In an embodiment, the command control unit 471 determines whether a memory block corresponding to the received physical address is first accessed, based on the access record stored in the block access information storage unit 470. When the memory block corresponding to the physical address is first accessed, the command control unit 471 controls the test command generating unit 475 to generate a test command for a word line test on the corresponding memory block. The test command is transmitted to the semiconductor memory device 450 so as to perform a test operation. In this case, the host command is arbitrarily stored in the command queue 473, and is transmitted to the semiconductor memory device 450 after the test operation is performed. Thus, the semiconductor memory device 450 performs an operation request from the host 410 after the test operation is performed.
When the memory block corresponding to the physical address has already been accessed, a word line test has already been performed. Therefore, the test operation of the semiconductor memory device 450 is not performed. To this end, the test command generating unit 475 is controlled not to generate the test command. Moreover, the host command arbitrarily stored in the command queue 473 is immediately transmitted to the semiconductor memory device 450. Thus, the semiconductor memory device 450 performs the operation requested from the host 410 without performing the test operation.
Referring to
In step S710, the host command and the logical address are transmitted from the host 410 to the controller 430. As described above, the host command may be a command generated by a request of the application 411 in the host 410.
In step S730, the address managing unit 431 may convert the logical address into a physical address. The converted physical address is transmitted to the test determining unit 435. In step S750, the received host command may be stored in the command queue 473 within the test determining unit 435. In
In step S770, the test determining unit 435 may determine whether a memory block corresponding to the received physical address is to be tested. More specifically, the command control unit 471 may determine whether a defect test on word lines in the corresponding memory block is to be performed, based on access records stored in the block access information storage unit 470.
In step S790, the memory command is output based on the determination. When it is determined that the corresponding memory block is to be tested, a test command is first output by the test command generating unit 475, and the host command stored in the command queue 473 is then output. When it is determined that the corresponding memory block is not to be tested, the host command is immediately output without generating the test command. Hereinafter, the operating method of the controller in accordance with the embodiment of the present disclosure will be described in more detail with reference to
Referring to
In step S771, an access record of a memory block corresponding to a physical address stored in the block access information storage unit 470 is referred to. In step S773, it is determined whether the corresponding memory block is first accessed, based on the access record.
When it is determined that the memory block corresponding to the physical address has already been accessed (“NO” of step S773), a host command stored in the command queue 473 is transmitted as a memory command to the semiconductor memory device 450, in step S775. Thus, the semiconductor memory device 450 performs an operation requested by the host 410 without performing a test operation.
When it is determined that the memory block corresponding to the physical address is first accessed (“YES” of step S773), a test command for testing the memory block is output from the test command generating unit 475, in step S777. The semiconductor memory device 450 performs the test operation in response to the test command and transmits a test result to the controller 430. Thereafter, the received test result is processed in step S779. The step S779 of processing the test result will be described in more detail later with reference to
Referring to
In step S810, whether an operation corresponding to the test command has succeeded is transmitted from the semiconductor memory device 450 to the controller 430. As an example, when the test command is an erase command, it is transmitted whether an erase operation has been satisfactorily completed by the corresponding erase command. As another example, when the test command is a program command, it is transmitted whether a program operation has been satisfactorily completed by the corresponding program command. As still another example, when the test command includes a program command and a data read command, it is determined whether a program operation and a data read operation have been satisfactorily completed by the corresponding commands.
In step S830, word line defect information is generated based on whether the operation has succeeded. When the operation corresponding to the test command is satisfactorily completed, information that corresponding word lines are satisfactory is generated. When the operation corresponding to the test command is not satisfactorily completed, information that corresponding word lines are defective is generated. The mapping table of the RAM 433 may be updated based on the word line defect information. For example, the address managing unit 431 does not map a physical address corresponding to a word line determined as a defective word line to a logical address, but may map a physical address indicating another area to the corresponding logical address.
In step S850, the access record on the corresponding memory block is updated. Since the corresponding memory block becomes a memory block that has already been accessed, the access record stored in the block access information storage unit 470 is updated.
Referring to
The controller 1100 is coupled to a host Host and the semiconductor memory device 100. The controller 1100 is configured to access the semiconductor memory device 100 in response to a request from the host Host. For example, the controller 1100 is configured to control read, write, erase, and background operations of the semiconductor memory device 100. The controller 1100 is configured to provide an interface between the semiconductor memory device 100 and the host Host. The controller 1100 is configured to drive firmware for controlling the semiconductor memory device 100.
The controller 1100 includes a random access memory (RAM) 1110, a processing unit 1120, a host interface 1130, a memory interface 1140, and an error correction block 1150. The RAM 1110 is used as at least one of an operation memory of the processing unit 1120, a cache memory between the semiconductor memory device 100 and the host Host, and a buffer memory between the semiconductor memory device 100 and the host Host. The processing unit 1120 controls overall operations of the controller 1100. Also, the controller 1100 may arbitrarily store program data provided from the host Host in a write operation.
The host interface 1130 includes a protocol for exchanging data between the host Host and the controller 1100. As an exemplary embodiment, the controller 1100 is configured to communicate with the host Host through at least one of various interface protocols such as a universal serial bus (USB) protocol, a multimedia card (MMC) protocol, a peripheral component interconnection (PCI) protocol, a PCI-express (PCI-E) protocol, an advanced technology attachment (ATA) protocol, a serial-ATA protocol, a parallel-ATA protocol, a small computer small interface (SCSI) protocol, an enhanced small disk interface (ESDI) protocol, an integrated drive electronics (IDE) protocol, and a private protocol.
The memory interface 1140 interfaces with the semiconductor memory device 100. For example, the memory interface 1140 may include a NAND interface or a NOR interface.
The error correction block 1150 is configured to detect and correct an error of data received from the semiconductor memory device 100 by using an error correction code (ECC). The processing unit 1120 may control the semiconductor memory device 100 to adjust a read voltage, based on an error detection result of the error correction block 1150, and to perform re-reading. As an exemplary embodiment, the error correction block 1150 may be provided as a component of the controller 1100.
The controller 1100 and the semiconductor memory device 100 may be integrated into one semiconductor device. As an exemplary embodiment, the controller 1100 and the semiconductor memory device 100 may be integrated into one semiconductor device, to constitute a memory card. For example, the controller 1100 and the semiconductor memory device 100 may be integrated into one semiconductor device, to constitute a memory card such as a PC card (personal computer memory card international association (PCMCIA)), a compact flash (CF) card, a smart media card (SM or SMC), a memory stick, a multimedia card (MMC, RS-MMC or MMCmicro), an SD card (SD, miniSD, microSD or SDHC), or a universal flash storage (UFS).
The controller 1100 and the semiconductor memory device 100 may be integrated into one semiconductor device to constitute a semiconductor drive solid state drive (SSD). The semiconductor drive SSD includes a storage device configured to store data in a semiconductor memory. If the memory system 1000 is used as the semiconductor drive SSD, the operating speed of the host Host coupled to the memory system 1000 can be remarkably improved.
As another example, the memory system 1000 may be provided as one of various components of an electronic device such as a computer, a ultra mobile PC (UMPC), a workstation, a net-book, a personal digital assistant (PDA), a portable computer, a web tablet, a wireless phone, a mobile phone, a smart phone, an e-book, a portable multimedia player (PMP), a portable game console, a navigation system, a black box, a digital camera, a 3-dimensional television, a digital audio recorder, a digital audio player, a digital picture recorder, a digital picture player, a digital video recorder, a digital video player, a device capable of transmitting/receiving information in a wireless environment, one of various electronic devices that constitute a home network, one of various electronic devices that constitute a computer network, one of various electronic devices that constitute a telematics network, an RFID device, or one of various components that constitute a computing system.
As an exemplary embodiment, the semiconductor memory device 100 or the memory system 1000 may be packaged in various forms. For example, the semiconductor memory device 100 or the memory system 1000 may be packaged in a manner such as package on package (PoP), ball grid arrays (BGAs), chip scale packages (CSPs), plastic leaded chip carrier (PLCC), plastic dual in-line package (PDIP), die in Waffle pack, die in wafer form, chip on board (COB), ceramic dual in-line package (CERDIP), plastic metric quad flat pack (MQFP), thin quad flat pack (TQFP), small outline integrated circuit (SOIC), shrink small out line package (SSOP), thin small outline package (TSOP), thin quad flat pack (TQFP), system in package (SIP), multi chip package (MCP), wafer-level fabricated package (WFP), or wafer-level processed stack package (WSP).
In addition, the controller 1100 may be the controller 430 described with reference to
Referring to
In
Each group is configured to communicate with the controller 2200 through one common channel. The controller 2200 is configured similarly to the controller 1100 described with reference to
Referring to
The memory system 2000 is electrically coupled to the central processing unit 3100, the RAM 3200, the user interface 3300, and the power source 3400 through the system bus 3500. Data supplied through user interface 3300 or data processed by the central processing unit 3100 are stored in the memory system 2000.
In
In
According to the present disclosure, it is possible to provide a semiconductor memory device capable of more efficiently utilizing a memory cell array, and an operating method for the semiconductor memory device.
According to the present disclosure, it is possible to provide a controller capable of more efficiently utilizing a memory cell array in a semiconductor memory device and an operating method for the controller.
Example embodiments have been disclosed herein, and although specific terms are employed, the terms are used and are to be interpreted in a generic and descriptive sense only and not for purposes of limitation. In some instances, as would be apparent to one of ordinary skill in the art as of the filing of the present application, features, characteristics, and/or elements described in connection with a particular embodiment may be used singly or in combination with features, characteristics, and/or elements described in connection with other embodiments unless otherwise specifically indicated. Accordingly, it will be understood by those of skill in the art that various changes in form and details may be made without departing from the spirit and scope of the present disclosure as set forth in the following claims.
Number | Date | Country | Kind |
---|---|---|---|
10-2016-0148164 | Nov 2016 | KR | national |
10-2017-0046895 | Apr 2017 | KR | national |