KR20140113211A - Non-volatile memory system, system having the same and method for performing adaptive user storage region adjustment in the same - Google Patents

Non-volatile memory system, system having the same and method for performing adaptive user storage region adjustment in the same Download PDF

Info

Publication number
KR20140113211A
KR20140113211A KR1020130028311A KR20130028311A KR20140113211A KR 20140113211 A KR20140113211 A KR 20140113211A KR 1020130028311 A KR1020130028311 A KR 1020130028311A KR 20130028311 A KR20130028311 A KR 20130028311A KR 20140113211 A KR20140113211 A KR 20140113211A
Authority
KR
South Korea
Prior art keywords
user
area information
memory system
volatile memory
storage area
Prior art date
Application number
KR1020130028311A
Other languages
Korean (ko)
Other versions
KR102098697B1 (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 KR1020130028311A priority Critical patent/KR102098697B1/en
Priority to US14/207,717 priority patent/US9460006B2/en
Publication of KR20140113211A publication Critical patent/KR20140113211A/en
Application granted granted Critical
Publication of KR102098697B1 publication Critical patent/KR102098697B1/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
    • 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
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • 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
    • 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
    • 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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0605Improving or facilitating administration, e.g. storage management by facilitating the interaction with a user or administrator
    • 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/0629Configuration or reconfiguration of storage systems
    • G06F3/0631Configuration or reconfiguration of storage systems by allocating resources to storage systems
    • 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
    • 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/0683Plurality of storage devices
    • G06F3/0688Non-volatile semiconductor memory arrays
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45583Memory management, e.g. access or allocation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7204Capacity control, e.g. partitioning, end-of-life degradation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Memory System (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

An adaptive adjustment method of user storage area of a non-volatile memory system comprises the following: a host sends a user area information request order to the non-volatile memory system; the host receives the user area information sent from the non-volatile memory system; the host changes the user area information; and the host sends a user area information setting order to the non-volatile memory system to set the changed user area information to the non-volatile memory system. The non-volatile memory system can control the volume of the user storage area in response to user area information.

Description

비휘발성 메모리 시스템, 이를 포함하는 시스템 및 상기 비휘발성 메모리 시스템의 적응적 사용자 저장 영역 조절 방법{NON-VOLATILE MEMORY SYSTEM, SYSTEM HAVING THE SAME AND METHOD FOR PERFORMING ADAPTIVE USER STORAGE REGION ADJUSTMENT IN THE SAME}TECHNICAL FIELD [0001] The present invention relates to a nonvolatile memory system, a system including the nonvolatile memory system, and a method for adjusting an adaptive user storage area of the nonvolatile memory system. BACKGROUND OF THE INVENTION 1. Field of the Invention [0002]

본 발명의 개념에 따른 실시 예는 비휘발성 메모리 시스템에 관한 것으로, 특히 변경된 사용자 영역 정보에 기초하여 상기 비휘발성 메모리 시스템의 사용자 저장 영역의 크기를 제어하는 비휘발성 메모리 시스템 및 상기 비휘발성 메모리 시스템의 적응적 사용자 저장 영역 조절 방법에 관한 것이다.An embodiment according to the inventive concept relates to a non-volatile memory system, and more particularly to a non-volatile memory system for controlling the size of a user storage area of the non-volatile memory system based on changed user area information, To an adaptive user storage area adjustment method.

플래시 메모리 장치는 비휘발성 메모리 장치로서 USB(universal serial bus) 드라이브, 디지털 카메라, 이동 전화기, 스마트폰, 태블릿(tablet) PC, 메모리 카드, 및 SSD(solid state drive)에서 널리 사용된다.Flash memory devices are widely used in universal serial bus (USB) drives, digital cameras, mobile phones, smart phones, tablet PCs, memory cards, and solid state drives (SSDs) as non-volatile memory devices.

플래시 메모리 장치는 복수의 블록들을 포함하고, 상기 복수의 블록들 각각은 복수의 페이지들을 포함하고, 상기 복수의 페이지들 각각은 복수의 메모리 셀들을 포함한다.The flash memory device includes a plurality of blocks, each of the plurality of blocks including a plurality of pages, each of the plurality of pages including a plurality of memory cells.

상기 복수의 메모리 셀들 각각은 싱글-레벨 셀(single-level cell(SLC)) 또는 멀티-레벨 셀(multi-level cell(MLC))로 구현될 수 있다. 상기 SLC는 1-비트에 상응하는 정보를 저장할 수 있고, 상기 MLC는 적어도 2-비트의 상응하는 정보를 저장할 수 있다.Each of the plurality of memory cells may be implemented as a single-level cell (SLC) or a multi-level cell (MLC). The SLC may store information corresponding to a 1-bit, and the MLC may store at least 2-bit corresponding information.

프로그램(program) 동작은 페이지(page) 단위로 수행되고, 이레이즈(erase) 동작은 블록(block) 단위로 수행된다.The program operation is performed on a page basis and the erase operation is performed on a block basis.

플래시 메모리 장치의 모든 블록은 사용자가 데이터를 라이트하거나 리드할 수 있는 사용자 저장 영역과 상기 사용자가 사용할 수 없는 비사용자 저장 영역으로 구분될 수 있다.All blocks of the flash memory device can be divided into a user storage area where the user can write or read data and a non-user storage area that the user can not use.

상기 사용자 저장 영역과 상기 비사용자 저장 영역 각각의 크기는 상기 플래시 메모리 장치의 공장 출하시 셋팅된다.The size of each of the user storage area and the non-user storage area is set at the factory of the flash memory device.

본 발명이 이루고자 하는 기술적인 과제는 변경된 사용자 영역 정보에 기초하여 비휘발성 메모리 시스템의 사용자 저장 영역의 크기를 제어하는 비휘발성 메모리 시스템 및 상기 비휘발성 메모리 시스템의 적응적 사용자 저장 영역 조절 방법을 제공하는 것이다.According to an aspect of the present invention, there is provided a nonvolatile memory system for controlling a size of a user storage area of a nonvolatile memory system based on changed user area information and a method for adjusting an adaptive user storage area of the nonvolatile memory system will be.

본 발명의 실시 예에 따른 비휘발성 메모리 시스템의 적응적 사용자 저장 영역 조절 방법은 호스트가 사용자 영역 정보 요청 명령을 상기 비휘발성 메모리 시스템으로 전송하는 단계, 상기 호스트가 상기 비휘발성 메모리 시스템으로부터 전송된 사용자 영역 정보를 수신하는 단계, 상기 호스트가 상기 사용자 영역 정보를 변경하는 단계와, 상기 호스트가 상기 변경된 사용자 영역 정보를 상기 비휘발성 메모리 시스템에 설정하기 위하여 사용자 영역 정보 설정 명령을 상기 비휘발성 메모리 시스템으로 전송하는 단계를 포함하며, 상기 비휘발성 메모리 시스템은 상기 사용자 영역 정보 설정 명령에 응답하여 전체 메모리 저장 영역 중 사용자 저장 영역의 크기를 제어할 수 있다.A method for adjusting an adaptive user storage area in a non-volatile memory system according to an embodiment of the present invention includes the steps of: a host transmitting a user area information request command to the non-volatile memory system; The method comprising: receiving area information; changing the user area information by the host; and setting a user area information setting command to the non-volatile memory system to set the changed user area information in the non-volatile memory system The non-volatile memory system may control the size of the user storage area of the entire memory storage area in response to the user area information setting command.

상기 사용자 영역 정보 요청 명령 및 상기 사용자 영역 정보 설정 명령 각각은 벤더 스페스픽 명령(vendor specific command)일 수 있다.Each of the user area information request command and the user area information setting command may be a vendor specific command.

상기 사용자 영역 정보는 사용자 저장 영역 용량 대비 비사용자 저장 영역 용량의 비율, 전체 저장 용량 대비 상기 사용자 저장 영역 용량의 비율, 상기 전체 저장 용량 대비 상기 비사용자 저장 영역 용량의 비율, 상기 사용자 저장 영역 용량, 및 상기 비사용자 저장 영역 용량 중에서 적어도 하나를 포함할 수 있다.Wherein the user area information includes at least one of a ratio of a user storage area capacity to a non-user storage area capacity, a ratio of the user storage area capacity to an overall storage capacity, a ratio of the non- And the non-user storage area capacity.

상기 방법은 상기 호스트가 상기 변경된 사용자 영역 정보에 따라 상기 전체 메모리 저장 영역 중에서 상기 사용자 저장 영역을 제외한 비사용자 저장 영역에 상응하는 논리 주소들을 갱신하는 단계를 더 포함할 수 있다.The method may further include the step of the host updating the logical addresses corresponding to the non-user storage area excluding the user storage area in the entire memory storage area according to the changed user area information.

상기 비휘발성 메모리 시스템은 상기 변경된 사용자 영역 정보에 따라 주소 매핑 테이블을 변경할 수 있다.The non-volatile memory system may change the address mapping table according to the changed user area information.

상기 사용자 영역 정보를 변경하는 단계는 상기 호스트가 사용자의 요청에 따라 상기 비휘발성 메모리 시스템의 상기 사용자 영역 정보를 디스플레이하는 단계, 상기 호스트가 상기 사용자로부터 상기 비휘발성 메모리 시스템의 상기 사용자 영역 정보의 변경 요청을 수신하는 단계와, 상기 호스트가 상기 변경 요청에 응답하여 상기 사용자 영역 정보를 변경하는 단계를 포함할 수 있다.Wherein the step of modifying the user area information comprises the steps of the host displaying the user area information of the non-volatile memory system at the request of the user, the host changing the user area information of the non-volatile memory system Receiving the request; and changing the user area information in response to the change request by the host.

상기 사용자 영역 정보를 변경하는 단계는 상기 호스트가 소정의 관리 파라미터 대 사용자 영역 정보에 대한 복수의 엔트리를 저장하는 테이블에서 어느 하나의 사용자 영역 정보를 상기 변경된 사용자 영역 정보로 선택하는 단계를 포함할 수 있다.The step of changing the user area information may include selecting one of the user area information as the changed user area information in the table in which the host stores a plurality of entries for predetermined management parameter versus user area information have.

상기 소정의 관리 파라미터는 순차 읽기 성능(sequential read performance), 임의 읽기 성능(random read performance), 순차 쓰기 성능(sequential write performance), 최대 레이턴시, 수명, 및 데이터 쓰기량 중에서 어느 하나를 포함할 수 있다.The predetermined management parameter may include any one of a sequential read performance, a random read performance, a sequential write performance, a maximum latency, a lifetime, and a data write amount .

상기 사용자 영역 정보를 변경하는 단계는 상기 호스트가 미리 설정된 복수의 사용자 영역 정보를 저장하는 테이블에서 어느 하나의 사용자 영역 정보를 상기 변경된 사용자 영역 정보로 선택하는 단계를 포함할 수 있다.The step of changing the user area information may include selecting any one of the user area information as the changed user area information in the table storing the plurality of user area information preset by the host.

상기 어느 하나의 사용자 영역 정보는 상기 비휘발성 메모리 시스템에 대한 접근 빈도, 상기 비휘발성 메모리 시스템에 대한 데이터 사용량, 및 상기 비휘발성 메모리 시스템에 대한 데이터 쓰기량 중에서 적어도 어느 하나에 따라, 상기 테이블에서 적응적으로 선택될 수 있다.Wherein the one of the user area information is adapted in accordance with at least one of an access frequency for the non-volatile memory system, a data usage amount for the non-volatile memory system, and a data write amount for the non-volatile memory system, It can be selected as a target.

상기 비휘발성 메모리 시스템은 eMMC(embedded multimedia card) UFS (universal flash storage) 또는 SSD(solid state drive) 등 플래시 메모리 컨트롤러를 포함하는 플래시 기반 저장 장치일 수 있다.The non-volatile memory system may be a flash-based storage device including a flash memory controller such as an embedded multimedia card (eMMC) universal flash storage (UFS) or a solid state drive (SSD).

본 발명의 실시 예에 따른 비휘발성 메모리 시스템은 사용자 저장 영역과 비사용자 저장 영역을 포함하는 비휘발성 메모리 장치와, 호스트로부터 출력된 사용자 영역 정보 요청 명령에 응답하여 사용자 영역 정보를 상기 호스트로 전송하고, 상기 호스트로부터 출력된 변경된 사용자 영역 정보에 따라 사용자 영역의 크기를 제어하는 주소 매핑 모듈을 포함할 수 있다.A nonvolatile memory system according to an embodiment of the present invention includes a nonvolatile memory device including a user storage area and a non-user storage area, and transmits user area information to the host in response to a user area information request command output from the host And an address mapping module for controlling the size of the user area according to the changed user area information output from the host.

상기 주소 매핑 모듈은 상기 변경된 사용자 영역 정보에 따라 주소 매핑 테이블을 변경할 수 있다.The address mapping module may change the address mapping table according to the changed user area information.

상기 사용자 영역 정보는 사용자 저장 영역 용량 대비 비사용자 저장 영역 용량의 비율, 전체 저장 용량 대비 상기 사용자 저장 영역 용량의 비율, 상기 전체 저장 용량 대비 상기 비사용자 저장 영역 용량의 비율, 상기 사용자 저장 영역 용량, 및 상기 비사용자 저장 영역 용량 중에서 적어도 하나를 포함할 수 있다.Wherein the user area information includes at least one of a ratio of a user storage area capacity to a non-user storage area capacity, a ratio of the user storage area capacity to an overall storage capacity, a ratio of the non- And the non-user storage area capacity.

상기 비휘발성 메모리 시스템은 eMMC(embedded multimedia card) UFS (universal flash storage) 또는 SSD(solid state drive) 등 플래시 메모리 컨트롤러를 포함하는 플래시 기반 저장 장치일 수 있다.The non-volatile memory system may be a flash-based storage device including a flash memory controller such as an embedded multimedia card (eMMC) universal flash storage (UFS) or a solid state drive (SSD).

본 발명의 실시 예에 따른 컴퓨팅 시스템은 파일 서버의 입출력 데이터를 모니터링하는 호스트와, 전체 메모리 저장 영역을 포함하며, 상기 전체 메모리 저장 영역 중에서 사용자 저장 영역에 대한 정보를 나타내는 사용자 영역 정보를 상기 호스트로 전송하는 비휘발성 메모리 시스템을 포함하며, 상기 호스트는 모니터링 결과와 상기 사용자 영역 정보 중에서 적어도 하나에 기초하여 상기 사용자 영역 정보를 변경하고, 상기 비휘발성 메모리 장치의 상기 사용자 저장 영역의 크기를 제어하는 변경된 사용자 영역 정보를 상기 비휘발성 메모리 시스템으로 전송할 수 있다.The computing system according to an embodiment of the present invention includes a host that monitors input / output data of a file server, and an entire memory storage area. The computing system includes user area information indicating a user storage area in the entire memory storage area, Volatile memory system, wherein the host alters the user area information based on at least one of the monitoring result and the user area information, and controls the size of the modified area of the non-volatile memory device User area information to the non-volatile memory system.

본 발명의 실시 예에 따른 호스트는 비휘발성 메모리 시스템의 사용자 영역 정보를 이용하여 상기 비휘발성 메모리 시스템의 전체 메모리 저장 영역 중에서 사용자 저장 영역의 크기를 제어할 수 있는 효과가 있다.The host according to the embodiment of the present invention has the effect of controlling the size of the user storage area in the entire memory storage area of the nonvolatile memory system using the user area information of the nonvolatile memory system.

본 발명의 실시 예에 따른 비휘발성 메모리 시스템은 상기 호스트로부터 변경된 사용자 영역 정보에 따라 상기 사용자 저장 영역의 크기를 변경할 수 있으므로, 상기 비휘발성 메모리 시스템의 성능 저하와 내구력 저하를 방지할 수 있는 효과가 있다.The nonvolatile memory system according to the embodiment of the present invention can change the size of the user storage area according to the changed user area information from the host so that the performance of the nonvolatile memory system can be prevented from being lowered and the durability being lowered have.

본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 상세한 설명이 제공된다.
도 1은 본 발명의 일 실시 예에 따른 전자 시스템의 개략적인 블록도이다.
도 2는 본 발명의 다른 실시 예에 따른 전자 시스템의 개략적인 블록도이다.
도 3은 도 1에 도시된 호스트가 변경된 사용자 영역 정보에 따라 논리 주소들을 갱신하는 동작을 설명하기 위한 개념도이다.
도 4는 도 1에 도시된 비휘발성 메모리 장치에 대응되는 메모리 맵을 나타낸다.
도 5는 도 1 또는 도 2에 도시된 호스트가 변경된 사용자 영역 정보를 생성하는 동작을 설명하기 위한 일 실시 예를 나타낸다.
도 6은 도 1 또는 도 2에 도시된 호스트가 변경된 사용자 영역 정보를 생성하는 동작을 설명하기 위한 다른 실시 예를 나타낸다.
도 7은 도 1 또는 도 2에 도시된 주소 매핑 모듈이 주소 매핑 테이블을 변경하는 동작을 설명하기 위한 개념도를 나타낸다.
도 8부터 도 11은 도 1 또는 도 2의 전자 시스템의 동작들을 설명하기 위한 플로우 차트들이다.
도 12는 본 발명의 또 다른 실시 예에 따른 전자 시스템의 블록도를 나타낸다.
도 13는 본 발명의 또 다른 실시 예에 따른 전자 시스템의 블록도를 나타낸다.
도 14는 본 발명의 또 다른 실시 예에 따른 전자 시스템의 블록도를 나타낸다.
도 15는 본 발명의 또 다른 실시 예에 따른 전자 시스템의 블록도를 나타낸다.
도 16은 본 발명의 실시 예에 따른 컴퓨터 네트워크의 실시 예를 나타낸다.
도 17은 도 16의 컴퓨터 네트워크에 포함된 호스트가 비휘발성 메모리 시스템의 사용자 저장 영역의 크기를 제어하는 방법을 설명하기 위한 플로우차트이다.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS In order to more fully understand the drawings recited in the detailed description of the present invention, a detailed description of each drawing is provided.
1 is a schematic block diagram of an electronic system according to an embodiment of the present invention.
2 is a schematic block diagram of an electronic system according to another embodiment of the present invention.
3 is a conceptual diagram for explaining an operation of the host shown in FIG. 1 to update logical addresses according to changed user area information.
Fig. 4 shows a memory map corresponding to the nonvolatile memory device shown in Fig.
FIG. 5 shows an embodiment for explaining the operation of generating the changed user area information by the host shown in FIG. 1 or FIG. 2. FIG.
Fig. 6 shows another embodiment for explaining the operation of generating the changed user area information by the host shown in Fig. 1 or Fig.
FIG. 7 is a conceptual diagram for explaining an operation of changing the address mapping table by the address mapping module shown in FIG. 1 or FIG. 2. FIG.
Figs. 8 to 11 are flowcharts for explaining the operations of the electronic system of Fig. 1 or Fig.
12 shows a block diagram of an electronic system according to another embodiment of the present invention.
13 shows a block diagram of an electronic system according to another embodiment of the present invention.
14 shows a block diagram of an electronic system according to another embodiment of the present invention.
15 shows a block diagram of an electronic system according to another embodiment of the present invention.
16 shows an embodiment of a computer network according to an embodiment of the present invention.
17 is a flowchart illustrating a method of controlling a size of a user storage area of a nonvolatile memory system by a host included in the computer network of FIG.

본 명세서에 개시되어 있는 본 발명의 개념에 따른 실시 예들에 대해서 특정한 구조적 또는 기능적 설명들은 단지 본 발명의 개념에 따른 실시 예들을 설명하기 위한 목적으로 예시된 것으로서, 본 발명의 개념에 따른 실시 예들은 다양한 형태들로 실시될 수 있으며 본 명세서에 설명된 실시 예들에 한정되지 않는다.It is to be understood that the specific structural or functional descriptions of embodiments of the present invention disclosed herein are only for the purpose of illustrating embodiments of the inventive concept, But may be embodied in many different forms and is not limited to the embodiments set forth herein.

본 발명의 개념에 따른 실시 예들은 다양한 변경들을 가할 수 있고 여러 가지 형태들을 가질 수 있으므로 실시 예들을 도면에 예시하고 본 명세서에 상세하게 설명하고자 한다. 그러나, 이는 본 발명의 개념에 따른 실시 예들을 특정한 개시형태들에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물, 또는 대체물을 포함한다.Embodiments in accordance with the concepts of the present invention are capable of various modifications and may take various forms, so that the embodiments are illustrated in the drawings and described in detail herein. It should be understood, however, that it is not intended to limit the embodiments according to the concepts of the present invention to the particular forms disclosed, but includes all modifications, equivalents, or alternatives falling within the spirit and scope of the invention.

제1 또는 제2 등의 용어를 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만, 예컨대 본 발명의 개념에 따른 권리 범위로부터 이탈되지 않은 채, 제1구성요소는 제2구성요소로 명명될 수 있고, 유사하게 제2구성요소는 제1구성요소로도 명명될 수 있다.The terms first, second, or the like may be used to describe various elements, but the elements should not be limited by the terms. The terms are intended to distinguish one element from another, for example, without departing from the scope of the invention in accordance with the concepts of the present invention, the first element may be termed the second element, The second component may also be referred to as a first component.

어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.It is to be understood that when an element is referred to as being "connected" or "connected" to another element, it may be directly connected or connected to the other element, . On the other hand, when an element is referred to as being "directly connected" or "directly connected" to another element, it should be understood that there are no other elements in between. Other expressions that describe the relationship between components, such as "between" and "between" or "neighboring to" and "directly adjacent to" should be interpreted as well.

본 명세서에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 설시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. The singular expressions include plural expressions unless the context clearly dictates otherwise. In this specification, the terms "comprises ", or" having ", or the like, specify that there is a stated feature, number, step, operation, , Steps, operations, components, parts, or combinations thereof, as a matter of principle.

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless defined otherwise, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs. Terms such as those defined in commonly used dictionaries are to be interpreted as having a meaning consistent with the meaning of the context in the relevant art and, unless explicitly defined herein, are to be interpreted as ideal or overly formal Do not.

이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시 예를 설명함으로써, 본 발명을 상세히 설명한다.BEST MODE FOR CARRYING OUT THE INVENTION Hereinafter, the present invention will be described in detail with reference to the preferred embodiments of the present invention with reference to the accompanying drawings.

도 1은 본 발명의 일 실시 예에 따른 전자 시스템의 개략적인 블록도이다.1 is a schematic block diagram of an electronic system according to an embodiment of the present invention.

도 1을 참조하면, 전자 시스템(1A)은 호스트(10A)와 비휘발성 메모리 시스템(20)을 포함할 수 있다.Referring to FIG. 1, the electronic system 1A may include a host 10A and a non-volatile memory system 20.

전자 시스템(1A)은 비휘발성 메모리 시스템(20)의 전체 메모리 저장 영역 중에서 사용자 저장 영역을 적응적으로 제어할 수 있다.The electronic system 1A may adaptively control the user storage area in the entire memory storage area of the nonvolatile memory system 20. [

전자 시스템(1A)은 PC(personal computer), 데이터 서버, 네트워크-결합 스토리지(network-attached storage(NAS)), 또는 휴대용 전자 장치로 구현될 수 있다.The electronic system 1A may be implemented as a personal computer (PC), a data server, a network-attached storage (NAS), or a portable electronic device.

상기 휴대용 전자 장치는 랩탑 컴퓨터(laptop computer), 이동 전화기, 스마트 폰(smart phone), 태블릿(tablet) PC, PDA(personal digital assistant), EDA (enterprise digital assistant), 디지털 스틸 카메라(digital still camera), 디지털 비디오 카메라(digital video camera), PMP(portable multimedia player), PND(personal navigation device 또는 portable navigation device), 휴대용 게임 콘솔(handheld game console), 또는 e-북(e-book)으로 구현될 수 있다.The portable electronic device may be a laptop computer, a mobile phone, a smart phone, a tablet PC, a personal digital assistant (PDA), an enterprise digital assistant (EDA), a digital still camera, A digital video camera, a portable multimedia player (PMP), a personal navigation device or portable navigation device (PND), a handheld game console, or an e-book have.

호스트(10A)는 사용자 영역 정보 요청 명령(CMD1)을 비휘발성 메모 시스템(20)으로 전송하고, 비휘발성 메모리 시스템(20)은 사용자 영역 요청 명령(CMD1)에 응답하여 사용자 영역 정보(URI)를 호스트(10A)로 전송할 수 있다.The host 10A transmits the user area information request command CMD1 to the nonvolatile memo system 20 and the nonvolatile memory system 20 sends the user area information URI in response to the user area request command CMD1 To the host 10A.

호스트(10A)는 사용자 영역 정보(URI)를 변경하고, 변경된 사용자 영역 정보(C_URI)를 비휘발성 메모리 시스템(20)에 설정하기 위한 사용자 영역 정보 설정 명령(CMD2)를 생성하고, 변경된 사용자 영역 정보(C_URI)와 사용자 영역 정보 설정 명령(CMD2)을 비휘발성 메모리 시스템(20)으로 전송할 수 있다. 호스트(10A 또는 10B)가 변경된 사용자 영역 정보(URI)를 생성하는 동작은 도 5 및 도 6을 참조하여 상세히 설명될 것이다.The host 10A generates a user area information setting command CMD2 for changing the user area information URI and setting the changed user area information C_URI in the nonvolatile memory system 20, (C_URI) and the user area information setting command (CMD2) to the nonvolatile memory system 20. The operation of the host 10A or 10B to generate the changed user area information (URI) will be described in detail with reference to Figs. 5 and 6. Fig.

실시 예에 따라, 호스트(10A)는 변경된 사용자 영역 정보(C_URI)가 포함된 사용자 영역 정보 설정 명령(CMD2)을 비휘발성 메모리 시스템(20)으로 전송할 수 있다.According to the embodiment, the host 10A can transmit the user area information setting command CMD2 including the changed user area information C_URI to the nonvolatile memory system 20.

비휘발성 메모리 시스템(20)은 사용자 영역 정보 설정 명령(CMD2)에 응답하여 비휘발성 메모리 시스템(20)의 전체 메모리 저장 영역 중 사용자 저장 영역의 크기를 제어할 수 있다.The non-volatile memory system 20 may control the size of the user storage area of the entire memory storage area of the non-volatile memory system 20 in response to the user area information setting command CMD2.

즉, 비휘발성 메모리 시스템(20)은 호스트(10A)로부터 전송된 변경된 사용자 영역 정보(C_URI)를 이용하여 비휘발성 메모리 시스템(20)의 상기 전체 메모리 저장 영역 중에서 상기 사용자 저장 영역의 크기를 변경하여 설정할 수 있다.That is, the non-volatile memory system 20 changes the size of the user storage area in the entire memory storage area of the nonvolatile memory system 20 using the changed user area information C_URI sent from the host 10A Can be set.

또한, 호스트(10A)는 변경된 사용자 영역 정보(C_URI)에 따라 상기 전체 메모리 저장 영역 중에서 상기 사용자 저장 영역을 제외한 나머지 저장 영역, 예컨대 비사용자 저장 영역에 상응하는 논리 주소 공간을 갱신할 수 있다.Also, the host 10A may update the logical address space corresponding to the remaining storage area excluding the user storage area, for example, the non-user storage area, from among the entire memory storage areas according to the changed user area information C_URI.

실시 예에 따라, 각 명령(CMD1과 CMD2)은 전자 시스템(1A)의 초기화 동작 동안 생성될 수도 있고 동작 중에 실시간으로 생성될 수 있다.According to the embodiment, each of the instructions CMD1 and CMD2 may be generated during the initialization operation of the electronic system 1A and may be generated in real time during operation.

다른 실시 예에 따라, 각 명령(CMD1과 CMD2)은 벤더 스페스픽 명령(vendor specific command)일 수 있다.According to another embodiment, each of the instructions CMD1 and CMD2 may be a vendor specific command.

도 3은 도 1에 도시된 호스트가 변경된 사용자 영역 정보에 따라 논리 주소들을 갱신하는 동작을 설명하기 위한 개념도이다.3 is a conceptual diagram for explaining an operation of the host shown in FIG. 1 to update logical addresses according to changed user area information.

도 1 및 도 3을 참조하면, 호스트(10A)는 비휘발성 메모리 시스템(20)의 상기 전체 메모리 저장 영역을 제어하기 위해 상기 전체 메모리 저장 영역의 물리 주소들에 대응되는 논리 주소들(LSN)을 생성할 수 있다. 논리 주소들(LSN)은 선형적(또는 연속적, linear)인 특성을 갖을 수 있다. 예컨대, 논리 주소들(LSN)은 논리 섹터 넘버, 또는 논리 블록 넘버일 수 있다.1 and 3, the host 10A may store logical addresses (LSN) corresponding to the physical addresses of the entire memory storage area to control the entire memory storage area of the nonvolatile memory system 20 Can be generated. Logical addresses (LSN) may have linear (or linear) characteristics. For example, the logical addresses LSN may be a logical sector number, or a logical block number.

비휘발성 메모리 시스템(20)의 상기 전체 메모리 저장 영역 중에서 상기 사용자 저장 영역 및 상기 비사용 저장 영역 각각의 물리 주소들은 변경된 사용자 영역 정보(C_URI)에 따라 변경될 수 있다.Among the entire memory storage areas of the nonvolatile memory system 20, the physical addresses of the user storage area and the unused storage area may be changed according to the changed user area information (C_URI).

따라서, 호스트(10A)는 변경된 사용자 영역 정보(C_URI)에 따라 변경된 물리 주소들에 대응되는 논리 주소들을 갱신할 필요가 있다.Therefore, the host 10A needs to update the logical addresses corresponding to the changed physical addresses according to the changed user area information (C_URI).

도 3에 도시된 바와 같이 호스트(10A)는 변경된 사용자 영역 정보(C_URI)에 따라 비사용자 저장 영역에 상응하는 논리 주소들(LSN-N)을 증가하거나 감소할 수 있다.As shown in FIG. 3, the host 10A may increase or decrease the logical addresses LSN-N corresponding to the non-user storage area according to the changed user area information C_URI.

호스트(10A)는 프로세서(13), 메모리(15), 및 호스트 인터페이스(17)을 포함할 수 있다.The host 10A may include a processor 13, a memory 15, and a host interface 17.

실시 예에 따라, 호스트(10A)는 애플리케이션 프로세서 또는 모바일 애플리케이션 프로세서를 의미할 수 있다.According to an embodiment, the host 10A may refer to an application processor or a mobile application processor.

프로세서(13)는 버스(11)를 통해 메모리(15) 및/또는 호스트 인터페이스(17)의 동작을 제어할 수 있다.The processor 13 may control the operation of the memory 15 and / or the host interface 17 via the bus 11.

프로세서(13)는 본 발명의 실시 예에 따른 비휘발성 메모리 시스템(20)의 상기 전체 메모리 저장 영역 중에서 상기 사용자 저장 영역을 적응적으로 제어하는 방법에 관련된 동작(operation) 또는 기능(function)을 수행할 수 있는 프로그램, 예컨대 운영 체제(operating system(OS)), 애플리케이션 프로그램(application program), 또는 API(application programming interface)를 실행시킬 수 있다.The processor 13 performs an operation or function related to a method for adaptively controlling the user storage area in the entire memory storage area of the nonvolatile memory system 20 according to the embodiment of the present invention For example, an operating system (OS), an application program, or an application programming interface (API).

메모리(15)는 비휘발성 메모리 시스템(20)의 상기 전체 메모리 저장 영역 중에서 상기 사용자 저장 영역을 적응적으로 제어하는 방법에 관련된 프로그램을 저장할 수 있는 동작 메모리(operation memory)를 의미할 수 있고, 휘발성 메모리 장치 또는 불휘발성 메모리 장치로 구현될 수 있다.The memory 15 may refer to an operation memory capable of storing a program related to a method of adaptively controlling the user storage area of the entire memory storage area of the nonvolatile memory system 20, A memory device, or a non-volatile memory device.

상기 휘발성 메모리 장치는 DRAM(dynamic random access memory), SRAM (static random access memory), T-RAM(thyristor RAM), Z-RAM(zero capacitor RAM), 또는 TTRAM(Twin Transistor RAM)으로 구현될 수 있다.The volatile memory device may be implemented in a dynamic random access memory (DRAM), a static random access memory (SRAM), a thyristor RAM (T-RAM), a zero capacitor RAM (Z-RAM), or a twin transistor RAM .

상기 불휘발성 메모리 장치는 EEPROM(Electrically Erasable Programmable Read-Only Memory), 플래시(flash) 메모리, MRAM(Magnetic RAM), 스핀전달토크 MRAM(Spin-Transfer Torque(STT)-MRAM), Conductive bridging RAM(CBRAM), FeRAM (Ferroelectric RAM), PRAM(Phase change RAM), 저항 메모리(Resistive RAM: RRAM), 나노튜브 RRAM(Nanotube RRAM), 폴리머 RAM(Polymer RAM: PoRAM), 나노 부유 게이트 메모리(Nano Floating Gate Memory: NFGM), 홀로그래픽 메모리 (holographic memory), 분자 전자 메모리 소자(Molecular Electronics Memory Device), 또는 절연 저항 변화 메모리(Insulator Resistance Change Memory)로 구현될 수 있다.The nonvolatile memory device may be an electrically erasable programmable read-only memory (EEPROM), a flash memory, a magnetic RAM (MRAM), a spin transfer torque (MRT) -MRAM, a conductive bridging RAM ), FeRAM (Ferroelectric RAM), PRAM (Phase change RAM), Resistive RAM (RRAM), Nanotube RRAM, Polymer RAM (PoRAM), Nano Floating Gate Memory : NFGM, a holographic memory, a Molecular Electronics Memory Device, or an Insulator Resistance Change Memory.

호스트 인터페이스(17)는 호스트(10A)와 비휘발성 메모리 시스템(20) 사이에서 주고받는 신호(또는 데이터)를 인터페이싱할 수 있다.The host interface 17 can interface signals (or data) to be exchanged between the host 10A and the nonvolatile memory system 20.

호스트 인터페이스(17)는 상기 인터페이싱을 위하여 인터페이스 프로토콜을 구비할 수 있다. 예컨대, 상기 인터페이스 프로토콜은 UHS(UHS-I 또는 UHS-II), PCI-E(peripheral component interconnect - express), ATA(Advanced Technology Attachment), SATA(serial ATA), PATA(parallel ATA), 또는 SAS(serial attached SCSI)와 같은 인터페이스 프로토콜일 수 있다. 또한, 상기 인터페이스 프로토콜은 USB(Universal Serial Bus), MMC(multi-media card), ESDI(enhanced small disk interface), 또는 IDE(Integrated Drive Electronics) 등에 적합한 프로토콜일 수 있다.The host interface 17 may include an interface protocol for the interfacing. For example, the interface protocol may be one of UHS (UHS-I or UHS-II), peripheral component interconnect-express (PCI-E), Advanced Technology Attachment (ATA), serial ATA, PATA serial attached SCSI). The interface protocol may be a protocol suitable for a USB (Universal Serial Bus), a multi-media card (MMC), an enhanced small disk interface (ESDI), or an integrated drive electronics (IDE)

비휘발성 메모리 시스템(20)은 메모리 컨트롤러(100)와 비휘발성 메모리 장치(200)를 포함할 수 있다.Non-volatile memory system 20 may include memory controller 100 and non-volatile memory device 200.

비휘발성 메모리 시스템(20)은 임베디드 멀티미디어 카드(embedded multimedia card(eMMC)), 유니버설 플래시 스토리지 (universal flash storage(UFS)), 솔리드 스테이트 드라이브(solid state drive(SSD)), 또는 레이드(Redundant Array of Independent Disks(RAID) 혹은 Redundant Array of Inexpensive Disks(RAID))일 수 있으나, 반드시 이에 한정되지 않는다. 예컨대, 비휘발성 메모리 시스템(20)은 eMMC, UFC, 또는 SSD 등 플래시 메모리 컨트롤러를 포함한 모든 플래시 기반 저장 장치일 수 있다.The non-volatile memory system 20 may be an embedded multimedia card (eMMC), a universal flash storage (UFS), a solid state drive (SSD), or a Redundant Array of Independent Disks (RAID), or Redundant Array of Inexpensive Disks (RAID)). For example, the non-volatile memory system 20 may be any flash based storage device, including a flash memory controller such as an eMMC, UFC, or SSD.

비휘발성 메모리 장치(200)의 전체 메모리 저장 영역 중에서 사용자 저장 영역의 크기는 호스트(10A)의 제어에 따라 메모리 컨트롤러(100), 예컨대 주소 매핑 모듈(130)을 통해서 적응적으로 제어될 수 있다.The size of the user storage area in the entire memory storage area of the nonvolatile memory device 200 may be adaptively controlled through the memory controller 100, for example, the address mapping module 130, under the control of the host 10A.

비휘발성 메모리 장치(200)는 플래시 메모리 장치일 수 있으나, 이에 한정되지 않으며, PRAM, MRAM, ReRAM, 또는 FeRAM 장치일 수 있다. 비휘발성 메모리 장치(200)가 상기 플래시 메모리 장치인 경우, 비휘발성 메모리 장치(200)는 플로팅 게이트 방식의 NAND 플래시 메모리 장치 또는 CTF(Charge Trap Flash) 방식의 NAND 플래시 메모리 장치일 수 있다. 비휘발성 메모리 장치(200)의 메모리 셀 트랜지스터들은 2차원적으로 배열된 구조를 가질 수도 있고, 또는 3차원적으로 배열된 구조를 가질 수도 있다.Non-volatile memory device 200 may be a flash memory device, but is not limited thereto, and may be a PRAM, MRAM, ReRAM, or FeRAM device. When the nonvolatile memory device 200 is the flash memory device, the nonvolatile memory device 200 may be a floating gate type NAND flash memory device or a CTF (Charge Trap Flash) type NAND flash memory device. The memory cell transistors of the nonvolatile memory device 200 may have a two-dimensionally arranged structure or a three-dimensionally arranged structure.

도 4는 도 1에 도시된 비휘발성 메모리 장치에 대응되는 메모리 맵을 나타낸다.Fig. 4 shows a memory map corresponding to the nonvolatile memory device shown in Fig.

도 1, 도 3, 및 도 4를 참조하면, 비휘발성 메모리 시스템(20), 예컨대 비휘발성 메모리 장치(200)의 메모리 셀 어레이(210)는 데이터를 저장할 수 있는 전체 메모리 저장 영역(DSR) 또는 저장 공간(DSR)을 제공할 수 있다. 도 3에서는 메모리 셀 어레이(210)가 하나만 도시되어있지만, 반드시 이에 한정되지 않는다.1, 3 and 4, a memory cell array 210 of a non-volatile memory system 20, for example, a non-volatile memory device 200, may include an entire memory storage area (DSR) Storage space (DSR). Although only one memory cell array 210 is shown in FIG. 3, it is not limited thereto.

전체 메모리 저장 영역(DSR)은 사용자 저장 영역(user storage region(USR))과 비사용자 저장 영역(nonuser storage region(NUSR))을 포함할 수 있다.The entire memory storage area (DSR) may include a user storage area (USR) and a non-user storage area (NUSR).

사용자 저장 영역(USR)은 특정 데이터가 이미 저장된 사용된 저장 영역(used storage region)과 프로그램가능 가능한 자유 저장 영역(programmable free storage region)을 포함할 수 있다.The user storage area (USR) may include a used storage region in which specific data is already stored and a programmable free storage region.

비사용자 저장 영역(NUSR)은 비휘발성 메모리 시스템(20)을 관리하기 위한 메타 정보, 및 비휘발성 메모리 장치(200)의 특성이나 비휘발성 메모리 장치(200)의 효율적인 관리를 위하여 필요한 내부 동작(예컨대, 성능 조절, 머지, 웨어 레벨링, 가비지 컬렉션 등)에 관한 정보 등을 저장할 수 있다.The non-user storage area (NUSR) includes meta information for managing the non-volatile memory system 20 and internal operations necessary for efficient management of the characteristics of the non-volatile memory device 200 and the non-volatile memory device 200 , Performance control, merge, wear leveling, garbage collection, etc.).

비사용자 저장 영역(NUSR)은 호스트(10A)로부터 출력되는 신호(예컨대, 명령 또는 데이터) 또는 호스트(10A)로 입력되는 신호(예컨대, 명령 또는 데이터)를 임시로 저장할 수 있다.The non-user storage area (NUSR) may temporarily store a signal (e.g., command or data) output from the host 10A or a signal (e.g., command or data) input to the host 10A.

또한, 에러(또는 불량)가 사용자 저장 영역(USR)에 포함된 블록들에 발생할 때, 비사용자 저장 영역(NUSR)은 에러(또는 불량)가 발생된 블록들을 교체하는 예비 영역을 포함할 수 있다.In addition, when an error (or bad) occurs in the blocks included in the user storage area USR, the non-user storage area NUSR may include a spare area for replacing blocks in which an error (or bad) has occurred .

사용자 저장 영역(USR)의 크기는 변경된 사용자 영역 정보(C_URI)에 따라 증가하거나 감소할 수 있다. 사용자 저장 영역(USR)이 변경됨에 따라, 비사용자 저장 영역(NUSR)의 크기도 감소하거나 증가할 수 있다.The size of the user storage area USR may be increased or decreased according to the changed user area information C_URI. As the user storage area USR is changed, the size of the non-user storage area NUSR may also decrease or increase.

메모리 컨트롤러(100)는 비휘발성 메모리 시스템(20)의 동작을 전반적으로 제어할 수 있다. 즉, 메모리 컨트롤러(100)는 호스트(10A)와 비휘발성 메모리 시스템(20) 간의 신호(예컨대, 명령 또는 데이터) 교환을 제어할 수 있다.The memory controller 100 can control the operation of the nonvolatile memory system 20 in general. That is, the memory controller 100 may control the exchange of signals (e.g., command or data) between the host 10A and the non-volatile memory system 20. [

메모리 컨트롤러(100)는 주소 매핑 모듈(address mapping module; 130)을 포함할 수 있다.The memory controller 100 may include an address mapping module 130.

주소 매핑 모듈(130)은 사용자 영역 정보 요청 명령(CMD1)에 응답하여 사용자 영역 정보(URI)를 호스트(10A)로 전송할 수 있다.The address mapping module 130 may transmit the user area information (URI) to the host 10A in response to the user area information request command CMD1.

실시 예에 따라, 사용자 영역 정보(URI)는 비휘발성 메모리 시스템(20), 예컨대 비휘발성 메모리 장치(200)의 사용자 저장 영역(USR) 용량 대비 비사용자 저장 영역(NUSR) 용량의 비율, 전체 메모리 저장 영역(DSR) 용량(또는 전체 용량) 대비 사용자 저장 영역(USR) 용량의 비율, 전체 메모리 저장 영역(DSR) 용량 대비 비사용자 저장 영역(NUSR) 용량의 비율, 사용자 저장 영역(USR) 용량, 및 비사용자 저장 영역(NUSR) 용량 중에서 적어도 하나를 포함할 수 있다.According to an embodiment, the user area information (URI) may be a ratio of the user storage area (USR) capacity to the non-user storage area (NUSR) capacity of the non-volatile memory system 20, The ratio of user storage area (USR) capacity to DSR capacity (or total capacity), ratio of non-user storage area (NUSR) capacity to total memory storage area (DSR) capacity, And a non-user storage area (NUSR) capacity.

주소 매핑 모듈(130)은 사용자 영역 정보 설정 명령(CMD2)에 응답하여 호스트로(10)부터 전송된 변경된 사용자 영역 정보(C_URI)에 기초해 비휘발성 메모리 장치(200)의 전체 메모리 저장 영역(DSR) 중에서 사용자 저장 영역(USR)의 크기를 제어할 수 있다.The address mapping module 130 receives the entire memory storage area DSR of the nonvolatile memory device 200 based on the changed user area information C_URI sent from the host 10 in response to the user area information setting command CMD2, The size of the user storage area USR can be controlled.

도 4에 도시된 바와 같이, 주소 매핑 모듈(130)은 변경된 사용자 영역 정보(C_URI)에 따라 사용자 저장 영역(URI)을 증가시키거나 감소시킬 수 있다.As shown in FIG. 4, the address mapping module 130 may increase or decrease a user storage area (URI) according to the changed user area information (C_URI).

주소 매핑 모듈(100)은 주소 매핑 테이블(133)을 이용하여 논리 주소들과 비휘발성 메모리 장치(200), 예컨대 메모리 셀 어레이(210)의 물리 주소들을 매핑할 수 있다.The address mapping module 100 may map the logical addresses to physical addresses of the nonvolatile memory device 200, for example, the memory cell array 210, using the address mapping table 133.

주소 매핑 모듈(100)은 변경된 사용자 영역 정보(C_URI)에 따라 주소 매핑 테이블(133)을 변경할 수 있다. 주소 매핑 모듈(130)이 변경된 사용자 영역 정보(C_URI)에 따라 사용자 저장 영역(USR)의 크기를 제어하고, 이에 따라 주소 매핑 테이블(133)을 변경하는 동작은 도 4를 참조하여 상세히 설명될 것이다.The address mapping module 100 may change the address mapping table 133 according to the changed user area information C_URI. The operation of the address mapping module 130 to control the size of the user storage area USR according to the changed user area information C_URI and thereby change the address mapping table 133 will be described in detail with reference to FIG. .

본 명세서에서의 모듈(module)이라 함은 본 명세서에서 설명되는 각각의 명칭에 따른 기능과 동작을 수행할 수 있는 하드웨어를 의미할 수도 있고, 또는 특정한 기능과 동작을 수행할 수 있는 컴퓨터 프로그램 코드를 의미할 수도 있고, 또는 특정한 기능과 동작을 수행시킬 수 있는 컴퓨터 프로그램 코드가 탑재된 전자적 기록 매체, 예컨대 프로세서를 의미할 수 있다. 다시 말해, 모듈이란 본 발명의 기술적 사상을 수행하기 위한 하드웨어 및/또는 상기 하드웨어를 구동하기 위한 소프트웨어의 기능적 및/또는 구조적 결합을 의미할 수 있다. 각 모듈은 장치로 불릴 수도 있다.A module in this specification may mean hardware capable of performing the functions and operations according to the respective names described in this specification or may include computer program codes capable of performing specific functions and operations May mean an electronic recording medium, such as a processor, having computer program code embodied therein or capable of performing a particular function and operation. In other words, a module may mean a functional and / or structural combination of hardware for carrying out the technical idea of the present invention and / or software for driving the hardware. Each module may be referred to as a device.

실시 예에 따라, 주소 매핑 모듈(130)은 FTL(Flash Translation Layer)에 구현될 수 있다. 예컨대, 상기 FTL은 비휘발성 메모리 시스템(20)을 관리하기 위한 소프트웨어(또는 소프트웨어 계층)일 수 있다.According to an embodiment, the address mapping module 130 may be implemented in an FTL (Flash Translation Layer). For example, the FTL may be software (or software layer) for managing the non-volatile memory system 20.

도 2는 본 발명의 다른 실시 예에 따른 전자 시스템의 개략적인 블록도이다.2 is a schematic block diagram of an electronic system according to another embodiment of the present invention.

도 2 내지 도 4를 참조하면, 도 1의 전자 시스템(1A)와 달리, 도 2의 전자 시스템(1B)의 호스트(10B)는 프로세서(13), 메모리(15), 호스트 인터페이스(17), 입력 장치(18), 및 디스플레이(19)를 포함할 수 있다. 도 2에서는 입력 장치(18)와 디스플레이(19)가 호스트(10B) 내부에 구현되어 있으나, 반드시 이에 한정되지 않으며, 호스트(10B) 외부에 구현될 수 있다.2 to 4, the host 10B of the electronic system 1B of FIG. 2, unlike the electronic system 1A of FIG. 1, includes a processor 13, a memory 15, a host interface 17, An input device 18, and a display 19. [ Although the input device 18 and the display 19 are implemented in the host 10B in FIG. 2, the input device 18 and the display 19 may be implemented outside the host 10B.

호스트(10B)는 사용자 영역 정보 요청 명령(CMD1)을 비휘발성 메모 시스템(20)으로 전송하고, 비휘발성 메모리 시스템(20)은 사용자 영역 요청 명령(CMD1)에 응답하여 사용자 영역 정보(URI)를 호스트(10A)로 전송할 수 있다.The host 10B sends the user area information request command CMD1 to the nonvolatile memory system 20 and the nonvolatile memory system 20 sends the user area information URI in response to the user area request command CMD1 To the host 10A.

호스트(10B)는 입력 장치(18)로부터 전송된 사용자의 요청에 따라 사용자 영역 정보(URI)를 디스플레이(19)에 디스플레이할 수 있다.The host 10B may display the user area information (URI) on the display 19 in accordance with the user's request transmitted from the input device 18. [

호스트(10B)는 입력 장치(18)를 통해 상기 사용자로부터 입력된 사용자 영역 정보(URI)의 변경 요청을 수신하고, 상기 변경 요청에 응답하여 사용자 영역 정보(URI)를 변경하고, 변경된 사용자 영역 정보(C_URI)를 비휘발성 메모리 시스템(20)에 설정하기 위한 사용자 영역 정보 설정 명령(CMD2)를 생성하고, 변경된 사용자 영역 정보(C_URI)와 사용자 영역 정보 설정 명령(CMD2)을 비휘발성 메모리 시스템(20)으로 전송할 수 있다.The host 10B receives the change request of the user area information (URI) input from the user through the input device 18, changes the user area information (URI) in response to the change request, (C_URI) to the nonvolatile memory system 20, and transmits the changed user area information C_URI and the user area information setting command CMD2 to the nonvolatile memory system 20 ).

실시 예에 따라, 호스트(10B)는 변경된 사용자 영역 정보(C_URI)가 포함된 사용자 영역 정보 설정 명령(CMD2)을 비휘발성 메모리 시스템(20)으로 전송할 수 있다.According to the embodiment, the host 10B may transmit the user area information setting command CMD2 including the changed user area information (C_URI) to the nonvolatile memory system 20.

비휘발성 메모리 시스템(20)은 사용자 영역 정보 설정 명령(CMD2)에 응답하여 비휘발성 메모리 시스템(20)의 전체 메모리 저장 영역 중 사용자 저장 영역의 크기를 제어할 수 있다.The non-volatile memory system 20 may control the size of the user storage area of the entire memory storage area of the non-volatile memory system 20 in response to the user area information setting command CMD2.

즉, 비휘발성 메모리 시스템(20B)은 호스트(10B)로부터 전송된 변경된 사용자 영역 정보(C_URI)를 이용하여 비휘발성 메모리 시스템(20)의 상기 전체 메모리 저장 영역 중에서 상기 사용자 저장 영역의 크기를 변경하여 설정할 수 있다.That is, the non-volatile memory system 20B changes the size of the user storage area in the entire memory storage area of the nonvolatile memory system 20 using the changed user area information C_URI sent from the host 10B Can be set.

또한, 호스트(10B)는 변경된 사용자 영역 정보(C_URI)에 따라 전체 메모리 저장 영역(DSR) 중에서 비사용자 저장 영역(NUSR)에 상응하는 논리 주소들(LSN-N)을 갱신할 수 있다.In addition, the host 10B may update the logical addresses LSN-N corresponding to the non-user storage area (NUSR) in the entire memory storage area DSR according to the changed user area information C_URI.

각 명령(CMD1과 CMD2)은 전자 시스템(1B)의 초기화 동작 동안 생성될 수도 있고 동작 중에 실시간으로 생성될 수 있다.Each of the commands CMD1 and CMD2 may be generated during the initialization operation of the electronic system 1B and may be generated in real time during operation.

도 2의 호스트(10B)에 포함된 각 구성요소(13, 15, 17)의 구조 및 동작은 도 1에 도시된 호스트(10A)의 각 구성요소(13, 15, 17)의 구조 및 동작과 실질적으로 동일할 수 있다. 또한, 도 2의 전자 시스템(1B)의 비휘발성 메모리 시스템(20)의 구조 및 동작은 도 1의 전자 시스템(1A)의 비휘발성 메모리 시스템(20)의 구조 및 동작과 실질적으로 동일할 수 있다.The structure and operation of each component 13, 15, 17 included in the host 10B of FIG. 2 are the same as the structure and operation of each component 13, 15, 17 of the host 10A shown in FIG. May be substantially the same. In addition, the structure and operation of the non-volatile memory system 20 of the electronic system 1B of FIG. 2 may be substantially the same as the structure and operation of the non-volatile memory system 20 of the electronic system 1A of FIG. 1 .

도 5는 도 1 또는 도 2에 도시된 호스트가 변경된 사용자 영역 정보를 생성하는 동작을 설명하기 위한 일 실시 예를 나타낸다.FIG. 5 shows an embodiment for explaining the operation of generating the changed user area information by the host shown in FIG. 1 or FIG. 2. FIG.

도 1 내지 도 5를 참조하면, 호스트(10A 또는 10B, 집합적으로 10)는 비휘발성 메모리 시스템(20)으로부터 전송된 사용자 영역 정보(URI)를 변경하고, 변경된 사용자 영역 정보(C_URI)를 생성할 수 있다.1 to 5, the host 10A or 10B, collectively, 10 changes the user area information (URI) transmitted from the nonvolatile memory system 20 and generates the changed user area information (C_URI) can do.

보다 구체적으로, 호스트(10)는 소정의 관리 파라미터(P1 또는 P2) 대 사용자 영역 정보(USR)에 대한 복수의 엔트리(ENT1 내지 ENT5)를 저장하는 테이블(USR_T1)에서 어느 하나의 엔트리(ENT1, ENT2, ENT3, ENT4, 또는 ENT5)를 변경된 사용자 영역 정보(C_USR)로 선택할 수 있다. 도 5의 테이블(USR_T1)의 사용자 영역 정보(USR)의 데이터(Value3-1 내지 Value3-5)는 위에서 상술한 비율들 중에서 어느 하나의 비율에 관한 데이터(또는 값)일 수 있다.More specifically, the host 10 searches the table USR_T1 for storing a plurality of entries ENT1 to ENT5 for a predetermined management parameter (P1 or P2) versus user area information (USR) ENT2, ENT3, ENT4, or ENT5) as the changed user area information (C_USR). Data (Value3-1 to Value3-5) of the user area information USR of the table USR_T1 of FIG. 5 may be data (or values) relating to any one of the above ratios.

관리 파라미터(P1 또는 P2)는 순차 읽기 성능(sequential read performance), 임의 읽기 성능(random read performance), 순차 쓰기 성능(sequential write performance), 임의 쓰기 성능(random write performance), 최대 레이턴시, 수명, 및 데이터 쓰기량 중에서 어느 하나를 포함할 수 있다.The management parameters (P1 or P2) may be used for sequential read performance, random read performance, sequential write performance, random write performance, maximum latency, And a data write amount.

또한, 테이블(USR_T1)에 기재된 관리 파라미터(P1 또는 P2)에 대한 사용자 영역 정보(USR)의 각 데이터(Value3-1 내지 Value3-5)는 실험에 의해서 얻어지는 데이터일 수 있다.The data (Value3-1 to Value3-5) of the user area information USR with respect to the management parameter P1 or P2 described in the table USR_T1 may be data obtained by experiments.

따라서, 호스트(10)는 비휘발성 메모리 시스템(20)이 변경된 사용자 영역 정보에 따라 상기 사용자 저장 영역의 크기를 변경하도록 제어할 수 있으므로, 비휘발성 메모리 시스템의 성능 저하와 내구력 저하를 방지할 수 있는 효과가 있다.Therefore, the host 10 can control the nonvolatile memory system 20 to change the size of the user storage area in accordance with the changed user area information, so that the performance of the nonvolatile memory system can be prevented It is effective.

도 6은 도 1 또는 도 2에 도시된 호스트가 변경된 사용자 영역 정보를 생성하는 동작을 설명하기 위한 다른 실시 예를 나타낸다.Fig. 6 shows another embodiment for explaining the operation of generating the changed user area information by the host shown in Fig. 1 or Fig.

도 1 내지 도 4 및 도 6을 참조하면, 호스트(10)는 비휘발성 메모리 시스템(20)으로부터 전송된 사용자 영역 정보(URI)를 변경하고, 변경된 사용자 영역 정보(C_URI)를 생성할 수 있다.1 to 4 and 6, the host 10 can change the user area information (URI) transmitted from the nonvolatile memory system 20 and generate the changed user area information (C_URI).

보다 구체적으로, 호스트(10)는 미리 설정된 복수의 사용자 영역 정보(USR1 내지 USR5)를 저장하는 테이블(USR_T2)에서 어느 하나의 사용자 영역 정보(USR1, USR2, USR3, USR4, 또는 USR5)를 변경된 사용자 영역 정보(C_URI)로 선택할 수 있다.More specifically, the host 10 transmits any one of the user area information (USR1, USR2, USR3, USR4, or USR5) in the table USR_T2 storing a plurality of preset user area information USR1 to USR5 to the changed user Can be selected as the area information (C_URI).

미리 설정된 복수의 사용자 영역 정보(USR1 내지 USR5)는 위에서 상술한 비율들 중에서 어느 하나의 비율에 관한 데이터(또는 값)을 포함할 수 있다. 또한, 미리 설정된 복수의 사용자 영역 정보(USR1 내지 USR5)는 상술한 비율들 중에서 어느 하나의 비율에 관해 임의로 설정된 데이터(또는 값)일 수 있다. The predetermined plurality of pieces of user area information USR1 to USR5 may include data (or values) relating to any one of the ratios described above. The predetermined plurality of user area information USR1 to USR5 may be data (or value) arbitrarily set with respect to a ratio of any one of the above ratios.

실시 예에 따라, 호스트(10)는 비휘발성 메모리 시스템(20)에 대한 접근 빈도, 데이터 사용량, 및 데이터 쓰기량 중에서 적어도 어느 하나에 따라 테이블(USR_T2)에서 적응적으로 어느 하나의 사용자 영역 정보(USR1, USR2, USR3, USR4, 또는 USR5)를 변경된 사용자 영역 정보(C_URI)로 선택할 수 있다.According to the embodiment, the host 10 may adaptively store any one of the user area information (" USR_T2 ") in the table USR_T2 according to at least one of an access frequency, a data usage amount, and a data writing amount to the nonvolatile memory system 20. [ USR1, USR2, USR3, USR4, or USR5) as the changed user area information (C_URI).

따라서, 호스트(10)는 비휘발성 메모리 시스템(20)이 변경된 사용자 영역 정보에 따라 상기 사용자 저장 영역의 크기를 변경하도록 제어할 수 있으므로, 비휘발성 메모리 시스템의 성능 저하와 내구력 저하를 방지할 수 있는 효과가 있다.Therefore, the host 10 can control the nonvolatile memory system 20 to change the size of the user storage area in accordance with the changed user area information, so that the performance of the nonvolatile memory system can be prevented It is effective.

도 7은 도 1 또는 도 2에 도시된 주소 매핑 모듈이 주소 매핑 테이블을 변경하는 동작을 설명하기 위한 개념도를 나타낸다.FIG. 7 is a conceptual diagram for explaining an operation of changing the address mapping table by the address mapping module shown in FIG. 1 or FIG. 2. FIG.

도 3에서는 설명의 편의를 위해 주소 매핑 모듈(100)이 변경된 사용자 영역 정보(C_URI)에 따라 전체 메모리 저장 영역(DSR) 중에서 사용자 저장 영역(USR)을 감소하는 동작을 도시하고 있으나, 본 발명의 사상은 이에 한정되지 않는다.In FIG. 3, the address mapping module 100 reduces the user storage area (USR) in the entire memory storage area (DSR) according to the changed user area information (C_URI) The idea is not limited to this.

도 1 내지 도 7을 참조하면, 주소 매핑 모듈(130)은 변경된 사용자 영역 정보(C_URI)에 따라 전체 메모리 저장 영역(DSR) 중에서 사용자 저장 영역(USR)을 감소할 수 있다.Referring to FIGS. 1 to 7, the address mapping module 130 may reduce the user storage area (USR) of the entire memory storage area (DSR) according to the changed user area information (C_URI).

사용자 저장 영역(USR) 중에서 비사용자 저장 영역(NUSR)으로 변경되는 영역(RR)에 데이터가 저장되어 있지 않을 때, 주소 매핑 모듈(130)은 사용자 저장 영역(USR) 중에서 비사용자 저장 영역(NUSR)으로 변경되는 영역(RR)의 물리 주소들, 예컨대 4, 5, 10, 11, 16, 17, 22, 및 23에 기초하여 논리 주소들과 매핑할 수 있다(CASE1).When no data is stored in an area RR that is changed from the user storage area USR to the non-user storage area NUSR, the address mapping module 130 updates the non US storage area NUSR (CASE1) based on the physical addresses of the region RR, for example, 4, 5, 10, 11, 16, 17, 22,

주소 매핑 테이블(133)은 주소 매핑 모듈(130)에 의해서 도 7에 도시된 테이블(TABLE1)과 같이 변경될 수 있다(CASE1).The address mapping table 133 may be changed by the address mapping module 130 to the table TABLE1 shown in FIG. 7 (CASE1).

사용자 저장 영역(USR) 중에서 비사용자 저장 영역(NUSR)으로 변경되는 영역(RR)의 일부 영역(R1)에 데이터가 저장되어 있을 때, 주소 매핑 모듈(130)은 사용자 저장 영역(USR) 중에서 비사용자 저장 영역(NUSR)으로 변경되는 영역(RR)으로 데이터가 저장되지 않은 새로운 영역(R2)을 할당하고, 할당된 영역(R2)의 물리 주소들, 예컨대 14, 15, 20, 및 21에 기초하여 주소 매핑 테이블(133)을 변경할 수 있다(CASE2).When data is stored in a partial area R1 of an area RR that is changed from the user storage area USR to the non-user storage area NUSR, the address mapping module 130 stores the non- A new area R2 in which no data is stored is allocated to the area RR which is changed to the user storage area NUSR and a new area R2 in which the data is stored in the area RR based on the physical addresses of the allocated area R2, To change the address mapping table 133 (CASE2).

주소 매핑 테이블(133)은 주소 매핑 모듈(130)에 의해서 도 7에 도시된 테이블(TABLE2)과 같이 변경될 수 있다.The address mapping table 133 may be changed by the address mapping module 130 as the table TABLE2 shown in FIG.

도 8부터 도 11은 도 1 또는 도 2의 전자 시스템의 동작들을 설명하기 위한 플로우 차트들이다.Figs. 8 to 11 are flowcharts for explaining the operations of the electronic system of Fig. 1 or Fig.

도 1 내지 도 3 및 도 8을 참조하면, 호스트(10)는 사용자 영역 정보 요청 명령(CMD1)을 비휘발성 메모 시스템(20)으로 전송할 수 있다(S110).Referring to FIGS. 1 to 3 and 8, the host 10 may transmit the user area information request command CMD1 to the nonvolatile memo system 20 (S110).

호스트(10)는 비휘발성 메모리 시스템(20)으로부터 전송된 사용자 영역 정보(URI)를 수신할 수 있다(S120).The host 10 may receive the user area information (URI) transmitted from the nonvolatile memory system 20 (S120).

호스트(10A)는 사용자 영역 정보(URI)를 변경하고, 변경된 사용자 영역 정보(C_URI)를 비휘발성 메모리 시스템(20)에 설정하기 위한 사용자 영역 정보 설정 명령(CMD2)를 비휘발성 메모리 시스템(20)으로 전송할 수 있다(S130).The host 10A sends a user area information setting command CMD2 for changing the user area information URI and setting the changed user area information C_URI in the nonvolatile memory system 20 to the nonvolatile memory system 20, (S130).

비휘발성 메모리 시스템(20)은 사용자 영역 정보 설정 명령(CMD2)에 응답하여 비휘발성 메모리 시스템(20)의 전체 메모리 저장 영역(DSR) 중 사용자 저장 영역(USR)의 크기를 제어할 수 있다(S140).The nonvolatile memory system 20 may control the size of the user storage area USR of the entire memory storage area DSR of the nonvolatile memory system 20 in response to the user area information setting command CMD2 ).

도 1 내지 도 3, 및 도 9를 참조하면, 호스트(10)는 사용자 영역 정보 요청 명령(CMD1)을 비휘발성 메모 시스템(20)으로 전송할 수 있다(S210).Referring to FIGS. 1 to 3 and 9, the host 10 may transmit the user area information request command CMD1 to the nonvolatile memo system 20 (S210).

호스트(10)는 비휘발성 메모리 시스템(20)으로부터 전송된 사용자 영역 정보(URI)를 수신할 수 있다(S220).The host 10 may receive the user area information (URI) transmitted from the nonvolatile memory system 20 (S220).

호스트(10B)는 입력 장치(18)로부터 전송된 사용자의 요청에 따라 사용자 영역 정보(URI)를 디스플레이(19)에 디스플레이할 수 있다(S230).The host 10B may display the user area information (URI) on the display 19 according to the user's request transmitted from the input device 18 (S230).

호스트(10B)는 입력 장치(18)를 통해 상기 사용자로부터 입력된 사용자 영역 정보(URI)의 변경 요청을 수신할 수 있다(S240).The host 10B may receive a change request of the user area information (URI) input from the user through the input device 18 (S240).

호스트(10A)는 상기 변경 요청에 응답하여 사용자 영역 정보(URI)를 변경하고, 변경된 사용자 영역 정보(C_URI)를 비휘발성 메모리 시스템(20)에 설정하기 위한 사용자 영역 정보 설정 명령(CMD2)를 비휘발성 메모리 시스템(20)으로 전송할 수 있다(S250).The host 10A changes the user area information (URI) in response to the change request and sets the user area information setting command CMD2 for setting the changed user area information (C_URI) in the nonvolatile memory system 20 To the volatile memory system 20 (S250).

비휘발성 메모리 시스템(20)은 사용자 영역 정보 설정 명령(CMD2)에 응답하여 비휘발성 메모리 시스템(20)의 전체 메모리 저장 영역(DSR) 중 사용자 저장 영역(USR)의 크기를 제어할 수 있다(S260).The nonvolatile memory system 20 may control the size of the user storage area USR of the entire memory storage area DSR of the nonvolatile memory system 20 in response to the user area information setting command CMD2 ).

도 1 내지 도 3, 도 5 및 도 10을 참조하면, 호스트(10)는 사용자 영역 정보 요청 명령(CMD1)을 비휘발성 메모 시스템(20)으로 전송할 수 있다(S310).Referring to FIGS. 1 to 3, 5 and 10, the host 10 may transmit the user area information request command CMD1 to the nonvolatile memo system 20 (S310).

호스트(10)는 비휘발성 메모리 시스템(20)으로부터 전송된 사용자 영역 정보(URI)를 수신할 수 있다(S320).The host 10 may receive the user area information (URI) transmitted from the nonvolatile memory system 20 (S320).

호스트(10A)는 테이블(USR_T1)에서 어느 하나의 엔트리(ENT1, ENT2, ENT3, ENT4, 또는 ENT5)를 변경된 사용자 영역 정보(C_USR)로 선택하고, 변경된 사용자 영역 정보(C_URI)를 비휘발성 메모리 시스템(20)에 설정하기 위한 사용자 영역 정보 설정 명령(CMD2)를 비휘발성 메모리 시스템(20)으로 전송할 수 있다(S330).The host 10A selects any one of the entries ENT1, ENT2, ENT3, ENT4 or ENT5 in the table USR_T1 as the changed user area information C_USR and stores the changed user area information C_URI in the nonvolatile memory system To the nonvolatile memory system 20, a user area information setting command CMD2 to be set to the nonvolatile memory 20 (S330).

비휘발성 메모리 시스템(20)은 사용자 영역 정보 설정 명령(CMD2)에 응답하여 비휘발성 메모리 시스템(20)의 전체 메모리 저장 영역(DSR) 중 사용자 저장 영역(USR)의 크기를 제어할 수 있다(S340).The nonvolatile memory system 20 may control the size of the user storage area USR of the entire memory storage area DSR of the nonvolatile memory system 20 in response to the user area information setting command CMD2 ).

도 1 내지 도 3, 도 6 및 도 11을 참조하면, 호스트(10)는 사용자 영역 정보 요청 명령(CMD1)을 비휘발성 메모 시스템(20)으로 전송할 수 있다(S410).Referring to FIGS. 1 to 3, 6 and 11, the host 10 may transmit the user area information request command CMD1 to the nonvolatile memo system 20 (S410).

호스트(10)는 비휘발성 메모리 시스템(20)으로부터 전송된 사용자 영역 정보(URI)를 수신할 수 있다(S420).The host 10 may receive the user area information (URI) transmitted from the nonvolatile memory system 20 (S420).

호스트(10A)는 미리 설정된 복수의 사용자 영역 정보(USR1 내지 USR5)를 저장하는 테이블(USR_T2)에서 어느 하나의 사용자 영역 정보(USR1, USR2, USR3, USR4, 또는 USR5)를 변경된 사용자 영역 정보(C_URI)로 선택하고, 변경된 사용자 영역 정보(C_URI)를 비휘발성 메모리 시스템(20)에 설정하기 위한 사용자 영역 정보 설정 명령(CMD2)를 비휘발성 메모리 시스템(20)으로 전송할 수 있다(S430).USR2, USR3, USR4, or USR5) from the table USR_T2 storing a plurality of preset user area information USR1 to USR5 to the changed user area information C_URI And transmits the user area information setting command CMD2 to the nonvolatile memory system 20 for setting the changed user area information C_URI in the nonvolatile memory system 20 at step S430.

비휘발성 메모리 시스템(20)은 사용자 영역 정보 설정 명령(CMD2)에 응답하여 비휘발성 메모리 시스템(20)의 전체 메모리 저장 영역(DSR) 중 사용자 저장 영역(USR)의 크기를 제어할 수 있다(S440).The nonvolatile memory system 20 may control the size of the user storage area USR of the entire memory storage area DSR of the nonvolatile memory system 20 in response to the user area information setting command CMD2 ).

도 12는 본 발명의 또 다른 실시 예에 따른 전자 시스템의 블록도를 나타낸다.12 shows a block diagram of an electronic system according to another embodiment of the present invention.

도 12를 참조하면, 전자 시스템(1C)는 호스트(10)와 메모리 카드(300)를 포함할 수 있다. 메모리 카드(300)는 스마트 카드일 수 있다.Referring to Fig. 12, the electronic system 1C may include a host 10 and a memory card 300. Fig. The memory card 300 may be a smart card.

메모리 카드(300)는 호스트(10)와 통신하는 카드 인터페이스(310), 비휘발성 메모리 장치(200), 및 카드 인터페이스(310)와 비휘발성 메모리 장치(200) 사이에서 데이터 통신을 제어하는 메모리 컨트롤러(100)를 포함할 수 있다.The memory card 300 includes a card interface 310 for communicating with the host 10, a non-volatile memory device 200 and a memory controller 300 for controlling data communication between the card interface 310 and the non- (100).

실시 예에 따라, 카드 인터페이스(310)는 SD(secure digital) 카드 인터페이스 또는 MMC(multi-media card) 인터페이스일 수 있으나 이에 한정되는 것은 아니다. 카드 인터페이스(310)는 호스트(10)의 프로토콜에 따라 호스트(10)와 메모리 컨트롤러(100) 사이에서 데이터 교환을 인터페이스할 수 있다. According to an embodiment, the card interface 310 may be an SD (secure digital) card interface or a multi-media card (MMC) interface, but is not limited thereto. The card interface 310 may interface data exchange between the host 10 and the memory controller 100 according to the protocol of the host 10.

다른 실시 예에 따라, 카드 인터페이스(310)는 USB(Universal Serial Bus) 프로토콜, IC(InterChip)-USB 프로토콜을 지원할 수 있다. 여기서, 카드 인터페이스라 함은 호스트(10)가 사용하는 프로토콜을 지원할 수 있는 하드웨어, 상기 하드웨어에 탑재된 소프트웨어, 또는 신호 전송 방식을 의미할 수 있다.According to another embodiment, the card interface 310 may support USB (Universal Serial Bus) protocol, IC (InterChip) -USB protocol. Here, the card interface may mean hardware capable of supporting a protocol used by the host 10, software installed in the hardware, or a signal transmission method.

도 13은 본 발명의 또 다른 실시 예에 다른 전자 시스템의 블록도를 나타낸다.13 shows a block diagram of an electronic system according to another embodiment of the present invention.

도 13을 참조하면, 전자 시스템(1D)는 호스트(10)와 비휘발성 메모리 시스템(300)를 포함할 수 있다.Referring to FIG. 13, the electronic system 1 D may include a host 10 and a non-volatile memory system 300.

비휘발성 메모리 시스템(300)은 메모리 컨트롤러(100), 및 비휘발성 메모리 장치(200)를 포함할 수 있다.The non-volatile memory system 300 may include a memory controller 100, and a non-volatile memory device 200.

메모리 컨트롤러(100)는 낸드 플래시 컨트롤러일 수 있고, 비휘발성 메모리 장치(200)는 다수의 낸드 플래시 메모리 소자들(230-1~230-4 및 231-1~231-4)을 포함할 수 있다. 도 13에서는 2-채널(2-channel)/4-뱅크(4-bank) 방식의 하드웨어 구조를 갖는 비휘발성 메모리 시스템(300)이 예시적으로 도시되어 있으나, 본 발명의 사상이 이에 한정되는 것은 아니다. 각 낸드 프래시 소자(230-1~230-4 및 231-1~231-4)는 낸드 플래시 칩으로 구현될 수 있다.The memory controller 100 may be a NAND flash controller and the nonvolatile memory device 200 may include a plurality of NAND flash memory devices 230-1 to 230-4 and 231-1 to 231-4 . In FIG. 13, a nonvolatile memory system 300 having a 2-channel / 4-bank hardware structure is illustrated by way of example. However, the concept of the present invention is limited to this no. Each of the NAND flash elements 230-1 to 230-4 and 231-1 to 231-4 may be implemented as a NAND flash chip.

메모리 컨트롤러(100)와 비휘발성 메모리 장치(200)는 2개의 채널(Channel 0 및 Channel 1)로 연결되고, 각 채널(Channel 0 및 Channel 1)은 4개의 플래시 메모리 소자들이 연결될 수 있다. 예컨대, 제1채널(Channel 0)은 4개의 플래시 메모리 소자들(230-1~230-4)이 연결되고, 제2채널(Channel 1)은 4개의 메모리 소자들(231-1~231-4)이 연결될 수 있다. 동일한 채널에 연결된 플래시 메모리 소자들은 I/O 버스와 컨트롤 신호를 공유할 수 있다. 채널의 수 및 뱅크의 수는 상술한 예에 한정되지 않고 변경될 수 있음은 당연하다.The memory controller 100 and the nonvolatile memory device 200 are connected to two channels (Channel 0 and Channel 1), and each of the channels (Channel 0 and Channel 1) can be connected to four flash memory devices. For example, the first channel (Channel 0) is connected to four flash memory devices 230-1 to 230-4, and the second channel (Channel 1) is connected to four memory devices 231-1 to 231-4 ) Can be connected. Flash memory devices connected to the same channel can share control signals with the I / O bus. It is a matter of course that the number of channels and the number of banks are not limited to the above-described examples and can be changed.

메모리 컨트롤러(100)는 각 채널(Channel 0 및 Channel 1)을 완전히 독립적으로 제어할 수 있다. 즉, 메모리 컨트롤러(100)는 동시에 2개의 플래시 칩(예컨대, 230-1 및 231-1)에 라이트 명령을 입력할 수 있다. 따라서, 2개의 플래시 칩(예컨대, 230-1 및 231-1)에 동시에 라이트 동작이 수행됨으로써, 비휘발성 메모리 시스템(20A)은 상기 라이트 동작에 대한 성능을 개선할 수 있다.The memory controller 100 can completely control each channel (Channel 0 and Channel 1). That is, the memory controller 100 can simultaneously input a write command to two flash chips (e.g., 230-1 and 231-1). Therefore, the write operation is simultaneously performed on the two flash chips (e.g., 230-1 and 231-1), so that the nonvolatile memory system 20A can improve the performance for the write operation.

하나의 채널에 연결된 각 낸드 플래시 메모리 소자(예컨대, 230-1~230-4)는 서로 다른 CE 신호들(CE0~CE3)을 통해 선택될 수 있다. 하나의 채널에 연결된 각 낸드 플래시 메모리 소자(230-1~230-4)로의 명령어 입력 및 데이터 전송은 동시데 수행될 수 없다. 즉, 하나의 채널에 연결된 각 낸드 플래시 메모리 소자(예컨대, 230-1~230-4)에 대한 상기 명령어 입력 및 상기 데이터 전송 시간은 중첩될 수 없지만, 하나의 채널에 연결된 각 낸드 플래시 메모리 소자(예컨대, 230-1~230-4)에서의 페이지 프로그램 동작은 서로 중첩될 수 있다.Each NAND flash memory device (e.g., 230-1 to 230-4) connected to one channel can be selected through different CE signals CE0 to CE3. Command input and data transfer to the NAND flash memory devices 230-1 to 230-4 connected to one channel can not be performed simultaneously. That is, although the command input and the data transfer time for each NAND flash memory device (for example, 230-1 to 230-4) connected to one channel can not be overlapped, each NAND flash memory device For example, the page program operations in 230-1 to 230-4 may overlap each other.

도 14는 본 발명의 또 다른 실시 예에 따른 전자 시스템의 블록도를 나타낸다.14 shows a block diagram of an electronic system according to another embodiment of the present invention.

도 14를 참조하면, 전자 시스템(1E)은 호스트(10)와 비휘발성 메모리 시스템(500)을 포함할 수 있다.Referring to Fig. 14, the electronic system 1E may include a host 10 and a non-volatile memory system 500. Fig.

비휘발성 메모리 시스템(500)은 SSD(solid state drive)와 같은 데이터 처리 장치로 구현될 수 있다. The non-volatile memory system 500 may be implemented as a data processing device such as a solid state drive (SSD).

비휘발성 메모리 시스템(500)은 다수의 메모리 장치들(200), 다수의 메모리 장치들(200) 각각의 데이터 처리 동작을 제어할 수 있는 메모리 컨트롤러(100), DRAM과 같은 휘발성 메모리 장치(525), 메모리 컨트롤러(100)와 호스트(10) 사이에서 주고받는 데이터를 휘발성 메모리 장치(525)에 저장하는 것을 제어하는 버퍼 매니저(520)를 포함할 수 있다. The non-volatile memory system 500 includes a plurality of memory devices 200, a memory controller 100 capable of controlling the data processing operations of each of the plurality of memory devices 200, a volatile memory device 525 such as a DRAM, And a buffer manager 520 for controlling storage of data to be exchanged between the memory controller 100 and the host 10 in the volatile memory device 525. [

도 15는 본 발명의 또 다른 실시 예에 따른 전자 시스템의 블록도를 나타낸다.15 shows a block diagram of an electronic system according to another embodiment of the present invention.

도 15를 참조하면, 전자 시스템(1F)은 RAID(redundant array of independent disks) 시스템으로 구현될 수 있다.Referring to FIG. 15, the electronic system 1F may be implemented as a redundant array of independent disks (RAID) system.

전자 시스템(1F)은 호스트(10), RAID 컨트롤러(610)와 다수의 메모리 시스템들(20-1~20-n; n는 자연수)을 포함할 수 있다. The electronic system 1F may include a host 10, a RAID controller 610 and a plurality of memory systems 20-1 to 20-n (n is a natural number).

다수의 메모리 시스템들(20-1~20-n) 각각은 도 1 또는 도 2에 도시된 시스템 (20)일 수 있다. 다수의 메모리 시스템들(20-1~20-n)은 RAID 어레이를 구성할 수 있다.Each of the plurality of memory systems 20-1 to 20-n may be the system 20 shown in FIG. 1 or FIG. The plurality of memory systems 20-1 to 20-n may constitute a RAID array.

전자 시스템(1F)는 PC(personal computer) 또는 SSD로 구현될 수 있다. The electronic system 1F may be implemented as a personal computer (PC) or an SSD.

프로그램 동작 동안, RAID 컨트롤러(610)는 호스트(10)로부터 출력된 프로그램 명령에 따라 호스트(10)로부터 출력된 프로그램 데이터를 RAID 레벨에 따라 다수의 메모리 시스템들(20-1~20-n) 중에서 적어도 어느 하나의 메모리 시스템로 출력할 수 있다.During the program operation, the RAID controller 610 reads the program data output from the host 10 according to the program command output from the host 10, from among the plurality of memory systems 20-1 to 20-n And can output to at least one of the memory systems.

리드 동작 동안, RAID 컨트롤러(610)는 호스트(10)로부터 출력된 리드 명령에 따라 다수의 메모리 시스템들(20-1~20-n) 중에서 적어도 어느 하나의 메모리 시스템으로부터 읽혀진 데이터를 호스트(10)로 전송할 수 있다.During the read operation, the RAID controller 610 transmits data read from at least one of the plurality of memory systems 20-1 to 20-n to the host 10 in accordance with the read command output from the host 10, Lt; / RTI >

도 16은 본 발명의 실시 예에 따른 컴퓨터 네트워크의 실시 예를 나타낸다.16 shows an embodiment of a computer network according to an embodiment of the present invention.

도 16을 참조하면, 컴퓨터 네트워크(1G)는 호스트(10C), 적어도 하나의 비휘발성 메모리 시스템(20), 파일 서버(710), 및 복수의 클라이언트들(731-1~731-k, k는 자연수)을 포함할 수 있다.16, a computer network 1G includes a host 10C, at least one non-volatile memory system 20, a file server 710, and a plurality of clients 731-1 through 731- Natural number).

모니터링 모듈(12)을 제외하면 호스트(10C)의 기능과 구조는 도 1의 호스트(10A)의 구조와 기능과 실질적으로 동일할 수 있다. 또한 호스트(10C)는 도 2의 호스트(10B)의 입력 장치(18)와 디스플레이(19)를 더 포함할 수 있으며, 호스트(10C)의 구조와 기능은 도 2의 호스트(10B)의 구조와 기능과 실질적으로 동일할 수 있다.Except for the monitoring module 12, the function and structure of the host 10C may be substantially the same as the structure and function of the host 10A in Fig. The host 10C may further include an input device 18 and a display 19 of the host 10B of Fig. 2 and the structure and function of the host 10C may be different from the structure of the host 10B of Fig. 2 Function can be substantially the same.

비휘발성 메모리 시스템(20)의 구조와 기능은 도 1 또는 도 2의 비휘발성 메모리 시스템(20)의 구조와 기능과 실질적으로 동일하다.The structure and function of the non-volatile memory system 20 is substantially the same as the structure and function of the non-volatile memory system 20 of FIG. 1 or FIG.

파일 서버(710)와 복수의 클라이언트들(731-1~631-k)은 유선 네트워크 또는 무선 네트워크를 통해 데이터 통신을 수행한다. 상기 유선 네트워크 또는 상기 무선 네트워크는 인터넷 또는 이동 통신 네트워크일 수 있다.The file server 710 and the plurality of clients 731-1 to 631-k perform data communication through a wired network or a wireless network. The wired network or the wireless network may be the Internet or a mobile communication network.

파일 서버(710)는 호스트(200-1)로 데이터를 공급하는 데이터 소스의 기능을 수행할 수 있다.The file server 710 can perform the function of a data source that supplies data to the host 200-1.

도 17은 도 16의 컴퓨터 네트워크에 포함된 호스트가 비휘발성 메모리 시스템의 사용자 저장 영역의 크기를 제어하는 방법을 설명하기 위한 플로우차트이다.17 is a flowchart illustrating a method of controlling a size of a user storage area of a nonvolatile memory system by a host included in the computer network of FIG.

호스트(10C)의 모니터링 모듈(12)은 파일 서버(710)와 복수의 클라이언트들(731-1~731-k; k는 자연수) 각각이 주고받는 데이터의 양을 모니터링할 수 있다(S510).The monitoring module 12 of the host 10C can monitor the amount of data exchanged between the file server 710 and the plurality of clients 731-1 to 731-k (k is a natural number) (S510).

또한, 호스트(10C)의 모니터링 모듈(12)은 파일 서버(710)의 워크로드 (workload) 또는 QoS(Quality of Service)를 모니터링할 수 있다(S510).In addition, the monitoring module 12 of the host 10C may monitor the workload or QoS (Quality of Service) of the file server 710 (S510).

모니터링 모듈(12)이 모니터링 결과를 프로세서(13)로 전송하면, 프로세서 (13)는 상기 모니터링 결과에 기초하여 비휘발성 메모리 시스템(20)으로 전송될 데이터의 양을 예측하고(S520), 예측 결과에 기초하여 사용자 영역 정보를 생성하고 생성된 사용자 영역 정보를 변경된 사용자 영역 정보로 비휘발성 메모리 시스템(20)으로 전송할 수 있다(S530).When the monitoring module 12 transmits the monitoring result to the processor 13, the processor 13 predicts the amount of data to be transmitted to the nonvolatile memory system 20 based on the monitoring result (S520) And transmits the generated user area information to the nonvolatile memory system 20 as the changed user area information (S530).

도 1부터 도 17을 참조하여 설명한 바와 같이, 호스트(10C)는 예측 결과 및/또는 사용자 영역 정보(URI)에 기초하여 변경된 사용자 영역 정보(C_URI)를 생성할 수 있다.As described with reference to Figs. 1 to 17, the host 10C can generate modified user area information (C_URI) based on prediction results and / or user area information (URI).

또한, 호스트(10C)는 비휘발성 메모리 시스템(20)으로 전송될 데이터 패턴, 데이터의 양, 데이터의 시작 어드레스, 또는 예측 결과 중에서 적어도 하나를 분석하고, 분석 결과와 사용자 영역 정보(URI)에 기초하여 변경된 사용자 영역 정보(C_URI)를 생성할 수 있다.The host 10C also analyzes at least one of a data pattern to be transferred to the nonvolatile memory system 20, an amount of data, a start address of the data, or a prediction result, and based on the analysis result and the user area information To generate modified user area information (C_URI).

따라서, 비휘발성 메모리 시스템(20)은 변경된 사용자 영역 정보(C_URI)에 따라 사용자 저장 영역(USR)의 크기를 제어할 수 있다(S540).Accordingly, the nonvolatile memory system 20 can control the size of the user storage area USR according to the changed user area information C_URI (S540).

여기서, 모듈(module)은 하드웨어를 의미할 수도 있고, 또는 특정한 기능과 동작을 수행할 수 있는 컴퓨터 프로그램 코드를 의미할 수도 있고, 또는 특정한 기능과 동작을 수행시킬 수 있는 컴퓨터 프로그램 코드가 탑재된 전자적 기록 매체, 예컨대 프로세싱 회로를 의미할 수 있다.Here, a module may denote hardware, or may denote computer program code capable of performing a specific function and operation, or may be implemented as an electronic program code having computer program code capable of performing a specific function and operation May refer to a recording medium, such as a processing circuit.

다시 말해, 모듈은 본 발명의 기술적 사상을 수행하기 위한 하드웨어 및/또는 상기 하드웨어를 구동하기 위한 소프트웨어의 기능적 및/또는 구조적 결합을 의미할 수 있다.In other words, the module may mean a functional and / or structural combination of hardware for carrying out the technical idea of the present invention and / or software for driving the hardware.

본 발명은 도면에 도시된 일 실시 예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면, 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.While the present invention has been described with reference to exemplary embodiments thereof, it will be understood by those of ordinary skill in the art that various changes in form and details may be made therein without departing from the scope of the present invention . Accordingly, the true scope of the present invention should be determined by the technical idea of the appended claims.

1A~1F: 전자 시스템
10A 및 10B: 호스트
13: 프로세서
15: 메모리
17: 호스트 인터페이스
18: 입력 장치
19: 디스플레이
20: 비휘발성 메모리 시스템
100: 메모리 컨트롤러
130: 주소 매핑 모듈
200: 비휘발성 메모리 장치
1A to 1F: Electronic system
10A and 10B: Host
13: Processor
15: Memory
17: Host interface
18: Input device
19: Display
20: nonvolatile memory system
100: Memory controller
130: Address Mapping Module
200: Nonvolatile memory device

Claims (16)

비휘발성 메모리 시스템의 전체 메모리 저장 영역 중에서 사용자 저장 영역을 적응적으로 조절하는 방법에 있어서,
호스트가 사용자 영역 정보 요청 명령을 상기 비휘발성 메모리 시스템으로 전송하는 단계;
상기 호스트가 상기 비휘발성 메모리 시스템으로부터 전송된 사용자 영역 정보를 수신하는 단계;
상기 호스트가 상기 사용자 영역 정보를 변경하는 단계; 및
상기 호스트가 상기 변경된 사용자 영역 정보를 상기 비휘발성 메모리 시스템에 설정하기 위하여 사용자 영역 정보 설정 명령을 상기 비휘발성 메모리 시스템으로 전송하는 단계를 포함하며,
상기 비휘발성 메모리 시스템은 상기 사용자 영역 정보 설정 명령에 응답하여 상기 사용자 저장 영역의 크기를 제어하는 비휘발성 메모리 시스템의 적응적 사용자 저장 영역 조절 방법.
A method for adaptively adjusting a user storage area in an entire memory storage area of a non-volatile memory system,
The host transmitting the user area information request command to the non-volatile memory system;
Receiving, by the host, user area information transmitted from the non-volatile memory system;
Changing the user area information by the host; And
Volatile memory system, wherein the host transmits a user area information setting command to the non-volatile memory system to set the changed user area information in the non-volatile memory system,
Wherein the non-volatile memory system controls the size of the user storage area in response to the user area information setting command.
제1항에 있어서, 상기 사용자 영역 정보 요청 명령 및 상기 사용자 영역 정보 설정 명령 각각은,
벤더 스페스픽 명령(vendor specific command)인 비휘발성 메모리 시스템의 적응적 사용자 저장 영역 조절 방법.
2. The apparatus of claim 1, wherein the user area information request command and the user area information setting command respectively include:
A method of adjusting an adaptive user storage area in a non-volatile memory system that is a vendor specific command.
제1항에 있어서, 상기 사용자 영역 정보는,
사용자 저장 영역 용량 대비 비사용자 저장 영역 용량의 비율, 전체 저장 용량 대비 상기 사용자 저장 영역 용량의 비율, 상기 전체 저장 용량 대비 상기 비사용자 저장 영역 용량의 비율, 상기 사용자 저장 영역 용량, 및 상기 비사용자 저장 영역 용량 중에서 적어도 하나를 포함하는 비휘발성 메모리 시스템의 적응적 사용자 저장 영역 조절 방법.
2. The method of claim 1,
The ratio of the user storage area capacity to the user storage area capacity, the ratio of the user storage area capacity to the total storage capacity, the ratio of the non-user storage area capacity to the total storage capacity, the user storage area capacity, Region capacity of the non-volatile memory system.
제1항에 있어서, 상기 방법은,
상기 호스트가 상기 변경된 사용자 영역 정보에 따라 상기 전체 메모리 저장 영역 중에서 상기 사용자 저장 영역을 제외한 비사용자 저장 영역에 상응하는 논리 주소 주소들을 갱신하는 단계를 더 포함하는 비휘발성 메모리 시스템의 적응적 사용자 저장 영역 조절 방법.
The method of claim 1,
And updating the logical address corresponding to the non-user storage area excluding the user storage area in the entire memory storage area according to the changed user area information. The nonvolatile memory system of claim 1, Adjustment method.
제1항에 있어서,
상기 비휘발성 메모리 시스템은 상기 변경된 사용자 영역 정보에 따라 주소 매핑 테이블을 변경하는 비휘발성 메모리 시스템의 사용자 저장 영역의 적응적 조절 방법.
The method according to claim 1,
Wherein the non-volatile memory system changes an address mapping table according to the changed user area information.
제1항에 있어서, 상기 사용자 영역 정보를 변경하는 단계는,
상기 호스트가 사용자의 요청에 따라 상기 비휘발성 메모리 시스템의 상기 사용자 영역 정보를 디스플레이하는 단계;
상기 호스트가 상기 사용자로부터 상기 비휘발성 메모리 시스템의 상기 사용자 영역 정보의 변경 요청을 수신하는 단계; 및
상기 호스트가 상기 변경 요청에 응답하여 상기 사용자 영역 정보를 변경하는 단계를 포함하는 비휘발성 메모리 시스템의 적응적 사용자 저장 영역 조절 방법.
The method of claim 1, wherein the changing of the user area information comprises:
The host displaying the user area information of the non-volatile memory system according to a user's request;
The host receiving a change request of the user area information of the non-volatile memory system from the user; And
And changing the user area information in response to the change request by the host.
제1항에 있어서, 상기 사용자 영역 정보를 변경하는 단계는,
상기 호스트가 소정의 관리 파라미터 대 사용자 영역 정보에 대한 복수의 엔트리를 저장하는 테이블에서 어느 하나의 사용자 영역 정보를 상기 변경된 사용자 영역 정보로 선택하는 단계(S330)를 포함하는 비휘발성 메모리 시스템의 적응적 사용자 저장 영역 조절 방법.
The method of claim 1, wherein the changing of the user area information comprises:
And selecting (S330) any one of the user area information as the changed user area information in a table in which the host stores a plurality of entries for predetermined management parameter versus user area information (S330). How to adjust user storage area.
제7항에 있어서, 상기 소정의 관리 파라미터는,
순차 읽기 성능(sequential read performance), 임의 읽기 성능(random read performance), 순차 쓰기 성능(sequential write performance), 임의 쓰기 성능(random write performance), 최대 레이턴시, 수명, 및 데이터 쓰기량 중에서 어느 하나를 포함하는 비휘발성 메모리 시스템의 적응적 사용자 저장 영역 조절 방법.
8. The method according to claim 7,
Sequential read performance, random read performance, sequential write performance, random write performance, maximum latency, lifetime, and data writes. Of the non-volatile memory system.
제1항에 있어서, 상기 사용자 영역 정보를 변경하는 단계는,
상기 호스트가 미리 설정된 복수의 사용자 영역 정보를 저장하는 테이블에서 어느 하나의 사용자 영역 정보를 상기 변경된 사용자 영역 정보로 선택하는 단계(S430)를 포함하는 비휘발성 메모리 시스템의 적응적 사용자 저장 영역 조절 방법.
The method of claim 1, wherein the changing of the user area information comprises:
And selecting (S430) any one of the user area information as the changed user area information in a table storing a plurality of user area information that the host has previously set.
제9항에 있어서, 상기 어느 하나의 사용자 영역 정보는,
상기 비휘발성 메모리 시스템에 대한 접근 빈도, 상기 비휘발성 메모리 시스템에 대한 데이터 사용량, 및 상기 비휘발성 메모리 시스템에 대한 데이터 쓰기량 중에서 적어도 어느 하나에 따라, 상기 테이블에서 적응적으로 선택되는 비휘발성 메모리 시스템의 적응적 사용자 저장 영역 조절 방법
10. The method of claim 9, wherein the one of the user-
Volatile memory system according to at least one of an access frequency to the non-volatile memory system, a data usage amount to the non-volatile memory system, and a data write amount to the non-volatile memory system, Adaptive user storage area adjustment method
제1항에 있어서,
상기 비휘발성 메모리 시스템은 eMMC(embedded multimedia card) UFS (universal flash storage) 또는 SSD(solid state drive) 등 플래시 메모리 컨트롤러를 포함하는 플래시 기반 저장 장치인 비휘발성 메모리 시스템의 적응적 사용자 저장 영역 조절 방법.
The method according to claim 1,
Wherein the non-volatile memory system is a flash-based storage device including a flash memory controller such as an embedded multimedia card (eMMC) universal flash storage (UFS) or a solid state drive (SSD).
사용자 저장 영역과 비사용자 저장 영역을 포함하는 비휘발성 메모리 장치;
호스트로부터 출력된 사용자 영역 정보 요청 명령에 응답하여 사용자 영역 정보를 상기 호스트로 전송하고, 상기 호스트로부터 출력된 변경된 사용자 영역 정보에 따라 사용자 영역의 크기를 제어하는 주소 매핑 모듈을 포함하는 비휘발성 메모리 시스템.
A non-volatile memory device including a user storage area and a non-user storage area;
And an address mapping module for transmitting the user area information to the host in response to the user area information request command outputted from the host and controlling the size of the user area according to the changed user area information outputted from the host, .
제12항에 있어서,
상기 주소 매핑 모듈은 상기 변경된 사용자 영역 정보에 따라 주소 매핑 테이블을 변경하는 비휘발성 메모리 시스템.
13. The method of claim 12,
Wherein the address mapping module changes an address mapping table according to the changed user area information.
제12항에 있어서, 상기 사용자 영역 정보는,
사용자 저장 영역 용량 대비 비사용자 저장 영역 용량의 비율, 전체 저장 용량 대비 상기 사용자 저장 영역 용량의 비율, 상기 전체 저장 용량 대비 상기 비사용자 저장 영역 용량의 비율, 상기 사용자 저장 영역 용량, 및 상기 비사용자 저장 영역 용량 중에서 적어도 하나를 포함하는 비휘발성 메모리 시스템.
13. The method as claimed in claim 12,
The ratio of the user storage area capacity to the user storage area capacity, the ratio of the user storage area capacity to the total storage capacity, the ratio of the non-user storage area capacity to the total storage capacity, the user storage area capacity, Region capacity of the non-volatile memory system.
제12항에 있어서,
상기 비휘발성 메모리 시스템은 eMMC(embedded multimedia card) UFS (universal flash storage) 또는 SSD(solid state drive) 등 플래시 메모리 컨트롤러를 포함하는 플래시 기반 저장 장치인 비휘발성 메모리 시스템.
13. The method of claim 12,
The non-volatile memory system is a flash-based storage device including a flash memory controller such as an embedded multimedia card (eMMC) universal flash storage (UFS) or a solid state drive (SSD).
파일 서버의 입출력 데이터를 모니터링하는 호스트; 및
전체 메모리 저장 영역을 포함하며, 상기 전체 메모리 저장 영역 중에서 사용자 저장 영역에 대한 정보를 나타내는 사용자 영역 정보를 상기 호스트로 전송하는 비휘발성 메모리 시스템을 포함하며,
상기 호스트는 모니터링 결과와 상기 사용자 영역 정보 중에서 적어도 하나에 기초하여 상기 사용자 영역 정보를 변경하고, 상기 비휘발성 메모리 장치의 상기 사용자 저장 영역의 크기를 제어하는 변경된 사용자 영역 정보를 상기 비휘발성 메모리 시스템으로 전송하는 컴퓨팅 시스템.
A host monitoring I / O data of the file server; And
And a non-volatile memory system including an entire memory storage area and transmitting user area information indicating information on a user storage area of the entire memory storage area to the host,
Wherein the host changes the user area information based on at least one of the monitoring result and the user area information and changes the user area information to control the size of the user storage area of the nonvolatile memory device to the nonvolatile memory system Transmitting computing system.
KR1020130028311A 2013-03-15 2013-03-15 Non-volatile memory system, system having the same and method for performing adaptive user storage region adjustment in the same KR102098697B1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020130028311A KR102098697B1 (en) 2013-03-15 2013-03-15 Non-volatile memory system, system having the same and method for performing adaptive user storage region adjustment in the same
US14/207,717 US9460006B2 (en) 2013-03-15 2014-03-13 Nonvolatile memory system, system including the same, and method of adaptively adjusting user storage region in the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130028311A KR102098697B1 (en) 2013-03-15 2013-03-15 Non-volatile memory system, system having the same and method for performing adaptive user storage region adjustment in the same

Publications (2)

Publication Number Publication Date
KR20140113211A true KR20140113211A (en) 2014-09-24
KR102098697B1 KR102098697B1 (en) 2020-04-08

Family

ID=51533848

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130028311A KR102098697B1 (en) 2013-03-15 2013-03-15 Non-volatile memory system, system having the same and method for performing adaptive user storage region adjustment in the same

Country Status (2)

Country Link
US (1) US9460006B2 (en)
KR (1) KR102098697B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190131170A (en) * 2018-05-16 2019-11-26 주식회사 디에이아이오 Non-volatile memory system

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9736065B2 (en) 2011-06-24 2017-08-15 Cisco Technology, Inc. Level of hierarchy in MST for traffic localization and load balancing
US8908698B2 (en) 2012-01-13 2014-12-09 Cisco Technology, Inc. System and method for managing site-to-site VPNs of a cloud managed network
US10476982B2 (en) 2015-05-15 2019-11-12 Cisco Technology, Inc. Multi-datacenter message queue
US10205677B2 (en) 2015-11-24 2019-02-12 Cisco Technology, Inc. Cloud resource placement optimization and migration execution in federated clouds
US10084703B2 (en) 2015-12-04 2018-09-25 Cisco Technology, Inc. Infrastructure-exclusive service forwarding
US10140055B2 (en) * 2015-12-21 2018-11-27 Memory Technologies Llc Ensuring that memory device actions are valid using reference values
US10367914B2 (en) 2016-01-12 2019-07-30 Cisco Technology, Inc. Attaching service level agreements to application containers and enabling service assurance
US10432532B2 (en) 2016-07-12 2019-10-01 Cisco Technology, Inc. Dynamically pinning micro-service to uplink port
US10382597B2 (en) 2016-07-20 2019-08-13 Cisco Technology, Inc. System and method for transport-layer level identification and isolation of container traffic
US10567344B2 (en) 2016-08-23 2020-02-18 Cisco Technology, Inc. Automatic firewall configuration based on aggregated cloud managed information
US10320683B2 (en) 2017-01-30 2019-06-11 Cisco Technology, Inc. Reliable load-balancer using segment routing and real-time application monitoring
US10671571B2 (en) 2017-01-31 2020-06-02 Cisco Technology, Inc. Fast network performance in containerized environments for network function virtualization
US11005731B2 (en) 2017-04-05 2021-05-11 Cisco Technology, Inc. Estimating model parameters for automatic deployment of scalable micro services
KR20180121733A (en) 2017-04-28 2018-11-08 에스케이하이닉스 주식회사 Data storage device and operating method thereof
US10439877B2 (en) 2017-06-26 2019-10-08 Cisco Technology, Inc. Systems and methods for enabling wide area multicast domain name system
US10382274B2 (en) 2017-06-26 2019-08-13 Cisco Technology, Inc. System and method for wide area zero-configuration network auto configuration
US10425288B2 (en) 2017-07-21 2019-09-24 Cisco Technology, Inc. Container telemetry in data center environments with blade servers and switches
US10601693B2 (en) 2017-07-24 2020-03-24 Cisco Technology, Inc. System and method for providing scalable flow monitoring in a data center fabric
US10541866B2 (en) 2017-07-25 2020-01-21 Cisco Technology, Inc. Detecting and resolving multicast traffic performance issues
US10705882B2 (en) 2017-12-21 2020-07-07 Cisco Technology, Inc. System and method for resource placement across clouds for data intensive workloads
US11595474B2 (en) 2017-12-28 2023-02-28 Cisco Technology, Inc. Accelerating data replication using multicast and non-volatile memory enabled nodes
US10728361B2 (en) 2018-05-29 2020-07-28 Cisco Technology, Inc. System for association of customer information across subscribers
US10904322B2 (en) 2018-06-15 2021-01-26 Cisco Technology, Inc. Systems and methods for scaling down cloud-based servers handling secure connections
US10764266B2 (en) 2018-06-19 2020-09-01 Cisco Technology, Inc. Distributed authentication and authorization for rapid scaling of containerized services
US11019083B2 (en) 2018-06-20 2021-05-25 Cisco Technology, Inc. System for coordinating distributed website analysis
US10819571B2 (en) 2018-06-29 2020-10-27 Cisco Technology, Inc. Network traffic optimization using in-situ notification system
US10904342B2 (en) 2018-07-30 2021-01-26 Cisco Technology, Inc. Container networking using communication tunnels

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050102232A1 (en) * 2003-11-07 2005-05-12 Kabushiki Kaisha Toshiba Host device, memory card, memory capacity changing method, memory capacity changing program and memory capacity charge giving/receiving method

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3878508B2 (en) * 2001-11-08 2007-02-07 松下電器産業株式会社 Circuit group control system
CN1618101A (en) 2002-01-29 2005-05-18 皇家飞利浦电子股份有限公司 Data storage apparatus and method for handling data on a data storage apparatus
US7137037B2 (en) 2003-03-27 2006-11-14 Silicon Motion, Inc. Data storage system and method for testing the same
TWI251144B (en) * 2003-05-23 2006-03-11 Hon Hai Prec Ind Co Ltd USB device and switching method
US8078788B2 (en) * 2005-12-08 2011-12-13 Sandisk Technologies Inc. Media card command pass through methods
KR100745163B1 (en) 2006-06-19 2007-08-01 주식회사 셀픽 Method for managing flash memory using dynamic mapping table
US8443134B2 (en) 2006-12-06 2013-05-14 Fusion-Io, Inc. Apparatus, system, and method for graceful cache device degradation
US7844777B2 (en) * 2007-06-26 2010-11-30 Intel Corporation Cache for a host controller to store command header information
TWI389127B (en) 2008-08-01 2013-03-11 Jmicron Technology Corp Flash memory allocating method
KR101552207B1 (en) 2008-10-07 2015-09-14 삼성전자주식회사 Semiconductor memory device with reserved area
US9098396B2 (en) 2009-02-13 2015-08-04 Sandisk Il Ltd. Enhancement of efficiency in power failure handling in flash memory
JP2011082911A (en) * 2009-10-09 2011-04-21 Sony Corp Peripheral device, and device connection system
KR101090394B1 (en) 2009-12-24 2011-12-07 주식회사 하이닉스반도체 Solid State Storage System For Controlling of Reserved Area Flexibly and Method of Controlling the Same
US8489855B2 (en) 2010-05-07 2013-07-16 Ocz Technology Group Inc. NAND flash-based solid state drive and method of operation
US8601311B2 (en) 2010-12-14 2013-12-03 Western Digital Technologies, Inc. System and method for using over-provisioned data capacity to maintain a data redundancy scheme in a solid state memory
US8886904B2 (en) 2011-04-14 2014-11-11 Kaminario Technologies Ltd. Managing a solid-state storage device
EP2715510B1 (en) 2011-05-24 2018-05-02 Marvell World Trade Ltd. Method for storage devices to achieve low write amplification with low over provision

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050102232A1 (en) * 2003-11-07 2005-05-12 Kabushiki Kaisha Toshiba Host device, memory card, memory capacity changing method, memory capacity changing program and memory capacity charge giving/receiving method

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190131170A (en) * 2018-05-16 2019-11-26 주식회사 디에이아이오 Non-volatile memory system

Also Published As

Publication number Publication date
KR102098697B1 (en) 2020-04-08
US9460006B2 (en) 2016-10-04
US20140281173A1 (en) 2014-09-18

Similar Documents

Publication Publication Date Title
KR102098697B1 (en) Non-volatile memory system, system having the same and method for performing adaptive user storage region adjustment in the same
US11086537B2 (en) Method and system to perform urgency level garbage collection based on write history of memory blocks
US9690700B2 (en) Host-driven garbage collection
JP6517684B2 (en) Memory system and control method
US10379948B2 (en) Redundancy coding stripe based on internal addresses of storage devices
US9798656B2 (en) Memory controller, method of operating, and apparatus including same
US9244619B2 (en) Method of managing data storage device and data storage device
JP6517685B2 (en) Memory system and control method
KR102098246B1 (en) Operating method of host, storage device, and system including the same
KR20170105760A (en) Data storage device and operating method thereof
US10776268B2 (en) Priority addresses for storage cache management
KR102649131B1 (en) Apparatus and method for checking valid data in block capable of large volume data in memory system
KR20200110547A (en) Storage device and computing device including storage device
US11403011B1 (en) Host memory buffer allocation management
KR20200016074A (en) Data processing system and operating method thereof
KR102571629B1 (en) Memory system and operaiton method for thereof
US20140325168A1 (en) Management of stored data based on corresponding attribute data
KR20230094943A (en) Storage system and method for quantifying storage fragmentation and predicting performance drop
CN111625187B (en) Memory, control method thereof and memory system
US20240037027A1 (en) Method and device for storing data
KR20200016076A (en) Memory system and operation method for the same
CN115390747A (en) Storage device and operation method thereof
CN111309642A (en) Memory, control method thereof and memory system
US11657000B2 (en) Controller and memory system including the same
CN112015339B (en) Data storage system, data storage method and data storage system of memory

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant