CN115509957A - 主机装置、存储装置及其操作方法 - Google Patents
主机装置、存储装置及其操作方法 Download PDFInfo
- Publication number
- CN115509957A CN115509957A CN202210127657.9A CN202210127657A CN115509957A CN 115509957 A CN115509957 A CN 115509957A CN 202210127657 A CN202210127657 A CN 202210127657A CN 115509957 A CN115509957 A CN 115509957A
- Authority
- CN
- China
- Prior art keywords
- memory
- data
- host
- mapping
- storage device
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- 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/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; 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
- 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
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/325—Power saving in peripheral device
- G06F1/3275—Power saving in memory, e.g. RAM, cache
-
- 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
- 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/0844—Multiple simultaneous or quasi-simultaneous cache accessing
- G06F12/0846—Cache with multiple tag or data arrays being simultaneously accessible
- G06F12/0848—Partitioned cache, e.g. separate instruction and operand caches
-
- 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/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/0871—Allocation or management of cache space
-
- 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/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/0873—Mapping of cache memory to specific storage devices or parts thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/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/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
-
- 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/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
-
- 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/21—Employing a record carrier using a specific recording technology
- G06F2212/214—Solid state disk
-
- 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/31—Providing disk cache in a specific location of a storage system
- G06F2212/313—In storage device
-
- 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/45—Caching of specific data in cache memory
- G06F2212/455—Image or video data
-
- 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/46—Caching storage objects of specific type in disk cache
- G06F2212/461—Sector or disk block
-
- 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/46—Caching storage objects of specific type in disk cache
- G06F2212/466—Metadata, control data
-
- 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/60—Details of cache memory
- G06F2212/601—Reconfiguration of cache memory
-
- 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/7203—Temporary buffering, e.g. using volatile buffer or dedicated buffer blocks
-
- 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/7208—Multiple device management, e.g. distributing data over multiple flash devices
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
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 Of A Hierarchy Structure (AREA)
Abstract
本技术涉及一种存储装置,通过将缓冲存储器的映射区域的一部分分配给高速缓存区域,该存储装置允许在不访问主机的主存储器的情况下访问该存储装置。该存储装置包括:存储器装置,包括多个存储器单元;存储器控制器,被配置为控制对存储器装置执行的操作;以及缓冲存储器,包括高速缓存区域和映射区域,在映射区域中存储指示与操作相对应的、逻辑块地址和物理块地址之间的映射关系的映射数据。缓冲存储器根据从主机接收的分配请求将映射区域的一部分分配给高速缓存区域,并且将除映射数据之外的数据存储在高速缓存区域中。
Description
相关申请的交叉引用
本申请要求于2021年6月23日提交的申请号为10-2021-0081805的韩国专利申请的优先权,该韩国专利申请通过引用整体并入本文。
技术领域
本公开涉及一种电子装置,并且更具体地,涉及一种主机装置、存储装置及其操作方法。
背景技术
存储装置是在诸如计算机、智能电话或智能平板的主机装置的控制下存储数据的装置。存储装置包括在诸如硬盘驱动器(HDD)的磁盘中存储数据的装置、在诸如固态驱动器(SSD)或存储卡的半导体存储器,特别是非易失性存储器中存储数据的装置。
存储装置可以包括其中存储数据的存储器装置和将数据存储在存储器装置中的存储器控制器。存储器装置可以分类为易失性存储器和非易失性存储器。此处,非易失性存储器包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、闪速存储器、相变RAM(PRAM)、磁性RAM(MRAM)、电阻式RAM(RRAM)、铁电RAM(FRAM)等。
发明内容
本公开的实施例提供了一种存储装置及其操作方法,其通过将缓冲存储器的映射区域的一部分分配给高速缓存区域来允许在不访问主机的主存储器的情况下访问该存储装置。
根据本公开的实施例,一种存储装置可以包括:存储器装置,包括多个存储器单元;存储器控制器,被配置为控制对存储器装置执行的操作;以及缓冲存储器,包括高速缓存区域和映射区域,在映射区域中存储指示与操作相对应的逻辑块地址和物理块地址之间的映射关系的映射数据。缓冲存储器被配置为根据从主机接收的分配请求将映射区域的一部分分配给高速缓存区域,并且被配置为将除映射数据之外的数据存储在高速缓存区域中。
根据本公开的实施例,一种操作存储装置的方法,该存储装置包括存储器装置、存储器控制器和缓冲存储器,该存储器装置包括多个存储器单元,该存储器控制器控制对存储器装置执行的操作,该方法可以包括:从主机接收指示划分和分配缓冲存储器中包括的区域的分配请求;根据分配请求将映射区域的一部分分配到高速缓存区域,在该映射区域中存储指示与操作相对应的逻辑块地址和物理块地址之间的映射关系的映射数据;以及将除映射数据之外的数据存储在高速缓存区域中。
根据本公开的实施例,一种主机装置可以包括:中央处理单元,被配置为执行和处理待对存储装置执行的操作;主存储器,被配置为存储与由中央处理单元处理的操作相对应的数据;图形处理单元,被配置为处理图形操作并输出结果值;以及图形存储器,被配置为存储结果值。中央处理单元还被配置为输出用于请求将存储装置中包括的缓冲存储器的映射区域的一部分分配给缓冲存储器的高速缓存区域的分配请求。
根据本公开的实施例,一种数据处理***可以包括:主机,被配置为输出请求;以及存储装置,包括易失性存储器装置和非易失性存储装置,并且被配置为响应于该请求来调整易失性存储器装置内的区域的大小。该主机还被配置为直接访问该区域以临时存储待在非易失性存储装置中编程的数据。
根据本技术,通过将缓冲存储器的一部分分配给高速缓存区域,并且预先将待从主机输出的数据或待从存储器装置输出的数据高速缓存在高速缓存区域中,可以提高主机和存储装置的操作速度。
附图说明
图1是示出根据本公开的实施例的存储装置的框图。
图2是示出根据本公开的实施例的图1的存储器装置的结构的示图。
图3是示出根据本公开的实施例的图2的存储器单元阵列的示图。
图4示出根据本公开的实施例的图1的主机的配置以及主机与存储装置之间的连接关系。
图5示出根据本公开的实施例的从存储装置输出数据的过程。
图6示出根据本公开的实施例的从主机输出数据的过程。
图7示出根据本公开的实施例的从存储装置输出图形数据的过程。
图8示出根据本公开的实施例的从主机输出图形数据的过程。
图9示出根据本公开的实施例的为缓冲存储器分配映射区域和高速缓存区域的方法。
图10示出根据本公开的实施例的在分配缓冲存储器的每个区域之后在主存储器和图形存储器与高速缓存区域之间的数据传输。
图11是示出根据本公开的实施例的存储装置的操作的示图。
图12是示出根据本公开的图1的存储器控制器的另一实施例的示图。
图13是示出应用了根据本公开的实施例的存储装置的存储卡***的框图。
图14是示例性地示出应用了根据本公开的实施例的存储装置的固态驱动器(SSD)***的框图。
图15是示出应用了根据本公开的实施例的存储装置的用户***的框图。
具体实施方式
根据本说明书中公开的概念的实施例的具体结构或功能描述仅被示出以描述根据本公开的概念的实施例。根据本公开的概念的实施例可以以各种形式来实施,并且不应被解释为限于本说明书中描述的实施例。
图1是示出根据本公开的实施例的存储装置的框图。
参照图1,第一存储装置50_1和第二存储装置50_2中的每一个可以包括存储器装置100和存储器控制器200。在图1中,仅示出了第一存储装置50_1和第二存储装置50_2,但是更少数量或更多数量的存储装置可以连接到主机300并与主机300通信。
第一存储装置50_1和第二存储装置50_2中的每一个可以是在主机300的控制下存储数据的装置,主机300例如是移动电话、智能电话、MP3播放器、膝上型计算机、台式计算机、游戏机、TV、平板PC或车载信息娱乐***。
第一存储装置50_1和第二存储装置50_2中的每一个可以根据作为与主机300的通信方法的主机接口而被制造为各种类型的存储装置中的任意一种。例如,第一存储装置50_1和第二存储装置50_2可以被配置为诸如以下的各种类型的存储装置中的任意一种:SSD,MMC、eMMC、RS-MMC和微型MMC形式的多媒体卡,SD、迷你SD和微型SD形式的安全数字卡,通用串行总线(USB)存储装置,通用闪存(UFS)装置,个人计算机存储卡国际协会(PCMCIA)卡型存储装置,***组件互连(PCI)卡型存储装置,高速PCI(PCI-e或PCIe)卡型存储装置,紧凑型闪存(CF)卡,智能媒体卡和记忆棒。
第一存储装置50_1和第二存储装置50_2中的每一个可以被制造为各种类型的封装中的任意一种。例如,第一存储装置50_1和第二存储装置50_2可以被制造为诸如以下的各种类型的封装类型中的任意一种:堆叠封装(POP)、***级封装(SIP)、片上***(SOC)、多芯片封装(MCP)、板上芯片(COB)、晶圆级制造封装(WFP)和晶圆级堆叠封装(WSP)。
存储器装置100可以存储数据。存储器装置100响应于存储器控制器200的控制而操作。存储器装置100可包括存储器单元阵列,存储器单元阵列包括存储数据的多个存储器单元。存储器单元阵列可以包括多个存储块。存储块中的每一个可以包括多个存储器单元,并且多个存储器单元可以构造多个页面。在实施例中,页面可以是用于将数据存储在存储器装置100中或读取存储器装置100中存储的数据的单位。存储块可以是用于擦除数据的单位。
在实施例中,存储器装置100可以是双倍数据速率同步动态随机存取存储器(DDRSDRAM)、***低功率双倍数据速率(LPDDR4)SDRAM、图形双倍数据速率(GDDR)SDRAM、低功率DDR(LPDDR)、Rambus动态随机存取存储器(RDRAM)、NAND闪速存储器、垂直NAND闪速存储器、NOR闪速存储器、电阻式随机存取存储器(RRAM)、相变随机存取存储器(PRAM)、磁阻式随机存取存储器(MRAM)、铁电随机存取存储器(FRAM)、自旋转移力矩随机存取存储器(STT-RAM)等。在本说明书中,为了便于描述,存储器装置100是NAND闪速存储器。
存储器装置100可以被实施为二维阵列结构或三维阵列结构。在下文中,描述三维阵列结构作为实施例,但是本公开不限于三维阵列结构。本公开不仅可以应用于其中电荷存储层由导电浮栅(FG)构成的闪速存储器装置,而且可以应用于其中电荷存储层由绝缘膜构成的电荷撷取闪存(CTF)。
在实施例中,存储器装置100可以以单层单元(SLC)方法来操作,在单层单元方法中,一个数据位被存储在一个存储器单元中。可选地,存储器装置100可以以在一个存储器单元中存储至少两个数据位的方法来操作。例如,存储器装置100可以以在一个存储器单元中存储两个数据位的多层单元(MLC)方法、在一个存储器单元中存储三个数据位的三层单元(TLC)方法或在一个存储器单元中存储四个数据位的四层单元(QLC)方法来操作。
存储器装置100被配置为从存储器控制器200接收命令和地址并且访问存储器单元阵列中由地址选择的区域。也就是说,存储器装置100可以对由地址选择的区域执行与命令相对应的操作。例如,存储器装置100可以根据接收到的命令来执行写入操作(编程操作)、读取操作或擦除操作。例如,当接收到编程命令时,存储器装置100可以将数据编程到由地址选择的区域。当接收到读取命令时,存储器装置100可以从由地址选择的区域读取数据。当接收到擦除命令时,存储器装置100可以擦除由地址选择的区域中存储的数据。
存储器控制器200可以控制第一存储装置50_1和第二存储装置50_2的整体操作。
当电源电压被施加到第一存储装置50_1和第二存储装置50_2时,存储器控制器200可以运行固件。当存储器装置100是闪速存储器装置100时,存储器控制器200可以操作诸如闪存转换层(FTL)的固件以用于控制主机300与存储器装置100之间的通信。
在实施例中,存储器控制器200可以包括固件(未示出),该固件可以从主机300接收数据和逻辑块地址(LBA)并且将LBA转换为物理块地址(PBA),PBA指示要将存储器装置100中包括的数据存储到的存储器单元的地址。另外,存储器控制器200可以将配置LBA与PBA之间的映射关系的逻辑-物理地址映射表存储在缓冲存储器400中。
存储器控制器200可以根据主机300的请求来控制存储器装置100执行编程操作、读取操作、擦除操作等。例如,当从主机300接收到编程请求时,存储器控制器200可以将编程请求转换为编程命令,并且可以将编程命令、PBA和数据提供到存储器装置100。当从主机300接收到读取请求以及LBA时,存储器控制器200可以将读取请求改变为读取命令,选择对应于LBA的PBA,然后将读取命令和PBA提供到存储器装置100。当从主机300接收到擦除请求以及LBA时,存储器控制器200可以将擦除请求改变为擦除命令,选择对应于LBA的PBA,然后将擦除命令和PBA提供到存储器装置100。
在实施例中,存储器控制器200可以在没有来自主机300的请求的情况下生成编程命令、地址和数据并将编程命令、地址和数据传输到存储器装置100。例如,存储器控制器200可以将命令、地址及数据提供到存储器装置100以执行后台操作,该后台操作例如是用于损耗均衡的编程操作和用于垃圾收集的编程操作。
在实施例中,第一存储装置50_1和第二存储装置50_2中的每一个可以进一步包括缓冲存储器400。存储器控制器200可以控制主机300与缓冲存储器400之间的数据交换。可选地,存储器控制器200可以将用于控制存储器装置100的***数据临时存储在缓冲存储器400中。例如,存储器控制器200可以将从主机300输入的数据临时存储在缓冲存储器400中,然后将临时存储在缓冲存储器400中的数据传输到存储器装置100。
在各个实施例中,缓冲存储器400可以用作存储器控制器200的操作存储器和高速缓存存储器。缓冲存储器400可以存储由存储器控制器200运行的代码或命令。可选地,缓冲存储器400可以存储由存储器控制器200处理的数据。
在实施例中,缓冲存储器400可以实现为动态随机存取存储器(DRAM),例如双倍数据速率同步动态随机存取存储器(DDR SDRAM)、DDR4 SDRAM、***低功率双倍数据速率(LPDDR4)SDRAM、图形双倍数据速率(GDDR)SDRAM、低功率DDR(LPDDR)或Rambus动态随机存取存储器(DRAM)或静态随机存取存储器(SRAM)。
在各个实施例中,缓冲存储器400可以从第一存储装置50_1和第二存储装置50_2的外部进行连接。在这种情况下,连接到第一存储装置50_1和第二存储装置50_2的外部的易失性存储器装置可以用作缓冲存储器400。
在实施例中,存储器控制器200可以控制至少两个或更多存储器装置。在这种情况下,存储器控制器200可以根据交错方法来控制存储器装置,以便提高操作性能。
主机300可以使用诸如以下的各种通信方法中的至少一种与第一存储装置50_1和第二存储装置50_2通信:通用串行总线(USB)、串行AT附件(SATA)、串列SCSI(SAS)、高速芯片间(HSIC)、小型计算机***接口(SCSI)、***组件互连(PCI)、高速PCI(PCIe)、高速非易失性存储器(NVMe)、通用闪存(UFS)、安全数字(SD)、多媒体卡(MMC)、嵌入式MMC(eMMC)、双列直插式存储器模块(DIMM)、寄存式DIMM(RDIMM)和低负载DIMM(LRDIMM)。
在实施例中,主机300可以包括中央处理单元(CPU)310和主存储器320。CPU 310可以控制第一存储装置50_1和第二存储装置50_2的操作。此外,主存储器320可以由双倍数据速率同步动态随机存取存储器(DDR SDRAM)等构造。
例如,CPU 310可以执行和处理将对第一存储装置50_1和第二存储装置50_2执行的操作。具体地,CPU 310可以从外部接收命令,以命令被输入的顺序,即以串行方法,来解释和操作命令,并且将命令输出到外部。主存储器320可以通过替代地处理待由CPU 310处理的操作来提高操作速度。
在实施例中,主机300可以包括图形处理单元(GPU)330和图形存储器340。GPU 330可以处理图形操作并输出结果值。另外,图形存储器340可以被配置为图形DDR SDRAM(GDDRSDRAM)。
例如,GPU 330可以以一次处理若干条命令的并行方法来执行图形操作。也就是说,GPU 330可以处理图像信息或将图像信息输出到屏幕,以便辅助CPU 310的图形处理。图形存储器340可以存储由GPU 330处理的图形操作处理结果值。
在实施例中,CPU 310和GPU 330可以应用于机器学习或深度学习。此处,机器学习可以意指使用算法分析数据并且基于通过分析学习的内容来执行确定或预测。另外,深度学习可以是人工智能的形式,并且可以意指使用信息输入/输出层来学习数据。机器学习与深度学习之间的差异在于:机器学习需要手动地提供待训练的数据,但是深度学习可以由其自身学习用于分类的数据。
在实施例中,可以通过GPU 330并行地操作数据来提高图形操作速度。另外,由于在特定情况下CPU 310的操作速度可能很高或者GPU 330的操作速度可能很高,所以通过机器学习或深度学习来调整CPU 310和GPU 330的性能,可以在各种情况下获得最佳操作速度。
此外,在本公开中,提供了一种方法,在该方法中,CPU 310和GPU 330可以通过限制第一存储装置50_1和第二存储装置50_2中的每一个中包括的缓冲存储器400的映射区域并将剩余区域转换为高速缓存区域来直接访问缓冲存储器400。也就是说,在本公开中,缓冲存储器400可以被配置为变化的映射区域和高速缓存区域。因此,除了主存储器320之外,缓冲存储器400的高速缓存区域也可以用作数据集的高速缓存。
图2是示出根据本公开的实施例的图1的存储器装置的结构的示图。
参照图2,存储器装置100可以包括存储器单元阵列110、***电路120和控制逻辑130。
存储器单元阵列110包括多个存储块BLK1至BLKz。多个存储块BLK1至BLKz通过行线RL连接到行解码器121。多个存储块BLK1至BLKz可以通过第一至第n位线BL1至BLn连接到页面缓冲器组123。多个存储块BLK1至BLKz中的每一个包括多个存储器单元。在实施例中,多个存储器单元是非易失性存储器单元。连接到相同字线的存储器单元可以被定义为一个页面。因此,一个存储块可以包括多个页面。
行线RL可以包括至少一条源极选择线、多条字线和至少一条漏极选择线。
存储器单元阵列110中包括的存储器单元中的每一个可以被配置为存储一个数据位的SLC、存储两个数据位的MLC、存储三个数据位的TLC或存储四个数据位的QLC。
***电路120可以被配置为在控制逻辑130的控制下对存储器单元阵列110的选择区域执行编程操作、读取操作或擦除操作。***电路120可以驱动存储器单元阵列110。例如,***电路120可以在控制逻辑130的控制下将各种操作电压施加到行线RL和第一至第n位线BL1至BLn,或者释放(discharge)所施加的电压。
***电路120可以包括行解码器121、电压生成器122、页面缓冲器组123、列解码器124、输入/输出电路125和感测电路126。
行解码器121通过行线RL连接到存储器单元阵列110。行线RL可以包括至少一条源极选择线、多条字线和至少一条漏极选择线。在实施例中,字线可以包括普通字线和虚设(dummy)字线。在实施例中,行线RL还可以包括管道选择线。
行解码器121被配置为对从控制逻辑130接收的行地址RADD进行解码。行解码器121根据解码后的地址选择存储块BLK1至BLKz之中的至少一个存储块。此外,行解码器121可以根据解码后的地址选择被选择的存储块的至少一条字线,以将由电压生成器122生成的电压施加到该至少一条字线WL。
例如,在编程操作期间,行解码器121可以将编程电压施加到所选择的字线,并且将电平低于编程电压的编程通过电压施加到未选择的字线。在编程验证操作期间,行解码器121可以将验证电压施加到所选择的字线,并且将高于验证电压的验证通过电压施加到未选择的字线。在读取操作期间,行解码器121可以将读取电压施加到所选择的字线,并且将高于读取电压的读取通过电压施加到未选择的字线。
在实施例中,以存储块为单位执行对存储器装置100的擦除操作。在擦除操作期间,行解码器121可以根据解码后的地址来选择一个存储块。在擦除操作期间,行解码器121可以将接地电压施加到连接到所选择的存储块的字线。
电压生成器122响应于控制逻辑130的控制而操作。电压生成器122被配置为使用提供到存储器装置100的外部电源电压来生成多个电压。具体地,电压生成器122可以响应于操作信号OPSIG生成用于编程操作、读取操作和擦除操作的各种操作电压Vop。例如,电压生成器122可以响应于控制逻辑130的控制而生成编程电压、验证电压、通过电压、读取电压、擦除电压等。
在实施例中,电压生成器122可以通过调节外部电源电压来生成内部电源电压。由电压生成器122生成的内部电源电压被用作存储器装置100的操作电压。
在实施例中,电压生成器122可以使用外部电源电压或内部电源电压来生成多个电压。
例如,电压生成器122可以包括接收内部电源电压的多个泵浦电容器(pumpingcapacitor),并且可以响应于控制逻辑130的控制而选择性地启用多个泵浦电容器以生成多个电压。
所生成的多个电压可以由行解码器121供应到存储器单元阵列110。
页面缓冲器组123包括第一至第n页面缓冲器PB1至PBn。第一至第n页面缓冲器PB1至PBn分别通过第一至第n位线BL1至BLn连接到存储器单元阵列110。第一至第n页面缓冲器PB1至PBn响应于控制逻辑130的控制而操作。具体地,第一至第n页面缓冲器PB1至PBn可以响应于页面缓冲器控制信号PBSIGNALS而操作。例如,在读取或验证操作期间,第一至第n页面缓冲器PB1至PBn可以临时存储通过第一至第n位线BL1至BLn接收的数据,或者可以感测第一至第n位线BL1至BLn的电压或电流。
具体地,在编程操作期间,当编程电压被施加到所选择的字线时,第一至第n页面缓冲器PB1至PBn可以通过第一至第n位线BL1至BLn将通过输入/输出电路125接收的数据DATA传递到所选择的存储器单元。根据所传递的数据DATA,对所选择的页面的存储器单元进行编程。在编程验证操作期间,第一至第n页面缓冲器PB1至PBn可以经由通过第一至第n位线BL1至BLn感测从所选择的存储器单元接收的电压或电流来读取页面数据。
在读取操作期间,第一至第n页面缓冲器PB1至PBn通过第一至第n位线BL1至BLn从所选择的页面的存储器单元读取数据DATA,并且在列解码器124的控制下将所读取的数据DATA输出到输入/输出电路125。
在擦除操作期间,第一至第n页面缓冲器PB1至PBn可以使第一至第n位线BL1至BLn浮置或者施加擦除电压。
列解码器124可以响应于列地址CADD在输入/输出电路125和页面缓冲器组123之间传递数据。例如,列解码器124可以通过数据线DL与第一至第n页面缓冲器PB1至PBn交换数据,或者可以通过列线CL与输入/输出电路125交换数据。
输入/输出电路125可以将从参照图1描述的图1的存储器控制器200接收的命令CMD和地址ADDR传递到控制逻辑130,或者可以与列解码器124交换数据DATA。
感测电路126可以在读取操作或验证操作期间响应于准许位信号VRYBIT而生成参考电流,并且将从页面缓冲器组123接收的感测电压VPB与由参考电流生成的参考电压进行比较,以输出通过信号PASS或失败信号FAIL。
控制逻辑130可以响应于命令CMD和地址ADDR而输出操作信号OPSIG、行地址RADD、页面缓冲器控制信号PBSIGNALS及准许位信号VRYBIT,以控制***电路120。例如,控制逻辑130可以响应于子块读取命令和地址来控制对所选择的存储块的读取操作。另外,控制逻辑130可以响应于子块擦除命令和地址来控制对所选择的存储块中包括的所选择的子块的擦除操作。另外,控制逻辑130可以响应于通过信号PASS或失败信号FAIL而确定验证操作是通过还是失败。
图3是示出根据本公开的实施例的图2的存储器单元阵列的实施例的示图。
参照图2和图3,图3是示出图2的存储器单元阵列110中包括的多个存储块BLK1至BLKz之中的存储块BLKa的电路图。
彼此平行布置的第一选择线、字线和第二选择线可以连接到存储块BLKa。例如,字线可以在第一选择线与第二选择线之间彼此平行地布置。此处,第一选择线可以是源极选择线SSL,第二选择线可以是漏极选择线DSL。
更具体地,存储块BLKa可以包括连接在第一至第n位线BL1至BLn与源极线SL之间的多个串。第一至第n位线BL1至BLn可以分别连接到串,并且源极线SL可以共同连接到串。由于这些串可以被配置为彼此相同,因此作为示例具体描述了连接到第一位线BL1的串ST。
串ST可以包括串联连接在源极线SL与第一位线BL1之间的源极选择晶体管SST、多个存储器单元F1至F16以及漏极选择晶体管DST。一个串ST可以包括源极选择晶体管SST和漏极选择晶体管DST中的至少一个或多个,并且可以包括比图中所示的数量更多的存储器单元。
源极选择晶体管SST的源极可以连接到源极线SL,并且漏极选择晶体管DST的漏极可以连接到第一位线BL1。存储器单元F1至F16可串联连接在源极选择晶体管SST与漏极选择晶体管DST之间。不同串中包括的源极选择晶体管SST的栅极可以连接到源极选择线SSL,漏极选择晶体管DST的栅极可以连接到漏极选择线DSL,并且存储器单元F1至F16的栅极可以连接到多条字线WL1至WL16。不同串中包括的存储器单元之中连接到相同字线的一组存储器单元可以被称为物理页面PPG。因此,存储块BLKa可以包括数量是字线WL1至WL16的的数量的物理页面PPG。
一个存储器单元可以存储一位数据。这通常被称为SLC。在此情况下,一个物理页面PPG可以存储一个逻辑页面(LPG)数据。一个逻辑页面(LPG)数据可以包括一个物理页面PPG中所包括的存储器单元的数量的数据位。另外,一个存储器单元可以存储两位或更多位数据。这通常被称为MLC。在此情况下,一个物理页面PPG可以存储两个或更多个逻辑页面(LPG)数据。
在一个存储器单元中存储两个或更多个数据位的存储器单元称为MLC,但是近来,随着在一个存储器单元中存储的数据位的数量的增加,MLC指其中存储两个数据位的存储器单元,其中存储三个或更多个数据位的存储器单元称为TLC,而其中存储四个或更多个数据位的存储器单元称为QLC。另外,已经开发了其中存储多个数据位的存储器单元方法,并且本实施例可以应用于其中存储两个或更多个数据位的存储器装置100。
在另一个实施例中,存储块可以具有三维结构。每个存储块包括堆叠在衬底上的多个存储器单元。这样的多个存储器单元沿+X方向、+Y方向、以及+Z方向布置。
图4示出根据本公开的实施例的图1的主机的配置以及主机与存储装置之间的连接关系。
参照图1和图4,图4示出图1的主机300的组件之间的连接关系以及主机300与图1的第一存储装置50_1和第二存储装置50_2之间的连接关系。在图4中,存储装置是第一存储装置50_1和第二存储装置50_2,但是更少数量或更多数量的存储装置可以连接到主机300。
在实施例中,北桥(NORTH BRIDGE)可以包括用于与作为存储器控制器集线器(memory controller hub)的每个组件通信的控制器,并且可以与南桥(SOUTH BRIDGE)成对。
在实施例中,CPU 310、主存储器320、GPU 330、第一存储装置50_1和第二存储装置50_2可以通过北桥连接。
例如,北桥和CPU 310可以通过前端总线(FSB)连接,北桥和主存储器320可以通过存储器总线(MEMORY BUS)连接,北桥和南桥可以通过内部总线(INTERNAL BUS)连接,北桥、GPU 330以及第一存储装置50_1和第二存储装置50_2可以分别通过高速***组件互连(PCIe)连接。
由于北桥通过FSB直接连接到CPU 310,所以可以执行需要相对高性能的操作。也就是说,北桥可以执行CPU 310与其它组件之间的数据通信。
在实施例中,南桥可以包括用于与作为输入/输出控制器集线器的每个组件通信的控制器,并且可以与北桥成对。例如,南桥可以通过LPC总线连接到输入/输出装置350。
在实施例中,南桥与北桥的区别在于,南桥通常不直接连接到CPU 310。也就是说,北桥可以将南桥连接到CPU 310。此外,南桥可以通过使用用于数据控制和访问的控制器集成通道电路来直接将输入/输出装置350的信号发送到CPU 310。
图5示出根据本公开的实施例的从存储装置输出数据的过程。
参照图4和图5,图5示出了图4的主机300的组件以及第一存储装置50_1和第二存储装置50_2。图5示出了根据主机300的读取请求来输出数据的过程。
在实施例中,主机300可以请求第一存储装置50_1中存储的数据。当从主机300输出用于请求第一存储装置50_1中存储的数据的读取请求时,第一存储装置50_1可以响应于读取请求而输出相应的数据。
具体地,第一存储装置50_1中包括的存储器控制器可以生成与读取请求相对应的读取命令,并且将读取命令输出到存储器装置。当存储器装置从存储器控制器接收到读取命令时,存储器装置可以通过执行与读取命令相对应的读取操作来读取相应的数据,并且将读取数据输出到存储器控制器。存储器控制器可以将从存储器装置接收的读取数据输出到主机300。
在实施例中,从第一存储装置50_1输出的读取数据可以通过北桥被传输到主存储器320,并且主存储器320可以存储从第一存储装置50_1输出的读取数据。
此后,CPU 310可以基于主存储器320中存储的数据执行后续操作。
在实施例中,CPU 310可以通过访问主存储器320来获得从每个存储装置读取的数据。然而,为了限制主存储器320的大小并提高CPU 310的操作速度,在本公开中,提出了一种方法,在该方法中,每个存储装置为缓冲存储器分配高速缓存区域,并且CPU 310访问所分配的高速缓存区域。
此外,在本公开中,提出了一种每个存储装置为缓冲存储器分配高速缓存区域以用于机器学习或深度学习的方法。
图6示出了根据本公开的实施例的从主机输出数据的过程。
参照图4和图6,图6示出了图4的主机300的组件以及第一存储装置50_1和第二存储装置50_2。图6示出根据主机300的写入请求来输出数据的过程。
在实施例中,主机300可以请求将数据存储在第一存储装置50_1中。当从主机300输出用于将数据存储在第一存储装置50_1中的写入请求时,主存储器320中的与写入请求相对应的数据可以与写入请求一起输出。
具体地,CPU 310的写入请求和主存储器320的数据可以通过北桥被传输到第一存储装置50_1。第一存储装置50_1中包括的存储器控制器可以接收写入请求,生成与写入请求相对应的写入命令,并且将写入命令输出到存储器装置。
此后,当存储器装置从存储器控制器接收到写入命令时,存储器装置可以通过执行与写入命令相对应的写入操作(编程操作)来将从主存储器320接收的数据存储在存储器单元阵列中。
在实施例中,CPU 310可以通过访问主存储器320来获得待存储在存储装置中的数据。然而,为了限制主存储器320的大小并提高CPU 310的操作速度,在本公开中,提出了一种方法,在该方法中,每个存储装置为缓冲存储器分配高速缓存区域,并且CPU 310访问所分配的高速缓存区域。
此外,在本公开中,提出了一种每个存储装置为缓冲存储器分配高速缓存区域以用于机器学习或深度学习的方法。
图7示出根据本公开的实施例的从存储装置输出图形数据的过程。
参照图4和图7,图7示出了图4的主机300的组件以及第一存储装置50_1和第二存储装置50_2。图7示出根据主机300的图形数据读取请求来输出图形数据的过程。
在实施例中,主机300可以请求第一存储装置50_1中存储的图形数据。当从主机300输出用于请求第一存储装置50_1中存储的图形数据的读取请求时,第一存储装置50_1可以响应于读取请求而输出相应的数据。
具体地,第一存储装置50_1中包括的存储器控制器可以生成与读取请求相对应的读取命令,并且将读取命令输出到存储器装置。当存储器装置从存储器控制器接收到读取命令时,存储器装置可以通过执行与读取命令对应的读取操作来读取相应的数据,并且将读取数据输出到存储器控制器。存储器控制器可以将从存储器装置接收的读取数据输出到主机300。
在实施例中,从第一存储装置50_1输出的读取数据可以通过GPU 330传输到图形存储器340,并且图形存储器340可以存储从第一存储装置50_1输出的读取数据。
此后,GPU 330可以基于图形存储器340中存储的数据执行后续操作。
在实施例中,GPU 330可以通过访问图形存储器340来获得从每个存储装置读取的图形数据。然而,为了限制图形存储器340的大小并提高GPU 330的操作速度,在本公开中,提出了一种方法,在该方法中,每个存储装置为缓冲存储器分配高速缓存区域,并且GPU330访问所分配的高速缓存区域。
此外,在本公开中,提出了一种每个存储装置为缓冲存储器分配高速缓存区域以用于机器学习或深度学习的方法。
图8示出根据本公开的实施例的从主机输出图形数据的过程。
参照图4和图8,图8示出了图4的主机300的组件以及第一存储装置50_1和第二存储装置50_2。图8示出根据主机300的图形数据写入请求来输出数据的过程。
在实施例中,主机300可以请求在第一存储装置50_1中存储图形数据。当从主机300输出用于在第一存储装置50_1中存储图形数据的写入请求时,可以与写入请求一起输出图形存储器340的与写入请求相对应的图形数据。
具体地,GPU 330的写入请求和图形存储器340的图形数据可以通过PCIe接口传输到第一存储装置50_1。第一存储装置50_1中包括的存储器控制器可以接收写入请求,生成与写入请求相对应的写入命令,并且将写入命令输出到存储器装置。
此后,当存储器装置从存储器控制器接收到写入命令时,存储器装置可以通过执行与写入命令相对应的写入操作(编程操作)来将从图形存储器340接收的图形数据存储在存储器单元阵列中。
在实施例中,GPU 330可以通过访问图形存储器340来获得待存储在存储装置中的数据。然而,为了限制图形存储器340的大小并提高GPU 330的操作速度,在本公开中,提出了一种方法,在该方法中,每个存储装置为缓冲存储器分配高速缓存区域,并且GPU 330访问所分配的高速缓存区域。
此外,在本公开中,提出了一种每个存储装置为缓冲存储器分配高速缓存区域以用于机器学习或深度学习的方法。
图9示出根据本公开实施例的为缓冲存储器分配映射区域和高速缓存区域的方法。
参照图1和图9,图9示出图1的主机300和包括在第一存储装置50_1和第二存储装置50_2中的第一存储装置50_1中的缓冲存储器400。图9仅示出了第一存储装置50_1,但是本公开的内容可以等同地应用于第二存储装置50_2。
指示LBA与PBA之间的映射关系的映射数据可以存储在图9的缓冲存储器400中。此外,在本公开中,除了映射数据之外,从图1的CPU 310和图1的GPU 330接收的数据也可以存储在缓冲存储器400中。
在实施例中,主机300可以向第一存储装置50_1输出分配请求ASSIGN_REQ。例如,主机300中包括的图1的CPU 310可以将分配请求ASSIGN_REQ输出到第一存储装置50_1。分配请求ASSIGN_REQ可以是指示在缓冲存储器400中分配存储除映射数据之外的数据的区域的请求。
即,主机300可以请求将缓冲存储器400的区域划分为存储映射数据的映射区域410和存储除映射数据之外的数据的高速缓存区域420,并且将映射区域410的一部分分配给高速缓存区域420。缓冲存储器400可以基于从主机300接收到的分配请求ASSIGN_REQ来分配映射区域410和高速缓存区域420。
此处,图1的主存储器320和图1的图形存储器340的数据可以被高速缓存在高速缓存区域420中。也就是说,数据可以被高速缓存在高速缓存区域420中,使得主机300可以直接访问第一存储装置50_1,而无需访问图1的主存储器320和图1的图形存储器340。
在实施例中,可以将图1的存储器装置100中存储的数据顺序地高速缓存在缓冲存储器400中,并且待输出到主机300的数据可以预先被高速缓存。因此,可以增加第一存储装置50_1的数据吞吐量。
此外,主机300可以通过分配请求ASSIGN_REQ来改变待向缓冲存储器400分配的映射区域410和高速缓存区域420的大小。
例如,主机300可以向第一存储装置50_1输出分配请求ASSIGN_REQ,指示根据图1的CPU 310和图1的GPU 330的操作效率来改变映射区域410和高速缓存区域420。也就是说,主机300可以调整从缓冲存储器400的映射区域410到高速缓存区域420的转换率。
具体地,当图1的CPU 310和图1的GPU 330的数据吞吐量增大时,主机300可以增大高速缓存区域420(减小映射区域410)。当图1的CPU 310和图1的GPU 330的数据吞吐量降低时,主机300可以减小高速缓存区域420(增大映射区域410)。
在实施例中,主机300可以通过将缓冲存储器400的映射区域410的一部分转换为高速缓存区域420来直接访问第一存储装置50_1,而无需访问图1的主存储器320。因此,可以提高数据的处理速度。
此外,当不使用被转换为高速缓存区域420的那部分时,即,当不访问高速缓存区域420时,第一存储装置50_1可以限制施加到高速缓存区域420的电力以切换到省电(powersaving)状态。
在实施例中,当没有从主机300接收到新的分配请求ASSIGN_REQ时,可以保持分配给缓冲存储器400的映射区域410与高速缓存区域420的比率。另外,由于保持了映射区域410与高速缓存区域420的比率,所以可以原样使用映射区域410的映射数据。
然而,当从主机300接收到新的分配请求ASSIGN_REQ时,可以以根据分配请求ASSIGN_REQ调整的新比率来分配映射区域410和高速缓存区域420。
图10示出根据本公开的实施例的在分配了缓冲存储器的每个区域之后在主存储器和图形存储器与高速缓存区域之间的数据传输。
参照图9和图10,图10示出了图9的主机300中包括的主存储器320和图形存储器340,以及根据图9的主机300的分配请求ASSIGN_REQ划分的缓冲存储器400的映射区域410和高速缓存区域420。
在实施例中,当通过分配请求ASSIGN_REQ将缓冲存储器400划分为映射区域410和高速缓存区域420时,主存储器320和图形存储器340的数据可以被存储在高速缓存区域420中。另外,可以预先在高速缓存区域420中高速缓存待输出到主机300的数据。因此,可以提高主机300和第一存储装置50_1的数据处理速度。
在实施例中,当主存储器320和图形存储器340的数据被存储在高速缓存区域420时,CPU 310与GPU 330可以访问第一存储装置50_1而无需主存储器320和图形存储器340中的数据移动。
此时,当从主机300接收到新的分配请求ASSIGN_REQ并且高速缓存区域420增大时,可以将主存储器320和图形存储器340的更大数量的数据存储在高速缓存区域420中。此外,CPU 310和GPU 330直接访问第一存储装置50_1的次数可以增加。
相反,当从主机300接收到新的分配请求ASSIGN_REQ并且高速缓存区域420减小时,可以减少可以在高速缓存区域420中存储的数据的数量。此外,CPU 310与GPU 330直接访问第一存储装置50_1的次数可以减少。
图11是示出根据本公开的实施例的存储装置的操作的示图。
参照图11,在操作S1101中,存储装置可以从主机接收分配请求。例如,主机中包括的CPU可以将分配请求输出到存储装置。
分配请求可以是指示将存储装置中包括的缓冲存储器的映射区域的一部分分配给高速缓存区域的请求。此处,指示LBA与PBA之间的映射关系的映射数据可以被存储在映射区域中,除映射数据之外的数据可以被存储在高速缓存区域中。
在操作S1103中,存储装置可以基于从主机接收的分配请求来确定映射区域与高速缓存区域的分配比率。
例如,当主机中包括的CPU和GPU的数据吞吐量增大时,可以将高速缓存区域分配为相对大的区域。然而,当CPU和GPU的数据吞吐量降低时,可以将高速缓存区域分配为相对小的区域。
在操作S1105中,存储装置可以根据所确定的分配比率来分配映射区域和高速缓存区域。当分配了映射区域和高速缓存区域时,映射数据可以被高速缓存在映射区域中,并且从主机接收的数据或待从存储器装置输出到主机的数据可以被预先高速缓存在高速缓存区域中。此时,当高速缓存区域未被使用时,即,当高速缓存区域未被访问时,存储装置可以将高速缓存区域的电力改变为省电状态。
在操作S1107中,存储装置可以确定是否从主机接收到新的分配请求。此处,新的分配请求可以是指示重置映射区域与高速缓存区域的分配比率的请求。
当从主机接收到新的分配请求(是)时,该方法可以进行到操作S1103,并且存储装置可以通过基于分配请求再次确定映射区域与高速缓存区域的分配比率来分配映射区域和高速缓存区域。
然而,当没有从主机接收到新的分配请求(否)时,该方法可以进行到操作S1109。
在操作S1109中,存储装置可以保持由前一分配请求设置的对映射区域和高速缓存区域的分配。即,存储装置可以将除映射数据之外的数据高速缓存在分配有映射区域的一部分的高速缓存区域中,并且按照原样使用映射区域中存储的映射数据。
图12是示出根据本公开的图1的存储器控制器的另一实施例的示图。
存储器控制器1000连接到主机和存储器装置。存储器控制器1000被配置为响应于来自主机的请求而访问存储器装置。例如,存储器控制器1000被配置为控制存储器装置的写入操作、读取操作、擦除操作以及后台操作。存储器控制器1000被配置为提供存储器装置与主机之间的接口。存储器控制器1000被配置为驱动用于控制存储器装置的固件。
参照图12,存储器控制器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。闪存转换层的地址映射方法包括根据映射单位的多种映射方法。代表性的地址映射方法包括页面映射方法、块映射方法和混合映射方法。
处理器1010被配置为将从主机接收的数据随机化。例如,处理器1010可以使用随机化种子来将从主机接收的数据随机化。经随机化的数据被提供给存储器装置作为待存储的数据,并且被编程到存储器单元阵列。
处理器1010可以通过驱动软件或固件来执行随机化和去随机化。
存储器缓冲器1020可以用作处理器1010的操作存储器、高速缓存存储器或缓冲存储器。存储器缓冲器1020可以存储由处理器1010运行的代码和命令。存储器缓冲器1020可以存储由处理器1010处理的数据。存储器缓冲器1020可以包括静态RAM(SRAM)或动态RAM(DRAM)。
错误校正电路1030可以执行错误校正。错误校正电路1030可以基于待通过存储器接口1060写入到存储器装置的数据来执行错误校正编码(ECC编码)。经错误校正编码的数据可以通过存储器接口1060被传递到存储器装置。错误校正电路1030可以对通过存储器接口1060从存储器装置接收的数据执行错误校正解码(ECC解码)。例如,错误校正电路1030可以被包括在存储器接口1060中作为存储器接口1060的组件。
主机接口1040被配置为在处理器1010的控制下与外部主机通信。主机接口1040可以被配置为使用诸如以下的各种通信标准或接口中的至少一种来执行通信:通用串行总线(USB)、串行AT附件(SATA)、串列SCSI(SAS)、高速芯片间(HSIC)、小型计算机***接口(SCSI)、***组件互连(PCI)、高速非易失性存储器(NVMe)、通用闪存(UFS)、安全数字(SD)、多媒体卡(MMC)、嵌入式MMC(eMMC)、双列直插式存储器模块(DIMM)、寄存式DIMM(RDIMM)和低负载DIMM(LRDIMM)。
缓冲器控制器1050被配置为在处理器1010的控制下控制存储器缓冲器1020。
存储器接口1060被配置为在处理器1010的控制下与存储器装置通信。存储器接口1060可以通过通道与存储器装置进行命令、地址和数据的通信。
例如,存储器控制器1000可以不包括存储器缓冲器1020以及缓冲器控制器1050。
例如,处理器1010可以使用代码来控制存储器控制器1000的操作。处理器1010可以从设置在存储器控制器1000内部的非易失性存储器装置(例如,只读存储器)加载代码。作为另一示例,处理器1010可以通过存储器接口1060从存储器装置加载代码。
例如,存储器控制器1000的总线1070可以被划分为控制总线和数据总线。数据总线可以被配置为在存储器控制器1000内传输数据,并且控制总线可以被配置为在存储器控制器1000内传输诸如命令和地址的控制信息。数据总线和控制总线可以彼此分离,并且可以不干扰或影响彼此。数据总线可以连接到主机接口1040、缓冲器控制器1050、错误校正电路1030和存储器接口1060。控制总线可以连接到主机接口1040、处理器1010、缓冲器控制器1050、存储器缓冲器1020和存储器接口1060。
图13是示出应用了根据本公开的实施例的存储装置的存储卡***的框图。
参照图13,存储卡***2000包括存储器控制器2100、存储器装置2200和连接器2300。
存储器控制器2100连接到存储器装置2200。存储器控制器2100被配置为访问存储器装置2200。例如,存储器控制器2100被配置为控制存储器装置2200的读取操作、写入操作、擦除操作以及后台操作。存储器控制器2100被配置为提供存储器装置2200与主机之间的接口。存储器控制器2100被配置为驱动用于控制存储器装置2200的固件。存储器装置2200可以与参照图1描述的图1的存储器装置100相同地实施。
作为示例,存储器控制器2100可以包括诸如随机存取存储器(RAM)、处理器、主机接口、存储器接口和错误校正电路的组件。
存储器控制器2100可以通过连接器2300与外部装置通信。存储器控制器2100可以根据特定通信标准与外部装置(例如,主机)通信。作为示例,存储器控制器2100被配置为通过诸如以下的各种通信标准或接口中的至少一种与外部装置通信:通用串行总线(USB)、多媒体卡(MMC)、嵌入式MMC(eMMC)、***组件互连(PCI)、高速PCI(PCI-e或PCIe)、高级技术附件(ATA)、串行ATA、并行ATA、小型计算机***接口(SCSI)、增强型小型磁盘接口(ESDI)、电子集成驱动器(IDE)、火线(FireWire)、通用闪存(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)。
图14是示例性地示出应用了根据本公开的实施例的存储装置的固态驱动器(SSD)***的框图。
参照图14,SSD***3000包括主机3100和SSD 3200。SSD 3200通过信号连接器3001与主机3100交换信号SIG,并且通过电源连接器3002接收电力PWR。SSD 3200包括SSD控制器3210、多个闪速存储器或非易失性存储器(NVM)3221至322n、辅助电源装置3230以及缓冲存储器3240。
在实施例中,SSD控制器3210可以执行参照图1描述的图1的存储器控制器200的功能。
SSD控制器3210可以响应于从主机3100接收的信号SIG来控制多个闪速存储器3221至322n。作为示例,信号SIG可以为基于主机3100与SSD 3200之间的接口的信号。例如,信号SIG可以是由诸如以下的接口中的至少一个接口限定的信号:通用串行总线(USB)、多媒体卡(MMC)、嵌入式MMC(eMMC)、***组件互连(PCI)、高速PCI(PCI-e或PCIe)、高级技术附件(ATA)、串行ATA、并行ATA、小型计算机***接口(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的非易失性存储器。
图15是示出应用了根据本公开的实施例的存储装置的用户***的框图。
参照图15,用户***4000包括应用处理器4100、存储器模块4200、网络模块4300、存储模块4400和用户接口4500。
应用处理器4100可以驱动用户***4000中包括的组件、操作***(OS)、用户程序等。例如,应用处理器4100可以包括控制用户***4000中包括的组件的控制器、接口、图形引擎等。应用处理器4100可以被设置为片上***(SoC)。
存储器模块4200可以作为用户***4000的主存储器、操作存储器、缓冲存储器或高速缓存存储器来操作。存储器模块4200可以包括诸如DRAM、SDRAM、DDR SDRAM、DDR2SDRAM、DDR3 SDRAM、LPDDR SDRAM、LPDDR2 SDRAM和LPDDR3 SDRAM的易失性随机存取存储器或诸如PRAM、ReRAM、MRAM和FRAM的非易失性随机存取存储器。例如,应用处理器4100和存储器模块4200可以基于堆叠封装(POP)来封装,并且被设置为一个半导体封装。
网络模块4300可以与外部装置通信。例如,网络模块4300可以支持诸如以下的无线通信:码分多址(CDMA)、全球移动通信***(GSM)、宽带CDMA(WCDMA)、CDMA-2000、时分多址(TDMA)、长期演进、WiMAX、WLAN、UWB、蓝牙和WI-FI。例如,网络模块4300可以被包括在应用处理器4100中。
存储模块4400可以存储数据。例如,存储模块4400可以存储从应用处理器4100接收的数据。可选地,存储模块4400可以将存储模块4400中存储的数据传输到应用处理器4100。例如,存储模块4400可以被实现为诸如以下的非易失性半导体存储器元件:相变RAM(PRAM)、磁性RAM(MRAM)、电阻式RAM(RRAM)、NAND闪存、NOR闪存和三维NAND闪存。例如,存储模块4400可以被设置为诸如存储卡的可移除存储装置(可移除驱动器)和用户***4000的外部驱动器。
例如,存储模块4400可以包括多个非易失性存储器装置,并且该多个非易失性存储器装置可以与参照图2和图3描述的存储器装置相同地操作。存储模块4400可以与参照图1描述的第一存储装置50_1和第二存储装置50_2相同地操作。
用户接口4500可以包括用于向应用处理器4100输入数据或指令或者用于向外部装置输出数据的接口。例如,用户接口4500可以包括用户输入接口,诸如键盘、小键盘、按钮、触摸面板、触摸屏、触摸板、触摸球、相机、麦克风、陀螺仪传感器、振动传感器和压电元件。用户接口4500可以包括用户输出接口,诸如液晶显示器(LCD)、有机发光二极管(OLED)显示装置、有源矩阵OLED(AMOLED)显示装置、LED、扬声器和监视器。
虽然以上描述了某些实施例,但是本领域技术人员将理解,所描述的实施例仅作为示例。因此,主机装置、存储装置及其操作方法不应基于所描述的实施例而被限制。相反,当结合以上描述和附图时,本文描述的主机装置、存储装置及其操作方法应当仅根据所附权利要求书来限制。此外,可以组合实施例以形成另外的实施例。
Claims (20)
1.一种存储装置,包括:
存储器装置,包括多个存储器单元;
存储器控制器,控制对所述存储器装置执行的操作;以及
缓冲存储器,包括高速缓存区域和映射区域,在所述映射区域中存储映射数据,所述映射数据指示与所述操作对应的逻辑块地址和物理块地址之间的映射关系,
其中,所述缓冲存储器根据从主机接收的分配请求将所述映射区域的一部分分配给所述高速缓存区域,并且将除所述映射数据之外的数据存储在所述高速缓存区域中。
2.根据权利要求1所述的存储装置,其中所述缓冲存储器通过在所述高速缓存区域中高速缓存待通过所述存储器控制器从所述存储器装置输出到所述主机的数据来存储数据。
3.根据权利要求1所述的存储装置,其中所述缓冲存储器通过在所述高速缓存区域中高速缓存待从所述主机输出的数据来存储数据。
4.根据权利要求1所述的存储装置,其中所述缓冲存储器在所述主机的数据吞吐量增加时通过增大所述高速缓存区域来分配所述部分。
5.根据权利要求1所述的存储装置,其中所述缓冲存储器在所述主机的数据吞吐量降低时通过减小所述高速缓存区域来分配所述部分。
6.根据权利要求1所述的存储装置,其中除所述高速缓存区域被访问的情况之外,将施加到所述高速缓存区域的电力改变为省电状态。
7.根据权利要求1所述的存储装置,其中所述缓冲存储器进一步基于是否从所述主机接收到新的分配请求来确定是否改变所述映射区域与所述高速缓存区域的分配比率。
8.根据权利要求7所述的存储装置,其中除从所述主机接收到所述新的分配请求的情况之外,所述缓冲存储器通过保持所述映射区域与所述高速缓存区域的分配比率来确定是否改变分配比率。
9.根据权利要求7所述的存储装置,其中在从所述主机接收到所述新的分配请求的情况下,所述缓冲存储器通过根据所述新的分配请改变所述映射区域与所述高速缓存区域的分配比率来确定是否改变分配比率。
10.一种操作存储装置的方法,所述存储装置包括存储器装置、存储器控制器以及缓冲存储器,所述存储器装置包括多个存储器单元,所述存储器控制器控制对所述存储器装置执行的操作,所述方法包括:
从主机接收分配请求,所述分配请求指示划分和分配所述缓冲存储器中包括的区域;
根据所述分配请求,向高速缓存区域分配映射区域的一部分,在所述映射区域中存储映射数据,所述映射数据指示与所述操作对应的、逻辑块地址和物理块地址之间的映射关系;以及
将除所述映射数据之外的数据存储在所述高速缓存区域中。
11.根据权利要求10所述的方法,其中将所述数据存储在所述高速缓存区域中包括:在所述高速缓存区域中高速缓存待通过所述存储器控制器从所述存储器装置输出到所述主机的数据。
12.根据权利要求10所述的方法,其中将所述数据存储在所述高速缓存区域中包括:在所述高速缓存区域中高速缓存待从所述主机输出的数据。
13.根据权利要求10所述的方法,其中将所述映射区域的所述一部分分配给所述高速缓存区域包括:在所述主机的数据吞吐量增加时增大所述高速缓存区域。
14.根据权利要求10所述的方法,其中将所述映射区域的所述一部分分配给所述高速缓存区域包括:在所述主机的数据吞吐量降低时减小所述高速缓存区域。
15.根据权利要求10所述的方法,进一步包括:除所述高速缓存区域被访问的情况之外,将施加到所述高速缓存区域的电力改变为省电状态。
16.根据权利要求10所述的方法,进一步包括:基于是否从所述主机接收到新的分配请求来确定是否改变所述映射区域与所述高速缓存区域的分配比率。
17.根据权利要求16所述的方法,其中确定是否改变所述映射区域与所述高速缓存区域的分配比率包括:除从所述主机接收到所述新的分配请求的情况之外,保持所述映射区域与所述高速缓存区域的分配比率。
18.根据权利要求16所述的方法,其中确定是否改变所述映射区域与所述高速缓存区域的分配比率包括:在从所述主机接收到所述新的分配请求的情况下,根据所述新的分配请求来改变所述映射区域与所述高速缓存区域的分配比率。
19.一种主机装置,包括:
中央处理单元,运行和处理待对存储装置执行的操作;
主存储器,存储与由所述中央处理单元处理的所述操作相对应的数据;
图形处理单元,处理图形操作并输出结果值;以及
图形存储器,存储所述结果值,
其中,所述中央处理单元进一步输出分配请求,所述分配请求请求将所述存储装置中包括的缓冲存储器的映射区域的一部分分配给所述缓冲存储器的高速缓存区域。
20.根据权利要求19所述的主机装置,其中所述映射区域与所述高速缓存区域的分配比率是根据由所述中央处理单元和所述图形处理单元处理的数据吞吐量来确定的。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210081805A KR20220170664A (ko) | 2021-06-23 | 2021-06-23 | 호스트 장치, 저장 장치 및 그 동작 방법 |
KR10-2021-0081805 | 2021-06-23 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115509957A true CN115509957A (zh) | 2022-12-23 |
Family
ID=84500967
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210127657.9A Pending CN115509957A (zh) | 2021-06-23 | 2022-02-11 | 主机装置、存储装置及其操作方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11989446B2 (zh) |
KR (1) | KR20220170664A (zh) |
CN (1) | CN115509957A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116880746A (zh) * | 2023-06-05 | 2023-10-13 | 珠海妙存科技有限公司 | 数据处理方法、装置、电子设备及计算机可读存储介质 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7240177B2 (en) * | 2004-05-27 | 2007-07-03 | International Business Machines Corporation | System and method for improving performance of dynamic memory removals by reducing file cache size |
US8074034B2 (en) * | 2007-07-25 | 2011-12-06 | Agiga Tech Inc. | Hybrid nonvolatile ram |
US8301694B2 (en) * | 2010-05-20 | 2012-10-30 | Sandisk Il Ltd. | Host device and method for accessing a virtual file in a storage device by bypassing a cache in the host device |
US9734057B2 (en) * | 2012-12-05 | 2017-08-15 | Samsung Electronics Co., Ltd. | Semiconductor storage device and buffer operation method thereof |
US20150081967A1 (en) * | 2013-09-18 | 2015-03-19 | Hewlett-Packard Development Company, L.P. | Management of storage read requests |
KR20150055413A (ko) * | 2013-11-13 | 2015-05-21 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 |
KR102238650B1 (ko) | 2014-04-30 | 2021-04-09 | 삼성전자주식회사 | 저장 장치, 상기 저장 장치를 포함하는 컴퓨팅 시스템 및 상기 저장 장치의 동작 방법 |
CN105183661A (zh) * | 2015-07-27 | 2015-12-23 | 联想(北京)有限公司 | 一种控制方法及电子设备 |
US10558570B2 (en) * | 2016-03-14 | 2020-02-11 | Intel Corporation | Concurrent accesses of asymmetrical memory sources |
US10152243B2 (en) * | 2016-09-15 | 2018-12-11 | Qualcomm Incorporated | Managing data flow in heterogeneous computing |
US10223271B2 (en) * | 2017-03-31 | 2019-03-05 | Intel Corporation | Apparatus, computer program product, and method to perform cache operations in a solid state drive |
US20210191868A1 (en) * | 2019-12-23 | 2021-06-24 | Intel Corporation | Mechanism to partition a shared local memory |
-
2021
- 2021-06-23 KR KR1020210081805A patent/KR20220170664A/ko unknown
- 2021-12-09 US US17/546,863 patent/US11989446B2/en active Active
-
2022
- 2022-02-11 CN CN202210127657.9A patent/CN115509957A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116880746A (zh) * | 2023-06-05 | 2023-10-13 | 珠海妙存科技有限公司 | 数据处理方法、装置、电子设备及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
US20220413753A1 (en) | 2022-12-29 |
US11989446B2 (en) | 2024-05-21 |
KR20220170664A (ko) | 2022-12-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11307803B2 (en) | Storage device for suspending program operation and performing read operation and operating method thereof | |
US11449417B2 (en) | Memory controller performing host-aware performance booster mode and method of operating the same | |
CN111352855B (zh) | 具有提高的映射更新速度的存储装置及其操作方法 | |
US20220253245A1 (en) | Storage device and method of operating the same | |
KR20210142981A (ko) | 메모리 컨트롤러 및 그 동작 방법 | |
CN112988049A (zh) | 存储装置及其操作方法 | |
KR20210090439A (ko) | 메모리 컨트롤러 및 그 동작 방법 | |
CN113377687A (zh) | 存储器控制器及其操作方法 | |
CN112346650A (zh) | 存储装置及其操作方法 | |
CN114201414A (zh) | 存储装置及其操作方法 | |
US11978519B2 (en) | Storage device and operating method thereof | |
CN114356209A (zh) | 存储装置及其操作方法 | |
US20230244607A1 (en) | Memory controller and method of operating the same | |
US11989446B2 (en) | Host device, storage device, and method of operating the same | |
US11636899B2 (en) | Memory device and method of operating the same | |
US11593023B2 (en) | Memory controller and method of operating the same | |
CN112199037A (zh) | 存储器控制器及其操作方法 | |
US11868658B2 (en) | Memory controller including first processor for generating commands and second processor for generating logging information and method of operating the memory controller | |
CN113342708B (zh) | 存储器控制器及其操作方法 | |
US11500768B2 (en) | Storage device performing garbage collection and method of operating the same | |
US20240118813A1 (en) | Semiconductor memory device and operating method of the semiconductor memory device | |
KR20230168889A (ko) | 메모리 장치 및 그것의 동작 방법 | |
CN116804909A (zh) | 存储装置及其操作方法 | |
CN113342708A (zh) | 存储器控制器及其操作方法 | |
CN114077388A (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 |