KR20110030069A - Solid state storage system for controlling write operation and method of controlling the same - Google Patents

Solid state storage system for controlling write operation and method of controlling the same Download PDF

Info

Publication number
KR20110030069A
KR20110030069A KR1020090088012A KR20090088012A KR20110030069A KR 20110030069 A KR20110030069 A KR 20110030069A KR 1020090088012 A KR1020090088012 A KR 1020090088012A KR 20090088012 A KR20090088012 A KR 20090088012A KR 20110030069 A KR20110030069 A KR 20110030069A
Authority
KR
South Korea
Prior art keywords
data
word line
write
storage area
memory
Prior art date
Application number
KR1020090088012A
Other languages
Korean (ko)
Other versions
KR101027687B1 (en
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 KR1020090088012A priority Critical patent/KR101027687B1/en
Publication of KR20110030069A publication Critical patent/KR20110030069A/en
Application granted granted Critical
Publication of KR101027687B1 publication Critical patent/KR101027687B1/en

Links

Images

Classifications

    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1078Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits

Abstract

PURPOSE: A semiconductor storage system and a control method thereof are provided to reduce a write operation overhead by independently allocating the storage area of write data every write. CONSTITUTION: A flash memory area(150) includes a plurality of memory blocks. A memory controller(140) sets the memory block as the storage area of a preset unit and controls a write operation by allocating a new storage area according to a write command from a host interface(110). The new storage area is independent of the data storage area stored by a prior write command.

Description

라이트 동작을 제어하는 반도체 스토리지 시스템 및 그 제어 방법{Solid State Storage System for Controlling Write Operation and Method of Controlling the Same}Solid State Storage System for Controlling Write Operation and Method of Controlling the Same}

본 발명은 반도체 스토리지 시스템 및 그 제어 방법에 관한 것으로서, 보다 구체적으로는 라이트 동작을 제어하는 반도체 스토리지 시스템 및 그 제어 방법 에 관한 것이다.The present invention relates to a semiconductor storage system and a control method thereof, and more particularly, to a semiconductor storage system and a control method for controlling a write operation.

일반적으로 비휘발성 메모리를 많은 휴대용 정보 기기의 저장용 메모리로 사용하고 있다. 더 나아가, 최근에는 PC(Personal Computer)에서 HDD(Hard Disk Drive)를 대신하여 낸드(NAND) 플래시 메모리를 사용한 SSD(Solid State Drive)가 출시되고 있어 급속도로 HDD 시장을 잠식할 것으로 전망되고 있다. In general, nonvolatile memory is used as a storage memory for many portable information devices. Furthermore, in recent years, a solid state drive (SSD) using NAND flash memory has been released in place of a hard disk drive (HDD) in a personal computer (PC), which is expected to rapidly invade the HDD market.

이러한 플래시 메모리를 이용하는 반도체 스토리지 시스템은 복수의 페이지를 포함하는 블록이 복수개 구성된 메모리 영역을 포함한다. 잘 알려진 바와 같이, 플래시 메모리의 특징으로 인하여 데이터의 리드 및 라이트 동작은 페이지(page) 단위로 수행하되, 그 데이터의 갱신 및 삭제 동작은 블록(block) 단위로 수행한다. 즉, 어떤 데이터가 저장된 페이지의 내용을 갱신하려면, 해당 페이지가 포함된 블 록 전체를 우선 삭제한 후, 다시 페이지 단위로 라이트해야 한다.A semiconductor storage system using such a flash memory includes a memory area including a plurality of blocks including a plurality of pages. As is well known, the read and write operations of data are performed in units of pages due to the characteristics of the flash memory, and the operations of updating and deleting the data are performed in units of blocks. In other words, in order to update the contents of a page in which data is stored, the entire block containing the page must be deleted first, and then written again page by page.

통상적으로, 셀의 저장 단위 비트 수에 따라 플래시 메모리 셀은 SLC(Single Level Cell) 및 MLC(Multi Level Cell)등으로 구분될 수 있다. 이 때, MLC는 단위 셀에 다(多)비트 예컨대 2 비트의 정보를 저장할 수 있도록 구비된 것일 수 있다. 이를 위해 셀은 네 개의 상이한 상태를 표현하도록 서로 다른 유효 범위를 갖는 네개의 임계 전압이 설정되도록 한다. 이러한 임계 전압들 사이의 차(差)는 SLC의 경우보다 더 적으므로, 임계 전압간의 간섭 현상이 빈번하게 발생할 수 있다. 즉, MLC에서는 이웃 페이지들의 동작시 저장된 전하의 누설 영향으로 현재 해당 페이지의 라이트 동작시 간섭을 받을 수 있다. 다시 말하면, MLC 셀은 어느 한 페이지가 이웃 페이지의 간섭을 받게 되면 이웃 페이지의 영향으로 해당 페이지의 임계 전압이 이동되어 결과적으로 저장하고자 하는 데이터와 다른 데이터로 변경될 수 있다. 따라서, 멀티 비트의 셀을 저장하는 플래시에서는 이러한 간섭 현상으로 인해 데이터의 보존 시간 및 에러 비트가 발생됨으로 인한 데이터의 신뢰성이 저하될 수 있다.In general, flash memory cells may be classified into a single level cell (SLC) and a multi level cell (MLC) according to the number of storage unit bits of the cell. At this time, the MLC may be provided to store a plurality of bits, for example, two bits of information in a unit cell. To do this, the cell allows four threshold voltages with different effective ranges to be set to represent four different states. Since the difference between these threshold voltages is smaller than in the case of SLC, interference between the threshold voltages may occur frequently. That is, in MLC, interference may be caused when a write operation of a corresponding page is currently performed due to leakage of stored charges when the neighboring pages are operated. In other words, when one page is interfered with by a neighboring page, the threshold voltage of the corresponding page is shifted under the influence of the neighboring page, and as a result, the MLC cell may be changed into data different from the data to be stored. Therefore, in a flash storing a multi-bit cell, such interference phenomenon may reduce the reliability of data due to the retention time and error bits of the data.

본 발명의 기술적 과제는 라이트 동작을 제어하는 반도체 스토리지 시스템을 제공하는 것이다.An object of the present invention is to provide a semiconductor storage system for controlling a write operation.

본 발명의 다른 기술적 과제는 라이트 동작을 제어하는 반도체 스토리지 시스템의 제어 방법을 제공하는 것이다.Another object of the present invention is to provide a control method of a semiconductor storage system for controlling a write operation.

본 발명의 기술적 과제를 달성하기 위하여, 워드라인에 연결된 페이지를 그룹핑하여 제 1 및 제 2 워드라인 그룹을 설정하는 반도체 스토리지 시스템에 있어서, 복수의 메모리 블록을 포함하는 플래시 메모리 영역, 및 제 1 라이트 명령 요청시 상기 제 1 워드라인 그룹을 할당하고, 제 2 라이트 명령 요청시 상기 제 2 워드라인 그룹을 할당하여 라이트 동작을 제어하는 메모리 컨트롤러를 포함한다.According to an aspect of the present invention, there is provided a semiconductor storage system configured to group first and second word line groups by grouping pages connected to a word line, the flash memory area including a plurality of memory blocks, and a first write. And a memory controller configured to allocate the first wordline group when a command is requested and to control the write operation by allocating the second wordline group when a second write command is requested.

본 발명의 기술적 과제를 달성하기 위하여, 본 발명의 다른 실시예에 따른 반도체 스토리지 시스템은, 호스트 인터페이스, 복수의 메모리 블록을 포함하는 플래시 메모리 영역 및 상기 메모리 블록을 복수의 소정 단위로 저장 영역을 설정하여, 상기 호스트 인터페이스로부터의 라이트 명령에 따라 이전 라이트 명령에 의해 저장된 데이터 저장 영역과는 독립적인 새로운 저장 영역을 할당하여 라이트 동작을 제어하는 메모리 컨트롤러를 포함한다.In accordance with another aspect of the present invention, a semiconductor storage system includes a host interface, a flash memory area including a plurality of memory blocks, and a storage area of the memory block in a plurality of predetermined units. The memory controller may include a memory controller configured to control a write operation by allocating a new storage area independent of the data storage area stored by the previous write command according to the write command from the host interface.

본 발명의 다른 기술적 과제를 달성하기 위하여, 반도체 스토리지 시스템의 제어 방법은, 외부의 라이트 요청에 따라 소정 페이지 단위로 그룹핑된 워드라인 그룹을 데이터 저장 영역으로 할당하는 단계 및 라이트 시, 상기 데이터 저장 후의 상기 워드라인 그룹내 잔여 자유 페이지는 스킵 처리하는 단계를 포함한다.According to another aspect of the present invention, a method of controlling a semiconductor storage system may include: assigning a word line group grouped by a predetermined page unit to a data storage area according to an external write request, and after writing the data line region. Skipping remaining free pages in the wordline group.

본 발명의 일 실시예에 따르면 라이트 시마다 라이트 요청 데이터에 대한 저장 영역을 독립적으로 할당함으로써 페이지간의 간섭 현상으로 인한 데이터의 라이트 동작 오버헤드를 감소시킬 수 있다.According to an embodiment of the present invention, the write operation overhead of data due to interference between pages may be reduced by independently allocating a storage area for write request data every write.

이하에서는 본 발명의 일 실시예에 따른 반도체 스토리지 시스템에 대하여 첨부된 도면을 참조하여 설명하도록 한다.Hereinafter, a semiconductor storage system according to an exemplary embodiment of the present invention will be described with reference to the accompanying drawings.

먼저, 도 1 내지 도 3을 참조하여, 본 발명의 실시예에 따른 반도체 스토리지 시스템에 대해서 설명하기로 한다.First, a semiconductor storage system according to an exemplary embodiment of the present invention will be described with reference to FIGS. 1 to 3.

도 1은 본 발명의 일 실시예에 따른 반도체 스토리지 시스템(100)의 블록도이다. 여기서, 반도체 스토리지 시스템(100)은 낸드 플래시 메모리를 이용한 스토리지 시스템으로 예시한다.1 is a block diagram of a semiconductor storage system 100 according to an embodiment of the present invention. Here, the semiconductor storage system 100 is exemplified as a storage system using NAND flash memory.

도 1을 참조하면, 반도체 스토리지 시스템(100)은 호스트 인터페이스(110), 버퍼부(120), MCU(130), 메모리 컨트롤러(140) 및 메모리 영역(150)을 포함한다.Referring to FIG. 1, the semiconductor storage system 100 includes a host interface 110, a buffer unit 120, an MCU 130, a memory controller 140, and a memory region 150.

우선, 호스트 인터페이스(110)는 버퍼부(120)와 연결된다. 호스트 인터페이스(110)는 외부 호스트 (미도시)와 버퍼부(120)간에 제어 명령, 어드레스 신호 및 데이터 신호를 송수신한다. 호스트 인터페이스(110)와 외부 호스트 (미도시)간의 인터페이스 방식은 직렬 ATA(Serial Advanced Technology Attachment;SATA), 병렬 ATA(Parallel Advanced Technology attachment;PATA) 및 SCSI, Express Card, PCI-Express 방식 중 어느 하나일 수 있으며 제한되지 않는다.First, the host interface 110 is connected to the buffer unit 120. The host interface 110 transmits and receives a control command, an address signal, and a data signal between an external host (not shown) and the buffer unit 120. The interface method between the host interface 110 and an external host (not shown) is any one of serial Serial Technology Attachment (SATA), parallel Parallel Advanced Technology attachment (PATA), and SCSI, Express Card, and PCI-Express methods. Can be and is not limited.

버퍼부(120)는 호스트 인터페이스(110)로부터의 출력 신호들을 버퍼링하거나, 논리적 어드레스 및 물리적 어드레스간의 맵핑 정보 및 메모리 영역의 블록 할당 정보, 외부로부터 수신된 데이터를 임시 저장한다. 버퍼부(120)는 SRAM(Static Random Access Memory)을 이용한 버퍼일 수 있다.The buffer unit 120 buffers output signals from the host interface 110 or temporarily stores mapping information between logical addresses and physical addresses, block allocation information of a memory area, and data received from the outside. The buffer unit 120 may be a buffer using static random access memory (SRAM).

MCU(Micro Control Unit; 130)는 호스트 인터페이스(110)간에 제어 명령, 어드레스 신호 및 데이터 신호등을 송수신하거나, 이러한 신호들에 의해 메모리 컨트롤러(140)를 제어하기도 한다.The microcontrol unit 130 may transmit and receive a control command, an address signal, a data signal, and the like between the host interface 110, or may control the memory controller 140 by such signals.

메모리 컨트롤러(140)는 메모리 영역(150)의 복수개의 낸드 플래시 메모리 소자 중 소정 낸드 플래시 메모리 소자(ND)를 선택하고, 라이트, 삭제 또는 리드 명령을 제공한다. 특히, 본 발명의 일 실시예에 따른 메모리 컨트롤러(140)는 소정의 그룹핑된 워드라인 그룹 단위로 데이터 저장 영역을 할당하도록 제어함으로써 페이지간 간섭 현상 발생시, 이전 데이터가 저장된 다른 워드라인 그룹의 저장 영역에는 그 영향을 방지할 수 있다. 보다 자세히 설명하면, 메모리 컨트롤러(140)는 메모리 영역(150)의 동일한 워드라인(word line)에 연결된 페이지들을 그룹핑하고, 해당 워드라인 그룹 단위로 데이터 저장 영역을 할당한다. 즉, 메모리 컨트롤러(140)는 워드라인 그룹 단위로 처리 요청 (transaction-request)별로 데이터의 저장 영역을 독립적으로 분리시킴으로써, 해당 워드라인 그룹내에서 간섭 현상이 발생하더라도, 종래와 달리 해당 워드라인 그룹내에 해당되는 처리 요청중인 데이 터에 대해서만 라이트 동작을 재수행하도록 제어할 수 있다. 여기서 처리 요청은 예컨대 외부 호스트(미도시)에 의해 라이트 요청일 수 있으며, 처리 요청별 데이터는 매(每;every) 라이트 명령어마다 라이트되어야 할 데이터를 의미한다.The memory controller 140 selects a predetermined NAND flash memory device ND among the plurality of NAND flash memory devices of the memory area 150, and provides a write, delete, or read command. In particular, the memory controller 140 according to an embodiment of the present invention controls to allocate a data storage area in units of predetermined grouped word line groups so that when inter-page interference occurs, a storage area of another word line group in which previous data is stored. The influence can be prevented. In more detail, the memory controller 140 groups pages connected to the same word line of the memory area 150 and allocates a data storage area in units of corresponding word line groups. That is, the memory controller 140 independently separates a storage area of data for each transaction-request in word line group units, so that even if interference occurs in the corresponding word line group, unlike the conventional word line group The write operation can be controlled to be re-executed only for the data for which processing request is made. In this case, the processing request may be a write request by an external host (not shown), for example, and data for each processing request means data to be written for every write command.

메모리 영역(150)은 메모리 컨트롤러(140)에 의해 제어되어 데이터의 라이트, 삭제 및 리드 동작이 수행된다. 여기서, 메모리 영역(150)은 낸드(NAND) 플래시 메모리일 수 있다. 설명의 편의상 본 발명의 일 실시예에서는 MLC 낸드 플래시 메모리로 예시하나 이에 제한되지 않음은 물론이다. 이러한 메모리 영역(150)은 다수의 페이지를 포함하는 다수의 블록으로 구성된 칩이 복수개 구비될 수 있다.The memory area 150 is controlled by the memory controller 140 to perform write, delete, and read operations of data. The memory region 150 may be a NAND flash memory. For convenience of description, an embodiment of the present invention is illustrated as an MLC NAND flash memory, but is not limited thereto. The memory area 150 may be provided with a plurality of chips including a plurality of blocks including a plurality of pages.

도 2는 이러한 메모리 영역(150)을 개념적으로 도시한 블록도이다.2 is a block diagram conceptually illustrating such a memory area 150.

도 2를 참조하면, 메모리 영역(150)은 다수의 칩(칩1, 칩2, 칩 3..)을 포함한다. Referring to FIG. 2, the memory area 150 includes a plurality of chips (chip 1, chip 2, chip 3..).

또한, 각각의 칩은 다수개의 뱅크를 포함하며, 각각의 뱅크는 다수개의 메모리 블록(BLK)이 그룹핑된 다수의 플레인을 포함한다. 이러한 각각의 메모리 블록(BLK)은 워드라인을 공유하는 복수개의 페이지로 그룹핑된 복수의 워드라인 그룹(WL#0, WL#1..)포함한다.In addition, each chip includes a plurality of banks, and each bank includes a plurality of planes in which a plurality of memory blocks BLK are grouped. Each of the memory blocks BLK includes a plurality of word line groups WL # 0 and WL # 1 .. grouped into a plurality of pages sharing word lines.

공지된 바와 같이, 플래시 메모리는 비휘발성 메모리이므로 한번 쓰여진(write) 페이지에 다른 데이터를 덮어쓸 수 없으며, 반드시 블록 단위의 삭제(erase)를 한 후에 새로운 데이터를 기록할 수 있다고 설명한 바 있다. 이에, 데이터의 갱신이 수행되기 위해서는 라이트(write)와 삭제(erase)라는 과정이 필연적으로 요구된다.As is well known, since the flash memory is a nonvolatile memory, it is not possible to overwrite other data on a write page once, and it is described that new data can be written after erasing by block unit. Thus, in order to perform data update, a process of writing and erasing is inevitably required.

본 발명의 일 실시예에 따르면, 매 라이트 시, 라이트 요청 데이터에 대해 이전 요청에 의해 저장된 데이터와는 다른 영역에서 처리 되도록 제어한다. 이에 따라, 라이트 시, 현재 요청된 데이터에 적합한 사이즈만큼 할당하되, 이전 요청에 의해 저장된 데이터가 저장된 워드라인 그룹과는 다른 워드라인 그룹을 할당하여 라이트되도록 제어한다. 이로써, 해당 워드라인 그룹내의 일부 페이지에서 간섭 현상이 발생되면 해당 워드라인 그룹내에서의 데이터에 대해서만 라이트 동작을 재수행하도록 하고, 다른 워드라인 그룹의 데이터들에 대해서는 그대로 보존이 되도록 할 수 있다.According to an embodiment of the present invention, in every write, the write request data is controlled to be processed in a different area from the data stored by the previous request. Accordingly, at the time of writing, it allocates as much as the size suitable for the currently requested data, and controls so that the data stored by the previous request is allocated by writing a word line group different from the stored word line group. As a result, when interference occurs in some pages of the word line group, the write operation may be re-performed only for data in the word line group, and the data in other word line groups may be preserved.

종래에는 워드라인 그룹을 고려하지 않고 연속적으로 데이터의 저장 영역을 할당하였다. 그리하여, 어느 한 워드라인 그룹내 일부 페이지에서 간섭 현상이 발생되었을 때, 간섭 현상이 발생된 일부 페이지가 저장된 물리적 영역에 포함된 모든 데이터에 대해서는 다시 라이트 동작을 수행해야 했다. 이는 서로 다른 시점에 처리된(라이트된) 데이터라 하더라도 저장 공간은 물리적으로 연관되어 있기 때문에, 페이지 간섭 현상이 발생되면 모든 데이터를 다시 라이트할 수 밖에 없었다. 이로 인해, 이전에 이미 안전하게 처리된 데이터라 하더라도, 현재 동작시 발생된 물리적 간섭 현상 때문에 다시 처리를 해야 하는 불필요한 오버헤드(overjead)가 발생되었다. Conventionally, storage areas for data are allocated continuously without considering the word line group. Thus, when interference occurs in some pages of a word line group, the write operation has to be performed again on all data included in the physical region in which the interference-prone pages are stored. Since the storage space is physically related even though the data processed (written) at different points in time, when the page interference occurs, all data has to be rewritten. As a result, even if the data has already been safely processed previously, unnecessary overhead (overjead) has to be processed again due to the physical interference generated during the current operation.

하지만, 본 발명의 일 실시예에 따르면 라이트 시마다 라이트 요청 데이터에 대한 저장 영역을 독립적으로 할당함으로써 페이지간의 간섭 현상으로 인한 데이터의 라이트 동작 오버헤드를 감소시킬 수 있다. However, according to an embodiment of the present invention, by separately allocating a storage area for write request data for each write, overhead of data write operation due to interference between pages may be reduced.

도 3은 도 1에 따른 메모리 영역(150)내의 블록(BLK)내에 라이트되는 동작을 도식화한 개념도이다.FIG. 3 is a conceptual diagram illustrating an operation written in a block BLK in the memory area 150 of FIG. 1.

도 3을 참조하면, 임의의 어느 블록(BLK)에 데이터가 라이트되거나 저장된 형태를 나타낸다.Referring to FIG. 3, data is written or stored in any block BLK.

우선, 여기서는 하나의 워드라인에 4개의 페이지가 공유된 것으로 예시하기로 한다. 이에 따라, 데이터의 영역 할당은 워드라인 그룹 단위로 할당될 수 있다. 점선으로 표시된 것은 호스트 인터페이스(도 1의 110 참조)에 의해 데이터의 처리 과정을 도식화 한 것이며, 여기서 처리 요청은 라이트 동작으로 예시한다. 또한, ①, ②, ③과 같이 표시된 것은 처리 요청되는 데이터를 정량적으로 나타낸 것이다.First, it will be described here that four pages are shared in one word line. Accordingly, area allocation of data may be allocated on a word line group basis. The dotted line shows the process of data processing by the host interface (see 110 in FIG. 1), where the process request is illustrated as a write operation. In addition, as indicated by ①, ②, ③, quantitatively indicates the data to be processed.

보다 구체적으로, 제 1 워드라인 그룹(WL#0)에 올드 데이터(old data)가 저장되어 있다. 이는 도시되지 않았으나 이후 데이터가 갱신되어 더 이상 유효하지 않은 상태의 데이터로서 표현하였다. 이 때, 예를 들어, 라이트 요청된 데이터 양이 하나의 워드라인 그룹내에 저장된 후 잔여 자유(free) 페이지가 생긴다 하더라도, 잔여 자유 페이지는 다음의 데이터 저장시 이용되지 않도록 한다. 즉, 메모리 컨트롤러(140)가 해당 그룹내의 데이터가 저장되지 않은 자유 페이지는 스킵하도록 제어한다. 이로써, 처리 요청별로 데이터의 저장 영역은 독립적으로 할당될 수 있다.More specifically, old data is stored in the first word line group WL # 0. This is not shown, but the data is subsequently updated and represented as data that is no longer valid. At this time, for example, even if a remaining free page is generated after the amount of data requested to be written is stored in one word line group, the remaining free page is not used when storing the next data. That is, the memory controller 140 controls to skip free pages in which data in the group is not stored. As a result, a storage area of data may be independently allocated to each processing request.

이 후, ①의 과정처럼 소정 양의 데이터 라이트시, 새로운 저장 영역, 제 2 워드라인 그룹(WL#1)을 할당하여 저장되도록 한다. 이 경우에도 제 1 워드라인 그 룹(WL#0)의 경우와 마찬가지로 라이트 요청된 데이터 양이 하나의 워드라인 그룹내에 저장되고 잔여 자유 페이지가 생기는 경우이다. 이 경우의 데이터가 저장되지 않은 잔여 자유 페이지는 스킵하도록 제어한다.Subsequently, when a predetermined amount of data is written, the new storage area and the second word line group WL # 1 are allocated and stored as in the process of ①. Also in this case, as in the case of the first word line group WL # 0, the amount of data requested to be written is stored in one word line group and a remaining free page is generated. In this case, the control controls to skip the remaining free pages in which data is not stored.

한편, ②의 과정처럼 하나의 워드라인 그룹 이상의 데이터가 라이트되어야 하는 경우, 즉 해당 워드라인 그룹 단위보다 초과되는 양의 데이터가 라이트되어야 할 경우, 메모리 컨트롤러(140)는 데이터 양에 적절하도록 저장 영역을 할당한다. 여기서는 ② 과정의 데이터 양을 만족시키도록 제 3 및 제 4 워드라인 그룹(WL#2, WL#3)을 할당한다. 이 때, ② 과정의 데이터 라이트 후, 잔여 자유 페이지의 수는 3이다. 하지만, 이 경우에도 데이터가 저장되지 않은 잔여의 자유 페이지들은 스킵하도록 제어한다. On the other hand, when the data of more than one word line group is to be written, i.e., if the amount of data exceeding the corresponding word line group unit is to be written, the memory controller 140 stores the storage area to be appropriate for the amount of data. Allocate In this case, the third and fourth word line groups WL # 2 and WL # 3 are allocated to satisfy the data amount of process (2). At this time, after the data write in step (2), the number of remaining free pages is three. However, even in this case, control is performed to skip the remaining free pages in which data is not stored.

만약, ②의 라이트 동작 도중, 어느 일부 페이지에서 간섭 현상이 발생된다면, 해당 페이지와 워드라인을 공유하는 인접한 페이지에서도 간섭 현상의 영향을 받을 수 있다. 따라서, 이러한 경우에는 ② 과정에서 처리 요청된 데이터에 대해 라이트 동작을 재 수행해야 한다. 따라서, 아직 버퍼부(도 1의 120 참조)내에 라이트 요청된 데이터가 유지되고 있는 동안, 제 3 및 제 4 워드라인 그룹(WL#2, WL#3)이 아닌 새로운 워드라인 그룹을 할당하여 라이트가 재수행되도록 제어할 수 있다.If interference occurs in some pages during the write operation of ②, the interference may also be affected by adjacent pages sharing the word line with the corresponding page. Therefore, in this case, the write operation should be performed again on the data requested for processing in step ②. Therefore, while the write-requested data is still maintained in the buffer unit (see 120 in FIG. 1), new word line groups other than the third and fourth word line groups WL # 2 and WL # 3 are allocated and written. Can be controlled to be rerun.

하지만, 종래와 달리, ②의 라이트 요청된 데이터가, 처리 요청 시점이 달랐던 데이터, 예컨대, 제 2 워드라인 그룹(WL#1)과는 물리적으로 독립된 곳에 저장되어 있으므로, 이전에 이미 안전하게 처리 요청된 데이터에 대해서는 불필요한 라이트 동작을 재수행하지 않아도 된다.However, unlike the related art, since the write requested data of ② is stored in a physically independent place from the data having different processing request points, for example, the second word line group WL # 1, the previously requested processing is safely performed. It is not necessary to perform unnecessary write operations again for the data.

마지막으로, ③의 경우와 같이, 소량의 데이터를 라이트할 경우에도, 제 5 워드라인 그룹(WL#4)을 할당하여 데이터가 저장되도록 한다.Finally, as in the case of 3), even when a small amount of data is written, the fifth word line group WL # 4 is allocated to store the data.

이와 같이, 본 발명의 일 실시예에 따르면 라이트 요청된 데이터는 매번 라이트 요청시마다 워드라인 그룹 단위로 저장하도록 한다. 그리하여, 라이트 요청 데이터의 양에 적합하도록 이전 데이터가 저장된 워드라인 그룹과는 다른 새로운 워드라인 그룹을 할당하여 데이터를 라이트한다. 또한, 해당 워드라인 그룹내에 모두 라이트한 후, 잔여 페이지가 생긴다면 스킵처리한다. As described above, according to an embodiment of the present invention, the write requested data is stored in word line group units every write request. Thus, the data is written by allocating a new wordline group different from the wordline group in which the previous data is stored so as to fit the amount of write request data. After all of the word lines are written in the word line group, skipping is performed if a remaining page is generated.

도 4는 도 1 에 따른 반도체 스토리지 시스템의 제어 방법을 나타낸 순서도이다.4 is a flowchart illustrating a control method of the semiconductor storage system according to FIG. 1.

도 1 내지 도 4를 참조하여, 본 발명의 일 실시예에 따른 반도체 스토리지 시스템의 제어 방법을 설명하기로 한다.1 to 4, a method of controlling a semiconductor storage system according to an embodiment of the present invention will be described.

우선, 메모리 컨트롤러(140)는 소정 단위로 페이지를 그룹핑하여 워드라인 그룹별로 영역을 할당할 수 있도록 영역 할당 정보를 저장한다(S10).First, the memory controller 140 stores area allocation information so that areas can be allocated for each word line group by grouping pages in predetermined units (S10).

라이트 수행 시, 현재 라이트 요청 데이터가 그룹핑된 하나의 워드라인 그룹(WL#0, WL#1..)내에 라이트 가능한지 판단한다(S20).When the write is performed, it is determined whether the current write request data can be written in the grouped word line groups WL # 0 and WL # 1 .. (S20).

이것이 가능하면, 라이트 수행된 워드라인 그룹(WL#0, WL#1..) 내에 자유 페이지가 존재하는지 여부를 체크하여(S40) 존재하면, 잔여 자유 페이지는 스킵처리하고 다음의 라이트 요청에 대해서는 새로운 워드라인 그룹(WL#0, WL#1..)을 할당하여 라이트 동작을 준비시킨다(S50). 만약, 라이트 수행된 워드라인 그룹(WL#0, WL#1..) 내에 자유 페이지가 존재하는지 여부를 체크하여(S40) 존재하지 않는다면, 그대로 라이트 동작을 종료시킬 수 있다.If this is possible, it is checked whether there is a free page in the write-lined word line group WL # 0, WL # 1 .. (S40), and if it exists, the remaining free page is skipped and for the next write request. The new word line groups WL # 0 and WL # 1 .. are allocated to prepare for the write operation (S50). If there is no free page in the write-enabled word line groups WL # 0 and WL # 1 .. (S40), the write operation may be terminated as it is.

한편, 라이트 수행 시, 현재 라이트 요청 데이터가 그룹핑된 하나의 워드라인 그룹(WL#0, WL#1..)내에 라이트 가능한지 판단(S20)하여 라이트 수행하기에 저장 영역이 부족하다면, 연속되는 새로운 워드라인 그룹(WL#0, WL#1..)을 할당하여 라이트를 수행한다(S30). 이 경우에도, 라이트 수행된 워드라인 그룹(WL#0, WL#1..) 내에 자유 페이지가 존재하는지 여부를 체크하여(S40) 존재하면, 잔여 자유 페이지는 스킵처리하고 다음의 라이트 요청에 대해서는 새로운 워드라인 그룹(WL#0, WL#1..)을 할당하여 라이트 동작을 준비시킨다(S50).On the other hand, when the write operation is performed, if it is possible to write in one word line group (WL # 0, WL # 1 ..) grouped with the current write request data (S20) and the storage area is insufficient to perform the write, successive new The word line groups WL # 0 and WL # 1 .. are allocated to perform writing (S30). Even in this case, if the free page exists in the written word line group WL # 0 and WL # 1 .. (S40), the free page is skipped and the next write request is skipped. The new word line groups WL # 0 and WL # 1 .. are allocated to prepare for the write operation (S50).

이와 같이, 본 발명의 일 실시예에 따르면, 소정의 단위, 즉 워드라인을 공유하는 페이지를 그룹핑하여 소정의 단위 저장 영역을 설정하여, 라이트 수행시마다 워드라인 그룹단위로 데이터가 저장되도록 하며, 해당 영역내에 잔여 자유 페이지가 존재하면 스킵처리하도록 한다.As described above, according to an exemplary embodiment of the present invention, a predetermined unit storage area is set by grouping predetermined units, that is, pages sharing word lines, so that data is stored in word line group units every write operation. If there are remaining free pages in the area, skip processing is performed.

본 발명이 속하는 기술분야의 당업자는 본 발명이 그 기술적 사상이나 필수적 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있으므로, 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로서 이해해야만 한다. 본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 등가개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.As those skilled in the art to which the present invention pertains may implement the present invention in other specific forms without changing the technical spirit or essential features, the embodiments described above should be understood as illustrative and not restrictive in all aspects. Should be. The scope of the present invention is shown by the following claims rather than the detailed description, and all changes or modifications derived from the meaning and scope of the claims and their equivalents should be construed as being included in the scope of the present invention. do.

도 1은 본 발명의 일 실시예에 따른 반도체 스토리지 시스템의 블록도,1 is a block diagram of a semiconductor storage system according to an embodiment of the present invention;

도 2는 도 1에 따른 메모리 영역의 계층적 구조를 나타낸 개념도,2 is a conceptual diagram illustrating a hierarchical structure of a memory area according to FIG. 1;

도 3은 도 1에 따른 본 발명의 라이트 동작을 개념적으로 도시한 개념도, 및3 is a conceptual diagram conceptually illustrating a write operation of the present invention according to FIG. 1, and

도 4는 본 발명의 일 실시예에 따른 반도체 스토리지 시스템의 제어 방법을 나타낸 플로우 차트이다. 4 is a flowchart illustrating a control method of a semiconductor storage system according to an exemplary embodiment of the present invention.

<도면의 주요 부분에 대한 부호의 설명><Explanation of symbols for the main parts of the drawings>

110: 호스트 인터페이스 120: 버퍼부110: host interface 120: buffer unit

130: MCU 140: 메모리 컨트롤러130: MCU 140: memory controller

150: 메모리 영역 150: memory area

Claims (9)

워드라인에 연결된 페이지를 그룹핑하여 제 1 및 제 2 워드라인 그룹을 설정하는 반도체 스토리지 시스템에 있어서,A semiconductor storage system for setting first and second word line groups by grouping pages connected to word lines. 복수의 메모리 블록을 포함하는 플래시 메모리 영역; 및A flash memory area including a plurality of memory blocks; And 제 1 라이트 명령 요청시 상기 제 1 워드라인 그룹을 할당하고, 제 2 라이트 명령 요청시 상기 제 2 워드라인 그룹을 할당하여 라이트 동작을 제어하는 메모리 컨트롤러를 포함하는 반도체 스토리지 시스템.And a memory controller which allocates the first wordline group when a first write command is requested and controls the write operation by allocating the second wordline group when a second write command is requested. 제 1항에 있어서,The method of claim 1, 상기 메모리 컨트롤러는 상기 제 1 및 제 2 워드라인 그룹에 데이터를 저장할 때, 상기 데이터 저장 후 각각의 상기 제 1 및 제 2 워드라인 그룹내에 자유 페이지가 존재하면 스킵(skip) 처리하는 반도체 스토리지 시스템.And when the data controller stores data in the first and second word line groups, skips a free page in each of the first and second word line groups after storing the data. 호스트 인터페이스;A host interface; 복수의 메모리 블록을 포함하는 플래시 메모리 영역; 및A flash memory area including a plurality of memory blocks; And 상기 메모리 블록을 복수의 소정 단위로 저장 영역을 설정하여, 상기 호스트 인터페이스로부터의 라이트 명령에 따라 이전 라이트 명령에 의해 저장된 데이터 저장 영역과는 독립적인 새로운 저장 영역을 할당하여 라이트 동작을 제어하는 메모리 컨트롤러를 포함하는 반도체 스토리지 시스템.A memory controller configured to control a write operation by setting a storage area of the memory block in a plurality of predetermined units and allocating a new storage area independent of a data storage area stored by a previous write command according to a write command from the host interface. Semiconductor storage system comprising a. 제 3항에 있어서,The method of claim 3, wherein 상기 메모리 컨트롤러가 소정 단위로 상기 저장 영역을 설정하는 것은, 상기 메모리 블록에 있어서 동일한 워드라인에 연결된 페이지를 그룹핑하여 복수의 워드라인 그룹을 설정하는 반도체 스토리지 시스템.The setting of the storage area in a predetermined unit by the memory controller may include setting a plurality of word line groups by grouping pages connected to the same word line in the memory block. 제 4항에 있어서,The method of claim 4, wherein 상기 메모리 컨트롤러는 상기 워드라인 그룹에 데이터를 저장하되, 상기 데이터 저장 후 자유 페이지가 존재하면 스킵(skip) 처리하는 반도체 스토리지 시스템.The memory controller stores data in the word line group, and skips if there is a free page after storing the data. 제 5항에 있어서,The method of claim 5, 상기 메모리 컨트롤러는 상기 라이트 명령시 요청된 데이터가 하나의 단위 이상의 워드라인 그룹보다 초과되는 데이터의 양이라면, 복수의 워드라인 그룹을 할당하되, 이전(pre) 라이트 요청에 의해 저장된 데이터의 워드라인 그룹과는 중복되지 않도록 제어하는 반도체 스토리지 시스템.If the data requested in the write command is an amount of data exceeding one or more word line groups, the memory controller allocates a plurality of word line groups, but includes a word line group of data stored by a pre-write request. Semiconductor storage system that controls the overlapping. 제 3항에 있어서,The method of claim 3, wherein 상기 메모리 컨트롤러는, 현재 라이트 명령 수행이 실패하면, 현재 라이트 요청된 해당 데이터에 대해서만 라이트 동작의 재수행을 제어하는 반도체 스토리지 시스템.The memory controller controls the re-execution of the write operation only for the data corresponding to the current write request if the current write command fails. 외부의 라이트 요청에 따라 소정 페이지 단위로 그룹핑된 워드라인 그룹을 데이터 저장 영역으로 할당하는 단계;Allocating word line groups grouped by a predetermined page unit to a data storage area according to an external write request; 라이트 시, 상기 데이터 저장 후의 상기 워드라인 그룹내 잔여 자유 페이지는 스킵 처리하는 단계를 포함하는 반도체 스토리지 시스템의 제어 방법.And skipping the remaining free pages in the wordline group after storing the data. 제 8항에 있어서,The method of claim 8, 상기 저장 영역으로 할당하는 단계는,Assigning to the storage area, 이전 라이트 요청에 의해 저장된 데이터의 워드라인 그룹과는 다른 워드라인 그룹을 할당하는 반도체 스토리지 시스템의 제어 방법.A method of controlling a semiconductor storage system for allocating a word line group different from a word line group of data stored by a previous write request.
KR1020090088012A 2009-09-17 2009-09-17 Solid State Storage System for Controlling Write Operation and Method of Controlling the Same KR101027687B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020090088012A KR101027687B1 (en) 2009-09-17 2009-09-17 Solid State Storage System for Controlling Write Operation and Method of Controlling the Same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090088012A KR101027687B1 (en) 2009-09-17 2009-09-17 Solid State Storage System for Controlling Write Operation and Method of Controlling the Same

Publications (2)

Publication Number Publication Date
KR20110030069A true KR20110030069A (en) 2011-03-23
KR101027687B1 KR101027687B1 (en) 2011-04-12

Family

ID=43935876

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090088012A KR101027687B1 (en) 2009-09-17 2009-09-17 Solid State Storage System for Controlling Write Operation and Method of Controlling the Same

Country Status (1)

Country Link
KR (1) KR101027687B1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9466386B2 (en) 2013-10-24 2016-10-11 Samsung Electronics Co., Ltd. Storage device and related programming method
CN108958643A (en) * 2017-05-19 2018-12-07 爱思开海力士有限公司 Data storage device and its operating method
US11169871B2 (en) 2017-02-23 2021-11-09 SK Hynix Inc. Data storage device and operating method thereof

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20000055939A (en) * 1999-02-11 2000-09-15 김영환 Write apparatus and method for flash memory
KR100761374B1 (en) * 2005-12-22 2007-09-27 엠텍비젼 주식회사 Method and Apparatus for controlling flash memory
KR101086855B1 (en) * 2008-03-10 2011-11-25 주식회사 팍스디스크 Solid State Storage System with High Speed and Controlling Method thereof
KR20090097551A (en) * 2008-03-12 2009-09-16 주식회사 하이닉스반도체 Solid state storage system capable of parallel processing

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9466386B2 (en) 2013-10-24 2016-10-11 Samsung Electronics Co., Ltd. Storage device and related programming method
US11169871B2 (en) 2017-02-23 2021-11-09 SK Hynix Inc. Data storage device and operating method thereof
CN108958643A (en) * 2017-05-19 2018-12-07 爱思开海力士有限公司 Data storage device and its operating method
CN108958643B (en) * 2017-05-19 2021-05-25 爱思开海力士有限公司 Data storage device and operation method thereof

Also Published As

Publication number Publication date
KR101027687B1 (en) 2011-04-12

Similar Documents

Publication Publication Date Title
JP5728672B2 (en) Hybrid memory management
US9418017B2 (en) Hot memory block table in a solid state storage device
US8966165B2 (en) Translation layer in a solid state storage device
US9298603B2 (en) NAND flash-based storage device and methods of using
US11386005B2 (en) Memory system, memory controller, and method of operating memory system for caching journal information for zone in the journal cache
US20150347291A1 (en) Flash memory based storage system and operating method
US20100030948A1 (en) Solid state storage system with data attribute wear leveling and method of controlling the solid state storage system
US8694748B2 (en) Data merging method for non-volatile memory module, and memory controller and memory storage device using the same
US20120179859A1 (en) Nonvolatile memory apparatus performing ftl function and method for controlling the same
US9940058B2 (en) Data storage device and data maintenance method thereof
US9176866B2 (en) Active recycling for solid state drive
CN114067870A (en) Memory system, memory device, and method for operating memory device
CN111352854B (en) Memory device, controller and method for operating memory device
KR101070511B1 (en) Solid state drive controller and method for operating of the solid state drive controller
KR101027687B1 (en) Solid State Storage System for Controlling Write Operation and Method of Controlling the Same
US11487655B2 (en) Method for managing flash memory module and associated flash memory controller and electronic device based on timing of dummy read operations
KR20090047880A (en) Management method and system of non-volatile memory
KR101604949B1 (en) Method and apparatus for controlling memory
US20240143192A1 (en) Memory system and operating method thereof
US20240071506A1 (en) Partial block read voltage offset

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee