CN110083304B - 存储器控制器及其操作方法 - Google Patents
存储器控制器及其操作方法 Download PDFInfo
- Publication number
- CN110083304B CN110083304B CN201811109086.6A CN201811109086A CN110083304B CN 110083304 B CN110083304 B CN 110083304B CN 201811109086 A CN201811109086 A CN 201811109086A CN 110083304 B CN110083304 B CN 110083304B
- Authority
- CN
- China
- Prior art keywords
- memory
- descriptor
- command
- request
- 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
Links
- 230000015654 memory Effects 0.000 title claims abstract description 407
- 238000011017 operating method Methods 0.000 title description 2
- 238000013519 translation Methods 0.000 claims abstract description 9
- 230000004044 response Effects 0.000 claims description 17
- 238000000034 method Methods 0.000 abstract description 15
- 239000000872 buffer Substances 0.000 description 36
- 238000010586 diagram Methods 0.000 description 29
- 239000010410 layer Substances 0.000 description 27
- 238000004891 communication Methods 0.000 description 14
- 230000002093 peripheral effect Effects 0.000 description 9
- 239000000725 suspension Substances 0.000 description 9
- 238000013507 mapping Methods 0.000 description 8
- 239000004065 semiconductor Substances 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 230000005684 electric field Effects 0.000 description 4
- 238000009413 insulation Methods 0.000 description 4
- 238000013461 design Methods 0.000 description 3
- 230000009977 dual effect Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 239000007787 solid Substances 0.000 description 3
- 239000000758 substrate Substances 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 229920001621 AMOLED Polymers 0.000 description 2
- 101100444020 Caenorhabditis elegans dsl-1 gene Proteins 0.000 description 2
- 101100366714 Caenorhabditis elegans ssl-1 gene Proteins 0.000 description 2
- 238000007792 addition Methods 0.000 description 2
- 230000000903 blocking effect Effects 0.000 description 2
- 239000003990 capacitor Substances 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000005086 pumping Methods 0.000 description 2
- 230000005641 tunneling Effects 0.000 description 2
- 101000934888 Homo sapiens Succinate dehydrogenase cytochrome b560 subunit, mitochondrial Proteins 0.000 description 1
- 102100025393 Succinate dehydrogenase cytochrome b560 subunit, mitochondrial Human genes 0.000 description 1
- 101150013423 dsl-1 gene Proteins 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 239000002356 single layer Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 230000003936 working memory Effects 0.000 description 1
Images
Classifications
-
- 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/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0616—Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
-
- 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
- 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/1642—Handling requests for interconnection or transfer for access to memory bus based on arbitration with request queuing
-
- 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
- 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/18—Handling requests for interconnection or transfer for access to memory bus based on priority control
-
- 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
- G06F3/064—Management of blocks
-
- 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
- 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/7201—Logical to physical mapping or translation of blocks or pages
-
- 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/7209—Validity control, e.g. using flags, time stamps or sequence numbers
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)
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
Abstract
本发明提供一种存储器控制器和操作存储器控制器的方法。该存储器控制器可包括:主机接口层,从主机接收对存储器装置的请求;闪存转换层,生成描述符,该描述符包括指示该请求是否是优先读取请求的标记;以及闪存接口层,根据标记暂停在优先读取请求之前输入的请求,存储在优先读取请求之前输入的请求,并执行优先读取请求。
Description
相关申请的交叉引用
本申请要求于2018年1月25日提交的申请号为10-2018-0009531的韩国专利申请的优先权,其全部内容通过引用并入本文。
技术领域
本公开的各个实施例总体涉及一种电子装置,且更特别地,涉及一种存储器控制器和操作存储器控制器的方法。
背景技术
通常,存储装置是在诸如计算机、智能手机或智能平板的主机装置的控制下存储数据的装置。根据所提供的用于存储数据的装置的类型,存储装置的示例可被分类为诸如硬盘驱动器(HDD)的在磁盘中存储数据的装置,以及诸如固态驱动器(SSD)或存储卡的在半导体存储器,特别是非易失性存储器中存储数据的装置。
存储装置可包括存储数据的存储器装置,以及被配置成将数据存储在存储器装置中的存储器控制器。存储器装置可被分类为易失性存储器和非易失性存储器。非易失性存储器的代表性示例包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、闪速存储器、相变随机存取存储器(PRAM)、磁性RAM(MRAM)、电阻式RAM(RRAM)、铁电RAM(FRAM)等。
发明内容
本公开的各个实施例涉及一种存储器控制器以及操作存储器控制器的方法,该存储器控制器被配置成暂停正在进行的正常命令的操作以便执行优先读取命令。
本公开的实施例可提供一种存储器控制器,包括:主机接口层,被配置成从主机接收对存储器装置的请求;闪存转换层,被配置成生成描述符,该描述符包括表示该请求是否是优先读取请求的标记;以及闪存接口层,被配置成根据标记暂停在优先读取请求之前输入的请求,存储在优先读取请求之前输入的请求,并执行优先读取请求。
本公开的实施例可提供一种存储器系统,包括:存储器装置;命令调度器,适于响应于请求,生成优先描述符和正常描述符;存储器操作控制单元,适于响应于在第一队列中排队的优先描述符,暂停正在进行的操作或保持针对第一队列中排在优先描述符之前的正常描述符的待处理的操作,并且将排在优先描述符之前的正常描述符从第一队列移动到第二队列中;以及恢复处理器,适于在对应于优先描述符的操作完成之后,根据第二队列中的正常描述符,控制存储器装置恢复被暂停的操作或被保持的操作。
附图说明
图1是示出根据本公开的实施例的包括存储器控制器的存储装置的示图。
图2是示出根据本公开的实施例的图1的存储器控制器的功能划分部件的示图。
图3是示出根据本公开的实施例的图2的暂停操作控制单元和闪速存储器控制器的部件的框图。
图4是示出根据本公开的实施例的图3的描述符队列的示图。
图5是示出根据本公开的实施例的参照图3描述的命令管理单元的操作的示图。
图6是示出根据本公开的实施例的存储器控制器的操作的流程图。
图7是示出根据本公开的实施例的图1的存储器装置的配置的示图。
图8是示出根据本公开的实施例的图7的存储器单元阵列的示图。
图9是示出根据本公开的实施例的图8的存储块(BLK1)至(BLKz)中的任意一个存储块(BLKa)的电路图。
图10是示出根据本公开的实施例的图8的存储块(BLK1)至(BLKz)中的任意一个存储块(BLKb)的电路图。
图11是示出根据本公开的实施例的包括在图7的存储器单元阵列中的存储块(BLK1)至(BLKz)中的任意一个存储块(BLKc)的电路图。
图12是示出根据本公开的实施例的图1的存储器控制器的示例的示图。
图13是示出应用了根据本公开的实施例的存储装置的存储卡系统的框图。
图14是示出应用了根据本公开的实施例的存储装置的固态驱动器(SSD)系统的框图。
图15是示出应用了根据本公开的实施例的存储装置的用户系统的框图。
具体实施方式
现在将参照附图在下文中更全面地描述示例性实施例;然而,其可以不同的形式来实施,并且不应被解释为限于在此阐述的实施例。相反地,提供这些实施例以使本公开将是彻底且充分的,并且将示例性实施例的范围全面地传达给本领域技术人员。
在附图中,为了说明清楚,可放大尺寸。将理解的是,当元件被称为在两个元件“之间”时,该元件可以是这两个元件之间的唯一元件,或者也可存在一个或多个中间元件。
在下文中,将参照附图描述实施例。在本文中参考横截面图来描述实施例,其中横截面图为实施例和中间结构的示意图。这样,由于例如制造技术和/或容差而导致的图示形状的变化将是可预期的。因此,实施例不应被解释为限于在本文中所示的区域的特定形状,而是可包括例如由制造引起的形状偏差。在附图中,为清楚起见,可以夸大层和区域的长度和大小。附图中相同的附图标记表示相同的元件。
诸如“第一”和“第二”的术语可用于描述各个部件,但其不应限制各个部件。这些术语仅用于区分部件与其它部件的目的。例如,在不脱离本公开的实质和范围的情况下,第一部件可被称为第二部件,并且第二部件可被称为第一部件等。此外,“和/或”可包括所提及的部件中的任意一个或组合。
此外,只要在句中没有特别提及,则单数形式可包括复数形式。此外,在说明书中使用的“包括/包含”或“包括有/包含有”表示存在或添加一个或多个部件、步骤、操作和元件。
此外,除非另有定义,否则本说明书中使用的包括技术术语和科学术语的所有术语具有与相关领域的技术人员通常理解的含义相同的含义。通常使用的字典中定义的术语应被解释为具有与在相关技术的背景下解释的含义相同的含义,并且除非在本说明书中另有明确定义,否则其不应被解释为具有理想化或过于正式的含义。
还应注意的是,在本说明书中,“连接/联接”不仅指一个部件直接联接另一部件,而且还指通过中间部件间接联接另一部件。另一方面,“直接连接/直接联接”指一个部件直接联接另一部件而没有中间部件。
图1是示出根据本公开的实施例的包括存储器控制器200的存储装置50的示图。
参照图1,存储装置50可包括存储器装置100和存储器控制器200。
存储器装置100可在其中存储数据。存储器装置100可在存储器控制器200的控制下操作。存储器装置100可包括存储器单元阵列,该存储器单元阵列包括被配置成在其中存储数据的多个存储器单元。存储器单元阵列可包括多个存储块。每一个存储块可包括多个存储器单元。存储器装置100可在存储器控制器200的控制下以顺序的或随机的次序将数据存储到存储块。在实施例中,存储器装置100可以是双倍数据速率同步动态随机存取存储器(DDR SDRAM)、低功率双倍数据速率4(LPDDR4)SDRAM、图形双倍数据速率(GDDR)SDRAM、低功率DDR(LPDDR)SDRAM、Rambus动态随机存取存储器(RDRAM)、NAND闪速存储器、垂直NAND闪速存储器、NOR闪速存储器装置、电阻式随机存取存储器(RRAM)、相变存储器(PRAM)、磁阻随机存取存储器(MRAM)、铁电随机存取存储器(FRAM)或自旋转移扭矩随机存取存储器(STT-RAM)。
在实施例中,存储器装置100可以三维阵列结构来实现。本公开不仅可应用于其中电荷存储层由导电浮栅(FG)形成的闪速存储器,而且还可应用于其中电荷存储层由绝缘层形成的电荷撷取闪速(CTF)存储器。
存储器装置100可被配置成从存储器控制器200接收命令和地址,并且访问存储器单元阵列中通过地址选择的区域。换言之,存储器装置100可对通过地址选择的区域执行与命令相对应的操作。例如,存储器装置100可执行写入(编程)操作、读取操作和擦除操作。在编程操作期间,存储器装置100可将数据编程到通过地址选择的区域。在读取操作期间,存储器装置100可从通过地址选择的区域读取数据。在擦除操作期间,存储器装置100可从通过地址选择的区域擦除数据。
在实施例中,存储器装置100可响应于输入的暂停命令来暂停当前执行的操作。待暂停的操作可对应于编程操作、读取操作和擦除操作中的任意一个。存储器装置100可将暂停相关信息存储在单独的缓冲存储器或高速缓冲存储器中,该暂停相关信息是与被暂停的操作在暂停之前已执行的程度相关的信息。在实施例中,存储器装置100可包括被配置成管理暂停相关信息的单独的寄存器。在各个实施例中,暂停相关信息可包括表示对应的被暂停的操作在暂停之前已经执行的程度的信息。存储器装置100可响应于输入的恢复命令来恢复被暂停的操作。在实施例中,存储器装置100可参考暂停相关信息而接着暂停状态执行被暂停的操作,而不是从头开始重新执行对应的操作。
存储器控制器200可响应于主机300的请求来控制存储器装置100的操作,或者不考虑主机300的请求而控制存储器装置100的操作。
例如,存储器控制器200可响应于来自主机300的请求控制存储器装置100执行编程操作、读取操作或擦除操作。在编程操作期间,存储器控制器200可向存储器装置100提供编程命令、物理地址和数据。在读取操作期间,存储器控制器200可向存储器装置100提供读取命令和物理地址。在擦除操作期间,存储器控制器200可向存储器装置100提供擦除命令和物理地址。
在实施例中,存储器控制器200可在没有来自主机300的请求的情况下自主地生成编程命令、地址和数据,并且将编程命令、地址和数据传输到存储器装置100。例如,存储器控制器200可向存储器装置100提供命令、地址和数据以执行后台操作,例如用于磨损均衡的编程操作或用于垃圾收集的编程操作。
存储器控制器200可执行固件以控制存储器装置100。在存储器装置100为闪速存储器装置的情况下,存储器控制器200可管理诸如闪存转换层(FTL)的固件,以控制主机300和存储器装置100之间的通信。详细地,存储器控制器200可将包括在来自主机300的请求中的逻辑地址转换成物理地址。
在实施例中,从主机300传输的读取请求中的一些读取请求可以是读取延迟显著的读取请求。读取延迟显著的读取请求可以是其中必须确保在预设延迟内输出读取数据的读取请求。在本说明书中,读取延迟显著的读取请求被称为“优先读取请求”,优先读取请求的读取命令被称为“优先读取命令”,并且响应于优先读取命令的读取操作被称为“优先读取操作”。
在本公开的实施例中,存储器控制器200可包括暂停操作控制单元210。暂停操作控制单元210可周期性地监控包括在存储器控制器200中的暂停队列。通过稍后将描述的闪速存储器控制器203,正在进行的正常命令可被暂停以优先执行优先读取命令并且可在暂停队列中排队。暂停操作控制单元210可监控暂停队列。如果命令在暂停队列中排队,则暂停操作控制单元210可基于存储器装置100的操作状态生成用于恢复与被暂停的命令相对应的操作的恢复命令,并且可将恢复命令提供给存储器装置100。
稍后将参照图2至图6详细描述根据本公开的实施例的暂停操作控制单元210的操作。
主机300可使用诸如以下的各种通信方法中的至少一种来与存储装置50通信:通用串行总线(USB)、串行AT附件(SATA)、串列SCSI(SAS)、高速芯片间(HSIC)、小型计算机系统接口(SCSI)、外围组件互连(PCI)、PCI高速(PCIe)、非易失性存储器高速(NVMe)、通用闪存(UFS)、安全数字(SD)、多媒体卡(MMC)、嵌入式MMC(eMMC)、双列直插式存储器模块(DIMM)、寄存式DIMM(RDIMM)以及低负载DIMM(LRDIMM)通信方法。
图2是示出根据本公开的实施例的图1的存储器控制器200的功能划分部件的示图。
参照图2,存储器控制器200可包括闪存转换层(FTL)201、主机控制器202和闪速存储器控制器203。在图2中,通过示例的方式示出了存储器控制器200控制闪速存储器装置的情况。换言之,参照图1描述的存储器装置100可以是闪速存储器装置。
存储器控制器200可被划分成三层。详细地,存储器控制器200可被划分成用于管理与主机的接口的主机接口层(在下文中,称为“HIL”)、用于管理与闪速存储器装置的接口的闪存接口层(在下文中,称为“FIL”)以及用于管理两个层之间的转换的闪存转换层(在下文中,称为“FTL”)。
存储器控制器200可执行固件(在下文中,称为“FW”)来控制存储器装置的操作。在实施例中,待由存储器控制器执行的FW可被划分成分别对应于HIL、FTL和FIL的FW。术语“HIL”、“FTL”或“FIL”也可被用作表示对应FW的术语。
可使用主机控制器202来实现HIL。主机控制器202可与主机通信。在实施例中,主机控制器202可使用诸如以下的各种通信方法中的至少一种来与主机通信:通用串行总线(USB)、串行AT附件(SATA)、串列SCSI(SAS)、高速芯片间(HSIC)、小型计算机系统接口(SCSI)、外围组件互连(PCI)、PCI高速(PCIe)、非易失性存储器高速(NVMe)、通用闪存(UFS)、安全数字(SD)、多媒体卡(MMC)、嵌入式MMC(eMMC)、双列直插式存储器模块(DIMM)、寄存式DIMM(RDIMM)以及低负载DIMM(LRDIMM)通信方法。主机控制器202可向FTL 201提供从主机接收的请求。主机控制器202可向主机提供执行从主机接收的请求的结果。在实施例中,主机控制器202可被实施为硬件。
FTL 201可以是被配置成执行用于控制主机和闪速存储器装置之间的通信的全部操作的固件。
在实施例中,FTL 201可将包括在来自主机的请求中的逻辑地址转换成物理地址。在实施例中,物理地址可以是表示包括在闪速存储器装置中的特定存储器区域的地址。
在实施例中,FTL 201可控制用于磨损均衡的操作。例如,FTL 201可管理包括在闪速存储器装置中的存储块的磨损水平。闪速存储器装置的存储器单元可能因对存储块的编程操作和擦除操作而老化。老化的存储器单元,即磨坏的存储器单元可能引起缺陷(例如,物理缺陷)。因此,FTL 201可管理存储块,使得块的各个擦除-写入循环计数被均衡,从而防止闪速存储器装置的特定存储块比其它存储块磨坏得早。
在实施例中,FTL 201可控制用于垃圾收集的操作。垃圾收集可以是将包括在多个存储块中的每一个中的有效数据收集到具有相同地址的存储块中以确保可用空闲块的后台操作。
可使用闪速存储器控制器203来实施FIL。闪速存储器控制器203可与闪速存储器装置100通信。在实施例中,闪速存储器控制器203可通过NAND闪存或NOR闪存中的任意一个通信接口与闪速存储器装置100通信。闪速存储器控制器203可向闪速存储器装置100提供与从FTL 201接收的请求相对应的命令。闪速存储器控制器203可接收闪速存储器装置100响应于命令而执行的操作的结果。闪速存储器控制器203可被实施为硬件。
在实施例中,FTL 201可提供与待由闪速存储器控制器203执行的各个操作相对应的描述符。每一个描述符可包括与从主机300输入的对应请求相关的信息。例如,描述符可包括将包括在来自主机300的请求中的逻辑地址转换成物理地址的结果。闪速存储器控制器203可基于描述符对闪速存储器装置100执行操作。例如,闪速存储器控制器203可基于描述符向闪速存储器装置100提供命令、地址或数据。
在本公开的实施例中,从主机输入的读取请求中的一些读取请求可以是读取延迟显著的读取请求。读取延迟显著的读取请求可以是其中必须确保在预设延迟内输出读取数据的读取请求。在本说明书中,读取延迟显著的读取请求可被称为“优先读取请求”。此外,执行优先读取请求的读取命令可被称为“优先读取命令”。
在常规存储器控制器的情况下,FTL 201控制待由闪速存储器装置100执行的操作,而FIL仅管理与闪速存储器装置100的通信。因此,增加了FTL 201的设计复杂程度和FTL201的开销。例如,在常规情况下,当从主机控制器202接收到优先读取请求时,FTL 201控制闪速存储器控制器203以暂停正在进行的操作,向闪速存储器装置100传输与优先读取请求相对应的优先读取命令,然后在完成执行优先读取命令的操作之后,恢复已经被暂停的操作。
在本公开的实施例中,当从主机输入优先读取请求时,FTL 201可将标记设置到对应的读取请求,并将标记提供给闪速存储器控制器203。换言之,FTL 201可根据输入请求是否是优先读取请求来将标记设置到描述符,然后将标记提供给闪速存储器控制器203。FTL201可不参与用于执行优先读取请求的暂停操作。换言之,FTL 201可仅执行根据输入请求是否是优先读取请求而将标记设置到描述符并将标记提供给闪速存储器控制器203的操作,而可不确定待暂停的操作以及待执行的操作。
闪速存储器控制器203可根据标记的设置状态来确定对应的读取请求是否是优先读取请求。标记可以是具有值0或1的1位数据。当标记具有值0时,闪速存储器控制器203可识别已设置标记,并且当标记具有值1时,闪速存储器控制器203可识别未设置标记。相反地,当标记具有值1时,闪速存储器控制器203可识别已设置标记,并且当标记具有值0时,闪速存储器控制器203可识别未设置标记。
闪速存储器控制器203可根据包括在描述符中的标记的设置状态来确定待暂停的命令。可选地,闪速存储器控制器203可根据包括在描述符中的标记的设置状态来确定待保持的命令。如果输入了对应于优先读取请求的描述符,则闪速存储器控制器203可暂停当前执行的命令,保持根据命令序列在优先读取请求之前的命令,并且首先执行对应于优先读取请求的优先读取命令。闪速存储器控制器203可使被暂停的或被保持的命令在暂停队列中排队。
FTL 201可进一步包括暂停操作控制单元210。暂停操作控制单元210可周期性地监控包括在存储器控制器200中的暂停队列。暂停队列可存储被暂停以优先执行优先读取命令的命令。通过闪速存储器控制器203,正在进行的正常命令可被暂停以优先执行优先读取命令并且可在暂停队列中排队。暂停操作控制单元210可监控暂停队列。如果命令在暂停队列中排队,则暂停操作控制单元210可基于闪速存储器装置100的操作状态生成用于恢复与被暂停的命令相对应的操作的恢复命令,并且可将恢复命令提供给闪速存储器装置100。
因此,根据本公开的实施例,FTL 201可不直接参与暂停操作。FTL 201的暂停操作控制单元210可周期性地监控包括在闪速存储器控制器203中的暂停队列,并且可向闪速存储器装置提供恢复命令。因此,可降低FTL 201的设计复杂程度。
图3是示出根据本公开的实施例的图2的暂停操作控制单元210和闪速存储器控制器203的部件的框图。
参照图3,FTL 201可包括暂停操作控制单元410。暂停操作控制单元410可以是参照图1和图2描述的暂停操作控制单元210。暂停操作控制单元410可包括命令调度器411和恢复处理器412。在实施例中,暂停操作控制单元410中可不包括命令调度器411。例如,FTL201可不考虑暂停操作控制单元410而响应于从主机300输入的请求来生成描述符。可通过使用逻辑电路或处理器来实施暂停操作控制单元410。
命令调度器411可为从主机输入的请求生成描述符。例如,命令调度器411可将包括在从主机输入的请求中的逻辑地址转换成表示包括在闪速存储器装置100中的存储器单元的特定区域的物理地址,并且可生成包括转换的物理地址的描述符。
在实施例中,命令调度器411可确定从主机300输入的读取请求是否是读取延迟显著的读取请求。读取延迟显著的读取请求可以是其中必须确保在预设延迟内输出读取数据的优先读取请求。
如果输入了优先读取请求,则命令调度器411可生成描述符,该描述符包括表示对应请求是优先读取请求的标记。例如,命令调度器411可根据从主机输入的读取请求是否是优先读取请求来生成包括具有值0或1的标记的描述符。例如,当标记具有值0时,可能已设置标记,而当标记具有值1时,可能未设置标记。可选地,相反,当标记具有值1时,可能已设置标记,而当标记具有值0时,可能未设置标记。因此,当从主机300输入的读取请求是优先读取请求时,命令调度器411可设置标记。对于优先读取请求以外的请求,命令调度器411可不设置标记。
命令调度器411可将生成的描述符输入到包括在闪速存储器控制器203的命令管理单元430中的描述符队列431。在各个实施例中,命令调度器411可生成描述符队列431,其中描述符已经根据请求的顺序输入到该描述符队列431,并且可将生成的描述符队列431提供给命令管理单元430。
恢复处理器412可访问包括在命令管理单元430中的暂停队列432。例如,恢复处理器412可在每一个预定周期监控暂停队列432。可选地,恢复处理器412可周期性地检查暂停队列432。如果暂停队列432中存在被暂停的命令,则恢复处理器412可根据存储器装置100是否正在操作来生成恢复命令,并且可将生成的恢复命令提供给存储器装置100。
闪速存储器控制器203可包括存储器操作控制单元420和命令管理单元430。命令管理单元430可包括描述符队列431和暂停队列432。
存储器操作控制单元420可控制存储器装置100。存储器操作控制单元420可基于包括在命令管理单元430中的描述符队列431来向存储器装置100提供待由存储器装置100执行的命令CMD。例如,存储器操作控制单元420可基于存储在描述符队列431中的描述符来生成命令,并将生成的命令提供给存储器装置100。可通过使用逻辑电路或处理器来实施存储器操作控制单元420。
在实施例中,存储器操作控制单元420可确定包括在描述符队列431中的请求中是否存在具有已被设置的标记的请求。例如,存储器操作控制单元420可在存储在描述符队列431中的描述符中搜索具有已被设置的标记的描述符。如果在存储在描述符队列431中的描述符中不存在具有已被设置的标记的描述符,则因为不存在优先读取请求,所以可按照请求被输入到描述符队列431的顺序来执行请求。
在存储在描述符队列431中的描述符中存在具有已设置的标记的描述符的情况下,存储器操作控制单元420可确定存储在描述符队列431中的描述符中待被暂停的命令。可选地,在存在具有已设置的标记的描述符的情况下,存储器操作控制单元420可确定存储在描述符队列431中的描述符中待被保持的命令。
具有已设置的标记的描述符表示对应的请求是优先读取请求。因此,存储器操作控制单元420可向存储器装置100提供暂停命令,以便暂停当前执行的操作。此外,存储器操作控制单元420可保持输入到描述符队列431的请求中在优先读取请求之前输入的请求。存储器操作控制单元420可将被暂停的命令和被保持的命令存储在暂停队列432中,其中被暂停的命令和被保持的命令分别包括对应的描述符。
如上所述,为了执行优先读取操作,存储器控制器200可暂停当前执行的操作,然后优先执行优先读取操作。存储器控制器200可在已经执行了优先读取操作之后执行恢复被暂停的操作的操作。在这种情况下,FTL 201可仅执行设置标记并且将设置的标记提供给闪速存储器控制器203的操作,而可不直接参与暂停(保持)操作,其中该标记表示输入的请求是必须优先执行优先读取操作的优先读取请求。基于设置的标记,闪速存储器控制器203可暂停当前执行的操作,并将被暂停的命令输入到暂停队列432。虽然FTL 201不参与暂停操作,但FTL 201可周期性地检查暂停队列432以便最小化操作的延迟,基于存储器装置100的操作状态生成关于输入到暂停队列的命令的恢复命令,并且将恢复命令提供给存储器装置100。因此,可降低FTL 201的设计复杂程度。
图4是示出根据本公开的实施例的图3的描述符队列431的示图。
参照图4,描述符队列431可存储由FTL 201生成的描述符。例如,描述符可对应于主机300的各个请求。每一个描述符可包括表示对应请求的输入次序的请求编号Request#、对应请求的操作类型、待访问的存储器装置100的物理地址ADDR和标记FLAG。在本公开的实施例中,标记FLAG可表示对应的请求是否是优先读取请求。例如,如果标记FLAG处于设置状态,则对应的请求可以是优先读取请求。如果标记FLAG处于关闭状态,则对应的请求是正常请求,而非优先读取请求。
在输入到图4的描述符队列431的请求中,请求编号0可对应于对ADDR0的写入请求,请求编号1可对应于对ADDR1的读取请求,请求编号2可对应于对ADDR2的写入请求,请求编号3可对应于对ADDR3的读取请求,请求编号4可对应于对ADDR4的优先读取请求。
请求编号5可对应于对ADDR0的写入请求,请求编号6可对应于对ADDR1的读取请求,请求编号7可对应于对ADDR2的写入请求,请求编号8可对应于对ADDR3的读取请求,请求编号9可对应于对ADDR4的读取请求。
在图4中,因为请求编号4的标记处于设置状态(“ON”),所以可理解的是,请求编号4是优先读取请求。可理解的是,因为其它请求的标记分别具有关闭状态(“OFF”),所以其它请求是正常请求。
因此,请求编号0至3的请求可被暂停或保持,以便在请求编号0至3的请求之前执行对应于请求编号4的优先读取操作。
图5是示出参照图3描述的命令管理单元430的操作的示图。
存储器装置100可响应于输入到描述符队列431的请求顺序地执行操作。在图5中,正在执行请求编号0的操作。
在图5中,描述符队列431与图4的描述符队列431相同。根据与输入到描述符队列431的请求相对应的描述符,可理解的是,因为请求编号4的标记处于设置状态(“ON”),所以请求编号4是优先读取请求。因此,命令管理单元430可暂停存储器装置100当前执行的写入操作,并且可保持对应于请求编号1至3的操作。
此处,存储器操作控制单元420可使描述符队列431的请求编号0至3出列,并且将对应的请求输入(排队)到暂停队列432。在实施例中,当向暂停队列输入命令时,存储器操作控制单元420还可将对应命令的暂停或保持状态存储到暂停队列。
图6是示出根据本公开的实施例的存储器控制器200的操作的流程图。
参照图6,在步骤601中,存储器控制器200可将包括标记的命令输入到描述符队列431。
详细地,存储器控制器200可为从主机300接收的请求生成描述符,并将生成的描述符存储到描述符队列431。每一个描述符可包括与从主机300输入的对应请求相关的信息。例如,描述符可包括将包括在来自主机300的请求中的逻辑地址转换成物理地址的结果。存储器控制器200可基于描述符对存储器装置100执行操作。在实施例中,当从主机300输入的请求对应于优先读取请求时,存储器控制器200可生成包括设置状态的标记的描述符。相反地,当从主机输入的请求不是优先读取请求时,存储器控制器可生成包括OFF状态的标记的描述符。
在步骤603中,存储器控制器200可使用包括在描述符队列431中的描述符的标记来确定是否已经输入优先读取命令。如果存在包括设置状态的标记的描述符,则存储器控制器200可确定已经输入优先读取命令。另一方面,如果不存在包括设置状态的标记的描述符,则存储器控制器200可确定未输入优先读取命令。作为确定的结果,如果已经输入优先读取命令,则进程进行至步骤607,如果未输入优先读取命令,则进程进行至步骤605。
在步骤605中,存储器控制器200可按照命令已经被输入到描述符队列431的顺序来执行命令。
在步骤607中,存储器控制器200可暂停优先读取命令之前的命令。例如,存储器控制器200可暂停在对应于优先读取请求的描述符之前输入的请求的命令。详细地,可暂停当前正在执行的命令。可保持虽然当前没有正在执行但在优先读取请求之前输入的请求的命令。
在步骤609中,存储器控制器200可将被暂停的(或被保持的)命令输入到暂停队列。在执行了输入操作之后,存储器控制器200可执行优先读取命令。
在步骤611中,存储器控制器200可确定暂停队列中是否存在被暂停的命令。如果暂停队列中存在被暂停的命令,则进程进行至步骤613。
在步骤613中,存储器控制器200可确定是否已经完成响应于在步骤609中执行的优先读取命令的操作。
在步骤615中,存储器控制器200可恢复输入到暂停队列中的被暂停的命令。
图7是示出图1的存储器装置100的配置的示图。
参照图7,存储器装置100可包括存储器单元阵列110、外围电路120和控制逻辑130。
存储器单元阵列110可包括多个存储块BLK1至BLKz。多个存储块BLK1至BLKz通过行线RL联接到地址解码器121。存储块BLK1至BLKz可通过位线BL1至BLm联接到读取/写入电路123。存储块BLK1至BLKz中的每一个可包括多个存储器单元。在实施例中,多个存储器单元可以是非易失性存储器单元。多个存储器单元中联接到相同字线的存储器单元被限定为一个页面。换言之,存储器单元阵列110由多个页面形成。在实施例中,包括在存储器单元阵列110中的存储块BLK1至BLKz中的每一个可包括多个虚设单元。此处,一个或多个虚设单元可串联联接在漏极选择晶体管与存储器单元之间以及源极选择晶体管与存储器单元之间。
存储器装置100的存储器单元中的每一个可由能够存储单个数据位的单层单元(SLC)、能够存储两个数据位的多层单元(MLC)、能够存储三个数据位的三层单元(TLC)或能够存储四个数据位的四层单元(QLC)形成。
外围电路120可包括地址解码器121、电压发生器122、读取/写入电路123以及数据输入/输出电路124。
外围电路120可驱动存储器单元阵列110。例如,外围电路120可驱动存储器单元阵列110,以执行编程操作、读取操作或擦除操作。
地址解码器121通过行线RL联接到存储器单元阵列110。行线RL可包括漏极选择线、字线、源极选择线和共源线。在实施例中,字线可包括正常字线和虚设字线。在实施例中,行线RL可进一步包括管选择线。
地址解码器121可在控制逻辑130的控制下操作。地址解码器121可从控制逻辑130接收地址ADDR。
地址解码器121可对接收到的地址ADDR中的块地址进行解码。地址解码器121根据解码的块地址来选择存储块BLK1至BLKz中的至少一个。地址解码器121可对接收到的地址ADDR中的行地址进行解码。地址解码器121可根据解码的行地址,通过将从电压发生器122提供的电压施加到所选择的存储块的至少一个字线WL来选择所选择的存储块的至少一个字线WL。
在编程操作期间,地址解码器121可将编程电压施加到所选择的字线并将电平低于编程电压的电平的通过电压施加到未选择的字线。在编程验证操作期间,地址解码器121可将验证电压施加到所选择的字线并将高于验证电压的验证通过电压施加到未选择的字线。
在读取操作期间,地址解码器121可将读取电压施加到所选择的字线并将高于读取电压的通过电压施加到未选择的字线。
在实施例中,可基于存储块来执行存储器装置100的擦除操作。在擦除操作期间,待输入到存储器装置100的地址ADDR包括块地址。地址解码器121可对块地址进行解码,并根据解码的块地址选择对应的一个存储块。在擦除操作期间,地址解码器121可将接地电压施加到与所选择的存储块联接的字线。
在实施例中,地址解码器121可对传输的地址ADDR中的列地址进行解码。解码的列地址DCA可被传输到读取/写入电路123。在实施例中,地址解码器121可包括诸如行解码器、列解码器和地址缓冲器的部件。
电压发生器122可使用提供给存储器装置100的外部电源电压来生成多个电压。电压发生器122在控制逻辑130的控制下操作。
在实施例中,电压发生器122可通过调节外部供给电压来生成内部供给电压。从电压发生器122生成的内部供给电压可用作存储器装置100的操作电压。
在实施例中,电压发生器122可使用外部供给电压或内部供给电压来生成多个电压。电压发生器122可生成存储器装置100中所需的各种电压。例如,电压发生器122可生成多个编程电压、多个通过电压、多个选择读取电压以及多个未选择读取电压。
例如,电压发生器122可包括用于接收内部供给电压的多个泵浦电容器,并且可在控制逻辑130的控制下通过选择性地启用多个泵浦电容器来生成多个电压。
所生成的电压可通过地址解码器121提供给存储器单元阵列110。
读取/写入电路123可包括第一至第m页面缓冲器PB1至PBm。第一至第m页面缓冲器PB1至PBm分别通过第一至第m位线BL1至BLm联接到存储器单元阵列110。第一至第m页面缓冲器PB1至PBm可在控制逻辑130的控制下操作。
第一至第m页面缓冲器PB1至PBm可与数据输入/输出电路124进行数据通信。在编程操作期间,第一至第m页面缓冲器PB1至PBm可通过数据输入/输出电路124和数据线DL接收待存储的数据DATA。
在编程操作期间,当编程脉冲被施加到所选择的字线时,第一至第m页面缓冲器PB1至PBm可通过位线BL1到BLm将通过数据输入/输出电路124接收到的数据DATA传输到所选择的存储器单元。所选择的页面中的存储器单元基于传输的数据DATA进行编程。联接到施加编程允许电压(例如,接地电压)的位线的存储器单元可具有增加的阈值电压。联接到施加编程禁止电压(例如,供给电压)的位线的存储器单元的阈值电压可被保持。在编程验证操作期间,第一至第m页面缓冲器PB1至PBm可通过位线BL1至BLm从所选择的存储器单元读取页面数据。
在读取操作期间,读取/写入电路123可通过位线BL从所选择的页面中的存储器单元读取数据DATA,并将读取的数据DATA输出到数据输入/输出电路124。
在擦除操作期间,读取/写入电路123可使位线BL浮动。在实施例中,读取/写入电路123可包括行选择电路。
数据输入/输出电路124通过数据线DL联接到第一至第m页面缓冲器PB1至PBm。数据输入/输出电路124可在控制逻辑130的控制下操作。
数据输入/输出电路124可包括接收输入数据的多个输入/输出缓冲器(未示出)。在编程操作期间,数据输入/输出电路124可从外部控制器(未示出)接收待存储的数据DATA。在读取操作期间,数据输入/输出电路124可将从包括在读取/写入电路123中的第一至第m页面缓冲器PB1至PBm接收的数据输出到外部控制器。
控制逻辑130可联接到地址解码器121、电压发生器122、读取/写入电路123以及数据输入/输出电路124。控制逻辑130可控制存储器装置100的全部操作。控制逻辑130可响应于从外部装置传输的命令CMD而进行操作。
图8是示出根据本公开的实施例的图7的存储器单元阵列的示例的示图。
参照图8,存储器单元阵列110可包括多个存储块BLK1至BLKz。每一个存储块可具有三维结构。每一个存储块可包括堆叠在衬底上的多个存储器单元。存储器单元布置在+X方向、+Y方向和+Z方向上。将参照图9和图10更详细地描述每一个存储块的结构。
图9是示出根据本公开的实施例的图8的存储块(BLK1)至(BLKz)中的任意一个存储块(BLKa)的电路图。
参照图9,存储块BLKa可包括多个单元串CS11至CS1m和CS21至CS2m。在实施例中,单元串CS11至CS1m和CS21至CS2m中的每一个可形成为“U”形。在存储块BLKa中,可在行方向(即+X方向)上布置m个单元串。在图9中,示出了在列方向(即+Y方向)上布置两个单元串。然而,该示图是为了便于描述,并且将理解的是,可在列方向上布置三个或更多个单元串。
多个单元串CS11至CS1m和CS21至CS2m中的每一个可包括至少一个源极选择晶体管SST、第一至第n存储器单元MC1至MCn、管道晶体管PT以及至少一个漏极选择晶体管DST。
选择晶体管SST和DST以及存储器单元MC1至MCn可具有彼此相似的结构。在实施例中,选择晶体管SST和DST以及存储器单元MC1至MCn中的每一个可包括沟道层、隧穿绝缘层、电荷存储层和阻挡绝缘层。在实施例中,可在每一个单元串中设置用于提供沟道层的柱(pillar)。在实施例中,可在每一个单元串中设置用于提供沟道层、隧穿绝缘层、电荷存储层和阻挡绝缘层中的至少一个的柱。
每一个单元串的源极选择晶体管SST联接在共源线CSL和存储器单元MC1至MCp之间。
在实施例中,布置在相同行中的单元串的源极选择晶体管联接到在行方向上延伸的源极选择线,并且布置在不同行中的单元串的源极选择晶体管联接到不同的源极选择线。在图9中,第一行中的单元串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。
布置在列方向上的单元串可联接到在列方向上延伸的位线。在图9中,第一列中的单元串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的擦除操作之前或之后,可对全部或一些虚设存储器单元执行编程操作。在执行了编程操作之后执行擦除操作的情况下,通过控制待施加到联接到各个虚设存储器单元的虚设字线的电压,虚设存储器单元可具有所需的阈值电压。
图10是示出根据本公开的实施例的图8的存储块BLK1至BLKz中的任意一个存储块BLKb的电路图。
参照图10,存储块BLKb可包括多个单元串CS11'至CS1m'和CS21'至CS2m'。单元串CS11'至CS1m'和CS21'至CS2m'中的每一个在+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。
因此,除每一个单元串无管道晶体管PT之外,图10的存储块BLKb可具有与图9的存储块BLKa的电路相似的等效电路。
在实施例中,可提供偶数位线和奇数位线代替第一至第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的擦除操作之前或之后,可对全部或一些虚设存储器单元执行编程操作。在执行了编程操作之后执行擦除操作的情况下,通过控制待施加到联接到各个虚设存储器单元的虚设字线的电压,虚设存储器单元可具有所需的阈值电压。
图11是示出根据本公开的实施例的包括在图7的存储器单元阵列110中的存储块BLK1至BLKz中的任意一个存储块BLKc的电路图。
参照图11,存储块BLKc可包括多个串SR。多个串SR可分别联接到多个位线BL1至BLn。每一个串SR可包括源极选择晶体管SST、存储器单元MC和漏极选择晶体管DST。
每一个串SR的源极选择晶体管SST可联接在存储器单元MC和共源线CSL之间。串SR的源极选择晶体管SST可共同联接到共源线CSL。
每一个串SR的漏极选择晶体管DST可联接在存储器单元MC和对应的位线BL之间。串SR的漏极选择晶体管DST可分别联接到位线BL1至BLn。
在每一个串SR中,多个存储器单元MC可设置在源极选择晶体管SST和漏极选择晶体管DST之间。在每一个串SR中,存储器单元MC可彼此串联联接。
在串SR中,设置在自共源线CSL相同顺序的存储器单元MC可共同联接到单个字线。串SR的存储器单元MC可联接到多个字线WL1至WLm。
在存储块BLKc中,可基于存储块来执行擦除操作。当基于存储块执行擦除操作时,存储块BLKc中的所有存储器单元可响应于擦除请求而被同时擦除。
图12是示出根据本公开的实施例的图1的存储器控制器200的示例的示图。
存储器控制器1000联接到主机和存储器装置。响应于来自主机的请求,存储器控制器1000可访问存储器装置。例如,存储器控制器1000可控制存储器装置的写入操作、读取操作、擦除操作和后台操作。存储器控制器1000可提供存储器装置与主机之间的接口。存储器控制器1000可驱动固件以控制存储器装置。
参照图12,存储器控制器1000可包括处理器1010、存储器缓冲器1020、错误校正码(ECC)电路1030、主机接口1040、缓冲器控制电路1050、存储器接口1060和总线1070。
总线1070可提供存储器控制器1000的部件之间的信道。
处理器1010可控制存储器控制器1000的整体操作并且执行逻辑操作。处理器1010可通过主机接口1040与外部主机通信,并且通过存储器接口1060与存储器装置100通信。另外,处理器1010可通过缓冲器控制电路1050与存储器缓冲器1020通信。处理器1010可使用存储器缓冲器1020作为操作存储器、高速缓冲存储器或缓冲存储器来控制存储装置50的操作。
处理器1010可执行闪存转换层(FTL)的功能。处理器1010可通过FTL将由主机提供的逻辑块地址(LBA)转换成物理块地址(PBA)。FTL可接收LBA并使用映射表将LBA转换成PBA。可基于映射的单位以各种方式修改使用FTL的地址映射方法。代表性的地址映射方法可包括页面映射方法、块映射方法和混合映射方法。
处理器1010可使从主机接收的数据随机化。例如,处理器1010可使用随机化种子来使从主机接收的数据随机化。随机化的数据可作为待存储的数据而被提供给存储器装置100,并且可被编程到存储器单元阵列。
在读取操作期间,处理器1010可使从存储器装置100接收的数据去随机化。例如,处理器1010可使用去随机化种子来使从存储器装置100接收的数据去随机化。去随机化的数据可被输出到主机。
在实施例中,处理器1010可驱动软件或固件来执行随机化操作或去随机化操作。
存储器缓冲器1020可用作处理器1010的操作存储器、高速缓冲存储器或缓冲存储器。存储器缓冲器1020可存储待由处理器1010执行的代码和命令。存储器缓冲器1020可存储待由处理器1010处理的数据。存储器缓冲器1020可包括静态RAM(SRAM)或动态RAM(DRAM)。
ECC电路1030可执行错误校正。ECC电路1030可基于待通过存储器接口1060写入存储器装置100的数据来执行ECC编码操作。ECC编码的数据可通过存储器接口1060传输到存储器装置100。ECC电路1030可对通过存储器接口1060从存储器装置100接收的数据执行ECC解码操作。例如,ECC电路1030可作为存储器接口1060的部件而被包括在存储器接口1060中。
主机接口1040可在处理器1010的控制下与外部主机通信。主机接口1040可使用诸如以下的各种通信方式中的至少一种来执行通信:通用串行总线(USB)、串行AT附件(SATA)、串列SCSI(SAS)、高速芯片间(HSIC)、小型计算机系统接口(SCSI)、外围组件互连(PCI)、PCI高速(PCIe)、非易失性存储器高速(NVMe)、通用闪存(UFS)、安全数字(SD)、多媒体卡(MMC)、嵌入式MMC(eMMC)、双列直插式存储器模块(DIMM)、寄存式DIMM(RDIMM)以及低负载DIMM(LRDIMM)。在实施例中,主机接口1040可被包括在参照图2描述的主机控制器202中。
缓冲器控制电路1050可在处理器1010的控制下控制存储器缓冲器1020。
存储器接口1060可在处理器1010的控制下与存储器装置100通信。存储器接口1060可通过信道与存储器装置100通信命令、地址和数据。在实施例中,存储器接口1060可被包括在参照图3描述的闪速存储器控制器203中。
例如,存储器控制器1000可既不包括存储器缓冲器1020也不包括缓冲器控制电路1050。
例如,处理器1010可使用代码来控制存储器控制器1000的操作。处理器1010可从设置在存储器控制器1000中的非易失性存储器装置(例如,只读存储器)加载代码。可选地,处理器1010可通过存储器接口1060从存储器装置加载代码。
例如,存储器控制器1000的总线1070可被划分成控制总线和数据总线。数据总线可在存储器控制器1000中传输数据。控制总线可在存储器控制器1000中传输诸如命令和地址的控制信息。数据总线和控制总线可彼此分离,并且可既不互相干扰也不互相影响。数据总线可联接到主机接口1040、缓冲器控制电路1050、ECC电路1030和存储器接口1060。控制总线可联接到主机接口1040、处理器1010、缓冲器控制电路1050、存储器缓冲器1020和存储器接口1060。
图13是示出应用了根据本公开的实施例的存储装置的存储卡系统2000的框图。
参照图13,存储卡系统2000可包括存储器控制器2100、存储器装置2200和连接器2300。
存储器控制器2100联接到存储器装置2200。存储器控制器2100可访问存储器装置2200。例如,存储器控制器2100可控制存储器装置2200的读取操作、写入操作、擦除操作和后台操作。存储器控制器2100可提供存储器装置2200与主机之间的接口。存储器控制器2100可驱动固件以控制存储器装置2200。存储器控制器2100可以与参照图1描述的存储器控制器200相同的方式来实现。
在实施例中,存储器控制器2100可包括诸如随机存取存储器(RAM)、处理单元、主机接口、存储器接口和ECC电路的部件。
存储器控制器2100可通过连接器2300与外部装置通信。存储器控制器2100可基于特定的通信协议与外部装置(例如,主机)通信。在实施例中,存储器控制器2100可通过诸如以下的各种通信协议中的至少一种与外部装置通信:通用串行总线(USB)、多媒体卡(MMC)、嵌入式MMC(eMMC)、外围组件互连(PCI)、PCI高速(PCI-E)、高级技术附件(ATA)、串行ATA(SATA)、并行ATA(PATA)、小型计算机小型接口(SCSI)、增强型小型磁盘接口(ESDI)、电子集成驱动器(IDE)、火线、通用闪存(UFS)、Wi-Fi、蓝牙以及非易失性存储器高速(NVMe)协议。在实施例中,连接器2300可由上述各种通信协议中的至少一种来限定。
在实施例中,存储器装置2200可被实施成诸如以下的各种非易失性存储器装置中的任意一种:电可擦除可编程ROM(EEPROM)、NAND闪速存储器、NOR闪速存储器、相变RAM(PRAM)、电阻式RAM(ReRAM)、铁电RAM(FRAM)以及自旋力矩转移磁性RAM(STT-MRAM)。
在实施例中,存储器控制器2100和存储器装置2200可被集成到单个半导体装置中以形成存储卡。例如,存储器控制器2100和存储器装置2200可被集成到单个半导体装置中以形成诸如以下的存储卡:个人计算机存储卡国际协会(PCMCIA)、标准闪存卡(CF)、智能媒体卡(SM或SMC)、记忆棒、多媒体卡(MMC、RS-MMC或微型MMC)、SD卡(SD、迷你SD、微型SD或SDHC)或通用闪存(UFS)。
图14是示出应用了根据本公开的实施例的存储装置的固态驱动器(SSD)系统3000的框图。
参照图14,SSD系统3000可包括主机3100和SSD 3200。SSD 3200可通过信号连接器3001与主机3100交换信号SIG,并且可通过电源连接器3002接收电力PWR。SSD 3200可包括SSD控制器3210、多个闪速存储器3221至322n、辅助电源3230和缓冲存储器3240。
在实施例中,SSD控制器3210可执行以上参照图1描述的存储器控制器200的功能。
SSD控制器3210可响应于从主机3100接收的信号SIG来控制多个闪速存储器3221至322n。在实施例中,信号SIG可以是基于主机3100和SSD 3200的接口的信号。例如,信号SIG可以是由诸如以下的各种接口中的至少一种限定的信号:通用串行总线(USB)、多媒体卡(MMC)、嵌入式MMC(eMMC)、外围组件互连(PCI)、PCI高速(PCIe)、高级技术附件(ATA)、串行ATA(SATA)、并行ATA(PATA)、小型计算机小型接口(SCSI)、增强型小型磁盘接口(ESDI)、电子集成驱动器(IDE)、火线、通用闪存(UFS)、Wi-Fi、蓝牙以及非易失性存储器高速(NVMe)接口。
辅助电源3230可通过电源连接器3002联接到主机3100。辅助电源3230可被提供有来自主机3100的电力PWR并且可被充电。当来自主机3100的电力的供应未平稳执行时,辅助电源3230可供应SSD 3200的电力。在实施例中,辅助电源3230可被设置在SSD 3200内部或被设置在SSD 3200外部。例如,辅助电源3230可被设置在主板中,并且可向SSD 3200供应辅助电力。
缓冲存储器3240用作SSD 3200的缓冲存储器。例如,缓冲存储器3240可临时存储从主机3100接收的数据或从多个闪速存储器3221至322n接收的数据,或者可临时存储闪速存储器3221至322n的元数据(例如,映射表)。缓冲存储器3240可包括诸如DRAM、SDRAM、DDRSDRAM、LPDDR SDRAM和GRAM的易失性存储器或诸如FRAM、ReRAM、STT-MRAM和PRAM的非易失性存储器。
图15是示出应用了根据本公开的实施例的存储装置的用户系统4000的框图。
参照图15,用户系统4000可包括应用处理器4100、存储器模块4200、网络模块4300、存储模块4400和用户接口4500。
应用处理器4100可运行包括在用户系统4000中的部件、操作系统(OS)或用户程序。在实施例中,应用处理器4100可包括用于控制包括在用户系统4000中的部件的控制器、接口、图形引擎等。应用处理器4100可作为片上系统(SoC)被提供。
存储器模块4200可用作用户系统4000的主存储器、工作存储器、缓冲存储器或高速缓冲存储器。存储器模块4200可包括诸如DRAM、SDRAM、DDR SDRAM、DDR2 SDRAM、DDR3SDRAM、LPDDR SDRAM和LPDDR3 SDRAM的易失性RAM或诸如PRAM、ReRAM、MRAM和FRAM的非易失性RAM。在实施例中,应用处理器4100和存储器模块4200可基于堆叠封装(POP)进行封装,然后可作为单个半导体封装来提供。
网络模块4300可与外部装置通信。例如,网络模块4300可支持诸如码分多址(CDMA)、全球移动通信系统(GSM)、宽带CDMA(WCDMA)、CDMA-2000、时分多址(TDMA)、长期演进(LTE)、WiMAX、WLAN、UWB、蓝牙或Wi-Fi通信的无线通信。在实施例中,网络模块4300可包括在应用处理器4100中。
存储模块4400可在其中存储数据。例如,存储模块4400可存储从应用处理器4100接收的数据。可选地,存储模块4400可将存储在存储模块4400中的数据传输到应用处理器4100。在实施例中,存储模块4400可被实施为诸如以下的非易失性半导体存储器装置:相变RAM(PRAM)、磁性RAM(MRAM)、电阻式RAM(RRAM)、NAND闪速存储器、NOR闪速存储器或具有三维(3D)结构的NAND闪速存储器。在实施例中,存储模块4400可作为可移动存储介质(即,可移动驱动器),诸如用户系统4000的存储卡或外部驱动器被提供。
在实施例中,存储模块4400可包括多个非易失性存储器装置,并且多个非易失性存储器装置中的每一个可以与以上参照图1至图5描述的存储器装置100相同的方式操作。存储模块4400可与以上参照图1描述的存储装置50相同的方式操作。
用户接口4500可包括将数据或指令输入到应用处理器4100或将数据输出到外部装置的接口。在实施例中,用户接口4500可包括诸如以下的用户输入接口:键盘、小键盘、按钮、触摸面板、触摸屏、触摸板、触摸球、摄像机、麦克风、陀螺仪传感器、振动传感器和压电装置。用户接口4500可进一步包括诸如以下的用户输出接口:液晶显示器(LCD)、有机发光二极管(OLED)显示装置、有源矩阵OLED(AMOLED)显示装置、LED、扬声器和监视器。
本公开的各个实施例可提供一种存储器控制器以及操作存储器控制器的方法,该存储器控制器被配置成暂停当前执行的命令以便执行优先读取命令。
虽然为了说明的目的公开了本公开的示例性实施例,但本领域技术人员将理解的是,可进行各种修改、添加和替换。因此,本公开的范围必须由所附权利要求和权利要求的等同物来限定,而非由之前的描述来限定。
在以上讨论的实施例中,可选择性地执行或跳过所有步骤。另外,并非总以正常顺序来执行每一个实施例中的步骤。此外,本说明书和附图中公开的实施例旨在帮助本领域普通技术人员更清楚地理解本公开,而不是旨在限制本公开的范围。换言之,本公开所属领域的普通技术人员将能够容易地理解,基于本公开的技术范围,可以进行各种修改。
已经参照附图描述了本公开的实施例,并且在说明书中使用的特定术语或词语应当根据本公开的实质来解释,而不限制本公开的主题。应当理解的是,本文描述的基本发明构思的许多变化和修改将仍然落入所附权利要求及其等同物所限定的本公开的实质和范围内。
Claims (13)
1.一种存储器控制器,包括:
主机接口层,从主机接收对存储器装置的请求;
闪存转换层,生成描述符,所述描述符包括表示所述请求是否是优先读取请求的标记;以及
闪存接口层,根据所述标记暂停在所述优先读取请求之前输入的请求,存储在所述优先读取请求之前输入的请求,并且执行所述优先读取请求。
2.根据权利要求1所述的存储器控制器,其中所述闪存转换层包括暂停操作控制单元,所述暂停操作控制单元生成所述描述符并恢复执行在所述优先读取请求之前输入的请求的操作。
3.根据权利要求2所述的存储器控制器,其中所述闪存接口层包括闪速存储器控制器,所述闪速存储器控制器基于所述描述符对所述存储器装置执行操作。
4.根据权利要求3所述的存储器控制器,其中所述闪速存储器控制器包括:
命令管理单元,管理用于所述存储器装置的命令;以及
存储器操作控制单元,生成所述命令并将生成的所述命令提供给所述存储器装置。
5.根据权利要求4所述的存储器控制器,
其中所述命令管理单元包括描述符队列,所述描述符队列按照输入顺序存储所述描述符,并且
其中当对应于所述优先读取请求的描述符被输入到所述描述符队列时,所述存储器操作控制单元暂停与在对应于所述优先读取请求的描述符之前存储的描述符相对应的命令。
6.根据权利要求5所述的存储器控制器,其中所述命令管理单元进一步包括暂停队列,所述暂停队列存储与在对应于所述优先读取请求的描述符之前存储的描述符相对应的被暂停的命令。
7.根据权利要求6所述的存储器控制器,其中所述暂停操作控制单元包括:
命令调度器,在所述请求是所述优先读取请求时,生成包括具有设置状态的标记的描述符,并且在所述请求不是所述优先读取请求时,生成包括具有关闭状态的标记的描述符;以及
恢复处理器,根据所述存储器装置的操作状态,恢复存储在所述暂停队列中的请求。
8.根据权利要求6所述的存储器控制器,其中所述存储器操作控制单元将与在对应于所述优先读取请求的描述符之前存储的描述符相对应的命令中、所述存储器装置当前执行的命令设置为暂停状态,并将与在对应于所述优先读取请求的描述符之前存储的描述符相对应的命令中、所述存储器装置将执行的命令设置为保持状态。
9.根据权利要求5所述的存储器控制器,其中所述存储器操作控制单元向所述存储器装置提供暂停命令,以暂停与在对应于所述优先读取请求的描述符之前存储的描述符相对应的命令中、所述存储器装置当前执行的命令。
10.根据权利要求9所述的存储器控制器,其中所述存储器操作控制单元在所述存储器装置当前执行的命令被暂停之后,生成对应于所述优先读取请求的优先读取命令,并且将所述优先读取命令提供给所述存储器装置。
11.根据权利要求7所述的存储器控制器,其中所述恢复处理器在每一个预定周期确定是否存在存储在所述暂停队列中的命令。
12.根据权利要求1所述的存储器控制器,其中所述优先读取请求是确保在预设延迟内输出读取数据的读取请求。
13.一种存储器系统,包括:
存储器装置;以及
命令调度器,响应于请求,生成优先描述符和正常描述符;
存储器操作控制单元:
响应于在第一队列中排队的所述优先描述符,暂停正在进行的操作或保持针对所述第一队列中排在所述优先描述符之前的正常描述符的待处理的操作;并且
将排在所述优先描述符之前的正常描述符从所述第一队列移动到第二队列;以及
恢复处理器,在对应于所述优先描述符的操作完成之后,根据所述第二队列中的正常描述符,控制所述存储器装置恢复被暂停的操作或被保持的操作,
其中,所述命令调度器包括在所述存储器系统的闪存转换层中,以及
所述存储操作控制单元包括在所述存储器系统的闪存接口层中。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2018-0009531 | 2018-01-25 | ||
KR1020180009531A KR20190090614A (ko) | 2018-01-25 | 2018-01-25 | 메모리 컨트롤러 및 그 동작 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110083304A CN110083304A (zh) | 2019-08-02 |
CN110083304B true CN110083304B (zh) | 2022-07-29 |
Family
ID=67298084
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811109086.6A Active CN110083304B (zh) | 2018-01-25 | 2018-09-21 | 存储器控制器及其操作方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10838658B2 (zh) |
KR (1) | KR20190090614A (zh) |
CN (1) | CN110083304B (zh) |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3718479B1 (en) | 2004-07-13 | 2021-12-15 | Dexcom, Inc. | Transcutaneous analyte sensor |
US10922013B2 (en) * | 2018-04-09 | 2021-02-16 | Western Digital Technologies, Inc. | Suspending and resuming a read operation for a non-volatile memory |
KR20200010933A (ko) | 2018-07-23 | 2020-01-31 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그것의 동작방법 |
TWI684860B (zh) * | 2018-10-15 | 2020-02-11 | 慧榮科技股份有限公司 | 用來進行讀取加速之方法以及資料儲存裝置及其控制器 |
KR102711411B1 (ko) * | 2019-09-06 | 2024-09-30 | 에스케이하이닉스 주식회사 | 저장 장치 및 그 동작 방법 |
KR102088944B1 (ko) * | 2019-10-01 | 2020-05-26 | 주식회사 파두 | 메모리 컨트롤러 및 이를 포함하는 스토리지 디바이스 |
KR102088945B1 (ko) * | 2019-10-11 | 2020-04-24 | 주식회사 파두 | 메모리 컨트롤러 및 이를 포함하는 스토리지 디바이스 |
US11093174B1 (en) * | 2020-02-19 | 2021-08-17 | Dell Products L.P. | Information handling system having improved host memory buffer for input/output requests |
KR20210133790A (ko) * | 2020-04-29 | 2021-11-08 | 에스케이하이닉스 주식회사 | 메모리 컨트롤러 및 그 동작 방법 |
CN113778317A (zh) * | 2020-06-10 | 2021-12-10 | 慧荣科技股份有限公司 | 计算机可读取存储介质、调度主机命令的方法及装置 |
KR20210155055A (ko) * | 2020-06-15 | 2021-12-22 | 에스케이하이닉스 주식회사 | 메모리 시스템, 메모리 컨트롤러 및 메모리 시스템의 동작 방법 |
KR20220056729A (ko) * | 2020-10-28 | 2022-05-06 | 삼성전자주식회사 | 커맨드 스케줄링을 수행하는 컨트롤러, 컨트롤러를 포함하는 스토리지 장치 및 컨트롤러의 동작 방법 |
KR20220073998A (ko) * | 2020-11-27 | 2022-06-03 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
KR20220094726A (ko) * | 2020-12-29 | 2022-07-06 | 삼성전자주식회사 | 메모리 컨트롤러, 비휘발성 메모리 장치 및 그 스토리지 장치 |
CN114047875B (zh) * | 2021-10-25 | 2024-04-19 | 深圳市硅格半导体有限公司 | 命令调度方法、装置、设备及计算机程序产品 |
KR20240126708A (ko) * | 2023-02-14 | 2024-08-21 | 에스케이하이닉스 주식회사 | 컨트롤러를 포함하는 저장 장치 및 컨트롤러의 동작 방법 |
CN115840542B (zh) * | 2023-02-24 | 2023-06-02 | 浪潮电子信息产业股份有限公司 | 一种硬盘的请求处理方法、系统、存储介质和电子设备 |
KR102579319B1 (ko) | 2023-04-19 | 2023-09-18 | 메티스엑스 주식회사 | 캐시 메모리 장치 및 이를 이용하는 캐시 스케줄링 구현 방법 |
KR102579320B1 (ko) | 2023-04-19 | 2023-09-18 | 메티스엑스 주식회사 | 캐시 메모리 장치 및 이를 이용하는 캐시 스케줄링 구현 방법 |
CN116185892B (zh) * | 2023-04-27 | 2023-07-21 | 珠海妙存科技有限公司 | 闪存控制器及其访问闪存颗粒的方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106030521A (zh) * | 2014-02-14 | 2016-10-12 | 美光科技公司 | 命令排队 |
CN107111574A (zh) * | 2015-03-31 | 2017-08-29 | 桑迪士克科技有限责任公司 | 存储器总线管理 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7484016B2 (en) * | 2004-06-30 | 2009-01-27 | Intel Corporation | Apparatus and method for high performance volatile disk drive memory access using an integrated DMA engine |
KR101051703B1 (ko) | 2004-08-09 | 2011-07-25 | 삼성전자주식회사 | 서스펜드/리쥼 기능을 갖는 집적 회로 카드 및 집적 회로카드 시스템 |
US7523338B2 (en) * | 2005-10-13 | 2009-04-21 | Research In Motion Limited | Apparatus and method to support USB enumeration of a bus powered handheld device |
KR100869675B1 (ko) * | 2007-02-05 | 2008-11-21 | 지인정보기술 주식회사 | 디스크립터 배열을 이용한 플래시 메모리 제어 시스템 및방법 |
US8621475B2 (en) * | 2007-12-06 | 2013-12-31 | International Business Machines Corporation | Responsive task scheduling in cooperative multi-tasking environments |
US8174534B2 (en) * | 2007-12-06 | 2012-05-08 | Via Technologies, Inc. | Shader processing systems and methods |
US8209439B2 (en) * | 2008-08-25 | 2012-06-26 | Sandisk Il Ltd. | Managing multiple concurrent operations with various priority levels in a local storage device |
KR20100042885A (ko) | 2008-10-17 | 2010-04-27 | 삼성전자주식회사 | 비휘발성 메모리 장치의 동작 방법 |
US8281049B2 (en) * | 2008-12-19 | 2012-10-02 | Cisco Technology, Inc. | Host-daughtercard configuration with double data rate bus |
GB2471067B (en) * | 2009-06-12 | 2011-11-30 | Graeme Roy Smith | Shared resource multi-thread array processor |
US10241828B2 (en) * | 2015-04-03 | 2019-03-26 | Oath Inc. | Method and system for scheduling transactions in a data system |
KR102534633B1 (ko) * | 2016-04-14 | 2023-05-23 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
-
2018
- 2018-01-25 KR KR1020180009531A patent/KR20190090614A/ko unknown
- 2018-08-28 US US16/114,603 patent/US10838658B2/en active Active
- 2018-09-21 CN CN201811109086.6A patent/CN110083304B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106030521A (zh) * | 2014-02-14 | 2016-10-12 | 美光科技公司 | 命令排队 |
CN107111574A (zh) * | 2015-03-31 | 2017-08-29 | 桑迪士克科技有限责任公司 | 存储器总线管理 |
Also Published As
Publication number | Publication date |
---|---|
US20190227745A1 (en) | 2019-07-25 |
KR20190090614A (ko) | 2019-08-02 |
US10838658B2 (en) | 2020-11-17 |
CN110083304A (zh) | 2019-08-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110083304B (zh) | 存储器控制器及其操作方法 | |
CN110069212B (zh) | 存储装置及存储装置的操作方法 | |
US11340790B2 (en) | Storage device for migrating data based on random read workload and operating method of the same | |
US11137912B2 (en) | Memory controller and method of operating the same | |
CN109388578B (zh) | 存储装置及其操作方法 | |
US11256614B2 (en) | Memory controller for allocating logical address and method of operating the same | |
US10853236B2 (en) | Storage device and method for operating the same | |
US20190318786A1 (en) | Storage device and method of operating the same | |
US10884922B2 (en) | Storage device and method of operating the same | |
US11119934B2 (en) | Storage device having enhanced map update speed and method thereof | |
CN110175133B (zh) | 存储装置及其操作方法 | |
US11194732B2 (en) | Storage device and method of operating the same | |
US10996881B2 (en) | Storage device and method of operating the same | |
CN111258931A (zh) | 存储器控制器及操作该存储器控制器的方法 | |
US10754571B2 (en) | Storage device and method of operating the same | |
CN111580743A (zh) | 存储器控制器及其操作方法 | |
CN110737403B (zh) | 存储装置及操作该存储装置的方法 | |
US20230305712A1 (en) | Storage device including memory controller and operating method thereof | |
CN111190535A (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 |