CN113439264A - 主机型快闪存储器维护技术 - Google Patents

主机型快闪存储器维护技术 Download PDF

Info

Publication number
CN113439264A
CN113439264A CN201980083546.9A CN201980083546A CN113439264A CN 113439264 A CN113439264 A CN 113439264A CN 201980083546 A CN201980083546 A CN 201980083546A CN 113439264 A CN113439264 A CN 113439264A
Authority
CN
China
Prior art keywords
memory
host
command
flash memory
physical address
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.)
Pending
Application number
CN201980083546.9A
Other languages
English (en)
Inventor
D·A·帕尔默
C·M·于伦斯科
J·S·帕里
S·汉纳
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Micron Technology Inc
Original Assignee
Micron Technology Inc
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 Micron Technology Inc filed Critical Micron Technology Inc
Publication of CN113439264A publication Critical patent/CN113439264A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1408Protection against unauthorised use of memory or access to memory by using cryptography
    • 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/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • 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/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0253Garbage collection, i.e. reclamation of unreferenced 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/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/0292User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means
    • 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
    • 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/062Securing storage systems
    • G06F3/0622Securing storage systems in relation to access
    • 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
    • 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
    • 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
    • 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
    • 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/7209Validity control, e.g. using flags, time stamps or sequence numbers
    • 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/7211Wear leveling
    • 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)
  • Computer Security & Cryptography (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Read Only Memory (AREA)
  • Memory System (AREA)

Abstract

本文公开用于允许快闪存储器装置的主机型维护的装置及技术。在某些实例中,可在所述存储器装置处对存储器写入信息加密且将其提供给主机用于更新及维护存储器装置维护统计。

Description

主机型快闪存储器维护技术
优先权申请案
本申请案主张2018年12月21日申请的序列号为16/230,313的美国申请案的权益,所述申请案的全部内容以应用的方式并入本文中。
技术领域
本公开论述存储器,且更特定来说,本公开论述主机型存储器维护技术。
背景技术
存储器装置通常提供为计算机或其它电子装置中的内部半导体集成电路。存在包含易失性及非易失性存储器的许多不同类型的存储器。易失性存储器需要电力来保存数据且包含随机存取存储器(RAM)、动态随机存取存储器(DRAM)及同步动态随机存取存储器(SDRAM)等等。非易失性存储器可在被断电时通过保存所存储的数据来提供持久数据且可包含NAND快闪存储器、NOR快闪存储器、只读存储器(ROM)、电可擦除可编程ROM(EEPROM)、可擦除可编程ROM(EPROM)及电阻可变存储器(例如相变随机存取存储器(PCRAM)、电阻随机存取存储器(RRAM)及磁阻随机存取存储器(MRAM))、3D XPointTM存储器等等。
存储器单元通常布置成矩阵或阵列。多个矩阵或阵列可组合成存储器装置,且多个装置可经组合以形成存储器系统的存储容量,例如固态驱动器(SSD)、通用快闪存储器储(UFSTM)装置、多媒体卡(MMC)固态存储装置、嵌入式MMC装置(eMMCTM)等等。
存储器系统可包含一或多个处理器或执行逻辑功能以操作存储器装置或与外部系统介接的其它存储器控制器。存储器矩阵或阵列可包含组织成数个物理页的数个存储器单元块。存储器系统可结合存储器操作(例如在存储器装置与主机之间传送数据(例如用户数据及相关联完整数据,例如错误数据及地址数据等等)的读取或写入操作、从存储器装置擦除数据的擦除操作或执行一或多个其它存储器操作)来自主机接收命令。
存储器用作各种电子应用的易失性及非易失性数据存储器,电子应用包含(例如)个人计算机、便携式存储器棒、数码相机、蜂窝式电话、便携式音乐播放器(例如MP3播放器)、电影播放器及其它电子装置。存储器单元可布置成阵列,其中阵列用于存储器装置中。
许多电子装置包含若干主组件:主机处理器(例如中央处理单元(CPU)或其它主处理器);主存储器(例如一或多个易失性或非易失性存储器装置,例如动态RAM(DRAM)、移动或低功耗双倍数据速率同步DRAM(DDR SDRAM)等等);及存储装置(例如非易失性存储器(NVM)装置,例如快闪存储器、只读存储器(ROM)、SSD、MMC或其它存储器卡结构或组合件或易失性及非易失性存储器的组合等等)。在某些实例中,电子装置可包含用户接口(例如显示器、触摸屏、键盘、一或多个按钮等等)、图形处理单元(GPU)、功率管理电路、基带处理器或一或多个收发器电路等等。
发明内容
本文公开用于允许快闪存储器装置的主机型维护的装置及技术。在某些实例中,可在存储器装置处对存储器写入信息加密且将其提供给主机用于更新及维护存储器装置维护统计。
本章节希望提供本专利申请案所述的标的物的概述。其不希望提供本发明的排他性或详尽解释。包含具体实施方式来提供关于本专利申请案的进一步信息。
附图说明
在未必按比例绘制的图式中,相似元件符号可描述不同视图中的类似组件。具有不同字母后缀的相似元件符号可表示类似组件的不同例子。图式大体上以举例而非限制的方式说明本文献中所论述的各种实施例。
图1说明包含存储器装置(其上可实施本标的物的一或多个实例)的环境的实例系统。
图2大体上说明使用主机驻留FTL的方面来实施快闪存储器系统处的存储器操作的实例方法的流程图。
图3大体上说明用于高效监测及更新主机驻留FTL操作的主机映射表数据的实例方法的流程图。
图4大体上说明用于在主机处维护存储器系统的快闪存储器维护信息的实例方法的流程图。
图5大体上说明用于在存储器装置处从主机接收维护命令的实例方法的流程图。
图6大体上说明用于使用主机来维护快闪存储器装置的实例方法的流程图。
图7说明其上可执行本文中所论述的技术(例如方法)中的任何一或多者的实例机器的框图。
具体实施方式
快闪存储器型存储装置(例如NAND存储器)可使用快闪转译层(FTL)来将I/O请求的逻辑地址(通常称为逻辑块地址(LBA))转译成存储于一或多个FTL映射表中的对应快闪存储器地址。LBA可为由主机用于管理数据的逻辑地址。移动存储装置通常具有大小受限的高速缓冲存储器,且因此通常缺少存储器来存储整个映射表。因此,可按需从快闪存储器检索映射表的部分,这可引起随机读取性能降级。
为提高随机读取性能,本文中所描述的技术能够使用主机驻留存储器及耦合到主机的存储器装置的存储器单元作为FTL映射表的高速缓冲存储器。在主机驻留FTL下,可比从快闪存储器读取FTL数据更快地从主机存储器读取FTL数据,且主机可通过检索快闪存储器的物理地址(PA)且使PA包含于对快闪存储器的存储器请求中来启始存储器操作。可由主机使用主机的FTL存储器高速缓冲存储器及主机的LBA来检索PA。在接收存储器请求之后,快闪存储器系统(例如主机外部的快闪存储器装置或系统)可实时检索与物理地址相关联的数据,无与存取基于快闪存储器的映射表及使用LBA获得物理地址相关联的延迟。
在主机驻留FTL的某些实施方案中,可显著提高随机读取工作量性能。然而,本发明者已识别用于主机驻留FTL的技术,其可有助于验证主机存储器请求的完整性,可有助于维持主机FTL表与实际快闪映射表之间的一致性,且可有助于在主机触发的存储器操作空闲或接近空闲时提供主机FTL表的实时更新。主机驻留FTL的简单实施方案可假定映射表在主机启始的操作之间保持准确。然而,连接到主机的存储器系统或存储器装置通常在主机启始的操作之间或在主机空闲期间执行内务操作或程序,例如废弃项目收集程序及损耗均衡程序。内务操作移动数据且通常修正及更新驻留于存储器装置处的映射表。由于无一些有效性检查,所以主机驻留FTL的简单实施方案(例如盲目使用主机提供的PA来存取快闪数据的存储器系统)常会导致存储器系统在错误PA处存取快闪存储器。
另外,本发明者还已认识到,将快闪存储器装置或快闪存储器系统的存储器维护卸下给主机可允许包含更简单固件、更简单硬件、更简单验证或其组合的更简单快闪存储器装置,且因此比常规快闪存储器装置(例如常规管理型NAND快闪存储器装置)降低成本及加快上市时间。
图1说明环境100的实例,环境100包含经配置以通过通信接口通信的主机105及存储器装置110。主机105或存储器装置110可包含于各种产品150(例如IoT装置(例如冰箱或其它电器、传感器、电动机或致动器、移动通信装置、汽车、移动电话、无人机等等))中以支持产品150的处理、通信或控制。
存储器装置110包含存储器控制器115及存储器阵列120,存储器阵列120包含(例如)一或多个个别存储器裸片(例如三维(3D)NAND裸片的堆叠)。在3D架构半导体存储器技术中,垂直结构堆叠成多阶层,且经耦合以形成物理页以提高给定占据面积(即,外型尺寸)中存储器装置(例如存储装置)的存储密度。在实例中,存储器装置110可为离散存储器装置。在某些实例中,存储器阵列120的一或多个存储器裸片可包含第一完整FTL表161用于使主机的逻辑块地址与快闪存储器的物理地址映射。
一或多个通信接口111可用于在存储器装置110与主机105的一或多个其它组件之间传送数据,例如串行先进技术附件(SATA)接口、外围组件互连快速(PCIe)接口、通用串行总线(USB)接口、UFS接口、eMMCTM接口或一或多个其它连接器或接口。主机105可包含主机系统、电子装置、处理器、存储器卡读取器或存储器装置110外部的一或多个其它电子装置。在一些实例中,主机105可为具有参考图7的机器700所论述的组件的某些部分或全部的机器。数据可通过输入/输出(I/O)总线传送于存储器装置110与其它组件之间,I/O总线可包含一或多个锁存器用于在传送数据时(例如,在从存储器阵列读取或写入到存储器阵列之前)临时存储数据。
存储器控制器115可从主机105接收指令,且可与存储器阵列通信以(例如)使数据传送到(例如写入或擦除)或传送从(例如读取)存储器阵列的存储器单元、平面、子块、块或页中的一或多者。存储器控制器115可尤其包含电路系统或固件,其包含一或多个组件或集成电路。例如,存储器控制器115可包含一或多个存储器控制单元、电路、控制电路系统或组件,其经配置以控制跨存储器阵列120的存取及提供主机105与存储器装置110之间的转译层。存储器控制器115可包含一或多个I/O电路(及对应锁存器)、高速缓冲存储器、线或接口以向或从存储器阵列120传送数据。存储器控制器115可包含存储器管理器125及阵列控制器135。
阵列控制器135可尤其包含电路系统或组件,其经配置以控制与将数据写入到、使数据读取自或擦除耦合到存储器控制器115的存储器装置110的一或多个存储器单元相关联的存储器操作。存储器操作可基于(例如)从主机105接收或由存储器管理器125内部产生的主机命令(例如,结合损耗均衡、错误检测或校正等等)。
阵列控制器135可包含错误校正码(ECC)组件140,其可尤其包含ECC引擎或其它电路系统,ECC引擎或其它电路系统经配置以检测或校正与将数据写入到或使数据读取自耦合到存储器控制器115的存储器装置110的一或多个存储器单元相关联的错误。例如,ECC组件140可检测或计算与执行许多存储器操作相关联的位错误率(BER)。BER可对应于发生于I/O总线的锁存器中的位错误、存储器控制器115的内部错误、发生于NAND阵列中的一或多者中的错误或存储器装置110的多电平单元(MLC)中的任何一或多者。存储器控制器115可经配置以主动检测与数据的各种操作或存储相关联的错误发生(例如位错误、操作错误、击穿条件、停顿、挂断等等)且从其恢复,同时维持在主机105与存储器装置110之间传送的数据的完整性或维持所存储数据的完整性(例如,使用冗余RAID存储等等),且可移除(例如,退出)失效存储器资源(例如存储器单元、存储器阵列、页、块等等)以防止未来错误。阵列控制器135可将检测到的BER信息传输到存储器管理器125用于存储及跟踪。存储器控制器115可包含跟踪从主机接收的存储器命令的命令队列(未展示)。队列中的命令可由存储器控制器115以先进先出(FIFO)方式、堆叠方式、无序、根据优先级或以任何其它适合顺序执行。
所描述的存储器装置110包含与存储器阵列120相关联的密码编译电路系统160。在某些实例中,密码编译电路系统160可包含加密电路、解密电路或其组合。在一些实施方案中,存储器装置110的存储器控制器115可包含经配置以实施密码编译电路160的功能的控制电路系统。在其它实施方案中,密码编译电路160可包含用于实施所描述的功能的独立控制电路系统。在其它实施方案中,控制电路系统可在密码编译电路160与存储器控制器115之间分配以实施密码编译电路160的所描述功能。在所描绘的实例中,阵列控制器135形成存储器控制器115的一部分,且密码编译电路160形成阵列控制器的一部分。在其它实施方案中,密码编译电路160可在阵列控制器135外部及/或外侧。例如,密码编译电路160(或其任何个别组件)可为耦合到环境100中的一或多个组件的独立组件。无论物理如何定位,提供密码编译电路160的额外功能的结构用于确认由主机105提供的物理地址以防止对存储器装置的错误或恶意存取且向主机提供再新主机驻留映射表信息的机会以在环境100的主机驻留FTL操作期间使映射信息与存储器装置的映射信息对准。
存储器管理器125可尤其包含电路系统或固件,例如与各种存储器管理功能相关联的许多组件或集成电路。为了本发明,将在NAND存储器的背景中描述实例存储器操作及管理功能。所属领域的技术人员将认识到,其它形式的非易失性存储器可具有模拟存储器操作或管理功能。此类NAND管理功能包含损耗均衡(例如废弃项目收集或回收)、错误检测(例如BER监测)或校正、块退出或一或多个其它存储器管理功能。存储器管理器125可将主机命令(例如从主机接收的命令)剖析或格式化成装置命令(例如与存储器阵列的操作相关联的命令等等)或产生装置命令(例如以完成各种存储器管理功能)用于阵列控制器135或存储器装置110的一或多个其它组件。
存储器阵列120可包含布置成(例如)数个装置、平面、子块、块或页的多个存储器单元。作为实例,48GB TLC NAND存储器装置可包含每页18,592个字节数据(16,384+2208个字节)、每块1536页、每平面548个块及每装置4个或更多个平面。作为另一实例,32GB MLC存储器装置(每单元存储两个位数据(即,4个可编程状态))可包含每页18,592个字节(B)数据(16,384+2208个字节)、每块1024页、每平面548个块及每装置4个平面,但仅需对应TLC存储器装置一半的写入时间及两倍于对应TLC存储器装置的编程/擦除(P/E)循环。其它实例可包含其它数目或布置。在一些实例中,可以SLC模式或期望MLC模式(例如TLC、QLC等等)选择性操作存储器装置或其一部分。
在操作中,通常使数据以页写入到或读取自存储器装置110及以块擦除。然而,可根据需要对更大或更小存储器单元群组执行一或多个存储器操作(例如读取、写入、擦除等等)。存储器装置110的数据传送大小通常称为页,而主机的数据传送大小通常称为扇区。
不同类型的存储器单元或存储器阵列120可提供不同页大小或可需要与之相关联的不同元数据量。例如,不同存储器装置类型可具有不同位错误率,其可导致确保数据页的完整性所需的不同元数据量(例如,具有较高位错误率的存储器装置可比具有较低位错误率的存储器装置需要更多字节的错误校正码数据)。作为实例,MLC NAND快闪装置可具有比对应单电平单元(SLC)NAND快闪装置更高的位错误率。因而,MLC装置可需要比对应SLC装置更多的元数据字节用于错误数据。
在某些实例中,主机可包含第二存储器111。第二存储器111并非为快闪型存储器装置。在某些实例中,第二存储器111可用于存储及维护一组管理表130。管理表可包含与存储器装置110的一或多个组件相关联的各种信息(例如与耦合到存储器控制器115的存储器阵列或一或多个存储器单元相关联的各种信息且可包含FTL表)。例如,管理表130可包含关于FTL映射信息、块寿命、块擦除计数、错误历史、错误参数信息、主机复位超时值、存储器操作命令延时或一或多个错误计数(例如写入操作错误计数、读取位错误计数、读取操作错误计数、擦除错误计数等等)的信息用于耦合到存储器控制器115的存储器单元的一或多个块。在某些实例中,如果针对错误计数中的一或多者(例如错误参数)所检测的错误数目高于阈值(例如可允许错误阈值),那么位错误可称为不可校正位错误。管理表130可尤其维护可校正或不可校正位错误的计数。
在某些实例中,第二存储器可包含第二完整FTL表162用于使主机的逻辑块地址与快闪存储器的物理地址映射。在一些实例中,环境100可仅包含第一完整FTL表162或第二完整FTL表162中的一者。
图2大体上说明使用主机驻留FTL的方面来实施快闪存储器系统处的存储器操作的实例方法200的流程图。在某些实例中,方法可有助于验证从主机接收的物理地址对应于由主机提供的LBA。如果无某种形式的确认,那么恶意主机可提供LBA及不相关物理地址,其可导致存取不希望由主机存取或不希望由主机使用存储器系统处所接收的特定主机存储器请求来存取的快闪存储器数据。在201中,存储器系统可在主机驻留FTL操作模式期间接收包含LBA及物理地址的表示的主机存储器请求。LBA表示主机的存储器系统内的存储器位置。物理地址表示快闪存储器系统的快闪存储器内的存储器位置。在主机驻留FTL操作模式外,快闪存储器系统的存储器控制器可使用存储器控制器的高速缓冲存储器内的映射信息或使用存储于快闪存储器系统的快闪存储器上的全映射表来定位映射到所接收的LBA的物理地址。在主机驻留FTL操作模式期间,主机可提供与LBA相关联的映射物理地址或其表示。在某些情形中,提供映射物理地址可降低存储器控制器从快闪存储器系统的快闪存储器检索存储器信息的频率。存取快闪存储器以检索存储器映射信息可显著降低主机的存储器操作的性能,因此,降低存储器控制器检索存储器映射信息的频率可显著提高主机的存储器请求的性能。
为防止对存储器系统的快闪存储器的受限区域的非有意或恶意存取,在203中,可使用快闪存储器系统的密钥来解密物理地址的表示。在某些实例中,快闪存储器系统可包含密码编译电路。在某些实例中,密码编译电路可为存储器控制器的部分。可以硬件、固件、软件或其组合实施密码编译电路。
在205中,可将经解密物理地址确认为存储器请求的快闪存储器系统的有效物理地址。在某些实例中,确认可包含将LBA定位于存储器控制器的高速缓冲存储器中且比较经解密物理地址与映射到LBA的物理地址。无论LBA是否位于存储器控制器的高速缓冲存储器内,存储器控制器可比较经解密物理地址与包含不受存储器请求限制的地址区域的表且确认经解密物理地址落于地址区域中的一者内。
在207中,当存储器控制器已确认经解密物理地址是存储器请求的有效物理地址时,存储器控制器可使用经解密物理地址来执行存储器请求。当存储器控制器无法确认经解密物理地址是存储器请求的有效物理地址时,存储器控制器不使用经解密物理地址来执行存储器请求。
在209中,当存储器控制器无法确认经解密物理地址是存储器请求的有效物理地址时,存储器控制器不使用经解密物理地址来执行存储器请求。在211中,存储器控制器可任选地向主机传回错误指示。在213中,当存储器控制器无法确认经解密物理地址是存储器请求的有效物理地址时,存储器控制器可任选地使用存储及维持于快闪存储器系统的高速缓冲存储器或快闪存储器中的映射信息来检索与LBA相关联的校正物理地址且接着在213中使用校正物理地址来执行存储器请求。在某些实例中,可将LBA确认为存储器系统处的有效LBA。此确认可包含比较所接收的LBA与有效LBA表的项目。如果所接收的LBA与有效LBA表的项目不匹配,那么存储器控制器可忽略存储器请求、传回错误指示或其组合。
在某些实例中,由存储器装置提供在主机驻留FTL操作模式期间提供给主机使用的映射信息。在将映射信息提供给主机之前,快闪存储器系统的存储器控制器可对物理地址加密且提供每一物理地址的加密表示而非实际物理地址。图3大体上说明用于从快闪存储器系统向主机提供映射信息的实例方法300的流程图。当从主机接收存储器请求时,存储器控制器可产生映射信息。映射信息可能非常大,使得其与所存储的数据一起存储于快闪存储器上。在某些实例中,映射信息可存储于表中,其中表中的记录包含与主机的存储器位置相关联的LBA及与映射到LBA的快闪存储器系统的存储器位置相关联的物理地址。在301中,存储器控制器或存储器控制器的密码编译电路可接收映射表记录。映射表记录可包含LBA及映射到LBA的快闪存储器系统的物理地址。在某些实例中,当主机向快闪存储器系统发出存储器请求时,存储器控制器使主机的每一LBA与快闪存储器系统的对应物理地址映射。
在301中,密码编译电路可接收映射信息,例如映射表(其包含主机的LBA及映射到LBA的快闪存储器系统的物理地址)的映射记录。密码编译电路可为快闪存储器系统的部分。在一些实例中,密码编译电路可为快闪存储器系统的存储器控制器的部分。在303中,密码编译电路可使用凭证来将加密算法应用于物理地址。在某些实例中,凭证可经硬编码于快闪存储器系统的非易失性存储器中。加密算法的应用实例化地址的加密版本。在305中,可使用物理地址的加密版本来替换映射记录的物理地址。在某些实例中,加密物理地址可包含密钥。在某些实例中,主机可使用密钥来维护关于快闪存储器系统的统计。此存储器统计可包含(但不限于)编程计数、擦除计数、编程/擦除循环计数、循环计数、无效页计数、预期损耗值或其组合。在307中,可将映射信息传送到主机用于在环境(例如100)的主机驻留FTL操作模式期间使用。映射信息可包含映射记录,映射记录包含LBA及对应于LBA的物理地址的对应加密版本。
图4大体上说明用于在主机处维护存储器系统的快闪存储器维护信息的实例方法400的流程图。在401中,存储器系统可任选地向主机提供映射信息。映射信息可响应于存储器系统处所接收的各种存储器请求来提供且可允许主机具有包含快闪存储器的存储器系统的完整映射。在403中,存储器系统可从主机接收写入命令。写入命令可包含逻辑块地址。在其中主机以FTL操作模式操作的实例中,写入命令可包含其中将存储与写入命令相关联的写入数据的快闪存储器的物理地址或物理块的表示。
在405中,存储器系统可将写入数据存储于快闪存储器的物理块中。在一些实例中,物理块可为由主机使用写入命令所供应的相同物理块。在407中,存储器系统可对关于写入命令的执行的回复信息加密。在某些实例中,回复信息可包含其中存储写入数据的物理块的指示。在一些实例中,回复信息可包含可辨识密钥以允许主机提取物理块信息来维护快闪存储器的维护统计。在411中,可响应于写入命令来经由回复消息向主机发送回复信息。
图5大体上说明用于在存储器装置处从主机接收存储器维护命令的实例方法500的流程图。在501中,存储器装置可从主机接收维护命令。维护命令可包含存储器装置的快闪存储器块的地址的表示。在某些实例中,可对存储器块的表示加密且存储器装置的控制器可对存储器块地址解密。在某些实例中,存储器装置可维护基本维护统计且可将维护命令视为提示,尤其在其中主机未以FTL操作模式操作的情况中。当将维护命令视为提示时,存储器装置可比较基本统计与阈值以确定是否执行命令维护。在某些实例中,存储器装置可任选地经由回复消息向主机提供指示是否执行维护的回复信息。
在505中,当维护命令是废弃项目收集命令时,存储器装置可在存储器块处执行废弃项目收集。在507中,当维护命令是损耗均衡命令时,存储器装置可在存储器块处执行损耗均衡操作。在511中,如上文所论述,存储器装置可任选地响应于维护命令来经由回复消息向主机提供回复。
图6大体上说明使用主机来维护快闪存储器装置的实例方法500的流程图。在601中,主机可启始或维护关于主机用于存储信息的快闪存储器装置的统计。在某些实例中,统计可包含(但不限于)快闪存储器装置的存储器单元的一或多个块的FTL映射信息、块寿命、块擦除计数、错误历史、错误参数信息、主机复位超时值、存储器操作命令延时或一或多个错误计数(例如写入操作错误计数、读取位错误计数、读取操作错误计数、擦除错误计数等等)。在603中,主机可向快闪存储器装置发送写入命令及相关联写入数据。在605中,主机可接收与写入命令相关联或响应于写入命令的加密回复信息。加密回复信息可包含关于其中存储写入数据的快闪存储器块的信息。在某些实例中,加密回复信息可包含主机可辨识的密钥,且密钥可用于对加密回复信息的至少一部分(例如关于其中存储写入数据的快闪存储器的块的信息)解密。
在607中,主机可使用关于其中存储写入数据的快闪存储器的块的信息(具有加密回复信息)来更新关于快闪存储器装置的统计。在某些实例中,主机可比较统计中的一或多者与维护阈值且可在609中向存储器装置发送维护命令。在某些实例中,维护命令可包含(但不限于)废弃项目收集命令或损耗均衡命令。维护命令可包含快闪存储器装置的快闪存储器所述的标的物块的地址。在某些实例中,可对目标块的地址加密,使得真正实际块仅可由快闪存储器装置解密。在某些实例中,由主机保存的关于快闪存储器装置的统计是非常程序统计且当主机向存储器装置发送维护命令时,存储器装置将命令视为建议且可在保存于存储器装置处的较细颗粒统计(与由主机保存的统计相比)满足快闪存储器装置的维护阈值时不执行维护命令。在某些实例中,存储器装置可任选地经由回复消息向主机提供指示是否执行维护的回复信息。
图7说明其上可执行本文中所论述的技术(例如方法)中的任何一或多者的实例机器700的框图。在替代实施例中,机器700可操作为独立装置或可连接(例如,联网)到其它机器。在联网部署中,机器700可充当服务器-客户端网络环境中的服务器机器、客户端机器或两者。在实例中,机器700可充当对等(P2P)(或其它分布式)网络环境中的同级机器。机器700可为个人计算机(PC)、平板PC、视频转换器(STB)、个人数字助理(PDA)、移动电话、网络设备、IoT装置、汽车系统或能够执行指令(循序或以其它方式)的任何机器,指令指定由所述机器采取的动作。此外,尽管仅说明单个机器,但术语“机器”还应被视作包含机器的任何集合,其个别或共同执行一组(或多组)指令以执行本文中所论述的方法中的任何一或多者,例如云计算、软件即服务(SaaS)、其它计算机集群配置。
如本文中所描述,实例可包含逻辑、组件、装置、封装或机构或可由逻辑、组件、装置、封装或机构操作。电路系统是实施于包含硬件(例如简单电路、门、逻辑等等)的有形物理中的电路的集合(例如组)。电路系统成员资格可随时间及潜在硬件可变性而灵活调整。电路系统包含可在操作时单独或组合执行特定任务的成员。在实例中,电路系统的硬件可经不变设计以执行特定操作(例如硬连线)。在实例中,电路系统的硬件可包含可变连接的物理组件(例如执行单元、晶体管、简单电路等等),其包含经物理修改(例如磁性地、电地、不变质量粒子的可移动放置等等)以编码特定操作的指令的计算机可读媒体。在连接物理组件时,改变硬件构成的基本电性质,例如从绝缘体到导体或反之亦然。指令使参与硬件(例如执行单元或加载机构)能够经由可变连接产生硬件中的电路系统的成员以在操作时实施特定任务的部分。因此,当装置在操作时,计算机可读媒体通信地耦合到电路系统的其它组件。在实例中,物理组件中的任一者可用于一个以上电路系统的一个以上成员中。例如,在操作下,执行单元可在一个时间点用于第一电路系统的第一电路中且在不同时间由第一电路系统中的第二电路或第二电路系统中的第三电路重用。
机器(例如计算机系统)700(例如主机105、存储器装置110等等)可包含处理装置702(例如硬件处理器、中央处理单元(CPU)、图形处理单元(GPU)、硬件处理器核心或其任何组合,例如存储器装置110的存储器控制器等等)、主存储器704(例如只读存储器(ROM)、快闪存储器、动态随机存取存储器(DRAM)(例如同步DRAM(SDRAM)或Rambus DRAM(RDRAM))等等)、静态存储器706(例如快闪存储器、静态随机存取存储器(SRAM)等等)及数据存储系统718(其部分或全部可经由互连链路(例如总线)730彼此通信)。
处理装置702可表示一或多个通用处理装置,例如微处理器、中央处理单元或其类似者。更特定来说,处理装置可为复杂指令集计算(CISC)微处理器、精简指令集计算(RISC)微处理器、超长指令字(VLIW)微处理器或实施其它指令集的处理器或实施指令集的组合的处理器。处理装置702还可为一或多个专用处理装置,例如专用集成电路(ASIC)、现场可编程门阵列(FPGA)、数字信号处理器(DSP)、网络处理器或其类似者。处理装置702可经配置以执行指令726以执行本文中所论述的操作及步骤。计算机系统700可进一步包含网络接口装置708以通过网络720通信。
数据存储系统718可包含机器可读存储媒体724(还称为计算机可读媒体),其上存储器现本文中所描述的方法或功能中的任何一或多者的一或多组指令726或软件。指令726还可在由计算机系统700执行其期间完全或至少部分驻存于主存储器704或处理装置702内,主存储器704及处理装置702还构成机器可读存储媒体。机器可读存储媒体724、数据存储系统718或主存储器704可对应于图1的存储器装置110。
在一个实施方案中,指令726包含用于实施对应于上文相对于图2或图3所论述的一或多个主机驻留FTL操作的功能的指令。尽管在实例实施方案中将机器可读存储媒体724展示为单个媒体,但术语“机器可读存储媒体”应被视作包含存储一或多组指令的单个媒体或多个媒体。术语“机器可读存储媒体”还应被视作包含能够存储或编码一组指令用于由机器执行且引起机器执行本公开的方法中的任何一或多者的任何媒体。因此,术语“机器可读存储媒体”应被视作包含(但不限于)固态存储器、光学媒体及磁性媒体。在实例中,大容量机器可读媒体包括含具有不变(例如静止)质量的多个粒子的机器可读媒体。因此,大容量机器可读媒体并非为暂时传播信号。大容量机器可读媒体的特定实例可包含:非易失性存储器,例如半导体存储器装置(例如电可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM))及快闪存储器装置;磁盘,例如内部硬盘及可卸除磁盘;磁光盘;及CD-ROM及DVD-ROM磁盘。
机器700可进一步包含显示单元、字母数字输入装置(例如键盘)及用户接口(UI)导览装置(例如鼠标)。在实例中,显示单元、输入装置或UI导览装置中的一或多者可为触摸屏显示器。机器可包含信号产生装置(例如扬声器)或一或多个传感器,例如全球定位系统(GPS)传感器、罗盘、加速计或一或多个其它传感器。机器700可包含输出控制器,例如串行(例如通用串行总线(USB)、并列或其它有线或无线(例如红外线(IR)、近场通信(NFC)等等)连接以通信或控制一或多个外围装置(例如打印机、读卡器等等)。
指令726(例如软件、程序、操作系统(OS)等等)或其它数据存储于数据存储装置718上,可由主存储器704存取用于由处理装置702使用。主存储器704(例如DRAM)通常是快速但易失性的且因此为不同于数据存储装置718(例如SSD)(其适合于长期存储,包含在处于“断电”条件中时)的存储器类型。由用户或机器700使用的指令726或数据通常加载到主存储器704中用于由处理装置702使用。当主存储器704满载时,可分配来自数据存储装置718的虚空间来补充主存储器704;然而,因为数据存储装置718通常比主存储器704慢且写入速度通常比读取速度至少慢1倍,所以使用虚拟存储器可归因于存储装置延时而使用户体验大幅降级(与主存储器704(例如DRAM)相比)。此外,将数据存储装置718用于虚拟存储器会大幅缩短数据存储装置718的可用寿命。
与虚拟存储器相比,虚拟存储器压缩(例如LinuxTM内核特征“ZRAM”)使用存储器的部分作为压缩块存储以避免分页到数据存储装置718。在压缩块中发生分页,直到需要将此数据写入到数据存储装置718。虚拟存储器压缩增大主存储器704的可用大小,同时减少数据存储装置718的损耗。
针对移动电子装置所优化的存储装置或移动存储器通常包含MMC固态存储装置(例如微型安全数字(microSDTM)卡等等)。MMC装置包含与主机(例如主机装置)的许多并行接口(例如8位并行接口),且通常为可卸除且与主机分离的组件。相比来说,eMMCTM装置附接到电路板且被视作主机的组件,其具有与基于串行ATATM(串行AT(先进技术)附件或SATA)的SSD装置相当的读取速度。然而,对移动装置性能的需求不断提高,例如完全实现虚拟或增强现实装置、利用不断提高网络速度等等。响应于此需求,存储装置已从并行通信接口变换到串行通信接口。通用快闪存储器储(UFS)装置(包含控制器及固件)使用与专用读取/写入路径的低电压差分信令(LVDS)串行接口来与主机通信以进一步提高读取/写入速度。
指令724可进一步利用许多传送协议(例如帧中继、因特网协议(IP)、传输控制协议(TCP)、用户数据报协议(UDP)、超文本传送协议(HTTP)等等)中的任一者、经由网络接口装置708、使用传输媒体来在网络720上发射或接收。实例通信网络可包含局域网(LAN)、广域网(WAN)、分组数据网(例如因特网)、移动电话网络(例如蜂窝式网络)、普通老式电话(POTS)网络及无线数据网络(例如称为
Figure BDA0003118713240000131
的电气及电子工程师协会(IEEE)802.11系列标准、称为
Figure BDA0003118713240000132
的IEEE 802.16系列标准)、IEEE 802.15.4系列标准、对等(P2P)网络等等。在实例中,网络接口装置708可包含一或多个物理插孔(例如以太网络、同轴或电话插孔)或一或多个天线以连接到网络720。在实例中,网络接口装置708可包含使用单输入多输出(SIMO)、多输入多输出(MIMO)或多输入单输出(MISO)技术中的至少一者来无线通信的多个天线。术语“传输媒体”应被视作包含能够存储、编码或携载由机器700执行的指令的任何无形媒体,且包含数字或模拟通信信号或其它无形媒体以促进此软件的通信。
额外注释及实例
实例1是一种方法,其包括:从存储器装置向主机提供映射表信息;在所述存储器装置处从所述主机接收写入命令及写入数据;在所述存储器装置处执行所述写入命令以将所述写入数据存储于所述存储器装置的物理块中;及在所述存储器装置处对回复信息加密,所述回复信息包含所述物理块的物理地址;及响应于所述写入命令来向所述主机发送包含所述加密回复信息的回复消息。
在实例2中,根据实例1所述的标的物,其包含在所述存储器装置处从所述主机接收存储器维护命令,其中所述存储器维护命令包含所述加密回复信息的至少一部分。
在实例3中,根据实例2所述的标的物,其包含在所述存储器装置处对所述加密回复信息解密以提供所述物理地址。
在实例4中,根据实例3所述的标的物,其中所述存储器维护命令是废弃项目收集命令。
在实例5中,根据实例4所述的标的物,其中所述方法包含在由所述物理地址表示的所述存储器装置的物理存储器块处执行废弃项目收集。
在实例6中,根据实例4到5中任一实例所述的标的物,其确定所述物理地址并非为所述存储器装置的有效物理地址;及不响应于所述废弃项目收集命令来执行废弃项目收集程序。
在实例7中,根据实例3到6中任一实例所述的标的物,其中所述存储器维护命令是损耗均衡命令。
在实例8中,根据实例7所述的标的物,其包含在由所述物理地址表示的所述存储器装置的物理存储器块处执行损耗均衡程序。
在实例9中,根据实例7到8中任一实例所述的标的物,其包含:确定所述物理地址并非为所述存储器装置的有效物理地址;及不回复于所述损耗均衡命令来执行损耗均衡程序。
在实例10中,根据实例1到9中任一实例所述的标的物,其中所述回复信息包含密钥;且其中解密所述回复信息包含使用所述密钥来解密所述回复信息。
在实例11中,根据实例1到10中任一实例所述的标的物,其中所述物理块包含快闪存储器。
在实例12中,根据实例11所述的标的物,其中所述快闪存储器包含NAND存储器。
实例13是一种方法,其包括:在主机处维护外部快闪存储器系统的映射表信息及存储器统计;从所述主机向所述外部快闪存储器系统发送写入命令及写入数据;响应于所述写入命令从所述外部快闪存储器系统接收加密回复信息;在所述主机处使用所述加密回复信息来更新所述外部快闪存储器系统的所述存储器统计;及当与所述加密回复信息相关联的存储器统计满足维护阈值时,发送存储器维护命令;且其中所述存储器维护命令包含所述加密回复信息。
在实例14中,根据实例13所述的标的物,其中所述加密回复信息包含密钥。
在实例15中,根据实例14所述的标的物,其中维护所述外部快闪存储器系统的存储器统计包含使用所述密钥来解密所述加密回复信息以提供所述外部快闪存储器系统的物理地址。
在实例16中,根据实例15所述的标的物,其中维护所述外部快闪存储器系统的存储器统计包含使用所述物理地址来更新所述映射表信息。
在实例17中,根据实例15到16中任一实例所述的标的物,其中维护所述外部快闪存储器系统的存储器统计包含使用所述物理地址来维护有效数据计数统计。
在实例18中,根据实例15到17中任一实例所述的标的物,其中维护所述外部快闪存储器系统的存储器统计包含使用所述物理地址来维护满载/空置状态统计。
在实例19中,根据实例15到18中任一实例所述的标的物,其中维护所述外部快闪存储器系统的存储器统计包含使用所述物理地址来维护从上次写入统计以来的时间。
在实例20中,根据实例13到19中任一实例所述的标的物,其中所述存储器维护命令是废弃项目收集命令。
在实例21中,根据实例13到20中任一实例所述的标的物,其中所述存储器维护命令是损耗均衡命令。
实例22是一种至少一个机器可读媒体,其包含指令,所述指令在由处理电路系统执行时引起所述处理电路系统执行操作以实施根据实例1到21中任一实例所述的。
实例23是一种设备,其包括用于实施根据实例1到21中任一实例所述的。
实例24是一种系统,其用于实施根据实例1到21中任一实例所述的。
实例25是一种方法,其用于实施根据实例1到21中任一实例所述的。
以上具体实施方式包含参考附图,附图构成具体实施方式的一部分。图式以说明方式展示其中可实践本发明的特定实施例。这些实施例在本文中还称为“实例”。此类实例可包含除所展示或描述的元件之外的元件。然而,本发明者还预期其中仅提供所展示或描述的元件的实例。此外,本发明者还预期使用相对于特定实例(或其一或多个方面)或相对于本文中所展示或描述的其它实例(或其一或多个方面)所展示或描述的元件(或其一或多个方面)的任何组合或排列的实例。
在此文献中,如专利文献中所常见,术语“一”用于包含一个或一个以上,其与“至少一个”或“一或多个”的任何其它例子或使用无关。在此文献中,除非另有指示,否则术语“或”用于指代非排他“或”,使得“A或B”可包含“A而非B”、“B而非A”及“A及B”。在所附权利要求书中,术语“包含”及“其中(in which)”用作相应术语“包括”及“其中(wherein)”的普通英语等效词。此外,在所附权利要求书中,术语“包含”及“包括”是开放式的。包含除权利要求中的此术语之后所列的元件之外的元件的系统、装置、物品或过程仍被视作落于所述权利要求的范围内。此外,在所附权利要求书中,术语“第一”、“第二”及“第三”等等仅用作标签且不希望对其对象强加数值要求。
在各种实例中,本文中所描述的组件、控制器、处理器、单元、引擎或表可尤其包含存储于物理装置上的物理电路系统或固件。如本文中所使用,“处理器”意味着任何类型的计算电路,例如(但不限于)微处理器、微控制器、图形处理器、数字信号处理器(DSP)或任何其它类型的处理器或处理电路(包含处理器或多核心装置群组)。
如本文中所使用,操作存储器单元包含从存储器单元读取、写入到存储器单元或擦除存储器单元。使存储器单元处于预期状态中的操作在本文中称为“编程”,且可包含写入到存储器单元或从存储器单元擦除两者(例如,存储器单元可经编程到擦除状态)。
NOR或NAND架构半导体存储器阵列中的每一快闪存储器单元可经个别或共同编程到一或数个编程状态。例如,单电平单元(SLC)可表示两个编程状态(例如1或0)中的一者以表示一位数据。然而,快闪存储器单元还可表示两个以上编程状态中的一者以允许在不增加存储器单元的数目的情况下制造更高密度存储器,这是因为每一单元可表示一个以上二进制数字(例如一个以上位)。此类单元可称为多状态存储器单元、多数字单元或多电平单元(MLC)。在某些实例中,MLC可是指每单元可存储两个数据位(例如四个编程状态中的一者)的存储器单元,三电平单元(TLC)可是指每单元可存储三个数据位(例如八个编程状态中的一者)的存储器单元,且四电平单元(QLC)可每单元存储四个数据位。除非由明确语言或上下文另外清楚指示,否则MLC在本文中用于更广义地指代每单元可存储一个以上数据位(即,可表示两个以上编程状态)的存储器单元。
根据本公开的一或多个实施例,定位于存储器装置内部或外部的存储器控制器(例如处理器、控制器、固件等等)能够确定(例如选择、设置、调整、计算、改变、清除、传达、调适、导出、界定、利用、修改、应用等等)一定数量的损耗循环或损耗状态(例如记录损耗循环、在存储器装置的操作发生时对其计数、跟踪存储器装置启始的其操作、评估对应于损耗状态的存储器装置特性等等)。
根据本公开的一或多个实施例,存储器存取装置可经配置以使用每一存储器操作来向存储器装置提供损耗循环信息。存储器装置控制电路系统(例如控制逻辑)可经编程以补偿对应于损耗循环信息的存储器装置性能变化。存储器装置可接收损耗循环信息且响应于损耗循环信息来确定一或多个操作参数(例如值、特性)。
本文中所描述的方法实例可至少部分为机器、装置或计算机实施的。一些实例可包含经指令编码的计算机可读媒体、装置可读媒体或机器可读媒体,指令可操作以配置电子装置执行上述实例中所描述的方法。此类方法的实施方案可包含程序代码,例如微程序代码、汇编语言码、高级语言码或类似者。此程序代码可包含用于执行各种方法的计算机可读指令。程序代码可形成计算机程序产品的部分。此外,程序代码可(例如)在执行期间或在其它时间有形地存储于一或多个易失性或非易失性有形计算机可读媒体上。这些有形计算机可读媒体的实例可包含(但不限于)硬盘、可卸除磁盘、可卸除光盘(例如光盘及数字视频光盘)、卡式磁带、存储器卡或棒、随机存取存储器(RAM)、只读存储器(ROM)、固态驱动器(SSD)、通用快闪存储器储(UFS)装置、嵌入式MMC(eMMC)装置及其类似者。
以上描述希望具说明性而非限制性。例如,上述实例(或其一或多个方面)可彼此组合使用。例如所属领域的一般技术人员可在审阅以上描述之后使用其它实施例。应了解,可认为其不会用于解译或限制权利要求书的范围或含义。此外,在以上具体实施方式中,各种特征可群组在一起以简化本公开。此不应被解译为期望任何权利要求必需具有未主张的公开特征。而是,发明目标可具有特定公开实施例的非所有特征。因此,所附权利要求书特此并入到具体实施方式中,其中每一权利要求自身作为单独实施例,且预期此类实施例可以各种组合或排列彼此组合。应参考所附权利要求书及此权利要求书所授权的等效物的全范围来确定本发明的范围。

Claims (21)

1.一种方法,其包括:
从存储器装置向主机提供映射表信息;
在所述存储器装置处从所述主机接收写入命令及写入数据;
在所述存储器装置处执行所述写入命令以将所述写入数据存储于所述存储器装置的物理块中;及
在所述存储器装置处对回复信息加密,所述回复信息包含所述物理块的物理地址;及
响应于所述写入命令来向所述主机发送包含所述加密回复信息的回复消息。
2.根据权利要求1所述的方法,其包含在所述存储器装置处从所述主机接收存储器维护命令,其中所述存储器维护命令包含所述加密回复信息的至少一部分。
3.根据权利要求2所述的方法,其包含在所述存储器装置处解密所述加密回复信息以提供所述物理地址。
4.根据权利要求3所述的方法,其中所述存储器维护命令是废弃项目收集命令。
5.根据权利要求4所述的方法,其中所述方法包含在由所述物理地址表示的所述存储器装置的物理存储器块处执行废弃项目收集。
6.根据权利要求4所述的方法,其确定所述物理地址并非为所述存储器装置的有效物理地址;及
不响应于所述废弃项目收集命令来执行废弃项目收集程序。
7.根据权利要求3所述的方法,其中所述存储器维护命令是损耗均衡命令。
8.根据权利要求7所述的方法,其包含在由所述物理地址表示的所述存储器装置的物理存储器块处执行损耗均衡程序。
9.根据权利要求7所述的方法,其包含:确定所述物理地址并非为所述存储器装置的有效物理地址;及
不响应于所述损耗均衡命令来执行损耗均衡程序。
10.根据权利要求1所述的方法,其中所述回复信息包含密钥;且
其中解密所述回复信息包含使用所述密钥来解密所述回复信息。
11.根据权利要求1所述的方法,其中所述物理块包含快闪存储器。
12.根据权利要求11所述的方法,其中所述快闪存储器包含NAND存储器。
13.一种方法,其包括:
在主机处维护外部快闪存储器系统的映射表信息及存储器统计;
从所述主机向所述外部快闪存储器系统发送写入命令及写入数据;
响应于所述写入命令从所述外部快闪存储器系统接收加密回复信息;
在所述主机处使用所述加密回复信息来更新所述外部快闪存储器系统的所述存储器统计;及
当与所述加密回复信息相关联的存储器统计满足维护阈值时,发送存储器维护命令;且
其中所述存储器维护命令包含所述加密回复信息。
14.根据权利要求13所述的方法,其中所述加密回复信息包含密钥。
15.根据权利要求14所述的方法,其中维护所述外部快闪存储器系统的存储器统计包含使用所述密钥来解密所述加密回复信息以提供所述外部快闪存储器系统的物理地址。
16.根据权利要求15所述的方法,其中维护所述外部快闪存储器系统的存储器统计包含使用所述物理地址来更新所述映射表信息。
17.根据权利要求15所述的方法,其中维护所述外部快闪存储器系统的存储器统计包含使用所述物理地址来维护有效数据计数统计。
18.根据权利要求15所述的方法,其中维护所述外部快闪存储器系统的存储器统计包含使用所述物理地址来维护满载/空置状态统计。
19.根据权利要求15所述的方法,其中维护所述外部快闪存储器系统的存储器统计包含使用所述物理地址来维护从上次写入统计以来的时间。
20.根据权利要求13所述的方法,其中所述存储器维护命令是废弃项目收集命令。
21.根据权利要求13所述的方法,其中所述存储器维护命令是损耗均衡命令。
CN201980083546.9A 2018-12-21 2019-12-19 主机型快闪存储器维护技术 Pending CN113439264A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/230,313 2018-12-21
US16/230,313 US11226894B2 (en) 2018-12-21 2018-12-21 Host-based flash memory maintenance techniques
PCT/US2019/067531 WO2020132274A1 (en) 2018-12-21 2019-12-19 Host-based flash memory maintenance techniques

Publications (1)

Publication Number Publication Date
CN113439264A true CN113439264A (zh) 2021-09-24

Family

ID=71097701

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201980083546.9A Pending CN113439264A (zh) 2018-12-21 2019-12-19 主机型快闪存储器维护技术

Country Status (7)

Country Link
US (2) US11226894B2 (zh)
EP (1) EP3899731A4 (zh)
JP (1) JP2022522595A (zh)
KR (2) KR102377365B1 (zh)
CN (1) CN113439264A (zh)
TW (2) TWI737088B (zh)
WO (1) WO2020132274A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11687469B2 (en) 2018-12-19 2023-06-27 Micron Technology, Inc. Host-resident translation layer validity check techniques
US11734170B2 (en) 2018-08-03 2023-08-22 Micron Technology, Inc. Host-resident translation layer validity check
US11809311B2 (en) 2018-12-21 2023-11-07 Micron Technology, Inc. Host-based flash memory maintenance techniques

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220326887A1 (en) * 2021-04-06 2022-10-13 Micron Technology, Inc. Log management maintenance operation and command
US11556482B1 (en) * 2021-09-30 2023-01-17 International Business Machines Corporation Security for address translation services
CN117632042B (zh) * 2024-01-25 2024-04-30 合肥兆芯电子有限公司 存储器管理方法、存储器存储装置及存储器控制电路单元

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103136116A (zh) * 2011-12-05 2013-06-05 财团法人工业技术研究院 存储器存储系统及其中控装置、管理方法与断电恢复方法
CN104885062A (zh) * 2012-12-10 2015-09-02 谷歌公司 使用逻辑到物理映射以与数据存储装置进行直接用户空间通信
CN107015920A (zh) * 2015-12-30 2017-08-04 三星电子株式会社 存储设备和存储设备的操作方法

Family Cites Families (85)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5812861A (en) * 1995-06-22 1998-09-22 Intel Corporation Override signal for forcing a powerdown of a flash memory
JPH09252323A (ja) 1996-01-11 1997-09-22 Sony Corp 通信システムおよび通信装置
US6345347B1 (en) 1999-09-27 2002-02-05 International Business Machines Corporation Address protection using a hardware-defined application key
US7134138B2 (en) 2001-02-15 2006-11-07 Emc Corporation Methods and apparatus for providing security for a data storage system
JP3866597B2 (ja) 2002-03-20 2007-01-10 株式会社東芝 内部メモリ型耐タンパプロセッサおよび秘密保護方法
US8060756B2 (en) 2003-08-07 2011-11-15 Rao G R Mohan Data security and digital rights management system
US20080082736A1 (en) 2004-03-11 2008-04-03 Chow David Q Managing bad blocks in various flash memory cells for electronic data flash card
JP4698982B2 (ja) * 2004-04-06 2011-06-08 株式会社日立製作所 暗号処理を行うストレージシステム
JP4447977B2 (ja) 2004-06-30 2010-04-07 富士通マイクロエレクトロニクス株式会社 セキュアプロセッサ、およびセキュアプロセッサ用プログラム。
US7085190B2 (en) 2004-09-16 2006-08-01 Stmicroelectronics, Inc. Variable boost voltage row driver circuit and method, and memory device and system including same
US20060294299A1 (en) 2005-06-28 2006-12-28 Intel Corporation Techniques to verify storage of information
JP4932390B2 (ja) 2006-08-31 2012-05-16 株式会社日立製作所 仮想化システム及び領域割当て制御方法
US7681008B2 (en) 2006-09-29 2010-03-16 Sandisk Corporation Systems for managing file allocation table information
US8161353B2 (en) 2007-12-06 2012-04-17 Fusion-Io, Inc. Apparatus, system, and method for validating that a correct data segment is read from a data storage device
KR100823171B1 (ko) * 2007-02-01 2008-04-18 삼성전자주식회사 파티션된 플래시 변환 계층을 갖는 컴퓨터 시스템 및플래시 변환 계층의 파티션 방법
US8489886B2 (en) 2007-10-03 2013-07-16 International Business Machines Corporation Double authentication for controlling disruptive operations on storage resources
US8375151B1 (en) 2009-02-12 2013-02-12 Siliconsystems, Inc. Command portal for securely communicating and executing non-standard storage subsystem commands
US8327066B2 (en) 2008-09-30 2012-12-04 Samsung Electronics Co., Ltd. Method of managing a solid state drive, associated systems and implementations
JP2010146326A (ja) 2008-12-19 2010-07-01 Toshiba Storage Device Corp 記憶装置、その制御方法及びその記憶装置を用いた電子装置
US8412909B2 (en) 2009-04-08 2013-04-02 Samsung Electronics Co., Ltd. Defining and changing spare space and user space in a storage apparatus
US8176295B2 (en) 2009-04-20 2012-05-08 Imation Corp. Logical-to-physical address translation for a removable data storage device
KR101635502B1 (ko) 2009-07-22 2016-07-01 삼성전자주식회사 반도체 메모리 장치 및 그것의 프로그램 방법
CN102576333B (zh) 2009-10-05 2016-01-13 马维尔国际贸易有限公司 非易失性存储器中的数据高速缓存
US8539148B1 (en) * 2010-12-22 2013-09-17 Emc Corporation Deduplication efficiency
WO2012127266A1 (en) 2011-03-23 2012-09-27 Sandisk Il Ltd. Storage device and method for updating data in a partition of the storage device
US9069703B2 (en) 2011-04-29 2015-06-30 Seagate Technology Llc Encrypted-transport solid-state disk controller
US9208070B2 (en) 2011-12-20 2015-12-08 Sandisk Technologies Inc. Wear leveling of multiple memory devices
US9229853B2 (en) 2011-12-20 2016-01-05 Intel Corporation Method and system for data de-duplication
US9740439B2 (en) * 2011-12-23 2017-08-22 International Business Machines Corporation Solid-state storage management
KR20130081526A (ko) 2012-01-09 2013-07-17 삼성전자주식회사 저장 장치, 그것을 포함하는 전자 장치, 및 그것의 데이터 관리 방법들
US9467511B2 (en) 2012-01-17 2016-10-11 Intel Corporation Techniques for use of vendor defined messages to execute a command to access a storage device
JP5687648B2 (ja) * 2012-03-15 2015-03-18 株式会社東芝 半導体記憶装置およびプログラム
US20130269039A1 (en) 2012-04-04 2013-10-10 Infinidat Ltd. Data access control
WO2013160958A1 (en) 2012-04-26 2013-10-31 Hitachi, Ltd. Information storage system and method of controlling information storage system
US9244833B2 (en) 2012-05-30 2016-01-26 Silicon Motion, Inc. Data-storage device and flash memory control method
US9146920B2 (en) 2012-09-10 2015-09-29 Netronome Systems, Inc. Transactional memory that performs an atomic look-up, add and lock operation
KR20140057454A (ko) 2012-11-02 2014-05-13 삼성전자주식회사 비휘발성 메모리 장치 및 이와 통신하는 호스트 장치
US9652376B2 (en) 2013-01-28 2017-05-16 Radian Memory Systems, Inc. Cooperative flash memory control
US9229854B1 (en) 2013-01-28 2016-01-05 Radian Memory Systems, LLC Multi-array operation support and related devices, systems and software
US9407642B2 (en) 2013-03-13 2016-08-02 Samsung Electronics Co., Ltd. Application access control method and electronic apparatus implementing the same
US10101937B2 (en) 2013-03-15 2018-10-16 Western Digital Technologies, Inc. Apparatus and method for referencing dense and sparse information in multi-dimensional to linear address space translation
US9898404B2 (en) 2013-07-14 2018-02-20 Cnex Labs Method and apparatus for providing improved garbage collection process in solid state drive
TWI516921B (zh) * 2013-10-02 2016-01-11 群聯電子股份有限公司 資料處理方法、記憶體儲存裝置與記憶體控制電路單元
WO2015087426A1 (ja) 2013-12-12 2015-06-18 株式会社日立製作所 ストレージ装置及びストレージ装置の制御方法
KR102140792B1 (ko) 2013-12-24 2020-08-03 삼성전자주식회사 데이터 중복 제거를 수행할 수 있는 데이터 저장 장치의 동작 방법들
CN104794063A (zh) 2014-01-17 2015-07-22 光宝科技股份有限公司 一种具备电阻式存储器的固态储存装置的控制方法
US9594580B2 (en) * 2014-04-09 2017-03-14 Bitspray Corporation Secure storage and accelerated transmission of information over communication networks
KR20150126232A (ko) 2014-05-02 2015-11-11 삼성전자주식회사 암호화 데이터 결정 방법 및 이를 제공하는 호스트 장치
KR102148889B1 (ko) 2014-08-18 2020-08-31 삼성전자주식회사 메모리 컨트롤러의 동작 방법 및 메모리 컨트롤러를 포함하는 불휘발성 메모리 시스템
US9411539B2 (en) 2014-09-24 2016-08-09 International Business Machines Corporation Providing access information to a storage controller to determine a storage tier for storing data
US9489317B2 (en) 2014-09-26 2016-11-08 Apple Inc. Method for fast access to a shared memory
US9824043B2 (en) * 2015-01-22 2017-11-21 Lite-On Technology Corporation System with solid state drive and control method thereof
CN106033319A (zh) 2015-03-11 2016-10-19 广明光电股份有限公司 固态硬盘动态建立转换层的方法
US9645757B2 (en) 2015-03-23 2017-05-09 International Business Machines Corporation Computer memory data security
US9749319B2 (en) 2015-05-20 2017-08-29 Google Inc. Address validation using signatures
US20170093823A1 (en) * 2015-09-25 2017-03-30 Vinodh Gopal Encrypting Observable Address Information
US10331364B2 (en) 2015-10-16 2019-06-25 Cnex Labs, Inc. Method and apparatus for providing hybrid mode to access SSD drive
US20170177497A1 (en) 2015-12-21 2017-06-22 Qualcomm Incorporated Compressed caching of a logical-to-physical address table for nand-type flash memory
US10229051B2 (en) 2015-12-30 2019-03-12 Samsung Electronics Co., Ltd. Storage device including nonvolatile memory device and controller, operating method of storage device, and method for accessing storage device
JP6448570B2 (ja) * 2016-03-08 2019-01-09 東芝メモリ株式会社 ストレージシステム、情報処理システムおよび制御方法
US10380069B2 (en) 2016-05-04 2019-08-13 Western Digital Technologies, Inc. Generalized write operations verification method
US9774578B1 (en) 2016-05-23 2017-09-26 Accenture Global Solutions Limited Distributed key secret for rewritable blockchain
US10754988B2 (en) * 2016-08-30 2020-08-25 Winbond Electronics Corporation Anti-rollback version upgrade in secured memory chip
US10489289B1 (en) 2016-09-30 2019-11-26 Amazon Technologies, Inc. Physical media aware spacially coupled journaling and trim
KR102643916B1 (ko) 2016-10-18 2024-03-08 삼성전자주식회사 스토리지 장치, 메모리 시스템, 및 그것의 읽기 전압 결정 방법
US10620846B2 (en) 2016-10-26 2020-04-14 ScaleFlux, Inc. Enhancing flash translation layer to improve performance of databases and filesystems
US10235069B2 (en) 2016-12-22 2019-03-19 Western Digital Technologies, Inc. Load balancing by dynamically transferring memory range assignments
US10635584B2 (en) 2017-06-29 2020-04-28 Western Digital Technologies, Inc. System and method for host system memory translation
US10430117B2 (en) 2017-10-23 2019-10-01 Micron Technology, Inc. Host accelerated operations in managed NAND devices
JP6982468B2 (ja) * 2017-10-27 2021-12-17 キオクシア株式会社 メモリシステムおよび制御方法
TWI641966B (zh) * 2018-01-15 2018-11-21 群聯電子股份有限公司 記憶體儲存系統、主機系統驗證方法及記憶體儲存裝置
US10997066B2 (en) 2018-02-20 2021-05-04 Samsung Electronics Co., Ltd. Storage devices that support cached physical address verification and methods of operating same
JP7074519B2 (ja) 2018-03-19 2022-05-24 キオクシア株式会社 メモリシステム、および、メモリ制御方法
US10510419B1 (en) 2018-06-28 2019-12-17 Micron Technology, Inc. Monitoring and charging inhibit bit-line
US11036651B2 (en) * 2018-06-29 2021-06-15 Micron Technology, Inc. Host side caching security for flash memory
US10459845B1 (en) 2018-06-29 2019-10-29 Micron Technology, Inc. Host accelerated operations in managed NAND devices
CN112673357B (zh) 2018-08-03 2023-03-24 美光科技公司 主机驻留式转换层有效性检查
US10923202B2 (en) 2018-08-03 2021-02-16 Micron Technology, Inc. Host-resident translation layer triggered host refresh
US11263124B2 (en) 2018-08-03 2022-03-01 Micron Technology, Inc. Host-resident translation layer validity check
US10852964B2 (en) 2018-09-25 2020-12-01 Micron Technology, Inc. Host-resident translation layer validity check techniques
KR102567108B1 (ko) * 2018-11-05 2023-08-14 삼성전자주식회사 데이터 스토리지 디바이스 및 데이터 스토리지 시스템
US11144635B2 (en) * 2018-11-06 2021-10-12 International Business Machines Corporation Restricted command set management in a data storage system
US11226907B2 (en) 2018-12-19 2022-01-18 Micron Technology, Inc. Host-resident translation layer validity check techniques
US11226894B2 (en) 2018-12-21 2022-01-18 Micron Technology, Inc. Host-based flash memory maintenance techniques
US11036625B1 (en) 2020-04-24 2021-06-15 Micron Technology, Inc. Host-resident translation layer write command associated with logical block to physical address of a memory device

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103136116A (zh) * 2011-12-05 2013-06-05 财团法人工业技术研究院 存储器存储系统及其中控装置、管理方法与断电恢复方法
CN104885062A (zh) * 2012-12-10 2015-09-02 谷歌公司 使用逻辑到物理映射以与数据存储装置进行直接用户空间通信
CN107015920A (zh) * 2015-12-30 2017-08-04 三星电子株式会社 存储设备和存储设备的操作方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11734170B2 (en) 2018-08-03 2023-08-22 Micron Technology, Inc. Host-resident translation layer validity check
US11687469B2 (en) 2018-12-19 2023-06-27 Micron Technology, Inc. Host-resident translation layer validity check techniques
US11809311B2 (en) 2018-12-21 2023-11-07 Micron Technology, Inc. Host-based flash memory maintenance techniques

Also Published As

Publication number Publication date
US20210365364A1 (en) 2021-11-25
KR20210075207A (ko) 2021-06-22
US20200201752A1 (en) 2020-06-25
WO2020132274A1 (en) 2020-06-25
TW202141267A (zh) 2021-11-01
TWI737088B (zh) 2021-08-21
US11809311B2 (en) 2023-11-07
TW202038086A (zh) 2020-10-16
EP3899731A1 (en) 2021-10-27
EP3899731A4 (en) 2022-09-21
US11226894B2 (en) 2022-01-18
KR20220038188A (ko) 2022-03-25
JP2022522595A (ja) 2022-04-20
KR102377365B1 (ko) 2022-03-22

Similar Documents

Publication Publication Date Title
US11809311B2 (en) Host-based flash memory maintenance techniques
US11138108B2 (en) Logical-to-physical map synchronization in a memory device
CN112771491B (zh) 主机常驻转换层有效性检查技术
US11687469B2 (en) Host-resident translation layer validity check techniques
US10884944B2 (en) Host accelerated operations in managed NAND devices
US11886339B2 (en) Secure logical-to-physical caching
CN114761931A (zh) 有限ram系统中的逻辑到物理转译技术
CN113841128B (zh) 大型数据读取方法、装置及可读介质
CN112445718A (zh) 大文件完整性技术
CN112445716A (zh) Nand存储的重映射技术
CN111352864A (zh) 快闪存储器持久性高速缓存技术
CN112313632B (zh) 被管理的nand装置中的主机加速操作

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination