KR102050732B1 - 컴퓨팅 시스템 및 컴퓨팅 시스템의 데이터 관리 방법 - Google Patents
컴퓨팅 시스템 및 컴퓨팅 시스템의 데이터 관리 방법 Download PDFInfo
- Publication number
- KR102050732B1 KR102050732B1 KR1020120109193A KR20120109193A KR102050732B1 KR 102050732 B1 KR102050732 B1 KR 102050732B1 KR 1020120109193 A KR1020120109193 A KR 1020120109193A KR 20120109193 A KR20120109193 A KR 20120109193A KR 102050732 B1 KR102050732 B1 KR 102050732B1
- Authority
- KR
- South Korea
- Prior art keywords
- block
- section
- blocks
- data
- zone
- 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.)
- Active
Links
Images
Classifications
-
- 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
- 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
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
-
- 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
- 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/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
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/20—Employing a main memory using a specific memory technology
- G06F2212/202—Non-volatile memory
- G06F2212/2022—Flash memory
-
- 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/7202—Allocation control and policies
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)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
도 2는 도 1의 호스트를 설명하기 위한 블록도이다.
도 3은 도 1의 스토리지 장치를 설명하기 위한 블록도이다.
도 4는 도 1의 스토리지 장치에 저장되는 파일의 구조를 설명하기 위한 도면이다.
도 5는 도 1의 스토리지 장치를 설명하기 위한 블록도들이다.
도 6은 노드 어드레스 테이블을 설명하기 위한 도면이다.
도 7 및 도 8은 플래시 메모리 기반의 스토리지 장치에서 리드 및 라이트 성능을 개선시킬 수 있는 블록 할당 방법을 설명하기 위한 도면들이다.
도 9는 본 발명의 일 실시예에 따른 컴퓨팅 시스템의 데이터 관리 방법을 설명하기 위한 순서도이다.
도 10 내지 도 12는 도 5의 스토리지 장치의 다른 구성예들을 설명하기 위한 블록도들이다.
도 13은 본 발명의 몇몇 실시예에 따른 컴퓨팅 시스템의 구체적인 일 예를 설명하기 위한 블록도이다.
도 14 내지 도 16은 본 발명의 몇몇 실시예에 따른 컴퓨팅 시스템의 구체적인 다른 예를 설명하기 위한 블록도들이다.
16: 파일시스템 17: 블록 할당 모듈
18: 장치 드라이버 20: 스토리지 장치
Claims (10)
- 플래시 메모리를 저장 영역으로 이용하는 스토리지 장치; 및
상기 저장 영역을 복수의 블록, 섹션 및 존으로 구분하고, 상기 각 블록에 로그를 라이트하는 파일시스템을 포함하되,
상기 파일시스템은,
어드레스가 연속된 블록을 타겟 블록으로 할당하는 연속 블록 할당 방식으로 상기 로그가 라이트될 타겟 블록을 할당하되, 상기 연속 블록 할당 방식으로 상기 타겟 블록을 할당하는 것이 불가능할 경우, 상기 복수의 섹션 중 프리 섹션을 검색하고 상기 검색된 프리 섹션 내에 배치된 블록을 상기 타겟 블록을 할당하는 블록 할당 모듈을 포함하되,
상기 타겟 블록으로 할당되는 검색된 프리 섹션 내에 배치된 블록은, 상기 검색된 프리 섹선 내에 배치된 블록 중 어드레스가 가장 앞선 블록인 컴퓨팅 시스템. - 제 1항에 있어서,
상기 복수의 섹션은 상기 플래시 메모리의 가비지 컬렉션 수행 단위와 동일하도록 정의되는 컴퓨팅 시스템. - 삭제
- 제 1항에 있어서,
상기 타겟 블록으로 할당되는 검색된 프리 섹션 내에 배치된 블록은, 상기 로그를 라이트하는데 있어서, 존 크로싱(zone crossing)이 최소화되는 블록인 컴퓨팅 시스템. - 제 1항에 있어서,
상기 각 블록의 크기는 상기 각 섹션의 크기보다 작고, 상기 각 섹션의 크기는 상기 각 존의 크기보다 작은 컴퓨팅 시스템. - 스토리지 장치의 저장 영역을 복수의 블록, 섹션 및 존으로 구분하고,
제1 섹션 내에 배치된 제1 블록을 제1 데이터를 라이트할 제1 타겟 블록으로 할당하되, 상기 제1 섹션은 제1 존 내에 배치되고,
상기 제1 블록과 연속된 어드레스를 갖는 제2 블록이 프리 블록일 경우, 상기 제2 블록을 상기 스토리지 장치에 상기 제1 데이터에 이어서 라이트되는 제2 데이터를 라이트할 제2 타겟 블록으로 할당하고,
상기 제2 블록이 프리 블록이 아닐 경우, 상기 제1 섹션과 다른 제2 섹션 내에 배치된 제3 블록을 상기 제2 데이터를 라이트할 상기 제2 타겟 블록으로 할당하는 것을 포함하되,
상기 제3 블록은 상기 제2 섹션 내에 배치되는 블록 중 어드레스가 가장 앞선 블록인 컴퓨팅 시스템의 데이터 관리 방법. - 제 6항에 있어서,
상기 제2 섹션 내에 배치되는 모든 블록은 프리 블록인 컴퓨팅 시스템의 데이터 관리 방법. - 삭제
- 제 7항에 있어서,
상기 제2 섹션은 상기 제1 존 내에 배치되는 컴퓨팅 시스템의 데이터 관리 방법. - 제 7항에 있어서,
상기 제2 섹션은 상기 제1 존과 다른 제2 존 내에 배치되고,
상기 제2 존 내에 배치된 모든 블록은 프리 블록인 컴퓨팅 시스템의 데이터 관리 방법.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020120109193A KR102050732B1 (ko) | 2012-09-28 | 2012-09-28 | 컴퓨팅 시스템 및 컴퓨팅 시스템의 데이터 관리 방법 |
US14/039,042 US9201787B2 (en) | 2012-09-28 | 2013-09-27 | Storage device file system and block allocation |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020120109193A KR102050732B1 (ko) | 2012-09-28 | 2012-09-28 | 컴퓨팅 시스템 및 컴퓨팅 시스템의 데이터 관리 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20140042432A KR20140042432A (ko) | 2014-04-07 |
KR102050732B1 true KR102050732B1 (ko) | 2019-12-02 |
Family
ID=50386345
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020120109193A Active KR102050732B1 (ko) | 2012-09-28 | 2012-09-28 | 컴퓨팅 시스템 및 컴퓨팅 시스템의 데이터 관리 방법 |
Country Status (2)
Country | Link |
---|---|
US (1) | US9201787B2 (ko) |
KR (1) | KR102050732B1 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11543986B2 (en) | 2020-12-02 | 2023-01-03 | SK Hynix Inc. | Electronic system including host, memory controller and memory device and method of operating the same |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2947571B1 (en) | 2013-01-17 | 2019-09-18 | Sony Interactive Entertainment Inc. | Information processing device and file management method |
JP2015088146A (ja) * | 2013-11-01 | 2015-05-07 | 株式会社ソニー・コンピュータエンタテインメント | 情報処理装置 |
BR112017006236A2 (pt) | 2014-09-30 | 2017-12-12 | Koninklijke Philips Nv | dispositivo de cálculo eletrônico, dispositivo de codificação de anel, dispositivo de cálculo de tabela, método de cálculo eletrônico, programa de computador, e, mídia legível por computador |
BR112017012092A2 (pt) | 2014-12-12 | 2018-01-16 | Koninklijke Philips Nv | dispositivo e método de geração eletrônicos, e programa de computador |
US10108344B1 (en) * | 2015-05-06 | 2018-10-23 | American Megatrends, Inc. | Systems, devices and methods using a solid state device as a caching medium with an SSD filtering or SSD pre-fetch algorithm |
WO2017079974A1 (zh) * | 2015-11-13 | 2017-05-18 | 华为技术有限公司 | 一种文件写入方法及文件服务器 |
KR102570367B1 (ko) | 2016-04-21 | 2023-08-28 | 삼성전자주식회사 | 불휘발성 메모리 장치 및 컨트롤러를 포함하는 스토리지 장치를 액세스하는 액세스 방법 |
US11604591B2 (en) * | 2020-12-17 | 2023-03-14 | Micron Technology, Inc. | Associating data types with stream identifiers for mapping onto sequentially-written memory devices |
CN112684987B (zh) * | 2021-01-07 | 2024-11-01 | 南方电网数字电网科技(广东)有限公司 | 基于双芯智能电表的数据分类存储方法和装置 |
US11875036B2 (en) | 2021-01-13 | 2024-01-16 | Samsung Electronics Co., Ltd. | Computing system including host and storage system and having increased write performance |
US20220244869A1 (en) * | 2021-02-02 | 2022-08-04 | Micron Technology, Inc. | File system storage allocation based on zones of a memory device |
US12360890B2 (en) * | 2022-11-10 | 2025-07-15 | SanDisk Technologies, Inc. | Zone-based garbage collection in ZNS SSDs |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090177857A1 (en) * | 2007-12-19 | 2009-07-09 | International Business Machines Corporation | Apparatus and method for managing data storage |
US20100100667A1 (en) * | 2008-10-16 | 2010-04-22 | Samsung Electronics Co. Ltd. | Flash memory system and designing method of flash translation layer thereof |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0520142A (ja) | 1991-07-15 | 1993-01-29 | Nec Corp | ブロツク管理方式 |
JPH10301818A (ja) | 1997-04-28 | 1998-11-13 | Matsushita Electric Ind Co Ltd | ファイルシステム及びその管理方法 |
US6016553A (en) * | 1997-09-05 | 2000-01-18 | Wild File, Inc. | Method, software and apparatus for saving, using and recovering data |
JP3503448B2 (ja) | 1997-11-04 | 2004-03-08 | 日本ビクター株式会社 | フラッシュ型メモリ及びその管理装置 |
US6256705B1 (en) * | 1998-06-05 | 2001-07-03 | International Business Machines Corporation | System and method for organizing data stored in a log structured array |
JP2000148550A (ja) | 1998-11-18 | 2000-05-30 | Victor Co Of Japan Ltd | ファイルの領域管理方法及び空き領域管理方法 |
US7934074B2 (en) * | 1999-08-04 | 2011-04-26 | Super Talent Electronics | Flash module with plane-interleaved sequential writes to restricted-write flash chips |
JP2001282588A (ja) | 2000-03-31 | 2001-10-12 | Victor Co Of Japan Ltd | ファイル管理装置 |
US6678785B2 (en) * | 2001-09-28 | 2004-01-13 | M-Systems Flash Disk Pioneers Ltd. | Flash management system using only sequential write |
US20070016721A1 (en) * | 2005-07-18 | 2007-01-18 | Wyse Technology Inc. | Flash file system power-up by using sequential sector allocation |
US7899989B2 (en) | 2005-11-04 | 2011-03-01 | Oracle America, Inc. | Method and system for using a block allocation policy |
KR100818993B1 (ko) | 2006-05-12 | 2008-04-02 | 삼성전자주식회사 | 블록 가상 할당을 이용한 파일 관리 장치 및 방법 |
US8706968B2 (en) * | 2007-12-06 | 2014-04-22 | Fusion-Io, Inc. | Apparatus, system, and method for redundant write caching |
US9104599B2 (en) * | 2007-12-06 | 2015-08-11 | Intelligent Intellectual Property Holdings 2 Llc | Apparatus, system, and method for destaging cached data |
US9519540B2 (en) * | 2007-12-06 | 2016-12-13 | Sandisk Technologies Llc | Apparatus, system, and method for destaging cached data |
US8140746B2 (en) * | 2007-12-14 | 2012-03-20 | Spansion Llc | Intelligent memory data management |
KR20090097696A (ko) | 2008-03-12 | 2009-09-16 | 삼성전자주식회사 | 파일 액세스 방법 및 이를 이용한 시스템 |
KR101028929B1 (ko) * | 2008-12-31 | 2011-04-12 | 성균관대학교산학협력단 | 실시간 시스템을 위한 로그 블록 연관성 분산 방법 및 이를수행하는 플래시 메모리 장치 |
US8271760B2 (en) * | 2009-06-04 | 2012-09-18 | Petit Brent J | Spatial locality of file system block allocations for related items |
KR101954995B1 (ko) * | 2011-04-27 | 2019-05-31 | 시게이트 테크놀로지 엘엘씨 | 저장 매체에 라이트 된 데이터 머지 방법, 저장 매체에 대한 라이트 동작 제어 방법, 이를 적용한 저장 장치, 컴퓨터 시스템 및 저장 매체 |
KR101835604B1 (ko) | 2011-06-03 | 2018-03-07 | 삼성전자 주식회사 | 메모리를 위한 스케줄러 |
KR20130075018A (ko) * | 2011-12-27 | 2013-07-05 | 한국전자통신연구원 | 플래시 메모리 파일 시스템에 적용 가능한 데이터 업데이트 장치 및 방법 |
-
2012
- 2012-09-28 KR KR1020120109193A patent/KR102050732B1/ko active Active
-
2013
- 2013-09-27 US US14/039,042 patent/US9201787B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090177857A1 (en) * | 2007-12-19 | 2009-07-09 | International Business Machines Corporation | Apparatus and method for managing data storage |
US20100100667A1 (en) * | 2008-10-16 | 2010-04-22 | Samsung Electronics Co. Ltd. | Flash memory system and designing method of flash translation layer thereof |
Non-Patent Citations (1)
Title |
---|
VALERIE AURORA, "Log-structured file systems: There's one in every SSD." 2009.09.18. 1부.* |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11543986B2 (en) | 2020-12-02 | 2023-01-03 | SK Hynix Inc. | Electronic system including host, memory controller and memory device and method of operating the same |
Also Published As
Publication number | Publication date |
---|---|
US20140095772A1 (en) | 2014-04-03 |
KR20140042432A (ko) | 2014-04-07 |
US9201787B2 (en) | 2015-12-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102050732B1 (ko) | 컴퓨팅 시스템 및 컴퓨팅 시스템의 데이터 관리 방법 | |
KR102050725B1 (ko) | 컴퓨팅 시스템 및 컴퓨팅 시스템의 데이터 관리 방법 | |
KR102002830B1 (ko) | 세그먼트 클리닝 장치 및 방법 | |
KR102007650B1 (ko) | 세그먼트 그룹을 고려하는 세그먼트 클리닝 장치 및 방법 | |
KR102050723B1 (ko) | 컴퓨팅 시스템 및 그 데이터 관리 방법 | |
KR101977575B1 (ko) | 디렉토리 엔트리 조회 장치, 그 방법 및 디렉토리 엔트리 조회 프로그램이 기록된 기록 매체 | |
RU2661280C2 (ru) | Контроллер массива, твердотельный диск и способ для управления твердотельным диском для записи данных | |
KR101867282B1 (ko) | 비휘발성 메모리 장치의 가비지 컬렉션 방법 | |
EP2665065A2 (en) | Electronic device employing flash memory | |
EP3059679B1 (en) | Controller, flash memory device, method for identifying data block stability and method for storing data on flash memory device | |
KR20210068699A (ko) | 스토리지 장치, 스토리지 시스템 및 스토리지 장치의 동작 방법 | |
US20140095771A1 (en) | Host device, computing system and method for flushing a cache | |
US8433873B2 (en) | Disposition instructions for extended access commands | |
CN116257460B (zh) | 基于固态硬盘的Trim命令处理方法及固态硬盘 | |
EP2381354A2 (en) | Data recording device | |
KR101979715B1 (ko) | 컴퓨팅 시스템 및 그 데이터 관리 방법 | |
Du et al. | SSW: A strictly sequential writing method for open-channel SSD | |
US20140095558A1 (en) | Computing system and method of managing data thereof | |
CN111857547B (zh) | 用于管理数据存储的方法、设备和计算机可读介质 | |
KR102334237B1 (ko) | 다중 포그라운드 어플리케이션을 위한 페이지 캐쉬 관리 방법 및 장치 | |
KR20140042520A (ko) | 비트맵을 이용한 세그먼트 클리닝 장치 및 상기 비트맵을 저장하는 스토리지 장치 | |
Choi et al. | An Adaptive Zone-Grouping Scheme Enabling General-Purpose File Systems on ZNS SSDs |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PA0109 | Patent application |
Patent event code: PA01091R01D Comment text: Patent Application Patent event date: 20120928 |
|
PG1501 | Laying open of application | ||
A201 | Request for examination | ||
PA0201 | Request for examination |
Patent event code: PA02012R01D Patent event date: 20170706 Comment text: Request for Examination of Application Patent event code: PA02011R01I Patent event date: 20120928 Comment text: Patent Application |
|
E902 | Notification of reason for refusal | ||
PE0902 | Notice of grounds for rejection |
Comment text: Notification of reason for refusal Patent event date: 20181022 Patent event code: PE09021S01D |
|
E902 | Notification of reason for refusal | ||
PE0902 | Notice of grounds for rejection |
Comment text: Notification of reason for refusal Patent event date: 20190430 Patent event code: PE09021S01D |
|
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: 20190930 |
|
GRNT | Written decision to grant | ||
PR0701 | Registration of establishment |
Comment text: Registration of Establishment Patent event date: 20191126 Patent event code: PR07011E01D |
|
PR1002 | Payment of registration fee |
Payment date: 20191127 End annual number: 3 Start annual number: 1 |
|
PG1601 | Publication of registration | ||
PR1001 | Payment of annual fee |
Payment date: 20221026 Start annual number: 4 End annual number: 4 |
|
PR1001 | Payment of annual fee |
Payment date: 20231026 Start annual number: 5 End annual number: 5 |
|
PR1001 | Payment of annual fee |
Payment date: 20241024 Start annual number: 6 End annual number: 6 |