CN111625182B - 通用闪存存储器模块、控制器、电子装置及操作方法 - Google Patents
通用闪存存储器模块、控制器、电子装置及操作方法 Download PDFInfo
- Publication number
- CN111625182B CN111625182B CN202010116676.2A CN202010116676A CN111625182B CN 111625182 B CN111625182 B CN 111625182B CN 202010116676 A CN202010116676 A CN 202010116676A CN 111625182 B CN111625182 B CN 111625182B
- Authority
- CN
- China
- Prior art keywords
- buffer area
- register
- memory module
- shared buffer
- shared
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 12
- 239000000872 buffer Substances 0.000 claims abstract description 320
- 230000008901 benefit Effects 0.000 description 8
- 230000008859 change Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 238000011010 flushing procedure Methods 0.000 description 3
- 238000013500 data storage Methods 0.000 description 2
- 230000000977 initiatory effect Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/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
- 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/0629—Configuration or reconfiguration 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/0638—Organizing or formatting or addressing of data
- G06F3/0644—Management of space entities, e.g. partitions, extents, pools
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本公开涉及一种通用闪存存储器模块、控制器、电子装置及操作方法。通用闪存存储器模块包括:快闪存储器,其包含:写入缓冲器部分,及具有多个逻辑单元的正常存储部分;及控制器,其包含:处理器、指示写入缓冲器部分的最大大小的第一寄存器、指示写入缓冲器部分的可用大小的第二寄存器,及指示存储器模块是处于共享缓冲模式还是高级模式的第三寄存器;其中如果第三寄存器指示存储器模块处于共享缓冲模式,那么写入缓冲器部分仅包含第一共享缓冲区域;且如果第三寄存器指示存储器模块处于高级模式,那么写入缓冲器部分包含至少一个专用缓冲区域,每个专用缓冲区域对应于多个逻辑单元中的一个。
Description
技术领域
本公开大体上涉及一种存储装置,且具体地说但非排他地涉及一种通用闪存(Universal Flash Storage;UFS)存储器模块。
背景技术
通用闪存(UFS)存储器模块用于例如智能电话等电子装置的数据存储。UFS存储器模块通常包含于包括存储空间及控制器的电子装置中。
为了加速UFS存储器模块的写入操作,存储空间可包含倍速写入(Turbo Write)缓冲器及正常存储部分。倍速写入缓冲器经配置以具有高于正常存储部分的写入速度。从电子装置接收到的数据将暂时存储于倍速写入缓冲器中,且接着清空到正常存储部分中,以便稳定地保存于UFS存储器模块中。由此可提高UFS存储器模块的写入速度。
发明内容
正常存储部分通常被划分成多个部分,其中各部分可为用于数据存储的逻辑单元。本发明的一个目标为提出用于布置正常存储部分的一或多个写入缓冲器的机制。例如,写入缓冲器可经配置以专用于一逻辑单元或可经配置以由多个逻辑单元共享。
在一些实施例中,UFS存储器模块包括:输入/输出接口,其包含:用于从主机接收参考时钟信号的时钟引脚、用于从主机接收数据的一对差分输入引脚,及用于将数据发送到主机的一对差分输出引脚;快闪存储器,其包含:写入缓冲器部分,及具有多个逻辑单元的正常存储部分;及控制器,其包含:处理器、指示写入缓冲器部分的最大大小的第一寄存器、指示写入缓冲器部分的可用大小的第二寄存器,及指示UFS存储器模块是处于共享缓冲模式还是高级模式的第三寄存器;其中如果第三寄存器指示UFS存储器模块处于共享缓冲模式,那么写入缓冲器部分仅包含第一共享缓冲区域;且如果第三寄存器指示UFS存储器模块处于高级模式,那么写入缓冲器部分包含至少一个专用缓冲区域,每个专用缓冲区域对应于所述多个逻辑单元中的一个。
在一些实施例中,如果第三寄存器指示UFS存储器模块处于共享缓冲模式,那么所述控制器进一步包含指示第一共享缓冲区域的使用状态的第四寄存器。如果第三寄存器指示UFS存储器模块处于高级模式,那么所述控制器进一步包含多个第五寄存器,每个第五寄存器用于多个逻辑单元中的一个,且每个第五寄存器指示用于对应逻辑单元的专用缓冲区域的大小。
在一些实施例中,如果第三寄存器指示UFS存储器模块处于高级模式,那么写入缓冲器部分可进一步包含第二共享缓冲区域,且所述控制器可进一步包含用于至少一个专用缓冲区域的至少一个第六寄存器,每个第六寄存器用于至少一个专用缓冲区域中的一个,且每个第六寄存器指示专用缓冲区域的大小。所述控制器进一步包含指示第二共享缓冲区域的使用状态的第七寄存器及多个第八寄存器,每个第八寄存器用于所述多个逻辑单元中的一个,且每个第八寄存器指示逻辑单元是否使用第二共享缓冲区域。
在一些实施例中,快闪存储器的控制器包含写入缓冲器部分及具有多个逻辑单元的正常存储部分,所述控制器包括:处理器;指示写入缓冲器部分的最大大小的第一寄存器;指示写入缓冲器部分的可用大小的第二寄存器;及指示快闪存储器是处于共享缓冲模式还是高级模式的第三寄存器;其中如果第三寄存器指示快闪存储器处于共享缓冲模式,那么写入缓冲器部分仅包含第一共享缓冲区域;且如果第三寄存器指示快闪存储器处于高级模式,那么写入缓冲器部分包含至少一个专用缓冲区域,每个专用缓冲区域对应于所述多个逻辑单元中的一个。
在一些实施例中,如果第三寄存器指示快闪存储器处于共享缓冲模式,那么所述控制器进一步包含指示第一共享缓冲区域的使用状态的第四寄存器。如果第三寄存器指示快闪存储器处于高级模式,那么所述控制器进一步包含多个第五寄存器,每个第五寄存器用于所述多个逻辑单元中的一个,且每个第五寄存器指示用于对应逻辑单元的专用缓冲区域的大小。
在一些实施例中,如果第三寄存器指示快闪存储器处于高级模式,那么写入缓冲器部分可进一步包含第二共享缓冲区域,且所述控制器可进一步包含用于至少一个专用缓冲区域的至少一个第六寄存器,每个第六寄存器用于至少一个专用缓冲区域中的一个,且每个第六寄存器指示专用缓冲区域的大小。所述控制器可进一步包含指示第二共享缓冲区域的使用状态的第七寄存器及多个第八寄存器,每个第八寄存器用于所述多个逻辑单元中的一个,且每个第八寄存器指示逻辑单元是否使用第二共享缓冲区域。如果逻辑单元既不使用专用缓冲区域也不使用共享缓冲区域,那么逻辑单元的第八寄存器指示逻辑单元使用大小为0的专用缓冲器。
在又一实施例中,提供包括上文所描述的UFS存储器模块的电子装置。
在一些实施例中,提供用于操作UFS存储器模块的方法。UFS存储器模块包含具有写入缓冲器部分及正常存储部分的快闪存储器,其中写入缓冲器部分具有专用缓冲区域及共享缓冲区域。所述方法包括:从主机接收第一数据以存储于快闪存储器的正常存储部分中;将第一数据写入到快闪存储器的写入缓冲器部分的共享缓冲区域中;从主机接收第二数据以存储于快闪存储器的正常存储部分中;将第二数据写入到快闪存储器的写入缓冲器部分的专用缓冲区域中;及将第一数据及第二数据清空到快闪存储器的正常存储部分中。
本发明的这些及其它方面在下文参考附图进一步描述。在阅读各种图及图式中所说明的实施例的以下详细描述之后,本发明的其它目标将无疑对所属领域的一般技术人员变得明显。
附图说明
图1为示意性地说明根据本公开的一些实施例的通用闪存(UFS)存储器模块的一个实例的框图。
图2为示意性地说明根据本公开的一些实施例的当UFS存储器模块处于共享缓冲模式时写入缓冲器部分的布置的图。
图3为示意性地说明根据本公开的一些实施例的当UFS存储器模块处于高级模式时写入缓冲器部分的布置的图。
图4为展示根据本公开的一些实施例的布置于图3中所描绘的写入缓冲器部分中的缓冲区域的类型及大小的表格。
图5为示意性地说明根据本公开的一些实施例的当UFS存储器模块处于高级模式时写入缓冲器部分的布置的图。
图6为展示根据本公开的一些实施例的布置于图5中所描绘的写入缓冲器部分中的缓冲区域的类型及大小的表格。
图7说明根据本公开的一些实施例的用于操作UFS存储器模块的方法的流程图。
实施方式
参考附图来详细地描述本公开的实施例。仅出于使得所属领域的技术人员能够较佳地理解且因此实施本公开的目的而论述以下实施例,而非表明对本公开的范围的任何限制。贯穿本说明书对特征、优点或类似语言的参考并不暗示可由本公开实现的所有特征及优点应处于或处于本公开的任何单个实施例中。实际上,指代特征及优点的语言应理解为意味着结合实施例描述的特定特征、优点或特性包含在本公开的至少一个实施例中。此外,在一或多个实施例中,可用任何合适的方式组合本公开的所描述特征、优点及特性。相关领域的技术人员将认识到,可在无特定实施例的特定特征或优点中的一或多个的情况下来实践本公开。在其它情况下,可在可能未存在于本公开的所有实施例中的某些实施例中认识到额外特征及优点。
图1为示意性地说明根据本公开的一些实施例的通用闪存(UFS)存储器模块100的一个实例的框图。UFS存储器模块100可包含于主机,例如电子装置(未展示)中。一般来说,主机可为移动电话或其它便携式电子装置。UFS存储器模块100包括连接到主机的输入/输出接口10、快闪存储器50,及控制器30。控制器30电连接到UFS存储器模块100的输入/输出接口10及快闪存储器50。快闪存储器50也电连接到输入/输出接口10,使得经由输入/输出接口10从主机接收到的数据可存储于UFS存储器模块100的快闪存储器50中。
在一些实施例中,输入/输出接口10包含用于从主机接收参考时钟信号的时钟引脚、用于从主机接收数据的一对差分输入引脚,及用于将数据发送到主机的一对差分输出引脚。
快闪存储器50包括写入缓冲器部分52及具有多个逻辑单元的正常存储部分54。从主机接收到的数据将暂时存储于写入缓冲器部分52中,且接着清空到具有所述多个逻辑单元的正常存储部分54中。然后,将数据稳定地存储于正常存储部分54的一或多个逻辑单元中。
在一些优选实施例中,快闪存储器50由多电平胞元或三电平胞元形成。然而,快闪存储器50的一部分经布置为写入缓冲器部分52且用作单电平胞元。因此,将数据写入到写入缓冲器部分52中的速度及写入缓冲器部分52的响应速度明显高于快闪存储器50中用作多电平胞元或三电平胞元的任何其它部分。此布置实现倍速写入操作。
控制器30包括处理器32及多个寄存器34。处理器32经配置以处理从主机接收到的指令或数据并产生响应于主机的信息。例如,如果主机发送指令以执行倍速写入操作,那么处理器32可实现写入缓冲器部分52且选择合适的逻辑单元以用于存储数据。另举一例,如果主机发送清空命令,那么处理器32可使得数据能够从写入缓冲器部分52清空到正常存储部分54。寄存器34可存储于控制器30中的一个物理存储器模块中,或可分配到控制器30中的多于一个物理存储器模块。存储于寄存器34中的内容指示写入缓冲器部分52的状态或信息。
寄存器34可包含装置层级寄存器及逻辑单元层级寄存器。装置层级寄存器存储UFS存储器模块及UFS存储器模块的写入缓冲器的信息。逻辑单元层级寄存器存储逻辑单元及逻辑单元的缓冲区域的信息。例如,控制器30具有预先配置以指示写入缓冲器部分的最大大小的装置层级寄存器。基本上,基于控制器30的能力及其它设计因素而确定写入缓冲器部分52的最大大小。因此,指示写入缓冲器部分的最大大小的装置层级寄存器的内容在UFS存储器模块100的操作期间将不改变。
控制器30具有预先配置以指示写入缓冲器部分的可用大小的另一装置层级寄存器。写入缓冲器部分52的可用大小大体上由包含UFS存储器模块100的电子装置设定或由电子装置的设计者确定。因此,指示写入缓冲器部分52的可用大小的装置层级寄存器的内容在UFS存储器模块100的操作期间将不改变。此外,可用大小等于或小于写入缓冲器部分的最大大小。
控制器30具有经配置以指示UFS存储器模块是处于共享缓冲模式还是高级模式的又一装置层级寄存器。应了解,UFS存储器模块的控制器可包含上文未描述的更多装置层级寄存器。在审查本公开后,所属领域的一般技术人员意识到可存在布置于控制器中以用于存储UFS存储器模块及UFS存储器模块的写入缓冲器的信息的其它装置层级寄存器。在以下段落中进一步描述逻辑单元层级寄存器。
在一些实施例中,如果UFS存储器模块50处于共享缓冲模式,那么写入缓冲器部分52仅包含一个共享缓冲区域,其由一或多个逻辑单元共享。在此状况下,控制器30进一步包含经配置以指示共享缓冲区域的使用状态的装置层级寄存器。例如,指示共享缓冲区域的使用状态的寄存器可表示为共享缓冲区域的剩余大小。当共享缓冲区域的剩余大小不够时,主机可请求控制器30起始倍速写入缓冲器清空操作,以便将存储于写入缓冲器部分52中的数据清空到正常存储部分54中。由此,写入缓冲器部分52再次为空且准备好写入。应了解,共享缓冲区域的使用状态可以除共享缓冲区域的剩余大小之外的形式表示。例如,其可表示为共享缓冲区域中已利用部分的百分比。
图2为示意性地说明根据本公开的一些实施例的当UFS存储器模块处于共享缓冲模式时写入缓冲器部分的布置200的框图。在这些实施例中,正常存储部分的所有逻辑单元212、214、216、218及220共享一个缓冲区域(即,共享缓冲区域202)。待存储于UFS存储器模块的任何逻辑单元中的从主机接收到的数据暂时存储于共享缓冲区域202中,同时启用倍速写入操作。当使用状态指示共享缓冲区域202的剩余大小足够时,将待存储数据依序写入到共享缓冲区域202中。当使用状态指示共享缓冲区域202的剩余大小不够时,主机可发送指令以起始倍速写入缓冲器清空操作。一旦起始倍速写入缓冲器清空操作,就将共享缓冲区域202中的数据清空到正常存储部分中。即,将存储于共享缓冲区域202中的数据分配到对应逻辑单元中且稳定地存储于其中。
举例来说,如果共享缓冲区域的大小为2 GB且将大小为2.4 GB的一批数据从主机发送到UFS存储器模块,那么可将数据指配给多个逻辑单元(例如,逻辑单元212、214及218)。待存储于逻辑单元212、214及218中的数据可为800 MB、800 MB及800 MB。当将数据依序写入到共享缓冲区域202中时,在将逻辑单元212的数据写入到共享缓冲区域202中之后,共享缓冲区域202的剩余大小从2 GB变为1200 MB,且接着共享缓冲区域202的剩余大小在将逻辑单元214的数据写入到共享缓冲区域202中之后从1200 MB变为400 MB。然后,共享缓冲区域202的剩余大小并不足以写入待存储于具有800 MB的大小的逻辑单元218中的数据。作为响应,主机可发送指令以起始倍速写入缓冲器清空操作,使得共享缓冲区域202中的所有数据(即,逻辑单元212的数据及逻辑单元214的数据)将清空到正常存储部分中的对应逻辑单元(即,逻辑单元212及214)中。由此,共享缓冲区域202将为空且共享缓冲区域202的剩余大小变为2 GB。接着,待存储于逻辑单元218中的数据将写入到共享缓冲区域202中。如果主机发现数据不再写入到共享缓冲区域202,那么其可发送指令以再次起始倍速写入缓冲器清空操作。且接着,逻辑单元212、214及218的写入操作结束。然后,可将新一批数据从主机发送到UFS存储器模块。如果通过主机启用倍速写入操作,那么所述新一批数据将写入到如上文所提及的共享缓冲区域202中;否则,所述新一批数据将直接写入到正常存储部分。
请再次参考图1。如果UFS存储器模块处于高级模式,那么写入缓冲器部分包含一个或多个专用缓冲区域;每个专用缓冲区域对应于所述多个逻辑单元中的一个。应注意,专用缓冲区域的数目可小于逻辑单元的数目,此意味着一些逻辑单元可不具有专用缓冲区域。控制器进一步包含指示用于逻辑单元的专用缓冲区域的大小的多个逻辑单元层级寄存器。在一些实施例中,处于高级模式的写入缓冲器部分可进一步包含除专用缓冲区域以外的共享缓冲区域。在此状况下,控制器可包含指示所述一或多个专用缓冲区域的一或多个大小的一或多个逻辑单元层级寄存器,且可进一步包含经配置以指示共享缓冲区域的使用状态的逻辑单元层级寄存器。另外,控制器进一步包含多个逻辑单元层级寄存器,各自指示逻辑单元是否使用共享缓冲区域。
图3展示根据本公开的一些实施例的当UFS存储器模块处于高级模式时写入缓冲器部分的布置300。在此实施例中,将写入缓冲器部分划分成多个专用缓冲区域(例如,专用缓冲区域302、304及306),且未布置共享缓冲区域。每个专用缓冲区域专用于一个逻辑单元且可具有不同大小。例如,专用缓冲区域302专用于逻辑单元312且具有512 MB的大小;专用缓冲区域304专用于逻辑单元314且具有512 MB的大小;且专用缓冲区域306专用于逻辑单元316且具有1 GB的大小。在此状况下,一些逻辑单元(例如,逻辑单元318及320)可不具有专用缓冲区域且因此可不支持倍速写入操作。
图4为展示根据本公开的一些实施例的布置于图3中所描绘的写入缓冲器部分中的缓冲区域的类型及大小的表格。在当前实施例中,写入缓冲器部分处于高级模式,且仅包含专用缓冲器。表格内容存储于UFS存储器模块的控制器的逻辑单元层级寄存器中。具体地说,字段逻辑单元的“模式”中的每个方框对应于指示用于逻辑单元的缓冲区域类型的逻辑单元层级寄存器。举例来说,如果寄存器存储位“0”,那么逻辑单元利用的缓冲区域为共享缓冲区域;寄存器存储位“1”,逻辑单元利用的缓冲区域并非共享缓冲区域(即,逻辑单元使用专用缓冲区域或不使用缓冲区域)。字段逻辑单元的“大小”中的每个方框对应于指示逻辑单元的专用缓冲区域的大小或由逻辑单元使用的共享缓冲区域的剩余大小的逻辑单元层级寄存器。
因此,布置于用于逻辑单元的写入缓冲器部分中的缓冲区域的类型及大小可明确由图4的表格识别。从图4的表格可见,逻辑单元312具有大小为512 MB的专用缓冲区域302;逻辑单元314具有大小为512 MB的专用缓冲区域304;且逻辑单元316具有大小为1 GB的专用缓冲区域306。在图4中,逻辑单元318及320的专用缓冲器的大小指示为零,此意味着专用缓冲区域未指配给逻辑单元318及320。
应了解,专用缓冲区域中的每一个可具有相同大小或不同大小。在当前实施例中,专用缓冲器的大小的总和应等于写入缓冲器部分的可用大小。例如,在此实施例中,倍速写入缓冲器的可用大小为2 GB,且每个专用缓冲区域的大小的总和512 MB (对应于逻辑单元312) + 512 MB (对应于逻辑单元314) + 1 GB (对应于逻辑单元316) + 0 MB (对应于逻辑单元318) + 0 MB (对应于逻辑单元320)等于2 GB。
还应了解,在某些情况下,如果未利用共享缓冲区域,那么图4的表格中的列“模式”可因此省略。在此状况下,经设计用于存储列“模式”中方框的内容的寄存器可用于其它目的。
图5展示根据本公开的一些实施例的当UFS存储器模块处于高级模式时写入缓冲器部分的布置500。在此实施例中,将写入缓冲器部分划分成多个专用缓冲区域(例如,专用缓冲区域502及504)及共享缓冲区域(例如,共享缓冲器506)。每个专用缓冲区域专用于一个逻辑单元且可具有相同或不同大小。例如,专用缓冲区域502专用于逻辑单元514且具有512 MB的大小;且专用缓冲区域504专用于逻辑单元516且具有512 MB的大小。共享缓冲器506具有1 G的大小且由逻辑单元512及520共享。缓冲区域未指配给逻辑单元518且因此逻辑单元518并不支持倍速写入操作。应了解,根据本公开,可存在其它数目的专用缓冲区域且可存在多于一个共享缓冲区域。写入缓冲器部分的布置不限于上述实例。
图6为展示根据本公开的一些实施例的布置于图5中所描绘的写入缓冲器部分中的缓冲区域的类型及大小的表格。在当前实施例中,写入缓冲器部分处于高级模式,且包含多个专用缓冲器及一个共享缓冲区域。表格内容存储于UFS存储器模块的控制器的逻辑单元层级寄存器中。具体地说,字段逻辑单元的“模式”中的每个方框对应于指示用于逻辑单元的缓冲区域的类型的逻辑单元层级寄存器。举例来说,如果寄存器存储位“0”,那么逻辑单元利用的缓冲区域为共享缓冲区域;如果寄存器存储位“1”,那么逻辑单元利用的缓冲区域并非共享缓冲区域(即,逻辑单元使用专用缓冲区域或不使用缓冲区域)。对于具有专用缓冲区域的逻辑单元,字段逻辑单元的“大小”中的方框对应于指示逻辑单元的专用缓冲区域的大小的逻辑单元层级寄存器。对于使用共享缓冲区域的逻辑单元,字段逻辑单元的“大小”中的方框对应于指示共享缓冲区域的使用状态的逻辑单元层级寄存器。使用状态可表示为共享缓冲区域的剩余大小,或可表示为共享缓冲区域的已利用部分的百分比。
因此,布置于用于逻辑单元的写入缓冲器部分中的缓冲区域的类型及大小可明确由图6的表格识别。从图6的表格可见,逻辑单元512使用剩余大小为1 GB的共享缓冲区域506;逻辑单元514具有大小为512 MB的专用缓冲区域502;且逻辑单元516具有大小为512MB的专用缓冲区域504。在图6中,逻辑单元518的专用缓冲器的大小指示为零,此意味着未指配专用缓冲区域给逻辑单元518。
应了解,专用缓冲区域中的每一个可具有相同大小或不同大小。还应了解,根据本公开,写入缓冲器部分中可存在其它数目的专用缓冲区域且可存在零个、一或多个共享缓冲区域。写入缓冲器部分的布置不限于上述实例。
在一些状况下,当将一批数据从主机发送到UFS存储器模块时,数据可指配给一或多个逻辑单元(例如,逻辑单元512及520)。由于逻辑单元512及520对应于共享缓冲区域506,因此将待存储于逻辑单元512及520中的数据依序写入到共享缓冲区域506中。一旦有数据写入到共享缓冲区域506中,就使用了共享缓冲区域506的一部分。因此,指示共享缓冲区域506的使用状态的逻辑单元层级寄存器的内容改变。举例来说,如果待写入到逻辑单元512中的数据为300 MB,待写入到逻辑单元520中的数据为200 MB,且共享缓冲区域506的剩余大小为1 GB,那么图6中字段逻辑单元512的“大小”中方框的内容在将逻辑单元512的数据写入到共享缓冲区域506中之后从1 GB变为700 MB;且接着图6中字段逻辑单元520的“大小”中方框的内容在将逻辑单元520的数据写入到共享缓冲区域506中之后从700 MB变为500 MB。如果主机发现数据不再写入到共享缓冲区域506,那么其可发送指令以再次起始倍速写入缓冲器清空操作。即,共享缓冲区域506中的所有数据(即,逻辑单元512及520的数据)将清空到正常存储部分中的对应逻辑单元(即,逻辑单元512及520)中。且接着,逻辑单元512及520的写入操作结束。
在一些状况下,当将一批数据从主机发送到UFS存储器模块时,数据可指配给一或多个逻辑单元(例如,逻辑单元516)。将待存储于逻辑单元514及516中的数据依序写入到专用缓冲区域502及专用缓冲区域504中。如果所述一批数据已经完全写入到写入缓冲器部分中,那么主机可发送指令以起始倍速写入缓冲器清空操作。然后,可将新一批数据从主机发送到UFS存储器模块。
图7说明根据本公开的一些实施例的用于操作UFS存储器模块的方法的流程图。如图7中所描绘,方法700包含以下步骤:
步骤702:接收第一数据以存储于正常存储部分中;
步骤704:将第一数据写入到共享缓冲区域中;
步骤706:接收第二数据以存储于正常存储部分中;
步骤708:将第二数据写入到专用缓冲区域中;且
步骤710:将第一数据及第二数据清空到正常存储部分中。
应了解,其中本公开的一个基本特征为待存储于正常存储部分中的从主机接收到的数据可暂时存储于共享缓冲区域及/或专用缓冲区域中且接着清空到正常存储部分中。所属领域的一般技术人员将理解可调整上述步骤的次序。例如,步骤706可在步骤704之前执行且步骤708可在步骤704之前执行。所属领域的一般技术人员还将理解,图7中的一些步骤可组合成一个步骤(例如,可组合步骤702及706),且一些步骤可经划分(例如,步骤710可划分成一个用于清空第一数据的步骤及一个用于清空第二数据的步骤)。根据本公开,用于操作UFS存储器模块的方法不限于图7中所展示的实施例。
可看出,共享缓冲区域及专用缓冲器具有其自身优点。共享缓冲区域提供用于布置用于多个逻辑单元的写入缓冲器部分的更为节约空间的方式。另一方面,对于专用缓冲区域的倍速写入操作相较于对于共享缓冲区域的倍速写入操作较简单。专用缓冲区域的大小可等于其对应逻辑单元的大小。在此布置下,不同于共享缓冲区域,控制器不需要改变专用缓冲区域的使用状态。此外,主机不需要一直观察缓冲区域的使用状态,且可在所有数据写入到写入缓冲器部分中之后发送指令以用于起始倍速写入缓冲器清空操作。
本公开提供UFS存储器模块的写入缓冲器部分的布置。UFS存储器模块可处于共享缓冲模式,其中仅共享缓冲区域包含于写入缓冲器部分中,或UFS存储器模块可处于高级模式,其中专用缓冲区域包含于写入缓冲器部分中。因此,本公开提供一种更为灵活的布置:将倍速写入缓冲器指配给快闪存储器的正常存储部分的逻辑单元,以便与UFS存储器模块的使用相适应。
对本发明所说明实施例的以上描述(包含摘要中所描述的内容)并不希望是穷尽性的或将本发明限于所公开的精确形式。尽管本文中出于说明性目的来描述本发明的特定实例,但如相关领域的技术人员将认识到,在本发明的范围内,各种修改是可能的。
根据以上详细描述,可对本发明作出这些修改。在所附权利要求书中所使用的术语不应被视为将本发明限于本说明书中所公开的特定实例。实情为,本发明的范围应完全由所附权利要求书来确定,权利要求书将根据权利要求书解译的已确立原则来解释。
Claims (20)
1.一种通用闪存(UniversalFlash Storage;UFS)存储器模块,其包括:
输入/输出接口,其包含:
时钟引脚,其用于从主机接收参考时钟信号;
一对差分输入引脚,其用于从所述主机接收数据;及
一对差分输出引脚,其用于将数据发送到所述主机;
快闪存储器,其包含:
写入缓冲器部分;及
正常存储部分,其具有多个逻辑单元;及
控制器,其包含:
处理器;
第一寄存器,其指示所述写入缓冲器部分的最大存储大小;
第二寄存器,其指示所述写入缓冲器部分的可用存储大小;及
第三寄存器,其指示所述UFS存储器模块是处于共享缓冲模式还是高级模式;
其中如果所述第三寄存器指示所述UFS存储器模块处于所述共享缓冲模式,那么所述写入缓冲器部分仅包含第一共享缓冲区域;且如果所述第三寄存器指示所述UFS存储器模块处于所述高级模式,那么所述写入缓冲器部分包含至少一个专用缓冲区域,每个专用缓冲区域对应于所述多个逻辑单元中的一个。
2.根据权利要求1所述的UFS存储器模块,其中如果所述第三寄存器指示所述UFS存储器模块处于所述共享缓冲模式,那么所述控制器进一步包含指示所述第一共享缓冲区域的使用状态的第四寄存器。
3.根据权利要求2所述的UFS存储器模块,其中所述第一共享缓冲区域的所述使用状态能够表示为所述第一共享缓冲区域的剩余存储大小。
4.根据权利要求2所述的UFS存储器模块,其中所述第一共享缓冲区域的所述使用状态能够表示为所述第一共享缓冲区域的已利用部分的百分比。
5.根据权利要求1所述的UFS存储器模块,其中如果所述第三寄存器指示所述UFS存储器模块处于所述高级模式,那么所述控制器进一步包含多个第五寄存器,每个第五寄存器用于所述多个逻辑单元中的一个,且每个第五寄存器指示用于对应逻辑单元的专用缓冲区域的存储大小。
6.根据权利要求1所述的UFS存储器模块,其中如果所述第三寄存器指示所述UFS存储器模块处于所述高级模式,那么所述写入缓冲器部分进一步包含第二共享缓冲区域。
7.根据权利要求6所述的UFS存储器模块,其中所述控制器进一步包含用于所述至少一个专用缓冲区域的至少一个第六寄存器,每个第六寄存器用于所述至少一个专用缓冲区域中的一个,且每个第六寄存器指示专用缓冲区域的存储大小。
8.根据权利要求6所述的UFS存储器模块,其中所述控制器进一步包含指示所述第二共享缓冲区域的使用状态的第七寄存器。
9.根据权利要求8所述的UFS存储器模块,其中所述第二共享缓冲区域的所述使用状态能够表示为所述第二共享缓冲区域的剩余存储大小。
10.根据权利要求8所述的UFS存储器模块,其中所述第二共享缓冲区域的所述使用状态能够表示为所述第二共享缓冲区域的已利用部分的百分比。
11.根据权利要求6所述的UFS存储器模块,其中所述控制器进一步包含多个第八寄存器,每个第八寄存器用于所述多个逻辑单元中的一个,且每个第八寄存器指示逻辑单元是否使用所述第二共享缓冲区域。
12.一种快闪存储器的控制器,所述快闪存储器包含写入缓冲器部分及具有多个逻辑单元的正常存储部分,所述控制器包括:
处理器;
第一寄存器,其指示所述写入缓冲器部分的最大存储大小;
第二寄存器,其指示所述写入缓冲器部分的可用存储大小;及
第三寄存器,其指示所述快闪存储器是处于共享缓冲模式还是高级模式;
其中如果所述第三寄存器指示所述快闪存储器处于所述共享缓冲模式,那么所述写入缓冲器部分仅包含第一共享缓冲区域;且如果所述第三寄存器指示所述快闪存储器处于所述高级模式,那么所述写入缓冲器部分包含至少一个专用缓冲区域,每个专用缓冲区域对应于所述多个逻辑单元中的一个。
13.根据权利要求12所述的控制器,其中如果所述第三寄存器指示所述快闪存储器处于所述共享缓冲模式,那么所述控制器进一步包含指示所述第一共享缓冲区域的使用状态的第四寄存器。
14.根据权利要求13所述的控制器,其中所述第一共享缓冲区域的所述使用状态能够表示为所述第一共享缓冲区域的剩余存储大小。
15.根据权利要求13所述的控制器,其中所述第一共享缓冲区域的所述使用状态能够表示为所述第一共享缓冲区域的已利用部分的百分比。
16.根据权利要求12所述的控制器,其中如果所述第三寄存器指示所述快闪存储器处于所述高级模式,那么所述控制器进一步包含多个第五寄存器,每个第五寄存器用于所述多个逻辑单元中的一个,且每个第五寄存器指示用于对应逻辑单元的专用缓冲区域的存储大小。
17.根据权利要求12所述的控制器,其中如果所述第三寄存器指示所述快闪存储器处于所述高级模式,那么所述写入缓冲器部分进一步包含第二共享缓冲区域。
18.根据权利要求17所述的控制器,其中所述控制器进一步包含用于所述至少一个专用缓冲区域的至少一个第六寄存器,每个第六寄存器用于所述至少一个专用缓冲区域中的一个,且每个第六寄存器指示专用缓冲区域的存储大小。
19.一种电子装置,其包括根据权利要求1所述的UFS存储器模块。
20.一种用于操作UFS存储器模块的方法,所述UFS存储器模块包含具有写入缓冲器部分及正常存储部分的快闪存储器,所述写入缓冲器部分具有专用缓冲区域及共享缓冲区域,所述正常存储部分具有多个逻辑单元,所述方法包括:
从主机接收第一数据以存储于所述快闪存储器的所述正常存储部分中;
将所述第一数据写入到所述快闪存储器的所述写入缓冲器部分的所述共享缓冲区域中;
从所述主机接收第二数据以存储于所述快闪存储器的所述正常存储部分中;
将所述第二数据写入到所述快闪存储器的所述写入缓冲器部分的所述专用缓冲区域中;及
将所述第一数据及所述第二数据分配到所述快闪存储器的所述正常存储部分的所述多个逻辑单元中且稳定地存储于其中。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/288,361 | 2019-02-28 | ||
US16/288,361 US10802750B2 (en) | 2019-02-28 | 2019-02-28 | Universal flash storage memory module, controller and electronic device with advanced turbo write buffer and method for operating the memory module |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111625182A CN111625182A (zh) | 2020-09-04 |
CN111625182B true CN111625182B (zh) | 2023-08-15 |
Family
ID=72237001
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010116676.2A Active CN111625182B (zh) | 2019-02-28 | 2020-02-25 | 通用闪存存储器模块、控制器、电子装置及操作方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10802750B2 (zh) |
CN (1) | CN111625182B (zh) |
TW (1) | TWI744806B (zh) |
WO (1) | WO2020173192A1 (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102650809B1 (ko) * | 2019-08-02 | 2024-03-26 | 삼성전자주식회사 | 스토리지 장치 및 그것의 동작 방법 |
US11269524B2 (en) * | 2019-10-07 | 2022-03-08 | Samsung Electronics Co., Ltd. | Methods and systems for managing data transfer between a UFS host and a UFS target |
TWI787627B (zh) * | 2020-07-02 | 2022-12-21 | 慧榮科技股份有限公司 | 電子裝置、快閃記憶體控制器及其存取方法 |
TW202227958A (zh) * | 2020-12-10 | 2022-07-16 | 宜鼎國際股份有限公司 | 可將資料上鏈的資料儲存裝置及方法 |
TWI794740B (zh) * | 2021-02-08 | 2023-03-01 | 宜鼎國際股份有限公司 | 資料上鏈系統及方法 |
CN117472294B (zh) * | 2023-12-28 | 2024-04-09 | 合肥康芯威存储技术有限公司 | 一种存储器及其数据处理方法 |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8069300B2 (en) * | 2008-09-30 | 2011-11-29 | Micron Technology, Inc. | Solid state storage device controller with expansion mode |
TWI385527B (zh) * | 2009-02-10 | 2013-02-11 | Phison Electronics Corp | Mlc nand型快閃記憶體儲存系統及其控制器與存取方法 |
WO2011137541A1 (en) * | 2010-05-07 | 2011-11-10 | Mosaid Technologies Incorporated | Method and apparatus for concurrently reading a plurality of memory devices using a single buffer |
US8924627B2 (en) * | 2011-03-28 | 2014-12-30 | Western Digital Technologies, Inc. | Flash memory device comprising host interface for processing a multi-command descriptor block in order to exploit concurrency |
JP2013077278A (ja) | 2011-09-16 | 2013-04-25 | Toshiba Corp | メモリ・デバイス |
US9098402B2 (en) * | 2012-12-21 | 2015-08-04 | Intel Corporation | Techniques to configure a solid state drive to operate in a storage mode or a memory mode |
JP5824472B2 (ja) * | 2013-04-25 | 2015-11-25 | 京セラドキュメントソリューションズ株式会社 | メモリーアクセス制御システム及び画像形成装置 |
US9385962B2 (en) * | 2013-12-20 | 2016-07-05 | Intel Corporation | Method and system for flexible credit exchange within high performance fabrics |
KR20160073834A (ko) | 2014-12-17 | 2016-06-27 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템 동작 방법 |
US10180908B2 (en) * | 2015-05-13 | 2019-01-15 | Qualcomm Incorporated | Method and apparatus for virtualized control of a shared system cache |
US11016770B2 (en) * | 2015-09-19 | 2021-05-25 | Microsoft Technology Licensing, Llc | Distinct system registers for logical processors |
CN107391296B (zh) * | 2016-04-27 | 2020-11-06 | 慧荣科技股份有限公司 | 存取闪存模块的方法及相关的闪存控制器与记忆装置 |
CN106295373B (zh) | 2016-08-23 | 2019-02-19 | 记忆科技(深圳)有限公司 | 一种基于m-phy接口实现的数据传输加密装置 |
CN106453730B (zh) | 2016-12-22 | 2019-07-26 | 珠海市魅族科技有限公司 | 一种智能卡及终端设备 |
KR102395190B1 (ko) * | 2017-07-31 | 2022-05-06 | 삼성전자주식회사 | 호스트와 인터페이스를 수행하는 스토리지 장치, 호스트 및 스토리지 장치의 동작방법 |
CN107332670A (zh) | 2017-08-11 | 2017-11-07 | 北京中天信安科技有限责任公司 | 基于ufs接口的安全控制装置、系统、方法和移动设备 |
KR102387935B1 (ko) * | 2017-10-23 | 2022-04-15 | 삼성전자주식회사 | 공용 메모리 영역 및 전용 메모리 영역을 포함하는 데이터 저장 장치 |
US10726879B2 (en) * | 2017-12-08 | 2020-07-28 | Samsung Electronics Co., Ltd. | Low-power data transfer from buffer to flash memory |
US11409436B2 (en) * | 2018-08-08 | 2022-08-09 | Micron Technology, Inc. | Buffer management in memory systems for read and write requests |
-
2019
- 2019-02-28 US US16/288,361 patent/US10802750B2/en active Active
- 2019-12-19 WO PCT/CN2019/126666 patent/WO2020173192A1/en active Application Filing
-
2020
- 2020-02-25 TW TW109106093A patent/TWI744806B/zh active
- 2020-02-25 CN CN202010116676.2A patent/CN111625182B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN111625182A (zh) | 2020-09-04 |
US20200278806A1 (en) | 2020-09-03 |
US10802750B2 (en) | 2020-10-13 |
TWI744806B (zh) | 2021-11-01 |
TW202038083A (zh) | 2020-10-16 |
WO2020173192A1 (en) | 2020-09-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111625182B (zh) | 通用闪存存储器模块、控制器、电子装置及操作方法 | |
US8244962B2 (en) | Command processor for a data storage device | |
US7937523B2 (en) | Memory system with nonvolatile semiconductor memory | |
US8195845B2 (en) | Memory system having high data transfer efficiency and host controller | |
US20130097362A1 (en) | Data writing method, and memory controller and memory storage apparatus using the same | |
CN113299326A (zh) | 基于fifo的数据先进后出型存储电路及读写方法 | |
US20070028037A1 (en) | Memory system with automatic dual-buffering | |
CN105487824A (zh) | 信息处理方法、存储装置及电子设备 | |
CN110874333B (zh) | 存储设备及存储方法 | |
US10289334B2 (en) | Valid data merging method, memory controller and memory storage apparatus | |
CN112596949A (zh) | 一种高效率的ssd删除数据恢复方法及系统 | |
US10977170B2 (en) | Memory controller for performing unmap operation and memory system having the same | |
US7386654B2 (en) | Non-volatile configuration data storage for a configurable memory | |
EP4020220A1 (en) | Utilizing nand buffer for dram-less multilevel cell programming | |
CN113448487B (zh) | 写入闪存管理表的计算机可读取存储介质、方法及装置 | |
US20120324205A1 (en) | Memory management table processing method, memory controller, and memory storage apparatus | |
KR20090053164A (ko) | 상태 정보를 관리하는 플래시 메모리 제어 장치 및 방법 | |
CN117632809B (zh) | 存储器控制器、数据读取方法及存储装置 | |
KR101175250B1 (ko) | 낸드 플래시 메모리 장치와 그의 컨트롤러 및 이들의 라이트 오퍼레이션 방법 | |
CN103853670A (zh) | 一种信息处理方法及电子设备 | |
US20240184712A1 (en) | Memory system with improved map table update efficiency, memory controller therefor, and operating method thereof | |
WO2006086703A1 (en) | System for handling bad storage locations in memory | |
EP4398084A1 (en) | Storage device and operating method thereof | |
US20050151748A1 (en) | Dynamic memory managing device and method thereof | |
CN117762346A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |