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 PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
- G06F3/0605—Improving or facilitating administration, e.g. storage management by facilitating the interaction with a user or administrator
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0631—Configuration or reconfiguration of storage systems by allocating resources to storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0688—Non-volatile semiconductor memory arrays
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45583—Memory management, e.g. access or allocation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7204—Capacity 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
Description
본 발명의 개념에 따른 실시 예는 비휘발성 메모리 시스템에 관한 것으로, 특히 변경된 사용자 영역 정보에 기초하여 상기 비휘발성 메모리 시스템의 사용자 저장 영역의 크기를 제어하는 비휘발성 메모리 시스템 및 상기 비휘발성 메모리 시스템의 적응적 사용자 저장 영역 조절 방법에 관한 것이다.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
전자 시스템(1A)은 비휘발성 메모리 시스템(20)의 전체 메모리 저장 영역 중에서 사용자 저장 영역을 적응적으로 제어할 수 있다.The
전자 시스템(1A)은 PC(personal computer), 데이터 서버, 네트워크-결합 스토리지(network-attached storage(NAS)), 또는 휴대용 전자 장치로 구현될 수 있다.The
상기 휴대용 전자 장치는 랩탑 컴퓨터(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
호스트(10A)는 사용자 영역 정보(URI)를 변경하고, 변경된 사용자 영역 정보(C_URI)를 비휘발성 메모리 시스템(20)에 설정하기 위한 사용자 영역 정보 설정 명령(CMD2)를 생성하고, 변경된 사용자 영역 정보(C_URI)와 사용자 영역 정보 설정 명령(CMD2)을 비휘발성 메모리 시스템(20)으로 전송할 수 있다. 호스트(10A 또는 10B)가 변경된 사용자 영역 정보(URI)를 생성하는 동작은 도 5 및 도 6을 참조하여 상세히 설명될 것이다.The
실시 예에 따라, 호스트(10A)는 변경된 사용자 영역 정보(C_URI)가 포함된 사용자 영역 정보 설정 명령(CMD2)을 비휘발성 메모리 시스템(20)으로 전송할 수 있다.According to the embodiment, the
비휘발성 메모리 시스템(20)은 사용자 영역 정보 설정 명령(CMD2)에 응답하여 비휘발성 메모리 시스템(20)의 전체 메모리 저장 영역 중 사용자 저장 영역의 크기를 제어할 수 있다.The
즉, 비휘발성 메모리 시스템(20)은 호스트(10A)로부터 전송된 변경된 사용자 영역 정보(C_URI)를 이용하여 비휘발성 메모리 시스템(20)의 상기 전체 메모리 저장 영역 중에서 상기 사용자 저장 영역의 크기를 변경하여 설정할 수 있다.That is, the
또한, 호스트(10A)는 변경된 사용자 영역 정보(C_URI)에 따라 상기 전체 메모리 저장 영역 중에서 상기 사용자 저장 영역을 제외한 나머지 저장 영역, 예컨대 비사용자 저장 영역에 상응하는 논리 주소 공간을 갱신할 수 있다.Also, the
실시 예에 따라, 각 명령(CMD1과 CMD2)은 전자 시스템(1A)의 초기화 동작 동안 생성될 수도 있고 동작 중에 실시간으로 생성될 수 있다.According to the embodiment, each of the instructions CMD1 and CMD2 may be generated during the initialization operation of the
다른 실시 예에 따라, 각 명령(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
비휘발성 메모리 시스템(20)의 상기 전체 메모리 저장 영역 중에서 상기 사용자 저장 영역 및 상기 비사용 저장 영역 각각의 물리 주소들은 변경된 사용자 영역 정보(C_URI)에 따라 변경될 수 있다.Among the entire memory storage areas of the
따라서, 호스트(10A)는 변경된 사용자 영역 정보(C_URI)에 따라 변경된 물리 주소들에 대응되는 논리 주소들을 갱신할 필요가 있다.Therefore, the
도 3에 도시된 바와 같이 호스트(10A)는 변경된 사용자 영역 정보(C_URI)에 따라 비사용자 저장 영역에 상응하는 논리 주소들(LSN-N)을 증가하거나 감소할 수 있다.As shown in FIG. 3, the
호스트(10A)는 프로세서(13), 메모리(15), 및 호스트 인터페이스(17)을 포함할 수 있다.The
실시 예에 따라, 호스트(10A)는 애플리케이션 프로세서 또는 모바일 애플리케이션 프로세서를 의미할 수 있다.According to an embodiment, the
프로세서(13)는 버스(11)를 통해 메모리(15) 및/또는 호스트 인터페이스(17)의 동작을 제어할 수 있다.The
프로세서(13)는 본 발명의 실시 예에 따른 비휘발성 메모리 시스템(20)의 상기 전체 메모리 저장 영역 중에서 상기 사용자 저장 영역을 적응적으로 제어하는 방법에 관련된 동작(operation) 또는 기능(function)을 수행할 수 있는 프로그램, 예컨대 운영 체제(operating system(OS)), 애플리케이션 프로그램(application program), 또는 API(application programming interface)를 실행시킬 수 있다.The
메모리(15)는 비휘발성 메모리 시스템(20)의 상기 전체 메모리 저장 영역 중에서 상기 사용자 저장 영역을 적응적으로 제어하는 방법에 관련된 프로그램을 저장할 수 있는 동작 메모리(operation memory)를 의미할 수 있고, 휘발성 메모리 장치 또는 불휘발성 메모리 장치로 구현될 수 있다.The
상기 휘발성 메모리 장치는 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
호스트 인터페이스(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
비휘발성 메모리 시스템(20)은 메모리 컨트롤러(100)와 비휘발성 메모리 장치(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
비휘발성 메모리 장치(200)의 전체 메모리 저장 영역 중에서 사용자 저장 영역의 크기는 호스트(10A)의 제어에 따라 메모리 컨트롤러(100), 예컨대 주소 매핑 모듈(130)을 통해서 적응적으로 제어될 수 있다.The size of the user storage area in the entire memory storage area of the
비휘발성 메모리 장치(200)는 플래시 메모리 장치일 수 있으나, 이에 한정되지 않으며, PRAM, MRAM, ReRAM, 또는 FeRAM 장치일 수 있다. 비휘발성 메모리 장치(200)가 상기 플래시 메모리 장치인 경우, 비휘발성 메모리 장치(200)는 플로팅 게이트 방식의 NAND 플래시 메모리 장치 또는 CTF(Charge Trap Flash) 방식의 NAND 플래시 메모리 장치일 수 있다. 비휘발성 메모리 장치(200)의 메모리 셀 트랜지스터들은 2차원적으로 배열된 구조를 가질 수도 있고, 또는 3차원적으로 배열된 구조를 가질 수도 있다.
도 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
전체 메모리 저장 영역(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
비사용자 저장 영역(NUSR)은 호스트(10A)로부터 출력되는 신호(예컨대, 명령 또는 데이터) 또는 호스트(10A)로 입력되는 신호(예컨대, 명령 또는 데이터)를 임시로 저장할 수 있다.The non-user storage area (NUSR) may temporarily store a signal (e.g., command or data) output from the
또한, 에러(또는 불량)가 사용자 저장 영역(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
메모리 컨트롤러(100)는 주소 매핑 모듈(address mapping module; 130)을 포함할 수 있다.The
주소 매핑 모듈(130)은 사용자 영역 정보 요청 명령(CMD1)에 응답하여 사용자 영역 정보(URI)를 호스트(10A)로 전송할 수 있다.The
실시 예에 따라, 사용자 영역 정보(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
주소 매핑 모듈(130)은 사용자 영역 정보 설정 명령(CMD2)에 응답하여 호스트로(10)부터 전송된 변경된 사용자 영역 정보(C_URI)에 기초해 비휘발성 메모리 장치(200)의 전체 메모리 저장 영역(DSR) 중에서 사용자 저장 영역(USR)의 크기를 제어할 수 있다.The
도 4에 도시된 바와 같이, 주소 매핑 모듈(130)은 변경된 사용자 영역 정보(C_URI)에 따라 사용자 저장 영역(URI)을 증가시키거나 감소시킬 수 있다.As shown in FIG. 4, the
주소 매핑 모듈(100)은 주소 매핑 테이블(133)을 이용하여 논리 주소들과 비휘발성 메모리 장치(200), 예컨대 메모리 셀 어레이(210)의 물리 주소들을 매핑할 수 있다.The
주소 매핑 모듈(100)은 변경된 사용자 영역 정보(C_URI)에 따라 주소 매핑 테이블(133)을 변경할 수 있다. 주소 매핑 모듈(130)이 변경된 사용자 영역 정보(C_URI)에 따라 사용자 저장 영역(USR)의 크기를 제어하고, 이에 따라 주소 매핑 테이블(133)을 변경하는 동작은 도 4를 참조하여 상세히 설명될 것이다.The
본 명세서에서의 모듈(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
도 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
호스트(10B)는 사용자 영역 정보 요청 명령(CMD1)을 비휘발성 메모 시스템(20)으로 전송하고, 비휘발성 메모리 시스템(20)은 사용자 영역 요청 명령(CMD1)에 응답하여 사용자 영역 정보(URI)를 호스트(10A)로 전송할 수 있다.The
호스트(10B)는 입력 장치(18)로부터 전송된 사용자의 요청에 따라 사용자 영역 정보(URI)를 디스플레이(19)에 디스플레이할 수 있다.The
호스트(10B)는 입력 장치(18)를 통해 상기 사용자로부터 입력된 사용자 영역 정보(URI)의 변경 요청을 수신하고, 상기 변경 요청에 응답하여 사용자 영역 정보(URI)를 변경하고, 변경된 사용자 영역 정보(C_URI)를 비휘발성 메모리 시스템(20)에 설정하기 위한 사용자 영역 정보 설정 명령(CMD2)를 생성하고, 변경된 사용자 영역 정보(C_URI)와 사용자 영역 정보 설정 명령(CMD2)을 비휘발성 메모리 시스템(20)으로 전송할 수 있다.The
실시 예에 따라, 호스트(10B)는 변경된 사용자 영역 정보(C_URI)가 포함된 사용자 영역 정보 설정 명령(CMD2)을 비휘발성 메모리 시스템(20)으로 전송할 수 있다.According to the embodiment, the
비휘발성 메모리 시스템(20)은 사용자 영역 정보 설정 명령(CMD2)에 응답하여 비휘발성 메모리 시스템(20)의 전체 메모리 저장 영역 중 사용자 저장 영역의 크기를 제어할 수 있다.The
즉, 비휘발성 메모리 시스템(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
또한, 호스트(10B)는 변경된 사용자 영역 정보(C_URI)에 따라 전체 메모리 저장 영역(DSR) 중에서 비사용자 저장 영역(NUSR)에 상응하는 논리 주소들(LSN-N)을 갱신할 수 있다.In addition, the
각 명령(CMD1과 CMD2)은 전자 시스템(1B)의 초기화 동작 동안 생성될 수도 있고 동작 중에 실시간으로 생성될 수 있다.Each of the commands CMD1 and CMD2 may be generated during the initialization operation of the
도 2의 호스트(10B)에 포함된 각 구성요소(13, 15, 17)의 구조 및 동작은 도 1에 도시된 호스트(10A)의 각 구성요소(13, 15, 17)의 구조 및 동작과 실질적으로 동일할 수 있다. 또한, 도 2의 전자 시스템(1B)의 비휘발성 메모리 시스템(20)의 구조 및 동작은 도 1의 전자 시스템(1A)의 비휘발성 메모리 시스템(20)의 구조 및 동작과 실질적으로 동일할 수 있다.The structure and operation of each
도 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
보다 구체적으로, 호스트(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
관리 파라미터(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
도 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
보다 구체적으로, 호스트(10)는 미리 설정된 복수의 사용자 영역 정보(USR1 내지 USR5)를 저장하는 테이블(USR_T2)에서 어느 하나의 사용자 영역 정보(USR1, USR2, USR3, USR4, 또는 USR5)를 변경된 사용자 영역 정보(C_URI)로 선택할 수 있다.More specifically, the
미리 설정된 복수의 사용자 영역 정보(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
따라서, 호스트(10)는 비휘발성 메모리 시스템(20)이 변경된 사용자 영역 정보에 따라 상기 사용자 저장 영역의 크기를 변경하도록 제어할 수 있으므로, 비휘발성 메모리 시스템의 성능 저하와 내구력 저하를 방지할 수 있는 효과가 있다.Therefore, the
도 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
도 1 내지 도 7을 참조하면, 주소 매핑 모듈(130)은 변경된 사용자 영역 정보(C_URI)에 따라 전체 메모리 저장 영역(DSR) 중에서 사용자 저장 영역(USR)을 감소할 수 있다.Referring to FIGS. 1 to 7, the
사용자 저장 영역(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
주소 매핑 테이블(133)은 주소 매핑 모듈(130)에 의해서 도 7에 도시된 테이블(TABLE1)과 같이 변경될 수 있다(CASE1).The address mapping table 133 may be changed by the
사용자 저장 영역(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
주소 매핑 테이블(133)은 주소 매핑 모듈(130)에 의해서 도 7에 도시된 테이블(TABLE2)과 같이 변경될 수 있다.The address mapping table 133 may be changed by the
도 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
호스트(10)는 비휘발성 메모리 시스템(20)으로부터 전송된 사용자 영역 정보(URI)를 수신할 수 있다(S120).The
호스트(10A)는 사용자 영역 정보(URI)를 변경하고, 변경된 사용자 영역 정보(C_URI)를 비휘발성 메모리 시스템(20)에 설정하기 위한 사용자 영역 정보 설정 명령(CMD2)를 비휘발성 메모리 시스템(20)으로 전송할 수 있다(S130).The
비휘발성 메모리 시스템(20)은 사용자 영역 정보 설정 명령(CMD2)에 응답하여 비휘발성 메모리 시스템(20)의 전체 메모리 저장 영역(DSR) 중 사용자 저장 영역(USR)의 크기를 제어할 수 있다(S140).The
도 1 내지 도 3, 및 도 9를 참조하면, 호스트(10)는 사용자 영역 정보 요청 명령(CMD1)을 비휘발성 메모 시스템(20)으로 전송할 수 있다(S210).Referring to FIGS. 1 to 3 and 9, the
호스트(10)는 비휘발성 메모리 시스템(20)으로부터 전송된 사용자 영역 정보(URI)를 수신할 수 있다(S220).The
호스트(10B)는 입력 장치(18)로부터 전송된 사용자의 요청에 따라 사용자 영역 정보(URI)를 디스플레이(19)에 디스플레이할 수 있다(S230).The
호스트(10B)는 입력 장치(18)를 통해 상기 사용자로부터 입력된 사용자 영역 정보(URI)의 변경 요청을 수신할 수 있다(S240).The
호스트(10A)는 상기 변경 요청에 응답하여 사용자 영역 정보(URI)를 변경하고, 변경된 사용자 영역 정보(C_URI)를 비휘발성 메모리 시스템(20)에 설정하기 위한 사용자 영역 정보 설정 명령(CMD2)를 비휘발성 메모리 시스템(20)으로 전송할 수 있다(S250).The
비휘발성 메모리 시스템(20)은 사용자 영역 정보 설정 명령(CMD2)에 응답하여 비휘발성 메모리 시스템(20)의 전체 메모리 저장 영역(DSR) 중 사용자 저장 영역(USR)의 크기를 제어할 수 있다(S260).The
도 1 내지 도 3, 도 5 및 도 10을 참조하면, 호스트(10)는 사용자 영역 정보 요청 명령(CMD1)을 비휘발성 메모 시스템(20)으로 전송할 수 있다(S310).Referring to FIGS. 1 to 3, 5 and 10, the
호스트(10)는 비휘발성 메모리 시스템(20)으로부터 전송된 사용자 영역 정보(URI)를 수신할 수 있다(S320).The
호스트(10A)는 테이블(USR_T1)에서 어느 하나의 엔트리(ENT1, ENT2, ENT3, ENT4, 또는 ENT5)를 변경된 사용자 영역 정보(C_USR)로 선택하고, 변경된 사용자 영역 정보(C_URI)를 비휘발성 메모리 시스템(20)에 설정하기 위한 사용자 영역 정보 설정 명령(CMD2)를 비휘발성 메모리 시스템(20)으로 전송할 수 있다(S330).The
비휘발성 메모리 시스템(20)은 사용자 영역 정보 설정 명령(CMD2)에 응답하여 비휘발성 메모리 시스템(20)의 전체 메모리 저장 영역(DSR) 중 사용자 저장 영역(USR)의 크기를 제어할 수 있다(S340).The
도 1 내지 도 3, 도 6 및 도 11을 참조하면, 호스트(10)는 사용자 영역 정보 요청 명령(CMD1)을 비휘발성 메모 시스템(20)으로 전송할 수 있다(S410).Referring to FIGS. 1 to 3, 6 and 11, the
호스트(10)는 비휘발성 메모리 시스템(20)으로부터 전송된 사용자 영역 정보(URI)를 수신할 수 있다(S420).The
호스트(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
비휘발성 메모리 시스템(20)은 사용자 영역 정보 설정 명령(CMD2)에 응답하여 비휘발성 메모리 시스템(20)의 전체 메모리 저장 영역(DSR) 중 사용자 저장 영역(USR)의 크기를 제어할 수 있다(S440).The
도 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
메모리 카드(300)는 호스트(10)와 통신하는 카드 인터페이스(310), 비휘발성 메모리 장치(200), 및 카드 인터페이스(310)와 비휘발성 메모리 장치(200) 사이에서 데이터 통신을 제어하는 메모리 컨트롤러(100)를 포함할 수 있다.The
실시 예에 따라, 카드 인터페이스(310)는 SD(secure digital) 카드 인터페이스 또는 MMC(multi-media card) 인터페이스일 수 있으나 이에 한정되는 것은 아니다. 카드 인터페이스(310)는 호스트(10)의 프로토콜에 따라 호스트(10)와 메모리 컨트롤러(100) 사이에서 데이터 교환을 인터페이스할 수 있다. According to an embodiment, the
다른 실시 예에 따라, 카드 인터페이스(310)는 USB(Universal Serial Bus) 프로토콜, IC(InterChip)-USB 프로토콜을 지원할 수 있다. 여기서, 카드 인터페이스라 함은 호스트(10)가 사용하는 프로토콜을 지원할 수 있는 하드웨어, 상기 하드웨어에 탑재된 소프트웨어, 또는 신호 전송 방식을 의미할 수 있다.According to another embodiment, the
도 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
비휘발성 메모리 시스템(300)은 메모리 컨트롤러(100), 및 비휘발성 메모리 장치(200)를 포함할 수 있다.The
메모리 컨트롤러(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
메모리 컨트롤러(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
메모리 컨트롤러(100)는 각 채널(Channel 0 및 Channel 1)을 완전히 독립적으로 제어할 수 있다. 즉, 메모리 컨트롤러(100)는 동시에 2개의 플래시 칩(예컨대, 230-1 및 231-1)에 라이트 명령을 입력할 수 있다. 따라서, 2개의 플래시 칩(예컨대, 230-1 및 231-1)에 동시에 라이트 동작이 수행됨으로써, 비휘발성 메모리 시스템(20A)은 상기 라이트 동작에 대한 성능을 개선할 수 있다.The
하나의 채널에 연결된 각 낸드 플래시 메모리 소자(예컨대, 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
비휘발성 메모리 시스템(500)은 SSD(solid state drive)와 같은 데이터 처리 장치로 구현될 수 있다. The
비휘발성 메모리 시스템(500)은 다수의 메모리 장치들(200), 다수의 메모리 장치들(200) 각각의 데이터 처리 동작을 제어할 수 있는 메모리 컨트롤러(100), DRAM과 같은 휘발성 메모리 장치(525), 메모리 컨트롤러(100)와 호스트(10) 사이에서 주고받는 데이터를 휘발성 메모리 장치(525)에 저장하는 것을 제어하는 버퍼 매니저(520)를 포함할 수 있다. The
도 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
전자 시스템(1F)은 호스트(10), RAID 컨트롤러(610)와 다수의 메모리 시스템들(20-1~20-n; n는 자연수)을 포함할 수 있다. The
다수의 메모리 시스템들(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
전자 시스템(1F)는 PC(personal computer) 또는 SSD로 구현될 수 있다. The
프로그램 동작 동안, RAID 컨트롤러(610)는 호스트(10)로부터 출력된 프로그램 명령에 따라 호스트(10)로부터 출력된 프로그램 데이터를 RAID 레벨에 따라 다수의 메모리 시스템들(20-1~20-n) 중에서 적어도 어느 하나의 메모리 시스템로 출력할 수 있다.During the program operation, the
리드 동작 동안, RAID 컨트롤러(610)는 호스트(10)로부터 출력된 리드 명령에 따라 다수의 메모리 시스템들(20-1~20-n) 중에서 적어도 어느 하나의 메모리 시스템으로부터 읽혀진 데이터를 호스트(10)로 전송할 수 있다.During the read operation, the
도 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
모니터링 모듈(12)을 제외하면 호스트(10C)의 기능과 구조는 도 1의 호스트(10A)의 구조와 기능과 실질적으로 동일할 수 있다. 또한 호스트(10C)는 도 2의 호스트(10B)의 입력 장치(18)와 디스플레이(19)를 더 포함할 수 있으며, 호스트(10C)의 구조와 기능은 도 2의 호스트(10B)의 구조와 기능과 실질적으로 동일할 수 있다.Except for the
비휘발성 메모리 시스템(20)의 구조와 기능은 도 1 또는 도 2의 비휘발성 메모리 시스템(20)의 구조와 기능과 실질적으로 동일하다.The structure and function of the
파일 서버(710)와 복수의 클라이언트들(731-1~631-k)은 유선 네트워크 또는 무선 네트워크를 통해 데이터 통신을 수행한다. 상기 유선 네트워크 또는 상기 무선 네트워크는 인터넷 또는 이동 통신 네트워크일 수 있다.The
파일 서버(710)는 호스트(200-1)로 데이터를 공급하는 데이터 소스의 기능을 수행할 수 있다.The
도 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
또한, 호스트(10C)의 모니터링 모듈(12)은 파일 서버(710)의 워크로드 (workload) 또는 QoS(Quality of Service)를 모니터링할 수 있다(S510).In addition, the
모니터링 모듈(12)이 모니터링 결과를 프로세서(13)로 전송하면, 프로세서 (13)는 상기 모니터링 결과에 기초하여 비휘발성 메모리 시스템(20)으로 전송될 데이터의 양을 예측하고(S520), 예측 결과에 기초하여 사용자 영역 정보를 생성하고 생성된 사용자 영역 정보를 변경된 사용자 영역 정보로 비휘발성 메모리 시스템(20)으로 전송할 수 있다(S530).When the
도 1부터 도 17을 참조하여 설명한 바와 같이, 호스트(10C)는 예측 결과 및/또는 사용자 영역 정보(URI)에 기초하여 변경된 사용자 영역 정보(C_URI)를 생성할 수 있다.As described with reference to Figs. 1 to 17, the
또한, 호스트(10C)는 비휘발성 메모리 시스템(20)으로 전송될 데이터 패턴, 데이터의 양, 데이터의 시작 어드레스, 또는 예측 결과 중에서 적어도 하나를 분석하고, 분석 결과와 사용자 영역 정보(URI)에 기초하여 변경된 사용자 영역 정보(C_URI)를 생성할 수 있다.The
따라서, 비휘발성 메모리 시스템(20)은 변경된 사용자 영역 정보(C_URI)에 따라 사용자 저장 영역(USR)의 크기를 제어할 수 있다(S540).Accordingly, the
여기서, 모듈(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.
벤더 스페스픽 명령(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.
사용자 저장 영역 용량 대비 비사용자 저장 영역 용량의 비율, 전체 저장 용량 대비 상기 사용자 저장 영역 용량의 비율, 상기 전체 저장 용량 대비 상기 비사용자 저장 영역 용량의 비율, 상기 사용자 저장 영역 용량, 및 상기 비사용자 저장 영역 용량 중에서 적어도 하나를 포함하는 비휘발성 메모리 시스템의 적응적 사용자 저장 영역 조절 방법.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.
상기 호스트가 상기 변경된 사용자 영역 정보에 따라 상기 전체 메모리 저장 영역 중에서 상기 사용자 저장 영역을 제외한 비사용자 저장 영역에 상응하는 논리 주소 주소들을 갱신하는 단계를 더 포함하는 비휘발성 메모리 시스템의 적응적 사용자 저장 영역 조절 방법.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.
상기 비휘발성 메모리 시스템은 상기 변경된 사용자 영역 정보에 따라 주소 매핑 테이블을 변경하는 비휘발성 메모리 시스템의 사용자 저장 영역의 적응적 조절 방법.The method according to claim 1,
Wherein the non-volatile memory system changes an address mapping table according to the changed user area information.
상기 호스트가 사용자의 요청에 따라 상기 비휘발성 메모리 시스템의 상기 사용자 영역 정보를 디스플레이하는 단계;
상기 호스트가 상기 사용자로부터 상기 비휘발성 메모리 시스템의 상기 사용자 영역 정보의 변경 요청을 수신하는 단계; 및
상기 호스트가 상기 변경 요청에 응답하여 상기 사용자 영역 정보를 변경하는 단계를 포함하는 비휘발성 메모리 시스템의 적응적 사용자 저장 영역 조절 방법.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.
상기 호스트가 소정의 관리 파라미터 대 사용자 영역 정보에 대한 복수의 엔트리를 저장하는 테이블에서 어느 하나의 사용자 영역 정보를 상기 변경된 사용자 영역 정보로 선택하는 단계(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.
순차 읽기 성능(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.
상기 호스트가 미리 설정된 복수의 사용자 영역 정보를 저장하는 테이블에서 어느 하나의 사용자 영역 정보를 상기 변경된 사용자 영역 정보로 선택하는 단계(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.
상기 비휘발성 메모리 시스템에 대한 접근 빈도, 상기 비휘발성 메모리 시스템에 대한 데이터 사용량, 및 상기 비휘발성 메모리 시스템에 대한 데이터 쓰기량 중에서 적어도 어느 하나에 따라, 상기 테이블에서 적응적으로 선택되는 비휘발성 메모리 시스템의 적응적 사용자 저장 영역 조절 방법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
상기 비휘발성 메모리 시스템은 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, .
상기 주소 매핑 모듈은 상기 변경된 사용자 영역 정보에 따라 주소 매핑 테이블을 변경하는 비휘발성 메모리 시스템.13. The method of claim 12,
Wherein the address mapping module changes an address mapping table according to the changed user area information.
사용자 저장 영역 용량 대비 비사용자 저장 영역 용량의 비율, 전체 저장 용량 대비 상기 사용자 저장 영역 용량의 비율, 상기 전체 저장 용량 대비 상기 비사용자 저장 영역 용량의 비율, 상기 사용자 저장 영역 용량, 및 상기 비사용자 저장 영역 용량 중에서 적어도 하나를 포함하는 비휘발성 메모리 시스템.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.
상기 비휘발성 메모리 시스템은 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.
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)
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)
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)
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)
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 |
-
2013
- 2013-03-15 KR KR1020130028311A patent/KR102098697B1/en active IP Right Grant
-
2014
- 2014-03-13 US US14/207,717 patent/US9460006B2/en active Active
Patent Citations (1)
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)
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 |