[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

KR102053406B1 - Data storage device and operating method thereof - Google Patents

Data storage device and operating method thereof Download PDF

Info

Publication number
KR102053406B1
KR102053406B1 KR1020120113216A KR20120113216A KR102053406B1 KR 102053406 B1 KR102053406 B1 KR 102053406B1 KR 1020120113216 A KR1020120113216 A KR 1020120113216A KR 20120113216 A KR20120113216 A KR 20120113216A KR 102053406 B1 KR102053406 B1 KR 102053406B1
Authority
KR
South Korea
Prior art keywords
file
physical
information
requested
storage device
Prior art date
Application number
KR1020120113216A
Other languages
Korean (ko)
Other versions
KR20140046954A (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 KR1020120113216A priority Critical patent/KR102053406B1/en
Priority to US14/048,890 priority patent/US9569113B2/en
Publication of KR20140046954A publication Critical patent/KR20140046954A/en
Application granted granted Critical
Publication of KR102053406B1 publication Critical patent/KR102053406B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 기술은 호스트 장치에서 관리하는 파일에 대한 정보를 호스트 장치로부터의 요청을 처리하는데 사용하는 데이터 저장 장치 및 그 동작 방법을 제공한다.
본 기술에 의한 데이터 저장 장치는 호스트 장치로부터 전달된 파일 정보를 저장하는 기억 장치 및 기억 장치를 참조하여 호스트 장치로부터의 반도체 메모리 장치에 대한 요청을 처리하는 제어부를 포함한다.
The present technology provides a data storage device that uses information on a file managed by a host device to process a request from the host device, and a method of operating the same.
The data storage device according to the present technology includes a storage device for storing file information transferred from a host device, and a controller for processing a request for a semiconductor memory device from the host device with reference to the storage device.

Description

데이터 저장 장치 및 그 동작 방법{DATA STORAGE DEVICE AND OPERATING METHOD THEREOF}DATA STORAGE DEVICE AND OPERATING METHOD THEREOF}

본 발명은 데이터 저장 장치 및 그 동작 방법에 관한 것으로, 보다 구체적으로는 호스트 장치가 관리하는 파일에 관한 정보를 호스트 장치로부터의 요청을 처리하는데 이용하는 데이터 저장 장치 및 그 동작 방법에 관한 것이다.BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a data storage device and a method of operating the same, and more particularly, to a data storage device and a method of operating the same, which use information about files managed by the host device to process a request from the host device.

플래시 메모리 장치는 비휘발성 메모리 장치의 일종으로서 FTL(Flash Translation Layer)에 의해 제어되어 호스트 장치로부터의 요청을 처리한다.The flash memory device is a kind of nonvolatile memory device and is controlled by a flash translation layer (FTL) to process a request from a host device.

일반적으로 호스트 장치에서 사용하는 파일 정보는 메모리 장치에 제공되지 않는다. 이에 따라 플래시 메모리 장치는 서로 다른 파일에 대응하는 데이터들을 동일한 블록에 저장할 가능성이 있다.Generally, file information used by the host device is not provided to the memory device. Accordingly, the flash memory device may store data corresponding to different files in the same block.

서로 다른 파일에 속한 데이터들이 하나의 블록 안에 저장되는 경우 사용 시간이 지남에 따라 일부 파일은 삭제되고 일부 파일은 그대로 유지되는 등의 이유로 유효 페이지와 무효 페이지가 혼재된 블록이 증가하여 가용 공간이 줄어들게 된다.If data belonging to different files is stored in one block, some files are deleted over time and some files remain intact, such as the increase in the number of blocks with a mixture of valid and invalid pages. do.

이로 인해 플래시 메모리 장치는 가비지 콜렉션 동작을 빈번하게 수행할 가능성이 커진다. 또한 데이터들이 무작위로 저장되는 경우 가비지 콜렉션이 수행될 희생 블록 내에서 무효 페이지 비율이 상대적으로 낮아져 가비지 콜렉션 동작에 비용이 많이 소모될 수 있다.This increases the likelihood that the flash memory device will frequently perform garbage collection operations. In addition, when data is randomly stored, the invalid page rate is relatively low in the victim block in which garbage collection is to be performed, and thus, garbage collection operation may be expensive.

플래시 메모리 장치의 저장 공간을 확보하기 위하여 호스트 장치에서 트림(trim) 명령을 제공하는 경우가 있다. 그러나 트림 명령만으로는 데이터 분산에 의하여 발생하는 전술한 성능 저하 문제를 해결할 수 없다.In some cases, a trim command is provided by a host device to secure a storage space of a flash memory device. However, the trim command alone cannot solve the aforementioned performance degradation problem caused by data distribution.

본 발명의 실시예는 호스트 장치에서 관리하는 파일에 대한 정보를 호스트 장치로부터의 요청을 처리하는데 사용하는 데이터 저장 장치 및 그 동작 방법을 제공한다.An embodiment of the present invention provides a data storage device using the information about a file managed by the host device to process a request from the host device and a method of operating the same.

본 발명의 실시예에 따른 데이터 저장 장치는 호스트 장치로부터 전달된 파일 정보를 저장하는 기억 장치 및 기억 장치를 참조하여 호스트 장치로부터의 반도체 메모리 장치에 대한 요청을 처리하는 제어부를 포함할 수 있다.A data storage device according to an embodiment of the present invention may include a memory device for storing file information transferred from a host device and a controller for processing a request for a semiconductor memory device from the host device with reference to the memory device.

본 발명의 실시예에 따른 데이터 저장 장치에서 기억 장치는 파일 정보에 연관된 반도체 메모리 장치의 물리 주소 정보를 함께 저장할 수 있다. In the data storage device according to an exemplary embodiment of the present invention, the memory device may store physical address information of the semiconductor memory device associated with the file information.

본 발명의 실시예에 따른 데이터 저장 장치에서 요청은 요청된 파일 정보를 포함할 수 있다.In the data storage device according to an embodiment of the present invention, the request may include requested file information.

본 발명의 실시예에 따른 데이터 저장 장치에서, 파일 정보는 호스트 장치에서 관리하는 파일 식별 번호를 포함할 수 있다.In a data storage device according to an embodiment of the present invention, the file information may include a file identification number managed by the host device.

본 발명의 실시예에 따른 데이터 저장 장치에서 제어부는 기억 장치를 참조하여 요청된 파일 정보에 연관된 물리 주소를 확인하고 확인된 물리 주소에 대하여 요청을 처리할 수 있다.In the data storage device according to an embodiment of the present invention, the controller may check a physical address associated with the requested file information with reference to the memory device and process a request for the identified physical address.

본 발명의 실시예에 따른 데이터 저장 장치에서 요청이 쓰기 요청일 때 확인된 물리 주소에 여유 공간이 없으면 제어부는 새로운 물리 주소를 요청된 파일 정보와 연관시키고 새로운 물리 주소에 대하여 요청을 처리할 수 있다.If there is no free space in the identified physical address when the request is a write request in the data storage device according to an embodiment of the present invention, the controller may associate the new physical address with the requested file information and process the request for the new physical address. .

본 발명의 실시예에 따른 데이터 저장 장치에서 요청된 파일 정보가 기억 장치에 존재하지 않으면 제어부는 요청된 파일 정보를 기억 장치에 추가하고 새로운 물리 주소를 요청된 파일 정보와 연관시킬 수 있다.If the file information requested in the data storage device according to an embodiment of the present invention does not exist in the storage device, the controller may add the requested file information to the storage device and associate a new physical address with the requested file information.

본 발명의 실시예에 따른 데이터 저장 장치에서 요청이 삭제 요청일 때 제어부는 요청된 파일 정보와 요청된 파일 정보에 연관된 물리 주소 정보를 기억 장치에서 삭제할 수 있다.When the request is a deletion request in the data storage device according to an embodiment of the present invention, the controller may delete the requested file information and the physical address information associated with the requested file information from the storage device.

본 발명의 실시예에 따른 호스트 장치는 데이터 저장 장치에 파일 정보를 제공할 수 있다.A host device according to an embodiment of the present invention may provide file information to a data storage device.

본 발명의 실시예에 따른 호스트 장치는 파일이 생성 또는 삭제되는 경우 파일 정보를 갱신하는 파일 정보 관리부를 더 포함할 수 있다.The host device according to an embodiment of the present invention may further include a file information management unit for updating file information when a file is created or deleted.

본 발명의 실시예에 따른 호스트 장치에서 파일 정보는 호스트 장치에서 관리하는 파일 식별 번호를 포함할 수 있다.In the host device according to an embodiment of the present invention, the file information may include a file identification number managed by the host device.

본 발명의 실시예에 따른 호스트 장치에서, 데이터 저장 장치에 요청을 전달하는 경우 파일 정보를 함께 제공할 수 있다.In the host device according to an embodiment of the present invention, file information may be provided together when the request is transmitted to the data storage device.

본 발명의 실시예에 따른 시스템은 데이터 저장 장치 및 데이터 저장 장치에 파일 정보를 제공하는 호스트 장치를 포함하되, 데이터 저장 장치는 반도체 메모리 장치, 호스트 장치로부터 제공된 파일 정보를 저장하는 기억 장치 및 기억 장치를 참조하여 호스트 장치로부터의 반도체 메모리 장치에 대한 요청을 처리하는 제어부를 포함할 수 있다.A system according to an embodiment of the present invention includes a data storage device and a host device for providing file information to the data storage device, wherein the data storage device is a semiconductor memory device, a storage device for storing file information provided from the host device, and a storage device. The controller may include a controller configured to process a request for a semiconductor memory device from a host device.

본 발명의 실시예에 따른 데이터 저장 장치의 동작 방법은 호스트 장치로부터 쓰기 요청을 수신하는 단계, 쓰기 요청된 파일 정보와 연관된 반도체 메모리 장치의 물리 주소를 확인하는 단계, 확인된 물리 주소에 대하여 쓰기 요청을 처리하는 단계를 포함할 수 있다.A method of operating a data storage device according to an embodiment of the present invention may include receiving a write request from a host device, checking a physical address of a semiconductor memory device associated with write requested file information, and writing a request to the identified physical address. It may include the step of processing.

본 발명의 실시예에 따른 데이터 저장 장치의 동작 방법은 확인된 물리 주소에 여유 공간이 없는 경우 새로운 물리 주소를 파일 정보와 연관시키는 단계 및 새로운 물리 주소에 대하여 쓰기 요청을 처리하는 단계를 더 포함할 수 있다.A method of operating a data storage device according to an embodiment of the present invention may further include associating a new physical address with file information when there is no free space in the identified physical address and processing a write request for the new physical address. Can be.

본 발명의 실시예에 따른 데이터 저장 장치의 동작 방법에서 파일 정보는 호스트 장치에서 관리하는 파일 식별 번호를 포함할 수 있다.In the method of operating a data storage device according to an embodiment of the present invention, the file information may include a file identification number managed by the host device.

본 발명의 다른 실시예에 따른 데이터 저장 장치의 동작 방법은 호스트 장치로부터 삭제 요청을 수신하는 단계 및 삭제 요청된 파일 정보를 삭제하는 단계를 포함할 수 있다.A method of operating a data storage device according to another embodiment of the present invention may include receiving a deletion request from a host device and deleting file information requested for deletion.

본 발명의 다른 실시예에 따른 데이터 저장 장치의 동작 방법에서 파일 정보는 호스트 장치에서 관리하는 파일을 식별하는 파일 식별 번호를 포함할 수 있다.In the method of operating a data storage device according to another embodiment of the present invention, the file information may include a file identification number for identifying a file managed by the host device.

본 기술은 호스트 장치에서 관리하는 파일에 대한 정보를 호스트 장치로부터의 요청을 처리하는데 사용하여 데이터 저장 장치의 성능을 향상시킬 수 있다.The present technology can improve the performance of a data storage device by using information about a file managed by the host device to process a request from the host device.

도 1은 본 발명의 일 실시예에 의한 호스트 장치와 데이터 저장 장치의 블록도.
도 2a 및 도 2b는 본 발명의 일 실시예에 의한 호스트 장치에서 데이터 저장 장치에 제공하는 메시지 포맷의 예.
도 3은 호스트 장치에서 관리하는 파일 정보의 예.
도 4는 본 발명의 일 실시예에 의한 기억 장치에 저장되는 파일 정보를 포함하는 데이터 구조.
도 5는 파일이 생성되는 경우 본 발명의 일 실시예에 의한 호스트 장치의 동작을 나타낸 순서도.
도 6은 파일을 수정하는 경우 본 발명의 일 실시예에 의한 호스트 장치의 동작을 나타낸 순서도.
도 7은 쓰기 요청의 경우 본 발명의 일 실시예에 의한 데이터 저장 장치의 동작을 나타낸 순서도.
도 8은 파일을 삭제하는 경우 본 발명의 일 실시예에 의한 호스트 장치의 동작을 나타낸 순서도.
도 9는 파일 정보 삭제 요청의 경우 본 발명의 일 실시예에 의한 데이터 저장 장치의 처리 동작을 나타낸 순서도.
1 is a block diagram of a host device and a data storage device according to an embodiment of the present invention.
2A and 2B are examples of message formats provided to a data storage device by a host device according to an embodiment of the present invention.
3 is an example of file information managed by a host device.
4 is a data structure including file information stored in a storage device according to an embodiment of the present invention.
5 is a flowchart illustrating an operation of a host device according to an embodiment of the present invention when a file is generated.
6 is a flowchart illustrating the operation of a host device according to an embodiment of the present invention when modifying a file.
7 is a flowchart illustrating an operation of a data storage device according to an embodiment of the present invention in the case of a write request.
8 is a flowchart illustrating an operation of a host device according to an embodiment of the present invention when deleting a file.
9 is a flowchart illustrating a processing operation of a data storage device according to an embodiment of the present invention in the case of a file information deletion request.

이하에서는 첨부한 도면을 참조하여 본 발명에 의한 다양한 실시예들을 구체적으로 개시한다. 이하에서 동일한 참조번호는 실질적으로 동일한 구성요소를 지시한다. Hereinafter, various embodiments of the present invention will be described in detail with reference to the accompanying drawings. The same reference numbers hereinafter refer to substantially the same components.

도 1은 본 발명의 일 실시예에 의한 호스트 장치(100)와 데이터 저장 장치(200)를 포함하는 시스템을 나타낸다.1 illustrates a system including a host device 100 and a data storage device 200 according to an embodiment of the present invention.

본 발명의 일 실시예에 의한 호스트 장치(100)는 응용 프로그램, 파일 시스템, 디바이스 드라이버, 메모리 장치를 포함한다. 응용 프로그램은 파일 시스템에 읽기 또는 쓰기 동작을 요청한다. 파일 시스템은 데이터 저장 장치(200)에 저장된 데이터를 파일 단위로 관리한다. 하나의 호스트 장치(100)는 다수의 파일 시스템을 포함할 수 있다. 디바이스 드라이버는 읽기 또는 쓰기 동작을 처리하기 위하여 데이터 저장 장치(200)에 읽기 또는 쓰기 등의 요청을 전달한다. 메모리 장치는 호스트 장치(100) 내에서 데이터를 임시로 저장하는데 사용한다.The host device 100 according to an embodiment of the present invention includes an application program, a file system, a device driver, and a memory device. The application requests a read or write operation on the file system. The file system manages data stored in the data storage device 200 in units of files. One host device 100 may include a plurality of file systems. The device driver transmits a read or write request to the data storage device 200 to process a read or write operation. The memory device is used to temporarily store data in the host device 100.

본 발명의 일 실시예에 의한 호스트 장치(100)는 파일 정보 관리부(110)를 더 포함한다. 파일 정보 관리부(110)는 호스트 장치(100)에서 관리하는 모든 파일들의 정보를 관리한다. 파일 정보 관리부(110)에서 관리하는 파일 정보의 구조에 대해서는 이하의 도 2, 3을 통해 살펴본다.The host device 100 according to an embodiment of the present invention further includes a file information management unit 110. The file information manager 110 manages information of all files managed by the host device 100. The structure of the file information managed by the file information management unit 110 will be described with reference to FIGS. 2 and 3 below.

본 발명의 일 실시예에 의한 호스트 장치(100)는 파일 정보 관리부(110)에서 관리하는 파일 정보를 데이터 저장 장치(200)에 제공한다. 본 발명의 일 실시예에 의한 호스트 장치(100)는 데이터 저장 장치(200)에 읽기 또는 쓰기 등의 요청을 전달하면서 요청에 연관된 파일 정보를 함께 전달할 수 있다. The host device 100 according to an embodiment of the present invention provides the data storage device 200 with file information managed by the file information management unit 110. The host device 100 according to an embodiment of the present invention may deliver file information associated with the request while transferring a request such as reading or writing to the data storage device 200.

본 발명의 일 실시예에 의한 데이터 저장 장치(200)는 호스트 장치(100)에서 전달된 파일 정보를 저장하는 기억 장치(210)와 기억 장치(210)를 참조하여 호스트 장치(100)로부터의 요청을 처리하는 제어부(220)를 포함한다.The data storage device 200 according to an embodiment of the present invention refers to a memory device 210 and a memory device 210 that store file information transmitted from the host device 100, and requests from the host device 100. The control unit 220 to process the.

기억 장치(210)는 파일 정보와 파일 정보와 연관된 반도체 메모리 장치(230)의 물리 주소를 저장할 수 있다.The memory device 210 may store file information and a physical address of the semiconductor memory device 230 associated with the file information.

기억 장치(210)는 고속 동작을 위하여 디램과 같은 휘발성 메모리로 구현될 수 있다. 기억 장치(210)에 저장되는 데이터는 백업될 수 있다. 이를 위하여 별도의 비휘발성 메모리 장치(미도시)를 백업용으로 사용할 수 있다. 다른 실시예에서는 비휘발성 반도체 메모리 장치(230)의 일부 영역을 백업용으로 사용할 수도 있다. 백업된 파일 정보는 호스트 장치(100)가 재시작하는 경우, 데이터 저장 장치(200)가 호스트 장치(100)와 재연결되는 등의 경우에 기억 장치(210)에 로드될 수 있다.The memory device 210 may be implemented as a volatile memory such as DRAM for high speed operation. Data stored in the memory device 210 may be backed up. To this end, a separate nonvolatile memory device (not shown) may be used for backup. In another embodiment, a portion of the nonvolatile semiconductor memory device 230 may be used for backup. The backed up file information may be loaded into the storage device 210 when the host device 100 restarts, when the data storage device 200 is reconnected with the host device 100, or the like.

이하의 설명에서는 반도체 메모리 장치(230)가 페이지 레벨 매핑을 사용하는 플래시 메모리 장치인 것으로 가정한다. 그러나 본 발명이 반드시 이러한 실시예로 한정되는 것은 아니다.In the following description, it is assumed that the semiconductor memory device 230 is a flash memory device using page level mapping. However, the present invention is not necessarily limited to these examples.

먼저 호스트 장치(100)에서 관리하는 파일 정보, 데이터 저장 장치(200)의 기억 장치(210)에 저장되는 데이터의 구조에 대해서 구체적으로 설명한다. First, a structure of the file information managed by the host device 100 and the data stored in the storage device 210 of the data storage device 200 will be described in detail.

도 2a 및 도 2b는 본 발명의 일 실시예에 의한 호스트 장치(100)에서 데이터 저장 장치(200)에 요청을 전달하는데 사용하는 메시지 포맷의 예를 나타낸다.2A and 2B illustrate examples of a message format used by the host device 100 to transfer a request to the data storage device 200 according to an embodiment of the present invention.

호스트 장치(100)에서 데이터 저장 장치(200)에 제공하는 메시지는 요청의 종류를 표시하는 명령(CMD), 주소 정보, 파일 정보 등을 포함한다. 명령은 읽기 또는 쓰기 요청 등에 대응하는 명령어를 포함한다.The message provided to the data storage device 200 from the host device 100 includes a command (CMD) indicating the type of request, address information, file information, and the like. The command includes a command corresponding to a read or write request.

먼저 도 2a에 도시된 메시지 포맷은 명령이 하나의 파일에 적용되는 실시예에 관한 것이다. 예를 들어 하나의 명령으로 하나의 파일을 저장하는 경우가 이에 해당한다.First, the message format shown in FIG. 2A relates to an embodiment in which a command is applied to one file. This is the case, for example, when saving one file with one command.

주소 정보는 요청이 수행되어야 하는 시작 논리 주소(ADDRESS)와 데이터의 길이(LENGTH)를 포함한다.The address information includes the start logical address (ADDRESS) where the request should be made and the length (LENGTH) of the data.

파일 정보는 파일 식별 번호(UID)를 포함한다. 파일 식별 번호(UID)는 호스트 장치(100)에서 각 파일들을 구별하기 위하여 사용하는 식별 번호로서 호스트 장치(100)의 파일 정보 관리부(110)에 의해 관리된다. 파일 식별 번호(UID)의 예는 도 3에 도시되어 있다.The file information includes a file identification number (UID). The file identification number (UID) is an identification number used by the host apparatus 100 to distinguish each file, and is managed by the file information management unit 110 of the host apparatus 100. An example of a file identification number (UID) is shown in FIG.

본 실시예에 의한 데이터 저장 장치(200)는 쓰기 또는 삭제 명령에 대해서 파일 식별 번호(UID)를 사용할 수 있으나 읽기 명령인 경우에는 파일 식별 번호(UID)를 무시할 수 있다.The data storage device 200 according to the present exemplary embodiment may use the file identification number (UID) for a write or delete command, but may ignore the file identification number (UID) in the case of a read command.

다음으로 도 2b에 도시된 메시지 포맷은 명령이 둘 이상의 파일에 적용되는 실시예에 관한 것이다. 예를 들어 하나의 명령으로 둘 이상의 파일을 저장하는 경우가 이에 해당한다.The message format shown in FIG. 2B then relates to an embodiment where the command is applied to more than one file. For example, if you save more than one file with one command.

도 2b에 도시된 메시지 포맷은 파일 각각(File 1 ~ File N)에 대응하는 다수의 시작 주소(ADDRESS 1 ~ ADDRESS N), 데이터 길이(LENGTH 1 ~ LENGTH N), 파일 식별 번호(UID 1 ~ UID N)를 포함하는 점을 제외하고 도 2a에 도시된 것과 유사하다.The message format shown in FIG. 2B includes a plurality of start addresses ADDRESS N corresponding to each of the files File 1 to File N, data length LENGTH 1 to LENGTH N, and file identification numbers UID 1 to UID. Similar to that shown in FIG. 2A except that it includes N).

도 2b와 같은 포맷의 메시지를 수신하는 데이터 저장 장치(200)는 메시지에 포함된 다수의 파일들(FILE 1 ~ FILE N)에 대하여 직렬 또는 병렬로 명령(CMD)을 처리할 수 있다.The data storage device 200 receiving a message having a format as shown in FIG. 2B may process a command CMD in series or in parallel with respect to a plurality of files FILE 1 to FILE N included in the message.

이하에서는 도 2a와 같이 하나의 파일에 대하여 명령을 처리하는 실시예에 대하여 개시한다. 그러나 통상의 기술자라면 이에 대한 개시를 참조 및 확장함으로써 도 2b와 같이 다수의 파일에 대하여 명령을 처리하는 실시예 또한 용이하게 알 수 있다.Hereinafter, an embodiment of processing an instruction on one file will be described as shown in FIG. However, those skilled in the art can also easily see an embodiment of processing a command on a plurality of files as shown in FIG. 2B by referring to and expanding the disclosure thereof.

도 3은 본 발명의 일 실시예에 의한 파일 정보 관리부(110)에서 관리하는 파일 정보의 예를 나타낸다.3 shows an example of file information managed by the file information management unit 110 according to an embodiment of the present invention.

파일 정보는 파일 식별 번호(UID)를 포함한다. 호스트 장치(100)가 다수의 파일 시스템을 구비하는 경우 파일 시스템마다 별도의 번호(A, B)가 할당되고, 각 파일 시스템에서 관리하는 파일마다 별도의 파일 번호(1233 등)가 할당된다.The file information includes a file identification number (UID). When the host apparatus 100 includes a plurality of file systems, separate numbers A and B are allocated to each file system, and separate file numbers 1233 and the like are allocated to files managed by each file system.

파일 식별 번호(UID)는 파일 시스템에 관계없이 호스트 장치(100)에서 관리하는 전체 파일들을 개별적으로 식별하기 위하여 파일 시스템의 번호(File System ID)와 각 파일 시스템에서 관리하는 파일 번호(File ID)를 조합하여 생성할 수 있다.The file identification number (UID) is a file system number (File ID) and a file number (File ID) managed by each file system to individually identify all files managed by the host device 100 regardless of the file system. Can be generated by combining

파일 식별 번호(UID)를 생성하는 방법이나 파일 식별 번호의 구체적인 형태는 실시예에 따라 변경될 수 있다.The method of generating the file identification number (UID) or the specific form of the file identification number may be changed according to an embodiment.

도 3에 도시된 파일 정보는 호스트 장치(100)에서 파일이 생성, 삭제되는 경우 갱신될 수 있다. 도 3에 도시된 파일 정보는 예를 들어 플래시 메모리, 하드디스크 등과 같은 비휘발성 메모리 장치에 저장되어 호스트 장치(100)가 부팅되는 등의 경우에 휘발성 메모리 장치에 로드하여 사용할 수 있다.The file information shown in FIG. 3 may be updated when a file is created or deleted in the host device 100. The file information illustrated in FIG. 3 may be stored in, for example, a nonvolatile memory device such as a flash memory or a hard disk and loaded and used in the volatile memory device when the host device 100 is booted.

도 4는 본 발명의 일 실시예에 의한 데이터 저장 장치(200)에 저장되는 파일 정보와 이에 연관된 물리 주소를 도시한다. 파일 정보와 이에 연관된 물리 주소는 기억 장치(210)에 저장된다.4 illustrates file information stored in the data storage device 200 and a physical address associated with the same according to an embodiment of the present invention. The file information and the physical address associated with it are stored in the storage device 210.

파일 정보는 파일 식별 번호(UID)를 포함한다. 실시예에 따라 파일 정보는 다른 정보를 더 포함할 수 있다.The file information includes a file identification number (UID). According to an embodiment, the file information may further include other information.

기억 장치(210)는 파일 식별 번호(UID)와 파일 식별 번호에 연관된 반도체 메모리 장치(230)의 물리 주소(PBA)를 저장한다.The memory device 210 stores the file identification number UID and the physical address PBA of the semiconductor memory device 230 associated with the file identification number.

도 4에 도시된 바와 같이 하나의 파일 식별 번호(UID)는 하나의 물리 주소(PBA)가 연관된다. As shown in FIG. 4, one file identification number (UID) is associated with one physical address (PBA).

하나의 파일을 기록하기 위하여 둘 이상의 블록이 필요한 경우 마지막으로 사용된 블록의 물리 주소(PBA)가 파일 식별 번호(UID)와 연관된다.If more than one block is needed to record one file, the physical address (PBA) of the last used block is associated with the file identification number (UID).

파일 식별 번호(UID)를 생성 또는 삭제하거나 파일 식별 번호(UID)와 물리 주소(PBA)를 연관시키는 방법에 대해서는 이하에서 구체적으로 살펴본다.A method of generating or deleting a file identification number (UID) or associating a file identification number (UID) with a physical address (PBA) will be described in detail below.

도 5는 본 발명의 일 실시예에 의한 호스트 장치(100)에서 파일을 생성하는 동작을 나타내는 순서도이다.5 is a flowchart illustrating an operation of generating a file in the host device 100 according to an embodiment of the present invention.

먼저 호스트 장치(100)에서 새로운 파일을 생성한다(S110). First, a new file is generated in the host device 100 (S110).

이후 호스트 장치(100)의 파일 정보 관리부(110)는 생성된 파일이 속하는 파일 시스템 내에서 파일 번호(File ID)를 할당하고 파일 시스템 번호와 파일 번호를 사용하여 파일 식별 번호(UID)를 생성한다. 이후 도 3에 도시된 파일 정보를 갱신한다(S120).Thereafter, the file information management unit 110 of the host device 100 allocates a file number (File ID) in the file system to which the generated file belongs and generates a file identification number (UID) using the file system number and the file number. . Thereafter, the file information shown in FIG. 3 is updated (S120).

호스트 장치(100)는 파일 식별 번호(UID)를 포함하는 파일 정보와 쓰기 요청을 도 2에 도시된 형태의 메시지 포맷을 사용하여 데이터 저장 장치에 제공한다(S130).The host device 100 provides the file information including the file identification number (UID) and the write request to the data storage device using the message format of the type shown in FIG. 2 (S130).

도 6은 본 발명의 일 실시예에 의한 호스트 장치(100)에서 파일 데이터를 수정하는 동작을 나타내는 순서도이다.6 is a flowchart illustrating an operation of modifying file data in the host device 100 according to an exemplary embodiment.

먼저 호스트 장치(100)에서 파일 데이터에 대한 갱신 요청이 발생한다(S210).First, an update request for file data is generated in the host device 100 (S210).

이후 호스트 장치(100)는 해당 파일에 대응하는 파일 식별 번호(UID)를 확인한다(S220).Thereafter, the host device 100 checks a file identification number (UID) corresponding to the corresponding file (S220).

이후 호스트 장치(100)는 쓰기 요청과 함께 해당 파일 식별 번호(UID)를 도 2에 도시된 형태의 메시지 포맷을 사용하여 데이터 저장 장치(200)에 전달한다(S230).Thereafter, the host device 100 transmits the corresponding file identification number (UID) to the data storage device 200 using the message format shown in FIG. 2 together with the write request (S230).

반도체 메모리 장치(230)가 플래시 메모리 장치인 경우는 덮어쓰기 동작이 불가능하므로 파일 데이터에 대한 갱신을 위하여 새로운 쓰기 요청을 수행한다.Since the overwrite operation is impossible when the semiconductor memory device 230 is a flash memory device, a new write request is performed to update file data.

도 7은 본 발명의 일 실시예에 의한 데이터 저장 장치(200)에서 파일 쓰기 요청을 처리하는 동작을 나타내는 순서도이다.7 is a flowchart illustrating an operation of processing a file write request in the data storage device 200 according to an embodiment of the present invention.

데이터 저장 장치(200)는 호스트 장치(100)로부터 쓰기 요청을 수신한다(S310). 호스트 장치(100)로부터 전달받는 메시지의 포맷은 도 2에 도시된 바와 같다.The data storage device 200 receives a write request from the host device 100 in operation S310. The format of the message received from the host device 100 is as shown in FIG. 2.

이후 제어부(220)는 도 2와 같은 포맷의 메시지에 포함된 파일 식별 번호(UID)가 기억 장치(210)에 존재하는지 확인한다(S320).Thereafter, the controller 220 checks whether a file identification number (UID) included in the message having the format shown in FIG. 2 exists in the storage device 210 (S320).

전달받은 파일 식별 번호(UID)가 기억 장치(210)에 존재하지 않으면 제어부(220)는 기억 장치(210)에 요청된 파일 식별 번호를 저장하고 빈 블록을 할당하여 이를 새로운 파일 식별 번호에 연관시킨다(S370).If the received file identification number (UID) does not exist in the storage device 210, the controller 220 stores the requested file identification number in the storage device 210, allocates an empty block, and associates it with the new file identification number. (S370).

전달받은 파일 식별 번호(UID)가 기억 장치(210)에 존재하면 제어부(220)는 기억 장치(210)를 참조하여 파일 식별 번호(UID)에 연관된 물리 주소(PBA)를 확인한다(S330).If the received file identification number UID exists in the storage device 210, the controller 220 checks the physical address PBA associated with the file identification number UID with reference to the storage device 210 (S330).

제어부(220)는 현재 사용 중인 물리 주소(PBA)에 빈 페이지가 존재하는지 확인한다(S340).The controller 220 checks whether a blank page exists in the physical address PBA currently being used (S340).

빈 페이지가 존재하지 않으면 제어부(220)는 새로운 프리 블록을 할당하고 그 물리 주소가 파일 식별 번호(UID)와 연관되도록 기억 장치(210)를 갱신한다(S360). 이때 현재 사용 중인 물리 주소는 새로 할당된 블록의 물리 주소가 된다.If there is no blank page, the controller 220 allocates a new free block and updates the storage device 210 so that the physical address is associated with the file identification number UID (S360). At this time, the currently used physical address becomes the physical address of the newly allocated block.

빈 페이지가 존재하면 제어부(220)는 빈 페이지에 요청된 데이터를 기록한다(S350).If there is a blank page, the controller 220 records the requested data in the blank page (S350).

도 7에 도시된 실시예와 같이 쓰기 요청을 처리하는 경우 반도체 메모리 장치(230)의 각 블록은 동일한 파일에 연관된 데이터만을 저장하게 된다. When the write request is processed as in the embodiment shown in FIG. 7, each block of the semiconductor memory device 230 stores only data associated with the same file.

따라서 파일이 삭제되거나 업데이트 되는 경우 발생하는 무효 페이지들이 일정한 블록에 집중되어 가비지 콜렉션 회수가 종래에 비하여 줄어들 뿐만 아니라, 가비지 콜렉션을 위하여 선택된 희생 블록 내의 무효 페이지의 비율이 상대적으로 높아져 가비지 콜렉션으로 인한 성능 저하를 줄일 수 있게 된다.Therefore, invalid pages generated when a file is deleted or updated are concentrated in a certain block, thereby reducing garbage collection times as compared to the related art, and a relatively high proportion of invalid pages in a victim block selected for garbage collection results in performance due to garbage collection. Deterioration can be reduced.

도 8은 본 발명의 일 실시예에 의한 호스트 장치(100)에서 파일을 삭제하는 경우의 동작 방법을 나타내는 순서도이다.8 is a flowchart illustrating an operation method when a file is deleted by the host apparatus 100 according to an exemplary embodiment.

먼저 호스트 장치(100)에서 파일을 삭제한다(S410). First, a file is deleted from the host device 100 (S410).

이후 호스트 장치(100)의 파일 정보 관리부(110)는 삭제된 파일의 파일 식별 번호(UID)를 포함하는 파일 정보를 삭제한다(S420). Thereafter, the file information management unit 110 of the host device 100 deletes file information including the file identification number (UID) of the deleted file (S420).

이후 호스트 장치(100)는 데이터 저장 장치(200)에 파일 정보 삭제 요청을 전달한다(S430).Thereafter, the host device 100 transmits a file information deletion request to the data storage device 200 (S430).

도 9는 본 발명의 일 실시예에 의한 데이터 저장 장치(200)에서 파일 정보 삭제 요청을 처리하는 방법을 나타내는 순서도이다.9 is a flowchart illustrating a method of processing a file information deletion request in the data storage device 200 according to an embodiment of the present invention.

먼저 데이터 저장 장치(200)는 삭제 요청을 수신한다(S510).First, the data storage device 200 receives a deletion request (S510).

제어부(220)는 요청이 파일 정보 삭제 요청인지 확인한다(S520). 파일 정보 삭제 요청이 아니면 동작을 종료한다.The controller 220 checks whether the request is a file information deletion request (S520). If the file information deletion request is not completed, the operation ends.

제어부(220)는 도 2와 같이 호스트 장치(100)에서 전달된 메시지 포맷에 포함된 파일 정보(UID)와 기억 장치(210)를 참조하여 대응하는 파일 식별 번호(UID)가 기억 장치(210)에 존재하는지 확인한다. 파일 식별 번호(UID)가 존재하지 않으면 동작을 종료한다.The controller 220 refers to the file information UID included in the message format transmitted from the host device 100 and the file identification number UID corresponding to the storage device 210 with reference to the storage device 210 as shown in FIG. 2. Check if it exists in. If the file identification number (UID) does not exist, the operation ends.

제어부(220)는 파일 식별 번호(UID)를 기억 장치(210)에서 삭제한다. 이에 따라 해당 파일 식별 번호(UID)와 물리 주소(PBA)들의 연관 관계는 삭제된다(S540).The control unit 220 deletes the file identification number UID from the storage device 210. Accordingly, the association between the corresponding file identification number (UID) and the physical address (PBA) is deleted (S540).

호스트 장치는 트림 명령을 통해 삭제된 파일들의 논리 주소를 데이터 저장 장치에 제공하여 해당 논리 주소에 연관된 페이지들을 무효로 표시하도록 한다.The host device provides the data storage device with a logical address of files deleted through a trim command to invalidate pages associated with the logical address.

본 발명에 의하여 하나의 블록은 동일한 파일에 연관된 데이터들로 채워지므로 트림 명령에 의하여 무효로 표시되는 페이지들은 일정한 블록에 집중된다. According to the present invention, one block is filled with data associated with the same file, so pages marked as invalid by the trim command are concentrated in a certain block.

이에 따라 본 발명은 트림 명령에 후속하여 수행될 가비지 콜렉션 동작의 효율을 높일 수 있다.Accordingly, the present invention can increase the efficiency of the garbage collection operation to be performed subsequent to the trim command.

이상에서는 반도체 메모리 장치(230)가 페이지 레벨 매핑이 적용된 플래시 메모리 장치를 예로 들어 설명하였으나 본 발명의 범위가 이에 한정되는 것은 아니다. In the above, the semiconductor memory device 230 has been described using a flash memory device to which page level mapping is applied, but the scope of the present invention is not limited thereto.

본 발명은 비휘발성 메모리 장치(230)의 구체적인 종류에 관계없이 파일 정보를 참조하여 호스트 장치로부터의 요청을 처리함으로써 데이터 저장 장치의 성능을 향상시키는 기술을 포함한다.The present invention includes a technique of improving performance of a data storage device by processing a request from a host device with reference to file information regardless of the specific type of the nonvolatile memory device 230.

이상의 설명은 본 발명의 개시를 위한 것이지 본 발명의 권리범위를 한정하기 위한 것은 아니다. 본 발명의 권리범위는 특허청구범위에 기재된 범위와 그 균등범위에 의해 정해진다.The above description is for the purpose of disclosing the invention and is not intended to limit the scope of the invention. The scope of the present invention is defined by the scope described in the claims and their equivalents.

100: 호스트 장치
110: 파일 정보 관리부
200: 데이터 저장 장치
210: 기억 장치
220: 제어부
230: 반도체 메모리 장치
100: host device
110: file information management unit
200: data storage device
210: memory
220: control unit
230: semiconductor memory device

Claims (26)

각각 다수의 물리 페이지를 포함하는 다수의 물리 블록을 포함하며 상기 다수의 물리 블록을 식별하기 위한 다수의 물리 주소가 할당되는 반도체 메모리 장치;
호스트 장치로부터 전달되는 서로 구별되는 다수의 파일에 관한 파일 정보와 상기 다수의 물리 주소 사이의 맵핑 정보를 저장하는 기억 장치 및
상기 기억 장치를 참조하여 상기 호스트 장치로부터의 상기 반도체 메모리 장치에 대한 쓰기 요청을 처리하는 제어부
를 포함하되,
상기 쓰기 요청은 쓰기 요청된 파일의 파일 정보를 포함하고,
상기 제어부는 상기 맵핑 정보를 참조하여 상기 쓰기 요청된 파일의 파일 정보에 연관된 물리 주소에 대응하는 물리 블록을 확인하고 확인된 물리 블록에 상기 쓰기 요청된 파일을 저장하되,
상기 확인된 물리 블록은 상기 쓰기 요청된 파일과 다른 파일에 대응하는 유효한 물리 페이지를 포함하지 않고,
상기 호스트가 파일에 대한 삭제 요청을 제공하는 경우 상기 제어부는 삭제 요청된 파일에 대응하는 물리 블록을 선택하고 선택된 물리 블록에 포함된 물리 페이지를 무효화하고 상기 맵핑 정보에서 상기 삭제 요청된 파일에 대응하는 정보를 삭제하되 상기 선택된 물리 블록은 상기 삭제 요청된 파일과 다른 파일에 대응하는 유효한 물리 페이지는 포함하지 않는 데이터 저장 장치.
A semiconductor memory device including a plurality of physical blocks each including a plurality of physical pages, and to which a plurality of physical addresses for identifying the plurality of physical blocks are allocated;
A storage device for storing file information about a plurality of distinct files transmitted from a host device and mapping information between the plurality of physical addresses;
A controller configured to process a write request to the semiconductor memory device from the host device with reference to the memory device
Including,
The write request includes file information of a file requested to be written,
The controller checks a physical block corresponding to a physical address associated with file information of the write requested file with reference to the mapping information and stores the write requested file in the identified physical block.
The identified physical block does not include a valid physical page corresponding to a file different from the write requested file,
When the host provides a deletion request for a file, the controller selects a physical block corresponding to the file requested to be deleted, invalidates a physical page included in the selected physical block, and corresponds to the deleted requested file in the mapping information. And deleting the information, wherein the selected physical block does not include a valid physical page corresponding to a file different from the requested file for deletion.
삭제delete 삭제delete 청구항 1에 있어서, 상기 파일 정보는 상기 호스트 장치에서 관리하는 파일 식별 번호를 포함하는 데이터 저장 장치.The data storage device of claim 1, wherein the file information includes a file identification number managed by the host device. 삭제delete 청구항 1에 있어서, 상기 확인된 물리 블록에 여유 공간이 없으면 상기 제어부는 새로운 물리 블록에 대응하는 물리 주소를 상기 쓰기 요청된 파일의 파일 정보와 연관시키고 상기 새로운 물리 블록에 대하여 상기 쓰기 요청을 처리하는 데이터 저장 장치.The method of claim 1, wherein if there is no free space in the identified physical block, the controller associates a physical address corresponding to a new physical block with file information of the write requested file and processes the write request for the new physical block. Data storage. 청구항 1에 있어서, 상기 쓰기 요청된 파일의 파일 정보에 연관된 물리 주소가 상기 기억 장치에 존재하지 않으면 상기 제어부는 상기 쓰기 요청된 파일의 파일 정보를 상기 기억 장치에 추가하고 새로운 물리 블록에 대응하는 물리 주소를 상기 쓰기 요청된 파일의 파일 정보와 연관시키는 데이터 저장 장치.The physical device of claim 1, wherein, if a physical address associated with file information of the write requested file does not exist in the storage device, the controller adds file information of the write requested file to the storage device and corresponds to a new physical block. A data storage device associating an address with file information of the write requested file. 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 데이터 저장 장치 및
상기 데이터 저장 장치에 서로 구별되는 다수의 파일에 관한 파일 정보를 제공하는 호스트 장치
를 포함하되, 상기 데이터 저장 장치는
각각 다수의 물리 페이지를 포함하는 다수의 물리 블록을 포함하며 상기 다수의 물리 블록을 식별하기 위한 다수의 물리 주소가 할당되는 반도체 메모리 장치;
상기 호스트 장치로부터 제공된 상기 다수의 파일에 관한 파일 정보와 상기 다수의 물리 주소 사이의 맵핑 정보를 저장하는 기억 장치 및
상기 기억 장치를 참조하여 상기 호스트 장치로부터의 상기 반도체 메모리 장치에 대한 쓰기 요청을 처리하는 제어부
를 포함하되,
상기 쓰기 요청은 쓰기 요청된 파일의 파일 정보를 포함하고,
상기 제어부는 상기 맵핑 정보를 참조하여 상기 쓰기 요청된 파일의 파일 정보에 연관된 물리 주소에 대응하는 물리 블록을 확인하고 확인된 물리 블록에 상기 쓰기 요청된 파일을 저장하되,
상기 확인된 물리 블록은 상기 쓰기 요청된 파일과 다른 파일에 대응하는 유효한 물리 페이지는 포함하지 않고,
상기 호스트가 파일에 대한 삭제 요청을 제공하는 경우 상기 제어부는 삭제 요청된 파일에 대응하는 물리 블록을 선택하고 선택된 물리 블록에 포함된 물리 페이지를 무효화하고 상기 맵핑 정보에서 상기 삭제 요청된 파일에 대응하는 정보를 삭제하되 상기 선택된 물리 블록은 상기 삭제 요청된 파일과 다른 파일에 대응하는 유효한 물리 페이지는 포함하지 않는 시스템.
Data storage devices and
A host device for providing file information about a plurality of files distinguished from each other to the data storage device.
Including, but the data storage device is
A semiconductor memory device including a plurality of physical blocks each including a plurality of physical pages, and to which a plurality of physical addresses for identifying the plurality of physical blocks are allocated;
A storage device for storing file information about the plurality of files provided from the host device and mapping information between the plurality of physical addresses;
A controller configured to process a write request to the semiconductor memory device from the host device with reference to the memory device
Including,
The write request includes file information of a file requested to be written,
The controller checks a physical block corresponding to a physical address associated with file information of the write requested file with reference to the mapping information and stores the write requested file in the identified physical block.
The identified physical block does not include a valid physical page corresponding to a file different from the write requested file,
When the host provides a delete request for a file, the controller selects a physical block corresponding to the file requested to be deleted, invalidates a physical page included in the selected physical block, and corresponds to the deleted requested file in the mapping information. And delete the information, but wherein the selected physical block does not include a valid physical page corresponding to a file different from the requested file for deletion.
청구항 13에 있어서, 상기 호스트 장치는 파일이 생성 또는 삭제되는 경우 생성 또는 삭제되는 파일과 관련된 파일 정보를 갱신하는 파일 정보 관리부를 더 포함하는 시스템.The system of claim 13, wherein the host device further comprises a file information manager to update file information associated with a file to be created or deleted when the file is created or deleted. 삭제delete 삭제delete 청구항 13에 있어서, 상기 파일 정보는 상기 호스트 장치에서 관리하는 파일 식별 번호를 포함하는 시스템.The system of claim 13, wherein the file information includes a file identification number managed by the host device. 삭제delete 청구항 13에 있어서, 상기 확인된 물리 블록에 여유 공간이 없으면 상기 제어부는 새로운 물리 블록에 대응하는 물리 주소를 상기 쓰기 요청된 파일의 파일 정보와 연관시키고 상기 새로운 물리 블록에 대하여 상기 쓰기 요청을 처리하는 시스템.The method of claim 13, wherein when there is no free space in the identified physical block, the controller associates a physical address corresponding to a new physical block with file information of the write requested file and processes the write request for the new physical block. system. 청구항 13에 있어서, 상기 쓰기 요청된 파일의 파일 정보가 상기 기억 장치에 존재하지 않으면 상기 제어부는 상기 쓰기 요청된 파일의 파일 정보를 상기 기억 장치에 저장하고 새로운 물리 블록에 대응하는 물리 주소를 상기 쓰기 요청된 파일의 파일 정보와 연관시키는 시스템.The method of claim 13, wherein if the file information of the write requested file does not exist in the storage device, the controller stores the file information of the write requested file in the storage device and writes a physical address corresponding to a new physical block. A system that associates file information with the requested file. 삭제delete 각각 다수의 물리 페이지를 포함하는 다수의 물리 블록을 포함하며 상기 다수의 물리 블록을 식별하기 위한 다수의 물리 주소가 할당되는 반도체 메모리 장치를 포함하는 데이터 저장 장치의 동작 방법으로서,
서로 구별되는 다수의 파일에 관한 파일 정보를 호스트 장치로부터 제공받는 단계;
상기 다수의 파일에 관한 파일 정보와 상기 다수의 물리 주소 사이의 맵핑 정보를 저장하는 단계;
상기 호스트 장치로부터 쓰기 요청된 파일의 파일 정보를 포함하는 쓰기 요청을 수신하는 단계;
상기 맵핑 정보를 참조하여 쓰기 요청된 파일의 파일 정보와 연관된 물리 주소에 대응하는 물리 블록을 확인하는 단계;
확인된 물리 블록에 대하여 상기 쓰기 요청을 처리하는 단계;
상기 호스트 장치로부터 삭제 요청된 파일의 파일 정보를 포함하는 삭제 요청을 수신하는 단계;
상기 맵핑 정보를 참조하여 삭제 요청된 파일의 파일 정보와 연관된 물리 주소에 대응하는 물리 블록을 선택하는 단계;
선택된 물리 블록에 포함된 물리 페이지를 무효화하는 단계; 및
상기 맵핑 정보에서 상기 삭제 요청된 파일에 대응하는 정보를 무효화하는 단계
를 포함하되,
상기 확인된 물리 블록은 상기 쓰기 요청된 파일과 다른 파일에 대응하는 유효한 물리 페이지는 포함하지 않고, 상기 선택된 물리 블록은 상기 삭제 요청된 파일과 다른 파일에 대응하는 유효한 물리 페이지는 포함하지 않는 데이터 저장 장치의 동작 방법.
A method of operating a data storage device including a semiconductor memory device including a plurality of physical blocks each including a plurality of physical pages and assigned a plurality of physical addresses for identifying the plurality of physical blocks.
Receiving file information about a plurality of files distinguished from each other from a host device;
Storing mapping information between the plurality of files and mapping information between the plurality of physical addresses;
Receiving a write request including file information of a file requested to be written from the host device;
Identifying a physical block corresponding to a physical address associated with file information of a file requested to be written by referring to the mapping information;
Processing the write request for the identified physical block;
Receiving a deletion request including file information of a file requested to be deleted from the host device;
Selecting a physical block corresponding to a physical address associated with file information of a file requested to be deleted by referring to the mapping information;
Invalidating a physical page included in the selected physical block; And
Invalidating information corresponding to the file requested to be deleted from the mapping information;
Including,
The identified physical block does not include a valid physical page corresponding to a file different from the write requested file, and the selected physical block does not include a valid physical page corresponding to a file different from the requested file to be deleted. How the device works.
청구항 22에 있어서,
상기 확인된 물리 블록에 여유 공간이 없는 경우 새로운 물리 블록에 대응하는 물리 주소를 상기 쓰기 요청된 파일의 파일 정보와 연관시키는 단계 및
상기 새로운 물리 블록에 대하여 상기 쓰기 요청을 처리하는 단계
를 더 포함하는 데이터 저장 장치의 동작 방법.
The method according to claim 22,
Associating a physical address corresponding to a new physical block with file information of the write requested file when there is no free space in the checked physical block; and
Processing the write request for the new physical block
Operation method of a data storage device further comprising.
청구항 22에 있어서, 상기 파일 정보는 상기 호스트 장치에서 관리하는 파일 식별 번호를 포함하는 데이터 저장 장치의 동작 방법.The method of claim 22, wherein the file information comprises a file identification number managed by the host device. 삭제delete 삭제delete
KR1020120113216A 2012-10-11 2012-10-11 Data storage device and operating method thereof KR102053406B1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020120113216A KR102053406B1 (en) 2012-10-11 2012-10-11 Data storage device and operating method thereof
US14/048,890 US9569113B2 (en) 2012-10-11 2013-10-08 Data storage device and operating method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120113216A KR102053406B1 (en) 2012-10-11 2012-10-11 Data storage device and operating method thereof

Publications (2)

Publication Number Publication Date
KR20140046954A KR20140046954A (en) 2014-04-21
KR102053406B1 true KR102053406B1 (en) 2019-12-06

Family

ID=50653768

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120113216A KR102053406B1 (en) 2012-10-11 2012-10-11 Data storage device and operating method thereof

Country Status (1)

Country Link
KR (1) KR102053406B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022203238A1 (en) * 2021-03-24 2022-09-29 삼성전자 주식회사 Electronic device comprising storage, and method therefor

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040002934A1 (en) * 2002-06-26 2004-01-01 Bradley Taulbee System and method for providing requested file mapping information for a file on a storage device
US20050080984A1 (en) * 1999-01-27 2005-04-14 Matsushita Electric Industrial Co., Ltd. Recording method and reproduction method suitable for recording/reproduction of AV data, and recording drive and reproduction drive, information recording system and information reproduction system, and information recording medium for such methods
US20120158804A1 (en) * 2010-12-17 2012-06-21 Lim Youdoo Method for converting data in optical disc drive

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050080984A1 (en) * 1999-01-27 2005-04-14 Matsushita Electric Industrial Co., Ltd. Recording method and reproduction method suitable for recording/reproduction of AV data, and recording drive and reproduction drive, information recording system and information reproduction system, and information recording medium for such methods
US20040002934A1 (en) * 2002-06-26 2004-01-01 Bradley Taulbee System and method for providing requested file mapping information for a file on a storage device
US20120158804A1 (en) * 2010-12-17 2012-06-21 Lim Youdoo Method for converting data in optical disc drive

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022203238A1 (en) * 2021-03-24 2022-09-29 삼성전자 주식회사 Electronic device comprising storage, and method therefor

Also Published As

Publication number Publication date
KR20140046954A (en) 2014-04-21

Similar Documents

Publication Publication Date Title
US10649910B2 (en) Persistent memory for key-value storage
US8521949B2 (en) Data deleting method and apparatus
US9355028B2 (en) Data-storage device and flash memory control method
US10761731B2 (en) Array controller, solid state disk, and method for controlling solid state disk to write data
US8572309B2 (en) Apparatus and method to protect metadata against unexpected power down
US9122582B2 (en) File system for maintaining data versions in solid state memory
US20070094440A1 (en) Enhanced data access in a storage device
CN111007991B (en) Method for separating read-write requests based on NVDIMM and computer thereof
EP2530612A1 (en) Mount-time unmapping of unused logical addresses in non-volatile memory systems
CN107066498B (en) Key value KV storage method and device
JP2009276853A (en) Flash memory device
US20180150390A1 (en) Data Storage Device and Operating Method Therefor
US20230153012A1 (en) Memory system and control method
WO2018093442A1 (en) Storage operation queue
KR20170084675A (en) Method of accessing data with in a memory, and memory device using the method
KR101077901B1 (en) Apparatus and method for managing flash memory using log block level mapping algorithm
US9569113B2 (en) Data storage device and operating method thereof
KR102053406B1 (en) Data storage device and operating method thereof
US20240303189A1 (en) Memory system
US12039193B2 (en) Apparatus, method and computer program for managing memory page updates within non-volatile memory
KR101978515B1 (en) Data storage device and operating method thereof
TW202001576A (en) Data storage device and control method for non-volatile 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