CN110321068B - 存储器控制器及操作存储器控制器的方法 - Google Patents

存储器控制器及操作存储器控制器的方法 Download PDF

Info

Publication number
CN110321068B
CN110321068B CN201811327616.4A CN201811327616A CN110321068B CN 110321068 B CN110321068 B CN 110321068B CN 201811327616 A CN201811327616 A CN 201811327616A CN 110321068 B CN110321068 B CN 110321068B
Authority
CN
China
Prior art keywords
buffer
memory
write
write data
memory controller
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
CN201811327616.4A
Other languages
English (en)
Other versions
CN110321068A (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.)
SK Hynix Inc
Original Assignee
SK Hynix Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by SK Hynix Inc filed Critical SK Hynix Inc
Publication of CN110321068A publication Critical patent/CN110321068A/zh
Application granted granted Critical
Publication of CN110321068B publication Critical patent/CN110321068B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • 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
    • 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
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1673Details of memory controller using buffers
    • 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
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1689Synchronisation and timing concerns
    • 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
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/22Handling requests for interconnection or transfer for access to input/output bus using successive scanning, e.g. polling
    • 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
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/24Handling requests for interconnection or transfer for access to input/output bus using interrupt
    • 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
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • 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
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/32Handling requests for interconnection or transfer for access to input/output bus using combination of interrupt and burst mode transfer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0634Configuration or reconfiguration of storage systems by changing the state or mode of one or more devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0658Controller construction arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7203Temporary buffering, e.g. using volatile buffer or dedicated buffer blocks

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)
  • Read Only Memory (AREA)

Abstract

本发明提供了一种存储器控制器及操作存储器控制器的方法。存储器控制器可响应于从主机接收的写入命令来控制存储器装置的写入操作。存储器控制器包括主机接口、缓冲器和第一处理器。主机接口被配置为从主机接收与写入命令相对应的写入数据。缓冲器被配置为存储写入数据。第一处理器被配置为控制主机接口和缓冲器的操作。第一处理器被配置为在接收到写入命令时基于存储器控制器的操作状态设置操作模式。

Description

存储器控制器及操作存储器控制器的方法
相关申请的交叉引用
本申请要求于2018年3月29日提交的申请号为10-2018-0036825的韩国专利申请的优先权,其全部内容通过引用并入本文。
技术领域
本公开的各个实施例总体涉及一种电子装置。特别地,实施例涉及一种存储器控制器和操作存储器控制器的方法。
背景技术
存储器装置可具有二维(2D)结构,在该2D结构中串被水平地布置在半导体衬底上。可选地,存储器装置可具有三维(3D)结构,在该3D结构中串被垂直地堆叠在半导体衬底上。因为具有2D结构的存储器装置具有物理比例限制(即,集成度的限制),所以半导体制造商正在生产3D存储器装置,该3D存储器装置包括垂直堆叠在半导体衬底上的多个存储器单元。存储器控制器可控制存储器装置的操作。
发明内容
本公开的各个实施例涉及一种具有提高的操作速度的存储器控制器。
本公开的各个实施例涉及一种操作具有提高的操作速度的存储器控制器的方法。
本公开的实施例可提供一种存储器控制器,用于响应于从主机接收的写入命令来控制存储器装置的写入操作。存储器控制器可包括被配置为从主机接收与写入命令相对应的写入数据的主机接口、被配置为存储写入数据的缓冲器、以及被配置为控制主机接口和缓冲器的操作的第一处理器。第一处理器可被配置为在接收到写入命令时,基于存储器控制器的操作状态来设置操作模式。
本公开的实施例可提供一种操作存储器控制器的方法。该方法可包括:从主机接收写入命令;响应于接收到写入命令,设置第一固件的操作模式;通过主机接口接收与写入命令相对应的写入数据;并且基于设置的操作模式停用(deactivate)忙碌信号。
本公开的实施例可提供一种用于控制存储器装置执行写入操作的控制器。控制器可包括缓冲器、主机接口和处理器。主机接口可被配置将待被编程到所述存储器装置中的写入数据缓冲在所述缓冲器中并提供完成信号,以及在确定所述缓冲器具有足够的可用空间来缓冲数据时,基于所述写入数据的缓冲完成而激活忙碌信号,所述忙碌信号阻止接收后续写入数据。处理器可被配置为根据完成信号停用忙碌信号。
附图说明
图1是示出根据本公开的实施例的包括存储器控制器的存储器系统的示图。
图2是详细示出图1的存储器装置的框图。
图3是示出图2的存储器单元阵列的实施例的示图。
图4是示出图3的存储块BLK1至BLKz中的任意一个存储块BLKa的电路图。
图5是示出图3的存储块BLK1至BLKz中的任意一个存储块BLKb的示例的电路图。
图6是详细示出图1的存储器控制器1200的框图。
图7是说明正常模式下的写入操作的时序图。
图8是描述根据本公开的实施例的操作存储器控制器的方法的流程图。
图9是描述设置图8所述的第一固件的操作模式的示例的流程图。
图10A是描述在图8所述的正常模式下停用忙碌信号的示例的流程图。
图10B是描述在图8所述的中断模式下停用忙碌信号的示例的流程图。
图11是说明根据本公开的实施例的操作存储器控制器的方法的时序图。
图12是示出包括图1和图6的存储器控制器的存储器系统的实施例的示图。
图13是示出包括图1和图6的存储器控制器的存储器系统的实施例的示图。
图14是示出包括图1和图6的存储器控制器的存储器系统的实施例的示图。
图15是示出包括图1和图6的存储器控制器的存储器系统的实施例的示图。
实施方式
参考稍后与附图一起详细描述的实施例,本公开的优点和特征及其实现方法将变得显而易见。因此,本公开不限于以下实施例,而是可以其它形式实施。相反地,提供这些实施例以便本公开将彻底且充分,并且将本公开的技术实质全面地传达给本领域的技术人员。注意的是,对“实施例”的参考不一定仅表示一个实施例,并且对“实施例”的不同参考不一定表示相同的实施例。
还应注意的是,在本说明书中,“连接/联接”指一个部件不仅直接地联接另一部件,而且还通过中间部件间接地联接另一部件。在说明书中,除非上下文另有明确表示,否则当元件被称为“包括”或“包含”部件时,并不排除其它部件,而是可进一步包括其它部件。
本文使用的术语的目的仅是描述特定实施例而不旨在限制本发明。
如本文所使用的,除非上下文另有明确说明,否则单数形式也可包括复数形式,反之亦然。
在下文中,将参照附图详细描述根据本公开的实施例。在整个公开中,相同的附图标记在本发明的各个附图和实施例中表示相同的部件。可省略公知的配置和功能的细节以避免不必要地模糊本公开的主旨。
图1是示出根据本公开的实施例的包括存储器控制器1200的存储器系统1000的示图。
参照图1,存储器系统1000可包括存储数据的存储器装置1100和在主机2000的控制下控制存储器装置1100的存储器控制器1200。
主机2000能够使用诸如以下的接口协议与存储器系统1000通信:高速外围组件互连(PCI-e或PCIe)、高级技术附件(ATA)、串行ATA(SATA)、并行ATA(PATA)或串列SCSI(SAS)。另外,主机2000和存储器系统1000之间的接口协议不限于上述示例,并且可以是诸如以下的各种接口协议中的一种:通用串行总线(USB)、多媒体卡(MMC)、增强型小型磁盘接口(ESDI)和电子集成驱动器(IDE)接口协议。
存储器控制器1200可控制存储器系统1000的全部操作,并且可控制主机2000与存储器装置1100之间的数据交换。例如,存储器控制器1200可响应于从主机2000接收的请求,通过控制存储器装置1100来编程或读取数据。进一步地,存储器控制器1200可存储与包括在存储器装置1100中的主存储块和子存储块有关的信息,并且可选择存储器装置1100,从而根据为编程操作而加载的数据量而对主存储块或子存储块执行编程操作。作为示例而非限制,存储器装置1100可包括双倍数据速率同步动态随机存取存储器(DDR SDRAM)、低功率双倍数据速率第四代(LPDDR4)SDRAM、图形双倍数据速率(GDDR)SDRAM、低功率DDR(LPDDR)SDRAM、Rambus DRAM(RDRAM)或闪速存储器。稍后将参照图6说明存储器控制器1200的详细配置。
同时,存储器装置1100可在存储器控制器1200的控制下执行编程操作、读取操作或擦除操作。稍后将参照图2至图5描述存储器装置1100的详细配置和操作。
图2是详细示出图1的存储器装置1100的框图。
参照图2,存储器装置1100包括存储器单元阵列110、地址解码器120、读取和写入电路130、控制逻辑140以及电压发生器150。图2的存储器装置1100可对应于图1的存储器装置1100。
存储器单元阵列110包括多个存储块BLK1至BLKz。存储块BLK1至BLKz可通过字线WL联接到地址解码器120。存储块BLK1至BLKz可通过位线BL1至BLm联接到读取和写入电路130。存储块BLK1至BLKz中的每一个包括多个存储器单元。在实施例中,多个存储器单元可以是非易失性存储器单元,并且可被实施为具有垂直通道结构的非易失性存储器单元。存储器单元阵列110可被实施为具有二维(2D)结构的存储器单元阵列。在实施例中,存储器单元阵列110可被实施为具有三维(3D)结构的存储器单元阵列。包括在存储器单元阵列中的存储器单元的每一个可存储至少一位数据。在实施例中,包括在存储器单元阵列110中的存储器单元的每一个可以是存储一位的数据的单层单元(SLC)。在实施例中,包括在存储器单元阵列110中的存储器单元的每一个可以是存储两位的数据的多层单元(MLC)。在实施例中,包括在存储器单元阵列110中的存储器单元中的每一个可以是存储三位数据的三层单元。在实施例中,包括在存储器单元阵列110中的存储器单元中的每一个可以是存储四位数据的四层单元。在各个实施例中,存储器单元阵列110可包括多个存储器单元,该多个存储器单元中的每一个存储5位或更多位数据。
地址解码器120、读取和写入电路130、控制逻辑140和电压发生器150可用作驱动存储器单元阵列110的外围电路。外围电路可在控制逻辑140的控制下对存储器单元阵列110执行读取操作、写入操作和擦除操作。地址解码器120通过字线WL联接到存储器单元阵列110。地址解码器120可在控制逻辑140的控制下操作。地址解码器120可通过存储器装置1100中提供的输入/输出缓冲器(未示出)接收地址。当向存储器装置1100供电时,外围电路读取存储在内容可寻址存储器(CAM)块中的多条信息,并且外围电路可控制存储器单元阵列,使得根据读取信息基于设置条件来执行存储器单元的数据输入/输出操作。
地址解码器120可对接收到的地址中的块地址进行解码。地址解码器120基于解码的块地址来选择至少一个存储块。当在读取操作期间执行读取电压施加操作时,地址解码器120可将由电压发生器150生成的读取电压Vread施加到所选择的存储块的所选择的字线,并且可将通过电压Vpass施加到剩余字线,即未选择的字线。在编程验证操作期间,地址解码器120可将电压发生器150生成的验证电压施加到所选择的存储块的所选择的字线,并且可将通过电压Vpass施加到未选择的字线。
地址解码器120可对接收到的地址中的列地址进行解码。地址解码器120可将解码的列地址传输到读取和写入电路130。
存储器装置1100的读取和编程操作均基于页面来执行。在读取和编程操作的请求下接收的地址可包括块地址、行地址和列地址。地址解码器120可根据块地址和行地址来选择一个存储块和一个字线。列地址可被地址解码器120解码,然后可被提供给读取和写入电路130。在本说明书中,联接到单个字线的存储器单元可被称为“物理页面”。
地址解码器120可包括块解码器、行解码器、列解码器、地址缓冲器等。
读取和写入电路130包括多个页面缓冲器PB1至PBm。读取和写入电路130可在存储器单元阵列110的读取操作期间作为“读取电路”来操作,并且在存储器单元阵列110的写入操作期间作为“写入电路”来操作。多个页面缓冲器PB1至PBm通过位线BL1至BLm联接到存储器单元阵列110。在读取或编程验证操作期间,为了感测存储器单元的阈值电压,页面缓冲器PB1至PBm可连续地向联接到存储器单元的位线提供感测电流,同时页面缓冲器PB1至PBm中的每一个根据对应存储器单元的编程状态,通过感测节点来感测流动的电流的量的变化,并且将其锁存为感测数据。读取和写入电路130响应于从控制逻辑140输出的页面缓冲器控制信号进行操作。
在读取操作期间,读取和写入电路130可感测存储在存储器单元中的数据并临时存储读取数据,然后可将数据输出到存储器装置1100的输入/输出缓冲器(未示出)。在实施例中,读取和写入电路130可包括列选择电路等以及页面缓冲器(或页面电阻器)。
控制逻辑140联接到地址解码器120、读取和写入电路130以及电压发生器150。控制逻辑140可通过存储器装置1100的输入/输出缓冲器(未示出)接收命令CMD和控制信号CTRL。控制逻辑140可响应于控制信号CTRL控制存储器装置1100的全部操作。控制逻辑140可输出控制信号,用于控制在多个页面缓冲器PB1至PBm的感测节点处的预充电电势电平。控制逻辑140可控制读取和写入电路130来执行存储器单元阵列110的读取操作。
电压发生器150可响应于从控制逻辑140输出的控制信号,生成读取操作所需的读取电压Vread和通过电压Vpass。电压发生器150可包括多个泵浦电容器,用于接收内部电源电压以生成具有各种电压电平的多个电压,并且可在控制逻辑140的控制下通过选择性地使能多个泵浦电容器来生成多个电压。
图3是示出图2的存储器单元阵列110的实施例的示图。
参照图3,存储器单元阵列110可包括多个存储块BLK1至BLKz。每一个存储块可具有二维(2D)或三维(3D)结构。当存储块具有如图3所示的3D结构时,每一个存储块包括堆叠在衬底上的多个存储器单元。这种存储器单元沿正X(+X)方向、正Y(+Y)方向和正Z(+Z)方向布置。下面将参照图4和图5详细地描述每一个存储块的结构。
图4是示出图3的存储块BLK1至BLKz中的任意一个存储块BLKa的电路图。
参照图4,存储块BLKa可包括多个单元串CS11至CS1m和CS21至CS2m。在实施例中,单元串CS11至CS1m和CS21至CS2m中的每一个可形成为“U”形。在存储块BLKa中,m个单元串沿行方向(即正(+)X方向)布置。在图4中,两个单元串被示为沿列方向(即正(+)Y方向)布置。然而,该说明是为了便于描述,将理解的是,在列方向上布置的单元串的数量可根据设计而变化。
多个单元串CS11至CS1m和CS21至CS2m中的每一个包括至少一个源极选择晶体管SST、第一至第n存储器单元MC1至MCn、管道晶体管PT以及至少一个漏极选择晶体管DST。
选择晶体管SST和DST以及存储器单元MC1至MCn可分别具有相似的结构。在实施例中,选择晶体管SST和DST以及存储器单元MC1至MCn中的每一个可包括沟道层、隧穿绝缘层、电荷存储层和阻挡绝缘层。在实施例中,可在每一个单元串中设置用于提供通道层的柱(pillar)。在实施例中,可在每一个单元串中设置用于提供沟道层、隧穿绝缘层、电荷存储层和阻挡绝缘层中的至少一个的柱。
每一个单元串的源极选择晶体管SST连接在共源线CSL与存储器单元MC1至MCp之间。
在实施例中,布置在相同行中的单元串的源极选择晶体管联接到在行方向上延伸的源极选择线,并且布置在不同行中的单元串的源极选择晶体管联接到不同的源极选择线。在图4中,第一行中的单元串CS11至CS1m的源极选择晶体管联接到第一源极选择线SSL1。第二行中的单元串CS21至CS2m的源极选择晶体管联接到第二源极选择线SSL2。
在实施例中,单元串CS11至CS1m和CS21至CS2m的源极选择晶体管可共同联接到单个源极选择线。
每一个单元串中的第一至第n存储器单元MC1至MCn联接在源极选择晶体管SST和漏极选择晶体管DST之间。
第一至第n存储器单元MC1至MCn可被划分成第一至第p存储器单元MC1至MCp与第p+1至第n存储器单元MCp+1至MCn。第一至第p存储器单元MC1至MCp顺序地布置在与正(+)Z方向相反的方向上,并且串联连接在源极选择晶体管SST和管道晶体管PT之间。第(p+1)至第n存储器单元MCp+1至MCn顺序地布置在+Z方向上,并且串联连接在管道晶体管PT和漏极选择晶体管DST之间。第一至第p存储器单元MC1至MCp和第(p+1)至第n存储器单元MCp+1至MCn通过管道晶体管PT而彼此联接。每一个单元串的第一至第n存储器单元MC1至MCn的栅极分别联接到第一至第n字线WL1至WLn。
每一个单元串的管道晶体管PT的栅极联接到管线PL。
每一个单元串的漏极选择晶体管DST连接在对应的位线和存储器单元MCp+1至MCn之间。行方向上的单元串联接到在行方向上延伸的漏极选择线。第一行中的单元串CS11至CS1m的漏极选择晶体管联接到第一漏极选择线DSL1。第二行中的单元串CS21至CS2m的漏极选择晶体管联接到第二漏极选择线DSL2。
在列方向上布置的单元串联接到在列方向上延伸的位线。在图4中,第一列中的单元串CS11和CS21联接到第一位线BL1。第m列中的单元串CS1m和CS2m联接到第m位线BLm。
布置在行方向上的单元串中联接到相同字线的存储器单元构成单个页面。例如,第一行中的单元串CS11至CS1m之中联接到第一字线WL1的存储器单元构成单个页面。第二行中的单元串CS21至CS2m之中联接到第一字线WL1的存储器单元构成单个附加页面。可通过选择漏极选择线DSL1和DSL2中的任意一个来选择布置在单个行的方向上的单元串。可通过选择字线WL1至WLn中的任意一个来从所选择的单元串中选择单个页面。
在实施例中,可提供偶数位线和奇数位线,而非第一至第m位线BL1至BLm。此外,在行方向上布置的单元串CS11至CS1m或CS21至CS2m之中偶数编号的单元串可分别联接到偶数位线,在行方向上布置的单元串CS11至CS1m或中的CS21至CS2m之中奇数编号的单元串可分别联接到奇数位线。
在实施例中,第一至第n存储器单元MC1至MCn中的一个或多个可用作虚拟存储器单元。例如,提供一个或多个虚拟存储器单元以减小源极选择晶体管SST与存储器单元MC1至MCp之间的电场。可选地,提供一个或多个虚拟存储器单元以减小漏极选择晶体管DST与存储器单元MCp+1至MCn之间的电场。当提供较多的虚拟存储器单元时,可提高存储块BLKa的操作的可靠性,但也增加了存储块BLKa的大小。当提供较少的存储器单元时,可减小存储块BLKa的大小,但也可能使存储块BLKa的操作的可靠性劣化。
为了有效地控制一个或多个虚拟存储器单元,虚拟存储器单元中的每一个可具有所需的阈值电压。在执行存储块BLKa的擦除操作之前或之后,可对全部或一些虚拟存储器单元执行编程操作。当在已经执行编程操作之后执行擦除操作时,虚拟存储器单元的阈值电压控制施加到与各个虚拟存储器单元联接的虚拟字线的电压,因此虚拟存储器单元可具有所需的阈值电压。
图5是示出图3的存储块BLK1至BLKz中的任意一个存储块BLKb的示例的电路图。
参照图5,存储块BLKb可包括多个单元串CS11'至CS1m'和CS21'至CS2m'。多个单元串CS11'至CS1m'和CS21'至CS2m'中的每一个沿正Z(+Z)方向延伸。单元串CS11'至CS1m'和CS21'至CS2m'中的每一个可包括至少一个源极选择晶体管SST、第一至第n存储器单元MC1至MCn以及至少一个漏极选择晶体管DST,这些都堆叠在存储块BLKb下方的衬底(未示出)上。
每一个单元串的源极选择晶体管SST连接在共源线CSL和存储器单元MC1至MCn之间。布置在相同行中的单元串的源极选择晶体管联接到相同的源极选择线。布置在第一行中的单元串CS11'至CS1m'的源极选择晶体管联接到第一源极选择线SSL1。布置在第二行中的单元串CS21'至CS2m'的源极选择晶体管联接到第二源极选择线SSL2。在实施例中,单元串CS11'至CS1m'和CS21'至CS2m'的源极选择晶体管可共同联接到单个源极选择线。
每一个单元串中的第一至第n存储器单元MC1至MCn串联连接在源极选择晶体管SST和漏极选择晶体管DST之间。第一至第n存储器单元MC1至MCn的栅极分别联接到第一至第n字线WL1至WLn。
每一个单元串的漏极选择晶体管DST连接在对应的位线和存储器单元MC1至MCn之间。布置在行方向上的单元串的漏极选择晶体管联接到在行方向上延伸的漏极选择线。第一行中的单元串CS11'至CS1m'的漏极选择晶体管联接到第一漏极选择线DSL1。第二行中的单元串CS21'至CS2m'的漏极选择晶体管联接到第二漏极选择线DSL2。
因此,图5的存储块BLKb具有类似于图4的存储块BLKa的电路,除了,包括在图4的存储块BLKa中的每一个单元串中的管道晶体管PT可能不包括在图5的存储块BLKb中。
在实施例中,可提供偶数位线和奇数位线,而非第一至第m位线BL1至BLm。此外,在行方向上布置的单元串CS11'至CS1m'或CS21'至CS2m'之中偶数编号的单元串可分别联接到偶数位线,在行方向上布置的单元串CS11'至CS1m'或CS21'至CS2m'之中奇数编号的单元串可分别联接到奇数位线。
在实施例中,第一至第n存储器单元MC1至MCn中的一个或多个可用作虚拟存储器单元。例如,提供一个或多个虚拟存储器单元以减小源极选择晶体管SST与存储器单元MC1至MCn之间的电场。或者,提供一个或多个虚拟存储器单元以减小漏极选择晶体管DST与存储器单元MC1至MCn之间的电场。随着较多的虚拟存储器单元被提供,提高了存储块BLKb的操作的可靠性,但增加了存储块BLKb的大小。当提供较少的存储器单元时,存储块BLKb的大小减小,但存储块BLKb的操作的可靠性可能恶化。
为了有效地控制一个或多个虚拟存储器单元,虚拟存储器单元中的每一个可具有所需的阈值电压。在执行存储块BLKb的擦除操作之前或之后,可对全部或一些虚拟存储器单元执行编程操作。当在已经执行编程操作之后执行擦除操作时,虚拟存储器单元的阈值电压控制施加到与各个虚拟存储器单元联接的虚拟字线的电压,因此虚拟存储器单元可具有所需的阈值电压。
图6是详细示出图1的存储器控制器1200的框图。
参照图6,存储器控制器1200可包括主机接口(主机I/F)1201、处理部件1205、缓冲器1206和存储器接口(存储器I/F)1207。
处理部件1205可控制存储器控制器1200的全部操作。缓冲器1206可作为存储器控制器1200的工作存储器来操作,并且也可作为高速缓冲存储器来操作。在示例实施例中,缓冲器1206可被实施为静态随机存取存储器(SRAM)。在实施例中,缓冲器1206可被实施为动态随机存取存储器(DRAM)。
处理部件1205可包括第一处理器1202和第二处理器1203。如图6所示,第一处理器1202可执行第一固件FW1。进一步地,第二处理器1203可执行第二固件FW2。
通过第一固件FW1,第一处理器1202可控制通过主机接口1201从主机2000接收写入数据的操作。详细地,第一处理器1202可通过控制主机接口1201和缓冲器1206来将从主机2000接收的写入数据存储在缓冲器1206中。此外,通过第一固件FW1,第一处理器1202可通过主机接口1201将存储在缓冲器1206中的读取数据传输到主机2000。
由第二处理器1203执行的第二固件FW2可包括闪存转换层(以下称为“FTL”)。FTL提供外部装置和存储器装置1100之间的接口,从而有效地使用存储器装置1100。例如,FTL可将从例如主机2000的外部装置接收的逻辑地址转换成由存储器装置1100使用的物理地址。FTL可通过映射表来执行上述地址转换操作。在实施例中,逻辑地址表示由主机2000识别的存储器装置1100的虚拟位置,物理地址表示存储器装置1100的实际位置。映射表通过逻辑地址系统和物理地址系统具有虚拟位置和实际位置之间的关系信息。
FTL可执行诸如损耗均衡或垃圾收集(GC)的操作,从而可有效地使用存储器装置1100。在示例中,损耗均衡可以是管理包括在存储器装置1100中的多个存储块中的每一个的编程/擦除循环的数量的操作,使得各个存储块的编程/擦除循环的数量变得相等。在示例中,垃圾收集(GC)可以是将包括在存储器装置1100中的多个存储块中的特定存储块的有效页面移动到另一存储块,然后擦除特定存储块的操作。被擦除的特定存储块可用作空闲块。FTL可通过执行垃圾收集来保护存储器装置1100的空闲块。
第一处理器1202和第二处理器1203可被实施为不同的独立装置,或者可被集成到单个处理器中。在这种情况下,处理部件1205可以被配置为单个处理器,并且可执行第一固件FW1和第二固件FW2。
存储器控制器1200可通过主机接口1201与外部装置(或主机2000)通信。例如,主机接口1201可包括诸如以下的各种接口中的至少一个:通用串行总线(USB)、多媒体卡(MMC)、嵌入式MMC(eMMC)、外围组件互连(PCI)、高速PCI(PCI-E)、高级技术附件(ATA)、串行ATA(SATA)、并行ATA(PATA)、小型计算机小型接口(SCSI)、增强型小型磁盘接口(ESDI)、电子集成驱动器(IDE)、火线、通用闪速存储(UFS)接口。
在实施例中,主机接口1201可包括直接存储器访问(DMA)控制器(未示出)。因为使用了这样的DMA方案,主机2000仅参与数据传输的初始阶段,而不参与传输过程。因此,主机2000可在传输数据时执行其它操作,从而提高操作效率。同时,当主机接口1201通过DMA方案传输数据时,当完成数据传输时,主机接口1201的DMA控制器可向第一处理器1202传送传输完成信号。
同时,存储器控制器1200可通过命令线CMD从主机2000接收命令。进一步地,存储器控制器1200可通过命令线CMD将响应于所提供的命令的响应信号传输到主机2000。
同时,存储器控制器1200可通过数据线DAT0至DAT7从主机2000接收数据或将数据传输到主机2000。从主机2000接收的数据可通过主机接口1201而被存储在缓冲器1206中。
存储器控制器1200可通过存储器接口1207与存储器装置1100通信。在示例中,存储器接口1207可包括NAND接口。从存储器装置1100读取的数据可通过存储器接口1207而被存储在缓冲器1206中。也就是说,主机接口1201、缓冲器1206和存储器接口1207可配置主机2000和存储器装置1100之间的数据路径。
虽然未在图6中示出,但存储器控制器1200可进一步包括诸如用于数据随机化的随机化发生器(未示出)和用于数据错误校正的错误校正电路(未示出)的元件。虽然未在图6中示出,但存储器控制器1200可进一步包括只读存储器(ROM)。ROM可以固件的形式存储存储器控制器1200的操作所需的各种类型的信息。
图7是说明正常模式下的写入操作的时序图。下面,将参照图6和图7描述正常模式下的写入操作。
参照图7,在时间t1,写入命令Write CMD通过命令线CMD从主机2000传输到存储器控制器1200。在时间t2,存储器控制器1200通过命令线CMD将对写入命令Write CMD的响应信号传输到主机2000。此后,从时间t3开始,写入数据通过数据线DAT0至DAT7从主机2000传输到存储器控制器1200。
详细地,写入数据通过图6的主机接口1201从主机2000传输到缓冲器1206。第一处理器1202基于第一固件FW1的操作来控制主机接口1201和缓冲器1206的操作。当开始写入数据的传输时,第一处理器1202通过在正常模式下轮询主机接口1201来验证是否已经完成写入数据的传输。术语“轮询”可表示一种方案,其中一个装置(或程序或固件)周期性地检查另一装置(或程序或固件)的状态,以避免冲突或处理同步,然后当检查的状态满足预定条件时,执行数据处理,例如数据的传输或接收。
也就是说,在正常模式下,第一处理器1202使用周期性地检查主机接口1201的状态的方案来验证是否已经完成写入数据的传输。对于该操作,当完成写入数据的传输时,在时间t4激活忙碌信号Busy。忙碌信号Busy可通过数据线DAT0至DAT7中的第一数据线DAT0从存储器控制器1200传输到主机2000。在这种情况下,剩余的数据线DAT1至DAT7可不传输数据或者可传输虚拟数据。此后,当忙碌信号Busy的激活终止(在图7中称为“忙碌释放”)时,主机2000可在时间t6再次通过命令线CMD将写入命令Write CMD传输到存储器控制器1200。此后,在时间t7,存储器控制器1200通过命令线CMD将对写入命令Write CMD的响应信号传输到主机2000。从时间t8开始,写入数据通过数据线DAT0至DAT7从主机2000传输到存储器控制器1200。当完成写入数据的传输时,忙碌信号Busy在从时间t9到时间t10的时间段内被激活。
根据在正常模式下执行的操作方法,如图7所示,忙碌信号Busy可被激活以执行存储器控制器1200的内部操作。例如,当完成写入数据的接收时,存储器控制器1200可在内部执行另一后台操作。当开始写入数据的传输时,由第一处理器1202执行的第一固件FW1可通过轮询主机接口1201的状态来验证是否已经完成写入数据的传输。在验证了已经完成写入数据的传输之后,第一固件FW1检查缓冲器1206的状态,然后确定是否可以将另外的数据存储在缓冲器1206中,或者是否因数据被累积在缓冲器1206中而将存储在缓冲器1206中的数据清除到存储器装置1100中。
当完成写入数据的接收时,存储器控制器1200中的缓冲器1206可能因缓冲器1206充满了数据而不接收下一写入命令。在这种情况下,由第一处理器1202执行的第一固件FW1可请求由第二处理器1203执行的第二固件FW2来将存储在缓冲器1206中的写入数据清除到存储器装置1100中。响应于清除请求,由第二处理器1203执行的第二固件FW2可将写入命令和数据传输到存储器装置1100,使得存储在缓冲器1206中的写入数据的至少一部分被编程到存储器装置1100。直到在通过上述过程确保缓冲器1206中的可用空间,第一固件FW1可将忙碌信号Busy保持在激活状态。当执行了数据清除并且确保了缓冲器1206的可用空间时,第一固件FW1可终止忙碌信号Busy的激活状态(“忙碌释放”)。
同时,当在完成写入数据的接收的时间点缓冲器1206中的可用空间足够时,第一固件FW1可终止忙碌信号Busy的激活状态(“忙碌释放”),而不请求第二固件FW2来执行清除操作。即使缓冲器1206的可用空间足够,从时间t4或t9到第一固件FW1通过对主机接口1201的轮询验证完成写入数据的传输的时间点的时间段内也可能出现延迟时间,其中时间t4或t9是完成写入数据的传输的时间点。在该延迟时间段内,忙碌信号Busy保持在激活状态。在这种情况下,虽然不需要保持忙碌信号,但可能出现轮询所造成的额外负担(overhead),因此可能会稍微增加从时间t4到时间t5的保持忙碌信号Busy的时间段(即,持续时间)。
当写入数据的大小较大时,例如,当执行顺序的写入操作时,因为忙碌信号的持续时间(例如,从t4至t5的时间段或从t9至t10的时间段)在其比例方面比数据传输时间(例如,从t3至t4的时间段或从t8至t9的时间段)更短,所以忙碌信号的持续时间上的这种增加不会极大地影响编程操作的速度。然而,在随机写入操作的情况下,因为写入数据的大小较小,所以忙碌信号Busy的持续时间(例如,从t4至t5的时间段或从t9至t10的时间段)比数据传输时间(例如,从t3至t4的时间段或从t8至t9的时间段)更长。因此,当重复执行随机写入操作时,由于对主机接口1201的轮询而生成的忙碌信号Busy的持续时间(例如,从t4至t5的时间段或从t9至t10的时间段)可能会使存储器系统1000的操作速度劣化。
根据本公开的实施例的存储器控制器和操作存储器控制器1200的方法,当接收到写入命令Write CMD时,根据第二固件FW2的操作状态,第一固件FW1的操作模式被设置为正常模式和中断模式中的任意一种。当第一固件FW1的操作模式被设置为中断模式时,主机接口1201在完成写入数据的传输时将中断信号传输到第一处理器1202。中断信号可以是表示已经完成直接存储器访问的信号。当第一处理器1202接收到中断信号时,第一处理器1202暂停当前正在执行的任务,并且首先处理对忙碌信号的停用。也就是说,在第一固件FW1以中断模式进行操作的情况下,当完成写入数据的传输时,立即终止忙碌信号的激活而没有延迟,可提高存储器系统的操作速度。
当第一固件FW1以正常模式进行操作时,第一固件FW1通过轮询主机接口1201来验证是否已经完成写入数据的传输。因此,可能出现取决于轮询周期的额外负担时间段和取决于完成写入数据的传输后是否将执行另外的操作(例如,缓冲器清除)的额外负担时间段。在经过上述额外负担时间段之后,终止对忙碌信号Busy的激活。当第一固件FW1以中断模式进行操作时,第一固件FW1基于中断信号首先终止对忙碌信号Busy的激活,而不轮询主机接口1201。因此,当固件FW1以中断模式进行操作时,可缩短根据上述额外负担时间段保持的忙碌信号Busy的延迟时间,从而可提高存储器系统的操作速度。
图8是描述根据本公开的实施例的操作存储器控制器1200的方法的流程图。
参照图8,在步骤S110中,存储器控制器1200从主机2000接收写入命令Write CMD。如图7所示,存储器控制器1200可在一个时间段(例如,从t1至t2的时间段或从t6至t7的时间段)期间通过命令线CMD接收写入命令Write CMD。虽然未在图8中示出,但在步骤S110中,存储器控制器1200可响应于写入命令Write CMD而将响应信号发送到主机2000。如图7所示,存储器控制器1200可响应于接收的写入命令Write CMD,在从t2至t3的时间段或从t7至t8的时间段期间通过命令线CMD将响应信号传输到主机2000。
此后,在步骤S130中,存储器控制器1200设置第一固件FW1的操作模式。详细地,存储器控制器1200的第一处理器1202可设置第一固件FW1的操作模式。例如,在步骤S130中,第一固件FW1的操作模式可被设置为中断模式或正常模式。稍后将参照图9更详细地描述步骤S130。
此后,在步骤S150中,存储器控制器1200从主机2000接收对应于写入命令WriteCMD的写入数据。在图7所示的从t3至t4的时间段或从t8至t9的时间段期间,写入数据可从主机2000传输到存储器控制器1200。
接下来,在步骤S170中,当完成写入数据的接收时,存储器控制器1200基于在步骤S130中设置的操作模式停用忙碌信号。稍后将参照图10更详细地描述步骤S170。
图9是描述设置图8所示的第一固件FW1的操作模式的步骤S130的示例的流程图。
参照图9,在步骤S210中检查存储器控制器1200的操作状态。在示例中,可由执行第一固件FW1的第一处理器1202来检查缓冲器1206的状态。在步骤S210中,第一处理器1202可通过检查来检测缓冲器1206的可用空间的当前大小。
在步骤S230中,基于存储器控制器1200的操作状态来确定中断模式是否可用。
例如,当由于缓冲器1206的可用空间不足(即,缓冲器1206充满数据)而无法接收另外的写入数据时,需要保持忙碌信号Busy。在这种情况下,因为作为步骤S230的确定的结果,中断模式不可用(即,步骤S230中为“否”),所以在步骤S270中,第一固件的操作模式可被设置为正常模式。
相反,当缓冲器1206的可用空间足够时,不需要保持忙碌信号Busy。在这种情况下,因为作为步骤S230的确定的结果,中断模式可用(即,步骤S230中为“是”),所以在步骤S250中,第一固件的操作模式可被设置为中断模式。
详细地,当缓冲器1206的可用空间的大小等于或大于预设阈值时,可确定缓冲器1206中的可用空间足够,因此中断模式可用,然后在步骤S250中,第一固件的操作模式可被设置为中断模式。相反,当缓冲器1206的可用空间的大小小于预设阈值时,可确定缓冲器1206中的可用空间不足,因此中断模式不可用,然后在步骤S270中,第一固件的操作模式可被设置为正常模式。
图10A是描述在正常模式下停用忙碌信号的步骤S170的示例的流程图。
参照图10A,当第一固件FW1以正常模式进行操作时,在步骤S310中确定是否已经完成写入数据的接收。可由主机接口1201执行步骤S310。当未完成写入数据的接收(即,步骤S310中为“否”)时,主机接口1201可继续接收写入数据。
当完成写入数据的接收(即,步骤S310中为“是”)时,在步骤S320中,激活忙碌信号。可由主机接口1201执行激活忙碌信号的步骤S320。此后,在步骤S330中,确定第一固件FW1是否已经验证了完成写入数据的接收。图10A作为示例示出了在正常模式下停用忙碌信号。可通过第一固件FW1轮询主机接口1201来执行步骤S330。当第一固件FW1没有验证完成写入数据的接收(即,步骤S330中为“否”)时,第一固件FW1可通过以规则的间隔重复地轮询主机接口1201来执行步骤S330。
当第一固件FW1验证完成写入数据的接收(即,步骤S330中为“是”)时,在步骤S340中,第一固件FW1可检查缓冲器1206的状态。此后,在步骤S350中,确定是否需要清除存储在缓冲器1206中的数据。当需要清除数据(即,步骤S350中为“是”)时,处理继续进行至步骤S360,在步骤S360中,可将存储在缓冲器1206中的数据清除到存储器装置1100中。此后,当完成数据清除且缓冲器1206的可用空间被保证时,在步骤S370中,第一固件FW1可停用忙碌信号,然后可从主机2000接收下一命令和数据。
当不需要清除数据(即,步骤S350中为“否”)时,处理进行至停用忙碌信号的步骤S370,而不执行步骤S360。
如上所述,当第一固件FW1以正常模式进行操作时,即使缓冲器1206存在可用空间,由于以轮询主机接口1201方式执行的步骤S330和检查缓冲器1206的状态的步骤S340,也可能出现延迟。
图10B是描述在中断模式下停用忙碌信号的步骤S170的示例的流程图。
参照图10B,当第一固件FW1以中断模式进行操作时,在步骤S410中确定是否已经完成写入数据的接收。可由主机接口1201执行步骤S410。当未完成写入数据的接收(即,步骤S410中为“否”)时,主机接口1201可继续接收写入数据。
当完成写入数据的接收(即,步骤S410中为“是”)时,在步骤S420中,激活忙碌信号。可由主机接口1201执行激活忙碌信号的步骤S420。同时,在步骤S430中,主机接口1201将DMA中断信号传输到第一固件FW1。步骤S430中的DMA中断信号可以是表示已经完成通过直接存储器访问的数据传输的信号。
在图10B中,步骤S430被示出为在已执行步骤S420之后执行。然而,本发明不限于此。例如,可同时执行步骤S420和步骤S430。
此后,在步骤S440中,第一固件FW1可响应于DMA中断信号停用忙碌信号。当接收到DMA中断信号时,第一固件FW1可暂停当前正在执行的操作,并且可在步骤S440中首先处理忙碌信号停用操作。
如上参照图10A所述,当第一固件FW1以正常模式进行操作时,第一固件FW1可在通过轮询主机接口1201验证完成写入数据的接收之后停用忙碌信号。相反,如图10B所示,当第一固件FW1以中断模式进行操作时,第一固件FW1可在步骤S440中响应于从主机接口1201接收的DMA中断信号停用忙碌信号。因此,可去除取决于轮询周期的额外负担时间段,从而可缩短忙碌信号的激活时间段。因此,可提高存储器系统1000的整体操作速度。
图11是说明根据本公开的实施例的操作存储器控制器1200的方法的时序图。将参照图6至图10A和图10B描述图11。
参照图11,在时间t11,写入命令Write CMD在步骤S110中通过命令线CMD从主机2000传输到存储器控制器1200。在时间t12,存储器控制器1200通过命令线CMD将对写入命令Write CMD的响应信号传输到主机2000。此后,在时间t13,存储器控制器1200在步骤S130中设置第一固件FW1的操作模式。在图11中,示出了在时间t13将第一固件FW1的操作模式设置为中断模式的情况。
详细地,当写入命令Write CMD被传输到存储器控制器1200时,第一固件FW1可在步骤S210中检查存储器控制器1200的状态,并且可在步骤S230中确定中断模式是否可用。在示例中,当缓冲器1206的可用空间的大小等于或大于预设阈值时,缓冲器1206中的可用空间足够,并且不需要在完成写入数据的接收的时间点执行清除操作,可立即停用忙碌信号。在这种情况下,第一固件FW1可以中断模式进行操作。如上所述,当中断模式可用时,在步骤S250中,与接收的写入数据相对应的第一固件FW1的操作模式被设置为中断模式。
在图11中,第一固件FW1的操作模式被示出为在时间t13被设置为中断模式。然而,本发明不限于此。例如,图8中的设置第一固件FW1的操作模式的步骤S130可在时间t12执行,也可在时间t14执行,其中时间t12是完成写入命令Write CMD的接收的时间点,时间t14是完成写入数据的传输的时间点。也就是说,设置第一固件FW1的操作模式的步骤S130可与响应信号的传输并行执行,或者与写入数据的接收并行执行。
接下来,在步骤S150中,写入数据从时间点t13开始通过数据线DAT0至DAT7从主机2000传输到存储器控制器1200。当在时间t14完成写入数据的传输时,主机接口1201可在步骤S430中将DMA中断信号传输到第一固件FW1。在步骤S440中,响应于DMA中断信号,第一固件FW1可停用忙碌信号。
因此,几乎在完成写入数据的传输的同时终止忙碌信号的激活(“忙碌释放”)。因此,未出现诸如图7的t4至t5的时间段的延迟时间,从而可提高系统1000的操作速度。
此后,在时间t15中,写入命令Write CMD在步骤S110中通过命令线CMD再次从主机2000传输到存储器控制器1200。在时间t16,存储器控制器1200通过命令线CMD将对写入命令Write CMD的响应信号传输到主机2000。此后,在时间t17,存储器控制器1200在步骤S130中设置第一固件FW1的操作模式。在图11中,示出了在时间t17将第一固件FW1的操作模式设置为正常模式的情况。
详细地,当写入命令Write CMD被传输到存储器控制器1200时,可在步骤S210中检查存储器控制器1200的操作状态,并且可在步骤S230中确定中断模式是否可用。当确定中断模式不可用时,在步骤S270中将与接收到的写入数据相对应的第一固件FW1的操作模式设置为正常模式。例如,当由于缓冲器1206的可用空间不足而需要清除数据(即,缓冲器1206充满数据)时,可将第一固件FW1的操作模式设置为正常模式。
此后,从时间t17开始,写入数据在步骤S150中通过数据线DAT0至DAT7从主机2000传输到存储器控制器1200。当在时间t18完成写入数据的传输时,作为步骤S310的确定的结果,主机接口1201在步骤S320中激活忙碌信号。在该过程中,第一固件FW1可在步骤S330中通过周期性地轮询主机接口1201来验证是否已经完成写入数据的接收。
当作为轮询主机接口1201的结果完成写入数据的接收被验证时,第一固件FW1在步骤S340中检查缓冲器1206的状态。当在步骤S350中确定需要清除存储在缓冲器中的数据时,在步骤S360中清除存储在缓冲器中的数据。当完成清除数据时,第一固件FW1可在步骤S370中停用忙碌信号。相反,当在步骤S350中确定不需要清除存储在缓冲器中的数据时,第一固件FW1可在步骤S370中停用忙碌信号而不执行清除存储在缓冲器中的数据。
当在时间t18完成写入数据的接收时,激活忙碌信号,并且在执行步骤S330至S360的从t18至t19的时间段期间保持忙碌信号的激活状态。
如上所述,根据本公开的实施例的存储器控制器1200和操作存储器控制器1200的方法,当接收到写入命令Write CMD时,根据存储器控制器1200的状态来设置第一固件FW1的操作模式。在第一固件FW1的操作模式被设置为中断模式的情况下,当完成写入数据的传输时,响应于中断信号立即终止忙碌信号的激活(“忙碌释放”)而没有延迟,因此可提高存储器系统的操作速度。
图12是示出包括图1和图6的存储器控制器的存储器系统的实施例的示图。
参照图12,存储器系统3000可被实施为移动电话、智能电话、平板电脑、个人数字助理(PDA)或无线通信装置。存储器系统3000可包括存储器装置1100和能够控制存储器装置1100的操作的存储器控制器1200。存储器控制器1200可在处理器3100的控制下控制存储器装置1100的数据访问操作,例如,编程操作、擦除操作或读取操作。
编程到存储器装置1100的数据可在存储器控制器1200的控制下经由显示器3200输出。
无线电收发器3300可通过天线ANT交换无线电信号。例如,无线电收发器3300可将通过天线ANT接收的无线电信号改变为可在处理器3100中处理的信号。因此,处理器3100可处理从无线电收发器3300输出的信号,并将处理后的信号传输到存储器控制器1200或显示器3200。存储器控制器1200可将由处理器3100处理的信号编程到存储器装置1100。此外,无线电收发器3300可将从处理器3100输出的信号改变为无线电信号,并且通过天线ANT将改变后的无线电信号输出到外部装置。输入装置3400可用于输入用于控制处理器3100的操作的控制信号或待由处理器3100处理的数据。输入装置3400可被实施为诸如触摸板或计算机鼠标的定点装置、小键盘或键盘。处理器3100可控制显示器3200的操作,使得从存储器控制器1200输出的数据、从无线电收发器3300输出的数据或从输入装置3400输出的数据通过显示器3200输出。
在实施例中,能够控制存储器装置1100的操作的存储器控制器1200可被实施为处理器3100的一部分或与处理器3100分开设置的芯片。
图13是示出包括图1和图6的存储器控制器的存储器系统的实施例的示图。
参照图13,存储器系统4000可被实现在个人计算机、平板电脑、上网本、电子阅读器、个人数字助理(PDA)、便携式多媒体播放器(PMP)、MP3播放器或MP4播放器中。
存储器系统4000可包括存储器装置1100和能够控制存储器装置1100的数据处理操作的存储器控制器1200。
处理器4100可根据从输入装置4200输入的数据,经由显示器4300输出存储在存储器装置1100中的数据。例如,输入装置4200可被实施为诸如触摸板或计算机鼠标的定点装置、小键盘或键盘。
处理器4100可控制存储器系统4000的全部操作,并且控制存储器控制器1200的操作。在实施例中,能够控制存储器装置1100的操作的存储器控制器1200可被实施为处理器4100的一部分或与处理器4100分开设置的芯片。
图14是示出包括图1和图6的存储器控制器的存储器系统的实施例的示图。
参照图14,存储器系统5000可被实现在例如数码相机、配备有数码相机的移动电话、配备有数码相机的智能电话或配备有数码相机的平板电脑的图像处理装置中。
存储器系统5000可包括存储器装置1100和能够控制存储器装置1100的例如编程操作、擦除操作或读取操作的数据处理操作的存储器控制器1200。
存储器系统5000的图像传感器5200可将光学图像转换为数字信号。转换后的数字信号可被传输到处理器5100或存储器控制器1200。在处理器5100的控制下,转换后的数字信号可通过显示器5300输出,或通过存储器控制器1200存储在存储器装置1100中。存储在存储器装置1100中的数据可在处理器5100或存储器控制器1200的控制下通过显示器5300输出。
在实施例中,能够控制存储器装置1100的操作的存储器控制器1200可被实施为处理器5100的一部分或与处理器5100分开设置的芯片。
图15是示出包括图1和图6的存储器控制器的存储器系统的实施例的示图。
参照图15,存储器系统7000可被实现在存储卡或智能卡中。存储器系统7000可包括存储器装置1100、存储器控制器1200和卡接口7100。
存储器控制器1200可控制存储器装置1100和卡接口7100之间的数据交换。在实施例中,卡接口7100可以是但不限于安全数字(SD)卡接口或多媒体卡(MMC)接口。
卡接口7100可根据主机6000的协议来接口连接主机6000和存储器控制器1200之间的数据交换。在实施例中,卡接口7100可支持通用串行总线(USB)协议和芯片间(IC)-USB协议。此处,卡接口可指代能够支持主机6000使用的协议的硬件、安装在硬件中的软件或者信号传输方法。
当存储器系统7000联接到诸如个人电脑、平板电脑、数码相机、数字音频播放器、移动电话、控制台视频游戏硬件或数字机顶盒的主机6000的主机接口6200时,主机接口6200可在微处理器6100的控制下通过卡接口7100和存储器控制器1200与存储器装置1100进行数据通信。
在图15中,示出了存储器系统7000被实施为存储卡的实施例。然而,本公开不限于这种实施例,并且存储器控制器1200和存储器装置1100可被集成到单个半导体装置中,从而形成固态驱动器(SSD)。SSD可包括被配置为将数据存储在半导体存储器中的存储装置。
根据本公开的实施例,可提供一种具有提高的操作速度的存储器控制器。
根据本公开的实施例,可提供一种操作具有提高的操作性能的存储器控制器的方法。
虽然为了说明的目的公开了本公开的示例性实施例,但本领域技术人员将理解的是,可进行各种修改、添加和替换。因此,本公开的范围必须由所附权利要求和权利要求的等同物来限定,而非由之前的描述来限定。

Claims (17)

1.一种存储器控制器,所述存储器控制器用于响应于从主机接收的写入命令来控制存储器装置的写入操作,所述存储器控制器包括:
主机接口,从所述主机接收与所述写入命令相对应的写入数据;
缓冲器,存储所述写入数据;以及
第一处理器,所述第一处理器:
当接收到所述写入命令时,基于所述缓冲器的可用空间的大小而将正常模式和中断模式中的一种设置为操作模式,
其中当在所述操作模式被设置为中断模式的同时所述写入数据的接收完成时,所述主机接口输出中断信号,并且
其中响应于从所述主机接口接收到中断信号,所述第一处理器停用防止接收新写入命令的忙碌信号。
2. 根据权利要求1所述的存储器控制器,
其中当在操作模式为正常模式的同时完成所述写入数据的接收时,所述主机接口激活忙碌信号,并且
其中所述第一处理器通过轮询所述主机接口来验证所述写入数据的接收,并且基于所述缓冲器的可用空间的大小停用所述忙碌信号。
3.根据权利要求1所述的存储器控制器,其中所述主机接口使用直接存储器访问,即DMA方案接收所述写入数据。
4.根据权利要求3所述的存储器控制器,其中所述主机接口包括DMA控制器。
5.根据权利要求4所述的存储器控制器,其中当完成所述写入数据的接收时,所述DMA控制器生成所述中断信号。
6.根据权利要求5所述的存储器控制器,其中所述中断信号是表示使用所述DMA方案的所述写入数据的接收已经完成的信号。
7.一种操作存储器控制器的方法,所述存储器控制器包括缓冲器和主机接口,所述方法包括:
通过所述主机接口从主机接收写入命令;
基于所述缓冲器的可用空间的大小,将正常模式和中断模式中的一种设置为操作模式;
通过主机接口从主机接收与所述写入命令相对应的写入数据;
当在所述操作模式被设置为中断模式的同时所述写入数据的接收完成时,通过所述主机接口输出中断信号;并且
响应于所述中断信号,停用防止接收新写入命令的忙碌信号。
8.根据权利要求7所述的方法,其中所述写入数据的接收包括将所述写入数据存储在缓冲器中。
9.根据权利要求7所述的方法,其中设置包括:当所述缓冲器的可用空间的大小小于预设阈值时,将正常模式设置为操作模式。
10.根据权利要求9所述的方法,其中设置包括:当所述缓冲器的可用空间的大小等于或大于预设阈值时,将中断模式设置为操作模式。
11.根据权利要求9所述的方法,其中停用包括:
当在操作模式为正常模式的同时完成所述写入数据的接收时,激活所述忙碌信号;
由第一固件通过轮询所述主机接口来验证所述写入数据的接收;并且
基于缓冲器的可用空间的大小停用所述忙碌信号。
12.根据权利要求11所述的方法,其中停用包括:
检查所述缓冲器的当前状态,然后确定是否需要清除存储在所述缓冲器中的数据;
当确定需要清除所述数据时,第二固件清除存储在所述缓冲器中的数据;并且
在已经完成清除之后,所述第一固件停用所述忙碌信号。
13. 根据权利要求11所述的方法,其中停用包括:
检查所述缓冲器的当前状态,然后确定是否需要清除存储在所述缓冲器中的数据;并且
当确定不需要清除所述数据时,所述第一固件停用所述忙碌信号。
14.根据权利要求12所述的方法,其中由存储器控制器的第一处理器执行所述第一固件,由存储器控制器的第二处理器执行所述第二固件。
15.根据权利要求12所述的方法,其中所述第二固件包括闪存转换层,即FTL。
16.一种用于控制存储器装置的控制器,所述控制器用于控制所述存储器装置执行写入操作,所述控制器包括:
缓冲器;
主机接口,将待被编程到所述存储器装置中的写入数据缓冲在所述缓冲器中并提供完成信号,以及在确定所述缓冲器具有足够的可用空间来缓冲数据时,基于所述写入数据的缓冲完成而激活忙碌信号,所述忙碌信号阻止接收后续写入数据;以及
处理器,根据所述完成信号停用所述忙碌信号,
其中所述处理器执行第一固件,所述第一固件的操作模式被设置为正常模式和中断模式中的一种,在第一固件的操作模式被设置为中断模式的情况下,当完成写入数据的传输时,响应于中断信号立即终止忙碌信号的激活而没有延迟。
17.根据权利要求16所述的控制器,其中所述处理器在完成所述写入数据的缓冲之前确定所述缓冲器是否具有足够的可用空间。
CN201811327616.4A 2018-03-29 2018-11-08 存储器控制器及操作存储器控制器的方法 Active CN110321068B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2018-0036825 2018-03-29
KR1020180036825A KR102536637B1 (ko) 2018-03-29 2018-03-29 메모리 컨트롤러 및 그 동작 방법

Publications (2)

Publication Number Publication Date
CN110321068A CN110321068A (zh) 2019-10-11
CN110321068B true CN110321068B (zh) 2023-06-13

Family

ID=68056182

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811327616.4A Active CN110321068B (zh) 2018-03-29 2018-11-08 存储器控制器及操作存储器控制器的方法

Country Status (3)

Country Link
US (1) US11048435B2 (zh)
KR (1) KR102536637B1 (zh)
CN (1) CN110321068B (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11803468B2 (en) * 2018-09-19 2023-10-31 Seagate Technology Llc Data storage system with write back cache
KR102243923B1 (ko) * 2018-12-31 2021-04-22 강원대학교산학협력단 캐쉬를 동반한 효율적인 페이지 컬렉션 매핑을 이용하는 비휘발성 메모리 장치 및 그 동작 방법
CN114365097A (zh) * 2019-08-27 2022-04-15 美光科技公司 受管理存储器系统中的写入缓冲器控制
KR102295751B1 (ko) * 2019-12-16 2021-08-31 현대모비스 주식회사 차량의 센서 퓨전 장치
WO2021126656A1 (en) * 2019-12-16 2021-06-24 Micron Technology, Inc. Interrupt signaling for a memory device
US11955174B2 (en) * 2020-02-26 2024-04-09 Arista Networks, Inc. Selectively connectable content-addressable memory
TWI755739B (zh) * 2020-05-26 2022-02-21 慧榮科技股份有限公司 記憶體控制器與資料處理方法
KR20230023470A (ko) 2021-08-10 2023-02-17 에스케이하이닉스 주식회사 스토리지 장치 및 그의 딜레이 시간을 계산하는 모델을 최적화하는 호스트 장치
EP4231163A1 (en) * 2022-02-16 2023-08-23 Infineon Technologies AG Direct memory access system, system for processing sensor data and method for direct memory access
CN116909492B (zh) * 2023-09-12 2023-12-08 合肥康芯威存储技术有限公司 一种存储设备及其控制方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0556106A (ja) * 1991-08-27 1993-03-05 Oki Data Syst:Kk データ通信システムにおける端末装置

Family Cites Families (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3253547B2 (ja) * 1996-03-28 2002-02-04 株式会社沖データ データ転送システム
US6996819B1 (en) * 1999-09-10 2006-02-07 Unisys Corporation Method for efficiently downloading SCSI and SERVO firmware to SCSI target controllers
US7336700B2 (en) * 2001-09-20 2008-02-26 Lockheed Martin Corporation System bus transceiver interface
KR100564573B1 (ko) * 2003-08-29 2006-03-29 삼성전자주식회사 데이터 저장 시스템에서의 데이터 보호 방법 및 이를이용한 디스크 드라이브
JP4291664B2 (ja) * 2003-10-14 2009-07-08 株式会社日立製作所 通信バッファ予約機能を備えるストレージ装置およびシステム
US7673080B1 (en) * 2004-02-12 2010-03-02 Super Talent Electronics, Inc. Differential data transfer for flash memory card
US7954114B2 (en) * 2006-01-26 2011-05-31 Exegy Incorporated Firmware socket module for FPGA-based pipeline processing
US7743197B2 (en) * 2006-05-11 2010-06-22 Emulex Design & Manufacturing Corporation System and method for virtualizing PCIe devices
US8156272B2 (en) * 2006-09-01 2012-04-10 Spansion Llc Multiple communication channels on MMC or SD CMD line
JP5032155B2 (ja) * 2007-03-02 2012-09-26 株式会社東芝 不揮発性半導体記憶装置、及び不揮発性半導体記憶システム
JP2008257773A (ja) * 2007-04-02 2008-10-23 Toshiba Corp 不揮発性半導体記憶装置、不揮発性半導体記憶装置の制御方法、不揮発性半導体記憶システム、及びメモリカード
US7849271B2 (en) * 2007-06-11 2010-12-07 Hitachi, Ltd. System and method for intrusion protection of network storage
JP4575410B2 (ja) * 2007-08-29 2010-11-04 株式会社東芝 半導体記憶装置およびその動作方法
JP2009086988A (ja) * 2007-09-28 2009-04-23 Toshiba Corp メモリカード
JP2009176136A (ja) * 2008-01-25 2009-08-06 Toshiba Corp 半導体記憶装置
WO2009153944A1 (ja) * 2008-06-20 2009-12-23 パナソニック株式会社 データ通信システム、通信装置及び通信方法
AU2008363368B2 (en) * 2008-10-27 2015-09-24 Sato Holdings Kabushiki Kaisha Label printer API using program scripting language
EP2383948B1 (en) * 2009-11-13 2018-07-11 Panasonic Intellectual Property Management Co., Ltd. Interface circuit, and interface system
JP5254449B2 (ja) * 2009-12-07 2013-08-07 パナソニック株式会社 不揮発性記憶装置、ホスト装置、記憶システム、データ通信方法およびプログラム
JP2011233114A (ja) * 2010-04-30 2011-11-17 Toshiba Corp メモリシステム
CN102789439B (zh) * 2012-06-16 2016-02-10 北京忆恒创源科技有限公司 控制数据传输过程中的中断的方法与存储设备
KR101932920B1 (ko) 2012-09-14 2019-03-18 삼성전자 주식회사 비휘발성 메모리 카드를 제어하는 호스트, 이를 포함하는 시스템 및 이의 동작 방법
KR101988260B1 (ko) 2012-09-14 2019-06-12 삼성전자주식회사 임베디드 멀티미디어 카드, 및 이의 동작 방법
JP2014130549A (ja) * 2012-12-28 2014-07-10 Fujitsu Ltd ストレージ装置、制御方法、および制御プログラム
WO2014155668A1 (ja) * 2013-03-29 2014-10-02 株式会社 東芝 データの重複をハッシュテーブルに基づいて排除するためのストレージシステム、ストレージコントローラ及び方法
KR102025240B1 (ko) * 2013-04-01 2019-11-04 삼성전자주식회사 메모리 시스템 및 메모리 시스템의 동작 방법
US9648148B2 (en) * 2013-12-24 2017-05-09 Intel Corporation Method, apparatus, and system for QoS within high performance fabrics
KR102367982B1 (ko) * 2015-06-22 2022-02-25 삼성전자주식회사 데이터 저장 장치와 이를 포함하는 데이터 처리 시스템
KR102319402B1 (ko) * 2015-06-30 2021-11-01 에스케이하이닉스 주식회사 복수의 채널들을 통해 반도체 메모리 장치들을 제어하는 메모리 시스템
TWI546660B (zh) * 2015-09-22 2016-08-21 新唐科技股份有限公司 除錯系統與方法
KR102333220B1 (ko) * 2015-09-24 2021-12-01 삼성전자주식회사 불휘발성 메모리 시스템의 동작 방법
JP6524267B2 (ja) * 2016-01-22 2019-06-05 株式会社日立製作所 計算機システム、計算機
JP2018036708A (ja) * 2016-08-29 2018-03-08 東芝メモリ株式会社 ストレージシステムおよび制御方法
US11037627B2 (en) * 2017-11-29 2021-06-15 Western Digital Technologies, Inc. Cell block allocation for hybrid dual write

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0556106A (ja) * 1991-08-27 1993-03-05 Oki Data Syst:Kk データ通信システムにおける端末装置

Also Published As

Publication number Publication date
KR102536637B1 (ko) 2023-05-26
US20190303041A1 (en) 2019-10-03
US11048435B2 (en) 2021-06-29
KR20190114312A (ko) 2019-10-10
CN110321068A (zh) 2019-10-11

Similar Documents

Publication Publication Date Title
CN110321068B (zh) 存储器控制器及操作存储器控制器的方法
CN109992537B (zh) 存储系统及其操作方法
CN111009275B (zh) 存储器装置和存储器装置的操作方法
CN109493890B (zh) 存储器装置及其操作方法
US10910045B2 (en) Storage device having improved cache performance and method of operating the same
US20190220219A1 (en) Memory device and method of operating the same
KR102479483B1 (ko) 메모리 시스템 및 이의 동작 방법
CN112542186B (zh) 存储器设备和操作存储器设备的方法
KR20190106282A (ko) 저전압 감지 회로 및 이를 포함하는 메모리 장치
CN111091859A (zh) 存储器装置及其操作方法
CN111798908B (zh) 存储器装置及其操作方法
CN111445939B (zh) 存储装置及其操作方法
US10991432B2 (en) Storage device and method of operating the same
US11335406B2 (en) Memory device for performing program verify operation and method of operating the same
US11237768B2 (en) Memory device changing memory area in which data is stored and operating method thereof
CN112151096B (zh) 存储器装置及其操作方法
CN112053711B (zh) 存储器装置以及该存储器装置的操作方法
CN111341370B (zh) 半导体存储器装置、控制器、存储装置及其操作方法
US20220342602A1 (en) Controller and method of operating the same
US11538531B2 (en) Memory device and method of operating the same
CN115705899A (zh) 存储器装置
CN115565585A (zh) 储存装置、存储器装置及操作存储器装置的方法
CN114974380A (zh) 存储器装置及其操作方法
CN113971975A (zh) 存储器装置及其操作方法
CN114078532A (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
GR01 Patent grant
GR01 Patent grant