KR20210018570A - 컨트롤러, 컨트롤러의 동작 방법 및 이를 포함하는 저장 장치 - Google Patents

컨트롤러, 컨트롤러의 동작 방법 및 이를 포함하는 저장 장치 Download PDF

Info

Publication number
KR20210018570A
KR20210018570A KR1020190094835A KR20190094835A KR20210018570A KR 20210018570 A KR20210018570 A KR 20210018570A KR 1020190094835 A KR1020190094835 A KR 1020190094835A KR 20190094835 A KR20190094835 A KR 20190094835A KR 20210018570 A KR20210018570 A KR 20210018570A
Authority
KR
South Korea
Prior art keywords
map
unmap
list
controller
memory
Prior art date
Application number
KR1020190094835A
Other languages
English (en)
Korean (ko)
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 KR1020190094835A priority Critical patent/KR20210018570A/ko
Priority to US16/696,697 priority patent/US11281590B2/en
Priority to CN201911220516.6A priority patent/CN112328516A/zh
Publication of KR20210018570A publication Critical patent/KR20210018570A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • G06F12/0873Mapping of cache memory to specific storage devices or parts thereof
    • 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
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • 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/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0634Configuration or reconfiguration of storage systems by changing the state or mode of one or more devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0688Non-volatile semiconductor memory arrays
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/544Buffers; Shared memory; Pipes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement
    • G06F2212/1024Latency reduction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1032Reliability improvement, data loss prevention, degraded operation etc
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/20Employing a main memory using a specific memory technology
    • G06F2212/202Non-volatile memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7201Logical to physical mapping or translation of blocks or pages
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

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)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
KR1020190094835A 2019-08-05 2019-08-05 컨트롤러, 컨트롤러의 동작 방법 및 이를 포함하는 저장 장치 KR20210018570A (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020190094835A KR20210018570A (ko) 2019-08-05 2019-08-05 컨트롤러, 컨트롤러의 동작 방법 및 이를 포함하는 저장 장치
US16/696,697 US11281590B2 (en) 2019-08-05 2019-11-26 Controller, operating method thereof and storage device including the same
CN201911220516.6A CN112328516A (zh) 2019-08-05 2019-12-03 控制器、控制器的操作方法以及包括控制器的存储装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190094835A KR20210018570A (ko) 2019-08-05 2019-08-05 컨트롤러, 컨트롤러의 동작 방법 및 이를 포함하는 저장 장치

Publications (1)

Publication Number Publication Date
KR20210018570A true KR20210018570A (ko) 2021-02-18

Family

ID=74319798

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190094835A KR20210018570A (ko) 2019-08-05 2019-08-05 컨트롤러, 컨트롤러의 동작 방법 및 이를 포함하는 저장 장치

Country Status (3)

Country Link
US (1) US11281590B2 (zh)
KR (1) KR20210018570A (zh)
CN (1) CN112328516A (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2023045867A (ja) * 2021-09-22 2023-04-03 キオクシア株式会社 メモリシステム
CN117234959A (zh) * 2023-08-29 2023-12-15 中电云计算技术有限公司 一种数据处理方法、装置、设备及存储介质

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6651132B1 (en) * 2000-07-17 2003-11-18 Microsoft Corporation System and method for emulating the operation of a translation look-aside buffer
JP2004164208A (ja) * 2002-11-12 2004-06-10 Canon Inc 画像処理方法
US7711900B2 (en) * 2007-03-05 2010-05-04 International Business Machines Corporation Method, system and program product for equitable sharing of a CAM table in a network switch in an on-demand environment
US20090276604A1 (en) * 2008-05-01 2009-11-05 Broadcom Corporation Assigning memory for address types
US8301865B2 (en) * 2009-06-29 2012-10-30 Oracle America, Inc. System and method to manage address translation requests
US8194340B1 (en) * 2010-03-18 2012-06-05 Western Digital Technologies, Inc. Disk drive framing write data with in-line mapping data during write operations
KR101810932B1 (ko) * 2011-04-27 2017-12-20 시게이트 테크놀로지 엘엘씨 주소 사상 정보 관리 방법, 디스크 드라이브에서의 액세스 방법, 저장 장치, 컴퓨터 시스템, 네트워크를 통한 주소 사상 정보 관리 방법 및 컴퓨터로 읽을 수 있는 저장 매체
US9069657B2 (en) 2011-12-12 2015-06-30 Apple Inc. LBA bitmap usage
KR101465460B1 (ko) 2013-11-25 2014-11-26 성균관대학교산학협력단 트림 방법 및 데이터 관리 장치
US9916356B2 (en) * 2014-03-31 2018-03-13 Sandisk Technologies Llc Methods and systems for insert optimization of tiered data structures
GB2527529B (en) * 2014-06-24 2021-07-14 Advanced Risc Mach Ltd A device controller and method for performing a plurality of write transactions atomically within a non-volatile data storage device
US9804786B2 (en) * 2015-06-04 2017-10-31 Seagate Technology Llc Sector translation layer for hard disk drives
US9892060B2 (en) * 2015-12-02 2018-02-13 International Business Machines Corporation Identifying stale entries in address translation cache
KR101735065B1 (ko) 2015-12-10 2017-05-24 한국외국어대학교 연구산학협력단 비트맵 기반의 트림 코맨드를 이용하는 데이터 관리 시스템 및 방법
US10599569B2 (en) * 2016-06-23 2020-03-24 International Business Machines Corporation Maintaining consistency between address translations in a data processing system
US10168902B2 (en) * 2016-07-18 2019-01-01 International Business Machines Corporation Reducing purging of structures associated with address translation
US10635584B2 (en) * 2017-06-29 2020-04-28 Western Digital Technologies, Inc. System and method for host system memory translation
JP7074454B2 (ja) * 2017-10-30 2022-05-24 キオクシア株式会社 計算機システムおよび制御方法
KR20200033625A (ko) * 2018-09-20 2020-03-30 에스케이하이닉스 주식회사 메모리 시스템에서의 유효 데이터 체크 방법 및 장치
KR20200085967A (ko) 2019-01-07 2020-07-16 에스케이하이닉스 주식회사 데이터 저장 장치 및 그 동작 방법
KR20200088713A (ko) * 2019-01-15 2020-07-23 에스케이하이닉스 주식회사 메모리 컨트롤러 및 그 동작 방법
KR20200100955A (ko) * 2019-02-19 2020-08-27 에스케이하이닉스 주식회사 메모리 시스템의 맵 데이터 관리 방법 및 장치
KR20210011216A (ko) * 2019-07-22 2021-02-01 에스케이하이닉스 주식회사 메모리 시스템의 메타 데이터 관리 방법 및 장치

Also Published As

Publication number Publication date
CN112328516A (zh) 2021-02-05
US11281590B2 (en) 2022-03-22
US20210042232A1 (en) 2021-02-11

Similar Documents

Publication Publication Date Title
US11216362B2 (en) Data storage device and operating method thereof
US10891236B2 (en) Data storage device and operating method thereof
CN110083545B (zh) 数据存储装置及其操作方法
US11249897B2 (en) Data storage device and operating method thereof
US10769066B2 (en) Nonvolatile memory device, data storage device including the same and operating method thereof
KR20200095103A (ko) 데이터 저장 장치 및 그 동작 방법
KR20200085967A (ko) 데이터 저장 장치 및 그 동작 방법
US20200057725A1 (en) Data storage device and operating method thereof
KR102592803B1 (ko) 데이터 저장 장치 및 그것의 동작 방법
US20200218653A1 (en) Controller, data storage device, and operating method thereof
US11520694B2 (en) Data storage device and operating method thereof
KR20200121645A (ko) 컨트롤러 및 그것의 동작 방법과 메모리 시스템
KR20200129863A (ko) 컨트롤러, 메모리 시스템 및 그것의 동작 방법
KR20210144249A (ko) 저장 장치 및 이의 동작 방법
US11782638B2 (en) Storage device with improved read latency and operating method thereof
KR20200114086A (ko) 컨트롤러, 메모리 시스템 및 그것의 동작 방법
KR102434840B1 (ko) 데이터 저장 장치
US11281590B2 (en) Controller, operating method thereof and storage device including the same
KR20210156010A (ko) 저장 장치 및 그 동작 방법
KR20190106005A (ko) 메모리 시스템, 그것의 동작 방법 및 전자 장치
KR20190095825A (ko) 데이터 저장 장치 및 그것의 동작 방법
KR20210068734A (ko) 데이터 저장 장치 및 그것의 동작 방법
KR20210006556A (ko) 컨트롤러, 메모리 시스템 및 그것의 동작 방법
US11157401B2 (en) Data storage device and operating method thereof performing a block scan operation for checking for valid page counts
KR20190041082A (ko) 데이터 저장 장치 및 그것의 동작 방법

Legal Events

Date Code Title Description
A201 Request for examination