KR102276350B1 - Nand 버퍼를 갖는 nand 플래시 저장 디바이스 - Google Patents

Nand 버퍼를 갖는 nand 플래시 저장 디바이스 Download PDF

Info

Publication number
KR102276350B1
KR102276350B1 KR1020197035081A KR20197035081A KR102276350B1 KR 102276350 B1 KR102276350 B1 KR 102276350B1 KR 1020197035081 A KR1020197035081 A KR 1020197035081A KR 20197035081 A KR20197035081 A KR 20197035081A KR 102276350 B1 KR102276350 B1 KR 102276350B1
Authority
KR
South Korea
Prior art keywords
chip
nand flash
write
future
data
Prior art date
Application number
KR1020197035081A
Other languages
English (en)
Korean (ko)
Other versions
KR20200003055A (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 구글 엘엘씨
Publication of KR20200003055A publication Critical patent/KR20200003055A/ko
Application granted granted Critical
Publication of KR102276350B1 publication Critical patent/KR102276350B1/ko

Links

Images

Classifications

    • 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/061Improving I/O performance
    • G06F3/0611Improving I/O performance in relation to response time
    • 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/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0658Controller construction arrangements
    • 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/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements
    • 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/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0804Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with main memory updating
    • 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/0868Data transfer between cache memory and other subsystems, e.g. storage devices or host systems
    • 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/0635Configuration or reconfiguration of storage systems by changing the path, e.g. traffic rerouting, path reconfiguration
    • 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/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0652Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
    • 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/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • 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/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • 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
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/21Employing a record carrier using a specific recording technology
    • G06F2212/214Solid state disk
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/22Employing cache memory using specific memory technology
    • G06F2212/222Non-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/7203Temporary buffering, e.g. using volatile buffer or dedicated buffer blocks
    • 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/7205Cleaning, compaction, garbage collection, erase control

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)
  • Computer Networks & Wireless Communication (AREA)
  • Memory System (AREA)
  • Read Only Memory (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
KR1020197035081A 2017-06-23 2018-03-15 Nand 버퍼를 갖는 nand 플래시 저장 디바이스 KR102276350B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201762524016P 2017-06-23 2017-06-23
US62/524,016 2017-06-23
US15/816,447 2017-11-17
US15/816,447 US10606484B2 (en) 2017-06-23 2017-11-17 NAND flash storage device with NAND buffer
PCT/US2018/022683 WO2018236440A1 (en) 2017-06-23 2018-03-15 NAND FLASH STORAGE DEVICE WITH NAND BUFFER

Publications (2)

Publication Number Publication Date
KR20200003055A KR20200003055A (ko) 2020-01-08
KR102276350B1 true KR102276350B1 (ko) 2021-07-12

Family

ID=61899381

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020197035081A KR102276350B1 (ko) 2017-06-23 2018-03-15 Nand 버퍼를 갖는 nand 플래시 저장 디바이스

Country Status (9)

Country Link
US (1) US10606484B2 (ja)
EP (1) EP3418897B1 (ja)
JP (1) JP7234144B2 (ja)
KR (1) KR102276350B1 (ja)
CN (1) CN109117085B (ja)
DE (2) DE102018109929A1 (ja)
GB (1) GB2563713B (ja)
TW (1) TWI727160B (ja)
WO (1) WO2018236440A1 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10481834B2 (en) * 2018-01-24 2019-11-19 Samsung Electronics Co., Ltd. Erasure code data protection across multiple NVME over fabrics storage devices
US11048430B2 (en) * 2019-04-12 2021-06-29 Netapp, Inc. Object store mirroring where during resync of two storage bucket, objects are transmitted to each of the two storage bucket
KR20200142219A (ko) 2019-06-12 2020-12-22 삼성전자주식회사 전자 장치 및 그의 저장 공간 이용 방법
JP2021043908A (ja) * 2019-09-13 2021-03-18 キオクシア株式会社 メモリシステムおよび制御方法
US11269779B2 (en) 2020-05-27 2022-03-08 Microsoft Technology Licensing, Llc Memory system with a predictable read latency from media with a long write latency
CN118093449A (zh) * 2022-11-25 2024-05-28 长江存储科技有限责任公司 一种存储器系统及其垃圾回收方法、电子设备

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010071655A1 (en) * 2008-12-19 2010-06-24 Hewlett-Packard Development Company, L.P. Redundant data storage for uniform read latency
US20110145475A1 (en) 2009-12-15 2011-06-16 International Business Machines Corporation Reducing access contention in flash-based memory systems
WO2013048451A1 (en) 2011-09-30 2013-04-04 Intel Corporation Presentation of direct accessed storage under a logical drive model
JP2013109404A (ja) 2011-11-17 2013-06-06 Toshiba Corp 情報処理装置
US20160179422A1 (en) 2014-12-19 2016-06-23 Samsung Electronics Co., Ltd. Method of performing garbage collection and raid storage system adopting the same
US20170131908A1 (en) * 2015-11-09 2017-05-11 Google Inc. Memory Devices and Methods

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5930167A (en) 1997-07-30 1999-07-27 Sandisk Corporation Multi-state non-volatile flash memory capable of being its own two state write cache
US8566507B2 (en) * 2009-04-08 2013-10-22 Google Inc. Data storage device capable of recognizing and controlling multiple types of memory chips
CN106021147B (zh) * 2011-09-30 2020-04-28 英特尔公司 在逻辑驱动器模型下呈现直接存取的存储设备
US8301832B1 (en) 2012-03-23 2012-10-30 DSSD, Inc. Storage system with guaranteed read latency
KR102039537B1 (ko) * 2013-03-15 2019-11-01 삼성전자주식회사 불휘발성 저장 장치 및 그것의 운영체제 이미지 프로그램 방법
US20140304452A1 (en) 2013-04-03 2014-10-09 Violin Memory Inc. Method for increasing storage media performance
US9213634B2 (en) * 2013-11-22 2015-12-15 Apple Inc. Efficient reuse of segments in nonoverwrite storage systems
US9632729B2 (en) * 2014-05-07 2017-04-25 Seagate Technology Llc Storage compute device with tiered memory processing
US10031670B2 (en) * 2015-09-04 2018-07-24 Toshiba Memory Corporation Control unit and control method for controlling writes and background operations of multiple semiconductor storage devices
US10318175B2 (en) * 2017-03-07 2019-06-11 Samsung Electronics Co., Ltd. SSD with heterogeneous NVM types

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010071655A1 (en) * 2008-12-19 2010-06-24 Hewlett-Packard Development Company, L.P. Redundant data storage for uniform read latency
US20110145475A1 (en) 2009-12-15 2011-06-16 International Business Machines Corporation Reducing access contention in flash-based memory systems
WO2013048451A1 (en) 2011-09-30 2013-04-04 Intel Corporation Presentation of direct accessed storage under a logical drive model
JP2013109404A (ja) 2011-11-17 2013-06-06 Toshiba Corp 情報処理装置
US20160179422A1 (en) 2014-12-19 2016-06-23 Samsung Electronics Co., Ltd. Method of performing garbage collection and raid storage system adopting the same
US20170131908A1 (en) * 2015-11-09 2017-05-11 Google Inc. Memory Devices and Methods

Also Published As

Publication number Publication date
GB2563713A (en) 2018-12-26
CN109117085B (zh) 2021-08-20
TWI727160B (zh) 2021-05-11
GB2563713B (en) 2020-01-15
US20180373440A1 (en) 2018-12-27
JP7234144B2 (ja) 2023-03-07
DE202018102304U1 (de) 2018-10-30
DE102018109929A1 (de) 2018-12-27
US10606484B2 (en) 2020-03-31
WO2018236440A1 (en) 2018-12-27
EP3418897B1 (en) 2022-09-14
TW201905921A (zh) 2019-02-01
KR20200003055A (ko) 2020-01-08
JP2020524839A (ja) 2020-08-20
GB201804693D0 (en) 2018-05-09
CN109117085A (zh) 2019-01-01
EP3418897A1 (en) 2018-12-26

Similar Documents

Publication Publication Date Title
KR102276350B1 (ko) Nand 버퍼를 갖는 nand 플래시 저장 디바이스
US11416391B2 (en) Garbage collection
US11586357B2 (en) Memory management
US11487666B2 (en) Timed data transfer between a host system and a memory sub-system
CN107092561B (zh) 具有直接存取的多级存储器
WO2016107442A1 (zh) 将数据写入固态硬盘的方法及固态硬盘
US12050809B2 (en) Multi-pass data programming in a memory sub-system having multiple dies and planes
US11294820B2 (en) Management of programming mode transitions to accommodate a constant size of data transfer between a host system and a memory sub-system
US20170228191A1 (en) Systems and methods for suppressing latency in non-volatile solid state devices
US20220113905A1 (en) Command Prioritization to Reduce Latencies of Zone Commands
JP2011070365A (ja) メモリシステム
US11281405B2 (en) Controlled die asymmetry during MLC operations for optimal system pipeline
US11507289B2 (en) Storage device, controller and method for operating storage device
JP2024513234A (ja) ソリッドステートドライブ内のnandダイの衝突を軽減する方法及び装置
US11481136B1 (en) Very low sized zone support for storage devices
TWI724550B (zh) 資料儲存裝置以及非揮發式記憶體控制方法
US20150254011A1 (en) Memory system, memory controller and control method of non-volatile memory
CN110888591A (zh) 数据储存装置以及非挥发式存储器控制方法

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant