CN104008069A - 一种数据保护方法、装置及设备 - Google Patents
一种数据保护方法、装置及设备 Download PDFInfo
- Publication number
- CN104008069A CN104008069A CN201310057355.XA CN201310057355A CN104008069A CN 104008069 A CN104008069 A CN 104008069A CN 201310057355 A CN201310057355 A CN 201310057355A CN 104008069 A CN104008069 A CN 104008069A
- Authority
- CN
- China
- Prior art keywords
- data
- storage
- storage space
- inverse transform
- stored
- 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
- 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/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1012—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using codes or arrangements adapted for a specific type of error
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1048—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/1666—Error detection or correction of the data by redundancy in hardware where the redundant component is memory or memory area
- G06F11/167—Error detection by comparing the memory output
-
- 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/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/065—Replication mechanisms
-
- 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
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Human Computer Interaction (AREA)
- Computer Security & Cryptography (AREA)
- Storage Device Security (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明实施例提供一种数据保护方法、装置及设备。所述方法包括:在接收到主设备发送的携带地址和待存储数据的写命令时,将所述待存储数据写入存储单元中与所述地址对应的第一存储空间,并且,将与所述待存储数据对应的保护数据写入保护单元中与所述地址对应的第二存储空间;在接收到主设备发送的携带所述地址的读命令时,根据所述第一存储空间中的存储数据和所述第二存储空间中的存储数据,确定所述待存储数据的复原数据;将所述复原数据作为所述读命令的响应数据。本发明实施例实现了高效的存储设备数据保护。
Description
技术领域
本发明实施例涉及信息技术领域,尤其涉及一种数据保护方法、装置及设备。
背景技术
在某些特殊领域,有些数据及文件非常重要,如果数据丢失或者出错往往会造成重大损失,但由于电子产品的特点决定了,不可能有完全可靠的存储设备,并且也没有一种方法能够确保所有数据都不会丢失或者出错。
传统的对存储设备中存储单元的数据读写,存储单元根据主设备(Host)的写命令将来自Host的数据存储起来,以及根据Host的读命令向Host返回相应的存储数据。但是,在实际中,由于这种存储并非完全可靠,存储单元中存储的数据可能会丢失或出错。常规的存储设备保护,需要专门的驱动及应用软件的支持,系统运行效率不高。
发明内容
有鉴于此,本发明实施例的目的是提供一种数据保护方法、装置及设备,以实现高效的存储设备数据保护。
为解决上述技术问题,本发明实施例提供方案如下:
本发明实施例提供一种数据保护方法,所述方法包括:
在接收到主设备发送的携带地址和待存储数据的写命令时,将所述待存储数据写入存储单元中与所述地址对应的第一存储空间,并且,
将与所述待存储数据对应的保护数据写入保护单元中与所述地址对应的第二存储空间;
在接收到主设备发送的携带所述地址的读命令时,根据所述第一存储空间中的存储数据和所述第二存储空间中的存储数据,确定所述待存储数据的复原数据;
将所述复原数据作为所述读命令的响应数据。
优选的,所述保护单元包括至少两个保护子单元,所述第二存储空间包括所述至少两个保护子单元各自与所述地址对应的存储子空间;
所述将与所述待存储数据对应的保护数据写入保护单元中与所述地址对应的第二存储空间具体包括:
将所述保护数据分别写入所述至少两个保护子单元各自与所述地址对应的存储子空间;
所述根据所述第一存储空间中的存储数据和所述第二存储空间中的存储数据,确定所述待存储数据的复原数据具体包括:
根据所述第一存储空间中的存储数据和所述第二存储空间中的每个存储子空间中的存储数据,确定所述复原数据。
优选的,所述方法还包括:
按照一数据转换模式,对所述待存储数据进行转换处理,得到所述保护数据;
所述根据所述第一存储空间中的存储数据和所述第二存储空间中的每个存储子空间中的存储数据,确定所述复原数据具体包括:
按照所述数据转换模式,对所述第二存储空间中的第一存储子空间中的存储数据进行针对所述转换处理的反转换处理,得到第一反转换处理后数据;
判断所述第一存储空间中的存储数据与所述第一存储子空间对应的反转换处理后数据是否一致,获取一第一判断结果;
当所述第一判断结果为是时,将所述第一存储空间中的存储数据确定为所述复原数据;
当所述第一判断结果为否时,对所述第二存储空间中的第二存储子空间中的存储数据进行针对所述转换处理的反转换处理,得到第二反转换处理后数据,并根据所述第一存储空间中的存储数据、所述第一反转换处理后数据和所述第二反转换处理后数据,确定所述复原数据。
优选的,所述根据所述第一存储空间中的存储数据、所述第一反转换处理后数据和所述第二反转换处理后数据,确定所述复原数据具体包括:
判断所述第一反转换处理后数据与所述第二反转换处理后数据是否一致,获取一第二判断结果;
当所述第二判断结果为是时,将所述第一反转换处理后数据和所述第二反转换处理后数据中的任一个确定为所述复原数据;
当所述第二判断结果为否时,将所述第一存储空间中的存储数据确定为所述复原数据。
优选的,所述数据转换模式由主设备配置得到。
本发明实施例提供一种数据保护装置,所述装置包括:
写入模块,用于在接收到主设备发送的携带地址和待存储数据的写命令时,将所述待存储数据写入存储单元中与所述地址对应的第一存储空间,并且,
将与所述待存储数据对应的保护数据写入保护单元中与所述地址对应的第二存储空间;
确定模块,用于在接收到主设备发送的携带所述地址的读命令时,根据所述第一存储空间中的存储数据和所述第二存储空间中的存储数据,确定所述待存储数据的复原数据;
响应模块,用于将所述复原数据作为所述读命令的响应数据。
优选的,所述保护单元包括至少两个保护子单元,所述第二存储空间包括所述至少两个保护子单元各自与所述地址对应的存储子空间;
所述写入模块具体包括:
写入单元,用于在接收到主设备发送的携带地址和待存储数据的写命令时,将所述待存储数据写入存储单元中与所述地址对应的第一存储空间,并且,
将所述保护数据分别写入所述至少两个保护子单元各自与所述地址对应的存储子空间;
所述确定模块具体包括:
确定单元,用于在接收到主设备发送的携带所述地址的读命令时,根据所述第一存储空间中的存储数据和所述第二存储空间中的每个存储子空间中的存储数据,确定所述复原数据。
优选的,所述装置还包括:
转换模块,用于按照一数据转换模式,对所述待存储数据进行转换处理,得到所述保护数据;
所述确定单元具体包括:
转换子单元,用于按照所述数据转换模式,对所述第二存储空间中的第一存储子空间中存储的数据进行针对所述转换处理的反转换处理,得到第一反转换处理后数据;
第一判断子单元,用于判断所述第一存储空间中的存储数据与所述第一存储子空间对应的反转换处理后数据是否一致,获取一第一判断结果;
第一确定子单元,用于当所述第一判断结果为是时,将所述第一存储空间中的存储数据确定为所述复原数据;
第二确定子单元,用于当所述第一判断结果为否时,对所述第二存储空间中的第二存储子空间中的存储数据进行针对所述转换处理的反转换处理,得到第二反转换处理后数据,并根据所述第一存储空间中的存储数据、所述第一反转换处理后数据和所述第二反转换处理后数据,确定所述复原数据。
优选的,所述第二确定子单元具体包括:
第二判断子单元,用于判断所述第一反转换处理后数据与所述第二反转换处理后数据是否一致,获取一第二判断结果;
第三确定子单元,用于当所述第二判断结果为是时,将所述第一反转换处理后数据和所述第二反转换处理后数据中的任一个确定为所述复原数据;
第四确定子单元,用于当所述第二判断结果为否时,将所述第一存储空间中的存储数据确定为所述复原数据。
本发明实施例提供一种存储设备,包括主设备、接口控制单元、存储单元和保护单元,所述接口控制单元与主设备、存储单元和保护单元分别连接,所述接口控制单元包括以上所述的数据保护装置。
从以上所述可以看出,本发明实施例至少具有如下有益效果:
通过将与待存储数据对应的保护数据写入保护单元,在接收到相应的读命令时,根据保护单元和存储单元中的存储数据确定待存储数据的复原数据,将之作为读命令的响应数据,从而实现了高效的存储设备数据保护。
附图说明
图1为本发明实施例提供的一种数据保护方法的步骤流程图;
图2为常规存储设备设计结构示意图;
图3A为带实时保护功能的存储设备设计结构示意图;
图3B为图3A中接口控制单元的实现示意图;
图4为带实时保护的存储设备数据写入流程示意图;
图5为带实时保护的存储设备数据读取流程示意图;
图6为数据自动修复流程示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图及具体实施例对本发明实施例进行详细描述。
图1为本发明实施例提供的一种数据保护方法的步骤流程图,参照图1,本发明实施例提供一种数据保护方法,所述方法包括如下步骤:
步骤101,在接收到主设备发送的携带地址和待存储数据的写命令时,将所述待存储数据写入存储单元中与所述地址对应的第一存储空间,并且,
将与所述待存储数据对应的保护数据写入保护单元中与所述地址对应的第二存储空间;
步骤102,在接收到主设备发送的携带所述地址的读命令时,根据所述第一存储空间中的存储数据和所述第二存储空间中的存储数据,确定所述待存储数据的复原数据;
步骤103,将所述复原数据作为所述读命令的响应数据。
可见,通过将与待存储数据对应的保护数据写入保护单元,在接收到相应的读命令时,根据保护单元和存储单元中的存储数据确定待存储数据的复原数据,将之作为读命令的响应数据,从而实现了高效的存储设备数据保护。
其中,主设备可以由CPU、PCI Master等可以主动发起数据操作的设备组成。
存储单元和保护单元可以由各种存储设备组成,存储设备的各类例如:SDRAM、FLASH、EEPROM存储芯片或闪存卡等外部存储设备。
所述保护数据可以包括所述待存储数据的纠检错数据,则所述根据所述第一存储空间中的存储数据和所述第二存储空间中的存储数据,确定所述待存储数据的复原数据具体可以包括:
根据所述第二存储空间中的纠检错数据对所述第一存储空间中的存储数据进行检错运算,获取一检错结果;
当检错结果为出错时,将所述第一存储空间中的存储数据确定为所述复原数据;
当检错结果为未出错时,根据纠检错数据对所述第一存储空间中的存储数据进行纠错处理,得到纠错处理后数据,并将该纠错处理后数据确定为所述复原数据。
或者,所述保护数据也可以包括所述待存储数据的两个以上副本数据,则所述根据所述第一存储空间中的存储数据和所述第二存储空间中的存储数据,确定所述待存储数据的复原数据具体可以包括:
判断所述第一存储空间中的存储数据与所述第二存储空间中与所述两个以上副本数据中的任一副本数据对应的存储数据是否一致,如果一致,则将所述第一存储空间中的存储数据确定为所述复原数据;否则,判断所述第二存储空间中与所述两个以上副本数据各自对应的存储数据是否一致,如果是,则将与所述第二存储空间中与所述两个以上副本数据中的任一副本数据对应的存储数据确定为所述复原数据,否则将所述第一存储空间中的存储数据确定为所述复原数据。
在本发明实施例中,所述保护单元可以包括至少两个保护子单元,所述第二存储空间可以包括所述至少两个保护子单元各自与所述地址对应的存储子空间;
所述将与所述待存储数据对应的保护数据写入保护单元中与所述地址对应的第二存储空间具体可以包括:
将所述保护数据分别写入所述至少两个保护子单元各自与所述地址对应的存储子空间;
所述根据所述第一存储空间中的存储数据和所述第二存储空间中的存储数据,确定所述待存储数据的复原数据具体包括:
根据所述第一存储空间中的存储数据和所述第二存储空间中的每个存储子空间中的存储数据,确定所述复原数据。
进一步地,所述方法还可以包括:
按照一数据转换模式,对所述待存储数据进行转换处理,得到所述保护数据;
所述根据所述第一存储空间中的存储数据和所述第二存储空间中的每个存储子空间中的存储数据,确定所述复原数据具体可以包括:
按照所述数据转换模式,对所述第二存储空间中的第一存储子空间中存储的数据进行针对所述转换处理的反转换处理,得到第一反转换处理后数据;
判断所述第一存储空间中的存储数据与所述第一存储子空间对应的反转换处理后数据是否一致,获取一第一判断结果;
当所述第一判断结果为是时,将所述第一存储空间中的存储数据确定为所述复原数据;
当所述第一判断结果为否时,对所述第二存储空间中的第二存储子空间中的存储数据进行针对所述转换处理的反转换处理,得到第二反转换处理后数据,并根据所述第一存储空间中的存储数据、所述第一反转换处理后数据和所述第二反转换处理后数据,确定所述复原数据。
其中,数据转换模式例如:对数据进行翻转,或者通过某些纠错算法进行处理等等。
所述根据所述第一存储空间中的存储数据、所述第一反转换处理后数据和所述第二反转换处理后数据,确定所述复原数据具体可以包括:
判断所述第一反转换处理后数据与所述第二反转换处理后数据是否一致,获取一第二判断结果;
当所述第二判断结果为是时,将所述第一反转换处理后数据和所述第二反转换处理后数据中的任一个确定为所述复原数据;
当所述第二判断结果为否时,将所述第一存储空间中的存储数据确定为所述复原数据。
这里,所述至少两个保护子单元例如:至少两个存储读写模块。由于至少两个存储读写模块数据同时出错的可能性非常小,因此就实现了可靠的数据存储保护。
此外,所述数据转换模式可以为预设的默认模式,或者,也可以由主设备配置得到,例如,由主设备通过所述写命令中携带的模式指示信息配置得到。
为将本发明实施例进一步阐述明白,下面给出本发明实施例的优选实施方式。
图2为常规存储设备设计结构示意图,参照图2,主设备(Host)直接将数据写入存储单元中某地址对应的存储空间,并从该存储空间读取数据。
图3A为本优选实施方式的带实时保护功能的存储设备设计结构示意图,图3B为图3A中接口控制单元的实现示意图,参照图3A和图3B,接口控制单元分别与主设备、存储单元和保护单元连接,接口控制单元将数据直接下发给存储单元,并将数据通过转换单元进行转换后,将转换后的数据写入保护单元。
与图3A和图3B相应,本优选实施方式的带实时保护的存储设备数据写入流程如图4所示,具体步骤如下:
步骤401,本次处理流程开始;
步骤402,Host下发写命令到接口转换单元;
步骤403,接口转换单元将接收到的地址直接送到下面的存储设备;
步骤404,接口转换单元将接收到数据直接送到下面的存储设备;
步骤405,接口转换单元按照自身默认配置的数据转换模式或者Host通过写命令为其配置的数据转换模式,将接收到的数据进行转换后送到保护单元;
步骤406,本次流程结束。
图5为本优选实施方式的带实时保护的存储设备数据读取流程示意图,参照图5,带实时保护的存储设备数据读取流程的具体步骤如下:
步骤501,本次处理流程开始;
步骤502,Host下发数据读取命令到接口转换单元;
步骤503,接口转换单元将地址直接下发到存储单元及保护单元;
步骤504,接口转换单元按照写入流程中采用的转换模式,将由保护单元读取回的数据进行反转换后,得到转换后的数据,并将转换后的数据与从存储单元读取回的数据进行比较,如果一致则直接返回从存储单元读取回的数据给Host,流程结束;如果不一致,则检测到错误发生,进入如图6所示的数据自动修复流程。
图6为本优选实施方式的数据自动修复流程示意图,参照图6,数据自动修复流程的具体步骤如下:
步骤601,本次处理流程开始;
步骤602,接口转换单元同时将两个转换单元(设为转换单元1和转换单元2)中的数据进行还原,形成还原数据1和还原数据2;
步骤603,比较还原数据1和还原数据2,如果不一致,则说明还原数据错误,直接返回从存储单元读取回的数据给Host;
步骤604,比较还原数据1和还原数据2,如果一致,则确认还原数据正确;根据还原数据对存储单元数据进行修复,并返回还原数据1或还原数据2(即图中的“准确数据”)给Host;
步骤605,该流程结束。
本发明实施例还提供一种数据保护装置,所述装置包括:
写入模块,用于在接收到主设备发送的携带地址和待存储数据的写命令时,将所述待存储数据写入存储单元中与所述地址对应的第一存储空间,并且,
将与所述待存储数据对应的保护数据写入保护单元中与所述地址对应的第二存储空间;
确定模块,用于在接收到主设备发送的携带所述地址的读命令时,根据所述第一存储空间中的存储数据和所述第二存储空间中的存储数据,确定所述待存储数据的复原数据;
响应模块,用于将所述复原数据作为所述读命令的响应数据。
可见,通过将与待存储数据对应的保护数据写入保护单元,在接收到相应的读命令时,根据保护单元和存储单元中的存储数据确定待存储数据的复原数据,将之作为读命令的响应数据,从而实现了高效的存储设备数据保护。
其中,所述保护单元可以包括至少两个保护子单元,所述第二存储空间可以包括所述至少两个保护子单元各自与所述地址对应的存储子空间;
所述写入模块具体可以包括:
写入单元,用于在接收到主设备发送的携带地址和待存储数据的写命令时,将所述待存储数据写入存储单元中与所述地址对应的第一存储空间,并且,
将所述保护数据分别写入所述至少两个保护子单元各自与所述地址对应的存储子空间;
所述确定模块具体可以包括:
确定单元,用于在接收到主设备发送的携带所述地址的读命令时,根据所述第一存储空间中的存储数据和所述第二存储空间中的每个存储子空间中的存储数据,确定所述复原数据。
进一步地,所述装置还可以包括:
转换模块,用于按照一数据转换模式,对所述待存储数据进行转换处理,得到所述保护数据;
所述确定单元具体可以包括:
转换子单元,用于按照所述数据转换模式,对所述第二存储空间中的第一存储子空间中存储的数据进行针对所述转换处理的反转换处理,得到第一反转换处理后数据;
第一判断子单元,用于判断所述第一存储空间中的存储数据与所述第一存储子空间对应的反转换处理后数据是否一致,获取一第一判断结果;
第一确定子单元,用于当所述第一判断结果为是时,将所述第一存储空间中的存储数据确定为所述复原数据;
第二确定子单元,用于当所述第一判断结果为否时,对所述第二存储空间中的第二存储子空间中的存储数据进行针对所述转换处理的反转换处理,得到第二反转换处理后数据,并根据所述第一存储空间中的存储数据、所述第一反转换处理后数据和所述第二反转换处理后数据,确定所述复原数据。
其中,所述第二确定子单元具体可以包括:
第二判断子单元,用于判断所述第一反转换处理后数据与所述第二反转换处理后数据是否一致,获取一第二判断结果;
第三确定子单元,用于当所述第二判断结果为是时,将所述第一反转换处理后数据和所述第二反转换处理后数据中的任一个确定为所述复原数据;
第四确定子单元,用于当所述第二判断结果为否时,将所述第一存储空间中的存储数据确定为所述复原数据。
本发明实施例还提供一种存储设备。所述存储设备包括主设备、接口控制单元、存储单元和保护单元,所述接口控制单元与主设备、存储单元和保护单元分别连接,所述接口控制单元包括以上所述的数据保护装置。
其中,接口控制单元可以由可编程逻辑(PLD)或ASIC芯片组成。
常规存储设备保护,一般通过软件加硬件的方案来实现,一方面成本比较高,最关键的是需要专门的软件进行支持,对于常规产品开发提出了特别的要求;本发明实施例提供的上述存储设备,适用于嵌入式系统或者其他中小型设备中,实现简单,对驱动及应用软件无任何特别的要求,完全由硬件实现,系统运行效率非常高。
以上所述仅是本发明实施例的实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明实施例原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明实施例的保护范围。
Claims (10)
1.一种数据保护方法,其特征在于,所述方法包括:
在接收到主设备发送的携带地址和待存储数据的写命令时,将所述待存储数据写入存储单元中与所述地址对应的第一存储空间,并且,
将与所述待存储数据对应的保护数据写入保护单元中与所述地址对应的第二存储空间;
在接收到主设备发送的携带所述地址的读命令时,根据所述第一存储空间中的存储数据和所述第二存储空间中的存储数据,确定所述待存储数据的复原数据;
将所述复原数据作为所述读命令的响应数据。
2.根据权利要求1所述的方法,其特征在于,所述保护单元包括至少两个保护子单元,所述第二存储空间包括所述至少两个保护子单元各自与所述地址对应的存储子空间;
所述将与所述待存储数据对应的保护数据写入保护单元中与所述地址对应的第二存储空间具体包括:
将所述保护数据分别写入所述至少两个保护子单元各自与所述地址对应的存储子空间;
所述根据所述第一存储空间中的存储数据和所述第二存储空间中的存储数据,确定所述待存储数据的复原数据具体包括:
根据所述第一存储空间中的存储数据和所述第二存储空间中的每个存储子空间中的存储数据,确定所述复原数据。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
按照一数据转换模式,对所述待存储数据进行转换处理,得到所述保护数据;
所述根据所述第一存储空间中的存储数据和所述第二存储空间中的每个存储子空间中的存储数据,确定所述复原数据具体包括:
按照所述数据转换模式,对所述第二存储空间中的第一存储子空间中的存储数据进行针对所述转换处理的反转换处理,得到第一反转换处理后数据;
判断所述第一存储空间中的存储数据与所述第一存储子空间对应的反转换处理后数据是否一致,获取一第一判断结果;
当所述第一判断结果为是时,将所述第一存储空间中的存储数据确定为所述复原数据;
当所述第一判断结果为否时,对所述第二存储空间中的第二存储子空间中的存储数据进行针对所述转换处理的反转换处理,得到第二反转换处理后数据,并根据所述第一存储空间中的存储数据、所述第一反转换处理后数据和所述第二反转换处理后数据,确定所述复原数据。
4.根据权利要求3所述的方法,其特征在于,所述根据所述第一存储空间中的存储数据、所述第一反转换处理后数据和所述第二反转换处理后数据,确定所述复原数据具体包括:
判断所述第一反转换处理后数据与所述第二反转换处理后数据是否一致,获取一第二判断结果;
当所述第二判断结果为是时,将所述第一反转换处理后数据和所述第二反转换处理后数据中的任一个确定为所述复原数据;
当所述第二判断结果为否时,将所述第一存储空间中的存储数据确定为所述复原数据。
5.根据权利要求3所述的方法,其特征在于,所述数据转换模式由主设备配置得到。
6.一种数据保护装置,其特征在于,所述装置包括:
写入模块,用于在接收到主设备发送的携带地址和待存储数据的写命令时,将所述待存储数据写入存储单元中与所述地址对应的第一存储空间,并且,
将与所述待存储数据对应的保护数据写入保护单元中与所述地址对应的第二存储空间;
确定模块,用于在接收到主设备发送的携带所述地址的读命令时,根据所述第一存储空间中的存储数据和所述第二存储空间中的存储数据,确定所述待存储数据的复原数据;
响应模块,用于将所述复原数据作为所述读命令的响应数据。
7.根据权利要求6所述的装置,其特征在于,所述保护单元包括至少两个保护子单元,所述第二存储空间包括所述至少两个保护子单元各自与所述地址对应的存储子空间;
所述写入模块具体包括:
写入单元,用于在接收到主设备发送的携带地址和待存储数据的写命令时,将所述待存储数据写入存储单元中与所述地址对应的第一存储空间,并且,
将所述保护数据分别写入所述至少两个保护子单元各自与所述地址对应的存储子空间;
所述确定模块具体包括:
确定单元,用于在接收到主设备发送的携带所述地址的读命令时,根据所述第一存储空间中的存储数据和所述第二存储空间中的每个存储子空间中的存储数据,确定所述复原数据。
8.根据权利要求7所述的装置,其特征在于,所述装置还包括:
转换模块,用于按照一数据转换模式,对所述待存储数据进行转换处理,得到所述保护数据;
所述确定单元具体包括:
转换子单元,用于按照所述数据转换模式,对所述第二存储空间中的第一存储子空间中存储的数据进行针对所述转换处理的反转换处理,得到第一反转换处理后数据;
第一判断子单元,用于判断所述第一存储空间中的存储数据与所述第一存储子空间对应的反转换处理后数据是否一致,获取一第一判断结果;
第一确定子单元,用于当所述第一判断结果为是时,将所述第一存储空间中的存储数据确定为所述复原数据;
第二确定子单元,用于当所述第一判断结果为否时,对所述第二存储空间中的第二存储子空间中的存储数据进行针对所述转换处理的反转换处理,得到第二反转换处理后数据,并根据所述第一存储空间中的存储数据、所述第一反转换处理后数据和所述第二反转换处理后数据,确定所述复原数据。
9.根据权利要求8所述的装置,其特征在于,所述第二确定子单元具体包括:
第二判断子单元,用于判断所述第一反转换处理后数据与所述第二反转换处理后数据是否一致,获取一第二判断结果;
第三确定子单元,用于当所述第二判断结果为是时,将所述第一反转换处理后数据和所述第二反转换处理后数据中的任一个确定为所述复原数据;
第四确定子单元,用于当所述第二判断结果为否时,将所述第一存储空间中的存储数据确定为所述复原数据。
10.一种存储设备,其特征在于,包括主设备、接口控制单元、存储单元和保护单元,所述接口控制单元与主设备、存储单元和保护单元分别连接,所述接口控制单元包括如权利要求6至9中任一项所述的数据保护装置。
Priority Applications (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310057355.XA CN104008069B (zh) | 2013-02-22 | 2013-02-22 | 一种数据保护方法、装置及设备 |
PCT/CN2013/087153 WO2014127650A1 (zh) | 2013-02-22 | 2013-11-14 | 一种数据保护方法、装置及设备 |
EP13875479.1A EP2960777B1 (en) | 2013-02-22 | 2013-11-14 | Data protection method, apparatus and device |
JP2015558333A JP6231135B2 (ja) | 2013-02-22 | 2013-11-14 | データ保護方法、装置及び設備 |
US14/769,636 US10191670B2 (en) | 2013-02-22 | 2013-11-14 | Method and device of data protection, storage equipment |
KR1020157022327A KR102114642B1 (ko) | 2013-02-22 | 2013-11-14 | 데이터 보호 방법, 장치 및 설비 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310057355.XA CN104008069B (zh) | 2013-02-22 | 2013-02-22 | 一种数据保护方法、装置及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104008069A true CN104008069A (zh) | 2014-08-27 |
CN104008069B CN104008069B (zh) | 2018-06-15 |
Family
ID=51368729
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310057355.XA Active CN104008069B (zh) | 2013-02-22 | 2013-02-22 | 一种数据保护方法、装置及设备 |
Country Status (6)
Country | Link |
---|---|
US (1) | US10191670B2 (zh) |
EP (1) | EP2960777B1 (zh) |
JP (1) | JP6231135B2 (zh) |
KR (1) | KR102114642B1 (zh) |
CN (1) | CN104008069B (zh) |
WO (1) | WO2014127650A1 (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109785893A (zh) * | 2017-11-13 | 2019-05-21 | 意法半导体国际有限公司 | 用于验证静态随机访问存储器的适当操作的错误纠正码校验位的冗余存储 |
CN109992444A (zh) * | 2019-03-25 | 2019-07-09 | 深圳忆联信息系统有限公司 | 一种基于硬件的端对端数据保护方法、装置、计算机设备及存储介质 |
CN110083478A (zh) * | 2018-01-25 | 2019-08-02 | 力瑞信(深圳)科技有限公司 | 一种数据恢复方法、数据恢复系统以及固态硬盘 |
CN111125794A (zh) * | 2019-12-31 | 2020-05-08 | 海光信息技术有限公司 | 访存控制方法、系统及存储装置控制器 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10579613B2 (en) * | 2017-08-08 | 2020-03-03 | International Business Machines Corporation | Database recovery using persistent address spaces |
US11194477B2 (en) * | 2018-01-31 | 2021-12-07 | Micron Technology, Inc. | Determination of a match between data values stored by three or more arrays |
DE102018112816A1 (de) * | 2018-05-29 | 2019-12-05 | Infineon Technologies Ag | Adresscodierter Zugriff auf Speicher |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101256842A (zh) * | 2007-01-03 | 2008-09-03 | 三星电子株式会社 | 纠错码控制器和包括该纠错码控制器的存储器系统 |
US7620875B1 (en) * | 2006-03-07 | 2009-11-17 | Xilinx, Inc. | Error correction code memory system with a small footprint and byte write operation |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10198608A (ja) * | 1997-01-08 | 1998-07-31 | Mitsubishi Electric Corp | メモリカード |
JP3891539B2 (ja) * | 2000-06-15 | 2007-03-14 | シャープ株式会社 | 半導体装置およびその制御装置 |
JP4751163B2 (ja) * | 2005-09-29 | 2011-08-17 | 株式会社東芝 | メモリシステム |
US7873803B2 (en) * | 2007-09-25 | 2011-01-18 | Sandisk Corporation | Nonvolatile memory with self recovery |
JP2009217875A (ja) * | 2008-03-07 | 2009-09-24 | Nec Corp | メモリ装置、及び、その制御方法 |
CN101625897B (zh) * | 2008-07-11 | 2012-05-30 | 群联电子股份有限公司 | 用于快闪存储器的数据写入方法、储存系统与控制器 |
CN101477447A (zh) | 2009-01-21 | 2009-07-08 | 杭州华三通信技术有限公司 | 磁盘快照方法与装置 |
KR101543245B1 (ko) * | 2009-03-18 | 2015-08-11 | 삼성전자주식회사 | 에러 교정 장치와 이를 포함하는 메모리 장치와 데이터 처리 시스템 |
US8874958B2 (en) * | 2010-11-09 | 2014-10-28 | International Business Machines Corporation | Error detection in a mirrored data storage system |
JP5297479B2 (ja) * | 2011-02-14 | 2013-09-25 | エヌイーシーコンピュータテクノ株式会社 | ミラーリング復旧装置、および、ミラーリング復旧方法 |
CN102855194B (zh) * | 2012-08-08 | 2015-05-13 | 北京君正集成电路股份有限公司 | 数据存储方法和存储器 |
-
2013
- 2013-02-22 CN CN201310057355.XA patent/CN104008069B/zh active Active
- 2013-11-14 KR KR1020157022327A patent/KR102114642B1/ko active IP Right Grant
- 2013-11-14 US US14/769,636 patent/US10191670B2/en active Active
- 2013-11-14 EP EP13875479.1A patent/EP2960777B1/en active Active
- 2013-11-14 JP JP2015558333A patent/JP6231135B2/ja active Active
- 2013-11-14 WO PCT/CN2013/087153 patent/WO2014127650A1/zh active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7620875B1 (en) * | 2006-03-07 | 2009-11-17 | Xilinx, Inc. | Error correction code memory system with a small footprint and byte write operation |
CN101256842A (zh) * | 2007-01-03 | 2008-09-03 | 三星电子株式会社 | 纠错码控制器和包括该纠错码控制器的存储器系统 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109785893A (zh) * | 2017-11-13 | 2019-05-21 | 意法半导体国际有限公司 | 用于验证静态随机访问存储器的适当操作的错误纠正码校验位的冗余存储 |
CN109785893B (zh) * | 2017-11-13 | 2023-05-02 | 意法半导体国际有限公司 | 用于验证存储器适当操作的错误纠正码校验位的冗余存储 |
CN110083478A (zh) * | 2018-01-25 | 2019-08-02 | 力瑞信(深圳)科技有限公司 | 一种数据恢复方法、数据恢复系统以及固态硬盘 |
CN110083478B (zh) * | 2018-01-25 | 2024-04-19 | 东莞力晶科技有限公司 | 一种数据恢复方法、数据恢复系统以及固态硬盘 |
CN109992444A (zh) * | 2019-03-25 | 2019-07-09 | 深圳忆联信息系统有限公司 | 一种基于硬件的端对端数据保护方法、装置、计算机设备及存储介质 |
CN111125794A (zh) * | 2019-12-31 | 2020-05-08 | 海光信息技术有限公司 | 访存控制方法、系统及存储装置控制器 |
CN111125794B (zh) * | 2019-12-31 | 2023-09-26 | 海光云芯集成电路设计(上海)有限公司 | 访存控制方法、系统及存储装置控制器 |
Also Published As
Publication number | Publication date |
---|---|
EP2960777B1 (en) | 2020-01-01 |
CN104008069B (zh) | 2018-06-15 |
KR102114642B1 (ko) | 2020-06-08 |
JP6231135B2 (ja) | 2017-11-15 |
EP2960777A1 (en) | 2015-12-30 |
US10191670B2 (en) | 2019-01-29 |
WO2014127650A1 (zh) | 2014-08-28 |
EP2960777A4 (en) | 2016-02-24 |
JP2016511901A (ja) | 2016-04-21 |
US20150378630A1 (en) | 2015-12-31 |
KR20150120366A (ko) | 2015-10-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104008069A (zh) | 一种数据保护方法、装置及设备 | |
US10417070B2 (en) | Techniques for handling errors in persistent memory | |
CN104995607B (zh) | 减少数据贮存装置的读取延迟的系统和方法 | |
US10146627B2 (en) | Mobile flash storage boot partition and/or logical unit shadowing | |
CN104346296A (zh) | 数据储存装置及其电压保护方法 | |
US20140143476A1 (en) | Usage of cache and write transaction information in a storage device | |
CN103955431A (zh) | 一种闪存存储设备中数据管理的方法及装置 | |
US20180322041A1 (en) | Data storage device and method for operating data storage device | |
RU2607240C2 (ru) | Способ стирания информации, хранящейся в энергонезависимой перезаписываемой памяти, носитель хранения и компьютер моторного транспортного средства | |
US9384125B2 (en) | Method for accessing flash memory having pages used for data backup and associated memory device | |
CN103984506A (zh) | 闪存存储设备数据写的方法和系统 | |
CN105335309A (zh) | 一种数据传输方法及计算机 | |
WO2017105781A1 (en) | Integrity protection for system management mode | |
CN104932830A (zh) | 信息处理方法及电子设备 | |
CN105260133B (zh) | 一种移动终端emmc的数据写入方法及系统 | |
CN104408126A (zh) | 一种数据库的持久化写入方法、装置和系统 | |
CN103092725A (zh) | 一种实现存储器中数据备份的方法及装置 | |
US20150373534A1 (en) | Memory system and method of controlling memory system | |
CN102486757A (zh) | 存储器储存装置及其存储器控制器与回应主机指令的方法 | |
CN103164357A (zh) | 电子装置及usb设备的移除策略设定方法 | |
CN103869929B (zh) | 一种降低智能设备待机功耗的方法及系统 | |
CN106601303B (zh) | 一种闪存的坏块管理方法、装置和一种存储装置 | |
CN109635598A (zh) | 一种数据保护方法、装置及存储介质 | |
CN102929655A (zh) | 向闪存芯片中烧写数据文件的方法、预处理方法及装置 | |
CN109542490A (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 |