CN107274929B - 用于执行随机操作的非易失性存储器装置 - Google Patents
用于执行随机操作的非易失性存储器装置 Download PDFInfo
- Publication number
- CN107274929B CN107274929B CN201710212175.2A CN201710212175A CN107274929B CN 107274929 B CN107274929 B CN 107274929B CN 201710212175 A CN201710212175 A CN 201710212175A CN 107274929 B CN107274929 B CN 107274929B
- Authority
- CN
- China
- Prior art keywords
- segments
- error correction
- memory device
- during
- control logic
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1048—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1068—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data buffering arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0658—Controller construction arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/04—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
- G11C16/0483—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/08—Address circuits; Decoders; Word-line control circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/26—Sensing or reading circuits; Data output circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/52—Protection of memory contents; Detection of errors in memory contents
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C2029/0409—Online test
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy 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)
- Quality & Reliability (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Computer Security & Cryptography (AREA)
- Read Only Memory (AREA)
Abstract
一种用于执行随机操作的非易失性存储器装置。一种非易失性存储器装置包括存储器单元阵列,所述存储器单元阵列包括:多个第一段,具有写入数据;多个第二段,具有定义来自所述多个第一段的编程的段的编程信息。随机化发生器被配置为对写入数据进行随机化。纠错电路被配置为对写入数据执行纠错操作。控制逻辑被配置为确定来自从存储器控制器接收的地址的编程信息,并在编程操作期间基于编程信息的确定来确定是否运行随机化发生器和纠错电路。页缓冲器被配置为在随机化和纠错操作期间存储写入数据和编程信息。
Description
本申请要求于2016年4月7日提交的第10-2016-0042806号韩国专利申请的优先权,所述韩国专利申请的公开通过引用完整包含于此。
技术领域
这里描述的发明构思的实施例涉及一种非易失性存储器装置,更加具体地,涉及一种执行随机操作的非易失性存储器装置。
背景技术
无论电力是否被供应到非易失性存储器装置,该装置都能保留存储在其中的数据。闪存装置是非易失性半导体存储器装置的一个示例。闪存装置常用作用于信息装置(诸如,计算机、蜂窝电话、智能电话、数码相机、摄像机、录音机、MP3播放器、个人数字助理(PDA)、手持PC、游戏机、传真机、扫描仪和打印机)的存储介质。
非易失性存储器装置可包括片上随机化发生器或片上纠错电路。随机化发生器或纠错电路可与非易失性存储器装置一起被集成在同一芯片(例如,集成电路)上。随机化发生器可随机化将被存储在非易失性存储器装置中的写入数据。纠错电路可通过使用纠错码来校正存储在非易失性存储器装置中的数据的错误。
非易失性存储器装置可被安装在诸如智能电话的移动装置上。因此,需要通过控制片上随机化发生器或片上纠错电路来提高运行速度或降低功耗。
发明内容
本发明构思的实施例提供一种执行具有高速度和低功耗特点的随机化操作的非易失性存储器装置。
在一个方面,本发明构思面向一种非易失性存储器装置,所述非易失性存储器装置包括存储器单元阵列,所述存储器单元阵列包括:多个第一段,具有写入数据;多个第二段,具有定义来自所述多个第一段的编程的段的编程信息。随机化发生器被配置为对写入数据进行随机化。纠错电路被配置为对写入数据执行纠错操作。控制逻辑被配置为确定来自从存储器控制器接收的地址的编程信息,并在编程操作期间基于编程信息的确定来确定是否运行随机化发生器和纠错电路。页缓冲器被配置为在随机化和纠错操作期间存储写入数据和编程信息。
在另一方面,本发明构思面向一种非易失性存储器装置,所述非易失性存储器装置包括存储器单元阵列,所述存储器单元阵列包括:多个第一段,具有写入数据;多个第二段,具有定义来自所述多个第一段的编程的段的编程信息。控制逻辑被配置为:在编程操作期间,基于从存储器控制器接收的地址,确定是否以第一段为单位对写入数据执行随机化操作;在读取操作期间,基于所述多个第二段中的编程信息,确定是否以第一段为单位对从所述多个第一段检索的读取数据执行去随机化操作。
在另一方面,本发明构思面向一种非易失性存储器装置,所述非易失性存储器装置包括存储器单元阵列,所述存储器单元阵列包括:多个第一段,具有写入数据;多个第二段,具有定义来自所述多个第一段的编程的段的编程信息。控制逻辑被配置为:在编程操作期间,基于从存储器控制器接收的地址,确定是否以第一段为单位对写入数据执行纠错操作;在读取操作期间,基于所述多个第二段中的编程信息,确定是否以第一段为单位对从所述多个第一段检索的读取数据执行纠错操作。
附图说明
通过下面结合附图对实施例进行的描述,本总体发明构思的这些和/或其他方面和优点将会变得清楚和更加容易理解,其中:
图1是存储器系统的实施例的示意图。
图2是根据本发明构思的实施例的非易失性存储器装置的示意图。
图3和图4是存储器单元阵列的实施例的示意图。
图5是图2中示出的控制逻辑的实施例的示意图。
图6是根据本发明构思的实施例的非易失性存储器装置的示意图。
图7是根据本发明构思的实施例的对非易失性存储器装置进行编程的方法的流程图。
图8是根据本发明构思的实施例的非易失性存储器装置的编程操作的部分的流程图。
图9是根据本发明构思的实施例的非易失性存储器装置的读取操作的流程图。
图10是根据本发明构思的实施例的非易失性存储器装置的读取操作的部分的流程图。
图11是示出根据本发明构思的实施例的非易失性存储器装置的编程操作的时序图。
图12是示出根据本发明构思的实施例的非易失性存储器装置的读取操作的时序图。
图13是根据本发明构思的实施例的非易失性存储器装置的示意图。
图14是根据本发明构思的实施例的包括非易失性存储器装置的存储卡系统的示意图。
图15是根据本发明构思的实施例的包括非易失性存储器装置的固态硬盘系统的示意图。
图16是根据本发明构思的实施例的应用非易失性存储器装置的用户系统的示意图。
具体实施方式
现在将对本总体发明构思的实施例做出详细参考,在附图中示出本总体发明构思的实施例的示例,其中,相同的参考标记始终表示相同的元件。以下通过参照附图对实施例进行描述以解释本总体发明构思。
图1是存储器系统的实施例的示意图。参照图1,存储器系统10可包括存储器控制器11和非易失性存储器装置(NVM)12。响应于来自主机的控制命令,存储器控制器11可控制非易失性存储器装置12。存储器控制器11可向非易失性存储器装置12提供命令、地址或将被存储的数据。响应于来自存储器控制器11的请求,非易失性存储器装置12可向存储器控制器11提供存储在NVM中的数据。
图2是根据本发明构思的实施例的非易失性存储器装置的示意图。参照图2,在各种实施例中,非易失性存储器装置100可包括存储器单元阵列110、行解码器120、页缓冲器130、随机化发生器140、输入/输出缓冲器150和控制逻辑160。
存储器单元阵列110通过字线WL[0:X-1]连接到行解码器120。存储器单元阵列110可通过位线BL[0:Y-1]连接到页缓冲器130。存储器单元阵列110可包括NAND单元串。可选地,存储器单元阵列110可包括NOR单元。可在与基板垂直或平行的方向上形成NAND单元串。存储器单元阵列110可包括被配置为NAND单元串的存储器单元。可通过使用位线和字线电压来对存储器单元进行编程、擦除或读取。在一些实施例中,存储器单元阵列110中的各个存储器单元可包括存储至少两个位的多级单元(MLC)。
存储器单元阵列110可包括页(未示出)。这里使用的术语“页”表示连接到公共字线的一组存储器单元。页还可被划分成N个段。每个段可包括存储器单元。根据本发明构思的实施例,以段为组(例如,单位)执行随机化发生器或纠错电路的操作。
例如,当“N”被设置为“4”时,可针对页的四个段中的全部存储器单元执行编程操作。在另一实施例中,可仅针对页中的四个段中的一些段的存储器单元执行编程操作。
由非易失性存储器装置100从存储器控制器接收的行地址RA选择存储器单元阵列110的字线WL[0:X-1]中的至少一个。由非易失性存储器装置100从存储器控制器接收的列地址CA选择选择的页中的至少一个段。页可包括用于存储指示段的存储器单元是否被编程的信息的附加存储器单元。附加存储器单元可形成与上述段不同的段。将参照图3对存储单元阵列110的页和段进行描述。
响应于来自控制逻辑160的命令,行解码器120可选择存储器单元阵列110的页中的一个。响应于来自控制逻辑160的命令,行解码器120可选择字线WL[0:X-1]中的一个。这里使用的术语“选择的页”表示选择连接到选择的字线的存储器单元。
行解码器120可将各种电压施加到字线WL[0:X-1]。在编程操作期间,行解码器120可将编程/校验电压Vpgm/Vfy供应到选择的字线,并将通过电压Vpass供应到每个未选择的字线。在读取操作期间,行解码器120可将选择读取电压Vrd供应到选择的字线,并将非选择读取电压Vread供应到每个未选择的字线。
页缓冲器130可作为写入驱动器或感测放大器。在编程操作期间,页缓冲器130可具有来自输入/输出缓冲器150的写入数据。在编程操作期间,页缓冲器130可将与将被编程的数据对应的位线电压供应到存储器单元阵列110的选择的位线。在读取操作期间,页缓冲器130可通过位线BL[0:Y-1]来感测在选择的段的存储器单元中编程的数据。在读取操作期间,页缓冲器130可将感测的数据输出到输入/输出缓冲器150。
如上所述,页可被划分为多个段。在编程操作期间,根据本发明构思的实施例,页缓冲器130可具有来自控制逻辑160的与任何段的存储器单元是否将被编程有关的信息。页缓冲器130可将信息编程在存储器单元阵列110的附加存储器单元中。
在读取操作期间,根据本发明构思的实施例,页缓冲器130可具有来自存储器单元阵列110的附加存储器单元的与任何段的存储器单元是否被编程有关的信息。页缓冲器130可将信息提供到控制逻辑160。
在编程操作期间,随机化发生器140可随机化将被编程在选择的段的存储器单元中的数据。在读取操作期间,随机化发生器140可针对从选择的段的存储器单元感测并被存储在页缓冲器130中的数据执行去随机化操作。这里使用的术语“去随机化”意思是(例如,通过应用反函数)取消数据的随机性。根据本发明构思的实施例,随机化发生器140可与非易失性存储器装置100一起被集成在同一芯片上。在另一实施例中,随机化发生器140可被包括在控制逻辑160中。
在编程操作期间,随机化发生器140可降低将被写入的数据值中的单个位值(例如,“0”或“1”)出现的次数。因此,存储器单元的阈值电压分布的移位可通过随机化发生器140的随机化操作而被抑制。
随机化发生器140可在编程操作期间执行随机化操作。例如,随机化发生器140可从来自存储器控制器的地址产生种子。随机化发生器140可使用种子产生随机序列(RS)。随机化发生器140通过使用产生的随机序列RS来随机化存储在页缓冲器130中的数据。页缓冲器130可将随机化的数据编程在选择的段的存储器单元中。
随机化发生器140可在读取操作期间执行去随机化操作。随机化发生器140可通过使用曾在随机化操作中使用的随机序列RS来针对存储在页缓冲器130中的读取数据执行去随机化操作。去随机化的数据可通过输入/输出缓冲器150被输出到存储器控制器。
在编程操作期间,输入/输出缓冲器150可向页缓冲器130提供从存储器控制器接收的数据。在读取操作期间,输入/输出缓冲器150可将存储在页缓冲器130中的数据输出到存储器控制器。输入/输出缓冲器150可向控制逻辑160提供从存储器控制器11接收的命令或地址。
响应于来自存储器控制器的命令,控制逻辑160可控制行解码器120、页缓冲器130、随机化发生器140或输入/输出缓冲器150中的一个或多个。在编程操作期间,控制逻辑160可向行解码器120提供从存储器控制器接收的地址以选择页。控制逻辑160可控制输入/输出缓冲器150将写入数据发送到页缓冲器130。控制逻辑160可控制页缓冲器130将写入数据发送到选择的段的存储器单元。
在编程操作期间,控制逻辑160可基于从存储器控制器接收的地址来产生用于确定是否运行随机化发生器140和针对哪些特定段的信号CTRL_F[0:N-1]。信号CTRL_F[0:N-1]可确定是否运行随机化发生器140。这里使用的术语“N”表示页的划分的段的数量。
例如,当“N”是“4”时,控制逻辑160可基于从存储器控制器接收的地址产生信号CTRL_F[0:3]。页可被划分为四个段。如果仅针对第一段的存储器单元执行编程操作,则控制逻辑160可激活信号CTRL_F[0],并可停用剩余的信号CTRL_F[1:3]。稍后将对控制逻辑160在编程操作期间产生信号CTRL_F[0:3]进行描述。
在编程操作期间,控制逻辑160可将信号CTRL_F[0:N-1]输出到页缓冲器130或随机化发生器140。控制逻辑160可通过将信号CTRL_F[0:N-1]发送到页缓冲器130来将与是否有任何段的存储器单元被编程有关的信息编程在页中的附加存储器单元中。
在编程操作期间,控制逻辑160可控制随机化发生器140,使得存储在页缓冲器130中的写入数据被执行随机化操作。在随机化操作被执行之后,控制逻辑160可控制页缓冲器130将随机化的数据发送到选择的段的存储器单元。
在读取操作期间,控制逻辑160可向行解码器120提供从存储器控制器11接收的地址以选择页。控制逻辑160可控制页缓冲器130将存储在选择的段的存储器单元中的读取数据发送到页缓冲器130。控制逻辑160可控制页缓冲器130将读取数据发送到输入/输出缓冲器150。控制逻辑160可控制输入/输出缓冲器150将读取数据发送到存储器控制器。
与编程操作相比,在读取操作期间,控制逻辑160还可基于信号CORE_F[0:N-1](而不是从存储器控制器11接收的地址)来产生用于确定是否运行随机化发生器140的信号CTRL_F[0:N-1]。这里使用的术语“N”表示页的划分的段的数量。
例如,当“N”是“4”时,与编程操作相比,控制逻辑160可基于信号CORE_F[0:3]产生信号CTRL_F[0:3]。页可被划分为四个段。信号CTRL_F[0:3]可指示四个段中的任意一个或多个段的存储器单元是否被编程。稍后将对产生信号CORE_F[0:3]的处理进行描述。如果仅针对第一段的存储器单元执行编程操作,则控制逻辑160可激活信号CTRL_F[0],并可停用剩余的信号CTRL_F[1:3]。
在读取操作期间,控制逻辑160可控制随机化发生器140对存储在页缓冲器130中的读取数据执行去随机化操作。在去随机化操作被执行之后,控制逻辑160可控制页缓冲器130或输入/输出缓冲器150将读取数据输出到存储器控制器11。
根据本发明构思的实施例,在NVM的编程或读取期间,可在控制逻辑160的控制下根据页的每个段来执行或跳过随机化发生器140的操作。根据非易失性存储器装置100,编程时间和读取时间可与随机化发生器140的操作被跳过的频率成比例地被降低,因而降低功耗。
图3和图4是存储器单元阵列的实施例的示意图。参照图3和图4,存储器单元阵列110可包括NAND单元串。存储器单元阵列110的NAND单元串通过串选择晶体管(SST)分别连接到位线BL[0:Y-1]。NAND单元串通过地选择晶体管GST分别连接到公共源极线CSL。
在编程操作期间,编程/校验电压Vpgm/Vfy被施加到选择的字线(例如,WL[k])。通过电压Vpass被施加到每个未选择的字线。在读取操作期间,选择读取电压Vrd被施加到选择的字线(例如,WL[k]),非选择读取电压Vread被施加到每个未选择的字线。
参照图3,由选择的字线WL[k]选择的页可包括第一区域111或第二区域112。根据实施例,可逻辑地指定第一区域111或第二区域112。在一个示例中,可通过定义每个区域的列地址的范围来逻辑地指定第一区域111或第二区域112或者二者,其中,每个区域的存储器单元彼此物理地邻近。在另一实施例中,每个区域(例如,111或112)的存储器单元是交错的或者不是物理地邻近的。
第一区域111可包括段111a和段111b。段111a和段111b中的每一个可包括存储器单元。在一些实施例中,存储器单元可以是存储至少两个位的多级单元。参照图3,当“N”是“2”时,第一区域111可包括段111a和段111b。参照图4,当“N”是“4”时,第一区域111可包括段111a、段111b、段111c和段111d。回到图3,在编程操作期间,写入数据可被编程在段111a的存储器单元中。随后,不同的写入数据可被编程在段111b的存储器单元中或者可不被编程在段111b的存储器单元中。
第二区域112可包括段112a和段112b。段112a和段112b中的每一个可包括存储器单元。第二区域112中的段的数量与第一区域111中的段的数量相同(例如,第二区域112中的段的数量是“N”)。参照图3,当“N”是“2”时,第二区域112可包括段112a和段112b。参照图4,当“N”是“4”时,第二区域112可包括段112a、段112b、段112c和段112d。
参照图3,与第一区域111中的段111a的存储器单元是否被编程有关的信息可被编程在第二区域112中的段112a的存储器单元中。类似地,与第一区域111中的段111b的存储器单元是否被编程有关的信息可被编程在第二区域112中的段112b的存储器单元中。例如,第二区域112的段112a和段112b可分别对应于第一区域111的段111a和段111b。包括在第二区域112中的每个段中的存储器单元的数量可少于包括在第一区域111中的每个段中的存储器单元的数量。
在读取操作期间,存储在包括在第二区域112的段112a和段112b中的存储器单元的读取数据也可被提供到页缓冲器130。页缓冲器130可响应于提供到它的读取数据而产生信号CORE_F[0:N-1],并将信号CORE_F[0:N-1]发送到控制逻辑160。信号CORE_F[0:3]可指示第一区域111中的段111a和段111b中的任意一个的存储器单元是否被编程。例如,当“N”是“2”时,在读取操作期间,页缓冲器130可产生信号CORE_F[0:1]。类似地,当“N”是“4”时,在读取操作期间,页缓冲器130可产生信号CORE_F[0:3]。
参照图3和图4,第二区域112可被指定为邻近第一区域111。虽然未在图3和图4中示出,但是第二区域112可被包括在第一区域111中。参照图3,选择的页包括被顺序布置在同一行上的段111a、段111b、段112a和段112b。在另一实施例(未在图3中示出)中,选择的页包括被顺序布置在同一行上的段111a、段112a、段111b和段112b。
图3中示出的实施例具有等于“2”的“N”的值。图4中示出的实施例具有等于“4”的“N”的值。然而,本发明构思的实施例可不限于此。例如,当“N”等于“M”时,第一区域111和第二区域112中的每一个可包括M个段。
图5是图2中示出的控制逻辑160的实施例的示意图。参照图5,控制逻辑160可包括地址检查电路161、第一寄存器162、第二寄存器163和选择电路164。如在图5中所示,使用等于“4”的“N”配置控制逻辑160。
参照图4和图5,地址检查电路161可在编程操作期间接收用于选择选择的页中的第一区域111的段111a、段111b、段111c和段111d的地址ADD[S,T]。在编程操作期间,基于地址ADD[S,T],地址检查电路161可确定选择的页的第一区域111中的任何段的存储器单元是否将被编程。地址检查电路161可将确定结果发送到第一寄存器162。
地址检查电路161可在编程操作期间接收编程模式信号PGM_MODE。编程模式信号PGM_MODE可指示非易失性存储器装置100正在执行编程操作。编程模式信号PGM_MODE可在编程操作期间由控制逻辑160产生。在各种实施例中,地址检查电路161仅在编程操作期间运行,除此以外在剩余的操作期间被停用。因此,由于地址ADD[S,T]的变化而造成的不必要功耗可被降低。
地址检查电路161可根据地址ADD[S,T]运行如下。当地址ADD[S,T]全是“0”时,地址检查电路161可确定段111a的存储器单元将被编程。当地址ADD[S,T]全是“1”时,地址检查电路161可确定段111d的存储器单元将被编程。如果段的数量增加,则地址检查电路161接收的地址的数量可增加。类似地,如果段的数量减少,则地址检查电路161接收的地址的数量可减少。
第一寄存器162可包括与段的数量N相同数量的寄存器。第一寄存器162可在编程操作期间存储地址检查电路161的确定结果。参照图5,当“N”是“4”时,第一寄存器162可包括四个寄存器R1、R2、R3和R4。响应于编程锁存信号PGM_LAT,第一寄存器162可存储地址检查电路161的结果。在编程操作期间,当地址检查电路161的结果被输出时,编程锁存信号PGM_LAT可由控制逻辑160产生。第一复位信号RESET1可在编程操作结束之后由控制逻辑160产生。
第二寄存器163可包括与段的数量N相同数量的寄存器。在读取操作期间,第二寄存器163可具有从页缓冲器130接收的信号CORE_F[0:N-1]。如上所述,信号CORE_F[0:N-1]指示与N个段中的任何一个段的存储器单元是否被编程有关的信息。
参照图5,当“N”是“4”时,第二寄存器163可包括四个寄存器R5、R6、R7和R8。响应于读取锁存信号RD_LAT,第二寄存器163可通过信号CORE_F[0:3]存储与四个段111a至段111d中的任何一个段的存储器单元是否被编程有关的信息。在读取操作期间,当信号CORE_F[0:3]被输出时,读取锁存信号RD_LAT可由控制逻辑160产生。第二复位信号RESET2可在读取操作结束之后由控制逻辑160产生。
选择电路164可包括与段的数量相同数量的复用器。复用器可接收第一寄存器162或第二寄存器163的输出结果,以输出用于确定是否运行随机化发生器140的信号CTRL_F[0:N-1]。参照图5,当“N”是“4”时,选择电路164可包括四个复用器M1、M2、M3和M4。选择电路164可输出信号CTRL_F[0:3]。
选择电路164可接收编程模式信号PGM_MODE或读取模式信号RD_MODE。如果编程模式信号PGM_MODE被激活,则选择电路164可选择并输出第一寄存器162的内容。如果读取模式信号RD_MODE被激活,则选择电路164可选择并输出第二寄存器163的内容。读取模式信号RD_MODE被激活指示非易失性存储器装置100正在执行读取操作。响应于读取命令,控制逻辑160可产生读取模式信号RD_MODE。
当“N”是“4”时,控制逻辑160可产生用于确定是否针对每次操作(例如,针对每次编程操作和针对每次读取操作)运行随机化发生器140的信号CTRL_F[0:3]。在这个实施例中,与图5中示出的实施例相比,用于确定是否运行随机化发生器140的信号的数量可增加一倍。例如,八个信号CTRL_F_PGM[0:3]和CTRL_F_RD[0:3](图5中未示出)可被产生。如果如在图5中所示,选择电路164被用在控制逻辑160中,则只需要四个信号CTRL_F[0:3]来确定是否运行随机化发生器140。具体地,选择电路164可通过复用编程所需的CTRL信号与读取所需的相应信号来防止信号CTRL_F[0:N-1]不必要地增加。
图6是根据本发明构思的实施例的非易失性存储器装置的示意图。参照图6,非易失性存储器装置200可包括存储器单元阵列210、行解码器220、页缓冲器230、随机化发生器240、纠错电路250、输入/输出缓冲器260和控制逻辑270。在一些实施例中,随机化发生器240、纠错电路250或二者可被包括在控制逻辑270中。非易失性存储器装置200的存储器单元阵列210、行解码器220、页缓冲器230、随机化发生器240和输入/输出缓冲器260与非易失性存储器装置100的存储器单元阵列110、行解码器120、页缓冲器130、随机化发生器140和输入/输出缓冲器150执行相同的功能,因此其描述被省略。
在编程操作期间,纠错电路250可通过使用存储在页缓冲器230中的数据来产生纠错码(ECC)的奇偶校验位。奇偶校验位可与随机化的数据一起被存储在选择的页中。例如,参照图3或图4,奇偶校验位可被存储在第二区域112的存储器单元中。
在读取操作期间,纠错电路250可通过使用选择的页中的存储的奇偶校验位来检测和校正从选择的段读取的数据的错误。在纠错电路250的纠错操作结束之后,随机化发生器240可针对页缓冲器230中的存储的数据执行去随机化操作。
根据本发明构思的实施例,纠错电路250可与非易失性存储器装置200被集成在同一芯片上。
控制逻辑270可与参照图5描述的控制逻辑160执行相同的功能。控制逻辑270可与图5的控制逻辑160包括相同的元件(诸如,地址检查电路161、第一寄存器162、第二寄存器163或选择电路164)。与图2的控制逻辑160相比,控制逻辑270还可控制纠错电路250。
在编程操作期间,基于从存储器控制器接收的地址,控制逻辑270可产生用于确定是否运行随机化发生器240和纠错电路250的信号CTRL_F[0:N-1]。例如,当“N”是“4”时,控制逻辑160可基于从存储器控制器接收的地址产生信号CTRL_F[0:3]。在编程操作期间,控制逻辑270可将信号CTRL_F[0:N-1]输出到页缓冲器230、随机化发生器240、纠错电路250或它们的任何组合。
在编程操作期间,控制逻辑270可控制随机化发生器240对存储在页缓冲器230中的数据执行随机化操作。随后,控制逻辑270可控制纠错电路250对随机化的数据执行纠错操作。在另一实施例中,随机化操作和纠错操作的顺序可彼此互换。被随机化并具有使用纠错操作产生的ECC码的数据可通过页缓冲器230被编程在选择的段的存储器单元中。
与编程操作相比,在读取操作期间,基于信号CORE_F[0:N-1],控制逻辑270可产生用于确定是否运行随机化发生器240和纠错电路250的信号CTRL_F[0:N-1]。
在读取操作期间,控制逻辑270可控制纠错电路250对存储在页缓冲器230中的读取数据执行纠错操作。在纠错操作被执行之后,控制逻辑270可控制随机化发生器240对纠错的数据执行去随机化操作。在纠错操作和去随机化操作被执行之后,控制逻辑270可控制页缓冲器230或输入/输出缓冲器260将读取数据输出到存储器控制器。
在另一实施例中,纠错操作和去随机化操作的顺序可依赖于随机化发生器240和纠错电路250在编程操作期间的运行顺序。具体地,当在编程操作期间控制逻辑270运行随机化发生器240,然后运行纠错电路250时,在读取操作期间控制逻辑270可首先运行纠错电路250,然后运行随机化发生器240。相反,当在编程操作期间控制逻辑270运行纠错电路250,然后运行随机化发生器240时,在读取操作期间控制逻辑270可首先运行随机化发生器240,然后运行纠错电路250。
在根据本发明构思的实施例的非易失性存储器装置200中,在编程操作或读取操作期间,随机化发生器240和纠错电路250的操作可在控制逻辑270的控制下根据页的各个段而被执行或被跳过。根据非易失性存储器装置200,当随机化发生器240、纠错电路250或者二者的操作被跳过时,编程时间和读取时间可被降低,因而降低功耗。
图7是根据本发明构思的实施例的对非易失性存储器装置进行编程的方法的流程图。在图7中示出对图6的非易失性存储器装置200进行编程的示例。
在操作S110,非易失性存储器装置200可从存储器控制器接收编程命令、写入数据和地址。响应于编程命令,控制逻辑270可将写入数据提供到页缓冲器230。随后,页缓冲器230中的写入数据被随机化,ECC码在将数据从页缓冲器230发送到存储器单元阵列210之前产生。
在操作S120,控制逻辑270的地址检查电路161可被提供用于确定选择的页的第一区域中的任何段的存储器单元是否是将被编程的存储器单元的地址。控制逻辑的第一寄存器162可存储地址检查电路161的结果(例如,以识别应该被编程的段)。在编程操作期间,基于存储在第一寄存器162中的结果,控制逻辑270可产生用于确定是否运行随机化发生器240和纠错电路250的信号CTRL_F[0:N-1]。信号CTRL_F[0:N-1]可由控制逻辑270发送到随机化发生器240和纠错电路250。
在操作S130,可选择性地随机化存储在页缓冲器中的写入数据,并可对选择性地随机化的写入数据执行纠错操作。将参照图8对操作S130的具体描述进行描述。
在操作S140,可执行随机化操作,并可将纠错的数据编程在存储器单元阵列210中。随后,非易失性存储器装置200的编程操作结束。
图8是根据本发明构思的实施例的非易失性存储器装置的编程操作的部分的流程图。在图8中示出图7的操作S130的进一步细节。
在操作S131,可确定第j段是否被编程。当在编程操作期间第一次进入操作S131时,“j”可以是1。为此,控制逻辑270可确定信号CTRL_F[0]是否被激活。当第j段被编程(例如,S131的决策分支为“是”)时,在操作S132,将被编程在第一段的存储器单元中的写入数据可被随机化发生器240随机化。随后,在操作S133,纠错电路250可对随机化的数据执行纠错操作。随后,执行操作S134。当第j段未被编程(例如,S131的决策分支为“否”)时,跳过操作S132和操作S133,并执行操作S134。如上所述,操作S132和操作S133可彼此互换。
在操作S134,“j”的值可递增。在一个实施例中,计数电路(未示出)可顺序增加信号CTRL_F[i]的“i”的值。控制逻辑270可包括计数电路以确定信号CTRL_F[0:N-1]是否被激活。
在操作S135,如果还没有确定最后的段,则执行操作S131至操作S134。由于“j”从“1”开始,因此如果“j”在操作S135达到“N+1”,则已经对全部的段执行了操作S131至操作S134。当针对最后的段执行操作S131至操作S134时,操作S130结束。当未针对最后的段执行操作S131至操作S134(例如,S135的决策分支为“否”)时,针对下一段执行操作S131。
在图7和图8中示出图6的非易失性存储器装置200的编程操作的示例。当在图7的流程图中的S130的纠错操作被跳过并且图8的流程图的操作S133被跳过时,图7和图8的流程图对应于图2中示出的非易失性存储器装置100的编程操作。
图9是根据本发明构思的实施例的非易失性存储器装置的读取操作的流程图。在图9中示出图6的非易失性存储器装置200的读取操作的示例。
在操作S210,非易失性存储器装置200可从存储器控制器(或通过存储器控制器11从图1的主机)接收读取命令。非易失性存储器装置200可通过输入/输出缓冲器260接收地址信息。响应于读取命令,行解码器220可激活存储器单元阵列210的选择的字线WL[k]。页缓冲器230可读取和存储来自选择的段的数据。在页缓冲器230中的存储的数据被发送到输入/输出缓冲器260之前,可由随机化发生器240和纠错电路250对存储的数据分别执行随机化操作和纠错操作。
在操作S220,响应于来自控制逻辑270的命令,页缓冲器230可将信号CORE_F[0:N-1]输出到控制逻辑270。如上所述,信号CORE_F[0:N-1]可指示第一区域111中的任何一个段的存储器单元是否被编程。信号CORE_F[0:N-1]可被存储在控制逻辑270的第二寄存器163中。
在操作S230,可对存储在页缓冲器230中的读取数据选择性地进行纠错,并可对选择性地纠错的数据执行去随机化操作。将参照图10对操作S230的具体描述进行描述。
在操作S240,可执行纠错操作,并可将去随机化的数据输出到存储器控制器。随后,非易失性存储器装置200的读取操作结束。
图10是根据本发明构思的实施例的非易失性存储器装置的读取操作的部分的流程图。在图10中示出图9的操作S230的具体描述。
在操作S231,做出关于第j段是否被编程的确定。当在读取操作期间第一次进入操作S231时,“j”可以是“1”。控制逻辑270可确定信号CTRL_F[1]是否被激活。当第j段被编程(例如,S231的决策分支为“是”)时,在操作S232,可通过纠错电路250对存储在页缓冲器230中的读取数据执行纠错操作。随后,在操作S233,可通过随机化发生器240对纠错的数据执行去随机化操作。随后,执行操作S234。当第j段未被编程(例如,S231的决策分支为“否”)时,跳过操作S232和操作S233,并执行操作S234。操作S234与图8的操作S134相同,因此省略其描述。如上所述,操作S232和操作S233可彼此互换。
在操作S235,如果还没有确定最后的段,则执行操作S231至操作S234。由于“j”从“1”开始,因此如果“j”在操作S235达到“N+1”,则对全部的段执行了操作S231至操作S234。当针对最后的段执行操作S231至操作S234(例如,S231的决策分支为“是”)时,操作S230结束。当未针对最后的段执行操作S231至操作S234(例如,S231的决策分支为“否”)时,针对下一段执行操作S231。
在图9和图10中示出图9的非易失性存储器装置200的读取操作的示例。当在图9的流程图中的操作S230的纠错操作被跳过并且图10的流程图的操作S232被跳过时,图9和图10的流程图可示出图2中示出的非易失性存储器装置100的读取操作。
图11是示出根据本发明构思的实施例的非易失性存储器装置的编程操作的时序图。将参照图4和图5对图11进行描述。如在图11中所示,当“N”是“4”时,在情况1下第一区域111的全部的段111a至111d的存储器单元被编程,在情况2下第一区域111的段111a至段111d中的一些段的存储器单元被编程。这里使用的术语“PGM”(编程模式)可意味着主机生成的编程命令。“CA”(列地址)可意味着指示选择的页的地址。“RA”(行地址)可意味着用于选择页的地址。在图11中,横轴表示时间轴。
图11的情况1示出第一区域111中的全部的段111a至111d的存储器单元被编程的使用情况。在这种情况下,控制逻辑270可基于CA(图5的ADD[S,T])激活全部的信号CTRL_F[0:3]。可对将被编程在全部的段111a至段111d的存储器单元中的写入数据顺序执行随机化操作和纠错操作。
图11的情况2示出第一区域111中的段111a至111d中的一些段的存储器单元被编程的使用情况。在这种情况下,控制逻辑270可基于CA(图5的ADD[S,T])激活全部的信号CTRL_F[0:3]。可对将被编程在一些段111a和段111d的存储器单元中的写入数据顺序执行随机化操作和纠错操作。
参照图11,根据情况2的操作方法,编程时间通过消除段111b和段111c的随机化和ECC校正而被减少,功耗也相应降低。具体地,在图11的情况2中,十个时隙中的两个时隙不消耗功率。
图12是示出根据本发明构思的实施例的非易失性存储器装置的读取操作的时序图。将参照图4对图12进行描述。当“N”是“4”时,情况1示出第一区域111中的全部的段111a至111d中的存储器单元被读取,情况2示出第一区域111中的段111a至111d中的一些段的存储器单元被读取。这里使用的术语“RD”(读取)可意味着主机生成的读取命令。术语“CA”和术语“RA”与上面参照图11的描述相同。在图11中,横轴表示时间轴。
图12的情况1示出第一区域111中的全部的段111a至111d的存储器单元被读取的使用情况。在这种情况下,控制逻辑270可基于信号CORE_F[0:3]激活全部的信号CTRL_F[0:3]。被编程在全部的段111a至段111d的存储器单元中的数据可被发送到页缓冲器230。可对被发送到页缓冲器230的数据顺序执行纠错操作和去随机化操作。
图12的情况2示出第一区域111中的段111a至111d中的一些段(例如,段111a和段111d)的存储器单元被读取的使用情况。在这种情况下,控制逻辑270可基于信号CORE_F[0:3]激活全部的信号CTRL_F[0:3]。被编程在全部的段111a和段111d的存储器单元中的数据可被发送到页缓冲器230。可对发送到页缓冲器230的数据顺序执行纠错操作和去随机化操作。
参照图12,根据情况2的操作方法,读取时间通过消除段111b和段111c的ECC校正和去随机化而被减少,功耗也相应降低。
图13是根据本发明构思的实施例的非易失性存储器装置的示意图。参照图13,非易失性存储器装置300可包括存储器单元阵列310、行解码器320、页缓冲器330、纠错电路340(例如,ECC电路)、输入/输出缓冲器350和控制逻辑360。在一些实施例中,纠错电路340可被包括在控制逻辑360中。
非易失性存储器装置300的存储器单元阵列310、行解码器320、页缓冲器330、输入/输出缓冲器350和控制逻辑360与非易失性存储器装置100的存储器单元阵列110、行解码器120、页缓冲器130、输入/输出缓冲器150和控制逻辑160执行相同的功能,因此省略其描述。非易失性存储器装置300的纠错电路340与非易失性存储器装置200的纠错电路250执行相同的功能,因此省略其描述。
参照图13,与图6中示出的非易失性存储器装置200相比,非易失性存储器装置300可不包括随机化发生器240。如参照非易失性存储器装置100所述,非易失性存储器装置300可在编程操作或读取操作期间跳过对页中的各个段的存储器单元的写入数据或读取数据的纠错操作。非易失性存储器装置300可因跳过的操作而减少编程时间或读取时间,因而降低功耗。
图14是根据本发明构思的实施例的包括非易失性存储器装置的存储卡系统的示意图。参照图14,存储卡系统1000包括存储器控制器1100、非易失性存储器装置1200和连接器1300。
存储器控制器1100连接到非易失性存储器装置1200。存储器控制器1100被配置为访问非易失性存储器装置1200。例如,存储器控制器1100被配置为控制非易失性存储器装置1200的包括(但不限于)读取操作、写入操作、擦除操作和后台操作的全部操作。后台操作包括诸如损耗平衡(wear-leveling)管理和垃圾回收的操作。
存储器控制器1100被配置为提供非易失性存储器装置1200和主机之间的接口。存储器控制器1100被配置为驱动用于控制非易失性存储器装置1200的固件。在实施例中,存储器控制器1100可包括诸如(但不限于)随机存取存储器(RAM)、处理单元、主机接口、存储器接口和纠错单元的元件。
存储器控制器1100可通过连接器1300与外部装置进行通信。存储器控制器1100可基于特定的通信协议与外部装置(例如,主机)进行通信。例如,存储器控制器1100可通过各种通信协议(诸如(但不限于)通用串行总线(USB)、多媒体卡(MMC)、eMMC(嵌入式MMC)、外围组件互连(PCI)、PCI-express(PCI-E)、先进技术附件(ATA)、串行ATA、并行ATA、小型计算机系统接口(SCSI)、增强型小磁盘接口(ESDI)、集成驱动电子电路(IDE)、火线、通用闪存(UFS)以及非易失性存储器标准(NVMe))中的至少一个来与外部装置进行通信。在实施例中,上述标准所定义的写入命令可包括写入数据的大小信息。
非易失性存储器装置1200可使用各种非易失性存储器装置(诸如(但不限于)电可擦除可编程ROM(EEPROM)、NAND闪存、NOR闪存、相变RAM(PRAM)、电阻式RAM(ReRAM)、铁电RAM(FRAM)和自旋扭矩磁性RAM(STT-MRAM))来实现。
在实施例中,存储器控制器1100或非易失性存储器装置1200可被集成在单个半导体装置中。在实施例中,存储器控制器1100或非易失性存储器装置1200可被集成在单个半导体装置中以形成固态硬盘(SSD)。存储器控制器1100或非易失性存储器装置1200可被集成在单个半导体装置中以形成存储卡。例如,存储器控制器1100或非易失性存储器装置1200可被集成在单个半导体装置中以形成存储卡,诸如(但不限于),PC卡(例如,个人计算机存储卡国际协会(PCMCIA)卡)、致密闪存卡(CF)、智能媒体卡(例如,SM或SMC)、记忆棒、多媒体卡(例如,MMC、RS-MMC、MMCmicro或eMMC)、SD卡(例如,SD、miniSD、microSD或SDHC)和通用闪存(UFS)。
图15是根据本发明构思的实施例的包括非易失性存储器装置的固态硬盘系统的示意图。参照图15,固态硬盘(SSD)系统2000包括主机2100和SSD 2200。SSD 2200可通过信号连接器2001与主机交换信号,并可通过电力连接器2002被供应电力。SSD 2200包括SSD控制器2210、多个非易失性存储器装置2221至非易失性存储器装置222n、辅助电源2230、缓冲存储器2240。响应于来自主机2100的信号,SSD控制器2210可控制非易失性存储器装置2221至非易失性存储器装置222n。
辅助电源2230通过电源连接器2002连接到主机2100。可从主机2100向辅助电源2230充电。当从主机2100不平稳地供应电力时,辅助电源2230可为SSD系统2000供电。例如,辅助电源2230可具有过度的纹波和噪声。辅助电源2230可被放置在SSD 2200的内部或外部。例如,辅助电源2230可被安装在主电路板上,以将辅助电力供应到SSD 2200。在一个实施例中,主机2100和SSD 2200被附接到主板。
缓冲存储器2240用作SSD 2200的缓冲存储器。例如,缓冲存储器2240可暂时存储从主机2100或从非易失性存储器装置2221至非易失性存储器装置222n接收的数据,或可暂时存储非易失性存储器装置2221至非易失性存储器装置222n的元数据(例如,映射表)。缓冲存储器2240可包括诸如DRAM和静态RAM(SRAM)的易失性存储器或诸如FRAM、ReRAM、SST-MRAM和PRAM的非易失性存储器。
图16是根据本发明构思的实施例的应用非易失性存储器装置的用户系统的示意图。参照图16,用户系统3000可包括应用处理器3100、存储器模块3200、网络模块3300、存储模块3400和用户接口3500。
应用处理器3100可驱动用户系统3000的元件(例如,操作系统)。在实施例中,应用处理器3100可包括用于控制用户系统3000的元件的控制器、图形引擎或各种接口。应用处理器3100可被包括在片上系统(SoC)封装中。
存储器模块3200可用作用户系统3000的主存储器、工作存储器、缓冲存储器或高速缓存。存储器模块3200可包括诸如DRAM和SRAM的易失性存储器或诸如FRAM、ReRAM、MRAM和PRAM的非易失性存储器。
网络模块3300可与外部装置进行通信。例如,网络模块3300可支持无线通信(诸如,码分多址(CDMA)、全球移动通信系统(GSM)、宽带CDMA(WCDMA)、CDMA-2000、时分多址(TDMA)、长期演进(LTE)、全球微波接入互操作性(WiMAX)、无线局域网(WLAN)、超宽带(UWB)、蓝牙和无线显示(WI-DI))。在实施例中,网络模块3300可被包括在应用处理器3100中。
存储模块3400可存储数据。例如,存储模块3400可存储从应用处理器3100接收的数据。可选地,存储模块3400可向应用处理器3100提供存储在其中的数据。在实施例中,存储模块3400可使用诸如EEPROM、NAND闪存、NOR闪存、PRAM、ReRAM、FeRAM和STT-MRAM的非易失性半导体性存储器装置来实现。
用户接口3500可包括将数据或命令输入到应用处理器3100或将数据输出到外部装置的接口。例如,用户接口3500可包括诸如键盘、小键盘、按钮、触摸面板、触摸屏、触摸板、触摸球、相机、麦克风、陀螺仪传感器和振动传感器的用户输入接口。用户接口3500还可包括诸如液晶显示器(LCD)、有机发光二极管(OLED)显示装置、有源矩阵OLED(AMOLED)显示装置、发光二极管(LED)、扬声器和电机的用户输出接口。
可根据各种不同的封装技术中的任何一种来封装非易失性存储器装置、卡控制器和存储卡。例如,可通过使用诸如层叠封装(PoP)、芯片级封装(CSP)、塑料双列直插式封装(PDIP)、陶瓷双列直插式封装(CERDIP)、薄型方形扁平封装(TQFP)、窄间距小外形封装(SSOP)、薄型小外形封装(TSOP)、晶圆级制造封装(WFP)、以及晶片级加工的堆叠式封装(WSP)的封装来对根据本发明构思的实施例的闪存装置和/或存储器控制器进行封装。
根据本发明构思的实施例,非易失性存储器装置可在编程操作或读取操作期间根据页中的段分别控制随机化发生器或纠错电路的操作,因而提高运行速度并降低功耗。
虽然已经示出和描述了本总体发明构思的一些实施例,但是本领域技术人员将理解,在不脱离由权利要求和它们的等同物限定范围的本总体发明构思的原理和精神的情况下,可对这些实施例做出改变。
Claims (20)
1.一种非易失性存储器装置,包括:
存储器单元阵列,包括具有写入数据的多个第一段和具有定义所述多个第一段之中的编程的段的编程信息的多个第二段;
随机化发生器,被配置为对写入数据进行随机化;
纠错电路,被配置为对写入数据执行纠错操作;
控制逻辑,被配置为:在编程操作期间,基于从存储器控制器接收的地址来确定编程信息,并基于编程信息的确定来确定是否运行随机化发生器和纠错电路;
页缓冲器,被配置为在随机化和纠错操作期间存储写入数据和编程信息。
2.如权利要求1所述的非易失性存储器装置,其中,所述多个第一段和所述多个第二段中的每一个包括连接到至少一个位线的存储器单元。
3.如权利要求1所述的非易失性存储器装置,其中,控制逻辑包括:
地址检查电路,被配置为基于在编程操作期间接收的地址来检查所述多个第一段是否被编程;
寄存器,被配置为存储地址检查电路的结果。
4.如权利要求1所述的非易失性存储器装置,其中,在读取操作期间,页缓冲器将所述多个第二段中的编程信息发送到控制逻辑,控制逻辑存储从页缓冲器发送的编程信息并基于编程信息确定是否运行纠错电路和随机化发生器,纠错电路响应于来自控制逻辑的第一命令而对从所述多个第一段检索的读取数据执行纠错操作,随机化发生器响应于来自控制逻辑的第二命令而对纠错电路所校正的读取数据执行去随机化操作。
5.如权利要求4所述的非易失性存储器装置,其中,控制逻辑包括:
地址检查电路,被配置为基于在编程操作期间接收的地址检查所述多个第一段中的每一个是否被编程;
第一寄存器,被配置为存储地址检查电路的结果;
第二寄存器,被配置为存储从页缓冲器发送的编程信息。
6.如权利要求5所述的非易失性存储器装置,其中,控制逻辑还包括:选择电路,选择第一寄存器的第一输出和第二寄存器的第二输出中的一个。
7.一种非易失性存储器装置,包括:
存储器单元阵列,包括具有写入数据的多个第一段和具有定义所述多个第一段之中的编程的段的编程信息的多个第二段;
控制逻辑,被配置为:在编程操作期间,基于从存储器控制器接收的地址,确定是否以第一段为单位对写入数据执行随机化操作;在读取操作期间,基于所述多个第二段中的编程信息,确定是否以第一段为单位对从所述多个第一段检索的读取数据执行去随机化操作。
8.如权利要求7所述的非易失性存储器装置,其中,所述多个第一段和所述多个第二段中的每一个包括连接到至少一个位线的存储器单元。
9.如权利要求7所述的非易失性存储器装置,还包括:
随机化发生器,被配置为对写入数据执行随机化操作和对来自所述多个第一段的读取数据执行去随机化操作。
10.如权利要求9所述的非易失性存储器装置,还包括:
页缓冲器,被配置为在编程操作期间存储随机化的数据或在读取操作期间存储去随机化的数据。
11.如权利要求7所述的非易失性存储器装置,其中,控制逻辑在编程操作期间基于地址确定是否以第一段为单位对写入数据执行纠错操作,并在读取操作期间基于所述多个第二段中的编程信息确定是否以第一段为单位对来自所述多个第一段的读取数据执行纠错操作。
12.如权利要求11所述的非易失性存储器装置,还包括:
随机化发生器,被配置为对写入数据执行随机化操作;
纠错电路,被配置为在编程操作期间对被随机化的写入数据执行纠错操作;
其中,在读取操作期间,纠错电路对从所述多个第一段检索的读取数据执行纠错操作,随机化发生器对被纠错的读取数据执行去随机化操作。
13.如权利要求12所述的非易失性存储器装置,还包括:
页缓冲器,被配置为在编程操作期间存储用于纠错和随机化的写入数据和在读取操作期间存储用于去随机化和纠错的读取数据。
14.如权利要求13所述的非易失性存储器装置,其中,控制逻辑包括:
地址检查电路,被配置为在编程操作期间基于地址检查所述多个第一段中的每一个是否被编程;
第一寄存器,被配置为存储地址检查电路的结果;
第二寄存器,被配置为存储所述多个第二段中的编程信息。
15.如权利要求14所述的非易失性存储器装置,其中,控制逻辑还包括:选择电路,选择第一寄存器的第一输出和第二寄存器的第二输出中的一个。
16.一种非易失性存储器装置,包括:
存储器单元阵列,包括具有写入数据的多个第一段和具有定义所述多个第一段之中的编程的段的编程信息的多个第二段;
控制逻辑,被配置为:在编程操作期间,基于从存储器控制器接收的地址,确定是否以第一段为单位对写入数据执行纠错操作;在读取操作期间,基于所述多个第二段中的编程信息,确定是否以第一段为单位对从所述多个第一段检索的读取数据执行纠错操作。
17.如权利要求16所述的非易失性存储器装置,还包括:
纠错电路,被配置为在编程操作期间对被随机化的写入数据执行纠错操作,其中,在读取操作期间,纠错电路对从所述多个第一段检索的读取数据执行纠错操作,随机化发生器对被纠错的读取数据执行去随机化操作。
18.如权利要求17所述的非易失性存储器装置,还包括:
页缓冲器,被配置为在编程操作期间存储用于纠错的写入数据和在读取操作期间存储用于纠错的读取数据。
19.如权利要求17所述的非易失性存储器装置,其中,控制逻辑被配置为在编程操作期间基于从存储器控制器接收的地址确定是否以第一段为单位对写入数据执行随机化操作,并在读取操作期间基于所述多个第二段中的编程信息确定是否以第一段为单位对从所述多个第一段检索的读取数据执行去随机化操作。
20.如权利要求19所述的非易失性存储器装置,还包括:
随机化发生器,被配置为对写入数据执行随机化操作和对来自所述多个第一段的读取数据执行去随机化操作。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020160042806A KR102438988B1 (ko) | 2016-04-07 | 2016-04-07 | 랜덤화 연산을 수행하는 불휘발성 메모리 장치 |
KR10-2016-0042806 | 2016-04-07 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107274929A CN107274929A (zh) | 2017-10-20 |
CN107274929B true CN107274929B (zh) | 2023-03-10 |
Family
ID=59999382
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710212175.2A Active CN107274929B (zh) | 2016-04-07 | 2017-04-01 | 用于执行随机操作的非易失性存储器装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10409515B2 (zh) |
KR (1) | KR102438988B1 (zh) |
CN (1) | CN107274929B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10706920B2 (en) * | 2017-11-02 | 2020-07-07 | Samsung Electronics Co., Ltd. | Memory device |
FR3074317B1 (fr) * | 2017-11-27 | 2019-11-22 | Idemia Identity & Security France | Procede d'acces a une zone memoire non volatile de type flash d'un element securise, tel qu'une carte a puce |
US10606743B2 (en) | 2017-12-05 | 2020-03-31 | Micron Technology, Inc. | Data movement operations in non-volatile memory |
US10636459B2 (en) | 2018-05-30 | 2020-04-28 | Micron Technology, Inc. | Wear leveling |
KR20200089547A (ko) * | 2019-01-17 | 2020-07-27 | 에스케이하이닉스 주식회사 | 저장 장치 및 그 동작 방법 |
CN111899783B (zh) * | 2019-05-06 | 2022-06-03 | 上海磁宇信息科技有限公司 | 一种利用写检测的高速mram芯片及其数据读写方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101622674A (zh) * | 2006-12-24 | 2010-01-06 | 晟碟以色列有限公司 | 利用随机化抑制错误的闪存装置、系统和方法 |
CN101763895A (zh) * | 2008-10-08 | 2010-06-30 | 三星电子株式会社 | 具有随机化器/去随机化器的数据存储系统和设备 |
CN101853699A (zh) * | 2009-03-04 | 2010-10-06 | 三星电子株式会社 | 非易失性存储设备及其操作方法 |
CN102737719A (zh) * | 2011-04-15 | 2012-10-17 | 三星电子株式会社 | 非易失性存储器器件、其操作方法以及包括其的系统 |
CN103928052A (zh) * | 2013-01-15 | 2014-07-16 | 三星电子株式会社 | 存储系统及其操作方法 |
CN105097028A (zh) * | 2014-05-13 | 2015-11-25 | 三星电子株式会社 | 包括非易失性存储器件的存储装置和该器件的读取方法 |
Family Cites Families (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100632952B1 (ko) * | 2004-09-30 | 2006-10-11 | 삼성전자주식회사 | 정전으로 인한 프로그램 페일의 유무를 판별할 수 있는방법 및 장치 |
EP1853363A2 (en) | 2005-01-24 | 2007-11-14 | Wizards of the Coast, Inc. | Game, such as collectable card game employing customizable features |
US7451380B2 (en) * | 2005-03-03 | 2008-11-11 | International Business Machines Corporation | Method for implementing enhanced vertical ECC storage in a dynamic random access memory |
KR100704628B1 (ko) * | 2005-03-25 | 2007-04-09 | 삼성전자주식회사 | 다수의 스트링을 사용하여 상태 정보를 저장하는 방법 및비휘발성 저장 장치 |
KR101393622B1 (ko) * | 2007-08-30 | 2014-05-13 | 삼성전자주식회사 | 멀티 비트 플래시 메모리 장치를 포함하는 시스템 및그것의 데이터 처리 방법 |
JP4334590B2 (ja) | 2007-12-12 | 2009-09-30 | 株式会社東芝 | 情報再生装置及び情報再生方法 |
JP2009157836A (ja) | 2007-12-27 | 2009-07-16 | Toshiba Corp | メモリシステム |
KR101516577B1 (ko) | 2008-11-10 | 2015-05-06 | 삼성전자주식회사 | 비휘발성 반도체 메모리 장치, 그를 포함하는 메모리 카드와 메모리 시스템 및 그의 리드 전압 추정 방법 |
KR20100111990A (ko) | 2009-04-08 | 2010-10-18 | 삼성전자주식회사 | 플래시 메모리 장치 및 그것의 데이터 랜덤화 방법 |
KR101650130B1 (ko) | 2010-05-14 | 2016-08-24 | 삼성전자주식회사 | 불휘발성 메모리 장치를 포함하는 저장 장치 및 그것의 카피-백 방법 |
KR101678915B1 (ko) | 2010-12-27 | 2016-11-23 | 삼성전자주식회사 | 플래시 메모리 장치, 그것의 데이터 랜덤화 방법, 및 그것을 포함하는 메모리 시스템 |
KR20120095609A (ko) | 2011-02-21 | 2012-08-29 | 삼성전자주식회사 | 반도체 메모리 시스템 및 이의 프로그램 방법 |
KR101736337B1 (ko) * | 2011-02-28 | 2017-05-30 | 삼성전자주식회사 | 비휘발성 메모리 장치, 상기 메모리 장치를 제어하는 컨트롤러, 및 상기 컨트롤러 동작 방법 |
WO2012117263A1 (en) * | 2011-03-02 | 2012-09-07 | Sandisk Il Ltd. | Method of data storage in non-volatile memory |
KR101893143B1 (ko) | 2011-03-16 | 2018-08-31 | 삼성전자주식회사 | 비휘발성 메모리 장치, 그것의 프로그램 방법 및 읽기 방법, 및 그것을 포함하는 메모리 시스템 |
KR20130049332A (ko) | 2011-11-04 | 2013-05-14 | 삼성전자주식회사 | 메모리 시스템 및 그것의 동작 방법 |
JP2013122804A (ja) | 2011-12-12 | 2013-06-20 | Toshiba Corp | 半導体記憶装置 |
US8581622B1 (en) | 2012-05-16 | 2013-11-12 | Hitachi, Ltd. | Semiconductor device |
KR102069864B1 (ko) | 2012-11-05 | 2020-01-23 | 에스케이하이닉스 주식회사 | 반도체 메모리 장치 및 이의 동작 방법 |
KR20140094668A (ko) * | 2013-01-17 | 2014-07-30 | 삼성전자주식회사 | 리던던시 회로 및 이를 포함하는 반도체 메모리 장치 |
KR102068342B1 (ko) | 2013-03-07 | 2020-01-20 | 삼성전자주식회사 | 메모리 제어기 및 그것을 포함하는 메모리 시스템 |
KR102112115B1 (ko) | 2013-04-17 | 2020-05-18 | 삼성전자주식회사 | 반도체 메모리 장치 및 그것의 데이터 프로그램 방법 |
KR20150049217A (ko) | 2013-10-29 | 2015-05-08 | 에스케이하이닉스 주식회사 | 랜더마이저 및 디랜더마이저를 포함하는 메모리 시스템 |
KR102133542B1 (ko) | 2013-12-03 | 2020-07-14 | 에스케이하이닉스 주식회사 | 랜더마이저 및 디랜더마이저를 포함하는 메모리 시스템 |
-
2016
- 2016-04-07 KR KR1020160042806A patent/KR102438988B1/ko active IP Right Grant
-
2017
- 2017-01-09 US US15/401,294 patent/US10409515B2/en active Active
- 2017-04-01 CN CN201710212175.2A patent/CN107274929B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101622674A (zh) * | 2006-12-24 | 2010-01-06 | 晟碟以色列有限公司 | 利用随机化抑制错误的闪存装置、系统和方法 |
CN101763895A (zh) * | 2008-10-08 | 2010-06-30 | 三星电子株式会社 | 具有随机化器/去随机化器的数据存储系统和设备 |
CN101853699A (zh) * | 2009-03-04 | 2010-10-06 | 三星电子株式会社 | 非易失性存储设备及其操作方法 |
CN102737719A (zh) * | 2011-04-15 | 2012-10-17 | 三星电子株式会社 | 非易失性存储器器件、其操作方法以及包括其的系统 |
CN103928052A (zh) * | 2013-01-15 | 2014-07-16 | 三星电子株式会社 | 存储系统及其操作方法 |
CN105097028A (zh) * | 2014-05-13 | 2015-11-25 | 三星电子株式会社 | 包括非易失性存储器件的存储装置和该器件的读取方法 |
Also Published As
Publication number | Publication date |
---|---|
US10409515B2 (en) | 2019-09-10 |
US20170293449A1 (en) | 2017-10-12 |
CN107274929A (zh) | 2017-10-20 |
KR102438988B1 (ko) | 2022-09-02 |
KR20170115644A (ko) | 2017-10-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10720945B2 (en) | Nonvolatile memory device and read and copy-back methods thereof | |
CN107274929B (zh) | 用于执行随机操作的非易失性存储器装置 | |
US9690654B2 (en) | Operation method of nonvolatile memory system | |
US9747170B2 (en) | Non-volatile multi-level cell memory system and method of performing adaptive data back-up in the system | |
US11275526B2 (en) | Memory controller for determining channel initialization time and method of operating the same | |
US9812214B2 (en) | Nonvolatile memory device, storage device including nonvolatile memory device and operating method of nonvolatile memory device | |
US11194736B2 (en) | Memory controller having improved map data access performance and method of operating the same | |
JP2012195047A (ja) | ページフラッグを有する不揮発性メモリ装置、それを含む駆動方法、及びメモリシステム | |
CN111258793B (zh) | 存储器控制器及其操作方法 | |
US8924628B2 (en) | Memory system and operating method thereof | |
CN111105832B (zh) | 存储装置和操作存储装置的方法 | |
US10983726B2 (en) | Storage device and method of operating the same for detecting last programmed page | |
US11422905B2 (en) | Storage device and method of operating the same | |
US11288202B2 (en) | Memory controller and method of operating the same | |
US11422739B2 (en) | Memory controller and method of operating the same | |
US20110310668A1 (en) | Flash Memory Device and Program Method Thereof | |
CN111949204A (zh) | 存储器系统、存储器控制器和存储器装置 | |
US11404100B2 (en) | Memory device and method of operating the same | |
US20200201547A1 (en) | Storage device and method of operating the same | |
CN112309446A (zh) | 存储设备和操作存储设备的方法 | |
US11693771B2 (en) | Storage device for storing randomized data and operating method of the same | |
US20200264959A1 (en) | Storage device and method of operating the same | |
CN112783435A (zh) | 存储设备和操作存储设备的方法 | |
CN112447234A (zh) | 存储器控制器及其操作方法 | |
US11500768B2 (en) | Storage device performing garbage collection and method of operating the same |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |