CN109471819A - 为来自主机的读取请求提供短的读取响应时间的存储设备 - Google Patents
为来自主机的读取请求提供短的读取响应时间的存储设备 Download PDFInfo
- Publication number
- CN109471819A CN109471819A CN201811043687.1A CN201811043687A CN109471819A CN 109471819 A CN109471819 A CN 109471819A CN 201811043687 A CN201811043687 A CN 201811043687A CN 109471819 A CN109471819 A CN 109471819A
- Authority
- CN
- China
- Prior art keywords
- controller
- memory part
- data
- memory
- dma
- 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.)
- Granted
Links
- 230000004044 response Effects 0.000 title claims description 45
- 230000015654 memory Effects 0.000 claims abstract description 185
- 238000004891 communication Methods 0.000 claims abstract description 57
- 238000012545 processing Methods 0.000 claims abstract description 20
- 230000007717 exclusion Effects 0.000 claims abstract description 5
- 238000011084 recovery Methods 0.000 claims description 9
- 230000006399 behavior Effects 0.000 claims description 7
- 238000012546 transfer Methods 0.000 claims description 3
- 238000010977 unit operation Methods 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 20
- 238000000034 method Methods 0.000 description 7
- 230000004048 modification Effects 0.000 description 5
- 238000012986 modification Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 239000000758 substrate Substances 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 230000003111 delayed effect Effects 0.000 description 3
- 101100481702 Arabidopsis thaliana TMK1 gene Proteins 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000000151 deposition Methods 0.000 description 2
- 241000208340 Araliaceae Species 0.000 description 1
- 235000005035 Panax pseudoginseng ssp. pseudoginseng Nutrition 0.000 description 1
- 235000003140 Panax quinquefolius Nutrition 0.000 description 1
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 235000008434 ginseng Nutrition 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
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/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/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
- 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/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
- G06F13/285—Halt processor DMA
-
- 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/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
-
- 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
- G06F3/0611—Improving I/O performance in relation to response time
-
- 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/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single 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/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
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)
- Memory System (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Multi Processors (AREA)
- Read Only Memory (AREA)
Abstract
一种存储设备,包括第一存储器件、第二存储器件和控制器。所述第一存储器件和所述第二存储器件共享相同的通道,以与所述控制器通信。所述第一存储器件与所述控制器之间的通信和所述第二存储器件与所述控制器之间的通信是互斥的。当所述控制器在处理针对所述第一存储器件的直接存储器访问(DMA)操作时接收到针对所述第二存储器件的读取请求时,所述控制器暂停所述DMA操作,并向所述第二存储器件发送与所述读取请求相关联的读取命令。
Description
相关申请的交叉引用
本申请要求于2017年9月8日在韩国知识产权局递交的韩国专利申请No.10-2017-0115350的优先权,其全部内容通过引用合并在此。
技术领域
本公开涉及电子设备,更具体地,涉及存储和输出数据的存储设备的操作和配置。
背景技术
近年来,各种电子设备被使用。电子设备根据其中包括的电子电路的操作执行其自己的功能。存储设备是电子设备的示例。存储设备存储数据或输出存储的数据,从而向用户提供存储服务。
同时,随着许多人使用各种电子设备并且创建大量数据,数据通信的速度变得越来越快。因此,快速处理大量数据以及快速发送/接收大量数据成为电气/电子技术领域中的重要问题。
例如,在存储设备中,快速存储数据以及快速输出存储的数据对于提高存储设备的性能和用户的满意度是重要的。当从存储设备迟缓地输出数据时,请求存储设备输出数据的用户可能会感到不便。另外,当数据输出被延迟时,即使需要对大量数据进行后续处理,整个服务的质量也可能降低。
发明内容
本公开的示例性实施例可以提供存储设备的配置和操作,该存储设备能够为来自主机的读取请求提供短的读取响应时间。在一些示例性实施例中,存储设备可以临时暂停内部操作(例如,直接存储器存取(DMA)操作),以快速响应来自主机的读取请求。
在一些示例性实施例中,存储设备可以至少包括第一存储器件、第二存储器件和控制器。所述第一存储器件可以连接到多个通道中的一个通道,所述第二存储器件也可以连接到所述一个通道以与所述第一存储器件共享相同的通道。所述控制器可以通过该共享的通道与所述第一存储器件通信或者通过该共享的通道与所述第二存储器件通信,使得与所述第一存储器件的通信和与所述第二存储器件的通信是互斥的。当所述控制器在处理针对所述第一存储器件的直接存储器访问(DMA)操作时从主机接收到针对所述第二存储器件的读取请求时,所述控制器可以暂停所述DMA操作,并可以向所述第二存储器件发送与所述读取请求相关联的读取命令。在向所述第二存储器件发送所述读取命令之后,所述控制器可以恢复暂停的DMA操作。
在一些示例实施例中,当所述控制器处理恢复的DMA操作时,所述第二存储器件可以响应于所述读取请求,将从所述第二存储器件的存储单元读取的数据临时存储在所述第二存储器件的页缓冲器中。对恢复的DMA操作的处理可以与将存储单元的数据存储在页缓冲器中的操作并行执行。
在一些示例实施例中,在完成恢复的DMA操作之后,所述第二存储器件可以向所述控制器基于所述读取命令输出数据。
在一些示例实施例中,当在所述控制器处理恢复的DMA操作时经过了参考时间时,所述控制器可以再次暂停恢复的DMA操作,使得所述第二存储器件基于所述读取命令输出数据。在所述第二存储器件基于所述读取命令完全输出数据之后,所述控制器可以恢复再次暂停的DMA读取操作。例如,所述第二存储器件可以在所述DMA操作完成之前向所述控制器输出与所述读取请求相关联的数据,并且所述控制器可以在所述DMA操作完成之前基于从所述第二存储器件输出的数据向主机输出读取数据。
在一些示例实施例中,存储设备包括第一存储器件、第二存储器件和存储控制器。所述存储控制器通过第一通道将数据写入第一和第二存储器件并从第一和第二存储器件读取数据,其中,所述存储控制器一次仅通过第一通道与第一和第二存储器件中的一个通信。并且,所述存储控制器在存储操作期间暂停与第一存储器件的通信,以将读取命令发送到第二存储器件。
根据一些示例实施例,存储设备可以快速输出从主机请求的读取数据。因此,可以改善服务质量和用户的满意度。
附图说明
通过参考以下附图的以下描述,上述和其他目的和特征将变得显而易见,其中,除非另有说明,否则相似的附图标记在各个附图中指代相似的部件,并且在附图中:
图1是示出根据一些示例实施例的包括存储设备在内的电子***的示例配置的框图;
图2是示出了与图1的存储设备相关联的示例配置的框图;
图3是示出了图1的存储设备的示例配置的框图;
图4是示出了图3的存储器件之一的框图;
图5是示出图4的存储单元阵列的示例配置的框图;
图6是用于描述与图3的示例配置相关联的存储设备的示例操作的时序图;
图7是描述与图3的示例配置相关联的存储设备的示例操作的流程图;
图8是用于描述图7的示例操作的时序图;
图9是示出了与图3的控制器相关联的示例配置的框图;
图10是用于描述与图9的示例配置相关联的存储设备的示例操作的概念图;
图11是描述与图7的示例操作相关联的控制器的示例操作的流程图;
图12是描述与图3的示例配置相关联的存储设备的示例操作的流程图;
图13是用于描述图12的示例操作的时序图;
图14是示出了与图3的控制器相关联的示例配置的框图;
图15是描述与图12的示例操作相关联的控制器的示例操作的流程图;以及
图16和图17是用于描述与图3和图5的示例配置相关联的存储设备的示例操作的时序图。
具体实施方式
下面,将参考附图详细且清楚地描述一些示例实施例,使得本领域技术人员可以容易地实现示例实施例。
图1是示出根据一些示例实施例的包括存储设备1300在内的电子***1000的示例配置的框图。
电子***1000可以包括主处理器1101、工作存储器1200、存储设备1300、通信块1400、用户接口1500和总线1600。例如,电子***1000可以是一种电子设备,例如台式计算机、膝上型计算机、平板计算机、智能电话、可穿戴设备、视频游戏控制台、工作站、一个或多个服务器、电动车辆、家用电器、医疗设备等。
主处理器1101可以控制电子***1000的整体操作。主处理器1101可以包括一个或多个处理器核,并且可以用通用处理器、专用处理器或应用处理器来实现。
工作存储器1200可以存储在电子***1000的操作中使用的数据。例如,工作存储器1200可以包括易失性存储器(例如静态随机存取存储器(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM))和/或非易失性存储器(例如相变RAM(PRAM)、磁阻RAM(MRAM)、电阻RAM(ReRAM)和/或铁电RAM(FRAM))。
存储设备1300可以存储数据,而不管是否被提供电源。例如,存储设备1300可以包括非易失性存储设备,诸如闪存、PRAM、MRAM、ReRAM、FRAM等。例如,存储设备1300可以包括存储介质,诸如固态驱动器(SSD)、卡存储器、嵌入式存储器等。
通信块1400可以与电子***1000的外部设备/***通信。为此,通信块1400可以支持各种有线/无线通信协议中的至少一种。用户接口1500可以包括各种输入/输出接口,以仲裁(arbitrate)用户和电子***1000之间的通信。
总线1600可以提供电子***1000的组件之间的通信路径。电子***1000的组件可以根据总线1600的总线格式彼此交换数据。例如,总线格式可以包括各种接口协议中的一个或多个,诸如通用串行总线(USB)、小型计算机***接口(SCSI)、***组件互连快速(PCIe)、移动PCIe(M-PCIe)、高级技术附接(ATA)、并行ATA(PATA)、串行ATA(SATA)、串行附接SCSI(SAS)、非易失性存储器快速(NVMe)、通用闪存(UFS)等。
可以根据本公开的示例实施例来实现存储设备1300。存储设备1300可以快速响应来自主机(例如,主处理器1101)的读取请求,以提供短的读取响应时间。将参考图2至图17描述存储设备1300的示例配置和示例操作。
在以下描述中提供存储设备1300,但是本公开不限于此。示例实施例可以用于包括存储器元件在内的任何类型的设备中。例如,即使对于包括在工作存储器1200中的易失性存储器和/或非易失性存储器,也可以采用示例实施例。以下描述是为了便于更好地理解而提供的,不旨在限制本公开。
图2是示出了与图1的存储设备1300相关联的示例配置的框图。
如参考图1所述,主处理器1101可以通过总线1600与存储设备1300通信。在本公开中,能够访问存储设备1300的对象可以被称为“主机”(例如,主机1100)。主处理器1101可以是能够作为主机1100操作的对象的示例,但是本公开不限于此。
主机1100可以与存储设备1300交换数据DAT。存储设备1300可以响应于来自主机1100的命令CMD向主机1100提供存储服务。
例如,主机1100可以向存储设备1300提供包括写入请求在内的命令CMD和包括写入数据在内的数据DAT。存储设备1300可以响应于写入请求在写入操作期间存储所请求的写入数据。例如,主机1100可以向存储设备1300提供包括读取请求在内的命令CMD。存储设备1300可以响应于读取请求在读取操作期间将所请求的读取数据输出到主机1100。
存储设备1300可以包括存储器件1310、控制器1330和缓冲存储器1350。图2示出了两个存储器件1311和1319,但是包括在存储设备1300中的存储器件的数量可以进行各种改变或修改。
存储器件1311和1319中的每一个可以存储或输出由主机1100请求的数据。为此,存储器件1311和1319中的每一个可以包括用于存储数据的存储区域。例如,存储器件1311和1319中的每一个可以包括NAND型闪存,并且可以根据V-NAND方案或Z-NAND方案来实现。然而,如参考图1所述,存储器件1311和1319中的每一个的类型和配置可以进行各种改变或修改。
可以基于称为“地址”的值来识别存储区域。写入数据可以存储在由地址指示的存储区域中,并且读取数据可以从由地址指示的存储区域输出。主机1100可以向存储设备1300提供地址ADDR,以与存储器件1311和1319的特定存储区域相关联地交换数据DAT。
控制器1330可以控制存储设备1300的整体操作。在一些示例实施例中,控制器1330可以包括内部缓冲器1331。内部缓冲器1331可以包括易失性存储器(诸如SRAM、DRAM、SDRAM等)和/或非易失性存储器(诸如PRAM、MRAM、ReRAM、FRAM等)。
内部缓冲器1331可以临时存储从主机1100接收的数据DAT、命令CMD和地址ADDR。内部缓冲器1331可以临时存储从存储器件1311和1319输出的数据。
控制器1330可以控制存储器件1311和1319,并且可以处理各种操作,以便存储或输出由主机1100请求的数据。在一些情况下,控制器1330可以控制存储器件1311和1319,并且可以处理各种操作,以便在没有主机1100干预的情况下存储或输出数据。例如,在没有主机1100干预的情况下处理的内部操作可以包括直接存储器访问(DMA)操作。
DMA操作可以包括DMA写入操作,该DMA写入操作用于在没有主机1100干预的情况下将数据存储在存储器件1311和1319中。另外或替代地,DMA操作可以包括DMA读取操作,该DMA读取操作用于在没有主机1100干预的情况下从存储器件1311和1319输出数据。
例如,当主机1100想要将写入数据存储在存储器件1311和1319中时,控制器1330可以接收写入数据并且可以将接收到的写入数据存储在内部缓冲器1331中。无论写入数据是否实际存储在存储器件1311和1319中,控制器1330都可以向主机1100提供指示写入数据被良好接收的响应。之后,控制器1330可以处理DMA写入操作,以将内部缓冲器1331的写入数据存储在存储器件1311和1319中。
例如,当在存储器件1311和1319中生成了无效数据并且可用容量变得不足时,控制器1330可以控制垃圾收集操作以确保可用容量。垃圾收集操作可以伴随用于从存储器件1311和1319读取数据的DMA读取操作和用于在存储器件1311和1319中写入数据的DMA写入操作。
此外,控制器1330可以在各种条件下处理DMA操作。提供以上示例是为了便于更好地理解,不旨在限制本公开。
控制器1330可以包括一个或多个硬件组件(例如,模拟电路和逻辑电路),所述硬件组件被配置为执行上述操作和将在下面描述的操作。另外,控制器1330可以包括一个或多个处理器核。控制器1330的上述操作和将在下面描述的操作可以用软件和/或固件的程序代码实现,并且控制器1330的处理器核可以执行该程序代码的指令集。控制器1330的处理器核可以处理各种算术运算和/或逻辑运算以执行该指令集。
缓冲存储器1350可以缓冲在存储设备1300的操作中使用的数据。缓冲存储器1350可以包括易失性存储器(诸如SRAM、DRAM、SDRAM等)和/或非易失性存储器(诸如PRAM、MRAM、ReRAM、FRAM等)。
图3是示出了图1的存储设备1300的示例配置的框图。
例如,存储器件1310可以包括存储器件1311至1317和1319。存储器件1312至1317可以存储或输出数据,类似于存储器件1311和1319。存储器件1312至1317中的每一个可以被配置为与存储器件1311和1319中的每一个相同或相似。备选地,存储器件1312至1317中的每一个可以包括与存储器件1311和1319的存储器不同类型的存储器。
存储器件1311至1317和1319可以在独立芯片上单独实现。例如,八个(8个)存储器件1311至1317和1319可以在八个芯片上单独实现。在以下描述中,存储器件可以被称为存储芯片,并且术语“存储器件”和“存储芯片”可以互换使用。
存储器件1311至1317和1319中的每一个可以响应于芯片使能信号而操作。能够响应于相同的芯片使能信号一起操作的存储器件可以被理解为构成一“路”。在以下描述中,将假设一个存储器件构成响应于一个芯片使能信号而操作的一路(例如,将假设一路由一个存储器件构成)。然而,提供该假设是为了便于更好地理解,不旨在限制本公开。
控制器1330可以通过多个通道连接到存储器件1311至1317和1319。例如,控制器1330可以通过通道CH1和CH2与存储器件1311至1317和1319交换数据。通道CH1和CH2可以为存储器件1311至1317和1319提供数据输入/输出路径。
通道CH1和CH2可以与通信线路L1和L2相关联,通信线路L1和L2被配置为在存储器件1311至1317和1319与控制器1330之间发送数据。通信线路L1和L2可以包括导线、导电图案、迹线图案等,其被配置为发送电信号。通信线路L1和L2可以提供存储器件1311至1317和1319与控制器1330之间的通信路径。
存储器件1311至1317和1319当中的一组存储器件可共享通道CH1和CH2中的一个。例如,第一组的存储器件1311至1314可以共享沿着通信线路L1的通道CH1,第二组的存储器件1315至1317和1319可以共享沿着通信线路L2的通道CH2。
存储器件1311至1314可以连接到共享通道CH1,并且控制器1330可以通过共享通道CH1与存储器件1311至1314通信。存储器件1315至1317和1319可以连接到共享通道CH2,并且控制器1330可以通过共享通道CH2与存储器件1315至1317和1319通信。
共享相同通道的存储器件与控制器1330之间的通信可以是互斥的。控制器1330可以选择性地与连接到共享通道的存储器件之一通信,以便与共享相同通道的存储器件的通信不会并行或同时执行。另一方面,连接到不同通道的存储器件与控制器1330之间的通信可以不是互斥的。
例如,当通过通道CH1执行存储器件1311与控制器1330之间的通信时,不能执行存储器件1312与控制器1330之间的通信。当不执行存储器件1311、1313和1314与控制器1330之间的通信时,存储器件1312可以通过通道CH1与控制器1330通信。例如,存储器件1311与控制器1330之间的通过通道CH1的通信可以和存储器件1319与控制器1330之间的通过通道CH2的通信并行或同时执行。
图3示出了八(8)个存储器件1311至1317和1319以及两(2)个通道CH1和CH2。然而,提供图3的示例配置是为了便于更好地理解,不旨在限制本公开。存储器件的数量和通道的数量可以进行各种改变或修改。另外,共享相同通道的存储器件的数量(例如,包括在一个组中的存储器件的数量)可以进行各种改变或修改。
图4是示出图3的存储器件1311至1317和1319中的一个存储器件1311的框图。
存储器件1311可以包括存储单元阵列110a、地址解码器120、控制逻辑电路和电压发生器130、页缓冲器140a和输入/输出(I/O)电路150。其他存储器件1312至1317和1319中的每一个可以被配置为与存储器件1311相同或相似。
存储单元阵列110a可以包括多个存储块BLK1至BLKz。存储块BLK1至BLKz中的每一个可以包括多个单元串。每个单元串可以包括多个存储单元。存储单元可以连接到多个字线WL。每个存储单元可以存储数据位。每个存储单元可以是用于存储一个位的单级单元(SLC)或用于存储至少两个位的多级单元(MLC)。
在一些示例实施例中,存储单元阵列110a可以包括三维(3D)存储阵列。3D存储阵列可以单片地形成在存储单元阵列的一个或多个物理层级中,每个所述存储单元阵列具有布置在硅衬底上方的有源区以及与存储单元的操作相关联的电路。与存储单元的操作相关联的电路可以布置在衬底中或衬底上。术语“单片(monolithic)”意指3D存储阵列的每一层级的层直接沉积在3D存储阵列的下层级的层上。
3D存储阵列可以包括竖直取向的竖直NAND串,使得至少一个存储单元位于另一存储单元上方。至少一个存储单元可以包括电荷俘获层。每个竖直NAND串可以包括位于存储单元之上的至少一个选择晶体管。至少一个选择晶体管可以配置有与存储单元相同的结构,并且与存储单元一起单片地形成。
地址解码器120可以通过字线WL、串选择线SSL和地选择线GSL连接到存储单元阵列110a。地址解码器120可以解码从控制器1330接收的地址ADDR'。地址解码器120可以基于解码的地址选择字线WL中的至少一个,并且可以驱动所选择的字线。
控制逻辑电路和电压发生器130可以基于从控制器1330接收的命令CMD'和控制信号CTRL,来控制地址解码器120、页缓冲器140a和输入/输出电路150。例如,控制逻辑电路和电压发生器130可以控制地址解码器120、页缓冲器140a和输入/输出电路150,以便将从控制器1330提供的数据DAT'存储在存储单元阵列110a中,或者输出存储在存储单元阵列110a中的数据。
控制逻辑电路和电压发生器130可以发生用于操作存储器件1311的各种电压(例如,编程电压、通过电压、读取电压、验证电压等)。控制逻辑电路和电压发生器130可以将发生的电压提供给地址解码器120或存储单元阵列110a的衬底。
页缓冲器140a可以通过多个位线BL连接到存储单元阵列110a。页缓冲器140a可以控制位线BL,以便将从输入/输出电路150提供的数据DAT'存储在存储单元阵列110a中。页缓冲器140a可以读取存储在存储单元阵列110a中的数据,并且可以将读取的数据DAT'提供给输入/输出电路150。
例如,页缓冲器140a可以以页为单位从输入/输出电路150接收数据,或者可以以页为单位从存储单元阵列110a读取数据。页缓冲器140a可以临时存储从输入/输出电路150接收的数据和从存储单元阵列110a读取的数据。例如,页缓冲器140a可以包括用于存储数据的数据锁存器。
输入/输出电路150可以向页缓冲器140a提供从控制器1330接收的数据DAT'。备选地,输入/输出电路150可以向控制器1330提供从页缓冲器140a接收的数据。例如,输入/输出电路150可以与控制信号CTRL同步地与控制器1330交换数据DAT'。
图5是示出图4的存储单元阵列110a的示例配置的框图。
图4示出了包括单个存储单元阵列110a和单个页缓冲器140a在内的示例配置。然而,在一些示例实施例中,存储器件1311可以用多平面结构实现,并且可以包括存储单元阵列110b和多个页缓冲器140b1至140b4。其他存储器件1312至1317和1319中的每一个可以被配置为与图5中所示的配置相同或相似。
存储单元阵列110b可以包括以平面为单位的存储单元阵列。例如,存储单元阵列110b可以包括平面PLN1的存储单元阵列、平面PLN2的存储单元阵列、平面PLN3的存储单元阵列以及平面PLN4的存储单元阵列。
各个平面PLN1至PLN4的存储单元阵列可以相互独立地操作。例如,平面PLN1的存储单元阵列可以独立于平面PLN2的存储单元阵列操作。
平面PLN1的存储单元阵列可以包括多个存储块BLK11至BLK1z,并且平面PLN2的存储单元阵列可以包括多个存储块BLK21至BLK2z。平面PLN3的存储单元阵列可以包括多个存储块BLK31至BLK3z,并且平面PLN4的存储单元阵列可以包括多个存储块BLK41至BLK4z。
页缓冲器140b1至140b4可以单独设置,以分别对应于平面PLN1至PLN4的存储单元阵列。页缓冲器140b1至140b4可以通过单独的位线BL1至BL4连接到平面PLN1至PLN4的存储单元阵列。由于平面PLN1至PLN4的存储单元阵列独立地操作,控制逻辑电路和电压发生器130可以独立地控制页缓冲器140b1至140b4。
图5示出了四(4)个平面PLN1至PLN4。然而,本公开并不限于此。平面的数量可以进行各种改变或修改。
图6是用于描述与图3的示例配置相关联的存储设备1300的示例操作的时序图。
示例实施例不与单个存储芯片的操作和连接到不同通道的存储芯片的操作相关联,而是与连接到相同通道的存储芯片的操作相关联。在以下描述中,为了便于更好地理解,将描述连接到相同通道CH1的存储芯片1311和存储芯片1312的操作。
另外,假设存储芯片1311的存储单元阵列110a包括能够存储三(3)个位的三级单元。在该假设下,对存储芯片1311执行的写入操作可以包括用于存储最低有效位(LSB)页的数据的LSB写入操作、用于存储中央有效位(CSB)页的数据的CSB写入操作以及用于存储最高有效位(MSB)页的数据的MSB写入操作。然而,本公开不限于该假设,存储单元阵列110a的配置和写入操作可以进行各种改变或修改。
在时间点t01,控制器1330可以向存储芯片1311发出DMA写入命令。响应于该DMA写入命令,可以对存储芯片1311执行包括LSB写入操作、CSB写入操作和MSB写入操作在内的DMA写入操作。在DMA写入操作期间,控制器1330可以通过通道CH1向存储芯片1311提供LSB页的数据、CSB页的数据和MSB页的数据。
同时,在时间点t02,控制器1330可以从主机1100接收对存储在存储芯片1312中的数据的读取请求。然而,存储芯片1311正在通过通道CH1与控制器1330通信以进行DMA写入操作,存储芯片1312无法通过通道CH1与控制器1330通信。因此,存储芯片1312可以准备好进行操作,但是不能立即执行对存储芯片1312的读取操作。
在时间点t03,控制器1330可以检查出DMA写入操作已经完成。之后,在时间点t04,控制器1330可以向存储芯片1312发出与在时间点t02接收的读取请求相对应的读取命令。响应于该读取命令,可以执行针对存储芯片1312的读取操作,以从存储芯片1312读取由主机1100请求的数据。在读取操作完成之后,在时间点t05,可以从存储芯片1312输出由主机1100请求的数据。
例如,执行LSB写入操作、CSB写入操作和MSB写入操作中的每一个操作所花费的时间可以是20μs,并且执行读取操作所花费的时间可以是40μs。在该示例中,在发出DMA写入命令的时间点t01与存储芯片1312输出数据的时间点t05之间的时间长度可以是大约100μs。也就是说,在发出DMA写入命令之后直到存储芯片1312输出数据为止,可以花费超过100μs的时间。这些时间值作为示例提供,以便于更好地理解,而不旨在限制本公开。
当从存储芯片1312迟缓地输出数据时,主机1100的服务质量(QoS)可能变差。因此,减少从存储芯片1312输出数据所花费的时间可能有利于改善服务质量。
图7是描述与图3的示例配置相关联的存储设备1300的示例操作的流程图。图8是用于描述图7的示例操作的时序图。
主机1100可以向控制器1330提供具有写入数据的写入请求(图7的S110)。控制器1330可以将写入数据临时存储在内部缓冲器1331和/或缓冲存储器1350中(图7的S115)。控制器1330可以向主机1100提供指示写入数据被良好接收的响应(图7的S118)。
当累积了写入操作所需的大小的数据时,控制器1330可以通过通道CH1发出针对存储芯片1311的DMA写入命令(图7的S120和图8的时间点t11)。为此,控制器1330可以通过通道CH1与存储芯片1311通信,而无需主机1100的干预。控制器1330可以通过通道CH1将LSB页的数据提供给存储芯片1311(图7的S121a)。
例如,当控制器1330处理用于LSB写入操作的DMA写入操作时,控制器1330可以从主机1100接收针对存储芯片1312的读取请求(图7的S130和图8的时间点t12)。响应于该读取请求,控制器1330可以暂停对存储芯片1311的DMA写入操作(图7的S135和图8的时间点t13)。
在控制器1330暂停DMA操作之前,存储芯片1311可以通过DMA操作部分地存储要存储在存储芯片1311中的数据,或者部分地输出要从存储芯片1311输出的数据。例如,与DMA写入操作相关联的数据可能未完全存储在存储芯片1311中,并且LSB页的数据可以部分地存储在存储芯片1311的页缓冲器140a中(图7的S122a)。
当暂停对存储芯片1311的DMA写入操作时,通道CH1可以变得可用于存储芯片1312与控制器1330之间的通信。因此,在暂停与存储芯片1311的通信时,控制器1330可以关于读取请求通过通道CH1与存储芯片1312通信。控制器1330可以通过通道CH1将与在时间点t12接收的读取请求相关联的读取命令发送到存储芯片1312(图7的S140和图8的时间点t14)。
在将读取命令发送到存储芯片1312之后,控制器1330可以恢复暂停的DMA写入操作(图7的S145和图8的时间点t15)。也就是说,控制器1330可以在不等待从存储芯片1312输出的数据的情况下继续执行DMA写入操作。控制器1330可以恢复暂停的在没有主机1100的干预的情况下通过通道CH1与存储芯片1311的通信。
同时,响应于读取命令,可以执行对存储芯片1312的读取操作,以从存储芯片1312读取由主机1100请求的数据。在读取操作期间,可以读取存储在存储芯片1312的存储单元中的数据。存储芯片1312可以将从存储单元读取的数据临时存储在存储芯片1312的页缓冲器中(图7的S148)。
在控制器1330处理恢复的DMA写入操作时,响应于读取命令,从存储芯片1312的存储单元读取的数据可以存储在存储芯片1312的页缓冲器中。在页缓冲器中存储存储单元的数据可以在存储芯片1312内部执行,并且可以不占用通道CH1。因此,存储芯片1311与控制器1330之间的恢复的通信可以与将从存储芯片1312的存储单元读取的数据存储在存储芯片1312的页缓冲器中的操作并行执行。
当通过通道CH1恢复DMA写入操作时,控制器1330可以向存储芯片1311提供尚未提供给存储芯片1311的LSB页的数据(图7的S121b)。另外,控制器1330可以通过通道CH1将CSB页的数据和MSB页的数据提供给存储芯片1311(图7的S123和S125)。
在控制器1330恢复暂停的DMA操作之后,存储芯片1311可以存储或输出除部分地存储或输出的数据之外的剩余数据。例如,可以将LSB页的剩余数据、CSB页的数据和MSB页的数据存储在存储芯片1311的页缓冲器140a中(图7的S122b、S124和S126)。因此,与DMA写入操作相关联的数据可以完全存储在存储芯片1311中,并且控制器1330可以检查出DMA写入操作已经完成(图7的S150和图8的时间点t16)。
在DMA写入操作完成之后(例如,在存储芯片1311与控制器1330之间的恢复的通信终止之后),控制器1330可以检查存储芯片1312中的读取操作的状态(图7的S160和图8的时间点t17)。当读取操作完成时(例如,当存储单元的数据被完全读取到页缓冲器时),存储芯片1312可以输出存储在页缓冲器中的数据(图7的S165和图8的时间点t18)。因此,存储芯片1312可以通过通道CH1将由主机1100请求的数据输出到控制器1330。
之后,控制器1330可以将读取的数据输出到主机1100(图7的S170)。可以基于从存储芯片1312输出的数据来输出读取数据。主机1100可以向控制器1330提供指示良好地接收了读取数据的响应(图7的S175)。
在图7和图8的示例中,在发出DMA写入命令的时间点t11与存储芯片1312输出数据的时间点t18之间的时间长度可以是大约60μs。在处理对存储芯片1311的DMA写入操作的同时,可以并行执行对存储芯片1312的读取操作。因此,与图6的示例相比,可以缩短在发出DMA写入命令之后直到存储芯片1312输出数据为止所花费的时间。当存储芯片1312的页缓冲器的容量变大时,更早地开始对存储芯片1312的读取操作可能是更有利的。
在图7和图8的示例中,已经描述了在LSB写入操作期间接收针对存储芯片1312的读取请求。然而,本公开并不限于此。例如,可以在DMA写入操作期间接收读取请求,或在任何时间点接收读取请求,而不管是否是DMA写入操作。当在DMA写入操作期间(例如,在CSB写入操作或MSB写入操作期间)接收到读取请求时,可以临时暂停该DMA写入操作。
另外,在图7和图8的示例中,已经描述了针对存储芯片1311的DMA写入操作。然而,提供这样的描述是为了便于更好地理解,不旨在限制本公开。关于DMA读取操作和针对存储芯片1311的任何其他内部操作,可以类似地应用图7和图8的示例。
例如,当控制器1330在处理针对存储芯片1311的DMA读取操作时从主机1100接收到针对存储芯片1312的读取请求时,控制器1330可以暂停该DMA读取操作。控制器1330可以在暂停该DMA读取操作时向存储芯片1312发出读取命令,并且之后可以恢复暂停的DMA读取操作。
根据图7和图8的示例,存储设备1300可以临时暂停DMA操作以快速响应来自主机1100的读取请求。存储设备1300可以快速输出从主机1100请求的读取数据,并且可以为来自主机1100的读取请求提供短的读取响应时间。因此,可以提高服务质量和用户的满意度。
图9是示出了与图3的控制器1330相关联的示例配置的框图。在一些示例实施例中,控制器1330可以包括图9的控制器1330a。例如,控制器1330a可以包括内部缓冲器1331、存储接口电路1333和计数器1335。
存储接口电路1333可以提供控制器1330a与存储器件(例如,存储芯片1311和1312)之间的接口。例如,存储接口电路1333可以提供内部缓冲器1331(和/或缓冲存储器1350)与存储器件之间的数据路径。存储接口电路1333可以包括各种电路,诸如传输器/接收器电路、编码/解码电路等。
计数器1335可以管理计数值CV。计数值CV可以与根据DMA操作在存储器件与控制器1330a之间交换的数据量相关联。例如,每当在存储芯片和控制器1330a之间交换了传输单位大小的数据时,计数器1335可以增加计数值CV。例如,计数器1335可以包括递增计数器电路。传输单位大小可以对应于在控制器1330a与每个存储芯片之间交换的数据的单位大小。
可以参考计数值CV以确定根据DMA写入操作提供给存储芯片的数据量或者根据DMA读取操作从存储芯片接收的数据量。例如,响应于DMA操作的完成,可以重置计数值CV(例如,设置为“0”)。
如参考图7和图8所述,控制器1330a可以临时暂停DMA操作以响应于来自主机1100的读取请求。当恢复暂停的DMA操作时,控制器1330a可以基于在DMA操作暂停之前已经增加的计数值CV,获得在恢复暂停的DMA操作之后紧接着要与存储芯片交换的数据的相关信息。
例如,控制器1330a可以基于计数值CV确定接下来要与存储芯片交换哪个数据。例如,控制器1330a可以基于计数值CV确定与接下来要交换的数据相关联的、存储芯片的页缓冲器的存储位置(例如,地址)。
当控制器1330a暂停DMA操作时,控制器1330a可以在没有任何暂停命令的情况下简单地暂停DMA操作。备选地,控制器1330a可以发出暂停命令,以便暂停对存储芯片的DMA操作。
当控制器1330a恢复暂停的DMA操作时,控制器1330a可以将基于计数值CV获得的信息(例如,地址信息)发送到存储芯片。例如,当控制器1330a将地址信息发送到存储芯片时,可以从由该地址信息指向的页缓冲器的存储位置起恢复DMA操作。
当控制器1330a恢复暂停的DMA操作时,控制器1330a可以基于地址信息恢复DMA操作,而无需任何恢复命令。备选地,控制器1330a可以发出恢复命令,以便恢复存储芯片的DMA操作。
图10是用于描述与图9的示例配置相关联的存储设备1300的示例操作的概念图。例如,图10示出了暂停和恢复针对存储芯片1311的DMA写入操作的过程。
例如,数据D1至Dr可以存储在内部缓冲器1331中,以便发送到页缓冲器140a。当数据D1至Dr尚未发送到页缓冲器140a时,计数值CV可以对应于“0”并且页缓冲器140a可以是空的。
然后,例如,可以将数据D1至D4存储到页缓冲器140a中。当四(4)个传输单位大小的数据D1至D4通过存储接口电路1333发送到页缓冲器140a时,计数器1335可以增加计数值CV,使得计数值CV对应于“4”。例如,在发送数据D1至D4之后,控制器1330可以暂停DMA写入操作以响应于读取请求。
当恢复暂停的DMA写入操作时,控制器1330可以参考与“4”相对应的计数值CV来确定接下来要发送数据D5。另外,控制器1330可以向页缓冲器140a发送数据D5和列地址CA[5],列地址CA[5]指示页缓冲器140的要存储数据D5的存储位置。
当数据D5通过存储接口电路1333发送到页缓冲器140a时,计数器1335可以增加计数值CV,使得计数值CV对应于“5”。例如,在将数据D1至Dr完全发送到页缓冲器140a之后,可以将计数值CV重置为对应于“0”。
图11是描述与图7的示例操作相关联的控制器1330的示例操作的流程图。
控制器1330可以从主机1100接收对目标存储芯片的读取请求(S210)。目标存储芯片可以是存储基于读取请求所请求的数据的存储芯片(例如,图7和图8的存储芯片1312)。
控制器1330可以检查目标存储芯片是否准备好操作(S220)。当目标存储芯片未准备好操作时(S220的“否”),控制器1330可以等待以响应于读取请求(S225)。另一方面,当目标存储芯片准备好操作时(S220的“是”),控制器1330可以确定是否正在通过连接到目标存储芯片的通道执行对另一存储芯片的DMA操作(S230)。
当正在执行对其他存储芯片的DMA操作时(S230的“是”),控制器1330可以临时暂停DMA操作(S240),并且可以向目标存储芯片发出读取命令(S243)。之后,控制器1330可以恢复暂停的DMA操作(S246)。同时,当未执行对其他存储芯片的DMA操作并且共享通道可用时(S230的“否”),控制器1330可以向目标存储芯片发出读取命令(S290)。
当DMA操作完成时或者当未执行DMA操作时,控制器1330可以确定对目标存储芯片的读取操作是否完成(S250)。当未完成读取操作时(S250的“否”),控制器1330可以等待直到读取操作完成(S255)。另一方面,当完成了读取操作时(S250的“是”),控制器1330可以接收从目标存储芯片输出的数据(S260),并且可以基于接收的数据将读取的数据输出到主机1100(S265)。
图12是描述与图3的示例配置相关联的存储设备1300的示例操作的流程图。图13是用于描述图12的示例操作的时序图。
主机1100可以向控制器1330提供带有写入数据的写入请求(图12的S310)。控制器1330可以将写入数据临时存储在内部缓冲器1331和/或缓冲存储器1350中(图12的S315)。控制器1330可以向主机1100提供指示写入数据被良好接收的响应(图12的S318)。
当累积了写入操作所需的大小的数据时,控制器1330可以通过通道CH1发出针对存储芯片1311的DMA写入命令(图12的S320和图13的时间点t21)。此外,控制器1330可以通过通道CH1将LSB页的数据提供给存储芯片1311(图12的S321a)。
例如,当控制器1330处理用于LSB写入操作的DMA写入操作时,控制器1330可以从主机1100接收针对存储芯片1312的读取请求(图12的S330和图13的时间点t22)。响应于该读取请求,控制器1330可以暂停对存储芯片1311的DMA写入操作(图12的S335和图13的时间点t23)。在暂停对存储芯片1311的DMA写入操作时,LSB页的数据可以部分地存储在存储芯片1311的页缓冲器140a中(图12的S322a)。
当暂停与存储芯片1311的通信时,控制器1330可以通过通道CH1将与在时间点t22接收的读取请求相关联的读取命令发送到存储芯片1312(图12的S340和图13的时间点t24)。在将读取命令发送到存储芯片1312之后,控制器1330可以恢复暂停的DMA写入操作(图12的S345和图13的时间点t25)。
同时,响应于读取命令,可以执行对存储芯片1312的读取操作,以从存储芯片1312读取由主机1100请求的数据。在读取操作期间,可以读取存储在存储芯片1312的存储单元中的数据。存储芯片1312可以将从存储单元读取的数据临时存储在存储芯片1312的页缓冲器中(图12的S348)。
当通过通道CH1恢复DMA写入操作时,控制器1330可以向存储芯片1311提供尚未提供给存储芯片1311的LSB页的数据(图12的S321b)。另外,控制器1330可以通过通道CH1将CSB页的数据和MSB页的数据提供给存储芯片1311(图12的S323和S325a)。因此,可以将LSB页的剩余数据、CSB页的数据和MSB页的数据存储在存储芯片1311的页缓冲器140a中(图12的S322b、S324和S326a)。
在一些示例实施例中,当在控制器1330处理恢复的DMA写入操作时经过了参考时间时,控制器1330可以再次暂停恢复的DMA写入操作(图12的S350和图13的时间点t26)。当再次暂停对存储芯片1311的DMA写入操作时,MSB页的数据可以部分地存储在存储芯片1311的页缓冲器140a中(图12的S326a)。
参考时间可以与将数据从存储芯片1312的存储单元读取到存储芯片1312的页缓冲器中所花费的预期时间相关联。例如,参考时间可以被设置为与预测时间基本相同,或者可以被设置为比预测时间稍短或稍长。
在再次暂停与存储芯片1311的通信之后,控制器1330可以通过通道CH1检查存储芯片1312中的读取操作的状态(图12的S360和图13的时间点t27)。当读取操作完成时(即,当存储单元的数据被完全读取到页缓冲器时),存储芯片1312可以关于读取请求输出存储在页缓冲器中的数据(图12的S363和图13的时间点t28)。
当存储芯片1312通过通道CH1输出数据时,可以暂停存储芯片1311与控制器1330之间的通过通道CH1的通信。也就是说,在图12和图13的示例中,为了处理先前针对存储芯片1312的读取请求而不管对存储芯片1311的DMA写入操作是否完成,可以响应于参考时间的经过而再次暂停恢复的DMA写入操作。
在存储芯片1312基于读取命令完全输出数据之后,控制器1330可以恢复再次暂停的DMA写入操作(图12的S366和图13的时间点t29)。在DMA写入操作恢复时,控制器1330可以向存储芯片1311提供尚未提供给存储芯片1311的MSB页的数据(图12的S325b)。
另外,MSB页的剩余数据可以存储在存储芯片1311的页缓冲器140a中(图12的S326b)。因此,与DMA写入操作相关联的数据可以完全存储在存储芯片1311中,并且控制器1330可以检查出DMA写入操作已经完成(图12的S380和图13的时间点t30)。
当继续执行DMA写入操作时,控制器1330可以将读取的数据输出到主机1100(图12的S370)。可以基于从存储芯片1312输出的数据来输出读取数据。主机1100可以向控制器1330提供指示读取数据被良好接收的响应(图12的S375)。
在图12和图13的示例中,在发出DMA写入命令的时间点t21与存储芯片1312输出数据的时间点t28之间的时间长度可以是大约52μs。由于DMA写入操作被暂停两次,所以存储芯片1312可以在完成对存储芯片1311的DMA写入操作之前输出与读取请求相关联的数据。在一些情况下,控制器1330可以在DMA写入操作完成之前将读取数据输出到主机1100。因此,与图7和图8的示例相比,可以进一步缩短在发出DMA写命令之后直到存储芯片1312输出数据为止所花费的时间。
在图12和图13的示例中,已经描述了在LSB写入操作期间接收针对存储芯片1312的读取请求,并且在MSB写入操作期间再次暂停恢复的DMA写操作。然而,本公开并不限于此。可以在DMA写入操作期间接收读取请求,或在任何时间点接收读取请求,而不管是否是DMA写入操作,并且可以响应于参考时间的经过在任何时间点再次暂停恢复的DMA写入操作。
另外,在图12和图13的示例中,已经描述了针对存储芯片1311的DMA写入操作。然而,提供这样的描述是为了便于更好地理解,不旨在限制本公开。关于DMA读取操作和针对存储芯片1311的另一内部操作,可以类似地应用图12和图13的示例。
例如,控制器1330可以在暂停DMA读取操作时向存储芯片1312发出读取命令,并且之后可以恢复暂停的DMA读取操作。当在处理恢复的DMA读取操作时经过了参考时间时,控制器1330可以再次暂停恢复的DMA读取操作。当再次暂停DMA读取操作时,存储芯片1312可以输出与读取请求相关联的数据。
图14是示出了与图3的控制器1330相关联的示例配置的框图。在一些示例实施例中,控制器1330可以包括图14的控制器1330b。例如,控制器1330b可以包括内部缓冲器1331、存储接口电路1333、计数器1335和计时器1337。
计时器1337可以测量参考时间。例如,计时器1337可以包括计时器电路,该计时器电路被配置为响应于时钟对经过时间进行计数。例如,响应于DMA操作被恢复,可以重置计时器1337,并且可以响应于参考时间的经过而通知时间的到期。控制器1330b可以响应于来自计时器1337的通知而再次暂停恢复的DMA操作。
图15是描述与图12的示例操作相关联的控制器1330的示例操作的流程图。
控制器1330可以从主机1100接收对目标存储芯片的读取请求(S410)。控制器1330可以检查目标存储芯片是否准备好操作(S420)。
当目标存储芯片未准备好操作时(S420的“否”),控制器1330可以等待以响应于读取请求(S425)。另一方面,当目标存储芯片准备好操作时(S420的“是”),控制器1330可以确定是否正在通过与目标存储芯片连接的通道执行对另一存储芯片的DMA操作(S430)。
当正在执行对另一存储芯片的DMA操作时(S230的“是”),控制器1330可以临时暂停DMA操作(S440),并且可以向目标存储芯片发出读取命令(S443)。之后,控制器1330可以恢复暂停的DMA操作(S446)。
控制器1330可以确定在恢复DMA操作之后是否经过了参考时间(S450)。当未经过参考时间时(S450的“否”),控制器1330可以继续执行DMA操作。另一方面,当经过了参考时间时(S450的“是”),控制器1330可以再次暂停DMA操作(S460)。当再次暂停DMA操作时,控制器1330可以接收从目标存储芯片输出的数据(S470),并且此后,可以基于所接收的数据将读取的数据输出到主机1100,并且恢复再次暂停的DMA操作(S475)。
同时,当未执行对其他存储芯片的DMA操作并且共享通道可用时(S430的“否”),控制器1330可以向目标存储芯片发出读取命令(S490)。因此,控制器1330可以接收从目标存储芯片输出的数据(S493),并且可以基于接收的数据将读取的数据输出到主机1100(S496)。
图16是用于描述与图3和图5的示例配置相关联的存储设备1300的示例操作的时序图。图16的示例操作可以与图5的多平面结构相关联。
在一些情况下,控制器1330可以确定需要针对存储芯片1311的DMA读取操作,并且可以向存储芯片1311发出DMA读取命令(在时间点t31)。为此,控制器1330可以在没有主机1100干预的情况下通过通道CH1与存储芯片1311通信。平面PLN1的存储单元阵列的数据可以通过通道CH1输出到控制器1330。
例如,当控制器1330处理针对平面PLN1的存储单元阵列的操作时,控制器1330可以从主机1100接收针对存储芯片1312的读取请求(在时间点t32)。响应于该读取请求,控制器1330可以临时暂停对存储芯片1311的DMA读取操作(在时间点t33)。在控制器1330暂停DMA读取操作之前,可以部分地输出要通过DMA读取操作从存储芯片1311输出的数据。
当针对平面PLN1的存储单元阵列的操作被部分地处理和暂停时,控制器1330可以通过通道CH1将与在时间点t32接收的读取请求相关联的读取命令发送到存储芯片1312(在时间点t34)。在将读取命令发送到存储芯片1312之后,控制器1330可以恢复暂停的DMA读取操作(在时间点t35)。
同时,响应于读取命令,可以执行对存储芯片1312的读取操作,以从存储芯片1312读取由主机1100请求的数据。在读取操作期间,存储芯片1312可以将从存储单元读取的数据临时存储在存储芯片1312的页缓冲器中。存储芯片1311与控制器1330之间的恢复的通信可以与将从存储芯片1312的存储单元读取的数据存储在存储芯片1312的页缓冲器中的操作并行执行。
当通过通道CH1恢复DMA读取操作时,控制器1330可以处理在部分处理的操作中尚未处理的剩余部分的操作。例如,控制器1330可以接收平面PLN1的存储单元阵列的尚未输出的剩余数据。另外,控制器1330可以通过通道CH1接收平面PLN2的存储单元阵列的数据、平面PLN3的存储单元阵列的数据以及平面PLN4的存储单元阵列的数据。
在控制器1330恢复暂停的DMA读取操作之后,存储芯片1311可以输出除部分地输出的数据之外的剩余数据。因此,与DMA读取操作相关联的数据可以从存储芯片1311完全输出,并且控制器1330可以检查出DMA读取操作已经完成(在时间点t36)。在DMA读取操作完成之后,控制器1330可以检查存储芯片1312中的读取操作的状态(在时间点t37)。
当读取操作已完成时,存储芯片1312可以输出存储在页缓冲器中的数据(在时间点t38)。存储芯片1312可以通过通道CH1将由主机1100请求的数据输出到控制器1330。控制器1330可以基于从存储芯片1312输出的数据将读取的数据输出到主机1100。
例如,从一个平面的存储单元阵列输出数据所花费的时间可以是1.5μs,并且处理来自主机1100的读取请求所花费的时间可以是3μs。在该示例中,在发出DMA读取命令的时间点t31与存储芯片1312输出数据的时间点t38之间的时间长度可以是大约10μs。然而,这些时间值作为示例提供,以便于更好地理解,而不旨在限制本公开。
如果控制器1330在完成DMA读取操作之后(而不暂停DMA读取操作)响应读取请求,则在发出DMA读取命令之后存储芯片1312输出数据所花费的时间可以是大约13μs。因此,可以理解,暂停DMA读取操作并响应读取请求有利于快速输出由主机1100请求的数据。另外,可以理解的是,示例实施例对于多平面结构也是有效的。
在图16的示例中,已经描述了在平面PLN1的存储单元阵列的操作期间接收针对存储芯片1312的读取请求。然而,本公开并不限于此。例如,可以在任何时间点接收读取请求。另外,图16的示例可以与对多平面结构的DMA读取操作相关联,但是关于对多平面结构的DMA写入操作,可以类似地应用图16的示例。
图17是用于描述与图3和图5的示例配置相关联的存储设备1300的示例操作的时序图。图17的示例操作可以与图5的多平面结构相关联。
类似于图16的示例,控制器1330可以向存储芯片1311发出DMA读取命令(在时间点t41)。因此,平面PLN1的存储单元阵列的数据可以通过通道CH1输出到控制器1330。例如,当控制器1330处理针对平面PLN1的存储单元阵列的操作时,控制器1330可以从主机1100接收针对存储芯片1312的读取请求(在时间点t42)。
响应于该读取请求,控制器1330可以临时暂停对存储芯片1311的DMA读取操作(在时间点t43)。在暂停与存储芯片1311的通信时,控制器1330可以通过通道CH1向存储芯片1312发送读取命令(在时间点t44)。
在将读取命令发送到存储芯片1312之后,控制器1330可以恢复暂停的DMA读取操作(在时间点t45)。当通过通道CH1恢复了DMA读取操作时,控制器1330可以从存储芯片1311接收平面PLN1的存储单元阵列的尚未输出的剩余数据和平面PLN2的存储单元阵列的数据。
在一些示例实施例中,当在控制器1330处理恢复的DMA读取操作时经过了参考时间时,控制器1330可以再次暂停恢复的DMA读取操作(在时间点t46)。在再次暂停与存储芯片1311的通信之后,控制器1330可以通过通道CH1检查存储芯片1312中的读取操作的状态(在时间点t47)。当读取操作已完成时,存储芯片1312可以向控制器1330输出与读取请求相关联的数据(在时间点t48)。
在存储芯片1312基于读取命令完全输出数据之后,控制器1330可以恢复再次暂停的DMA读取操作(在时间点t49)。当恢复了DMA读取操作时,控制器1330可以从存储芯片1311接收平面PLN3的存储单元阵列的数据和平面PLN4的存储单元阵列的数据。因此,与DMA读取操作相关联的数据可以从存储芯片1311完全输出,并且控制器1330可以检查出DMA读取操作已经完成(在时间点t50)。
在图17的示例中,在发出DMA读取命令的时间点t41与存储芯片1312输出数据的时间点t48之间的时间长度可以是大约5μs。根据图17的示例,与图16的示例相比,可以进一步缩短在发出DMA读取命令之后直到存储芯片1312输出数据为止所花费的时间。
在图17的示例中,已经描述了在平面PLN1的存储单元阵列的操作期间接收针对存储芯片1312的读取请求,并且在平面PLN2的存储单元阵列的操作之后再次暂停恢复的DMA读取操作。然而,本公开并不限于此。可以在任何时间点接收读取请求,并且可以响应于参考时间的经过在任何时间点再次暂停恢复的DMA读取操作。另外,图17的示例可以与对多平面结构的DMA读取操作相关联,但是关于对多平面结构的DMA写入操作,可以类似地应用图17的示例。
如在本领域中常见的,可以按照执行所描述的一个或多个功能的块来描述和示出实施例。在本文中可以称为单元或模块等的这些块通过诸如逻辑门、集成电路、微处理器、微控制器、存储器电路、无源电子部件、有源电子部件、光学部件、硬连线电路等的模拟和/或数字电路物理地实现,并且可以可选地由固件和/或软件驱动。例如,电路可以实现在一个或多个半导体芯片中,或者在诸如印刷电路板等的衬底支撑件上。构成块的电路可以由专用硬件或处理器(例如,一个或多个编程的微处理器和相关联的电路)来实现,或者由用来执行该块的一些功能的专用硬件和用来执行该块的其他功能的处理器的组合来实现。在不脱离本公开的范围的情况下,实施例的每个块可以物理地分成两个或更多个交互和分立的块。类似地,在不脱离本公开的范围的情况下,实施例的块可以物理地组合成更复杂的块。
以上描述旨在提供用于实现本公开的示例配置和操作。除了上述示例实施例之外,本公开的范围和精神可以包括通过简单地改变或修改上述示例实施例而获得的实现。此外,本公开的范围和精神包括之后通过容易地改变或修改上述示例实施例来实现的实现。
Claims (25)
1.一种存储设备,包括:
第一存储器件,连接到多个通道中的一个通道;
第二存储器件,连接到所述一个通道;以及
控制器,被配置为通过所述一个通道与所述第一存储器件通信或者通过所述一个通道与所述第二存储器件通信,使得与所述第一存储器件的通信和与所述第二存储器件的通信是互斥的,其中
当所述控制器在处理针对所述第一存储器件的直接存储器访问DMA操作时接收到针对所述第二存储器件的读取请求时,所述控制器还被配置为暂停所述DMA操作,并向所述第二存储器件发送与所述读取请求相关联的读取命令。
2.根据权利要求1所述的存储设备,还包括:
多个存储器件,所述多个存储器件中的每个存储器件通过所述多个通道之一连接到所述控制器,其中:
所述多个通道与通信线路相关联,所述通信线路被配置为在所述第一存储器件、所述第二存储器件、所述多个存储器件以及所述控制器之间传送数据,以及
所述第一存储器件、所述第二存储器件以及所述多个存储器件中的一组存储器件共享所述多个通道之一。
3.根据权利要求1所述的存储设备,其中:
当执行所述第一存储器件与所述控制器之间的通信时,不执行所述第二存储器件与所述控制器之间的通信,以及
当执行所述第二存储器件与所述控制器之间的通信时,不执行所述第一存储器件与所述控制器之间的通信。
4.根据权利要求1所述的存储设备,其中,所述DMA操作包括DMA写入操作和DMA读取操作中的至少一个,所述DMA写入操作用于在没有主机干预的情况下将数据存储在所述第一存储器件中,所述DMA读取操作用于在没有主机干预的情况下从所述第一存储器件输出数据。
5.根据权利要求1所述的存储设备,其中,从主机接收所述读取请求,从而输出存储在所述第二存储器件中的数据。
6.根据权利要求1所述的存储设备,其中:
所述第二存储器件包括:
存储单元,所述存储单元中的每一个存储单元被配置为存储数据位;以及
页缓冲器,被配置为临时存储从所述存储单元读取的数据,以及
所述第二存储器件还被配置为响应于所述读取命令将从所述存储单元读取的数据临时存储在所述页缓冲器中。
7.根据权利要求1所述的存储设备,其中,所述控制器还被配置为:在将所述读取命令发送到所述第二存储器件之后,恢复暂停的DMA操作。
8.根据权利要求7所述的存储设备,其中:
在所述控制器暂停所述DMA操作之前,所述第一存储器件通过所述DMA操作部分地存储要存储在所述第一存储器件中的数据或者部分地输出要从所述第一存储器件输出的数据,以及
在所述控制器恢复暂停的DMA操作之后,所述第一存储器件存储或输出除部分地存储或输出的数据之外的剩余数据。
9.根据权利要求7所述的存储设备,其中,在完成恢复的DMA操作之后,所述第二存储器件还被配置为基于所述读取命令输出数据。
10.根据权利要求7所述的存储设备,其中,当在所述控制器处理恢复的DMA操作时经过了参考时间时,所述控制器还被配置为再次暂停恢复的DMA操作,使得所述第二存储器件基于所述读取命令输出数据。
11.根据权利要求10所述的存储设备,其中,在所述第二存储器件基于所述读取命令完全输出数据之后,所述控制器还被配置为恢复再次暂停的DMA操作。
12.一种存储设备,包括:
控制器,被配置为通过多个通道与多个存储器件通信;
所述多个存储器件中的第一存储器件,所述第一存储器件被配置为通过所述多个通道中的一个通道与所述控制器通信;以及
所述多个存储器件中的第二存储器件,所述第二存储器件被配置为在没有执行所述第一存储器件与所述控制器之间的通信时,通过所述一个通道与所述控制器通信,其中
当在所述控制器处理针对所述第一存储器件的直接存储器访问DMA操作时从主机接收到针对所述第二存储器件的读取请求时,所述第二存储器件还被配置为在所述DMA操作完成之前向所述控制器输出与所述读取请求相关联的数据。
13.根据权利要求12所述的存储设备,其中,所述控制器还被配置为:
响应于所述读取请求,暂停所述DMA操作,并向所述第二存储器件发送与所述读取请求相关联的读取命令,以及
在向所述第二存储器件发送所述读取命令之后,恢复暂停的DMA操作。
14.根据权利要求13所述的存储设备,其中,所述控制器包括:计数器,被配置为管理关于根据所述DMA操作在所述第一存储器件与所述控制器之间交换的数据量的计数值。
15.根据权利要求14所述的存储设备,其中:
所述计数器还被配置为每当在所述第一存储器件与所述控制器之间交换了传输单位大小的数据时增加所述计数值,以及
所述控制器还被配置为:基于在暂停所述DMA操作之前已经增加的所述计数值,获得与在恢复暂停的DMA操作之后要在所述第一存储器件与所述控制器之间交换的数据相关联的信息。
16.根据权利要求13所述的存储设备,其中,当所述控制器处理恢复的DMA操作时,所述第二存储器件还被配置为:响应于所述读取命令,将从所述第二存储器件的存储单元读取的数据临时存储在所述第二存储器件的页缓冲器中。
17.根据权利要求16所述的存储设备,其中:
当在所述控制器处理恢复的DMA操作时经过了参考时间时,所述控制器还被配置为再次暂停恢复的DMA操作,
在所述控制器再次暂停恢复的DMA操作之后,所述第二存储器件还被配置为关于所述读取请求向所述控制器输出临时存储在所述页缓冲器中的数据,并且
所述参考时间与将数据从所述存储单元读取到所述页缓冲器所花费的预期时间相关联。
18.根据权利要求12所述的存储设备,其中:
所述控制器还被配置为基于从所述第二存储器件输出的数据将读取数据输出到主机,以及
所述读取数据在所述DMA操作完成之前输出到主机。
19.一种存储设备,包括:
多个存储器件;以及
控制器,被配置为通过多个通道与所述多个存储器件通信,其中:
所述多个存储器件中的第一组存储器件被配置为通过所述多个通道中的第一通道与所述控制器互斥地进行通信,以及
当所述控制器在没有主机干预的情况下通过所述第一通道与所述第一组存储器件中的第一存储器件通信时从主机接收到针对所述第一组存储器件中的第二存储器件的读取请求时,所述控制器还被配置为暂停与所述第一存储器件的通信,使得所述控制器关于所述读取请求通过所述第一通道与所述第二存储器件通信。
20.根据权利要求19所述的存储设备,其中:
所述多个存储器件中的第二组存储器件被配置为通过所述多个通道中的第二通道与所述控制器互斥地进行通信,以及
所述第一组存储器件与所述控制器之间的通过所述第一通道的通信与所述第二组存储器件与所述控制器之间的通过所述第二通道的通信并行执行。
21.根据权利要求19所述的存储设备,其中:
所述控制器还被配置为在暂停与所述第一存储器件的通信时通过所述第一通道将与所述读取请求相关联的读取命令发送到所述第二存储器件,以及
所述第二存储器件的存储单元的数据响应于所述读取命令而临时存储在所述第二存储器件的页缓冲器中。
22.根据权利要求21所述的存储设备,其中:
所述控制器还被配置为在将所述读取命令发送到所述第二存储器件之后,恢复暂停的在没有主机干预的情况下与所述第一存储器件的通信,以及
所述第一存储器件与所述控制器之间的恢复的通信与将所述存储单元的数据存储在所述页缓冲器中的操作并行执行。
23.根据权利要求22所述的存储设备,其中,在所述第一存储器件与所述控制器之间的恢复的通信终止之后,所述第二存储器件还被配置为通过所述第一通道将临时存储的数据输出到所述控制器。
24.根据权利要求19所述的存储设备,其中:
所述第二存储器件还被配置为通过所述第一通道向所述控制器输出与所述读取请求相关联的数据,以及
在所述第二存储器件输出与所述读取请求相关联的数据时,暂停所述第一存储器件与所述控制器之间的通信。
25.一种存储设备,包括:
多个存储器件;以及
控制器,被配置为通过多个通道与所述多个存储器件通信,其中
当所述控制器在没有主机干预的情况下与所述多个存储器件中的第一存储器件通信时从主机接收到针对与所述第一存储器件共享相同通道的第二存储器件的读取请求时,所述控制器还被配置为暂停与所述第一存储器件的通信,并向所述第二存储器件发送与所述读取请求相关联的读取命令。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170115350A KR102447465B1 (ko) | 2017-09-08 | 2017-09-08 | 호스트로부터의 읽기 요청에 대한 짧은 읽기 응답 시간을 제공하기 위해 내부 동작을 일시적으로 중단하는 스토리지 장치 |
KR10-2017-0115350 | 2017-09-08 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109471819A true CN109471819A (zh) | 2019-03-15 |
CN109471819B CN109471819B (zh) | 2024-04-02 |
Family
ID=65441962
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811043687.1A Active CN109471819B (zh) | 2017-09-08 | 2018-09-07 | 为来自主机的读取请求提供短的读取响应时间的存储设备 |
Country Status (5)
Country | Link |
---|---|
US (2) | US10831405B2 (zh) |
KR (1) | KR102447465B1 (zh) |
CN (1) | CN109471819B (zh) |
DE (1) | DE102018116544A1 (zh) |
SG (1) | SG10201807440VA (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112860178A (zh) * | 2019-11-12 | 2021-05-28 | 爱思开海力士有限公司 | 存储器装置、存储器控制器、存储器***及存储器***的操作方法 |
CN113590022A (zh) * | 2020-04-30 | 2021-11-02 | 美光科技公司 | 用于存储器装置的***和方法 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20190118428A (ko) * | 2018-04-10 | 2019-10-18 | 에스케이하이닉스 주식회사 | 컨트롤러 및 이를 포함하는 메모리 시스템 |
JP2023137515A (ja) * | 2022-03-18 | 2023-09-29 | キオクシア株式会社 | 半導体記憶装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6000006A (en) * | 1997-08-25 | 1999-12-07 | Bit Microsystems, Inc. | Unified re-map and cache-index table with dual write-counters for wear-leveling of non-volatile flash RAM mass storage |
US20080147907A1 (en) * | 2006-12-15 | 2008-06-19 | Microchip Technology Incorporated | Direct Memory Access Controller |
CN101410905A (zh) * | 2006-03-28 | 2009-04-15 | 诺基亚公司 | 减小非易失性存储器读取延迟的方法和设备 |
US20140215103A1 (en) * | 2013-01-31 | 2014-07-31 | Lsi Corporation | Decoupled locking dma architecture |
CN106325765A (zh) * | 2015-06-30 | 2017-01-11 | 爱思开海力士有限公司 | 用于通过多个通道来控制半导体存储器件的存储*** |
US20170194053A1 (en) * | 2016-01-04 | 2017-07-06 | Microsemi Storage Solutions (Us), Inc. | Nonvolatile memory system with shared algorithm mode |
Family Cites Families (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4989113A (en) | 1987-03-13 | 1991-01-29 | Texas Instruments Incorporated | Data processing device having direct memory access with improved transfer control |
US5379381A (en) * | 1991-08-12 | 1995-01-03 | Stratus Computer, Inc. | System using separate transfer circuits for performing different transfer operations respectively and scanning I/O devices status upon absence of both operations |
US6148360A (en) | 1996-09-20 | 2000-11-14 | Intel Corporation | Nonvolatile writeable memory with program suspend command |
US5822251A (en) * | 1997-08-25 | 1998-10-13 | Bit Microsystems, Inc. | Expandable flash-memory mass-storage using shared buddy lines and intermediate flash-bus between device-specific buffers and flash-intelligent DMA controllers |
US6922739B2 (en) | 2003-02-24 | 2005-07-26 | Broadcom Corporation | System and method for dual IDE channel servicing using single multiplexed interface having first and second channel transfer over a common bus |
JP4449415B2 (ja) | 2003-10-31 | 2010-04-14 | 富士ゼロックス株式会社 | データ転送制御装置、画像形成装置 |
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 |
KR100851545B1 (ko) * | 2006-12-29 | 2008-08-11 | 삼성전자주식회사 | 커맨드 및 어드레스 핀을 갖는 낸드 플래시 메모리 및그것을 포함한 플래시 메모리 시스템 |
KR100869675B1 (ko) | 2007-02-05 | 2008-11-21 | 지인정보기술 주식회사 | 디스크립터 배열을 이용한 플래시 메모리 제어 시스템 및방법 |
US8370562B2 (en) * | 2007-02-25 | 2013-02-05 | Sandisk Il Ltd. | Interruptible cache flushing in flash memory systems |
KR20100100394A (ko) * | 2009-03-06 | 2010-09-15 | 삼성전자주식회사 | 반도체 디스크 장치 그리고 그것의 데이터 기록 및 읽기 방법 |
DE112009004900T5 (de) | 2009-06-10 | 2012-08-16 | Micron Technology, Inc. | Vertagen von Speicheroperationen zum Reduzieren von Leselatenz in Speicherfeldern |
US8327039B2 (en) | 2009-08-14 | 2012-12-04 | Cadence Design Systems, Inc. | Integrated DMA processor and PCI express switch for a hardware-based functional verification system |
US9021158B2 (en) * | 2009-09-09 | 2015-04-28 | SanDisk Technologies, Inc. | Program suspend/resume for memory |
JP2015176309A (ja) * | 2014-03-14 | 2015-10-05 | 株式会社東芝 | 半導体記憶装置 |
KR102291505B1 (ko) * | 2014-11-24 | 2021-08-23 | 삼성전자주식회사 | 스토리지 장치 및 스토리지 장치의 동작 방법 |
US9753653B2 (en) * | 2015-04-14 | 2017-09-05 | Sandisk Technologies Llc | High-priority NAND operations management |
CN106067321B (zh) * | 2015-04-21 | 2020-09-15 | 爱思开海力士有限公司 | 适于存储器编程暂停-恢复的控制器 |
CN106294233B (zh) * | 2015-06-29 | 2019-05-03 | 华为技术有限公司 | 一种直接内存访问的传输控制方法及装置 |
KR20170115350A (ko) | 2016-04-07 | 2017-10-17 | 삼성전자주식회사 | 전자 장치 및 그의 동작 방법 |
US10055137B2 (en) * | 2016-06-29 | 2018-08-21 | Intel Corporation | Method, system, and apparatus for nested suspend and resume in a solid state drive |
US10558398B2 (en) * | 2016-07-29 | 2020-02-11 | Seagate Technology Llc | Reducing read latency |
US20190005031A1 (en) | 2017-06-28 | 2019-01-03 | International Business Machines Corporation | Accessing cloud based document libraries over unreliable networks |
US10423335B2 (en) * | 2017-06-30 | 2019-09-24 | Seagate Technology Llc | Enhancing quality of service of a storage device |
US10423508B2 (en) * | 2017-08-11 | 2019-09-24 | Alibaba Group Holding Limited | Method and system for a high-priority read based on an in-place suspend/resume write |
-
2017
- 2017-09-08 KR KR1020170115350A patent/KR102447465B1/ko active IP Right Grant
-
2018
- 2018-04-24 US US15/960,644 patent/US10831405B2/en active Active
- 2018-07-09 DE DE102018116544.7A patent/DE102018116544A1/de active Pending
- 2018-08-30 SG SG10201807440VA patent/SG10201807440VA/en unknown
- 2018-09-07 CN CN201811043687.1A patent/CN109471819B/zh active Active
-
2020
- 2020-11-09 US US17/092,860 patent/US11360711B2/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6000006A (en) * | 1997-08-25 | 1999-12-07 | Bit Microsystems, Inc. | Unified re-map and cache-index table with dual write-counters for wear-leveling of non-volatile flash RAM mass storage |
CN101410905A (zh) * | 2006-03-28 | 2009-04-15 | 诺基亚公司 | 减小非易失性存储器读取延迟的方法和设备 |
US20080147907A1 (en) * | 2006-12-15 | 2008-06-19 | Microchip Technology Incorporated | Direct Memory Access Controller |
US20140215103A1 (en) * | 2013-01-31 | 2014-07-31 | Lsi Corporation | Decoupled locking dma architecture |
CN106325765A (zh) * | 2015-06-30 | 2017-01-11 | 爱思开海力士有限公司 | 用于通过多个通道来控制半导体存储器件的存储*** |
US20170194053A1 (en) * | 2016-01-04 | 2017-07-06 | Microsemi Storage Solutions (Us), Inc. | Nonvolatile memory system with shared algorithm mode |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112860178A (zh) * | 2019-11-12 | 2021-05-28 | 爱思开海力士有限公司 | 存储器装置、存储器控制器、存储器***及存储器***的操作方法 |
CN112860178B (zh) * | 2019-11-12 | 2024-01-05 | 爱思开海力士有限公司 | 存储器装置、存储器控制器、存储器***及其操作方法 |
CN113590022A (zh) * | 2020-04-30 | 2021-11-02 | 美光科技公司 | 用于存储器装置的***和方法 |
CN113590022B (zh) * | 2020-04-30 | 2024-05-14 | 美光科技公司 | 用于存储器装置的***和方法 |
Also Published As
Publication number | Publication date |
---|---|
US20190079698A1 (en) | 2019-03-14 |
US20210055888A1 (en) | 2021-02-25 |
US10831405B2 (en) | 2020-11-10 |
KR102447465B1 (ko) | 2022-09-27 |
SG10201807440VA (en) | 2019-04-29 |
DE102018116544A1 (de) | 2019-03-14 |
US11360711B2 (en) | 2022-06-14 |
KR20190028609A (ko) | 2019-03-19 |
CN109471819B (zh) | 2024-04-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2888666B1 (en) | Host-assisted compaction of memory blocks | |
US8977805B2 (en) | Host-assisted compaction of memory blocks | |
CN109471819A (zh) | 为来自主机的读取请求提供短的读取响应时间的存储设备 | |
US20140115352A1 (en) | Asynchronous management of access requests to control power consumption | |
US11249897B2 (en) | Data storage device and operating method thereof | |
US20190163623A1 (en) | Memory system and operating method thereof | |
CN112201292A (zh) | 控制器及其操作方法 | |
CN111796759B (zh) | 多平面上的片段数据读取的计算机可读取存储介质及方法 | |
US11494318B2 (en) | Controller and operation method thereof | |
KR20210098717A (ko) | 컨트롤러, 컨트롤러의 동작 방법 및 이를 포함하는 저장 장치 | |
CN114063893A (zh) | 数据储存装置与数据处理方法 | |
US20230112869A1 (en) | Storage device and electronic system | |
TWI626540B (zh) | 一般及垃圾回收的資料存取方法以及使用該方法的裝置 | |
CN111813703A (zh) | 数据储存装置及逻辑至物理地址映射表的更新方法 | |
CN114253461A (zh) | 混合通道存储设备 | |
CN114253462A (zh) | 提供混合通道存储设备的方法 | |
CN116541317A (zh) | 可计算存储器、可计算存储***及数据处理方法 | |
CN213338708U (zh) | 一种控制部件及存储设备 | |
CN108984108A (zh) | 用于调度io命令的方法与固态存储设备 | |
CN109542336B (zh) | 存储设备及其操作方法 | |
CN108536475B (zh) | 完整编程命令处理方法与装置 | |
US11989451B2 (en) | Method of operating a memory controller in which commands are stored in urgent or normal queues based on priority. a nonvolatile memory device including a buffer selector and a storage device thereof | |
US11645008B2 (en) | Memory system and operating method thereof for controlling a multi-plane read operation | |
US20230244615A1 (en) | Memory device, method for controlling memory device and memory system | |
CN110865952B (zh) | 利用缓存优化dma传输 |
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 |