CN106257432B - 数据储存设备及其操作方法 - Google Patents
数据储存设备及其操作方法 Download PDFInfo
- Publication number
- CN106257432B CN106257432B CN201510855554.4A CN201510855554A CN106257432B CN 106257432 B CN106257432 B CN 106257432B CN 201510855554 A CN201510855554 A CN 201510855554A CN 106257432 B CN106257432 B CN 106257432B
- Authority
- CN
- China
- Prior art keywords
- logical
- count
- data
- area
- storage device
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
-
- 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/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
- G06F12/0646—Configuration or reconfiguration
- G06F12/0653—Configuration or reconfiguration with centralised address assignment
-
- 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
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1041—Resource optimization
- G06F2212/1044—Space efficiency improvement
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
一种数据储存设备,包括:多个逻辑区,形成n个逻辑区段,每个逻辑区段包括k个逻辑区,其中,所述多个逻辑区基于其偏移值而被分组为k个逻辑区组;以及处理器,适用于在接收到针对目标逻辑区的写入请求时增大在第一表的第一条目中储存的与包括目标逻辑区的逻辑区段相对应的第一访问计数,以及增大在第二表的第二条目中储存的与包括目标逻辑区的逻辑区组相对应的第二访问计数。
Description
相关申请的交叉引用
本申请要求2015年6月22日提交的申请号为10-2015-0088285的韩国申请的优先权,其通过引用整体合并于此。
技术领域
本发明的各种实施例涉及一种数据储存设备,更具体地,涉及一种数据储存设备的写入计数管理。
背景技术
数据储存设备响应于来自外部设备的写入请求来储存从外部设备提供的数据。数据储存设备也响应于来自外部设备的读取请求来将储存的数据提供给外部设备。外部设备为能够处理数据的电子设备,且可以为计算机、数字相机和蜂窝电话等。数据储存设备可以嵌入外部设备中,或者可以单独地制造然后耦接至外部设备。
数据储存设备可以以个人计算机存储卡国际协会(PCMCIA)卡、小型快闪(CF)卡、智能媒体卡、记忆棒、各种多媒体卡(MMC、eMMC、RS-MMC和微型MMC)、各种安全数字卡(SD、迷你SD和微型SD)、通用快闪储存器(UFS)和固态驱动器(SSD)等形式来准备。
数据储存设备可以包括用来储存数据的非易失性存储器件。非易失性存储器件可以即使在无恒定电源的情况下仍保持储存的数据。非易失性存储器件可以为快闪存储器(诸如,或非(NOR)闪存或与非(NAND)闪存)、铁电随机存取存储器(FeRAM)、相变随机存取存储器(PCRAM)、磁阻随机存取存储器(MRAM)和电阻式随机存取存储器(ReRAM)等。
发明内容
在一个实施例中,一种数据储存设备可以包括:多个逻辑区,形成n个逻辑区段,每个逻辑区段包括k个逻辑区,其中,所述多个逻辑区基于其偏移值而被分组为k个逻辑区组;以及处理器,适用于在接收到针对目标逻辑区的写入请求时增大在第一表的第一条目中储存的与包括目标逻辑区的逻辑区段相对应的第一访问计数,以及增大在第二表的第二条目中储存的与包括目标逻辑区的逻辑区组相对应的第二访问计数。
在一个实施例中,一种用于操作数据储存设备的方法,所述数据储存设备包括多个逻辑区,所述多个逻辑区形成n个逻辑区段,每个逻辑区段包括k个逻辑区,且所述多个逻辑区基于其偏移值而被分组为k个逻辑区组,所述方法包括:接收针对目标逻辑区的写入请求;增大第一表的条目中储存的与包括目标逻辑区的逻辑区段相对应的第一访问计数;以及增大第二表的条目中储存的与包括目标逻辑区的逻辑区组相对应的第二访问计数。
在一个实施例中,一种数据储存设备可以包括:非易失性存储器,具有多个存储区;工作存储器,具有包括关于存储区的地址映射信息的第一表和第二表,其中,多个逻辑区形成n个逻辑区段,每个逻辑区段包括k个逻辑区,且所述多个逻辑区基于其偏移值而被分组为k个逻辑区组,以及其中,第一表包括与逻辑区段相对应的多个条目,而第二表包括与逻辑区组相对应的多个条目;以及处理器,适用于基于逻辑地址和物理地址来管理存储区,并将逻辑地址映射至存储区的物理地址,其中,在接收到针对目标逻辑区的写入请求时,处理器增大第一表的第一条目中储存的与包括目标逻辑区的逻辑区段相对应的第一访问计数,以及增大第二表的第二条目中储存的与包括目标逻辑区的逻辑区组相对应的第二访问计数。
附图说明
图1是图示根据本发明的一个实施例的数据储存设备的框图。
图2A和图2B是图示基于逻辑地址而识别的逻辑区的示图。
图3A和图3B是用于描述图1中示出的处理器的操作的示图。
图4是用于描述图1中示出的数据储存设备的操作的流程图。
图5是用于描述图1中示出的数据储存设备的操作的流程图。
图6至图8是用于描述图1中示出的数据储存设备的操作的方法的流程图。
图9是用于描述图1中示出的数据储存设备的流程图。
具体实施方式
在下文中,将通过示例性实施例参照附图来描述根据本发明的数据储存设备及其操作方法。然而,本发明可以以不同的形式来实施,而不应当被解释为局限于本文中所陈述的实施例。相反地,这些实施例被提供以详细地描述本发明,达到本发明所属领域的技术人员可以实施本发明的技术构思的程度。
要理解的是,本发明的实施例不局限于附图中所示的细节,附图不一定按比例绘制,且在一些情况下,比例可能被夸大以更清晰地描述本发明的某些特征。虽然特定术语被使用,但要明白的是,该术语仅用于描述特定的实施例,而非意在限制本发明的范围。
在本公开中,当一部分被称作“连接至”另一部分时,其应当被理解为前者可以“直接连接至”后者,或者可以经由中间部分而“电连接至”后者。此外,当描述了一个物体包含(或包括或具有)一些元件时,如果不存在特定的限制,则应当被理解为其可以包含(或包括或具有)仅那些元件,或者其可以包含(或包括或具有)其他元件以及那些元件。除非另有说明,否则单数形式的术语可以包括复数形式。
图1是图示根据本发明的一个实施例的数据储存设备100的框图。
参见图1,数据储存设备100可以包括处理器110、工作存储器件120和非易失性存储器件130。处理器110、工作存储器件120和非易失性存储器件130可以通过传输线(例如,总线)140来交换信号和数据。
处理器110可以控制数据储存设备100的常规操作。处理器110可以根据从外部设备传输来的访问请求(例如,写入请求或读取请求)来控制非易失性存储器件130来写入数据或读取数据。处理器110可以将写入命令或读取命令传输至非易失性存储器件130以控制非易失性存储器件130的写入操作和读取操作。处理器110可以将用来控制数据储存设备100的各种程序和数据储存在工作存储器件120中。
处理器110可以基于逻辑地址和物理地址来管理非易失性存储器件130中包括的存储区。逻辑地址可以是外部设备识别存储区的参考。物理地址可以是数据储存设备100识别存储区的参考,且是存储区的实际地址。当从外部设备接收到针对逻辑地址的写入请求时,处理器110可以将接收到的逻辑地址映射到其中要写入数据的存储区的物理地址。由于易失性存储器件130不能执行重写(overwriting),因此当接收到针对重叠逻辑地址的新写入请求以更新数据时,处理器110可以重新将该逻辑地址映射到其中要写入更新数据的新存储区的物理地址。
图2A和图2B是图示基于逻辑地址而识别的逻辑区LZ0_0至LZn_k的示图(其中,n和k分别为自然数)。逻辑区LZ0_0至LZn_k可以分别对应于不同的逻辑地址。
当从外部设备来看时,逻辑区LZ0_0至LZn_k可以是图1的非易失性存储器件130的存储结构。相应地,逻辑地址LZ0_0至LZn_k可以可变地映射到非易失性存储器件130的物理存储区。例如,在当前储存的数据被更新时,逻辑区LZ0_0可以映射到与逻辑区LZ0_0在更新之前映射到的物理区不同的物理区。
图2A和图2B示出以不同单位(即,逻辑区段(logical zone)LZ(见图2A)和逻辑区组(见图2B))来管理逻辑区LZ0_0至LZn_k的方法。
参见图2A,可以以逻辑区段LZ为单位来管理逻辑区LZ0_0至LZn_k。n+1个逻辑区段LZ0至LZn中的每个可以包括k+1个逻辑区。例如,逻辑区段LZn可以包括k+1个逻辑区LZ0_0至LZn_k。在n+1个逻辑区段LZ0至LZn的每个中,k+1个逻辑区具有恒定的偏移值。例如,在逻辑区段LZn中,逻辑区LZn_0可以具有偏移值“0”,逻辑区LZn_1可以具有偏移值“1”,以及逻辑区LZn_k可以具有偏移值“k”。
参见图2B,可以以逻辑区组LG为单位来管理逻辑区LZ0_0至LZn_k。逻辑区LZ0_0至LZn_k可以根据其偏移值而被分组为k+1个逻辑组LG0至LGk。换言之,具有相同偏移值的逻辑区可以被分组为一个逻辑区组LG。例如,具有偏移值“0”的逻辑区LZ0_0至LZn_0可以被分组为逻辑区组LG0,具有偏移值“1”的逻辑区LZ0_1至LZn_1可以被分组为逻辑区组LG1,以及具有偏移值“k”的逻辑区LZ0_k至LZn_k可以被分组为逻辑区组LGk。
返回参见图1,处理器110可以接收针对特定逻辑区(即,目标逻辑区)的写入请求。目标逻辑区对应于写入请求中包括的逻辑地址。处理器110可以以不同的单位(即,以逻辑区段LZ为单位以及以逻辑区组LG为单位)来对目标逻辑区的写入操作的数目计数,并通过第一表121和第二表122来管理其。
当接收到针对目标逻辑区的写入请求时,处理器110可以将储存在第一表121的条目中的与包括目标逻辑区的逻辑区段(即,目标逻辑区段)相对应的第一写入计数增大。第一表121可以包括分别与n+1个逻辑区段LZ0至LZn相对应的n+1个条目。第一表121可以包括针对逻辑区LZ0_0至LZn_k的以逻辑区段LZ为单位来计数的写入计数。
此外,当接收到针对目标逻辑区的写入请求时,处理器110可以将储存在第二表122的条目中的与包括目标逻辑区的逻辑区组(即,目标逻辑区组)相对应的第二写入计数增大。第二表122可以包括分别与k+1个逻辑区组LG0至LGk相对应的k+1个条目。第二表122可以包括针对逻辑区LZ0_0至LZn_k的以逻辑区组LG为单位来计数的写入计数。
处理器110可以判断目标逻辑区段的第一写入计数是否超过第一参考值。此外,处理器110可以判断目标逻辑区组的第二写入计数是否超过第二参考值。当确定第一写入计数超过第一参考值且第二写入计数超过第二参考值时,处理器110可以将关于目标逻辑区而请求写入的数据确定为热数据(hot data)。另外,当确定第一写入计数超过第一参考值且第二写入计数超过第二参考值时,处理器110可以将与目标逻辑区相对应的逻辑地址确定为热逻辑地址。
处理器110可以将被确定为热数据的数据储存在非易失性存储器件130的热存储区131中。
由于在与针对除热数据以外的数据(即正常数据)的写入请求相比时,针对热数据的写入请求被更频繁地传输,因此热数据可以被频繁地更新。当热数据被更新时,先前版本的热数据被无效。相应地,储存热数据的热存储区的无效可以快速进行。因此,将热数据储存在热存储区131中可以有助于节约垃圾收集成本。即,虽然垃圾收集成本包括用于将有效数据从要被擦除的存储块复制到另一个存储块的成本,但由于热存储区131中的要被擦除的存储块具有高度的无效,因此用于复制有效数据的成本可以是不必要的。
根据本发明的一个实施例,热存储区131可以是可快速访问的区域。例如,热存储区131可以包括单级存储单元(每个单级存储单元储存1位数据)。因此,由于数据储存设备100可以快速地处理频繁接收到的关于热逻辑地址的写入请求,因此可以提升操作速度。
在此期间,当确定目标逻辑区段的第一写入计数未超过第一参考值或目标逻辑区组的第二写入计数未超过第二参考值时,处理器110可以将关于目标逻辑区而请求写入的数据确定为正常数据。处理器110可以将正常数据储存在非易失性存储器件130的正常存储区132中。
由于每当接收到写入请求时,处理器110可以计数第一表121和第二表122中的写入计数,并基于写入计数来判断对应的数据是否是热数据,因此没有必要单独地管理关于热逻辑地址的信息。此外,处理器110可以经由第一表121和第二表122而通过以逻辑区段LZ为单位以及以逻辑区组LG为单位管理针对逻辑区的写入计数来有效地利用工作存储器件120的有限的存储空间。
根据本发明的一个实施例,处理器110可以在计数写入计数之前判断关于目标逻辑区而请求写入的数据的量是否小于阈值量。当确定请求写入的数据的量小于阈值量时,处理器110可以计数第一表121和第二表122中的第一写入计数和第二写入计数。当确定请求写入的数据的大小大于或等于阈值量时,处理器110可以不计数第一表121和第二表122中的第一写入计数和第二写入计数。
在此期间,如果第一表121和第二表122被管理长时间,则因为写入计数持续累计,因此处理器110可以使用合适的周期来向下调节第一表121和第二表122中的写入计数。
根据本发明的一个实施例,每当接收到写入请求时,处理器110可以增大写入请求计数。处理器110可以判断写入请求计数是否已经达到阈值请求计数。当确定写入请求计数已经达到阈值请求计数时,处理器110可以向下调节储存在第一表121和第二表122中的至少一个中包括的条目中的写入计数,即,可以将写入计数减小调节值或重置写入计数。
根据本发明的一个实施例,当第一表121中包括的n+1个条目之中的储存超过参考值的写入计数的条目的数量已经达到阈值条目数量时,处理器110可以向下调节储存在第一表121和第二表122中的至少一个中包括的条目中的写入计数,即,可以将写入计数减小调节值或重置写入计数。参考值可以与用于确定热数据的第一参考值相同,或者可以是其他合适的值。
根据本发明的一个实施例,处理器110可以接收针对逻辑区的无效命令。无效命令可以用来通知数据储存设备100外部设备将不再使用特定逻辑区(或与特定逻辑区相对应的逻辑地址)。当接收到针对特定逻辑区的无效命令时,处理器110可以向下调节第一表121和第二表122中的与包括该特定逻辑区的逻辑区段LZ和逻辑区组LG相对应的写入计数中的至少一个,即,可以将写入计数中的至少一个减小调节值或重置写入计数中的至少一个。
根据本发明的一个实施例,处理器110可以通过对擦除操作计数来管理擦除计数。处理器110可以判断擦除计数是否已经达到阈值擦除计数。当确定擦除计数还未达到阈值擦除计数时,处理器110可以保留对第一表121和第二表122中包括的写入计数是否超过第一参考值和第二参考值的判断。当确定擦除计数已经达到阈值擦除计数时,处理器110可以判断第一表121和第二表122中包括的写入计数是否超过第一参考值和第二参考值。也就是说,在基于擦除计数而确定数据被充分地储存在非易失性存储器件130中之后,处理器110可以识别热数据。通过其来管理擦除计数的存储区单位可以是例如存储块或存储器件,且要注意的是,实施例不受这些选择限制。
工作存储器件120可以储存由处理器110来驱动以控制数据储存设备100的程序、程序数据、参数等。工作存储器件120可以储存由处理器110管理的第一表121和第二表122。工作存储器件120可以是例如易失性存储器件(诸如,DRAM和SRAM)。
非易失性存储器件130可以根据处理器110的控制来执行用于储存数据的写入操作。非易失性存储器件130可以包括热存储区131和正常存储区132。
图3A和图3B是示例性地图示用于图1中示出的处理器110通过管理第一表121和第二表122来将请求写入的数据确定为热数据的方法的示图。第一表121可以包括分别与n+1个逻辑区段LZ0至LZn相对应的n+1个条目。第二表122可以包括分别与k+1个逻辑区组LG0至LGk相对应的k+1个条目。
在下文中,将参照图1至图3B来详细描述用于操作处理器110的方法。
参见图3A,数据储存设备100可以接收针对逻辑区LZ0_1的写入请求。
处理器110可以增大储存在第一表121的条目301中的与包括目标逻辑区LZ0_1的目标逻辑区段LZ0相对应的写入计数。此外,处理器110可以增大储存在第二表122的条目302中的与包括目标逻辑区LZ0_1的目标逻辑区组LG1相对应的写入计数。
处理器110可以判断与目标逻辑区段LZ0相对应的写入计数“255”是否超过第一参考值,以及与目标逻辑区组LG1相对应的写入计数“50”是否超过第二参考值。在图3A中,将假定第一参考值和第二参考值分别为250和50。
处理器110可以确定与目标逻辑区段LZ0相对应的写入计数“255”超过第一参考值以及与目标逻辑区组LG1相对应的写入计数“50”未超过第二参考值。相应地,处理器110可以将关于目标逻辑区LZ0_1而请求写入的数据确定为正常数据,并将该数据储存在正常存储区132中。
参见图3B,数据储存设备100可以接收针对逻辑区LZ1_1的写入请求。
处理器110可以增大储存在第一表121的条目303中的与包括目标逻辑区LZ1_1的目标逻辑区段LZ1相对应的写入计数。此外,处理器110可以增大储存在第二表122的条目304中的与包括目标逻辑区LZ1_1的目标逻辑区组LG1相对应的写入计数。
处理器110可以判断与目标逻辑区段LZ1相对应的写入计数“267”是否超过第一参考值以及与目标逻辑区组LG1相对应的写入计数“51”是否超过第二参考值。在图3B中,将假定第一参考值和第二参考值分别为250和50。
处理器110可以确定与目标逻辑区段LZ1相对应的写入计数超过第一参考值且与目标逻辑区组LG1相对应的写入计数超过第二参考值。相应地,处理器110可以将关于目标逻辑区LZ1_1而请求写入的数据确定为热数据,并将该数据储存在热存储区131中。
图4是用于描述图1中示出的数据储存设备100的操作的流程图。
在步骤S110处,数据储存设备100可以接收针对目标逻辑区的写入请求。
在步骤S120处,处理器110可以增大储存在第一表121的条目中的与包括目标逻辑区的目标逻辑区段相对应的第一写入计数。第一表121可以包括分别与多个逻辑区段相对应的多个条目。
在步骤S130处,处理器110可以增大储存在第二表122的条目中的与包括目标逻辑区的目标逻辑区组相对应的第二写入计数。第二表122可以包括分别与多个逻辑区组相对应的多个条目。目标逻辑区组可以包括各个逻辑区段中的具有与目标逻辑区的偏移值相同的偏移值的逻辑区。与目标逻辑区组相对应的条目可以对应于各个逻辑区段中的具有与目标逻辑区的偏移值相同的偏移值的逻辑区。
在步骤S140处,处理器110可以判断目标逻辑区段的第一写入计数是否超过第一参考值。当确定目标逻辑区段的第一写入计数超过第一参考值(是)时,过程可以前进至步骤S150。
在步骤S150处,处理器110可以判断目标逻辑区组的第二写入计数是否超过第二参考值。当确定目标逻辑区组的第二写入计数超过第二参考值(是)时,过程可以前进至步骤S160。
在步骤S160处,处理器110可以将关于目标逻辑区而请求写入的数据确定为热数据,并将该数据储存在热存储区131中。
在此期间,当在步骤S140处确定目标逻辑区段的第一写入计数未超过第一参考值(否)时,过程可以前进至步骤S170。
此外,当在步骤S150处确定目标逻辑区组的第二写入计数未超过第二参考值(否)时,过程可以前进至步骤S170。
在步骤S170处,处理器110可以将关于目标逻辑区而请求写入的数据确定为正常数据,并将该数据储存在正常存储区132中。
图5是用于描述图1中示出的数据储存设备100的操作的流程图。除步骤S220之外,图5中示出的过程可以基本上类似于图4中示出的过程。图5的步骤S210可以基本上与图4的步骤S110相同,以及图5的步骤S230至S280可以分别与图4的步骤S120至S170基本上相同。
在步骤S220处,处理器110可以判断关于目标逻辑区而请求写入的数据的量是否小于阈值量。当确定请求写入的数据的量小于阈值量(是)时,过程可以前进至步骤S230。当确定请求写入的数据的量大于或等于阈值量(否)时,过程可以结束。
图6至图8是用于描述图1中示出的处理器110的操作的流程图。图6至图8分别示出其中在第一表121和第二表122中累计的写入计数被向下调节的情况。
参见图6,在步骤S310处,数据储存设备100可以接收针对目标逻辑区的写入请求。
在步骤S320处,处理器110可以增大写入请求计数。
在步骤S330处,处理器110可以判断写入请求计数是否已经达到阈值请求计数。当确定写入请求计数已经达到阈值请求计数(是)时,过程可以前进至步骤S340。当确定写入请求计数还未到达阈值请求计数(否)时,过程可以返回至步骤S310。
在步骤S340处,处理器110可以将储存在第一表121和第二表122中的至少一个中包括的条目中的写入计数向下调节,即,可以将写入计数减小调节值或重置写入计数。处理器110可以在调节写入计数之后重置写入请求计数。
参见图7,在步骤S410处,处理器110可以判断第一表121中包括的条目之中的储存超过参考值的写入计数的条目的数量是否已经达到阈值条目数量。当确定储存超过参考值的写入计数的条目的数量已经达到阈值条目数量(是)时,过程可以前进至步骤S420。当确定储存超过参考值的写入计数的条目的数量还未达到阈值条目数量(否)时,处理器110可以重复判断步骤S410。
在步骤S420处,处理器110可以将储存在第一表121和第二表122中的至少一个中包括的条目中的写入计数向下调节,即,可以将写入计数减小调节值或重置写入计数。
参见图8,在步骤S510处,处理器110可以判断是否接收到针对特定逻辑区的无效命令。当确定接收到针对特定逻辑区的无效命令(是)时,过程可以前进至步骤S520。当确定未接收到针对特定逻辑区的无效命令(否)时,处理器110可以重复判断步骤S510。
在步骤S520处,处理器110可以将与包括特定逻辑区的逻辑区段和逻辑区组相对应的写入计数中的至少一个向下调节,即,可以将写入计数中的至少一个减小调节值或将写入计数中的至少一个重置。
图9是用于描述图1中示出的数据储存设备100的操作的流程图。除步骤S640之外,图9中示出的过程可以基本上类似于图4中示出的过程。图9的步骤S610至S630可以分别与图4的步骤S110至S130基本上相同,且图9的步骤S650至S680可以分别与图4的步骤S140至S170基本上相同。
参见图9,在步骤S640处,处理器110可以判断擦除计数是否已经达到阈值擦除计数。当确定擦除计数已经达到阈值擦除计数(是)时,过程可以前进至步骤S650。当确定擦除计数还未达到阈值擦除计数(否)时,过程可以结束。也就是说,当确定擦除计数还未达到阈值擦除计数时,处理器110可以保留对第一写入计数和第二写入计数是否超过第一参考值和第二参考值的判断。当确定擦除计数已经达到阈值擦除计数时,即,当基于擦除计数确定数据被充分地储存在非易失性存储器件130中时,处理器110可以识别并储存热数据。可以例如以存储块为单位和/或以存储器件为单位来计数擦除计数。
虽然以上已经描述了各种实施例,但本领域技术人员将理解的是,描述的实施例仅为示例。相应地,本文中描述的数据储存设备及其操作方法不应当基于所描述的实施例来限制。
通过以上实施例可以看出,本发明提供以下技术方案。
技术方案1.一种数据储存设备,包括:
多个逻辑区,所述多个逻辑区形成n个逻辑区段,每个逻辑区段包括k个逻辑区,其中,所述多个逻辑区基于其偏移值而被分组为k个逻辑区组;以及
处理器,适用于在接收到针对目标逻辑区的写入请求时增大在第一表的第一条目中储存的与包括目标逻辑区的逻辑区段相对应的第一访问计数,以及增大在第二表的第二条目中储存的与包括目标逻辑区的逻辑区组相对应的第二访问计数。
技术方案2.如技术方案1所述的数据储存设备,其中,处理器判断第一访问计数是否超过第一参考值并判断第二访问计数是否超过第二参考值,并根据判断结果来将关于目标逻辑区而请求写入的数据确定为热数据。
技术方案3.如技术方案2所述的数据储存设备,其中,处理器判断擦除计数是否达到阈值擦除计数,并在擦除计数被确定为未达到阈值擦除计数时保留对第一访问计数是否超过第一参考值的判断以及第二访问计数是否超过第二参考值的判断。
技术方案4.如技术方案1所述的数据储存设备,其中,各个逻辑区段中的具有相同偏移值的逻辑区被分组为一个逻辑区组。
技术方案5.如技术方案1所述的数据储存设备,其中,第一表包括与所述n个逻辑区段相对应的n个条目。
技术方案6.如技术方案1所述的数据储存设备,其中,第二表包括与所述k个逻辑区组相对应的k个条目。
技术方案7.如技术方案1所述的数据储存设备,其中,处理器判断关于目标逻辑区而请求写入的数据的量是否小于阈值量,并在请求写入的数据的量小于阈值量时增大第一访问计数和第二访问计数。
技术方案8.如技术方案1所述的数据储存设备,其中,处理器在接收到写入请求时增大写入请求计数,判断写入请求计数是否达到阈值请求计数,以及在写入请求计数被确定为达到阈值请求计数时将第一表和第二表中的至少一个中包括的条目中储存的访问计数向下调节。
技术方案9.如技术方案1所述的数据储存设备,其中,处理器判断第一表中包括的条目之中的储存超过参考值的访问计数的条目的数量是否达到阈值条目数量,并在条目的数量被确定为达到阈值条目数量时将第一表和第二表中的至少一个中包括的条目中储存的访问计数向下调节。
技术方案10.如技术方案1所述的数据储存设备,其中,当接收到针对目标逻辑区的无效命令时,处理器将第一访问计数和第二访问计数中的至少一个向下调节。
技术方案11.一种用于操作数据储存设备的方法,所述数据储存设备包括多个逻辑区,所述多个逻辑区形成n个逻辑区段,每个逻辑区段包括k个逻辑区,且所述多个逻辑区基于其偏移值而被分组为k个逻辑区组,所述方法包括:
接收针对目标逻辑区的写入请求;
增大第一表的条目中储存的与包括目标逻辑区的逻辑区段相对应的第一访问计数;以及
增大第二表的条目中储存的与包括目标逻辑区的逻辑区组相对应的第二访问计数。
技术方案12.如技术方案11所述的方法,还包括:
判断第一访问计数是否超过第一参考值;
判断第二访问计数是否超过第二参考值;
基于针对第一访问计数和第二访问计数的判断结果来将关于目标逻辑区而请求写入的数据确定为热数据;以及
将热数据储存在热存储区中。
技术方案13.如技术方案12所述的方法,还包括:
判断擦除计数是否达到阈值擦除计数,
其中,当确定擦除计数未达到阈值擦除计数时,保留对第一访问计数是否超过第一参考值的判断以及第二访问计数是否超过第二参考值的判断。
技术方案14.如技术方案11所述的方法,其中,各个逻辑区段中的具有相同的偏移值的逻辑区被分组为一个逻辑区组。
技术方案15.如技术方案11所述的方法,其中,第一表包括与逻辑区段相对应的多个条目。
技术方案16.如技术方案11所述的方法,其中,第二表包括与逻辑区组相对应的多个条目。
技术方案17.如技术方案11所述的方法,还包括:
判断关于目标逻辑区而请求写入的数据的量是否小于阈值量,
其中,当请求写入的数据的量小于阈值量时,执行第一访问计数的增大和第二访问计数的增大。
技术方案18.如技术方案11所述的方法,还包括:
增大写入请求计数;
判断写入请求计数是否达到阈值请求计数;以及
当确定写入请求计数达到阈值请求计数时,将第一表和第二表中的至少一个中包括的条目中储存的访问计数向下调节。
技术方案19.如技术方案11所述的方法,还包括:
判断第一表中包括的条目之中的储存超过参考值的访问计数的条目的数量是否达到阈值条目数量;以及
当确定条目的数量达到阈值条目数量时,将第一表和第二表中的至少一个中包括的条目中储存的访问计数向下调节。
技术方案20.如技术方案11所述的方法,还包括:
判断是否接收到针对目标逻辑区的无效命令;以及
当接收到针对目标逻辑区的无效命令时,将第一访问计数和第二访问计数中的至少一个向下调节。
技术方案21.一种数据储存设备,包括:
非易失性存储器,具有多个存储区;
工作存储器,具有包括关于存储区的地址映射信息的第一表和第二表,其中,多个逻辑区形成n个逻辑区段,每个逻辑区段包括k个逻辑区,且所述多个逻辑区基于其偏移值而被分组为k个逻辑区组,以及其中,第一表包括与逻辑区段相对应的多个条目,而第二表包括与逻辑区组相对应的多个条目;以及
处理器,适用于在接收到针对目标逻辑区的写入请求时,增大第一表中储存的与包括目标逻辑区的逻辑区段相对应的第一访问计数,增大第二表中储存的与包括目标逻辑区的逻辑区组相对应的第二访问计数,以及分别判断第一写入计数和第二写入计数是否超过第一参考值和第二参考值。
技术方案22.如技术方案21所述数据储存设备,其中,当第一写入计数被确定为超过第一参考值时,处理器将关于目标逻辑区的请求写入的数据确定为热数据,以将所述数据储存在热存储区中。
技术方案23.如技术方案21所述的数据储存设备,其中,当第二写入计数被确定为超过第二参考值时,处理器将关于目标逻辑区的请求写入的数据确定为热数据,以将所述数据储存在热存储区中。
Claims (23)
1.一种数据储存设备,包括:
多个逻辑区,所述多个逻辑区形成n个逻辑区段,每个逻辑区段包括k个逻辑区,其中,所述多个逻辑区基于其偏移值而被分组为k个逻辑区组;以及
处理器,适用于在接收到针对目标逻辑区的写入请求时增大在第一表的第一条目中储存的与包括目标逻辑区的逻辑区段相对应的第一访问计数,以及增大在第二表的第二条目中储存的与包括目标逻辑区的逻辑区组相对应的第二访问计数。
2.如权利要求1所述的数据储存设备,其中,处理器判断第一访问计数是否超过第一参考值并判断第二访问计数是否超过第二参考值,并根据判断结果来将关于目标逻辑区而请求写入的数据确定为热数据。
3.如权利要求2所述的数据储存设备,其中,处理器判断擦除计数是否达到阈值擦除计数,并在擦除计数被确定为未达到阈值擦除计数时保留对第一访问计数是否超过第一参考值的判断以及第二访问计数是否超过第二参考值的判断。
4.如权利要求1所述的数据储存设备,其中,各个逻辑区段中的具有相同偏移值的逻辑区被分组为一个逻辑区组。
5.如权利要求1所述的数据储存设备,其中,第一表包括与所述n个逻辑区段相对应的n个条目。
6.如权利要求1所述的数据储存设备,其中,第二表包括与所述k个逻辑区组相对应的k个条目。
7.如权利要求1所述的数据储存设备,其中,处理器判断关于目标逻辑区而请求写入的数据的量是否小于阈值量,并在请求写入的数据的量小于阈值量时增大第一访问计数和第二访问计数。
8.如权利要求1所述的数据储存设备,其中,处理器在接收到写入请求时增大写入请求计数,判断写入请求计数是否达到阈值请求计数,以及在写入请求计数被确定为达到阈值请求计数时将第一表和第二表中的至少一个中包括的条目中储存的访问计数向下调节。
9.如权利要求1所述的数据储存设备,其中,处理器判断第一表中包括的条目之中的特定条目的数量是否达到阈值条目数量,其中在所述特定条目中储存有超过参考值的访问计数,并在所述特定条目的数量被确定为达到阈值条目数量时将第一表和第二表中的至少一个中包括的条目中储存的访问计数向下调节。
10.如权利要求1所述的数据储存设备,其中,当接收到针对目标逻辑区的无效命令时,处理器将第一访问计数和第二访问计数中的至少一个向下调节。
11.一种用于操作数据储存设备的方法,所述数据储存设备包括多个逻辑区,所述多个逻辑区形成n个逻辑区段,每个逻辑区段包括k个逻辑区,且所述多个逻辑区基于其偏移值而被分组为k个逻辑区组,所述方法包括:
接收针对目标逻辑区的写入请求;
增大第一表的条目中储存的与包括目标逻辑区的逻辑区段相对应的第一访问计数;以及
增大第二表的条目中储存的与包括目标逻辑区的逻辑区组相对应的第二访问计数。
12.如权利要求11所述的方法,还包括:
判断第一访问计数是否超过第一参考值;
判断第二访问计数是否超过第二参考值;
基于针对第一访问计数和第二访问计数的判断结果来将关于目标逻辑区而请求写入的数据确定为热数据;以及
将热数据储存在热存储区中。
13.如权利要求12所述的方法,还包括:
判断擦除计数是否达到阈值擦除计数,
其中,当确定擦除计数未达到阈值擦除计数时,保留对第一访问计数是否超过第一参考值的判断以及第二访问计数是否超过第二参考值的判断。
14.如权利要求11所述的方法,其中,各个逻辑区段中的具有相同的偏移值的逻辑区被分组为一个逻辑区组。
15.如权利要求11所述的方法,其中,第一表包括与逻辑区段相对应的多个条目。
16.如权利要求11所述的方法,其中,第二表包括与逻辑区组相对应的多个条目。
17.如权利要求11所述的方法,还包括:
判断关于目标逻辑区而请求写入的数据的量是否小于阈值量,
其中,当请求写入的数据的量小于阈值量时,执行第一访问计数的增大和第二访问计数的增大。
18.如权利要求11所述的方法,还包括:
增大写入请求计数;
判断写入请求计数是否达到阈值请求计数;以及
当确定写入请求计数达到阈值请求计数时,将第一表和第二表中的至少一个中包括的条目中储存的访问计数向下调节。
19.如权利要求11所述的方法,还包括:
判断第一表中包括的条目之中的特定条目的数量是否达到阈值条目数量,其中在所述特定条目中储存有超过参考值的访问计数;以及
当确定所述特定条目的数量达到阈值条目数量时,将第一表和第二表中的至少一个中包括的条目中储存的访问计数向下调节。
20.如权利要求11所述的方法,还包括:
判断是否接收到针对目标逻辑区的无效命令;以及
当接收到针对目标逻辑区的无效命令时,将第一访问计数和第二访问计数中的至少一个向下调节。
21.一种数据储存设备,包括:
非易失性存储器,具有多个存储区;
工作存储器,具有包括关于存储区的地址映射信息的第一表和第二表,其中,多个逻辑区形成n个逻辑区段,每个逻辑区段包括k个逻辑区,且所述多个逻辑区基于其偏移值而被分组为k个逻辑区组,以及其中,第一表包括与逻辑区段相对应的多个条目,而第二表包括与逻辑区组相对应的多个条目;以及
处理器,适用于在接收到针对目标逻辑区的写入请求时,增大第一表中储存的与包括目标逻辑区的逻辑区段相对应的第一访问计数,增大第二表中储存的与包括目标逻辑区的逻辑区组相对应的第二访问计数,以及分别判断第一写入计数和第二写入计数是否超过第一参考值和第二参考值。
22.如权利要求21所述数据储存设备,其中,当第一写入计数被确定为超过第一参考值时,处理器将关于目标逻辑区的请求写入的数据确定为热数据,以将所述数据储存在热存储区中。
23.如权利要求21所述的数据储存设备,其中,当第二写入计数被确定为超过第二参考值时,处理器将关于目标逻辑区的请求写入的数据确定为热数据,以将所述数据储存在热存储区中。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020150088285A KR20160150384A (ko) | 2015-06-22 | 2015-06-22 | 데이터 저장 장치 및 그것의 동작 방법 |
KR10-2015-0088285 | 2015-06-22 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106257432A CN106257432A (zh) | 2016-12-28 |
CN106257432B true CN106257432B (zh) | 2020-10-02 |
Family
ID=57587935
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510855554.4A Active CN106257432B (zh) | 2015-06-22 | 2015-11-30 | 数据储存设备及其操作方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10013350B2 (zh) |
KR (1) | KR20160150384A (zh) |
CN (1) | CN106257432B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103631538B (zh) * | 2013-12-05 | 2017-04-05 | 华为技术有限公司 | 冷热数据识别门限值计算方法、装置和系统 |
US10101925B2 (en) * | 2015-12-23 | 2018-10-16 | Toshiba Memory Corporation | Data invalidation acceleration through approximation of valid data counts |
EP3792800A1 (en) * | 2019-09-12 | 2021-03-17 | Nxp B.V. | Managing equally sized virtual memory regions and physical memory regions in an electronic device |
US11693781B2 (en) * | 2020-08-20 | 2023-07-04 | Micron Technology, Inc. | Caching or evicting host-resident translation layer based on counter |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101673243A (zh) * | 2009-09-29 | 2010-03-17 | 威盛电子股份有限公司 | 数据储存装置与方法 |
CN103870205A (zh) * | 2012-12-11 | 2014-06-18 | 联想(北京)有限公司 | 用于存储控制的方法和装置、以及信息处理的方法和装置 |
US8819375B1 (en) * | 2011-11-30 | 2014-08-26 | Western Digital Technologies, Inc. | Method for selective defragmentation in a data storage device |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8891298B2 (en) * | 2011-07-19 | 2014-11-18 | Greenthread, Llc | Lifetime mixed level non-volatile memory system |
TWI400707B (zh) | 2009-07-09 | 2013-07-01 | Phison Electronics Corp | 快閃記憶體邏輯區塊管理方法及其控制電路與儲存系統 |
US8438361B2 (en) * | 2010-03-10 | 2013-05-07 | Seagate Technology Llc | Logical block storage in a storage device |
US8782370B2 (en) * | 2011-05-15 | 2014-07-15 | Apple Inc. | Selective data storage in LSB and MSB pages |
US9032137B2 (en) * | 2012-11-21 | 2015-05-12 | Intel Corporation | Flexible wear management for non-volatile memory |
US9465732B2 (en) * | 2013-03-15 | 2016-10-11 | Sandisk Technologies Llc | Binning of blocks for dynamic linking |
KR102023351B1 (ko) | 2013-03-19 | 2019-11-04 | 삼성전자 주식회사 | 저장 장치 내 할당 촉진을 위한 데이터 분석 방법 및 장치 |
US9501400B2 (en) * | 2013-11-13 | 2016-11-22 | Sandisk Technologies Llc | Identification and operation of sub-prime blocks in nonvolatile memory |
-
2015
- 2015-06-22 KR KR1020150088285A patent/KR20160150384A/ko unknown
- 2015-10-27 US US14/924,481 patent/US10013350B2/en active Active
- 2015-11-30 CN CN201510855554.4A patent/CN106257432B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101673243A (zh) * | 2009-09-29 | 2010-03-17 | 威盛电子股份有限公司 | 数据储存装置与方法 |
US8819375B1 (en) * | 2011-11-30 | 2014-08-26 | Western Digital Technologies, Inc. | Method for selective defragmentation in a data storage device |
CN103870205A (zh) * | 2012-12-11 | 2014-06-18 | 联想(北京)有限公司 | 用于存储控制的方法和装置、以及信息处理的方法和装置 |
Non-Patent Citations (1)
Title |
---|
一种面向SSD_HDD混合存储的热区跟踪替换算法;刘圣卓;姜进磊;杨广文;《一种面向SSD_HDD混合存储的热区跟踪替换算法》;20121015;全文 * |
Also Published As
Publication number | Publication date |
---|---|
US20160371195A1 (en) | 2016-12-22 |
CN106257432A (zh) | 2016-12-28 |
US10013350B2 (en) | 2018-07-03 |
KR20160150384A (ko) | 2016-12-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11030094B2 (en) | Apparatus and method for performing garbage collection by predicting required time | |
US10474585B2 (en) | Nonvolatile memory system and a method of operating the nonvolatile memory system | |
US7594067B2 (en) | Enhanced data access in a storage device | |
US8417878B2 (en) | Selection of units for garbage collection in flash memory | |
US11449418B2 (en) | Controller and method for selecting victim block for wear leveling operation | |
US20140129761A1 (en) | Non-volatile memory device and host device configured to communication with the same | |
CN113553099A (zh) | 主机常驻转换层写入命令 | |
US11194737B2 (en) | Storage device, controller and method for operating the controller for pattern determination | |
WO2015054338A1 (en) | System and method of storing data in a data storage device with a selection of two writing orders in order to improve the reading speed of a differential look ahead reading mode. | |
US20160253257A1 (en) | Data processing system and operating method thereof | |
KR101979735B1 (ko) | 비휘발성 메모리 시스템 및 이와 통신하는 호스트 | |
CN106257432B (zh) | 数据储存设备及其操作方法 | |
US11334272B2 (en) | Memory system and operating method thereof | |
KR102343246B1 (ko) | 데이터 저장 장치 및 그것의 동작 방법 | |
US20180004677A1 (en) | Memory system and method for operating the same | |
CN115145838A (zh) | 在与非存储器中存储逻辑到物理映射 | |
CN110244906B (zh) | 存储系统及其操作方法 | |
CN114077552A (zh) | 用于主机常驻转译层的存储器存取跟踪 | |
US20230236986A1 (en) | Cache block budgeting techniques | |
KR20200014175A (ko) | 소요시간을 예측하여 가비지 컬렉션을 수행하는 방법 및 장치 | |
CN114647378A (zh) | 用于垃圾收集的有效数据标识 | |
US11288007B2 (en) | Virtual physical erase of a memory of a data storage device | |
US20240201867A1 (en) | Storage device supporting trim operation and storage system including the same | |
KR20170052172A (ko) | 데이터 저장 장치 및 그것의 동작 방법 | |
WO2022133397A1 (en) | Exclusion regions for host-side memory address translation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | 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 |