CN112349325A - 存储装置 - Google Patents
存储装置 Download PDFInfo
- Publication number
- CN112349325A CN112349325A CN202010766527.0A CN202010766527A CN112349325A CN 112349325 A CN112349325 A CN 112349325A CN 202010766527 A CN202010766527 A CN 202010766527A CN 112349325 A CN112349325 A CN 112349325A
- Authority
- CN
- China
- Prior art keywords
- memory device
- data
- volatile memory
- nand flash
- volatile
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C13/00—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
- G11C13/0002—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
- G11C13/0021—Auxiliary circuits
- G11C13/004—Reading or sensing circuits or methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
- G06F13/1673—Details of memory controller using buffers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
-
- 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/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0647—Migration mechanisms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
- G06F13/161—Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
- G06F13/1694—Configuration of memory controller to different memory types
-
- 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/0604—Improving or facilitating administration, e.g. storage management
-
- 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/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/065—Replication mechanisms
-
- 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/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- 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/068—Hybrid storage device
-
- 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/0683—Plurality of storage devices
- G06F3/0688—Non-volatile semiconductor memory arrays
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/005—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor comprising combined but independently operative RAM-ROM, RAM-PROM, RAM-EPROM cells
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/56—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
- G11C11/5671—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge trapping in an insulator
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C13/00—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
- G11C13/0002—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
- G11C13/0004—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements comprising amorphous/crystalline phase transition cells
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C13/00—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
- G11C13/0002—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
- G11C13/0021—Auxiliary circuits
- G11C13/0023—Address circuits or decoders
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C13/00—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
- G11C13/0002—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
- G11C13/0021—Auxiliary circuits
- G11C13/003—Cell access
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C13/00—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
- G11C13/0002—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
- G11C13/0021—Auxiliary circuits
- G11C13/0061—Timing circuits or methods
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C13/00—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
- G11C13/0002—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
- G11C13/0021—Auxiliary circuits
- G11C13/0069—Writing or programming circuits or methods
-
- 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/10—Programming or data input 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
- 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/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/3436—Arrangements for verifying correct programming or erasure
- G11C16/3454—Arrangements for verifying correct programming or for detecting overprogrammed cells
- G11C16/3459—Circuits or methods to verify correct programming of nonvolatile memory cells
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7202—Allocation control and policies
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/56—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
- G11C11/5621—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
- G11C11/5628—Programming or writing circuits; Data input circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/56—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
- G11C11/5678—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using amorphous/crystalline phase transition storage elements
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C2213/00—Indexing scheme relating to G11C13/00 for features not covered by this group
- G11C2213/70—Resistive array aspects
- G11C2213/79—Array wherein the access device being a transistor
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)
- Microelectronics & Electronic Packaging (AREA)
- Computer Hardware Design (AREA)
- Chemical & Material Sciences (AREA)
- Crystallography & Structural Chemistry (AREA)
- Read Only Memory (AREA)
Abstract
本发明提供了一种存储装置,其包括第一非易失性存储器装置、第二非易失性存储器装置和数据线。第二非易失性存储器装置具有与第一非易失性存储器装置不同的类型。数据线被第一非易失性存储器装置和第二非易失性存储器装置共享。通过数据线将第一数据同时提供至第一非易失性存储器装置和第二非易失性存储器装置,将第一数据写入至第二非易失性存储器装置,并且通过从第二非易失性存储器装置读取第一数据并将读取的第一数据提供至第一非易失性存储器装置将第一数据再编程至第一非易失性存储器装置中。
Description
相关申请的交叉引用
本申请要求于2019年8月7日在韩国知识产权局提交的韩国专利申请No.10-2019-0095826的优先权,该申请的公开以引用方式全文并入本文中。
技术领域
本公开涉及一种存储装置。
背景技术
闪速存储器是一种非易失性存储器,即使在电源中断时也能保留存储的数据。近年来,包括诸如嵌入式多媒体卡(eMMC)、通用闪速存储器(UFS)、固态驱动器(SSD)和存储卡的存储装置得到了广泛的应用。存储装置对于存储或移动大量数据很有用。
采用再编程方法的非易失性存储器装置将编程数据存储在缓冲器存储器中,最初对存储的编程数据进行编程,并对存储的编程数据进行再编程。也就是说,缓冲器存储器必须存储编程数据,直到对编程数据的初始编程和再编程结束。因此,再编程方法增加了缓冲器存储器被编程数据占用的时间,从而降低了缓冲器存储器的利用率。由于缓冲器存储器通常是昂贵的静态随机存取存储器(SRAM),因此缓冲器存储器的利用率降低会降低整个存储装置的价格竞争力。
发明内容
一方面是提供一种能够提升缓冲器存储器的利用的存储装置。
根据实施例的一方面,提供了一种存储装置,该存储装置包括:第一非易失性存储器装置;第二非易失性存储器装置,其具有与第一非易失性存储器装置不同的类型;以及数据线,其由第一非易失性存储器装置和第二非易失性存储器装置共享,其中通过数据线将第一数据同时提供至第一非易失性存储器装置和第二非易失性存储器装置,将第一数据写入至第二非易失性存储器装置,并且通过从第二非易失性存储器装置读取第一数据并将读取的第一数据提供至第一非易失性存储器装置来将第一数据再编程至第一非易失性存储器装置中。
根据实施例的另一方面,提供了一种存储装置,该存储装置包括:NAND闪速存储器装置;相变存储器装置;以及数据线,其由NAND闪速存储器装置和相变存储器装置共享,其中将第一数据通过数据线同时提供至NAND闪速存储器装置和相变存储器装置,并且将第一数据初始编程至NAND闪速存储器装置中,同时将其写入至相变存储器装置,其中,NAND闪速存储器装置的初始编程时段与相变存储器装置的写入时段至少部分地重叠。
根据实施例的另一方面,提供了一种存储装置,该存储装置包括:第一非易失性存储器装置;具有与第一非易失性存储器装置不同的类型的第二非易失性存储器装置;数据线,其由第一非易失性存储器装置和第二非易失性存储器装置共享;以及缓冲器存储器,其中第一数据占据缓冲器存储器的第一区,在将缓冲器存储器的第一数据通过数据线同时提供至第一非易失性存储器装置和第二非易失性存储器装置之后,第一数据对第一区的占据结束,并且在将第一数据初始编程至第一非易失性存储器装置中的同时,将第一数据写入至第二非易失性存储器装置。
根据实施例的另一方面,提供了一种存储装置,该存储装置包括:NAND闪速存储器装置、相变存储器装置、由NAND闪速存储器装置和相变存储器装置共享的数据线以及缓冲器存储器,其中第一数据占据缓冲器存储器的第一区,在通过数据线将缓冲器存储器的第一数据同时提供至NAND闪速存储器装置和相变存储器装置之后,第一数据对第一区的占据结束,在将第一数据初始编程至NAND闪速存储器装置中的同时,将第一数据写入至相变存储器装置,并且如果确定验证结果是初始编程失败,则通过读取存储在相变存储器装置中的第一数据并将读取的第一数据提供至NAND闪速存储器装置来将第一数据再编程至NAND闪速存储器装置中。
然而,本公开的各方面不限于本文阐述的各方面。对于本公开所属领域的普通技术人员之一来说,通过参照下面提供的本公开的详细描述,本公开的以上和其它方面将变得更加清楚。
附图说明
从下面结合附图对实施例的描述中,这些和/或其它方面将变得清楚和更加容易理解,其中:
图1是根据实施例的存储装置的框图;
图2是图1的存储装置的第一非易失性存储器单元阵列的电路图;
图3是图1的存储装置的第二非易失性存储器单元阵列的电路图;
图4是示出根据实施例的图1至图3的存储装置的操作的示例的流程图;
图5是用于解释图4的流程图的操作S10和操作S20的时序图;
图6是用于解释图4的流程图的操作S30的概念图;
图7是根据实施例的存储装置的框图;
图8是用于解释图7的存储装置的操作的示例的时序图;
图9是用于解释根据实施例的存储装置的操作的示例的时序图;
图10是根据实施例的存储装置的框图;以及
图11是根据实施例的存储装置的框图。
具体实施方式
下文中,将参照附图描述各个实施例。
图1是根据实施例的存储装置的框图。
参照图1,存储装置包括第一非易失性存储器(NVM)装置100、第二非易失性存储器(NVM)装置200、控制器300和缓冲器存储器400。
第一非易失性存储器装置100可以是用于存储数据的主要存储器,第二非易失性存储器装置200可以是用于辅助第一非易失性存储器装置100的数据存储的备用存储器。例如,当第一非易失性存储器装置100出现程序错误时,第二非易失性存储器装置200可以用于恢复备份。可替换地,第二非易失性存储器装置200可以存储用于第一非易失性存储器装置100的再编程操作的数据,但是实施例不限于这种情况。
在一些实施例中,第一非易失性存储器装置100和第二非易失性存储器装置200可以是不同类型的。这里,第一非易失性存储器装置100的编程时间可以大于第二非易失性存储器装置200的写入时间。另外,第一非易失性存储器装置100的读取时间可以大于第二非易失性存储器装置200的读取时间。例如,在一些实施例中,第一非易失性存储器装置100可以是NAND存储器装置,第二非易失性存储器装置200可以是相变存储器装置。可替换地,在一些实施例中,第一非易失性存储器装置100可以是可在一个存储器单元中存储多比特的闪速存储器装置(例如,三阶单元(TLC)存储器装置或者四阶单元(QLC)存储器装置),第二非易失性存储器装置200可以是可在一个存储器单元中存储一比特的闪速存储器装置(例如,一阶单元(SLC)存储器装置)。也就是说,第一非易失性存储器装置100可以具有n阶存储器单元(其中n是自然数),第二非易失性存储器装置200可以具有m阶存储器单元(其中m是自然数),并且n>m。第一非易失性存储器装置100和第二非易失性存储器装置200不限于以上示例。
为了易于描述,在图1中,第一非易失性存储器装置100被示出为包括具有多个第一存储器单元的第一非易失性存储器(NVM)单元阵列110和第一输入/输出(I/O)驱动器120。相似地,在图1中,第二非易失性存储器装置200被示出为包括具有多个第二存储器单元的第二非易失性存储器(NVM)单元阵列210和第二输入/输出(I/O)驱动器220。特定内部功能块可以根据第一非易失性存储器装置100的类型和第二非易失性存储器装置200的类型而变化。
缓冲器存储器400可以实现为(但不限于)静态随机存取存储器(SRAM)或者动态随机存取存储器(DRAM)。缓冲器存储器400的编程/读取时间(速度)可以比第一非易失性存储器装置100的编程/读取时间(速度)更快。
具体地说,在图1所示的根据实施例的存储装置中,第一非易失性存储器装置100和第二非易失性存储器装置200可以彼此共享数据线310。通过共享的数据线310,可以将数据DATA1同时提供至第一非易失性存储器装置100和第二非易失性存储器装置200。也就是说,将数据DATA1提供至第一非易失性存储器装置100和第二非易失性存储器装置200所需的时间可以最小化。
另外,第二非易失性存储器装置200可以共享第一非易失性存储器装置100的接口(图中未示出)。因此,如果第一非易失性存储器装置100是NAND存储器装置,第二非易失性存储器装置200是相变存储器装置,则用于控制NAND闪速存储器装置的命令/地址/数据也可以用于控制相变存储器装置。将稍后详细描述利用共享的数据线310和共享的接口来操作存储装置的方法。
图2是图1的存储装置的第一非易失性存储器单元阵列110的电路图。
参照图2,第一非易失性存储器单元阵列110可以是三维(3D)存储器单元阵列,但是实施例不限于这种情况。第一非易失性存储器单元阵列110也可以是二维(2D)存储器单元阵列。
在3D存储器单元阵列中,存储器单元的阵列可以在一个或多个物理级(physicallevel)上单片地形成,并且还可以包括与存储器单元的操作相关的电路。术语“单片”表示阵列的每一级的层直接沉积在所述阵列的每一下一级的层上。3D存储器阵列可以包括竖直定向使得至少一个存储器单元位于其它存储器单元之上的竖直NAND串。所述至少一个存储器单元可以包括电荷俘获层。
具体地说,单元串NS11至NS41设置在第一位线BL<1>与共源极线CSL之间。单元串NS12至NS42设置在第二位线BL<2>与共源极线CSL之间。单元串NS14至NS44设置在第四位线BL<4>与共源极线CSL之间。
各单元串NS的串选择晶体管SST连接至对应的位线BL。各单元串NS的地选择晶体管GST连接至共源极线CSL。存储器单元MC1至MC7设置在各单元串NS的串选择晶体管SST与地选择晶体管GST之间。
单元串NS的行和列定义如下。
共同地连接至一条位线的单元串NS形成一列。例如,连接至第一位线BL<1>的单元串NS11至NS41可以对应于第一列。连接至第二位线BL<2>的单元串NS12至NS42可以对应于第二列。连接至第四位线BL<4>的单元串NS14至NS44可以对应于第四列。
连接至一条串选择线SSL的单元串NS形成一行。例如,连接至第一串选择线SSL<1>的单元串NS11至NS14形成第一行。连接至第二串选择线SSL<2>的单元串NS21至NS24形成第二行。连接至第四串选择线SSL<4>的单元串NS41至NS44形成第四行。
每个单元串NS包括地选择晶体管GST。地选择晶体管GST可以被一条地选择线GSL控制。可替换地,虽然附图中未示出,但是对应于各行的单元串可以由不同地选择线控制。例如,对应于第一行的单元串NS11、NS12、NS14的各自的地选择晶体管GST可以连接至第一地选择线GSL1。另外,对应于第二行的单元串NS21、NS22、NS24的各自的地选择晶体管GST可以连接至第二地选择线GSL2。对应于第四行的单元串NS41、NS42、NS44的各自的地选择晶体管GST可以连接至第四地选择线GSL4。
对应于相同半导体层的存储器单元共享字线(WL<0>至WL<6>之一)。
同一行的单元串NS共享一条串选择线SSL。不同行的单元串NS分别连接至不同的串选择线SSL<1>、SSL<2>、SSL<4>。下文中,将第一串选择晶体管SST1定义为连接至第一串选择线SSL<1>的串选择晶体管SST。将第二串选择晶体管SST2定义为连接至第二串选择线SSL<2>的串选择晶体管SST。将第四串选择晶体管SST4定义为连接至第四串选择线SSL<4>的串选择晶体管SST。
共源极线CSL被共同地连接至单元串NS。
第一非易失性存储器单元阵列110可包括多个存储器单元块BLKi。一个存储器块BLKi可以划分为多个区段,每个区段包括共享一条串选择线SSL的多个串。也就是说,存储器块BLKi可以划分为多个子块SB,每个子块SB包括共享一个串的多个单元串。
另外,交替编程可以以子块SB为单位应用,子块SB各自小于一个存储器块BLKi。共享第一串选择线SSL<1>的单元串NS11、NS12、NS14可以被编组至第一子块SB1中。共享第二串选择线SSL<2>的单元串NS21、NS22、NS24可以被编组至第二子块SB2中。共享第四串选择线SSL<4>的单元串NS41、NS42、NS44可以被编组至第四子块SB4中。虽然将九个单元串分组至三个子块中,但是实施例不限于这种情况。可替换地,与以上描述不同,交替编程可以以存储器块BLKi为单位应用,每个存储器块BLKi为擦除基本单位。
图3是图1的存储装置的第二非易失性存储器单元阵列210的电路图。
参照图3,第二非易失性存储器单元阵列210包括多条字线WL0至WLa(其中a是1或更大的自然数)、多条位线BL0至BLb(其中b是1或更大的自然数)以及设置在字线WL0至WLa与位线BL0至BLb的交叉部分处的多个存储器单元MC。当将单元阵列210实施为电阻存储器时,存储器单元MC中的每一个可包括单元晶体管和电阻元件。另外,存储器单元MC中的每一个的单元晶体管和电阻元件可以连接在位线BL0至BLb中的任一条与源极线SL之间。虽然未清楚地示出,多个存储器单元MC可以共同连接至相同的源极线SL,但是实施例不限于这种情况。行解码器选择字线WL0至WLa,以提供用于导通或截止单元晶体管的信号,并且列解码器选择位线BL0至BLb。
电阻元件可以是利用相变材料的相变随机存取存储器(PRAM)、利用诸如复合金属氧化物的可变电阻材料的电阻式随机存取存储器(RRAM)或者利用铁磁材料的磁随机存取存储器(MRAM)。形成电阻元件的材料可以具有根据电流或电压的大小和/或方向改变的电阻值并且可以具有即使电流或电压中断也保持电阻值的非易失性特征。
现在将参照图4至图6详细描述根据图1-3所示的实施例的存储装置的操作。图4是示出根据实施例的存储装置的操作的示例的流程图。图5是用于解释图4的流程图中的操作S10和S20的时序图。图6是用于解释图4的流程图中的操作S30的概念图。
参照图1和图4,将待编程至第一非易失性存储器装置100中的第一数据DATA1存储在缓冲器存储器400中。
然后,将第一数据DATA1通过共享的数据线310同时提供至第一非易失性存储器装置100和第二非易失性存储器装置200(操作S10)。
具体地说,参照图5,NVM1表示第一非易失性存储器装置100,NVM2指示第二非易失性存储器装置200,并且DQ指示数据线。CE1指示用于选择第一非易失性存储器装置100的第一芯片选择信号,并且CE2指示用于选择第二非易失性存储器装置200的第二芯片选择信号。
在t0至t1的时间区段中,激活第一芯片选择信号CE1。在该时间中,将编程命令PGM和指示第一非易失性存储器装置100中的位置的第一地址ADDR1通过共享的数据线DQ提供至第一非易失性存储器装置100。
在t1至t2的时间区段中,激活第二芯片选择信号CE2。在该时间中,将写入命令WR和指示第二非易失性存储器装置200中的位置的写入地址WADDR通过共享的数据线DQ提供至第二非易失性存储器装置200。
在t2至t3的时间区段中,激活第一芯片选择信号CE1和第二芯片选择信号CE2。在该时间中,通过共享的数据线DQ提供第一数据DATA1。由于数据线DQ共享,因此将第一数据DATA1被同时提供至第一非易失性存储器装置100和第二非易失性存储器装置200。
再参照图1和图4,将第一数据DATA1初始编程至第一非易失性存储器装置100中,并且将其写入至第二非易失性存储器装置200(操作S20)。
具体地说,参照图5,在t3至t4的时间区段中,激活第一芯片选择信号CE1。将编程确认信号CF1提供至第一非易失性存储器装置100。从时间t4开始,将第一数据DATA1初始编程至第一非易失性存储器装置100中。
在t4至t5的时间区段中,激活第二芯片选择信号CE2。将写入确认信号CF2提供至第二非易失性存储器装置200。从时间t5开始,将第一数据DATA1写入至第二非易失性存储器装置200。
如上所述,第一非易失性存储器装置100的初始编程时段tPGM和第二非易失性存储器装置200的写入时段tWR可以至少部分地彼此重叠。如上所述,第一非易失性存储器装置100的编程时间可以比第二非易失性存储器装置200的写入时间长。因此,如图5所示,由于首先开始第一非易失性存储器装置100的初始编程操作,第二非易失性存储器装置200的写入操作可以在第一非易失性存储器装置100的初始编程时段tPGM内完成。
参照图1和图4,通过从第二非易失性存储器装置200读取第一数据DATA1并且将第一数据DATA1提供至第一非易失性存储器装置100来将第一数据DATA1再编程至第一非易失性存储器装置100中(操作S30)。
这种情况(即,利用第一数据DATA1执行再编程的情况)可以是确定验证结果是第一数据DATA1初始编程入第一非易失性存储器装置100已失败的情况。将存储在第二非易失性存储器220中的数据用作备份数据。
具体地说,参照图6,如果确定验证结果是初始编程操作已失败,则控制器300可以将读取命令/地址提供至第二非易失性存储器装置200,以从第二非易失性存储器装置200读取第一数据DATA1。由于如上所述,第二非易失性存储器装置200的读取速度比第一非易失性存储器装置100的读取速度快,因此可以相对快地读取第一数据DATA1(见①)。读取的第一数据DATA1可以暂时存储在缓冲器存储器400的区(区块401)中(见②)。控制器300可以从缓冲器存储器400取回第一数据DATA1(见③),并且可以将第一数据DATA1转移至第一非易失性存储器装置100(见④)。因此,第一数据DATA1可被再编程。
这里,假设不存在第二非易失性存储器装置200。在这种情况下,第一数据DATA1占据缓冲器存储器400的区401,以被再编程至第一非易失性存储器装置100中。然后,第一数据DATA1被提供至第一非易失性存储器装置100,并且被初始编程至第一非易失性存储器装置100中。在初始编程操作中,缓冲器存储器400无法释放第一数据DATA1占据的空间(结束第一数据DATA1的占据)。如果确定验证结果是初始编程操作已失败,则控制器300从缓冲器存储器400取回第一数据DATA1,并且再次将第一数据DATA1提供至第一非易失性存储器100。因此,第一数据DATA1被再编程。如果确定验证再编程操作的结果是再编程操作成功,则存储器400可以最终释放第一数据DATA1占据的空间(结束第一数据DATA1的占据)。也就是说,缓冲器存储器400的利用非常低。
另一方面,与以上示例(其中没有第二非易失性存储器装置200的情况)相比,根据图1至图6所示的实施例的存储装置如下操作。首先,第一数据DATA1占据缓冲器存储器400的区401。通过共享的数据线310将第一数据DATA1同时提供至第一非易失性存储器装置100和第二非易失性存储器装置200。在提供第一数据DATA1之后,缓冲器存储器400释放第一数据DATA1的占据(结束第一数据DATA1的占据)。这是因为可以从第二非易失性存储器装置200读取第一数据DATA1,并且随后在确定验证结果是初始编程操作已失败的情况下使用第一数据DATA1对第一非易失性存储器装置100再编程。也就是说,由于在对第一数据DATA1的编程完成(成功)之前,缓冲器存储器400不需要被第一数据DATA1占据,因此缓冲器存储器400的利用可以增加。
图7是根据实施例的存储装置的框图。图8是用于解释图7的存储装置的操作的示例的时序图。为了易于描述,下面将主要描述与参照图1至图6描述的元件和特征的不同之处。将参照图7和图8描述存储装置的多阶段编程操作。
首先,参照图7,第一非易失性存储器装置100的第一非易失性存储器单元阵列110可包括多个存储器单元块。例如,在一些实施例中,第一非易失性存储器单元阵列110可包括奇数编号的存储器单元块110a和偶数编号的存储器单元块110b。第二非易失性存储器装置200可包括存储器单元块210a。
多阶段编程操作是指对彼此间隔开的存储器单元块110a和110b同时编程。通过同时对多个存储器单元块110a和110b编程,能够减少编程时间。在图7中,奇数编号的存储器单元块110a和偶数编号的存储器单元块110b被同时编程。
由于奇数编号的存储器块110a和偶数编号的存储器单元块110b被同时编程,因此在将用于奇数编号的存储器单元块110a的第一数据DATA1和用于偶数编号的存储器单元块110b的第二数据DATA2提供至第一非易失性存储器装置100之后开始编程操作。
具体地说,参照图8,在t0至t1的时间区段中,激活第一芯片选择信号CE1。在该时间中,通过共享的数据线DQ提供编程命令PGM和指示第一非易失性存储器装置100中的位置的第一地址ADDR1。
在t1至t2的时间区段中,激活第二芯片选择信号CE2。在该时间中,通过共享的数据线DQ提供写入命令WR和指示第二非易失性存储器装置200中的位置的第一写入地址WADDR1。
在t2至t3的时间区段中,激活第一芯片选择信号CE1和第二芯片选择信号CE2。在该时间中,通过共享的数据线DQ提供第一数据DATA1。第一数据DATA1可以是待编程至奇数编号的存储器单元块110a中的数据。
在t3至t4的时间区段中,激活第一芯片选择信号CE1。在该时间中,通过共享的数据线DQ提供编程命令PGM和指示第一非易失性存储器装置100中的位置的第二地址ADDR2。
在t4至t5的时间区段中,激活第二芯片选择信号CE2。在该时间中,通过共享的数据线DQ提供写入命令WR和指示第二非易失性存储器装置200中的位置的第二写入地址WADDR2。
在t5至t6的时间区段中,激活第一芯片选择信号CE1和第二芯片选择信号CE2。在该时间中,通过共享的数据线DQ提供第二数据DATA2。第二数据DATA2可以是待编程至偶数编号的存储器单元块110b中的数据。
在t6至t7的时间区段中,激活第一芯片选择信号CE1。将编程确认信号CF1提供至第一非易失性存储器装置100。从时间t7开始,将第一数据DATA1和第二数据DATA2初始编程至第一非易失性存储器装置100中。将第一数据DATA1编程至奇数编号的存储器单元块110a中,将第二数据DATA2编程至偶数编号的存储器单元块110b中。
在t7至t8的时间区段中,激活第二芯片选择信号CE2。将写入确认信号CF2提供至第二非易失性存储器装置200。从时间t8开始,将第一数据DATA1和第二数据DATA2写入至第二非易失性存储器装置200。
第一非易失性存储器装置100的编程时段tPGM和第二非易失性存储器装置200的写入时段tWR可以至少部分地彼此重叠。
与以上参照图7至图8的描述不同,在一些实施例中,可以将第二数据DATA2编程至奇数编号的存储器单元块110a中,并且可以将第一数据DATA1编程至偶数编号的存储器单元块110b中。
如以上参照图7和图8的描述,在多阶段编程操作中,可以将分别用于奇数编号的存储器单元块110a和偶数编号的存储器单元块110b的数据DATA1和DATA2提供至第一非易失性存储器装置100。因此,数据转移时间(即,t0至t6的时间段)不可避免地比诸如参照图1至图6描述的情况更长。
这里,如果在一个存储器单元中存储两比特或更多比特,则增加数据转移时间。如果第一非易失性存储器装置100包括多层单元(MLC),则数据转移时间变成时间段t0至t6的两倍。如果第一非易失性存储器装置100包括三层单元(TLC),则数据转移时间变成时间段t0至t6的三倍。如果第一非易失性存储器装置100包括四层单元(QLC),则数据转移时间变成时间段t0至t6的四倍。
假设在第二存储器装置200不用作备份存储器的情况下,缓冲器存储器(例如,SRAM)被占据增加的数据转移时间。另外,缓冲器存储器在编程完成之前持续被占据。此外,如果在一个存储器单元中存储两比特或更多比特,则缓冲器存储器的利用明显减少。
然而,图7至图8所示的根据实施例的存储装置在通过共享的数据线310将数据传输至第一非易失性存储器装置100和第二非易失性存储器装置200之后结束数据对缓冲器存储器400的占据。在将数据写入至第二非易失性存储器装置200之前也可以释放(结束)数据对缓冲器存储器400的占据。因此,即使两比特或更多比特被存储在一个存储器单元中和/或执行多阶段操作,缓冲器存储器400的利用可增加。
图9是用于解释根据实施例的存储装置的操作的示例的时序图。为了易于描述,下面将主要描述与利用图1至图8描述的元件和特征的不同之处。
将参照图9描述其中第一非易失性存储器装置100是采用再编程方法以及交替编程方法的NAND闪速存储器装置的情况作为示例。NAND闪速存储器装置可包括TLC或者QLC,各自存储三比特或更多比特。当三比特或更多比特存储在一个存储器单元中时,可以将相同的数据编程两次或更多次以精确/稳定地编程。这就是再编程方法。
顺序编程方法是对连接至第一字线的存储器单元编程然后对连接至下一字线(第二字线)的存储器单元编程。另一方面,所述交替编程方法是指按照预设次序对第二字线的一些存储器单元、前一字线(第一字线)的一些存储器单元和/或下一字线(第三字线)的一些存储器单元交替地编程。也就是说,对连接至邻近字线的存储器单元交替地编程。
另外,参照图9,通道Channel0至Channel3中的每一个指在一个集群(或组)与控制器300之间存在的独立数据通路。数据通路可包括数据和/或命令通过其传输的传输线。路(way)Way0至Way7中的每一个可以指共享一个通道的一个或多个非易失性存储器装置的一个集群(或组)。例如,路Way0和Way4共享通道Channel0。图9中的DMA指数据转移时间。
如图9所示,按次序执行第N字线的初始编程操作Nth WL PGM1、第(N-1)字线的再编程操作(N-1)th WL PGM2、第(N+1)字线的初始编程操作(N+1)th WL PGM1和第N字线的再编程操作Nth WL PGM2。
可以例如逐子块执行各字线的编程。例如,如果第N字线被分为四个子块,则可以执行四个数据转移操作和四个编程操作。也就是说,第N字线的初始编程操作Nth WL PGM1包括对应于第一子块的数据转移时间511、第一子块的编程时间tPGM、对应于第二子块的数据转移时间512、第二子块的编程时间、对应于第三子块的数据转移时间513、第三子块的编程时间、对应于第四子块的数据转移时间514和第四子块的编程时间。注意,为了方便解释,图9中仅示出了数据转移时间511与数据转移时间512之间的编程时间tPGM。也就是说,例如,数据转移时间512与数据转移时间513之间还有另一编程时间tPGM等。
类似地,第(N-1)字线的再编程操作(N-1)th WL PGM2包括四个数据转移操作515至518和(具有对应的编程时间的)四个编程操作。
第(N+1)字线的初始编程操作(N+1)th WL PGM1包括四个数据转移操作519至522和(具有对应的编程时间的)四个编程操作。
然后,执行第N字线的再编程操作Nth WL PGM2。在第N字线的再编程操作Nth WLPGM2中,对应于第一子块的数据转移时间523和第一子块的编程时间tPGM开始。在数据转移时间511和数据转移时间523中被转移的数据是将被编程至相同子块中的数据。
总之,如图9所示,第N字线的第一子块的初始编程与第N字线的第一子块的再编程之间的时间段tBF1相当长(见511和523)。这是因为对连接至第(N-1)字线和/或第(N+1)字线的子块的编程被置于对第N字线的第一子块的初始编程与对第N字线的第一子块的再编程之间。
这里,假设第二非易失性存储器装置200未被用作备份存储器,待编程至第N字线的第一子块中的数据占据缓冲器存储器400非常长的时间段tBF1。
然而,在根据实施例的存储装置中,在将数据提供至第一非易失性存储器装置100(也就是说,见511)之后,控制器300释放(结束)待被编程至第N字线的第一子块中的数据对缓冲器存储器400的占据。也就是说,待被编程至第N字线的第一子块中的数据仅对缓冲器存储器400占据非常短的时间段tBF2。因此,缓冲器存储器400的利用可增加。
图10是根据实施例的存储装置的框图。为了易于描述,下面将主要描述与利用图1至图9描述的元件和特征的不同之处。
参照图10,第一非易失性存储器装置111可以是可以在一个存储器单元中存储多比特的闪速存储器装置(例如,TLC存储器装置或QLC存储器装置),并且第二非易失性存储器装置112可以是可以在一个存储器单元中存储一比特的闪速存储器装置(例如,SLC存储器装置)。也就是说,第一非易失性存储器装置111可以具有n级存储器单元(其中n是自然数),第二非易失性存储器装置112可以具有m级存储器单元(其中m是自然数),并且n>m。例如,如果第一非易失性存储器装置111是QLC,第二非易失性存储器装置112是SLC,四比特存储在一个QLC和四个SLC中。控制器300可以通过考虑这一点产生地址。
如图所示,第一非易失性存储器装置111和第二非易失性存储器装置112可以并入一个设备101,但是实施例不限于这种情况。输入/输出驱动器121可以同时将数据编程至第一非易失性存储器装置111和第二非易失性存储器装置112。可替换地,在一些实施例中,第一非易失性存储器装置111和第二非易失性存储器装置112可以在物理上彼此分离。
图11是根据实施例的存储装置的框图。
参照图11,可以将存储装置1300应用于数据处理***1000,并且存储装置1300和主机1200连接并且通过接口1500彼此通信。
根据实施例,数据处理***1000可以实施为个人计算机(PC)、台式计算机、笔记本计算机、工作站计算机或者移动计算装置。
移动计算装置可以实施为移动电话、智能电话、平板PC、个人数字助理(PDA)、企业数字助理(EDA)、数码相机、数码摄像机、便携式多媒体播放器(PMP)、多媒体装置、个人或者便携式导航装置(PND)、掌上游戏机、移动互联网装置(MID)、可穿戴装置(或者可穿戴计算机)、物联网(IoT)装置、万物网(IoE)装置或者电子书(e-book)。
接口1500可以实施为(但不限于)串行高级技术附件(SATA)接口、快速SATA(SATAe)接口、串行小型计算机***接口(SCSI)、快速***组件互连(PCIe)接口、快速非易失性存储器(NVMe)接口、高级主机控制器接口(AHCI)、NAND型闪速存储器或多媒体卡(MMC)接口。根据实施例,接口1500可以传输电信号或者光学信号。
主机1200可以通过接口1500控制存储装置1300的数据处理操作(例如,写入操作(或者编程操作)或者读取操作)。例如,主机1200可以是主机控制器。
根据实施例,主机1200可以实施为集成电路(IC)、母板、应用处理器(AP)、移动AP或者片上***(SoC)。
中央处理单元(CPU)1220和主机接口(I/F)1230可以通过总线结构1210彼此交换命令和/或数据。
总线结构1210可以实施为(但不限于)高级微控制器总线架构(AMBA)、高级高性能总线(AHB)、高级***总线(APB)、高级可扩展接口(AXI)、高级***总线(ASB)或其组合。
CPU 1220可以产生用于控制存储装置1300的写入操作的写入请求或者用于控制存储装置1300的读取操作的读取请求。写入请求可包括写入地址,读取请求可包括读取地址。例如,CPU 1220可包括一个或多个核。请求可指命令。
主机接口1230可以改变待传输至存储装置1300的命令和/或数据的格式,并且通过接口1500将改变后的命令和/或数据传输至存储装置1300。另外,主机接口1230可以改变从存储装置1300接收到的响应和/或数据的格式,并且通过总线结构1210将改变后的响应和/或数据传输至CPU 1220。根据实施例,主机接口1230可包括能够发送和接收命令和/或数据的收发器。主机接口1230的结构和操作可以针对接口1500的结构和操作合适地实施。
存储装置1300可包括控制器1310和非易失性存储器(NVMs)1400。根据实施例,存储装置1300还可以包括缓冲器1380。
存储装置1300可以对应于根据以上参照图1至图10描述的实施例的存储装置。存储装置1300可以存储在控制器1310的控制下从主机1200向非易失性存储器1400输出的数据。
存储装置1300可以实施为(但不限于)基于闪速存储器的存储器装置。例如,存储装置1300可以实施为(但不限于)智能卡、安全数位(SD)卡、多媒体卡(MMC)、嵌入式MMC(eMMC)、嵌入式多芯片封装(eMCP)、完美页面NAND(PPN)、通用闪存(UFS)、通用串行总线(USB)闪速驱动、固态驱动(SSD)或者嵌入式SSD(eSSD)。
控制器1310可以控制在主机1200与非易失性存储器1400之间交换的命令和/或数据。根据实施例,控制器1310可以实施为IC或者SoC。控制器1310可包括总线结构1320、装置接口(I/F)1330、处理器1340、内部存储器1350、存储器控制器1360和缓冲器管理器1370。
总线结构1320可以实施为(但不限于)AMBA、AHB、APB、AXI、ASB或者它们的组合。
装置接口1330可以改变将被传输至主机1200的响应和/或数据的格式,并且通过接口1500将改变后的响应和/或数据传输至主机1200。另外,装置接口1330可以接收从主机1200传输的命令和/或数据,改变接收到的命令和/或数据的格式,以及将改变后的命令和/或数据传输至处理器1340和/或缓冲器管理器1370。根据实施例,装置接口1330可包括可以传输和接收信号和/或数据的收发器。装置接口1320的结构和操作可以针对接口1500的结构和操作合适地实施。
处理器1340可以通过总线结构1320控制装置接口1330、内部存储器1350、存储器控制器1360和缓冲器管理器1370。处理器1340可以执行可以控制存储装置1300的操作的固件(或者计算机程序)。根据实施例,控制器1310可包括用于处理从主机1200输出的命令和/或数据的处理器和用于控制针对非易失性存储器1400的访问操作(例如,写入操作、读取操作和/或擦除操作)的处理器。
内部存储器1350可以存储用于控制器1310的操作的数据或者通过由控制器1310执行的数据处理操作(例如,写入操作或者读取操作)产生的数据。根据实施例,内部存储器1350可以实施为随机存取存储器(RAM)、DRAM、SRAM、缓冲器、缓冲器存储器、高速缓存或者紧密结合的存储器(TCM)。
内部存储器1350可以存储从非易失性存储器1400中的至少一个加载的闪存转换层(FTL)。FTL可以指示用于执行地址映射、损耗均衡和/或垃圾收集的固件,其中地址映射用于将从主机1200输出的逻辑地址映射至非易失性存储器1400的物理地址。
存储器控制器1360可以在处理器1340的控制下控制在非易失性存储器1400上执行的数据处理操作(例如,写入操作、读取操作和/或擦除操作)。例如,当非易失性存储器1400实施为闪速存储器时,存储器控制器1360可以用作闪速存储器控制器。存储器控制器1360和非易失性存储器1400可以通过通道交换控制信号和/或数据。
存储器控制器1360可以控制对包括在非易失性存储器1400中的数据块执行的垃圾收集。根据实施例,存储器控制器1360可以管理关于垃圾收集的数据块的映射表信息。
根据实施例,存储器控制器1360可以支持SATA接口、SATAe接口、SAS、PCIe接口、NVMe接口、AHCI、MMC接口、NAND式闪速存储器接口或者NOR式闪速存储器接口。
缓冲器管理器1370可以将数据写入至缓冲器1380或者从缓冲器1380读取数据。根据实施例,缓冲器1380可以实施为RAM、SRAM或者DRAM。
缓冲器1380可以存储用于非易失性存储器1400的逻辑地址-物理地址转换的映射表和关于包括在非易失性存储器1400中的各数据块的映射表信息的位图。位图可包括映射表的编号和用于对应的数据块的索引信息。映射表和位图可以由FTL更新。
缓冲器1380也可以用作高速缓存,其临时存储待被传输至非易失性存储器1400的写入数据。
这里,控制器1310和缓冲器1380可以对应于根据上述参照图1至图10的实施例的控制器300和缓冲器存储器400。
根据实施例,当控制器1310和缓冲器1380实施为不同的半导体芯片时,控制器1310和缓冲器1380可以实施为一个封装,例如,层叠封装(PoP)、多芯片封装(MCP)或者***封装(SiP)。
非易失性存储器1400可以存储操作***(OS)、各种程序以及各种数据。非易失性存储器1400中的每一个可包括至少一个存储器单元阵列。非易失性存储器1400中的每一个可以实施为半导体芯片或者半导体封装。至少一个面板可以布置在(或形成在)存储器控制器1360与非易失性存储器1400之间。通道可包括用于传输命令和/或数据的传输线。根据实施例,非易失性存储器1400可以实施为A通道×B路。这里,A和B可以各自为1或更大的自然数。
这里,非易失性存储器1400中的一个或多个可以对应于根据上面参照图1至图10描述的实施例的第一非易失性存储器装置100和第二非易失性存储器装置200。
尽管已经参考附图讨论了示例性实施例,但是应当理解,在不脱离实施例的精神和范围的情况下,可以在其中对形式和细节进行各种改变。因此,应当理解,上述实施例在所有方面都仅是说明性的,而不是限制性的,范围由所附权利要求所限定。
Claims (20)
1.一种存储装置,包括:
第一非易失性存储器装置;
第二非易失性存储器装置,其具有与所述第一非易失性存储器装置不同的类型;以及
数据线,其由所述第一非易失性存储器装置和所述第二非易失性存储器装置共享,
其中,通过所述数据线将第一数据同时提供至所述第一非易失性存储器装置和所述第二非易失性存储器装置,
将所述第一数据写入至所述第二非易失性存储器装置,并且
通过从所述第二非易失性存储器装置读取所述第一数据并将读取的所述第一数据提供至所述第一非易失性存储器装置来将所述第一数据再编程至所述第一非易失性存储器装置中。
2.根据权利要求1所述的存储装置,还包括缓冲器存储器,其中,所述第一数据占据所述缓冲器存储器的第一区,并且在将所述第一数据同时提供至所述第一非易失性存储器装置和所述第二非易失性存储器装置之后,所述第一数据对所述第一区的占据结束。
3.根据权利要求2所述的存储装置,其中,在将所述第一数据写入至所述第二非易失性存储器装置之前,所述第一数据对所述第一区的占据结束。
4.根据权利要求1所述的存储装置,其中,所述第一数据在被再编程至所述第一非易失性存储器装置之前被初始编程至所述第一非易失性存储器装置中,其中所述第一非易失性存储器装置的初始编程时段与所述第二非易失性存储器装置的写入时段至少部分地重叠。
5.根据权利要求4所述的存储装置,其中,如果确定验证结果是将所述第一数据初始编程至所述第一非易失性存储器装置中已失败,则将所述第一数据再编程至所述第一非易失性存储器装置中。
6.根据权利要求4所述的存储装置,其中,所述第一非易失性存储器装置是能够存储三比特或更多比特的NAND闪速存储器装置。
7.根据权利要求4所述的存储装置,其中,在初始编程和再编程过程中,将所述第一数据编程至与第N字线连接的存储器单元中,并且
其中,在所述初始编程与所述再编程之间还对与第(N+1)字线或者第(N-1)字线连接的存储器单元执行编程,其中N是大于2的自然数。
8.根据权利要求1所述的存储装置,其中,在第一时间区段中将编程命令和第一地址提供至所述第一非易失性存储器装置,在与所述第一时间区段不同的第二时间区段中将写入命令和第二地址提供至所述第二非易失性存储器装置,并且在所述第一时间区段和所述第二时间区段之后的第三时间区段中将所述第一数据同时提供至所述第一非易失性存储器装置和所述第二非易失性存储器装置。
9.权利要求8所述的存储装置,其中,在所述第三时间区段之后,将所述第一数据初始编程至所述第一非易失性存储器装置中并写入至所述第二非易失性存储器装置,并且
其中,所述第一非易失性存储器装置的初始编程时段与所述第二非易失性存储器装置的写入时段至少部分地重叠。
10.权利要求8所述的存储装置,其中,在所述第三时间区段之后的第四时间区段中,将编程命令和第三地址提供至所述第一非易失性存储器装置,在与所述第四时间区段不同的第五时间区段中将写入命令和第四地址提供至所述第二非易失性存储器装置,并且在所述第四时间区段和所述第五时间区段之后的第六时间区段中,将第二数据同时提供至所述第一非易失性存储器装置和所述第二非易失性存储器装置,其中,所述第一地址对应于所述第一非易失性存储器装置中的奇数编号的存储器块或者偶数编号的存储器块中的一种,并且所述第三地址对应于所述第一非易失性存储器装置中的所述奇数编号的存储器块或者所述偶数编号的存储器块中的另一种。
11.根据权利要求10所述的存储装置,其中,在所述第六时间区段之后,将所述第一数据初始编程至所述第一非易失性存储器装置中的所述奇数编号的存储器块或者所述偶数编号的存储器块中的一种中,将第二数据初始编程至所述第一非易失性存储器装置中的所述奇数编号的存储器块或者所述偶数编号的存储器块中的另一种中,并且将所述第一数据和所述第二数据写入至所述第二非易失性存储器装置,其中,所述第一非易失性存储器装置的初始编程时段与所述第二非易失性存储器装置的写入时段至少部分地重叠。
12.根据权利要求1所述的存储装置,其中,所述第二非易失性存储器装置的读取速度比所述第一非易失性存储器装置的读取速度快。
13.根据权利要求1所述的存储装置,其中,所述第一非易失性存储器装置是NAND闪速存储器装置,所述第二非易失性存储器装置是相变存储器装置。
14.根据权利要求1所述的存储装置,其中,所述第一非易失性存储器装置是能够存储n比特的NAND闪速存储器装置,并且所述第二非易失性存储器装置是能够存储m比特的NAND闪速存储器装置,其中n是2或更大的自然数,并且m是小于n的自然数。
15.一种存储装置,包括:
NAND闪速存储器装置;
相变存储器装置;以及
数据线,其由所述NAND闪速存储器装置和所述相变存储器装置共享,
其中,将第一数据通过所述数据线同时提供至所述NAND闪速存储器装置和所述相变存储器装置,并且将所述第一数据初始编程至所述NAND闪速存储器装置中,同时将其写入至所述相变存储器装置,并且
其中,所述NAND闪速存储器装置的初始编程时段与所述相变存储器装置的写入时段至少部分地重叠。
16.根据权利要求15所述的存储装置,其中,如果确定验证结果是初始编程已失败,则通过从所述相变存储器装置中读取所述第一数据并将读取的所述第一数据提供至所述NAND闪速存储器装置来将所述第一数据再编程至所述NAND闪速存储器装置中。
17.根据权利要求15所述的存储装置,其中,所述NAND闪速存储器装置能够存储三比特或更多比特,并且在初始编程之后,通过从所述相变存储器装置读取所述第一数据并将读取的所述第一数据提供至所述NAND闪速存储器装置来将所述第一数据再编程至所述NAND闪速存储器装置中。
18.根据权利要求17所述的存储装置,其中,在初始编程和再编程过程中,将所述第一数据编程至与第N字线连接的存储器单元中,并且
其中,在初始编程与再编程之间还对与第(N+1)字线或者第(N-1)字线连接的存储器单元执行编程,其中,N是大于2的自然数。
19.根据权利要求15所述的存储装置,其中,在第一时间区段中,将编程命令和第一地址提供至所述NAND闪速存储器装置,在与所述第一时间区段不同的第二时间区段中,将写入命令和第二地址提供至所述相变存储器装置,并且在所述第一时间区段和所述第二时间区段之后的第三时间区段中,将所述第一数据将同时提供至所述NAND闪速存储器装置和所述相变存储器装置。
20.一种存储装置,包括:
第一非易失性存储器装置;
第二非易失性存储器装置,其具有与所述第一非易失性存储器装置不同的类型;
数据线,其由所述第一非易失性存储器装置和所述第二非易失性存储器装置共享;以及
缓冲器存储器,
其中,第一数据占据所述缓冲器存储器的第一区,在将所述缓冲器存储器的所述第一数据通过所述数据线同时提供至所述第一非易失性存储器装置和所述第二非易失性存储器装置之后,所述第一数据对所述第一区的占据结束,并且
其中,在将所述第一数据初始编程至所述第一非易失性存储器装置中的同时,将所述第一数据写入至所述第二非易失性存储器装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2019-0095826 | 2019-08-07 | ||
KR1020190095826A KR20210017109A (ko) | 2019-08-07 | 2019-08-07 | 스토리지 장치 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112349325A true CN112349325A (zh) | 2021-02-09 |
Family
ID=74191294
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010766527.0A Pending CN112349325A (zh) | 2019-08-07 | 2020-08-03 | 存储装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11055011B2 (zh) |
KR (1) | KR20210017109A (zh) |
CN (1) | CN112349325A (zh) |
DE (1) | DE102020110540A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11967394B2 (en) * | 2022-06-09 | 2024-04-23 | Microsoft Technology Licensing, Llc | Memory arrays employing flying bit lines to increase effective bit line length for supporting higher performance, increased memory density, and related methods |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8041879B2 (en) | 2005-02-18 | 2011-10-18 | Sandisk Il Ltd | Flash memory backup system and method |
US7716411B2 (en) | 2006-06-07 | 2010-05-11 | Microsoft Corporation | Hybrid memory device with single interface |
KR100877610B1 (ko) | 2007-01-23 | 2009-01-09 | 삼성전자주식회사 | 페이지 데이터 저장 방법과 저장 장치 |
KR101573047B1 (ko) | 2009-01-23 | 2015-12-02 | 삼성전자주식회사 | 복합 메모리 장치 및 이를 이용한 i/o 처리 방법 |
JP2010198252A (ja) | 2009-02-24 | 2010-09-09 | Nec Corp | 不揮発メモリ装置、不揮発メモリの書込み方法、及び不揮発メモリ書込みプログラム |
JP2010231699A (ja) | 2009-03-30 | 2010-10-14 | Nec Corp | データ処理装置、データ処理方法、及びデータ処理プログラム |
US8132045B2 (en) | 2009-06-16 | 2012-03-06 | SanDisk Technologies, Inc. | Program failure handling in nonvolatile memory |
US8537618B2 (en) | 2010-08-26 | 2013-09-17 | Steven Jeffrey Grossman | RAM memory device with NAND type interface |
US9761310B2 (en) * | 2014-09-06 | 2017-09-12 | NEO Semiconductor, Inc. | Method and apparatus for storing information using a memory able to perform both NVM and DRAM functions |
US9952784B2 (en) | 2015-03-11 | 2018-04-24 | Sandisk Technologies Llc | Multichip dual write |
-
2019
- 2019-08-07 KR KR1020190095826A patent/KR20210017109A/ko active Search and Examination
-
2020
- 2020-02-24 US US16/799,360 patent/US11055011B2/en active Active
- 2020-04-17 DE DE102020110540.1A patent/DE102020110540A1/de active Pending
- 2020-08-03 CN CN202010766527.0A patent/CN112349325A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
US20210042052A1 (en) | 2021-02-11 |
DE102020110540A1 (de) | 2021-02-11 |
KR20210017109A (ko) | 2021-02-17 |
US11055011B2 (en) | 2021-07-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110275673B (zh) | 存储装置及其操作方法 | |
CN110321070B (zh) | 存储器控制器及其操作方法 | |
US11226895B2 (en) | Controller and operation method thereof | |
CN111696608A (zh) | 存储器装置及其操作方法 | |
CN111258793B (zh) | 存储器控制器及其操作方法 | |
US11698748B2 (en) | Memory comprising memory controller configured to determine a logical address of a target zone system and method of operating the memory controller | |
KR102535104B1 (ko) | 저장 장치 및 그 동작 방법 | |
CN112346656A (zh) | 控制器及其操作方法 | |
CN111105829A (zh) | 存储器控制器及其操作方法 | |
KR20160050394A (ko) | 메모리 시스템 및 상기 메모리 시스템의 동작 방법 | |
CN110928805B (zh) | 存储器***及其操作方法 | |
CN110175133B (zh) | 存储装置及其操作方法 | |
CN113760794A (zh) | 存储装置和操作存储装置的方法 | |
CN114078543A (zh) | 存储器控制器及其操作方法 | |
CN111445939B (zh) | 存储装置及其操作方法 | |
KR20210128780A (ko) | 메모리 컨트롤러 및 이를 포함하는 저장 장치 | |
CN112988052B (zh) | 存储器装置及其操作方法 | |
US10942667B2 (en) | Storage device having variable erase unit size and storage system including the same | |
CN111338978B (zh) | 存储装置以及操作存储装置的方法 | |
US11055011B2 (en) | Storage device | |
US11977735B2 (en) | Memory device, storage device including the same, and method of operating the storage device | |
CN115732006A (zh) | 存储器装置及其操作方法 | |
CN114388038A (zh) | 存储器设备及其操作方法 | |
CN109240597B (zh) | 数据存储装置及其操作方法 | |
CN113971975A (zh) | 存储器装置及其操作方法 |
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 |