KR20160144564A - Nonvolatile memory module and operation method thereof - Google Patents
Nonvolatile memory module and operation method thereof Download PDFInfo
- Publication number
- KR20160144564A KR20160144564A KR1020150080748A KR20150080748A KR20160144564A KR 20160144564 A KR20160144564 A KR 20160144564A KR 1020150080748 A KR1020150080748 A KR 1020150080748A KR 20150080748 A KR20150080748 A KR 20150080748A KR 20160144564 A KR20160144564 A KR 20160144564A
- Authority
- KR
- South Korea
- Prior art keywords
- ram
- data
- error
- processor
- storage
- 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/1076—Parity data used in redundant arrays of independent storages, e.g. in RAID systems
- G06F11/108—Parity data distribution in semiconductor storages, e.g. in SSD
-
- 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/1044—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 with specific ECC/EDC distribution
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
A non-volatile memory module according to an embodiment of the present invention includes a plurality of non-volatile memory devices, and a storage controller that receives a storage command from an external device and controls a plurality of non-volatile memory devices in response to the received storage command . The storage controller includes an error correction code (ECC) engine for detecting and correcting an error of a received storage command, and transmits an alarm signal to an external device when an error of the storage command is detected by the ECC engine.
Description
The present invention relates to a semiconductor memory, and more particularly, to a nonvolatile memory module and an operation method thereof.
A semiconductor memory device is a memory device implemented using semiconductors such as silicon (Si), germanium (Ge), gallium arsenide (GaAs), indium phosphide (InP) to be. Semiconductor memory devices are classified into a volatile memory device and a nonvolatile memory device.
Flash memory, which is a type of nonvolatile memory device, is widely used as a storage device in various fields because of its advantages such as large capacity, low noise and low power. In particular, solid state drives (SSDs) based on flash memory are used as mass storage in personal computers, notebooks, workstations, and server systems. Typical SSD devices are connected to a computing system based on a SATA interface or a PCI-express interface. In recent years, however, as the amount of data processed in the computing system increases, the data throughput becomes larger than the data bandwidth or communication speed of the interface connected to the SSD devices, resulting in a data bottleneck. These phenomena act as a factor that hinders the performance of the computing system, and various performance enhancement techniques for solving the above-mentioned problems are being developed.
As an example, SSD devices using a double data rate (DDR) interface are being developed. DDR interfaces provide faster access speeds than typical PCI or SATA interfaces. However, since the DDR interface is basically an interface based on a DRAM device, there are various problems in applying to the SSD device.
An object of the present invention is to detect and correct an error of information received from an external device (i.e., a processor), and to detect or correct an error in an external device via a notification signal when an error is detected or an error is not corrected And a method of operating the nonvolatile memory module.
A non-volatile memory module according to an embodiment of the present invention includes a plurality of non-volatile memory devices; And a storage controller that receives a storage command from an external device and controls the plurality of non-volatile memory devices in response to the received storage command, wherein the storage controller detects and corrects errors in the received storage command And an error correction code (ECC) engine. When an error of the storage command is detected by the ECC engine, a notification signal is transmitted to the external device.
In an embodiment, when the error is not detected or the error is corrected, the storage controller performs an operation corresponding to the storage command.
In one embodiment, the storage command receives a RAM command, a RAM address, and a clock from the external device, and receives a storage command from the external device according to the received RAM command, the received RAM address, and the received clock .
In an embodiment, the storage controller further comprises a RAM,
The storage controller stores the received command in the RAM according to the received RAM command, the received RAM address, and the received clock.
In an embodiment, the ECC engine detects and corrects errors in the storage commands stored in the RAM.
In an embodiment, the ECC engine detects and corrects an error of the storage command based on an error correction code corresponding to the storage command provided from the external apparatus.
In an embodiment, the storage command further comprises a multipurpose register, and if the error is detected or the error is not corrected, the ECC information for the error is written to the multipurpose register.
As an embodiment, the storage controller transmits the notification signal to the external device, and then transmits the ECC information written in the multi-purpose register to the external device under the control of the external device.
As an embodiment, the storage controller transmits the notification signal to the external device, and then transmits the ECC information on the error to the external device through the serial bus under the control of the external device.
In an embodiment, the storage controller and the external device communicate based on a DDR (Double Data Rate) interface.
In an embodiment, the storage controller further receives write data from the external device, the ECC engine detects and corrects errors in the write data, and the storage controller determines that an error in the write data is detected or not And transmits a notification signal to the external device.
In an embodiment, at least one of the plurality of non-volatile memory devices includes a three-dimensional memory array.
A method of operating a non-volatile memory module including at least one non-volatile memory device and a storage controller controlling the at least one non-volatile memory device according to an embodiment of the present invention includes receiving a storage command from an external device; Detecting and correcting an error of the received storage command through an error correction code (ECC) engine; And performing an operation corresponding to the storage command when an error of the storage command is not detected, and transmitting a notification signal to the external apparatus when an error of the storage command is detected.
As an embodiment, the step of receiving a storage command from the external device includes receiving a RAM command, a RAM address, and a clock from the external device; And storing the storage command received from the external device in a RAM included in the storage controller in response to the RAM command, the RAM address, and the clock.
As an embodiment, the step of detecting and correcting an error of the received storage command through the Error Correction Code (ECC) engine may include detecting an error of the received storage command based on an error correction code provided from the external apparatus, And detecting and correcting the error.
In an embodiment, the non-volatile memory module and the external device communicate based on a DDR (Double Data Rate) interface.
As an embodiment, a method of operating a user system including a processor and a non-volatile memory module electrically coupled to the processor includes the steps of: the processor transmitting a storage command to the non-volatile memory module; The nonvolatile memory module detecting and correcting an error of the received storage command; When the error is detected, the nonvolatile memory module transmits a notification signal to the processor; And in response to the notification signal, the processor resends the storage command to the nonvolatile memory module.
As an embodiment, the step of the processor transmitting a storage command to the non-volatile memory module includes the steps of: the processor transmitting a RAM command, a RAM address, and a clock to the non-volatile memory module; And the processor transmitting the data signal and the data strobe signal including the storage command to the nonvolatile memory module.
According to the present invention, the nonvolatile memory module can detect and correct an error of a storage command received from an external device. At this time, when an error is detected or not corrected, the nonvolatile memory module transmits a notification signal to the external device. The external device recognizes that an error exists in the transmitted storage command in response to the notification signal, and can perform the same operation as the retransmission of the storage command. Accordingly, since the nonvolatile memory module can operate normally, a nonvolatile memory module having improved reliability and an operation method thereof are provided.
1 is a block diagram illustrating a user system in accordance with an embodiment of the present invention.
Fig. 2 is a diagram for explaining the RAM of Fig.
3 is a flow chart illustrating the operation of the nonvolatile memory system of FIG.
FIGS. 4 and 5 are views for explaining the operation of FIG. 3 in detail.
Figure 6 is a flow chart illustrating another operation of the nonvolatile memory system of Figure 1;
7 is a block diagram illustrating a user system according to another embodiment of the present invention.
8 is a flowchart showing the operation of the nonvolatile memory system of FIG.
9 is a block diagram illustrating an exemplary first non-volatile memory device of the plurality of non-volatile memory devices of FIG.
FIG. 10 is a block diagram illustrating a computing system to which a non-volatile memory system according to the present invention is applied.
FIG. 11 is a block diagram illustrating one of the nonvolatile memory modules of FIG. 10 by way of example.
FIG. 12 is a block diagram illustrating one of the nonvolatile memory modules of FIG. 10 by way of example.
13 is a block diagram illustrating another example of a computing system to which the nonvolatile memory module according to the present invention is applied.
14 is a block diagram illustrating an exemplary nonvolatile memory module of FIG.
15 is a block diagram illustrating an exemplary nonvolatile memory module of FIG.
16 is a block diagram illustrating an exemplary non-volatile memory module of FIG.
17 is a diagram illustrating a server system to which a nonvolatile memory system according to an embodiment of the present invention is applied.
In the following, embodiments of the present invention will be described in detail with reference to the accompanying drawings. In the following description, details such as detailed configurations and structures are provided merely to assist in an overall understanding of embodiments of the present invention. Modifications of the embodiments described herein can be performed by those skilled in the art without departing from the spirit and scope of the present invention. Moreover, descriptions of well-known functions and structures are omitted for clarity and brevity. The terms used in the present specification are defined in consideration of the functions of the present invention and are not limited to specific functions. Definitions of terms may be determined based on the description in the detailed description.
Modules in the following figures or detailed description may be shown in the drawings or may be connected to others in addition to the components described in the detailed description. The connections between the modules or components may each be integral or non-direct. The connections between the modules or components may be a communication connection or a physical connection, respectively.
Unless defined otherwise, all terms including technical and scientific meanings used herein have the meaning as understood by one of ordinary skill in the art to which this invention belongs. Generally, terms defined in the dictionary are interpreted to have equivalent meaning to the contextual meaning in the related mood field, and are not interpreted to have ideal or overly formal meaning unless explicitly defined in the text.
1 is a block diagram illustrating a user system in accordance with an embodiment of the present invention. Fig. 2 is a diagram for explaining the RAM of Fig. Referring to FIGS. 1 and 2, the
The
Illustratively, the
Illustratively, the RAM command CMD_R and the RAM address ADDR_R may be a command and an address for controlling the
Illustratively, the RAM command CMD_R, the RAM address ADDR_R, the clock CK, the data signal DQ, and the data strobe signal DQS, which are transmitted and received between the
The interface between the
The
Illustratively, although not shown in the drawings, the
The
The
2, the
The command area CA of the
The write area WA of the
The read area RD of the
The state area STA of the
The
The
Illustratively, the error detected by the
Illustratively, if an ECC error is detected by the
Although not shown in the figure, the alert signal Alert_n may be provided to the
Although not shown in the figure, the
The
The
The plurality of
As described above, according to the present invention, when an ECC error is included in the storage command (CMD_S) or write data (DATA_W) received from the
3 is a flow chart illustrating the operation of the nonvolatile memory system of FIG. FIGS. 4 and 5 are views for explaining the operation of FIG. 3 in detail. Hereinafter, for the sake of brevity, the operation of the non-volatile memory system will be described with reference to the ECC error correcting operation for the storage command CMD_S received from the
Further, components unnecessary for explaining transmission / reception of the storage command CMD_S and ECC error detection of the storage command CMD_S are omitted. In addition, a detailed description of the components described above is omitted.
1 to 5, the
In step S120, the
In step S130, the
If no ECC error is detected, in step S140, the
If an ECC error is detected, the
Illustratively, the
Figure 6 is a flow chart illustrating another operation of the nonvolatile memory system of Figure 1; Referring to FIGS. 1 and 6, the
If an error is detected in step S230, the
If the ECC error is corrected by the operation of step S250, the
If the error is not corrected by the operation of step S250, the
When an error is detected in the storage command CMD_S received from the
7 is a block diagram illustrating a user system according to another embodiment of the present invention. Referring to FIG. 7, the
A
Unlike the
Illustratively, the
The
Hereinafter, for the sake of simplicity and ease of explanation, after the ECC error is detected by the
8 is a flowchart showing the operation of the nonvolatile memory system of FIG. Referring to FIGS. 7 and 8, the
If an error is detected by the operation in step S330, the
In step S360, the
Illustratively, as described above, the
According to the above-described embodiments, the non-volatile memory system can perform error detection and correction operations on the storage command (CMD_S) or write data (DATA_W) received from the processor. At this time, if an error is detected in the storage command CMD_S or the write data DATA_W, or if the detected error is not corrected, the nonvolatile memory system transmits the notification signal Alert_n to the processor. The processor can recognize that the ECC error is included in the storage command (CMD_S) or the write data (DATA_W) in response to the notification signal. Alternatively, the processor can read ECC information from the multipurpose register (MPR) of the nonvolatile memory system in response to the notification signal and recognize that the ECC error is included in the storage command (CMD_S) or write data (DATA_W) according to the ECC information read . Accordingly, the processor can retransmit the storage command (CMD_S) or write data (DATA_W) to the nonvolatile memory system.
Illustratively, although not shown in the drawings, the processor and non-volatile memory system may communicate with each other via a serial bus such as I2C. The processor may receive ECC information from the non-volatile memory system via the serial bus in response to the alert signal (Alert_n).
9 is a block diagram illustrating an exemplary first non-volatile memory device of the plurality of non-volatile memory devices of FIG. 9, the
The
The
The control logic and
The control logic and
The
The input /
Illustratively, as an exemplary embodiment according to the technical concept of the present invention, each of the plurality of
As an exemplary embodiment according to the technical concept of the present invention, a three-dimensional memory array has vertical directionality and includes vertical NAND strings in which at least one memory cell is located on the other memory cell. The at least one memory cell includes a charge trap layer. Each vertical NAND string may include at least one select transistor located over the memory cells. The at least one select transistor has the same structure as the memory cells and can be formed monolithically with the memory cells.
A three-dimensional memory array comprising a plurality of levels and having word lines or bit lines shared between the levels, a configuration suitable for a three-dimensional memory array is disclosed in U.S. Patent No. 7,679,133, U.S. Patent No. 8,553,466 U.S. Patent No. 8,654,587, U.S. Patent No. 8,559,235, and U.S. Patent Application Publication No. 2011/0233648, which are incorporated herein by reference.
FIG. 10 is a block diagram illustrating a computing system to which a non-volatile memory system according to the present invention is applied. 10, a
The
The
The
The
The
The input /
The
Illustratively,
FIG. 11 is a block diagram illustrating one of the nonvolatile memory modules of FIG. 10 by way of example. Illustratively, FIG. 11 is a block diagram of a
11, a
By way of example,
Illustratively, the
Illustratively, the
FIG. 12 is a block diagram illustrating one of the nonvolatile memory modules of FIG. 10 by way of example. Illustratively, FIG. 12 is a block diagram of a
12, the
The
Illustratively,
Illustratively, the
13 is a block diagram illustrating another example of a computing system to which the nonvolatile memory module according to the present invention is applied. For the sake of brevity, a detailed description of the components described above is omitted. 13, a
The
The
The
Illustratively, the
14 is a block diagram illustrating an exemplary nonvolatile memory module of FIG. 13 and 14, the
The plurality of DRAMs may be used by the
The
Illustratively, the
15 is a block diagram illustrating an exemplary nonvolatile memory module of FIG. By way of example, the
Referring to Figures 13 and 15, the
The
The
Illustratively, when the
Illustratively, the
16 is a block diagram illustrating an exemplary non-volatile memory module of FIG. 13 and 16, the
The
For example, the
Illustratively, the
17 is a diagram illustrating a server system to which a nonvolatile memory system according to an embodiment of the present invention is applied. Referring to FIG. 17, the
According to embodiments of the invention described above, the non-volatile memory system performs error detection and correction operations on the storage command or write data received from the processor. At this time, if an error is detected or if the detected error is not corrected, the non-volatile memory system sends a notification signal (Alert_n) to the processor. The processor may resend the storage command or write data to the non-volatile memory system in response to the alert signal (Alert_n). Therefore, the nonvolatile memory system can be normally operated even if an error is included in the storage command, so that a nonvolatile memory system having improved reliability is provided.
While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is evident that many alternatives, modifications and variations will be apparent to those skilled in the art. Therefore, the scope of the present invention should not be limited to the above-described embodiments, but should be determined by the equivalents of the claims of the present invention as well as the following claims.
100: non-volatile memory system 110: device controller
111:
111b: RAM 111c: storage signal driver
112:
120: buffer
CMD_R: RAM command ADDR_R: RAM address
CK: clock DQ: data signal
DQS: Data strobe signal CMD_S: Storage command
ADDR_S: Storage address DATA: Data
STI: Status information Alert_n: Notification signal
Claims (10)
A storage controller that receives a storage command from an external device and controls the plurality of non-volatile memory devices in response to the received storage command,
Wherein the storage controller includes an error correction code (ECC) engine for detecting and correcting an error of the received storage command, and when an error of the storage command is detected by the ECC engine, A nonvolatile memory module that transmits signals.
Wherein the storage controller performs an operation corresponding to the storage command if the error is not detected or the error is corrected.
Wherein the storage command is configured to receive a RAM command, a RAM address, and a clock from the external device, and to store the received RAM command, the received RAM address, and a nonvolatile Memory modules.
Wherein the storage controller further comprises a RAM,
Wherein the storage controller stores the received command in the RAM according to the received RAM command, the received RAM address, and the received clock.
And the ECC engine detects and corrects an error of the storage command stored in the RAM.
Wherein the ECC engine detects and corrects an error of the storage command based on an error correction code corresponding to the storage command provided from the external device.
Wherein the storage command further comprises a multipurpose register,
And writes ECC information on the error to the multipurpose register when the error is detected or the error is not corrected.
Wherein the storage controller transmits the notification signal to the external device, and then transmits the ECC information written in the multi-purpose register to the external device under the control of the external device.
Wherein the storage controller transmits the notification signal to the external device and then transmits ECC information on the error to the external device via the serial bus under the control of the external device.
Wherein the storage controller and the external device communicate based on a double data rate (DDR) interface.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020150080748A KR20160144564A (en) | 2015-06-08 | 2015-06-08 | Nonvolatile memory module and operation method thereof |
US15/083,425 US10152413B2 (en) | 2015-06-08 | 2016-03-29 | Nonvolatile memory module and operation method thereof |
US16/195,533 US10649894B2 (en) | 2015-06-08 | 2018-11-19 | Nonvolatile memory module and operation method thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020150080748A KR20160144564A (en) | 2015-06-08 | 2015-06-08 | Nonvolatile memory module and operation method thereof |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20160144564A true KR20160144564A (en) | 2016-12-19 |
Family
ID=57735461
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020150080748A KR20160144564A (en) | 2015-06-08 | 2015-06-08 | Nonvolatile memory module and operation method thereof |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20160144564A (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10324869B2 (en) | 2015-09-11 | 2019-06-18 | Samsung Electronics Co., Ltd. | Storage device including random access memory devices and nonvolatile memory devices |
KR20190102530A (en) * | 2018-02-26 | 2019-09-04 | 에스케이하이닉스 주식회사 | Address generting circuit, address and command generating circuit and semiconductor system |
KR102317788B1 (en) * | 2021-05-14 | 2021-10-26 | 삼성전자주식회사 | Storage device and operating method of storage controller |
KR20230068240A (en) * | 2021-11-10 | 2023-05-17 | 삼성전자주식회사 | Storage device including the same and method of operating the same |
-
2015
- 2015-06-08 KR KR1020150080748A patent/KR20160144564A/en unknown
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10324869B2 (en) | 2015-09-11 | 2019-06-18 | Samsung Electronics Co., Ltd. | Storage device including random access memory devices and nonvolatile memory devices |
US11216394B2 (en) | 2015-09-11 | 2022-01-04 | Samsung Electronics Co., Ltd. | Storage device including random access memory devices and nonvolatile memory devices |
KR20190102530A (en) * | 2018-02-26 | 2019-09-04 | 에스케이하이닉스 주식회사 | Address generting circuit, address and command generating circuit and semiconductor system |
US10790011B2 (en) | 2018-02-26 | 2020-09-29 | SK Hynix Inc. | Address and command generation circuit, and semiconductor system |
US11373699B2 (en) | 2018-02-26 | 2022-06-28 | SK Hynix Inc. | Address and command generation circuit, and semiconductor system |
KR102317788B1 (en) * | 2021-05-14 | 2021-10-26 | 삼성전자주식회사 | Storage device and operating method of storage controller |
US11899531B2 (en) | 2021-05-14 | 2024-02-13 | Samsung Electronics Co., Ltd. | Storage device and operating method of storage controller |
KR20230068240A (en) * | 2021-11-10 | 2023-05-17 | 삼성전자주식회사 | Storage device including the same and method of operating the same |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10649894B2 (en) | Nonvolatile memory module and operation method thereof | |
US9824734B2 (en) | Nonvolatile memory module having backup function | |
US9767903B2 (en) | Nonvolatile memory module having dual-port DRAM | |
CN110471866B (en) | Memory system and operating method of memory system | |
US9886378B2 (en) | Nonvolatile memory system using control signals to transmit varied signals via data pins | |
US10303378B2 (en) | Data storage device | |
US10929064B2 (en) | Methods of operating mixed device type memory modules, and processors and systems configured for operating the same | |
US20190087126A1 (en) | Memory system and operating method of memory system | |
US10754800B2 (en) | Storage device configured to update field programmable gate array and method of operating the same | |
US9998151B2 (en) | Data storage device and operating method thereof | |
US10545689B2 (en) | Data storage device and operating method thereof | |
US20180239557A1 (en) | Nonvolatile memory device, data storage device including the same, and operating method of data storage device | |
US9785584B2 (en) | Data storage device and method thereof | |
TW201839764A (en) | Memory system | |
KR20160144564A (en) | Nonvolatile memory module and operation method thereof | |
US10445021B2 (en) | Memory system and method of operating the same | |
KR20170110408A (en) | Memory device and operating method thereof | |
US10108561B2 (en) | Data storage device and operating method thereof | |
KR20130125570A (en) | Semiconductor memory device and operating method thereof | |
US11194512B2 (en) | Data storage device which selectively performs a cache read or a normal read operation depending on work load and operating method thereof | |
KR20170007580A (en) | Nonvolatile memory module and operation method thereof | |
KR20160028228A (en) | Flash memory device, memory system and operating method thereof | |
KR20160144556A (en) | Nonvolatile memory module | |
US10452277B2 (en) | Memory device and operating method thereof | |
US20170212816A1 (en) | Semiconductor memory device and data storage device including the same |