KR20150053720A - 논리 블록 주소의 아토믹 스왑 및 트림을 위한 swat 커맨드 및 애플리케이션 프로그래밍 인터페이스 - Google Patents
논리 블록 주소의 아토믹 스왑 및 트림을 위한 swat 커맨드 및 애플리케이션 프로그래밍 인터페이스 Download PDFInfo
- Publication number
- KR20150053720A KR20150053720A KR1020140154321A KR20140154321A KR20150053720A KR 20150053720 A KR20150053720 A KR 20150053720A KR 1020140154321 A KR1020140154321 A KR 1020140154321A KR 20140154321 A KR20140154321 A KR 20140154321A KR 20150053720 A KR20150053720 A KR 20150053720A
- Authority
- KR
- South Korea
- Prior art keywords
- block address
- file
- logical block
- previous
- mapping
- Prior art date
- Legal status (The legal status 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 status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/16—File or folder operations, e.g. details of user interfaces specifically adapted to file systems
-
- 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/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/109—Address translation for multiple virtual address spaces, e.g. segmentation
-
- 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/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0643—Management of files
-
- 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/0674—Disk device
- G06F3/0676—Magnetic disk device
-
- 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/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
- G06F2212/1024—Latency reduction
-
- 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/15—Use in a specific computing environment
- G06F2212/152—Virtualized environment, e.g. logically partitioned system
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)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
도 2는 파일을 업데이트하는 일반적인 파일 관리 시스템을 보여주는 도면이다.
도 3은 일 실시 예에 따른 업데이트 동안 파일을 액세스하는 파일 관리 시스템에 의해 수행되는 프로세스를 보여주는 순서도이다.
도 4는 도 3의 프로세스를 도식화한 도면이다.
dst_list | dst_list는 논리 블록 주소의 리스트를 포함하고, 초기의 이전 컨텐츠를 가리킨다. 그러나, dst_list는 SWAT 호출이 성공적으로 수행된 이후에 새로운 컨텐츠를 가리킨다. dst_list 내의 논리 블록 주소의 컨텐츠(예를 들어, 물리 블록 주소)는 제거되고, 논리 블록 주소의 맵핑은 SWAT 호출과 함께 갱신된다. |
src_list | src_list는 새로운 컨텐츠의 논리 블록 주소의 리스트를 포함하고, src_list의 논리 블록 주소는 SWAT 호출이 성공적으로 실행된 이후에 해제된다. src_list 내의 논리 블록 주소의 컨텐츠들(예를 들어, PBAs)는 유지되나, 논리 블록 주소는 선택적으로 재사용될 수 있다. |
lba_count | 논리 블록 주소 리스트들의 논리 블록 주소의 개수, 두 리스트들의 길이는 동일해야 하며, 논리 블록 주소의 최대 개수는 구현 의존적이며, NVM_MAX_SWAT_LBA_COUNT에 의해 정의될 수 있다. |
timeout | 마이크로 초(microsecond)단위의 SWAT 동작의 최대 시간. 0인 경우, 무한 시간을 의미한다. |
RETURN | NVM_SUCCESS : SWAT이 성공적이다. NVM_ERR_ROLLBACK : 이 에러는 장치가 매체 장애, 타임 아웃 등과 같은 일부 이로 인하여 SWAT 동작을 수행에 실패할 경우 반환된다. NVM_ERR_INVAILD_LBA : 이 에러는 논리 블록 주소가 장치의 범위를 초과하거나 또는 LBA가 어떤 PBA와 맵핑되지 않음으로 인하여 리스트의 LBAs가 유효하지 않을 때 반환된다. NVM_ERR_INVAILD_PARAM: 이 에러는 과정의 일부 파라미터들이 유효하지 않을 경우 반환된다. 예를 들어, dst_list 또는 src_list기 NULL이 될 수 있고, lba_count가 0이 되거나, 또는 음수(예를 들어, -1)로 설정되어 매우 크거나 또는 타입의 불일치가 될 수 있다. NVM_ERR_TIMEOUT: 이 에러는 장치가 유저에 의해 정의된 시간 범위 내에 동작을 완료할 수 없는 경우 반환된다. |
dst_lba | (dst_lba, dst_lba+lba_count-1)의 범위의 논리 블록 주소는 초기에 이전 컨텐츠를 포인팅하고, cont_swat이 성공적으로 수행된 이후에 새로운 컨텐츠를 포인팅한다. (dst_lba, dst_lba+lba_count-1)의 범위 내의 논리 블록 주소의 컨텐츠(예를 들어, PBAs)은 제거되고, (dst_lba, dst_lba+lba_count-1) 범위의 LBAs의 맵핑은 SWAT 호출과 함께 갱신된다. |
src_lba | src_lba는 새로운 컨텐츠를 포인팅하고, (dst_lba, dst_lba+lba_count-1)의 범위의 논리 블록 주소는 nvm_cont_swat이 성공적으로 수행된 이후에 해제된다. (dst_lba, dst_lba+lba_count-1) 범위의 논리 블록 주소의 컨텐츠(물리 블록 주소)는 유지되나 그것들의 LBAs는 재사용된다. |
lba_count | 리스들의 논리 블록 주소의 개수 - 두 리스트들의 길이는 동일해야 하고, 논리 블록 주소의 최대 개수는 구현 의존적이며, NVM_MAX_SWAT_LBA_COUNT에 의해 정의될 수 있다. |
timeout | 마이크로 초(microsecond) 단위의 SWAT 동작의 최대 시간. 0으로 설정될 경우, 무한 시간을 의미한다. |
RETURN | NVM_SUCCESS : SWAT이 성공적이다. NVM_ERR_ROLLBACK : 이 에러는 장치가 매체 장애, 타임 아웃 등과 같은 일부 이로 인하여 SWAT 동작을 수행에 실패할 경우 반환된다. NVM_ERR_INVAILD_LBA : 이 에러는 논리 블록 주소가 장치의 범위를 초과하거나 또는 LBA가 어떤 PBA와 맵핑되지 않음으로 인하여 리스트의 LBAs가 유효하지 않을 때 반환된다. NVM_ERR_INVAILD_PARAM: 이 에러는 과정의 일부 파라미터들이 유효하지 않을 경우 반환된다. 예를 들어, dst_list 또는 src_list기 NULL이 될 수 있고, lba_count가 0이 되거나, 또는 음수(예를 들어, -1)로 설정되어 매우 크거나 또는 타입의 불일치가 될 수 있다. NVM_ERR_TIMEOUT: 이 에러는 장치가 유저에 의해 정의된 시간 범위 내에 동작을 완료할 수 없는 경우 반환된다. |
14 : 프로세서
16 : 메모리
18 : 고속 스토리지
20 : 애플리케이션
22 : 운영 체제
24 : 파일 시스템
30 : 논리 블록 어드레스
26 : 장치 드라이버 API
28 : 파일
34 : FTL
32 : 물리 블록 어드레스
LBA : 논리 블록 어드레스
PBA : 물리 블록 어드레스
Claims (16)
- 이전 파일의 변형된 컨텐츠를 포함하는 업데이트를 수신하는 애플리케이션에 응답하여 상기 이전 파일로의 액세스가 유지되는 동안 상기 변형된 컨텐츠가 복사된 새로운 파일이 생성되고, 상기 이전 파일의 논리 블록 주소들(LBAs; logical block addresses)은 상기 이전 파일의 물리 블록 주소들(PBAs; physical block addresses)과 맵핑되고, 새로운 파일의 논리 블록 주소는 새로운 파일의 물리 블록 주소와 맵핑되되, 적어도 하나의 프로세서를 포함하는 컴퓨터에 의해 수행되는 업데이트된 파일을 액세스하는 방법에 있어서,
상기 이전 파일 논리 블록 주소의 맵핑을 상기 이전 파일의 물리 블록 주소로부터 상기 새로운 파일의 물리 블록 주소로 아토믹하게(atomically) 스왑하는 단계;
상기 이전 파일의 논리 블록 주소 및 상기 이전 파일의 물리 블록 주소의 맵핑을 제거하는 단계; 및
상기 새로운 파일의 논리 블록 주소 및 상기 새로운 파일의 물리 블록 주소의 맵핑을 제어하는 단계를 포함하는 방법. - 제 1 항에 있어서,
상기 방법은 스왑 및 트림(SWAT) 커맨드 및 애플리케이션 프로그래밍 인터페이스(API)를 통해 수행되는 방법. - 제 2 항에 있어서,
상기 SWAT 커맨드의 파라미터들은 상기 이전 파일 및 상기 새로운 파일과 대응되는 논리 블록 주소 리스트들의 쌍을 포함하고, 상기 SWAT 커맨드는 상기 리스트들의 쌍에서 상기 논리 블록 주소의 맵핑을 순서에 따라 아토믹하게(atomically) 스왑하고, 사용되지 않은 논리 블록 주소를 제거하는 방법. - 제 2 항에 있어서,
상기 SWAT 커맨드는 운영체제 또는 애플리케이션에 의해 생성된 호출에 응답하여 저장 장치 드라이버 애플리케이션 프로그래밍 인터페이스로부터 저장 장치로 발행되는 방법. - 제 2 항에 있어서,
상기 SWAT 커맨드는 상기 새로운 파일의 논리 블록 주소를 포함하는 제1 논리 블록 주소 리스트 및 상기 이전 파일의 논리 블록 주소를 포함하는 제2 논리 블록 주소 리스트를 파라미터들로서 포함하는 방법. - 제 5 항에 있어서,
상기 제1 및 제2 논리 블록 주소 리스트들의 논리 블록 주소의 맵핑은 미리 정해진 순서에 따라 상기 리스트들에 의해 아토믹하게(atomically) 스왑되고, 상기 이전 파일 물리 블록 주소는 최선 노력 방식(best-effort manner)에 따라 제거되는 방법. - 제 6 항에 있어서,
상기 SWAT 커맨드는 인접 논리 블록 주소를 위한 제1 SWAT 커맨드 및 비인접 논리 블록 주소를 위한 제2 SWAT 커맨드를 포함하는 방법. - 메모리;
저장 장치; 및
상기 메모리 및 상기 저장 장치와 연결되고, 적어도 하나의 애플리케이션을 실행하는 프로세서를 포함하되,
이전 파일의 변형된 컨텐츠를 포함하는 업데이트를 수신하는 애플리케이션에 응답하여 상기 이전 파일로의 액세스가 유지되는 동안 상기 변형된 컨텐츠가 복사된 새로운 파일이 생성되고, 상기 이전 파일의 논리 블록 주소들(LBAs; logical block addresses)은 상기 이전 파일의 물리 블록 주소들(PBAs; physical block addresses)과 맵핑되고, 새로운 파일의 논리 블록 주소는 새로운 파일의 물리 블록 주소와 맵핑되며,
상기 프로세서는 상기 이전 파일 논리 블록 주소의 맵핑을 상기 이전 파일 물리 블록 주소로부터 상기 새로운 파일 물리 블록 주소로 아토믹하게(atomically) 스왑하고, 상기 이전 파일 논리 블록 주소 및 상기 이전 파일 물리 블록 주소의 맵핑을 제거하고, 상기 새로운 파일 논리 블록 주소 및 상기 상기 새로운 파일 물리 블록 주소의 맵핑을 제거하는 컴퓨터. - 제 8 항에 있어서,
상기 스왑은 스왑 및 트림(SWAT; swap and trim) 커맨드 및 애플리케이션 프로그래밍 인터페이스(API; application programming interface)를 통해 수행되는 컴퓨터. - 제 9 항에 있어서,
상기 SWAT 커맨드의 파라미터들은 상기 이전 파일 및 상기 새로운 파일과 대응되는 논리 블록 주소 리스트들의 쌍을 포함하고, 상기 SWAT 커맨드는 상기 리스트들의 쌍에서 상기 논리 블록 주소들의 맵핑을 아토믹하게(atomically) 스왑하고 사용되지 않는 논리 블록 주소를 제거하는 컴퓨터. - 제 9 항에 있어서,
상기 SWAT 커맨드는 운영 체제 또는 애플리케이션에 의해 형성된 호출에 응답하여 저장 장치 드라이버 API로부터 저장 장치로 전송되는 컴퓨터. - 제 9 항에 있어서,
상기 SWAT 커맨드는 상기 새로운 파일의 논리 블록 주소를 포함하는 제1 논리 블록 주소 리스트 및 상기 이전 파일의 논리 블록 주소를 포함하는 제2 논리 블록 주소 리스트를 파라미터들로서 포함하는 컴퓨터. - 제 12 항에 있어서,
상기 제1 및 제2 논리 블록 주소 리스트들의 논리 블록 주소의 맵핑은 미리 정해진 순서에 따라 상기 리스트들에 의해 아토믹하게(atomically) 스왑되고, 상기 이전 파일의 물리 블록 주소는 최선 노력 방식(best-effort manner)에 따라 제거되는 컴퓨터. - 제 13 항에 있어서,
상기 SWAT 커맨드는 인접 논리 블록 주소를 위한 제1 SWAT 커맨드 및 비인접 논리 블록 주소를 위한 제2 SWAT 커맨드를 포함하는 컴퓨터.
- 업데이트 파일에 대한 액세스를 제공하는 프로그램 명령어들을 포함하는 컴퓨터 판독 가능 매체에 저장된 실행 가능한 소프트웨어에 있어서,
이전 파일의 변형된 컨텐츠를 포함하는 업데이트를 수신하는 애플리케이션에 응답하여 상기 이전 파일로의 액세스가 유지되는 동안 상기 변형된 컨텐츠가 복사된 새로운 파일이 생성되고, 상기 이전 파일의 논리 블록 주소들(LBAs; logical block addresses)은 상기 이전 파일의 물리 블록 주소들(PBAs; physical block addresses)과 맵핑되고, 새로운 파일의 논리 블록 주소는 새로운 파일의 물리 블록 주소와 맵핑되되,
상기 프로그램 명령어들은 상기 이전 파일 논리 블록 주소의 맵핑을 상기 이전 파일 물리 블록 주소로부터 상기 새로운 파일 물리 블록 주소로 아토믹하게(atomically) 스왑하고, 상기 이전 파일 논리 블록 주소 및 상기 이전 파일 물리 블록 주소의 맵핑을 제거하고, 상기 새로운 파일 논리 블록 주소 및 상기 상기 새로운 파일 물리 블록 주소의 맵핑을 제거하는 실행가능한 소프트웨어 제품. - 적어도 하나의 프로세서를 포함하는 컴퓨터에 의해 수행되는 업데이트된 파일을 액세스하는 방법에 있어서,
제1 물리 블록 주소 리스와 맵핑되는, 이전 파일에 대한 제1 논리 블록 주소 리스트 및 제2 물리 블록 주소 리스트와 맵핑되는, 업데이트 파일에 대한 제2 논리 블록 주소 리스트를 수신하는 단계;
상기 제1 논리 블록 리스트가 상기 업데이트 파일에 대한 상기 제2 논리 블록 주소와 맵핑되도록 상기 이전 파일에 대한 상기 제1 논리 블록 리스트의 맵핑을 아토믹하게(atomically) 스왑하는 단계;
상기 이전 파일에 대한 상기 제1 물리 블록 주소 리스트의 맵핑을 제거하는 단계; 및
상기 업데이트 파일에 대한 제2 논리 블록 주소 리스트의 맵핑을 제어하는 단계를 포함하는 방법.
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201361902092P | 2013-11-08 | 2013-11-08 | |
US61/902,092 | 2013-11-08 | ||
US14/282,358 US9678966B2 (en) | 2013-11-08 | 2014-05-20 | Swat command and API for atomic swap and trim of LBAs |
US14/282,358 | 2014-05-20 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20150053720A true KR20150053720A (ko) | 2015-05-18 |
KR102303814B1 KR102303814B1 (ko) | 2021-09-23 |
Family
ID=52991043
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020140154321A Active KR102303814B1 (ko) | 2013-11-08 | 2014-11-07 | 논리 블록 주소의 아토믹 스왑 및 트림을 위한 swat 커맨드 및 애플리케이션 프로그래밍 인터페이스 |
Country Status (5)
Country | Link |
---|---|
US (2) | US9678966B2 (ko) |
JP (2) | JP6416591B2 (ko) |
KR (1) | KR102303814B1 (ko) |
CN (2) | CN110807008A (ko) |
DE (1) | DE102014116031A1 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20160146506A (ko) * | 2015-06-12 | 2016-12-21 | 삼성전자주식회사 | 파일 액세스 방법, 컴퓨터, 및 컴퓨터-읽기 가능한 매체에 실행 가능한 소프트웨어 제품 |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9678966B2 (en) * | 2013-11-08 | 2017-06-13 | Samsung Electronics Co., Ltd. | Swat command and API for atomic swap and trim of LBAs |
US10359937B2 (en) * | 2013-12-20 | 2019-07-23 | Sandisk Technologies Llc | System and method of implementing a table storage support scheme |
KR102749010B1 (ko) * | 2016-08-16 | 2025-01-02 | 삼성전자주식회사 | 메모리 컨트롤러, 메모리 시스템 및 그 동작방법 |
CN106844619A (zh) * | 2017-01-17 | 2017-06-13 | 深圳市金立通信设备有限公司 | 一种文件清理方法及终端 |
US10324628B2 (en) * | 2017-04-19 | 2019-06-18 | Veritas Technologies Llc | Systems and methods for reducing data fragmentation |
KR102567140B1 (ko) | 2017-11-24 | 2023-08-16 | 삼성전자주식회사 | 데이터 관리 방법 및 이를 수행하는 저장 장치 |
JP7271410B2 (ja) | 2019-12-16 | 2023-05-11 | 株式会社ソニー・インタラクティブエンタテインメント | 情報処理装置およびファイル記録方法 |
JP7321917B2 (ja) | 2019-12-16 | 2023-08-07 | 株式会社ソニー・インタラクティブエンタテインメント | 情報処理装置およびファイルアクセス方法 |
JP7316204B2 (ja) * | 2019-12-16 | 2023-07-27 | 株式会社ソニー・インタラクティブエンタテインメント | 情報処理装置およびファイルアクセス方法 |
KR20220020143A (ko) | 2020-08-11 | 2022-02-18 | 삼성전자주식회사 | 오버라이트 처리를 수행하는 스토리지 시스템, 스토리지 시스템을 제어하는 호스트 시스템 및 스토리지 시스템의 동작 방법 |
US20230024420A1 (en) * | 2021-07-16 | 2023-01-26 | Samsung Electronics Co., Ltd. | Methods and devices for file read latency reduction |
US11868642B2 (en) * | 2021-08-31 | 2024-01-09 | Micron Technology, Inc. | Managing trim commands in a memory sub-system |
US11768631B2 (en) * | 2021-08-31 | 2023-09-26 | Micron Technology, Inc. | Rapid reliable file system access |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6895490B1 (en) * | 2001-04-09 | 2005-05-17 | Matrix Semiconductor, Inc. | Method for making a write-once memory device read compatible with a write-many file system |
US20060282644A1 (en) * | 2005-06-08 | 2006-12-14 | Micron Technology, Inc. | Robust index storage for non-volatile memory |
US20090109788A1 (en) * | 2007-10-31 | 2009-04-30 | Samsung Electronics Co., Ltd. | Data management method and mapping table update method in non-volatile memory device |
US20100017558A1 (en) * | 2008-04-11 | 2010-01-21 | Richard Matthew Fruin | Memory device operable in read-only and re-writable modes of operation |
US20100095046A1 (en) * | 2008-10-09 | 2010-04-15 | Denali Software, Inc. | Method and apparatus for improving small write performance in a non-volatile memory |
US20100125694A1 (en) * | 2008-11-18 | 2010-05-20 | Gyu Sang Choi | Memory device and management method of memory device |
US7821896B2 (en) * | 2004-05-10 | 2010-10-26 | Panasonic Corporation | Data recording/reproduction for write-once discs |
US20120151124A1 (en) * | 2010-12-08 | 2012-06-14 | Sung Hoon Baek | Non-Volatile Memory Device, Devices Having the Same, and Method of Operating the Same |
US8572311B1 (en) * | 2010-01-11 | 2013-10-29 | Apple Inc. | Redundant data storage in multi-die memory systems |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6366933B1 (en) | 1995-10-27 | 2002-04-02 | At&T Corp. | Method and apparatus for tracking and viewing changes on the web |
JPH1031604A (ja) * | 1996-07-15 | 1998-02-03 | Meidensha Corp | 共有メモリシステム並びにデータベースシステム |
JP4441968B2 (ja) * | 1999-02-26 | 2010-03-31 | ソニー株式会社 | 記録方法、管理方法、及び記録装置 |
JP2004280752A (ja) * | 2003-03-19 | 2004-10-07 | Sony Corp | データ記憶装置、およびデータ記憶装置における管理情報更新方法、並びにコンピュータ・プログラム |
US8832047B2 (en) | 2005-07-27 | 2014-09-09 | Adobe Systems Incorporated | Distributed document version control |
US8515912B2 (en) | 2010-07-15 | 2013-08-20 | Palantir Technologies, Inc. | Sharing and deconflicting data changes in a multimaster database system |
US9164700B2 (en) * | 2009-03-05 | 2015-10-20 | Sandisk Il Ltd | System for optimizing the transfer of stored content in response to a triggering event |
US8291194B2 (en) * | 2009-11-16 | 2012-10-16 | Mediatek Inc. | Methods of utilizing address mapping table to manage data access of storage medium without physically accessing storage medium and related storage controllers thereof |
US8495085B2 (en) | 2010-09-27 | 2013-07-23 | International Business Machines Corporation | Supporting efficient partial update of hierarchically structured documents based on record storage |
US9727570B2 (en) * | 2011-06-03 | 2017-08-08 | Apple Inc. | Mount-time unmapping of unused logical addresses in non-volatile memory systems |
KR20130044657A (ko) * | 2011-10-24 | 2013-05-03 | 삼성전자주식회사 | 파일 시스템 및 그 제어 방법 |
US9323667B2 (en) * | 2012-04-12 | 2016-04-26 | Violin Memory Inc. | System and method for managing trim operations in a flash memory system using mapping tables and block status tables |
CN103020550B (zh) * | 2012-12-03 | 2016-08-17 | 记忆科技(深圳)有限公司 | 一种固态硬盘及其安全访问方法、固态硬盘系统 |
US10102144B2 (en) | 2013-04-16 | 2018-10-16 | Sandisk Technologies Llc | Systems, methods and interfaces for data virtualization |
US9678966B2 (en) * | 2013-11-08 | 2017-06-13 | Samsung Electronics Co., Ltd. | Swat command and API for atomic swap and trim of LBAs |
-
2014
- 2014-05-20 US US14/282,358 patent/US9678966B2/en active Active
- 2014-11-04 DE DE201410116031 patent/DE102014116031A1/de active Pending
- 2014-11-07 KR KR1020140154321A patent/KR102303814B1/ko active Active
- 2014-11-07 CN CN201911066774.3A patent/CN110807008A/zh active Pending
- 2014-11-07 CN CN201410641830.2A patent/CN104636414B/zh active Active
- 2014-11-10 JP JP2014227881A patent/JP6416591B2/ja active Active
-
2015
- 2015-04-30 US US14/701,359 patent/US9684663B2/en active Active
-
2018
- 2018-10-04 JP JP2018188938A patent/JP6629407B2/ja active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6895490B1 (en) * | 2001-04-09 | 2005-05-17 | Matrix Semiconductor, Inc. | Method for making a write-once memory device read compatible with a write-many file system |
US7821896B2 (en) * | 2004-05-10 | 2010-10-26 | Panasonic Corporation | Data recording/reproduction for write-once discs |
US20060282644A1 (en) * | 2005-06-08 | 2006-12-14 | Micron Technology, Inc. | Robust index storage for non-volatile memory |
US20090109788A1 (en) * | 2007-10-31 | 2009-04-30 | Samsung Electronics Co., Ltd. | Data management method and mapping table update method in non-volatile memory device |
US20100017558A1 (en) * | 2008-04-11 | 2010-01-21 | Richard Matthew Fruin | Memory device operable in read-only and re-writable modes of operation |
US20100095046A1 (en) * | 2008-10-09 | 2010-04-15 | Denali Software, Inc. | Method and apparatus for improving small write performance in a non-volatile memory |
US20100125694A1 (en) * | 2008-11-18 | 2010-05-20 | Gyu Sang Choi | Memory device and management method of memory device |
US8572311B1 (en) * | 2010-01-11 | 2013-10-29 | Apple Inc. | Redundant data storage in multi-die memory systems |
US20120151124A1 (en) * | 2010-12-08 | 2012-06-14 | Sung Hoon Baek | Non-Volatile Memory Device, Devices Having the Same, and Method of Operating the Same |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20160146506A (ko) * | 2015-06-12 | 2016-12-21 | 삼성전자주식회사 | 파일 액세스 방법, 컴퓨터, 및 컴퓨터-읽기 가능한 매체에 실행 가능한 소프트웨어 제품 |
Also Published As
Publication number | Publication date |
---|---|
US9678966B2 (en) | 2017-06-13 |
JP2015095262A (ja) | 2015-05-18 |
DE102014116031A1 (de) | 2015-05-13 |
CN110807008A (zh) | 2020-02-18 |
CN104636414B (zh) | 2019-11-05 |
US20150134621A1 (en) | 2015-05-14 |
JP6416591B2 (ja) | 2018-10-31 |
US20150234849A1 (en) | 2015-08-20 |
CN104636414A (zh) | 2015-05-20 |
KR102303814B1 (ko) | 2021-09-23 |
JP6629407B2 (ja) | 2020-01-15 |
JP2019016395A (ja) | 2019-01-31 |
US9684663B2 (en) | 2017-06-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102303814B1 (ko) | 논리 블록 주소의 아토믹 스왑 및 트림을 위한 swat 커맨드 및 애플리케이션 프로그래밍 인터페이스 | |
US11782632B2 (en) | Selective erasure of data in a SSD | |
US10402091B1 (en) | Managing data in log-structured storage systems | |
US10649897B2 (en) | Access request processing method and apparatus, and computer device | |
US9519575B2 (en) | Conditional iteration for a non-volatile device | |
US20140173226A1 (en) | Logical object deletion | |
US11030092B2 (en) | Access request processing method and apparatus, and computer system | |
US10740187B1 (en) | Systems and methods of managing and creating snapshots in a cache-based storage system | |
CN106326229B (zh) | 一种嵌入式系统的文件存储方法和装置 | |
KR102262409B1 (ko) | 비휘발성 메모리 기반 파일 시스템 및 이를 이용한 데이터 갱신 방법 | |
US9684658B2 (en) | SWAT command and API for atomic swap and trim of logical pages | |
KR102316198B1 (ko) | 파일 액세스 방법, 컴퓨터, 및 컴퓨터-읽기 가능한 매체에 실행 가능한 소프트웨어 제품 | |
US11960757B2 (en) | Flash translation layer with rewind | |
US9740632B1 (en) | Snapshot efficiency | |
US9646012B1 (en) | Caching temporary data in solid state storage devices | |
US11194760B1 (en) | Fast object snapshot via background processing | |
CN119317906A (zh) | 用于数据存储设备中主机文件系统的碎片整理的逻辑到物理映射 | |
CN107562642A (zh) | 检查点淘汰方法和装置 | |
TW201901417A (zh) | 固態硬碟執行刪除命令的方法 | |
JP2013025773A (ja) | ファイル管理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PA0109 | Patent application |
Patent event code: PA01091R01D Comment text: Patent Application Patent event date: 20141107 |
|
PG1501 | Laying open of application | ||
PA0201 | Request for examination |
Patent event code: PA02012R01D Patent event date: 20191105 Comment text: Request for Examination of Application Patent event code: PA02011R01I Patent event date: 20141107 Comment text: Patent Application |
|
E701 | Decision to grant or registration of patent right | ||
PE0701 | Decision of registration |
Patent event code: PE07011S01D Comment text: Decision to Grant Registration Patent event date: 20210611 |
|
GRNT | Written decision to grant | ||
PA0107 | Divisional application |
Comment text: Divisional Application of Patent Patent event date: 20210913 Patent event code: PA01071R01D |
|
PR0701 | Registration of establishment |
Comment text: Registration of Establishment Patent event date: 20210913 Patent event code: PR07011E01D |
|
PR1002 | Payment of registration fee |
Payment date: 20210914 End annual number: 3 Start annual number: 1 |
|
PG1601 | Publication of registration | ||
PR1001 | Payment of annual fee |
Payment date: 20240625 Start annual number: 4 End annual number: 4 |
|
PR1001 | Payment of annual fee |
Payment date: 20250625 Start annual number: 5 End annual number: 5 |