CN106462720A - 事件锁定储存装置 - Google Patents
事件锁定储存装置 Download PDFInfo
- Publication number
- CN106462720A CN106462720A CN201580025067.3A CN201580025067A CN106462720A CN 106462720 A CN106462720 A CN 106462720A CN 201580025067 A CN201580025067 A CN 201580025067A CN 106462720 A CN106462720 A CN 106462720A
- Authority
- CN
- China
- Prior art keywords
- storage device
- file
- event
- data
- age
- 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
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/14—Protection against unauthorised use of memory or access to memory
- G06F12/1458—Protection against unauthorised use of memory or access to memory by checking the subject access rights
- G06F12/1466—Key-lock mechanism
- G06F12/1475—Key-lock mechanism in a virtual system, e.g. with translation means
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W50/00—Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
-
- 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/12—Replacement control
-
- 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/12—Replacement control
- G06F12/121—Replacement control using replacement algorithms
- G06F12/123—Replacement control using replacement algorithms with age lists, e.g. queue, most recently used [MRU] list or least recently used [LRU] list
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/78—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/78—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
- G06F21/79—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in semiconductor storage media, e.g. directly-addressable memories
-
- 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/062—Securing storage systems
- G06F3/0622—Securing storage systems in relation to access
-
- 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/1052—Security improvement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2137—Time limited access, e.g. to a computer or data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2143—Clearing memory, e.g. to prevent the data from being stolen
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Human Computer Interaction (AREA)
- Automation & Control Theory (AREA)
- Transportation (AREA)
- Mechanical Engineering (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Storage Device Security (AREA)
Abstract
公开了用于事件锁定储存装置的系统和方法。储存装置包括用户分区和事件分区(其可以与事件相关联)。储存装置从主机装置接收数据,并且将数据储存在用户分区中。响应于接收事件的指示,储存装置可以指定数据为事件分区的部分。事件分区可以包括不同于用户分区的一组访问规则,诸如比用于修改或删除包含数据的文件更加严格的规则。
Description
相关申请的交叉引用
本申请要求于2014年5月30日提交的美国申请号14/292,047的权益,其全部内容通过引用结合于此。
技术领域
本申请一般地涉及在储存装置中管理数据。更具体地,本申请涉及响应于预定的事件的发生,储存装置限制对文件的访问或者删除文件。
背景技术
储存装置可以使用文件系统储存文件。当期望保护文件不被删除时,文件系统可以将文件设置为只读或者隐藏。以此方式,文件较不容易被无意或者有意地删除。但是,在该保护方案下,文件仍可能——诸如通过改变文件系统表——而被损坏。
发明内容
公开了用于事件锁定储存装置的系统和方法。根据第一方面,公开了储存装置。储存装置包括存储器和与所述存储器通信的控制器。存储器包括用户分区和事件分区,其中用户分区具有用于控制其中文件的相关联的第一组规则,其中事件分区与事件相关联并且具有用于控制其中文件的相关联的第二组规则,并且其中所述第二组规则比所述第一组规则在至少一个方面更加严格。控制器被配置为:从主机装置接收数据;在文件中储存所述数据,所述文件与所述储存装置中的用户分区相关联;从所述主机装置接收关于数据的所述事件的发生的指示;并且响应于接收所述事件的发生的指示,将文件与所述储存装置的事件分区相关联。
根据第二方面,公开了用于储存装置的方法,该储存装置具有用户分区和事件分区的存储器。所述方法包括:从主机装置接收数据;在文件中储存所述数据,所述文件与所述储存装置中的用户分区相关联,所述储存装置使用第一组规则以用于控制在所述用户分区中的文件;从主机装置接收,关于数据的事件的发生的指示;并且响应于接收所述事件的发生的指示,将文件与所述储存装置的事件分区相关联,其中所述储存装置使用第二组规则以用于控制在所述事件分区中的文件,其中事件分区与事件相关联,并且其中第二组规则比第一组规则在至少一个方面更加严格。
根据第三方面,公开了储存装置。储存装置包括存储器和与所述存储器通信的控制器。所述控制器被配置为:从储存装置的外部的装置接收命令以进行动作;响应于接收命令,访问储存装置的年龄指示符,指示所述储存装置的至少部分的年龄的年龄指示符;并且基于访问的年龄指示符确定是否进行动作。
根据第四方面,用于储存装置以在储存装置的存储器中确定是否进行动作的方法。所述方法包括:在储存装置中:从储存装置外部的装置接收命令以进行动作;响应于接收命令,访问储存装置的年龄指示符,指示所述储存装置的至少部分的年龄的年龄指示符;并且基于访问的年龄指示符确定是否进行动作。
在浏览下述附图、详细说明以及权利要求之后,其它特征和优点将变得清晰。此外,公开了其它实施例,并且每个实施例可以被单独或者组合使用。现将参考附图描述实施例。
附图说明
参考下述附图和说明可以更好地理解所述系统。在附图中,相似的参考标号表示贯穿不同的视图的相对应的部分。
图1示出了实施例的示例主机装置、传感器装置和储存装置的框图。
图2A是图1的主机装置的扩展的框图。
图2B是图1的储存装置的扩展的框图。
图3是用于主机装置确定事件是否已经发生实施例的方法的流程图。
图4是用于储存装置处理从主机装置接收的命令的实施例的方法的流程图。
图5是用于储存装置基于储存装置的年龄指示符确定是否进行动作的实施例的方法的流程图。
图6是用于储存装置基于储存装置的当前的年龄指示符和与文件相关联的年龄指示符确定是否删除文件的实施例的方法的流程图。
图7是储存装置中的动作的框图。
具体实施方式
如上所述,储存装置可以试图通过指定文件为只读或者隐藏的而保护文件不被删除。但是,在该保护方案之下,文件仍可能被损坏。为改善文件的保护,储存装置可以响应于事件的确定而指定文件作为事件分区的部分。如在下面更加详细地讨论的,事件可以基于储存装置的外部产生的数据。当储存装置被通知事件时(通过由主机装置接收的命令或者通过由储存装置的确定),文件可以被指定为事件分区的部分。
事件分区可以包括不同于储存装置中的其它(一个或多个)分区的一组访问规则。例如,写入到指定为事件分区的部分的文件和/或指定为事件分区的部分的文件的删除仅在有限的情况下可以被禁用或可以被允许。有限的情况的示例可以包括分析储存装置的年龄(诸如,储存装置的一部分的损耗(例如,NAND储存装置的一部分的平均的编程/擦除(P/E)计数))以便于进行动作(诸如删除)。如果储存装置已经经历预定的量的年龄(诸如预定的量的损耗(例如,平均的P/E计数已经增加定义的百分比)),储存装置可以进行动作。在此方面,动作可以完全取决于储存装置的年龄来进行。以下章节提供对可以与这里讨论的实施例使用的示例主机和储存装置的讨论。当然,这些仅是示例,并且可以使用其它适合类型的主机和储存装置。
现在转向附图,图1示出了实施例的示例主机装置100、传感器装置110和储存装置120的框图。如图1中所示,主机装置100与储存装置120通信。如这里所述的,短语“与...通信”可以表示直接与...通信或者通过一个或多个组件间接地与...通信,该一个或多个组件可能在这里示出或者在这里描述或者可能不在这里示出或者在这里描述。在一个实施例中,主机装置100和储存装置120的每一个具有允许储存装置120可移除地连接到主机装置100的配套的物理连接。在替换实施例中,主机装置100和储存装置120可以无线地相互通信。类似地,主机装置100与传感器装置110通信。
如图1中所示,主机装置100从传感器装置110接收传感器数据。传感器数据是主机装置100可以接收涉及关于装置的状态、身份或标记的输入的数据的类型的一个示例。在一个实施例中,状态、身份或标记可以涉及除了主机装置100以外的装置(诸如关于涉及车辆的状态、身份或标记的输入)。在替换实施例中,关于状态、身份或标记的输入可以涉及主机装置100。
在一个实施例中,传感器数据可以包括由传感器装置110产生的数据。例如,相机(诸如摄像机)可以产生发送到主机装置100的视频数据。作为另一示例,速度传感器可以产生发送到主机装置100的速度数据。在替换实施例中,传感器数据可以从由传感器装置产生的数据得到。例如,主机装置100可以与高级驱动器辅助系统(ADAS)通信。ADAS可以包括一个或多个传感器——诸如接近度传感器,可以分析一个或多个传感器的输出,并且基于分析向主机装置100发送警告(诸如车道偏离警告)。
主机装置100可以包括事件确定功能105。如在下面更加详细地讨论的,事件确定功能105——其可以采取几种形式的一种——可以被配置为确定事件是否已经发生,并且命令储存装置120指示事件已经发生(例如,事件已经在之前发送到储存装置以用于储存的传感器数据120中发生或者在还未被发送到储存装置120以用于储存的之后的传感器数据中发生)。在一个实施例中,主机装置100的事件确定功能105可以分析传感器数据以便于确定预定的事件是否已经发生。例如,如果传感器数据包括车辆速度,主机装置100的事件确定功能105可以分析车辆速度数据以确定车辆速度数据是否指示大于预定的速度的速度。响应于确定车辆速度数据大于预定的速度,主机装置100可以确定事件已经发生,并且可以将命令发送到储存装置120,如在下面更加详细地讨论的。命令可以指示储存装置指定事件分区中的现存的文件(或者现存的文件的一部分),经受特定的保护。主机装置100可以周期性地或者当收到新的传感器数据时使用事件确定功能105。例如,事件确定功能105可以在每次接收新的传感器数据时分析传感器数据。如果事件确定功能105确定事件没有发生,主机装置100可以将新的传感器数据发送到储存装置120以用于储存在指定为用户分区的部分的文件中。当接收到之后的传感器数据(即,在之前发送到储存装置的传感器数据之后产生的传感器数据)时,事件确定功能105可以分析之后的传感器数据以确定事件是否已经发生。响应于事件确定功能105确定事件已经在之后的传感器数据中发生,主机装置120可以命令储存装置指定文件作为事件分区的部分。在一个实施例中,将文件指定为事件分区的部分可以在之后的数据被发送到储存装置以用于在文件中储存之后做出。在替换实施例中,包括事件的发生的通知的命令还可以包括之后的传感器数据。在此方面,在一个实施例中,之后的传感器数据可以在将文件指定为事件分区的部分之前储存在文件中。在替换实施例中,之后的传感器数据在将文件指定为事件分区的部分之后储存在文件中。
可替换地,命令可以向储存装置指示连同命令发送的数据(诸如在命令的有效负载中或者在与命令相关联的通信中)储存在事件分区中。作为另一示例,主机装置100可以分析车辆的离心力以确定离心力是否超过预定的量。响应于确定离心力超过预定的量(例如,不稳定地驾驶汽车或者与另外的车辆碰撞),主机装置100可以命令储存装置120以创建事件的单独的记录或文件。
在替换实施例中,主机装置100的事件确定功能105可以分析,独立于传感器数据,以确定预定的事件是否已经发生。例如,事件确定功能105可以被编程为在预定的时间处——诸如每天下午12:00——确定事件已经发生。作为另一示例,主机装置100的事件确定功能105可以接收除了来自传感器装置110以外的指示事件已经发生的输入。更具体地,输入可以经由主机装置100上的键盘等手动输入。可替换地,输入可以来自独立于与主机装置100通信的传感器装置110(诸如控制服务器)的装置(未示出)。
可替换地,事件确定功能105可以位于除了主机装置100以外的装置中。例如,事件确定功能105可以位于储存装置120中。在此方面,储存装置120,实现事件确定功能105,可以确定事件是否已经发生,并且响应于确定,指定文件作为事件分区的部分。例如,储存装置120可以(直接从传感器装置120或者经由主机装置100)接收传感器数据,并且作出确定。
主机装置100可以采用任何合适的形式——诸如,但不限于,移动电话、数字媒体播放器、游戏装置、个人数字助理(PDA)、个人计算机(PC)、电话亭、机顶盒、TV系统、书籍阅读器或其任何组合。储存装置120可以采用任何合适的形式——诸如,但不限于,消费、固态储存装置——诸如安全数字(SD)存储器卡、微SD存储器卡、紧凑型闪速(CF)存储器卡或者通用串行总线(USB)装置。在一个实施例中,储存装置120采取由SanDisk公司的iNANDTMeSD/eMMC嵌入式闪速驱动的形式。可替换地,被配置为作为内部或者嵌入的SSD驱动使用的储存装置可以与图1中示出的看上去类似,其中主要的差异在于储存装置120的位置在主机装置100的内部。SSD驱动可以是作为用于旋转磁盘驱动的插入替换的离散模块的形式。
构思了多种传感器装置。例如,相机可以被用作一种类型的传感器装置,产生视频数据以发送到主机装置100。作为另一示例,传感器数据可以经由控制器区域网络(CAN)总线通信到主机装置。主机装置可以包括车辆的控制系统——诸如车辆的头部单元,或者可以包括独立于车辆控制系统的计算机。CAN总线还可以与车辆中的各种传感器通信。更具体地,CAN总线可以发送关于车辆的操作的数据,包括但不限于:巡航控制的操作;电子制动器系统的操作(包括制动器是否在操作以及制动器如何操作(例如,防锁定制动器系统是否被激活);电子电路的操作(例如,转向机制的操作、加速器踏板的操作、车头灯的操作(包括车头灯是否被开启以及车头灯是否是远光灯));安全气囊系统的操作;等。在此方面,CAN总线可以将传感器数据通信到主机装置。响应于传感器数据的接收,主机装置可以确定事件是否已经发生,如在下面更加详细地讨论的。例如,电子电路可以经由CAN总线向主机装置100发送已经部署安全气囊的指示。作为响应,主机装置的事件确定功能105可以确定事件已经发生并且相应地命令储存装置120。
作为另一示例,主机装置可以与高级驱动器辅助系统(ADAS)通信。ADAS可以包括一个或多个传感器,其被配置为确定以下的一个或多个:车道偏离报警、通过周围相机、后部相机等的交通拥堵报警。响应于从ADAS接收数据,主机装置的事件确定功能105可以确定事件是否已经发生,如在下面更加详细地讨论的。
图2A是图1的主机装置100的扩展的框图。主机装置100包括具有用于与储存装置120接口的储存装置接口225的控制器200。控制器200还包括中央处理单元(CPU)205、随机存取存储器(RAM)210、只读存储器(ROM)215和储存器230。ROM 215或储存器230可以储存用于由CPU 205执行的指令。指令可以以一个或多个形式——诸如固件等。由CPU 205的指令的执行可以被用于实现归因于主机装置100的方法,在下面更加详细地讨论。
储存装置120和主机装置100经由储存装置接口225和主机装置接口255相互通信。主机装置100还可以包括传感器接口220,其可以被配置为与传感器装置110通信。如上所讨论的,传感器接口220可以被配置为经由有线或者无线通信。主机装置100可以包含其它组件(例如,视频和/或音频传感器、网络连接器、显示装置、扬声器、耳机插孔、视频输出连接等),其为了简化附图而未在图2A中示出。
图2B是图1的储存装置120的扩展的框图。储存装置120包括控制器250和存储器280。控制器250包括用于与存储器280接口的存储器接口275以及用于与主机装置100接口的主机装置接口255。控制器250还包括中央处理单元(CPU)260、随机存取存储器(RAM)265和只读存储器(ROM)270,其中该只读存储器(ROM)270可以储存用于储存装置120的基本操作的固件。控制器250可以以任何合适的方式实现。例如,控制器250可以采取微处理器或处理器以及储存计算机-可读程序代码(例如,软件或固件)的计算机可读介质的形式,该计算机-可读程序代码(例如,软件或固件)例如可由(微)处理器、逻辑栅极、开关、专用集成电路(ASIC)、可编程逻辑控制器以及嵌入式微控制器执行。控制器250可以被用于实现归因于储存装置120的方法,在下面更加详细地讨论。
存储器280可以包括半导体存储器装置。半导体存储器装置包括易失性存储器装置——诸如动态随机存取存储器(“DRAM”)或静态随机存取存储器(“SRAM”)装置,非易失性存储器装置——诸如电阻式随机存取存储器(“ReRAM”)、电可擦除可编程只读存储器(“EEPROM”)、闪速存储器(也可以被认为是EEPROM的子集)、铁电的随机存取存储器(“FRAM”)以及磁阻的随机存取存储器(“MRAM”),以及其它能够贮存信息的半导体元件。每种类型的存储器装置可以具有不同的配置。例如,闪速存储器装置可以配置在NAND或NOR配置中。
存储器装置可以以任何组合由无源和/或有源元件构成。以非限制性示例的方式,无源半导体存储器元件包括ReRAM装置元件,其在一些实施例中包括电阻率切换贮存元件——诸如反熔丝、变相材料等,以及可选地控制元件——诸如二极管等。进一步以非限制性示例的方式,有源半导体存储器元件包括EEPROM和闪速存储器装置元件,其在一些实施例中包括包含电荷贮存区域的元件——诸如浮置栅极、传导的纳米粒子或电荷贮存电介质材料。
多个存储器元件可以被配置为使得它们串联连接或者使得每个元件可被独立地访问。以非限制性示例的方式,在NAND配置(NAND存储器)中的闪速存储器装置通常包含串联连接的存储器元件。NAND存储器阵列可以被配置为使得阵列由多个存储器串构成,其中串由共享单个位线并作为一组存取的多个存储器元件构成。可替换地,存储器元件可以被配置为使得每个元件可被独立地访问,例如NOR存储器阵列。NAND和NOR存储器配置是示例性的,并且可以以其它方式配置存储器元件。
位于衬底中和/或衬底上的半导体存储器元件可以被布置为二维或者三维,诸如二维存储器结构或三维存储器结构。
在二维存储器结构中,半导体存储器元件被布置在单个平面或者单个存储器装置级中。典型地,在二维存储器结构中,存储器元件被布置在基本上平行于支撑存储器元件的衬底的主表面地延伸的平面中(例如,在x-z方向平面中)。衬底可以是在其上或其中形成存储器元件的层的晶片,或者它可以是在存储器元件形成之后附接到存储器元件的载体衬底。作为非限制性示例,衬底可以包括诸如硅的半导体。
存储器元件可以布置在有序的阵列中的单个存储器装置级中——诸如在多个行和/或列中。但是,存储器元件在不规则或者非正交的配置中形成阵列。存储器元件的每一个具有两个或多个电极或接触线——诸如位线和字线。
三维存储器阵列被布置为使得存储器元件占据多个平面或多个存储器装置级,从而在三维中(即,在x、y和z方向中,其中y方向基本上垂直于衬底的主表面,并且x和z方向基本上平行于衬底的主表面)形成结构。
作为非限制性示例,三维存储器结构可以被垂直地布置为多个二维存储器装置级的堆叠。作为另一非限制性示例,三维存储器阵列可以被布置为多个垂直的列(例如,基本上垂直于衬底的主表面、即在y方向中延伸的列),其中每个列在每个列中具有多个存储器元件。列可以布置在二维配置中,例如,在x-z平面中,产生具有在多个垂直地堆叠的存储器平面上的元件的存储器元件的三维布置。存储器元件在三维中的其它配置也可以组成三维存储器阵列。
以非限制性示例的方式,在三维NAND存储器阵列中,存储器元件可以耦接在一起以在单个水平的(例如,x-z)存储器装置级中形成NAND串。可替换地,存储器元件可以耦接在一起以形成横穿多个水平的存储器装置级的垂直的NAND串。可以设想其它三维配置,其中一些NAND串在单个存储器级中包含存储器元件,而其它串在跨过多个存储器级的存储器元件。三维存储器阵列也可以设计在NOR配置中和在ReRAM配置中。
通常,在单片三维存储器阵列中,一个或多个存储器装置级形成在单个衬底上。可选地,单片三维存储器阵列也可以具有至少部分在单个衬底中的一个或多个存储器层。作为非限制性示例,衬底可以包括诸如硅的半导体。在单片三维阵列中,组成阵列的存储器装置级的层通常形成在阵列的在下面的存储器装置级的层上。但是,单片三维存储器阵列的相邻存储器装置级的层可以被共享或者具有在存储器装置级之间相互介入的层。
其次,二维阵列可以单独地形成并且然后封装在一起以形成具有存储器的多个层的非单片存储器装置。例如,非单片堆叠的存储器可以由在单独的衬底上形成存储器级并且然后在彼此上堆叠存储器级来构造。可以在堆叠之前将衬底减薄或者从存储器装置级移除,但是由于存储器装置级初始形成在单独的衬底之上,所产生的存储器阵列不是单片三维存储器阵列。此外,多个二维存储器阵列或三维存储器阵列(单片或非单片)可以形成在单独的芯片上并且然后封装在一起以形成叠层芯片存储器装置。
存储器元件的操作以及与存储器元件的通信通常需要相关联的电路。作为非限制性示例,存储器装置可以具有用于控制和驱动存储器元件以实现诸如编程和读取的功能的电路。该相关联的电路可以在与存储器元件相同的衬底上和/或在单独的衬底上。例如,用于存储器读取-写入操作的控制器可以位于单独的控制器芯片上和/或在与存储器元件相同的衬底上。
本领域技术人员应认识到本发明不限于所述的二维和三维示例性结构但是覆盖本发明在这里所述的以及由本领域技术人员理解的精神和范围中的所有相关的存储器结构。
存储器280可以包括单个分区或多个分区。在一个特定实施例中,存储器280可以被分为多个分区,诸如两个或多个逻辑和/或物理分区。存储器280中的分区的一个、一些或全部可以具有独立的主引导记录以及文件系统表。控制器250可以具有第一组规则以控制第一分区以及第二组规则以控制第二分区。例如,存储器280可以包括一个或多个用户分区285以及一个或多个非用户分区(诸如一个或多个事件分区290)。如在下面更加详细地讨论的,控制用户分区的规则不同于控制事件分区的规则(诸如,用于写入到和/或删除被指定为用户分区的部分的文件的规则可以不同于用于写入到和/或删除被指定为事件分区的部分的文件的规则)。图2B示出了单个用户分区285和单个事件分区290;但是,可以构思更少或者更多数量的分区。此外,该规则可能涉及文件何时被指定为分区的部分和/或可以涉及控制(例如,读取、写入和/或删除)指定的分区中的文件,如在下面更加详细地讨论的。
用户分区285和事件分区290可以是相同的存储器单元的不同的分区或者可以是不同的存储器单元。用户分区285可以包括由主机装置100上的文件系统管理的公共的存储器区域。例如,主机装置100可以使用安全数字(SD)规格访问用户分区285。在一个实施例中,事件分区290可以由主机装置100访问。例如,事件分区290可以具有由独立的参数文件定义的特征,该参数文件可以通过使用在SD规格中识别的现有的命令和/或通过使用供应商特定的命令而访问。类似地,现有的命令和/或扩展的功能命令可以被用于SATA、USB、CF等。访问事件分区290的扩展的功能命令的示例在下面更加详细地讨论。在替换实施例中,事件分区290不可由主机装置100访问。更具体地,事件分区290可以是“私密的”(或“隐藏的”),因为其由控制器250(而不由主机装置的控制器200)内部地管理。
(一个或多个)事件分区290在尺寸上是可配置的、支持专门的数据删除功能并且支持独特的文件转移方法。例如,控制器250可以在确定文件何时被指定为事件分区290的一部分和/或确定何时删除事件分区290中的文件的一组规则之下控制事件分区290。如在下面更加详细地讨论的,文件删除的两个示例模式包括一次性写入多次读出(WORM)和时间擦除多次读出(TERM)。此外,事件分区290可以支持使用密码锁。当然,实践中,主机装置100和储存装置120可以具有与图2A-B中示出的更少的或不同的组件。
如上所讨论的,可以确定事件。响应于事件的确定,文件可以被指定为事件分区290的部分。图3是主机装置100确定事件是否已经发生的实施例的方法的流程图300。在302处,接收到传感器数据。如上所讨论的,传感器数据可以包括由传感器产生的数据和/或已经由通过传感器产生的数据得到。在304处,传感器数据被发送到储存装置以用于储存。
在306处,确定事件是否已经发生。如上所讨论的,事件的确定可以基于传感器数据或者可以独立于传感器数据。响应于确定事件没有发生,流程图300移动回到302。在此方面,主机装置可以迭代地确定传感器数据中事件是否已经发生。更具体地,在主机装置100已经将第一组的传感器数据发送到储存装置120以用于在用户分区中的文件中储存之后,主机装置100可以确定事件是否已经在第二组的传感器数据中发生(其可以在第一组的传感器数据之后产生)。在事件已经在第二组的传感器数据发生的事件中,主机装置100可以命令事件的储存装置120,从而导致文件(其包括其中储存的第一组的传感器数据)被指定为事件分区的部分,如在下面更加详细地讨论的。
响应于确定事件已经发生,在308处,主机装置100可以产生指示已经发生储存装置120事件的命令。存在其中命令可以指示储存装置120命令涉及事件分区的多种方式。
在一个方式中,命令可以包括典型的SD命令;但是,一个或多个字段指示命令涉及事件分区。例如,用于命令的地址范围可能在有效的范围之外。一种类型的地址范围可以包括逻辑块地址(LBA)。当与储存装置120通信时,主机装置100可以发送数据的逻辑地址,诸如以LBA的范围的形式。储存装置可以然后在一个或多个步骤中将LBA转换为存储器280上的实际的物理地址。通常,控制器250进行逻辑地址-到-实际的物理地址转换以便于映射到实际的物理地址。例如,来自主机装置100的LBA可以被映射到存储器系统内部逻辑地址,并且存储器系统内部逻辑地址被映射到实际的物理地址。作为另一示例,来自主机装置100的LBA可以被直接映射到实际的物理地址。在映射到实际的物理地址的范围之外的LBA的事件中,替代于储存装置120的控制器250拒绝命令,控制器可以核查其它字段——诸如有效负载——以便于处理命令,如在下面更加详细地讨论的。在310处,主机装置100可以将命令发送到储存装置120。
作为另一示例,命令可以包括在地址的可接受的范围中的LBA地址,并且另一字段(诸如有效负载)可以涉及事件分区。更具体地,有效负载可以包括指示命令(或者之后发送的命令)涉及事件分区的签名(诸如16 32-字节预定的序列)。
图4是用于储存装置处理从主机装置接收的命令的实施例的方法的流程图400。在402处,储存装置接收命令。在404处,储存装置确定命令是否在有效的范围之外。如上所讨论的,包括在有效的范围之外的LBA可以向储存装置指示命令涉及事件分区。
响应于确定LBA在有效的范围中,在414处,命令可以在常规通信规格(诸如SD规格)之下处理。响应于确定LBA在有效的范围之外,在406处,确定签名是否出现在有效负载中。如上所讨论的,命令的不同的字段可以被用于处理命令。例如,主机装置可以包括命令的有效负载中的签名(诸如16 32-字节预定的序列)。储存装置可以核查有效负载以确定是否出现签名。如果确定的是没出现签名,在408处,命令被拒绝。
如果确定的是出现签名,在410处,有效负载被检验以查找命令。在412处,储存装置可以然后进行在有效负载中的命令。命令可以包括事件的指定、读取事件分区中的文件、写入到事件分区中的文件和/或删除事件分区中的文件。构思了其它命令。
例如,有效负载可以指示事件已经发生。如上所讨论的,一个或多个事件可以通过主机装置或者通过另外的装置确定。在主机装置确定事件的事件中,主机装置可以包括命令中的事件的指示。在一个实施例中,主机装置确定单个事件是否已经发生。如果事件已经发生,主机装置包括命令中的事件的指示以及与事件相关联的文件的描述(诸如用于文件的LBA范围)。作为响应,储存装置可以通过指示文件作为事件分区的部分处理命令。
在一个实施例中,储存装置可以指定文件的LBA范围作为事件分区的部分(例如,之前被指定作为用户分区的部分的LBA范围然后被指定或者标记为事件分区的部分)。在另一实施例中,可以减少用户分区的LBA范围,并且可以增加事件分区的LBA范围。在此方面,储存装置可以更新事件区域文件系统表以反映作为事件分区的一部分的LBA范围的改变。在更加具体的实施例中,储存装置可以在指定作为事件分区的一部分的更加连续的LBA范围之前整合更加连续的LBA范围中的文件。为了维持指定到事件分区和用户分区的空间的量的平衡,储存装置可以解除指定事件分区中未使用以变为用户分区空间的空间的类似的(或者相同的)量。在此方面,可以维持分配到事件和用户分区的空间之间的平衡。在替换实施例中,储存装置可以之前指定存储器280中的定义的区作为事件分区。响应于接收命令,储存装置可以然后将文件移动到之前被指定为事件分区的存储器的部分。
在替换实施例中,事件可以从多个潜在事件中选择。响应于储存装置接收命令,储存装置可以确定来自多个事件的哪个特定的事件在命令中指示。作为响应,储存装置可以通过指示文件作为与特定事件相关联的事件分区的部分而处理命令。例如,在监控用于事件的车辆的上下文中,潜在事件可以包括:(1)(一个或多个)非紧急事件;或(2)(一个或多个)紧急事件。非紧急事件可以包括,例如,流逝预定的时间段(诸如指示当前时间为下午5:00)。紧急事件可以包括,例如,车辆中部署的安全气囊。响应于主机装置确定事件已经发生,主机装置可以发送在命令的有效负载中的事件的指示。在预定的时间段流逝的示例中,主机装置可以在命令中包括“日_结束”,向储存装置指示事件是营业日的结束。在部署安全气囊的示例中,主机装置可以在命令中包括“意外”指示,向储存装置指示车辆已经在意外中。响应于储存装置确定命令包括“日_结束”指示,储存装置可以指定在命令中指示的文件作为“日_结束”分区的部分。类似地,响应于储存装置确定命令包括“意外”的指示,储存装置可以指定在命令中指示的文件作为“意外”分区的部分,其独立于“日_结束”分区。
作为另一示例,有效负载可以指示主机装置寻求读取被指定为事件分区的部分的文件。如上所讨论的,主机装置寻求从事件分区读取文件的指示可以包含在命令的有效负载中。例如,有效负载可以包括事件的指定的指示,并且还可以包括将被指定为事件分区的部分的文件(诸如文件的名称)的指示。响应于接收命令,储存装置可以处理命令。在读取命令的实例中,储存装置可以可选地首先确定事件分区中的文件的读取是否被允许。如果是的话,储存装置还可以可选地可以文件是否密码锁定。如果是的话,储存装置可以核查正确的密码是否包含在命令中,诸如在有效负载中。在主机装置被允许从事件分区读取文件的事件中,储存装置将文件发送到主机装置。
作为另一示例,有效负载可能指示主机装置寻求写入到被指定为事件分区的一部分的文件。响应于接收写入命令,在一个实施例中,储存装置可以首先确定写入到被指定为事件分区的部分的文件是否被允许。响应于确定写入到被指定为事件分区的部分的文件被禁用,储存装置可以拒绝命令或者可以将数据写入到另一文件(并且基于文件的原始名称命名另一个文件)。例如,如果被指定为事件分区的一部分的文件的名称是“意外_六月_15_2014”并且如果命令请求覆盖文件的部分或全部(例如,指定包括“意外_六月_15_2014”或者列出“意外_六月_15_2014”的LBA范围以用于写入),储存装置可以将数据储存到新的文件中并且命名新的文件为“意外_六月_15_2014_1”。在此方面,被重新写入的命令请求事件分区文件可以用计数指示符重新写入(指示文件已经被请求被重新写入的次数),并且原始的事件分区中的文件可以被保留。
在替换实施例中,响应于接收写入命令,储存装置可以首先确定写入被指定为事件分区的部分的文件是否被允许。如果是的话,储存装置还可以可选地确定文件是否被密码锁定。如果文件被密码锁定,储存装置可以核查正确的密码是否包含在命令中,诸如在有效负载中。在主机装置被允许写入到被指定为事件分区的一部分的文件的事件中,储存装置可以覆盖文件。在一个实施例中,在年龄指示符(诸如编程/擦除计数)为特定的值之后,文件可以被覆盖,如在下面更加详细地讨论的。在此方面,在接收正确的密码的确定以及年龄指示符是特定的值的确定之后文件可以被修改。
作为又一示例,有效负载可以指示主机装置寻求删除被指定为事件分区的一部分的文件。在一个实施例中,储存装置被配置为驳回被指定为事件分区的一部分的任何文件的删除。如在下面更加详细地讨论的,事件分区可以是一次性写入多次读取(WORM)分区。在该实例中,储存装置拒绝命令删除被指定为事件分区的一部分的文件。因此,包含文件系统表的写入的文件可能不被允许删除。
在替换实施例中,在预定的情况下,被指定为事件分区的一部分的文件可以被删除。如在下面更加详细地讨论的,事件分区可以是时间擦除多次读出(TERM)分区。基于储存装置的年龄指示符被指定为事件分区的一部分的文件可以被删除,如在下面更加详细地讨论的。例如,年龄指示符可以包括损耗指示符——诸如存储器280的一部分的编程/擦除(P/E)计数。更具体地,当数据被最初始地保存到用户分区中的文件时,用户分区的平均的P/E计数页可以被保存并且与文件相关联。可以在仅当用户分区平均的擦除周期计数已经增加了某个量(诸如定义的百分比(%))之后允许文件擦除。百分比值可以是一次可编程的变量并且可以表示有效地等于最小时间条件的值,在其之后文件可以被删除。在此方面,仅当如由年龄指示符指令时的时间条件被满足时,文件作为TERM分区的一部分可以被删除或者覆盖。
图5是用于储存装置基于储存装置的年龄指示符确定是否进行动作的实施例的方法的流程图500。在502处,储存装置接收命令以进行动作。例如,储存装置可以从外部装置接收命令,该外部装置诸如主机装置100。可替换地,储存装置可以通过内部操作接收命令的通知,该内部操作诸如在储存装置内部执行的程序。
在504处,储存装置可以访问储存装置的年龄指示符。一个特定的年龄指示符包括损耗指示符。存在储存装置的损耗指示符的几个示例。一个示例是存储器(诸如用户分区)的部分的P/E计数,如上所讨论的。另一示例是储存装置的部分的误码率——诸如在美国申请号2014-0115410中讨论的,其全部内容通过引用结合于此。再一示例是储存装置的一部分的故障率。在此方面,年龄指示符可以指示所述储存装置的至少一部分的年龄或者损耗。在506处,储存装置基于访问的年龄指示符确定是否进行命令中的动作。例如,仅当时间量的指示符已经经过时可以进行某个动作。在P/E计数为年龄指示符的示例中,重新编程NAND存储器的不同的块可以统计上地花费期望的时间量。在此方面,分析P/E计数(例如,计数NAND中的各种块已经被重新编程的次数和/或检验P/E计数的百分比改变)可以是独立于主机装置的时间参数的基准。
使用年龄指示符作为时间指示符使得储存装置能够进行时间计算而不依赖于任何时钟。在一个实施例中,储存装置不需要包括确定时间计算的时钟,从而减少储存装置的成本。更具体地,储存装置不需要依赖于外部装置(诸如主机装置100)的时钟以进行时间计算。对外部时钟的依赖可能是不明智的,因为外部时钟可以被操纵。例如,依赖于可以被操纵的时间戳可能是不谨慎的。相反,储存装置仍可以基于年龄指示符的分析作出取决于时间的决定(诸如基于年龄指示符的改变,如下所述)。具体地,储存装置中的存储器的一部分的年龄(诸如,可由主机装置访问的存储器的部分和/或分配到控制器200的存储器的一部分)可以被分析以便于确定是否进行动作。
在替换实施例中,年龄指示符可以取决于(直接地或者间接地)时钟信号。更具体地,年龄指示符可以取决于从附接的主机装置接收的外部时钟信号,诸如经由储存装置接口225从主机装置100。控制器200可以监控从主机装置接收的时钟信号并且基于监控的时钟信号确定年龄。更具体地,控制器200可以取决于监控的块信号调节存储器(诸如存储器中的块)中的区。在第一实施例中,控制器可以间接地基于监控的时钟信号修改存储器中的逻辑块。例如,逻辑块中的计数器可以对于接收的每个预定数量的时钟周期而增加。在第二实施例中,控制器直接地基于监控的时钟信号(例如每一万个周期中的增加计数器)修改存储器中的逻辑块。例如,逻辑块中的计数器可以对于接收的每个时钟周期而增加。在任一个实施例中,可以检验逻辑块的其年龄的相关联的改变(例如,P/E周期)。响应于确定逻辑块的年龄的改变大于预定的量,然后可以进行动作(诸如删除)。
图6是用于储存装置基于储存装置的当前的年龄指示符和与文件相关联的年龄指示符确定是否删除文件的实施例的方法的流程图600。在602处,接收到删除事件分区中的文件的命令。如上所讨论的,命令中的不同的字段——诸如有效负载,可以指示命令是去删除所述文件以及命令指定特定的文件,诸如通过包含LBA范围。在604处,访问当前的年龄指示符。如上所讨论的,年龄指示符的一个示例是用户分区的P/E计数。在606处,还访问与文件相关联的年龄指示符。例如,当首先创建文件时的年龄指示符可以连同文件一起储存。作为另一示例,当最后更新文件时的年龄指示符可以连同文件一起储存。
在608处,可以确定当前的年龄指示符和与文件相关联的年龄指示符之间的指示符中的改变。在610处,访问在可以进行删除动作之前的年龄的预定的量。在612处,确定指示符中的改变(当前的年龄指示符和与文件相关联的年龄指示符之间的)是否大于在可以进行删除动作之前的年龄的预定的量。如果指示符中的改变大于,在614处,则进行文件的删除。如果指示符中的改变不大于,在616处,则拒绝文件的删除。
在年龄指示符是用户分区平均的P/E计数的示例中,仅当用户分区平均的擦除周期计数已经增加了定义的百分比(%)时可以允许文件擦除。定义的百分比可以是一次可编程的变量。因此,定义的百分比可以表示有效地等于最小时间条件的值。在此方面,文件可以仅当满足最小时间条件时被删除和覆盖。
图7是储存装置120中的动作的框图。在A处,主机装置700经由主机接口730将命令发送到SD/微SD卡710。命令包括命令签名并且指示SD/微SD卡710将文件移动到事件区域745。如上所讨论的,文件可以以一个或多个方式在命令中识别,诸如基于文件系统文件名称转移和/或通过识别与文件相关联的区段。在B处,响应于接收命令,卡控制器720,执行固件和NAND管理725,指定文件作为事件区域745的部分。如上所讨论的,指定文件作为事件区域745的部分的一个方式是通过更新事件区域文件系统表(F/S)。这是标记所述文件的一个示例使得文件被指定为事件区域745的部分。另一方式是将文件移动到专用于时间区域的存储器中的区域。
响应于读取事件区域745中的文件的命令,在C处,卡控制器720可以经由NAND接口730读取NAND存储器735中的事件区域745的文件。响应于将文件写入到事件区域的命令,在D处,卡控制器确定事件区域是否和/或具备什么样的写入能力。例如,可以存在一次性写入多次读取(WORM)配置或时间擦除多次读出(TERM)配置。响应于将文件从事件区域删除的命令,在E处,控制器可以在WORM配置执行拒绝命令。可替换地,在TERM配置之下,在F处,文件可以仅当用户区域740平均的擦除周期计数已经增加了定义的%时被擦除。
因此,在一个实施例中,公开了储存装置。储存装置可以包括存储器和与所述存储器通信的控制器。控制器可以被配置为:从储存装置外部的装置(诸如主机装置)接收进行动作的命令;响应于接收命令,访问储存装置的年龄指示符(诸如至少一部分的存储器的当前的年龄指示符),指示所述储存装置的至少部分的年龄的年龄指示符;并且基于访问的年龄指示符确定是否进行动作。命令中的动作可以包括储存在储存装置的存储器中的文件上的动作。例如,文件上的动作可以包括储存在储存装置的存储器中的文件的删除。响应于接收删除文件的动作,储存装置可以被配置为访问与文件相关联的年龄指示符(诸如当文件创建时至少一部分的存储器的年龄指示符)并且被配置为通过比较与文件相关联的年龄指示符和指示所述储存装置的至少部分的年龄的年龄指示符而确定是否进行动作。更具体地,控制器可以被配置为通过以下确定是否进行动作:确定与文件相关联的年龄指示符和指示所述储存装置的至少部分的年龄的年龄指示符之间的差异;确定所述差异是否大于预定的量;响应于确定所述差异大于预定的量,删除所述文件;并且响应于确定所述差异不大于预定的量,不删除所述文件。年龄指示符的一个示例是用于储存装置的至少一部分的编程/擦除计数。
在替换实施例中,公开了用户储存装置确定是否在储存装置的存储器中进行动作的方法。所述方法包括(在储存装置中):从储存装置外部的装置接收进行动作的命令;响应于接收命令,访问储存装置的年龄指示符,指示所述储存装置的至少部分的年龄的年龄指示符;并且基于访问的年龄指示符确定是否进行动作。
相应地,方法和系统可以实现在硬件、软件或硬件和软件的组合中。方法和系统可以以中央化的方式实现在至少一个电子装置中(诸如图1中示出的主机装置100和/或储存装置120)或者以其中不同的元件散布在几个互联的计算机系统的分布的方式。任何种类的计算机系统或适用于执行这里所述的方法的其它设备是合适的。硬件和软件的传统组合可以是具有计算机程序的通用计算机系统,当加载并且执行该计算机系统时,控制计算机系统使得其执行这里所述的方法。这样编程的计算机可以被认为是专用计算机。
方法和系统也可以使用计算机-可读介质实现。例如,事件确定功能105和图3-6中所述的功能可以使用计算机-可读介质实现。“计算机-可读介质”、“计算机-可读储存介质”、“机器可读介质”、“传播的-信号介质”或者“信号-承载介质”可以包括具有、储存、通信、传播或者传输软件的任何有形的装置,该软件由指令可执行系统、设备或装置使用或者与指令可执行系统、设备或装置相联系。机器-可读介质可以选择性地是,但不限于,电子的、磁的、光的、电磁的、红外的或半导体系统、设备、装置或传播介质。计算机-可读介质可以是单个介质或多个介质。相应地,本公开被认为包括计算机-可读介质或分布介质以及其它等价物以及后继介质的任何一个或多个,其中可以储存数据或指令。例如,CPU 205和/或CPU 260可以访问储存在存储器中的指令,以便于提供这里的功能。作为另一示例,(一个或多个)闪速存储器接口可以被配置为实现这里所述的功能。
可替换地或者另外地,专用的硬件实现方式,诸如专用集成电路、可编程逻辑阵列和其它硬件装置,可以被构造为实现一个或多个这里所述的方法。可以包括各种实施例的设备和系统的应用可以宽泛地包括多种电子和计算机系统。这里所述的一个或多个实施例可以利用两个或多个特定互联的硬件模块或装置实现功能,或者作为专用集成电路的一部分,所述硬件模块或装置具有可以在模块之间或者穿过模块通信的数据信号和相关的控制。相应地,本系统可以包括软件、固件和硬件实现方式。
上述公开的主题将被认为是说明性的,而不是限制性的,并且所附权利要求意欲覆盖落入本公开的真实精神和范围中的所有这样的修改、改进和其它实施例。因此,为最大化法律所允许的程度,本实施例的范围由下述权利要求及其等价物的最宽允许的解释确定,并且不应被前述详细的说明限定或限制。尽管已经示出了各种实施例,本领域技术人员将理解的是,在以上具体说明的范围中更多的实施例和实现方式是可能的。相应地,除了鉴于所附权利要求以及其等价物以外,实施例不应被限制。
Claims (30)
1.一种储存装置,包括:
存储器,包括用户分区和事件分区;以及
控制器,与所述存储器通信,所述控制器被配置为根据第一组规则管理所述用户分区中的文件,并且根据不同于所述第一组规则的第二组规则管理所述事件分区中的文件,所述控制器被配置为:
从主机装置接收数据,所述主机装置在储存装置的外部;
在文件中储存所述数据,所述文件与所述储存装置中的用户分区相关联;
从所述主机装置接收指示所述事件的发生的指示;并且
响应于接收所述事件的发生的指示,仅通过在所述储存装置中进行一个或多个内部操作将所述数据与所述储存装置的事件分区相关联。
2.如权利要求1所述的储存装置,其中与所述事件分区相关联的文件的删除或修改比与所述用户分区相关联的文件的删除或修改更加严格。
3.如权利要求2所述的储存装置,其中与所述事件分区相关联的文件的删除或修改被禁用。
4.如权利要求2所述的储存装置,其中与所述事件分区相关联的文件的删除或修改仅当与所述储存装置的至少一部分相关联的年龄指示符改变预定的量时被允许。
5.如权利要求4所述的储存装置,其中所述控制器还被配置为:
从所述主机装置接收命令以删除所述文件;
确定与所述文件相关联的年龄指示符与指示所述储存装置的至少部分的年龄的年龄指示符之间的差异;
确定所述差异是否大于预定的量;
响应于确定所述差异大于预定的量,删除所述文件;并且
响应于确定所述差异不大于预定的量,拒绝所述删除所述文件的命令。
6.如权利要求5所述的储存装置,其中所述年龄指示符包括用于所述储存装置的用户分区的至少一部分的编程/擦除计数。
7.如权利要求1所述的储存装置,其中所述数据由传感器产生或者从传感器得到。
8.如权利要求7所述的储存装置,其中所述事件的发生的指示包括在所述数据中或者在由所述传感器产生或者从所述传感器得到的之后的数据中发生事件的指示。
9.如权利要求1所述的储存装置,其中所述控制器被配置为通过标记所述文件将所述文件与所述储存装置的事件分区相关联使得所述文件被关联作为所述事件分区的部分;并且
其中,响应于标记所述文件,所述控制器还被配置为解除指定所述事件分区的部分使得所述解除指定的部分是用户分区的部分。
10.如权利要求1所述的储存装置,其中所述控制器被配置为通过接收命令接收与所述数据相关联的事件的指示;并且
其中所述控制器还被配置为:
分析所述命令中的LBA范围;
确定所述命令中的LBA范围是否在可接受的范围之外;以及
响应于确定所述命令中的LBA范围在可接受的范围之外,处理所述命令以确定所述命令是否包括所述事件的指示。
11.如权利要求1所述的储存装置,其中所述存储器包括半导体衬底和形成单片三维结构的多个存储器单元,其中所述存储器单元的至少一个部分关于所述半导体衬底垂直地布置.
12.如权利要求1所述的储存装置,其中所述储存装置是嵌入在所述主机装置中的SSD驱动或存储器卡的一个。
13.一种用于具有存储器的储存装置的方法,所述存储器具有用户分区和事件分区,所述方法包括:
在所述储存装置中进行:
从主机装置接收数据,所述主机装置在所述储存装置之外;
在文件中储存所述数据,所述文件与所述储存装置中的用户分区相关联,所述储存装置使用第一组规则以用于控制在所述用户分区中的文件;
从所述主机装置接收所述事件发生的指示;并且
响应于接收所述事件的发生的指示,仅通过在所述储存装置中进行一个或多个内部操作将所述数据与所述储存装置的事件分区相关联,所述储存装置使用第二组规则以用于控制在所述事件分区中的文件,所述事件分区与所述事件相关联,所述第二组规则比所述第一组规则在至少一个方面更加严格。
14.如权利要求13所述的方法,其中与所述事件分区相关联的文件的删除或修改比与所述用户分区相关联的文件的删除更加严格。
15.如权利要求14所述的方法,其中与所述事件分区相关联的文件的删除或修改被禁用。
16.如权利要求14所述的方法,其中与所述事件分区相关联的文件的删除或修改仅当与所述储存装置的至少一部分相关联的年龄指示符改变预定的量时被允许。
17.如权利要求16所述的方法,还包括:
从所述主机装置接收命令以删除所述文件;
确定与所述文件相关联的年龄指示符与指示所述储存装置的至少部分的年龄的年龄指示符之间的差异;
确定所述差异是否大于所述预定的量;
响应于确定所述差异大于预定的量,删除所述文件;并且
响应于确定所述差异不大于预定的量,不删除所述文件。
18.如权利要求17所述的方法,其中所述年龄指示符包括用于所述储存装置的用户分区的至少一部分的编程/擦除计数。
19.如权利要求13所述的方法,其中所述数据由传感器产生或者从传感器得到。
20.如权利要求19所述的方法,其中关于所述数据的所述事件的发生的指示包括在所述数据中或者在由所述传感器产生或者从所述传感器得到的之后的数据中发生事件的指示。
21.如权利要求13所述的方法,其中将所述文件与所述储存装置的事件分区相关联包括标记所述文件使得所述文件被关联作为所述事件分区的部分;并且
还包括,响应于标记所述文件,解除指定所述事件分区的部分使得所述解除指定的部分是用户分区的部分。
22.如权利要求13所述的方法,其中接收与所述数据相关联的事件的指示包括接收命令;并且
还包括:
分析所述命令中的LBA范围;
确定所述命令中的LBA范围是否在可接受的范围之外;以及
响应于确定所述命令中的LBA范围在可接受的范围之外,处理所述命令以确定所述命令是否包括所述事件的指示。
23.如权利要求13所述的方法,其中所述存储器包括半导体衬底和形成单片三维结构的多个存储器单元,其中所述存储器单元的至少一个部分关于所述半导体衬底垂直地布置。
24.一种储存装置,包括:
存储器;以及
控制器,与所述存储器通信,所述控制器被配置为:
从主机装置接收数据;
在所述存储器中储存所述数据;
从所述主机装置接收命令以在所述数据上进行操作;
确定指示所述储存装置的至少部分的年龄的年龄指示符;
基于指示所述储存装置的至少部分的年龄的年龄指示符,确定是否在所述数据上进行操作;
响应于确定进行所述操作,在所述数据上进行所述操作;并且
响应于确定不进行所述操作,拒绝所述在所述数据上进行所述操作的命令。
25.如权利要求24所述的储存装置,其中所述控制器被配置为通过以下确定是否在所述数据上进行操作:
确定与所述数据相关联的年龄指示符与指示所述储存装置的至少部分的年龄的年龄指示符之间的差异;
确定所述差异是否大于预定的量;并且
响应于确定所述差异大于所述预定的量,确定进行所述操作。
26.如权利要求24所述的储存装置,其中所述数据储存在文件中;并且
其中所述命令包括删除命令以删除所述文件。
27.如权利要求24所述的储存装置,其中所述年龄指示符包括用于所述储存装置的至少一部分的编程/擦除计数。
28.一种方法,包括:
在储存装置中进行:
从主机装置接收数据;
在所述储存装置的存储器中储存所述数据;
从所述主机装置接收命令以在所述数据上进行操作;
确定指示所述储存装置的至少部分的年龄的年龄指示符;
基于指示所述储存装置的至少部分的年龄的年龄指示符,确定是否在所述数据上进行操作;
响应于确定进行所述操作,在所述数据上进行所述操作;以及
响应于确定不进行所述操作,拒绝所述在所述数据上进行所述操作的命令.
29.如权利要求28所述的方法,其中确定是否在所述数据上进行操作包括:
确定与所述数据相关联的年龄指示符与指示所述储存装置的至少部分的年龄的年龄指示符之间的差异;
确定所述差异是否大于预定的量;以及
响应于确定所述差异大于所述预定的量,确定进行所述操作。
30.如权利要求29所述的方法,其中所述数据储存在文件中;并且
其中所述命令包括删除命令以删除所述文件。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/292,047 US9015439B1 (en) | 2014-05-30 | 2014-05-30 | Event lock storage device |
US14/292,074 | 2014-05-30 | ||
PCT/US2015/029660 WO2015183501A1 (en) | 2014-05-30 | 2015-05-07 | Event lock storage device |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106462720A true CN106462720A (zh) | 2017-02-22 |
CN106462720B CN106462720B (zh) | 2019-06-11 |
Family
ID=52822694
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201580025067.3A Active CN106462720B (zh) | 2014-05-30 | 2015-05-07 | 事件锁定储存装置 |
Country Status (4)
Country | Link |
---|---|
US (3) | US9015439B1 (zh) |
KR (1) | KR101917940B1 (zh) |
CN (1) | CN106462720B (zh) |
WO (1) | WO2015183501A1 (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9015439B1 (en) | 2014-05-30 | 2015-04-21 | SanDisk Technologies, Inc. | Event lock storage device |
US20170262180A1 (en) * | 2016-03-08 | 2017-09-14 | Burlywood, LLC | Integrated control of write-once data storage devices |
DE112018003038T5 (de) * | 2017-06-14 | 2020-08-06 | Sumitomo Electric Industries, Ltd. | Vorrichtung für fahrzeuginterne Kommunikation, Kommunikationssteuerverfahren und Kommunikationssteuerungsprogramm |
US11328210B2 (en) | 2017-12-29 | 2022-05-10 | Micron Technology, Inc. | Self-learning in distributed architecture for enhancing artificial neural network |
US20200409573A1 (en) * | 2018-03-14 | 2020-12-31 | Namusoft Co., Ltd | System for providing hybrid worm disk |
US11094148B2 (en) | 2018-06-18 | 2021-08-17 | Micron Technology, Inc. | Downloading system memory data in response to event detection |
US10725931B2 (en) * | 2018-08-22 | 2020-07-28 | Western Digital Technologies, Inc. | Logical and physical address field size reduction by alignment-constrained writing technique |
US11373466B2 (en) * | 2019-01-31 | 2022-06-28 | Micron Technology, Inc. | Data recorders of autonomous vehicles |
US11410475B2 (en) | 2019-01-31 | 2022-08-09 | Micron Technology, Inc. | Autonomous vehicle data recorders |
US11726679B2 (en) * | 2019-11-05 | 2023-08-15 | Western Digital Technologies, Inc. | Applying endurance groups to zoned namespaces |
KR20210143613A (ko) | 2020-05-20 | 2021-11-29 | 삼성전자주식회사 | Otp 메모리 및 이를 포함하는 스토리지 장치 |
PL3926450T3 (pl) * | 2020-06-18 | 2022-07-11 | Paragon Software GmbH | Dynamiczne ustalanie zgodności systemów plików w czasie rzeczywistym |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050097260A1 (en) * | 2003-11-03 | 2005-05-05 | Mcgovern William P. | System and method for record retention date in a write once read many storage system |
CN1926505A (zh) * | 2004-03-02 | 2007-03-07 | 英特尔公司 | 对象储存装置 |
CN102375958A (zh) * | 2010-08-23 | 2012-03-14 | 宇瞻科技股份有限公司 | 限制文件存取的方法 |
US20130198714A1 (en) * | 2007-12-03 | 2013-08-01 | Adobe Systems Incorporated | System and method for stage rendering in a software authoring tool |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5497419A (en) * | 1994-04-19 | 1996-03-05 | Prima Facie, Inc. | Method and apparatus for recording sensor data |
US9361243B2 (en) | 1998-07-31 | 2016-06-07 | Kom Networks Inc. | Method and system for providing restricted access to a storage medium |
US6567304B1 (en) * | 2002-05-09 | 2003-05-20 | Matrix Semiconductor, Inc | Memory device and method for reliably reading multi-bit data from a write-many memory cell |
US7149119B2 (en) * | 2004-09-30 | 2006-12-12 | Matrix Semiconductor, Inc. | System and method of controlling a three-dimensional memory |
JP2006215954A (ja) * | 2005-02-07 | 2006-08-17 | Hitachi Ltd | ストレージシステム及びストレージ装置のアーカイブ管理方法 |
WO2006095335A2 (en) * | 2005-03-07 | 2006-09-14 | Noam Camiel | System and method for a dynamic policies enforced file system for a data storage device |
US7778077B2 (en) * | 2006-05-15 | 2010-08-17 | Sandisk Corporation | Non-volatile memory system with end of life calculation |
US8443134B2 (en) * | 2006-12-06 | 2013-05-14 | Fusion-Io, Inc. | Apparatus, system, and method for graceful cache device degradation |
US8732389B2 (en) * | 2009-06-23 | 2014-05-20 | Seagate Technology Llc | Memory wear control |
US8423866B2 (en) * | 2009-10-28 | 2013-04-16 | SanDisk Technologies, Inc. | Non-volatile memory and method with post-write read and adaptive re-write to manage errors |
US8187936B2 (en) * | 2010-06-30 | 2012-05-29 | SanDisk Technologies, Inc. | Ultrahigh density vertical NAND memory device and method of making thereof |
US9639540B2 (en) | 2011-02-25 | 2017-05-02 | Hewlett Packard Enterprise Development Lp | Retention management in a worm storage system |
KR20120131688A (ko) | 2011-05-26 | 2012-12-05 | 에스케이하이닉스 주식회사 | 비휘발성 메모리 장치 및 그 제조 방법 |
US9208070B2 (en) * | 2011-12-20 | 2015-12-08 | Sandisk Technologies Inc. | Wear leveling of multiple memory devices |
US8862810B2 (en) * | 2012-09-27 | 2014-10-14 | Arkologic Limited | Solid state device write operation management system |
US9361167B2 (en) | 2012-10-24 | 2016-06-07 | SanDisk Technologies, Inc. | Bit error rate estimation for wear leveling and for block selection based on data type |
US9146850B2 (en) * | 2013-08-01 | 2015-09-29 | SMART Storage Systems, Inc. | Data storage system with dynamic read threshold mechanism and method of operation thereof |
US10055294B2 (en) * | 2014-01-09 | 2018-08-21 | Sandisk Technologies Llc | Selective copyback for on die buffered non-volatile memory |
US9396064B2 (en) * | 2014-04-30 | 2016-07-19 | Freescale Semiconductor, Inc. | Error correction with secondary memory |
US9015439B1 (en) | 2014-05-30 | 2015-04-21 | SanDisk Technologies, Inc. | Event lock storage device |
-
2014
- 2014-05-30 US US14/292,047 patent/US9015439B1/en active Active
-
2015
- 2015-04-14 US US14/686,150 patent/US10210100B2/en active Active
- 2015-05-07 CN CN201580025067.3A patent/CN106462720B/zh active Active
- 2015-05-07 WO PCT/US2015/029660 patent/WO2015183501A1/en active Application Filing
- 2015-05-07 KR KR1020167033257A patent/KR101917940B1/ko active IP Right Grant
-
2019
- 2019-01-16 US US16/249,779 patent/US20190146930A1/en not_active Abandoned
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050097260A1 (en) * | 2003-11-03 | 2005-05-05 | Mcgovern William P. | System and method for record retention date in a write once read many storage system |
CN1926505A (zh) * | 2004-03-02 | 2007-03-07 | 英特尔公司 | 对象储存装置 |
US20130198714A1 (en) * | 2007-12-03 | 2013-08-01 | Adobe Systems Incorporated | System and method for stage rendering in a software authoring tool |
CN102375958A (zh) * | 2010-08-23 | 2012-03-14 | 宇瞻科技股份有限公司 | 限制文件存取的方法 |
Also Published As
Publication number | Publication date |
---|---|
KR101917940B1 (ko) | 2018-11-12 |
US20190146930A1 (en) | 2019-05-16 |
WO2015183501A1 (en) | 2015-12-03 |
US10210100B2 (en) | 2019-02-19 |
US9015439B1 (en) | 2015-04-21 |
KR20170013252A (ko) | 2017-02-06 |
CN106462720B (zh) | 2019-06-11 |
US20150347317A1 (en) | 2015-12-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106462720B (zh) | 事件锁定储存装置 | |
US10102119B2 (en) | Garbage collection based on queued and/or selected write commands | |
CN107787486B (zh) | 命令授权的系统和方法 | |
US7509441B1 (en) | Systems and methods for segmenting and protecting a storage subsystem | |
US7447807B1 (en) | Systems and methods for storing data in segments of a storage subsystem | |
CN109902039A (zh) | 存储器控制器、存储器系统及于一存储器中管理数据配置的方法 | |
US20170090815A1 (en) | Zero read on trimmed blocks in a non-volatile memory system | |
US10101918B2 (en) | Systems and methods for generating hint information associated with a host command | |
CN110046506B (zh) | 存储设备和包括存储设备的存储系统及使用其进行操作的方法 | |
CN108139970A (zh) | 用于直接写入多级单元存储器的系统和方法 | |
CN106662980A (zh) | 用于非易失性存储器中的分布式计算的系统和方法 | |
CN105843550A (zh) | 用于减少读取干扰错误的存储器系统和方法 | |
US20100306451A1 (en) | Architecture for nand flash constraint enforcement | |
CN107103256A (zh) | 存储装置、与其通信的主机以及包括其的电子装置 | |
CN106663073A (zh) | 用于适应性突发模式的储存模块和方法 | |
CN106255954A (zh) | 主从环境中的通信命令数据的系统和方法 | |
US10108546B2 (en) | Method and system for using non-volatile memory as a replacement for volatile memory | |
US9916238B2 (en) | Memory system and method for performing garbage collection on blocks based on their obsolescence patterns | |
CN105683953A (zh) | 支持加速数据库操作的数据存储设备 | |
US11543987B2 (en) | Storage system and method for retention-based zone determination | |
US10268400B2 (en) | System and method for file detection and usage during compaction | |
WO2021137882A1 (en) | Storage system and method for secure host controller memory buffer access | |
US11836374B1 (en) | Storage system and method for data placement in zoned storage | |
US10810016B2 (en) | Operating methods of computing devices comprising storage devices including nonvolatile memory devices, buffer memories and controllers | |
CN111538685A (zh) | 使用固件的存储器装置策略执行 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |