KR20180093153A - 데이터 저장 장치의 동작 방법 - Google Patents
데이터 저장 장치의 동작 방법 Download PDFInfo
- Publication number
- KR20180093153A KR20180093153A KR1020170018107A KR20170018107A KR20180093153A KR 20180093153 A KR20180093153 A KR 20180093153A KR 1020170018107 A KR1020170018107 A KR 1020170018107A KR 20170018107 A KR20170018107 A KR 20170018107A KR 20180093153 A KR20180093153 A KR 20180093153A
- Authority
- KR
- South Korea
- Prior art keywords
- physical address
- reference value
- purge
- request
- erase
- Prior art date
Links
- 238000013500 data storage Methods 0.000 title abstract description 31
- 238000011017 operating method Methods 0.000 title 1
- 238000010926 purge Methods 0.000 claims abstract description 65
- 238000000034 method Methods 0.000 claims abstract description 38
- 230000004044 response Effects 0.000 claims abstract description 30
- 238000013507 mapping Methods 0.000 description 19
- 238000012545 processing Methods 0.000 description 13
- 238000010586 diagram Methods 0.000 description 12
- 238000007726 management method Methods 0.000 description 11
- 241000699670 Mus sp. Species 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Images
Classifications
-
- 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
- G06F12/0646—Configuration or reconfiguration
-
- 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
- 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
-
- 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/0292—User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means
-
- 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/12—Replacement control
-
- 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/0608—Saving storage space on 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/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0652—Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
-
- 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/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0658—Controller construction arrangements
-
- 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/10—Providing a specific technical effect
- G06F2212/1032—Reliability improvement, data loss prevention, degraded operation etc
- G06F2212/1036—Life time enhancement
-
- 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/25—Using a specific main memory architecture
- G06F2212/251—Local memory within processor subsystem
-
- 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/7201—Logical to physical mapping or translation of blocks or pages
-
- 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/7205—Cleaning, compaction, garbage collection, erase control
-
- 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/7211—Wear leveling
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)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
Description
도2는 맵핑부가 언맵 동작을 수행하는 방법을 예시적으로 도시하는 도면,
도3은 퍼지 실행부가 퍼지 동작을 수행하는 방법을 예시적으로 도시하는 도면,
도4는 참조 값 관리부 및 퍼지 판단부의 동작을 예시적으로 도시하는 도면,
도5는 참조 값을 참조 값 테이블을 통해 관리하는 실시 예를 예시적으로 도시하는 도면,
도6은 데이터 저장 장치의 동작 방법을 예시적으로 도시한 순서도,
도7은 본 발명의 실시 예에 따른 SSD를 도시하는 블록도,
도8은 본 발명의 실시 예에 따른 데이터 저장 장치가 적용된 데이터 처리 시스템을 도시하는 블록도이다.
100: 컨트롤러
110: 맵핑부
120: 참조 값 관리부
130: 퍼지 판단부
140: 퍼지 실행부
200: 비휘발성 메모리 장치
BK1~BKn: 메모리 블록들
AR1~ARm: 메모리 영역들
Claims (20)
- 이벤트에 응답하여 물리 어드레스에 대응하는 소거 카운트를 참조 값으로서 저장하는 단계;
외부 장치로부터 전송된 퍼지 요청에 응답하여 상기 소거 카운트의 현재 값을 상기 참조 값과 비교하는 단계; 및
비교 결과에 따라 상기 물리 어드레스에 대한 퍼지 동작을 선택적으로 수행하는 단계를 포함하는 데이터 저장 장치의 동작 방법. - 제1항에 있어서,
상기 이벤트는, 외부 장치로부터 상기 물리 어드레스에 맵핑된 논리 어드레스에 대한 언맵 요청을 수신하는 것을 포함하는 데이터 저장 장치의 동작 방법. - 제2항에 있어서,
상기 언맵 요청에 응답하여 상기 논리 어드레스와 상기 물리 어드레스를 언맵하는 단계를 더 포함하는 데이터 저장 장치의 동작 방법. - 제1항에 있어서,
상기 퍼지 동작을 선택적으로 수행하는 단계는,
상기 현재 값이 상기 참조 값과 상이할 때, 상기 퍼지 동작을 수행하지 않는 단계를 포함하는 데이터 저장 장치의 동작 방법. - 제1항에 있어서,
상기 퍼지 동작을 선택적으로 수행하는 단계는,
상기 현재 값이 상기 참조 값과 동일할 때, 상기 퍼지 동작을 수행하는 단계를 포함하는 데이터 저장 장치의 동작 방법. - 제5항에 있어서,
상기 퍼지 동작을 수행하는 단계는,
상기 물리 어드레스의 메모리 영역을 포함하는 메모리 블록에서 유효 데이터에 대해 카피 동작을 수행하는 단계; 및
상기 메모리 블록에 대해 소거 동작을 수행하는 단계를 포함하는 데이터 저장 장치의 동작 방법. - 제1항에 있어서,
상기 소거 카운트는 상기 물리 어드레스의 메모리 영역을 포함하는 메모리 블록의 소거 카운트인 데이터 저장 장치의 동작 방법. - 제1 이벤트에 응답하여 물리 어드레스에 대응하는 소거 카운트를 참조 값으로서 저장하는 단계;
제2 이벤트에 응답하여 상기 소거 카운트의 현재 값을 상기 참조 값과 비교하는 단계; 및
비교 결과에 따라 상기 물리 어드레스에 대한 소거 동작을 선택적으로 수행하지 않는 단계를 포함하는 데이터 저장 장치의 동작 방법. - 제8항에 있어서,
상기 제1 이벤트는, 외부 장치로부터 상기 물리 어드레스에 맵핑된 논리 어드레스에 대한 언맵 요청을 수신하는 것을 포함하는 데이터 저장 장치의 동작 방법. - 제9항에 있어서,
상기 언맵 요청에 응답하여 상기 논리 어드레스와 상기 물리 어드레스를 언맵하는 단계를 더 포함하는 데이터 저장 장치의 동작 방법. - 제8항에 있어서,
상기 제2 이벤트는, 외부 장치로부터 상기 소거 동작을 유도하는 요청을 수신하는 것을 포함하는 데이터 저장 장치의 동작 방법. - 제8항에 있어서,
상기 소거 동작을 선택적으로 수행하지 않는 단계는,
상기 현재 값이 상기 참조 값과 상이할 때, 상기 소거 동작을 수행하지 않는 단계를 포함하는 데이터 저장 장치의 동작 방법. - 제8항에 있어서,
상기 소거 동작을 선택적으로 수행하지 않는 단계는,
상기 현재 값이 상기 참조 값과 동일할 때, 상기 소거 동작을 수행하는 단계를 포함하는 데이터 저장 장치의 동작 방법. - 제13항에 있어서,
상기 소거 동작을 선택적으로 수행하지 않는 단계는,
상기 현재 값이 상기 참조 값과 동일할 때, 상기 소거 동작을 수행하는 단계 이전에, 상기 물리 어드레스의 메모리 영역을 포함하는 메모리 블록에서 유효 데이터에 대해 카피 동작을 수행하는 단계를 더 포함하는 데이터 저장 장치의 동작 방법. - 제8항에 있어서,
상기 소거 카운트는 상기 물리 어드레스의 메모리 영역을 포함하는 메모리 블록의 소거 카운트인 데이터 저장 장치의 동작 방법. - 외부 장치로부터 전송된 퍼지 요청에 응답하여 물리 어드레스에 대응하는 소거 카운트를 참조 값과 비교하는 단계; 및
비교 결과에 따라 상기 물리 어드레스에 대한 퍼지 동작을 선택적으로 수행하지 않는 단계를 포함하는 데이터 저장 장치의 동작 방법. - 제16항에 있어서,
상기 퍼지 요청을 수신하기 이전에, 상기 외부 장치로부터 상기 물리 어드레스에 맵핑된 논리 어드레스에 대한 언맵 요청을 수신하는 단계; 및
상기 언맵 요청에 응답하여 상기 논리 어드레스와 상기 물리 어드레스를 언맵하는 단계를 더 포함하는 데이터 저장 장치의 동작 방법. - 제17항에 있어서,
상기 언맵 요청에 응답하여 상기 소거 카운트를 상기 참조 값으로서 저장하는 단계를 더 포함하는 데이터 저장 장치의 동작 방법. - 제16항에 있어서,
상기 퍼지 동작을 선택적으로 수행하지 않는 단계는,
상기 현재 값이 상기 참조 값과 상이할 때, 상기 퍼지 동작을 수행하지 않는 단계를 포함하는 데이터 저장 장치의 동작 방법. - 제16항에 있어서,
상기 퍼지 동작을 선택적으로 수행하지 않는 단계는,
상기 현재 값이 상기 참조 값과 동일할 때, 상기 퍼지 동작을 수행하는 단계를 포함하는 데이터 저장 장치의 동작 방법.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170018107A KR20180093153A (ko) | 2017-02-09 | 2017-02-09 | 데이터 저장 장치의 동작 방법 |
US15/703,068 US10621087B2 (en) | 2017-02-09 | 2017-09-13 | Operating method of data storage device |
CN201711121891.6A CN108415663B (zh) | 2017-02-09 | 2017-11-14 | 数据存储装置的操作方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170018107A KR20180093153A (ko) | 2017-02-09 | 2017-02-09 | 데이터 저장 장치의 동작 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20180093153A true KR20180093153A (ko) | 2018-08-21 |
Family
ID=63037183
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020170018107A KR20180093153A (ko) | 2017-02-09 | 2017-02-09 | 데이터 저장 장치의 동작 방법 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10621087B2 (ko) |
KR (1) | KR20180093153A (ko) |
CN (1) | CN108415663B (ko) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20190044968A (ko) * | 2017-10-23 | 2019-05-02 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그것의 동작 방법 |
KR102411290B1 (ko) * | 2017-10-24 | 2022-06-22 | 삼성전자주식회사 | 선택적으로 퍼지 동작을 수행하도록 구성되는 호스트 장치 및 스토리지 장치를 포함하는 스토리지 시스템 |
KR102420158B1 (ko) * | 2017-12-27 | 2022-07-13 | 삼성전자주식회사 | 파일 단위의 암호화 키에 기반하여 암호화를 수행하도록 구성되는 스토리지 장치, 스토리지 시스템, 및 그 동작 방법 |
US10957381B1 (en) * | 2019-08-28 | 2021-03-23 | Micron Technology, Inc. | Metadata grouping for un-map techniques |
US11544182B2 (en) | 2020-06-30 | 2023-01-03 | Micron Technology, Inc. | Smart factory reset procedure using one or more commands at least on user data and system data |
US20220075523A1 (en) * | 2020-09-08 | 2022-03-10 | Qualcomm Incorporated | Flash memory local purge |
KR20230000720A (ko) | 2021-06-25 | 2023-01-03 | 삼성전자주식회사 | 안전 소거를 수행하는 스토리지 장치 및 스토리지 장치의 동작방법 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7404039B2 (en) * | 2005-01-13 | 2008-07-22 | International Business Machines Corporation | Data migration with reduced contention and increased speed |
KR20080085574A (ko) | 2007-03-20 | 2008-09-24 | 삼성전자주식회사 | 비휘발성 메모리의 가비지 컬렉션을 위한 장치 및 방법 |
US9183133B2 (en) * | 2007-11-28 | 2015-11-10 | Seagate Technology Llc | System, method, and computer program product for increasing spare space in memory to extend a lifetime of the memory |
US20100125696A1 (en) * | 2008-11-17 | 2010-05-20 | Prasanth Kumar | Memory Controller For Controlling The Wear In A Non-volatile Memory Device And A Method Of Operation Therefor |
JP5221332B2 (ja) * | 2008-12-27 | 2013-06-26 | 株式会社東芝 | メモリシステム |
US9652376B2 (en) * | 2013-01-28 | 2017-05-16 | Radian Memory Systems, Inc. | Cooperative flash memory control |
KR102285462B1 (ko) * | 2014-03-26 | 2021-08-05 | 삼성전자주식회사 | 불휘발성 메모리 및 메모리 컨트롤러를 포함하는 메모리 시스템의 동작 방법 |
CN104102459A (zh) * | 2014-07-03 | 2014-10-15 | 优佰特电子科技(无锡)有限公司 | 一种闪存设备的数据处理方法及闪存设备 |
US20160078966A1 (en) * | 2014-09-14 | 2016-03-17 | Transcend Information, Inc. | Method of performing wear management in non-volatile memory devices |
KR20160068108A (ko) * | 2014-12-04 | 2016-06-15 | 에스케이하이닉스 주식회사 | 반도체 메모리 장치를 포함하는 메모리 시스템 및 그것의 관리 방법 |
CN105893531B (zh) * | 2016-03-31 | 2019-07-23 | 武汉虹信技术服务有限责任公司 | PostgreSQL数据库海量数据管理方法及系统 |
US10331352B2 (en) * | 2016-06-06 | 2019-06-25 | Toshiba Memory Corporation | Dynamic processing of storage command based on internal operations of storage system |
CN106227469A (zh) * | 2016-07-28 | 2016-12-14 | 乐视控股(北京)有限公司 | 用于分布式存储集群的数据删除方法及系统 |
-
2017
- 2017-02-09 KR KR1020170018107A patent/KR20180093153A/ko not_active Application Discontinuation
- 2017-09-13 US US15/703,068 patent/US10621087B2/en active Active
- 2017-11-14 CN CN201711121891.6A patent/CN108415663B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN108415663B (zh) | 2021-12-17 |
US10621087B2 (en) | 2020-04-14 |
CN108415663A (zh) | 2018-08-17 |
US20180225200A1 (en) | 2018-08-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11030094B2 (en) | Apparatus and method for performing garbage collection by predicting required time | |
KR20180093153A (ko) | 데이터 저장 장치의 동작 방법 | |
KR102655347B1 (ko) | 데이터 저장 장치 및 그것의 동작 방법 | |
US10083114B2 (en) | Data storage device and operating method thereof | |
JP2020123038A (ja) | メモリシステムおよび制御方法 | |
KR20180014975A (ko) | 데이터 저장 장치 및 그것의 동작 방법 | |
US12073122B2 (en) | Memory system with controller to write data to memory based on lifetime information in write command | |
US20190079830A1 (en) | Data storage device and operating method thereof | |
KR102349381B1 (ko) | 데이터 저장 장치 및 그것의 동작 방법 | |
US11354250B2 (en) | Apparatus for transmitting map information in memory system | |
KR20170139730A (ko) | 데이터 저장 장치 및 그것의 동작 방법 | |
TW201732533A (zh) | 資料儲存裝置及其操作方法 | |
KR20180108939A (ko) | 데이터 저장 장치 및 그것의 동작 방법 | |
US11074178B2 (en) | Memory system and method of controlling nonvolatile memory | |
KR102523967B1 (ko) | 데이터 저장 장치 및 그것의 동작 방법 및 그것을 포함하는 데이터 처리 시스템 | |
KR20170141298A (ko) | 데이터 저장 장치 및 그것의 동작 방법 | |
KR20170093370A (ko) | 데이터 저장 장치 | |
KR102507769B1 (ko) | 데이터 저장 장치 및 그것의 동작 방법 | |
KR20170045406A (ko) | 데이터 저장 장치 및 그것의 동작 방법 | |
KR20180081239A (ko) | 데이터 저장 장치 및 그것의 동작 방법 | |
KR102523965B1 (ko) | 데이터 저장 장치 | |
CN113094293B (zh) | 存储器系统及相关方法和计算机可读存储介质 | |
KR20180093152A (ko) | 데이터 저장 장치 및 그것의 동작 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PA0109 | Patent application |
Patent event code: PA01091R01D Comment text: Patent Application Patent event date: 20170209 |
|
PG1501 | Laying open of application | ||
A201 | Request for examination | ||
PA0201 | Request for examination |
Patent event code: PA02012R01D Patent event date: 20220209 Comment text: Request for Examination of Application Patent event code: PA02011R01I Patent event date: 20170209 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: 20241126 Patent event code: PE09021S01D |