KR20160144560A - Nonvolatile memory module, storage device, and electronic device generating error information accessed by host - Google Patents
Nonvolatile memory module, storage device, and electronic device generating error information accessed by host Download PDFInfo
- Publication number
- KR20160144560A KR20160144560A KR1020150080737A KR20150080737A KR20160144560A KR 20160144560 A KR20160144560 A KR 20160144560A KR 1020150080737 A KR1020150080737 A KR 1020150080737A KR 20150080737 A KR20150080737 A KR 20150080737A KR 20160144560 A KR20160144560 A KR 20160144560A
- Authority
- KR
- South Korea
- Prior art keywords
- error
- data
- ram
- write data
- processor
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1068—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
Abstract
The present invention provides a non-volatile memory module comprising one or more non-volatile memories and a device controller. The device controller receives the write data with the error correction code from the host, checks the error of the write data with reference to the error correction code, and stores the write data in at least one of the non-volatile memories. The device controller stores the error information in the RAM included in the device controller so that the error information about the error is accessed by the host. According to the present invention, a host can monitor errors in write data and actively respond to errors.
Description
The present invention relates to electronic devices, and more particularly to operations performed between a host and a non-volatile memory module or storage device configured to store data.
A computing system such as a personal computer includes various types of components. For example, the computing system includes various components such as a main processor, a main memory device, a storage device, a graphic processor, an input / output device, and the like. Further, the computing system includes a number of buses configured to connect its components.
Each of the components included in the computing system is connected to the bus and communicates with each other. The bus connecting several components may be different from the bus connecting several other components. In this case, the bandwidth supported by one bus may be different from the bandwidth supported by the other bus. A bus with a higher bandwidth can operate faster than a bus with a lower bandwidth.
By way of example, the main memory device and the graphics processor may be connected to the main processor via a bus operating at a high speed. On the other hand, the storage device and the input / output device can be connected to the main processor through a bus operating at a relatively slow speed. That is, several buses can operate at different performance.
Description of the Related Art [0002] In recent years, a technology related to a storage device is rapidly developing. Semiconductor storage mediums such as solid state drives (SSD) replace mechanical storage media such as hard disk drives (HDDs), thereby improving the performance and reliability of storage devices. However, when the storage device is connected to the main processor through a bus operating at a relatively slow speed, the operation performance of the storage device may be degraded. Particularly, when a storage device having high operation performance such as an SSD is connected to a bus operating at a slow speed, it is difficult to maximize the performance of the storage device.
To solve the above problems and to maximize the performance of the storage device, a storage device is provided that is configured to communicate with the host via a bus operating at high speed. Further, a scheme of a write operation for actively responding to an error of write data is provided.
A non-volatile memory module according to an embodiment of the present invention may include one or more non-volatile memories and a device controller. The device controller can receive write data with an error correction code from the host, check for errors in the write data with reference to the error correction code, and store the write data in at least one of the non-volatile memories. Furthermore, the device controller can store the error information in the RAM included in the device controller so that the error information about the error is accessed by the host.
In the non-volatile memory module according to an embodiment of the present invention, the error information may include information as to whether an error has been detected in the write data.
In the nonvolatile memory module according to an embodiment of the present invention, when an error is detected in the write data, the error information may further include information as to whether or not the detected error is correctable.
In the nonvolatile memory module according to the embodiment of the present invention, when the error information indicates the impossibility of correcting the detected error, the device controller can re-receive the write data from the host based on the error information.
In the nonvolatile memory module according to an embodiment of the present invention, when an error is detected in the write data and the detected error can be corrected, the error information is written to at least one of the nonvolatile memories after the detected error is corrected And may further include information indicating that it has been stored.
In a non-volatile memory module according to an embodiment of the present invention, the device controller may store write data in at least one of the non-volatile memories if no errors are detected or the errors are correctable.
In a non-volatile memory module according to an embodiment of the present invention, the device controller may operate according to an interface specification defined by a DIMM specification.
A storage device according to another embodiment of the present invention may include one or more non-volatile memories and a device controller. The device controller may receive write data with an error correction code from a host and store the write data in at least one of the non-volatile memories. The device controller may include a physical layer and a controller. The physical layer may include a RAM, and a RAM controller configured to control the RAM according to a RAM command and a RAM address provided from the host. The controller controls the physical layer and the nonvolatile memories so that the write data is temporarily stored in the RAM and then stored in the locations of the nonvolatile memories corresponding to the storage addresses based on the storage command and the storage address provided from the host and stored in the RAM can do. The controller may include an error correction block configured to check the error of the write data by referring to the error correction code after the write data is read from the RAM. The device controller can store error information about the error in the RAM.
In the storage apparatus according to another embodiment of the present invention, the error information stored in the RAM can be accessed by the host.
In the storage apparatus according to another embodiment of the present invention, the error correction block can correct the detected error when the error is detected and the detected error is correctable.
An electronic device according to another embodiment of the present invention may include at least one storage device and at least one processor. The processor can send write data with the error correction code to the storage device. The storage device can check the error of the write data by referring to the error correction code, store the error information about the error in the RAM included in the physical layer of the storage device, and store the write data if there is no error or the error is correctable . The processor can access the error information by accessing the RAM.
In an electronic device according to another embodiment of the present invention, the processor can check whether or not error information has been stored at the time of confirmation.
According to an embodiment of the present invention, whether or not an error of write data has occurred in the storage device can be monitored by the host. Therefore, the host can check the status of the data and actively respond to the error. As a result, the reliability of the data can be improved.
1 is a block diagram illustrating a computing system including a storage device according to an embodiment of the present invention.
2 is a conceptual diagram showing a software layer of the computing system of FIG.
FIGS. 3 to 7 are block diagrams showing embodiments of the configuration of the storage apparatus of FIG. 1. FIG.
8 is a block diagram illustrating a storage system including the storage device of FIG.
FIG. 9 is a conceptual diagram showing the configuration of the RAM of FIG. 8 and the communication between the processor, the RAM, and the controller.
10 is a flowchart for explaining a read operation of the storage apparatus of FIG.
11 is a flowchart for explaining a write operation of the storage apparatus of Fig.
12 is a conceptual diagram for explaining a process of notifying an error of write data in the write operation of FIG.
FIG. 13 is a flowchart for explaining a process in which the storage device of FIG. 8 checks errors and generates error information in the write operation of FIG.
FIG. 14 is a flowchart for explaining a process of confirming error information by the host of FIG. 8 in the writing operation of FIG.
FIG. 15 is a conceptual diagram for explaining operations in a case where an error of write data does not occur in the write operation of FIG.
16 is a conceptual diagram for explaining operations when a correctable error of write data occurs in the write operation of FIG.
17 is a conceptual diagram for explaining operations when an uncorrectable error of write data occurs in the write operation of FIG.
Figure 18 is a block diagram showing one of the non-volatile memories of Figure 8;
19 is a conceptual diagram showing one memory block of the memory cell array of FIG.
20 is a conceptual diagram showing a server system including a storage apparatus according to an embodiment of the present invention.
The foregoing features and the following detailed description are exemplary of the invention in order to facilitate a description and understanding of the invention. That is, the present invention is not limited to these embodiments, but may be embodied in other forms. The following embodiments are merely examples for the purpose of fully disclosing the present invention and are intended to convey the present invention to those skilled in the art. Thus, where there are several ways to implement the components of the present invention, it is necessary to make it clear that the implementation of the present invention is possible by any of these methods or any of the equivalents thereof.
It is to be understood that, in the context of this specification, when reference is made to a configuration including certain elements, or when it is mentioned that a process includes certain steps, other elements or other steps may be included. In other words, the terms used herein are for the purpose of describing specific embodiments only, and are not intended to limit the concept of the present invention. Further, the illustrative examples set forth to facilitate understanding of the invention include its complementary embodiments.
The terms used in this specification are meant to be understood by those of ordinary skill in the art to which this invention belongs. Commonly used terms should be construed in a manner consistent with the context of this specification. Also, terms used in the specification should not be construed as being excessively ideal or formal in nature unless the meaning is clearly defined. BRIEF DESCRIPTION OF THE DRAWINGS Fig.
1 is a block diagram illustrating a computing system including a storage device according to an embodiment of the present invention. 1, a
The
The
The
The
The first type of
The first type of
The
In Figure 1, a
The
By way of example,
The input /
The second type of
Unlike the first type of
In an embodiment of the present invention, the first type of
In the following, the configuration and operation of the first type of
2 is a conceptual diagram showing a software layer of the computing system of FIG. In the
The host layer HL may include a first host layer HL1 and a second host layer HL2. The storage layer SL may include a first storage layer SL1 and a second storage layer SL2. The first host layer HL1 and the first storage layer SL1 may be provided as physical layers of the host layer HL and the storage layer SL, respectively.
For example, the first host layer HL1 may include a DIMM layer DL1, and the first storage layer SL1 may include a DIMM layer DL2. In this example, the host layer HL and the storage layer SL can physically access each other through the DIMM layers DL1 and DL2 based on the physical address. By way of example, the host layer HL and the storage layer SL can communicate via the DIMM layers DL1 and DL2 according to an interface protocol defined based on the DIMM specification.
As will be described in more detail with reference to FIG. 8, the first storage layer SL1 may include a RAM RM. The second storage layer SL2 may include a nonvolatile memory NM. The nonvolatile memory NM may permanently or semi-permanently store data provided from the host layer HL under the control of the control layer CL of the second storage layer SL2. Further, according to the control of the control layer CL, management operations such as garbage collection, wear leveling, and the like regarding the nonvolatile memory NM can be performed.
In some embodiments of the present invention, the DIMM layer DL2 may be provided with a RAM command and a RAM address that are used to control the RAM RM from the host layer HL. The RAM (RM) can temporarily store the storage command and the storage address used for controlling the nonvolatile memory (NM) according to the RAM command and the RAM address. In addition, the RAM RM may temporarily store write data to be stored in the nonvolatile memory NM and / or read data read from the nonvolatile memory NM. This embodiment will be described in more detail with reference to Figs. 8 to 17. Fig.
The first host layer HL1 may include a RAM driver RD for interfacing with the RAM RM. The second host layer HL2 may include an operating system (OS) for operating the host layer HL. The operating system (OS) may control and manage the overall operations of the
Depending on the operation of the operating system (OS) and / or the application (AP), the host layer HL may provide write data to be stored in the nonvolatile memory NM to the storage layer SL. Alternatively, the storage layer SL may provide the host layer (HL) with read data used for operation of the operating system (OS) and / or the application (AP) among data stored in the nonvolatile memory (NM). Each of the second host layer HL2 and the second storage layer SL2 can logically recognize the other party based on a logical address.
3 is a block diagram showing an embodiment of the configuration of the storage apparatus of FIG. At least one of the first type of
3, the
The
The
In an embodiment of the present invention, the data signal DQ may include a storage command and a storage address that are used to control read / write operations with respect to the
The
The
Further, the host can access the error information stored in the
The
The
As an example, the
4 is a block diagram showing an embodiment of the configuration of the storage apparatus of FIG. At least one of the first type of
4, the
In one embodiment, under control of the
Further, the host can access the error information stored in the
The
The
By way of example,
5 is a block diagram showing an embodiment of the configuration of the storage apparatus of FIG. At least one of the first type of
In the embodiment of FIG. 5, the
By way of example,
The
Further, the host can access the error information stored in the
The
The
6 is a block diagram showing an embodiment of the configuration of the storage apparatus of FIG. At least one of the first type of
In the embodiment of FIG. 6, the
The
Further, the host can access the error information stored in the
The
For example, when
When the
FIG. 7 is a block diagram showing an embodiment of the configuration of the storage apparatus of FIG. 1. FIG. At least one of the first type of
In the embodiment of FIG. 7, the
The
Further, the host can access the error information stored in the
The
The
For example, when the
For example, when the
8 is a block diagram illustrating a storage system including the storage device of FIG. The
In one embodiment, the
In some alternative embodiments, the
In accordance with the control of the
The
The
The data signal DQ may include a storage command CMD_S and a storage address ADDR_S provided from the
In an embodiment of the present invention, the status information (STI) may include error information. The error information may include information on an error of the write data (DATA_W). The error information will be described in detail with reference to FIG. 11 to FIG.
In the write operation with respect to the
In the read operation with respect to the
That is, data (DATA_W, DATA_R) can be exchanged between the
In the above example, the RAM command CMD_R, the RAM address ADD_R, and the clock signal CLK may be provided through a command pin Pin defined in the DIMM specification. The storage command CMD_S corresponding to the write request or the read request can be transmitted through the data input / output pin defined in the DIMM specification together with the storage address ADDR_S. Write data or read data (DATA) may also be transmitted via the data input / output pins.
For example, the
The
In the above example, the
In an embodiment of the present invention, the
In an embodiment of the present invention, the
The error information can be accessed and monitored by the
FIG. 9 is a conceptual diagram showing the configuration of the RAM of FIG. 8 and the communication between the processor, the RAM, and the controller. As an embodiment, the
One of the command area CA, the writing area WA, the reading area RA and the state area STA can be selected based on the RAM address ADDR_R (see Fig. 8) provided from the
The command area CA may store the storage command CMD_S and the storage address ADDR_S provided from the
The write area WA and the read area RA can store write data (DATA_W) and read data (DATA_R), respectively. Write data DATA_W provided from the
The status area STA can store the status information STI regarding the write data DATA_W and the read data DATA_R under the control of the RAM controller 111 (see FIG. 8) and the
For example, when the
As will be described with reference to Figs. 11 to 17, in the embodiment of the present invention, the write data (DATA_W) can be received together with an error correction code. The error correction code can be stored in the writing area WA together with the writing data (DATA_W). The
For example, if the
10 is a flowchart for explaining a read operation of the storage apparatus of FIG. The
In operation S110, the
In operation S120, the
S110 and S120 operations may form a command transaction operation for transferring a read command to
Here, the storage command CMD_S may indicate that a read operation is performed in the
In operation S130, the
In operation S140, the
In operation S150, the
In operation S160, the
Operations S130 through S160 may form a confirm transaction operation to confirm whether or not the read operation has been completed in the
In operation S170, the
In operation S180, the
S170 and S180 operations may form a data transaction operation for transferring read data (DATA_R) from the
11 is a flowchart for explaining a write operation of the storage apparatus of Fig. The
In operation S210, the
In operation S220, the
S210 and S220 operations may form a command transaction operation to transfer a write command to
In operation S230, the
In operation S240, the
S230 and S240 operations may form a data transaction operation to transfer write data (DATA_W) to be stored in the
As the storage command CMD_S, the storage address ADDR_S, the write data DATA_W and the error correction code ECC are stored in the
In operation S250, the
In operation S260, the
In operation S270, the
In operation S280, the
Operations S250 through S280 may form a confirm transaction operation to confirm whether a write operation has been completed in the
12 is a conceptual diagram for explaining a process of notifying an error of write data in the write operation of FIG. For ease of understanding of the present invention, Fig. 8 will be referred to together.
The
The
Based on the error detection result of the
The
FIG. 13 is a flowchart for explaining a process in which the storage device of FIG. 8 checks errors and generates error information in the writing operation of FIG. To facilitate understanding of the present invention, Figures 8, 11 and 12 will also be referred to.
In operation S310, the
In operation S320, the
Further, if no error is detected in operation S320, operation S330 may be performed. In operation S330, the
If an error is detected in operation S320, operation S340 may be performed. In operation S340, the
If the detected error is determined to be correctable in operation S340, the
Further, if the detected error is determined to be correctable in operation S340, operation S350 may be performed. In operation S350, the
If the detected error is properly corrected, the error information ERR may further indicate that the detected error has been corrected. Further, when the write data (DATA_W) is stored after the detected error is corrected, the error information (ERR) or the status information (STI) may indicate that the write data (DATA_W) is normally stored. The
If the detected error is determined to be uncorrectable in operation S340, operation S360 may be performed. In operation S360, the
The
14 is a flowchart for explaining the process of the host (i.e., the processor 101) of FIG. 8 in confirming the error information in the write operation of FIG. To facilitate understanding of the present invention, Figures 8, 11 and 12 will also be referred to.
After the
In operation S420, the
On the other hand, if it is determined that the write operation is not completed, operation S430 may be performed. In operation S430, the
If an uncorrectable error is detected in operation S430, operation S440 may be performed. In operation S440, the
According to the embodiment of the present invention, whether or not an error of the write data (DATA_W) has occurred in the
FIG. 15 is a conceptual diagram for explaining operations in a case where an error of write data does not occur in the write operation of FIG.
After the
When the write data DATA_W is stored in the
16 is a conceptual diagram for explaining operations when a correctable error of write data occurs in the write operation of FIG.
After the
In one embodiment, the
After the detected error is corrected, the write data (DATA_W) is written to at least one nonvolatile memory (for example, the nonvolatile memory 121) of the nonvolatile memories 120 (see FIG. 8) (Operation 5). The
The
17 is a conceptual diagram for explaining operations when an uncorrectable error of write data occurs in the write operation of FIG.
After the
The
Since an uncorrectable error has been detected in the write data (DATA_W), the
According to the embodiments described with reference to Figures 8-17, the
Figure 18 is a block diagram showing one of the non-volatile memories of Figure 8; At least one of the
The
As an example, the
As an example, the three-dimensional memory array may include vertical NAND strings with vertical orientation and at least one memory cell located over the other memory cell. The at least one memory cell may include a charge trap layer. Each of the vertical NAND strings may include at least one select transistor located above the memory cells. At least one select transistor may be constructed in the same structure as the memory cells and monolithically formed with the memory cells.
Suitable configurations for a three-dimensional memory array, such as a three-dimensional memory array comprising a plurality of levels and having word lines or bit lines shared between levels, are described in U.S. Patent No. 7,679,133, U.S. Patent No. 8,554,466, U.S. Patent No. 8,654,587, U.S. Patent No. 8,559,235, and U.S. Patent Application Publication No. 2011/0233648, the disclosures of which are incorporated herein by reference.
The
The control logic and
The control logic and
The
The input /
19 is a conceptual diagram showing one memory block of the memory cell array of FIG. Referring to Fig. 19, a first memory block BLK1 of a three-dimensional structure will be described. For example, FIG. 19 shows a case where the
Referring to FIG. 19, the first memory block BLK1 may include a plurality of cell strings CS11, CS12, CS21, and CS22. The cell strings CS11, CS12, CS21, CS22 may be arranged along the row direction and the column direction to form rows and columns. For example, the cell strings CS11 and CS12 may be connected to the string selection lines SSL1a and SSL1b to form a first row. The cell strings CS21 and CS22 may be connected to the string selection lines SSL2a and SSL2b to form a second row. Furthermore, the cell strings CS11 and CS21 may be connected to the first bit line BL1 to form the first column. The cell strings CS12 and CS22 may be connected to the second bit line BL2 to form a second column.
Each of the cell strings CS11, CS12, CS21, and CS22 may include a plurality of cell transistors. For example, each of the cell strings CS11, CS12, CS21, and CS22 includes a plurality of memory cells MC1 to MC8, a plurality of memory cells MC1 to MC8, a plurality of memory cells MC1 to MC8, (Dummy) memory cells DMC1, DMC2. As an example, each of the plurality of cell transistors included in the cell strings CS11, CS12, CS21, and CS22 may be a charge trap flash memory cell.
The memory cells MC1 to MC8 are connected in series and can be stacked in a height direction perpendicular to the plane formed by the row direction and the column direction. The string selected transistors SSTa and SSTb may be connected in series and the string selected transistors SSTa and SSTb connected in series may be provided between the memory cells MC1 to MC8 and the bit line BL. The grounded selected transistors GSTa and GSTb are connected in series and the grounded selected transistors GSTa and GSTb connected in series may be provided between the memory cells MC1 to MC8 and the common source line CSL.
As an example, a first dummy memory cell DMC1 may be provided between the memory cells MC1 to MC8 and the ground selected transistors GSTa and GSTb. As an example, a second dummy memory cell DMC2 may be provided between the memory cells MC1 to MC8 and the string selected transistors SSTa and SSTb.
The ground selected transistors GSTa and GSTb of the cell strings CS11, CS12, CS21 and CS22 can be connected in common to the ground selection line GSL. By way of example, the ground selected transistors of the same row may be connected to the same ground select line, and the ground selected transistors of different rows may be connected to different ground select lines. By way of example, the first ground selected transistors GSTa of the cell strings CS11, CS12 of the first row may be connected to the first ground selection line and the first ground selection transistors GSTa of the cell strings CS21, 1 ground selected transistors (GSTa) may be connected to the second ground selection line.
By way of example, not shown, ground selected transistors lying at the same height from a substrate (not shown) may be connected to the same ground select line, and ground selected transistors placed at different heights may be connected to different ground select lines . As an example, the first ground selected transistors GSTa of the cell strings CS11, CS12, CS21, CS22 are connected to a first ground selection line, and the second ground selection transistors GSTb are connected to a second ground selection line Lt; / RTI >
The memory cells placed at the same height from the substrate or ground selected transistors (GSTa, GSTb) are connected in common to the same word line, and the memory cells placed at different heights can be connected to different word lines. For example, the first to eighth memory cells MC1 to MC8 of the cell strings CS11, CS12, CS21, and CS22 may be commonly connected to the first to eighth word lines WL1 to WL8, respectively.
The string selected transistors of the same row among the first string selected transistors SSTa lying at the same height may be connected to the same string select line and the other strings of string selected transistors may be connected to another string select line. For example, the first string selected transistors SSTa of the cell strings CS11 and CS12 of the first row are connected in common with the string selection line SSL1a and the cell strings CS21 and CS22 of the second row are connected in common, The first string selected transistors (SSTa) of the memory cell array may be connected in common with the string selection line (SSL1a).
Similarly, string selected transistors in the same row of the second string selected transistors (SSTb) that lie at the same height may be connected to the same string select line, and strings of the other rows may be connected to different string select lines. By way of example, the second string selected transistors SSTb of the cell strings CS11, CS12 of the first row are connected in common with the string selection line SSL1b and the cell strings CS21, CS22 of the second row are connected in common, The second string selected transistors (SSTb) of the second transistor can be connected in common with the string selection line (SSL2b).
Although not shown in the figure, string selected transistors of cell strings in the same row may be connected in common to the same string select line. For example, the first and second string selected transistors (SSTa, SSTb) of the cell strings CS11, CS12 of the first row may be connected in common to the same string selection line. The first and second string selected transistors (SSTa, SSTb) of the cell strings CS21, CS22 of the second row may be connected in common to the same string selection line.
By way of example, dummy memory cells that lie at the same height are connected to the same dummy word line, and dummy memory cells that lie at different heights can be connected to different dummy word lines. For example, the first dummy memory cells DMC1 may be connected to the first dummy word line DWL1, and the second dummy memory cells DMC2 may be connected to the second dummy word line DWL2.
In the first memory block BLK1, reading and writing can be performed line by line. As an example, one row of the first memory block BLKa may be selected by the string selection lines SSL1a, SSL1b, SSL2a, and SSL2b.
For example, when a turn-on voltage is supplied to the string selection lines SSL1a and SSL1b and a turn-off voltage is supplied to the string selection lines SSL2a and SSL2b, Cell strings CS11 and CS12 of one row may be connected to bit lines BL1 and BL2. On the other hand, when a turn-on voltage is supplied to the string selection lines SSL2a and SSL2b and a turn-off voltage is supplied to the string selection lines SSL1a and SSL1B, the cell strings CS21 and CS22 of the second row, May be connected to the bit lines BL1 and BL2. Among the memory cells of the cell string of the row driven by driving the word line, the memory cells located at the same height can be selected. Read and write operations can be performed on selected memory cells. Selected memory cells may form a physical page unit.
In the first memory block BLK1, erasing may be performed in units of memory blocks or units of subblocks. When erasing is performed in units of memory blocks, all the memory cells MC1 to MC8 of the first memory block BLK1 can be erased simultaneously according to one erase request. When performed in units of subblocks, some of the memory cells MC1 to MC8 of the first memory block BLK1 may be simultaneously erased in response to one erase request, and some of the memory cells MC1 to MC8 may be erased. A low voltage (e. G., Ground voltage) is applied to the word line connected to the erased memory cells, and the word line connected to the erased memory cells may be floated.
The configuration of the first memory block BLK1 shown in Fig. 19 is an example. The number of cell strings may increase or decrease and the number of rows and columns constituted by cell strings may increase or decrease depending on the number of cell strings. Further, the number of the cell transistors (GST, MC, DMC, SST, etc.) of the first memory block BLK1 may increase or decrease, and the height of the first memory block BLK1 Can be increased or decreased. In addition, the number of lines (GSL, WL, DWL, SSL, etc.) connected to the cell transistors may increase or decrease according to the number of cell transistors.
20 is a conceptual diagram showing a server system including a storage apparatus according to an embodiment of the present invention. Referring to FIG. 20, the
Each of the server racks may include at least one storage device. By way of example, the
The
The
The
Circuits, chips, devices, and modules according to embodiments of the present invention may be implemented using various types of semiconductor packages. By way of example, the circuits, chips, devices, and modules according to embodiments of the present invention may be implemented on a variety of devices such as Package on Package (PoP), Ball Grid Arrays (BGAs), Chip Scale Packages (CSPs), Plastic Leaded Chip Carriers Die in Waffer Pack, COB (Chip On Board), CERDIP (Ceramic Dual In-line Package), MQFP (Metric Quad Flat Pack), TQFP (Thin Quad Flat) Packs, Small Outline Integrated Circuits (SOIC), Shrink Small Outline Package (SSOP), Thin Small Outline Package (TSOP), System In Package (SIP), Multi Chip Package (MCP) And can be mounted using a package such as a wafer-level process stack package (WSP).
The configurations shown in the respective conceptual diagrams should be understood from a conceptual viewpoint only. In order to facilitate understanding of the present invention, the shape, structure, size, etc. of each of the components shown in the conceptual diagram have been exaggerated or reduced. The configuration actually implemented may have a physical shape different from that shown in the respective conceptual diagrams. Each conceptual diagram is not intended to limit the physical form of the component.
The device configurations shown in the respective block diagrams are intended to facilitate understanding of the invention. Each block may be formed of blocks of smaller units depending on the function. Alternatively, the plurality of blocks may form a block of a larger unit depending on the function. That is, the technical idea of the present invention is not limited to the configuration shown in the block diagram.
The present invention has been described above with reference to the embodiments of the present invention. It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory and are intended to provide further explanation of the invention as claimed. Accordingly, the above embodiments should be understood in an illustrative rather than a restrictive sense. That is, the technical idea that can achieve the same object as the present invention, including the gist of the present invention, should be interpreted as being included in the technical idea of the present invention.
Therefore, it is intended that the present invention cover modifications and variations of this invention provided they come within the scope of the appended claims and their equivalents. The scope of protection of the present invention is not limited to the above embodiments.
10: Storage Systems
100: Storage device 101: Processor
110: device controller 111: physical layer
111a:
112:
120: Nonvolatile memories 121: Nonvolatile memories
121a:
121c: Control logic and voltage generator
121d:
130: buffer memory
1000: computing system 1100: processor
1210, 1212:
1230: Bus running at high speed
1300: Chipset 1400: GPU
1500 I / O device 1600: second type storage device
2000, 3000, 4000, 5000, 6000: Storage device
4005, 5005, 6005: control circuit
2100, 3100, 4100, 5100, 6100: Device controller
2100b, 3100b, 4100b, 5100b, 6100b: RAM
2200, 3200, 4200, 5200, 6200: non-volatile memories
2300, 3300: buffer memory
3400, 5400: Data buffer circuit
2500, 3500, 4500, 5500, 6500: SPD chip
4600, 5600, 6600: DRAMs
7000: Server system 7100: Server rack
7200: Storage Devices
Claims (10)
And a device controller configured to receive the write data with the error correction code from the host, to check the error of the write data with reference to the error correction code, and to store the write data in at least one of the non-volatile memories However,
Wherein the device controller is further configured to store the error information in a RAM included in the device controller such that error information about the error is accessed by the host.
Wherein the error information includes information on whether or not the error is detected in the write data.
And when the error is detected in the write data, the error information further includes information on whether or not the detected error is correctable.
And the device controller is configured to re-receive the write data from the host based on the error information if the error information indicates that the detected error is uncorrectable.
If the error is detected in the write data and the detected error is correctable, the error information further includes information indicating that the write data is stored in at least one of the non-volatile memories after the detected error is corrected A non-volatile memory module.
Wherein the device controller is configured to store the write data in at least one of the non-volatile memories if the error is not detected or the error is correctable.
Wherein the device controller is configured to operate in accordance with an interface protocol defined by a DIMM specification.
A device controller configured to receive write data with an error correction code from a host and store the write data in at least one of the non-volatile memories,
The device controller comprising:
A physical layer including a RAM and a RAM controller configured to control the RAM according to a RAM command and a RAM address provided from the host; And
Wherein the write data is temporarily stored in the RAM and is stored in a position of the nonvolatile memories corresponding to the storage addresses based on a storage command and a storage address provided from the host and stored in the RAM, And a controller configured to control the non-volatile memories,
Wherein the controller includes an error correction block configured to check an error of the write data by referring to the error correction code after the write data is read from the RAM,
Wherein the device controller is further configured to store error information regarding the error in the RAM.
Wherein the error correction block is further configured to correct the detected error if the error is detected and the detected error is correctable.
And at least one processor configured to transmit write data with an error correction code to the storage device,
The storage device checks the error of the write data with reference to the error correction code, stores error information on the error in the RAM included in the physical layer of the storage device, and if there is no error or the error is correctable Said write data being configured to store said write data,
Wherein the processor is further configured to access the RAM to obtain the error information.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020150080737A KR20160144560A (en) | 2015-06-08 | 2015-06-08 | Nonvolatile memory module, storage device, and electronic device generating error information accessed by host |
US15/096,877 US20160357462A1 (en) | 2015-06-08 | 2016-04-12 | Nonvolatile Memory Modules and Data Management Methods Thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020150080737A KR20160144560A (en) | 2015-06-08 | 2015-06-08 | Nonvolatile memory module, storage device, and electronic device generating error information accessed by host |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20160144560A true KR20160144560A (en) | 2016-12-19 |
Family
ID=57735506
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020150080737A KR20160144560A (en) | 2015-06-08 | 2015-06-08 | Nonvolatile memory module, storage device, and electronic device generating error information accessed by host |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20160144560A (en) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10761953B2 (en) | 2017-10-17 | 2020-09-01 | SK Hynix Inc. | Memory system and method for operating the same |
US10928871B2 (en) | 2017-10-31 | 2021-02-23 | SK Hynix Inc. | Computing device and operation method thereof |
US11016666B2 (en) | 2017-11-08 | 2021-05-25 | SK Hynix Inc. | Memory system and operating method thereof |
US11048573B2 (en) | 2018-01-12 | 2021-06-29 | SK Hynix Inc. | Data processing system and operating method thereof |
US11221931B2 (en) | 2019-01-15 | 2022-01-11 | SK Hynix Inc. | Memory system and data processing system |
US11609813B2 (en) | 2020-01-07 | 2023-03-21 | SK Hynix Inc. | Memory system for selecting counter-error operation through error analysis and data process system including the same |
US11636014B2 (en) | 2017-10-31 | 2023-04-25 | SK Hynix Inc. | Memory system and data processing system including the same |
-
2015
- 2015-06-08 KR KR1020150080737A patent/KR20160144560A/en unknown
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10761953B2 (en) | 2017-10-17 | 2020-09-01 | SK Hynix Inc. | Memory system and method for operating the same |
US10928871B2 (en) | 2017-10-31 | 2021-02-23 | SK Hynix Inc. | Computing device and operation method thereof |
US11636014B2 (en) | 2017-10-31 | 2023-04-25 | SK Hynix Inc. | Memory system and data processing system including the same |
US11016666B2 (en) | 2017-11-08 | 2021-05-25 | SK Hynix Inc. | Memory system and operating method thereof |
US11048573B2 (en) | 2018-01-12 | 2021-06-29 | SK Hynix Inc. | Data processing system and operating method thereof |
US11221931B2 (en) | 2019-01-15 | 2022-01-11 | SK Hynix Inc. | Memory system and data processing system |
US11609813B2 (en) | 2020-01-07 | 2023-03-21 | SK Hynix Inc. | Memory system for selecting counter-error operation through error analysis and data process system including the same |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10649894B2 (en) | Nonvolatile memory module and operation method thereof | |
US10692582B2 (en) | Semiconductor memory device and method of operating the same | |
US9767903B2 (en) | Nonvolatile memory module having dual-port DRAM | |
CN107045462B (en) | Storage device | |
US10719264B2 (en) | Solid state drive device and storage system having the same | |
US9824734B2 (en) | Nonvolatile memory module having backup function | |
US20160357462A1 (en) | Nonvolatile Memory Modules and Data Management Methods Thereof | |
US9432018B2 (en) | Storage controllers, methods of operating the same and solid state disks including the same | |
US9916897B2 (en) | Storage device | |
KR20160144560A (en) | Nonvolatile memory module, storage device, and electronic device generating error information accessed by host | |
US9477549B2 (en) | Methods, systems, and computer readable media for address and data integrity checking in flash memory operations | |
US20190140668A1 (en) | Semiconductor memory device and memory system including the same for adaptive error check and correction | |
US10545689B2 (en) | Data storage device and operating method thereof | |
US10902928B2 (en) | Memory system, operation method thereof, and nonvolatile memory device | |
KR102603243B1 (en) | Semiconductor memory device and operating method thereof | |
US11157358B2 (en) | Memory module, error correction method of memory controller controlling the same, and computing system including the same | |
CN113900969A (en) | Memory device and operation method thereof | |
JP2023025687A (en) | Memory device and operation method thereof | |
KR20160144564A (en) | Nonvolatile memory module and operation method thereof | |
KR20100067599A (en) | Replacement information storage circuit storing defective memory cell address | |
KR102290988B1 (en) | Nonvolatile memory module and operating method thereof | |
KR20170001818A (en) | Storage device controller, and method for testing whether storage device controller is faulty | |
KR102473197B1 (en) | Nonvolatile memory module, storage device, and electronic device transmitting read data in transmission unit | |
US20230385210A1 (en) | Data Storage Device and Method for Lane Detection and Configuration | |
JP2023076806A (en) | Device and method for reducing signal interference in semiconductor device |