CN1443354A - 数据的安全写入 - Google Patents

数据的安全写入 Download PDF

Info

Publication number
CN1443354A
CN1443354A CN01812965A CN01812965A CN1443354A CN 1443354 A CN1443354 A CN 1443354A CN 01812965 A CN01812965 A CN 01812965A CN 01812965 A CN01812965 A CN 01812965A CN 1443354 A CN1443354 A CN 1443354A
Authority
CN
China
Prior art keywords
record
grade
data
file
write
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
Application number
CN01812965A
Other languages
English (en)
Other versions
CN100392765C (zh
Inventor
乔斯·门尼卡特
埃里克·德劳内伊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Thales DIS France SA
Original Assignee
Schlumberger SA
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Schlumberger SA filed Critical Schlumberger SA
Publication of CN1443354A publication Critical patent/CN1443354A/zh
Application granted granted Critical
Publication of CN100392765C publication Critical patent/CN100392765C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/102External programming circuits, e.g. EPROM programmers; In-circuit programming or reprogramming; EPROM emulators
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/22Safety or protection circuits preventing unauthorised or accidental access to memory cells
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1435Saving, restoring, recovering or retrying at system level using file system or storage system metadata

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Electrical Discharge Machining, Electrochemical Machining, And Combined Machining (AREA)
  • Sewing Machines And Sewing (AREA)

Abstract

一种数据处理器,例如一个智能卡,包括一个控制器,用于管理一个文件,其中可以依序存储多个记录。所述控制器查看是否一个记录已经被正确地写入到所述文件中。所述控制器防止与用户相关的软件读取在已经被正确地写入的最后记录后面的记录。

Description

数据的安全写入
技术领域
本发明涉及在可写入存储器中安全写入数据。
它一般可以用于微电子,具体可以用于电子存储卡领域,尤其是接触卡和/或非接触卡以及有线逻辑卡和/或微处理器卡。
背景技术
在实践中,在卡中使用的电子存储器是EPROM闪速存储器或EEPROM存储器(“电子可擦除可编程序只读存储器”),它是非易失性和电子可擦除的,因此是可写入的存储器。
一般,建立与存储卡——特别是非接触卡——之间的事务需要非常快。而且,这样的事务必须被保护以防止可能的数据丢失,它也被称为数据破坏(data corruption),它易于发生在例如当写入操作被执行的时候的意外掉电的情况。
在数据破坏的情况下,用于在可改写存储器中写入数据的已知方法提供了一定程度的安全性。但是,这些方法一般需要几个存储器写入操作,它将写入时间提高了两三倍,并相应地提高了存储器恶化的风险。
发明内容
本发明的一个目的是使得数据被写入得较快。
为此,本发明提供了如权利要求1所限定的一种数据处理器。
本发明允许通过单个操作来写入新的数据,同时可以保证可以被读取的数据的完整性。
从下面的优选实施例的详细说明和附图中,本发明的其他特点和优点将会更清楚。
附图说明
图1是现有技术的循环文件的原理图;
图2是按照本发明的循环文件的结构图;
图3是按照本发明的一个记录的结构图;
图4是示出按照本发明的用于在可改写存储器中安全写入数据的方法的步骤的流程图。
具体实施方式
参见图1,示出了一个EEPROM或闪速EPROM电子可擦除非易失性存储器M,它被一个控制器(未示出)控制,所述控制器可以是一个编程的微处理器。
在实践中,存储器M和形成存储器控制器的微处理器被实现在同一电子部件上,它也被称为半导体芯片。
通常,存储器M用于存储被构造成由所述存储器控制器控制的逻辑实体的信息。在实践中,存储器M被划分成例如用于读取信息的一个字节元素,并被划分为页面,用于删除所述信息,其中所述写入操作也可以在逐页的基础上被执行。
通过适当的程序,存储器控制器被适用于将一种或多种数据类型的所述逻辑实体组织为页面,即同步为页面。这样的同步在例如申请EP 0 767 742中被说明。
通过示例,示出现有技术的图1的存储器M被针对循环文件的首标H1同步,所述循环文件包括使用从1到n的n个整数而组织成一个循环的n个记录。
循环文件被形成具有首标H1,包括由存储器控制器唯一使用的数据和一组被逻辑组织成一个循环的记录。所述记录是具有固定长度的。
对于被保护的写入,即当保证数据写入操作的完整性的时候,每次通过至少三个写入操作来执行写入操作,第一个用于在备份存储区域写入,一个用于向数据区域写入,一个用于向备份存储区域写入以便删除同一个。
使用这种现有技术的被保护写入方法,以便避免数据丢失,特别是当卡被有意或无意地撤出的时候。但是,这种方法增加了写入时间,并相应地增加了存储器恶化的风险。
本发明克服了这个缺点。一个实施例是基于用于通过单个的写入操作写入诸如参照图1所述的循环文件的技术,用于通过单个的写入操作,以安全的方式修改记录并同时对撤出(取出卡)保护。具体上,现有技术通过使用数据和记录而被改进,其中所述数据和记录隐藏在循环文件中,下面将详细说明。
参见图2,图解了一个循环文件。它包括n+1个记录,它们被组织成一个循环,其中n是一个整数。每个记录包括一个等级指示、完整性查看数据和至少一个数据值。完整性查看数据的形式可以是例如一个校验和冗余码(CRC)。根据包括在记录中的数据值来计算所述CRC。
假设记录n是最后一个被正确写入存储器M的记录。在这种情况下,记录1到n是用户可以访问的。记录n+1是对用户隐藏的。每个记录的等级指示和完整性查看数据页面也对用户隐藏,因此仅仅存储器控制器可以访问它们。存储器控制器是由微处理器构成的,所述微处理器具有一个存储器,在这个存储器中存储了一个合适的操作系统(OS)。对用户隐藏意味着与用户相关的软件(在OS下运行的应用程序)不可访问。
换句话说,对于图1所述的现有技术的存储器增加了一个对用户隐藏的记录和下面将详细描述的已经建立的安全写入方法。对用户隐藏的所述记录是在已经正确被写入的最后一个记录后面的记录。
图4示出了安全写入方法。在下面的说明中,假定记录n是已经被正确写入的最后一个记录。因此,记录n+1是所谓的隐藏记录。
用于向可改写存储器写入数据的所述安全方法包括下列步骤:
在未示出的初始步骤中,提供了一个存储器M,它形成一个循环文件,其中具有被组织成一个循环的n+1个记录。
在步骤2,当存在要写入如此定义的存储器中的数据时,存储器控制器选择所述循环文件。
在步骤4,存储器控制器搜索当前的最高等级记录。这是通过扫描存储器而进行。如上所述,每个记录包括一个等级指示。一个记录的所述等级指示等于最后写入的记录的等级指示加1。被写入的第一个记录具有例如等级指示1。被写入的第二个记录将具有等级指示2。被写入的第K个记录将具有等于K模n+1的等级指示。
存储器控制器询问在文件中包括的每个记录的等级指示。因此,它将找到具有最高等级指示的记录。这个记录是最后写入存储器的记录。
在步骤6,存储器控制器在记录中包括的数据值的基础上进行计算。这个计算与用于建立完整性查看数据的计算相同,完整性查看数据的形式是CRC。
在步骤8存储器控制器将在步骤6进行的计算的结果与CRC比较。因此,获得一个完整性标志。这个完整性标志指示是否数据值被破坏。
如果数据值被破坏(步骤10),则存储器控制器写入要写入隐藏的记录——记录n+1——的数据。
存储器控制器查看这个写入操作的完整性(步骤12)。即,进行与步骤6所述的类似的操作。
在成功写入的情况下(步骤12),存储器控制器将隐藏记录的等级递增一个单位。隐藏记录成为(n+1+1)模(n+1)。记录2到n+1是可访问的。
在未成功写入的情况下(步骤16),隐藏的记录的等级保持不变:n+1,以便这个记录n+1保持隐藏。
如果在步骤8数据未被破坏(完整性标志良好),则进行步骤18。在步骤18,存储器控制器在图4所示的写入操作的开始向隐藏记录后面的记录写入数据。隐藏的记录是n+1,因此存储器控制器在记录(n+1+1)mod(n+1)=1中写入。即,存储器控制器在写入操作的开始将记录1替换为要写入的数据。
写入操作的完整性被查看(步骤20)。
在成功写入的情况下(步骤22),隐藏的记录是2,因为记录1是已经被成功写入的最后一个记录。记录3到n+2是用户可以访问的。
在失败,不成功写入的情况下(步骤24),隐藏的记录是记录1,因为记录n+1是已经成功写入的最后的记录。记录1在记录n+1的后面,因为记录以循环的形式被组织。
应当指出,用于有n个记录的需要仍然被满足。用户将不会通告在编号上的任何变化,因为按照公知的手段,操作系统按照是否一个给定的记录应当保持对用户隐藏而以一对一的关系来使用户看见的编号与实际的记录编号匹配。
在实践中,特别是在电子钱包应用程序的情况下,按照步骤8查看完整性标志的状态在于立即查看在前的记录(n)等,直到达到下一个有效记录。在与外部提供的数据一起使用的有效记录中的数据(例如在电子钱包应用程序的情况下的所述钱包的余额)随后被还原,用于计算要更新到记录n+1的新的余额。
在实践中,写入数据(步骤12和20)在于在具有按照本发明方法选择的等级的记录中写入被接收的和先前存储在工作存储器区域中的数据,并且递增所述记录等级。
总之,当卡定制者(card customizer)建立例如n个记录的文件的时候,按照本发明的操作系统结果产生n+1个记录。
文件首标H1被有利地补充了一个冗余区域ZP,如图2所示,它位于首标H1的后面,以便第一个记录在存储页面M的边界开始。因此,当更新一个记录的时候需要一个写入操作。
参见图3,一个记录的结构可以包括分配到数据的x个字节——x是一个整数、分配到完整性查看数据的两个字节——例如一个CRC、分配到记录等级指示的一个字节。
有利的是,分配到完整性标志和记录等级的三个附加字节对用户隐藏,即仅仅存储器控制器可以访问。
优选的是,写入方法被使得仅仅接受x+3字节大小的记录,x+3字节大小小于或等于一个存储页面的大小的模数。这使得可以在可改写存储器的单个页面中执行所有的删除和写入操作。
换句话说,当定制者希望产生x字节的记录长度,则操作系统建立一个x+3的记录。三个增加的字节用于CRC和记录等级指示。
在上述的示例中,用户也是定制者。按照一个改进,当用户不是卡定制者的时候,用户仅仅可以改进记录的内容而不能建立任何内容。
有可能建立一个循环文件建立命令“create file”供卡定制者用于在保证页面边界条件被满足的同时建立一个文件。因此,在这样的条件下,每个记录的大小等于页面大小的模数。
应当注意,可以由操作系统来建立命令“create file”以便仅仅接受长度为13、29或61明显字节长度——对应于用于循环文件的16、32或64实际字节——的记录(在这个示例中,假定存储页面大小是64个字节)。如果存储页面的大小是32个字节,那么值61是无效的。
在实际中,当用户建立具有小于13字节长度的记录的时候,这个记录被定制为16字节的长度。类似地,对于其长度小于29字节的一个记录,记录长度被设置为32。相同的方法被应用到小于61的长度——它被设置为64字节。在实践中,这个设置或“填充”操作对用户是隐藏的。这些定制保证了在一个EEPROM存储器中的所有的写入操作在一个单个页面中被执行。
按照本发明,当执行快速事务的时候,诸如通过非接触卡,文件访问时间被优化,同时保持写入安全性。而且,因为存储器备份区域是循环的,因此本发明的另一个优点在于EPROM存储器的更小的耗损。
以上本说明书说明了本发明的下列特点。一种数据处理器包括一个控制器,用于管理一个文件,其中可以依序存储多个记录。控制器查看是否一个记录已经被正确地写入到所述文件中。控制器防止与用户相关的软件读取在已经被正确地写入的最后一个记录后面的记录。
不能被与用户相关的软件访问的记录是“隐藏的记录”。隐藏的记录在文件中移动。它的移动是成功或不成功写入的函数。当数据需要被写入的时候,它被写入到隐藏记录中。如果写入成功,则隐藏记录移动一个单位。如果写入不成功,则隐藏记录不移动。

Claims (6)

1.一种数据处理器,包括一个控制器,用于管理一个文件,其中可以依序存储多个记录,所述控制器查看是否一个记录已经被正确地写入到所述文件中,其特征在于,所述控制器防止与用户相关的软件读取在已经被正确地写入的最后一个记录后面的记录。
2.按照权利要求1所述的数据处理器,其特征在于,当一个新记录需要被写入到所述文件中的时候,所述控制器用所述新记录来替换在已经被正确地写入的最后一个记录后面的记录。
3.一种管理文件的方法,其中多个记录被依序存储,所述方法包括:
-验证步骤,其中查看是否一个记录已经被正确地写入到所述文件中;以及
-访问控制步骤,其中防止读取在已经被正确地写入的最后一个记录后面的记录。
4.一种计算机程序产品,用于管理文件,其中多个记录被依序存储,所述计算机程序产品包括一组指令,当将它们装入一个数据处理器中的时候,使得所述数据处理器执行:
-验证步骤,其中数据处理器查看是否一个记录已经被正确地写入到所述文件中;以及
-访问控制步骤,其中数据处理器防止读取在已经被正确地写入的最后一个记录后面的记录。
5.一种用于在可改写存储器安全写入的方法,其特征在于它包括步骤:
a)定义一个包括一个循环文件的存储器,其中所述循环文件具有被组织成一个循环的m个记录,其中m是一个从1到n+1的整数,每个记录包括至少一个等级、一个用于指示不良或良好状态的完整性标志和一个数据值,等级1到n的记录可以被用户访问,而等级n+1的记录、完整性标志和每个记录的等级对用户隐藏。
b)在存在要写入到如此定义的存储器中的数据的时候,选择所述循环文件;
c)获取最高等级m=n+1的当前记录,并查看它的完整性标志的状态;
d)在完整性标志不良的时候,写入要写入到等级m=n+1的当前记录的数据,在成功的情况下,将当前记录的等级递增一个单位m=n+1+1=1,它随后变为隐藏,以便等级2到n+1的记录可以被访问;而在不成功的情况下,不改变当前记录m=n+1的等级,它保持隐藏,而等级为1到n的其他记录保持用户可以访问;
e)在完整性标志良好的时候,写入要写入到下一个等级m=n+1+1=1的记录的数据,在成功的情况下,将记录的等级递增一个单位m=1+1=2,它随后变为隐藏,以便等级3到n+2的记录可以被访问;而在不成功的情况下,不改变当前记录m=n+2的等级,它保持隐藏,而等级为2到n+1的其他记录保持用户可以访问。
6.一种数据处理器,其中文件首标被补充一个冗余区域,以便第一记录在存储页面的边界开始。
CNB01812965XA 2000-07-19 2001-07-19 数据的安全写入 Expired - Fee Related CN100392765C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR0009488 2000-07-19
FR0009488A FR2812116A1 (fr) 2000-07-19 2000-07-19 Procede et dispositif d'inscription securisee de donnees dans une memoire reinscriptible

Publications (2)

Publication Number Publication Date
CN1443354A true CN1443354A (zh) 2003-09-17
CN100392765C CN100392765C (zh) 2008-06-04

Family

ID=8852705

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB01812965XA Expired - Fee Related CN100392765C (zh) 2000-07-19 2001-07-19 数据的安全写入

Country Status (8)

Country Link
US (1) US20030172068A1 (zh)
EP (1) EP1301929B1 (zh)
JP (2) JP2004505358A (zh)
CN (1) CN100392765C (zh)
AT (1) ATE408883T1 (zh)
DE (1) DE60135847D1 (zh)
FR (1) FR2812116A1 (zh)
WO (1) WO2002009120A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102306195A (zh) * 2011-09-21 2012-01-04 东信和平智能卡股份有限公司 一种循环文件更新的事物保护方法

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2856490B1 (fr) * 2003-06-17 2005-10-07 Thales Sa Procede d'ecriture, de mise a jour et d'allocation memoire applique a l'ecriture de fichiers sur un support memoire tel qu'une carte a puce

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6231423A (ja) * 1985-08-02 1987-02-10 Hitachi Ltd 磁気記憶装置
JPS62173644A (ja) * 1986-01-27 1987-07-30 Nec Eng Ltd 光デイスク装置
JPS62177768A (ja) * 1986-01-31 1987-08-04 Sony Corp エラ−訂正装置
JPH03250499A (ja) * 1990-02-27 1991-11-08 Nec Corp データ記憶回路
JPH07182218A (ja) * 1993-11-12 1995-07-21 Sony Corp ディスク記録装置及びそのファイル管理方法
JPH08287697A (ja) * 1995-04-18 1996-11-01 Nippondenso Co Ltd メモリ装置
FR2740237B1 (fr) * 1995-10-18 1997-11-14 Schlumberger Ind Sa Composant electronique a memoire synchronisee
FR2742893B1 (fr) * 1995-12-20 1998-01-16 Schlumberger Ind Sa Procede d'inscription d'une donnee dans une memoire reinscriptible
FR2754926B1 (fr) * 1996-10-23 1998-11-20 Schlumberger Ind Sa Procede de gestion de defauts d'integrite de donnees dans une memoire reinscriptible
US6317800B1 (en) * 1997-11-17 2001-11-13 Seagate Technology Llp System for reducing arbitrated-loop overhead by maintaining control of a communications channel as long as a predetermined amount of data is available within control of channel node
JPH11194976A (ja) * 1997-12-30 1999-07-21 Tohoku Ricoh Co Ltd 累積情報保持方法及び累積情報保持装置
US6535997B1 (en) * 1999-05-19 2003-03-18 International Business Machines Corporation Data integrity in smartcard transactions

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102306195A (zh) * 2011-09-21 2012-01-04 东信和平智能卡股份有限公司 一种循环文件更新的事物保护方法

Also Published As

Publication number Publication date
ATE408883T1 (de) 2008-10-15
WO2002009120A1 (en) 2002-01-31
FR2812116A1 (fr) 2002-01-25
EP1301929B1 (en) 2008-09-17
CN100392765C (zh) 2008-06-04
JP2012138125A (ja) 2012-07-19
EP1301929A1 (en) 2003-04-16
DE60135847D1 (de) 2008-10-30
JP2004505358A (ja) 2004-02-19
US20030172068A1 (en) 2003-09-11

Similar Documents

Publication Publication Date Title
US6282605B1 (en) File system for non-volatile computer memory
US9134918B2 (en) Physical compression of data with flat or systematic pattern
US7610434B2 (en) File recording apparatus
US10831734B2 (en) Update-insert for key-value storage interface
KR101004876B1 (ko) 비휘발성 메모리 시스템에서 사용하기 위한 전원 관리 블록
US7818493B2 (en) Adaptive block list management
JP4633802B2 (ja) 不揮発性記憶装置及びデータ読み出し方法及び管理テーブル作成方法
US8412752B2 (en) File system having transaction record coalescing
KR100980309B1 (ko) 호스트 디바이스 및 메모리 시스템
US7395384B2 (en) Method and apparatus for maintaining data on non-volatile memory systems
CN1223945C (zh) 改进的闪速文件系统
US6865658B2 (en) Nonvolatile data management system using data segments and link information
CA2550974C (en) Optimized start-up verification of file system integrity
US20110161560A1 (en) Erase command caching to improve erase performance on flash memory
US8307172B2 (en) Memory system including memory controller and separately formatted nonvolatile memory to avoid “copy-involving write” during updating file data in the memory
EP1744246A2 (en) File system having deferred verification of data integrity
US6636941B1 (en) Enhanced stable disk storage
EP1576478A2 (en) Method and apparatus for grouping pages within a block
CN1352769A (zh) 在分离的存储区域中存储数据组的不同版本的装置和更新存储器中数据组的方法
US20080034182A1 (en) Data storage device, memory management method and program
CN1447243A (zh) 快闪存储器中快速且能防止不正常断电的演算法及其控制系统
EP1046996B1 (en) Memory defragmentation in chipcards
CN1443354A (zh) 数据的安全写入
CN1115630C (zh) 微型计算机
CN1534509A (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
C14 Grant of patent or utility model
GR01 Patent grant
C56 Change in the name or address of the patentee

Owner name: SETEC OY

Free format text: FORMER NAME: AXALTO SA

CP03 Change of name, title or address

Address after: East France

Patentee after: Gemalto Sa

Address before: Monte Carlo, France

Patentee before: Axalto S. A.

C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20080604

Termination date: 20130719