CN115659425A - 固态硬盘及其限次访问控制方法、电子设备 - Google Patents
固态硬盘及其限次访问控制方法、电子设备 Download PDFInfo
- Publication number
- CN115659425A CN115659425A CN202211322676.3A CN202211322676A CN115659425A CN 115659425 A CN115659425 A CN 115659425A CN 202211322676 A CN202211322676 A CN 202211322676A CN 115659425 A CN115659425 A CN 115659425A
- Authority
- CN
- China
- Prior art keywords
- logic gate
- key
- flash memory
- data
- limited
- 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
- 239000007787 solid Substances 0.000 title claims abstract description 81
- 238000000034 method Methods 0.000 title claims abstract description 36
- 230000015654 memory Effects 0.000 claims abstract description 144
- 238000003860 storage Methods 0.000 claims abstract description 36
- 238000012545 processing Methods 0.000 claims abstract description 8
- 238000012544 monitoring process Methods 0.000 claims description 11
- 238000010586 diagram Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 8
- 230000008569 process Effects 0.000 description 6
- 230000014759 maintenance of location Effects 0.000 description 5
- 238000012795 verification Methods 0.000 description 5
- 239000002245 particle Substances 0.000 description 4
- 238000005457 optimization Methods 0.000 description 3
- 230000001960 triggered effect Effects 0.000 description 3
- 238000006467 substitution reaction Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000013403 standard screening design Methods 0.000 description 1
Images
Classifications
-
- 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/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/44—Program or device authentication
-
- 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/60—Protecting 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
- G06M—COUNTING MECHANISMS; COUNTING OF OBJECTS NOT OTHERWISE PROVIDED FOR
- G06M1/00—Design features of general application
- G06M1/27—Design features of general application for representing the result of count in the form of electric signals, e.g. by sensing markings on the counter drum
- G06M1/272—Design features of general application for representing the result of count in the form of electric signals, e.g. by sensing markings on the counter drum using photoelectric means
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种固态硬盘及其限次访问控制方法、电子设备,该固态硬盘包括:主控芯片、闪存阵列以及限次访问电路。主控芯片包括:主机接口控制器、中央处理器以及闪存控制器。限次访问电路包括:限次计数器、第一逻辑门电路以及状态机。限次计数器各存储单元的初始化数据均为“1”,第一逻辑门电路对从限次计数器各存储单元分别读出的多位计数数据进行或运算,并将或运算结果传输给状态机;状态机每监测到主机访问一次闪存阵列,则向限次计数器写入一个“0”值,并在检测到或运算结果为“0”时,禁止主机访问闪存阵列。这样可以给固态硬盘中闪存阵列的访问次数设定一个上限值,有效地提高了固态硬盘数据的安全性。
Description
技术领域
本发明涉及存储器技术领域,尤其涉及一种固态硬盘及其限次访问控制方法、电子设备。
背景技术
固态硬盘是传统机械式硬盘的替代品。一个典型的固态硬盘SSD(Solid StateDisk或Solid State Drive),其内部电路包括主控芯片、DDR内存颗粒、NAND Flash闪存芯片颗粒(也可简称为“闪存”)以及SPI Flash颗粒等。SSD的重要指标包括:数据容量、数据保存寿命等。固态硬盘作为一种数据存储介质,在某些特殊场景下,对其进行访问安全控制是非常重要的。
发明内容
本发明实施例通过提供一种固态硬盘及其限次访问控制方法、电子设备,能够有效地提高固态硬盘的数据安全性。
第一方面,本发明实施例提供了一种固态硬盘,包括:主控芯片、闪存阵列以及限次访问电路,其中,
所述主控芯片包括:主机接口控制器、中央处理器以及闪存控制器,所述主机接口控制器、中央处理器以及所述闪存控制器通过总线连接,所述闪存控制器与所述闪存阵列连接;
所述限次访问电路包括:限次计数器、第一逻辑门电路以及状态机;
所述限次计数器包括多个存储单元,所述多个存储单元的初始化数据均为“1”,所述限次计数器的各数据读出端分别与所述第一逻辑门电路的输入端连接,所述限次计数器的数据操作端以及所述第一逻辑门电路的输出端均与所述状态机连接;
所述第一逻辑门电路用于对从所述多个存储单元分别读出的多位计数数据进行或运算,并将或运算结果传输给所述状态机;
所述状态机用于每监测到所述主机访问一次所述闪存阵列,则向所述限次计数器写入一个“0”值,并在检测到所述或运算结果为“0”时,禁止所述主机访问所述闪存阵列。
进一步地,所述限次访问电路还包括:第二逻辑门电路以及用于存储外部写入密钥的密钥存储器,
所述第二逻辑门电路的第一输入端与所述密钥存储器的数据读出端连接,所述第二逻辑门电路的第二输入端与预设安全密钥的供给端连接,
所述密钥存储器的数据操作端以及所述第二逻辑门电路的输出端与所述状态机连接;
所述第二逻辑门电路用于对所述外部写入密钥与所述预设安全密钥进行异或运算,将异或运算结果传输给所述状态机;
所述状态机还用于在检测到所述异或运算结果为“1”时,禁止所述主机访问所述闪存阵列,且允许对所述限次计数器以及所述密钥存储器进行擦除和编程操作;在检测到所述异或运算结果为“0”且所述或运算结果为“1”时,允许所述主机访问所述闪存阵列,且允许对所述限次计数器进行编程操作,禁止对所述限次计数器进行擦除操作,禁止对所述密钥存储器进行擦除及编程操作。
进一步地,所述第二逻辑门电路的第一输入端数量以及第二输入端数量均与所述密钥存储器的数据位宽相同,各个所述第二输入端按照所述预设安全密钥与高电平电压端或低电平电压端连接。
进一步地,所述状态机与所述总线连接。
进一步地,所述状态机与所述闪存控制器连接。
进一步地,所述状态机与所述主机接口控制器连接。
第二方面,本发明实施例提供了一种电子设备,包括主机以及上述第一方面所述的固态硬盘,所述主机与所述固态硬盘的主机接口控制器连接,以对所述固态硬盘进行访问。
第三方面,本发明实施例提供了一种固态硬盘的限次访问控制方法,所述固态硬盘包括:固态硬盘包括:主控芯片、闪存阵列以及限次访问电路,所述限次访问电路包括:限次计数器、第一逻辑门电路以及状态机,所述限次计数器包括多个存储单元,所述多个存储单元的初始化数据均为“1”,所述限次计数器的数据读出端与所述第一逻辑门电路的输入端连接,所述限次计数器的数据操作端以及所述第一逻辑门电路的输出端分别与所述状态机连接,所述方法包括:
在用户模式下,监测主机对所述闪存阵列的访问操作;
每监测到所述主机访问一次所述闪存阵列,则向所述限次计数器写入一个“0”值;
若监测到所述第一逻辑门电路输出的或运算结果为“0”,则禁止所述主机访问所述闪存阵列。
进一步地,在进入所述用户模式之前,所述方法还包括:执行初始化配置操作,所述初始化配置操作包括:
对所述限次计数器进行数据擦除操作,使得所述多个存储单元存储的数据均初始化为“1”。
进一步地,所述限次访问电路还包括:第二逻辑门电路以及用于存储外部写入密钥的密钥存储器,所述第二逻辑门电路的第一输入端与所述密钥存储器的数据读出端连接,所述第二逻辑门电路的第二输入端与预设安全密钥的供给端连接,所述密钥存储器的数据操作端以及所述第二逻辑门电路的输出端与所述状态机连接,在进入所述用户模式之前,所述方法还包括:执行初始化配置操作,所述初始化配置操作包括:
在所述固态硬盘上电后,监测所述第二逻辑门电路输出的异或运算结果;
若所述异或运算结果为1,则允许对所述限次计数器以及所述密钥存储器进行擦除和编程操作,对所述限次计数器以及所述密钥存储器进行数据擦除操作,使得所述限次计数器以及所述密钥存储器存储的数据均初始化为“1”,响应于所述主机发送的密钥写入命令,将外部输入的密钥数据写入所述密钥存储器;
若所述异或运算结果为“0”,则开启所述主机对所述闪存阵列的访问通道,进入所述用户模式,并禁止对所述限次计数器进行擦除操作,禁止对所述密钥存储器进行擦除及编程操作,以及开启对所述第一逻辑门电路输出的或运算结果的监测。
本发明实施例提供的固态硬盘,增设了限次访问电路,限次访问电路包括限次计数器、第一逻辑门电路以及状态机,限次计数器各存储单元的初始化数据均为“1”,由第一逻辑门电路对从限次计数器各存储单元分别读出的多位计数数据进行或运算,并将或运算结果传输给状态机;状态机每监测到主机访问一次闪存阵列,则向限次计数器写入一个“0”值,并在检测到或运算结果为“0”时,判定达到最大访问次数,禁止主机再访问闪存阵列。这样可以给固态硬盘中闪存阵列的访问次数设定一个上限值(上限值即为限次计数器的数据位宽),访问次数达到该上限值,则锁死固态硬盘的闪存阵列访问功能,不再响应用户的读写访问请求,有效地提高了固态硬盘数据的安全性,可以应用于对数据安全性要求较高的场景。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了本发明实施例第一方面提供的一种固态硬盘的结构示意图一;
图2示出了本发明实施例第一方面提供的一种限次访问电路的结构示意图;
图3示出了本发明实施例第一方面提供的一种第一逻辑门电路的结构示意图;
图4示出了本发明实施例第一方面提供的一种固态硬盘的结构示意图二;
图5示出了本发明实施例第一方面提供的一种固态硬盘的结构示意图三;
图6-图10示出了本发明实施例第一方面提供的限次访问电路的工作状态图;
图11示出了本发明实施例第二方面提供的电子设备的结构示意图;
图12示出了本发明实施例第三方面提供的限次访问控制方法的流程图。
具体实施方式
为了便于理解本发明实施例提供的技术方案,下面先对固态硬盘中的NAND Flash的相关信息进行说明。NAND Flash闪存存储器芯片颗粒,是固态硬盘(SSD)内部用于承载存储数据的主体;NAND Flash中的数据在系统掉电后不会丢失,重新上电后,其中的数据仍在,拥有这一特性的存储器,业内将之称作“非易失存储器”。
一颗典型的NAND Flash存储器芯片,其内部的存储空间是按照下列方式来进行组织的:LUN-Plane-Block-Page-Byte,即:
1颗NAND Flash存储器封装体内,包含1个或多个LUN;1个LUN内,包含1个或多个Plane;1个Plane内,包含多个Block;1个Block内,包含有许多Page;1个Page内,包含有多个Byte。其中,较为常用的几个概念是:Block即“块”,Page即“页”,Byte即“字节”。
NAND Flash的常用操作有3种:读、写(即编程)、擦(即擦除)。一般而言,读、写操作都以Page即页为单位,而擦除操作则以Block即块为单位。其中,写操作、擦操作,都是“单向”的;即:擦,只能把存储器阵列中的数据擦成“1”(即全FF数据),不能把“1”擦成“0”;写,只能把存储器阵列中的数据写成“0”,不能把“0”写成“1”。
SSD具有传统机械硬盘不具备的快速读写、质量轻、能耗低以及体积小等特点,广泛地应用在军事、车载、工控、视频监控、网络监控、网络终端、电力、医疗、航空、导航设备等诸多领域。近年来,对SSD进行优化成为研究热点。从常理来讲,SSD的优化方向是能够支持更多的读写操作、更长的数据保持寿命,这样硬盘就更耐用、更强壮。
不同于常规优化方向,发明人提出了另一种SSD优化思路:对SSD的访问次数进行限制,待SSD部署到位后,最多只允许主机对内部闪存阵列进行N次访问,其后则锁死SSD的闪存阵列访问功能,不再响应用户对内部闪存阵列的读写访问请求。这样能够有效地提高SSD数据的安全性,可以应用于对数据安全性要求较高的场景,如可以应用在军事装备等领域。
以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
第一方面,本发明实施例提供了一种固态硬盘10,如图1所示,该固态硬盘10包括:主控芯片110、限次访问电路120以及闪存阵列130如NAND Flash阵列。
具体的,主控芯片110可以包括:主机接口控制器112、中央处理器111(CPU)以及闪存控制器113,主机接口控制器112、中央处理器111以及闪存控制器113通过总线118连接。闪存控制器113与闪存阵列130连接。当然,除了这些结构以外,主控芯片110还包括其他结构如缓存115(Buffer)、缓存控制器114、动态随机存储器116(DRAM)、错误检测与纠正电路117(ECC)等,具体可以参见相关技术,本实施例对此不做详述。
如图2所示,限次访问电路120可以包括:限次计数器121、第一逻辑门电路122以及状态机123。
限次计数器121包括多个存储单元1211,用于存储多位计数数据,具体数据位宽根据实际需要配置的固态硬盘10访问上限值确定。上述多个存储单元1211的初始化数据均为“1”。例如,限次计数器121可以为主控芯片110内的一块嵌入式闪存,或者是,一颗独立的非易失存储器芯片如EEPROM(Electrically Erasable Programmable read only memory,带电可擦可编程只读存储器)或SPI(Serial Peripheral Interface,串行外设接口)Flash等。需要说明的是,当限次计数器121为主控芯片110内的一块嵌入式闪存时,可以将整个限次访问电路120集成在主控芯片110内。
限次计数器121的数据操作端与状态机123连接。也就是说,状态机123可以对限次计数器121进行数据操作,如数据擦除操作以及数据编程(即写入)操作。
第一逻辑门电路122为或运算逻辑电路。第一逻辑门电路122包括多个输入端和一个输出端。限次计数器121的各数据读出端分别与第一逻辑门电路122的各输入端对应连接。需要说明的是,限次访问电路120还包括用于读取限次计数器121中各存储单元1211数据的数据读取电路(图中未示出),例如,数据读取电路可以包括灵敏放大器,具体可以参见相关技术,本实施例对此不做详述。上述限次计数器121的各数据读出端即为设置在限次计数器121外围的数据读取电路的输出端,具体实施时,通过数据读取电路读取各存储单元1211中存储的数据传输到第一逻辑门电路122的相应输入端。
第一逻辑门电路122的输出端也与状态机123连接。第一逻辑门电路122用于对从多个存储单元1211分别读出的多位计数数据进行或运算,并将或运算结果传输给状态机123。第一逻辑门电路122的输入端数量由限次计数器121的数据位宽决定。具体的,如图2所示,可以使用单个的多输入、单输出的或门,或者,也可以由多个二输入或门级联而成。例如,如图3所示,限次计数器121的数据位宽为16,第一逻辑门电路122可以为由多个二输入或门1221,拼接得到的一个16入1出的或门。
状态机123可以由状态寄存器和组合逻辑电路构成。状态机123用于在每监测到主机20访问一次固态硬盘10中的闪存阵列130时,访问限次计数器121,将多位计数数据中的其中一位由“1”写为“0”,并在检测到第一逻辑门电路122输出的或运算结果为“0”时,禁止主机20再访问闪存阵列130。限次计数器121的数据位宽决定了限次访问的次数上限,具体可以根据实际应用场景的需要设置。例如,限次计数器121的数据位宽为16,则初始值为“1111111111111111”,每监测到主机20访问一次闪存阵列130,则将其中一个“1”写为“0”,那么,在主机20访问16次闪存阵列130后,限次计数器121的值为“0000000000000000”,达到最大访问次数。此时,第一逻辑门电路122输出的或运算结果为“0”,则禁止主机20再访问闪存阵列130。
限次访问电路120与主控芯片110连接。例如,如图1所示,限次访问电路120可以与主控芯片110中的上述总线118连接。也就是说,上述状态机123与主控芯片110中的总线118连接,在检测到或运算结果为“0”时,输出禁止访问命令,通过总线118传输到中央处理器111。中央处理器111在接收到禁止访问命令后,不再响应主机20对闪存阵列130的访问请求,以禁止主机20再访问闪存阵列130。
或者,如图4所示,限次访问电路120也可以与主控芯片110中的闪存控制器113连接。也就是说,上述状态机123与闪存控制器113连接,在检测到或运算结果为“0”时,发送禁止访问命令到闪存控制器113。闪存控制器113在接收到禁止访问命令后,禁止对闪存阵列130的访问操作,以禁止主机20再访问闪存阵列130。
又或者,如图5所示,限次访问电路120也可以与主控芯片110中的主机接口控制器112连接。也就是说,上述状态机123与主机接口控制器112连接,在检测到或运算结果为“0”时,发送禁止访问命令到主机接口控制器112。主机接口控制器112在接收到禁止访问命令后,禁用对闪存阵列130访问接口,以禁止主机20再访问闪存阵列130。
在一些示例中,为了进一步提高固态硬盘10的数据安全性,如图2所示,上述限次访问电路120还可以包括:第二逻辑门电路125以及用于存储外部写入密钥的密钥存储器124。密钥存储器124的数据操作端与状态机123连接。也就是说,状态机123可以对密钥存储器124进行数据操作,如数据擦除操作以及数据编程(写入)操作。具体实施时,限次计数器121和密钥存储器124可以为同一非易失存储器的不同存储区,例如,在同一非易失存储器中划分限次计数区和密钥区。或者,限次计数器121和密钥存储器124也可以是相互独立的两个非易失存储器。
第二逻辑门电路125为异或运算逻辑电路,包括第一输入端、第二输入端以及输出端,第一输入端数量以及第二输入端数量均与密钥存储器124的数据位宽相同。例如,密钥存储器124的数据位宽为16,即密钥数据为16位,则第二逻辑门电路125包括16个第一输入端,16个第二输入端和一个输出端,用于对16个第一输入端和16个第二输入端输入的数据按位异或,从输出端输出异或运算结果。
第二逻辑门电路125的各第一输入端分别与密钥存储器124的各数据读出端对应连接。同理,密钥存储器124的各数据读出端即为设置在密钥存储器124外围的数据读取电路的输出端,通过数据读取电路读取密钥存储器124中存储的数据传输到第二逻辑门电路125的相应第一输入端。
第二逻辑门电路125的各第二输入端与预设安全密钥的供给端126连接。预设安全密钥(即预定义的pattern)预先配置在固态硬盘10中,用于对外部写入密钥进行验证,以提高固态硬盘10的安全性。在一些示例中,为了降低预设安全密钥被篡改的概率,进一步提高安全性,各个第二输入端可以按照预设安全密钥与高电平电压端或低电平电压端连接。可以理解的是,接高电平电压端的第二输入端,对应的预设安全密钥数据为“1”,接低电平电压端的第二输入端,对应的预设安全密钥数据为“0”。以16位的预设安全密钥为例,例如,预设安全密钥为“1010101001010101”,则对应于第[0]、[2]、[4]、[6]、[9]、[11]、[13]、[15]位的第二输入端连接固态硬盘10内的高电平电压端,对应于其余数据位的第二输入端连接固态硬盘10内的低电平电压端。
当然,在其他实施方式中,固态硬盘10内也可以设置另一独立的非易失存储器,用于配置固态硬盘10的预设安全密钥,且出厂时,该非易失存储器被配置为禁止擦除和编程操作的状态。此时,第二逻辑门电路125的各第二输入端与该非易失存储器的数据读出端对应连接,第二逻辑门电路125从该非易失存储器获得预设安全密钥。
第二逻辑门电路125的输出端与状态机123连接。第二逻辑门电路125用于对外部写入密钥与预设安全密钥进行异或运算,将异或运算结果传输给状态机123。
此时,第二逻辑门电路125输出的异或运算结果,一方面作为安全验证结果,控制是否开启主机20对闪存阵列130的访问,另一方面,还用于控制限次计数器121以及密钥存储器124的访问状态。状态机123还用于在检测到异或运算结果为“1”时,禁止主机20访问闪存阵列130,且允许对限次计数器121以及密钥存储器124进行擦除和编程操作;在检测到异或运算结果为“0”,且或运算结果为“1”时,允许主机20访问所述闪存阵列130,且允许对限次计数器121进行编程操作,禁止对限次计数器121进行擦除操作,以及禁止对密钥存储器124进行擦除及编程操作。
进一步地,为了提高限次访问功能的可靠性,上述限次访问电路120还可以包括:投票电路(图中未示出)。在一些示例中,限次计数器121有多个且为奇数个,多个限次计数器121的数据读出端均通过投票电路与第一逻辑门电路122的输入端连接,多个限次计数器121的数据操作端均与状态机123连接。需要说明的是,设置多个限次计数器121是为了对计数数据进行备份,提高计数可靠性,各个限次计数器121的结构以及工作流程均相同,例如,数据位宽相同、同步进行数据擦除操作、同步进行数据写入操作且写入的数据值相同。具体实施时,从各个限次计数器121读出的每位数据先经过投票电路进行投票,投票结果再输入第一逻辑门电路122的相应输入端。
同理,在一些示例中,密钥存储器124也可以为多个且为奇数个,多个密钥存储器124的数据读出端均通过投票电路与第二逻辑门电路125的第一输入端连接,多个密钥存储器124的数据操作端均与状态机123连接。各个密钥存储器124的结构以及工作流程均相同,例如,数据位宽相同、同步进行数据擦除操作、同步进行数据写入操作且写入的数据值相同。
例如,上述投票电路可以为三模冗余、五模冗余、七模冗余或更多的冗余投票电路,本实施例对此不做限制。
为了更清楚地理解本技术方案,下面参照图6-图10,对固态硬盘10的一种示例性的工作流程进行说明。需要说明的是,图6-图10中示出的限次计数器121以及密钥存储器124的数据位宽仅为示意,具体位宽根据实际需要确定。
如图6所示,出厂时,限次计数器121和密钥存储器124中存储的是随机值。因此,固态硬盘10出厂后第一次上电时,监测第二逻辑门电路125输出的异或运算结果,不关心第一逻辑门电路122的或运算结果。由于密钥存储器124中的值(即出厂设置的随机值)通常不等于预设安全密钥,第二逻辑门电路125的异或运算结果:“1”,此时,各结构处于以下工作状态:
(1)限次计数器121:允许擦除、编程;
(2)密钥存储器124:允许擦除、编程;
(3)禁止主机20访问固态硬盘10中的闪存阵列130。
然后,如图7所示,对限次计数器121以及密钥存储器124进行擦除操作,将限次计数器121以及密钥存储器124中各存储单元的数据均擦为“1”。以16位数据位宽为例,则擦为全FF。需要说明的是,该擦除操作可以是出厂后第一次上电时,自动触发执行的,或者,也可以是接收到主机20发送的擦除命令时执行的。擦除后,密钥存储器124中的值仍然不等于预设安全密钥。此时,第二逻辑门电路125的异或运算结果仍然为:“1”,各结构也仍处于以下工作状态:
(1)限次计数器121:允许擦除、编程;
(2)密钥存储器124:允许擦除、编程;
(3)禁止主机20访问固态硬盘10中的闪存阵列130。
接着,可以向主机20发送安全验证提示信息,以提示相关人员在主机20显示的安全验证界面输入固态硬盘10的密钥数据。待相关人员在安全验证界面输入密钥数据后,生成密钥写入命令。固态硬盘10接收主机20发送的密钥写入命令,密钥写入命令中包括待写入的密钥数据,将该密钥数据写入密钥存储器124。如图8所示,完成写入后,若写入的密钥数据等于预设安全密钥,则第二逻辑门电路125输出的异或运算结果为“0”,表明安全验证通过,此时,各结构处于以下工作状态:
(1)限次计数器121:禁止擦除、只允许编程,即只能单向地从1变0;
(2)密钥存储器124的值永远保持,禁止对其作擦除/编程。
另外,监测到异或运算结果从“1”变为“0”时,开启对第一逻辑门电路122输出的或运算结果的监测,此时,限次计数器121的各位数据均为“1”,或运算结果为“1”,允许主机20访问固态硬盘10中的闪存阵列130,即固态硬盘10进入用户模式。
此后,由于密钥存储器124的值永远保持,禁止对其作擦除/编程,第二逻辑门电路125输出的异或运算结果始终为“0”,限次计数器121也始终保持禁止擦除、只允许编程,即只能单向地从1变0的工作状态。
进入用户模式后,每监测到主机20访问一次固态硬盘10中的闪存阵列130,则向限次计数器121写入一个“0”值,直至限次计数器121中的所有数据位均为“0”。以限次计数器121的数据位宽为16为例,图9示出了主机20第一次访问固态硬盘10中的闪存阵列130,限次计数器121写入一个“0”值后的状态,图10示出了主机20第16次访问固态硬盘10中的闪存阵列130,限次计数器121再追加写入一个“0”值后的状态。当监测到第一逻辑门电路122输出的或运算结果为“0”时,表明达到固态硬盘10中闪存阵列130的最大访问次数,此后禁止主机20访问固态硬盘10中的闪存阵列130。
另外,由于第二逻辑门电路125输出的异或运算结果对限次计数器121的访问控制(即异或运算结果为“0”时,限次计数器121禁止擦除、只允许编程,只能单向地从1变0),限次计数器121中各个数据位永远保持0值,第一逻辑门电路122输出的或运算结果也就永远为“0”,从而永久禁止主机20访问固态硬盘10中的闪存阵列130。
第二方面,本发明实施例还提供了一种电子设备,如图11所示,该电子设备1包括主机20以及上述第一方面提供的固态硬盘10,主机20与固态硬盘10的主机接口控制器112连接,以对固态硬盘10进行访问。例如,电子设备1可以是个人电脑、笔记本电脑、平板电脑、手机、可穿戴设备、电视机等具有数据存取功能的设备。
第三方面,本发明实施例还提供了一种固态硬盘10的限次访问控制方法。该固态硬盘10包括:主控芯片110、闪存阵列130以及限次访问电路120。限次访问电路120包括:限次计数器121、第一逻辑门电路122以及状态机123。限次计数器121包括多个存储单元1211,多个存储单元1211的初始化数据均为“1”,限次计数器121的数据读出端与第一逻辑门电路122的输入端连接,限次计数器121的数据操作端以及第一逻辑门电路122的输出端分别与状态机123连接。具体可以参见上述第一方面中的相关描述,此处不再赘述。
如图12所示,上述限次访问控制方法至少可以包括以下步骤S101至步骤S103。
步骤S101,在用户模式下,监测主机对闪存阵列的访问操作;
步骤S102,每监测到主机访问一次闪存阵列,则向限次计数器写入一个“0”值;
步骤S103,若监测到第一逻辑门电路输出的或运算结果为“0”,则禁止主机访问闪存阵列。
其中,步骤S101中的用户模式即为允许用户通过主机20访问固态硬盘10中的闪存阵列130的模式。需要说明的是,上述步骤S101至步骤S103的具体实施过程可以参见上述第一方面中的相关描述,此处不再赘述。
在一些示例中,在进入用户模式之前,上述方法还包括:执行初始化配置操作,该初始化配置操作包括:对限次计数器121进行数据擦除操作,使得上述多个存储单元存储的数据均初始化为“1”。数据擦除操作的具体实施过程可以参见上述第一方面中的相关描述,此处不再赘述。
需要说明的是,初始化配置操作是固态硬盘10出厂后,还未进入用户模式之前,在第一次上电时执行的配置操作。例如,可以是在监测到固态硬盘10第一次上电时,自动触发执行的,或者,也可以是第一次上电时由外部触发执行的,本实施例对此不做限制。
在一些示例中,上述限次访问电路120还包括:第二逻辑门电路125以及用于存储外部写入密钥的密钥存储器124。第二逻辑门电路125的第一输入端与密钥存储器124的数据读出端连接,第二逻辑门电路125的第二输入端与预设安全密钥的供给端连接,密钥存储器124的数据操作端以及第二逻辑门电路125的输出端与状态机123连接。具体可以参见上述第一方面中的相关描述,此处不再赘述。此时,在进入用户模式之前,上述方法还包括:执行初始化配置操作。
在该示例中,初始化配置操作可以包括:在固态硬盘10上电后,监测第二逻辑门电路125输出的异或运算结果;若异或运算结果为1,则允许对限次计数器121以及密钥存储器124进行擦除和编程操作,对限次计数器121以及密钥存储器124进行数据擦除操作,使得限次计数器121以及密钥存储器124存储的数据均初始化为“1”,响应于主机20发送的密钥写入命令,将外部输入的密钥数据写入密钥存储器124;若异或运算结果为“0”,则开启主机20对闪存阵列130的访问通道,进入用户模式,并禁止对限次计数器121进行擦除操作,禁止对密钥存储器124进行擦除及编程操作,以及开启对第一逻辑门电路122输出的或运算结果的监测。具体实施过程可以参见上述第一方面中的相关描述,此处不再赘述。
还需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。术语“多个”包括两个或大于两个的情况。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (10)
1.一种固态硬盘,其特征在于,包括:主控芯片、闪存阵列以及限次访问电路,其中,
所述主控芯片包括:主机接口控制器、中央处理器以及闪存控制器,所述主机接口控制器、中央处理器以及所述闪存控制器通过总线连接,所述闪存控制器与所述闪存阵列连接;
所述限次访问电路包括:限次计数器、第一逻辑门电路以及状态机;
所述限次计数器包括多个存储单元,所述多个存储单元的初始化数据均为“1”,所述限次计数器的各数据读出端分别与所述第一逻辑门电路的输入端连接,所述限次计数器的数据操作端以及所述第一逻辑门电路的输出端均与所述状态机连接;
所述第一逻辑门电路用于对从所述多个存储单元分别读出的多位计数数据进行或运算,并将或运算结果传输给所述状态机;
所述状态机用于每监测到所述主机访问一次所述闪存阵列,则向所述限次计数器写入一个“0”值,并在检测到所述或运算结果为“0”时,禁止所述主机访问所述闪存阵列。
2.如权利要求1所述的固态硬盘,其特征在于,所述限次访问电路还包括:第二逻辑门电路以及用于存储外部写入密钥的密钥存储器,
所述第二逻辑门电路的第一输入端与所述密钥存储器的数据读出端连接,所述第二逻辑门电路的第二输入端与预设安全密钥的供给端连接,
所述密钥存储器的数据操作端以及所述第二逻辑门电路的输出端与所述状态机连接;
所述第二逻辑门电路用于对所述外部写入密钥与所述预设安全密钥进行异或运算,将异或运算结果传输给所述状态机;
所述状态机还用于在检测到所述异或运算结果为“1”时,禁止所述主机访问所述闪存阵列,且允许对所述限次计数器以及所述密钥存储器进行擦除和编程操作;在检测到所述异或运算结果为“0”且所述或运算结果为“1”时,允许所述主机访问所述闪存阵列,且允许对所述限次计数器进行编程操作,禁止对所述限次计数器进行擦除操作,禁止对所述密钥存储器进行擦除及编程操作。
3.如权利要求2所述的固态硬盘,其特征在于,所述第二逻辑门电路的第一输入端数量以及第二输入端数量均与所述密钥存储器的数据位宽相同,各个所述第二输入端按照所述预设安全密钥与高电平电压端或低电平电压端连接。
4.如权利要求1所述的固态硬盘,其特征在于,所述状态机与所述总线连接。
5.如权利要求1所述的固态硬盘,其特征在于,所述状态机与所述闪存控制器连接。
6.如权利要求1所述的固态硬盘,其特征在于,所述状态机与所述主机接口控制器连接。
7.一种电子设备,其特征在于,包括主机以及权利要求1-6中任一项所述的固态硬盘,所述主机与所述固态硬盘的主机接口控制器连接,以对所述固态硬盘进行访问。
8.一种固态硬盘的限次访问控制方法,其特征在于,所述固态硬盘包括:固态硬盘包括:主控芯片、闪存阵列以及限次访问电路,所述限次访问电路包括:限次计数器、第一逻辑门电路以及状态机,所述限次计数器包括多个存储单元,所述多个存储单元的初始化数据均为“1”,所述限次计数器的数据读出端与所述第一逻辑门电路的输入端连接,所述限次计数器的数据操作端以及所述第一逻辑门电路的输出端分别与所述状态机连接,所述方法包括:
在用户模式下,监测主机对所述闪存阵列的访问操作;
每监测到所述主机访问一次所述闪存阵列,则向所述限次计数器写入一个“0”值;
若监测到所述第一逻辑门电路输出的或运算结果为“0”,则禁止所述主机访问所述闪存阵列。
9.如权利要求8所述的方法,其特征在于,在进入所述用户模式之前,所述方法还包括:执行初始化配置操作,所述初始化配置操作包括:
对所述限次计数器进行数据擦除操作,使得所述多个存储单元存储的数据均初始化为“1”。
10.如权利要求8所述的方法,其特征在于,所述限次访问电路还包括:第二逻辑门电路以及用于存储外部写入密钥的密钥存储器,所述第二逻辑门电路的第一输入端与所述密钥存储器的数据读出端连接,所述第二逻辑门电路的第二输入端与预设安全密钥的供给端连接,所述密钥存储器的数据操作端以及所述第二逻辑门电路的输出端与所述状态机连接,在进入所述用户模式之前,所述方法还包括:执行初始化配置操作,所述初始化配置操作包括:
在所述固态硬盘上电后,监测所述第二逻辑门电路输出的异或运算结果;
若所述异或运算结果为1,则允许对所述限次计数器以及所述密钥存储器进行擦除和编程操作,对所述限次计数器以及所述密钥存储器进行数据擦除操作,使得所述限次计数器以及所述密钥存储器存储的数据均初始化为“1”,响应于所述主机发送的密钥写入命令,将外部输入的密钥数据写入所述密钥存储器;
若所述异或运算结果为“0”,则开启所述主机对所述闪存阵列的访问通道,进入所述用户模式,并禁止对所述限次计数器进行擦除操作,禁止对所述密钥存储器进行擦除及编程操作,以及开启对所述第一逻辑门电路输出的或运算结果的监测。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211322676.3A CN115659425A (zh) | 2022-10-27 | 2022-10-27 | 固态硬盘及其限次访问控制方法、电子设备 |
PCT/CN2023/119454 WO2024087939A1 (zh) | 2022-10-27 | 2023-09-18 | 固态硬盘及其限次访问控制方法、电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211322676.3A CN115659425A (zh) | 2022-10-27 | 2022-10-27 | 固态硬盘及其限次访问控制方法、电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115659425A true CN115659425A (zh) | 2023-01-31 |
Family
ID=84991991
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211322676.3A Pending CN115659425A (zh) | 2022-10-27 | 2022-10-27 | 固态硬盘及其限次访问控制方法、电子设备 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN115659425A (zh) |
WO (1) | WO2024087939A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116561056A (zh) * | 2023-07-07 | 2023-08-08 | 芯动微电子科技(珠海)有限公司 | 一种片上系统 |
WO2024087939A1 (zh) * | 2022-10-27 | 2024-05-02 | 中国科学院微电子研究所 | 固态硬盘及其限次访问控制方法、电子设备 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5761609A (en) * | 1995-03-09 | 1998-06-02 | United Microelectronics Corporation | Limited use circuit |
AUPQ866000A0 (en) * | 2000-07-07 | 2000-08-03 | Activesky, Inc. | A secure data storage device |
JP2005062974A (ja) * | 2003-08-19 | 2005-03-10 | Canon Inc | 可搬型記憶装置、その制御方法、及び制御プログラム |
CN100535876C (zh) * | 2007-01-08 | 2009-09-02 | 中国信息安全产品测评认证中心 | 一种智能卡与u盘复合设备自销毁的方法 |
US20220027464A1 (en) * | 2020-07-23 | 2022-01-27 | Nxp Usa, Inc. | Systems and methods for constraining access to one time programmable storage elements |
CN112764691A (zh) * | 2021-02-05 | 2021-05-07 | 浙江威固信息技术有限责任公司 | 一种固态硬盘的安全管理方法及固态硬盘 |
CN115659425A (zh) * | 2022-10-27 | 2023-01-31 | 中国科学院微电子研究所 | 固态硬盘及其限次访问控制方法、电子设备 |
CN218333137U (zh) * | 2022-10-27 | 2023-01-17 | 中国科学院微电子研究所 | 固态硬盘及电子设备 |
-
2022
- 2022-10-27 CN CN202211322676.3A patent/CN115659425A/zh active Pending
-
2023
- 2023-09-18 WO PCT/CN2023/119454 patent/WO2024087939A1/zh unknown
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024087939A1 (zh) * | 2022-10-27 | 2024-05-02 | 中国科学院微电子研究所 | 固态硬盘及其限次访问控制方法、电子设备 |
CN116561056A (zh) * | 2023-07-07 | 2023-08-08 | 芯动微电子科技(珠海)有限公司 | 一种片上系统 |
CN116561056B (zh) * | 2023-07-07 | 2024-02-20 | 芯动微电子科技(珠海)有限公司 | 一种片上系统 |
Also Published As
Publication number | Publication date |
---|---|
WO2024087939A1 (zh) | 2024-05-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102487553B1 (ko) | 리페어 가능한 휘발성 메모리를 포함하는 스토리지 장치 및 상기 스토리지 장치의 동작 방법 | |
US8874934B2 (en) | Nonvolatile memory device and operating method | |
CN115659425A (zh) | 固态硬盘及其限次访问控制方法、电子设备 | |
US7085341B2 (en) | Counter with non-uniform digit base | |
US20150113207A1 (en) | Operating method of data storage device | |
KR102571747B1 (ko) | 데이터 저장 장치 및 그것의 동작 방법 | |
US11995348B2 (en) | Data and power management of partitioned buffer in a storage device | |
TWI727458B (zh) | 記憶體裝置及用於控制記憶體裝置之方法 | |
KR20140014518A (ko) | 비휘발성 메모리 장치 및 그 구동 방법 | |
US9105359B2 (en) | Nonvolatile memory device and error correction methods thereof | |
US11157201B2 (en) | Memory system and operating method thereof | |
US20210382660A1 (en) | Apparatus and method for performing recovery operation of memory system | |
CN218333137U (zh) | 固态硬盘及电子设备 | |
US10013190B2 (en) | Data storage device | |
JP2019096281A (ja) | データ記憶装置および関連する操作方法 | |
CN115732023A (zh) | 泄漏检测电路、非易失性存储器装置以及存储器系统 | |
CN110083305B (zh) | 存储器系统及其操作方法 | |
US20240256454A1 (en) | Tokens to indicate completion of data storage | |
TW202141484A (zh) | 安全記憶體裝置、安全記憶體系統及管理篡改偵測的方法 | |
US11188485B2 (en) | Memory system and operating method thereof | |
US20150149740A1 (en) | Data storage device and data processing system including the same | |
KR102632690B1 (ko) | 비휘발성 메모리 장치 및 그 프로그램 방법 | |
US9880926B1 (en) | Log structured reserved zone for a data storage device | |
US10203891B2 (en) | Data storage device and data processing system | |
JP3849942B2 (ja) | 強誘電体メモリを含むシステム |
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 |