CN111309246A - 存储装置及其操作方法 - Google Patents
存储装置及其操作方法 Download PDFInfo
- Publication number
- CN111309246A CN111309246A CN201910921460.0A CN201910921460A CN111309246A CN 111309246 A CN111309246 A CN 111309246A CN 201910921460 A CN201910921460 A CN 201910921460A CN 111309246 A CN111309246 A CN 111309246A
- Authority
- CN
- China
- Prior art keywords
- clear
- command
- write
- flush
- memory
- 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.)
- Withdrawn
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
- G06F12/0868—Data transfer between cache memory and other subsystems, e.g. storage devices or host systems
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0652—Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0688—Non-volatile semiconductor memory arrays
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/21—Employing a record carrier using a specific recording technology
- G06F2212/214—Solid state disk
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/31—Providing disk cache in a specific location of a storage system
- G06F2212/312—In storage controller
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/7203—Temporary buffering, e.g. using volatile buffer or dedicated buffer blocks
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/7208—Multiple device management, e.g. distributing data over multiple flash devices
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)
Abstract
本申请提供一种存储装置及其操作方法。存储器控制器可包括:命令处理器,被配置为响应于清除请求生成清除命令并确定待被存储的清除数据块;写入操作控制器,被配置为控制存储器装置以执行存储清除数据块的第一编程操作,并且执行存储与在清除请求之后输入的写入请求对应的数据的第二编程操作,而不管是否已经向主机提供对清除命令的响应;以及清除响应控制器,被配置为当第一编程操作完成时,根据是否已向主机提供在清除命令之前输入的对清除命令的响应,向主机提供对清除命令的响应。
Description
相关申请的交叉引用
本申请要求于2018年12月12日提交的申请号为10-2018-0160246的韩国专利申请的优先权,其全部内容通过引用并入本文用于所有目的。
技术领域
本公开的各个实施例总体涉及一种电子装置,更具体地,涉及一种存储装置和操作该存储装置的方法。
背景技术
存储装置是可以将数据存储在存储介质中的装置。诸如个人计算机或智能电话的计算装置可以使用此类存储装置来保留数据文件。存储装置可以包括存储数据的存储器装置和控制存储器装置以在存储器装置中存储数据和从存储器装置检索数据的存储器控制器。此类存储器装置分为易失性存储器装置和非易失性存储器装置。
易失性存储器装置仅在供应电力时能保留数据,而在供电中断时丢失数据。易失性存储器装置的示例包括静态随机存取存储器(SRAM)和动态随机存取存储器(DRAM)。
非易失性存储器装置即使在供电中断时也可以保留数据。非易失性存储器装置的示例包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)以及闪速存储器。
发明内容
本公开的各个实施例涉及具有改进的写入性能的存储装置和操作该存储装置的方法。
本公开的实施例可以提供一种用于控制多个存储器装置的存储器控制器。存储器控制器可以包括:命令处理器,被配置为响应于来自主机的清除请求而生成清除命令,并且响应于清除命令确定存储在缓冲器的多条写入数据之中待被存储的清除数据块;写入操作控制器,被配置为控制多个存储器装置以执行存储清除数据块的第一编程操作,并且执行存储与清除请求之后输入的写入请求对应的数据的第二编程操作,而不管是否已经向主机提供对清除命令的响应;以及清除响应控制器,被配置为当第一编程操作完成时,根据是否已向主机提供在清除命令之前输入的对清除命令的响应,向主机提供对清除命令的响应。
本公开的实施例可以提供一种操作用于控制多个存储器装置的存储器控制器的方法。该方法可以包括:响应于来自主机的清除请求而生成清除命令,并且响应于清除命令确定存储在缓冲器的多条写入数据之中待被存储的清除数据块;控制多个存储器装置以执行存储清除数据块的第一编程操作;并且当第一编程操作完成时,根据是否已向主机提供在清除命令之前输入的对清除命令的响应,向主机提供对清除命令的响应。
附图说明
图1是示出基于本公开的实施例的存储装置的示例的示图。
图2是示出图1的存储器控制器和多个存储器装置的示例配置的示图。
图3是示出基于本公开的实施例的存储器控制器的示例配置的示图。
图4是示出图3的命令信息存储装置的示例的示图。
图5是示出图3的清除信息存储装置的示例的示图。
图6A和图6B是解释基于本公开的实施例的执行以使用交织方案存储清除数据块的多个存储器装置的编程操作的示图。
图7是示出基于本公开的实施例的存储器控制器的示例操作的流程图。
图8是示出图1的存储器控制器的示例配置的示图。
图9是示出包括基于本公开的实施例实施的存储装置的存储卡系统的框图。
图10是示出包括基于本公开的实施例实施的存储装置的固态驱动器(SSD)系统的框图。
图11是示出包括基于本公开的实施例实施的存储装置的用户系统的框图。
具体实施方式
可以在实施例中实施该专利文献中公开的技术,以提供被配置为控制存储器装置的存储器控制器。
将省略对本领域技术人员公知的功能和结构的详细描述,以避免模糊本公开的主题。这旨在省略不必要的描述,以使本公开的主题清楚。
现在将在下文中参照附图更全面地描述本公开的各个实施例,其中示出了本公开的优选实施例,使得本领域普通技术人员可以容易地实现本公开的技术构思。
图1是示出基于本公开的实施例的存储装置的示例的示图。
参照图1,存储装置50可以包括存储器装置100和存储器控制器200。存储装置50可在主机300的控制下存储数据,主机300诸如移动电话、智能电话、MP3播放器、膝上型计算机、台式计算机、游戏机、电视(TV)、平板电脑(PC)或者车载信息娱乐系统。
存储装置50可以根据主机接口被制造为各种类型的存储装置中的任意一种,主机接口是主机300与其外围装置之间的通信接口。存储装置50可以被实施为例如以下的各种类型的存储装置中的任意一种:固态驱动器(SSD),诸如MMC、嵌入式MMC(eMMC)、小尺寸MMC(RS-MMC)或微型MMC的多媒体卡,诸如SD、迷你SD或微型SD的安全数字卡,通用存储总线存储装置,通用闪存(UFS)装置,个人计算机存储卡国际协会(PCMCIA)卡型存储装置,外围组件互连(PCI)卡型存储装置,高速PCI(PCI-E)卡型存储装置,紧凑型闪存(CF)卡,智能媒体卡以及记忆棒。
存储装置50可以被制造为各种种类的封装类型中的任意一种诸如,堆叠封装(POP)、系统级封装(SIP)、片上系统(SOC)、多芯片封装(MCP)、板上芯片(COB)、晶圆级制造封装(WFP)和晶圆级堆叠封装(WSP)。
存储器装置100可以是存储待被处理的数据和/或待被执行的指令的存储空间,并且存储器控制器200可以包括读取和写入存储器装置100所需的逻辑。存储器装置100可以包括存储器单元阵列,该存储器单元阵列包括其中存储数据的多个存储器单元。
存储器单元中的每一个可以被实施为能够存储单个数据位的单层单元(SLC)、能够存储两个数据位的多层单元(MLC)、能够存储三个数据位的三层单元(TLC),或者能够存储四个数据位的四层单元(QLC)。
存储器单元阵列可包括多个存储块。每个存储块可包括多个存储器单元。单个存储块可以包括多个页面。在本公开的实施例中,基于页面执行读取和编程(写入)操作,基于块执行擦除操作,并且基于存储块执行擦除操作。在实施例中,存储器装置100可以采用许多替代形式,诸如双倍数据速率同步动态随机存取存储器(DDR SDRAM)、低功率双倍数据速率第四代(LPDDR4)SDRAM、图形双倍数据速率(GDDR)SDRAM、低功耗DDR(LPDDR)SDRAM、Rambus动态随机存取存储器(RDRAM)、NAND闪速存储器、垂直NAND闪速存储器、NOR闪速存储器装置、电阻式RAM(RRAM)、相变存储器(PRAM)、磁阻RAM(MRAM)、铁电RAM(FRAM)或自旋转移力矩RAM(STT-RAM)。在本公开的一些实施例中,存储器装置100可以是NAND闪速存储器。
存储器装置100可以允许存储器控制器200基于由存储器控制器200生成的接收命令和地址信号来访问存储器单元阵列的区域。存储器装置100可对由地址选择的区域执行与命令对应的操作。例如,存储器装置100可以执行写入操作(即,编程操作)、读取操作和擦除操作。在编程操作期间,存储器装置100可以将数据写入由地址选择的区域。在读取操作期间,存储器装置100可以从由地址选择的区域读取数据。在擦除操作期间,存储器装置100可以擦除存储在由地址选择的区域中的数据。
存储器控制器200控制存储装置50的全部操作。
当向存储装置50供应电力时,存储器控制器200可运行固件(FW)。当存储器装置100是闪速存储器装置时,存储器控制器200可以运行用于控制主机300和存储器装置100之间的通信的固件。在存储器装置100包括闪速存储器装置(例如,SSD、USB闪存驱动器、SD/MMC卡和eMMC芯片)的实施方案中,闪存转换层(FTL)可以位于存储器控制器200中以实施例如逻辑到物理映射、垃圾收集、损耗均衡管理和坏块管理。作为示例,FTL可以提供主机接口层和闪存接口层之间的接口。
在实施例中,在从主机300接收到逻辑块地址(LBA)时,存储器控制器200可以将逻辑块地址转换为物理块地址(PBA),将数据写入或从中读取数据的实际存储器单元位于存储器装置100中的该物理块地址(PBA)。
存储器控制器200可以控制存储器装置100,使得可以基于从主机300接收的请求来执行诸如编程、读取、擦除的各种操作。在编程操作期间,存储器控制器200可以向存储器装置100提供编程命令、物理块地址和数据。在读取操作期间,存储器控制器200可以向存储器装置100提供读取命令和物理块地址。在擦除操作期间,存储器控制器200可以向存储器装置100提供擦除命令和物理块地址。
在实施例中,存储器控制器200可以自主地生成编程命令、地址和数据,而不管来自主机300的请求,并且可以将它们发送到存储器装置100。例如,存储器控制器200可以向存储器装置100提供命令、地址和数据,以执行后台操作,诸如用于耗损均衡的编程操作和用于垃圾收集的编程操作。
在实施例中,存储器控制器200可以控制一个以上的存储器装置100。在该情况下,存储器控制器200可以利用交织方案来控制存储器装置100以改善操作性能。交织方案可以通过在给定时间帧执行多于一个操作来改善系统性能。例如,交织方案可以通过将与存储器装置相关联的队列的一部分和与另一存储器装置相关联的另一队列的一部分交织来同时对两个或更多个存储器装置100执行操作。
在实施例中,存储器控制器200可以包括命令处理器210、写入操作控制器220和清除响应控制器230。
命令处理器210可以包括任意类型的逻辑电路,其可以生成命令信号以对存储器装置100执行各种操作命令。例如,在从用户或主机发出命令时,命令处理器210可以向存储器装置100生成命令信号,并且进而存储器装置100执行诸如写入/读取/擦除的请求的操作。对于“写入”操作,命令处理器210可以利用缓冲器临时存储将待被写入到存储器装置100的数据(“写入数据”)。例如,在接收到写入请求和待被写入的数据时,命令处理器210可以首先将数据存储在缓冲器(未示出)中。存储写入数据所需的缓冲器的大小可以根据与写入请求相关联的数据的大小而变化。缓冲器可以包括用作临时数据存储的任意类型的存储器。在实施方案中,缓冲器可以包括在存储装置中实施的高速缓存存储器。在另一实施方案中,缓冲器可以包括在存储器控制器200和/或存储器装置100中实施的任意类型的缓冲器电路。
命令处理器210可以响应于来自主机300的清除请求而生成清除命令。在一些实施方案中,清除请求可以包括用于清除“脏”缓冲器的任意类型的指令,使得相应的缓冲器对于下一次写入或读取操作能够变得可用。例如,响应于清除命令,存储器控制器200可以使写入数据从非持久存储装置(例如,缓冲器)被提供到持久存储区域(例如,存储器装置100)。在一些实施方案中,用户或主机可以决定何时将数据从缓冲器清除或移动到存储器装置100。在一些其他实施方案中,存储器控制器200中的固件可以决定何时将数据从缓冲器清除或移动到存储器装置100。命令处理器210可以将所生成的清除命令提供给写入操作控制器220和清除响应控制器230。在一些实施方案中,清除请求可以使存储在缓冲器中的对应于在清除请求之前输入的写入请求的数据存储在存储器装置100中。
命令处理器210可以基于清除命令确定待被写入存储器装置100的清除数据块。基于清除命令,存储在缓冲器中的写入数据被写入存储器装置100。在实施方案中,命令处理器210可以将存储在缓冲器中的写入数据划分为具有预设大小的清除数据块。
写入操作控制器220可以控制多个存储器装置100将清除数据块写入存储器装置100。然而,在接收到在清除请求之后发出的写入请求时,写入操作控制器220可以控制存储器装置100写入与写入请求对应的数据,而不管是否已经向主机提供了对清除命令的响应。
在实施例中,写入操作控制器220可以控制多个存储器装置100,使得存储器装置100使用交织方案将清除数据块和与在清除请求之后输入的写入请求对应的数据写入存储器装置100。在本公开的实施例中,写入操作控制器220可以顺序地将清除数据块分配到多个存储器装置100。在已经将清除数据块分配到多个存储器装置100之后,写入操作控制器220可以将对应于在清除请求之后输入的写入请求的数据分配到多个存储器装置100。每个存储器装置100可以执行编程操作以将清除数据块写入所分配的存储器装置100。
在完成对清除数据块的所有编程操作时,写入操作控制器220可以生成操作完成信号以指示已经执行清除命令。在实施例中,每当从主机输入新的清除请求时,写入操作控制器220可以确定是否所有编程操作都已完成。在另一实施例中,写入操作控制器220可以在接收到每个清除请求时检查以查看是否已经完成了对清除数据块的所有编程操作。例如,写入操作控制器220可以在接收到每个清除请求时检查以查看是否已经完成了对清除数据块的所有先前排队的编程操作。在实施例中,写入操作控制器220可以确定是否已经以预设间隔完成了所有编程操作。写入操作控制器220可以将所生成的操作完成信号提供给清除响应控制器230。
当完成与从命令处理器210接收的清除命令对应的操作时,清除响应控制器230可以向已经发出清除命令的主机300提供响应。在另一实施方案中,响应可以指示响应于主机300已经发出的清除命令已经执行了清除命令。清除响应控制器230可以基于写入操作控制器220提供的操作完成信号确定对应于所接收的清除命令的操作是否已经完成。
在实施例中,可以根据是否已经向主机提供了与在当前接收的清除命令之前发出的在先清除命令相关联的响应来确定清除响应控制器230是否向主机提供响应。例如,如果已经向主机提供了与在当前接收的清除命令之前发出的在先清除命令相关联的响应,则清除响应控制器230可以向主机提供响应,并且如果尚未向主机提供与在当前接收的清除命令之前发出的在先清除命令相关联的响应,则清除响应控制器230可以不向主机提供响应。
主机300可以使用诸如通用串行总线(USB)、串行AT附件(SATA)、串列SCSI(SAS)、高速芯片间(HSIC)、小型计算机系统接口(SCSI)、外围组件互连(PCI)、高速PCI(PCIe)、高速非易失性存储器(NVMe)、通用闪存(UFS)、安全数字(SD)、多媒体卡(MMC)、嵌入式MMC(eMMC)、双列直插式存储器模块(DIMM)、寄存式DIMM(RDIMM)和低负载DIMM(LRDIMM)通信方法的各种通信方法中的至少一种与存储装置50通信。
图2是示出图1的存储器控制器和多个存储器装置的示例配置的示图。
参照图2,存储器控制器200可以通过第一通道CH1和第二通道CH2联接到多个存储器装置(例如,存储器装置_11至存储器装置_24)。通道数量或联接到每个通道的存储器装置的数量不限于图中所示的数量。
标记有Die_11的存储器装置、标记有Die_12的存储器装置、标记有Die_13的存储器装置和标记有Die_14的存储器装置可以共同联接到第一通道CH1。存储器装置Die_11、存储器装置Die_12、存储器装置Die_13和存储器装置Die_14可以通过第一通道CH1与存储器控制器200通信。
由于存储器装置Die_11、存储器装置Die_12、存储器装置Die_13和存储器装置Die_14可以共同联接到第一通道CH1,因此一次只有一个存储器装置可以与存储器控制器200通信。然而,存储器装置Die_11、存储器装置Die_12、存储器装置Die_13和存储器装置Die_14可以同时执行它们自己的内部操作。
标记有Die_21的存储器装置、标记有Die_22的存储器装置、标记有Die_23的存储器装置和标记有Die_24的存储器装置可以共同联接到第二通道CH2。存储器装置Die_21、存储器装置Die_22、存储器装置Die_23和存储器装置Die_24可以通过第二通道CH2与存储器控制器200通信。
由于存储器装置Die_21、存储器装置Die_22、存储器装置Die_23和存储器装置Die_24可以共同联接到第二通道CH2,因此一次只有一个存储器装置可以与存储器控制器200通信。然而,存储器装置Die_21、存储器装置Die_22、存储器装置Die_23和存储器装置Die_24可以同时执行它们自己的内部操作。
包括多个存储器装置的存储装置可以使用诸如通过通信通道以交织方式传送数据的数据通信技术的交织技术来提高性能。例如,假设存储器装置中的每个存储器装置或每个存储器阵列具有其自己的数据传输路径(例如,“通路”),并且多个数据传输路径共享公共通信通道(例如,“通道”)。在该情况下,可以实施数据交织以执行数据读取或写入操作,使得当多个数据传输路径同时与相应的存储器装置通信时,通信通道一次与多个数据传输路径中的一个通信。为了使联接到每个通道的存储器装置的并行性最大化,存储器控制器200可以将连续的逻辑存储器区域分布和分配到多个通道和通路。
例如,存储器控制器200可以通过第一通道CH1将控制信号(例如,命令和地址)和数据传送到存储器装置Die_11。在对存储器装置Die_11执行编程操作时,存储器控制器200可以将控制信号(例如,命令和地址)和数据传送到存储器装置Die_12。
在图2中,多个存储器装置可以分为四个通路WAY1至WAY4。第一通路WAY1可以包括存储器装置Die_11和存储器装置Die_21。第二通路WAY2可以包括存储器装置Die_12和存储器装置Die_22。第三通路WAY3可以包括存储器装置Die_13和存储器装置Die_23。第四通路WAY4可以包括存储器装置Die_14和存储器装置Die_24。
通道CH1和CH2中的每一个可以包括用于信号传输的总线,其通过被联接到相应通道的存储器装置被共享和使用。
尽管在图2中示出了2通道/4通路结构中的数据交织,但是通道的数量和通路的数量可以根据各种实施方案而变化。
图3是示出基于本公开的实施例的存储器控制器的示例配置的示图。
参照图3,存储器控制器200可以包括命令处理器210、写入操作控制器220、清除响应控制器230和缓冲器240。
在实施例中,命令处理器210可以包括命令信息存储装置211。
命令处理器210可以基于从主机300接收的请求生成写入命令。命令处理器210可以将所生成的写入命令顺序地存储在命令信息存储装置211中。命令处理器210还可以基于从主机300接收的请求生成清除命令。命令处理器210可以将生成的清除命令Flush CMD提供给写入操作控制器220和清除响应控制器230。
命令处理器210可以基于从主机300接收的清除请求生成清除命令Flush CMD。命令处理器210可以将所生成的清除命令Flush CMD顺序地存储在命令信息存储装置211中。在发出该清除命令Flush CMD时,存储在缓冲器240中的写入数据被写入存储器装置100。写入数据可以是在存储在命令信息存储装置211中的命令之中、与在清除命令Flush CMD之前存储的写入命令对应的数据。
命令处理器210可以响应于清除命令Flush CMD确定待被存储的清除数据块。在实施方案中,命令处理器210可以将响应于清除命令Flush CMD而存储的写入数据划分为具有预设大小的清除数据块。
在实施例中,写入操作控制器220可以与如上参照图2所述共同联接到多个存储器装置Die_11至Die_14的第一通道CH1联接。联接到写入操作控制器220的通道的数量或联接到每个通道的存储器装置的数量不限于图中所示的数量。
当从命令处理器210接收到清除命令Flush CMD时,写入操作控制器220可以将与清除命令Flush CMD对应的清除数据块写入存储器装置100。
在实施方案中,写入操作控制器220可以控制多个存储器装置100以将清除数据块写入存储器装置100。然而,在接收到在清除请求之后发出的写入请求时,写入操作控制器220可以使用如上参照图2所述的数据交织方案来控制存储器装置100以写入清除数据块。
例如,写入操作控制器220可以顺序地将清除数据块分配到第一至第四存储器装置Die_11至Die_14。每个存储器装置可以执行编程操作以将清除数据块写入所分配的存储器装置100。
在本公开的实施例中,写入操作控制器220可以包括分别对应于通过通道共同联接到写入操作控制器220的存储器装置的管芯映射221。每个管芯映射221可以包括状态信息,该状态信息指示用于将清除数据块写入对应的存储器装置100的编程操作是否已经完成。例如,写入操作控制器220可以包括分别对应于通过第一通道CH1共同联接到写入操作控制器220的第一至第四存储器装置Die_11至Die_14的管芯映射221。
写入操作控制器220可以基于相应的清除命令Flush CMD确定是否已经完成了用于将清除数据块写入相应的存储器装置100的所有编程操作。在该情况下,写入操作控制器220可以基于管芯映射221确定对于每个清除命令Flush CMD是否已经完成了对清除数据块的编程操作。
当已经完成对清除数据的所有编程操作时,写入操作控制器220可以生成用于相应的清除命令Flush CMD的操作完成信号(或完成信号)。写入操作控制器220可以将所生成的操作完成信号提供给清除响应控制器230。
在实施例中,清除响应控制器230可以包括清除信息存储装置231。清除响应控制器230可以将信息存储在清除信息存储装置231中。在实施方案中,信息包括查找表,该查找表列出了从命令处理器210接收的清除命令Flush CMD以及与清除命令Flush CMD对应的编程操作的状态。
在本公开的实施例中,清除响应控制器230可以顺序地将从命令处理器210接收的清除命令Flush CMD存储到清除信息存储装置231。清除信息存储装置231可以存储清除信息,该清除信息指示对应于顺序地存储在清除信息存储装置231中的每个清除命令FlushCMD的操作是否已经完成。清除信息中包括的每个清除命令Flush CMD的状态可以指示对应于每个清除命令Flush CMD的操作是否已经完成。例如,清除命令Flush CMD的状态可以是指示对应于每个清除命令Flush CMD的操作已经完成的操作完成,或者是指示对应于每个清除命令Flush CMD的操作仍然未完成的操作未完成。
当接收到由写入操作控制器220提供的清除命令Flush CMD的操作完成信号时,清除响应控制器230可以将相应的清除命令Flush CMD的状态从操作未完成改变为操作完成。
当清除命令Flush CMD的状态是操作完成时,清除响应控制器230可以向主机300提供对清除命令Flush CMD的响应(例如,Flush CMD Response)。在本公开的实施例中,清除响应控制器230仅在完成对应于相应的清除命令Flush CMD的操作时发送响应。例如,当在当前发出的清除命令Flush CMD之前已经发出并存储在清除信息存储装置231中的清除命令Flush CMD中的至少一个的状态是操作未完成状态时,清除响应控制器230不将响应(例如,Flush CMD Response)发送到主机300。
在将响应发送到主机300之后,清除响应控制器230可以从清除信息存储装置231中删除相应的清除命令Flush CMD。
缓冲器240可以存储与来自主机300的写入请求对应的写入数据。此处,写入数据可以是与基于写入请求生成的写入命令/地址一起接收的数据。写入数据被写入相应的存储器装置,并且写入数据的大小可以变化。
存储在缓冲器240中的写入数据可以是响应于清除命令Flush CMD而具有预设大小的清除数据块。可以在写入操作控制器220的控制下将清除数据块顺序地分配到并存储在多个存储器装置100中。
图4是示出图3的命令信息存储装置的示例的示图。
参照图4,命令信息存储装置可以存储命令信息,该命令信息包括:(1)基于从主机接收的请求生成的命令,以及(2)在命令涉及编程操作的情况下待被存储的数据。
可以响应于从主机接收的写入请求生成写入命令Write CMD。写入数据可以与写入命令Write CMD一起提供。
可以响应于从主机接收的清除请求生成清除命令Flush CMD。基于清除命令FlushCMD,对应于在清除命令Flush CMD之前生成的写入命令Write CMD的写入数据被写入相应的存储器装置。
在本公开的实施例中,其中命令信息存储装置包括两个清除命令和它们之间的写入请求,基于稍后生成的清除命令Flush CMD,对应于稍后生成的清除命令Flush CMD之前生成的写入命令Write CMD的写入数据被写入相应的存储器装置。此处,写入命令WriteCMD是在两个清除命令中先前生成的清除命令Flush CMD之后生成的写入命令。
基于清除命令Flush CMD,可以将清除数据块写入存储器装置。清除数据块可以是响应于清除命令Flush CMD而被写入存储器装置的数据块。响应于清除命令Flush CMD而待被写入存储器装置的写入数据可以被划分为具有预设大小的清除数据块。预设大小可以是可以通过单个编程操作被编程到存储器装置的数据的大小。例如,由于编程操作是基于页面执行的,因此预设大小可以是存储在单个页面中的数据的大小。
例如,从主机接收写入请求。该请求被称为第一写入请求(Write Request 1)。可以基于第一写入请求(Write Request1)生成第一写入命令(Write CMD 1)。对应于第一写入命令(Write CMD 1)的第一写入数据(Write Data 1)可以存储在缓冲器中,如上参照图3所述。
随后,从主机接收另一写入请求。该请求被称为第二写入请求(Write Request2)。可以基于第二写入请求(Write Request 2)生成第二写入命令(Write CMD 2)。对应于第二写入命令(Write CMD 2)的第二写入数据(Write Data 2)可以存储在缓冲器中。
随后,从主机接收清除请求。该请求被称为第一清除请求(Flush Request 1)。可以基于第一清除请求(Flush Request 1)生成第一清除命令(Flush CMD 1)。基于第一清除命令(Flush CMD 1),在第一清除(Flush CMD 1)命令之前生成的分别对应于第一写入命令和第二写入命令(Write CMD 1和Write CMD 2)的第一写入数据和第二写入数据(WriteData 1和Write Data 2)可以被写入相应的存储器装置,如上参照图1所述。
在图4中,假设第一写入数据(Write Data 1)的大小是12KB并且第二写入数据(Write Data 2)的大小是36KB,则响应于第一清除命令(Flush CMD 1)而被存储的写入数据(Write Data 1和Write Data 2)的总大小可以是48KB。第一写入数据和第二写入数据(Write Data 1和Write Data 2)可以被划分为具有预设大小的清除数据块。假设存储在单个页面中的数据大小为8KB,则预设大小可以是8KB。因此,响应于第一清除命令(Flush CMD1)而待被存储的写入数据(Write Data1和Write Data 2)可以被划分为第一至第六清除数据块(即,清除数据块1至清除数据块6)。
随后,从主机接收另一写入请求。该请求被称为第三写入请求(Write Request3)。可以基于第三写入请求(Write Request 3)生成第三写入命令(Write CMD 3)。对应于第三写入命令(Write CMD 3)的第三写入数据(Write Data 3)可以存储在缓冲器中。
随后,从主机接收另一清除请求。该请求被称为第二清除请求(Flush Request2)。可以基于第二清除请求(Flush Request 2)生成第二清除命令(Flush CMD 2)。在两个清除命令(Flush CMD 1和Flush CMD 2)中,第二清除命令(Flush CMD 2)可以使对应于第三写入命令(Write CMD 3)的第三写入数据(Write Data 3)被写入存储器装置。第三写入命令(Write CMD 3)可以是在第二清除命令(Flush CMD 2)之前生成并且在第一清除命令(Flush CMD 1)之后生成的命令。
在图4中,假设第三写入数据(Write Data 3)的大小是16KB,则响应于第二次清除命令(Flush CMD 2)而被存储的第三写入数据(Write Data 3)的大小可以是16KB。因此,响应于第二清除命令(Flush CMD 2)而被存储的第三写入数据(Write Data 3)可以被划分为第一和第二清除数据块(即,Flush Data Chunk 1和2)。
在图4中,写入数据的大小和清除数据块的预设大小不受图中所示的限制。
在一些实施方案中,对应于在清除请求之后发出的写入请求的数据不被写入存储器装置,直到对基于清除请求生成的清除命令的响应被提供给主机。
例如,在向主机提供对第一清除命令(Flush CMD 1)的响应之前,不执行将对应于第三写入请求(Write Request 3)的第三写入数据(Write Data 3)写入到存储器装置的编程操作。此处,第三写入请求(Write Request 3)可以是在第一清除请求(Flush Request1)之后由主机发出的请求。
在该情况下,仅在向主机提供对第一清除命令(Flush CMD 1)的响应之后,可以执行将对应于第三写入请求(Write Request 3)的第三写入数据(Write Data 3)写入到存储器装置的编程操作。
然而,在本公开的实施例中,即使在向主机提供对清除命令的响应之前,也可以执行将对应于在来自主机的清除请求之后发出的写入请求的数据写入存储器装置的编程操作。对应于写入请求的数据可以被写入存储器装置,而不管是否已经向主机提供了对应于从主机接收的清除请求的清除命令的响应。
例如,无论是否已经向主机提供对第一清除命令(Flush CMD 1)的响应,将对应于第三写入请求(Write Request 3)的第三写入数据(Write Data 3)写入存储器装置的编程操作被执行。这样,即使尚未向主机提供对清除命令的响应,交织方案仍然可以工作。
因此,编程操作可以以交织方式将第一写入数据和第二写入数据(Write Data 1和Write Data 2)和第三写入数据(Write Data 3)写入存储器装置。此处,第一写入数据和第二写入数据(Write Data 1和Write Data 2)可以是响应于第一清除命令(Flush CMD 1)而存储的多条数据,并且第三写入数据(Write Data 3)可以是对应于第三写入请求(WriteRequest 3)的数据。
图5是示出图3的清除信息存储装置的示例的示图。
参照图5,清除信息存储装置可以保留清除信息,该清除信息指示对应于每个清除命令(Flush CMD)的操作是否已经完成。在实施方案中,清除信息可以顺序地存储在清除信息存储装置中。
清除信息中包括的每个清除命令的状态的默认值是“未完成”,这表示操作仍然未完成。当与对应于清除命令(Flush CMD)的清除数据块相关联的所有编程操作已完成时,清除命令(Flush CMD)的状态可以从“未完成”变为“完成”,这表示操作现在已完成。
当清除命令(Flush CMD)的状态指示操作完成时,可以向主机提供对Flush CMD的响应。然而,当在清除命令(Flush CMD)之前存储在清除信息存储装置中的清除命令的状态指示操作仍然未完成时,不能向主机提供对相应清除命令(Flush CMD)的响应。
在图5中,第一清除命令(Flush CMD 1)的状态可以是操作未完成状态。第二清除命令(Flush CMD 2)的状态可以是操作完成状态。第一清除命令(Flush CMD 1)可以是在第二清除命令(Flush CMD 2)之前存储在清除信息存储装置中的命令。
第二清除命令(Flush CMD 2)的状态是操作完成状态,但是第一清除命令(FlushCMD 1)的状态是操作未完成状态,因此可以不向主机提供对第二清除命令(Flush CMD 2)的响应,如上参照图1所述。当第一清除命令(Flush CMD 1)的状态被改变为操作完成状态时,可以向主机提供对第二清除命令(Flush CMD 2)的响应。
图6A和图6B是解释基于本公开的实施例的执行以使用交织方案存储清除数据块的多个存储器装置的编程操作的示图。
参照图6A,写入操作控制器220可以与共同联接到第一至第四存储器装置Die_11至Die_14的第一通道CH1联接,如上参照图2所述。联接到写入操作控制器220的通道的数量或联接到每个通道的存储器装置的数量不限于图中所示的数量。
写入操作控制器220可以控制第一至第四存储器装置Die_11至Die_14以交织方式对清除数据块进行编程,如上参照图2所述。也就是说,写入操作控制器220可以顺序地将待被编程的清除数据块分配到多个存储器装置Die_11至Die_14。
第一至第四存储器装置Die_11至Die_14中的每一个可以单独地执行编程操作以将清除数据块写入相应的存储器装置。因此,完成清除数据块的编程操作的时间点可以根据不同的存储器装置而改变。
在图6A和图6B中,写入操作控制器220可以将对应于第一清除命令(Flush CMD 1)的第一至第四清除数据块(Flush Data Chunk 1至Flush Data Chunk 4)分别顺序地分配到第一到第四存储器装置Die_11至Die_14,使得第一至第四清除数据块被写入第一至第四存储器装置Die_11至Die_14。
此后,写入操作控制器220可以将对应于第一清除命令(Flush CMD 1)的第五和第六清除数据块(Flush Data Chunk 5和Flush Data Chunk 6)分别顺序地分配到第一和第二存储器装置Die_11和Die_12,使得第五和第六清除数据块被写入第一和第二存储器装置Die_11和Die_12。
此后,写入操作控制器220可以将对应于第二清除命令(Flush CMD 2)的第一和第二清除数据块(Flush Data Chunk 1和Flush Data Chunk 2)分别顺序地分配到第三和第四存储器装置Die_13和Die_14,使得第一和第二清除数据块被写入第三和第四存储器装置Die_13和Die_14。
当至少两个清除数据块被分配到单个存储器装置时,单个存储器装置可以按照其分配顺序对清除数据块执行编程操作。
图6B示出了分别对应于第一至第四存储器装置Die_11至Die_14的管芯映射。每个管芯映射可以包括状态信息,该状态信息指示分配到相应存储器装置的清除数据块的编程是否已经完成。
在图6B中,可以看出,参考对应于第一存储器装置Die_11的管芯映射,对应于第一清除命令(Flush CMD 1)的第一和第五清除数据块1和5(Flush Data Chunk 1和FlushData Chunk 5)被分配到第一存储器装置Die_11,使得第一和第五清除数据块被写入第一存储器装置Die_11。此处,对第一清除数据块(Flush Data Chunk 1)的编程操作完成,因此第一清除数据块(Flush Data Chunk 1)已被写入第一存储器装置Die_11。对第五清除数据块(Flush Data Chunk 5)的编程操作仍然未完成,因此第五清除数据块尚未被写入第一存储器装置Die_11。
参考对应于第二存储器装置Die_12的管芯映射,可以看出,对应于第一清除命令(Flush CMD 1)的第二和第六清除数据块(Flush Data Chunk 2和Flush Data Chunk 6)被分配到第二存储器装置Die_12,使得第二和第六清除数据块被写入第二存储器装置Die_12。此处,对第二清除数据块(Flush Data Chunk 2)的编程操作完成,因此第二清除数据块(Flush Data Chunk 2)已被写入第二存储器装置Die_12。对第六清除数据块(Flush DataChunk 6)的编程操作仍然未完成,因此第六清除数据块尚未被写入第二存储器装置Die_12。
参考对应于第三存储器装置Die_13的管芯映射,可以看出,对应于第一清除命令(Flush CMD 1)的第三清除数据块(Flush Data Chunk3)被分配到第三存储器装置Die_13,使得第三清除数据块被写入第三存储器装置Die_13。此后,可以看出,对应于第二清除命令(Flush CMD 2)的第一清除数据块(Flush Data Chunk 1)被分配以进行编程。此处,对第三清除数据块(Flush Data Chunk 3)的编程操作完成,因此第三清除数据块已被写入第三存储器装置Die_13。对第一清除数据块(Flush Data Chunk 1)的编程操作完成,因此第一清除数据块已被写入第三存储器装置Die_13。
参考对应于第四存储器装置Die_14的管芯映射,可以看出,对应于第一清除命令(Flush CMD 1)的第四清除数据块(Flush Data Chunk4)被分配到第四存储器装置Die_14,使得第四清除数据块被写入第四存储器装置Die_14。此后,可以看出,对应于第二清除命令(Flush CMD 2)的第二清除数据块(Flush Data Chunk 2)被分配以进行编程。此处,对第四清除数据块(Flush Data Chunk 4)的编程操作完成,因此第四清除数据块已被写入第四存储器装置Die_14。对第二清除数据块(Flush Data Chunk 2)的编程操作完成,因此第二清除数据块已被写入第四存储器装置Die_14。
由此,现在完成了对与第一清除命令(Flush CMD 1)对应的清除数据块之中的第一到第四清除数据块(Flush Data Chunk 1至Flush Data Chunk 4)的编程操作。在对应于第一清除命令(Flush CMD 1)的清除数据块中,对第五和第六清除数据块(Flush DataChunk 5和Flush Data Chunk 6)的编程操作仍然未完成。
因此,由于对与第一清除命令(Flush CMD 1)对应的一些清除数据块的编程操作仍然未完成,因此第一清除命令(Flush CMD 1)的操作仍然未完成。
相反,对与第二清除命令(Flush CMD 2)对应的所有清除数据块(Flush DataChunk 1和Flush Data Chunk 2)的编程操作完成。
因此,由于对应于第二清除命令(Flush CMD 2)的所有清除数据块已被写入相应的存储器装置,因此可以说,对第二清除命令(Flush CMD 2)的操作完成。
图7是示出基于本公开的实施例的存储器控制器的示例操作的流程图。
参照图7,在步骤S701,存储器控制器可以从主机接收清除请求。
在步骤S703,存储器控制器可以响应于所接收的清除请求生成清除命令。
在步骤S705,存储器控制器可以将对应于清除命令的清除数据块编程到存储器装置。详细地,存储器控制器可以控制存储器装置,使得存储器装置执行编程操作以使用交织方案将清除数据块写入存储器装置。
在步骤S707,当已经完成所有清除数据块的编程时,存储器控制器可以确定是否已经向主机提供了对在所接收的清除命令之前输入的清除命令的响应。当确定已经向主机提供对早前输入的清除命令的响应时,进程进行到步骤S709,否则进程终止。
在实施例中,每当从主机输入新的清除请求时,存储器控制器可以确定是否已经向主机提供了对在新的清除请求之前输入的清除命令的响应。在其它实施例中,存储器控制器可以以预设时段的间隔确定是否已经向主机提供对早前输入的清除命令的响应。
在步骤S709,存储器控制器可以向主机提供对所接收的清除命令的响应。在实施例中,存储器控制器可以存储所接收的清除命令。存储器控制器可以从清除信息存储装置中删除已经对其提供了响应的清除命令。
图8是示出图1的存储器控制器的示例配置的示图。
参照图8,存储器控制器1000联接到主机和存储器装置。响应于从主机接收的请求,存储器控制器1000可以访问存储器装置。例如,存储器控制器1000可以被配置为控制存储器装置的写入操作、读取操作、擦除操作和后台操作。存储器控制器1000可以提供存储器装置和主机之间的接口。存储器控制器1000可以运行用于控制存储器装置的固件。
存储器控制器1000可包括处理器1010、存储器缓冲器1020、错误校正码(ECC)电路1030、主机接口1040、缓冲器控制电路1050、存储器接口1060和总线1070。
总线1070可以在存储器控制器1000的组件之间提供通道。
处理器1010可以控制存储器控制器1000的全部操作,并且可以执行逻辑操作。处理器1010可以通过主机接口1040与外部主机通信,并且还通过存储器接口1060与存储器装置通信。进一步,处理器1010可以通过缓冲器控制电路1050与存储器缓冲器1020通信。处理器1010可以通过使用存储器缓冲器1020作为工作存储器、高速缓存存储器或缓冲存储器来控制存储装置的操作。
处理器1010可以执行闪存转换层(FTL)的功能。处理器1010可以通过FTL将由主机提供的逻辑块地址(LBA)转换为物理块地址(PBA)。FTL可以使用映射表接收LBA并将LBA转换为PBA。根据映射单位,通过FTL执行的地址映射方法的示例可以包括各种方法。代表性地址映射方法包括页面映射方法、块映射方法和混合映射方法。
处理器1010可以对从主机接收的数据进行随机化。例如,处理器1010可以使用随机化种子来对从主机接收的数据进行随机化。随机化的数据可以作为待被存储的数据而提供给存储器装置,并且可以被编程在存储器单元阵列中。
处理器1010可以在读取操作期间对从存储器装置接收的数据去随机化。例如,处理器1010可以使用去随机化种子对从存储器装置接收的数据进行去随机化。去随机化的数据可被输出至主机。
在实施例中,处理器1010可以运行软件或固件以执行随机化和去随机化操作。
存储器缓冲器1020可以用作处理器1010的工作存储器、高速缓存存储器或缓冲存储器。存储器缓冲器1020可以存储由处理器1010执行的代码和命令。存储器缓冲器1020可以存储由处理器1010处理的数据。存储器缓冲器1020可包括静态RAM(SRAM)或动态RAM(DRAM)。
ECC电路1030可以执行错误校正。ECC电路1030可以基于待通过存储器接口1060而被写入存储器装置的数据来执行错误校正码(ECC)编码。ECC编码的数据可通过存储器接口1060传输至存储器装置。ECC电路1030可以基于通过存储器接口1060从存储器装置接收的数据来执行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)通信方法的各种通信方法中的至少一种来执行通信。
缓冲器控制电路1050可以在处理器1010的控制下控制存储器缓冲器1020。
存储器接口1060可以在处理器1010的控制下与存储器装置通信。存储器接口1060可以通过通道向存储器装置传送/从存储器装置接收命令、地址和数据。
在实施例中,存储器控制器1000可以不包括存储器缓冲器1020和缓冲器控制电路1050。
在实施例中,处理器1010可以使用代码来控制存储器控制器1000的操作。处理器1010可以从设置在存储器控制器1000中的非易失性存储器装置(例如,ROM)加载代码。在实施例中,处理器1010可以通过存储器接口1060从存储器装置加载代码。
在实施例中,存储器控制器1000的总线1070可以被划分为控制总线和数据总线。数据总线可以被配置为在存储器控制器1000中传送数据,并且控制总线可以被配置为在存储器控制器1000中传送诸如命令或地址的控制信息。数据总线和控制总线可以彼此分离,并且既不会相互干扰也不会相互影响。数据总线可以联接到主机接口1040、缓冲器控制电路1050、ECC电路1030和存储器接口1060。控制总线可以联接到主机接口1040、处理器1010、缓冲器控制电路1050、存储器缓冲器1020和存储器接口1060。
图9是示出包括基于本公开的实施例实施的存储装置的存储卡系统的框图。
参照图9,存储卡系统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可以集成到单个半导体装置中以配置诸如以下的存储卡:PC卡(个人计算机存储卡国际协会:PCMCIA)、紧凑型闪存(CF)卡、智能媒体卡(SM或SMC)、记忆棒、多媒体卡(MMC、RS-MMC、微型MMC或eMMC)、SD卡(SD、迷你SD、微型SD、或SDHC)或通用闪存(UFS)。
图10是示出包括基于本公开的实施例实施的存储装置的固态驱动器(SSD)系统的框图。
参照图10,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(PCI-E)、高级技术附件(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、DDR SDRAM、LPDDR SDRAM和GRAM的易失性存储器,或者诸如FRAM、ReRAM、STT-MRAM和PRAM的非易失性存储器。
图11是示出包括基于本公开的实施例实施的存储装置的用户系统的框图。
参照图11,用户系统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描述的存储器装置100相同的方式操作。存储模块4400可以以与上文参照图1描述的存储装置50相同的方式操作。
用户接口4500可以包括将数据或指令输入到应用处理器4100或将数据输出到外部装置的接口。在实施例中,用户接口4500可以包括用户输入界面,诸如键盘、小键盘、按钮、触摸面板、触摸屏、触摸板、触摸球、相机、麦克风、陀螺仪传感器、振动传感器和压电装置。用户接口4500还可以包括用户输出接口,诸如液晶显示器(LCD)、有机发光二极管(OLED)显示装置、有源矩阵OLED(AMOLED)显示装置、LED、扬声器和监视器。
在本公开的一些实施例中,提供了一种具有改进的写入性能的存储装置以及一种操作该存储装置的方法。
清除命令使存储在缓冲器中的数据被写入持久存储区域。在包括多个存储器装置的数据存储装置的交织方案中,可以同时执行一个以上的操作,只要不同的存储器装置可以在不同的时间帧使用其公共通道。然而,在以交织方式正在执行多个操作的同时发出清除命令时,由于清除命令已经排队的操作可能受到阻碍。但是,在本公开的一些实施例中,可以维持命令信息和状态信息,以便可以有效地执行已经排队的操作和清除操作。与命令及其状态相关联的信息可用于确定当前发出的清除命令是应立即执行还是应延迟直到先前排队的操作被执行。与命令及其状态相关联的信息也可用于决定是否发送与当前发出的清除命令相关联的响应。在本公开的一些实施例中,写入操作控制器与命令信息存储装置和清除信息存储装置通信。命令信息存储装置存储所有排队操作和排队操作的序列。清除信息存储装置存储清除命令信息和先前排队的清除命令的状态信息。在一种实施方案中,清除信息存储装置包括列出清除命令以及对应于清除命令的编程操作的状态的查找表。
在本公开的一些实施例中,在接收到每个清除请求时,控制器可以检查以查看是否已经完成了清除数据块的所有先前排队的编程操作。如果先前排队的清除命令中的至少一个仍然挂起(未完成),则清除响应控制器不向主机发送响应(例如,Flush CMDResponse)。清除响应控制器仅在完成对应于先前排队的清除命令的操作时才发送响应。执行写入操作,使得执行第一编程操作以将清除数据块写入多个存储器装置,并且对对应于在清除请求之后输入的写入请求的写入数据执行第二编程操作,而不管是否已向主机提供了对清除命令的响应。
在本公开的实施例中,一种对多个存储器装置执行编程操作的方法包括:从与多个存储器装置通信的主机接收将缓冲器中的数据写入一个或多个存储器装置的清除请求;从清除信息存储装置中查找先前排队的清除命令和先前排队的清除命令的状态;以及在确定已经向主机提供与先前排队的清除命令相关联的响应时发送对清除请求的响应。该方法进一步包括执行先前排队的编程命令,而不管是否已经向主机提供对当前接收的清除命令的响应。
仅针对本公开描述了一些实施方案和示例。可以基于本专利文件中描述和说明的内容来进行其它实施方案、增强和变化。
Claims (20)
1.一种存储器控制器,所述存储器控制器控制多个存储器装置,包括:
命令处理器,基于来自主机的清除请求生成清除命令,并基于所述清除命令确定存储在缓冲器的写入数据之中待被写入所述多个存储器装置中的一个或多个的清除数据块;
写入操作控制器,控制所述多个存储器装置执行第一编程操作以将所述清除数据块写入所述多个存储器装置,并且执行写入对应于在所述清除请求之后输入的写入请求的数据的第二编程操作,而不管是否已向所述主机提供对所述清除命令的响应;以及
清除响应控制器,当所述第一编程操作完成时,在确定对在所述清除命令之前输入的先前排队的清除命令的响应被提供给所述主机时,将对所述清除命令的响应提供给所述主机。
2.根据权利要求1所述的存储器控制器,其中所述命令处理器包括命令信息存储装置,所述命令信息存储装置存储关于所述清除命令和所述清除数据块的信息。
3.根据权利要求2所述的存储器控制器,其中所述命令处理器生成对应于来自所述主机的写入请求的写入命令,并将所述写入命令存储在所述命令信息存储装置中。
4.根据权利要求1所述的存储器控制器,其中在执行所述第一编程操作的同时,所述命令处理器将对应于来自所述主机的写入请求的所述数据存储在所述缓冲器中。
5.根据权利要求1所述的存储器控制器,其中所述清除请求是将对应于在所述清除请求之前输入的写入命令的数据写入所述多个存储器装置的请求。
6.根据权利要求1所述的存储器控制器,其中当所述第一编程操作完成时,所述写入操作控制器生成所述清除命令的操作完成信号并将所述操作完成信号提供给所述清除响应控制器。
7.根据权利要求1所述的存储器控制器,其中所述写入操作控制器使用交织方案控制所述多个存储器装置以执行所述第一编程操作和所述第二编程操作。
8.根据权利要求7所述的存储器控制器,其中:
所述写入操作控制器包括分别对应于所述多个存储器装置的管芯映射;并且
每个所述管芯映射指示是否已经完成分配到所述多个存储器装置中对应的一个存储器装置的所述清除数据块的编程。
9.根据权利要求8所述的存储器控制器,其中每当从所述主机输入新的清除请求时,所述写入操作控制器更新所述管芯映射。
10.根据权利要求1所述的存储器控制器,其中所述清除响应控制器包括清除信息存储装置,所述清除信息存储装置存储清除信息,所述清除信息指示对应于所述清除命令并且在所述清除命令之前输入的所述先前排队的清除命令的操作是否已完成。
11.根据权利要求10所述的存储器控制器,其中当所述第一编程操作完成时,所述清除响应控制器更新所述清除信息。
12.根据权利要求10所述的存储器控制器,其中所述清除响应控制器基于所述清除信息确定在所述清除命令之前输入的所述先前排队的清除命令的所有操作是否已完成,并基于确定的结果将对所述清除命令的响应提供给所述主机。
13.根据权利要求10所述的存储器控制器,其中当对所述清除命令的响应被提供给所述主机时,所述清除响应控制器从所述清除信息存储装置中删除与所述清除命令有关的清除信息。
14.一种操作存储器控制器的方法,所述存储器控制器控制多个存储器装置,所述方法包括:
基于来自主机的清除请求生成清除命令,并且基于所述清除命令确定存储在缓冲器的写入数据之中待被写入所述多个存储器装置的清除数据块;
控制所述多个存储器装置执行第一编程操作以将所述清除数据块写入所述多个存储器装置;以及
当所述第一编程操作完成时,在确定对在所述清除命令之前输入的先前排队的清除命令的响应被提供给所述主机时,将对所述清除命令的响应提供给所述主机。
15.根据权利要求14所述的方法,进一步包括:控制所述多个存储器装置执行存储对应于在所述清除请求之后输入的写入请求的数据的第二编程操作,而不管是否已经将对所述清除命令的响应提供给所述主机。
16.根据权利要求15所述的方法,其中所述存储器控制器使用交织方案控制所述多个存储器装置以执行所述第一编程操作和所述第二编程操作。
17.根据权利要求15所述的方法,其中所述清除请求是将对应于在所述清除请求之前输入的写入命令的数据写入所述多个存储器装置的请求。
18.根据权利要求15所述的方法,其中提供对所述清除命令的响应包括每当从所述主机输入新的清除请求时,确定所述第一编程操作是否已完成。
19.一种对多个存储器装置执行编程操作的方法,所述方法包括:
从与所述多个存储器装置通信的主机接收清除请求,以将缓冲器中的数据写入所述多个存储器装置中的一个或多个;
从清除信息存储装置中查找先前排队的清除命令和所述先前排队的清除命令的状态;以及
在确定已经向所述主机提供与先前排队的清除命令相关联的响应时,发送对所述清除请求的响应。
20.根据权利要求19所述的方法,进一步包括:执行先前排队的编程命令,而不管是否已经将对当前接收的清除命令的响应提供给所述主机。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR1020180160246A KR102649169B1 (ko) | 2018-12-12 | 2018-12-12 | 저장 장치 및 그 동작 방법 |
| KR10-2018-0160246 | 2018-12-12 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| CN111309246A true CN111309246A (zh) | 2020-06-19 |
Family
ID=71071639
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN201910921460.0A Withdrawn CN111309246A (zh) | 2018-12-12 | 2019-09-27 | 存储装置及其操作方法 |
Country Status (3)
| Country | Link |
|---|---|
| US (1) | US11520519B2 (zh) |
| KR (1) | KR102649169B1 (zh) |
| CN (1) | CN111309246A (zh) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN116453560A (zh) * | 2023-04-27 | 2023-07-18 | 北京和利时控制技术有限公司 | 一种数据采集方法和系统 |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2022177561A1 (en) * | 2021-02-18 | 2022-08-25 | Futurewei Technologies, Inc. | Data access processing agnostic to mapping unit size |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN106201900A (zh) * | 2014-12-26 | 2016-12-07 | 联发科技股份有限公司 | 中断闪存清除程序的方法、控制器以及存储设备 |
| US9632711B1 (en) * | 2014-04-07 | 2017-04-25 | Western Digital Technologies, Inc. | Processing flush requests by utilizing storage system write notifications |
| US20180060232A1 (en) * | 2016-08-31 | 2018-03-01 | Sandisk Technologies Llc | Flush command consolidation |
| US20180150220A1 (en) * | 2016-11-25 | 2018-05-31 | Samsung Electronics Co., Ltd. | System and method for improving storage device i/o performance |
| CN108334285A (zh) * | 2017-01-20 | 2018-07-27 | 三星电子株式会社 | 存储系统和操作存储系统的方法 |
Family Cites Families (12)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US9665442B2 (en) * | 2010-03-29 | 2017-05-30 | Kaminario Technologies Ltd. | Smart flushing of data to backup storage |
| US8725951B2 (en) * | 2010-04-12 | 2014-05-13 | Sandisk Enterprise Ip Llc | Efficient flash memory-based object store |
| US9798631B2 (en) * | 2014-02-04 | 2017-10-24 | Microsoft Technology Licensing, Llc | Block storage by decoupling ordering from durability |
| US10055352B2 (en) * | 2014-03-11 | 2018-08-21 | Amazon Technologies, Inc. | Page cache write logging at block-based storage |
| KR20170059658A (ko) * | 2015-11-23 | 2017-05-31 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작방법 |
| KR102534633B1 (ko) | 2016-04-14 | 2023-05-23 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
| KR102615659B1 (ko) * | 2016-07-08 | 2023-12-20 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 이의 동작 방법 |
| KR102761231B1 (ko) | 2016-10-27 | 2025-02-05 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
| US10606488B2 (en) * | 2017-06-30 | 2020-03-31 | Intel Corporation | Selective data flush in a storage device |
| KR102535627B1 (ko) | 2018-03-28 | 2023-05-24 | 에스케이하이닉스 주식회사 | 메모리 컨트롤러 및 그 동작 방법 |
| US10877686B2 (en) * | 2018-04-13 | 2020-12-29 | Intel Corporation | Mass storage device with host initiated buffer flushing |
| US10514865B2 (en) * | 2018-04-24 | 2019-12-24 | EMC IP Holding Company LLC | Managing concurrent I/O operations |
-
2018
- 2018-12-12 KR KR1020180160246A patent/KR102649169B1/ko active Active
-
2019
- 2019-07-16 US US16/513,470 patent/US11520519B2/en active Active
- 2019-09-27 CN CN201910921460.0A patent/CN111309246A/zh not_active Withdrawn
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US9632711B1 (en) * | 2014-04-07 | 2017-04-25 | Western Digital Technologies, Inc. | Processing flush requests by utilizing storage system write notifications |
| CN106201900A (zh) * | 2014-12-26 | 2016-12-07 | 联发科技股份有限公司 | 中断闪存清除程序的方法、控制器以及存储设备 |
| US20180060232A1 (en) * | 2016-08-31 | 2018-03-01 | Sandisk Technologies Llc | Flush command consolidation |
| US20180150220A1 (en) * | 2016-11-25 | 2018-05-31 | Samsung Electronics Co., Ltd. | System and method for improving storage device i/o performance |
| CN108334285A (zh) * | 2017-01-20 | 2018-07-27 | 三星电子株式会社 | 存储系统和操作存储系统的方法 |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN116453560A (zh) * | 2023-04-27 | 2023-07-18 | 北京和利时控制技术有限公司 | 一种数据采集方法和系统 |
| CN116453560B (zh) * | 2023-04-27 | 2023-12-15 | 北京和利时控制技术有限公司 | 一种应用于核电站dcs系统的数据采集方法和系统 |
Also Published As
| Publication number | Publication date |
|---|---|
| US20200192599A1 (en) | 2020-06-18 |
| KR102649169B1 (ko) | 2024-03-20 |
| KR20200072261A (ko) | 2020-06-22 |
| US11520519B2 (en) | 2022-12-06 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US11307803B2 (en) | Storage device for suspending program operation and performing read operation and operating method thereof | |
| CN111444115B (zh) | 存储装置及其操作方法 | |
| CN114443507A (zh) | 存储器系统及其操作方法 | |
| US11861359B2 (en) | Storage device and method of operating the same | |
| CN111352855A (zh) | 具有提高的映射更新速度的存储装置及其操作方法 | |
| CN111208937B (zh) | 存储器控制器及其操作方法 | |
| CN114356209A (zh) | 存储装置及其操作方法 | |
| KR20220005322A (ko) | 메모리 컨트롤러 및 그 동작 방법 | |
| CN114115709A (zh) | 存储器控制器及其操作方法 | |
| CN115708042A (zh) | 储存装置、存储器装置及其操作方法 | |
| CN115793959A (zh) | 主机装置、存储器控制器及包括它们的计算系统 | |
| CN114510371A (zh) | 存储装置及操作存储装置的方法 | |
| CN113867619B (zh) | 存储器控制器及其操作方法 | |
| US11520519B2 (en) | Storage device and method of operating the same | |
| CN115376592B (zh) | 存储装置及其操作方法 | |
| US11593023B2 (en) | Memory controller and method of operating the same | |
| CN117193627A (zh) | 计算系统及其操作方法 | |
| TW202316273A (zh) | 記憶體控制器及其操作方法 | |
| CN117519577A (zh) | 存储装置、包括存储装置的电子装置及其操作方法 | |
| KR20230011214A (ko) | 스토리지 장치 및 이의 동작 방법 | |
| CN115454886A (zh) | 存储装置及其操作方法 | |
| CN110737403B (zh) | 存储装置及操作该存储装置的方法 | |
| TW202338622A (zh) | 儲存裝置及其操作方法 | |
| KR20220165106A (ko) | 메모리 컨트롤러 및 그것을 포함하는 메모리 시스템 | |
| CN115602229A (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 | ||
| WW01 | Invention patent application withdrawn after publication | ||
| WW01 | Invention patent application withdrawn after publication |
Application publication date: 20200619 |