CN105718385B - 数据存储装置及其操作方法与数据处理系统 - Google Patents

数据存储装置及其操作方法与数据处理系统 Download PDF

Info

Publication number
CN105718385B
CN105718385B CN201510969163.5A CN201510969163A CN105718385B CN 105718385 B CN105718385 B CN 105718385B CN 201510969163 A CN201510969163 A CN 201510969163A CN 105718385 B CN105718385 B CN 105718385B
Authority
CN
China
Prior art keywords
memory
read
hash value
tables
value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201510969163.5A
Other languages
English (en)
Other versions
CN105718385A (zh
Inventor
李东焕
孔骏镇
薛昶圭
孙弘乐
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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
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 Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of CN105718385A publication Critical patent/CN105718385A/zh
Application granted granted Critical
Publication of CN105718385B publication Critical patent/CN105718385B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • G06F21/79Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in semiconductor storage media, e.g. directly-addressable memories
    • 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
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2255Hash tables
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • 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/065Replication mechanisms
    • 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/0653Monitoring storage devices or 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/068Hybrid storage device
    • 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
    • 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
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • G11C16/0466Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells with charge storage in an insulating layer, e.g. metal-nitride-oxide-silicon [MNOS], silicon-oxide-nitride-oxide-silicon [SONOS]
    • 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)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Human Computer Interaction (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Read Only Memory (AREA)
  • Microelectronics & Electronic Packaging (AREA)

Abstract

本发明提供了一种操作数据存储装置的方法,其能够补偿多个存储器单元的初始阈电压漂移。所述方法包括:产生针对第一写地址的第一压缩值,所述第一写地址对应于在不同的时间间隔中的第一时间间隔期间输入的第一写请求;以及将第一压缩值存储在多个表中的第一表中。本发明还提供了一种数据存储装置和数据处理系统。

Description

数据存储装置及其操作方法与数据处理系统
相关申请的交叉引用
本申请要求于2014年12月23日在韩国知识产权局提交的韩国专利申请No.10-2014-0186967的优先权,该申请的全部内容以引用方式并入本文中。
技术领域
本发明构思的实施例涉及一种数据存储装置、其操作方法和包括该数据存储装置的数据处理系统,更具体地说,涉及一种包括表的数据存储装置,所述表存储针对在预定时段输入的地址的压缩值作为用于补偿初始阈电压的漂移的值。
背景技术
用于存储数据的存储器装置可划分为易失性存储器装置和非易失性存储器装置。存储器装置的特性会随着使用环境、使用次数和/或使用时间而变化。
闪速存储器装置是在单个编程操作中对多个存储器单元进行擦除或编程的电可擦除可编程只读存储器(EEPROM)的示例。在利用浮置栅极技术的闪速存储器装置中,就可靠性而言,数据保持特性和质量不劣化的编程-擦除(P/E)循环的次数(即,耐久性)是重要问题。
在位于闪速存储器装置内的闪速存储器单元中存储的电荷或电子会通过各种失效机制从浮置栅极泄漏,所述失效机制诸如通过有缺陷的极间绝缘膜的热离子发射、电荷扩散、离子杂质或编程干扰应力。这种泄漏将导致阈电压的降低。
重复的P/E循环对闪速存储器单元的存储器晶体管氧化膜造成应力,并且该应力会在闪速存储器单元中导致失效。闪速存储器单元的阈电压会由于该应力而漂移(增大或减小)。例如,电子会从经编程的闪速存储器单元的浮置栅极泄漏。因此,经编程的闪速存储器单元的阈电压分布会朝着更低的电压漂移。
闪速存储器单元的初始阈电压会具有基于工艺和设计目标的有限分布。然而,初始阈电压的分布根据使用环境、使用次数和/或使用时间而改变。当在包括闪速存储器单元的存储器装置上执行编程操作或读操作时,需要适当地控制初始阈电压分布。当没有适当地控制初始阈电压分布时,在存储器装置上不能适当地执行程序或读操作。
发明内容
本发明构思的各个实施例提供了一种数据存储装置、一种操作所述数据存储装置的方法,以及包括所述数据存储装置的数据处理系统,所述数据存储装置包括存储针对在预定时段输入的地址的压缩值作为用于补偿初始阈电压漂移的值的表,以确保合适的操作。
根据本发明构思的实施例,提供了一种操作数据存储装置的方法,其能够补偿多个存储器单元的初始阈电压漂移。该方法包括:产生针对第一写地址的第一压缩值,所述第一写地址对应于在不同的时间间隔中的第一时间间隔期间输入的第一写请求;以及将第一压缩值存储在多个表中的第一表中。
将第一压缩值存储在第一表中的步骤可包括:利用对应于第一写请求的第一时间戳从所述多个表中选择第一表;以及将第一压缩值存储在选中的第一表中。
所述方法还可包括步骤:产生针对读地址的第二压缩值,所述读地址对应于在所述不同的时间间隔中的第二时间间隔期间输入的读请求;在所述多个表中搜索存储了与第二压缩值相同的第一压缩值的第一表;基于第一表的索引补偿所述存储器单元的初始阈电压漂移;以及利用对应于补偿后的初始阈电压漂移的读电压执行对应于所述读请求的读操作。所述不同的时间间隔可分别对应于所述多个表。
可基于对应于读请求的第二时间戳和第一表的索引执行补偿初始阈电压漂移的步骤。另外,补偿初始阈电压漂移的步骤可包括:基于第二时间戳和第一表的索引产生控制码;将所述控制码存储在包括所述多个存储器单元的存储器中;以及利用存储在存储器中的控制码补偿所述存储器单元的初始阈电压漂移。
可利用一个哈希值产生器产生第一压缩值和第二压缩值中的每一个。第一压缩值和第二压缩值可分别为从不同的哈希值产生器输出的第一哈希值和第二哈希值。
所述方法还可包括步骤:周期性地初始化所述多个表。另外,所述方法还可包括步骤:当所述数据存储装置包括三维闪速存储器时,将对应于第一写请求的第一写数据写至包括所述存储器单元的三维闪速存储器。
根据本发明构思的其它实施例,提供了一种数据存储装置,其包括存储器和控制器。所述存储器包括多个存储器单元。所述控制器配置为补偿存储器单元的初始阈电压漂移。所述控制器包括补偿电路,所述补偿电路配置为产生针对第一写地址的第一压缩值,所述第一写地址对应于在不同的时间间隔中的第一时间间隔期间输入的第一写请求,并且将第一压缩值存储在多个表中的第一表中。
所述补偿电路可包括:压缩值产生电路,其配置为产生针对第一写地址的第一压缩值;以及搜索电路,其配置为利用对应于第一写请求的第一时间戳从所述多个表中选择第一表,并且将第一压缩值存储在选中的第一表中。所述不同的时间间隔可分别对应于所述多个表。
所述压缩值产生电路可产生针对读地址的第二压缩值,所述读地址对应于在所述不同的时间间隔中的第二时间间隔期间输入的读请求。所述搜索电路可在所述多个表中搜索存储了与第二压缩值相同的第一压缩值的第一表。
所述压缩值产生电路可利用至少一个哈希值产生器产生包括至少一个哈希值的第一压缩值以及包括至少一个第二哈希值的第二压缩值。
所述搜索电路可将第一表的索引输出作为搜索结果。另外,所述控制器还可包括:判定电路,其配置为利用对应于读请求的第二时间戳以及第一表的索引产生控制码;以及中央处理单元(CPU),其配置为响应于控制码输出用于补偿初始阈电压漂移的补偿码。所述存储器可利用从CPU输出的补偿码补偿存储器单元的初始阈电压漂移,利用对应于补偿后的初始阈电压漂移的读电压从存储器单元读取对应于读命令的数据,并且将数据输出至控制器。
所述控制器还可包括构造为存储所述多个表的内部存储器,并且所述控制器可周期性地初始化所述表。
根据本发明构思的其它实施例,提供了一种数据处理系统,其包括如上所述的数据存储装置以及配置为控制所述数据存储装置的操作的主机。
在数据处理系统的情形中,所述补偿电路可包括:压缩值产生电路,其配置为产生针对第一写地址的第一压缩值;以及搜索电路,其配置为利用对应于第一写请求的第一时间戳从所述多个表中选择第一表,并且将第一压缩值存储在选中的第一表中。所述不同的时间间隔可分别对应于所述多个表。
所述压缩值产生电路可产生针对读地址的第二压缩值,其对应于在所述不同的时间间隔中的第二时间间隔期间输入的读请求,并且所述搜索电路可在所述多个表中搜索存储了与第二压缩值相同的第一压缩值的第一表。
所述搜索电路可将第一表的索引输出作为搜索结果。另外,所述控制器还可包括:判定电路,其配置为利用对应于读请求的第二时间戳和第一表的索引产生控制码;以及CPU,其配置为响应于控制码输出用于补偿初始阈电压漂移的补偿码。所述存储器可利用从CPU输出的补偿码来补偿存储器单元的初始阈电压漂移,利用对应于补偿后的初始阈电压漂移的读电压从存储器单元读取对应于读命令的数据,并且将数据输出至控制器。
所述存储器可具有包括所述多个存储器单元的三维存储器阵列。所述三维存储器阵列可包括非易失性存储器,其以单片方式形成在具有设置在硅衬底上的有源区域的存储器单元的一个或多个物理层级中。所述三维存储器阵列可包括存储器单元,存储器单元中的每一个包括电荷俘获层。
根据本发明构思的其它实施例,提供了一种数据存储装置,其包括存储器和控制器。所述存储器包括多个存储器单元。所述控制器配置为响应于控制码补偿存储器单元的初始阈电压漂移。所述控制器包括CPU,其配置为产生针对第一写地址的第一压缩值,所述第一写地址对应于在不同的时间间隔中的第一时间间隔期间输入的第一写请求,并且将第一压缩值存储在多个表中的第一表中。所述CPU包括:压缩值产生模块,其配置为产生针对第一写地址的第一压缩值以及针对读地址的第二压缩值,所述读地址对应于在所述不同的时间间隔中的第二时间间隔期间输入的读请求;搜索引擎,其配置为利用对应于第一写请求的第一时间戳从所述多个表中选择第一表,并且将第一压缩值存储在选中的第一表中,其中,所述不同的时间间隔分别对应于所述多个表;以及判定模块,其配置为利用对应于读请求的第二时间戳和第一表的索引产生控制码。
附图说明
通过以下结合附图进行的描述将更加清楚地理解本发明构思的示例性实施例,其中:
图1是根据本发明构思的实施例的数据处理系统的框图;
图2是根据本发明构思的实施例的图1所示的补偿电路的框图;
图3是根据本发明构思的实施例的图2所示的处理第一写地址的哈希值产生电路的操作的概念图;
图4是根据本发明构思的实施例的图2所示的处理第二写地址的哈希值产生电路的操作的概念图;
图5是根据本发明构思的实施例的图2所示的处理读地址的哈希值产生电路的操作的概念图;
图6是初始阈电压分布随时间的漂移的概念图;
图7是根据本发明构思的实施例的存储在哈希表中的针对写地址的压缩值的时间间隔的概念图;
图8是根据本发明构思的实施例的用于补偿初始阈电压分布漂移的表的概念图;
图9是根据本发明构思的另一实施例的数据处理系统的框图;
图10是根据本发明构思的实施例的在图1所示的中央处理单元(CPU)中运行的补偿模块的操作的概念图;
图11是根据本发明构思的实施例的图1或图9所示的第二存储器的框图;
图12是根据本发明构思的实施例的在图1或图9所示的数据存储装置中执行的写操作的流程图;
图13是根据本发明构思的实施例的在图1或图9所示的数据存储装置中执行的读操作的流程图;
图14是在常规方法和根据本发明构思的各个实施例的方法中使用的存储器容量的示图;
图15是示出根据本发明构思的各个实施例的地址的定义的示图;以及
图16是包括根据本发明构思的实施例的图1或图9所示的数据存储装置的数据中心的框图。
具体实施方式
将参照以下描述和附图详细描述实施例。然而,本发明构思可按照各种不同形式实现,并且不应理解为仅限于本文阐述的实施例。相反,提供这些实施例作为示例,是为了使得本公开将是彻底和完整的,并且将把本发明构思的范围完全传递给本领域普通技术人员之一。因此,对于一些实施例而言,将不再描述已知的工艺、元件和技术。除非另有说明,否则相同的附图标记在附图和撰写的描述中始终指代相同的元件,因此将不重复描述。在附图中,为了清楚起见,可放大层和区的尺寸和相对尺寸。
应该理解,当一个元件被称作“连接至”或“结合至”另一元件时,所述一个元件可直接连接至或结合至所述另一元件,或者可存在中间元件。相反,当一个元件被称作“直接连接”或“直接结合”至另一元件时,则不存在中间元件。如本文所用,术语“和/或”包括相关所列项之一或多个的任何和所有组合,并且可简写为“/”。
应该理解,虽然本文中可使用术语例如第一、第二等来描述多个元件,但是这些元件不应被这些术语限制。这些术语用于将一个元件与另一元件区分开。例如,在不脱离本公开的教导的情况下,第一信号可被称作第二信号,并且相似地,第二信号也可被称作第一信号。
本文所用的术语仅是为了描述特定实施例,并且不旨在限制本发明。如本文所用,除非上下文清楚地另外指明,否则单数形式“一”、“一个”和“该”也旨在包括复数形式。还应该理解,当术语“包括”和/或“包括……的”或者“包含”和/或“包含……的”用于本说明书中时,其指明存在所列特征、区、整体、步骤、操作、元件和/或组件,但不排除存在或添加一个或多个其它特征、区、整体、步骤、操作、元件、组件和/或它们的组。
除非另外限定,否则本文中使用的所有术语(包括技术和科学术语)具有与本发明所属领域的普通技术人员之一通常理解的含义相同的含义。还应该理解,除非本文中明确这样定义,否则诸如在通用词典中定义的那些术语应该被解释为具有与它们在相关技术和/或本发明的上下文中的含义一致的含义,而不应该按照理想化地或过于正式的含义解释它们。
图1是根据本发明构思的实施例的数据处理系统100A的框图。如图1所示,例如,数据处理系统100A包括通过接口110彼此连接的主机200和数据存储装置300A。
例如,数据处理系统100A或(下面描述的)100B可实现为服务器计算机、个人计算机(PC)、台式计算机、笔记本计算机、工作站计算机、网络存储(NAS)、数据中心、互联网数据中心(IDC)或移动计算装置。所述移动计算装置可为蜂窝电话、智能电话、平板PC、个人数字助理(PDA)、企业数字助理(EDA)、数字静态照相机、数字视频摄相机、便携式多媒体播放器(PMP)、个人导航装置或便携式导航装置(PND)、手持式游戏控制台、移动互联网装置(MID)、可佩戴计算机、物联网(IoT)装置、万物互联(IoE)装置或电子书,但是本发明构思的实施例不限于这些示例。
接口110可支持诸如串行高级技术附件(SATA)接口、快速SATA(SATAe)、串行连接SCSI(小型计算机系统接口)(SAS)和外围组件快速互连(PCIe)的各种协议,但是本发明构思的实施例不限于这些示例。
主机200控制数据存储装置300A的数据处理操作(例如,写操作或读操作)。主机200包括控制器210、存储器230和显示器250。图1所示的主机200的框图仅是一个示例,并且本发明构思不限于此。
控制器210可实现为集成电路(IC)、母板或片上系统(SoC)。主机200可实现为应用处理器或移动应用处理器。控制器210控制存储器230和显示器250的操作。控制器210包括总线架构211、中央处理单元(CPU)213、存储器控制器215、显示器控制器217和第一接口219。
CPU 213可经总线架构211与存储器控制器215、显示器控制器217和第一接口219传递命令和/或数据。所述命令可为请求。例如,总线架构211可实现为高级微控制器总线架构(AMBA)、高级高性能总线(AHB)、高级外围总线(APB)、高级可扩展接口(AXI)或高级系统总线(ASB),但是本发明构思的实施例不限于这些示例。
CPU 213产生用于控制数据存储装置300A的写操作的写请求和用于控制数据存储装置300A的读操作的读请求。写请求可包括写地址,读请求可包括读地址。例如,CPU 213可包括至少一个核。
存储器控制器215在CPU 213的控制下将数据写至存储器230并从存储器230读数据。例如,存储器控制器215可执行直接存储器访问(DMA)控制器的功能。
存储器230可由易失性存储器和/或非易失性存储器形成。例如,易失性存储器可为随机存取存储器(RAM)、静态RAM(SRAM)或动态RAM(DRAM)。例如,非易失性存储器可为硬盘驱动器(HDD)、NAND闪速存储器、NOR闪速存储器、相变RAM(PRAM)、磁阻RAM(MRAM)、自旋转移矩MRAM(STT-MRAM)、铁电RAM(FRAM)或电阻式RAM(RRAM)。
虽然图1中示出了一个存储器控制器215和一个存储器230,但是应该理解,存储器控制器215可表示一组多个存储器控制器,并且存储器230可表示一组多个存储器。所述存储器可为不同类型的存储器,其具有对应的不同类型的存储器控制器。例如,当所述存储器包括DRAM和NAND闪速存储器时,存储器控制器包括DRAM控制器和NAND闪速存储器控制器。
显示控制器217在CPU 213的控制下将数据从CPU 213和/或存储器控制器215发送至显示器250。显示器250显示数据。例如,显示控制器217可通过移动产业处理器接口(
Figure BDA0000886170610000091
)显示串行接口(DSI)、内置显示端口(eDP)或高清多媒体接口(HDMI)将数据发送至显示器250。显示器250可以包括或可以不包括向显示面板提供背光的背光单元(未示出)。
第一接口219可改变将被发送至数据存储装置300A的命令和/或数据的格式,并且可通过接口110以改变后的格式将命令和/或数据发送至数据存储装置300A。第一接口219可包括发送和接收命令和/或数据的收发器。
在描述的实施例中,数据存储装置300A包括控制器310A、第一存储器370和第二存储器380。数据存储装置300A可实现为基于闪存的存储器装置。例如,数据存储装置300A可实现为固态驱动器或盘(SSD)、内置式SSD(eSSD)、通用闪存(UFS)、多媒体卡(MMC)或内置式MMC(eMMC),但是本发明构思的实施例不限于这些示例。
控制器310A控制在主机200、第一存储器370和第二存储器380之间转移的命令和/或数据。命令可被称作请求。例如,控制器310A可实现为IC或SoC。
控制器310A包括总线架构311、第二接口320、CPU 330、补偿电路340、内部存储器343、第一存储器控制器350和第二存储器控制器360。总线架构311可实现为AMBA、AHB、APB、AXI或ASB,但是本发明构思的实施例不限于这些示例。
第二接口320可改变将被发送至主机200的信号或数据的格式,并且可通过接口110以改变后的格式将信号或数据发送至主机200。第二接口320可包括发送和接收信号和/或数据的收发器。
CPU 330经总线架构311控制第二接口320、补偿电路340、内部存储器343、第一存储器控制器350和/或第二存储器控制器360。CPU 330可包括至少一个核。
虽然图1中示出了一个CPU 330,但是应该理解,CPU 330可表示包括用于控制与主机200的相互操作的第一CPU和用于控制与第二存储器380的相互操作的第二CPU的CPU集合。因此,第一CPU可控制第二接口320的操作,并且第二CPU可控制第二存储器控制器360的操作。
CPU 330响应于从主机200输出的请求(例如,写请求或读请求)控制第二存储器控制器360的操作。CPU 330还可利用第二存储器控制器360在第二存储器380中设置第二存储器380的操作所需的数据。
在根据从主机200输出的写请求或命令执行的写操作期间,补偿电路340产生针对写地址的第一压缩值,所述写地址对应于在不同的时间间隔中的一个时间间隔期间输入的写请求;基于与写请求相对应的第一时间戳从多个表中选择第一表;并且将第一压缩值存储在选中的第一表中。
例如,各个表可存储在内部存储器343中,并且可分别对应于所述不同的时间间隔。内部存储器343可存储针对在特定时间间隔期间输入的写地址的压缩值,作为用于补偿初始阈电压的漂移的值。初始阈电压漂移可为初始阈电压分布漂移。
在根据从主机200输出的读请求或命令执行的读操作期间,补偿电路340产生针对读地址的第二压缩值,所述读地址对应于在所述不同的时间间隔中的另一个时间间隔期间输入的读请求;在各表中搜索存储了与第二压缩值相同的第一压缩值的第一表;并且基于与读请求相对应的第二时间戳以及第一表的索引而产生控制码,其用于补偿包括在第二存储器380中的多个存储器单元的初始阈电压漂移。将在以下参照图2至图8详细描述补偿电路340的结构和操作。
通过CPU 330访问的内部存储器343存储了分别对应于不同的时间间隔的表。换句话说,内部存储器343可存储分配给每个时间间隔的表。内部存储器343可实现为SRAM、缓冲器、缓冲存储器或者高速缓存,但是本发明构思的实施例不限于这些示例。在其它实施例中,内部存储器343可实现为例如紧耦合存储器(TCM)。
第一存储器控制器350在CPU 330的控制下将数据写至第一存储器370和/或从第一存储器370读数据。例如,第一存储器控制器350可具有DMA控制器的功能。例如,第一存储器370可实现为缓冲器或DRAM。虽然内部存储器343和第一存储器370在图1所示的实施例中示为彼此分离,但是内部存储器343和第一存储器370在其它实施例中可一起实现在单个存储器中。另外,所述单个存储器可位于控制器310A内部或外部。
第二存储器控制器360在CPU 330的控制下控制与第二存储器380有关的数据处理操作(例如,写操作和/或读操作)。例如,在CPU 330的控制下,第二存储器控制器360可在包括在第二存储器380中的配置寄存器(例如,图11中的寄存器387)中设置与第二存储器380有关的数据处理操作所需的信息或数据。写操作可称作编程操作。
第二存储器控制器360在CPU 330的控制下将从CPU 330或第一存储器控制器350输出的数据写至第二存储器380。另外,第二存储器控制器360在CPU 330的控制下将数据从第二存储器380发送至总线架构311。
第二存储器380可包括基于闪存的存储器单元,其可为NAND式闪速存储器单元或NOR式闪速存储器单元。基于闪存的存储器单元中的每一个可为存储对应于一个比特的信息的单层单元(SLC)或者存储对应于两个或更多个比特的信息的多层单元(MLC)。第二存储器380可包括二维排列的NAND式闪速存储器单元。可替换地,第二存储器380可包括三维竖直NAND式闪速存储器单元或者三维(3D)存储器阵列。
在本发明构思的实施例中,提供了一种三维(3D)存储器阵列。该3D存储器阵列以单片方式形成在存储器单元的阵列的一个或多个物理层级中,所述存储器单元具有设置在硅衬底上方的有源区域和与那些存储器单元的操作关联的电路(无论这种关联电路在这种衬底上还是在这种衬底中)。术语“单片”意指阵列的各个层级的层直接沉积在阵列的各个下层层级的层上。
在本发明构思的实施例中,3D存储器阵列包括竖直取向的竖直NAND串,从而使得至少一个存储器单元位于另一存储器单元上方。所述至少一个存储器单元可包括电荷俘获层。
Son等人的美国专利No.7,679,133(2010年3月16日);Han等人的美国专利No.8,553,466(2013年10月8日);Yoon等人的美国专利No.8,654,587(2014年2月18日);Yoon等人的美国专利No.8,559,235(2013年10月15日);和Seol等人的美国专利申请公开No.2011/0233648(2011年9月29日)描述了用于三维存储器阵列构造为多个等级(在等级之间共享字线和/或位线)的三维存储器阵列的合适构造的示例,以上所有专利和专利申请公开以引用方式并入本文中。
可在第二存储器控制器360与第二存储器380之间设置一个或多个通道。这里,第二存储器380可包括一个或多个存储器。因此,所述通道可以是在第二存储器控制器360与至少一个存储器之间存在的独立数据路径。所述路径可指示彼此共享通道的一组一个或多个存储器。因此,多个路径可连接至单个通道。
CPU 330利用从补偿电路340输出的控制码产生用于补偿包括在第二存储器380中的基于闪存的存储器单元的初始阈电压漂移的补偿码,并且将补偿码输出至第二存储器控制器360。第二存储器控制器360在包括在第二存储器380中的配置寄存器(例如,图11中的寄存器387)中对补偿码进行设置或编程。因此,第二存储器380可利用补偿码补偿初始阈电压漂移,并且利用补偿后的初始阈电压漂移执行数据处理操作。
这里,初始阈电压可为编程电压、编程验证电压、读电压、擦除电压或擦除验证电压,但不限于此。控制码和补偿码的命名不同,但是可以是相同的码。
图2是根据本发明构思的实施例的图1所示的补偿电路340的框图。为了方便描述,在图2中一起示出补偿电路340和内部存储器343。当数据存储装置300A在最近的预定时段期间执行写操作时,数据存储装置300A压缩写操作所需的写地址,并将对应于压缩结果的第一压缩值存储在至少一个表中。
当数据存储装置300A执行读操作时,数据存储装置300A压缩读操作所需的读地址,搜索具有与对应于压缩结果的第二压缩值相同的第一压缩值的至少一个表,利用搜索到的表的索引来补偿包括在第二存储器380中的基于闪存的存储器单元的初始阈电压漂移,并且利用补偿后的初始阈电压漂移执行读操作。压缩可为哈希法,但不限于此。这里,补偿初始阈电压漂移意指增大或减小阈电压(例如,读电压)。
然而,当作为搜索结果没有找到具有与对应于压缩结果的第二压缩值相同的第一压缩值的表时,数据存储装置300A执行正常读操作。这里,正常读操作可为利用默认读等级执行的读操作。默认读等级(例如,图6中的Vdef)可为在将数据写至第二存储器380较长时间之后执行的读操作中使用的读电压。
在描述的实施例中,补偿电路340包括压缩值产生电路,出于说明性的目的,将压缩值产生电路描述为哈希值产生电路341(尽管压缩值产生电路不限于此)。补偿电路340还包括搜索电路345和判定电路347。哈希值产生电路341可在写操作或读操作期间产生或计算对应于输入地址ADD的压缩值HV。输入地址ADD可分别为写地址或读地址。
在写操作中产生的压缩值HV存储在内部存储器343中包括的一个或多个表343-1至343-m内。为了方便描述,假设压缩值HV存储在内部存储器343中包括的表343-1至表343-m之一内。
如上所述,压缩值产生电路可实现为哈希值产生电路。在这种情况下,哈希值产生电路341可利用写地址ADD产生或计算哈希值HV,并将哈希值HV存储在内部存储器343中包括的表343-1至表343-m之一内。为了方便起见,本文中参照哈希值HV描述各个实施例(包括附图),但是可认为所述描述也可应用于压缩值HV。
当数据存储装置300A执行写操作时,搜索电路345利用关于写请求的时间戳(下文中,称作“写时间戳”)TSwr确定将在表343-1至表343-m中的哪一个中存储利用写地址ADD产生的哈希值HV,并且在至少一个确定的表中存储哈希值HV。此时,搜索电路345可用作写控制器。写时间戳TSwr可包括关于通过数据存储装置300A接收写请求的时间的信息。如上所述,关于写操作的写请求可包括写地址。
当数据存储装置300A执行读操作时,搜索电路345在表343-1至表343-m中搜索存储了与利用读地址ADD产生的哈希值HV相同的哈希值HV的表,并且将搜索到的表的索引Table_i输出至判定电路347。此时,搜索电路345可用作读控制器。
判定电路347可利用从搜索电路345输出的表索引Table_i和关于读请求的时间戳(下文中,称作“读时间戳”)TSrr计算或估计利用写地址ADD产生的哈希值HV存储在表中的时间。判定电路347根据计算结果产生指示是否补偿初始阈电压漂移和补偿的程度的控制码CODEi。
这里,读时间戳TSrr可包括关于通过数据存储装置300A接收读请求的时间的信息。如上所述,关于读操作的读请求可包括读地址。补偿的程度(即,补偿度)指示需要多大的调整(例如,增大或减小)来补偿初始阈电压的漂移。
可替换地,判定电路347可利用表索引Table_i和读时间戳TSrr来对利用写地址ADD产生的哈希值HV存储在表中的时间进行计算或估计。判定电路347还从码表344中检索对应于计算出的时间的码CODEi,并且输出检索到的码CODEi。下面将参照图8描述检索码CODEi的过程。
如图2所示,内部存储器343可存储多个表343-1至表343-m,即,哈希值表。内部存储器343还可包括码表344,其包括指示关于初始阈电压漂移的补偿信息的多个码。码表344可从第二存储器380加载至内部存储器343。
图3是根据本发明构思的实施例的图2所示的处理第一写地址WADD1的哈希值产生电路341的操作的概念图。参照图1至图3,哈希值产生电路341包括多个哈希值产生器341-1至341-k(其中“k”是至少为2的自然数),并且内部存储器343可存储或包括所述多个哈希值表343-1至343-m(其中“m”是至少为2的自然数)。哈希值表343-1至343-m可被简单称作“哈希表”。
哈希值产生器341-1至341-k的数量和哈希值表343-1至343-m的数量可随实施例而变化(例如,k=m或者k≠m)。哈希值产生器341-1至341-k利用关于在第一时间间隔TI1期间接收的第一写请求的第一写地址WADD1分别计算不同的哈希值HV11至HV1k。可通过时间点0和T1限定第一时间间隔TI1。哈希值HV11至HV1k中的每一个可包括一个或多个值。
在各个实施例中,哈希值产生器341-1至341-k可具有不同的种子值。种子值可为固定值或在CPU 330的控制下改变的可变值。可替换地,哈希值产生器341-1至341-k可使用不同的哈希函数。例如,哈希函数可为可用于将任意大小的数字数据映射至固定大小的数字数据的函数。
虽然在第一时间间隔TI1期间可将不同的写地址输入至哈希值产生电路341,但是为了方便起见,将在本文中描述补偿电路340针对在第一时间间隔TI1期间接收的第一写地址WADD1处理哈希值的操作。应该理解,所述描述可应用于针对在其它对应的时间间隔期间接收的其它写地址处理哈希值。
哈希值产生器341-1至341-k利用第一写地址WADD1分别产生不同的哈希值HV11至HV1k。例如,哈希值产生器341-1至341-k中的每一个可利用不同的写地址产生不同的哈希值。换句话说,哈希值产生器341-1至341-k中的每一个可针对各个写地址产生不同的哈希值。
搜索电路345利用第一写地址WADD1的第一时间戳TSwr确定不同的哈希值HV11至HV1k将被存储在哈希值表343-1至343-m的哪一个中。例如,搜索电路345可选择其中将存储哈希值HV11至HV1k的第一哈希值表343-1。在该示例中,第一时间间隔TI1可对应于第一哈希值表343-1。
对应于在第一时间间隔TI1期间输入的每个写地址的哈希值HV11至HV1k可存储在第一哈希值表343-1中。例如,由第一哈希值产生器341-1产生的哈希值HV11可存储在第一哈希值表343-1的入口ENT8;由第二哈希值产生器341-2产生的哈希值HV12可存储在第一哈希值表343-1的入口ENT5;并且通过第k哈希值产生器341-k产生的哈希值HV1k可存储在第一哈希值表343-1的入口ENT2。
具有第一索引Table_1的第一哈希值表343-1的入口ENT1至ENTs(其中“s”是至少为2的自然数)中的每一个入口可以一个比特表达,以减小内部存储器343的大小(或者数据存储容量),但是本发明构思的实施例不限于这些示例。包括在入口ENT1至ENTs中的每一个入口中的逻辑0(或数据0)可表示未存储对应的哈希值,而逻辑1(或数据1)可表示已存储对应的哈希值。
在时间点T1,搜索电路345停止在第一哈希值表343-1中存储针对写地址的哈希值HV11至HV1k,并且初始化第二哈希值表343-2。搜索电路345随后可准备在第二哈希值表343-2中存储针对在第二时间间隔TI2期间输入的写地址的哈希值。
图4是根据本发明构思的实施例的图2所示的处理第二写地址WADD2的哈希值产生电路341的操作的概念图。虽然可在第一时间间隔TI1之后的时间间隔(即,第二时间间隔TI2)期间将不同的写地址输入至哈希值产生电路341,但是为了方便起见,将在本文中描述补偿电路340针对在第二时间间隔TI2期间接收的第二写地址WADD2处理哈希值的操作。
哈希值产生器341-1至341-k利用第二写地址WADD2分别产生不同的哈希值HV21至HV2k。哈希值产生器341-1至341-k中的每一个可利用不同的写地址产生不同的哈希值。
搜索电路345利用第二写地址WADD2的第二时间戳TSwr确定不同的哈希值HV21至HV2k将被存储在哈希值表343-1至343-m中的哪一个。例如,搜索电路345可选择其中将存储哈希值HV21至HV2k的第二哈希值表343-2。第二时间间隔TI2可对应于第二哈希值表343-2。与在通过时间点T1和T2限定的第二时间间隔TI2期间输入的每个写地址相对应的哈希值HV21至HV2k可被存储在第二哈希值表343-2中。
例如,由第一哈希值产生器341-1产生的哈希值HV21可被存储在第二哈希值表343-2的入口ENT5;由第二哈希值产生器341-2产生的哈希值HV22可被存储在第二哈希值表343-2的入口ENTs;并且由第k哈希值产生器341-k产生的哈希值HV2k可被存储在第二哈希值表343-2的入口ENT1。具有第二索引Table_2的第二哈希值表343-2的入口ENT1至ENTs中的每一个入口可以一个比特表达,以减小内部存储器343的大小(或数据存储容量),但是本发明构思的实施例不限于这些示例。
在时间点T2,搜索电路345停止在第二哈希值表343-2中存储针对写地址的哈希值HV21至HV2k,并且初始化第三哈希值表343-3。搜索电路345随后可准备在第三哈希值表343-3中存储针对在通过时间点T2和T3限定的第三时间间隔TI3期间输入的写地址的哈希值。
针对第三写地址WADD3处理哈希值的过程与针对第二写地址WADD2处理哈希值的过程基本相同。如上所述,针对在不同的时间间隔期间输入的写地址的哈希值可存储在不同的哈希值表中。例如,具有第一索引Table_1的第一哈希值表343-1可包括关于第一时间间隔TI1的信息(或数据)。因此,第一哈希值表343-1可存储针对对应于第一时间间隔TI1的每个写地址的哈希值HV11至HV1k。具有第二索引Table_2的第二哈希值表343-2可包括关于第二时间间隔TI2的信息(或数据)。因此,第二哈希值表343-2可存储针对对应于第二时间间隔TI2的每个写地址的哈希值HV21至HV2k。按照相同或相似的方式,具有第m索引Table_m的第m哈希值表343-m可包括关于第m时间间隔的信息(或数据)。因此,第m哈希值表343-m可存储针对对应于第m时间间隔的每个写地址的哈希值。
图5是根据本发明构思的实施例的图2所示的处理读地址RADD1的哈希值产生电路341的操作的概念图。虽然可通过各个时间间隔输入不同的读地址,但是为了方便起见,将描述补偿电路340针对在通过代表性时间点T6和T7限定的时间间隔期间输入的读地址RADD1处理哈希值的操作。哈希值产生器341-1至341-k中的每一个可利用读地址RADD1产生不同的哈希值。
在各个实施例中,假设读地址RADD1与第一写地址WADD1相同。哈希值产生器341-1至341-k可利用读地址RADD1(=WADD1)分别产生不同的哈希值HV11至HV1k。
搜索电路345在哈希值表343-1至343-m中搜索存储了与对应于读地址RADD1(=WADD1)的哈希值HV11至HV1k相同的哈希值HV11至HV1k的哈希值表。具体地说,搜索电路345从哈希值表343-1至343-m中搜索和/或选择第一哈希值表343-1,并且输出第一哈希值表343-1的第一索引Table_i(=Table_1)。
如参照图3描述的那样,哈希值HV11对应于第一哈希值表343-1的入口ENT8;哈希值HV12对应于第一哈希值表343-1的入口ENT5;并且哈希值HV1k对应于第一哈希值表343-1的入口ENT2。因此,为了增大搜索的速度,搜索电路345可仅搜索哈希值表343-1至343-m的入口ENT1至ENTs中的对应于哈希值HV11的入口ENT8、对应于哈希值HV12的入口ENT5以及对应于哈希值HV1k的入口ENT2。
因此,搜索电路345可搜索到存储了与对应于读地址RADD1(=WADD1)的哈希值HV11至HV1k相同的哈希值HV11至HV1k的第一哈希值表343-1,并可将第一哈希值表343-1的第一索引Table_i(=Table_1)输出至判定电路347。判定电路347利用关于读地址RADD1的读时间戳TSrr和第一索引Table_i(=Table_1)判定是否补偿初始阈电压漂移,并且如果补偿,则判定补偿的程度,以产生对应于判定结果的控制码CODEi,并且将控制码CODEi发送至CPU 330。
在其它实施例中,假设读地址RADD1与第二写地址WADD2(或者一些其它写地址)相同。哈希值产生器341-1至341-k可利用读地址RADD1(=WADD2)分别产生不同的哈希值HV21至HV2k。
搜索电路345在哈希值表343-1至343-m中搜索存储了与对应于读地址RADD1(=WADD2)的哈希值HV21至HV2k相同的哈希值HV21至HV2k的哈希值表。具体地说,搜索电路345从哈希值表343-1至343-m中搜索和/或选择第二哈希值表343-2,并且将第二哈希值表343-2的第二索引Table_i(=Table_2)输出至判定电路347。
如参照图4描述的那样,哈希值HV21对应于第二哈希值表343-2的入口ENT5;哈希值HV22对应于第二哈希值表343-2的入口ENTs;并且哈希值HV2k对应于第二哈希值表343-2的入口ENT1。因此,为了增大搜索的速度,搜索电路345可仅搜索哈希值表343-1至343-m的入口ENT1至ENTs中的对应于哈希值HV21的入口ENT5、对应于哈希值HV22的入口ENTs以及对应于哈希值HV2k的入口ENT1。
搜索电路345搜索到存储了与对应于读地址RADD1(=WADD2)的哈希值HV21至HV2k相同的哈希值HV21至HV2k的第二哈希值表343-2,并将第二哈希值表343-2的第二索引Table_i(=Table_2)输出至判定电路347。判定电路347利用关于读地址RADD1的读时间戳TSrr和第二索引Table_i(=Table_2)判定是否补偿初始阈电压漂移,并且如果补偿,则判定补偿的程度,以产生对应于判定结果的控制码CODEi,并且将控制码CODEi发送至CPU330。
图6是示出初始阈电压分布(ITVD)随时间的漂移的概念图。参照图6中的曲线图(a)至(g),例如包括在第二存储器380中的基于闪存的存储器单元的初始阈电压分布(ITVD)会由于各种因素漂移。例如,ITVD会基于P/E循环的数量、读计数和/或使用时间漂移。
在图6中,Vread0指示相对于ITVD的第一读电压电平。例如,第一读电压电平Vread0的左侧可表示开启单元ON-CELL的ITVD,第一读电压电平Vread0的右侧可表示关闭单元OFF-CELL的ITVD。因此,第一读电压电平Vread0可为初始读电压电平。例如,ITVD根据P/E循环的数量、读计数和/或使用时间在图6中从曲线图(a)漂移至曲线图(g)。
在图6中描述的实施例中,读电压Vread0至Vread6不同,但是这仅为示例。在其它实施例中,读电压Vread0至Vread6中的两个或更多个可以相同。另外,读电压Vread0至Vread6之间的相对差可相同或不同。附图标记“Vdef”表示默认读电压。
图7是根据本发明构思的实施例的存储在哈希值表中的针对写地址的压缩值的时间间隔的概念图。出于说明的目的,假设哈希值表343-1至343-m的数量是六(例如,对应于哈希值Table_1至哈希值Table_6),但是该数量可根据不同的实施例而变化。
参照图2至图5和图7,附图标记“HVS”指示当存储针对写地址的哈希值时的时间间隔,其对应于针对各时间间隔定义的哈希值表343-1至343-6中的每一个。附图标记“HVM”表示当在时间间隔HVS期间存储的哈希值被保持而没有在哈希值表343-1至343-6中的每一个中存储新哈希值时的时间间隔。附图标记“ERASE”表示对哈希值表343-1至343-6中的每一个执行的擦除操作或初始化操作。
可按照预定间隔对存储在哈希值表343-1至343-6中的哈希值进行初始化。因此,哈希值表343-1至343-6可仅存储对应于近期输入的写地址的哈希值。通过两个时间点(例如,时间点0和T1、T1和T2、T2和T3、...)限定的时间间隔可设计为均匀的或彼此不同的。
图8是根据本发明构思的实施例的用于补偿初始阈电压分布漂移的表的概念图。图11是根据本发明构思的实施例的图1或图9所示的第二存储器380的框图。参照图1至图8和图11,当数据存储装置300A在通过时间点T6和T7限定的时间间隔中从主机200接收读请求时,CPU 330产生关于读请求的读时间戳TSrr,并且将读时间戳TSrr输出至补偿电路340,并更具体地输出至判定电路347。CPU330还可产生关于写请求的写时间戳TSwr,并将写时间戳TSwr输出至补偿电路340,并更具体地输出至搜索电路345。
如参照图5描述的那样,当读地址RADD1与第一写地址WADD1相同时,搜索电路345将第一哈希值表343-1的第一索引Table_i(=Table_1)输出至判定电路347。
判定电路347可利用读时间戳TSrr和第一索引Table_1估计对应于第一写地址WADD1的哈希值存储在第一哈希值表343-1中的时间。所述时间可与图11所示的当将对应于第一写地址WADD1的第一写数据WDATA写至第二存储器380的存储器单元阵列381时的时间基本相同或相似。
例如,当由读时间戳TSrr限定的时间被称作Tread时,判定电路347可估计或判定出,对应于第一写地址WADD1的第一写数据WDATA被编程至第二存储器380的存储器单元阵列381是在Tread秒前与(Tread-T1)秒前之间。因此,判定电路347将用于指示漂移至比默认读电压Vdef更高的第七读电压Vread6的第一码CODE1发送至CPU 330,作为控制码CODEi。
CPU 330产生对应于控制码CODEi(=CODE1)的补偿码CCi,并且利用第二存储器控制器360在第二存储器380的寄存器387中设置或编程补偿码CCi。如上所述,控制码CODEi(=CODE1)可与补偿码CCi相同。
如图11所示,第二存储器380包括存储器单元阵列381、访问控制电路383和寄存器387。存储器单元阵列381可包括多个存储器单元,并且存储器单元可包括例如基于闪存的存储器单元。基于闪存的存储器单元可为NAND式闪速存储器单元或NOR式闪速存储器单元。基于闪存的存储器单元中的每一个可为存储对应于一个比特的信息的SLC,或者可为存储对应于两个或更多个比特的信息的MLC。
存储器单元阵列381可包括以二维排列的NAND式闪速存储器单元。可替换地,第二存储器380可包括三维竖直NAND式闪速存储器单元或者三维(3D)存储器阵列。
访问控制电路383可在第二存储器控制器360的控制下控制存储器单元阵列381的编程操作、读操作和/或擦除操作。CPU 330可响应于从主机200接收的请求(例如,写请求或读请求)产生用于控制第二存储器控制器360的操作的命令(例如,写命令WCMD或读命令RCMD)。
访问控制电路383包括电压产生器385,其产生编程操作、读操作或擦除操作所需的电压。电压产生器385可利用存储在寄存器387中的补偿码CCi调整(例如,增大或减小)读操作所需的电压。这里,调整可意味着改变。当在寄存器387中设置对应于补偿码CCi的数字信号时,在当前示例中,电压产生器385可产生对应于控制码CODEi(=CODE1)的第七读电压Vread6。
访问控制电路383利用通过电压产生器385产生的第七读电压Vread6从对应于存储器单元阵列381中的第一读地址RADD1(=WADD1)的存储器区读数据,并且将读数据RDATA发送至第二存储器控制器360。第二存储器控制器360可在CPU 330的控制下通过总线架构311、第二接口320和接口110将读数据RDATA发送至主机200。
在其它实施例中,当读地址RADD1与例如第二写地址WADD2相同时,搜索电路345将第二哈希值表343-2的第二索引Table_i(=Table_2)输出至判定电路347。
判定电路347可利用读时间戳TSrr和第二索引Table_2估计对应于第二写地址WADD2的哈希值存储在第二哈希值表343-2中的时间。所述时间可与当将对应于第二写地址WADD2的第二写数据WDATA写至第二存储器380的存储器单元阵列381时的时间基本相同或相似。
例如,当由读时间戳TSrr限定的时间被称作Tread时,判定电路347判定出将对应于第二写地址WADD2的第二写数据WDATA编程至第二存储器380的存储器单元阵列381是在(Tread-T1)秒前与(Tread-T2)秒前之间。因此,判定电路347可将用于指示漂移至比默认读电压Vdef更高的第六读电压Vread5的第二码CODE2发送至CPU 330,作为控制码CODEi。
CPU 330产生对应于控制码CODEi(=CODE2)的补偿码CCi,并且利用第二存储器控制器360在第二存储器380的寄存器387中设置或编程补偿码CCi。如上所述,控制码CODEi(=CODE2)可与补偿码CCi相同。
电压产生器385可利用存储在寄存器387中的补偿码CCi调整(例如,增大或减小)读操作所需的电压。寄存器387是可存储补偿码CCi的存储装置的示例。寄存器387可实现为特定功能寄存器(SFR),但是本发明构思的实施例不限于该示例。
当在寄存器387中设置对应于补偿码CCi的数字信号时,电压产生器385产生对应于控制码CODEi(=CODE2)的第六读电压Vread5。
访问控制电路383利用由电压产生器385产生的第六读电压Vread5从对应于存储器单元阵列381中的读地址RADD1(=WADD2)的存储器区读数据,并且将读数据RDATA发送至第二存储器控制器360。第二存储器控制器360可在CPU 330的控制下通过总线架构311、第二接口320和接口110将读数据RDATA发送至主机200。
在另一些实施例中,当搜索电路345将第三哈希值表343-3的第三索引Table_i(=Table_3)输出至判定电路347时,判定电路347利用读时间戳TSrr和第三索引Table_3将用于指示漂移至比默认读电压Vdef更高的第五读电压Vread4的第三码CODE3作为控制码CODEi发送至CPU 330。例如,当由读时间戳TSrr限定的时间被称作Tread时,判定电路347可判定出,将对应于写地址的写数据编程至第二存储器380的存储器单元阵列381是在(Tread-T2)秒前与(Tread-T3)秒前之间。
CPU 330利用第二存储器控制器360在第二存储器380的寄存器387中设置或编程对应于控制码CODEi(=CODE3)的补偿码CCi。电压产生器385可利用存储在寄存器387中的补偿码CCi调整(例如,增大或减小)读操作所需的电压。
当在寄存器387中设置对应于补偿码CCi的数字信号时,电压产生器385产生对应于控制码CODEi(=CODE3)的第五读电压Vread4。访问控制电路383利用由电压产生器385产生的第五读电压Vread4执行对应于从主机200输出的读请求的读操作。
在其它实施例中,当搜索电路345将第六哈希值表343-6的第六索引Table_i(=Table_6)输出至判定电路347时,判定电路347利用读时间戳TSrr和第六索引Table_6将用于指示漂移至比默认读电压Vdef更高的第二读电压Vread1的第六码CODE6作为控制码CODEi发送至CPU 330。
例如,当由读时间戳TSrr限定的时间被称作Tread时,判定电路347可判定出,将对应于写地址的写数据编程至第二存储器380的存储器单元阵列381是在(Tread-T5)秒前与(Tread-T6)秒前之间。
CPU 330利用第二存储器控制器360在第二存储器380的寄存器387中设置或编程对应于控制码CODEi(=CODE6)的补偿码CCi。电压产生器385可利用存储在寄存器387中的补偿码CCi调整(例如,增大或减小)读操作所需的电压。
当在寄存器387中设置对应于补偿码CCi的数字信号时,电压产生器385产生对应于控制码CODEi(=CODE6)的第二读电压Vread1。访问控制电路383可利用由电压产生器385产生的第二读电压Vread1执行对应于从主机200输出的读请求的读操作。
然而,当搜索电路345根据搜索结果将默认设置的索引Table_0输出至判定电路347时,也就是说,当未找到包括与对应于读地址RADD1的哈希值相同的哈希值的哈希表时,判定电路347利用读时间戳TSrr和默认索引Table_0将第七码CODE7作为控制码CODEi发送至CPU 330,指示保持第一读电压Vread0。
CPU 330利用第二存储器控制器360在第二存储器380的寄存器387中设置或编程对应于控制码CODEi(=CODE7)的补偿码CCi。电压产生器385基于存储在寄存器387中的补偿码CCi不去调整(例如,增大或减小)读操作所需的电压(即,不补偿)。
当在寄存器387中设置对应于补偿码CCi的数字信号时,电压产生器385产生对应于控制码CODEi(=CODE7)的第一读电压Vread0。访问控制电路383可利用由电压产生器385产生的第一读电压Vread0执行对应于从主机200输出的读请求的读操作。
图9是根据本发明构思的另一实施例的数据处理系统100B的框图。参照图9,数据处理系统100B包括经接口110彼此连接的主机200和数据存储装置300B。图9所示的主机200的结构和操作与图1所示的主机200的结构和操作基本相同。因此,将不重复对图9所示的主机200的结构和操作的描述。
数据存储装置300B包括控制器310B、第一存储器370和第二存储器380。数据存储装置300B可实现为基于闪存的存储器装置。例如,数据存储装置300B可实现为SSD、eSSD、UFS、MMC或eMMC,但是本发明构思的实施例不限于这些示例。
控制器310B控制在主机200、第一存储器370和第二存储器380之间转移的命令和/或数据。该命令可被称作请求。
除了以硬件实现的补偿电路340以外,图9所示的控制器310B的结构和操作与图1所示的控制器310A的结构和操作基本相同。然而,在图9中,可通过由CPU 330运行的程序或软件执行补偿电路340的功能。
图10是根据本发明构思的实施例的在图1所示的CPU 330中运行的补偿模块的操作的概念图。参照图1、图2、图9和图10,可通过在CPU 330中运行的哈希值产生模块330-1执行图2所示的哈希值产生电路341的功能,可通过在CPU 330中运行的搜索引擎330-2执行图2所示的搜索电路345的功能,并且可通过在CPU 330中运行的判定模块330-3执行图2所示的判定电路347的功能。这里,术语“模块”可指示有效地用于执行本文所述的确定的功能和操作的计算机程序代码。
哈希值产生模块330-1可在写操作或读操作期间产生或计算对应于输入地址ADD的压缩值HV。将在写操作期间产生的压缩值HV存储在内部存储器343中包括的表343-1至343-m之一内。
当数据存储装置300B执行写操作时,搜索引擎330-2利用由CPU330产生的写时间戳TSwr来确定利用写地址ADD产生的哈希值HV将会被存储在表343-1至343-m中的哪一个,并且将哈希值HV存储在至少一个确定的表中。当数据存储装置300B执行读操作时,搜索引擎330-2在表343-1至343-m中搜索存储了与利用读地址ADD产生的哈希值HV相同的哈希值HV的表,并且将搜索到的表的索引Table_i输出至判定模块330-3。
判定模块330-3可利用从搜索引擎330-2输出的表索引Table_i和由CPU 330产生的读时间戳TSrr,对利用写地址ADD产生的哈希值HV存储在表中的时间进行计算或估计,并且产生指示是否补偿初始阈电压漂移的控制码CODEi,并且如果补偿,则根据计算结果产生补偿的程度。
图12是在图1或图9所示的数据存储装置300A或300B中执行的写操作的流程图。参照图1至图12,在写操作中,在操作S110中,哈希值产生电路341或者哈希值产生模块330-1利用对应于写请求的写地址ADD产生哈希值HV。
在操作S120中,搜索电路345或者搜索引擎330-2利用写请求的写时间戳TSwr确定将哈希值HV存储在哈希值表343-1至343-m中的哪一个。在操作S130中,搜索电路345或搜索引擎330-2将哈希值HV存储在通过确定步骤确定或选择的哈希值表中。
第二存储器控制器360在CPU 330的控制下将对应于写请求的写命令WCMD和对应于写地址ADD的写数据WDATA发送至第二存储器380。第二存储器380的访问控制电路383可响应于写命令WCMD将写数据WDATA写至第二存储器380中的对应于写地址ADD的存储器区。
图13是在图1或图9所示的数据存储装置300A或300B中执行的读操作的流程图。参照图1至图13,在读操作中,在操作S210中,哈希值产生电路341或者哈希值产生模块330-1利用对应于读请求的读地址ADD产生哈希值HV。
在操作S220中,搜索电路345或搜索引擎330-2在哈希值表343-1至343-m中搜索具有与对应于读地址ADD的哈希值HV相同的值的哈希值表,并且将搜索到的哈希值表的索引Table_i发送至判定电路347或判定模块330-3。
图2所示的判定电路347可利用搜索到的哈希值表的索引Table_i和读时间戳TSrr产生控制码CODEi,并且将控制码CODEi发送至CPU 330。可替换地,判定电路347可参照码表344产生控制码CODEi。CPU 330产生对应于控制码CODEi的补偿码CCi。
图10所示的判定模块330-3可利用搜索到的哈希值表的索引Table_i和读时间戳TSrr产生补偿码CCi。可替换地,判定模块330-3可参照码表344产生补偿码CCi。
可在第二存储器控制器360的控制下将补偿码CCi存储在第二存储器380的寄存器387中。在操作S230中,电压产生器385可利用包括在存储于寄存器387中的补偿码CCi中的数字信号产生用于补偿初始阈电压漂移或初始阈电压分布漂移的电压。补偿初始阈电压漂移或初始阈电压分布漂移意味着增大或减小电压(例如,读电压)。在操作S240中,访问控制电路383可响应于与读请求相对应的读命令RCMD通过利用调整后的读电压电平从存储器单元阵列381读数据来执行读操作。
图14是在常规方法和根据本发明构思的各个实施例的方法中使用的存储器容量的示图。附图标记MAP1表示在常规方法中为了包括时间戳表而需要的存储器容量,在该时间戳表中存储了针对每个块或字线分配的时间戳。换句话说,在常规方法中,针对各个块或字线分配时间戳。时间戳包括多个比特。
随着存储器单元阵列381的容量增大,存储器单元阵列381中的块或字线的数量也增大。由于块或字线的数量增大,时间戳的数量也增大,从而增大了用于存储时间戳的时间戳表的大小。
附图标记MAP2表示根据本发明构思的各个实施例的为了包括时间戳表而需要的存储器容量,在该时间戳表中仅存储针对在预定时间间隔期间输入的地址的时间戳。在预定时间间隔期间输入的地址的数量小于包括在存储器单元阵列381中的所有字线的地址的数量。如图14所示,存储器容量MAP2小于存储器容量MAP1。
附图标记MAP3表示根据本发明构思的其它实施例的包括哈希值表所需的存储器容量,在该哈希值表中仅存储针对在预定时间间隔期间输入的地址的压缩值(例如,哈希值)。如图14所示,存储器容量MAP3比容量MAP1和MAP2小得多。换句话说,在本发明构思的当前实施例中,与针对各个地址分配预定数量的比特的常规方法相比,仅将针对在预定时间间隔期间输入的地址的压缩值(或哈希值)存储在内部存储器343中。
因此,数据存储装置300A或300B包括哈希值表,其仅存储针对在预定时间间隔期间输入的写地址的压缩值(例如,哈希值),从而数据存储装置300A或300B可利用更小容量的内部存储器343来存储需要补偿初始阈电压漂移的写地址。
图15是示出根据本发明构思的各个实施例的地址的定义的示图。参照图15,对应于页的页地址的大小大于对应于字线的地址的大小。字线地址的大小大于对应于块的块地址的大小。基于闪存的存储器可以页为单位执行编程操作和读操作,并且可以块为单位执行擦除操作。一块可为一组页。
例如,当包括在第二存储器380中的MLC包括2比特信息时,页地址可包括指示最低有效位(LSB)或最高有效位(MSB)的地址以及字线地址。
哈希值产生电路341或者哈希值产生模块330-1可利用页地址、字线地址或块地址产生哈希值。
图16是包括根据本发明构思的实施例的图1或图9所示的数据存储装置300A或300B的数据中心400的框图。参照图1至图16,例如,数据中心400可包括多个客户端计算机(由代表性的客户端计算机410-1至410-3表示)、第一网络420、服务器(或者网络服务器)430、第二网络440和数据处理系统100(其可为数据处理系统100A或100B(由附图标记100统一指示))。例如,数据处理系统100包括主机200和数据存储装置300A或300B(由附图标记300统一指示)。例如,数据中心400可为搜索门户或者互联网数据中心(IDC)。
客户端计算机410-1至410-3经第一网络420与服务器430通信。例如,客户端计算机410-1至410-3中的每一个可实现为PC、笔记本计算机、智能电话、平板PC、PDA、MID、可佩戴计算机、IoT装置或者IoE装置。服务器430经第二网络440将数据发送至主机200并从主机200接收数据。当数据存储装置300用作数据库时,主机200可用作控制数据库的操作的数据库服务器。
主机200可控制数据存储装置300的操作。例如,网络420和440中的每一个可为有线网络、无线网络、互联网、Wi-Fi或者蜂窝网络。
虽然上面已经描述了利用多个哈希值产生器和多个哈希值表来补偿初始阈电压漂移或初始阈电压分布漂移的装置和方法,但是也可根据其它说明性实施例应用本发明构思,例如:(1)利用单个哈希值产生器和单个哈希值表来补偿初始阈电压漂移或初始阈电压分布漂移的装置和方法;(2)利用多个哈希值产生器和单个哈希值表来补偿初始阈电压漂移或者初始阈电压分布漂移的装置和方法;以及(3)利用单个哈希值产生器和多个哈希值表来补偿初始阈电压漂移或者初始阈电压分布漂移的装置和方法。
如上所述,根据本发明构思的各个实施例,允许数据存储装置包括表,所述表存储针对在预定时间间隔期间输入的地址的压缩值(或哈希值)作为用于补偿初始阈电压漂移的值,从而数据存储装置可在小容量的内部存储器中存储补偿初始阈电压漂移所需的地址。
虽然已经参照示例性实施例描述了本发明构思,但是本领域技术人员应该清楚,可在不脱离本发明构思的精神和范围的情况下,作出各种改变和修改。因此,应该理解,以上实施例不是限制性的,而是示意性的。

Claims (19)

1.一种操作数据存储装置的方法,其能够补偿多个存储器单元的初始阈电压漂移,该方法包括步骤:
产生通过压缩第一写地址而得到的第一压缩值,所述第一写地址对应于在不同的时间间隔中的第一时间间隔期间输入的第一写请求;
将第一压缩值存储在多个表中的第一表中;
产生通过压缩读地址而得到的第二压缩值,所述读地址对应于在所述不同的时间间隔中的第二时间间隔期间输入的读请求;
在所述多个表中搜索存储了与第二压缩值相同的第一压缩值的第一表;
基于第一表的索引补偿所述多个存储器单元的初始阈电压漂移;以及
利用对应于补偿后的初始阈电压漂移的读电压执行对应于所述读请求的读操作。
2.根据权利要求1所述的方法,其中,将第一压缩值存储在第一表中的步骤包括:
利用对应于第一写请求的第一时间戳从所述多个表中选择第一表;以及
将第一压缩值存储在选中的第一表中。
3.根据权利要求1所述的方法,其中,基于与所述读请求相对应的第二时间戳以及第一表的索引执行补偿初始阈电压漂移的步骤。
4.根据权利要求3所述的方法,其中,补偿初始阈电压漂移的步骤包括:
基于第二时间戳和第一表的索引产生控制码;
将所述控制码存储在包括所述多个存储器单元的存储器中;以及
利用存储在所述存储器中的控制码补偿所述多个存储器单元的初始阈电压漂移。
5.根据权利要求1所述的方法,其中,利用一个哈希值产生器产生第一压缩值和第二压缩值中的每一个。
6.根据权利要求1所述的方法,其中,第一压缩值和第二压缩值分别包括从不同的哈希值产生器输出的第一哈希值和第二哈希值。
7.根据权利要求1所述的方法,还包括步骤:
周期性地初始化所述多个表。
8.根据权利要求1所述的方法,还包括步骤:
当所述数据存储装置包括三维闪速存储器时,将对应于第一写请求的第一写数据写至包括所述多个存储器单元的三维闪速存储器。
9.根据权利要求1所述的方法,其中,所述不同的时间间隔分别对应于所述多个表。
10.一种数据存储装置,包括:
包括多个存储器单元的存储器;以及
控制器,其配置为补偿所述多个存储器单元的初始阈电压漂移,
其中,所述控制器包括补偿电路,所述补偿电路配置为:
产生通过压缩第一写地址而得到的第一压缩值,所述第一写地址对应于在不同的时间间隔中的第一时间间隔期间输入的第一写请求,
将第一压缩值存储在多个表中的第一表中,
产生通过压缩读地址而得到的第二压缩值,所述读地址对应于在所述不同的时间间隔中的第二时间间隔期间输入的读请求,以及
在所述多个表中搜索存储了与第二压缩值相同的第一压缩值的第一表,
其中,所述存储器配置为基于所述第一表的索引补偿所述多个存储器单元的初始阈电压漂移、利用对应于补偿后的初始阈电压漂移的读电压执行对应于所述读请求的读操作、以及向所述控制器输出数据。
11.根据权利要求10所述的数据存储装置,其中,所述补偿电路包括:
压缩值产生电路,其配置为产生通过压缩第一写地址而得到的第一压缩值;以及
搜索电路,其配置为利用对应于第一写请求的第一时间戳从所述多个表中选择第一表,并且将第一压缩值存储在选中的第一表中,
其中,所述不同的时间间隔分别对应于所述多个表。
12.根据权利要求11所述的数据存储装置,其中,所述压缩值产生电路产生所述通过压缩读地址而得到的第二压缩值,所述读地址对应于在所述不同的时间间隔中的所述第二时间间隔期间输入的读请求,并且
其中,所述搜索电路在所述多个表中搜索存储了与第二压缩值相同的第一压缩值的第一表。
13.根据权利要求10所述的数据存储装置,其中,所述压缩值产生电路利用至少一个哈希值产生器产生包括至少一个哈希值的第一压缩值以及包括至少一个第二哈希值的第二压缩值。
14.根据权利要求11所述的数据存储装置,其中,所述搜索电路将第一表的索引输出作为搜索结果,并且
所述控制器还包括:
判定电路,其配置为利用对应于读请求的第二时间戳和第一表的索引产生控制码;以及
中央处理单元,其配置为响应于控制码输出用于补偿初始阈电压漂移的补偿码,
其中,所述存储器利用从中央处理单元输出的补偿码补偿所述存储器单元的初始阈电压漂移,利用对应于补偿后的初始阈电压漂移的读电压从存储器单元读取对应于读命令的数据,并且将数据输出至控制器。
15.根据权利要求10所述的数据存储装置,其中,所述控制器还包括配置为存储所述多个表的内部存储器,并且所述控制器周期性地初始化所述表。
16.一种数据处理系统,包括:
根据权利要求10所述的数据存储装置;以及
主机,其配置为控制所述数据存储装置的操作。
17.根据权利要求16所述的数据处理系统,其中,所述存储器具有包括所述多个存储器单元的三维存储器阵列,并且
其中,所述三维存储器阵列包括非易失性存储器,其以单片方式形成在具有设置在硅衬底上的有源区域的存储器单元的一个或多个物理层级中。
18.根据权利要求16所述的数据处理系统,其中,所述存储器具有包括所述多个存储器单元的三维存储器阵列,并且
其中,所述三维存储器阵列包括多个存储器单元,存储器单元中的每一个包括电荷俘获层。
19.一种数据存储装置,包括:
包括多个存储器单元的存储器;以及
控制器,其配置为响应于控制码补偿所述多个存储器单元的初始阈电压漂移,
其中,所述控制器包括中央处理单元,其配置为产生通过压缩第一写地址而得到的第一压缩值,所述第一写地址对应于在不同的时间间隔中的第一时间间隔期间输入的第一写请求,并且将第一压缩值存储在多个表中的第一表中,并且
其中,所述中央处理单元包括:
压缩值产生模块,其配置为产生通过压缩第一写地址而得到的第一压缩值和通过压缩读地址而得到的的第二压缩值,其对应于在所述不同的时间间隔中的第二时间间隔期间输入的读请求;
搜索引擎,其配置为利用对应于第一写请求的第一时间戳从所述多个表中选择第一表,并且将第一压缩值存储在选中的第一表中,其中,所述不同的时间间隔分别对应于所述多个表;以及
判定模块,其配置为利用对应于所述读请求的第二时间戳和第一表的索引产生控制码。
CN201510969163.5A 2014-12-23 2015-12-22 数据存储装置及其操作方法与数据处理系统 Active CN105718385B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020140186967A KR102253592B1 (ko) 2014-12-23 2014-12-23 초기 문턱 전압 분포 변화를 보상할 수 있는 데이터 저장 장치, 이의 작동 방법, 및 이를 포함하는 데이터 처리 시스템
KR10-2014-0186967 2014-12-23

Publications (2)

Publication Number Publication Date
CN105718385A CN105718385A (zh) 2016-06-29
CN105718385B true CN105718385B (zh) 2020-11-06

Family

ID=56129410

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510969163.5A Active CN105718385B (zh) 2014-12-23 2015-12-22 数据存储装置及其操作方法与数据处理系统

Country Status (3)

Country Link
US (1) US9875044B2 (zh)
KR (1) KR102253592B1 (zh)
CN (1) CN105718385B (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110419036B (zh) * 2016-09-30 2022-04-12 华为技术有限公司 数据压缩方法、设备与计算设备
US10777271B2 (en) * 2017-09-29 2020-09-15 Intel Corporation Method and apparatus for adjusting demarcation voltages based on cycle count metrics
US11183250B2 (en) * 2019-04-16 2021-11-23 Samsung Electronics Co., Ltd. Memory controller, memory device and memory system having improved threshold voltage distribution characteristics and related operating methods
US11455169B2 (en) * 2019-05-27 2022-09-27 Texas Instruments Incorporated Look-up table read
US11023172B2 (en) * 2019-07-26 2021-06-01 Micron Technology, Inc. Selecting read voltage using write transaction data
CN113010101A (zh) * 2019-12-20 2021-06-22 美光科技公司 使用编程时间接近度管理存储器装置中数据单元的读取电压电平
CN112802514B (zh) * 2021-01-25 2023-01-17 长江存储科技有限责任公司 闪存存储器的操作方法及装置
CN114115737B (zh) * 2021-11-23 2024-02-02 合肥兆芯电子有限公司 数据存储分配方法、存储器存储装置及控制电路单元
WO2023221021A1 (en) * 2022-05-19 2023-11-23 Yangtze Advanced Memory Industrial Innovation Center Co., Ltd. Memory system, memory device, and method for read reference voltage management

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4870662A (en) * 1987-12-01 1989-09-26 Concord Data Systems, Inc. System and method for compressing transmitted or stored data
CN101796589A (zh) * 2007-09-07 2010-08-04 美光科技公司 用于移除系统影响的存储器控制器自校准
CN103971723A (zh) * 2013-02-01 2014-08-06 Lsi公司 用于读取电压适应的补偿回路
CN104126205A (zh) * 2011-12-21 2014-10-29 桑迪士克科技股份有限公司 减轻同时多状态感测引起的变化

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100963855B1 (ko) 2003-07-30 2010-06-16 샌디스크 아이엘 엘티디 불휘발성 메모리 디바이스에서 프로그래밍 데이터의 신뢰성및 성능을 최적화하는 방법 및 시스템
TW200705179A (en) 2005-07-29 2007-02-01 Genesys Logic Inc Efficient data property identification method for a flash memory
JP2007310936A (ja) * 2006-05-17 2007-11-29 Toshiba Corp 半導体記憶装置
US8024545B2 (en) 2007-10-19 2011-09-20 Inha-Industry Partnership Institute Efficient prefetching and asynchronous writing for flash memory
JP2010165039A (ja) 2009-01-13 2010-07-29 Sony Ericsson Mobilecommunications Japan Inc メモリ制御方法、メモリ制御装置および電子機器
US8261136B2 (en) 2009-06-29 2012-09-04 Sandisk Technologies Inc. Method and device for selectively refreshing a region of a memory of a data storage device
JP5349256B2 (ja) 2009-11-06 2013-11-20 株式会社東芝 メモリシステム
CN102859517B (zh) * 2010-05-14 2016-07-06 株式会社日立制作所 时序数据管理装置、系统以及方法
JP2012048770A (ja) 2010-08-24 2012-03-08 Toshiba Corp 不揮発性半導体記憶装置、及び、メモリシステム
US8248856B2 (en) * 2010-10-20 2012-08-21 Seagate Technology Llc Predictive read channel configuration
KR101925384B1 (ko) 2011-05-17 2019-02-28 삼성전자주식회사 불휘발성 메모리를 포함하는 메모리 시스템 및 불휘발성 메모리의 제어 방법
US8650353B2 (en) 2011-07-01 2014-02-11 Intel Corporation Apparatus, system, and method for refreshing non-volatile memory
US8930612B2 (en) * 2012-05-31 2015-01-06 Seagate Technology Llc Background deduplication of data sets in a memory
US9330763B1 (en) * 2014-12-01 2016-05-03 Sandisk Technologies Inc. Operation modes for an inverted NAND architecture

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4870662A (en) * 1987-12-01 1989-09-26 Concord Data Systems, Inc. System and method for compressing transmitted or stored data
CN101796589A (zh) * 2007-09-07 2010-08-04 美光科技公司 用于移除系统影响的存储器控制器自校准
CN104126205A (zh) * 2011-12-21 2014-10-29 桑迪士克科技股份有限公司 减轻同时多状态感测引起的变化
CN103971723A (zh) * 2013-02-01 2014-08-06 Lsi公司 用于读取电压适应的补偿回路

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
EEPROM中栅氧化层的可靠性研究;张月;《中国优秀硕士学位论文全文数据库 信息科技辑》;20100115(第1期);I137-36 *

Also Published As

Publication number Publication date
CN105718385A (zh) 2016-06-29
US9875044B2 (en) 2018-01-23
KR102253592B1 (ko) 2021-05-18
US20160179415A1 (en) 2016-06-23
KR20160076668A (ko) 2016-07-01

Similar Documents

Publication Publication Date Title
CN105718385B (zh) 数据存储装置及其操作方法与数据处理系统
US10579279B2 (en) Data storage device and data processing system having the same
US20180366167A1 (en) Apparatuses and methods for concurrently accessing different memory planes of a memory
US20120066438A1 (en) Non-volatile memory device, operation method thereof, and device having the same
US9251891B1 (en) Devices and methods to conditionally send parameter values to non-volatile memory
US10061695B2 (en) Memory system and operating method thereof
KR20190090635A (ko) 데이터 저장 장치 및 그것의 동작 방법
US9940058B2 (en) Data storage device and data maintenance method thereof
KR20210006129A (ko) 컨트롤러 및 컨트롤러의 동작방법
US10013210B2 (en) Data storage device and data maintenance method thereof
US11237753B2 (en) System including data storage device and method of controlling discard operation in the same
KR20190043863A (ko) 메모리 시스템 및 그것의 동작 방법
US11263148B2 (en) Mapping host logical address to target address that is selected from combination of first memory's physical addresses and second memory's virtual addresses
US20130205073A1 (en) Memory device, memory system, and programming method thereof
US20230036841A1 (en) Storage devices, storage controllers, and operating methods of storage controllers
US10466938B2 (en) Non-volatile memory system using a plurality of mapping units and operating method thereof
KR20200033459A (ko) 메모리 시스템 및 그것의 동작방법
US10846214B2 (en) Nonvolatile memory system and method of operating the same
US10445014B2 (en) Methods of operating a computing system including a host processing data of first size and a storage device processing data of second size and including a memory controller and a non-volatile memory
US20230036616A1 (en) Storage devices and operating methods of storage controllers
US11586379B2 (en) Memory system and method of operating the same
US11347436B2 (en) Storage device accessible on a cell-by-cell basis and method of operating the same
KR20190073125A (ko) 메모리 시스템 및 이의 동작 방법
CN113515466A (zh) 用于多内核之间动态逻辑块地址分布的系统和方法
US20230126807A1 (en) Storage device and operation method thereof

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant