CN112835514A - 存储器系统 - Google Patents
存储器系统 Download PDFInfo
- Publication number
- CN112835514A CN112835514A CN202010905654.4A CN202010905654A CN112835514A CN 112835514 A CN112835514 A CN 112835514A CN 202010905654 A CN202010905654 A CN 202010905654A CN 112835514 A CN112835514 A CN 112835514A
- Authority
- CN
- China
- Prior art keywords
- rmw
- memory
- command
- target
- unit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
-
- 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/0804—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with main memory updating
-
- 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
- G06F3/0613—Improving I/O performance in relation to throughput
-
- 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/0629—Configuration or reconfiguration of storage systems
- G06F3/0631—Configuration or reconfiguration of storage systems by allocating resources to 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/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]
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1051—Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
-
- 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/452—Instruction code
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
本公开涉及一种存储器系统。该存储器系统包括:存储器装置,包括多个段;处理器,被配置成针对与多个段之中的目标段对应的目标段地址生成读取‑修改‑写入(RMW)命令;调度器,被配置成从处理器接收RMW命令并调度RMW命令;以及RMW单元,被配置成根据调度器的控制对存储器装置执行RMW命令,其中当从处理器接收到的多个RMW命令未决时,调度器比较多个RMW命令的目标段地址以对多个RMW命令进行重新排序。
Description
相关申请的交叉引用
本申请要求于2019年11月25日向韩国知识产权局提交的申请号为10-2019-0152195的韩国申请的优先权,其通过引用整体并入本文。
技术领域
各个实施例总体涉及一种存储器系统,更特别地,涉及一种包括非易失性存储器装置的存储器系统。
背景技术
存储器系统可以被配置成响应于来自主机装置的写入请求,存储从主机装置提供的数据。而且,存储器系统可以被配置成响应于来自主机装置的读取请求,将存储在其中的数据提供到主机装置。主机装置可以是能够处理数据的电子装置,并且可以包括计算机、数码相机、移动电话等。存储器系统可以设置在主机装置内,或者可以是单独的组件,在这种情况下,该存储器系统在联接到主机装置时是可操作的。
发明内容
本公开的各个实施例提供了一种操作性能得到改善的存储器系统。
根据本公开的实施例,一种存储器系统可以包括:存储器装置,包括多个段;处理器,被配置成针对与多个段之中的目标段对应的目标段地址生成读取-修改-写入(RMW)命令;调度器,被配置成从处理器接收RMW命令并调度RMW命令;以及RMW单元,被配置成根据调度器的控制对存储器装置执行RMW命令,其中当从处理器接收的多个RMW命令未决时,调度器比较多个RMW命令的目标段地址以对多个RMW命令进行重新排序。
根据本公开的实施例,一种存储器系统可以包括:存储介质,包括多个存储器单元;存储器装置,被配置成存储与段地址对应的管理信息条,该管理信息条中的每一条包括关于一个或多个存储器单元的管理信息;处理器,被配置成当多个存储器单元之中的第一目标存储器单元发生事件时,针对段地址之中的第一目标段地址生成第一RMW命令,该第一目标段地址对应于第一目标管理信息条,该第一目标管理信息条包括关于第一目标存储器单元的管理信息;存储器控制器,被配置成根据处理器的控制来访问多个存储器单元之中的第二目标存储器单元,然后针对段地址之中的第二目标段地址生成第二RMW命令,该第二目标段地址对应于第二目标管理信息条,该第二目标管理信息条包括关于第二目标存储器单元的管理信息;调度器,被配置成分别从处理器和存储器控制器接收第一RMW命令和第二RMW命令,并将第一目标段地址和第二目标段地址进行相互比较以调度第一RMW命令和第二RMW命令;以及RMW单元,被配置成根据调度器的控制对存储器装置执行第一RMW命令和第二RMW命令。
根据本公开的实施例,一种存储器系统可以包括:存储介质,包括多个存储器单元;存储器装置,被配置成存储与段地址对应的管理信息条,该管理信息条中的每一条包括关于一个或多个存储器单元的有效性信息;处理器,被配置成当第一目标存储器单元中存储的新数据被存储到多个存储器单元之中的第二目标存储器单元中时,生成针对段地址之中的第一目标段地址的第一RMW命令和针对段地址之中的第二目标段地址的第二RMW命令,第一目标段地址对应于包括数据的有效性信息的第一目标管理信息条,并且第二目标段地址对应于包括新数据的有效性信息的第二目标管理信息条;以及存储器操作执行单元,被配置成从处理器接收第一RMW命令和第二RMW命令,将第一目标段地址和第二目标段地址进行相互比较以调度第一RMW命令和第二RMW命令,并且对存储器装置执行第一RMW命令和第二RMW命令。
根据本公开的实施例,一种控制存储介质的控制器,该存储介质包括第一存储器单元和第二存储器单元,该控制器可以包括:存储器,适用于存储分别针对第一存储器单元和第二存储器单元的至少第一条信息和第二条信息;命令生成器,适用于顺序地生成指示第一条信息的修改的第一和第二读取-修改-写入(RMW)命令以及指示第二条信息的修改的第三RMW命令;以及命令执行器,适用于执行第一和第三RMW命令的指令,然后基于关于第一条信息的第一和第二RMW命令之间的相关性,执行第二RMW命令的指令。
根据本公开的实施例,提供一种操作性能得以改善的存储器系统。
附图说明
结合附图描述特征、方面和实施例,其中:
图1是示出根据实施例的存储器系统的示图;
图2是示出根据实施例的图1的存储器装置中包括的管理信息区域的示图;
图3是示出根据实施例的诸如图1的读取-修改-写入(RMW)单元对存储器装置执行RMW操作的方法的示图;
图4是示例性地示出根据实施例的诸如图1的调度器的重新排序方法的示图;
图5A是示出根据实施例的RMW单元根据重新排序的执行顺序执行RMW命令的方法的示图;
图5B是示出RMW单元根据接收顺序执行RMW命令以与图5A的方法进行比较的方法的示图;
图6是示出根据实施例的诸如图1的控制器的映射更新方法的示图;
图7是示出根据实施例的多个处理器处理RMW命令的方法的示图;
图8是示出根据实施例的处理器和存储器控制器处理RMW命令的方法的示图;
图9是示出根据实施例的控制器的示图;
图10是示出根据实施例的包括固态驱动器(SSD)的数据处理系统的示图;
图11是示出根据实施例的包括存储器系统的数据处理系统的示图;
图12是示出根据实施例的包括存储器系统的数据处理系统的示图;
图13是示出根据实施例的包括存储器系统的网络系统的示图;并且
图14是示出根据实施例的包括在存储器系统中的非易失性存储器装置的框图。
具体实施方式
下面参照附图更详细地描述本发明的各个实施例。然而,本发明可以以不同的形式实现,因此不应该被解释为限于本文阐述的实施例。相反,提供这些实施例以使本公开是彻底且完全的,并且向本领域技术人员充分传达本发明的范围。在整个说明书中,对“实施例”、“另一实施例”等的参考不一定仅针对一个实施例,并且对任何这种短语的不同参考不一定针对相同的实施例。
附图不一定按比例绘制,并且在一些情况下为了清楚地说明实施例的特征,比例可能已被夸大。本文使用的术语仅是为了描述特定实施例的目的,并不旨在限制本发明。
如本文所使用的,术语“和/或”包括相关所列项目中的至少一个。将理解的是,当元件被称为“连接到”或“联接到”另一元件时,它可直接在另一元件上、连接到或联接到另一元件,或者可存在一个或多个中间元件。如本文使用的,除非上下文另有清楚地说明,否则单数形式也旨在包括复数形式,反之亦然。将进一步理解的是,当在本说明书中使用时,术语“包括”、“包括有”、“包含”和“包含有”指明所陈述元件的存在,并且不排除一个或多个其他元件的存在或添加。
在下文中,参照附图描述本公开的实施例。
图1是示出根据本公开的实施例的存储器系统100的示图。
存储器系统100可以被配置成响应于来自外部主机(HOST)的写入请求,存储从主机提供的数据。而且,存储器系统100可以被配置成响应于来自主机的读取请求,将存储在其中的数据提供到主机。
存储器系统100可以被配置为个人计算机存储卡国际协会(PCMCIA)、紧凑式闪存(CF)卡、智能媒体卡、记忆棒、各种多媒体卡(MMC,eMMC、RS-MMC和微型MMC)、各种安全数字卡(SD、迷你SD和微型SD)、通用闪存(UFS)、固态驱动器(SSD)等。
存储器系统100可以包括控制器110和存储介质120。
控制器110可以控制存储器系统100的一般操作。控制器110可以响应于来自主机的请求来控制存储介质120以便执行前台操作。前台操作可以包括响应于来自主机的请求(例如,写入请求或读取请求),将数据写入存储介质120中并从存储介质120读取数据的操作。
控制器110可以控制存储介质120,以便执行内部必需的并且独立于主机的后台操作。后台操作可以包括对存储介质120的损耗均衡操作、垃圾收集操作、擦除操作、读取回收操作、刷新操作等。与前台操作类似,后台操作可以包括将数据写入存储介质120中并从存储介质120读取数据的操作。
控制器110可以包括处理器PRCS、存储器操作执行单元MOE和存储器装置MEM。处理器PRCS可被称为命令生成器,存储器操作执行单元MOE可被称为命令执行器。
处理器PRCS可以控制控制器110的全部操作。处理器PRCS可以由中央处理单元、微处理器、微控制器或其任何组合来实施。尽管图1例示了存储器系统100包括一个处理器PRCS,但是如参照图7所描述,存储器系统100可以包括用于高速操作的多个处理器。
根据实施例,处理器PRCS可以指示存储器操作执行单元MOE对存储器装置MEM执行读取-修改-写入(RMW)操作。
具体地,处理器PRCS可以向存储器操作执行单元MOE提供RMW命令C_RMW,以指示存储器操作执行单元MOE执行RMW操作。
RMW命令C_RMW可以包括目标段地址(其信息)、修改位置和修改模式。目标段地址可以指示待从存储器装置MEM读取到存储器操作执行单元MOE的目标管理信息条TMIS。目标管理信息条TMIS可以包括待由存储器操作执行单元MOE修改的值。修改位置可以指示目标管理信息条TMIS内待修改的值的位置。修改模式可以指示特定的修改方法,例如,位清除、位设置、计数增加或计数减少。
也就是说,当需要根据处理器PRCS和存储器装置MEM的操作特性通过RMW方案修改存储在存储器装置MEM中的值时,处理器PRCS可以首先将RMW操作的读取命令提供到存储器装置MEM,以直接执行RMW操作。然后,处理器PRCS可以处于停止状态,直到从存储器装置MEM接收到目标管理信息条TMIS为止。此外,如将参照图2所描述的,由于执行RMW操作以便修改存储器装置MEM中存储的管理信息,并且大多数这种RMW操作是后台操作,因此RMW操作可能会对处理器PRCS产生高开销。根据实施例,处理器PRCS可以通过RMW命令C_RMW委托存储器操作执行单元MOE执行RMW操作,从而可以消除或减少RMW操作对于处理器PRCS的开销,从而可以极大地改善存储器系统100的性能。
存储器操作执行单元MOE可以从处理器PRCS接收RMW命令C_RMW,并且调度所接收到的RMW命令C_RMW以对存储器装置MEM执行RMW操作。当从处理器PRCS接收到RMW命令C_RMW时,存储器操作执行单元MOE可以立即向处理器PRCS提供RMW完成报告。
存储器操作执行单元MOE可以包括调度器SCHD和RMW单元RMW。
调度器SCHD可以从处理器PRCS接收RMW命令C_RMW,并且可以基于包括在RMW命令C_RMW中的目标段地址来确定RMW命令C_RMW的执行顺序。另外,调度器SCHD可以根据执行顺序控制RMW单元RMW以执行RMW命令C_RMW。
具体地,当第一RMW命令未决时,调度器SCHD可以接收与第一RMW命令具有地址相关性的第二RMW命令和与第一RMW命令不具有地址相关性的第三RMW命令。与先前RMW命令具有地址相关性的RMW命令可以具有与先前RMW命令相同的目标段地址。
在以上示例中,调度器SCHD可以控制RMW单元RMW以在第二RMW命令之前执行第三RMW命令。而且,调度器SCHD可以在完成第一RMW命令的执行之后控制RMW单元RMW以执行第二RMW命令。第一RMW命令的执行完成可以意味着完成将根据第一RMW命令修改的目标管理信息条TMIS写入到存储器装置MEM中。
如下所述,与第一RMW命令具有地址相关性的第二RMW命令不应与第一RMW命令并行执行,而应在第一RMW命令的执行完成之后执行,以确保数据完整性。另一方面,与第一RMW命令不具有地址相关性的第三RMW命令可以与第一RMW命令的执行无关地执行,并且甚至可以与第一RMW命令并行地执行。因此,根据实施例,调度器SCHD可以对从处理器PRCS接收并且未决的RMW命令C_RMW进行重新排序,以进行无序处理。最终,可以充分利用资源而没有任何未决状态,并且可以减少总体执行时间。
RMW单元RMW可以在调度器SCHD的控制下基于RMW命令C_RMW对存储器装置MEM执行RMW操作。RMW单元RMW可以基于RMW命令C_RMW中包括的目标段地址、修改位置和修改模式来执行RMW操作。
详细地,RMW单元RMW可以从存储器装置MEM中读取与目标段地址对应的目标管理信息条TMIS。RMW单元RMW可以根据修改模式来修改与目标管理信息条TMIS内的修改位置对应的值。RMW单元RMW可以将包括修改后的值的修改后的目标管理信息条TMIS_M写入到存储器装置MEM中。
存储器装置MEM可以用作处理器PRCS的操作存储器。存储器装置MEM可以被配置成存储待由处理器PRCS执行的软件程序,以及由处理器PRCS管理的存储介质120的各种管理数据(例如,参照图2描述的管理数据)。
根据实施例,存储器装置MEM可以被配置成作为缓冲器,临时存储在主机和存储介质120之间传送的数据。根据实施例,存储器装置MEM可以被配置成作为高速缓存,高速缓存存储介质120中存储的数据。
存储器装置MEM可以包括一个或多个易失性存储器装置。易失性存储器装置可以包括静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)等。
存储介质120可以在控制器110的控制下在其中存储从控制器110传送的数据。存储介质120可以在控制器110的控制下从其中读取数据并将所读取的数据提供到控制器110。
存储介质120可以包括一个或多个非易失性存储器装置。非易失性存储器装置可以包括诸如以下的闪速存储器:NAND闪存或NOR闪存、铁电随机存取存储器(FeRAM)、相变随机存取存储器(PCRAM)、磁阻随机存取存储器(MRAM)、电阻式随机存取存储器(ReRAM)等。
图2是示出根据实施例的图1的存储器装置MEM中包括的管理信息区域MIRG的示图。
参照图2,存储器装置MEM可以包括管理信息区域MIRG。管理信息区域MIRG可以包括段S0至Sn。段S0至Sn可以分别存储管理信息条MIS0至MISn。段地址SA0至SAn可以分别对应于段S0至Sn或管理信息条MIS0至MISn。
存储介质120可以包括数据区域DTRG。数据区域DTRG可以通过控制器110的前台操作和后台操作来存储数据。
数据区域DTRG可以包括存储器单元MU0至MUm。存储器单元可以是存储介质120对其执行读取操作、写入操作或擦除操作的单位。然而,本发明不限于该特定的存储器单元;存储器单元可以由各种标准定义。
存储器装置MEM的管理信息区域MIRG可以用于存储关于存储介质120中包括的存储器单元MU0至MUm的管理信息。管理信息条MIS0至MISn中的每一条可以包括关于一个或多个存储器单元的管理信息。例如,管理信息条MIS0中包括的管理信息MI_MU0可以是关于存储器单元MU0的,并且管理信息条MISn中包括的管理信息MI_MUm可以是关于存储器单元MUm的。
例如,关于存储器单元的管理信息可以包括存储器单元中存储的数据的有效性或无效性的信息。详细地,当存储介质120不支持覆盖方案时,可以将存储介质120的第一存储器单元中存储的数据的更新版本存储在空白的第二存储器单元中。在这种情况下,第一存储器单元中存储的旧数据可能变为无效数据,第二存储器单元中存储的新数据可能变为有效数据。因此,关于第一存储器单元的管理信息可以包括第一存储器单元中存储的旧数据无效的信息。另外,关于第二存储器单元的管理信息可以包括第二存储器单元中存储的新数据有效的信息。
根据实施例,关于存储器单元的管理信息可以包括已经对该存储器单元执行读取操作的次数的计数,即读取计数。每当控制器110对存储器单元执行读取操作时,存储器单元的读取计数可以增加一。
根据实施例,关于存储器单元的管理信息可以包括已经对该存储器单元执行擦除操作的次数的计数,即擦除计数。每当控制器110对存储器单元执行擦除操作时,存储器单元的擦除计数可以增加一。
根据实施例,关于存储器单元的管理信息可以包括关于存储器单元的多条不同种类的管理信息。
根据实施例,关于存储器单元的多条不同种类的管理信息可以彼此分开,并且分开的多条管理信息可以分别存储在不同的管理信息区域中。例如,存储器装置MEM可以包括彼此分开的有效性信息区域、读取计数信息区域和擦除计数信息区域。
图3是示出根据实施例的图1的RMW单元RMW对存储器装置MEM执行RMW操作的方法的示图。
参照图3,可能发生事件,响应于该事件,需要修改关于存储介质120内的目标存储器单元TMU的管理信息。例如,目标存储器单元TMU中存储的数据可能变得无效。例如,有效数据可以被存储在空白的目标存储器单元TMU中。例如,可以对目标存储器单元TMU执行读取操作或擦除操作。
响应于目标存储器单元TMU上发生的事件,处理器PRCS可以生成RMW命令C_RMW并且将RMW命令C_RMW提供到存储器操作执行单元MOE,以修改目标存储器单元TMU的管理信息MI_TMU。
RMW命令C_RMW可以包括指示RMW命令C_RMW的控制命令CMD以及目标段地址TSA、修改位置MTP和修改模式MODE的信息。
目标段地址TSA可以对应于待从存储器装置MEM读取到RMW单元RMW的目标管理信息条TMIS。目标段地址TSA可以对应于其中存储有目标管理信息条TMIS的目标段TS。修改位置MTP可以意味着待在目标管理信息条TMIS内修改的管理信息MI_TMU的位置。修改模式MODE可以指示待对修改位置MTP的管理信息MI_TMU执行的特定修改方法(例如,位清除、位设置、计数增加或计数减少)。
RMW单元RMW可以基于RMW命令C_RMW对存储器装置MEM的目标段地址TSA执行RMW操作。
详细地,在步骤S31中,RMW单元RMW可以从与目标段地址TSA对应的目标段TS读取目标管理信息条TMIS。
在步骤S32中,RMW单元RMW可以基于修改位置MTP和修改模式MODE来修改目标管理信息条TMIS中包括的管理信息MI_TMU。
例如,当目标存储器单元TMU中存储的数据变为无效时,RMW单元RMW可以清除管理信息MI_TMU内的有效位。例如,当有效数据被存储到空白的目标存储器单元TMU中时,RMW单元RMW可以设置管理信息MI_TMU内的有效位。例如,当对目标存储器单元TMU执行读取操作时,RMW单元RMW可以增加管理信息MI_TMU内的读取计数。例如,当对目标存储器单元TMU执行擦除操作时,RMW单元RMW可以增加管理信息MI_TMU内的擦除计数。
在步骤S33中,RMW单元RMW可以将包括修改后的管理信息MI_TMU_M的修改后的目标管理信息条TMIS_M写入到存储器装置MEM中。
例如,当RMW单元RMW根据高级微控制器总线架构(AMBA)总线的高级可扩展接口(AXI)协议进行操作时,它可以并行地驱动写入通道和读取通道。在这种情况下,RMW单元RMW可以通过写入通道和读取通道,对彼此没有地址相关性的不同目标段地址并行地执行写入操作和读取操作。为了使RMW单元RMW执行这种操作,调度器SCHD可以基于RMW命令的目标段地址来对待被无序处理的多个RMW命令进行重新排序,这将参照图4进行描述。
图4是示例性地示出根据实施例的图1的调度器SCHD的重新排序方法的示图。
参照图4,调度器SCHD可以从处理器PRCS顺序地接收第一至第三RMW命令C_RMW1至C_RMW3。调度器SCHD可以确定第一至第三RMW命令C_RMW1至C_RMW3的执行顺序,并且可以控制RMW单元RMW以根据执行顺序来执行第一至第三RMW命令C_RMW1至C_RMW3。
详细地,调度器SCHD可以根据第一至第三RMW命令C_RMW1至C_RMW3中包括的目标段地址的相关性来确定执行顺序。
例如,第二RMW命令C_RMW2可以和与第一RMW命令C_RMW1相同的目标段地址TSA1相关联,并且因此可以与第一RMW命令C_RMW1具有地址相关性。因此,第二RMW命令C_RMW2应在响应于第一RMW命令C_RMW1的RMW操作的执行完成之后执行,以确保目标段地址TSA1的数据的完整性。因此,第二RMW命令C_RMW2不应与第一RMW命令C_RMW1并行地执行。
另一方面,第三RMW命令C_RMW3可以与目标段地址TSA2相关联,因此可以不与第一RMW命令C_RMW1具有地址相关性。因此,第三RMW命令C_RMW3可以独立于第一RMW命令C_RMW1而执行,而不管第一RMW命令C_RMW1的执行是否完成。第三RMW命令C_RMW3可以与第一RMW命令C_RMW1并行地执行。
因此,调度器SCHD可以确定执行顺序,使得将在第二RMW命令C_RMW2之前执行第三RMW命令C_RMW3。如参照图5A所述,调度器SCHD可以控制RMW单元RMW以部分地与第一RMW命令C_RMW1并行地执行第三RMW命令C_RMW3,并且在执行第一RMW命令C_RMW1之后执行第二RMW命令C_RMW2。
图5A是示出根据实施例的RMW单元RMW根据重新排序后的执行顺序执行RMW命令C_RMW1至C_RMW3的方法的示图。图5B是示出RMW单元根据接收顺序执行RMW命令C_RMW1至C_RMW3以与图5A的方法进行比较的方法的示图。
参照图5A,RMW单元RMW可以根据例如参照图4描述确定的执行顺序来执行第一至第三RMW命令C_RMW1至C_RMW3。
在时间段S501和S502中,RMW单元RMW可以基于第一RMW命令C_RMW1执行第一RMW操作RMW1。
详细地,在时间段S501中,RMW单元RMW可以通过读取通道从存储器装置MEM中读取第一RMW命令C_RMW1的目标管理信息条TMIS1。目标管理信息条TMIS1可以对应于第一RMW命令C_RMW1的目标段地址TSA1。尽管未说明,但RMW单元RMW可以修改目标管理信息条TMIS1内的管理信息。
在时间段S502中,RMW单元RMW可以通过写入通道将修改后的目标管理信息条TMIS1_M1写入到存储器装置MEM中。
在时间段S502和S503中,RMW单元RMW可以基于第三RMW命令C_RMW3执行第三RMW操作RMW3。
详细地,在时间段S502中,RMW单元RMW可以通过读取通道从存储器装置MEM中读取第三RMW命令C_RMW3的目标管理信息条TMIS2。目标管理信息条TMIS2可以对应于第三RMW命令C_RMW3的目标段地址TSA2。也就是说,RMW单元RMW可以通过分开的写入通道和读取通道,针对彼此不同的目标段地址TSA1和TSA2并行地执行第一RMW操作RMW1的写入操作和第三RMW操作RMW3的读取操作。RMW单元RMW可以修改目标管理信息条TMIS2内的管理信息。
在时间段S503中,RMW单元RMW可以通过写入通道将修改后的目标管理信息条TMIS2_M写入到存储器装置MEM中。
在时间段S503和S504中,RMW单元RMW可以基于第二RMW命令C_RMW2执行第二RMW操作RMW2。
详细地,在时间段S503中,由于第一RMW操作RMW1完成并且读取通道可用,因此RMW单元RMW可以通过读取通道从存储器装置MEM中读取第二RMW命令C_RMW2的修改后的目标管理信息条TMIS1_M1。RMW单元RMW可以修改修改后的目标管理信息条TMIS1_M1内的管理信息。
在时间段S504中,RMW单元RMW可以通过写入通道将修改后的目标管理信息条TMIS1_M2写入到存储器装置MEM中。
参照图5B,RMW单元RMW可以根据接收顺序执行第一至第三RMW命令C_RMW1至C_RMW3。
在时间段S511和S512中,RMW单元RMW可以基于第一RMW命令C_RMW1执行第一RMW操作RMW1。
详细地,在时间段S511中,RMW单元RMW可以通过读取通道从存储器装置MEM中读取第一RMW命令C_RMW1的目标管理信息条TMIS1。目标管理信息条TMIS1可以对应于第一RMW命令C_RMW1的目标段地址TSA1。RMW单元RMW可以修改目标管理信息条TMIS1内的管理信息。
在时间段S512中,RMW单元RMW可以通过写入通道将修改后的目标管理信息条TMIS1_M1写入到存储器装置MEM中。
在第一RMW操作RMW1的执行完成之后,在时间段S513和S514中,RMW单元RMW可以基于第二RMW命令C_RMW2执行第二RMW操作RMW2。
详细地,在时间段S513中,RMW单元RMW可以通过读取通道从存储器装置MEM中读取第二RMW命令C_RMW2的修改后的目标管理信息条TMIS1_M1。RMW单元RMW可以修改修改后的目标管理信息条TMIS1_M1内的管理信息。
在时间段S514中,RMW单元RMW可以通过写入通道将修改后的目标管理信息条TMIS1_M2写入到存储器装置MEM中。
在时间段S514和S515中,RMW单元RMW可以基于第三RMW命令C_RMW3执行第三RMW操作RMW3。
详细地,在时间段S514中,由于读取通道可用,因此RMW单元RMW可以通过读取通道从存储器装置MEM中读取第三RMW命令C_RMW3的目标管理信息条TMIS2。目标管理信息条TMIS2可以对应于第三RMW命令C_RMW3的目标段地址TSA2。也就是说,RMW单元RMW可以通过分开的写入通道和读取通道,针对彼此不同的目标段地址TSA1和TSA2并行地执行第二RMW操作RMW2的写入操作和第三RMW操作RMW3的读取操作。RMW单元RMW可以修改目标管理信息条TMIS2内的管理信息。
在时间段S515中,RMW单元RMW可以通过写入通道将修改后的目标管理信息条TMIS2_M写入到存储器装置MEM中。
总之,比较图5A和图5B的操作,可以减少第一至第三RMW操作RMW1至RMW3的总操作时间。也就是说,根据实施例,由于调度器SCHD对待被无序处理的多个RMW命令进行重新排序,因此可以充分利用资源并且可以减少总体执行时间。
图6是示出根据实施例的图1的控制器110的映射更新方法的示图。
参照图6,控制器110可以从主机接收对与目标逻辑地址TLA对应的新数据NEW的写入请求WR1。控制器110可以将新数据NEW写入到存储介质120的第二目标存储器单元TMU2中。控制器110可以以如下所述的方式针对写入请求WR1执行映射更新操作。
在步骤S61中,处理器PRCS可以从存储器装置MEM中读取被映射到目标逻辑地址TLA的第一目标存储器单元TMU1的地址TMUA1。例如,目标逻辑地址TLA可以指示存储器装置MEM中包括的映射数据区域(未示出)内的特定位置。处理器PRCS可以读取特定位置中存储的第一目标存储器单元TMU1的地址TMUA1。第一目标存储器单元TMU1可以存储目标逻辑地址TLA的旧数据OLD。
在步骤S62中,处理器PRCS可以将RMW命令C_RMW11和C_RMW12提供到存储器操作执行单元MOE。RMW命令C_RMW11可以指示第一目标存储器单元TMU1的有效位被清除,并且RMW命令C_RMW12可以指示设置第二目标存储器单元TMU2的有效位。RMW命令C_RMW11和C_RMW12可以如参照图3所述生成。
在步骤S63中,存储器操作执行单元MOE可以调度RMW命令C_RMW11和C_RMW12,并且可以对存储器装置MEM执行RMW命令C_RMW11和C_RMW12。详细地,存储器操作执行单元MOE可以通过比较未决的RMW命令与RMW命令C_RMW11和C_RMW12的目标段地址,来确定已经未决的RMW命令(未示出)以及RMW命令C_RMW11和C_RMW12的地址相关性,以确定RMW命令C_RMW11和C_RMW12的执行顺序。存储器操作执行单元MOE可以基于RMW命令C_RMW11和C_RMW12来分别地执行RMW操作RMW11和RMW12。RMW命令C_RMW11和C_RMW12可以如参照图4和图5A所述执行。
在步骤S64中,处理器PRCS可以将第二目标存储器单元TMU2的地址TMUA2写入到由存储器装置MEM的映射数据区域内的目标逻辑地址TLA指示的特定位置中。
根据实施例,与图6所示不同,步骤S64可以先于步骤S62执行。
总之,映射更新操作可能需要对存储器装置MEM的多次访问。然而,根据实施例,处理器PRCS可以控制存储器操作执行单元MOE以执行在映射更新操作之中需要相对较长的执行时间的RMW操作RMW11和RMW12,从而消除或大大减少了映射更新操作的开销。
图7是示出根据实施例的多个处理器PRCS0至PRCSk处理RMW命令C_RMW0至C_RMWk的方法的示图。
参照图7,控制器110可以包括多个处理器PRCS0至PRCSk。多个处理器PRCS0至PRCSk中的每一个可以独立地将RMW命令C_RMW0至C_RMWk提供到存储器操作执行单元MOE。即使当并行地提供RMW命令C_RMW0至C_RMWk时,存储器操作执行单元MOE也可以调度RMW命令C_RMW0至C_RMWk并且可以根据上述方法对存储器装置MEM执行RMW命令C_RMW0至C_RMWk。
通常,当需要直接访问用于RMW操作的存储器装置MEM时,多个处理器PRCS0至PRCSk可以为了数据完整性而相互锁定。然而,根据实施例,存储器操作执行单元MOE可以向多个处理器PRCS0至PRCSk提供无锁环境,这可以使存储器装置MEM的操作性能最大化。
图8是示出根据实施例的处理器PRCS和存储器控制器MCTL处理RMW命令C_RMW和C_RMW_MCTL的方法的示图。
参照图8,存储器系统100可以进一步包括存储器控制器MCTL。
存储器控制器MCTL可以在处理器PRCS的控制下控制存储介质120。存储器控制器MCTL可以在处理器PRCS的控制下,对存储介质120内的目标存储器单元执行写入操作、读取操作、擦除操作等。因此,存储器控制器MCTL可以直接向存储器操作执行单元MOE提供RMW命令C_RMW_MCTL,以在对目标存储器单元的写入操作、读取操作、擦除操作或其他操作之后更新目标存储器单元的管理信息。
在这种情况下,处理器PRCS和存储器控制器MCTL可以分别向存储器操作执行单元MOE提供RMW命令C_RMW和C_RMW_MCTL。例如,处理器PRCS的RMW命令C_RMW可以用于有效性信息的修改,并且存储器控制器MCTL的RMW命令C_RMW_MCTL可以用于增加读取计数。根据实施例,即使当处理器PRCS和存储器控制器MCTL将RMW命令C_RMW和C_RMW_MCTL并行地提供到存储器操作执行单元MOE时,存储器操作执行单元MOE也可以调度RMW命令C_RMW和C_RMW_MCTL并且可以根据上述方法对存储器装置MEM执行RMW命令C_RMW和C_RMW_MCTL。
也就是说,如参照图7所述,存储器操作执行单元MOE可以有效地执行不同层或不同管线的处理器PRCS和存储器控制器MCTL的RMW命令C_RMW和C_RMW_MCTL以及相同层的处理器PRCS0至PRCSk的RMW命令C_RMW0至C_RMWk,同时确保数据完整性。
根据实施例,控制器110可以包括多个处理器和多个存储器控制器。在这种情况下,存储器操作执行单元MOE可以调度从多个处理器和多个存储器控制器发布的多个RMW命令,并且可以执行多个RMW命令。
图9是示出根据实施例的控制器110的示图。
参照图9,控制器110可以进一步包括高速缓存存储器CMEM。
可以在存储器操作执行单元MOE和存储器装置MEM之间设置高速缓存存储器CMEM。高速缓存存储器CMEM可以将存储器装置MEM中存储的管理信息条MIS0至MISn之中的一部分作为高速缓存数据CACHE进行高速缓存(参见图2)。存储器操作执行单元MOE可以类似地对高速缓存存储器CMEM执行上述RMW操作RMW。
详细地,当从存储器操作执行单元MOE接收到RMW操作的读取命令并且目标管理信息条包括在高速缓存数据CACHE中时(即,在高速缓存命中的情况下),高速缓存存储器CMEM可以将目标管理信息条提供到存储器操作执行单元MOE。另一方面,当从存储器操作执行单元MOE接收到RMW操作的读取命令但目标管理信息条不包括在高速缓存数据CACHE中时(即,在高速缓存未命中的情况下),高速缓存存储器CMEM可以将RMW操作的读取命令提供到存储器装置MEM。
高速缓存存储器CMEM可以包括能够以比存储器装置MEM更快的速度操作的存储器。因此,根据实施例,可以通过引入高速缓存存储器CMEM来进一步提高存储器操作执行单元MOE的RMW操作性能。
特别地,当主机提供顺序写入请求时,顺序数据可以存储在存储介质120内的顺序目标存储器单元中。在这种情况下,关于应该设置有效位的目标存储器单元的管理信息很可能被包括在同一目标管理信息条中。因此,当高速缓存存储器CMEM正在高速缓存相应的目标管理信息条时,可以从高速缓存存储器CMEM连续地提供相应的目标管理信息条。因此,可以改善顺序写入操作的映射更新操作的性能。
根据实施例,不同于图9所示,可以在存储器操作执行单元MOE内设置高速缓存存储器CMEM。
图10是示出根据实施例的包括固态驱动器(SSD)1200的数据处理系统1000的示图。参照图10,数据处理系统1000可以包括主机装置1100以及SSD 1200。
SSD 1200可以包括控制器1210、缓冲存储器装置1220、多个非易失性存储器装置1231至123n、电源1240、信号连接器1250和电源连接器1260。
控制器1210可以控制SSD 1200的一般操作。控制器1210可以包括主机接口单元1211、控制单元1212、随机存取存储器1213、错误校正码(ECC)单元1214、存储器接口单元1215和存储器操作执行单元1216。
主机接口单元1211可以通过信号连接器1250与主机装置1100交换信号SGL。信号SGL可以包括命令、地址、数据等。根据主机装置1100的协议,主机接口单元1211可以将主机装置1100和SSD 1200接口连接。例如,主机接口单元1211可以通过诸如以下的任一种标准接口协议与主机装置1100通信:安全数字、通用串行总线(USB)、多媒体卡(MMC)、嵌入式MMC(eMMC)、个人计算机存储卡国际协会(PCMCIA)、并行高级技术附件(PATA)、串行高级技术附件(SATA)、小型计算机系统接口(SCSI)、串列SCSI(SAS)、外围组件互连(PCI)、高速PCI(PCI-E)和/或通用闪存(UFS)。
控制单元1212可以分析和处理从主机装置1100接收的信号SGL。控制单元1212可以根据用于驱动SSD 1200的固件或软件来控制内部功能块的操作。控制单元1212可以以与图1所示的处理器PRCS相同的方式配置。
存储器操作执行单元1216可以以与图1所示的存储器操作执行单元MOE相同的方式配置。
随机存取存储器1213可以用作驱动这种固件或软件的工作存储器。随机存取存储器1213可以对应于图1所示的存储器装置MEM。
ECC单元1214可以生成待传输到非易失性存储器装置1231至123n中的至少一个的数据的奇偶校验数据。生成的奇偶校验数据可以与数据一起存储在非易失性存储器装置1231至123n中。ECC单元1214可以基于奇偶校验数据检测从非易失性存储器装置1231至123n中的至少一个读取的数据中的错误。如果检测到的错误在可校正的范围内,则ECC单元1214可以校正检测到的错误。
存储器接口单元1215可以根据控制单元1212的控制,向非易失性存储器装置1231至123n中的至少一个提供诸如命令和地址的控制信号。此外,存储器接口单元1215可以根据控制单元1212的控制,与非易失性存储器装置1231至123n中的至少一个交换数据。例如,存储器接口单元1215可以将缓冲存储器装置1220中存储的数据提供到非易失性存储器装置1231至123n中的至少一个,或将从非易失性存储器装置1231至123n中的至少一个读取的数据提供到缓冲存储器装置1220。
缓冲存储器装置1220可以临时存储待存储在非易失性存储器装置1231至123n中的至少一个中的数据。进一步,缓冲存储器装置1220可以临时存储从非易失性存储器装置1231至123n中的至少一个中读取的数据。临时存储在缓冲存储器装置1220中的数据可根据控制器1210的控制传输到主机装置1100或非易失性存储器装置1231至123n中的至少一个。根据实施例,随机存取存储器1213可以代替缓冲存储器装置1220用作缓冲存储器。
非易失性存储器装置1231至123n可以用作SSD 1200的存储介质。非易失性存储器装置1231至123n可以通过多个通道CH1至CHn分别与控制器1210联接。一个或多个非易失性存储器装置可以联接到一个通道。联接到相同的通道的非易失性存储器装置可以联接到相同的信号总线和数据总线。
电源1240可以将通过电源连接器1260输入的电力PWR提供到SSD1200的内部。电源1240可包括辅助电源1241。辅助电源1241可以在发生突然断电时提供电力以允许SSD 1200正常地终止。辅助电源1241可包括大容量电容器。
根据主机装置1100和SSD1200之间的接口方案,信号连接器1250可以被配置为各种类型的连接器中的任意一种。
根据主机装置1100的电力供应方案,电源连接器1260可以被配置为各种类型的连接器中的任意一种。
图11是根据实施例的包括存储器系统2200的数据处理系统2000的示图。参照图11,数据处理系统2000可以包括主机装置2100和存储器系统2200。
主机装置2100可以以诸如印刷电路板的板的形式配置。虽然未示出,但是主机装置2100可以包括用于执行主机装置的功能的内部功能块。
主机装置2100可以包括连接端子2110,诸如插座、插槽或连接器。存储器系统2200可以安装在连接端子2110上。
存储器系统2200可以以诸如印刷电路板的板的形式来配置。存储器系统2200可以被称为存储器模块或存储卡。存储器系统2200可以包括控制器2210、缓冲存储器装置2220、非易失性存储器装置2231和2232、电源管理集成电路(PMIC)2240和连接端子2250。
控制器2210可以控制存储器系统2200的一般操作。控制器2210可以以与图10所示的控制器1210相同的方式来配置。
缓冲存储器装置2220可以临时存储待存储在非易失性存储器装置2231和2232中的数据。此外,缓冲存储器装置2220可以临时存储从非易失性存储器装置2231和2232读取的数据。临时存储在缓冲存储器装置2220中的数据可以根据控制器2210的控制被传输到主机装置2100或非易失性存储器装置2231和2232。
非易失性存储器装置2231和2232可以用作存储器系统2200的存储介质。
PMIC 2240可以将通过连接端子2250输入的电力提供到存储器系统2200的内部。PMIC 2240可以根据控制器2210的控制来管理存储器系统2200的电力。
连接端子2250可以联接到主机装置2100的连接端子2110。通过连接端子2250,可以在主机装置2100和存储器系统2200之间传送诸如命令、地址、数据等的信号以及电力。根据主机装置2100和存储器系统2200之间的接口方案,连接端子2250可以被配置为各种类型中的任意一种。连接端子2250可以设置在存储器系统2200上或其任一侧中。
图12是根据实施例的包括存储器系统3200的数据处理系统3000的示图。参照图12,数据处理系统3000可以包括主机装置3100和存储器系统3200。
主机装置3100可以以诸如印刷电路板的板的形式配置。虽然未示出,但是主机装置3100可以包括用于执行主机装置的功能的内部功能块。
存储器系统3200可以以表面安装型封装的形式配置。存储器系统3200可以通过焊球3250安装在主机装置3100上。存储器系统3200可以包括控制器3210、缓冲存储器装置3220和非易失性存储器装置3230。
控制器3210可以控制存储器系统3200的一般操作。控制器3210可以以与图9所示的控制器1210相同的方式来配置。
缓冲存储器装置3220可以临时存储待存储在非易失性存储器装置3230中的数据。此外,缓冲存储器装置3220可以临时存储从非易失性存储器装置3230读取的数据。临时存储在缓冲存储器装置3220中的数据可以根据控制器3210的控制被传送到主机装置3100或非易失性存储器装置3230。
非易失性存储器装置3230可以用作存储器系统3200的存储介质。
图13是示出根据实施例的包括存储器系统4200的网络系统4000的示图。参照图13,网络系统4000可以包括通过网络4500联接的服务器系统4300和多个客户端系统4410至4430。
服务器系统4300可以响应于来自多个客户端系统4410至4430的请求服务数据。例如,服务器系统4300可以存储从多个客户端系统4410至4430提供的数据。又例如,服务器系统4300可以向多个客户端系统4410至4430提供数据。
服务器系统4300可以包括主机装置4100和存储器系统4200。存储器系统4200可以被配置为图1所示的存储器系统100、图10所示的存储器系统1200、图11所示的存储器系统2200或图12所示的存储器系统3200。
图14是示出根据实施例的包括在存储器系统中的非易失性存储器装置300的框图。参照图14,非易失性存储器装置300可以包括存储器单元阵列310、行解码器320、数据读取/写入块330、列解码器340、电压生成器350和控制逻辑360。
存储器单元阵列310可以包括存储器单元MC,存储器单元MC布置在字线WL1至WLm与位线BL1至BLn彼此相交的区域。
行解码器320可以通过字线WL1至WLm与存储器单元阵列310联接。行解码器320可以根据控制逻辑360的控制进行操作。行解码器320可以对从外部装置(未示出)提供的地址进行解码。行解码器320可以基于解码结果选择并驱动字线WL1至WLm。例如,行解码器320可以将从电压生成器350提供的字线电压提供到字线WL1至WLm。
数据读取/写入块330可以通过位线BL1至BLn与存储器单元阵列310联接。数据读取/写入块330可以包括分别与字线BL1至BLn对应的读取/写入电路RW1至RWn。数据读取/写入块330可以根据控制逻辑360的控制进行操作。数据读取/写入块330可以根据操作模式操作为写入驱动器或读出放大器。例如,在写入操作中,数据读取/写入块330可以操作为将从外部装置提供的数据存储在存储器单元阵列310中的写入驱动器。又例如,在读取操作中,数据读取/写入块330可以操作为从存储器单元阵列310读出数据的读出放大器。
列解码器340可以根据控制逻辑360的控制进行操作。列解码器340可以对从外部装置提供的地址进行解码。列解码器340可以基于解码结果,将分别与位线BL1至BLn对应的数据读取/写入块330的读取/写入电路RW1至RWn与数据输入/输出线或数据输入/输出缓冲器联接。
电压生成器350可以生成待用于非易失存储器装置300的内部操作的电压。电压生成器350所生成的电压可以施加于存储器单元阵列310的存储器单元。例如,编程操作中生成的编程电压可以施加于待对其执行编程操作的存储器单元的字线。又例如,擦除操作中生成的擦除电压可以施加于待对其执行擦除操作的存储器单元的阱区。再例如,读取操作中生成的读取电压可以施加于待对其执行读取操作的存储器单元的字线。
控制逻辑360可以基于从外部装置提供的控制信号控制非易失性存储器装置300的一般操作。例如,控制逻辑360可以控制非易失性存储器装置300的操作,诸如非易失性存储器装置300读取操作、写入操作和擦除操作。
术语“单元”并不旨在调用方式加功能(means-plus-function)解释。任何“单元”元件都可以通过适当的硬件或硬件和软件的组合来实施。
尽管已经示出和描述了某些实施例,但是本领域技术人员将理解的是,所描述的实施例仅是示例性的。因此,本发明不受限于或被限制到所描述的实施例中的任意一个。相反,本发明涵盖落入权利要求范围内的任何公开实施例的所有变型和修改。
Claims (22)
1.一种存储器系统,包括:
存储器装置,包括多个段;
处理器,针对与所述多个段之中的目标段对应的目标段地址生成读取-修改-写入命令即RMW命令;
调度器,从所述处理器接收所述RMW命令并且调度所述RMW命令;以及
RMW单元,根据所述调度器的控制对所述存储器装置执行所述RMW命令,
其中当从所述处理器接收到的多个RMW命令未决时,所述调度器比较所述多个RMW命令的目标段地址以对所述多个RMW命令进行重新排序。
2.根据权利要求1所述的存储器系统,
其中所述调度器控制RMW单元,以在完成所述多个RMW命令之中的第一RMW命令的执行之后执行在所述第一RMW命令之后接收到的第二RMW命令,并且
其中所述第二RMW命令与和所述第一RMW命令相同的目标段地址相关联。
3.根据权利要求2所述的存储器系统,
其中所述调度器控制所述RMW单元,以先于所述第二RMW命令执行所述多个RMW命令之中在所述第二RMW命令之后接收到的第三RMW命令,并且
其中所述第三RMW命令与和所述第一RMW命令不同的目标段地址相关联。
4.根据权利要求3所述的存储器系统,其中当直接在所述第一RMW命令之后执行所述第三RMW命令时,所述RMW单元分别通过彼此分开的读取通道和写入通道并行地执行根据所述第三RMW命令的读取操作和根据所述第一RMW命令的写入操作。
5.根据权利要求1所述的存储器系统,
其中所述RMW命令进一步包括修改位置和修改模式的信息,
其中所述修改位置指示所述目标段中存储的目标管理信息条内待修改的值的位置,并且
其中所述修改模式指示用于修改所述修改位置的值的修改方法。
6.根据权利要求5所述的存储器系统,其中所述RMW单元从所述目标段中读取所述目标管理信息条,根据所述修改模式修改读取的目标管理信息条内的所述修改位置的值,并且将包含修改后的值的修改后的目标管理信息条写入到所述目标段中。
7.根据权利要求1所述的存储器系统,
进一步包括:存储介质,包括多个存储器单元,
其中所述多个段分别存储多条管理信息,并且所述多条管理信息中的每一条包括关于一个或多个存储器单元的管理信息,并且
其中关于每个存储器单元的管理信息包括关于所述每个存储器单元中存储的数据的有效性、所述每个存储器单元的读取计数以及所述每个存储器单元的擦除计数中的至少一个的信息。
8.根据权利要求7所述的存储器系统,
其中当所述多个存储器单元之中的目标存储器单元发生事件时,所述处理器生成所述RMW命令,以在与所述目标存储器单元对应的目标段内修改关于所述目标存储器单元的目标管理信息条,并且
其中所述目标段中存储的所述目标管理信息包括关于所述目标存储器单元的管理信息。
9.根据权利要求1所述的存储器系统,
进一步包括:第二处理器,独立于所述处理器向所述调度器提供针对第二目标段地址的第二RMW命令,
其中所述调度器比较所述目标段地址和所述第二目标段地址,以调度所述RMW命令和第二RMW命令。
10.根据权利要求1所述的存储器系统,
进一步包括:存储器控制器,根据所述处理器的控制来控制存储介质,
其中所述存储器控制器独立于所述处理器向所述调度器提供针对第二目标段地址的第二RMW命令,并且
其中所述调度器比较所述目标段地址和所述第二目标段地址,以调度所述RMW命令和第二RMW命令。
11.根据权利要求10所述的存储器系统,
其中所述RMW命令用于修改所述存储介质中存储的第一数据的有效性信息,并且
其中所述第二RMW命令用于增加所述存储介质中存储的第二数据的读取计数或擦除计数。
12.根据权利要求1所述的存储器系统,
进一步包括:高速缓存存储器,设置在所述RMW单元和所述存储器装置之间,并且操作为所述存储器装置的高速缓存,
其中所述RMW单元代替所述存储器装置对所述高速缓存存储器执行所述RMW命令。
13.一种存储器系统,包括:
存储介质,包括多个存储器单元,
存储器装置,存储与段地址对应的管理信息条,所述管理信息条中的每一条包括关于一个或多个存储器单元的管理信息;
处理器,当所述多个存储器单元之中的第一目标存储器单元发生事件时,针对所述段地址之中的第一目标段地址生成第一RMW命令,所述第一目标段地址对应于第一目标管理信息条,所述第一目标管理信息条包括关于所述第一目标存储器单元的管理信息;
存储器控制器,根据所述处理器的控制来访问所述多个存储器单元之中的第二目标存储器单元,然后针对所述段地址之中的第二目标段地址生成第二RMW命令,所述第二目标段地址对应于第二目标管理信息条,所述第二目标管理信息条包括关于所述第二目标存储器单元的管理信息;
调度器,分别从所述处理器和所述存储器控制器接收所述第一RMW命令和所述第二RMW命令,并且将所述第一目标段地址和所述第二目标段地址进行相互比较以调度所述第一RMW命令和所述第二RMW命令;以及
RMW单元,根据所述调度器的控制对所述存储器装置执行所述第一RMW命令和所述第二RMW命令。
14.根据权利要求13所述的存储器系统,其中当所述第一目标段地址与所述第二目标段地址相同时,所述调度器控制所述RMW单元,以在执行所述第一RMW命令和所述第二RMW命令之间的一个RMW命令之后,执行在所述一个RMW命令之后接收到的另一个RMW命令。
15.根据权利要求14所述的存储器系统,其中当在来自所述处理器或所述存储器控制器的所述另一个RMW命令之后接收到针对第三目标段地址的第三RMW命令,并且所述第三目标段地址不同于所述第一目标段地址和所述第二目标段地址时,所述调度器控制所述RMW单元以先于所述另一个RMW命令执行所述第三RMW命令。
16.根据权利要求15所述的存储器系统,其中当直接在所述一个RMW命令之后执行所述第三RMW命令时,所述RMW单元分别通过彼此分开的读取通道和写入通道并行地执行根据所述第三RMW命令的读取操作和根据所述一个RMW命令的写入操作。
17.根据权利要求13所述的存储器系统,
其中所述第一RMW命令用于修改所述存储介质中存储的第一数据的有效性信息,并且
其中所述第二RMW命令用于增加针对所述存储介质中存储的第二数据的读取计数或擦除计数。
18.一种存储器系统,包括:
存储介质,包括多个存储器单元,
存储器装置,存储与段地址对应的管理信息条,所述管理信息条中的每一条包括关于一个或多个存储器单元的有效性信息;
处理器,当第一目标存储器单元中存储的新数据被存储到所述多个存储器单元之中的第二目标存储器单元中时,生成针对所述段地址之中的第一目标段地址的第一RMW命令和针对所述段地址之中的第二目标段地址的第二RMW命令,所述第一目标段地址对应于包括数据的有效性信息的第一目标管理信息条,并且所述第二目标段地址对应于包括所述新数据的有效性信息的第二目标管理信息条;以及
存储器操作执行单元,从所述处理器接收所述第一RMW命令和所述第二RMW命令,将所述第一目标段地址和所述第二目标段地址进行相互比较以调度所述第一RMW命令和所述第二RMW命令,并且对所述存储器装置执行所述第一RMW命令和所述第二RMW命令。
19.根据权利要求18所述的存储器系统,其中当所述第一目标段地址与第二目标段地址相同时,所述存储器操作执行单元在执行所述第一RMW命令和所述第二RMW命令之间的一个RMW命令之后,执行在所述一个RMW命令之后接收到的另一个RMW命令。
20.根据权利要求18所述的存储器系统,其中当所述第一目标段地址与所述第二目标段地址不同时,所述存储器操作执行单元对待无序执行的所述第一RMW命令和所述第二RMW命令进行重新排序。
21.根据权利要求18所述的存储器系统,其中所述处理器生成所述第一RMW命令以修改数据的有效性信息,以包括数据无效的信息,并且生成所述第二RMW命令以修改所述新数据的有效性信息,以包括所述新数据有效的信息。
22.一种控制存储介质的控制器,所述存储介质包括第一存储器单元和第二存储器单元,所述控制器包括:
存储器,存储分别针对所述第一存储器单元和所述第二存储器单元的至少第一条信息和第二条信息;
命令生成器,顺序地生成指示所述第一条信息的修改的第一和第二读取-修改-写入命令即第一和第二RMW命令,以及指示所述第二条信息的修改的第三RMW命令;以及
命令执行器,执行所述第一RMW命令和所述第三RMW命令的指令,然后基于关于所述第一条信息的所述第一和第二RMW命令之间的相关性,执行所述第二RMW命令的指令。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2019-0152195 | 2019-11-25 | ||
KR1020190152195A KR20210063724A (ko) | 2019-11-25 | 2019-11-25 | 메모리 시스템 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112835514A true CN112835514A (zh) | 2021-05-25 |
CN112835514B CN112835514B (zh) | 2023-08-11 |
Family
ID=75923272
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010905654.4A Active CN112835514B (zh) | 2019-11-25 | 2020-09-01 | 存储器系统 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11126379B2 (zh) |
KR (1) | KR20210063724A (zh) |
CN (1) | CN112835514B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20230305739A1 (en) * | 2022-03-28 | 2023-09-28 | Microsoft Technology Licensing, Llc | Partial memory updates using preset templates |
US11899956B2 (en) | 2022-06-22 | 2024-02-13 | Western Digital Technologies, Inc. | Optimized read-modify-writes during relocation of overlapping logical blocks |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4480307A (en) * | 1982-01-04 | 1984-10-30 | Intel Corporation | Interface for use between a memory and components of a module switching apparatus |
US20060136659A1 (en) * | 2004-12-21 | 2006-06-22 | Sanjeev Jain | Processor having content addressable memory with command ordering |
US20090150624A1 (en) * | 2007-11-15 | 2009-06-11 | Micron Technology, Inc. | System, apparatus, and method for modifying the order of memory accesseses |
US7680992B1 (en) * | 2006-06-14 | 2010-03-16 | Nvidia Corporation | Read-modify-write memory with low latency for critical requests |
CN102566939A (zh) * | 2011-12-19 | 2012-07-11 | 记忆科技(深圳)有限公司 | 一种固态硬盘及其读-修改-写操作的数据管理方法 |
US10275306B1 (en) * | 2017-02-09 | 2019-04-30 | Cadence Design Systems, Inc. | System and method for memory control having adaptively split addressing of error-protected data words in memory transactions for inline storage configurations |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6490642B1 (en) * | 1999-08-12 | 2002-12-03 | Mips Technologies, Inc. | Locked read/write on separate address/data bus using write barrier |
JP2003196084A (ja) * | 2001-12-25 | 2003-07-11 | Toshiba Corp | リードモディファイライトユニットを有するシステム |
US8112595B1 (en) * | 2008-05-01 | 2012-02-07 | Marvell Semiconductor Israel Ltd. | Command cancellation channel for read—modify—write operation in a memory |
JP2009289170A (ja) * | 2008-05-30 | 2009-12-10 | Nec Electronics Corp | データ処理装置、メモリコントローラ及びそのアクセス制御方法 |
KR101790165B1 (ko) | 2011-08-09 | 2017-11-20 | 삼성전자 주식회사 | 메모리 시스템 및 그것의 메타 데이터 관리 방법 |
KR101858159B1 (ko) | 2012-05-08 | 2018-06-28 | 삼성전자주식회사 | 멀티-cpu 시스템과 이를 포함하는 컴퓨팅 시스템 |
JP6000500B1 (ja) * | 2013-09-17 | 2016-09-28 | フィリップス ライティング ホールディング ビー ヴィ | 照明装置 |
US9983830B2 (en) * | 2013-09-24 | 2018-05-29 | Rambus Inc. | Memory component having internal read modify-write operation |
US9870172B2 (en) * | 2015-09-11 | 2018-01-16 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Address collision avoidance in a memory device |
KR102491651B1 (ko) | 2015-12-14 | 2023-01-26 | 삼성전자주식회사 | 비휘발성 메모리 모듈, 그것을 포함하는 컴퓨팅 시스템, 및 그것의 동작 방법 |
US10612684B2 (en) * | 2017-06-14 | 2020-04-07 | Bwi (Shanghai) Co., Ltd. | Electromagnetic valve assembly |
US10997065B2 (en) | 2017-11-13 | 2021-05-04 | SK Hynix Inc. | Memory system and operating method thereof |
KR102101622B1 (ko) | 2017-12-06 | 2020-04-17 | 주식회사 멤레이 | 메모리 제어 장치 및 이를 포함하는 컴퓨팅 디바이스 |
TWI692721B (zh) * | 2018-11-02 | 2020-05-01 | 大陸商深圳大心電子科技有限公司 | 指令處理方法及使用所述方法的儲存控制器 |
KR20200095103A (ko) | 2019-01-31 | 2020-08-10 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그 동작 방법 |
-
2019
- 2019-11-25 KR KR1020190152195A patent/KR20210063724A/ko unknown
-
2020
- 2020-05-29 US US16/887,520 patent/US11126379B2/en active Active
- 2020-09-01 CN CN202010905654.4A patent/CN112835514B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4480307A (en) * | 1982-01-04 | 1984-10-30 | Intel Corporation | Interface for use between a memory and components of a module switching apparatus |
US20060136659A1 (en) * | 2004-12-21 | 2006-06-22 | Sanjeev Jain | Processor having content addressable memory with command ordering |
US7680992B1 (en) * | 2006-06-14 | 2010-03-16 | Nvidia Corporation | Read-modify-write memory with low latency for critical requests |
US20090150624A1 (en) * | 2007-11-15 | 2009-06-11 | Micron Technology, Inc. | System, apparatus, and method for modifying the order of memory accesseses |
CN101861571A (zh) * | 2007-11-15 | 2010-10-13 | 美光科技公司 | 用于修改存储器存取次序的系统、设备及方法 |
CN102566939A (zh) * | 2011-12-19 | 2012-07-11 | 记忆科技(深圳)有限公司 | 一种固态硬盘及其读-修改-写操作的数据管理方法 |
US10275306B1 (en) * | 2017-02-09 | 2019-04-30 | Cadence Design Systems, Inc. | System and method for memory control having adaptively split addressing of error-protected data words in memory transactions for inline storage configurations |
Also Published As
Publication number | Publication date |
---|---|
US11126379B2 (en) | 2021-09-21 |
KR20210063724A (ko) | 2021-06-02 |
US20210157527A1 (en) | 2021-05-27 |
CN112835514B (zh) | 2023-08-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20220138096A1 (en) | Memory system | |
CN110727394A (zh) | 数据存储装置、该数据存储装置的操作方法以及存储系统 | |
US11704048B2 (en) | Electronic device | |
CN109960466B (zh) | 存储器系统及其操作方法 | |
US20210216458A1 (en) | Memory system performing host map management | |
KR102444606B1 (ko) | 데이터 저장 장치 및 그것의 동작 방법 | |
CN112835514B (zh) | 存储器系统 | |
CN114816233A (zh) | 存储器系统、其操作方法和计算系统 | |
CN111078129A (zh) | 存储器系统及其操作方法 | |
CN113672525A (zh) | 存储器系统 | |
CN112783430A (zh) | 存储器系统 | |
US20230289059A1 (en) | Memory system and operating method thereof | |
CN112988620A (zh) | 数据处理系统 | |
US20190278703A1 (en) | Memory system, operating method thereof and electronic device | |
US11720276B2 (en) | Memory system and controller for managing write status | |
CN110874335A (zh) | 数据存储装置、其操作方法以及具有该装置的存储系统 | |
US20220156184A1 (en) | Memory system | |
CN111352856B (zh) | 存储器系统及其操作方法 | |
CN110442302B (zh) | 存储器系统及用于操作存储器系统的方法 | |
CN109933282B (zh) | 存储器系统及其操作方法 | |
CN109840214B (zh) | 数据存储装置及其操作方法 | |
CN114385070A (zh) | 主机、数据存储装置、数据处理系统以及数据处理方法 | |
CN113010092A (zh) | 数据存储设备及其操作方法 | |
CN112783428A (zh) | 包括交换存储器的数据存储设备及其操作方法 | |
US20220171706A1 (en) | Memory system and operating method thereof |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |