CN109885507A - 半导体装置 - Google Patents
半导体装置 Download PDFInfo
- Publication number
- CN109885507A CN109885507A CN201811486172.9A CN201811486172A CN109885507A CN 109885507 A CN109885507 A CN 109885507A CN 201811486172 A CN201811486172 A CN 201811486172A CN 109885507 A CN109885507 A CN 109885507A
- Authority
- CN
- China
- Prior art keywords
- data
- time information
- expired
- expired time
- semiconductor device
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
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/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0253—Garbage collection, i.e. reclamation of unreferenced 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/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
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- 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/0608—Saving storage space on 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/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- 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/72—Details relating to flash memory management
- G06F2212/7201—Logical to physical mapping or translation of blocks or pages
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7204—Capacity control, e.g. partitioning, end-of-life degradation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7205—Cleaning, compaction, garbage collection, erase control
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)
- Read Only Memory (AREA)
Abstract
半导体装置包括:存储器装置;和存储控制器。该存储控制器包括对存储器装置执行数据操作的闪存控制器、以及执行用于控制闪存控制器的实时操作系统(RTOS)的处理器,其中该RTOS从主机接收数据的过期时间信息,并且基于过期时间信息使用调度器执行至少一个数据操作。
Description
相关申请的交叉引用
本申请要求于2017年12月6日在韩国知识产权局提交的韩国专利申请No.10-2017-0166817的权益,该公开的全部内容通过引用合并在此。
技术领域
本公开涉及半导体装置,更具体地,涉及对存储器装置执行数据操作的半导体装置。
背景技术
各种基于闪存的存储装置对存储器装置执行各种数据操作。例如,在从主机接收到读取或写入数据的命令后,存储装置可以执行比如读取操作、写入操作、编程操作和擦除操作的各种数据操作,以处理该命令。
由于存储器装置的特性,这种基于闪存的存储装置不会一次性地对单个存储单元执行数据操作。例如,可以逐页地执行读取操作和写入操作,并且可以逐块地执行擦除操作。
基于闪存的存储装置仅在页面空闲的时候能够将数据写入存储器装置的页面,并且通过执行读取-修改-写入更新而不是就地更新来更新数据。也就是说,基于闪存的存储装置不能立即地重写相同的存储器装置。
在具有这样特性的基于闪存的存储装置中,为了确保存储装置的容量,在适当的时间把陈旧的页面改变为空闲的页面是很重要的。
因此,除了通过传统的垃圾收集的擦除方法之外,还需要一种方法,基于闪存的存储装置通过这种方法可以确定数据是否已经过期并且在适当的时间执行擦除操作。
发明内容
本公开的各方面提供了一种半导体装置,其可通过使用数据的过期时间信息在适当的时间对存储器装置执行数据操作来确保容量和改善垃圾收集的性能。
然而,本公开的各方面不限于此。通过参考下面给出的本公开的详细描述,本公开的以上和其他方面对于本公开所属领域的普通技术人员之一将变得更显而易见。
根据本公开的一方面,提供一种包括存储器装置的半导体装置;
以及存储控制器。存储控制器包括:闪存控制器,其被配置为对存储器装置执行数据操作;以及处理器,其被配置为执行用于控制闪存控制器的实时操作系统(RTOS),其中RTOS被配置为从主机接收数据的过期时间信息,并基于过期时间信息,使用调度器控制闪存控制器执行数据操作中的至少一个。
根据本公开的另一方面,提供一种半导体装置,包括:存储器装置,其包括在其中存储从主机接收的与过期时间信息相关联的数据的区域;以及存储控制器。存储控制器包括:闪存控制器,其对存储器装置执行数据操作;以及处理器,其被配置为执行用于控制闪存控制器的实时操作系统(RTOS),其中RTOS被配置为基于过期时间信息识别存储在所述区域中的数据当中的过期数据,并对过期数据执行数据操作。
根据本公开的又一方面,提供一种半导体装置,包括:存储器装置,其包括第一区域和与第一区域分开的第二区域;以及存储控制器。存储控制器包括:被配置为对存储器装置执行数据操作的闪存控制器;处理器,其被配置为执行用于控制闪存控制器的实时操作系统(RTOS);以及数据模块,其被配置为管理存储器装置中的将要存储与过期时间信息相关联的数据的位置,其中RTOS被配置为从主机接收数据的过期时间信息和应用了过期时间信息的范围,数据模块被配置为将与应用了过期时间信息的所述范围相对应的数据从第一区域移动到第二区域,并且RTOS被配置为识别存储在第二区域中的数据当中的过期数据并且对过期数据执行数据操作。
根据本发明的再一方面,存储装置包括:具有多个存储器元件的半导体存储器装置;以及存储控制器。存储控制器包括:存储装置接口,其被配置为从主机接收第一数据,并且还被配置为接收关于第一数据的第一过期时间信息;闪存控制器,其被配置为将第一数据存储在半导体存储装置中;以及处理器,其被配置为执行指令以使得闪存控制器基于第一过期时间信息在第一删除时间从半导体存储器装置中删除第一数据。
附图说明
通过结合附图对实施例的以下描述,这些和/或其他方面将变得显而易见并且更容易理解。
图1是半导体系统的实施例的框图。
图2是示出半导体系统的实施例的操作的概念图。
图3是示出半导体装置的实施例的操作的概念图。
图4是示出半导体装置的实施例的操作的概念图。
图5是半导体装置的存储器装置的实施例的框图。
图6是半导体装置的存储器装置的实施例的框图。
图7是半导体系统的实施例的框图。
图8是半导体装置的存储器装置的实施例的框图。
图9是半导体装置的实施例的存储器装置的框图。
图10是半导体系统的实施例的框图。
图11是示出半导体装置的实施例的操作的概念图。
图12是半导体系统的实施例的框图。
具体实施方式
图1是半导体系统1的实施例的框图。
参照图1,半导体系统1可包括主机10和存储装置20。
主机10可以请求将数据存储在存储装置20中或者请求从存储装置20读取数据。例如,主机10可以通过主机接口(I/F)130向存储装置20发送数据写入命令CMD和待写入的数据DATA。此外,主机10可以向存储装置20发送数据读取命令CMD并且通过主机接口130从存储装置20接收读取的数据DATA。
主机10可以根据存储装置20支持的接口与存储装置20交换命令CMD和数据DATA。在一些实施例中,主机10和存储装置20之间的接口可以符合的协议或标准的示例包括:通用闪存(UFS)、小型计算机系统接口(SCSI)、串行连接SCSI(SAS)、串行高级技术附件(SATA)、外设部件互连高速(PCIe)、嵌入式多媒体卡(eMMC)、光纤通道(FC)、高级技术附件(ATA)、集成驱动电子设备(IDE)和通用串行总线(USB)。然而,这些仅仅是示例并且本公开不限于此,通常任何允许数据在主机10和存储装置20之间交换的接口协议或标准都能被采用。
在一些实施例中,主机10可以是例如个人电脑、服务器、笔记本电脑、平板电脑、智能手机或者移动电话的计算装置,但本公开不限于此。
存储装置20包括存储控制器200和存储器装置290。
存储控制器200控制存储装置20的整体操作。例如,存储控制器200可以对存储器装置290执行数据操作,以写入、读取或删除主机10所请求的数据。
存储器装置290包括非易失性存储器装置。例如,存储器装置290可以包括实现为闪速存储器、磁阻随机存取存储器(MRAM)、相变随机存储器(PRAM)或铁电随机存储器(FeRAM)的存储器装置,但是这些仅仅是示例并且本公开不限于此。
存储控制器200包括处理器210、缓冲器220、存储装置接口230和闪存控制器240。在本实施例中,存储装置20的存储控制器200还可包括数据模块250,下文中将参照图7来描述数据模块250。
处理器210执行并处理用于控制存储装置20的整体操作的软件。缓冲器220可以用作用于处理器210的操作的主存储器或可以用作用于临时存储数据的高速缓冲存储器。在一些实施例中,缓冲器220可以包括诸如静态随机存取存储器(SRAM)或动态随机存取存储器(DRAM)的易失性存储器,但这些仅仅是示例并且本公开不限于此。
存储装置接口230电连接到主机10的主机接口130,以从主机10接收命令CMD和/或数据DATA,或者向主机10提供数据DATA。存储装置接口230和主机接口130能够利用诸如如上所述的接口协议或标准的各种接口协议或标准交换数据。
闪存控制器240可以在处理器210的控制下对存储器装置290执行数据操作,例如写入操作、读取操作和擦除操作。
在一些实施例中,存储装置20可以实现为固态驱动器(SSD)或各种基于闪存的存储卡。
可以应用于各种实施例的存储器装置290可以在逻辑上包括多个块,并且每个块可以包括多个页面,并且这些页面中的每一个可以包括多个可寻址存储器单元或数据存储元件,所述多个可寻址存储器单元或数据存储元件中的每一个可以存储一个或多个比特的数据。存储器装置290的页面需要在合适的时间从陈旧的状态改变为空闲的状态。特别地,由于陈旧页面对应于无法记录数据的无效页面,因此需要通过例如擦除的数据操作将其改变为能够记录数据的空闲页面。
为此,存储控制器200可以从主机10接收命令CMD来对存储器装置290执行擦除数据操作。可替换地,可以通过在存储装置20中执行的垃圾收集来确保存储器装置290的空闲页面。
然而,在前一种情况下,确保存储器装置290的空闲页面的时间的确定取决于主机10,并且从主机10接收生成的命令CMD的过程增加了实现的复杂性。在后一种情况下,如果确保存储器装置290的空闲页面的时间的确定仅取决于执行垃圾收集的时间,那么难以通过反映存储装置20的操作状态来快速有效地确保空闲页面。
为了改善这种情况,在各种实施例中主机10给存储装置20提供了过期时间信息TIME INFO,该过期时间信息定义了记录在存储器装置290中的数据过期的时间。然后,存储装置20通过基于从主机10接收到的过期时间信息TIME INFO以适当的擦除时间对存储器装置290执行擦除数据操作,来确保空闲页面。
具体地,主机10还包括过期时间信息生成模块110。当主机10将数据DATA与写入命令CMD一起发送到存储装置20时,过期时间信息生成模块110生成过期时间信息TIME INFO,其定义了数据DATA有效的时间段。
在一些实施例中,过期时间信息TIME INFO可以表示为表明数据DATA过期的时间的绝对值。在其他实施例中,过期时间信息TIME INFO可以表示为表明从特定时间(例如,当前时间)到过期时间的持续时间的相对值。然而,这些仅仅是示例并且本公开不限于此。过期时间信息TIME INFO可以根据半导体系统1的具体实施方式而以任何方式表示。
此外,过期时间信息生成模块110可以生成应用了过期时间信息TIME INFO的数据DATA的范围RANGE。范围RANGE用于给存储装置20提供这样的信息,该信息表明相同的过期时间信息TIME INFO被应用于n个扇区(其中n是自然数),每个扇区具有例如512个字节的数据。
存储装置20可以基于从主机10接收的过期时间信息TIME INFO和/或范围RANGE对存储器装置290执行擦除数据操作。为此,可以使用实时操作系统(RTOS)24。现在将参考图2来描述这一点。
图2是示出根据图1的实施例的半导体系统1的操作的概念图。
参考图2,在半导体系统1中,在主机10上执行应用12。
应用12可以接收来自用户、其他软件或者其他装置的输入,并且可以向存储装置20提供命令CMD和/或数据DATA以使存储装置20可以执行操作。此外,应用12可以向存储装置20提供上面参考图1描述的过期时间信息TIME INFO和/或范围RANGE。
闪存转换层(FTL)22执行逻辑块映射。例如,FTL 22可以通过使用将主机10的逻辑块地址(LBA)转换成存储器装置290的物理块地址(PBA)的转换表对存储器装置290执行例如读取操作、写入操作和擦除操作的数据操作,来处理从主机10接收的命令CMD和数据DATA。FTL 22还可以在存储控制器200的处理器210的控制下对存储器装置290执行垃圾收集。
RTOS 24由存储控制器200的处理器210执行。RTOS 24包括调度器25,调度器25执行调度以便在预定时间内处理各种任务。具体地,调度器25执行调度以将具有例如就绪、运行和阻塞的状态的任务在关键部分中所花费的时间最小化。
特别地,在当前的实施例中,RTOS 24可以控制闪存控制器240以及使用调度器25对存储器装置290执行数据操作。具体地,RTOS 24可以从主机10接收过期时间信息TIMEINFO和/或范围RANGE,并且基于过期时间信息TIME INFO和/或范围RANGE使用调度器25处理至少一个数据操作。
也就是说,存储控制器200可以通过FTL 22对存储器装置290执行数据操作,或者使用RTOS 24的调度器25对存储器装置290执行数据操作。因此,可以通过更快地反映存储装置20的操作状态来管理存储器装置290。
特别地,由于根据RTOS 24的独立调度而不是仅依赖FTL 22来对存储器装置290执行擦除数据操作,因此可以更快地确保空闲页面并且减少由于垃圾收集造成的开销。
为了便于描述,下面将主要描述擦除数据操作,但是实施例的范围不限于这种情况。也就是说,对本领域技术人员显而易见的是,根据各种实施例的RTOS 24可以通过使用调度器25来执行不仅包括擦除操作而且包括写入操作、编程操作和读取操作的各种数据操作。
图3是示出半导体装置的实施例的操作的概念图。
参考图3,存储装置20(其是根据本实施例的半导体装置)包括RTOS 24,RTOS 24从主机10接收过期时间信息TIME INFO和/或范围RANGE,并且基于过期时间信息TIME INFO和/或范围RANGE使用调度器25处理至少一个数据操作,如上参考图2所述。
在当前的实施例中,调度器25可以执行清理任务(在下文中,称为第一类型任务26)。第一类型任务26用于处理数据操作,该数据操作通过RTOS 24实时处理。
也就是说,调度器25可以通过使用第一类型任务26实时地处理至少一个数据操作。具体地,RTOS 24可以基于过期时间信息TIME INFO识别存储器装置290中存储的数据当中的过期数据,并且对过期数据实时地执行擦除数据操作。
因此,由于根据RTOS 24而不是仅依赖FTL 22来对存储器装置290实时执行擦除数据操作,因此可以更快地确保空闲页面并减少由于垃圾收集造成的开销。
图4是示出半导体装置的实施例的操作的概念图。
参考图4,与图3不同的是,存储装置20的调度器25(其是根据实施例的半导体装置)可以执行后台任务(在下文中,称为第二类型任务27)。第二类型任务27用于在后台处理数据操作,该数据操作由RTOS 24处理。
也就是说,调度器25可以通过使用第二类型任务27在后台处理至少一个数据操作。具体地,RTOS 24可以基于过期时间信息TIME INFO识别存储器装置290中存储的数据当中的过期数据,并在后台对过期数据执行擦除数据操作。
因此,由于根据RTOS 24而不是仅依赖FTL 22来对存储器装置290不仅实时而且后台地执行擦除数据操作,因此可以更快地确保空闲页面并且减少由于垃圾收集造成的开销。
图5是半导体装置的存储器装置的示例实施例的框图。
参考图5,存储装置20(其是根据实施例的半导体装置)可以在存储器装置290的一些区域中存储从主机10接收到的过期时间信息TIME INFO和/或范围RANGE。
在当前实施例中,存储器装置290包括逻辑上彼此分离的多个块BLK0到BLK3。尽管为了便于描述在图5中示出了四个块,但是实施例的范围并不仅限于此情况。擦除数据操作可以逐块执行。
块BLK0包括存储器单元或元件的多个页面PG0到PGn(其中n是自然数)。写入操作和读取操作可以逐页执行。
过期时间信息TIME INFO和/或范围RANGE、或者与过期时间信息TIME INFO和/或范围RANGE相关联的过期时间数据可以存储在与存储器装置290中的一些页面相对应的过期时间信息存储页面2902和2903中,直到关于与过期时间信息TIME INFO相关联的数据或者对应于范围RANGE的数据的数据操作完成。
存储在过期时间信息存储页面2902和2903中的过期时间信息TIME INFO和/或范围RANGE、或者与过期时间信息TIME INFO和/或范围RANGE关联的过期时间数据可以由RTOS24用于识别存储在存储器装置290中的数据中的过期数据。
图6是存储器装置的实施例的框图。
参考图6,存储装置20(其是根据实施例的半导体装置)可以在存储器装置290的一些区域中存储从主机10接收到的过期时间信息TIME INFO和/或范围RANGE。
过期时间信息TIME INFO和/或范围RANGE可以存储在存储器装置290的一些页面的备用区域2904和2905中,直到关于与过期时间信息TIME INFO相关联的数据或者对应于范围RANGE的数据的数据操作完成。
存储在备用区域2904和2905中的过期时间信息TIME INFO和/或范围RANGE可以由RTOS 24用于识别存储在存储器装置290中的过期数据。
图7是半导体系统2的实施例的框图,图8是半导体装置的存储器装置的实施例的框图。
参考图7,半导体系统2可以包括:主机10,其包括过期时间信息生成模块110;以及存储装置20,RTOS 24在存储装置20中操作,如上参考图1所述。
在当前的实施例中,存储装置20的存储控制器200还可以包括数据模块250。
数据模块250管理存储器装置290中的将要存储给定过期时间信息TIME INFO和/或范围RANGE的数据(在下文中,称为与过期时间信息TIME INFO和/或范围RANGE相关联的数据)的位置。
同样参考图8,在当前的实施例中,存储器装置290包括第一区域(区域0)292和与第一区域292分开的第二区域(区域1)294。
数据模块250可以通过在第二区域294中采集和存储与过期时间信息TIME INFO和/或范围RANGE关联的数据、并将其他数据存储到第一区域292中,来管理存储器装置290中的存储位置。
也就是说,数据模块250可以在存储器装置290的块BLK2和BLK3中存储与过期时间信息TIME INFO和/或范围RANGE关联的数据,并且在存储器装置290的块BLK0和BLK1中存储其他数据,从而争取提高例如逐块执行的擦除操作的效率。
特别值得注意的是,数据模块250将存储在多个块中并且与过期时间信息TIMEINFO和/或范围RANGE关联的所有数据移动到例如块BLK2中,以便可以快速地执行逐块执行的擦除操作。
图9是半导体装置的存储器装置290的实施例的框图。
参考图9,在当前实施例中,存储器装置290包括第一区域292和与第一区域292分开的第二区域294。第二区域294可以包括第一分区P0和与第一分区P0分开的第二分区P1。
数据模块250可以通过在第二区域294的第一分区P0中收集和存储与第一过期时间信息TIME INFO相关联的数据(例如,第一数据)、在第二分区P1中收集和存储与第二过期时间信息TIME INFO相关联的数据(例如,第二数据)、并且将其他数据存储在第一区域292中,来管理存储器装置290中的存储位置。
也就是说,数据模块250可以在存储器装置290的块BLK20和BLK30中存储与第一过期时间信息TIME INFO相关联的数据、在存储器装置290的块BLK21和BLK31中存储与第二过期时间信息TIME INFO相关联的数据并且将其他数据存储在存储器装置290的块BLK0和BLK1中,从而争取提高例如逐块执行的擦除操作的效率。
特别值得注意的是,数据模块250将存储在多个块中并且与第一过期时间信息TIME INFO和第二过期时间信息TIME INFO相关联的所有数据分别移动到例如块BLK20、BLK30和块BLK21、BLK31中,以便可以快速地执行逐块执行的擦除操作。
图10是半导体系统3的实施例的框图,并且图11是示出半导体装置的实施例的操作的概念图。
参考图10,半导体系统3可以包括:主机10,其包括过期时间信息生成模块110;和存储装置20,RTOS 24在存储装置20中操作,如上参考图1所述。
在当前的实施例中,RTOS 24可以从主机10接收初始时间信息INITIAL TIME来执行时间同步。这里,初始时间信息INITIAL TIME可以包括例如主机10的当前时间信息。
RTOS 24可以通过使用从主机10接收到的初始时间信息INITIAL TIME来确定对与过期时间信息TIME INFO和/或范围RANGE相关联的数据执行数据操作的时间。
在一些实施例中,主机10和存储装置20之间的这种时间同步可以在存储装置20正在初始化时执行,或者可以在存储装置20的操作期间的任何时候执行。
同样参考图11,存储装置20(其是根据实施例的半导体装置)包括RTOS 24,其从主机10接收初始时间信息INITIAL TIME和过期时间信息TIME INFO和/或范围RANGE,并且基于过期时间信息TIME INFO和/或范围RANGE使用调度器25处理至少一个数据操作。
RTOS 24提供可被调度器25使用以处理任务的计时器29,并且计时器29向调度器25提供时间信息,以便调度器25可以基于从主机10接收到的初始时间信息INITIAL TIME来确定执行擦除数据操作的时间。
然后,调度器25执行任务28,例如上面参考图3或图4所述的第一类型任务26或者第二类型任务27,以便可以根据与任务28的特性对应的调度执行擦除数据操作。
再参考图10,在当前的实施例中,存储装置20的存储控制器200还可以包括解密模块260。
当主机10加密初始时间信息INITIAL TIME和/或范围RANGE并且将加密的初始时间信息INITIAL TIME和/或范围RANGE提供给存储装置20时,解密模块260在时间同步过程中对加密的初始时间信息INITIAL TIME和/或范围RANGE进行解密。
然后,RTOS 24可以确定处理关于与解密的初始时间信息INITIAL TIME和/或范围RANGE相关联的数据的数据操作的时间。
图12是半导体系统4的实施例的框图。
参考图12,半导体系统4可以包括:主机10,其包括过期时间信息生成模块110;和存储装置20,RTOS 24在存储装置20中操作,如上参考图1所述。
在当前的实施例中,存储装置20的存储控制器200还可以包括抢占式模块270。根据实现方式,抢占式模块270也可以包括在RTOS24中。
抢占式模块270能够改变关于从主机10接收到的与初始时间信息INITIAL TIME和/或范围RANGE相关联的数据的数据操作的处理优先级。
例如,当有多个写入数据操作要连续处理并且有对应于下一优先级的读取数据操作时,抢占式模块270可以在写入数据操作之前对计划要执行擦除数据操作的数据执行读取数据操作。
这样,抢占式模块270能够保证对来自主机10的请求的响应。
根据目前为止所述的各种实施例,主机10向存储装置20提供定义了写入存储器装置290的数据过期的时间的过期时间信息TIME INFO,并且存储装置20通过基于从主机10接收到的过期时间信息TIME INFO在适当的时间对存储器装置290执行擦除数据操作,来确保空闲页面。因此,可以通过反映存储装置20的操作状态来快速有效地确保空闲页面,并减少垃圾收集的开销。
上述方法的各种操作可以通过能够执行所述操作的任何合适的手段来执行,例如各种硬件和/或软件组件、电路和/或模块。
软件可以包括用于实现逻辑功能的可执行命令的有序列表,并且可以实施在任何“处理器可读介质”中,供命令执行系统、设备或者装置(例如单核或多核处理器或者包含处理器的系统)使用或与其结合使用。
结合本文中公开的实施例而描述的方法或算法的一些模块或步骤、以及功能可以直接实施在硬件、由处理器执行的软件模块、或者这两者的结合中。如果在软件中实施,这些功能可以作为一个或多个命令或代码存储在有形的、非暂时性计算机可读介质上或者通过其传输。软件模块可以存在于随机存取存储器(RAM)、闪速存储器、只读存储器(ROM)、电可编程ROM(EPROM)、电可擦可编程ROM(EEPROM)、寄存器、硬盘、移动硬盘、光盘ROM或者任何其他已知的合适形式的存储介质中。
在结束具体实施方式时,本领域技术人员将理解,在基本上不脱离本发明的原理的情况下,可以对优选的实施例进行许多变化和修改。因此,所公开的本发明的优选实施例仅是在一般性和描述性的意义上使用,而不是为了限制的目的。
Claims (20)
1.一种半导体装置,包括:
存储器装置;以及
存储控制器,包括:
闪存控制器,其被配置为对所述存储器装置执行数据操作,以及
处理器,其被配置为执行用于控制所述闪存控制器的实时操作系统,
其中所述实时操作系统被配置为从主机接收数据的过期时间信息,并且基于所述过期时间信息,使用调度器控制所述闪存控制器执行所述数据操作中的至少一个。
2.根据权利要求1所述的半导体装置,其中所述实时操作系统被配置为从所述主机接收应用了所述过期时间信息的数据的范围、以及所述过期时间信息,并且基于所述过期时间信息和所述范围来处理所述数据操作中的至少一个。
3.根据权利要求1所述的半导体装置,其中所述过期时间信息存储在所述存储器装置中,直到完成与所述过期时间信息相关联的数据操作。
4.根据权利要求3所述的半导体装置,其中所述存储器装置将所述过期时间信息存储在页面的备用区域中。
5.根据权利要求1所述的半导体装置,其中所述调度器被配置为通过使用第一类型任务来实时地处理所述数据操作中的至少一个。
6.根据权利要求1所述的半导体装置,其中所述调度器被配置为通过使用第二类型任务来在后台处理所述数据操作中的至少一个。
7.根据权利要求1所述的半导体装置,其中所述存储控制器还包括:数据模块,其被配置为管理所述存储器装置中的要存储与所述过期时间信息相关联的数据的位置。
8.根据权利要求7所述的半导体装置,其中所述存储器装置包括第一区域和与所述第一区域分开的第二区域,并且所述数据模块被配置为在所述第二区域中存储与所述过期时间信息相关联的数据。
9.根据权利要求8所述的半导体装置,其中所述过期时间信息包括第一过期时间信息和第二过期时间信息,并且所述第二区域包括第一分区和与所述第一分区分开的第二分区,其中所述数据模块被配置为在所述第一分区中存储与所述第一过期时间信息相关联的第一数据,以及在所述第二分区中存储与所述第二过期时间信息相关联的第二数据。
10.一种半导体装置,包括:
存储器装置,其包括存储与从主机接收的过期时间信息相关联的数据的区域;以及
存储控制器,其包括:
闪存控制器,其被配置为对所述存储器装置执行数据操作,以及
处理器,其被配置为执行用于控制所述闪存控制器的实时操作系统,
其中所述实时操作系统被配置为基于所述过期时间信息识别存储在所述区域中的数据当中的过期数据,并且对所述过期数据执行至少一个数据操作。
11.根据权利要求10所述的半导体装置,其中所述过期时间信息包括:第一过期时间信息和第二过期时间信息,并且所述区域包括第一分区和与所述第一分区分开的第二分区,其中与所述第一过期时间信息相关联的第一数据存储在所述第一分区中,并且与所述第二过期时间信息相关联的第二数据存储在所述第二分区中。
12.根据权利要求10所述的半导体装置,其中所述实时操作系统被配置为从所述主机接收应用了所述过期时间信息的数据的范围、以及所述过期时间信息,并且被配置为基于所述过期时间信息和所述范围处理所述数据操作中的至少一个。
13.根据权利要求10所述的半导体装置,其中所述实时操作系统被配置为对所述过期数据实时地执行数据操作。
14.根据权利要求10所述的半导体装置,其中所述实时操作系统被配置为在后台对所述过期数据执行的数据操作。
15.一种半导体装置,包括:
存储器装置,其包括:第一区域和与所述第一区域分来的第二区域;以及
存储控制器,其包括:
闪存控制器,其被配置为对所述存储器装置执行数据操作,处理器,其被配置为执行被配置为控制所述闪存控制器的实时操作系统,以及
数据模块,其被配置为管理所述存储器装置中的要存储与过期时间信息相关联的数据的位置,
其中所述实时操作系统被配置为从主机接收所述数据的过期时间信息以及应用了所述过期时间信息的范围,其中所述数据模块被配置为将与应用了所述过期时间信息的所述范围相对应的数据从所述第一区域移动到所述第二区域,并且其中所述实时操作系统被配置为识别存储在所述第二区域中的数据当中的过期数据,并且对所述过期数据执行所述数据操作中的至少一个。
16.根据权利要求15所述的半导体装置,其中所述过期时间信息包括第一过期时间信息和第二过期时间信息,并且所述第二区域包括第一分区和与所述第一分区分开的第二分区,其中与所述第一过期时间信息相关联的第一数据存储在所述第一分区中,并且与所述第二过期时间信息相关联的第二数据存储在所述第二分区中。
17.根据权利要求15所述的半导体装置,其中所述过期时间信息存储在所述存储器装置中,直到完成与所述过期数据相关联的数据操作。
18.根据权利要求17所述的半导体装置,其中所述存储器装置在页面的备用区域存储所述过期时间信息。
19.根据权利要求15所述的半导体装置,其中所述实时操作系统被配置为对所述过期数据实时地执行数据操作。
20.根据权利要求15所述的半导体装置,其中所述实时操作系统被配置为在后台对所述过期数据执行数据操作。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170166817A KR102474596B1 (ko) | 2017-12-06 | 2017-12-06 | 반도체 장치 |
KR10-2017-0166817 | 2017-12-06 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109885507A true CN109885507A (zh) | 2019-06-14 |
Family
ID=66657635
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811486172.9A Pending CN109885507A (zh) | 2017-12-06 | 2018-12-06 | 半导体装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10846019B2 (zh) |
KR (1) | KR102474596B1 (zh) |
CN (1) | CN109885507A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114721602A (zh) * | 2022-06-09 | 2022-07-08 | 泉州华中科技大学智能制造研究院 | 一种基于FreeRTOS的Nor Flash滚动存储方法及装置 |
Family Cites Families (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6304948B1 (en) | 1998-10-06 | 2001-10-16 | Ricoh Corporation | Method and apparatus for erasing data after expiration |
US20030028652A1 (en) | 2001-08-01 | 2003-02-06 | Sony Corporation And Sony Electronics, Inc. | Apparatus for and method of invalidating or deleting digital content after it expires by comparing the embedded time with a global time |
US7751628B1 (en) | 2001-12-26 | 2010-07-06 | Reisman Richard R | Method and apparatus for progressively deleting media objects from storage |
US7478096B2 (en) | 2003-02-26 | 2009-01-13 | Burnside Acquisition, Llc | History preservation in a computer storage system |
US7003621B2 (en) | 2003-03-25 | 2006-02-21 | M-System Flash Disk Pioneers Ltd. | Methods of sanitizing a flash-based data storage device |
US9075851B2 (en) | 2003-12-09 | 2015-07-07 | Emc Corporation | Method and apparatus for data retention in a storage system |
US7249251B2 (en) * | 2004-01-21 | 2007-07-24 | Emc Corporation | Methods and apparatus for secure modification of a retention period for data in a storage system |
US7222213B2 (en) * | 2004-05-17 | 2007-05-22 | Micron Technology, Inc. | System and method for communicating the synchronization status of memory modules during initialization of the memory modules |
JP4560367B2 (ja) | 2004-10-05 | 2010-10-13 | 株式会社日立製作所 | ストレージネットワーク性能情報の収集・保存方法及び計算機システム並びにプログラム |
JP2006139552A (ja) | 2004-11-12 | 2006-06-01 | Hitachi Ltd | ストレージ装置及びストレージ装置のデータライフサイクル管理方法 |
JP2006215954A (ja) * | 2005-02-07 | 2006-08-17 | Hitachi Ltd | ストレージシステム及びストレージ装置のアーカイブ管理方法 |
JP4688584B2 (ja) | 2005-06-21 | 2011-05-25 | 株式会社日立製作所 | ストレージ装置 |
US7590600B2 (en) | 2006-03-28 | 2009-09-15 | Microsoft Corporation | Self-contained rights management for non-volatile memory |
DE102006015063A1 (de) | 2006-03-31 | 2007-10-04 | Siemens Ag Österreich | Verfahren zur zeitlich begrenzten Speicherung von Daten auf Speichermedien |
US8499168B2 (en) * | 2007-05-09 | 2013-07-30 | Kingston Technology Corporation | Secure and scalable solid state disk system |
JP4712023B2 (ja) | 2007-11-30 | 2011-06-29 | Sky株式会社 | 資料配布システムおよび資料配布プログラム |
US8386537B2 (en) | 2009-12-15 | 2013-02-26 | Intel Corporation | Method for trimming data on non-volatile flash media |
TWI446349B (zh) * | 2010-03-04 | 2014-07-21 | Phison Electronics Corp | 非揮發性記憶體存取方法、系統,與非揮發性記憶體控制器 |
US8539245B2 (en) * | 2010-08-06 | 2013-09-17 | Intel Corporation | Apparatus and method for accessing a secure partition in non-volatile storage by a host system enabled after the system exits a first instance of a secure mode |
US20120079289A1 (en) | 2010-09-27 | 2012-03-29 | Skymedi Corporation | Secure erase system for a solid state non-volatile memory device |
JP2011048861A (ja) | 2010-12-06 | 2011-03-10 | Nec Corp | 不揮発メモリ装置、不揮発メモリシステム、データの消去方法、プログラム及び記録媒体 |
US9519647B2 (en) * | 2012-04-17 | 2016-12-13 | Sandisk Technologies Llc | Data expiry in a non-volatile device |
JP2014044788A (ja) | 2012-08-01 | 2014-03-13 | Genusion:Kk | 不揮発性半導体記憶装置を用いた記憶媒体及び情報端末 |
US9146688B2 (en) * | 2012-12-05 | 2015-09-29 | SanDisk Technologies, Inc. | Advanced groomer for storage array |
US9483362B2 (en) * | 2013-05-08 | 2016-11-01 | Commvault Systems, Inc. | Use of auxiliary data protection software in failover operations |
KR102297541B1 (ko) * | 2014-12-18 | 2021-09-06 | 삼성전자주식회사 | 메모리 영역의 신뢰성에 기초하여 데이터를 저장하는 저장 장치 및 스토리지 시스템 |
KR101681401B1 (ko) | 2015-02-04 | 2016-11-30 | 주식회사 지큐브 | 파일 확장자에 따른 플래시 메모리의 데이터 저장 블록 배치방법 |
US10152437B2 (en) * | 2015-07-10 | 2018-12-11 | Megachips Corporation | Memory system |
JP6788188B2 (ja) * | 2016-11-11 | 2020-11-25 | 富士通株式会社 | 制御装置および制御プログラム |
US10437524B2 (en) * | 2017-10-12 | 2019-10-08 | Nxp B.V. | PUF based boot-loading for data recovery on secure flash devices |
-
2017
- 2017-12-06 KR KR1020170166817A patent/KR102474596B1/ko active IP Right Grant
-
2018
- 2018-08-06 US US16/055,196 patent/US10846019B2/en active Active
- 2018-12-06 CN CN201811486172.9A patent/CN109885507A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114721602A (zh) * | 2022-06-09 | 2022-07-08 | 泉州华中科技大学智能制造研究院 | 一种基于FreeRTOS的Nor Flash滚动存储方法及装置 |
CN114721602B (zh) * | 2022-06-09 | 2022-08-23 | 泉州华中科技大学智能制造研究院 | 一种基于FreeRTOS的Nor Flash滚动存储方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
US20190171393A1 (en) | 2019-06-06 |
US10846019B2 (en) | 2020-11-24 |
KR20190066918A (ko) | 2019-06-14 |
KR102474596B1 (ko) | 2022-12-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11669277B2 (en) | Latency-based scheduling of command processing in data storage devices | |
CN109582599B (zh) | 数据储存装置以及非挥发式存储器操作方法 | |
KR101624007B1 (ko) | 비휘발성 메모리를 갖는 시스템에 대한 효율적인 버퍼링 | |
CN105900069B (zh) | 对被存储在闪存存储器中的数据的推测性预取 | |
EP2937774A1 (en) | Storage controller, storage system and method of operating storage controller | |
CN108021510A (zh) | 操作对多重名称空间进行管理的存储装置的方法 | |
CN111078582B (zh) | 基于模式调整映射段的存储器系统及其操作方法 | |
KR102372888B1 (ko) | 저장 장치의 온도별 데이터 관리 방법 | |
CN107025185A (zh) | 数据存储装置及其操作方法 | |
CN102279712A (zh) | 一种适用于互联网存储系统的存储控制方法、系统和装置 | |
KR20180018886A (ko) | 스토리지 시스템의 동작 방법 및 호스트의 동작 방법 | |
US11392309B2 (en) | Memory system for performing migration operation and operating method thereof | |
KR102595233B1 (ko) | 데이터 처리 시스템 및 그것의 동작 방법 | |
KR102349381B1 (ko) | 데이터 저장 장치 및 그것의 동작 방법 | |
CN109408417A (zh) | 存储装置的地址映射方法和操作方法 | |
WO2018093442A1 (en) | Storage operation queue | |
TW201007736A (en) | High-speed solid state storage system having a non-volatile RAM for rapidly storing address mapping information | |
CN104408126B (zh) | 一种数据库的持久化写入方法、装置和系统 | |
CN114253461A (zh) | 混合通道存储设备 | |
CN109885507A (zh) | 半导体装置 | |
CN105183660B (zh) | 数据读取方法、存储器控制器与储存装置 | |
CN114253462A (zh) | 提供混合通道存储设备的方法 | |
CN213338708U (zh) | 一种控制部件及存储设备 | |
KR20090116505A (ko) | 불휘발성 메모리 장치를 위한 파일 시스템 및 그것을포함하는 컴퓨팅 시스템 | |
US20240143193A1 (en) | Memory system related to selectively storing data and a corresponding map, and an operating method of the memory system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20190614 |