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 PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1078—Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
Abstract
Description
본 발명은 반도체 스토리지 시스템 및 그 제어 방법에 관한 것으로서, 보다 구체적으로는 라이트 동작을 제어하는 반도체 스토리지 시스템 및 그 제어 방법 에 관한 것이다.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
도 1을 참조하면, 반도체 스토리지 시스템(100)은 호스트 인터페이스(110), 버퍼부(120), MCU(130), 메모리 컨트롤러(140) 및 메모리 영역(150)을 포함한다.Referring to FIG. 1, the
우선, 호스트 인터페이스(110)는 버퍼부(120)와 연결된다. 호스트 인터페이스(110)는 외부 호스트 (미도시)와 버퍼부(120)간에 제어 명령, 어드레스 신호 및 데이터 신호를 송수신한다. 호스트 인터페이스(110)와 외부 호스트 (미도시)간의 인터페이스 방식은 직렬 ATA(Serial Advanced Technology Attachment;SATA), 병렬 ATA(Parallel Advanced Technology attachment;PATA) 및 SCSI, Express Card, PCI-Express 방식 중 어느 하나일 수 있으며 제한되지 않는다.First, the
버퍼부(120)는 호스트 인터페이스(110)로부터의 출력 신호들을 버퍼링하거나, 논리적 어드레스 및 물리적 어드레스간의 맵핑 정보 및 메모리 영역의 블록 할당 정보, 외부로부터 수신된 데이터를 임시 저장한다. 버퍼부(120)는 SRAM(Static Random Access Memory)을 이용한 버퍼일 수 있다.The
MCU(Micro Control Unit; 130)는 호스트 인터페이스(110)간에 제어 명령, 어드레스 신호 및 데이터 신호등을 송수신하거나, 이러한 신호들에 의해 메모리 컨트롤러(140)를 제어하기도 한다.The
메모리 컨트롤러(140)는 메모리 영역(150)의 복수개의 낸드 플래시 메모리 소자 중 소정 낸드 플래시 메모리 소자(ND)를 선택하고, 라이트, 삭제 또는 리드 명령을 제공한다. 특히, 본 발명의 일 실시예에 따른 메모리 컨트롤러(140)는 소정의 그룹핑된 워드라인 그룹 단위로 데이터 저장 영역을 할당하도록 제어함으로써 페이지간 간섭 현상 발생시, 이전 데이터가 저장된 다른 워드라인 그룹의 저장 영역에는 그 영향을 방지할 수 있다. 보다 자세히 설명하면, 메모리 컨트롤러(140)는 메모리 영역(150)의 동일한 워드라인(word line)에 연결된 페이지들을 그룹핑하고, 해당 워드라인 그룹 단위로 데이터 저장 영역을 할당한다. 즉, 메모리 컨트롤러(140)는 워드라인 그룹 단위로 처리 요청 (transaction-request)별로 데이터의 저장 영역을 독립적으로 분리시킴으로써, 해당 워드라인 그룹내에서 간섭 현상이 발생하더라도, 종래와 달리 해당 워드라인 그룹내에 해당되는 처리 요청중인 데이 터에 대해서만 라이트 동작을 재수행하도록 제어할 수 있다. 여기서 처리 요청은 예컨대 외부 호스트(미도시)에 의해 라이트 요청일 수 있으며, 처리 요청별 데이터는 매(每;every) 라이트 명령어마다 라이트되어야 할 데이터를 의미한다.The
메모리 영역(150)은 메모리 컨트롤러(140)에 의해 제어되어 데이터의 라이트, 삭제 및 리드 동작이 수행된다. 여기서, 메모리 영역(150)은 낸드(NAND) 플래시 메모리일 수 있다. 설명의 편의상 본 발명의 일 실시예에서는 MLC 낸드 플래시 메모리로 예시하나 이에 제한되지 않음은 물론이다. 이러한 메모리 영역(150)은 다수의 페이지를 포함하는 다수의 블록으로 구성된 칩이 복수개 구비될 수 있다.The
도 2는 이러한 메모리 영역(150)을 개념적으로 도시한 블록도이다.2 is a block diagram conceptually illustrating such a
도 2를 참조하면, 메모리 영역(150)은 다수의 칩(칩1, 칩2, 칩 3..)을 포함한다. Referring to FIG. 2, the
또한, 각각의 칩은 다수개의 뱅크를 포함하며, 각각의 뱅크는 다수개의 메모리 블록(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
공지된 바와 같이, 플래시 메모리는 비휘발성 메모리이므로 한번 쓰여진(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
도 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
이 후, ①의 과정처럼 소정 양의 데이터 라이트시, 새로운 저장 영역, 제 2 워드라인 그룹(WL#1)을 할당하여 저장되도록 한다. 이 경우에도 제 1 워드라인 그 룹(WL#0)의 경우와 마찬가지로 라이트 요청된 데이터 양이 하나의 워드라인 그룹내에 저장되고 잔여 자유 페이지가 생기는 경우이다. 이 경우의 데이터가 저장되지 않은 잔여 자유 페이지는 스킵하도록 제어한다.Subsequently, when a predetermined amount of data is written, the new storage area and the second word line
한편, ②의 과정처럼 하나의 워드라인 그룹 이상의 데이터가 라이트되어야 하는 경우, 즉 해당 워드라인 그룹 단위보다 초과되는 양의 데이터가 라이트되어야 할 경우, 메모리 컨트롤러(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
만약, ②의 라이트 동작 도중, 어느 일부 페이지에서 간섭 현상이 발생된다면, 해당 페이지와 워드라인을 공유하는 인접한 페이지에서도 간섭 현상의 영향을 받을 수 있다. 따라서, 이러한 경우에는 ② 과정에서 처리 요청된 데이터에 대해 라이트 동작을 재 수행해야 한다. 따라서, 아직 버퍼부(도 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
하지만, 종래와 달리, ②의 라이트 요청된 데이터가, 처리 요청 시점이 달랐던 데이터, 예컨대, 제 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
마지막으로, ③의 경우와 같이, 소량의 데이터를 라이트할 경우에도, 제 5 워드라인 그룹(WL#4)을 할당하여 데이터가 저장되도록 한다.Finally, as in the case of 3), even when a small amount of data is written, the fifth word line
이와 같이, 본 발명의 일 실시예에 따르면 라이트 요청된 데이터는 매번 라이트 요청시마다 워드라인 그룹 단위로 저장하도록 한다. 그리하여, 라이트 요청 데이터의 양에 적합하도록 이전 데이터가 저장된 워드라인 그룹과는 다른 새로운 워드라인 그룹을 할당하여 데이터를 라이트한다. 또한, 해당 워드라인 그룹내에 모두 라이트한 후, 잔여 페이지가 생긴다면 스킵처리한다. 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
라이트 수행 시, 현재 라이트 요청 데이터가 그룹핑된 하나의 워드라인 그룹(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
이것이 가능하면, 라이트 수행된 워드라인 그룹(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
한편, 라이트 수행 시, 현재 라이트 요청 데이터가 그룹핑된 하나의 워드라인 그룹(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 (
이와 같이, 본 발명의 일 실시예에 따르면, 소정의 단위, 즉 워드라인을 공유하는 페이지를 그룹핑하여 소정의 단위 저장 영역을 설정하여, 라이트 수행시마다 워드라인 그룹단위로 데이터가 저장되도록 하며, 해당 영역내에 잔여 자유 페이지가 존재하면 스킵처리하도록 한다.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)
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)
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)
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 |
-
2009
- 2009-09-17 KR KR1020090088012A patent/KR101027687B1/en not_active IP Right Cessation
Cited By (4)
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 |