CN116126213A - 存储装置共享系统及其操作方法 - Google Patents
存储装置共享系统及其操作方法 Download PDFInfo
- Publication number
- CN116126213A CN116126213A CN202210765325.3A CN202210765325A CN116126213A CN 116126213 A CN116126213 A CN 116126213A CN 202210765325 A CN202210765325 A CN 202210765325A CN 116126213 A CN116126213 A CN 116126213A
- Authority
- CN
- China
- Prior art keywords
- storage device
- memory
- dev
- str
- storage
- 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
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
- G06F13/1652—Handling requests for interconnection or transfer for access to memory bus based on arbitration in a multiprocessor architecture
- G06F13/1663—Access to shared memory
-
- 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/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
- G06F13/1673—Details of memory controller using buffers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
- G06F13/1694—Configuration of memory controller to different memory types
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/18—Handling requests for interconnection or transfer for access to memory bus based on priority control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/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/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage 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/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; 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/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0658—Controller construction arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/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/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- 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)
- Computer Security & Cryptography (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开的实施例涉及一种存储装置共享系统及其操作方法。根据本公开的实施例,存储装置共享系统可以包括:i)多个存储装置,每个存储装置包括第一存储器缓冲区和第二存储器缓冲区,第一存储器缓冲区包括多个第一类型存储块,第二存储器缓冲区包括多个第二类型存储块,ii)主机装置,被配置为基于针对多个存储装置之中的第一存储装置设置的共享状态,确定是否将第一存储装置的第一存储器缓冲区设置为用于存储待写入到多个存储装置之中的第二存储装置的数据的区域。
Description
相关申请的交叉引用
本申请要求于2021年11月12日提交的、申请号为10-2021-0155840的韩国专利申请的优先权,其通过引用整体并入本文。
技术领域
本公开的实施例涉及一种存储装置共享系统及其操作方法。
背景技术
存储器系统包括存储器装置,存储器装置基于来自诸如计算机、服务器、智能电话、平板电脑或其他电子装置的主机的请求来存储数据。存储器系统的示例范围从传统的基于磁盘的硬盘驱动器(HDD)到诸如固态驱动器(SSD)、通用闪存(UFS)装置或嵌入式MMC(eMMC)装置的基于半导体的数据存储装置。
存储器系统可以进一步包括用于控制存储器装置的存储器控制器。存储器控制器可以从主机接收命令,并且可以基于所接收的命令运行命令或控制对存储器系统中的存储器装置的读取操作/写入操作/擦除操作。存储器控制器可以用于运行用于执行逻辑操作的固件操作,以控制这些操作。
另一方面,处理大量数据的系统(例如,云计算系统、数据中心)可以使用多个存储装置来处理大量数据。在这种情况下,当多个存储装置之中的存储装置发生故障时,系统不再使用发生故障的存储装置。
发明内容
本公开的实施例可以提供一种存储装置共享系统及其操作方法,能够利用一存储装置的一些资源来提高另一存储装置的性能。
此外,本公开的实施例可以提供一种存储装置共享系统及其操作方法,能够避免故障存储装置中包含的资源不被使用的问题。
一方面,本公开的实施例可以提供一种存储装置共享系统,该存储装置共享系统包括:i)多个存储装置,每个存储装置包括第一存储器缓冲区和第二存储器缓冲区,第一存储器缓冲区包括多个第一类型存储块,第二存储器缓冲区包括多个第二类型存储块,ii)主机装置,被配置为基于针对多个存储装置之中的第一存储装置设置的共享状态,确定是否将第一存储装置的第一存储器缓冲区设置为用于存储待写入到多个存储装置之中的第二存储装置的数据的区域。
另一方面,本公开的实施例可以提供一种存储装置共享系统的操作方法,该操作方法包括:为存储装置共享系统中包括的多个存储装置之中的第一存储装置设置共享状态,每个存储装置包括第一存储器缓冲区和第二存储器缓冲区,第一存储器缓冲区包括多个第一类型存储块,第二存储器缓冲区包括多个第二类型存储块;并且基于第一存储装置的共享状态,确定是否将第一存储装置的第一存储器缓冲区配置为用于存储待写入到多个存储装置之中的第二存储装置的数据的区域。
根据本公开的实施例,可以使用故障存储装置中的一些资源来提高另一个存储装置的性能,并且避免故障存储装置中包括的资源不被使用的问题。
附图说明
图1示出根据本公开的实施例的存储器系统的配置。
图2示出根据所公开技术的实施例的存储器装置。
图3示出根据本公开的实施例的存储器装置的字线和位线的结构。
图4示出根据本公开的实施例的多个存储装置共享系统。
图5示出根据本公开的实施例的存储装置共享系统。
图6示出根据本公开的实施例的存储装置共享系统将第一存储装置的第一存储器缓冲区设置为由第二存储装置共享的操作。
图7示出根据本公开的实施例的存储装置共享系统改变第一存储装置的共享状态的操作。
图8示出根据本公开的实施例的当第一存储装置的共享状态为第一状态时存储装置共享系统的操作。
图9示出根据本公开的实施例的当第一存储装置的共享状态为第二状态时存储装置共享系统的操作。
图10示出根据本公开的实施例的主机装置确定是否改变第一存储装置的共享状态的操作。
图11示出根据本公开的实施例的在将第一存储装置的共享状态改变为第二状态之后的存储装置共享系统的操作。
图12示出根据本公开的实施例的存储装置共享系统确定共享多个存储装置中的每一个的优先级的操作。
图13示出根据本公开的实施例的存储装置共享系统的操作方法。
图14示出基于所公开技术的一些实施例的计算系统的配置。
具体实施方式
在下文中,参照附图详细地描述了本公开的实施例。在整个说明书中,对“实施例”、“另一实施例”等的引用不一定仅针对一个实施例,并且对任何这种短语的不同引用不一定针对相同的实施例。当在本文中使用时,术语“实施例”不一定指所有实施例。
下面参照附图更详细地描述本发明的各种实施例。然而,本发明可以以不同形式和变型来实现,并且不应被解释为限于本文所阐述的实施例。相反,提供所描述的实施例使得本公开将是彻底且完整的,并且将本发明充分地传达给本发明所属领域的技术人员。在整个本公开中,相同的附图标记在本发明的各个附图和实施例中指相同的部件。
本文描述的方法、进程和/或操作可以通过待由计算机、处理器、控制器或其他信号处理装置执行的代码或指令来执行。代码或指令可以被存储在非暂时性计算机可读介质上。计算机、处理器、控制器或其他信号处理装置可以是本文所述的那些元件,还可以是除本文所述的元件之外的元件。由于形成方法(或计算机、处理器、控制器或其他信号处理装置的操作)基础的算法得到了详细描述,因此用于实现方法实施例的操作的代码或指令可以将计算机、处理器、控制器或其他信号处理装置转换成用于执行本文的方法的专用处理器。
当至少部分地以软件实施时,控制器、处理器、装置、模块单元、多路复用器、生成器、逻辑、接口、解码器、驱动器、发生器以及其他信号生成和信号处理特征可以包括,例如,用于存储例如待由计算机、处理器、微处理器、控制器或其他信号处理装置运行的代码或指令的存储器或其他存储装置。
图1示出根据本公开的实施例的存储器系统100。
在一些实施方案中,存储器系统100可以包括被配置为存储数据的存储器装置110,以及被配置为控制存储器装置110的存储器控制器120。在本公开中,使用诸如闪速存储器的固态装置作为存储器装置的说明性示例,但实施例不限于此。
存储器装置110可以包括多个存储块,每个存储块包括用于存储数据的多个存储器单元。存储器装置110可以被配置为响应于从存储器控制器120接收的控制信号而操作。存储器装置110的操作可以包括,例如,读取操作、编程操作(也被称为“写入操作”)、擦除操作等。
存储器装置110中的存储器单元用于存储数据并且可以布置在存储器单元阵列中。存储器单元阵列可以被划分为存储器单元的存储块,并且每个块包括存储器单元的不同页面。在NAND闪速存储器装置的典型实施方案中,存储器单元的页面是可进行编程或写入的最小存储器单位,并且可以以块为单位擦除存储器单元中存储的数据。
在一些实施方案中,存储器装置110可以使用诸如以下的各种类型的装置来实施:双倍数据速率同步动态随机存取存储器(DDR SDRAM)、第四代低功率双倍数据速率(LPDDR4)SDRAM、图形双倍数据速率(GDDR)SDRAM、低功率DDR(LPDDR)、动态随机存取存储器(RDRAM)、NAND闪速存储器、垂直NAND闪速存储器、NOR闪速存储器、电阻式随机存取存储器(RRAM)、相变随机存取存储器(PRAM)、磁阻式随机存取存储器(MRAM)、铁电随机存取存储器(FRAM)或自旋转移力矩随机存取存储器(STT-RAM)。在一些实施方案中,存储器装置可以包括硬盘驱动器(HDD)或其他类型的机电数据存储装置。
存储器装置110可以使用三维阵列结构来实施。所公开技术的一些实施例可以应用于具有电荷存储层的任何类型的闪速存储器装置。在实施方案中,电荷存储层可以由导电材料形成,并且这种电荷存储层可以被称为浮置栅极。在另一实施方案中,电荷存储层可以由绝缘材料形成,并且这种闪速存储器装置可以被称为电荷撷取闪存(CTF)。
存储器装置110可以被配置为从存储器控制器120接收命令和地址,以访问存储器单元阵列中使用该地址选择的区域。也就是说,存储器装置110可以对存储器装置中具有与从存储器控制器120接收的地址相对应的物理地址的存储器区域执行与所接收的命令相对应的操作。
在一些实施方案中,存储器装置110可以执行编程操作、读取操作、擦除操作等。在编程操作期间,存储器装置110可以将数据写入由地址选择的区域中。在读取操作期间,存储器装置110可以从由地址选择的存储器区域中读取数据。在擦除操作期间,存储器装置110可以擦除由地址选择的存储器区域中存储的数据。
存储器控制器120可以控制对存储器装置110执行的写入(编程)操作、读取操作、擦除操作和后台操作。例如,后台操作可以包括被实施以优化存储器装置110的整体性能的操作,诸如垃圾收集(GC)操作、损耗均衡(WL)操作和坏块管理(BBM)操作。
存储器控制器120可以在主机的请求下控制存储器装置110的操作。可选地,当存储器控制器120执行存储器装置110的这种后台操作时,即使在没有来自主机的请求的情况下,存储器控制器120也可以控制存储器装置110的操作。
存储器控制器120和主机可以是分开的装置。在一些实施方案中,存储器控制器120和主机可以被集成并实施为单个装置。在下面的描述中,作为示例,存储器控制器120和主机将作为分开的装置讨论。
参照图1,存储器控制器120可以包括存储器接口(存储器I/F)122、控制电路123和主机接口(主机I/F)121。
主机接口121可以被配置为提供用于与主机通信的接口。
当从主机HOST接收命令时,控制电路123可以通过主机接口121接收命令,并且可以执行处理所接收的命令的操作。
存储器接口122可以直接地或间接地连接到存储器装置110以提供用于与存储器装置110通信的接口。也就是说,存储器接口122可以被配置为向存储器装置110和存储器控制器120提供接口,以供存储器控制器120基于来自控制电路123的控制信号和指令对存储器装置110执行存储器操作。
控制电路123可以被配置为通过存储器控制器120来控制存储器装置110的操作。例如,控制电路123可以包括处理器124和工作存储器125。控制电路123可以进一步包括错误检测/校正电路(ECC电路)126等。
处理器124可以控制存储器控制器120的全部操作。处理器124可以执行逻辑操作。处理器124可以通过主机接口121与主机HOST通信。处理器124可以通过存储器接口122与存储器装置110通信。
处理器124可以用于执行与闪存转换层(FTL)相关联的操作,以有效地管理对存储器系统100的存储器操作。处理器124可以通过FTL将由主机提供的逻辑块地址(LBA)转换为物理块地址(PBA)。FTL可以接收LBA并且通过使用映射表将LBA转换为PBA。
基于映射单位,FTL可以采用多种地址映射方法。典型的地址映射方法包括页面映射方法、块映射方法和混合映射方法。
处理器124可以被配置为使从主机接收的数据随机化,以将经随机化的数据写入存储器单元阵列。例如,处理器124可以通过使用随机化种子来使从主机接收的数据随机化。经随机化的数据被提供到存储器装置110,并且被写入存储器单元阵列。
处理器124可以被配置为在读取操作期间使从存储器装置110接收的数据去随机化。例如,处理器124可以通过使用去随机化种子来使从存储器装置110接收的数据去随机化。可以将经去随机化的数据输出到主机HOST。
处理器124可以运行固件(FW),以控制存储器控制器120的操作。换言之,处理器124可以控制存储器控制器120的全部操作,并且为了执行逻辑操作,可以执行(驱动)在启动期间加载到工作存储器125中的固件。
固件可以指存储在非易失性存储器上的、在存储器系统100内部执行的程序或软件。
在一些实施方案中,固件可以包括各种功能层。例如,固件可以包括闪存转换层(FTL)、主机接口层(HIL)和闪存接口层(FIL)中的至少一种,闪存转换层(FTL)被配置为将主机HOST请求中的逻辑地址转换为存储器装置110的物理地址,主机接口层(HIL)被配置为解译主机HOST向诸如存储器系统100的数据存储装置发出的命令并且将该命令传递到FTL,闪存接口层(FIL)被配置为将由FTL发出的命令传递到存储器装置110。
例如,固件可以被存储在存储器装置110中,然后被加载到工作存储器125中。
工作存储器125可以存储操作存储器控制器120所需的固件、程序代码、命令或数据条。工作存储器125可以包括,例如,作为易失性存储器的静态RAM(SRAM)、动态RAM(DRAM)和同步RAM(SDRAM)之中的至少一个。
错误检测/校正电路126可以被配置为通过使用错误检测和校正码来检测和校正数据中的一个或多个错误位。在一些实施方案中,进行错误检测和校正的数据可以包括工作存储器125中存储的数据和从存储器装置110检索的数据。
错误检测/校正电路126可以被实施为通过使用错误校正码来对数据进行解码。错误检测/校正电路126可以通过使用各种解码方案来实施。例如,可以使用执行非系统代码解码的解码器或使用执行系统代码解码的解码器。
在一些实施方案中,错误检测/校正电路126可以基于扇区检测一个或多个错误位。也就是说,每条读取数据可以包括多个扇区。在该专利申请文件中,扇区可以指小于闪速存储器的读取单位(例如,页面)的数据单元。可以基于地址来映射构成每条读取数据的扇区。
在一些实施方案中,错误检测/校正电路126可以计算位错误率(BER),并且逐个扇区地确定数据中的错误位的数量是否在错误校正能力之内。例如,如果BER高于参考值,则错误检测/校正电路126可以确定相应的扇区中的错误位不可校正,并且将相应的扇区标记为“失败”。如果BER小于或等于参考值,则错误检测/校正电路126可以确定相应的扇区可校正,或者可将相应的扇区标记为“通过”。
错误检测/校正电路126可以对所有读取数据依次地执行错误检测和校正操作。当读取数据中包括的扇区可校正时,错误检测/校正电路126可以继续到下一扇区,以检查是否需要对下一扇区进行错误校正操作。在以这种方式完成对所有读取数据的错误检测和校正操作后,错误检测/校正电路126可以获取关于哪个扇区在读取数据中被认为不可校正的信息。错误检测/校正电路126可以将该信息(例如,不可校正位的地址)提供到处理器124。
存储器系统100还可以包括总线127以在存储器控制器120的构成元件(例如,主机接口121、存储器接口122、处理器124、工作存储器125、错误检测/校正电路126)之间提供通道。总线127可以包括,例如用于传递各种类型的控制信号和命令的控制总线,以及用于传递各种类型的数据的数据总线。
作为示例,图1示出了存储器控制器120的上述构成元件。注意的是,可以省略附图中所示的一些,或者可以将存储器控制器120的上述构成元件中的一些集成到单个元件中。另外,在一些实施方案中,可以将一个或多个其他构成元件添加到存储器控制器120的上述构成元件。
图2是示意性地示出基于所公开技术的实施例的存储器装置110的框图。
在一些实施方案中,基于所公开技术的实施例的存储器装置110可以包括存储器单元阵列210、地址解码器220、读取/写入电路230、控制逻辑240以及电压生成电路250。
存储器单元阵列210可以包括多个存储块BLK1至BLKz,其中z是等于或大于2的自然数。
在多个存储块BLK1至BLKz中,可以按行和列设置多个字线WL和多个位线BL,并且可以按行和列来布置多个存储器单元MC。
可以通过多个字线WL将多个存储块BLK1至BLKz连接到地址解码器220。可以通过多个位线BL将多个存储块BLK1至BLKz连接到读取/写入电路230。
多个存储块BLK1至BLKz中的每一个可以包括多个存储器单元。在实施例中,多个存储器单元是非易失性存储器单元。在一些实施方案中,非易失性存储器单元可以以垂直沟道结构布置。
在实施例中,存储器单元阵列210可以被配置为具有二维结构的存储器单元阵列、具有三维结构的存储器单元阵列、或它们的组合。
存储器单元阵列210中包括的多个存储器单元中的每一个可以存储至少一位数据。例如,存储器单元阵列210中包括的多个存储器单元中的每一个可以是被配置为存储一位数据的单层单元(SLC)。作为另一示例,存储器单元阵列210中包括的多个存储器单元中的每一个可以是被配置为每个存储器单元存储两位数据的多层单元(MLC)。作为另一示例,存储器单元阵列210中包括的多个存储器单元中的每一个可以是被配置为每个存储器单元存储三位数据的三层单元(TLC)。作为另一示例,存储器单元阵列210中包括的多个存储器单元中的每一个可以是被配置为每个存储器单元存储四位数据的四层单元(QLC)。作为另一示例,存储器单元阵列210可以包括多个存储器单元,多个存储器单元中的每一个可以被配置为每个存储器单元存储至少五位数据。在实施例中,一些存储器单元中存储的位的数量可以是可动态配置的;例如,对于能够存储2位或更多位数据的存储器单元,存储器单元的子集可以被动态地配置为作为存储一位数据的SLC来操作。作为SLC操作的子集的大小也可以是可动态配置的。
参照图2,地址解码器220、读取/写入电路230、控制逻辑240和电压生成电路250可以作为被配置为驱动存储器单元阵列210的外围电路而操作。
地址解码器220可以通过多个字线WL连接到存储器单元阵列210。
地址解码器220可以被配置为响应于控制逻辑240的命令和控制信号而操作。
地址解码器220可以通过存储器装置110内部的输入/输出缓冲器接收地址。地址解码器220可以被配置为对所接收的地址之中的块地址进行解码。地址解码器220可以基于经解码的块地址选择至少一个存储块。
地址解码器220可以从电压生成电路250接收读取电压Vread和通过电压Vpass。
在读取操作期间,地址解码器220可以将读取电压Vread施加到所选择存储块内部的所选择字线WL,并且将通过电压Vpass施加到剩余的未选择字线WL。
在编程验证操作期间,地址解码器220可以将由电压生成电路250生成的验证电压施加到所选择存储块内部的所选择字线WL,并且可以将通过电压Vpass施加到剩余的未选择字线WL。
地址解码器220可以被配置为对所接收的地址之中的列地址进行解码。地址解码器220可以将经解码的列地址传输到读取/写入电路230。
存储器装置110可以逐个页面地执行读取操作和编程操作。请求读取操作和编程操作时接收的地址可以包括块地址、行地址和列地址中的至少一个。
地址解码器220可以基于块地址和行地址选择一个存储块和一个字线。列地址可以由地址解码器220进行解码,并且被提供到读取/写入电路230。
地址解码器220可以包括块解码器、行解码器、列解码器和地址缓冲器中的至少一个。
读取/写入电路230可以包括多个页面缓冲器PB。当存储器单元阵列210执行读取操作时,读取/写入电路230可以作为“读取电路”来操作,并且当存储器单元阵列210执行写入操作时,读取/写入电路230可以作为“写入电路”来操作。
上述读取/写入电路230也被称为包括多个页面缓冲器PB的页面缓冲器电路或被称为数据寄存器电路。读取/写入电路230可以包括参与数据处理功能的数据缓冲器,并且在一些实施方案中,读取/写入电路230可以进一步包括用于数据高速缓存的高速缓存缓冲器。
多个页面缓冲器PB可以通过多个位线BL连接到存储器单元阵列210。为了在读取操作和编程验证操作期间检测或感测存储器单元的阈值电压Vth,多个页面缓冲器PB可以连续地向连接到存储器单元的位线BL提供感测电流,以在感测节点处检测与根据相应存储器单元的编程状态变化的电流量成比例的改变,并且可以将相应的电压保持或锁存为感测数据。
读取/写入电路230可以响应于从控制逻辑240输出的页面缓冲器控制信号而操作。
在读取操作期间,读取/写入电路230感测存储器单元的电压值,并且将该电压值作为数据读出。读取/写入电路230临时存储所检索到的数据,并且将数据DATA输出到存储器装置110的输入/输出缓冲器。在实施例中,除了页面缓冲器PB或页面寄存器之外,读取/写入电路230还可以包括列选择电路。
控制逻辑240可以连接到地址解码器220、读取/写入电路230和电压生成电路250。控制逻辑240可以通过存储器装置110的输入/输出缓冲器接收命令CMD和控制信号CTRL。
控制逻辑240可以被配置为响应于控制信号CTRL而控制存储器装置110的全部操作。控制逻辑240可以输出用于将多个页面缓冲器PB的感测节点的电压电平调节到预充电电压电平的控制信号。
控制逻辑240可以控制读取/写入电路230以在存储器单元阵列210中执行读取操作。电压生成电路250可以响应于从控制逻辑240输出的电压生成电路控制信号来生成在读取操作期间使用的读取电压Vread和通过电压Vpass。
存储器装置110中包括的存储块BLK可以包括多个页面PG。在一些实施方案中,按列布置的多个存储器单元形成存储器单元串,并且按行布置的多个存储器单元形成存储块。多个页面PG中的每一个联接到字线WL中的一个,并且存储器单元串STR中的每一个联接到位线BL中的一个。
在存储块BLK中,可以按行和列来布置多个字线WL和多个位线BL。例如,可以沿行方向布置多个字线WL中的每一个,并且可以沿列方向布置多个位线BL中的每一个。作为另一示例,可以沿列方向布置多个字线WL中的每一个,并且可以沿行方向布置多个位线BL中的每一个。
在一些实施方案中,多个字线WL和多个位线BL可以彼此相交,从而在多个存储器单元MC的阵列中寻址单个存储器单元。在一些实施方案中,每个存储器单元MC可以包括晶体管TR,晶体管TR包括可以保持电荷的材料层。
例如,布置在每个存储器单元MC中的晶体管TR可以包括漏极、源极和栅极。晶体管TR的漏极(或源极)可以直接地或经由另一晶体管TR连接到相应的位线BL。晶体管TR的源极(或漏极)可以直接地或经由另一晶体管TR连接到源极线(可以是地)。晶体管TR的栅极可以包括由绝缘体围绕的浮置栅极(FG)和栅极电压从字线WL被施加到的控制栅极(CG)。
在多个存储块BLK1至BLKz的每一个中,第一选择线(也称为源极选择线或漏极选择线)可以另外地布置在两个最外字线之中的、更靠近读取/写入电路230的第一最外字线的外侧,并且第二选择线(也称为漏极选择线或源极选择线)可以另外地布置在另一第二最外字线的外侧。
在一些实施方案中,可以在第一最外字线和第一选择线之间另外地布置至少一个虚设字线。另外,可以在第二最外字线和第二选择线之间另外地布置至少一个虚设字线。
可以逐个页面地执行存储块的读取操作和编程操作(写入操作),并且可以逐个存储块地执行擦除操作。
图3是示出基于所公开技术的实施例的存储器装置110的字线WL和位线BL的结构的示图。
参照图3,存储器装置110具有内核区域和辅助区域(除内核区域以外的剩余区域),内核区域中布置有存储器单元MC,辅助区域包括用于执行存储器单元阵列210的操作的电路。
在内核区域中,在一个方向上布置的一定数量的存储器单元可以被称为“页面”PG,并且串联联接的一定数量的存储器单元可以被称为“存储器器单元串”STR。
字线WL1至WL9可以连接到行解码器310。位线BL可以连接到列解码器320。对应于图2的读取/写入电路230的数据寄存器330可以存在于多个位线BL和列解码器320之间。
多个字线WL1至WL9可以对应于多个页面PG。
例如,如图3所示,多个字线WL1至WL9中的每一个可以对应于一个页面PG。当多个字线WL1至WL9中的每一个具有较大的大小时,多个字线WL1至WL9中的每一个可以对应于至少两个(例如,两个或四个)页面PG。每个页面PG是编程操作和读取操作中的最小单位,并且在执行编程操作和读取操作时,相同的页面PG内的所有存储器单元MC可以同时执行操作。
多个位线BL可以连接到列解码器320。在一些实施方案中,可以将多个位线BL划分为奇数编号的位线BL和偶数编号的位线BL,使得一对奇数编号的位线和偶数编号的位线共同联接到列解码器320。
在访问存储器单元MC时,行解码器310和列解码器320用于基于地址来定位所期望的存储器单元。
在一些实施方案中,数据寄存器330发挥重要作用,因为存储器装置110进行的所有数据处理,包括编程操作和读取操作,均通过数据寄存器330进行。如果数据寄存器330的数据处理被延迟,则所有其他区域需要等待,直到数据寄存器330完成数据处理为止,从而降低了存储器装置110的整体性能。
参照图3所示的示例,在一个存储器单元串STR中,多个晶体管TR1至TR9可以分别连接到多个字线WL1至WL9。在一些实施方案中,多个晶体管TR1至TR9对应于存储器单元MC。在该示例中,多个晶体管TR1至TR9包括控制栅极CG和浮置栅极FG。
多个字线WL1至WL9包括两个最外字线WL1和WL9。第一选择线DSL可以另外地布置在第一最外字线WL1的外侧,与另一个最外侧字线WL9相比,第一最外字线WL1更靠近数据寄存器330并且具有更短的信号路径。第二选择线SSL可以另外地布置在另一第二最外字线WL9的外侧。
由第一选择线DSL控制以导通/关断的第一选择晶体管D-TR具有连接到第一选择线DSL的栅电极,但是不包括浮置栅极FG。由第二选择线SSL控制以导通/关断的第二选择晶体管S-TR具有连接到第二选择线SSL的栅电极,但是不包括浮置栅极FG。
第一选择晶体管D-TR用作将相应的存储器单元串STR连接到数据寄存器330的开关电路。第二选择晶体管S-TR用作将相应的存储器单元串STR连接到源极线SL的开关电路。也就是说,第一选择晶体管D-TR和第二选择晶体管S-TR可以用于启用或禁用相应的存储器单元串STR。
在一些实施方案中,存储器装置110向第一选择晶体管D-TR的栅电极施加预定的导通电压Vcc,从而导通第一选择晶体管D-TR,并且向第二选择晶体管S-TR的栅电极施加预定的关断电压(例如,0V),从而关断第二选择晶体管S-TR。
在读取操作或验证操作期间,存储器装置110导通第一选择晶体管D-TR和第二选择晶体管S-TR两者。因此,在读取操作或验证操作期间,电流可以流过相应的存储器单元串STR并且流到与地相对应的源极线SL,从而可以测量位线BL的电压电平。然而,在读取操作期间,在第一选择晶体管D-TR和第二选择晶体管S-TR之间的通/断定时中可能存在时间差。
在擦除操作期间,存储器装置110可以通过源极线SL将预定电压(例如,+20V)施加到衬底。在擦除操作期间,存储器装置110施加特定电压以允许第一选择晶体管D-TR和第二选择晶体管S-TR两者都浮置。因此,所施加的擦除电压可以从所选择的存储器单元的浮置栅极FG移除电荷。
图4示出根据本公开的实施例的多个存储装置共享系统。多个存储装置共享系统包括第一存储装置共享系统401和第二存储装置共享系统402。尽管图4示出了包括两个存储装置共享系统的多个存储装置共享系统,但是实施例不限于此。
存储装置共享系统401和402中的每一个可以分别包括主机装置HOST_DEV和多个存储装置STR_DEV。第一存储装置共享系统401中包括的存储装置STR_DEV的数量可以与第二存储装置共享系统402中包括的存储装置的数量STR_DEV不同。
多个存储装置共享系统可以通过网络或通信接口彼此连接。多个存储装置共享系统之中的存储装置共享系统中包括的主机装置HOST_DEV可以通过通信接口(例如,USB(通用串行总线)、SCSI(小型计算机系统接口)、高速PCI(外围组件互连)、ATA(AT附件)、PATA(并行ATA)、SATA(串行ATA)、SAS(串列SCSI)),通过网络(例如,LAN(局域网)、WLAN(无线LAN)、5G(第5代无线网络)、LTE(长期演进无线网络)或蓝牙网络)向/从另一个存储装置共享系统中包括的主机装置HOST_DEV传输/接收数据。
在下文中,将参照图5详细描述诸如可以包括在图4的多个存储装置共享系统中的存储装置共享系统的示意性结构。
图5示出根据本公开的实施例的存储装置共享系统10的示意性结构。
存储装置共享系统10可以包括主机装置HOST_DEV和多个存储装置STR_DEV。多个存储装置STR_DEV可以连接到主机装置HOST_DEV。
多个存储装置STR_DEV包括能够存储数据的装置,例如一个或多个硬盘驱动器(HDD)、一个或多个固态驱动器(SSD)、一个或多个通用闪存(UFS)装置、一个或多个eMMC(嵌入式MMC)装置等,或它们的组合。
在实施例中,多个存储装置STR_DEV可以对应于上面参照图1描述的存储器系统100。
多个存储装置STR_DEV可以分别包括第一存储器缓冲区MB_1和第二存储器缓冲区MB_2。
第一存储器缓冲区MB_1可以包括多个第一类型存储块MB_TYPE1,第二存储器缓冲区MB_2可以包括多个第二类型存储块MB_TYPE2。
在这种情况下,第一类型存储块MB_TYPE1中包括的存储器单元中可存储的数据位的数量可以小于第二类型存储块MB_TYPE2中包括的存储器单元中可存储的数据位的数量。例如,第一类型存储块MB_TYPE1可以是包括SLC存储器单元的SLC存储块。并且第二类型存储块MB_TYPE2可以是包括TLC存储器单元的TLC存储块或者可以是包括QLC存储器单元的QLC存储块。
另一方面,第一类型存储块MB_TYPE1中包括的存储器单元中可存储的数据位的数量可以大于或等于第二类型存储块MB_TYPE2中包括的存储器单元中可存储的数据位的数量。
主机装置HOST_DEV可以将数据写入多个存储装置STR_DEV中,或者读取存储在多个存储装置STR_DEV中的数据。
当多个存储装置STR_DEV分别对应于图1中描述的存储器系统100时,主机装置HOST_DEV可以对应于图1中描述的主机HOST。
主机装置HOST_DEV可以是能够运行操作系统(OS)并基于操作系统运行多个应用的计算装置(例如,台式机、膝上型电脑、服务器)。主机装置HOST_DEV可以基于预定接口(例如,USB、SATA、SCSI、高速PCI)与多个存储装置STR_DEV通信。为此,可以在主机装置HOST_DEV中安装支持相应接口的驱动程序。主机装置HOST_DEV可以包括CPU(中央处理单元)和与CPU通信的易失性存储器(例如,SRAM、DRAM,即非暂时性计算机可读介质),易失性存储器存储i)用于由CPU执行以提供上述操作系统和多个应用的操作以及用于执行与多个存储装置STR_DEV的通信操作的数据,ii)待写入到多个存储装置STR_DEV或已经从多个存储装置STR_DEV读取的数据。
在本公开的实施例中,主机装置HOST_DEV可以根据针对多个存储装置STR_DEV之中的第一存储装置设置的共享状态来改变第一存储装置中包括的第一存储器缓冲区MB_1的设置。
第一存储装置的共享状态指示第一存储装置中包括的一些资源(例如,第一存储装置的第一存储器缓冲区MB_1)是否可以用于存储旨在用于另一存储装置的数据。
主机装置HOST_DEV可以将多个存储装置STR_DEV的共享状态传输到多个存储装置STR_DEV,或者从多个存储装置STR_DEV接收多个存储装置STR_DEV的共享状态。此外,主机装置HOST_DEV可以更新多个存储装置STR_DEV的共享状态,并且在添加新存储装置时将所添加的存储装置的共享状态传输给其他存储装置。
图6示出根据本公开的实施例的存储装置共享系统10将第一存储装置STR_DEV_1的第一存储器缓冲区MB_1设置为由第二存储装置STR_DEV_2共享的操作。
参照图6,存储装置共享系统10的主机装置HOST_DEV可以允许第二存储装置STR_DEV_2共享第一存储装置STR_DEV_1的第一存储器缓冲区MB_1。
第二存储装置STR_DEV_2共享第一存储装置STR_DEV_1的第一存储器缓冲区MB_1是指第一存储装置STR_DEV的第一存储器缓冲区MB_1被设置为用于存储待写入到第二存储装置STR_DEV_2的数据的区域。
当第二存储装置STR_DEV_2共享第一存储装置STR_DEV_1的第一存储器缓冲区MB_1时,在操作S1,主机装置HOST_DEV可以首先将待写入到第二存储装置STR_DEV_2的数据存储在第一存储装置STR_DEV_1的第一存储器缓冲区MB_1中。
随后,在操作S2,主机装置HOST_DEV可以将被存储在第一存储装置STR_DEV_1的第一存储器缓冲区MB_1中的数据迁移到第二存储装置STR_DEV_2的第二存储器缓冲区MB_2。
在这种情况下,被存储在第一存储装置STR_DEV_1的第一存储器缓冲区MB_1中的数据可以经由主机装置HOST_DEV迁移到第二存储装置STR_DEV_2的第二存储器缓冲区MB_2。也就是说,主机装置HOST_DEV可以加载被存储在第一存储装置STR_DEV_1的第一存储器缓冲区MB_1中的数据,并且将所加载的数据写入第二存储装置STR_DEV_2的第二存储器缓冲区MB_2。
为此,主机装置HOST_DEV可以建立作为在第一存储装置STR_DEV_1和第二存储装置STR_DEV_2之间传输数据的虚拟路径的通道。主机装置HOST_DEV可以通过该通道执行数据输入/输出,该通道是位于第一存储装置STR_DEV_1和第二存储装置STR_DEV_2使用的协议栈的物理层的上层中的虚拟逻辑配置。
这样,主机装置HOST_DEV可以使用第一存储装置STR_DEV_1的第一存储器缓冲区MB_1作为用于临时存储待存储在第二存储装置STR_DEV_2的第二存储器缓冲区MB_2中的数据的区域。例如,第一存储装置STR_DEV_1的第一存储器缓冲区MB_1可以用作待存储在第二存储装置STR_DEV_2的第二存储器缓冲区MB_2中的数据的写入缓冲器或写入高速缓存。
在本公开的实施例中,主机装置HOST_DEV可以基于针对多个存储装置STR_DEV之中的第一存储装置STR_DEV_1设置的共享状态,确定是否将第一存储装置STR_DEV_1的第一存储器缓冲区MB_1设置为多个存储装置STR_DEV之中的、用于存储待写入到第二存储装置STR_DEV_2的数据的区域。在下文中,将对此进行详细描述。
例如,主机装置HOST_DEV可以将第一存储装置STR_DEV_1的共享状态设置为表1所示的状态中的一种。
表1
共享状态 | 值 | 含义 |
待机 | 0 | 未执行共享操作 |
就绪 | 1 | 启用共享 |
连接 | 2 | 共享进行中 |
共享 | 3 | 被共享 |
暂停 | 4 | 共享暂停 |
通知(断开连接) | 5 | 共享完成 |
此外,主机装置HOST_DEV可以将例如第一存储装置STR_DEV_1的共享模式设置为表2中所示的模式中的一种。表2中公开的第一存储装置STR_DEV_1的共享模式可以指示在第一存储装置STR_DEV_1中共享的资源以及共享该资源的存储装置的数量。在表2中,XLC存储块是每个存储器单元存储两位或更多位数据的存储块。
表2
另外,主机装置HOST_DEV可以将例如第一存储装置STR_DEV_1是否支持共享设置为表3中所示的值中的一个。当第一存储装置STR_DEV_1支持共享时,可以将第一存储装置STR_DEV_1的第一存储器缓冲区MB_1设置为用于存储待写入到多个存储装置STR_DEV之中的第二存储装置STR_DEV_2的数据的区域。
表3
共享支持 | 值 | 含义 |
不支持 | 0 | 不支持共享 |
支持 | 1 | 支持共享 |
就绪 | 2 | 需要更新固件以支持共享 |
此外,主机装置HOST_DEV可以将例如第一存储装置STR_DEV_1是否被启用设置为表4中所示的值中的一个。
表4
启用 | 值 | 含义 |
禁用 | 0 | 禁用 |
启用 | 1 | 启用 |
图7示出了示出根据本公开的实施例的存储装置共享系统10可以改变第一存储装置STR_DEV_1的共享状态的操作700的流程图。
参照图7,在步骤S710,存储装置共享系统10的主机装置HOST_DEV可以监测多个存储装置STR_DEV。在这种情况下,主机装置HOST_DEV和多个存储装置STR_DEV彼此连接以彼此通信。多个存储装置STR_DEV中的每一个可以将自身的状态传输到主机装置HOST_DEV,并且主机装置HOST_DEV可以接收所传输的状态并且检查多个存储装置STR_DEV中的每一个的状态。
在步骤S720,主机装置HOST_DEV基于监测多个存储装置STR_DEV的结果来确定多个存储装置STR_DEV之中的第一存储装置STR_DEV_1是否满足预定共享条件。预定共享条件可以与多个存储装置STR_DEV中的每一个的装置健康信息有关,如下所述。
如果第一存储装置STR_DEV_1不满足共享条件(S720-否),则主机装置HOST_DEV可以终止操作700而不会将第一存储装置STR_DEV_1设置为与其他存储装置共享。
另一方面,如果第一存储装置STR_DEV_1满足共享条件(S720-是),则在步骤S730,主机装置HOST_DEV可以在连接到主机装置HOST_DEV的多个存储装置STR_DEV之中选择第二存储装置STR_DEV_2作为第一存储装置STR_DEV_1将与之共享存储的存储装置。
在实施例中,主机装置HOST_DEV可以根据预定策略或优先级从多个存储装置STR_DEV之中自动地选择第二存储装置STR_DEV_2。在实施例中,主机装置HOST_DEV可以从多个存储装置STR_DEV之中选择用户直接选择的存储装置作为第二存储装置STR_DEV_2。
在步骤S740,主机装置HOST_DEV可以将第一存储装置STR_DEV_1的共享状态从第一状态(例如,表1的待机状态,值=0)改变为第二状态(例如,表1的共享状态,值=3)。
在这种情况下,例如,主机装置HOST_DEV可以进行如下操作以将第一存储装置STR_DEV_1的共享状态从第一状态改变为第二状态。
首先,主机装置HOST_DEV可以将第一存储装置STR_DEV_1的共享状态更改为表1中描述的就绪状态(值=1)。
然后,主机装置HOST_DEV可以将第一存储装置STR_DEV_1的共享状态更改为表1中描述的连接状态(值=2)。在这种情况下,第一存储装置STR_DEV_1可以将关于自身所包括的存储块的信息(例如,热/冷数据的存储状态、错误位发生状态、损耗均衡运行状态、垃圾收集运行状态、坏存储块状态)传输到主机装置HOST_DEV。
在接收到关于第一存储装置STR_DEV_1的信息之后,主机装置HOST_DEV可以执行将第一存储装置STR_DEV_1的第一存储器缓冲区MB_1置于第二存储装置STR_DEV_2可以共享的状态所需的操作。例如,主机装置HOST_DEV可以将已经存储在第一存储装置STR_DEV_1的第一存储器缓冲区MB_1和第二存储器缓冲区MB_2中的数据迁移到另一个存储装置以保证数据完整性,并且挂起对第一存储装置STR_DEV_1的数据输入/输出操作。
此后,主机装置HOST_DEV可以将第一存储装置STR_DEV_1的共享状态改变为第二状态(例如,共享状态,值=3)。
在步骤S750,主机装置HOST_DEV可以将第一存储装置STR_DEV_1的第一存储器缓冲区MB_1设置为用于存储待写入到第二存储装置STR_DEV_2的数据的区域。
在实施例中,第一存储装置STR_DEV_1的第一存储器缓冲区MB_1也可以被设置为不仅用于存储待写入到第二存储装置STR_DEV_2还可以用于存储待写入到其他存储装置的数据的区域。在这种情况下,第一存储装置STR_DEV_1的第一存储器缓冲区MB_1可以同时被两个或更多个存储装置共享。
在下文中,将参照图8和图9描述存储装置共享系统10基于第一存储装置STR_DEV_1的共享状态的操作。
图8示出根据本公开的实施例的当第一存储装置STR_DEV_1的共享状态为第一状态STATE_1时存储装置共享系统10可以运行的操作,其中第一状态STATE_1对应于第一存储装置STR_DEV_1不与其他装置共享其存储的状态。
参照图8,当共享状态为第一状态STATE_1时,存储装置共享系统10的主机装置HOST_DEV可以设置第一存储装置STR_DEV_1的第一存储器缓冲区MB_1以仅存储待写入到第一存储装置STR_DEV_1的数据。在这种情况下,待写入到除第一存储装置STR_DEV_1之外的存储装置的数据可能无法存储在第一存储装置STR_DEV_1的第一存储器缓冲区MB_1中。
在图8中,在操作S11,主机装置HOST_DEV可以将待写入到第一存储装置STR_DEV_1的数据存储在第一存储装置STR_DEV_1的第一存储器缓冲区MB_1中。随后,在操作S12,主机装置HOST_DEV可以将存储在第一存储装置STR_DEV_1的第一存储器缓冲区MB_1中的数据迁移到第一存储装置STR_DEV_1的第二存储器缓冲区MB_2。
在操作S13,主机装置HOST_DEV可以将待写入到第二存储装置STR_DEV_2的数据存储在第二存储装置STR_DEV_2的第一存储器缓冲区MB_1中。随后,在操作S14,主机装置HOST_DEV可以将存储在第二存储装置STR_DEV_2的第一存储器缓冲区MB_1中的数据迁移到第二存储装置STR_DEV_2的第二存储器缓冲区MB_2。
然而,在图8中,存储在第一存储装置STR_DEV_1的第一存储器缓冲区MB_1中的数据没有被迁移到第二存储装置STR_DEV_2的第二存储器缓冲区MB_2。也就是说,当共享状态为对应于第一存储装置STR_DEV_1不与其他装置共享存储的状态的第一状态STATE_1时,第一存储装置STR_DEV_1的第一存储器缓冲区MB_1不允许被第二存储装置STR_DEV_2共享。
图9示出根据本公开实施例的当第一存储装置STR_DEV_1的共享状态为第二状态STATE_2时存储装置共享系统10可以运行的操作,第二状态STATE_2对应于第一存储装置STR_DEV_1与其他装置共享其存储的状态。
参照图9,当共享状态为第二状态STATE_2时,存储装置共享系统10的主机装置HOST_DEV可以设置第一存储装置STR_DEV_1的第一存储器缓冲区MB_1以能够存储待写入到第二存储装置STR_DEV_2的数据。
也就是说,在操作S21,主机装置HOST_DEV将待写入到第二存储装置STR_DEV_2的数据存储在第一存储装置STR_DEV_1的第一存储器缓冲区MB_1中。随后,在操作S22,主机装置HOST_DEV可以将存储在第一存储装置STR_DEV_1的第一存储器缓冲区MB_1中的数据迁移到第二存储装置STR_DEV_2的第二存储器缓冲区MB_2。
此外,在操作S23,主机装置HOST_DEV可以将待写入到第二存储装置STR_DEV_2的数据存储在第二存储装置STR_DEV_2的第一存储器缓冲区MB_1中。随后,在操作S24,主机装置HOST_DEV可以将存储在第二存储装置STR_DEV_2的第一存储器缓冲区MB_1中的数据迁移到第二存储装置STR_DEV_2的第二存储器缓冲区MB_2。
也就是说,当第一存储装置STR_DEV_1的共享状态为第二状态STATE_2时,第一存储装置STR_DEV_1的第一存储器缓冲区MB_1和第二存储装置STR_DEV_2的第一存储器缓冲区MB_1可以一起用作用于存储待迁移到第二存储装置STR_DEV_2的第二存储器缓冲区MB_2的数据的区域。因此,可以提高将数据写入第二存储装置STR_DEV_2的性能。
如上所述,当满足预定共享条件时,主机装置HOST_DEV可以改变第一存储装置STR_DEV_1的共享状态。在下文中,将描述主机装置HOST_DEV通过确定是否满足预定共享条件来确定是否改变第一存储装置STR_DEV_1的共享状态的操作。
图10示出根据本公开的实施例的主机装置HOST_DEV确定是否改变第一存储装置STR_DEV_1的共享状态的操作1000。
参照图10,在步骤S1010,主机装置HOST_DEV可以对第一存储装置STR_DEV_1的第二存储器缓冲区MB_2中包括的多个第二类型存储块MB_TYPE2之中的坏存储块的数量进行计数。
在步骤S1020,主机装置HOST_DEV确定在步骤S1010中所计数的坏存储块的数量是否等于或大于设置的阈值坏存储块计数。
当所计数的坏存储块的数量大于或等于阈值坏存储块计数(S1020-是)时,主机装置HOST_DEV可以在步骤S1030将第一存储装置STR_DEV_1的共享状态从第一状态改变为第二状态。
第一存储装置STR_DEV_1的第二存储器缓冲区MB_2中包括的坏存储块的数量等于或大于阈值坏存储块计数表示可能无法保证存储在第一存储装置STR_DEV_1的第二存储器缓冲区MB_2中的数据的可靠性。因此,主机装置HOST_DEV可以确定不再使用第一存储装置STR_DEV_1的第二存储器缓冲区MB_2。
然而,即使在这种情况下,第一存储装置STR_DEV_1的第一存储器缓冲区MB_1也是可用的。因此,主机装置HOST_DEV可以将第一存储装置STR_DEV_1的共享状态从第一状态(不允许共享)更改为第二状态(允许共享),以便有效地利用第一存储装置STR_DEV_1的第一存储器缓冲区MB_1。由此,主机装置HOST_DEV可以使用第一存储装置STR_DEV_1的第一存储器缓冲区MB_1来存储待写入到第二存储装置STR_DEV_2的数据。因此,主机装置HOST_DEV可以防止当第一存储装置STR_DEV_1的第二存储器缓冲区MB_2不可用时,第一存储装置STR_DEV_1的第一存储器缓冲区MB_1也不可用的问题。
另一方面,当所计数的坏存储块的数量小于阈值坏存储块计数(S1020-否)时,在步骤S1040,主机装置HOST_DEV可以将第一存储装置STR_DEV_1的共享状态保持为第一状态。这是因为第一存储装置STR_DEV_1的第一存储器缓冲区MB_1可以用于存储待写入到第一存储装置STR_DEV_1的第二存储器缓冲区MB_2的数据。
图11示出根据本公开的实施例的在第一存储装置STR_DEV_1的共享状态改变为第二状态STATE_2之后存储装置共享系统10的操作。
参照图11,当将共享状态从第一状态改变为第二状态时,主机装置HOST_DEV可以禁止对第一存储装置STR_DEV_1的第二存储器缓冲区MB_2的访问。
为此,主机装置HOST_DEV可以挂起对第一存储装置STR_DEV_1的正常输入/输出操作(例如,外部源请求的用于将数据存储到第一存储装置STR_DEV_1的第二存储器缓冲区MB_2或从第一存储装置STR_DEV_1的第二存储器缓冲区MB_2检索数据的输入/输出操作)。例如,主机装置HOST_DEV可以在执行断电、重启或挂起操作时挂起对第一存储装置STR_DEV_1的输入/输出操作。
此外,主机装置HOST_DEV可以将已经存储在第一存储装置STR_DEV_1的第一存储器缓冲区MB_1和第二存储器缓冲区MB_2中的数据迁移到另一个存储装置,以保证数据的完整性。
这是因为,第一存储装置STR_DEV_1的第二存储器缓冲区MB_2中存储的数据的可靠性由于第一存储装置STR_DEV_1的第二存储器缓冲区MB_2中包括的坏存储块的数量等于或大于阈值坏存储块计数THR而不再得到保证。
这样,当禁止对第一存储装置STR_DEV_1的第二存储器缓冲区MB_2的访问时,无法将存储在第一存储装置STR_DEV_1的第一存储器缓冲区MB_1中的数据迁移到第一存储装置STR_DEV_1的第二存储器缓冲区MB_2中。
此外,当禁止对第一存储装置STR_DEV_1的第二存储器缓冲区MB_2的访问时,无法将存储在第二存储装置STR_DEV_2的第一存储器缓冲区MB_1中的数据迁移到第一存储装置STR_DEV_1的第二存储器缓冲区MB_2中。
因此,为了利用第一存储装置STR_DEV_1的第一存储器缓冲区MB_1,主机装置HOST_DEV可以将第一存储装置STR_DEV_1的第一存储器缓冲区MB_1设置为用于存储待写入到第二存储装置STR_DEV_2的数据的区域。在这种情况下,可以将存储在第一存储装置STR_DEV_1的第一存储器缓冲区MB_1中的数据迁移到第二存储装置STR_DEV_2的第二存储器缓冲区MB_2,如操作S31所示。也可以将存储在第二存储装置STR_DEV_2的第一存储器缓冲区MB_1中的数据迁移到第二存储装置STR_DEV_2的第二存储器缓冲区MB_2,如操作S34所示。
由此,主机HOST_DEV可以防止在对第一存储装置STR_DEV_1的第二存储器缓冲区MB_2的访问被禁止时,第一存储装置STR_DEV_1的第一存储器缓冲区MB_1未被利用的问题。
上面已经描述了主机装置HOST_DEV将第一存储装置STR_DEV_1的第一存储器缓冲区MB_1设置为用于存储待写入到第二存储装置STR_DEV_2的数据的区域的操作。
在下文中,将描述主机装置HOST_DEV从多个存储装置STR_DEV之中确定第二存储装置STR_DEV_2的方法。
图12示出根据本公开的实施例的存储装置共享系统10确定多个存储装置STR_DEV的优先级的操作1200。
参照图12,在操作S1210,存储装置共享系统10的主机装置HOST_DEV可以检查多个存储装置STR_DEV中的每一个的状态信息。在这种情况下,如上所述,多个存储装置STR_DEV中的每一个的状态信息可以包括关于其中包括的存储块的信息(例如,热/冷数据的存储状态、错误位发生状态、损耗均衡运行状态、垃圾收集运行状态、坏存储块状态等,或它们的组合)。
在操作S1220,主机装置HOST_DEV可以基于在操作S1210检查的多个存储装置STR_DEV中的每一个的状态信息来确定多个存储装置STR_DEV中的每一个的优先级。
例如,主机装置HOST_DEV可以基于存储在多个存储装置STR_DEV的每一个中的热数据的大小来确定多个存储装置STR_DEV中的每一个的优先级。此处,例如,热数据是指在预定时间段期间读取或写入的次数等于或大于设置的阈值的数据。另一方面,冷数据是指在预定时间段期间读取或写入的次数小于设置的阈值的数据。
再例如,主机装置HOST_DEV可以基于在预定时间段期间对多个存储装置STR_DEV中的每一个执行的读取操作、写入操作和擦除操作的次数的总和来确定多个存储装置STR_DEV中的每一个的优先级。
又例如,主机装置HOST_DEV可以将多个存储装置STR_DEV中的每一个的状态信息输入到机器学习模型中,用于确定多个存储装置STR_DEV中的每一个的优先级。主机装置HOST_DEV可以基于机器学习模型产生的输出来确定多个存储装置STR_DEV中的每一个的优先级。在这种情况下,可以根据多个存储装置STR_DEV中的每一个的优先级,根据多个存储装置STR_DEV的操作性能的变化来重新训练机器学习模型。
主机装置HOST_DEV可以为多个存储装置STR_DEV之中存储更多热数据的存储装置设置较高优先级,并且为多个存储装置STR_DEV之中存储较少热数据的存储装置设置较低优先级。由于具有大量热数据的存储装置可以执行大量的读取操作或写入操作,因此当使用其他存储装置的资源来帮助执行那些读取操作和/或写入操作时,可以增加存储装置的性能改进程度。
在操作S1230,主机装置HOST_DEV可以将多个存储装置STR_DEV之中具有最高优先级的存储装置确定为与另一个存储装置共享存储的第二存储装置STR_DEV_2。
例如,主机装置HOST_DEV可以将多个存储装置STR_DEV之中存储最多热数据的存储装置确定为第二存储装置STR_DEV_2。
又例如,主机装置HOST_DEV可以将多个存储装置STR_DEV之中在预定时间段期间执行的读取操作、写入操作和擦除操作的次数的总和最大的存储装置确定为第二存储装置STR_DEV_2。
图13示出根据本公开的实施例的存储装置共享系统的操作方法1300。
参照图13,存储装置共享系统的操作方法1300可以包括操作S1310,为多个存储装置STR_DEV之中的第一存储装置STR_DEV_1设置共享状态。在这种情况下,多个存储装置STR_DEV中的每一个可以包括i)第一存储器缓冲区MB_1,第一存储器缓冲区MB_1包括多个第一类型存储块MB_TYPE1,以及ii)第二存储器缓冲区MB_2,第二存储器缓冲区MB_2包括多个第二类型存储块MB_TYPE2。
第一类型存储块MB_TYPE1中包括的存储器单元中可存储的数据位的数量可以小于第二类型存储块MB_TYPE2中包括的存储器单元中可存储的数据位的数量。
存储装置共享系统的操作方法还可以包括操作S1320,基于第一存储装置STR_DEV_1的共享状态,确定是否将第一存储装置STR_DEV_1的第一存储器缓冲区MB_1设置为用于存储待写入到多个存储装置STR_DEV之中的第二存储装置STR_DEV_2的数据的区域。
例如,第一存储装置STR_DEV_1的第一存储器缓冲区MB_1被配置为当共享状态为第一状态STATE_1时仅存储待写入到该第一存储装置STR_DEV_1的数据,并且被配置为当共享状态为第二状态STATE_2时存储待写入到第二存储装置STR_DEV_2的数据。
另一方面,操作S1320可以包括对第一存储装置STR_DEV_1的第二存储器缓冲区MB_2中包括的多个第二类型存储块MB_TYPE2之中的坏存储块的数量进行计数。并且,操作S1320可以包括当坏存储块的数量大于或等于设置的阈值坏存储块计数时将共享状态从第一状态设置为第二状态。
当第一存储装置STR_DEV_1的共享状态从第一状态改变为第二状态时,可以禁止对第一存储装置STR_DEV_1的第二存储器缓冲区MB_2的访问。
存储装置共享系统的操作方法可以进一步包括:基于多个存储装置STR_DEV中的每一个的状态信息确定多个存储装置STR_DEV中的每一个的优先级,并且将多个存储装置STR_DEV之中优先级最高的存储装置确定为与第一装置STR_DEV_1共享存储的第二存储装置STR_DEV_2。
在实施例中,多个存储装置STR_DEV中的每一个的优先级可以基于多个存储装置STR_DEV中的每一个中存储的热数据的大小来确定。
图14示出基于所公开技术的实施例的计算系统1400。
参照图14,基于所公开技术的实施例的计算系统1400可以包括:存储装置共享系统10,电连接到系统总线1460;CPU 1410,被配置为控制计算系统1400的全部操作;RAM1420,被配置为存储与计算系统1400的操作有关的数据和信息;用户接口/用户体验(UI/UX)模块1430,被配置为向用户提供用户环境;通信模块1440,被配置为作为有线和/或无线类型与外部装置通信;以及电源管理模块1450,被配置为管理计算系统1400所使用的电力。
计算系统1400可以是个人计算机(PC),或者可以包括诸如智能电话、平板电脑或各种电子装置的移动终端。
计算系统1400可以进一步包括用于提供操作电压的电池,并且可以进一步包括应用芯片组、图形相关模块、相机图像处理器和DRAM。其他元件对于本领域技术人员将是显而易见的。
存储装置共享系统10可以对应于图5的存储装置共享系统10,并且可以包括被配置为诸如硬盘驱动器(HDD)的将数据存储在磁盘中的装置,被配置为将数据存储在非易失性存储器中的装置(例如,固态驱动器(SSD)、通用闪存装置或嵌入式MMC(eMMC)装置),或其组合。非易失性存储器可以包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、闪速存储器、相变RAM(PRAM)、磁性RAM(MRAM)、电阻式RAM(RRAM)、铁电RAM(FRAM)等。另外,存储装置共享系统10可以被实施为各种类型的存储装置并且被安装在各种电子装置内部。
基于上述所公开技术的实施例,可以有利地减少或最小化包括多个存储装置的存储系统的操作延迟时间。另外,基于所公开技术的实施例,可以有利地减少或最小化在调用特定功能的过程中发生的开销。尽管出于说明的目的已经以特定的细节和变化的详情描述了所公开技术的各个实施例,但是本领域技术人员将理解的是,在不背离如所附权利要求所限定的本发明的精神和范围的情况下,可以基于本公开中所公开或说明的内容进行各种修改、添加和替换。
Claims (14)
1.一种存储装置共享系统,包括:
多个存储装置,每个存储装置包括:
第一存储器缓冲区,包括多个第一类型存储块,和
第二存储器缓冲区,包括多个第二类型存储块;以及
主机装置,基于针对所述多个存储装置之中的第一存储装置设置的共享状态,确定是否将所述第一存储装置的第一存储器缓冲区设置为用于存储待写入到所述多个存储装置之中的第二存储装置的数据的区域。
2.根据权利要求1所述的存储装置共享系统,
其中所述第一类型存储块中包括的存储器单元中能够存储的数据位的数量小于所述第二类型存储块中包括的存储器单元中能够存储的数据位的数量。
3.根据权利要求1所述的存储装置共享系统,
其中当所述共享状态为第一状态时,所述主机装置将所述第一存储装置的第一存储器缓冲区配置为仅存储待写入到所述第一存储装置的数据,并且
其中当所述共享状态为第二状态时,所述主机装置将所述第一存储装置的第一存储器缓冲区配置为存储待写入到所述第二存储装置的数据。
4.根据权利要求3所述的存储装置共享系统,
其中当所述第一存储装置的第二存储器缓冲区中包括的多个第二类型存储块之中的坏存储块的数量大于或等于阈值坏存储块计数时,所述主机装置将所述共享状态从所述第一状态改变为所述第二状态。
5.根据权利要求4所述的存储装置共享系统,
其中所述主机装置在将所述共享状态从所述第一状态改变为所述第二状态时,禁止对所述第一存储装置的第二存储器缓冲区的访问。
6.根据权利要求1所述的存储装置共享系统,
其中所述主机装置基于所述多个存储装置中的每个存储装置的状态信息确定所述多个存储装置中的每个存储装置的优先级,并且
其中所述主机装置将所述多个存储装置之中具有最高优先级的存储装置确定为所述第二存储装置。
7.根据权利要求1所述的存储装置共享系统,
其中所述主机装置基于所述多个存储装置中的每个存储装置中存储的热数据的大小来确定所述多个存储装置中的每个存储装置的优先级。
8.一种存储装置共享系统的操作方法,所述操作方法包括:
为所述存储装置共享系统中包括的多个存储装置之中的第一存储装置设置共享状态,每个存储装置包括第一存储器缓冲区和第二存储器缓冲区,所述第一存储器缓冲区包括多个第一类型存储块,所述第二存储器缓冲区包括多个第二类型存储块,并且
基于所述第一存储装置的所述共享状态,确定是否将所述第一存储装置的第一存储器缓冲区配置为用于存储待写入到所述多个存储装置之中的第二存储装置的数据的区域。
9.根据权利要求8所述的操作方法,
其中所述第一类型存储块中包括的存储器单元中能够存储的数据位的数量小于所述第二类型存储块中包括的存储器单元中能够存储的数据位的数量。
10.根据权利要求8所述的操作方法,
其中当所述共享状态为第一状态时,所述第一存储装置的第一存储器缓冲区仅存储待写入到所述第一存储装置的数据,并且
其中当所述共享状态为第二状态时,所述第一存储装置的第一存储器缓冲区存储待写入到所述第二存储装置的数据。
11.根据权利要求10所述的操作方法,
其中设置所述第一存储装置的所述共享状态包括:
对所述第一存储装置的第二存储器缓冲区中包括的多个第二类型存储块之中的坏存储块的数量进行计数;并且
当所述坏存储块的数量大于或等于设置的阈值坏存储块计数时,将所述共享状态从所述第一状态改变为所述第二状态。
12.根据权利要求11所述的操作方法,
其中将所述第一存储装置的所述共享状态从所述第一状态改变为所述第二状态包括禁止对所述第一存储装置的第二存储器缓冲区的访问。
13.根据权利要求8所述的操作方法,进一步包括:
基于所述多个存储装置中的每个存储装置的状态信息确定所述多个存储装置中的每个存储装置的优先级,并且
其中将所述多个存储装置之中具有最高优先级的存储装置确定为所述第二存储装置。
14.根据权利要求13所述的操作方法,
其中基于所述多个存储装置中的每个存储装置中存储的热数据的大小来确定所述多个存储装置中的每个存储装置的所述优先级。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2021-0155840 | 2021-11-12 | ||
KR1020210155840A KR20230069642A (ko) | 2021-11-12 | 2021-11-12 | 저장 장치 공유 시스템 및 그 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116126213A true CN116126213A (zh) | 2023-05-16 |
Family
ID=86303197
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210765325.3A Pending CN116126213A (zh) | 2021-11-12 | 2022-06-30 | 存储装置共享系统及其操作方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11853573B2 (zh) |
KR (1) | KR20230069642A (zh) |
CN (1) | CN116126213A (zh) |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008293484A (ja) * | 2007-04-27 | 2008-12-04 | Panasonic Corp | バッファメモリ共有装置 |
KR102020466B1 (ko) * | 2012-10-04 | 2019-09-10 | 에스케이하이닉스 주식회사 | 버퍼 메모리 장치를 포함하는 데이터 저장 장치 |
KR101862379B1 (ko) | 2013-04-19 | 2018-07-05 | 삼성전자주식회사 | Ecc 동작과 리던던시 리페어 동작을 공유하는 메모리 장치 |
KR102219759B1 (ko) | 2015-01-09 | 2021-02-25 | 삼성전자주식회사 | 저장 장치, 그것을 포함하는 데이터 저장 시스템 및 그것의 동작 방법 |
KR20180011376A (ko) * | 2016-07-21 | 2018-02-01 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
KR20190023433A (ko) * | 2017-08-29 | 2019-03-08 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그것의 동작 방법 |
JP7051546B2 (ja) * | 2018-04-16 | 2022-04-11 | キオクシア株式会社 | メモリシステムおよび制御方法 |
-
2021
- 2021-11-12 KR KR1020210155840A patent/KR20230069642A/ko unknown
-
2022
- 2022-06-09 US US17/836,776 patent/US11853573B2/en active Active
- 2022-06-30 CN CN202210765325.3A patent/CN116126213A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
US11853573B2 (en) | 2023-12-26 |
KR20230069642A (ko) | 2023-05-19 |
US20230152997A1 (en) | 2023-05-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20230333932A1 (en) | Memory system and operating method thereof | |
US11301174B2 (en) | Memory system, memory controller and method for operating memory system | |
CN114067870A (zh) | 存储器系统、存储器装置以及用于操作存储器装置的方法 | |
CN114863962A (zh) | 存储器系统及其操作方法 | |
US11409470B2 (en) | Memory system, memory controller, and method of operating memory system | |
US20230221895A1 (en) | Memory system and operating method of memory system storing doorbell information in the buffer memory | |
US11972127B2 (en) | Memory system executing background operation using external device and operation method thereof | |
CN115952115A (zh) | 基于融合链表控制同步操作的存储器控制器及其操作方法 | |
CN114530173A (zh) | 存储器系统及其操作方法 | |
US11853573B2 (en) | Storage device sharing system and operating method thereof | |
KR20210071314A (ko) | 메모리 시스템, 메모리 컨트롤러 및 그 동작 방법 | |
US11404137B1 (en) | Memory system and operating method of memory system | |
US11893255B2 (en) | Memory system for managing data corresponding to a plurality of zones and operating method thereof | |
US20230376246A1 (en) | Memory system, memory controller and operating method of the memory system operating as read boost mode | |
US20240036741A1 (en) | Memory system, memory controller and method for operating memory system, capable of determining target meta memory block on the basis of detected target state | |
US11507509B2 (en) | Memory system, memory controller and method for operating memory system for determining whether to perform direct write based on reference write size | |
US11775190B2 (en) | Memory system and operating method of memory system | |
US11669266B2 (en) | Memory system and operating method of memory system | |
US11640263B2 (en) | Memory system and operating method thereof | |
US20230153200A1 (en) | Memory system, memory controller and operating method of memory system | |
US20230297502A1 (en) | Memory system, memory controller and operating method of the memory system for controlling garbage collection | |
CN115757217A (zh) | 确定目标状态读取检查时段的存储器系统及其操作方法 | |
CN116932429A (zh) | 存储器系统和存储器系统的操作方法 | |
KR20220163661A (ko) | 메모리 시스템 및 메모리 시스템의 동작 방법 | |
CN115223635A (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 |