KR20160144547A - Storage device and operating method of storage device - Google Patents

Storage device and operating method of storage device Download PDF

Info

Publication number
KR20160144547A
KR20160144547A KR1020150080641A KR20150080641A KR20160144547A KR 20160144547 A KR20160144547 A KR 20160144547A KR 1020150080641 A KR1020150080641 A KR 1020150080641A KR 20150080641 A KR20150080641 A KR 20150080641A KR 20160144547 A KR20160144547 A KR 20160144547A
Authority
KR
South Korea
Prior art keywords
data
stream
data group
capacity
device controller
Prior art date
Application number
KR1020150080641A
Other languages
Korean (ko)
Inventor
김진우
김승연
박재근
신효덕
이영근
조영진
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020150080641A priority Critical patent/KR20160144547A/en
Priority to US15/083,834 priority patent/US9799402B2/en
Publication of KR20160144547A publication Critical patent/KR20160144547A/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1673Details of memory controller using buffers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/544Buffers; Shared memory; Pipes

Abstract

The present invention relates to a storage device. The storage apparatus of the present invention comprises nonvolatile memories and a device controller for receiving write data having a first stream identifier from an external device and storing the received write data in a stream buffer together with a first stream identifier. The device controller programs the first data group into the nonvolatile memories when the capacity of the first data group having the first stream identifier stored in the stream buffer reaches the threshold capacity. If the free capacity of the stream buffer is smaller than the size of the write data when the write data having the first stream identifier is received, the device controller determines that the capacity of the second data group having the second stream identifier stored in the stream buffer is smaller than the threshold capacity Program the second data group into the nonvolatile memories.

Description

STORAGE DEVICE AND OPERATING METHOD OF STORAGE DEVICE [0002]

BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a semiconductor memory, and more particularly, to a storage apparatus including a nonvolatile memory.

A computing device includes a processor, main memory, and storage device. As semiconductor technology advances, the performance of processors, main memory, and storage devices is improving. As the performance of processors, main memories and storage devices is improved, the performance of computing devices is also improving.

Typically, the factor that hinders the operating speed of a computing device was the performance of the storage device. However, as nonvolatile memories such as flash memory, PRAM (Phase-change Random Access Memory), RRAM (Resistive RAM), MRAM (Magnetic RAM) and FeRAM (Ferroelectric RAM) are applied to storage devices, . Accordingly, the factor that hinders the operation speed of the computing device is shifting from the performance of the storage device to the communication speed between the processor and the storage device.

Accordingly, there is a need for a new apparatus and method for improving the communication speed between the processor and the storage device. There is also a need for new devices and methods for solving the problems found in the process of improving the communication speed between the processor and the storage device.

It is an object of the present invention to provide a method of operating a storage device and a storage device having reduced manufacturing costs while maintaining reliability and operational performance.

A storage apparatus according to an embodiment of the present invention includes nonvolatile memories and an external apparatus for receiving write data having a first stream identifier and storing the received write data in the stream buffer together with the first stream identifier Lt; / RTI > The device controller is configured to program the first data group into the nonvolatile memories when the capacity of the first data group having the first stream identifier stored in the stream buffer reaches a threshold capacity. The apparatus controller of claim 1, wherein, when the write data having the first stream identifier is received, if the free capacity of the stream buffer is smaller than the size of the write data, a second data group having a second stream identifier And to program the second data group in the nonvolatile memories even if the capacity is less than the critical capacity.

A storage apparatus according to another exemplary embodiment of the present invention includes nonvolatile memories and a stream buffer. The storage apparatus receives write data having a first stream identifier from an external apparatus and writes the received write data to the first stream identifier To the stream buffer. ≪ RTI ID = 0.0 > The device controller is configured to program the first data group into the nonvolatile memories when the capacity of the first data group having the first stream identifier stored in the stream buffer reaches a threshold capacity. Wherein the device controller, when the write data having the first stream identifier is received, if the free capacity of the stream buffer is smaller than the size of the write data, Or a combination of more than one data group, into the non-volatile memories.

A method of operating a storage apparatus according to an embodiment of the present invention, including a nonvolatile memories and a device controller configured to control the nonvolatile memories, is characterized in that the device controller receives write data having a first stream identifier from an external device Storing the write data in the stream buffer when the free capacity of the stream buffer of the device controller is equal to or greater than the capacity of the write data; Combining the data groups corresponding to two or more stream identifiers stored in the stream buffer into the nonvolatile memories and storing the write data in the stream buffer if the stream data is small, And having the first stream identifier If the capacity of the data group has reached a threshold capacity, and a step of programming the data group in the non-volatile memory.

According to the embodiments of the present invention, when the storage capacity of the stream buffer storing the write data is insufficient, the data group corresponding to the specific stream identifier stored in the stream buffer is flushed to the nonvolatile memories. There is provided a method of operating a storage apparatus and a storage apparatus having a reduced manufacturing cost while maintaining reliability and operation performance because the capacity of the stream buffer is reduced while maintaining the operational performance and reliability of the storage apparatus.

1 is a block diagram illustrating a computing device in accordance with an embodiment of the present invention.
2 is a block diagram illustrating a storage apparatus according to an embodiment of the present invention.
3 is a block diagram illustrating a device controller in accordance with an embodiment of the present invention.
4 is a flowchart illustrating a method for a storage apparatus to manage write data using a stream buffer according to an embodiment of the present invention.
5 to 10 show how write data is managed in the stream buffer.
11 is a flowchart showing a first example in which a group of data stored in a stream buffer is flushed.
FIG. 12 shows a process of flushing a data group according to the example of FIG.
13 is a flowchart showing a second example in which a group of data stored in the stream buffer is flushed.
FIG. 14 shows a process of flushing a data group according to the example of FIG.
15 is a flowchart showing a third example in which a group of data stored in the stream buffer is flushed.
16 is a flowchart showing a fourth example in which the data group stored in the stream buffer is flushed.
FIG. 17 shows a process of flushing a data group according to the example of FIG.
18 is a flowchart showing a fifth example in which a group of data stored in the stream buffer is flushed.
FIG. 19 shows a process of flushing a data group according to the example of FIG.
20 is a flowchart showing a sixth example in which a group of data stored in the stream buffer is flushed.
21 is a flowchart showing a seventh example in which the data group stored in the stream buffer is flushed.
Figure 22 is a flow chart illustrating how a processor writes data to a storage device in accordance with an embodiment of the invention.
23 is a flowchart illustrating a method for a processor to read data from a storage device in accordance with an embodiment of the present invention.
24 shows an example of a server apparatus in which a storage apparatus according to an embodiment of the present invention is mounted.
25 is a block diagram illustrating a storage apparatus according to a second embodiment of the present invention.
26 is a block diagram illustrating a hybrid storage apparatus according to a third embodiment of the present invention.
27 is a block diagram illustrating a hybrid storage apparatus according to a fourth embodiment of the present invention.
28 is a block diagram illustrating one of the non-volatile memories according to an embodiment of the present invention.
29 is a circuit diagram showing a memory block according to an embodiment of the present invention.

Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings, so that those skilled in the art can easily carry out the technical idea of the present invention. .

1 is a block diagram illustrating a computing device 1000 in accordance with an embodiment of the present invention. 1, a computing device 1000 includes a processor 1100, a fast storage device 1200, a chipset 1300, a graphics processor 1400, a display device 1500, an input / output device 1600, (1700).

The processor 1100 may control all operations of the computing device 1000 and may perform logical operations. The processor 1100 may operate an operating system (OS) and applications. The processor 1100 may be a central processing unit (CPU) or an application processor (AP).

The fast storage device 1200 is configured to communicate with the processor 1100 via a high speed interface 1230. The high-speed interface 1200 may include the main memory 1210 and the storage device 100. [ The main memory 1210 can be used as an operation memory of the processor 1100. The main memory 1210 may include a DRAM, more specifically, a double data rate (DDR) SDRAM (Synchronous Dynamic Random Access Memory). The main memory 1210 may be configured to operate based on a specification of a Dual In-line Memory Module (DIMM), more specifically a Registered DIMM (RDIMM) or a Load Reduced DIMM (LRDIMM). The high speed interface 1230 may include a DIMM interface defined by a DIMM specification.

The storage device 100 may be coupled to the processor 1100 via a high speed interface 1230, for example, a DIMM interface, similar to the main memory 1210. The storage device 100 may include non-volatile memories such as Flash memory, Phase-change Random Access Memory (PRAM), Resistive RAM (RRAM), Magnetic RAM (MRAM), Ferroelectric RAM (FeRAM) The storage device 100 may be configured to operate based on a specification of a DIMM, more specifically an RDIMM or an LRDIMM.

The chipset 1300 is configured to arbitrate the connection between the processor 1100 and other devices under the control of the processor 1100. For example, the chipset 1300 may include a south bridge. In addition, the chipset 1300 may include various devices such as a sound processor, an Ethernet adapter, and the like.

The graphics processor 1400 is configured to perform image processing and to display an image through the display device 1500. Graphics processor 1400 may be a graphics processing unit (GPU). Illustratively, the graphics processor 1400 may be included within the chipset 1300.

The display device 1500 is configured to output an image under the control of the graphics processor 1400. For example, the display device 1500 may include a liquid crystal display (LCD) device, a light emitting diode (LED) display device, a beam projector, and the like.

The input / output device 1600 may include an input device that receives a signal from a user of the computing device 1000 and an output device that outputs a signal to the user. For example, the input / output device 1600 may include an input device such as a keyboard, a mouse, a microphone, a touch pad, a touch panel, etc., and an output device such as a speaker, lamp, printer,

The storage device 1700 is configured to operate in accordance with control of the chipset 1300. The storage device 1700 may be any of various types of storage devices such as Serial AT Attachment (SATA), Universal Serial Bus (USB), Universal Flash Storage (UFS), Peripheral Component Interconnect (PCI), PCI Express, NVMexpress, Small Computer System Interface SCSI), and the like.

The communication speed (e.g., the communication speed with the processor 1100) of the storage device 100 directly connected to the processor 1100 through the high-speed interface 1230 is determined by the communication speed of the storage device 1700 connected to the chipset 1300 (E.g., the communication speed with the chipset 1300). Accordingly, when the storage device 100 connected to the processor 1100 through the high-speed interface 1230 is provided, the operational performance of the computing device 1000 is improved.

2 is a block diagram illustrating a storage device 100 according to an embodiment of the present invention. 1 and 2, a storage device 100 includes data buffers 110, a device controller 120, nonvolatile memories 130 or NVM, a buffer memory 140, and SPDs 150, Presence Detect).

Data buffers 110 may receive data signals DQ and data strobe signals DQS from processor 1100 via high speed interface 1230. [ The data buffers 110 may be configured in a manner determined by the DDR4 LRDIMM specification. For example, the storage device 100 may be provided with nine data buffers 110. Each of the data buffers 110 may communicate eight data signals DQ and two data strobe signals DQS to an external device, e.g., the processor 1100. Data buffers 110 may communicate data signals DQ and data strobe signals DQS to device controller 120. [

The device controller 120 receives the data signals DQ and data strobe signals DQS from the data buffers 110. [ The device controller 120 can receive the RAM command CMD_R, the RAM address ADDR_R and the clock CK from the processor 1100 via the high speed interface 1230. [

The RAM command CMD_R may be a command requesting access to the RAM 123 inside the device controller 120. [ The RAM address ADDR_R may be an address belonging to the address range of the RAM 123. [ The device controller 120 transfers data received in the data signals DQ of the high-speed interface 1230 to the RAM 123 (RAM) in response to the RAM command CMD_R and the RAM address ADDR_R received via the high- ). The device controller 120 transmits the data stored in the RAM 123 to the data signals DQ of the high speed interface 1230 in response to the RAM command CMD_R and the RAM address ADDR_R received via the high- . That is, the physical layer of the processor 1100 can identify that the RAM 123 of the storage device 100 is connected to the high-speed interface 1230. The physical layer of the processor 1100 can access the RAM 123 using the RAM command CMD_R and the RAM address ADDR_R.

The device controller 120 can detect the storage command CMD_S and the storage address ADDR_S for the nonvolatile memory 130 from the data stored in the RAM 123. [ In response to the storage command CMD_S and the storage address ADDR_S, the device controller 120 can write write data (DATA_W) among the data stored in the RAM 123 into the nonvolatile memories 130. In response to the storage command CMD_S and the storage address ADDR_S, the device controller 120 can read data from the non-volatile memories 130 and store the read data (DATA_R) in the RAM 123. That is, the device driver of the upper layer of the physical layer of the processor 1100, for example, the processor 1100, can identify the non-volatile memories 130 connected to the high-speed interface 1230 via the RAM 123 . The device driver of the processor 1100 may store the storage command CMD_S for the non-volatile memories 130, the storage address ADDR_S and the data to the storage device 100 via the data signals DQ of the high- Lt; / RTI >

The device controller 120 may send the buffer command CMD_B to the data buffers 110. [ For example, the device controller 120 can output the buffer command CMD_B itself in response to the RAM command CMD_R or the RAM address ADDR_R, or without the RAM command CMD_R and the RAM address ADDR_R . The buffer command CMD_B may be communicated to the data buffers 110 in common.

The device controller 120 is configured to control the buffer memory 140 and to communicate with the buffer memory 140. The buffer memory 140 may include a random access memory such as DRAM, SRAM, PRAM, MRAM, RRAM, FeRAM, and the like. The device controller 140 may load the metadata for managing the non-volatile memories 130 into the buffer memory 140. For example, the device controller 120 may include a mapping table including mapping information between logical addresses assigned to the non-volatile memories 130 by the processor 1100 and physical addresses of the non-volatile memories 130, Can be loaded into the buffer memory 140. The device controller 120 may read the mapping table from the non-volatile memories 130 and load the read mapping table into the buffer memory 140. [ Illustratively, the buffer memory 140 may be provided within the device controller 123.

SPD 150 is configured to communicate with processor 1100 via supplemental signals (SS) of high speed interface 1230. In addition, the SPD 150 is configured to communicate with the device controller 120 via the auxiliary signals SBS. The auxiliary signals SBS may include Serial Peripheral Interface (SPI) signals, Inter-Integrated Circuit (I2C) signals, Universal Asynchronous Receiver / Transmitter (UART) signals, and the like. For example, the SPD 150 may store information about physical characteristics, logical characteristics, driving characteristics, and the like of the storage device 100. The information stored in the SPD 150 may be read by the processor 1100 via the auxiliary signals SBS of the high speed interface 1230 when the computing device 1000 is powered on.

3 is a block diagram illustrating a device controller 120 in accordance with an embodiment of the present invention. Referring to Figures 1, 2 and 3, the device controller 120 includes a physical layer circuit 121 or PHY and a controller 124. [

The physical layer circuit 121 is configured to support the communication method specified by the specification of the high speed interface 1230. [ For example, the physical layer circuit 121 is configured to support a communication method defined by a specification of a DIMM, more specifically an RDIMM or an LRDIMM. The physical layer circuit 121 includes a RAM controller 122 and a RAM 123. [

The RAM controller 122 is configured to receive the RAM command CMD_R, the RAM address ADDR_R and the clock CK via the high speed interface 1230. [ Based on the RAM command (CMD_R), the RAM address (ADDR_R) and the clock (CK), the RAM controller (122) can control the RAM (123). For example, the RAM controller 122 may interpret the request of the processor 1100 based on the RAM command CMD_R and the RAM address ADDR_R. The RAM controller 122 may control the RAM 123 to communicate the data signals DQ and the data strobe signals DQS to the processor 1100. [

The RAM 123 can communicate data signals DQ and data strobe signals DQS with the processor 1100 via the high speed interface 1230 under the control of the RAM controller 122. [ Illustratively, high speed interface 1230 may have a signaling scheme based on a first type of memory, e.g., SDRAM. RAM 123 may have a signaling scheme based on a second type of memory, e.g., SRAM. Therefore, the RAM 123 does not directly receive the RAM command CMD_R, the RAM address ADDR_R, and the clock CK from the processor 1100 through the high-speed interface 1230 but under the control of the RAM controller 122 And may communicate the data signals DQ and data strobe signals DQS with the processor 1100.

Illustratively, the storage space of the RAM 123 may be divided into a command area CA, a writing area WA, a reading area RA, and a state area SA.

The storage command CMD_S and the storage address ADDR_S stored in the RAM 123 as the data signals DQ from the processor 1100 can be written in the command area CA. The write data DATA_W stored in the RAM 123 as the data signals DQ from the processor 1100 can be written to the write area WA. The read data (DATA_R) read from the RAM 123 as the data signals DQ by the processor 1100 can be read from the read area RA. The status information STI communicated by the processor 1100 to the RAM 123 as the data signals DQ may be communicated in the status area SA. The status information (STI) may indicate information about the operating state of the processor 1100 or the storage device 100. [

The controller 124 may communicate with the non-volatile memories 130 via the first interface 125 and the buffer memory 140 via the second interface 126. For example, the first interface 125 may include a communication interface of a NAND flash memory, PRAM, MRAM, RRAM, or FeRAM. The second interface 126 may include a communication interface of the SDRAM.

The controller 124 descrambles or error-corrects and decodes the storage command CMD_S and the storage address ADDR_S stored in the command area CA of the RAM 123 and supplies the descrambled or error correction decoded data to the nonvolatile memories 130). The controller 124 may transmit the write data DATA_W stored in the write area WA of the RAM 123 to the nonvolatile memories 130 through the first interface 125. [ The controller 124 can write the data (DATA_R) read from the nonvolatile memories 130 to the read area RA of the RAM 123. [ The controller 124 stores various information such as processing information of a write or read operation on the nonvolatile memories 130 and information on the operation state of the storage device 100 in the status area SA of the RAM 123 Information (STI). In addition, the controller 124 can read various status information (STI) written in the status area SA of the RAM 123 via the high-speed interface 1230.

The physical layer circuit 121 may be configured to output the buffer command CMD_B to the data buffers 110. For example, the physical layer circuit 121 may be configured to output the buffer command CMD_B in accordance with the RAM command CMD_R or the RAM address ADDR_R.

Illustratively, the controller 124 may provide the storage command CMD_S, the storage address ADDR_S, the write data DATA_W, and the read data DATA_R to the non-volatile memories 130 ). ≪ / RTI > The storage command CMD_S, the storage address ADDR_S, the write data DATA_W, and the read data DATA_R can be communicated via common input / output lines. The controller 124 may further communicate control signals used to control the non-volatile memories 130 via the first interface 125 with the non-volatile memories 130. The control signals can be communicated via the control lines separate from the input / output lines.

For example, the controller 124 controls the chip enable signal / CE to select at least one nonvolatile memory chip among the nonvolatile memories 130, the signal transmitted to the input / output signals is the storage command CMD_S An address latch enable signal (ALE) indicating a signal transmitted to the input / output signals as a storage address (ADDR_S), a read latch signal (ALE) periodically being toggled at the time of reading and used for timing A write enable signal / WE that is activated when a command or an address is transmitted, a write protect signal / WP that is activated to prevent unintended write or erase when power is changed, To the non-volatile memories 130, a data strobe signal DQS that is periodically toggled at the time of writing and used to align the write data (DATA_W). The controller 124 also includes a Ready and Busy signal R / nB indicating whether the non-volatile memories 130 are performing a program, erase or read operation, a read enable signal / RE and periodically toggled to receive the data strobe signal DQS used to match the sync of the read data DATA_R from the non-volatile memories 130.

The controller 124 includes a stream buffer 127. The processor 1100 can assign a stream identifier (SID) to the write data in accordance with the characteristics of the write data (DATA_W) in the nonvolatile memories 130. [ The processor 1100 can write the write data DATA_W and the stream identifier SID to the write area WA of the RAM 123 via the high speed interface 1230. [ The controller 124 can read the write data (DATA_W) and the stream identifier (SID) from the write area WA of the RAM 123. [ The controller 124 can store the write data (DATA_W) in the stream buffer 127 and manage it according to the stream identifier (SID).

The controller 124 may write the write data (DATA_W) having the same stream identifier (SID) to the same memory block of the non-volatile memories 130. [ The controller 124 may program the write data (DATA_W) with different stream identifiers (SID) into different memory blocks of the non-volatile memories 130. For example, the non-volatile memories 130 may include NAND flash memories, and the memory blocks may be erase units of NAND flash memories.

The same stream identifier (SID) is allocated to write data (DATA_W) having similar characteristics, and a different stream identifier (SID) is assigned to write data (DATA_W) having different characteristics. Therefore, write data (DATA_W) having similar characteristics is programmed in the same memory block, and write data (DATA_W) having different characteristics are programmed in different memory blocks. Therefore, the management performance of the write data (DATA_W) programmed in the nonvolatile memories 130 is improved.

4 is a flowchart showing a method of the storage apparatus 100 managing write data (DATA_W) using the stream buffer 127 according to an embodiment of the present invention. Referring to FIGS. 1 to 4, in step S110, the storage device 100 receives write data (DATA_W). The write data (DATA_W) may be received together with the first stream identifier (SID1). Write data (DATA_W) may be received from the processor 1100 via the high speed interface 1230 as the data signal DQ. Write data (DATA_W) can be written in the write area WA of the RAM 123. [

In step S120, the controller 124 determines whether there is free space in the stream buffer 127 for storing the write data (DATA_W). If there is no free space, the controller 124 flushes the data group corresponding to the second stream identifier SID2 stored in the stream buffer 127, that is, programs the nonvolatile memories 130 . For example, the data group may be a group of write data (DATA_W) corresponding to a specific stream identifier (SID) among the write data (DATA_W) stored in the stream buffer 127. For example, the second stream identifier SID2 may be different from the first stream identifier SID1. If there is free space in the stream buffer 127, or if free space is secured by flushing, step S140 is performed.

In step S140, the write data (DATA_W) is stored in the stream buffer 127 together with the first stream identifier (SID1). For example, when a data group corresponding to the first stream identifier SID1 exists in the stream buffer 127, the controller 124 may merge the write data (DATA_W) into the corresponding data group. If the data group corresponding to the first stream identifier SID1 does not exist in the stream buffer 127, the controller 124 generates a data group corresponding to the first stream identifier SID1 in the stream buffer 127 , And write data (DATA1) can be registered in the created data group.

In step S150, the controller 124 determines whether the capacity of the data group corresponding to the first stream identifier SID1 reaches the threshold capacity CCR. When the capacity of the data group corresponding to the first stream identifier SID1 reaches the threshold capacity CCR, the controller 124 flushes the data group corresponding to the first stream identifier SID1, that is, (130). When the capacity of the data group corresponding to the first stream identifier SID1 is smaller than the threshold capacity CCR, the write data (DATA_W) is stored in the stream buffer 127, completing the processing of the write data (DATA_W).

As described above, the controller 124 can accumulate the write data (DATA_W) in the stream buffer 127 until the capacity of the data group corresponding to the stream identifier (SID) reaches the threshold capacity CCR . When the capacity of the data group reaches the critical capacity, the controller 124 can program the data group into the non-volatile memories 130. [ For example, the critical capacity may be determined in consideration of the operating characteristics, the operation speed, and the like of the nonvolatile memories 130 and the controller 124. For example, the write data (DATA_W) is received in units of 4 KB, and the critical capacity can be 64 KB.

The processor 1100 allocates a stream identifier (SID) to the write data (DATA_W) and writes the write data (DATA_W) and the stream identifier (SID) to the storage device (100). Typically, the stream identifier (SID) assigned to the write data (DATA_W) has a characteristic of being concentrated. For example, the processor 1100 may assign the first to fifth stream identifiers SID1 to SID5 to the write data DATA_W. At this time, one or two stream identifiers of the five stream identifiers are intensively allocated to the write data (DATA_W). Therefore, even when the capacity of the stream buffer 127 is set to be smaller than the product of the five stream identifiers and the threshold capacity CCR, the situation in which the free capacity of the stream buffer 127 does not exist occurs with a very small probability. Therefore, the speed of the operation of managing the write data (DATA_W) using the stream identifier (SID) and the stream buffer 127 is not lowered.

A data group smaller than the critical capacity (CCR) among the data groups stored in the stream buffer 127 is flushed to the nonvolatile memories 130 even if a situation occurs in which the free capacity of the stream buffer 127 does not exist (Step S130), the free capacity of the stream buffer 127 can be secured. Thus, while the operational performance and reliability of the storage device 100 is maintained, the manufacturing cost of the storage device 100 is reduced due to the reduction of the capacity of the stream buffer 127. [

5 to 10 show how the write data (DATA_W) is managed in the stream buffer 127. FIG. The flow of data input from the stream buffer 127 and the RAM 123 to the stream buffer 127 and the flow of data output from the stream buffer 127 to the first interface 125 are shown in Figs. . FIG. 5 to FIG. 10 are illustrative only for explaining the technical idea of the present invention, and do not limit the technical idea of the present invention.

Referring to FIG. 5, the capacity of the stream buffer 127 may be managed in units of slots. For example, the capacity of the slot may correspond to the unit capacity of the write data (DATA_W). For example, the capacity of a slot may be 4 KB.

The write data DATA_W may be received together with one of the first to fifth stream identifiers SID1 to SID5. Illustratively, the threshold capacity (CCR) of the data group of each stream identifier (SID) may be four slots. For example, if four slots are registered in the data group of each stream identifier (SID), the corresponding data group may be output through the first interface 125. [

In FIG. 5, slots are not registered in the first to fifth stream identifiers SID1 to SID5, and it is assumed that ten free slots FS exist.

Referring to FIG. 6, first to third data D1 to D3 are received from the RAM 123 as write data (DATA_W). The first to third data D1 to D3 may have a first stream identifier SID1. As the first to third data D1 to D3 are received, the first to third data D1 to D3 can be stored in the three free slots FS. The slots in which the first to third data D1 to D3 are stored may be registered in the data group of the first stream identifier SID1.

Referring to FIG. 7, the fourth to eighth data D4 to D8 are received from the RAM 123 as write data (DATA_W). The fourth and fifth data D4 and D5 may have a second stream identifier SID2. The sixth to eighth data D6 to D8 may have a third stream identifier SID3. The fourth and fifth data D4 and D5 can be stored in two free slots FS and can be registered in the data group of the second stream identifier SID2. The sixth to eighth data D6 to D8 are stored in three free slots FS and can be registered in the data group of the third stream identifier SID3.

Referring to FIG. 8, the ninth data D9 is received from the RAM 123 as write data (DATA_W). The ninth data D9 may have a first stream identifier SID1. The ninth data D9 is stored in one free slot FS and can be merged into the data group of the first stream identifier SID1. As the ninth data D9 is merged into the data group of the first stream identifier SID1, the capacity of the data group of the first stream identifier SID1 reaches the threshold capacity CCR. Accordingly, the first to third data D1 to D3 and the ninth data D9 are output through the first interface 125. [ The slots for storing the first to third data D1 to D3 and the ninth data D9 are returned in the free slots FS.

Referring to FIG. 10, the 10th to 14th data D10 to D14 are received as write data (DATA_W) from the RAM 123. FIG. The tenth and eleventh data D10 and D11 may have a first stream identifier SID1. The tenth and eleventh data D10 and D12 are stored in two free slots FS and can be registered in the data group of the first stream identifier SID1. The twelfth and thirteenth data D12 and D13 may correspond to the fourth stream identifier SID4. The twelfth and thirteenth data D12 and D13 are stored in two free slots FS and can be registered in the data group of the fourth stream identifier SID4. The fourteenth data D14 may have a fifth stream identifier SID5. The fourteenth data D14 is stored in one free slot FS and can be registered in the data group of the fifth stream identifier SID5.

When the tenth through fourteenth data D10 through D14 are stored in the stream buffer 127, there is no free slot FS in the stream buffer 127. [ When the write data (DATA_W) is additionally received, the data groups stored in the stream buffer 127 can be flushed.

11 is a flowchart showing a first example in which a group of data stored in the stream buffer 127 is flushed. Referring to FIGS. 3 and 11, in step S210, a stream identifier (SID) corresponding to a data group having the largest capacity among the stream identifiers SID1 to SID5 is detected. In step S220, the data group corresponding to the detected stream identifier (SID) is flushed. That is, the data of the data group having the largest capacity among the data groups stored in the stream buffer 127 is programmed into the nonvolatile memories 130.

An example in which the data group is flushed according to Fig. 11 is shown in Fig. 11 and 12, the fifteenth data D15 having the first stream identifier SID1 may be received from the RAM 123 as write data (DATA_W). Since the free slot FS does not exist in the stream buffer 127, the controller 124 can detect a stream identifier (SID) corresponding to the data group having the largest capacity among the stream identifiers SID1 to SID5 . For example, the controller 127 can detect the target stream identifier from among the second to fifth stream identifiers SID2 to SID5 excluding the first stream identifier SID1 corresponding to the received fifteenth data D15 have.

Illustratively, the data group corresponding to the third stream identifier SID3 has three data slots. Therefore, the sixth to eighth data D6 to D8 of the data group corresponding to the third stream identifier SID3 can be programmed into the nonvolatile memories 130. [ The data slots corresponding to the sixth to eighth data D6 to D8 may be returned as free slots FS. The fifteenth data D15 is stored in one free slot FS and can be merged into a data group corresponding to the first stream identifier SID1.

Illustratively, there may be a plurality of groups of data having the largest capacity. When there are a plurality of data groups having the largest capacity, the target data group to be flushed may be determined according to a separate rule. For example, a data group including the oldest data among the candidate data groups, a data group including the latest data, a data group having the highest access frequency, or a data group having the lowest access frequency can be selected have.

As another example, the controller 124 may detect a stream identifier (SID) corresponding to a data group having the smallest capacity instead of the data group having the largest capacity. In this case, the fifth stream identifier SID5 may be detected, and the data group corresponding to the fifth stream identifier SID5 may be flushed.

Illustratively, when the fifteenth data D15 is received and the capacity of the data group reaches the threshold capacity CCR, the data corresponding to the fifteenth data D15 and the fifteenth data D15 The group can be normally programmed into the non-volatile memories 130. [ For example, the fifteenth data D15 may correspond to the third stream identifier SID3. In this case, the fifteenth data D15 can be normally programmed into the nonvolatile memories 130 together with the sixth to eighth data D6 to D8.

13 is a flowchart showing a second example in which a group of data stored in the stream buffer 127 is flushed. Referring to FIG. 3 and FIG. 13, in step S310, a stream identifier (SID) corresponding to a data group including the oldest data among the stream identifiers (SID1 to SID5) is detected. In step S320, the data group corresponding to the detected stream identifier (SID) is flushed. That is, the data of the data group including the oldest data among the data groups stored in the stream buffer 127 is programmed into the nonvolatile memories 130.

An example in which the data group is flushed according to Fig. 13 is shown in Fig. 13 and 14, the fifteenth data D15 having the first stream identifier SID1 may be received from the RAM 123 as write data (DATA_W). Since there is no free slot FS in the stream buffer 127, the controller 124 can detect a stream identifier (SID) corresponding to the data group containing the oldest data among the stream identifiers SID1 to SID5 have. For example, the controller 127 can detect the target stream identifier from among the second to fifth stream identifiers SID2 to SID5 excluding the first stream identifier SID1 corresponding to the received fifteenth data D15 have.

Illustratively, among the data stored in the stream buffer 127, the fourth data D4 corresponding to the second stream identifier SID2 is the oldest data. Therefore, the fourth and fifth data D4 and D5 of the data group corresponding to the second stream identifier SID2 can be programmed into the non-volatile memories 130. [

As another example, the controller 124 may detect a stream identifier (SID) corresponding to a data group containing the most recent data instead of a data group containing the oldest data. In this case, the fifth stream identifier SID5 including the fourteenth data D14 may be detected, and the data group corresponding to the fifth stream identifier SID5 may be flushed.

15 is a flowchart showing a third example in which the data group stored in the stream buffer 127 is flushed. Referring to FIG. 3 and FIG. 15, in step S410, a stream identifier (SID) corresponding to a data group having the lowest access frequency among the stream identifiers (SID1 to SID5) is detected . In step S420, the data group corresponding to the detected stream identifier (SID) is flushed. That is, the data of the data group having the lowest access frequency among the data groups stored in the stream buffer 127 is programmed in the nonvolatile memories 130.

As another example, the controller 124 may be modified and applied to flush data in the data group having the highest access frequency to the non-volatile memories 130. [

16 is a flowchart showing a third example in which the data group stored in the stream buffer 127 is flushed. Referring to FIGS. 3 and 16, in step S510, stream identifiers (SID) of data groups whose total capacity corresponds to the threshold capacity CCR among the stream identifiers SID1 to SID5 are detected. In step S520, the detected stream identifiers (SID) are combined. The data groups corresponding to the detected stream identifiers (SID) may also be combined to form a combined data group corresponding to the threshold capacity (CCR). In step S530, the combined data group corresponding to the combined stream identifier (SID) is flushed. That is, the data of the combined data group is programmed into the nonvolatile memories 130. [

An example in which the data group is flushed according to Fig. 16 is shown in Fig. 16 and 17, the fifteenth data D15 having the first stream identifier SID1 may be received from the RAM 123 as write data (DATA_W). Since there is no free slot FS in the stream buffer 127, the controller 124 determines that the total capacity among the stream identifiers SID1 to SID5 is equal to the stream identifiers (SID) of the data groups corresponding to the threshold capacity CCR, Can be detected. For example, the controller 127 may detect the target stream identifiers among the second to fifth stream identifiers SID2 to SID5 excluding the first stream identifier SID1 corresponding to the received fifteenth data D15 have.

Illustratively, the total capacity of the data group corresponding to the third stream identifier SID3 and the data group corresponding to the fifth stream identifier SID5 corresponds to the threshold capacity CCR. Thus, the controller 124 may detect the third and fifth stream identifiers SID3, SID5. The controller 124 may combine the third and fifth stream identifiers SID3 and SID5 to generate a combined stream identifier.

For example, the controller 124 may include a stream identifier of a data group having a larger capacity among the third and fifth stream identifiers (SID3, SID5), a stream identifier of a data group having a smaller capacity, The stream identifier of the data group having the highest access frequency, or the stream identifier of the data group having the lowest access frequency is combined with the stream identifier combined with the stream identifier of the data group having the lowest access frequency You can choose.

D6 to D8 and the fourteenth data D14 corresponding to the third and fifth stream identifiers SID3 and SID5 are formed and a data group in which the seventeenth data D14 is combined are formed in the nonvolatile memories 130 ).

Illustratively, a plurality of combinations of data groups corresponding to a critical capacity (CCR) may exist. If there are a plurality of combinations of data groups corresponding to the critical capacity (CCR), the data groups to be combined may be determined according to a separate rule. For example, a combination of data groups including the oldest data among the candidate combinations, a combination of data groups including the latest data, a combination of data groups having the highest access frequency, or data with the lowest access frequency A combination of groups may be selected.

18 is a flowchart showing a fourth example in which the data group stored in the stream buffer 127 is flushed. Referring to FIGS. 3 and 18, in step S610, stream identifiers (SID) corresponding to data groups having the largest capacity among the stream identifiers SID1 to SID5 are sequentially detected. For example, two data groups with the largest capacity or stream identifiers (SID) of two or more data groups with the largest capacity can be detected. For example, two or more stream identifiers (SID) may be detected until the total capacity of the detected stream identifiers (SID) reaches the threshold capacity (CCR).

In step S620, the detected stream identifiers (SID) are combined. For example, the controller 124 may determine the stream identifier of the data group having the larger capacity among the detected stream identifiers (SID), the stream identifier of the data group having the smaller capacity, the stream of the data group including the oldest data The stream identifier of the data group including the latest data, the stream identifier of the data group having the higher access frequency, or the stream identifier of the data group having the lower access frequency can be selected as the combined stream identifier.

The data groups corresponding to the detected stream identifiers (SID) may also be combined to form a combined data group corresponding to the threshold capacity (CCR). For example, when the total capacity of the data groups corresponding to the detected stream identifiers (SID) is greater than the threshold capacity (CCR), at least one data group among the data groups of the detected stream identifiers (SID) And the other data group may have residual data. For example, a data group having a larger capacity, a data group having a smaller capacity, a data group including older data, a data group including more recent data, a higher access frequency Or a data group having a lower access frequency can all be included in a combined data group. Some of the data of another data group that does not meet the above-mentioned condition may be included in the combined data group, and the remaining part of the data may be maintained as the remaining data group. Illustratively, in another data group, older data or more recent data may be included in the combined data group. Data that does not meet the above conditions can be retained as residual data.

In step S630, the combined data group corresponding to the combined stream identifier (SID) is flushed. That is, the data of the combined data group is programmed into the nonvolatile memories 130. [

As another example, the controller 124 may be adapted and adapted to detect stream identifiers (SIDs) corresponding to data groups having the smallest capacity.

An example in which the data group is flushed according to Fig. 18 is shown in Fig. 18 and 19, the fifteenth data D15 having the first stream identifier SID1 may be received from the RAM 123 as write data (DATA_W). Since there is no free slot FS in the stream buffer 127, the controller 124 determines that the total capacity among the stream identifiers SID1 to SID5 is equal to the stream identifiers (SID) of the data groups corresponding to the threshold capacity CCR, Can be detected. For example, the controller 127 may detect the target stream identifiers among the second to fifth stream identifiers SID2 to SID5 excluding the first stream identifier SID1 corresponding to the received fifteenth data D15 have.

Illustratively, third and fourth stream identifiers SID3 and SID4 may be detected. The sixth to eighth data D6 to D8 of the third stream identifier SID3 and the twelfth data D12 of the fourth stream identifier SID4 are combined to form a data group in the nonvolatile memories 130). The thirteenth data D13 of the fourth stream identifier SID4 may be residual data.

20 is a flowchart showing a fifth example in which the data group stored in the stream buffer 127 is flushed. Referring to FIGS. 3 and 20, in step S710, stream identifiers (SID) corresponding to data groups having the lowest access frequency among the stream identifiers SID1 to SID5 are sequentially detected. For example, stream identifiers (SIDs) of two data groups with relatively low access frequencies or two or more data groups with a relatively low access frequency can be detected. For example, two or more stream identifiers (SID) may be detected until the total capacity of the detected stream identifiers (SID) reaches the threshold capacity (CCR).

In step S720, the detected stream identifiers (SID) are combined. The data groups corresponding to the detected stream identifiers (SID) may also be combined to form a combined data group corresponding to the threshold capacity (CCR). Stream identifiers (SID) and data groups may be combined as described with reference to FIG.

In step S730, the combined data group corresponding to the combined stream identifier (SID) is flushed. That is, the data of the combined data group is programmed into the nonvolatile memories 130. [

As another example, the controller 124 may be adapted and adapted to detect stream identifiers (SIDs) with the highest access frequency.

21 is a flowchart showing a sixth example in which the data group stored in the stream buffer 127 is flushed. Referring to FIG. 3 and FIG. 21, in step S810, stream identifiers (SID) corresponding to data groups including the oldest data among the stream identifiers (SID1 to SID5) are sequentially detected. For example, stream identifiers (SIDs) of two data groups containing relatively old data or of two or more data groups containing relatively old data may be detected. For example, two or more stream identifiers (SID) may be detected until the total capacity of the detected stream identifiers (SID) reaches the threshold capacity (CCR).

In step S820, the detected stream identifiers (SID) are combined. The data groups corresponding to the detected stream identifiers (SID) may also be combined to form a combined data group corresponding to the threshold capacity (CCR). Stream identifiers (SID) and data groups may be combined as described with reference to FIG.

In step S830, the combined data group corresponding to the combined stream identifier (SID) is flushed. That is, the data of the combined data group is programmed into the nonvolatile memories 130. [

As another example, the controller 124 may be adapted and adapted to detect stream identifiers (SIDs) corresponding to groups of data containing the most recent data.

FIG. 22 is a flowchart showing how the processor 1100 writes data to the storage device 100 according to an embodiment of the present invention. Illustratively, a method by which processor 1100 writes data to non-volatile memories 130 is shown in FIG.

Referring to FIGS. 1, 2, 3 and 22, in step S910, the processor 1100 reads out a RAM command (CMD_R) for requesting a write and a RAM address ADDR_R) to the storage device (100). In step S920, the processor 1100 writes the storage command CMD_S for requesting a write and the storage address ADDR_S for selecting a write target among the storage spaces of the nonvolatile memories 130 to the data signals DQ and data To the storage device 100 via the strobe signals DQS.

Steps S910 and S920 may form a command transaction that conveys a write command to the non-volatile memories 130 to the storage device 100. [ The storage command CMD_S and the storage address ADDR_S are written into the command area CA of the RAM 123. In step S910,

In step S930, the processor 1100 transmits a RAM command (CMD_R) for requesting a write and a RAM address (ADDR_W) for selecting a write area WA of the RAM 123 to the storage device 100. In step S940, the processor 1100 transmits the write data (DATA_W) to the storage device 100 via the data signals (DQ) and the data strobe signals (DQS).

Steps S930 and S940 may form a data transaction for transferring write data (DATA_W) to the non-volatile memories 130 to the storage device 100. [ When the steps S930 and S940 are performed, the write data (DATA_W) is written into the write area WA of the RAM 123. [

As the storage command CMD_S, the storage address ADDR_S and the write data DATA_W are stored in the RAM 123, the controller 124 writes the write data DATA_W in response to the storage command CMD_S and the storage address ADDR_S The non-volatile memories 130 of the memory controller 130 may begin writing.

The storage command CMD_S, the storage address ADDR_S and the write data DATA_W may be written to the command area CA of the RAM 123 as one or more phase groups PG. The controller 124 checks the phase bits PB of the phase groups PG written in the command area CA and descrambles the phase groups PG when the phase bits PB are valid .

In step S950, the processor 1100 transmits a RAM command (CMDR_R) for requesting reading and a RAM address (ADDR_R) for selecting the state area (SA) to the storage device (100). In step S460, the processor 1100 can read the status information STI from the storage device 100 as data signals DQ and data strobe signals DQS. Steps S450 and S460 may form a check transaction to check if the write has been processed.

When the writing to the nonvolatile memories 130 is terminated or the writing is scheduled (or enqueued) in the storage apparatus 100, the storage apparatus 100 sends status information (STI) indicating that the writing has been processed to the status area SA (Step S970). The processor 1100 may periodically repeat steps S950 and S960 until the status information STI indicating that the writing has been processed is read from the status area SA. If the state information STI is read from the storage device 100 in step S980, the processor 1100 identifies that the storage device 100 has been subjected to the write operation and performs the next access to the storage device 100 can do.

23 is a flowchart showing how the processor 1100 reads data from the storage device 100 according to an embodiment of the present invention. Illustratively, the manner in which the processor 1100 reads data from the non-volatile memories 130 is illustrated in FIG.

Referring to FIGS. 1, 2, 3 and 23, in step S1010, the processor 1100 reads the RAM command CMD_R requesting writing and the RAM address (RAM) selecting the command area CA of the RAM 123 ADDR_R) to the storage device (100). In step S1020, the processor 1100 writes the storage command CMD_S for requesting a read operation and the storage address ADDR_S for selecting an object to be read out of the storage spaces of the nonvolatile memories 130 to the data signals DQ and data To the storage device 100 via the strobe signals DQS.

Steps S1010 and S1020 may form a command transaction that conveys a read command to non-volatile memories 130 to the storage device 100. [ The storage command CMD_S and the storage address ADDR_S are written in the command area CA of the RAM 123. In this case,

The storage command CMD_S and the storage address ADDR_S may be written to the command area CA of the RAM 123 as one or more phase groups PG. The controller 124 checks the phase bits PB of the phase groups PG written in the command area CA and descrambles the phase groups PG when the phase bits PB are valid .

As the storage command CMD_S is descrambled, the controller 124 may begin reading the read data (DATA_R) from the non-volatile memories 130 in response to the storage command CMD_S and the storage address ADDR_S. For example, the controller 124 may store the read data (DATA_R) in the read area (RA) of the RAM 123. [

In step S1030, the processor 1100 transmits a RAM command (CMDR_R) for requesting reading and a RAM address (ADDR_R) for selecting the state area (SA) to the storage device (100). In step S1040, the processor 1100 can read the status information STI from the storage device 100 as data signals DQ and data strobe signals DQS. Steps S1030 and S1040 may form a check transaction to check if the reading has been completed.

When the reading from the non-volatile memories 130 is completed in the storage apparatus 100, the storage apparatus 100 can write state information (STI) indicating that reading is completed in the state area SA (step S1050 ). The processor 1100 may periodically repeat steps S1030 and S1040 until the state information (STI) indicating that the reading is completed is read from the state area SA.

When the state information STI is read from the storage device 100, the processor 1100 can identify that the reading operation of the storage device 100 is completed (step S1060). In step S1070, the processor 1100 transmits a RAM command (CMD_R) for requesting a read and a RAM address (ADDR_W) for selecting a read area WA of the RAM 123 to the storage device 100. In step S1080, the processor 1100 may receive the read data (DATA_R) from the storage device 100 as data signals (DQ) and data strobe signals (DQS). Steps S1070 and S1080 may form a data transaction that transfers the read data (DATA_R) from the non-volatile memories 130. [

The processor 1100 can identify the RAM 123 as being a memory coupled to the high speed interface 1230 and write and read to the RAM 123 according to the specification of the high speed interface 1230 have. Data written to or read from the RAM 123 is communicated to the storage command CMD_S, the storage address CMD_S and the nonvolatile memories 130 requesting access of the nonvolatile memories 130 Write data (DATA_W) and read data (DATA_R).

The storage device 100 may support communication between the RAM 123 and the processor 1100 in accordance with specifications of the high speed interface 1230. The storage device 100 can extract the storage command CMD_S and the storage address ADDR_S from the data stored in the RAM 123. [ The storage device 100 also writes the write data DATA_W stored in the RAM 123 into the nonvolatile memories 130 and the data DATA_R read from the nonvolatile memories 130 into the RAM 123 Can be stored.

Communication between the processor 1100 and the storage device 100 is performed according to specifications of the high speed interface 1230 and data communicated in accordance with the specification of the high speed interface 1230 is used to access the non-volatile memories 130 Protocol. ≪ / RTI >

FIG. 24 shows an example of a server apparatus 2000 on which a storage apparatus 100 according to an embodiment of the present invention is mounted. Referring to FIG. 24, the server apparatus 2000 may include two or more racks 2010 (racks). Two or more storage devices 100 may be mounted on each of the racks 2010. [

Illustratively, each of the racks 2010 includes storage devices 100 according to an embodiment of the present invention, main memory devices 1210 (see FIG. 1), at least one processor 1100, at least one chipset 1300 ), And at least one storage device 1700 can be mounted. The input / output device 1600, the graphics processor 1400, and the display device 1500 may be provided in the server device 2000.

25 is a block diagram showing a storage device 200 according to a second embodiment of the present invention. 25, the storage device 200 includes a device controller 220, non-volatile memories 230, a buffer memory 240, and an SPD 250. [ The device controller 220 includes a RAM 223. The storage device 200 communicates the data signal DQ, the data strobe signal DQS and the auxiliary signal SS to the processor 1100 (see FIG. 1) via the high-speed interface 1230, The command CMD_R, the RAM address ADDR_R, and the clock CK. The device controller 220 can extract the storage command CMD_S and the storage address CMD_R from the data signal DQ received via the high speed interface 1230. [ The device controller 220 can write the write data (DATA_W) received in the data signal DQ to the nonvolatile memories 230. [ The device controller 220 can output the data (DATA_R) read from the non-volatile memories 230 through the high-speed interface 1230 as the data signal DQ.

Compared with the storage device 100 of FIG. 2, the data buffers 110 are not provided to the storage device 200. FIG. The data signal DQ and the data strobe signal DQ may be transmitted directly to the device controller 220 via the high speed interface 1230. [ By way of example, the high speed interface 1230 may operate in accordance with a specification of an RDIMM. The device controller 220 may communicate with the processor 1100 via the high-speed interface 1230 in accordance with the specifications of the RDIMM.

Except for operating in accordance with the RDIMM specification, the storage device 200 may operate as described with reference to FIGS. The device controller 220 may flush to the non-volatile memories 230 a data group or a combined data group having less capacity than the threshold capacity when free slots FS do not exist in the stream buffer.

26 is a block diagram showing a hybrid storage apparatus 300 according to a third embodiment of the present invention. 1 and 26, the hybrid storage device 300 includes data buffers 310, a device controller 320, non-volatile memories 330, a buffer memory 340, an SPD 350, Access memories (360). Hybrid storage device 300 may be coupled to processor 1100 via a high speed interface 1230, e.g., a DIMM, RDIMM, or LRDIMM interface.

The non-volatile memories 330 and random access memories 360 of the hybrid storage device 300 may be identified at the physical layer of the processor 1100. When the processor 1100 accesses the non-volatile memories 330, the processor 1100 reads the command CMD for the non-volatile memories 330 and the address CMD for the storage space of the non-volatile memories 330 (ADDR) to the device controller 320 via the high speed interface 1230. The processor 1100 may communicate data to be written to or read from the non-volatile memories 330 with the data buffers 310 as data signals DQ.

When the processor 1100 accesses the random access memories 360, the processor 1100 reads the command CMD for the random access memories 360 and the address CMD for the random access memories 360 (ADDR) to the device controller 320 via the high speed interface 1230. Processor 1100 may communicate data to be written to random access memories 360 or data read from random access memories 360 with data buffers 310 as data signals DQ.

Data buffers 310 operate in response to a buffer command CMD_B. Data buffers 310 may communicate data signals DQ and data strobe signals DQS with processor 1100 via high speed interface 1230. [ The data buffers 310 may output the data signals DQ and the data strobe signals DQS received from the processor 1100 to the device controller 320 or the random access memories 360. [ The data buffers 310 may transfer the data signals DQ and data strobe signals DQS received from the device controller 320 or the random access memories 360 to the processor 1100 via the high speed interface 1230 have.

The data buffers 310 may select an object with which to communicate the data signal DQ and the data strobe signal DQS under the control of the device controller 320. [ For example, data buffers 310 may communicate data signals DQ and data strobe signals DQS with device controller 320 under the control of device controller 320. [ As another example, the data buffers 310 may communicate data signals DQ and data strobe signals DQS with the random access memories 360 under the control of the device controller 320.

The device controller 320 can receive the command CMD, the address ADDR and the clock CK from the processor 1100 via the high speed interface 1230. [ The device controller 320 is configured to control the data buffers 310 via the buffer command CMD_B.

In response to a command CMD, an address ADDR or a control signal received via the high speed interface 1230, the device controller 320 determines whether the object to which the processor 1100 accesses is non-volatile memories 330 or random The access memories 360 can be discriminated.

The device controller 320 can control the data buffers 310 to communicate the data signals DQ and the data strobe signals DQS to the device controller 320 when the object of access is non-volatile memories 330 have. The device controller 320 can output the command CMD and the address ADDR received via the high speed interface 1230 to the nonvolatile memories 330. [ The device controller 320 may communicate the data signals DQ received from the data buffers 310 to the non-volatile memories 330. Illustratively, the device controller 320 includes an internal memory 320 for buffering data of data signals DQ to be transferred to the non-volatile memories 330 or data of data signals DQ read from the non-volatile memories 330 Buffer. As another example, the device controller 320 may store data of data signals DQ to be transferred to the non-volatile memories 330 or data signals DQ of data signals DQ to be read from the non-volatile memories 330, 340).

Hybrid storage device 300 may operate as described with reference to FIGS. The device controller 320 may flush to the non-volatile memories 330 a group of data having a capacity less than the threshold capacity or a combined data group when there is no free slot FS in the stream buffer.

The device controller 320 controls the data buffers 310 to communicate the data signal DQ and the data strobe signal DQS with the random access memories 360 when the access target is the random access memories 360. [ can do. The device controller 320 may output the received command CMD, address ADDR and clock CK to the random access memories 360 via the high speed interface 1230. [

The nonvolatile memories 330 can write data transferred as the data signal DQ in response to the command CMD and the address ADDR. The nonvolatile memories 330 can read data in response to the command CMD and the address ADDR and output the read data as the data signal DQ.

The buffer memory 340 may correspond to the buffer memory 140 of FIG. The buffer memory 340 may load metadata for managing the non-volatile memories 330.

The SPD 350 corresponds to the SPD 150 of FIG. The SPD 350 may communicate the ancillary signal SS via the high speed interface 1230.

The random access memories 360 can write data transferred as the data signal DQ in response to the command CMD, the address ADDR and the clock CK. The random access memories 360 can read the data in response to the command CMD, the address ADDR and the clock CK and output the read data as the data signal DQ.

Illustratively, the device controller 320 may communicate the command CMD, the address ADDR, and the data signal DQ to the non-volatile memories 330 as input and output signals. For example, the command CMD, the address ADDR, and the data signal DQ may be communicated through common input / output lines. The device controller 320 may further communicate control signals used to control the non-volatile memories 330 with the non-volatile memories 330. The control signals can be communicated via the control lines separate from the input / output lines.

For example, the device controller 320 includes a chip enable signal / CE for selecting at least one nonvolatile memory chip among the nonvolatile memories 330, a signal transmitted to the input / output signals is a storage command CMD_S, An address latch enable signal ALE that indicates a signal transmitted to the input / output signals is a storage address ADDR_S, and a latch enable signal ALE that is periodically toggled at the time of reading to be used for timing A write enable signal / WE that is activated when a command or an address is transmitted, a write enable signal / WP that is activated to prevent unintended write or erase when power is changed, ), And may transmit the data strobe signal DQS, which is periodically toggled at the time of writing, to be used for synchronizing the data to the non-volatile memories 330. [ The device controller 320 also includes Ready and busy signals (R / nB) indicating whether the non-volatile memories 330 are performing a program, erase or read operation, a read enable signal From the non-volatile memories 330, a data strobe signal DQS that is generated from the refresh / RE and is periodically toggled and used to synchronize the data.

Illustratively, the hybrid device 300 may operate in accordance with the specifications of the LRDIMM.

FIG. 27 is a block diagram illustrating a hybrid storage apparatus 400 according to a fourth embodiment of the present invention. 1 and 27, the hybrid storage device 400 includes a device controller 420, non-volatile memories 430, a buffer memory 440, an SPD 450, and random access memories 460 . Hybrid storage apparatus 400 communicates data signal DQ, data strobe signal DQS and ancillary signal SS with processor 1100 (see FIG. 1) via high speed interface 1230, The command CMD, the address ADDR, and the clock CK.

The device controller 420 identifies an access target among the nonvolatile memories 430 and the random access memories 460 according to a command CMD, an address ADDR or other signal received via the high speed interface 1230 can do. When the access target is the non-volatile memories 430, the device controller 420 performs control such that the data signal DQS and the data strobe signal DQ received via the high-speed interface 1230 are received by the device controller 420 can do. The device controller 420 transfers the data signal DQS and the data strobe signal DQ received via the high speed interface 1230 to the random access memories 460 when the access target is the random access memories 460. [ . For example, the hybrid storage device 400 may further include a switch for controlling the path of the data signal DQS and the data strobe signal DQS.

The device controller 420 may transfer the command CMD and the address ADDR received via the high speed interface 1230 to the nonvolatile memories 430 when the access target is the nonvolatile memories 430. [ The device controller 420 transfers the data signal DQ received through the high speed interface 1230 to the nonvolatile memories 430 and transmits the data signal DQ transmitted from the nonvolatile memories 430 to the high- (1230).

The device controller 420 outputs the command CMD, the address ADDR and the clock CK received via the high-speed interface 1230 to the random access memories 460 when the access target is the random access memories 460. [ .

Compared with the hybrid storage device 300 of FIG. 26, the data buffers 310 are not provided to the hybrid storage device 400. The data signal DQ and the data strobe signal DQ may be transferred directly to the device controller 420 or the random access memories 460 via the high speed interface 1230. [ By way of example, the high speed interface 1230 may operate in accordance with a specification of an RDIMM. Device controller 420 may communicate with processor 1100 via high speed interface 1230 in accordance with the specifications of the RDIMM.

Except for operating in accordance with the RDIMM specification, the hybrid storage device 400 may operate as described with reference to FIGS. The device controller 420 may flush to the non-volatile memories 430 a data group or a combined data group that has less capacity than the threshold capacity when there is no free slot FS in the stream buffer.

28 is a block diagram illustrating one of the non-volatile memories 130 according to an embodiment of the present invention. 2 and 28, the nonvolatile memory 130 includes a memory cell array 131, a row decoder circuit 133, a page buffer circuit 135, a data input / output circuit 137, and a control logic circuit 139 ).

The memory cell array 131 includes a plurality of memory blocks BLK1 to BLKz. Each memory block includes a plurality of memory cells. Each memory block may be connected to the row decoder circuit 133 via at least one ground select line GSL, a plurality of word lines WL, and at least one string select line SSL. Each memory block may be connected to the page buffer circuit 135 via a plurality of bit lines (BL). The plurality of memory blocks BLK1 to BLKz may be commonly connected to the plurality of bit lines BL. The memory cells of the plurality of memory blocks BLK1 to BLKz may have the same structures. Illustratively, each of the plurality of memory blocks BLK1 to BLKz may be a unit of an erase operation. The memory cells of the memory cell array 131 can be erased in units of one memory block. The memory cells belonging to one memory block can be erased simultaneously. As another example, each memory block may be divided into a plurality of sub-blocks. Each of the plurality of subblocks may be a unit of an erase operation.

The row decoder circuit 133 is connected to the memory cell array 131 via a plurality of ground selection lines GSL, a plurality of word lines WL and a plurality of string selection lines SSL. The row decoder circuit 133 operates under the control of the control logic circuit 139. The row decoder circuit 133 decodes the address received from the controller 120 through the input / output channel and outputs the string selection lines SSL, word lines WL and the ground selection lines GSL And the like.

For example, at the time of programming, the row decoder circuit 133 applies the program voltage VGPM to the selected word line of the memory block selected by the address and applies the pass voltage VPASS to the unselected word lines of the selected memory block ) Can be applied. At the time of reading, the row decoder circuit 133 applies the selected read voltage VRD to the selected word line of the memory block selected by the address and applies the unselected read voltage VREAD to the unselected word lines of the selected memory block . Upon erase, the row decoder circuit 133 may apply erase voltages (e. G., Low voltages with levels similar to ground voltage or ground voltage) to the word lines of the memory block selected by the address.

The page buffer circuit 135 is connected to the memory cell array 131 through a plurality of bit lines BL. The page buffer circuit 135 is connected to the data input / output circuit 137 via a plurality of data lines DL. The page buffer circuit 135 operates under the control of the control logic circuit 139.

At the time of programming, the page buffer circuit 135 may store data to be programmed into the memory cells. Based on the stored data, the page buffer circuit 135 can apply voltages to the plurality of bit lines BL. For example, the page buffer circuit 135 may function as a write driver. At the time of reading, the page buffer circuit 135 can sense the voltages of the bit lines BL and store the sensing result. For example, the page buffer circuit 135 may function as a sense amplifier.

The data input / output circuit 137 is connected to the page buffer circuit 135 through a plurality of data lines DL. The data input / output circuit 137 outputs the data read by the page buffer circuit 135 to the controller 120 through the input / output channel and the data received through the input / output channel from the controller 120 to the page buffer circuit 135 .

The control logic circuit 139 may receive the command from the controller 120 via the input / output channel and receive the control signal via the control channel. The control logic circuit 139 receives the command received via the input / output channel in response to the control signal, routes the address received through the input / output channel to the row decoder circuit 133, and outputs the data received via the input / And can be routed to the data input / output circuit 137. The control logic circuit 139 may decode the received command and control the non-volatile memory 130 in accordance with the decoded command.

Illustratively, upon reading, the control logic circuit 139 may generate a data strobe signal DQS from the read enable signal / RE received via the control channel from the controller 120. The generated data strobe signal DQS may be output to the controller 120 via the control channel. At the time of writing, the control logic circuit 139 may receive the data strobe signal DQS from the controller 120 via the control channel.

29 is a circuit diagram showing a memory block BLKa according to an embodiment of the present invention. Referring to FIG. 29, the memory block BLKa includes a plurality of cell strings CS11 to CS21, CS12 to CS22. The plurality of cell strings CS11 to CS21 and CS12 to CS22 may be arranged along a row direction and a column direction to form rows and columns.

For example, the cell strings CS11 and CS12 arranged along the row direction form the first row and the cell strings CS21 and CS22 arranged along the row direction form the first row, Two rows can be formed. The cell strings CS11 and CS21 arranged along the column direction form the first column and the cell strings CS12 and CS22 arranged along the column direction form the second column can do.

Each cell string may include a plurality of cell transistors. The plurality of cell transistors include ground selection transistors GST, memory cells MC1 to MC6, and string selection transistors SSTa and SSTb. The ground selection transistors GST, memory cells MC1 to MC6 and string selection transistors SSTa and SSTb of each cell string are arranged such that cell strings CS11 to CS21 and CS12 to CS22 are arranged along rows and columns (For example, a plane on the substrate of the memory block BLKa) perpendicular to the substrate surface.

The plurality of cell transistors may be charge trap type transistors having threshold voltages varying depending on the amount of charge trapped in the insulating film.

The sources of the lowermost ground selection transistors (GST) may be connected in common to the common source line (CSL).

The control gates of the ground selection transistors GST of the plurality of cell strings CS11 to CS21, CS12 to CS22 may be connected to the ground selection lines GSL1 and GSL2, respectively. Illustratively, the ground select transistors of the same row may be connected to the same ground select line, and the different row of ground select transistors may be connected to different ground select lines. For example, the ground selection transistors GST of the cell strings CS11 and CS12 of the first row are connected to the first ground selection line GSL1 and the ground selection transistors GST of the cell strings CS21 and CS12 of the second row The ground selection transistors GST may be connected to the second ground selection line GSL2.

The control gates of the memory cells located at the same height (or in sequence) from the substrate (or the ground selection transistors GST) are commonly connected to one word line, and the control gates of the memory cells located at different heights May be connected to different word lines WL1 to WL6, respectively. For example, the memory cells MC1 are commonly connected to the word line WL1. The memory cells MC2 are connected in common to the word line WL2. The memory cells MC3 are commonly connected to the word line WL3. The memory cells MC4 are connected in common to the word line WL4. The memory cells MC5 are commonly connected to the word line WL5. The memory cells MC6 are connected in common to the word line WL6.

In the first string selection transistors SSTa of the same height (or order) of the plurality of cell strings CS11 to CS21, CS12 to CS22, the control gates of the first string selection transistors SSTa in different rows And are connected to different string selection lines (SSL1a to SSL2a), respectively. For example, the first string selection transistors SSTa of the cell strings CS11 and CS12 are connected in common to the string selection line SSL1a. The first string selection transistors SSTa of the cell strings CS21 and CS22 are connected in common to the string selection line SSL2a.

In the second string selection transistors SSTb of the same height (or order) of the plurality of cell strings CS11 to CS21, CS12 to CS22, the control gates of the second string selection transistors SSTb in different rows And are connected to different string selection lines SSL1b to SSL2b, respectively. For example, the second string selection transistors SSTb of the cell strings CS11 and CS12 are connected in common to the string selection line SSL1b. The second string selection transistors SSTb of the cell strings CS21 and CS22 are connected in common to the string selection line SSL2b.

That is, cell strings in different rows are connected to different string selection lines. The string select transistors of the same height (or sequence) of cell strings in the same row are connected to the same string select line. String selection transistors of different heights (or sequences) of cell strings in the same row are connected to different string selection lines.

By way of example, the string select transistors of the cell strings of the same row may be connected in common to one string select line. For example, the string selection transistors SSTa and SSTb of the cell strings CS11 and CS12 of the first row may be connected in common to one string selection line. The string selection transistors SSTa and SSTb of the sal strings CS21 and CS22 of the second row may be connected in common to one string selection line.

The columns of the plurality of cell strings CS11 to CS21 and CS12 to CS22 are connected to different bit lines BL1 and BL2, respectively. For example, the string selection transistors SSTb of the cell strings CS11 to CS21 in the first column are connected in common to the bit line BL1. The string selection transistors SST of the cell strings CS12 to CS22 in the second column are connected in common to the bit line BL2.

Cell strings CS11 and CS12 may form a first plane. The cell strings CS21 and CS22 may form a second plane.

In the memory block BLKa, memory cells of each height of each plane can form a physical page. The physical page may be a unit of writing and reading of the memory cells MC1 to MC6. For example, one plane of the memory block BLKa may be selected by the string selection lines SSL1a, SSL1b, SSL2a, and SSL2b. When the string selection lines SSL1a and SSL1b are supplied with the turn-on voltage and the turn-off voltage is supplied to the string selection lines SSL2a and SSL2b, the cell strings CS11 and CS12 of the first plane are bit- And connected to lines BL1 and BL2. That is, the first plane is selected. When the turn-on voltage is supplied to the string select lines SSL2a and SSL2b and the turn-off voltage is supplied to the string select lines SSL1a and SSL1B, the cell strings CS21 and CS22 of the second plane are bit- And connected to lines BL1 and BL2. That is, the second plane is selected. In the selected plane, one row of memory cells MC can be selected by the word lines WL1 to WL6. In the selected row, a selection voltage may be applied to the second word line WL2 and a non-selection voltage may be applied to the remaining word lines WL1, WL3 to WL6. That is, by adjusting the voltages of the string selection lines SSL1a, SSL1b, SSL2a, SSL2b and the word lines WL1 to WL6, a physical page corresponding to the second word line WL2 of the second plane can be selected have. In the memory cells MC2 of the selected physical page, writing or reading can be performed.

In the memory block BLKa, erasing of the memory cells MC1 to MC6 may be performed in units of memory blocks or units of subblocks. When an erase is performed on a memory block basis, all the memory cells MC of the memory block BLKa can be erased simultaneously according to one erase request (for example, an erase request from an external memory controller). Some of the memory cells MC1 to MC6 of the memory block BLKa are simultaneously erased in response to one erase request (for example, an erase request from an external memory controller), and the remaining Some may be prohibited from being erased. A word line connected to the erased memory cells MC is supplied with a low voltage (e.g., a ground voltage or a low voltage having a level similar to the ground voltage), and the word line connected to the erased memory cells MC can be floated have.

The memory block BLKa shown in Fig. 29 is an exemplary one. The technical concept of the present invention is not limited to the memory block BLKa shown in Fig. For example, the number of rows of cell strings may be increased or decreased. As the number of rows of cell strings is changed, the number of string select lines or ground select lines connected to the rows of cell strings, and the number of cell strings connected to one bit line can also be changed.

The number of columns of cell strings can be increased or decreased. As the number of columns of cell strings changes, the number of bit lines connected to columns of cell strings and the number of cell strings connected to one string selection line can also be changed.

The height of the cell strings can be increased or decreased. For example, the number of ground select transistors, memory cells, or string select transistors stacked on each of the cell strings may be increased or decreased.

Illustratively, memory cells MC belonging to one physical page may correspond to at least three logical pages. For example, k (k is a positive integer greater than 2) bits can be programmed into one memory cell MC. In the memory cells MC belonging to one physical page, the k bits programmed into each memory cell MC can form k logical pages, respectively.

As an example according to the technical idea of the present invention, a three-dimensional memory array is provided. The three-dimensional memory array may be monolithically formed on one or more physical levels of arrays of memory cells having an active region disposed over a silicon substrate and circuits associated with operation of the memory cells. The circuitry associated with the operation of the memory cells may be located within or on the substrate. What is uniformly formed means that the layers of each level of the three-dimensional array are directly deposited on the lower-level layers of the three-dimensional array.

As an example according to the technical idea 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 another memory cell. The at least one memory cell includes a charge trapping layer. Each vertical NAND string further includes at least one select transistor located above the memory cells. At least one selection transistor has the same structure as the memory cells and is formed uniformly with the memory cells.

A configuration in which the three-dimensional memory array is composed of a plurality of levels and the word lines or bit lines are shared between levels 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. Published Patent Application No. 2011/0233648, which are incorporated herein by reference.

While the invention has been shown and described with reference to certain preferred embodiments thereof, it will be understood by those skilled in the art that various changes and modifications may be made without departing from the spirit and scope of the invention. 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 claims of the following.

1000; Computing device 1100; Processor
1210; Main memory device 100; Storage device
1230; High speed interface 1300; Chipset
1400; Graphics processor 1500; Display device
1600; An input / output device 1700; Storage device
100; Storage device 110; Data buffers
120; Device controller 121; Physical layer circuit
122; RAM controller 123; RAM
124; A controller 125; The first interface
126; A second interface 130; Nonvolatile memories
140; Buffer memory 150; Serial Presence Detect

Claims (10)

Nonvolatile memories; And
And a device controller configured to receive write data having a first stream identifier from an external device and store the received write data in a stream buffer together with the first stream identifier,
Wherein the device controller is configured to program the first data group into the nonvolatile memories when a capacity of a first data group having the first stream identifier stored in the stream buffer reaches a threshold capacity,
The apparatus controller of claim 1, wherein, when the write data having the first stream identifier is received, if the free capacity of the stream buffer is smaller than the size of the write data, a second data group having a second stream identifier And to program the second data group in the nonvolatile memories even if the capacity is smaller than the critical capacity.
The method according to claim 1,
The device controller generates a data group in which a third data group having a third stream identifier stored in the stream buffer and a second data group are combined to form a combined data group and the combined data group is programmed into the nonvolatile memories Lt; / RTI >
3. The method of claim 2,
Wherein the device controller is configured to select the second stream identifier and the third stream identifier such that the combined capacity of the second data group and the third data group is the critical capacity.
3. The method of claim 2,
Wherein the device controller is configured to select, as the second data group and the third data group, data groups having the largest capacity among the data groups stored in the stream buffer.
3. The method of claim 2,
Wherein the device controller is configured to select, as the second data group and the third data group, data groups having the smallest capacity among the data groups stored in the stream buffer.
3. The method of claim 2,
Wherein the device controller is configured to select the oldest data groups among the data groups stored in the stream buffer as the second data group and the third data group.
3. The method of claim 2,
Wherein the device controller is configured to select the most recent data groups among the data groups stored in the stream buffer as the second data group and the third data group.
3. The method of claim 2,
And if the capacity of the combined data group is less than the threshold capacity, the device controller is further configured to combine a fourth data group having a fourth stream identifier stored in the stream buffer with the combined data group.
Nonvolatile memories; And
And a device controller configured to receive write data having a first stream identifier from an external device and to store the received write data in the stream buffer together with the first stream identifier,
Wherein the device controller is configured to program the first data group into the nonvolatile memories when a capacity of a first data group having the first stream identifier stored in the stream buffer reaches a threshold capacity,
Wherein the device controller, when the write data having the first stream identifier is received, if the free capacity of the stream buffer is smaller than the size of the write data, Or more of the data groups are combined and programmed into the non-volatile memories.
A method of operating a storage device comprising non-volatile memories and a device controller configured to control the non-volatile memories, the method comprising:
The device controller receiving write data having a first stream identifier from an external device;
Storing the write data in the stream buffer if the free capacity of the stream buffer of the device controller is equal to or greater than the capacity of the write data;
If the free capacity of the stream buffer of the device controller is smaller than the capacity of the write data, the data groups corresponding to two or more stream identifiers stored in the stream buffer are combined and programmed into the nonvolatile memories, Storing the write data in the stream buffer; And
And programming the data group into the nonvolatile memories when the capacity of the data group having the first stream identifier reaches the threshold capacity in the stream buffer.
KR1020150080641A 2015-06-08 2015-06-08 Storage device and operating method of storage device KR20160144547A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020150080641A KR20160144547A (en) 2015-06-08 2015-06-08 Storage device and operating method of storage device
US15/083,834 US9799402B2 (en) 2015-06-08 2016-03-29 Nonvolatile memory device and program method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150080641A KR20160144547A (en) 2015-06-08 2015-06-08 Storage device and operating method of storage device

Publications (1)

Publication Number Publication Date
KR20160144547A true KR20160144547A (en) 2016-12-19

Family

ID=57735275

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150080641A KR20160144547A (en) 2015-06-08 2015-06-08 Storage device and operating method of storage device

Country Status (1)

Country Link
KR (1) KR20160144547A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170133247A (en) * 2016-05-25 2017-12-05 삼성전자주식회사 Address based multi-stream storage device access
KR20190127309A (en) * 2018-05-04 2019-11-13 에스케이하이닉스 주식회사 Memory system and operating method thereof

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170133247A (en) * 2016-05-25 2017-12-05 삼성전자주식회사 Address based multi-stream storage device access
KR20190127309A (en) * 2018-05-04 2019-11-13 에스케이하이닉스 주식회사 Memory system and operating method thereof

Similar Documents

Publication Publication Date Title
CN107015917B (en) Storage device and reading and recycling method thereof
KR102461453B1 (en) Storage device
US10324788B2 (en) Memory system
KR102470606B1 (en) Nonvolatile memory device and storage device including nonvolatile memory device
KR20170005917A (en) Nonvolatile memory device
CN106469570B (en) Memory device including nonvolatile memory device and method of operating the same
KR20170005915A (en) Storage device including nonvolatile memory device
KR20160122911A (en) Storage device and operating method of storage device
KR102427262B1 (en) Storage device including random access memory devices and nonvolatile memory devices
KR20170051841A (en) Nonvolatile memory device, storage device including nonvolatile memory device and operating method of nonvolatile memory device
KR102365171B1 (en) Nonvolatile memory device and operating method of nonvolatile memory device
KR20160111594A (en) Storage device and operating method of storage device
EP3647958A1 (en) Storage devices methods of operating storage devices and storage systems
KR20160137747A (en) Nonvolatile memory device and storage device including nonvolatile memory device
CN114442915A (en) Memory system and method of operating memory controller included therein
CN111128280A (en) Storage device and operation method thereof
KR102565913B1 (en) Memory system having storage device and memory controller and operating method thereof
KR20190094964A (en) Memory system and operating method thereof
KR20160144547A (en) Storage device and operating method of storage device
KR102500821B1 (en) Semiconductor device including a plurality of circuits and bud interconnecting the plurality of circuits and operating method of semiconductor device
KR102606468B1 (en) Nonvolatile memory device, storage device including nonvolatile memory device and programming method for programming data into nonvolatile memory device
KR20160144546A (en) Storage device
KR20160144574A (en) Nonvolatile memory module and data write method thereof
US20230152991A1 (en) Storage devices and methods of operating storage devices
US20230144659A1 (en) Memory device, method of operating the same, and method of operating storage device including the same